From 3b4407ca8cea4f5e84197dce8213e9aadd90f1f3 Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Thu, 21 May 2020 10:39:07 +0200 Subject: [PATCH 001/120] use quantityAvailable insted of stockQuantity, show stock related messages in Product details view --- .../gqlTypes/ProductVariantFields.ts | 4 +-- src/@sdk/fragments/products.ts | 2 +- src/@sdk/queries/gqlTypes/ProductDetails.ts | 4 +-- .../ProductDescription/QuantityTextField.tsx | 35 ++++--------------- src/components/ProductDescription/index.tsx | 33 +++++++++++++---- .../ProductDescription/scss/index.scss | 4 +++ src/globalStyles/scss/variables.scss | 2 +- src/views/Product/gqlTypes/ProductDetails.ts | 8 ++--- .../Product/gqlTypes/ProductVariantFields.ts | 8 ++--- src/views/Product/gqlTypes/VariantList.ts | 12 ++++--- src/views/Product/queries.ts | 2 +- 11 files changed, 61 insertions(+), 53 deletions(-) diff --git a/src/@sdk/fragments/gqlTypes/ProductVariantFields.ts b/src/@sdk/fragments/gqlTypes/ProductVariantFields.ts index cf3773a5c5..18e505f76f 100644 --- a/src/@sdk/fragments/gqlTypes/ProductVariantFields.ts +++ b/src/@sdk/fragments/gqlTypes/ProductVariantFields.ts @@ -160,9 +160,9 @@ export interface ProductVariantFields { sku: string; name: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/fragments/products.ts b/src/@sdk/fragments/products.ts index 1da0262422..547814d0f2 100644 --- a/src/@sdk/fragments/products.ts +++ b/src/@sdk/fragments/products.ts @@ -35,7 +35,7 @@ export const productVariantFragment = gql` id sku name - stockQuantity + quantityAvailable isAvailable images { id diff --git a/src/@sdk/queries/gqlTypes/ProductDetails.ts b/src/@sdk/queries/gqlTypes/ProductDetails.ts index 355f88417a..e330ea1445 100644 --- a/src/@sdk/queries/gqlTypes/ProductDetails.ts +++ b/src/@sdk/queries/gqlTypes/ProductDetails.ts @@ -677,9 +677,9 @@ export interface ProductDetails_product_variants { sku: string; name: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/components/ProductDescription/QuantityTextField.tsx b/src/components/ProductDescription/QuantityTextField.tsx index fe761def28..c3846122c2 100644 --- a/src/components/ProductDescription/QuantityTextField.tsx +++ b/src/components/ProductDescription/QuantityTextField.tsx @@ -5,42 +5,20 @@ import { TextField } from "@components/molecules"; interface QuantityTextFieldProps { quantity: number; maxQuantity: number; + disabled: boolean; onQuantityChange: (value: number) => void; hideErrors: boolean; } export const QuantityTextField: React.FC = ({ + disabled, quantity, maxQuantity, onQuantityChange, hideErrors, }: QuantityTextFieldProps) => { - const [tempQuantity, setTempQuantity] = useState(quantity.toString()); const [isTooMuch, setIsTooMuch] = useState(false); - const handleBlurQuantityInput = () => { - let newQuantity = parseInt(tempQuantity, 10); - - if (isNaN(newQuantity) || newQuantity <= 0) { - newQuantity = quantity; - } - - if (quantity !== newQuantity) { - onQuantityChange(newQuantity); - } - - const newTempQuantity = newQuantity.toString(); - if (tempQuantity !== newTempQuantity) { - setTempQuantity(newTempQuantity); - } - - setIsTooMuch(!isNaN(newQuantity) && newQuantity > maxQuantity); - }; - - useEffect(() => { - setTempQuantity(quantity.toString()); - }, [quantity]); - useEffect(() => { setIsTooMuch(!isNaN(quantity) && quantity > maxQuantity); }, [quantity, maxQuantity]); @@ -48,8 +26,9 @@ export const QuantityTextField: React.FC = ({ const handleQuantityChange = (evt: React.ChangeEvent) => { const newQuantity = parseInt(evt.target.value, 10); - setTempQuantity(evt.target.value); - + if (quantity !== newQuantity) { + onQuantityChange(newQuantity); + } setIsTooMuch(!isNaN(newQuantity) && newQuantity > maxQuantity); }; @@ -67,8 +46,8 @@ export const QuantityTextField: React.FC = ({ type="number" label="Quantity" min="1" - value={tempQuantity || ""} - onBlur={handleBlurQuantityInput} + value={quantity.toString()} + disabled={disabled} onChange={handleQuantityChange} errors={quantityErrors} /> diff --git a/src/components/ProductDescription/index.tsx b/src/components/ProductDescription/index.tsx index 03c5c0aa6a..abed61c1f8 100644 --- a/src/components/ProductDescription/index.tsx +++ b/src/components/ProductDescription/index.tsx @@ -16,6 +16,7 @@ import { TaxedMoney } from "../../@next/components/containers"; import AddToCart from "./AddToCart"; import { QuantityTextField } from "./QuantityTextField"; +const LOW_STOCK_QUANTITY = 5; interface ProductDescriptionProps { productId: string; productVariants: ProductDetails_product_variants[]; @@ -96,7 +97,7 @@ class ProductDescription extends React.Component< this.setState({ variant: selectedVariant.id, variantPricing: selectedVariant.pricing, - variantStock: selectedVariant.stockQuantity, + variantStock: selectedVariant.quantityAvailable, }); this.props.setVariantId(selectedVariant.id); } else { @@ -118,6 +119,7 @@ class ProductDescription extends React.Component< handleSubmit = () => { this.props.addToCart(this.state.variant, this.state.quantity); + this.setState({ quantity: 0 }); }; getAvailableQuantity = () => { @@ -126,7 +128,6 @@ class ProductDescription extends React.Component< const cartItem = items?.find(item => item.variant.id === variant); const quantityInCart = cartItem?.quantity || 0; - return variantStock - quantityInCart; }; @@ -136,14 +137,33 @@ class ProductDescription extends React.Component< }); }; + renderErrorMessage = (message: string) => ( +

{message}

+ ); + render() { const { name } = this.props; - const { variant, quantity } = this.state; + const { variant, variantStock, quantity } = this.state; + + const availableQuantity = this.getAvailableQuantity(); + const isOutOfStock = !!variant && variantStock === 0; + const isNoItemsAvailable = !!variant && !isOutOfStock && !availableQuantity; + const isLowStock = + !!variant && + !isOutOfStock && + !isNoItemsAvailable && + availableQuantity < LOW_STOCK_QUANTITY; return (

{name}

-

{this.getProductPrice()}

+ {isOutOfStock ? ( + this.renderErrorMessage("Out of stock") + ) : ( +

{this.getProductPrice()}

+ )} + {isLowStock && this.renderErrorMessage("Low stock")} + {isNoItemsAvailable && this.renderErrorMessage("No items available")}
Date: Thu, 21 May 2020 15:00:52 +0200 Subject: [PATCH 002/120] replace stockQuantity with availableQuantity, use country code to get quantity in ProductDetails --- gqlTypes/globalTypes.ts | 256 ++++++++++++++++++ .../ProductVariantPicker/fixtures.ts | 6 +- src/@next/pages/CartPage/CartPage.tsx | 2 +- src/@sdk/fragments/checkout.ts | 2 +- src/@sdk/fragments/gqlTypes/Checkout.ts | 2 +- src/@sdk/fragments/gqlTypes/CheckoutLine.ts | 4 +- src/@sdk/fragments/gqlTypes/OrderDetail.ts | 4 +- src/@sdk/fragments/gqlTypes/ProductVariant.ts | 4 +- .../gqlTypes/AddCheckoutPromoCode.ts | 4 +- .../mutations/gqlTypes/CompleteCheckout.ts | 4 +- src/@sdk/mutations/gqlTypes/CreateCheckout.ts | 4 +- .../gqlTypes/CreateCheckoutPayment.ts | 4 +- .../gqlTypes/RemoveCheckoutPromoCode.ts | 4 +- .../gqlTypes/UpdateCheckoutBillingAddress.ts | 4 +- .../UpdateCheckoutBillingAddressWithEmail.ts | 8 +- .../mutations/gqlTypes/UpdateCheckoutLine.ts | 4 +- .../gqlTypes/UpdateCheckoutShippingAddress.ts | 8 +- .../gqlTypes/UpdateCheckoutShippingMethod.ts | 4 +- src/@sdk/network/index.ts | 4 +- src/@sdk/queries/checkout.ts | 2 +- src/@sdk/queries/gqlTypes/CheckoutDetails.ts | 4 +- .../gqlTypes/CheckoutProductVariants.ts | 4 +- src/@sdk/queries/gqlTypes/OrderByToken.ts | 4 +- .../queries/gqlTypes/UserCheckoutDetails.ts | 4 +- src/@sdk/repository/types.ts | 2 +- src/components/CartTable/ProductRow.tsx | 4 +- .../views/OrderDetails/gqlTypes/OrderById.ts | 4 +- .../OrderDetails/gqlTypes/OrderByToken.ts | 4 +- .../OrderDetails/gqlTypes/OrderDetail.ts | 4 +- .../OrderDetails/gqlTypes/ProductVariant.ts | 2 +- src/userAccount/views/OrderDetails/queries.ts | 2 +- src/views/Product/View.tsx | 6 +- src/views/Product/gqlTypes/ProductDetails.ts | 3 + src/views/Product/gqlTypes/VariantList.ts | 4 - src/views/Product/queries.ts | 7 +- 35 files changed, 325 insertions(+), 67 deletions(-) diff --git a/gqlTypes/globalTypes.ts b/gqlTypes/globalTypes.ts index eb6fdddafb..12bc0355bc 100644 --- a/gqlTypes/globalTypes.ts +++ b/gqlTypes/globalTypes.ts @@ -6,6 +6,262 @@ // START Enums and Input Objects //============================================================== +/** + * An enumeration. + */ +export enum CountryCode { + AD = "AD", + AE = "AE", + AF = "AF", + AG = "AG", + AI = "AI", + AL = "AL", + AM = "AM", + AO = "AO", + AQ = "AQ", + AR = "AR", + AS = "AS", + AT = "AT", + AU = "AU", + AW = "AW", + AX = "AX", + AZ = "AZ", + BA = "BA", + BB = "BB", + BD = "BD", + BE = "BE", + BF = "BF", + BG = "BG", + BH = "BH", + BI = "BI", + BJ = "BJ", + BL = "BL", + BM = "BM", + BN = "BN", + BO = "BO", + BQ = "BQ", + BR = "BR", + BS = "BS", + BT = "BT", + BV = "BV", + BW = "BW", + BY = "BY", + BZ = "BZ", + CA = "CA", + CC = "CC", + CD = "CD", + CF = "CF", + CG = "CG", + CH = "CH", + CI = "CI", + CK = "CK", + CL = "CL", + CM = "CM", + CN = "CN", + CO = "CO", + CR = "CR", + CU = "CU", + CV = "CV", + CW = "CW", + CX = "CX", + CY = "CY", + CZ = "CZ", + DE = "DE", + DJ = "DJ", + DK = "DK", + DM = "DM", + DO = "DO", + DZ = "DZ", + EC = "EC", + EE = "EE", + EG = "EG", + EH = "EH", + ER = "ER", + ES = "ES", + ET = "ET", + EU = "EU", + FI = "FI", + FJ = "FJ", + FK = "FK", + FM = "FM", + FO = "FO", + FR = "FR", + GA = "GA", + GB = "GB", + GD = "GD", + GE = "GE", + GF = "GF", + GG = "GG", + GH = "GH", + GI = "GI", + GL = "GL", + GM = "GM", + GN = "GN", + GP = "GP", + GQ = "GQ", + GR = "GR", + GS = "GS", + GT = "GT", + GU = "GU", + GW = "GW", + GY = "GY", + HK = "HK", + HM = "HM", + HN = "HN", + HR = "HR", + HT = "HT", + HU = "HU", + ID = "ID", + IE = "IE", + IL = "IL", + IM = "IM", + IN = "IN", + IO = "IO", + IQ = "IQ", + IR = "IR", + IS = "IS", + IT = "IT", + JE = "JE", + JM = "JM", + JO = "JO", + JP = "JP", + KE = "KE", + KG = "KG", + KH = "KH", + KI = "KI", + KM = "KM", + KN = "KN", + KP = "KP", + KR = "KR", + KW = "KW", + KY = "KY", + KZ = "KZ", + LA = "LA", + LB = "LB", + LC = "LC", + LI = "LI", + LK = "LK", + LR = "LR", + LS = "LS", + LT = "LT", + LU = "LU", + LV = "LV", + LY = "LY", + MA = "MA", + MC = "MC", + MD = "MD", + ME = "ME", + MF = "MF", + MG = "MG", + MH = "MH", + MK = "MK", + ML = "ML", + MM = "MM", + MN = "MN", + MO = "MO", + MP = "MP", + MQ = "MQ", + MR = "MR", + MS = "MS", + MT = "MT", + MU = "MU", + MV = "MV", + MW = "MW", + MX = "MX", + MY = "MY", + MZ = "MZ", + NA = "NA", + NC = "NC", + NE = "NE", + NF = "NF", + NG = "NG", + NI = "NI", + NL = "NL", + NO = "NO", + NP = "NP", + NR = "NR", + NU = "NU", + NZ = "NZ", + OM = "OM", + PA = "PA", + PE = "PE", + PF = "PF", + PG = "PG", + PH = "PH", + PK = "PK", + PL = "PL", + PM = "PM", + PN = "PN", + PR = "PR", + PS = "PS", + PT = "PT", + PW = "PW", + PY = "PY", + QA = "QA", + RE = "RE", + RO = "RO", + RS = "RS", + RU = "RU", + RW = "RW", + SA = "SA", + SB = "SB", + SC = "SC", + SD = "SD", + SE = "SE", + SG = "SG", + SH = "SH", + SI = "SI", + SJ = "SJ", + SK = "SK", + SL = "SL", + SM = "SM", + SN = "SN", + SO = "SO", + SR = "SR", + SS = "SS", + ST = "ST", + SV = "SV", + SX = "SX", + SY = "SY", + SZ = "SZ", + TC = "TC", + TD = "TD", + TF = "TF", + TG = "TG", + TH = "TH", + TJ = "TJ", + TK = "TK", + TL = "TL", + TM = "TM", + TN = "TN", + TO = "TO", + TR = "TR", + TT = "TT", + TV = "TV", + TW = "TW", + TZ = "TZ", + UA = "UA", + UG = "UG", + UM = "UM", + US = "US", + UY = "UY", + UZ = "UZ", + VA = "VA", + VC = "VC", + VE = "VE", + VG = "VG", + VI = "VI", + VN = "VN", + VU = "VU", + WF = "WF", + WS = "WS", + YE = "YE", + YT = "YT", + ZA = "ZA", + ZM = "ZM", + ZW = "ZW", +} + export enum OrderDirection { ASC = "ASC", DESC = "DESC", diff --git a/src/@next/components/organisms/ProductVariantPicker/fixtures.ts b/src/@next/components/organisms/ProductVariantPicker/fixtures.ts index 16f69070f8..cabe385837 100644 --- a/src/@next/components/organisms/ProductVariantPicker/fixtures.ts +++ b/src/@next/components/organisms/ProductVariantPicker/fixtures.ts @@ -6,7 +6,7 @@ export const productVariants: ProductDetails_product_variants[] = [ id: "UHJvZHVjdFZhcmlhbnQ6MjAy", sku: "93855755", name: "1l / cotton / yellow", - stockQuantity: 50, + quantityAvailable: 50, isAvailable: true, images: [], pricing: { @@ -98,7 +98,7 @@ export const productVariants: ProductDetails_product_variants[] = [ id: "UHJvZHVjdFZhcmlhbnQ6MjA0", sku: "80884671", name: "2l / wool / red", - stockQuantity: 50, + quantityAvailable: 50, isAvailable: true, images: [], pricing: { @@ -190,7 +190,7 @@ export const productVariants: ProductDetails_product_variants[] = [ id: "UHJvZHVjdFZhcmlhbnQ6MzE2", sku: "100", name: "500ml / wool / turquoise", - stockQuantity: 50, + quantityAvailable: 50, isAvailable: true, images: [], pricing: { diff --git a/src/@next/pages/CartPage/CartPage.tsx b/src/@next/pages/CartPage/CartPage.tsx index 5e8b47a2ba..3957b262df 100755 --- a/src/@next/pages/CartPage/CartPage.tsx +++ b/src/@next/pages/CartPage/CartPage.tsx @@ -80,7 +80,7 @@ const generateCart = ( key={id ? `id-${id}` : `idx-${index}`} index={index} name={variant?.product?.name || ""} - maxQuantity={variant.stockQuantity || quantity} + maxQuantity={variant.quantityAvailable || quantity} quantity={quantity} onRemove={() => removeItem(variant.id)} onQuantityChange={quantity => updateItem(variant.id, quantity)} diff --git a/src/@sdk/fragments/checkout.ts b/src/@sdk/fragments/checkout.ts index 077de3b25e..d4c25cea1f 100644 --- a/src/@sdk/fragments/checkout.ts +++ b/src/@sdk/fragments/checkout.ts @@ -40,7 +40,7 @@ export const checkoutProductVariantFragment = gql` id name sku - stockQuantity + quantityAvailable isAvailable pricing { onSale diff --git a/src/@sdk/fragments/gqlTypes/Checkout.ts b/src/@sdk/fragments/gqlTypes/Checkout.ts index e39d2c52d8..79e3087f77 100644 --- a/src/@sdk/fragments/gqlTypes/Checkout.ts +++ b/src/@sdk/fragments/gqlTypes/Checkout.ts @@ -458,7 +458,7 @@ export interface Checkout_lines_variant { /** * Quantity of a product available for sale. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/fragments/gqlTypes/CheckoutLine.ts b/src/@sdk/fragments/gqlTypes/CheckoutLine.ts index a9cd520658..b2dfcfb093 100644 --- a/src/@sdk/fragments/gqlTypes/CheckoutLine.ts +++ b/src/@sdk/fragments/gqlTypes/CheckoutLine.ts @@ -222,9 +222,9 @@ export interface CheckoutLine_variant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/fragments/gqlTypes/OrderDetail.ts b/src/@sdk/fragments/gqlTypes/OrderDetail.ts index 3f80460c97..9fc42cf6b3 100644 --- a/src/@sdk/fragments/gqlTypes/OrderDetail.ts +++ b/src/@sdk/fragments/gqlTypes/OrderDetail.ts @@ -229,9 +229,9 @@ export interface OrderDetail_lines_variant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/fragments/gqlTypes/ProductVariant.ts b/src/@sdk/fragments/gqlTypes/ProductVariant.ts index a59e943ec3..fd56c5a194 100644 --- a/src/@sdk/fragments/gqlTypes/ProductVariant.ts +++ b/src/@sdk/fragments/gqlTypes/ProductVariant.ts @@ -186,9 +186,9 @@ export interface ProductVariant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts b/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts index 5fd1177d3d..180bacd311 100644 --- a/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts +++ b/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts @@ -458,9 +458,9 @@ export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_varian name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts b/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts index 663c86e475..72f4fb4124 100644 --- a/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts +++ b/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts @@ -242,9 +242,9 @@ export interface CompleteCheckout_checkoutComplete_order_lines_variant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/mutations/gqlTypes/CreateCheckout.ts b/src/@sdk/mutations/gqlTypes/CreateCheckout.ts index c6267a4e3c..2037e36ec8 100644 --- a/src/@sdk/mutations/gqlTypes/CreateCheckout.ts +++ b/src/@sdk/mutations/gqlTypes/CreateCheckout.ts @@ -471,9 +471,9 @@ export interface CreateCheckout_checkoutCreate_checkout_lines_variant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts b/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts index cee7d80398..2e5caeddfe 100644 --- a/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts +++ b/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts @@ -471,9 +471,9 @@ export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_vari name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts b/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts index 9908d20380..58d79a9b3e 100644 --- a/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts +++ b/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts @@ -458,9 +458,9 @@ export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_ name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts index d9ccf63589..8fdca2e0d6 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts @@ -471,9 +471,9 @@ export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_check name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts index 6467e0fa04..0fe0595279 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts @@ -471,9 +471,9 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpd name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ @@ -1021,9 +1021,9 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_check name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts index 69a9931cae..4c6c95d385 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts @@ -458,9 +458,9 @@ export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts index 954ad7a264..60e9ca0927 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts @@ -471,9 +471,9 @@ export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_che name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ @@ -1021,9 +1021,9 @@ export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_line name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts index 596f9a90f0..4d54fabd98 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts @@ -471,9 +471,9 @@ export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_check name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/network/index.ts b/src/@sdk/network/index.ts index 60b088e6dc..33729c2024 100644 --- a/src/@sdk/network/index.ts +++ b/src/@sdk/network/index.ts @@ -212,7 +212,7 @@ export class NetworkManager implements INetworkManager { pricing: edge.node.pricing, product: edge.node.product, sku: edge.node.sku, - stockQuantity: edge.node.stockQuantity, + quantityAvailable: edge.node.quantityAvailable, }, }; }) @@ -819,7 +819,7 @@ export class NetworkManager implements INetworkManager { pricing: itemVariant?.pricing, product: itemVariant?.product, sku: itemVariant?.sku, - stockQuantity: itemVariant?.stockQuantity, + quantityAvailable: itemVariant?.quantityAvailable, }, }; }), diff --git a/src/@sdk/queries/checkout.ts b/src/@sdk/queries/checkout.ts index 604ee44385..7facb0e57c 100644 --- a/src/@sdk/queries/checkout.ts +++ b/src/@sdk/queries/checkout.ts @@ -32,7 +32,7 @@ export const checkoutProductVariants = gql` productVariants(ids: $ids, first: 100) { edges { node { - stockQuantity + quantityAvailable ...ProductVariant } } diff --git a/src/@sdk/queries/gqlTypes/CheckoutDetails.ts b/src/@sdk/queries/gqlTypes/CheckoutDetails.ts index 1011413a5b..6e26eb5dfe 100644 --- a/src/@sdk/queries/gqlTypes/CheckoutDetails.ts +++ b/src/@sdk/queries/gqlTypes/CheckoutDetails.ts @@ -456,9 +456,9 @@ export interface CheckoutDetails_checkout_lines_variant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts b/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts index 658b148fab..a03fa05b8b 100644 --- a/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts +++ b/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts @@ -180,9 +180,9 @@ export interface CheckoutProductVariants_productVariants_edges_node_product { export interface CheckoutProductVariants_productVariants_edges_node { __typename: "ProductVariant"; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * The ID of the object. */ diff --git a/src/@sdk/queries/gqlTypes/OrderByToken.ts b/src/@sdk/queries/gqlTypes/OrderByToken.ts index daebc23a41..6823e79094 100644 --- a/src/@sdk/queries/gqlTypes/OrderByToken.ts +++ b/src/@sdk/queries/gqlTypes/OrderByToken.ts @@ -229,9 +229,9 @@ export interface OrderByToken_orderByToken_lines_variant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/queries/gqlTypes/UserCheckoutDetails.ts b/src/@sdk/queries/gqlTypes/UserCheckoutDetails.ts index fd9b844519..3138d0a4a4 100644 --- a/src/@sdk/queries/gqlTypes/UserCheckoutDetails.ts +++ b/src/@sdk/queries/gqlTypes/UserCheckoutDetails.ts @@ -456,9 +456,9 @@ export interface UserCheckoutDetails_me_checkout_lines_variant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/@sdk/repository/types.ts b/src/@sdk/repository/types.ts index 2fb4e78fc3..6e9d99af95 100644 --- a/src/@sdk/repository/types.ts +++ b/src/@sdk/repository/types.ts @@ -17,7 +17,7 @@ export interface ICheckoutModelLineTotalPrice { } export interface ICheckoutModelLineVariant { - stockQuantity?: number; + quantityAvailable?: number; id: string; name?: string; sku?: string; diff --git a/src/components/CartTable/ProductRow.tsx b/src/components/CartTable/ProductRow.tsx index 22abd3f799..468bc7a3a5 100644 --- a/src/components/CartTable/ProductRow.tsx +++ b/src/components/CartTable/ProductRow.tsx @@ -11,11 +11,11 @@ import { generateProductUrl } from "../../core/utils"; export type ILine = Omit< ProductVariant, - "__typename" | "sku" | "stockQuantity" | "isAvailable" + "__typename" | "sku" | "quantityAvailable" | "isAvailable" > & { quantity: number; totalPrice: OrderByToken_orderByToken_lines_unitPrice; - stockQuantity?: number; + quantityAvailable?: number; }; interface ReadProductRowProps { diff --git a/src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts b/src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts index 3f0ee0547c..a3bd9e1b9d 100644 --- a/src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts +++ b/src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts @@ -229,9 +229,9 @@ export interface OrderById_order_lines_variant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts b/src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts index 7d49f5567d..cb563d4705 100644 --- a/src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts +++ b/src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts @@ -229,9 +229,9 @@ export interface OrderByToken_orderByToken_lines_variant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/userAccount/views/OrderDetails/gqlTypes/OrderDetail.ts b/src/userAccount/views/OrderDetails/gqlTypes/OrderDetail.ts index bcf584d657..df3658fa09 100644 --- a/src/userAccount/views/OrderDetails/gqlTypes/OrderDetail.ts +++ b/src/userAccount/views/OrderDetails/gqlTypes/OrderDetail.ts @@ -229,9 +229,9 @@ export interface OrderDetail_lines_variant { name: string; sku: string; /** - * Quantity of a product available for sale. + * Quantity of a product available for sale in one checkout. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/userAccount/views/OrderDetails/gqlTypes/ProductVariant.ts b/src/userAccount/views/OrderDetails/gqlTypes/ProductVariant.ts index a59e943ec3..f72c832cc7 100644 --- a/src/userAccount/views/OrderDetails/gqlTypes/ProductVariant.ts +++ b/src/userAccount/views/OrderDetails/gqlTypes/ProductVariant.ts @@ -188,7 +188,7 @@ export interface ProductVariant { /** * Quantity of a product available for sale. */ - stockQuantity: number; + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ diff --git a/src/userAccount/views/OrderDetails/queries.ts b/src/userAccount/views/OrderDetails/queries.ts index ecaa006f5b..a04b43fe01 100644 --- a/src/userAccount/views/OrderDetails/queries.ts +++ b/src/userAccount/views/OrderDetails/queries.ts @@ -44,7 +44,7 @@ export const checkoutProductVariantFragment = gql` id name sku - stockQuantity + quantityAvailable isAvailable pricing { onSale diff --git a/src/views/Product/View.tsx b/src/views/Product/View.tsx index 18dc185b42..2decbd23f6 100644 --- a/src/views/Product/View.tsx +++ b/src/views/Product/View.tsx @@ -6,7 +6,8 @@ import React, { useEffect, useState } from "react"; import { RouteComponentProps } from "react-router"; import { useHistory } from "react-router-dom"; -import { useCart } from "@sdk/react"; +import { CountryCode } from "@sdk/gqlTypes/globalTypes"; +import { useCart, useUserDetails } from "@sdk/react"; import { MetaWrapper, NotFound, OfflinePlaceholder } from "../../components"; import NetworkStatus from "../../components/NetworkStatus"; @@ -110,12 +111,15 @@ const PageWithQueryAttributes: React.FC = props => { const View: React.FC> = ({ match }) => { const { addItem, items } = useCart(); + const { data: user } = useUserDetails(); return ( Date: Thu, 21 May 2020 16:10:58 +0200 Subject: [PATCH 003/120] generate more types --- src/@sdk/fragments/products.ts | 2 +- src/@sdk/network/index.ts | 4 ++-- src/@sdk/queries/checkout.ts | 9 +++------ src/@sdk/queries/gqlTypes/ProductDetails.ts | 3 +++ src/@sdk/queries/products.ts | 2 +- src/views/Product/View.tsx | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/@sdk/fragments/products.ts b/src/@sdk/fragments/products.ts index 547814d0f2..54982eaed0 100644 --- a/src/@sdk/fragments/products.ts +++ b/src/@sdk/fragments/products.ts @@ -35,7 +35,7 @@ export const productVariantFragment = gql` id sku name - quantityAvailable + quantityAvailable(countryCode: $countryCode) isAvailable images { id diff --git a/src/@sdk/network/index.ts b/src/@sdk/network/index.ts index 33729c2024..263171e1ef 100644 --- a/src/@sdk/network/index.ts +++ b/src/@sdk/network/index.ts @@ -211,8 +211,8 @@ export class NetworkManager implements INetworkManager { name: edge.node.name, pricing: edge.node.pricing, product: edge.node.product, - sku: edge.node.sku, quantityAvailable: edge.node.quantityAvailable, + sku: edge.node.sku, }, }; }) @@ -818,8 +818,8 @@ export class NetworkManager implements INetworkManager { name: itemVariant?.name, pricing: itemVariant?.pricing, product: itemVariant?.product, - sku: itemVariant?.sku, quantityAvailable: itemVariant?.quantityAvailable, + sku: itemVariant?.sku, }, }; }), diff --git a/src/@sdk/queries/checkout.ts b/src/@sdk/queries/checkout.ts index 7facb0e57c..bd76e1970f 100644 --- a/src/@sdk/queries/checkout.ts +++ b/src/@sdk/queries/checkout.ts @@ -29,12 +29,9 @@ export const userCheckoutDetails = gql` export const checkoutProductVariants = gql` ${checkoutProductVariantFragment} query CheckoutProductVariants($ids: [ID]) { - productVariants(ids: $ids, first: 100) { - edges { - node { - quantityAvailable - ...ProductVariant - } + edges { + node { + ...ProductVariant } } } diff --git a/src/@sdk/queries/gqlTypes/ProductDetails.ts b/src/@sdk/queries/gqlTypes/ProductDetails.ts index e330ea1445..07ed65e5c1 100644 --- a/src/@sdk/queries/gqlTypes/ProductDetails.ts +++ b/src/@sdk/queries/gqlTypes/ProductDetails.ts @@ -2,6 +2,8 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. +import { CountryCode } from "./../../gqlTypes/globalTypes"; + // ==================================================== // GraphQL query operation: ProductDetails // ==================================================== @@ -748,4 +750,5 @@ export interface ProductDetails { export interface ProductDetailsVariables { id: string; + countryCode?: CountryCode | null; } diff --git a/src/@sdk/queries/products.ts b/src/@sdk/queries/products.ts index cd353975ca..bdae5a7ddd 100644 --- a/src/@sdk/queries/products.ts +++ b/src/@sdk/queries/products.ts @@ -78,7 +78,7 @@ export const productDetails = gql` ${selectedAttributeFragment} ${productVariantFragment} ${productPricingFragment} - query ProductDetails($id: ID!) { + query ProductDetails($id: ID!, $countryCode: CountryCode) { product(id: $id) { ...BasicProductFields ...ProductPricingField diff --git a/src/views/Product/View.tsx b/src/views/Product/View.tsx index 2decbd23f6..3903613451 100644 --- a/src/views/Product/View.tsx +++ b/src/views/Product/View.tsx @@ -117,9 +117,9 @@ const View: React.FC> = ({ match }) => { Date: Thu, 21 May 2020 16:36:59 +0200 Subject: [PATCH 004/120] fix checkout query --- src/@sdk/queries/checkout.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/@sdk/queries/checkout.ts b/src/@sdk/queries/checkout.ts index bd76e1970f..58e04ef91d 100644 --- a/src/@sdk/queries/checkout.ts +++ b/src/@sdk/queries/checkout.ts @@ -28,10 +28,13 @@ export const userCheckoutDetails = gql` export const checkoutProductVariants = gql` ${checkoutProductVariantFragment} - query CheckoutProductVariants($ids: [ID]) { - edges { - node { - ...ProductVariant + query CheckoutProductVariants($ids: [ID], $countryCode: CountryCode) { + productVariants(ids: $ids, first: 100) { + edges { + node { + quantityAvailable(countryCode: $countryCode) + ...ProductVariant + } } } } From 15da45ef66e18d15a0e9d00aaff29c0550cfceda Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Thu, 21 May 2020 16:44:48 +0200 Subject: [PATCH 005/120] update product variants query --- src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts | 3 +++ src/views/Product/gqlTypes/VariantList.ts | 3 +++ src/views/Product/queries.ts | 3 +-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts b/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts index a03fa05b8b..0f6a28818e 100644 --- a/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts +++ b/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts @@ -2,6 +2,8 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. +import { CountryCode } from "./../../gqlTypes/globalTypes"; + // ==================================================== // GraphQL query operation: CheckoutProductVariants // ==================================================== @@ -226,4 +228,5 @@ export interface CheckoutProductVariants { export interface CheckoutProductVariantsVariables { ids?: (string | null)[] | null; + countryCode?: CountryCode | null; } diff --git a/src/views/Product/gqlTypes/VariantList.ts b/src/views/Product/gqlTypes/VariantList.ts index 1da3f722a9..d0f5fabc70 100644 --- a/src/views/Product/gqlTypes/VariantList.ts +++ b/src/views/Product/gqlTypes/VariantList.ts @@ -2,6 +2,8 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. +import { CountryCode } from "./../../../../gqlTypes/globalTypes"; + // ==================================================== // GraphQL query operation: VariantList // ==================================================== @@ -241,4 +243,5 @@ export interface VariantList { export interface VariantListVariables { ids?: string[] | null; + countryCode?: CountryCode | null; } diff --git a/src/views/Product/queries.ts b/src/views/Product/queries.ts index 0769959f67..4f93721859 100644 --- a/src/views/Product/queries.ts +++ b/src/views/Product/queries.ts @@ -152,12 +152,11 @@ export const productDetailsQuery = gql` export const productVariantsQuery = gql` ${basicProductFragment} ${productVariantFragment} - query VariantList($ids: [ID!]) { + query VariantList($ids: [ID!], $countryCode: CountryCode) { productVariants(ids: $ids, first: 100) { edges { node { ...ProductVariantFields - quantityAvailable product { ...BasicProductFields } From b272b00098fb3fe25499a8f1fbd1846c3c305457 Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Fri, 22 May 2020 10:53:22 +0200 Subject: [PATCH 006/120] update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1282a3fb70..ce54e3ef65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,7 @@ All notable, unreleased changes to this project will be documented in this file. - Fix unhandled JWT token expiration - #696 by @orzechdev - Regenerate types - #712 by @dominik-zeglen - Automatically choose variant attributes from url in ProductVariantPicker - #708 by @AlicjaSzu +- Replace stockQuantity field with quantityAvailable - #723 by @AlicjaSzu ## 0.7.0 From 6c7fec1bdbce477bbd8ce9ad602a5aaf3820276b Mon Sep 17 00:00:00 2001 From: Dawid Tarasiuk Date: Tue, 12 May 2020 18:50:38 +0200 Subject: [PATCH 007/120] Migrate checkout error handling to typed errors --- src/@sdk/fragments/gqlTypes/OrderDetail.ts | 5 +- src/@sdk/mutations/checkout.ts | 48 ++++++++----------- .../gqlTypes/AddCheckoutPromoCode.ts | 29 +++-------- .../mutations/gqlTypes/CompleteCheckout.ts | 19 +++++--- src/@sdk/mutations/gqlTypes/CreateCheckout.ts | 18 ++++--- .../gqlTypes/CreateCheckoutPayment.ts | 29 +++-------- .../mutations/gqlTypes/CreateUserAddress.ts | 4 +- .../gqlTypes/RemoveCheckoutPromoCode.ts | 29 +++-------- .../gqlTypes/SetCustomerDefaultAddress.ts | 4 +- .../gqlTypes/UpdateCheckoutBillingAddress.ts | 19 ++++---- .../UpdateCheckoutBillingAddressWithEmail.ts | 36 ++++++++------ .../mutations/gqlTypes/UpdateCheckoutLine.ts | 22 +++++---- .../gqlTypes/UpdateCheckoutShippingAddress.ts | 36 ++++++++------ .../gqlTypes/UpdateCheckoutShippingMethod.ts | 29 +++-------- .../mutations/gqlTypes/UpdateUserAddress.ts | 4 +- src/@sdk/network/index.ts | 48 +++++++++---------- src/@sdk/queries/gqlTypes/OrderByToken.ts | 5 +- 17 files changed, 179 insertions(+), 205 deletions(-) diff --git a/src/@sdk/fragments/gqlTypes/OrderDetail.ts b/src/@sdk/fragments/gqlTypes/OrderDetail.ts index 9fc42cf6b3..cd84346ad3 100644 --- a/src/@sdk/fragments/gqlTypes/OrderDetail.ts +++ b/src/@sdk/fragments/gqlTypes/OrderDetail.ts @@ -2,7 +2,10 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { PaymentChargeStatusEnum, OrderStatus } from "./../../gqlTypes/globalTypes"; +import { + PaymentChargeStatusEnum, + OrderStatus, +} from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL fragment: OrderDetail diff --git a/src/@sdk/mutations/checkout.ts b/src/@sdk/mutations/checkout.ts index d9e0ab3f0d..aaf78305fd 100644 --- a/src/@sdk/mutations/checkout.ts +++ b/src/@sdk/mutations/checkout.ts @@ -11,7 +11,8 @@ export const updateCheckoutLineMutation = gql` checkout { ...Checkout } - errors { + checkoutErrors { + code field message } @@ -23,7 +24,8 @@ export const createCheckoutMutation = gql` ${checkoutFragment} mutation CreateCheckout($checkoutInput: CheckoutCreateInput!) { checkoutCreate(input: $checkoutInput) { - errors { + checkoutErrors { + code field message } @@ -45,7 +47,8 @@ export const updateCheckoutBillingAddressWithEmailMutation = gql` checkoutId: $checkoutId billingAddress: $billingAddress ) { - errors { + checkoutErrors { + code field message } @@ -57,7 +60,8 @@ export const updateCheckoutBillingAddressWithEmailMutation = gql` checkout { ...Checkout } - errors { + checkoutErrors { + code field message } @@ -75,7 +79,8 @@ export const updateCheckoutBillingAddressMutation = gql` checkoutId: $checkoutId billingAddress: $billingAddress ) { - errors { + checkoutErrors { + code field message } @@ -97,7 +102,8 @@ export const updateCheckoutShippingAddressMutation = gql` checkoutId: $checkoutId shippingAddress: $shippingAddress ) { - errors { + checkoutErrors { + code field message } @@ -109,7 +115,8 @@ export const updateCheckoutShippingAddressMutation = gql` checkout { ...Checkout } - errors { + checkoutErrors { + code field message } @@ -127,17 +134,13 @@ export const updateCheckoutShippingMethodMutation = gql` checkoutId: $checkoutId shippingMethodId: $shippingMethodId ) { - errors { - field - message - } checkout { ...Checkout } checkoutErrors { + code field message - code } } } @@ -150,14 +153,10 @@ export const addCheckoutPromoCode = gql` checkout { ...Checkout } - errors { - field - message - } checkoutErrors { + code field message - code } } } @@ -170,14 +169,10 @@ export const removeCheckoutPromoCode = gql` checkout { ...Checkout } - errors { - field - message - } checkoutErrors { + code field message - code } } } @@ -191,10 +186,6 @@ export const createCheckoutPaymentMutation = gql` $paymentInput: PaymentInput! ) { checkoutPaymentCreate(checkoutId: $checkoutId, input: $paymentInput) { - errors { - field - message - } checkout { ...Checkout } @@ -202,9 +193,9 @@ export const createCheckoutPaymentMutation = gql` ...Payment } paymentErrors { + code field message - code } } } @@ -214,7 +205,8 @@ export const completeCheckoutMutation = gql` ${orderDetailFragment} mutation CompleteCheckout($checkoutId: ID!) { checkoutComplete(checkoutId: $checkoutId) { - errors { + checkoutErrors { + code field message } diff --git a/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts b/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts index 180bacd311..50c8b29ed1 100644 --- a/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts +++ b/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts @@ -535,7 +535,9 @@ export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout { /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: (AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines | null)[] | null; + lines: + | (AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines | null)[] + | null; /** * Returns True, if checkout requires shipping. */ @@ -546,21 +548,12 @@ export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout { voucherCode: string | null; } -export interface AddCheckoutPromoCode_checkoutAddPromoCode_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkoutErrors { __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -570,10 +563,6 @@ export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkoutErrors { * The error message. */ message: string | null; - /** - * The error code. - */ - code: CheckoutErrorCode; } export interface AddCheckoutPromoCode_checkoutAddPromoCode { @@ -582,10 +571,6 @@ export interface AddCheckoutPromoCode_checkoutAddPromoCode { * The checkout with the added gift card or voucher. */ checkout: AddCheckoutPromoCode_checkoutAddPromoCode_checkout | null; - /** - * List of errors that occurred executing the mutation. - */ - errors: AddCheckoutPromoCode_checkoutAddPromoCode_errors[]; checkoutErrors: AddCheckoutPromoCode_checkoutAddPromoCode_checkoutErrors[]; } diff --git a/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts b/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts index 72f4fb4124..da1d4a2cef 100644 --- a/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts +++ b/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts @@ -2,14 +2,22 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { PaymentChargeStatusEnum, OrderStatus } from "./../../gqlTypes/globalTypes"; +import { + PaymentChargeStatusEnum, + OrderStatus, + CheckoutErrorCode, +} from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL mutation operation: CompleteCheckout // ==================================================== -export interface CompleteCheckout_checkoutComplete_errors { - __typename: "Error"; +export interface CompleteCheckout_checkoutComplete_checkoutErrors { + __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -471,10 +479,7 @@ export interface CompleteCheckout_checkoutComplete_order { export interface CompleteCheckout_checkoutComplete { __typename: "CheckoutComplete"; - /** - * List of errors that occurred executing the mutation. - */ - errors: CompleteCheckout_checkoutComplete_errors[]; + checkoutErrors: CompleteCheckout_checkoutComplete_checkoutErrors[]; /** * Placed order. */ diff --git a/src/@sdk/mutations/gqlTypes/CreateCheckout.ts b/src/@sdk/mutations/gqlTypes/CreateCheckout.ts index 2037e36ec8..5a2a3a285e 100644 --- a/src/@sdk/mutations/gqlTypes/CreateCheckout.ts +++ b/src/@sdk/mutations/gqlTypes/CreateCheckout.ts @@ -2,14 +2,21 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { CheckoutCreateInput } from "./../../gqlTypes/globalTypes"; +import { + CheckoutCreateInput, + CheckoutErrorCode, +} from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL mutation operation: CreateCheckout // ==================================================== -export interface CreateCheckout_checkoutCreate_errors { - __typename: "Error"; +export interface CreateCheckout_checkoutCreate_checkoutErrors { + __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -561,10 +568,7 @@ export interface CreateCheckout_checkoutCreate_checkout { export interface CreateCheckout_checkoutCreate { __typename: "CheckoutCreate"; - /** - * List of errors that occurred executing the mutation. - */ - errors: CreateCheckout_checkoutCreate_errors[]; + checkoutErrors: CreateCheckout_checkoutCreate_checkoutErrors[]; checkout: CreateCheckout_checkoutCreate_checkout | null; } diff --git a/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts b/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts index 2e5caeddfe..678b5428bd 100644 --- a/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts +++ b/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts @@ -8,19 +8,6 @@ import { PaymentInput, PaymentErrorCode } from "./../../gqlTypes/globalTypes"; // GraphQL mutation operation: CreateCheckoutPayment // ==================================================== -export interface CreateCheckoutPayment_checkoutPaymentCreate_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_totalPrice_gross { __typename: "Money"; /** @@ -548,7 +535,9 @@ export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout { /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: (CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines | null)[] | null; + lines: + | (CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines | null)[] + | null; /** * Returns True, if checkout requires shipping. */ @@ -599,6 +588,10 @@ export interface CreateCheckoutPayment_checkoutPaymentCreate_payment { export interface CreateCheckoutPayment_checkoutPaymentCreate_paymentErrors { __typename: "PaymentError"; + /** + * The error code. + */ + code: PaymentErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -608,18 +601,10 @@ export interface CreateCheckoutPayment_checkoutPaymentCreate_paymentErrors { * The error message. */ message: string | null; - /** - * The error code. - */ - code: PaymentErrorCode; } export interface CreateCheckoutPayment_checkoutPaymentCreate { __typename: "CheckoutPaymentCreate"; - /** - * List of errors that occurred executing the mutation. - */ - errors: CreateCheckoutPayment_checkoutPaymentCreate_errors[]; /** * Related checkout object. */ diff --git a/src/@sdk/mutations/gqlTypes/CreateUserAddress.ts b/src/@sdk/mutations/gqlTypes/CreateUserAddress.ts index b4e0635c2a..0c80d0c044 100644 --- a/src/@sdk/mutations/gqlTypes/CreateUserAddress.ts +++ b/src/@sdk/mutations/gqlTypes/CreateUserAddress.ts @@ -159,7 +159,9 @@ export interface CreateUserAddress_accountAddressCreate_user { /** * List of all user's addresses. */ - addresses: (CreateUserAddress_accountAddressCreate_user_addresses | null)[] | null; + addresses: + | (CreateUserAddress_accountAddressCreate_user_addresses | null)[] + | null; } export interface CreateUserAddress_accountAddressCreate { diff --git a/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts b/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts index 58d79a9b3e..20c192c0c6 100644 --- a/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts +++ b/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts @@ -535,7 +535,9 @@ export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout { /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: (RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines | null)[] | null; + lines: + | (RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines | null)[] + | null; /** * Returns True, if checkout requires shipping. */ @@ -546,21 +548,12 @@ export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout { voucherCode: string | null; } -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkoutErrors { __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -570,10 +563,6 @@ export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkoutErrors * The error message. */ message: string | null; - /** - * The error code. - */ - code: CheckoutErrorCode; } export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode { @@ -582,10 +571,6 @@ export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode { * The checkout with the removed gift card or voucher. */ checkout: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout | null; - /** - * List of errors that occurred executing the mutation. - */ - errors: RemoveCheckoutPromoCode_checkoutRemovePromoCode_errors[]; checkoutErrors: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkoutErrors[]; } diff --git a/src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts b/src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts index 9ec4ec4e70..7ca4b1d146 100644 --- a/src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts +++ b/src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts @@ -159,7 +159,9 @@ export interface SetCustomerDefaultAddress_accountSetDefaultAddress_user { /** * List of all user's addresses. */ - addresses: (SetCustomerDefaultAddress_accountSetDefaultAddress_user_addresses | null)[] | null; + addresses: + | (SetCustomerDefaultAddress_accountSetDefaultAddress_user_addresses | null)[] + | null; } export interface SetCustomerDefaultAddress_accountSetDefaultAddress { diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts index 8fdca2e0d6..5d7e6306b5 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts @@ -2,14 +2,18 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { AddressInput } from "./../../gqlTypes/globalTypes"; +import { AddressInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL mutation operation: UpdateCheckoutBillingAddress // ==================================================== -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_errors { - __typename: "Error"; +export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkoutErrors { + __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -548,7 +552,9 @@ export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_check /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: (UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines | null)[] | null; + lines: + | (UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines | null)[] + | null; /** * Returns True, if checkout requires shipping. */ @@ -561,10 +567,7 @@ export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_check export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate { __typename: "CheckoutBillingAddressUpdate"; - /** - * List of errors that occurred executing the mutation. - */ - errors: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_errors[]; + checkoutErrors: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkoutErrors[]; /** * An updated checkout. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts index 0fe0595279..6695c3527c 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts @@ -2,14 +2,18 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { AddressInput } from "./../../gqlTypes/globalTypes"; +import { AddressInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL mutation operation: UpdateCheckoutBillingAddressWithEmail // ==================================================== -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_errors { - __typename: "Error"; +export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkoutErrors { + __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -548,7 +552,9 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpd /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: (UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines | null)[] | null; + lines: + | (UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines | null)[] + | null; /** * Returns True, if checkout requires shipping. */ @@ -561,10 +567,7 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpd export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate { __typename: "CheckoutBillingAddressUpdate"; - /** - * List of errors that occurred executing the mutation. - */ - errors: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_errors[]; + checkoutErrors: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkoutErrors[]; /** * An updated checkout. */ @@ -1098,7 +1101,9 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_check /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: (UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines | null)[] | null; + lines: + | (UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines | null)[] + | null; /** * Returns True, if checkout requires shipping. */ @@ -1109,8 +1114,12 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_check voucherCode: string | null; } -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_errors { - __typename: "Error"; +export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkoutErrors { + __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -1128,10 +1137,7 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate { * An updated checkout. */ checkout: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout | null; - /** - * List of errors that occurred executing the mutation. - */ - errors: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_errors[]; + checkoutErrors: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkoutErrors[]; } export interface UpdateCheckoutBillingAddressWithEmail { diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts index 4c6c95d385..75480a8337 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts @@ -2,7 +2,10 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { CheckoutLineInput } from "./../../gqlTypes/globalTypes"; +import { + CheckoutLineInput, + CheckoutErrorCode, +} from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL mutation operation: UpdateCheckoutLine @@ -535,7 +538,9 @@ export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout { /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: (UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines | null)[] | null; + lines: + | (UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines | null)[] + | null; /** * Returns True, if checkout requires shipping. */ @@ -546,8 +551,12 @@ export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout { voucherCode: string | null; } -export interface UpdateCheckoutLine_checkoutLinesUpdate_errors { - __typename: "Error"; +export interface UpdateCheckoutLine_checkoutLinesUpdate_checkoutErrors { + __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -565,10 +574,7 @@ export interface UpdateCheckoutLine_checkoutLinesUpdate { * An updated checkout. */ checkout: UpdateCheckoutLine_checkoutLinesUpdate_checkout | null; - /** - * List of errors that occurred executing the mutation. - */ - errors: UpdateCheckoutLine_checkoutLinesUpdate_errors[]; + checkoutErrors: UpdateCheckoutLine_checkoutLinesUpdate_checkoutErrors[]; } export interface UpdateCheckoutLine { diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts index 60e9ca0927..87964c81f0 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts @@ -2,14 +2,18 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { AddressInput } from "./../../gqlTypes/globalTypes"; +import { AddressInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL mutation operation: UpdateCheckoutShippingAddress // ==================================================== -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_errors { - __typename: "Error"; +export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkoutErrors { + __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -548,7 +552,9 @@ export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_che /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: (UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines | null)[] | null; + lines: + | (UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines | null)[] + | null; /** * Returns True, if checkout requires shipping. */ @@ -561,10 +567,7 @@ export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_che export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate { __typename: "CheckoutShippingAddressUpdate"; - /** - * List of errors that occurred executing the mutation. - */ - errors: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_errors[]; + checkoutErrors: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkoutErrors[]; /** * An updated checkout. */ @@ -1098,7 +1101,9 @@ export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout { /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: (UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines | null)[] | null; + lines: + | (UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines | null)[] + | null; /** * Returns True, if checkout requires shipping. */ @@ -1109,8 +1114,12 @@ export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout { voucherCode: string | null; } -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_errors { - __typename: "Error"; +export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkoutErrors { + __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -1128,10 +1137,7 @@ export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate { * An updated checkout. */ checkout: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout | null; - /** - * List of errors that occurred executing the mutation. - */ - errors: UpdateCheckoutShippingAddress_checkoutEmailUpdate_errors[]; + checkoutErrors: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkoutErrors[]; } export interface UpdateCheckoutShippingAddress { diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts index 4d54fabd98..c6e42c19a3 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts @@ -8,19 +8,6 @@ import { CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; // GraphQL mutation operation: UpdateCheckoutShippingMethod // ==================================================== -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_totalPrice_gross { __typename: "Money"; /** @@ -548,7 +535,9 @@ export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_check /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: (UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines | null)[] | null; + lines: + | (UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines | null)[] + | null; /** * Returns True, if checkout requires shipping. */ @@ -561,6 +550,10 @@ export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_check export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkoutErrors { __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; /** * Name of a field that caused the error. A value of `null` indicates that the * error isn't associated with a particular field. @@ -570,18 +563,10 @@ export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_check * The error message. */ message: string | null; - /** - * The error code. - */ - code: CheckoutErrorCode; } export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate { __typename: "CheckoutShippingMethodUpdate"; - /** - * List of errors that occurred executing the mutation. - */ - errors: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_errors[]; /** * An updated checkout. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts index a1e5763c93..7885dce881 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts @@ -159,7 +159,9 @@ export interface UpdateUserAddress_accountAddressUpdate_user { /** * List of all user's addresses. */ - addresses: (UpdateUserAddress_accountAddressUpdate_user_addresses | null)[] | null; + addresses: + | (UpdateUserAddress_accountAddressUpdate_user_addresses | null)[] + | null; } export interface UpdateUserAddress_accountAddressUpdate { diff --git a/src/@sdk/network/index.ts b/src/@sdk/network/index.ts index 263171e1ef..aacad5d4c5 100644 --- a/src/@sdk/network/index.ts +++ b/src/@sdk/network/index.ts @@ -342,9 +342,9 @@ export class NetworkManager implements INetworkManager { return { error: errors, }; - } else if (data?.checkoutCreate?.errors.length) { + } else if (data?.checkoutCreate?.checkoutErrors.length) { return { - error: data?.checkoutCreate?.errors, + error: data?.checkoutCreate?.checkoutErrors, }; } else if (data?.checkoutCreate?.checkout) { return { @@ -385,9 +385,9 @@ export class NetworkManager implements INetworkManager { return { error: errors, }; - } else if (data?.checkoutLinesUpdate?.errors.length) { + } else if (data?.checkoutLinesUpdate?.checkoutErrors.length) { return { - error: data?.checkoutLinesUpdate?.errors, + error: data?.checkoutLinesUpdate?.checkoutErrors, }; } else if (data?.checkoutLinesUpdate?.checkout) { return { @@ -442,13 +442,13 @@ export class NetworkManager implements INetworkManager { return { error: errors, }; - } else if (data?.checkoutEmailUpdate?.errors.length) { + } else if (data?.checkoutEmailUpdate?.checkoutErrors.length) { return { - error: data?.checkoutEmailUpdate?.errors, + error: data?.checkoutEmailUpdate?.checkoutErrors, }; - } else if (data?.checkoutShippingAddressUpdate?.errors.length) { + } else if (data?.checkoutShippingAddressUpdate?.checkoutErrors.length) { return { - error: data?.checkoutShippingAddressUpdate?.errors, + error: data?.checkoutShippingAddressUpdate?.checkoutErrors, }; } else if (data?.checkoutShippingAddressUpdate?.checkout) { return { @@ -501,9 +501,9 @@ export class NetworkManager implements INetworkManager { return { error: errors, }; - } else if (data?.checkoutBillingAddressUpdate?.errors.length) { + } else if (data?.checkoutBillingAddressUpdate?.checkoutErrors.length) { return { - error: data?.checkoutBillingAddressUpdate?.errors, + error: data?.checkoutBillingAddressUpdate?.checkoutErrors, }; } else if (data?.checkoutBillingAddressUpdate?.checkout) { return { @@ -559,13 +559,13 @@ export class NetworkManager implements INetworkManager { return { error: errors, }; - } else if (data?.checkoutEmailUpdate?.errors.length) { + } else if (data?.checkoutEmailUpdate?.checkoutErrors.length) { return { - error: data?.checkoutEmailUpdate?.errors, + error: data?.checkoutEmailUpdate?.checkoutErrors, }; - } else if (data?.checkoutBillingAddressUpdate?.errors.length) { + } else if (data?.checkoutBillingAddressUpdate?.checkoutErrors.length) { return { - error: data?.checkoutBillingAddressUpdate?.errors, + error: data?.checkoutBillingAddressUpdate?.checkoutErrors, }; } else if (data?.checkoutBillingAddressUpdate?.checkout) { return { @@ -600,9 +600,9 @@ export class NetworkManager implements INetworkManager { return { error: errors, }; - } else if (data?.checkoutShippingMethodUpdate?.errors.length) { + } else if (data?.checkoutShippingMethodUpdate?.checkoutErrors.length) { return { - error: data?.checkoutShippingMethodUpdate?.errors, + error: data?.checkoutShippingMethodUpdate?.checkoutErrors, }; } else if (data?.checkoutShippingMethodUpdate?.checkout) { return { @@ -634,9 +634,9 @@ export class NetworkManager implements INetworkManager { return { error: errors, }; - } else if (data?.checkoutAddPromoCode?.errors.length) { + } else if (data?.checkoutAddPromoCode?.checkoutErrors.length) { return { - error: data?.checkoutAddPromoCode?.errors, + error: data?.checkoutAddPromoCode?.checkoutErrors, }; } else if (data?.checkoutAddPromoCode?.checkout) { return { @@ -666,9 +666,9 @@ export class NetworkManager implements INetworkManager { return { error: errors, }; - } else if (data?.checkoutRemovePromoCode?.errors.length) { + } else if (data?.checkoutRemovePromoCode?.checkoutErrors.length) { return { - error: data?.checkoutRemovePromoCode?.errors, + error: data?.checkoutRemovePromoCode?.checkoutErrors, }; } else if (data?.checkoutRemovePromoCode?.checkout) { return { @@ -729,9 +729,9 @@ export class NetworkManager implements INetworkManager { return { error: errors, }; - } else if (data?.checkoutPaymentCreate?.errors.length) { + } else if (data?.checkoutPaymentCreate?.paymentErrors.length) { return { - error: data?.checkoutPaymentCreate?.errors, + error: data?.checkoutPaymentCreate?.paymentErrors, }; } else if (data?.checkoutPaymentCreate?.payment) { return { @@ -761,9 +761,9 @@ export class NetworkManager implements INetworkManager { return { error: errors, }; - } else if (data?.checkoutComplete?.errors.length) { + } else if (data?.checkoutComplete?.checkoutErrors.length) { return { - error: data?.checkoutComplete?.errors, + error: data?.checkoutComplete?.checkoutErrors, }; } else if (data?.checkoutComplete?.order) { return { diff --git a/src/@sdk/queries/gqlTypes/OrderByToken.ts b/src/@sdk/queries/gqlTypes/OrderByToken.ts index 6823e79094..ce1434aab5 100644 --- a/src/@sdk/queries/gqlTypes/OrderByToken.ts +++ b/src/@sdk/queries/gqlTypes/OrderByToken.ts @@ -2,7 +2,10 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { PaymentChargeStatusEnum, OrderStatus } from "./../../gqlTypes/globalTypes"; +import { + PaymentChargeStatusEnum, + OrderStatus, +} from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL query operation: OrderByToken From 3b5946836e60517dd1dc54b576e6fcb838778238 Mon Sep 17 00:00:00 2001 From: Dawid Tarasiuk Date: Wed, 13 May 2020 16:19:48 +0200 Subject: [PATCH 008/120] Refactor repository and network --- src/@sdk/api/Cart/index.ts | 41 +++++----- src/@sdk/api/Cart/types.ts | 2 +- src/@sdk/api/Checkout/index.ts | 5 +- src/@sdk/api/Checkout/types.ts | 4 +- src/@sdk/api/index.ts | 33 +++++---- .../ApolloClientManager}/index.ts | 20 ++--- .../ApolloClientManager}/types.ts | 30 ++++---- .../LocalStorageManager}/index.ts | 24 +++--- .../LocalStorageManager}/types.ts | 8 +- src/@sdk/data/index.ts | 2 + .../LocalStorageHandler.ts | 65 ++++++++++++++++ src/@sdk/helpers/LocalStorageHandler/index.ts | 2 + .../LocalStorageHandler}/types.ts | 22 +----- src/@sdk/helpers/index.ts | 1 + src/@sdk/jobs/Cart/CartQueuedJobs.ts | 25 ++++--- src/@sdk/jobs/Checkout/CheckoutJobs.ts | 74 ++++++++++--------- src/@sdk/jobs/Jobs.ts | 11 ++- src/@sdk/jobs/JobsManager.ts | 26 ++++--- src/@sdk/jobs/QueuedJobs.ts | 11 ++- src/@sdk/repository/LocalRepository.ts | 30 -------- src/@sdk/repository/Repository.ts | 36 --------- src/@sdk/repository/index.ts | 4 - src/@sdk/state/index.ts | 45 +++++------ src/@sdk/state/types.ts | 4 +- .../OverlayManager/Cart/ProductList.tsx | 2 +- src/components/ProductDescription/index.tsx | 2 +- 26 files changed, 275 insertions(+), 254 deletions(-) rename src/@sdk/{network => data/ApolloClientManager}/index.ts (99%) rename src/@sdk/{network => data/ApolloClientManager}/types.ts (63%) rename src/@sdk/{repository/Checkout => data/LocalStorageManager}/index.ts (83%) rename src/@sdk/{repository/Checkout => data/LocalStorageManager}/types.ts (56%) create mode 100644 src/@sdk/data/index.ts create mode 100644 src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts create mode 100644 src/@sdk/helpers/LocalStorageHandler/index.ts rename src/@sdk/{repository => helpers/LocalStorageHandler}/types.ts (88%) delete mode 100644 src/@sdk/repository/LocalRepository.ts delete mode 100644 src/@sdk/repository/Repository.ts delete mode 100644 src/@sdk/repository/index.ts diff --git a/src/@sdk/api/Cart/index.ts b/src/@sdk/api/Cart/index.ts index ec26a9e82c..3b922c3afc 100644 --- a/src/@sdk/api/Cart/index.ts +++ b/src/@sdk/api/Cart/index.ts @@ -1,10 +1,11 @@ +import { LocalStorageManager } from "@sdk/data"; import { ErrorListener } from "@sdk/helpers"; +import { ICheckoutModel } from "@sdk/helpers/LocalStorageHandler"; import { JobsManager } from "@sdk/jobs"; import { ErrorCartTypes } from "@sdk/jobs/Cart"; -import { NetworkManager } from "@sdk/network"; -import { CheckoutRepositoryManager, ICheckoutModel } from "@sdk/repository"; import { SaleorState } from "@sdk/state"; import { ISaleorStateSummeryPrices, StateItems } from "@sdk/state/types"; +import { ApolloClientManager } from "@temp/@sdk/data/ApolloClientManager"; import { IDiscount, @@ -26,22 +27,22 @@ export class SaleorCartAPI extends ErrorListener implements ISaleorCartAPI { private checkoutLoaded: boolean; private summaryPricesLoaded: boolean; - private checkoutRepositoryManager: CheckoutRepositoryManager; + private localStorageManager: LocalStorageManager; private saleorState: SaleorState; - private networkManager: NetworkManager; + private apolloClientManager: ApolloClientManager; private jobsManager: JobsManager; constructor( - checkoutRepositoryManager: CheckoutRepositoryManager, - networkManager: NetworkManager, + localStorageManager: LocalStorageManager, + apolloClientManager: ApolloClientManager, saleorState: SaleorState, loadOnStart: boolean, jobsManager: JobsManager ) { super(); this.saleorState = saleorState; - this.checkoutRepositoryManager = checkoutRepositoryManager; - this.networkManager = networkManager; + this.localStorageManager = localStorageManager; + this.apolloClientManager = apolloClientManager; this.jobsManager = jobsManager; this.loaded = false; @@ -103,21 +104,21 @@ export class SaleorCartAPI extends ErrorListener implements ISaleorCartAPI { await this.saleorState.provideCheckout(this.fireError); // 1. save in local storage - this.checkoutRepositoryManager.addItemToCart(variantId, quantity); + this.localStorageManager.addItemToCart(variantId, quantity); // 2. save online if possible (if checkout id available) if (this.saleorState.checkout?.lines) { const { data, error, - } = await this.networkManager.getRefreshedCheckoutLines( + } = await this.apolloClientManager.getRefreshedCheckoutLines( this.saleorState.checkout.lines ); if (error) { this.fireError(error, ErrorCartTypes.SET_CART_ITEM); } else { - this.checkoutRepositoryManager.getRepository().setCheckout({ + this.localStorageManager.getHandler().setCheckout({ ...this.saleorState.checkout, lines: data, }); @@ -138,20 +139,20 @@ export class SaleorCartAPI extends ErrorListener implements ISaleorCartAPI { await this.saleorState.provideCheckout(this.fireError); // 1. save in local storage - this.checkoutRepositoryManager.removeItemFromCart(variantId); + this.localStorageManager.removeItemFromCart(variantId); // 2. save online if possible (if checkout id available) if (this.saleorState.checkout?.lines) { const { data, error, - } = await this.networkManager.getRefreshedCheckoutLines( + } = await this.apolloClientManager.getRefreshedCheckoutLines( this.saleorState.checkout.lines ); if (error) { this.fireError(error, ErrorCartTypes.SET_CART_ITEM); } else { - this.checkoutRepositoryManager.getRepository().setCheckout({ + this.localStorageManager.getHandler().setCheckout({ ...this.saleorState.checkout, lines: data, }); @@ -172,21 +173,21 @@ export class SaleorCartAPI extends ErrorListener implements ISaleorCartAPI { await this.saleorState.provideCheckout(this.fireError); // 1. save in local storage - this.checkoutRepositoryManager.subtractItemFromCart(variantId); + this.localStorageManager.subtractItemFromCart(variantId); // 2. save online if possible (if checkout id available) if (this.saleorState.checkout?.lines) { const { data, error, - } = await this.networkManager.getRefreshedCheckoutLines( + } = await this.apolloClientManager.getRefreshedCheckoutLines( this.saleorState.checkout.lines ); if (error) { this.fireError(error, ErrorCartTypes.SET_CART_ITEM); } else { - this.checkoutRepositoryManager.getRepository().setCheckout({ + this.localStorageManager.getHandler().setCheckout({ ...this.saleorState.checkout, lines: data, }); @@ -207,21 +208,21 @@ export class SaleorCartAPI extends ErrorListener implements ISaleorCartAPI { await this.saleorState.provideCheckout(this.fireError); // 1. save in local storage - this.checkoutRepositoryManager.updateItemInCart(variantId, quantity); + this.localStorageManager.updateItemInCart(variantId, quantity); // 2. save online if possible (if checkout id available) if (this.saleorState.checkout?.lines) { const { data, error, - } = await this.networkManager.getRefreshedCheckoutLines( + } = await this.apolloClientManager.getRefreshedCheckoutLines( this.saleorState.checkout.lines ); if (error) { this.fireError(error, ErrorCartTypes.SET_CART_ITEM); } else { - this.checkoutRepositoryManager.getRepository().setCheckout({ + this.localStorageManager.getHandler().setCheckout({ ...this.saleorState.checkout, lines: data, }); diff --git a/src/@sdk/api/Cart/types.ts b/src/@sdk/api/Cart/types.ts index ad9f492399..b7f2afecac 100644 --- a/src/@sdk/api/Cart/types.ts +++ b/src/@sdk/api/Cart/types.ts @@ -2,7 +2,7 @@ import { ICheckoutModelLine, ICheckoutModelPrice, ICheckoutModelPriceValue, -} from "@sdk/repository"; +} from "@sdk/helpers/LocalStorageHandler"; import { PromiseQueuedResponse } from "../types"; diff --git a/src/@sdk/api/Checkout/index.ts b/src/@sdk/api/Checkout/index.ts index 52e15d9bdd..835f7bd3f5 100644 --- a/src/@sdk/api/Checkout/index.ts +++ b/src/@sdk/api/Checkout/index.ts @@ -1,6 +1,9 @@ import { ErrorListener } from "@sdk/helpers"; +import { + ICheckoutModel, + IPaymentModel, +} from "@sdk/helpers/LocalStorageHandler"; import { JobsManager } from "@sdk/jobs"; -import { ICheckoutModel, IPaymentModel } from "@sdk/repository"; import { SaleorState } from "@sdk/state"; import { StateItems } from "@sdk/state/types"; diff --git a/src/@sdk/api/Checkout/types.ts b/src/@sdk/api/Checkout/types.ts index ceea9ded98..696ef5db63 100644 --- a/src/@sdk/api/Checkout/types.ts +++ b/src/@sdk/api/Checkout/types.ts @@ -1,10 +1,10 @@ import { Checkout_availableShippingMethods } from "@sdk/fragments/gqlTypes/Checkout"; -import { GetShopPaymentGateways_shop_availablePaymentGateways } from "@sdk/queries/gqlTypes/GetShopPaymentGateways"; import { ICheckoutModelPrice, ICheckoutModelPriceValue, IPaymentCreditCard, -} from "@sdk/repository"; +} from "@sdk/helpers/LocalStorageHandler"; +import { GetShopPaymentGateways_shop_availablePaymentGateways } from "@sdk/queries/gqlTypes/GetShopPaymentGateways"; import { PromiseQueuedResponse, PromiseRunResponse } from "../types"; diff --git a/src/@sdk/api/index.ts b/src/@sdk/api/index.ts index 0f9de9a9ff..19616afa3b 100644 --- a/src/@sdk/api/index.ts +++ b/src/@sdk/api/index.ts @@ -1,9 +1,10 @@ import ApolloClient from "apollo-client"; import { defaultConfig } from "../config"; +import { LocalStorageManager } from "../data"; +import { ApolloClientManager } from "../data/ApolloClientManager"; +import { LocalStorageHandler } from "../helpers/LocalStorageHandler"; import { JobsManager } from "../jobs"; -import { NetworkManager } from "../network"; -import { CheckoutRepositoryManager, LocalRepository } from "../repository"; import { SaleorState } from "../state"; import { Config } from "../types"; import { APIProxy } from "./APIProxy"; @@ -40,14 +41,20 @@ export class SaleorAPI { }; const { loadOnStart } = finalConfig; - const repository = new LocalRepository(); - const networkManager = new NetworkManager(client); - const saleorState = new SaleorState(repository, networkManager); - const checkoutRepositoryManager = new CheckoutRepositoryManager( - repository, + const localStorageHandler = new LocalStorageHandler(); + const apolloClientManager = new ApolloClientManager(client); + const saleorState = new SaleorState( + localStorageHandler, + apolloClientManager + ); + const localStorageManager = new LocalStorageManager( + localStorageHandler, saleorState ); - const jobsManager = new JobsManager(repository, networkManager); + const jobsManager = new JobsManager( + localStorageHandler, + apolloClientManager + ); if (onStateUpdate) { saleorState.subscribeToNotifiedChanges(onStateUpdate); @@ -59,8 +66,8 @@ export class SaleorAPI { jobsManager ); this.cart = new SaleorCartAPI( - checkoutRepositoryManager, - networkManager, + localStorageManager, + apolloClientManager, saleorState, loadOnStart.cart, jobsManager @@ -68,9 +75,9 @@ export class SaleorAPI { this.legacyAPIProxy.attachAuthListener(authenticated => { if (!authenticated) { - repository.setCheckout({}); - repository.setPayment({}); - repository.setJobs(null); + localStorageHandler.setCheckout({}); + localStorageHandler.setPayment({}); + localStorageHandler.setJobs(null); } }); } diff --git a/src/@sdk/network/index.ts b/src/@sdk/data/ApolloClientManager/index.ts similarity index 99% rename from src/@sdk/network/index.ts rename to src/@sdk/data/ApolloClientManager/index.ts index aacad5d4c5..d5fbbaf5ca 100644 --- a/src/@sdk/network/index.ts +++ b/src/@sdk/data/ApolloClientManager/index.ts @@ -5,6 +5,13 @@ import { Checkout } from "@sdk/fragments/gqlTypes/Checkout"; import { OrderDetail } from "@sdk/fragments/gqlTypes/OrderDetail"; import { Payment } from "@sdk/fragments/gqlTypes/Payment"; import { CountryCode } from "@sdk/gqlTypes/globalTypes"; +import { + ICheckoutAddress, + ICheckoutModel, + ICheckoutModelLine, + IOrderModel, + IPaymentModel, +} from "@sdk/helpers/LocalStorageHandler"; import * as CheckoutMutations from "@sdk/mutations/checkout"; import { AddCheckoutPromoCode, @@ -58,18 +65,11 @@ import { } from "@sdk/queries/gqlTypes/GetShopPaymentGateways"; import { UserCheckoutDetails } from "@sdk/queries/gqlTypes/UserCheckoutDetails"; import * as ShopQueries from "@sdk/queries/shop"; -import { - ICheckoutAddress, - ICheckoutModel, - ICheckoutModelLine, - IOrderModel, - IPaymentModel, -} from "@sdk/repository"; import { filterNotEmptyArrayItems } from "@sdk/utils"; -import { INetworkManager } from "./types"; +import { IApolloClientManager } from "./types"; -export class NetworkManager implements INetworkManager { +export class ApolloClientManager implements IApolloClientManager { private client: ApolloClient; constructor(client: ApolloClient) { @@ -79,6 +79,7 @@ export class NetworkManager implements INetworkManager { getCheckout = async (checkoutToken: string | null) => { let checkout: Checkout | null; try { + console.log("g"); checkout = await new Promise((resolve, reject) => { if (this.isLoggedIn()) { const observable = this.client.watchQuery({ @@ -87,6 +88,7 @@ export class NetworkManager implements INetworkManager { }); observable.subscribe( result => { + console.log("e", result); const { data, errors } = result; if (errors?.length) { reject(errors); diff --git a/src/@sdk/network/types.ts b/src/@sdk/data/ApolloClientManager/types.ts similarity index 63% rename from src/@sdk/network/types.ts rename to src/@sdk/data/ApolloClientManager/types.ts index d4334c2e84..1c8be9193f 100644 --- a/src/@sdk/network/types.ts +++ b/src/@sdk/data/ApolloClientManager/types.ts @@ -6,7 +6,7 @@ import { ICheckoutModelLine, IOrderModel, IPaymentModel, -} from "@sdk/repository"; +} from "@temp/@sdk/helpers/LocalStorageHandler"; export enum PendingSaveItems { UPDATE_CART = "updateCart", @@ -21,61 +21,61 @@ export interface ApolloErrorWithUserInput extends ApolloError { }; } -export interface INetworkManagerResponse { +export interface IApolloClientManagerResponse { data?: T; error?: ApolloErrorWithUserInput; } -export interface INetworkManager { +export interface IApolloClientManager { getCheckout: ( checkoutToken: string | null - ) => Promise>; + ) => Promise>; getRefreshedCheckoutLines: ( checkoutlines: ICheckoutModelLine[] | null - ) => Promise>; + ) => Promise>; createCheckout: ( email: string, lines: Array<{ variantId: string; quantity: number }>, shippingAddress: ICheckoutAddress, billingAddress?: ICheckoutAddress - ) => Promise>; + ) => Promise>; setCartItem: ( checkout: ICheckoutModel - ) => Promise>; + ) => Promise>; setBillingAddress: ( billingAddress: ICheckoutAddress, checkoutId: string - ) => Promise>; + ) => Promise>; setBillingAddressWithEmail: ( billingAddress: ICheckoutAddress, email: string, checkoutId: string - ) => Promise>; + ) => Promise>; setShippingAddress: ( shippingAddress: ICheckoutAddress, email: string, checkoutId: string - ) => Promise>; + ) => Promise>; setShippingMethod: ( shippingMethodId: string, checkoutId: string - ) => Promise>; + ) => Promise>; addPromoCode: ( promoCode: string, checkoutId: string - ) => Promise>; + ) => Promise>; removePromoCode: ( promoCode: string, checkoutId: string - ) => Promise>; + ) => Promise>; createPayment: ( amount: number, checkoutId: string, paymentGateway: string, paymentToken: string, billingAddress: ICheckoutAddress - ) => Promise>; + ) => Promise>; completeCheckout: ( checkoutId: string - ) => Promise>; + ) => Promise>; } diff --git a/src/@sdk/repository/Checkout/index.ts b/src/@sdk/data/LocalStorageManager/index.ts similarity index 83% rename from src/@sdk/repository/Checkout/index.ts rename to src/@sdk/data/LocalStorageManager/index.ts index 951898dc0b..69ba82c7fd 100644 --- a/src/@sdk/repository/Checkout/index.ts +++ b/src/@sdk/data/LocalStorageManager/index.ts @@ -1,19 +1,19 @@ import { SaleorState } from "@sdk/state"; -import { LocalRepository } from "../LocalRepository"; -import { ICheckoutRepositoryManager } from "./types"; +import { LocalStorageHandler } from "../../helpers/LocalStorageHandler/LocalStorageHandler"; +import { ILocalStorageManager } from "./types"; -export class CheckoutRepositoryManager implements ICheckoutRepositoryManager { - private repository: LocalRepository; +export class LocalStorageManager implements ILocalStorageManager { + private handler: LocalStorageHandler; private saleorState: SaleorState; - constructor(repository: LocalRepository, saleorState: SaleorState) { - this.repository = repository; + constructor(handler: LocalStorageHandler, saleorState: SaleorState) { + this.handler = handler; this.saleorState = saleorState; } - getRepository = () => { - return this.repository; + getHandler = () => { + return this.handler; }; addItemToCart = (variantId: string, quantity: number) => { @@ -43,7 +43,7 @@ export class CheckoutRepositoryManager implements ICheckoutRepositoryManager { : { lines: alteredLines, }; - this.repository.setCheckout(alteredCheckout); + this.handler.setCheckout(alteredCheckout); return alteredCheckout; }; @@ -66,7 +66,7 @@ export class CheckoutRepositoryManager implements ICheckoutRepositoryManager { : { lines: alteredLines, }; - this.repository.setCheckout(alteredCheckout); + this.handler.setCheckout(alteredCheckout); return alteredCheckout; }; @@ -90,7 +90,7 @@ export class CheckoutRepositoryManager implements ICheckoutRepositoryManager { : { lines: alteredLines, }; - this.repository.setCheckout(alteredCheckout); + this.handler.setCheckout(alteredCheckout); return alteredCheckout; }; @@ -113,7 +113,7 @@ export class CheckoutRepositoryManager implements ICheckoutRepositoryManager { : { lines: alteredLines, }; - this.repository.setCheckout(alteredCheckout); + this.handler.setCheckout(alteredCheckout); return alteredCheckout; }; diff --git a/src/@sdk/repository/Checkout/types.ts b/src/@sdk/data/LocalStorageManager/types.ts similarity index 56% rename from src/@sdk/repository/Checkout/types.ts rename to src/@sdk/data/LocalStorageManager/types.ts index f71498b086..bf3f4f899a 100644 --- a/src/@sdk/repository/Checkout/types.ts +++ b/src/@sdk/data/LocalStorageManager/types.ts @@ -1,8 +1,8 @@ -import { LocalRepository } from "../LocalRepository"; -import { ICheckoutModel } from "../types"; +import { LocalStorageHandler } from "../../helpers/LocalStorageHandler/LocalStorageHandler"; +import { ICheckoutModel } from "../../helpers/LocalStorageHandler/types"; -export interface ICheckoutRepositoryManager { - getRepository: () => LocalRepository; +export interface ILocalStorageManager { + getHandler: () => LocalStorageHandler; addItemToCart: (variantId: string, quantity: number) => ICheckoutModel | null; removeItemFromCart: (variantId: string) => ICheckoutModel | null; subtractItemFromCart: (variantId: string) => ICheckoutModel | null; diff --git a/src/@sdk/data/index.ts b/src/@sdk/data/index.ts new file mode 100644 index 0000000000..1d8209c6b8 --- /dev/null +++ b/src/@sdk/data/index.ts @@ -0,0 +1,2 @@ +export * from "./ApolloClientManager"; +export * from "./LocalStorageManager"; diff --git a/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts b/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts new file mode 100644 index 0000000000..55ad4b4132 --- /dev/null +++ b/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts @@ -0,0 +1,65 @@ +import { NamedObservable } from "../NamedObservable"; +import { + ICheckoutModel, + ILocalStorageHandler, + IPaymentModel, + LocalStorageItems, +} from "./types"; + +class LocalStorageHandlerProxy extends NamedObservable { + protected saveItem(name: LocalStorageItems, item: string | null): void { + if (item) { + localStorage.setItem(name, item); + } else { + localStorage.removeItem(name); + } + this.notifyChange(name, item); + } + protected retrieveItem(name: LocalStorageItems): string | null { + return localStorage.getItem(name); + } + protected saveObject( + name: LocalStorageItems, + object: T | null + ): void { + if (object) { + localStorage.setItem(name, JSON.stringify(object)); + } else { + localStorage.removeItem(name); + } + this.notifyChange(name, object); + } + protected retrieveObject( + name: LocalStorageItems + ): T | null { + const item = localStorage.getItem(name); + if (item) { + return JSON.parse(item); + } + return null; + } +} + +export class LocalStorageHandler extends LocalStorageHandlerProxy + implements ILocalStorageHandler { + getCheckout(): ICheckoutModel | null { + return this.retrieveObject(LocalStorageItems.CHECKOUT); + } + setCheckout(checkout: ICheckoutModel | null): void { + this.saveObject(LocalStorageItems.CHECKOUT, checkout); + } + getPayment(): IPaymentModel | null { + return this.retrieveObject(LocalStorageItems.PAYMENT); + } + setPayment(payment: IPaymentModel | null): void { + this.saveObject(LocalStorageItems.PAYMENT, payment); + } + getJobs(): { + [key: string]: { [key: string]: boolean }; + } | null { + return this.retrieveObject(LocalStorageItems.JOB_QUEUE_CHECKOUT); + } + setJobs(jobs: { [key: string]: { [key: string]: boolean } } | null): void { + return this.saveObject(LocalStorageItems.JOB_QUEUE_CHECKOUT, jobs); + } +} diff --git a/src/@sdk/helpers/LocalStorageHandler/index.ts b/src/@sdk/helpers/LocalStorageHandler/index.ts new file mode 100644 index 0000000000..dab1459b5b --- /dev/null +++ b/src/@sdk/helpers/LocalStorageHandler/index.ts @@ -0,0 +1,2 @@ +export * from "./LocalStorageHandler"; +export * from "./types"; diff --git a/src/@sdk/repository/types.ts b/src/@sdk/helpers/LocalStorageHandler/types.ts similarity index 88% rename from src/@sdk/repository/types.ts rename to src/@sdk/helpers/LocalStorageHandler/types.ts index 6e9d99af95..620cf64aee 100644 --- a/src/@sdk/repository/types.ts +++ b/src/@sdk/helpers/LocalStorageHandler/types.ts @@ -3,7 +3,7 @@ import { Checkout_lines_variant_attributes, Checkout_lines_variant_pricing, Checkout_lines_variant_product, -} from "../fragments/gqlTypes/Checkout"; +} from "../../fragments/gqlTypes/Checkout"; export enum LocalStorageItems { JOB_QUEUE_CHECKOUT = "job_queueCheckout", @@ -124,25 +124,7 @@ export interface IOrderModel { number?: string | null; } -// export interface IJobsModel { -// cart: { -// setCartItem?: boolean; -// }; -// checkout: { -// setPromoCode?: boolean; -// }; -// } - -// export const JobsModelInitialState: IJobsModel = { -// cart: { -// setCartItem: false, -// }, -// checkout: { -// setPromoCode: false, -// }, -// }; - -export interface ILocalRepository { +export interface ILocalStorageHandler { getCheckout(): ICheckoutModel | null; setCheckout(checkout: ICheckoutModel | null): void; getPayment(): IPaymentModel | null; diff --git a/src/@sdk/helpers/index.ts b/src/@sdk/helpers/index.ts index 5821cc5c46..6dd919a2ef 100644 --- a/src/@sdk/helpers/index.ts +++ b/src/@sdk/helpers/index.ts @@ -1,2 +1,3 @@ export * from "./NamedObservable"; export * from "./ErrorListener"; +export * from "./LocalStorageHandler"; diff --git a/src/@sdk/jobs/Cart/CartQueuedJobs.ts b/src/@sdk/jobs/Cart/CartQueuedJobs.ts index d462a05c7b..f5eeacdea7 100644 --- a/src/@sdk/jobs/Cart/CartQueuedJobs.ts +++ b/src/@sdk/jobs/Cart/CartQueuedJobs.ts @@ -1,5 +1,5 @@ -import { NetworkManager } from "@sdk/network"; -import { LocalRepository } from "@sdk/repository"; +import { ApolloClientManager } from "@temp/@sdk/data/ApolloClientManager"; +import { LocalStorageHandler } from "@temp/@sdk/helpers/LocalStorageHandler"; import { QueuedJobsHandler } from "../QueuedJobsHandler"; @@ -8,24 +8,29 @@ export enum ErrorCartTypes { } export class CartQueuedJobs extends QueuedJobsHandler { - private networkManager: NetworkManager; - private repository: LocalRepository; + private apolloClientManager: ApolloClientManager; + private localStorageHandler: LocalStorageHandler; - constructor(repository: LocalRepository, networkManager: NetworkManager) { + constructor( + localStorageHandler: LocalStorageHandler, + apolloClientManager: ApolloClientManager + ) { super(); - this.repository = repository; - this.networkManager = networkManager; + this.localStorageHandler = localStorageHandler; + this.apolloClientManager = apolloClientManager; } setCartItem = async () => { - const checkout = this.repository.getCheckout(); + const checkout = this.localStorageHandler.getCheckout(); if (checkout) { - const { data, error } = await this.networkManager.setCartItem(checkout); + const { data, error } = await this.apolloClientManager.setCartItem( + checkout + ); if (error && this.onErrorListener) { this.onErrorListener(error, ErrorCartTypes.SET_CART_ITEM); } else if (data) { - this.repository.setCheckout({ + this.localStorageHandler.setCheckout({ ...checkout, lines: data.lines, promoCodeDiscount: data.promoCodeDiscount, diff --git a/src/@sdk/jobs/Checkout/CheckoutJobs.ts b/src/@sdk/jobs/Checkout/CheckoutJobs.ts index 72c571a2b6..9965cc2fea 100644 --- a/src/@sdk/jobs/Checkout/CheckoutJobs.ts +++ b/src/@sdk/jobs/Checkout/CheckoutJobs.ts @@ -1,16 +1,22 @@ import { DataErrorCheckoutTypes, ICreditCard } from "@sdk/api/Checkout/types"; -import { NetworkManager } from "@sdk/network"; -import { ICheckoutAddress, LocalRepository } from "@sdk/repository"; +import { ApolloClientManager } from "@temp/@sdk/data/ApolloClientManager"; +import { + ICheckoutAddress, + LocalStorageHandler, +} from "@temp/@sdk/helpers/LocalStorageHandler"; import { PromiseCheckoutJobRunResponse } from "../types"; export class CheckoutJobs { - private networkManager: NetworkManager; - private repository: LocalRepository; + private apolloClientManager: ApolloClientManager; + private localStorageHandler: LocalStorageHandler; - constructor(repository: LocalRepository, networkManager: NetworkManager) { - this.networkManager = networkManager; - this.repository = repository; + constructor( + localStorageHandler: LocalStorageHandler, + apolloClientManager: ApolloClientManager + ) { + this.apolloClientManager = apolloClientManager; + this.localStorageHandler = localStorageHandler; } createCheckout = async ({ @@ -28,7 +34,7 @@ export class CheckoutJobs { billingAddress?: ICheckoutAddress; selectedBillingAddressId?: string; }): PromiseCheckoutJobRunResponse => { - const { data, error } = await this.networkManager.createCheckout( + const { data, error } = await this.apolloClientManager.createCheckout( email, lines, shippingAddress, @@ -47,7 +53,7 @@ export class CheckoutJobs { }, }; } else { - this.repository.setCheckout({ + this.localStorageHandler.setCheckout({ ...data, selectedBillingAddressId, selectedShippingAddressId, @@ -69,9 +75,9 @@ export class CheckoutJobs { email: string; selectedShippingAddressId?: string; }): PromiseCheckoutJobRunResponse => { - const checkout = this.repository.getCheckout(); + const checkout = this.localStorageHandler.getCheckout(); - const { data, error } = await this.networkManager.setShippingAddress( + const { data, error } = await this.apolloClientManager.setShippingAddress( shippingAddress, email, checkoutId @@ -85,7 +91,7 @@ export class CheckoutJobs { }, }; } else { - this.repository.setCheckout({ + this.localStorageHandler.setCheckout({ ...checkout, billingAsShipping: false, email: data?.email, @@ -107,9 +113,9 @@ export class CheckoutJobs { billingAsShipping?: boolean; selectedBillingAddressId?: string; }): PromiseCheckoutJobRunResponse => { - const checkout = this.repository.getCheckout(); + const checkout = this.localStorageHandler.getCheckout(); - const { data, error } = await this.networkManager.setBillingAddress( + const { data, error } = await this.apolloClientManager.setBillingAddress( billingAddress, checkoutId ); @@ -122,7 +128,7 @@ export class CheckoutJobs { }, }; } else { - this.repository.setCheckout({ + this.localStorageHandler.setCheckout({ ...checkout, billingAddress: data?.billingAddress, billingAsShipping: !!billingAsShipping, @@ -143,12 +149,12 @@ export class CheckoutJobs { billingAddress: ICheckoutAddress; selectedBillingAddressId?: string; }): PromiseCheckoutJobRunResponse => { - const checkout = this.repository.getCheckout(); + const checkout = this.localStorageHandler.getCheckout(); const { data, error, - } = await this.networkManager.setBillingAddressWithEmail( + } = await this.apolloClientManager.setBillingAddressWithEmail( billingAddress, email, checkoutId @@ -162,7 +168,7 @@ export class CheckoutJobs { }, }; } else { - this.repository.setCheckout({ + this.localStorageHandler.setCheckout({ ...checkout, billingAddress: data?.billingAddress, billingAsShipping: false, @@ -180,9 +186,9 @@ export class CheckoutJobs { checkoutId: string; shippingMethodId: string; }): PromiseCheckoutJobRunResponse => { - const checkout = this.repository.getCheckout(); + const checkout = this.localStorageHandler.getCheckout(); - const { data, error } = await this.networkManager.setShippingMethod( + const { data, error } = await this.apolloClientManager.setShippingMethod( shippingMethodId, checkoutId ); @@ -195,7 +201,7 @@ export class CheckoutJobs { }, }; } else { - this.repository.setCheckout({ + this.localStorageHandler.setCheckout({ ...checkout, promoCodeDiscount: data?.promoCodeDiscount, shippingMethod: data?.shippingMethod, @@ -211,9 +217,9 @@ export class CheckoutJobs { checkoutId: string; promoCode: string; }): PromiseCheckoutJobRunResponse => { - const checkout = this.repository.getCheckout(); + const checkout = this.localStorageHandler.getCheckout(); - const { data, error } = await this.networkManager.addPromoCode( + const { data, error } = await this.apolloClientManager.addPromoCode( promoCode, checkoutId ); @@ -226,7 +232,7 @@ export class CheckoutJobs { }, }; } else { - this.repository.setCheckout({ + this.localStorageHandler.setCheckout({ ...checkout, promoCodeDiscount: data?.promoCodeDiscount, }); @@ -241,9 +247,9 @@ export class CheckoutJobs { checkoutId: string; promoCode: string; }): PromiseCheckoutJobRunResponse => { - const checkout = this.repository.getCheckout(); + const checkout = this.localStorageHandler.getCheckout(); - const { data, error } = await this.networkManager.removePromoCode( + const { data, error } = await this.apolloClientManager.removePromoCode( promoCode, checkoutId ); @@ -256,7 +262,7 @@ export class CheckoutJobs { }, }; } else { - this.repository.setCheckout({ + this.localStorageHandler.setCheckout({ ...checkout, promoCodeDiscount: data?.promoCodeDiscount, }); @@ -279,9 +285,9 @@ export class CheckoutJobs { billingAddress: ICheckoutAddress; creditCard?: ICreditCard; }): PromiseCheckoutJobRunResponse => { - const payment = this.repository.getPayment(); + const payment = this.localStorageHandler.getPayment(); - const { data, error } = await this.networkManager.createPayment( + const { data, error } = await this.apolloClientManager.createPayment( amount, checkoutId, paymentGateway, @@ -297,7 +303,7 @@ export class CheckoutJobs { }, }; } else { - this.repository.setPayment({ + this.localStorageHandler.setPayment({ ...payment, creditCard, gateway: data?.gateway, @@ -313,7 +319,7 @@ export class CheckoutJobs { }: { checkoutId: string; }): PromiseCheckoutJobRunResponse => { - const { data, error } = await this.networkManager.completeCheckout( + const { data, error } = await this.apolloClientManager.completeCheckout( checkoutId ); @@ -325,9 +331,9 @@ export class CheckoutJobs { }, }; } else { - // this.repository.setOrder(data); - this.repository.setCheckout({}); - this.repository.setPayment({}); + // this.localStorageHandler.setOrder(data); + this.localStorageHandler.setCheckout({}); + this.localStorageHandler.setPayment({}); return { data }; } }; diff --git a/src/@sdk/jobs/Jobs.ts b/src/@sdk/jobs/Jobs.ts index 157a6200ba..18e2673206 100644 --- a/src/@sdk/jobs/Jobs.ts +++ b/src/@sdk/jobs/Jobs.ts @@ -1,5 +1,5 @@ -import { NetworkManager } from "../network"; -import { LocalRepository } from "../repository"; +import { ApolloClientManager } from "../data/ApolloClientManager"; +import { LocalStorageHandler } from "../helpers/LocalStorageHandler"; import { CartJobs } from "./Cart"; import { CheckoutJobs } from "./Checkout"; @@ -12,8 +12,11 @@ export class Jobs implements IJobs { cart: CartJobs; checkout: CheckoutJobs; - constructor(repository: LocalRepository, networkManager: NetworkManager) { + constructor( + localStorageHandler: LocalStorageHandler, + apolloClientManager: ApolloClientManager + ) { this.cart = new CartJobs(); - this.checkout = new CheckoutJobs(repository, networkManager); + this.checkout = new CheckoutJobs(localStorageHandler, apolloClientManager); } } diff --git a/src/@sdk/jobs/JobsManager.ts b/src/@sdk/jobs/JobsManager.ts index 1178691f7f..b7a5d63683 100644 --- a/src/@sdk/jobs/JobsManager.ts +++ b/src/@sdk/jobs/JobsManager.ts @@ -1,5 +1,5 @@ -import { NetworkManager } from "../network"; -import { LocalRepository } from "../repository"; +import { ApolloClientManager } from "../data/ApolloClientManager"; +import { LocalStorageHandler } from "../helpers/LocalStorageHandler"; import { IJobs, Jobs } from "./Jobs"; import { IQueuedJobs, QueuedJobs } from "./QueuedJobs"; import { JobFunctionParameters, QueuedJobFunctionParameters } from "./types"; @@ -9,20 +9,26 @@ export class JobsManager { jobGroup: string; jobName: string; }>; - private repository: LocalRepository; + private localStorageHandler: LocalStorageHandler; private jobs: IJobs; private queuedJobs: IQueuedJobs; - constructor(repository: LocalRepository, networkManager: NetworkManager) { + constructor( + localStorageHandler: LocalStorageHandler, + apolloClientManager: ApolloClientManager + ) { this.queue = new Array<{ jobGroup: string; jobName: string; }>(); - this.repository = repository; + this.localStorageHandler = localStorageHandler; - this.jobs = new Jobs(this.repository, networkManager); - this.queuedJobs = new QueuedJobs(this.repository, networkManager); + this.jobs = new Jobs(this.localStorageHandler, apolloClientManager); + this.queuedJobs = new QueuedJobs( + this.localStorageHandler, + apolloClientManager + ); this.enqueueAllSavedInRepository(); @@ -138,7 +144,7 @@ export class JobsManager { G extends keyof IQueuedJobs, J extends keyof IQueuedJobs[G] >(jobGroup: G, jobName: J, state: boolean) { - let jobs = this.repository.getJobs(); + let jobs = this.localStorageHandler.getJobs(); if (!jobs) { jobs = null; @@ -149,7 +155,7 @@ export class JobsManager { const jobGroupObject = jobs ? jobs[jobGroupString] : null; - this.repository.setJobs({ + this.localStorageHandler.setJobs({ ...jobs, [jobGroupString]: { ...jobGroupObject, @@ -159,7 +165,7 @@ export class JobsManager { } private enqueueAllSavedInRepository() { - const jobs = this.repository.getJobs(); + const jobs = this.localStorageHandler.getJobs(); if (jobs) { Object.keys(jobs).forEach(jobGroupString => { diff --git a/src/@sdk/jobs/QueuedJobs.ts b/src/@sdk/jobs/QueuedJobs.ts index b094e5c60e..0ace47838a 100644 --- a/src/@sdk/jobs/QueuedJobs.ts +++ b/src/@sdk/jobs/QueuedJobs.ts @@ -1,5 +1,5 @@ -import { NetworkManager } from "../network"; -import { LocalRepository } from "../repository"; +import { ApolloClientManager } from "../data/ApolloClientManager"; +import { LocalStorageHandler } from "../helpers/LocalStorageHandler"; import { CartQueuedJobs } from "./Cart"; import { CheckoutQueuedJobs } from "./Checkout"; @@ -12,8 +12,11 @@ export class QueuedJobs implements IQueuedJobs { cart: CartQueuedJobs; checkout: CheckoutQueuedJobs; - constructor(repository: LocalRepository, networkManager: NetworkManager) { - this.cart = new CartQueuedJobs(repository, networkManager); + constructor( + localStorageHandler: LocalStorageHandler, + apolloClientManager: ApolloClientManager + ) { + this.cart = new CartQueuedJobs(localStorageHandler, apolloClientManager); this.checkout = new CheckoutQueuedJobs(); } } diff --git a/src/@sdk/repository/LocalRepository.ts b/src/@sdk/repository/LocalRepository.ts deleted file mode 100644 index 62d1305518..0000000000 --- a/src/@sdk/repository/LocalRepository.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Repository } from "./Repository"; -import { - ICheckoutModel, - ILocalRepository, - IPaymentModel, - LocalStorageItems, -} from "./types"; - -export class LocalRepository extends Repository implements ILocalRepository { - getCheckout(): ICheckoutModel | null { - return this.retrieveObject(LocalStorageItems.CHECKOUT); - } - setCheckout(checkout: ICheckoutModel | null): void { - this.saveObject(LocalStorageItems.CHECKOUT, checkout); - } - getPayment(): IPaymentModel | null { - return this.retrieveObject(LocalStorageItems.PAYMENT); - } - setPayment(payment: IPaymentModel | null): void { - this.saveObject(LocalStorageItems.PAYMENT, payment); - } - getJobs(): { - [key: string]: { [key: string]: boolean }; - } | null { - return this.retrieveObject(LocalStorageItems.JOB_QUEUE_CHECKOUT); - } - setJobs(jobs: { [key: string]: { [key: string]: boolean } } | null): void { - return this.saveObject(LocalStorageItems.JOB_QUEUE_CHECKOUT, jobs); - } -} diff --git a/src/@sdk/repository/Repository.ts b/src/@sdk/repository/Repository.ts deleted file mode 100644 index 1804c71b8f..0000000000 --- a/src/@sdk/repository/Repository.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { NamedObservable } from "../helpers"; -import { LocalStorageItems } from "./types"; - -export class Repository extends NamedObservable { - protected saveItem(name: LocalStorageItems, item: string | null): void { - if (item) { - localStorage.setItem(name, item); - } else { - localStorage.removeItem(name); - } - this.notifyChange(name, item); - } - protected retrieveItem(name: LocalStorageItems): string | null { - return localStorage.getItem(name); - } - protected saveObject( - name: LocalStorageItems, - object: T | null - ): void { - if (object) { - localStorage.setItem(name, JSON.stringify(object)); - } else { - localStorage.removeItem(name); - } - this.notifyChange(name, object); - } - protected retrieveObject( - name: LocalStorageItems - ): T | null { - const item = localStorage.getItem(name); - if (item) { - return JSON.parse(item); - } - return null; - } -} diff --git a/src/@sdk/repository/index.ts b/src/@sdk/repository/index.ts deleted file mode 100644 index 6431dccc03..0000000000 --- a/src/@sdk/repository/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from "./Repository"; -export * from "./LocalRepository"; -export * from "./Checkout"; -export * from "./types"; diff --git a/src/@sdk/state/index.ts b/src/@sdk/state/index.ts index 526dc66ece..e17a4ba983 100644 --- a/src/@sdk/state/index.ts +++ b/src/@sdk/state/index.ts @@ -1,16 +1,16 @@ import { round } from "lodash"; import { DataErrorCheckoutTypes } from "../api/Checkout/types"; +import { ApolloClientManager } from "../data/ApolloClientManager"; import { NamedObservable } from "../helpers"; -import { NetworkManager } from "../network"; -import { GetShopPaymentGateways_shop_availablePaymentGateways } from "../queries/gqlTypes/GetShopPaymentGateways"; -import { ApolloErrorWithUserInput } from "../react/types"; import { ICheckoutModel, IPaymentModel, - LocalRepository, + LocalStorageHandler, LocalStorageItems, -} from "../repository"; +} from "../helpers/LocalStorageHandler"; +import { GetShopPaymentGateways_shop_availablePaymentGateways } from "../queries/gqlTypes/GetShopPaymentGateways"; +import { ApolloErrorWithUserInput } from "../react/types"; import { ISaleorState, ISaleorStateSummeryPrices, StateItems } from "./types"; export class SaleorState extends NamedObservable @@ -24,19 +24,22 @@ export class SaleorState extends NamedObservable // Should be changed it in future to shop object containing payment gateways besides all the shop data availablePaymentGateways?: GetShopPaymentGateways_shop_availablePaymentGateways[]; - private repository: LocalRepository; - private networkManager: NetworkManager; + private localStorageHandler: LocalStorageHandler; + private apolloClientManager: ApolloClientManager; - constructor(repository: LocalRepository, networkManager: NetworkManager) { + constructor( + localStorageHandler: LocalStorageHandler, + apolloClientManager: ApolloClientManager + ) { super(); - this.repository = repository; - this.networkManager = networkManager; + this.localStorageHandler = localStorageHandler; + this.apolloClientManager = apolloClientManager; - repository.subscribeToChange( + localStorageHandler.subscribeToChange( LocalStorageItems.CHECKOUT, this.onCheckoutUpdate ); - repository.subscribeToChange( + localStorageHandler.subscribeToChange( LocalStorageItems.PAYMENT, this.onPaymentUpdate ); @@ -106,24 +109,24 @@ export class SaleorState extends NamedObservable ) => any ) => { // 1. Try to take checkout from backend database - const checkout = this.repository.getCheckout(); + const checkout = this.localStorageHandler.getCheckout(); if (checkout?.token) { - const { data, error } = await this.networkManager.getCheckout( + const { data, error } = await this.apolloClientManager.getCheckout( checkout?.token ); if (error) { onError(error, DataErrorCheckoutTypes.GET_CHECKOUT); } else if (data) { - this.repository.setCheckout(data); + this.localStorageHandler.setCheckout(data); // this.updateCheckout(data); return; } } // 2. Try to take checkout from local storage - const checkoutModel: ICheckoutModel | null = this.repository.getCheckout(); + const checkoutModel: ICheckoutModel | null = this.localStorageHandler.getCheckout(); if (checkoutModel) { this.onCheckoutUpdate(checkoutModel); return; @@ -137,12 +140,12 @@ export class SaleorState extends NamedObservable } // 2. Try to take checkout from local storage - const checkoutModel: ICheckoutModel | null = this.repository.getCheckout(); + const checkoutModel: ICheckoutModel | null = this.localStorageHandler.getCheckout(); if (checkoutModel) { this.onCheckoutUpdate(checkoutModel); } else { - this.repository.setCheckout({}); + this.localStorageHandler.setCheckout({}); } }; @@ -153,12 +156,12 @@ export class SaleorState extends NamedObservable } // 2. Try to take checkout from local storage - const paymentModel: ICheckoutModel | null = this.repository.getPayment(); + const paymentModel: ICheckoutModel | null = this.localStorageHandler.getPayment(); if (paymentModel) { this.onPaymentUpdate(paymentModel); } else { - this.repository.setPayment({}); + this.localStorageHandler.setPayment({}); } }; @@ -168,7 +171,7 @@ export class SaleorState extends NamedObservable type: DataErrorCheckoutTypes ) => any ) => { - const { data, error } = await this.networkManager.getPaymentGateways(); + const { data, error } = await this.apolloClientManager.getPaymentGateways(); if (error) { onError(error, DataErrorCheckoutTypes.GET_PAYMENT_GATEWAYS); diff --git a/src/@sdk/state/types.ts b/src/@sdk/state/types.ts index 2f1901d9fe..81a1efd002 100644 --- a/src/@sdk/state/types.ts +++ b/src/@sdk/state/types.ts @@ -1,10 +1,10 @@ -import { GetShopPaymentGateways_shop_availablePaymentGateways } from "../queries/gqlTypes/GetShopPaymentGateways"; import { ICheckoutModel, ICheckoutModelPrice, ICheckoutModelPriceValue, IPaymentModel, -} from "../repository"; +} from "../helpers/LocalStorageHandler"; +import { GetShopPaymentGateways_shop_availablePaymentGateways } from "../queries/gqlTypes/GetShopPaymentGateways"; export enum StateItems { CHECKOUT, diff --git a/src/components/OverlayManager/Cart/ProductList.tsx b/src/components/OverlayManager/Cart/ProductList.tsx index 4b7f514246..b19a94e9a6 100644 --- a/src/components/OverlayManager/Cart/ProductList.tsx +++ b/src/components/OverlayManager/Cart/ProductList.tsx @@ -4,7 +4,7 @@ import ReactSVG from "react-svg"; import { TaxedMoney } from "@components/containers"; import { Thumbnail } from "@components/molecules"; -import { ICheckoutModelLine } from "@sdk/repository"; +import { ICheckoutModelLine } from "@sdk/helpers"; import { generateProductUrl } from "../../../core/utils"; import removeImg from "../../../images/garbage.svg"; diff --git a/src/components/ProductDescription/index.tsx b/src/components/ProductDescription/index.tsx index abed61c1f8..713f584ea1 100644 --- a/src/components/ProductDescription/index.tsx +++ b/src/components/ProductDescription/index.tsx @@ -11,7 +11,7 @@ import { } from "@sdk/queries/gqlTypes/ProductDetails"; import { IProductVariantsAttributesSelectedValues, ITaxedMoney } from "@types"; -import { ICheckoutModelLine } from "@sdk/repository"; +import { ICheckoutModelLine } from "@sdk/helpers"; import { TaxedMoney } from "../../@next/components/containers"; import AddToCart from "./AddToCart"; import { QuantityTextField } from "./QuantityTextField"; From 9b09cc9f37905c2c839bc2b62d80e31ef9cc2ce9 Mon Sep 17 00:00:00 2001 From: Dawid Tarasiuk Date: Wed, 13 May 2020 17:26:49 +0200 Subject: [PATCH 009/120] Remove console logs --- src/@sdk/data/ApolloClientManager/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/@sdk/data/ApolloClientManager/index.ts b/src/@sdk/data/ApolloClientManager/index.ts index d5fbbaf5ca..ff075b8e03 100644 --- a/src/@sdk/data/ApolloClientManager/index.ts +++ b/src/@sdk/data/ApolloClientManager/index.ts @@ -79,7 +79,6 @@ export class ApolloClientManager implements IApolloClientManager { getCheckout = async (checkoutToken: string | null) => { let checkout: Checkout | null; try { - console.log("g"); checkout = await new Promise((resolve, reject) => { if (this.isLoggedIn()) { const observable = this.client.watchQuery({ @@ -88,7 +87,6 @@ export class ApolloClientManager implements IApolloClientManager { }); observable.subscribe( result => { - console.log("e", result); const { data, errors } = result; if (errors?.length) { reject(errors); From 4f17b63146cd52b985f3f8aa118b813369019e37 Mon Sep 17 00:00:00 2001 From: Dawid Tarasiuk Date: Mon, 18 May 2020 11:43:28 +0200 Subject: [PATCH 010/120] Remove commented code --- src/@sdk/jobs/Checkout/CheckoutJobs.ts | 1 - src/@sdk/state/index.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/src/@sdk/jobs/Checkout/CheckoutJobs.ts b/src/@sdk/jobs/Checkout/CheckoutJobs.ts index 9965cc2fea..2a29801082 100644 --- a/src/@sdk/jobs/Checkout/CheckoutJobs.ts +++ b/src/@sdk/jobs/Checkout/CheckoutJobs.ts @@ -331,7 +331,6 @@ export class CheckoutJobs { }, }; } else { - // this.localStorageHandler.setOrder(data); this.localStorageHandler.setCheckout({}); this.localStorageHandler.setPayment({}); return { data }; diff --git a/src/@sdk/state/index.ts b/src/@sdk/state/index.ts index e17a4ba983..075a2c9eb6 100644 --- a/src/@sdk/state/index.ts +++ b/src/@sdk/state/index.ts @@ -120,7 +120,6 @@ export class SaleorState extends NamedObservable onError(error, DataErrorCheckoutTypes.GET_CHECKOUT); } else if (data) { this.localStorageHandler.setCheckout(data); - // this.updateCheckout(data); return; } } From 86bad9a03ae862b6caae20d5ef27a3fb278350da Mon Sep 17 00:00:00 2001 From: Dawid Tarasiuk Date: Mon, 18 May 2020 12:14:53 +0200 Subject: [PATCH 011/120] Add docstring to LocalStorageHandlerProxy --- .../LocalStorageHandler.ts | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts b/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts index 55ad4b4132..d35c9927b9 100644 --- a/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts +++ b/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts @@ -6,7 +6,17 @@ import { LocalStorageItems, } from "./types"; +/** + * Sets or removes data from local storage in one of the specified data format. + * If data is set to null, then it is removed from local storage. + * If needed, it stringify data for persistance in local storage or parse such data to be retrieved in desired format. + */ class LocalStorageHandlerProxy extends NamedObservable { + /** + * Save string item to local storage. + * @param name Unique key by which item is identified. + * @param item String to be saved. If null, then item is completely removed from local storage. + */ protected saveItem(name: LocalStorageItems, item: string | null): void { if (item) { localStorage.setItem(name, item); @@ -15,9 +25,18 @@ class LocalStorageHandlerProxy extends NamedObservable { } this.notifyChange(name, item); } + /** + * Retrieve string item from local storage. + * @param name Unique key by which item is identified. + */ protected retrieveItem(name: LocalStorageItems): string | null { return localStorage.getItem(name); } + /** + * Stringify object and saves it to local storage. + * @param name Unique key by which object is identified. + * @param item Object to be saved. If null, then object is completely removed from local storage. + */ protected saveObject( name: LocalStorageItems, object: T | null @@ -29,6 +48,10 @@ class LocalStorageHandlerProxy extends NamedObservable { } this.notifyChange(name, object); } + /** + * Retrieve item from local storage and parse it as object. + * @param name Unique key by which object is identified. + */ protected retrieveObject( name: LocalStorageItems ): T | null { From 40bb013eeb3e32a59d7e013935b43ccc18b09df0 Mon Sep 17 00:00:00 2001 From: Dawid Tarasiuk Date: Mon, 18 May 2020 13:21:14 +0200 Subject: [PATCH 012/120] Update graphql types --- src/@sdk/fragments/gqlTypes/OrderDetail.ts | 5 +---- src/@sdk/gqlTypes/globalTypes.ts | 3 +++ src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts | 4 +--- src/@sdk/mutations/gqlTypes/CompleteCheckout.ts | 6 +----- src/@sdk/mutations/gqlTypes/CreateCheckout.ts | 5 +---- src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts | 4 +--- src/@sdk/mutations/gqlTypes/CreateUserAddress.ts | 4 +--- src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts | 4 +--- src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts | 4 +--- .../mutations/gqlTypes/UpdateCheckoutBillingAddress.ts | 4 +--- .../gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts | 8 ++------ src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts | 9 ++------- .../mutations/gqlTypes/UpdateCheckoutShippingAddress.ts | 8 ++------ .../mutations/gqlTypes/UpdateCheckoutShippingMethod.ts | 4 +--- src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts | 4 +--- src/@sdk/queries/gqlTypes/CategoryDetails.ts | 2 +- src/@sdk/queries/gqlTypes/OrderByToken.ts | 5 +---- 17 files changed, 22 insertions(+), 61 deletions(-) diff --git a/src/@sdk/fragments/gqlTypes/OrderDetail.ts b/src/@sdk/fragments/gqlTypes/OrderDetail.ts index cd84346ad3..9fc42cf6b3 100644 --- a/src/@sdk/fragments/gqlTypes/OrderDetail.ts +++ b/src/@sdk/fragments/gqlTypes/OrderDetail.ts @@ -2,10 +2,7 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { - PaymentChargeStatusEnum, - OrderStatus, -} from "./../../gqlTypes/globalTypes"; +import { PaymentChargeStatusEnum, OrderStatus } from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL fragment: OrderDetail diff --git a/src/@sdk/gqlTypes/globalTypes.ts b/src/@sdk/gqlTypes/globalTypes.ts index 381533dea1..632cfa5cc9 100644 --- a/src/@sdk/gqlTypes/globalTypes.ts +++ b/src/@sdk/gqlTypes/globalTypes.ts @@ -359,10 +359,13 @@ export enum PaymentErrorCode { BILLING_ADDRESS_NOT_SET = "BILLING_ADDRESS_NOT_SET", GRAPHQL_ERROR = "GRAPHQL_ERROR", INVALID = "INVALID", + INVALID_SHIPPING_METHOD = "INVALID_SHIPPING_METHOD", NOT_FOUND = "NOT_FOUND", PARTIAL_PAYMENT_NOT_ALLOWED = "PARTIAL_PAYMENT_NOT_ALLOWED", PAYMENT_ERROR = "PAYMENT_ERROR", REQUIRED = "REQUIRED", + SHIPPING_ADDRESS_NOT_SET = "SHIPPING_ADDRESS_NOT_SET", + SHIPPING_METHOD_NOT_SET = "SHIPPING_METHOD_NOT_SET", UNIQUE = "UNIQUE", } diff --git a/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts b/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts index 50c8b29ed1..60996a4141 100644 --- a/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts +++ b/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts @@ -535,9 +535,7 @@ export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout { /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: - | (AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines | null)[] - | null; + lines: (AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines | null)[] | null; /** * Returns True, if checkout requires shipping. */ diff --git a/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts b/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts index da1d4a2cef..bd4695b0ca 100644 --- a/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts +++ b/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts @@ -2,11 +2,7 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { - PaymentChargeStatusEnum, - OrderStatus, - CheckoutErrorCode, -} from "./../../gqlTypes/globalTypes"; +import { CheckoutErrorCode, PaymentChargeStatusEnum, OrderStatus } from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL mutation operation: CompleteCheckout diff --git a/src/@sdk/mutations/gqlTypes/CreateCheckout.ts b/src/@sdk/mutations/gqlTypes/CreateCheckout.ts index 5a2a3a285e..d24988f334 100644 --- a/src/@sdk/mutations/gqlTypes/CreateCheckout.ts +++ b/src/@sdk/mutations/gqlTypes/CreateCheckout.ts @@ -2,10 +2,7 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { - CheckoutCreateInput, - CheckoutErrorCode, -} from "./../../gqlTypes/globalTypes"; +import { CheckoutCreateInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL mutation operation: CreateCheckout diff --git a/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts b/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts index 678b5428bd..b226ddc026 100644 --- a/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts +++ b/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts @@ -535,9 +535,7 @@ export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout { /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: - | (CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines | null)[] - | null; + lines: (CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines | null)[] | null; /** * Returns True, if checkout requires shipping. */ diff --git a/src/@sdk/mutations/gqlTypes/CreateUserAddress.ts b/src/@sdk/mutations/gqlTypes/CreateUserAddress.ts index 0c80d0c044..b4e0635c2a 100644 --- a/src/@sdk/mutations/gqlTypes/CreateUserAddress.ts +++ b/src/@sdk/mutations/gqlTypes/CreateUserAddress.ts @@ -159,9 +159,7 @@ export interface CreateUserAddress_accountAddressCreate_user { /** * List of all user's addresses. */ - addresses: - | (CreateUserAddress_accountAddressCreate_user_addresses | null)[] - | null; + addresses: (CreateUserAddress_accountAddressCreate_user_addresses | null)[] | null; } export interface CreateUserAddress_accountAddressCreate { diff --git a/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts b/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts index 20c192c0c6..b80ecbdd99 100644 --- a/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts +++ b/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts @@ -535,9 +535,7 @@ export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout { /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: - | (RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines | null)[] - | null; + lines: (RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines | null)[] | null; /** * Returns True, if checkout requires shipping. */ diff --git a/src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts b/src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts index 7ca4b1d146..9ec4ec4e70 100644 --- a/src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts +++ b/src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts @@ -159,9 +159,7 @@ export interface SetCustomerDefaultAddress_accountSetDefaultAddress_user { /** * List of all user's addresses. */ - addresses: - | (SetCustomerDefaultAddress_accountSetDefaultAddress_user_addresses | null)[] - | null; + addresses: (SetCustomerDefaultAddress_accountSetDefaultAddress_user_addresses | null)[] | null; } export interface SetCustomerDefaultAddress_accountSetDefaultAddress { diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts index 5d7e6306b5..4d1e860cf1 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts @@ -552,9 +552,7 @@ export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_check /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: - | (UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines | null)[] - | null; + lines: (UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines | null)[] | null; /** * Returns True, if checkout requires shipping. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts index 6695c3527c..9093333eeb 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts @@ -552,9 +552,7 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpd /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: - | (UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines | null)[] - | null; + lines: (UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines | null)[] | null; /** * Returns True, if checkout requires shipping. */ @@ -1101,9 +1099,7 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_check /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: - | (UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines | null)[] - | null; + lines: (UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines | null)[] | null; /** * Returns True, if checkout requires shipping. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts index 75480a8337..a8b8245e70 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts @@ -2,10 +2,7 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { - CheckoutLineInput, - CheckoutErrorCode, -} from "./../../gqlTypes/globalTypes"; +import { CheckoutLineInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL mutation operation: UpdateCheckoutLine @@ -538,9 +535,7 @@ export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout { /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: - | (UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines | null)[] - | null; + lines: (UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines | null)[] | null; /** * Returns True, if checkout requires shipping. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts index 87964c81f0..caea1320ee 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts @@ -552,9 +552,7 @@ export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_che /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: - | (UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines | null)[] - | null; + lines: (UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines | null)[] | null; /** * Returns True, if checkout requires shipping. */ @@ -1101,9 +1099,7 @@ export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout { /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: - | (UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines | null)[] - | null; + lines: (UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines | null)[] | null; /** * Returns True, if checkout requires shipping. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts index c6e42c19a3..133ed7156d 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts @@ -535,9 +535,7 @@ export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_check /** * A list of checkout lines, each containing information about an item in the checkout. */ - lines: - | (UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines | null)[] - | null; + lines: (UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines | null)[] | null; /** * Returns True, if checkout requires shipping. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts index 7885dce881..a1e5763c93 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts @@ -159,9 +159,7 @@ export interface UpdateUserAddress_accountAddressUpdate_user { /** * List of all user's addresses. */ - addresses: - | (UpdateUserAddress_accountAddressUpdate_user_addresses | null)[] - | null; + addresses: (UpdateUserAddress_accountAddressUpdate_user_addresses | null)[] | null; } export interface UpdateUserAddress_accountAddressUpdate { diff --git a/src/@sdk/queries/gqlTypes/CategoryDetails.ts b/src/@sdk/queries/gqlTypes/CategoryDetails.ts index e1df0e16c4..6cd087a480 100644 --- a/src/@sdk/queries/gqlTypes/CategoryDetails.ts +++ b/src/@sdk/queries/gqlTypes/CategoryDetails.ts @@ -54,7 +54,7 @@ export interface CategoryDetails_category { export interface CategoryDetails { /** - * Look up a category by ID. + * Look up a category by ID or slug. */ category: CategoryDetails_category | null; } diff --git a/src/@sdk/queries/gqlTypes/OrderByToken.ts b/src/@sdk/queries/gqlTypes/OrderByToken.ts index ce1434aab5..6823e79094 100644 --- a/src/@sdk/queries/gqlTypes/OrderByToken.ts +++ b/src/@sdk/queries/gqlTypes/OrderByToken.ts @@ -2,10 +2,7 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { - PaymentChargeStatusEnum, - OrderStatus, -} from "./../../gqlTypes/globalTypes"; +import { PaymentChargeStatusEnum, OrderStatus } from "./../../gqlTypes/globalTypes"; // ==================================================== // GraphQL query operation: OrderByToken From fbc21fad9e72eee5736742dbb20d80dd40816ebc Mon Sep 17 00:00:00 2001 From: Dawid Tarasiuk Date: Wed, 20 May 2020 11:54:25 +0200 Subject: [PATCH 013/120] Update checkout errors types --- src/@sdk/data/ApolloClientManager/index.ts | 48 +++++++++---------- src/@sdk/mutations/checkout.ts | 24 +++++----- .../gqlTypes/AddCheckoutPromoCode.ts | 4 +- .../mutations/gqlTypes/CompleteCheckout.ts | 4 +- src/@sdk/mutations/gqlTypes/CreateCheckout.ts | 4 +- .../gqlTypes/CreateCheckoutPayment.ts | 4 +- .../gqlTypes/RemoveCheckoutPromoCode.ts | 4 +- .../gqlTypes/UpdateCheckoutBillingAddress.ts | 4 +- .../UpdateCheckoutBillingAddressWithEmail.ts | 8 ++-- .../mutations/gqlTypes/UpdateCheckoutLine.ts | 4 +- .../gqlTypes/UpdateCheckoutShippingAddress.ts | 8 ++-- .../gqlTypes/UpdateCheckoutShippingMethod.ts | 4 +- 12 files changed, 60 insertions(+), 60 deletions(-) diff --git a/src/@sdk/data/ApolloClientManager/index.ts b/src/@sdk/data/ApolloClientManager/index.ts index ff075b8e03..9c3eccd221 100644 --- a/src/@sdk/data/ApolloClientManager/index.ts +++ b/src/@sdk/data/ApolloClientManager/index.ts @@ -342,9 +342,9 @@ export class ApolloClientManager implements IApolloClientManager { return { error: errors, }; - } else if (data?.checkoutCreate?.checkoutErrors.length) { + } else if (data?.checkoutCreate?.errors.length) { return { - error: data?.checkoutCreate?.checkoutErrors, + error: data?.checkoutCreate?.errors, }; } else if (data?.checkoutCreate?.checkout) { return { @@ -385,9 +385,9 @@ export class ApolloClientManager implements IApolloClientManager { return { error: errors, }; - } else if (data?.checkoutLinesUpdate?.checkoutErrors.length) { + } else if (data?.checkoutLinesUpdate?.errors.length) { return { - error: data?.checkoutLinesUpdate?.checkoutErrors, + error: data?.checkoutLinesUpdate?.errors, }; } else if (data?.checkoutLinesUpdate?.checkout) { return { @@ -442,13 +442,13 @@ export class ApolloClientManager implements IApolloClientManager { return { error: errors, }; - } else if (data?.checkoutEmailUpdate?.checkoutErrors.length) { + } else if (data?.checkoutEmailUpdate?.errors.length) { return { - error: data?.checkoutEmailUpdate?.checkoutErrors, + error: data?.checkoutEmailUpdate?.errors, }; - } else if (data?.checkoutShippingAddressUpdate?.checkoutErrors.length) { + } else if (data?.checkoutShippingAddressUpdate?.errors.length) { return { - error: data?.checkoutShippingAddressUpdate?.checkoutErrors, + error: data?.checkoutShippingAddressUpdate?.errors, }; } else if (data?.checkoutShippingAddressUpdate?.checkout) { return { @@ -501,9 +501,9 @@ export class ApolloClientManager implements IApolloClientManager { return { error: errors, }; - } else if (data?.checkoutBillingAddressUpdate?.checkoutErrors.length) { + } else if (data?.checkoutBillingAddressUpdate?.errors.length) { return { - error: data?.checkoutBillingAddressUpdate?.checkoutErrors, + error: data?.checkoutBillingAddressUpdate?.errors, }; } else if (data?.checkoutBillingAddressUpdate?.checkout) { return { @@ -559,13 +559,13 @@ export class ApolloClientManager implements IApolloClientManager { return { error: errors, }; - } else if (data?.checkoutEmailUpdate?.checkoutErrors.length) { + } else if (data?.checkoutEmailUpdate?.errors.length) { return { - error: data?.checkoutEmailUpdate?.checkoutErrors, + error: data?.checkoutEmailUpdate?.errors, }; - } else if (data?.checkoutBillingAddressUpdate?.checkoutErrors.length) { + } else if (data?.checkoutBillingAddressUpdate?.errors.length) { return { - error: data?.checkoutBillingAddressUpdate?.checkoutErrors, + error: data?.checkoutBillingAddressUpdate?.errors, }; } else if (data?.checkoutBillingAddressUpdate?.checkout) { return { @@ -600,9 +600,9 @@ export class ApolloClientManager implements IApolloClientManager { return { error: errors, }; - } else if (data?.checkoutShippingMethodUpdate?.checkoutErrors.length) { + } else if (data?.checkoutShippingMethodUpdate?.errors.length) { return { - error: data?.checkoutShippingMethodUpdate?.checkoutErrors, + error: data?.checkoutShippingMethodUpdate?.errors, }; } else if (data?.checkoutShippingMethodUpdate?.checkout) { return { @@ -634,9 +634,9 @@ export class ApolloClientManager implements IApolloClientManager { return { error: errors, }; - } else if (data?.checkoutAddPromoCode?.checkoutErrors.length) { + } else if (data?.checkoutAddPromoCode?.errors.length) { return { - error: data?.checkoutAddPromoCode?.checkoutErrors, + error: data?.checkoutAddPromoCode?.errors, }; } else if (data?.checkoutAddPromoCode?.checkout) { return { @@ -666,9 +666,9 @@ export class ApolloClientManager implements IApolloClientManager { return { error: errors, }; - } else if (data?.checkoutRemovePromoCode?.checkoutErrors.length) { + } else if (data?.checkoutRemovePromoCode?.errors.length) { return { - error: data?.checkoutRemovePromoCode?.checkoutErrors, + error: data?.checkoutRemovePromoCode?.errors, }; } else if (data?.checkoutRemovePromoCode?.checkout) { return { @@ -729,9 +729,9 @@ export class ApolloClientManager implements IApolloClientManager { return { error: errors, }; - } else if (data?.checkoutPaymentCreate?.paymentErrors.length) { + } else if (data?.checkoutPaymentCreate?.errors.length) { return { - error: data?.checkoutPaymentCreate?.paymentErrors, + error: data?.checkoutPaymentCreate?.errors, }; } else if (data?.checkoutPaymentCreate?.payment) { return { @@ -761,9 +761,9 @@ export class ApolloClientManager implements IApolloClientManager { return { error: errors, }; - } else if (data?.checkoutComplete?.checkoutErrors.length) { + } else if (data?.checkoutComplete?.errors.length) { return { - error: data?.checkoutComplete?.checkoutErrors, + error: data?.checkoutComplete?.errors, }; } else if (data?.checkoutComplete?.order) { return { diff --git a/src/@sdk/mutations/checkout.ts b/src/@sdk/mutations/checkout.ts index aaf78305fd..749ef56cb3 100644 --- a/src/@sdk/mutations/checkout.ts +++ b/src/@sdk/mutations/checkout.ts @@ -11,7 +11,7 @@ export const updateCheckoutLineMutation = gql` checkout { ...Checkout } - checkoutErrors { + errors: checkoutErrors { code field message @@ -24,7 +24,7 @@ export const createCheckoutMutation = gql` ${checkoutFragment} mutation CreateCheckout($checkoutInput: CheckoutCreateInput!) { checkoutCreate(input: $checkoutInput) { - checkoutErrors { + errors: checkoutErrors { code field message @@ -47,7 +47,7 @@ export const updateCheckoutBillingAddressWithEmailMutation = gql` checkoutId: $checkoutId billingAddress: $billingAddress ) { - checkoutErrors { + errors: checkoutErrors { code field message @@ -60,7 +60,7 @@ export const updateCheckoutBillingAddressWithEmailMutation = gql` checkout { ...Checkout } - checkoutErrors { + errors: checkoutErrors { code field message @@ -79,7 +79,7 @@ export const updateCheckoutBillingAddressMutation = gql` checkoutId: $checkoutId billingAddress: $billingAddress ) { - checkoutErrors { + errors: checkoutErrors { code field message @@ -102,7 +102,7 @@ export const updateCheckoutShippingAddressMutation = gql` checkoutId: $checkoutId shippingAddress: $shippingAddress ) { - checkoutErrors { + errors: checkoutErrors { code field message @@ -115,7 +115,7 @@ export const updateCheckoutShippingAddressMutation = gql` checkout { ...Checkout } - checkoutErrors { + errors: checkoutErrors { code field message @@ -137,7 +137,7 @@ export const updateCheckoutShippingMethodMutation = gql` checkout { ...Checkout } - checkoutErrors { + errors: checkoutErrors { code field message @@ -153,7 +153,7 @@ export const addCheckoutPromoCode = gql` checkout { ...Checkout } - checkoutErrors { + errors: checkoutErrors { code field message @@ -169,7 +169,7 @@ export const removeCheckoutPromoCode = gql` checkout { ...Checkout } - checkoutErrors { + errors: checkoutErrors { code field message @@ -192,7 +192,7 @@ export const createCheckoutPaymentMutation = gql` payment { ...Payment } - paymentErrors { + errors: paymentErrors { code field message @@ -205,7 +205,7 @@ export const completeCheckoutMutation = gql` ${orderDetailFragment} mutation CompleteCheckout($checkoutId: ID!) { checkoutComplete(checkoutId: $checkoutId) { - checkoutErrors { + errors: checkoutErrors { code field message diff --git a/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts b/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts index 60996a4141..6eeb22c380 100644 --- a/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts +++ b/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts @@ -546,7 +546,7 @@ export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout { voucherCode: string | null; } -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkoutErrors { +export interface AddCheckoutPromoCode_checkoutAddPromoCode_errors { __typename: "CheckoutError"; /** * The error code. @@ -569,7 +569,7 @@ export interface AddCheckoutPromoCode_checkoutAddPromoCode { * The checkout with the added gift card or voucher. */ checkout: AddCheckoutPromoCode_checkoutAddPromoCode_checkout | null; - checkoutErrors: AddCheckoutPromoCode_checkoutAddPromoCode_checkoutErrors[]; + errors: AddCheckoutPromoCode_checkoutAddPromoCode_errors[]; } export interface AddCheckoutPromoCode { diff --git a/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts b/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts index bd4695b0ca..ad96797db5 100644 --- a/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts +++ b/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts @@ -8,7 +8,7 @@ import { CheckoutErrorCode, PaymentChargeStatusEnum, OrderStatus } from "./../.. // GraphQL mutation operation: CompleteCheckout // ==================================================== -export interface CompleteCheckout_checkoutComplete_checkoutErrors { +export interface CompleteCheckout_checkoutComplete_errors { __typename: "CheckoutError"; /** * The error code. @@ -475,7 +475,7 @@ export interface CompleteCheckout_checkoutComplete_order { export interface CompleteCheckout_checkoutComplete { __typename: "CheckoutComplete"; - checkoutErrors: CompleteCheckout_checkoutComplete_checkoutErrors[]; + errors: CompleteCheckout_checkoutComplete_errors[]; /** * Placed order. */ diff --git a/src/@sdk/mutations/gqlTypes/CreateCheckout.ts b/src/@sdk/mutations/gqlTypes/CreateCheckout.ts index d24988f334..add25f4dcb 100644 --- a/src/@sdk/mutations/gqlTypes/CreateCheckout.ts +++ b/src/@sdk/mutations/gqlTypes/CreateCheckout.ts @@ -8,7 +8,7 @@ import { CheckoutCreateInput, CheckoutErrorCode } from "./../../gqlTypes/globalT // GraphQL mutation operation: CreateCheckout // ==================================================== -export interface CreateCheckout_checkoutCreate_checkoutErrors { +export interface CreateCheckout_checkoutCreate_errors { __typename: "CheckoutError"; /** * The error code. @@ -565,7 +565,7 @@ export interface CreateCheckout_checkoutCreate_checkout { export interface CreateCheckout_checkoutCreate { __typename: "CheckoutCreate"; - checkoutErrors: CreateCheckout_checkoutCreate_checkoutErrors[]; + errors: CreateCheckout_checkoutCreate_errors[]; checkout: CreateCheckout_checkoutCreate_checkout | null; } diff --git a/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts b/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts index b226ddc026..d963655aae 100644 --- a/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts +++ b/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts @@ -584,7 +584,7 @@ export interface CreateCheckoutPayment_checkoutPaymentCreate_payment { creditCard: CreateCheckoutPayment_checkoutPaymentCreate_payment_creditCard | null; } -export interface CreateCheckoutPayment_checkoutPaymentCreate_paymentErrors { +export interface CreateCheckoutPayment_checkoutPaymentCreate_errors { __typename: "PaymentError"; /** * The error code. @@ -611,7 +611,7 @@ export interface CreateCheckoutPayment_checkoutPaymentCreate { * A newly created payment. */ payment: CreateCheckoutPayment_checkoutPaymentCreate_payment | null; - paymentErrors: CreateCheckoutPayment_checkoutPaymentCreate_paymentErrors[]; + errors: CreateCheckoutPayment_checkoutPaymentCreate_errors[]; } export interface CreateCheckoutPayment { diff --git a/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts b/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts index b80ecbdd99..7f6238b70e 100644 --- a/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts +++ b/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts @@ -546,7 +546,7 @@ export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout { voucherCode: string | null; } -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkoutErrors { +export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_errors { __typename: "CheckoutError"; /** * The error code. @@ -569,7 +569,7 @@ export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode { * The checkout with the removed gift card or voucher. */ checkout: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout | null; - checkoutErrors: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkoutErrors[]; + errors: RemoveCheckoutPromoCode_checkoutRemovePromoCode_errors[]; } export interface RemoveCheckoutPromoCode { diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts index 4d1e860cf1..1cc6a1fb75 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts @@ -8,7 +8,7 @@ import { AddressInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; // GraphQL mutation operation: UpdateCheckoutBillingAddress // ==================================================== -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkoutErrors { +export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_errors { __typename: "CheckoutError"; /** * The error code. @@ -565,7 +565,7 @@ export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_check export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate { __typename: "CheckoutBillingAddressUpdate"; - checkoutErrors: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkoutErrors[]; + errors: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_errors[]; /** * An updated checkout. */ diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts index 9093333eeb..8e17a7d51e 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts @@ -8,7 +8,7 @@ import { AddressInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; // GraphQL mutation operation: UpdateCheckoutBillingAddressWithEmail // ==================================================== -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkoutErrors { +export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_errors { __typename: "CheckoutError"; /** * The error code. @@ -565,7 +565,7 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpd export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate { __typename: "CheckoutBillingAddressUpdate"; - checkoutErrors: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkoutErrors[]; + errors: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_errors[]; /** * An updated checkout. */ @@ -1110,7 +1110,7 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_check voucherCode: string | null; } -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkoutErrors { +export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_errors { __typename: "CheckoutError"; /** * The error code. @@ -1133,7 +1133,7 @@ export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate { * An updated checkout. */ checkout: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout | null; - checkoutErrors: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkoutErrors[]; + errors: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_errors[]; } export interface UpdateCheckoutBillingAddressWithEmail { diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts index a8b8245e70..4abec5c486 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts @@ -546,7 +546,7 @@ export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout { voucherCode: string | null; } -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkoutErrors { +export interface UpdateCheckoutLine_checkoutLinesUpdate_errors { __typename: "CheckoutError"; /** * The error code. @@ -569,7 +569,7 @@ export interface UpdateCheckoutLine_checkoutLinesUpdate { * An updated checkout. */ checkout: UpdateCheckoutLine_checkoutLinesUpdate_checkout | null; - checkoutErrors: UpdateCheckoutLine_checkoutLinesUpdate_checkoutErrors[]; + errors: UpdateCheckoutLine_checkoutLinesUpdate_errors[]; } export interface UpdateCheckoutLine { diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts index caea1320ee..922eb677c0 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts @@ -8,7 +8,7 @@ import { AddressInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; // GraphQL mutation operation: UpdateCheckoutShippingAddress // ==================================================== -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkoutErrors { +export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_errors { __typename: "CheckoutError"; /** * The error code. @@ -565,7 +565,7 @@ export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_che export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate { __typename: "CheckoutShippingAddressUpdate"; - checkoutErrors: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkoutErrors[]; + errors: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_errors[]; /** * An updated checkout. */ @@ -1110,7 +1110,7 @@ export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout { voucherCode: string | null; } -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkoutErrors { +export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_errors { __typename: "CheckoutError"; /** * The error code. @@ -1133,7 +1133,7 @@ export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate { * An updated checkout. */ checkout: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout | null; - checkoutErrors: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkoutErrors[]; + errors: UpdateCheckoutShippingAddress_checkoutEmailUpdate_errors[]; } export interface UpdateCheckoutShippingAddress { diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts index 133ed7156d..d66ededa07 100644 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts +++ b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts @@ -546,7 +546,7 @@ export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_check voucherCode: string | null; } -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkoutErrors { +export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_errors { __typename: "CheckoutError"; /** * The error code. @@ -569,7 +569,7 @@ export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate { * An updated checkout. */ checkout: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout | null; - checkoutErrors: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkoutErrors[]; + errors: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_errors[]; } export interface UpdateCheckoutShippingMethod { From 687411b75858b0b22fafee7a536efb089fe29302 Mon Sep 17 00:00:00 2001 From: Dawid Tarasiuk Date: Wed, 20 May 2020 12:33:37 +0200 Subject: [PATCH 014/120] Make errors as fragment --- src/@sdk/fragments/checkout.ts | 8 +++ src/@sdk/fragments/gqlTypes/CheckoutError.ts | 26 +++++++++ src/@sdk/fragments/gqlTypes/PaymentError.ts | 26 +++++++++ src/@sdk/fragments/payment.ts | 8 +++ src/@sdk/mutations/checkout.ts | 58 ++++++++------------ 5 files changed, 91 insertions(+), 35 deletions(-) create mode 100644 src/@sdk/fragments/gqlTypes/CheckoutError.ts create mode 100644 src/@sdk/fragments/gqlTypes/PaymentError.ts diff --git a/src/@sdk/fragments/checkout.ts b/src/@sdk/fragments/checkout.ts index d4c25cea1f..2ca8eb6998 100644 --- a/src/@sdk/fragments/checkout.ts +++ b/src/@sdk/fragments/checkout.ts @@ -1,5 +1,13 @@ import gql from "graphql-tag"; +export const checkoutErrorFragment = gql` + fragment CheckoutError on CheckoutError { + code + field + message + } +`; + export const checkoutPriceFragment = gql` fragment Price on TaxedMoney { gross { diff --git a/src/@sdk/fragments/gqlTypes/CheckoutError.ts b/src/@sdk/fragments/gqlTypes/CheckoutError.ts new file mode 100644 index 0000000000..17afedca0b --- /dev/null +++ b/src/@sdk/fragments/gqlTypes/CheckoutError.ts @@ -0,0 +1,26 @@ +/* tslint:disable */ +/* eslint-disable */ +// This file was automatically generated and should not be edited. + +import { CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; + +// ==================================================== +// GraphQL fragment: CheckoutError +// ==================================================== + +export interface CheckoutError { + __typename: "CheckoutError"; + /** + * The error code. + */ + code: CheckoutErrorCode; + /** + * Name of a field that caused the error. A value of `null` indicates that the + * error isn't associated with a particular field. + */ + field: string | null; + /** + * The error message. + */ + message: string | null; +} diff --git a/src/@sdk/fragments/gqlTypes/PaymentError.ts b/src/@sdk/fragments/gqlTypes/PaymentError.ts new file mode 100644 index 0000000000..c50146f610 --- /dev/null +++ b/src/@sdk/fragments/gqlTypes/PaymentError.ts @@ -0,0 +1,26 @@ +/* tslint:disable */ +/* eslint-disable */ +// This file was automatically generated and should not be edited. + +import { PaymentErrorCode } from "./../../gqlTypes/globalTypes"; + +// ==================================================== +// GraphQL fragment: PaymentError +// ==================================================== + +export interface PaymentError { + __typename: "PaymentError"; + /** + * The error code. + */ + code: PaymentErrorCode; + /** + * Name of a field that caused the error. A value of `null` indicates that the + * error isn't associated with a particular field. + */ + field: string | null; + /** + * The error message. + */ + message: string | null; +} diff --git a/src/@sdk/fragments/payment.ts b/src/@sdk/fragments/payment.ts index 4efbbaab28..b75591eda7 100644 --- a/src/@sdk/fragments/payment.ts +++ b/src/@sdk/fragments/payment.ts @@ -14,3 +14,11 @@ export const paymentFragment = gql` } } `; + +export const paymentErrorFragment = gql` + fragment PaymentError on PaymentError { + code + field + message + } +`; diff --git a/src/@sdk/mutations/checkout.ts b/src/@sdk/mutations/checkout.ts index 749ef56cb3..9a57295ed0 100644 --- a/src/@sdk/mutations/checkout.ts +++ b/src/@sdk/mutations/checkout.ts @@ -1,20 +1,19 @@ import gql from "graphql-tag"; -import { checkoutFragment } from "../fragments/checkout"; -import { paymentFragment } from "../fragments/payment"; +import { checkoutErrorFragment, checkoutFragment } from "../fragments/checkout"; +import { paymentErrorFragment, paymentFragment } from "../fragments/payment"; import { orderDetailFragment } from "../fragments/user"; export const updateCheckoutLineMutation = gql` ${checkoutFragment} + ${checkoutErrorFragment} mutation UpdateCheckoutLine($checkoutId: ID!, $lines: [CheckoutLineInput]!) { checkoutLinesUpdate(checkoutId: $checkoutId, lines: $lines) { checkout { ...Checkout } errors: checkoutErrors { - code - field - message + ...CheckoutError } } } @@ -22,12 +21,11 @@ export const updateCheckoutLineMutation = gql` export const createCheckoutMutation = gql` ${checkoutFragment} + ${checkoutErrorFragment} mutation CreateCheckout($checkoutInput: CheckoutCreateInput!) { checkoutCreate(input: $checkoutInput) { errors: checkoutErrors { - code - field - message + ...CheckoutError } checkout { ...Checkout @@ -38,6 +36,7 @@ export const createCheckoutMutation = gql` export const updateCheckoutBillingAddressWithEmailMutation = gql` ${checkoutFragment} + ${checkoutErrorFragment} mutation UpdateCheckoutBillingAddressWithEmail( $checkoutId: ID! $billingAddress: AddressInput! @@ -48,9 +47,7 @@ export const updateCheckoutBillingAddressWithEmailMutation = gql` billingAddress: $billingAddress ) { errors: checkoutErrors { - code - field - message + ...CheckoutError } checkout { ...Checkout @@ -71,6 +68,7 @@ export const updateCheckoutBillingAddressWithEmailMutation = gql` export const updateCheckoutBillingAddressMutation = gql` ${checkoutFragment} + ${checkoutErrorFragment} mutation UpdateCheckoutBillingAddress( $checkoutId: ID! $billingAddress: AddressInput! @@ -80,9 +78,7 @@ export const updateCheckoutBillingAddressMutation = gql` billingAddress: $billingAddress ) { errors: checkoutErrors { - code - field - message + ...CheckoutError } checkout { ...Checkout @@ -93,6 +89,7 @@ export const updateCheckoutBillingAddressMutation = gql` export const updateCheckoutShippingAddressMutation = gql` ${checkoutFragment} + ${checkoutErrorFragment} mutation UpdateCheckoutShippingAddress( $checkoutId: ID! $shippingAddress: AddressInput! @@ -103,9 +100,7 @@ export const updateCheckoutShippingAddressMutation = gql` shippingAddress: $shippingAddress ) { errors: checkoutErrors { - code - field - message + ...CheckoutError } checkout { ...Checkout @@ -116,9 +111,7 @@ export const updateCheckoutShippingAddressMutation = gql` ...Checkout } errors: checkoutErrors { - code - field - message + ...CheckoutError } } } @@ -126,6 +119,7 @@ export const updateCheckoutShippingAddressMutation = gql` export const updateCheckoutShippingMethodMutation = gql` ${checkoutFragment} + ${checkoutErrorFragment} mutation UpdateCheckoutShippingMethod( $checkoutId: ID! $shippingMethodId: ID! @@ -138,9 +132,7 @@ export const updateCheckoutShippingMethodMutation = gql` ...Checkout } errors: checkoutErrors { - code - field - message + ...CheckoutError } } } @@ -148,15 +140,14 @@ export const updateCheckoutShippingMethodMutation = gql` export const addCheckoutPromoCode = gql` ${checkoutFragment} + ${checkoutErrorFragment} mutation AddCheckoutPromoCode($checkoutId: ID!, $promoCode: String!) { checkoutAddPromoCode(checkoutId: $checkoutId, promoCode: $promoCode) { checkout { ...Checkout } errors: checkoutErrors { - code - field - message + ...CheckoutError } } } @@ -164,15 +155,14 @@ export const addCheckoutPromoCode = gql` export const removeCheckoutPromoCode = gql` ${checkoutFragment} + ${checkoutErrorFragment} mutation RemoveCheckoutPromoCode($checkoutId: ID!, $promoCode: String!) { checkoutRemovePromoCode(checkoutId: $checkoutId, promoCode: $promoCode) { checkout { ...Checkout } errors: checkoutErrors { - code - field - message + ...CheckoutError } } } @@ -181,6 +171,7 @@ export const removeCheckoutPromoCode = gql` export const createCheckoutPaymentMutation = gql` ${checkoutFragment} ${paymentFragment} + ${paymentErrorFragment} mutation CreateCheckoutPayment( $checkoutId: ID! $paymentInput: PaymentInput! @@ -193,9 +184,7 @@ export const createCheckoutPaymentMutation = gql` ...Payment } errors: paymentErrors { - code - field - message + ...PaymentError } } } @@ -203,12 +192,11 @@ export const createCheckoutPaymentMutation = gql` export const completeCheckoutMutation = gql` ${orderDetailFragment} + ${checkoutErrorFragment} mutation CompleteCheckout($checkoutId: ID!) { checkoutComplete(checkoutId: $checkoutId) { errors: checkoutErrors { - code - field - message + ...CheckoutError } order { ...OrderDetail From 32c0f10bcb8d8b3fe6e3992b493d1ddba49ba794 Mon Sep 17 00:00:00 2001 From: Dawid Tarasiuk Date: Wed, 20 May 2020 12:45:41 +0200 Subject: [PATCH 015/120] Fix cypress types --- src/views/Product/types.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/Product/types.ts b/src/views/Product/types.ts index 16c73cabf2..1a8dc7dd23 100644 --- a/src/views/Product/types.ts +++ b/src/views/Product/types.ts @@ -1,4 +1,5 @@ -import { ICheckoutModelLine } from "@sdk/repository"; +import { ICheckoutModelLine } from "@sdk/helpers"; + import { ProductDetails_product } from "./gqlTypes/ProductDetails"; export interface IProps { From ef92ffe08f87c726bb8335e7639aed13138ab732 Mon Sep 17 00:00:00 2001 From: Dawid Tarasiuk Date: Wed, 20 May 2020 13:04:07 +0200 Subject: [PATCH 016/120] Create type for localstorage jobs object --- package-lock.json | 625 +++++++++++------- package.json | 2 +- .../LocalStorageHandler.ts | 7 +- src/@sdk/helpers/LocalStorageHandler/types.ts | 2 + 4 files changed, 383 insertions(+), 253 deletions(-) diff --git a/package-lock.json b/package-lock.json index 586eb8941e..7cd48637f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3518,7 +3518,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -3539,12 +3540,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3559,17 +3562,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -3686,7 +3692,8 @@ "inherits": { "version": "2.0.4", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -3698,6 +3705,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3712,6 +3720,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3719,12 +3728,14 @@ "minimist": { "version": "1.2.5", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.9.0", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3743,6 +3754,7 @@ "version": "0.5.3", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "^1.2.5" } @@ -3804,7 +3816,8 @@ "npm-normalize-package-bin": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "npm-packlist": { "version": "1.4.8", @@ -3832,7 +3845,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -3844,6 +3858,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -3921,7 +3936,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -3957,6 +3973,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3976,6 +3993,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4019,12 +4037,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -6079,7 +6099,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -6100,12 +6121,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6120,17 +6143,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -6247,7 +6273,8 @@ "inherits": { "version": "2.0.4", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -6259,6 +6286,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6273,6 +6301,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6280,12 +6309,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.9.0", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -6304,6 +6335,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -6393,7 +6425,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -6405,6 +6438,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -6490,7 +6524,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -6526,6 +6561,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -6545,6 +6581,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -6588,12 +6625,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -7013,7 +7052,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -7034,12 +7074,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7054,17 +7096,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -7181,7 +7226,8 @@ "inherits": { "version": "2.0.4", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -7193,6 +7239,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -7207,6 +7254,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -7214,12 +7262,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.9.0", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -7238,6 +7288,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -7327,7 +7378,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -7339,6 +7391,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -7424,7 +7477,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -7460,6 +7514,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -7479,6 +7534,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -7522,12 +7578,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -12641,7 +12699,7 @@ }, "ansi-escapes": { "version": "3.1.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" }, "ansi-html": { @@ -14100,7 +14158,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "^2.2.1", @@ -14175,7 +14233,7 @@ }, "babel-helper-is-nodes-equiv": { "version": "0.0.1", - "resolved": "http://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", "dev": true }, @@ -14557,17 +14615,17 @@ }, "babel-plugin-syntax-class-properties": { "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", "dev": true }, @@ -14875,8 +14933,7 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "resolved": "", "dev": true } } @@ -15140,7 +15197,7 @@ }, "bl": { "version": "1.2.2", - "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "dev": true, "requires": { @@ -15464,7 +15521,7 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { @@ -15501,7 +15558,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -15569,7 +15626,7 @@ }, "buffer": { "version": "4.9.1", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { @@ -15905,7 +15962,7 @@ }, "camelcase-keys": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { @@ -16192,7 +16249,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -16213,12 +16271,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -16233,17 +16293,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -16360,7 +16423,8 @@ "inherits": { "version": "2.0.4", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -16372,6 +16436,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -16386,6 +16451,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -16393,12 +16459,14 @@ "minimist": { "version": "1.2.5", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.9.0", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -16417,6 +16485,7 @@ "version": "0.5.3", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "^1.2.5" } @@ -16478,7 +16547,8 @@ "npm-normalize-package-bin": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "npm-packlist": { "version": "1.4.8", @@ -16506,7 +16576,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -16518,6 +16589,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -16595,7 +16667,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -16631,6 +16704,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -16650,6 +16724,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -16693,12 +16768,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -17224,7 +17301,7 @@ }, "color": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/color/-/color-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz", "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=", "dev": true, "requires": { @@ -17743,7 +17820,7 @@ }, "create-hash": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { @@ -17756,7 +17833,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { @@ -17903,7 +17980,7 @@ }, "css-select": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { @@ -18626,7 +18703,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -18766,7 +18843,7 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { @@ -18860,7 +18937,7 @@ "dependencies": { "domelementtype": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", "dev": true } @@ -19034,7 +19111,7 @@ }, "duplexer": { "version": "0.1.1", - "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", "dev": true }, @@ -20323,8 +20400,7 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "resolved": "", "dev": true } } @@ -21296,7 +21372,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "get-value": { @@ -21524,12 +21600,6 @@ "global-prefix": "^3.0.0" } }, - "global-modules-path": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.1.tgz", - "integrity": "sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg==", - "dev": true - }, "global-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", @@ -22105,7 +22175,7 @@ }, "html-webpack-plugin": { "version": "3.2.0", - "resolved": "http://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", "dev": true, "requires": { @@ -22120,7 +22190,7 @@ "dependencies": { "json5": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, @@ -22140,7 +22210,7 @@ }, "htmlparser2": { "version": "3.3.0", - "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", "dev": true, "requires": { @@ -22161,7 +22231,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -22173,7 +22243,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } @@ -22244,9 +22314,9 @@ "dev": true }, "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { "eventemitter3": "^4.0.0", @@ -22470,7 +22540,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -23259,7 +23329,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -23493,7 +23563,7 @@ }, "is-obj": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" }, "is-object": { @@ -24530,7 +24600,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -24551,12 +24622,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -24571,17 +24644,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -24698,7 +24774,8 @@ "inherits": { "version": "2.0.4", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -24710,6 +24787,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -24724,6 +24802,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -24731,12 +24810,14 @@ "minimist": { "version": "1.2.5", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.9.0", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -24755,6 +24836,7 @@ "version": "0.5.3", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "^1.2.5" } @@ -24816,7 +24898,8 @@ "npm-normalize-package-bin": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "npm-packlist": { "version": "1.4.8", @@ -24844,7 +24927,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -24856,6 +24940,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -24933,7 +25018,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -24969,6 +25055,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -24988,6 +25075,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -25031,12 +25119,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -26917,7 +27007,7 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { @@ -27007,7 +27097,7 @@ }, "kew": { "version": "0.7.0", - "resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", "dev": true }, @@ -28047,7 +28137,7 @@ "dependencies": { "json5": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true } @@ -28693,7 +28783,7 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { @@ -28733,7 +28823,7 @@ }, "meow": { "version": "3.7.0", - "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { @@ -29380,7 +29470,7 @@ "dependencies": { "semver": { "version": "5.3.0", - "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", "dev": true }, @@ -29871,7 +29961,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -30707,7 +30797,7 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { "lcid": "^1.0.0" @@ -30780,7 +30870,7 @@ }, "p-is-promise": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" }, "p-limit": { @@ -31056,7 +31146,7 @@ }, "parse-asn1": { "version": "5.1.1", - "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { @@ -31329,7 +31419,7 @@ "dependencies": { "fs-extra": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "dev": true, "requires": { @@ -32039,7 +32129,7 @@ }, "postcss-custom-properties": { "version": "7.0.0", - "resolved": "http://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-7.0.0.tgz", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-7.0.0.tgz", "integrity": "sha512-dl/CNaM6z2RBa0vZZqsV6Hunj4HD6Spu7FcAkiVp5B2tgm6xReKKYzI7x7QNx3wTMBNj5v+ylfVcQGMW4xdkHw==", "dev": true, "requires": { @@ -32214,7 +32304,7 @@ }, "postcss-focus-visible": { "version": "3.0.0", - "resolved": "http://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-3.0.0.tgz", "integrity": "sha512-6i3HsOrWNelxBYPh/HWAXF9lPwCFAfFVlUTZqsLRXYMPhcXH1eXdItozRBvT9l5pYF4ddJJbgk4JOp0au0QToA==", "dev": true, "requires": { @@ -32242,7 +32332,7 @@ }, "postcss-focus-within": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-2.0.0.tgz", "integrity": "sha512-LTbT/dxZ3FahpOv1XZMyRLNnBk5QWVU4HL/p82iFkzoPNVhNQazaYIujHXTOAKea5clgjbj6GdFj7mU7qzy1kQ==", "dev": true, "requires": { @@ -32507,7 +32597,7 @@ }, "postcss-logical": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/postcss-logical/-/postcss-logical-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-1.1.1.tgz", "integrity": "sha512-ZJgyLJlp3uPKae9+6sJKFjD06UZzb/m3M1LPeHsaBMvvyatcNWwCfOZVIq00fJdxUqa9QeuQO6RZElKmRdWMEg==", "dev": true, "requires": { @@ -32740,7 +32830,7 @@ }, "postcss-page-break": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/postcss-page-break/-/postcss-page-break-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-1.0.0.tgz", "integrity": "sha512-FgjJ7q/cQFbfQFdmm15XDu+DjNb6Tcn7LYm+o1CxyHV5p6pCm0jkRhuU+PF6FaMrSTfy5nF8nuWhwOtUQyWiYA==", "dev": true, "requires": { @@ -33032,7 +33122,7 @@ }, "postcss-values-parser": { "version": "1.5.0", - "resolved": "http://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz", "integrity": "sha512-3M3p+2gMp0AH3da530TlX8kiO1nxdTnc3C6vr8dMxRLIlh8UYkz0/wcwptSXjhtx2Fr0TySI7a+BHDQ8NL7LaQ==", "dev": true, "requires": { @@ -33704,7 +33794,7 @@ }, "ramda": { "version": "0.21.0", - "resolved": "http://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", "integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=", "dev": true }, @@ -35107,7 +35197,7 @@ "dependencies": { "load-json-file": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -35140,7 +35230,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -35188,7 +35278,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", @@ -36018,19 +36108,19 @@ }, "es6-promise": { "version": "3.3.1", - "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", "dev": true }, "file-type": { "version": "3.9.0", - "resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", "dev": true }, "get-stream": { "version": "2.3.1", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", "dev": true, "requires": { @@ -36228,7 +36318,7 @@ }, "rimraf": { "version": "2.2.8", - "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", "dev": true }, @@ -36454,7 +36544,7 @@ "dependencies": { "commander": { "version": "2.8.1", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", "dev": true, "requires": { @@ -36726,7 +36816,7 @@ }, "sha.js": { "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "requires": { "inherits": "^2.0.1", @@ -37086,8 +37176,7 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "resolved": "", "dev": true } } @@ -37421,7 +37510,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -37689,7 +37778,7 @@ }, "stream-browserify": { "version": "2.0.1", - "resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { @@ -38098,7 +38187,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -38331,7 +38420,7 @@ }, "yargs": { "version": "6.6.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", "dev": true, "requires": { @@ -38352,7 +38441,7 @@ }, "yargs-parser": { "version": "4.2.1", - "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "dev": true, "requires": { @@ -38977,7 +39066,7 @@ }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { @@ -39631,7 +39720,7 @@ }, "buffer": { "version": "3.6.0", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", "dev": true, "requires": { @@ -40418,9 +40507,9 @@ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "v8-compile-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", - "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", "dev": true }, "v8flags": { @@ -41015,54 +41104,77 @@ } }, "webpack-cli": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.2.tgz", - "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", + "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", "dev": true, "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.0", - "global-modules-path": "^2.3.0", - "import-local": "^2.0.0", - "interpret": "^1.1.0", - "loader-utils": "^1.1.0", - "supports-color": "^5.5.0", - "v8-compile-cache": "^2.0.2", - "yargs": "^12.0.2" + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" } }, "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "requires": { "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", + "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", @@ -41079,19 +41191,52 @@ "locate-path": "^3.0.0" } }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "minimist": "^1.2.0" } }, "lcid": { @@ -41103,6 +41248,17 @@ "invert-kv": "^2.0.0" } }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -41114,25 +41270,16 @@ } }, "os-locale": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", - "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "dev": true, "requires": { - "execa": "^0.10.0", + "execa": "^1.0.0", "lcid": "^2.0.0", "mem": "^4.0.0" } }, - "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -41142,19 +41289,39 @@ "p-limit": "^2.0.0" } }, - "p-try": { + "require-main-filename": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" } }, "which-module": { @@ -41164,71 +41331,33 @@ "dev": true }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" } }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", + "cliui": "^5.0.0", "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" } } } @@ -41824,7 +41953,7 @@ }, "xmlbuilder": { "version": "9.0.7", - "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", "dev": true }, diff --git a/package.json b/package.json index 48a04738c6..3728327cb7 100644 --- a/package.json +++ b/package.json @@ -151,7 +151,7 @@ "typescript": "^3.8.2", "webapp-webpack-plugin": "^2.2.0", "webpack": "^4.42.1", - "webpack-cli": "^3.1.0", + "webpack-cli": "^3.3.11", "webpack-dev-server": "^3.11.0", "webpack-merge": "^4.2.1", "workbox-webpack-plugin": "^4.3.1" diff --git a/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts b/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts index d35c9927b9..3664e17ea1 100644 --- a/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts +++ b/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts @@ -1,6 +1,7 @@ import { NamedObservable } from "../NamedObservable"; import { ICheckoutModel, + IJobsModel, ILocalStorageHandler, IPaymentModel, LocalStorageItems, @@ -77,12 +78,10 @@ export class LocalStorageHandler extends LocalStorageHandlerProxy setPayment(payment: IPaymentModel | null): void { this.saveObject(LocalStorageItems.PAYMENT, payment); } - getJobs(): { - [key: string]: { [key: string]: boolean }; - } | null { + getJobs(): IJobsModel | null { return this.retrieveObject(LocalStorageItems.JOB_QUEUE_CHECKOUT); } - setJobs(jobs: { [key: string]: { [key: string]: boolean } } | null): void { + setJobs(jobs: IJobsModel | null): void { return this.saveObject(LocalStorageItems.JOB_QUEUE_CHECKOUT, jobs); } } diff --git a/src/@sdk/helpers/LocalStorageHandler/types.ts b/src/@sdk/helpers/LocalStorageHandler/types.ts index 620cf64aee..f45854edf2 100644 --- a/src/@sdk/helpers/LocalStorageHandler/types.ts +++ b/src/@sdk/helpers/LocalStorageHandler/types.ts @@ -124,6 +124,8 @@ export interface IOrderModel { number?: string | null; } +export type IJobsModel = Record>; + export interface ILocalStorageHandler { getCheckout(): ICheckoutModel | null; setCheckout(checkout: ICheckoutModel | null): void; From 3f2fafa35171095f0847453c214eb10463830b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20G=C4=99bala?= Date: Fri, 22 May 2020 17:22:27 +0200 Subject: [PATCH 017/120] Update version --- CHANGELOG.md | 7 ++++++- README.md | 2 +- package-lock.json | 2 +- package.json | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb49a8299c..1a725d41f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable, unreleased changes to this project will be documented in this file. ## [Unreleased] - Add Cypress tags to all of the buttons (also speed up tests) - #718 by @krzysztofwolski +- Automatically choose variant attributes from url in ProductVariantPicker - #708 by @AlicjaSzu + +## 2.10.1 + +- Replace stockQuantity field with quantityAvailable - #723 by @AlicjaSzu +- Regenerate types - #712 by @dominik-zeglen ## 2.10.0 @@ -37,7 +43,6 @@ All notable, unreleased changes to this project will be documented in this file. - Hide payment options - #678 by @orzechdev - Fix unhandled JWT token expiration - #696 by @orzechdev - Regenerate types - #712 by @dominik-zeglen -- Automatically choose variant attributes from url in ProductVariantPicker - #708 by @AlicjaSzu - Replace stockQuantity field with quantityAvailable - #723 by @AlicjaSzu ## 0.7.0 diff --git a/README.md b/README.md index b35cf69cfb..204628a7d6 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ cd saleor-storefront To use the official stable release, checkout to a release tag: ``` -$ git checkout 2.10.0 +$ git checkout 2.10.1 ``` See the list of all releases here: https://github.com/mirumee/saleor-storefront/releases/ diff --git a/package-lock.json b/package-lock.json index 586eb8941e..960bbfa794 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "saleor-site", - "version": "2.10.0", + "version": "2.11.0-a.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 48a04738c6..f0156bdca9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "saleor-site", - "version": "2.10.0", + "version": "2.11.0-a.0", "private": true, "author": "Mirumee", "homepage": "https://getsaleor.com/", From ebdd97708b4c1accdf1a8492541a2ec5966c224d Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Wed, 27 May 2020 11:32:13 +0200 Subject: [PATCH 018/120] fix quantityAvailbale bug --- src/@sdk/queries/checkout.ts | 3 +-- src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts | 11 ++++------- src/userAccount/views/OrderDetails/queries.ts | 2 +- src/views/Product/View.tsx | 6 +----- 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src/@sdk/queries/checkout.ts b/src/@sdk/queries/checkout.ts index 58e04ef91d..8df7956568 100644 --- a/src/@sdk/queries/checkout.ts +++ b/src/@sdk/queries/checkout.ts @@ -28,11 +28,10 @@ export const userCheckoutDetails = gql` export const checkoutProductVariants = gql` ${checkoutProductVariantFragment} - query CheckoutProductVariants($ids: [ID], $countryCode: CountryCode) { + query CheckoutProductVariants($ids: [ID]) { productVariants(ids: $ids, first: 100) { edges { node { - quantityAvailable(countryCode: $countryCode) ...ProductVariant } } diff --git a/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts b/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts index 0f6a28818e..994f20d45c 100644 --- a/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts +++ b/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts @@ -2,8 +2,6 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { CountryCode } from "./../../gqlTypes/globalTypes"; - // ==================================================== // GraphQL query operation: CheckoutProductVariants // ==================================================== @@ -181,16 +179,16 @@ export interface CheckoutProductVariants_productVariants_edges_node_product { export interface CheckoutProductVariants_productVariants_edges_node { __typename: "ProductVariant"; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; /** * The ID of the object. */ id: string; name: string; sku: string; + /** + * Quantity of a product available for sale in one checkout. + */ + quantityAvailable: number; /** * Whether the variant is in stock and visible or not. */ @@ -228,5 +226,4 @@ export interface CheckoutProductVariants { export interface CheckoutProductVariantsVariables { ids?: (string | null)[] | null; - countryCode?: CountryCode | null; } diff --git a/src/userAccount/views/OrderDetails/queries.ts b/src/userAccount/views/OrderDetails/queries.ts index a04b43fe01..3542119f7a 100644 --- a/src/userAccount/views/OrderDetails/queries.ts +++ b/src/userAccount/views/OrderDetails/queries.ts @@ -44,7 +44,7 @@ export const checkoutProductVariantFragment = gql` id name sku - quantityAvailable + quantityAvailable(countryCode: $countryCode) isAvailable pricing { onSale diff --git a/src/views/Product/View.tsx b/src/views/Product/View.tsx index 3903613451..18dc185b42 100644 --- a/src/views/Product/View.tsx +++ b/src/views/Product/View.tsx @@ -6,8 +6,7 @@ import React, { useEffect, useState } from "react"; import { RouteComponentProps } from "react-router"; import { useHistory } from "react-router-dom"; -import { CountryCode } from "@sdk/gqlTypes/globalTypes"; -import { useCart, useUserDetails } from "@sdk/react"; +import { useCart } from "@sdk/react"; import { MetaWrapper, NotFound, OfflinePlaceholder } from "../../components"; import NetworkStatus from "../../components/NetworkStatus"; @@ -111,14 +110,11 @@ const PageWithQueryAttributes: React.FC = props => { const View: React.FC> = ({ match }) => { const { addItem, items } = useCart(); - const { data: user } = useUserDetails(); return ( Date: Wed, 27 May 2020 12:15:49 +0200 Subject: [PATCH 019/120] OrderDetails - add countryCode argument to remove validation error --- src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts | 3 ++- src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts | 3 ++- src/userAccount/views/OrderDetails/queries.ts | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts b/src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts index a3bd9e1b9d..c2f1049aa3 100644 --- a/src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts +++ b/src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts @@ -2,7 +2,7 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { PaymentChargeStatusEnum, OrderStatus } from "./../../../../../gqlTypes/globalTypes"; +import { CountryCode, PaymentChargeStatusEnum, OrderStatus } from "./../../../../../gqlTypes/globalTypes"; // ==================================================== // GraphQL query operation: OrderById @@ -464,4 +464,5 @@ export interface OrderById { export interface OrderByIdVariables { id: string; + countryCode?: CountryCode | null; } diff --git a/src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts b/src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts index cb563d4705..9c5aff7c58 100644 --- a/src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts +++ b/src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts @@ -2,7 +2,7 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { PaymentChargeStatusEnum, OrderStatus } from "./../../../../../gqlTypes/globalTypes"; +import { CountryCode, PaymentChargeStatusEnum, OrderStatus } from "./../../../../../gqlTypes/globalTypes"; // ==================================================== // GraphQL query operation: OrderByToken @@ -464,4 +464,5 @@ export interface OrderByToken { export interface OrderByTokenVariables { token: any; + countryCode?: CountryCode | null; } diff --git a/src/userAccount/views/OrderDetails/queries.ts b/src/userAccount/views/OrderDetails/queries.ts index 3542119f7a..6a07503546 100644 --- a/src/userAccount/views/OrderDetails/queries.ts +++ b/src/userAccount/views/OrderDetails/queries.ts @@ -123,7 +123,7 @@ const orderDetailFragment = gql` const orderDetailsByIdQuery = gql` ${orderDetailFragment} - query OrderById($id: ID!) { + query OrderById($id: ID!, $countryCode: CountryCode) { order(id: $id) { ...OrderDetail } @@ -132,7 +132,7 @@ const orderDetailsByIdQuery = gql` const orderDetailsByTokenQuery = gql` ${orderDetailFragment} - query OrderByToken($token: UUID!) { + query OrderByToken($token: UUID!, $countryCode: CountryCode) { orderByToken(token: $token) { ...OrderDetail } From f5192ed03df4e1d907cca6d2812ee1760c77d123 Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Wed, 27 May 2020 12:52:30 +0200 Subject: [PATCH 020/120] remove obsolete orderByToken and Id queries --- src/userAccount/views/OrderDetails/queries.ts | 70 ------------------- 1 file changed, 70 deletions(-) diff --git a/src/userAccount/views/OrderDetails/queries.ts b/src/userAccount/views/OrderDetails/queries.ts index 6a07503546..0070a8d8c7 100644 --- a/src/userAccount/views/OrderDetails/queries.ts +++ b/src/userAccount/views/OrderDetails/queries.ts @@ -1,8 +1,4 @@ import gql from "graphql-tag"; -import { TypedQuery } from "../../../core/queries"; - -import { OrderById, OrderByIdVariables } from "./gqlTypes/OrderById"; -import { OrderByToken, OrderByTokenVariables } from "./gqlTypes/OrderByToken"; const orderPriceFragment = gql` fragment OrderPrice on TaxedMoney { @@ -82,69 +78,3 @@ export const checkoutProductVariantFragment = gql` } } `; - -const orderDetailFragment = gql` - ${orderPriceFragment} - ${checkoutAddressFragment} - ${checkoutProductVariantFragment} - fragment OrderDetail on Order { - userEmail - paymentStatus - paymentStatusDisplay - status - statusDisplay - id - number - shippingAddress { - ...Address - } - lines { - productName - quantity - variant { - ...ProductVariant - } - unitPrice { - ...OrderPrice - currency - } - } - subtotal { - ...OrderPrice - } - total { - ...OrderPrice - } - shippingPrice { - ...OrderPrice - } - } -`; - -const orderDetailsByIdQuery = gql` - ${orderDetailFragment} - query OrderById($id: ID!, $countryCode: CountryCode) { - order(id: $id) { - ...OrderDetail - } - } -`; - -const orderDetailsByTokenQuery = gql` - ${orderDetailFragment} - query OrderByToken($token: UUID!, $countryCode: CountryCode) { - orderByToken(token: $token) { - ...OrderDetail - } - } -`; - -export const TypedOrderDetailsByIdQuery = TypedQuery< - OrderById, - OrderByIdVariables ->(orderDetailsByIdQuery); - -export const TypedOrderDetailsByTokenQuery = TypedQuery< - OrderByToken, - OrderByTokenVariables ->(orderDetailsByTokenQuery); From 7f57e79ab19b99523523c5e67253100d8f2522d2 Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Wed, 27 May 2020 13:19:57 +0200 Subject: [PATCH 021/120] remove obsolete orderDetails types, update order details Page --- gqlTypes/globalTypes.ts | 22 - src/userAccount/views/OrderDetails/Page.tsx | 15 +- .../views/OrderDetails/gqlTypes/OrderById.ts | 468 ------------------ .../OrderDetails/gqlTypes/OrderByToken.ts | 468 ------------------ .../OrderDetails/gqlTypes/OrderDetail.ts | 456 ----------------- 5 files changed, 6 insertions(+), 1423 deletions(-) delete mode 100644 src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts delete mode 100644 src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts delete mode 100644 src/userAccount/views/OrderDetails/gqlTypes/OrderDetail.ts diff --git a/gqlTypes/globalTypes.ts b/gqlTypes/globalTypes.ts index 12bc0355bc..55523aa57c 100644 --- a/gqlTypes/globalTypes.ts +++ b/gqlTypes/globalTypes.ts @@ -267,28 +267,6 @@ export enum OrderDirection { DESC = "DESC", } -/** - * An enumeration. - */ -export enum OrderStatus { - CANCELED = "CANCELED", - DRAFT = "DRAFT", - FULFILLED = "FULFILLED", - PARTIALLY_FULFILLED = "PARTIALLY_FULFILLED", - UNFULFILLED = "UNFULFILLED", -} - -/** - * An enumeration. - */ -export enum PaymentChargeStatusEnum { - FULLY_CHARGED = "FULLY_CHARGED", - FULLY_REFUNDED = "FULLY_REFUNDED", - NOT_CHARGED = "NOT_CHARGED", - PARTIALLY_CHARGED = "PARTIALLY_CHARGED", - PARTIALLY_REFUNDED = "PARTIALLY_REFUNDED", -} - export enum ProductOrderField { DATE = "DATE", MINIMAL_PRICE = "MINIMAL_PRICE", diff --git a/src/userAccount/views/OrderDetails/Page.tsx b/src/userAccount/views/OrderDetails/Page.tsx index e906b41d1e..d5d26e1c5b 100644 --- a/src/userAccount/views/OrderDetails/Page.tsx +++ b/src/userAccount/views/OrderDetails/Page.tsx @@ -2,20 +2,17 @@ import * as React from "react"; import { Link } from "react-router-dom"; import { TaxedMoney } from "@components/containers"; +import { + OrderDetail, + OrderDetail_lines, +} from "@sdk/fragments/gqlTypes/OrderDetail"; import { AddressSummary, CartTable, NotFound } from "../../../components"; import { ILine } from "../../../components/CartTable/ProductRow"; -import { OrderById_order, OrderById_order_lines } from "./gqlTypes/OrderById"; -import { - OrderByToken_orderByToken, - OrderByToken_orderByToken_lines, -} from "./gqlTypes/OrderByToken"; import { orderHistoryUrl } from "../../../app/routes"; -const extractOrderLines = ( - lines: Array -): ILine[] => { +const extractOrderLines = (lines: OrderDetail_lines[]): ILine[] => { return lines .map(line => ({ quantity: line.quantity, @@ -39,7 +36,7 @@ const extractOrderLines = ( const Page: React.FC<{ guest: boolean; - order: OrderById_order | OrderByToken_orderByToken; + order: OrderDetail; }> = ({ guest, order }) => order ? ( <> diff --git a/src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts b/src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts deleted file mode 100644 index c2f1049aa3..0000000000 --- a/src/userAccount/views/OrderDetails/gqlTypes/OrderById.ts +++ /dev/null @@ -1,468 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { CountryCode, PaymentChargeStatusEnum, OrderStatus } from "./../../../../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL query operation: OrderById -// ==================================================== - -export interface OrderById_order_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface OrderById_order_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: OrderById_order_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface OrderById_order_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderById_order_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: OrderById_order_lines_variant_pricing_priceUndiscounted_net; -} - -export interface OrderById_order_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderById_order_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: OrderById_order_lines_variant_pricing_price_net; -} - -export interface OrderById_order_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: OrderById_order_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: OrderById_order_lines_variant_pricing_price | null; -} - -export interface OrderById_order_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface OrderById_order_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface OrderById_order_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: OrderById_order_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (OrderById_order_lines_variant_attributes_values | null)[]; -} - -export interface OrderById_order_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface OrderById_order_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface OrderById_order_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface OrderById_order_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: OrderById_order_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: OrderById_order_lines_variant_product_thumbnail2x | null; - productType: OrderById_order_lines_variant_product_productType; -} - -export interface OrderById_order_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: OrderById_order_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: OrderById_order_lines_variant_attributes[]; - product: OrderById_order_lines_variant_product; -} - -export interface OrderById_order_lines_unitPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_lines_unitPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_lines_unitPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderById_order_lines_unitPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderById_order_lines_unitPrice_net; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_lines { - __typename: "OrderLine"; - productName: string; - quantity: number; - /** - * A purchased product variant. Note: this field may be null if the variant has been removed from stock at all. - */ - variant: OrderById_order_lines_variant | null; - /** - * Price of the single item in the order line. - */ - unitPrice: OrderById_order_lines_unitPrice | null; -} - -export interface OrderById_order_subtotal_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_subtotal_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_subtotal { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderById_order_subtotal_gross; - /** - * Amount of money without taxes. - */ - net: OrderById_order_subtotal_net; -} - -export interface OrderById_order_total_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_total_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_total { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderById_order_total_gross; - /** - * Amount of money without taxes. - */ - net: OrderById_order_total_net; -} - -export interface OrderById_order_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderById_order_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderById_order_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderById_order_shippingPrice_net; -} - -export interface OrderById_order { - __typename: "Order"; - /** - * Email address of the customer. - */ - userEmail: string | null; - /** - * Internal payment status. - */ - paymentStatus: PaymentChargeStatusEnum | null; - /** - * User-friendly payment status. - */ - paymentStatusDisplay: string | null; - status: OrderStatus; - /** - * User-friendly order status. - */ - statusDisplay: string | null; - /** - * The ID of the object. - */ - id: string; - /** - * User-friendly number of an order. - */ - number: string | null; - shippingAddress: OrderById_order_shippingAddress | null; - /** - * List of order lines. - */ - lines: (OrderById_order_lines | null)[]; - /** - * The sum of line prices not including shipping. - */ - subtotal: OrderById_order_subtotal | null; - /** - * Total amount of the order. - */ - total: OrderById_order_total | null; - /** - * Total price of shipping. - */ - shippingPrice: OrderById_order_shippingPrice | null; -} - -export interface OrderById { - /** - * Look up an order by ID. - */ - order: OrderById_order | null; -} - -export interface OrderByIdVariables { - id: string; - countryCode?: CountryCode | null; -} diff --git a/src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts b/src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts deleted file mode 100644 index 9c5aff7c58..0000000000 --- a/src/userAccount/views/OrderDetails/gqlTypes/OrderByToken.ts +++ /dev/null @@ -1,468 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { CountryCode, PaymentChargeStatusEnum, OrderStatus } from "./../../../../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL query operation: OrderByToken -// ==================================================== - -export interface OrderByToken_orderByToken_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface OrderByToken_orderByToken_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: OrderByToken_orderByToken_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted_net; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_lines_variant_pricing_price_net; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: OrderByToken_orderByToken_lines_variant_pricing_price | null; -} - -export interface OrderByToken_orderByToken_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface OrderByToken_orderByToken_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface OrderByToken_orderByToken_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: OrderByToken_orderByToken_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (OrderByToken_orderByToken_lines_variant_attributes_values | null)[]; -} - -export interface OrderByToken_orderByToken_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface OrderByToken_orderByToken_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface OrderByToken_orderByToken_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface OrderByToken_orderByToken_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: OrderByToken_orderByToken_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: OrderByToken_orderByToken_lines_variant_product_thumbnail2x | null; - productType: OrderByToken_orderByToken_lines_variant_product_productType; -} - -export interface OrderByToken_orderByToken_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: OrderByToken_orderByToken_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: OrderByToken_orderByToken_lines_variant_attributes[]; - product: OrderByToken_orderByToken_lines_variant_product; -} - -export interface OrderByToken_orderByToken_lines_unitPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_unitPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_unitPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_lines_unitPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_lines_unitPrice_net; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines { - __typename: "OrderLine"; - productName: string; - quantity: number; - /** - * A purchased product variant. Note: this field may be null if the variant has been removed from stock at all. - */ - variant: OrderByToken_orderByToken_lines_variant | null; - /** - * Price of the single item in the order line. - */ - unitPrice: OrderByToken_orderByToken_lines_unitPrice | null; -} - -export interface OrderByToken_orderByToken_subtotal_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_subtotal_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_subtotal { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_subtotal_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_subtotal_net; -} - -export interface OrderByToken_orderByToken_total_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_total_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_total { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_total_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_total_net; -} - -export interface OrderByToken_orderByToken_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_shippingPrice_net; -} - -export interface OrderByToken_orderByToken { - __typename: "Order"; - /** - * Email address of the customer. - */ - userEmail: string | null; - /** - * Internal payment status. - */ - paymentStatus: PaymentChargeStatusEnum | null; - /** - * User-friendly payment status. - */ - paymentStatusDisplay: string | null; - status: OrderStatus; - /** - * User-friendly order status. - */ - statusDisplay: string | null; - /** - * The ID of the object. - */ - id: string; - /** - * User-friendly number of an order. - */ - number: string | null; - shippingAddress: OrderByToken_orderByToken_shippingAddress | null; - /** - * List of order lines. - */ - lines: (OrderByToken_orderByToken_lines | null)[]; - /** - * The sum of line prices not including shipping. - */ - subtotal: OrderByToken_orderByToken_subtotal | null; - /** - * Total amount of the order. - */ - total: OrderByToken_orderByToken_total | null; - /** - * Total price of shipping. - */ - shippingPrice: OrderByToken_orderByToken_shippingPrice | null; -} - -export interface OrderByToken { - /** - * Look up an order by token. - */ - orderByToken: OrderByToken_orderByToken | null; -} - -export interface OrderByTokenVariables { - token: any; - countryCode?: CountryCode | null; -} diff --git a/src/userAccount/views/OrderDetails/gqlTypes/OrderDetail.ts b/src/userAccount/views/OrderDetails/gqlTypes/OrderDetail.ts deleted file mode 100644 index df3658fa09..0000000000 --- a/src/userAccount/views/OrderDetails/gqlTypes/OrderDetail.ts +++ /dev/null @@ -1,456 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { PaymentChargeStatusEnum, OrderStatus } from "./../../../../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL fragment: OrderDetail -// ==================================================== - -export interface OrderDetail_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface OrderDetail_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: OrderDetail_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface OrderDetail_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_lines_variant_pricing_priceUndiscounted_net; -} - -export interface OrderDetail_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_lines_variant_pricing_price_net; -} - -export interface OrderDetail_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: OrderDetail_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: OrderDetail_lines_variant_pricing_price | null; -} - -export interface OrderDetail_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface OrderDetail_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface OrderDetail_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: OrderDetail_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (OrderDetail_lines_variant_attributes_values | null)[]; -} - -export interface OrderDetail_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface OrderDetail_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface OrderDetail_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface OrderDetail_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: OrderDetail_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: OrderDetail_lines_variant_product_thumbnail2x | null; - productType: OrderDetail_lines_variant_product_productType; -} - -export interface OrderDetail_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: OrderDetail_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: OrderDetail_lines_variant_attributes[]; - product: OrderDetail_lines_variant_product; -} - -export interface OrderDetail_lines_unitPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_unitPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_unitPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_lines_unitPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_lines_unitPrice_net; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines { - __typename: "OrderLine"; - productName: string; - quantity: number; - /** - * A purchased product variant. Note: this field may be null if the variant has been removed from stock at all. - */ - variant: OrderDetail_lines_variant | null; - /** - * Price of the single item in the order line. - */ - unitPrice: OrderDetail_lines_unitPrice | null; -} - -export interface OrderDetail_subtotal_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_subtotal_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_subtotal { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_subtotal_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_subtotal_net; -} - -export interface OrderDetail_total_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_total_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_total { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_total_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_total_net; -} - -export interface OrderDetail_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_shippingPrice_net; -} - -export interface OrderDetail { - __typename: "Order"; - /** - * Email address of the customer. - */ - userEmail: string | null; - /** - * Internal payment status. - */ - paymentStatus: PaymentChargeStatusEnum | null; - /** - * User-friendly payment status. - */ - paymentStatusDisplay: string | null; - status: OrderStatus; - /** - * User-friendly order status. - */ - statusDisplay: string | null; - /** - * The ID of the object. - */ - id: string; - /** - * User-friendly number of an order. - */ - number: string | null; - shippingAddress: OrderDetail_shippingAddress | null; - /** - * List of order lines. - */ - lines: (OrderDetail_lines | null)[]; - /** - * The sum of line prices not including shipping. - */ - subtotal: OrderDetail_subtotal | null; - /** - * Total amount of the order. - */ - total: OrderDetail_total | null; - /** - * Total price of shipping. - */ - shippingPrice: OrderDetail_shippingPrice | null; -} From 4cbf51b183d9672c173e6773fc73d0aa4ba23f80 Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Wed, 27 May 2020 13:26:42 +0200 Subject: [PATCH 022/120] remove queries file from OrderDetails --- .../views/OrderDetails/gqlTypes/Address.ts | 48 ---- .../views/OrderDetails/gqlTypes/OrderPrice.ts | 43 ---- .../OrderDetails/gqlTypes/ProductVariant.ts | 205 ------------------ src/userAccount/views/OrderDetails/queries.ts | 80 ------- 4 files changed, 376 deletions(-) delete mode 100644 src/userAccount/views/OrderDetails/gqlTypes/Address.ts delete mode 100644 src/userAccount/views/OrderDetails/gqlTypes/OrderPrice.ts delete mode 100644 src/userAccount/views/OrderDetails/gqlTypes/ProductVariant.ts delete mode 100644 src/userAccount/views/OrderDetails/queries.ts diff --git a/src/userAccount/views/OrderDetails/gqlTypes/Address.ts b/src/userAccount/views/OrderDetails/gqlTypes/Address.ts deleted file mode 100644 index a081fc7301..0000000000 --- a/src/userAccount/views/OrderDetails/gqlTypes/Address.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: Address -// ==================================================== - -export interface Address_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface Address { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: Address_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} diff --git a/src/userAccount/views/OrderDetails/gqlTypes/OrderPrice.ts b/src/userAccount/views/OrderDetails/gqlTypes/OrderPrice.ts deleted file mode 100644 index d1b7f168cd..0000000000 --- a/src/userAccount/views/OrderDetails/gqlTypes/OrderPrice.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: OrderPrice -// ==================================================== - -export interface OrderPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderPrice_net; -} diff --git a/src/userAccount/views/OrderDetails/gqlTypes/ProductVariant.ts b/src/userAccount/views/OrderDetails/gqlTypes/ProductVariant.ts deleted file mode 100644 index f72c832cc7..0000000000 --- a/src/userAccount/views/OrderDetails/gqlTypes/ProductVariant.ts +++ /dev/null @@ -1,205 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: ProductVariant -// ==================================================== - -export interface ProductVariant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductVariant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: ProductVariant_pricing_priceUndiscounted_net; -} - -export interface ProductVariant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductVariant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: ProductVariant_pricing_price_net; -} - -export interface ProductVariant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: ProductVariant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: ProductVariant_pricing_price | null; -} - -export interface ProductVariant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface ProductVariant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface ProductVariant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: ProductVariant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (ProductVariant_attributes_values | null)[]; -} - -export interface ProductVariant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface ProductVariant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface ProductVariant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface ProductVariant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: ProductVariant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: ProductVariant_product_thumbnail2x | null; - productType: ProductVariant_product_productType; -} - -export interface ProductVariant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: ProductVariant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: ProductVariant_attributes[]; - product: ProductVariant_product; -} diff --git a/src/userAccount/views/OrderDetails/queries.ts b/src/userAccount/views/OrderDetails/queries.ts deleted file mode 100644 index 0070a8d8c7..0000000000 --- a/src/userAccount/views/OrderDetails/queries.ts +++ /dev/null @@ -1,80 +0,0 @@ -import gql from "graphql-tag"; - -const orderPriceFragment = gql` - fragment OrderPrice on TaxedMoney { - gross { - amount - currency - } - net { - amount - currency - } - } -`; - -export const checkoutAddressFragment = gql` - fragment Address on Address { - id - firstName - lastName - companyName - streetAddress1 - streetAddress2 - city - postalCode - country { - code - country - } - countryArea - phone - isDefaultBillingAddress - isDefaultShippingAddress - } -`; - -export const checkoutProductVariantFragment = gql` - ${orderPriceFragment} - fragment ProductVariant on ProductVariant { - id - name - sku - quantityAvailable(countryCode: $countryCode) - isAvailable - pricing { - onSale - priceUndiscounted { - ...OrderPrice - } - price { - ...OrderPrice - } - } - attributes { - attribute { - id - name - } - values { - id - name - value: name - } - } - product { - id - name - thumbnail { - url - alt - } - thumbnail2x: thumbnail(size: 510) { - url - } - productType { - isShippingRequired - } - } - } -`; From 6a65b66cc3fb1057c9cbe2799dcf6cbeb1d87962 Mon Sep 17 00:00:00 2001 From: Dawid Tarasiuk Date: Wed, 27 May 2020 14:50:11 +0200 Subject: [PATCH 023/120] Update jobs model types --- src/@sdk/helpers/LocalStorageHandler/types.ts | 14 +++++++-- src/@sdk/jobs/JobsManager.ts | 30 +++++++++++-------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/@sdk/helpers/LocalStorageHandler/types.ts b/src/@sdk/helpers/LocalStorageHandler/types.ts index f45854edf2..9a6c51fc0d 100644 --- a/src/@sdk/helpers/LocalStorageHandler/types.ts +++ b/src/@sdk/helpers/LocalStorageHandler/types.ts @@ -3,7 +3,8 @@ import { Checkout_lines_variant_attributes, Checkout_lines_variant_pricing, Checkout_lines_variant_product, -} from "../../fragments/gqlTypes/Checkout"; +} from "@sdk/fragments/gqlTypes/Checkout"; +import { IQueuedJobs } from "@sdk/jobs/QueuedJobs"; export enum LocalStorageItems { JOB_QUEUE_CHECKOUT = "job_queueCheckout", @@ -124,7 +125,16 @@ export interface IOrderModel { number?: string | null; } -export type IJobsModel = Record>; +export type IJobsGroupModel = Record< + keyof IQueuedJobs[G], + boolean +>; + +type IQueuedJobsState = { + [P in keyof T]?: Partial>; +}; + +export type IJobsModel = IQueuedJobsState; export interface ILocalStorageHandler { getCheckout(): ICheckoutModel | null; diff --git a/src/@sdk/jobs/JobsManager.ts b/src/@sdk/jobs/JobsManager.ts index b7a5d63683..baa8852736 100644 --- a/src/@sdk/jobs/JobsManager.ts +++ b/src/@sdk/jobs/JobsManager.ts @@ -153,7 +153,7 @@ export class JobsManager { const jobGroupString = jobGroup.toString(); const jobNameString = jobName.toString(); - const jobGroupObject = jobs ? jobs[jobGroupString] : null; + const jobGroupObject = jobs ? jobs[jobGroup] : null; this.localStorageHandler.setJobs({ ...jobs, @@ -169,18 +169,22 @@ export class JobsManager { if (jobs) { Object.keys(jobs).forEach(jobGroupString => { - const jobGroup = jobs[jobGroupString]; - - Object.keys(jobGroup).forEach(jobNameString => { - const jobNameState = jobGroup[jobNameString]; - - if (jobNameState) { - this.addToQueue( - jobGroupString as keyof IQueuedJobs, - jobNameString as keyof QueuedJobs[keyof IQueuedJobs] - ); - } - }); + const jobGroupKey = jobGroupString as keyof IQueuedJobs; + const jobGroup = jobs[jobGroupKey]; + + if (jobGroup) { + Object.keys(jobGroup).forEach(jobNameString => { + const jobNameKey = jobNameString as keyof QueuedJobs[keyof IQueuedJobs]; + const jobNameState = jobGroup[jobNameKey]; + + if (jobNameState) { + this.addToQueue( + jobGroupString as keyof IQueuedJobs, + jobNameString as keyof QueuedJobs[keyof IQueuedJobs] + ); + } + }); + } }); } } From 1cfc0cc969cccfc19dbe704089ee77736869d382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20G=C4=99bala?= Date: Thu, 28 May 2020 10:58:57 +0200 Subject: [PATCH 024/120] Update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a725d41f1..5587e8eb68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ All notable, unreleased changes to this project will be documented in this file. - Add Cypress tags to all of the buttons (also speed up tests) - #718 by @krzysztofwolski - Automatically choose variant attributes from url in ProductVariantPicker - #708 by @AlicjaSzu +## 2.10.2 + +- Fix fetching `quantityAvailable` field - #738 by @AlicjaSzu + ## 2.10.1 - Replace stockQuantity field with quantityAvailable - #723 by @AlicjaSzu From 9b362740ea7c663006ed9f587b7fd97e6471bbf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20=C5=BBegle=C5=84?= Date: Thu, 28 May 2020 17:27:37 +0200 Subject: [PATCH 025/120] Use sdk as a standalone package (#724) * Use sdk as a standalone package * Update changelog * Do not type cache objects * Use latest sdk version * Fix paths * Sort imports * Fix rebase * Fix bug causing sdk not to build * Update sdk version --- .circleci/config.yml | 6 +- CHANGELOG.md | 1 + config/webpack/config.base.js | 5 + package-lock.json | 158 ++- package.json | 2 + .../molecules/AccountTabTiles/AccountTile.tsx | 2 +- .../AccountTabTiles/PasswordTile.tsx | 2 +- .../molecules/AccountTabTiles/test.tsx | 2 +- .../molecules/ProductTile/fixtures.ts | 2 +- .../components/molecules/ProductTile/types.ts | 2 +- .../AddressFormModal/AddressFormModal.tsx | 6 +- .../organisms/AddressFormModal/test.tsx | 2 +- .../organisms/CheckoutAddress/fixtures.ts | 2 +- .../organisms/CheckoutAddress/types.ts | 2 +- .../organisms/CheckoutPayment/fixtures.ts | 2 +- .../organisms/CheckoutPayment/types.ts | 2 +- .../organisms/ProductList/fixtures.ts | 2 +- .../components/organisms/ProductList/types.ts | 2 +- .../ProductVariantAttributeSelect.tsx | 2 +- .../ProductVariantPicker/fixtures.ts | 2 +- .../organisms/ProductVariantPicker/types.ts | 2 +- src/@next/hooks/useCheckoutStepState.ts | 4 +- .../hooks/useProductVariantsAttributes.tsx | 2 +- ...lectableProductVariantsAttributeValues.tsx | 2 +- src/@next/pages/CartPage/CartPage.tsx | 6 +- src/@next/pages/CheckoutPage/CheckoutPage.tsx | 10 +- .../pages/CheckoutPage/CheckoutRouter.tsx | 4 +- .../subpages/CheckoutAddressSubpage.tsx | 2 +- .../subpages/CheckoutPaymentSubpage.tsx | 2 +- .../subpages/CheckoutReviewSubpage.tsx | 2 +- .../subpages/CheckoutShippingSubpage.tsx | 2 +- .../pages/OrdersHistory/OrdersHistory.tsx | 2 +- .../pages/PasswordReset/PasswordReset.tsx | 3 +- src/@next/types/IProductVariantsAttributes.ts | 5 +- src/@sdk/README.md | 74 -- src/@sdk/api/APIProxy.ts | 378 ------ src/@sdk/api/Cart/index.ts | 241 ---- src/@sdk/api/Cart/types.ts | 27 - src/@sdk/api/Checkout/index.ts | 514 -------- src/@sdk/api/Checkout/types.ts | 121 -- src/@sdk/api/index.ts | 84 -- src/@sdk/api/types.ts | 17 - src/@sdk/apollo.config.js | 9 - src/@sdk/auth.ts | 81 -- src/@sdk/config.ts | 8 - src/@sdk/data/ApolloClientManager/index.ts | 857 ------------ src/@sdk/data/ApolloClientManager/types.ts | 81 -- src/@sdk/data/LocalStorageManager/index.ts | 120 -- src/@sdk/data/LocalStorageManager/types.ts | 13 - src/@sdk/data/index.ts | 2 - src/@sdk/fragments/auth.ts | 23 - src/@sdk/fragments/checkout.ts | 158 --- src/@sdk/fragments/gqlTypes/Address.ts | 48 - .../fragments/gqlTypes/BasicProductFields.ts | 44 - src/@sdk/fragments/gqlTypes/Checkout.ts | 545 -------- src/@sdk/fragments/gqlTypes/CheckoutError.ts | 26 - src/@sdk/fragments/gqlTypes/CheckoutLine.ts | 255 ---- src/@sdk/fragments/gqlTypes/OrderDetail.ts | 457 ------- src/@sdk/fragments/gqlTypes/OrderPrice.ts | 43 - src/@sdk/fragments/gqlTypes/Payment.ts | 45 - src/@sdk/fragments/gqlTypes/PaymentError.ts | 26 - src/@sdk/fragments/gqlTypes/Price.ts | 43 - src/@sdk/fragments/gqlTypes/ProductVariant.ts | 205 --- .../gqlTypes/ProductVariantFields.ts | 182 --- .../gqlTypes/SelectedAttributeFields.ts | 47 - src/@sdk/fragments/gqlTypes/ShippingMethod.ts | 29 - src/@sdk/fragments/gqlTypes/User.ts | 148 --- src/@sdk/fragments/payment.ts | 24 - src/@sdk/fragments/products.ts | 67 - src/@sdk/fragments/user.ts | 58 - src/@sdk/global.d.ts | 9 - src/@sdk/gqlTypes/globalTypes.ts | 435 ------- src/@sdk/helpers/ErrorListener/index.ts | 40 - src/@sdk/helpers/ErrorListener/types.ts | 10 - .../LocalStorageHandler.ts | 87 -- src/@sdk/helpers/LocalStorageHandler/index.ts | 2 - src/@sdk/helpers/LocalStorageHandler/types.ts | 144 -- src/@sdk/helpers/NamedObservable/index.ts | 48 - src/@sdk/helpers/NamedObservable/types.ts | 6 - src/@sdk/helpers/index.ts | 3 - src/@sdk/index.ts | 63 - src/@sdk/jobs/Cart/CartJobs.ts | 1 - src/@sdk/jobs/Cart/CartQueuedJobs.ts | 41 - src/@sdk/jobs/Cart/index.ts | 2 - src/@sdk/jobs/Checkout/CheckoutJobs.ts | 339 ----- src/@sdk/jobs/Checkout/CheckoutQueuedJobs.ts | 5 - src/@sdk/jobs/Checkout/index.ts | 2 - src/@sdk/jobs/Jobs.ts | 22 - src/@sdk/jobs/JobsManager.ts | 191 --- src/@sdk/jobs/QueuedJobs.ts | 22 - src/@sdk/jobs/QueuedJobsHandler.ts | 16 - src/@sdk/jobs/index.ts | 1 - src/@sdk/jobs/types.ts | 32 - src/@sdk/mutations/address.ts | 63 - src/@sdk/mutations/auth.ts | 31 - src/@sdk/mutations/checkout.ts | 206 --- src/@sdk/mutations/gqlTypes/AccountUpdate.ts | 183 --- .../gqlTypes/AddCheckoutPromoCode.ts | 585 --------- .../mutations/gqlTypes/CompleteCheckout.ts | 498 ------- src/@sdk/mutations/gqlTypes/CreateCheckout.ts | 581 --------- .../gqlTypes/CreateCheckoutPayment.ts | 627 --------- .../mutations/gqlTypes/CreateUserAddress.ts | 186 --- .../mutations/gqlTypes/DeleteUserAddress.ts | 184 --- src/@sdk/mutations/gqlTypes/PasswordChange.ts | 40 - .../gqlTypes/RemoveCheckoutPromoCode.ts | 585 --------- .../gqlTypes/SetCustomerDefaultAddress.ts | 187 --- src/@sdk/mutations/gqlTypes/SetPassword.ts | 207 --- src/@sdk/mutations/gqlTypes/TokenAuth.ts | 187 --- .../gqlTypes/UpdateCheckoutBillingAddress.ts | 585 --------- .../UpdateCheckoutBillingAddressWithEmail.ts | 1154 ----------------- .../mutations/gqlTypes/UpdateCheckoutLine.ts | 585 --------- .../gqlTypes/UpdateCheckoutShippingAddress.ts | 1154 ----------------- .../gqlTypes/UpdateCheckoutShippingMethod.ts | 585 --------- .../mutations/gqlTypes/UpdateUserAddress.ts | 187 --- src/@sdk/mutations/gqlTypes/VerifyToken.ts | 165 --- src/@sdk/mutations/index.ts | 120 -- src/@sdk/mutations/user.ts | 49 - src/@sdk/queries/attributes.ts | 20 - src/@sdk/queries/category.ts | 23 - src/@sdk/queries/checkout.ts | 40 - src/@sdk/queries/gqlTypes/Attributes.ts | 67 - src/@sdk/queries/gqlTypes/CategoryDetails.ts | 64 - src/@sdk/queries/gqlTypes/CheckoutDetails.ts | 556 -------- .../gqlTypes/CheckoutProductVariants.ts | 229 ---- src/@sdk/queries/gqlTypes/GetCategories.ts | 57 - src/@sdk/queries/gqlTypes/GetCollections.ts | 57 - src/@sdk/queries/gqlTypes/GetProducts.ts | 57 - src/@sdk/queries/gqlTypes/GetShop.ts | 78 -- .../gqlTypes/GetShopPaymentGateways.ts | 50 - src/@sdk/queries/gqlTypes/OrderByToken.ts | 468 ------- src/@sdk/queries/gqlTypes/OrdersByUser.ts | 180 --- src/@sdk/queries/gqlTypes/ProductDetails.ts | 754 ----------- src/@sdk/queries/gqlTypes/ProductList.ts | 302 ----- .../queries/gqlTypes/ProductPricingField.ts | 199 --- .../queries/gqlTypes/UserCheckoutDetails.ts | 564 -------- src/@sdk/queries/gqlTypes/UserDetails.ts | 155 --- src/@sdk/queries/gqlTypes/VariantsProducts.ts | 54 - src/@sdk/queries/index.ts | 120 -- src/@sdk/queries/orders.ts | 51 - src/@sdk/queries/products.ts | 135 -- src/@sdk/queries/shop.ts | 38 - src/@sdk/queries/sitemap.ts | 52 - src/@sdk/queries/user.ts | 22 - .../CredentialsProvider.tsx | 32 - .../components/CredentialsProvider/index.ts | 1 - .../components/CredentialsProvider/types.ts | 3 - .../SaleorProvider/SaleorProvider.tsx | 29 - .../react/components/SaleorProvider/index.ts | 1 - .../react/components/SaleorProvider/types.ts | 9 - src/@sdk/react/components/index.ts | 2 - src/@sdk/react/context.tsx | 5 - src/@sdk/react/helpers.ts | 43 - src/@sdk/react/hooks.ts | 4 - src/@sdk/react/index.ts | 5 - src/@sdk/react/mutations.ts | 16 - src/@sdk/react/queries.ts | 21 - src/@sdk/react/types.ts | 38 - src/@sdk/react/useHook.ts | 15 - src/@sdk/react/useMutation.ts | 156 --- src/@sdk/react/useQuery.ts | 132 -- src/@sdk/state/index.ts | 260 ---- src/@sdk/state/types.ts | 32 - src/@sdk/tsHelpers.ts | 18 - src/@sdk/tsconfig.json | 6 - src/@sdk/types.ts | 34 - src/@sdk/utils.ts | 50 - src/account/AddressBook/AddressBook.tsx | 4 +- src/components/CartTable/ProductRow.tsx | 4 +- src/components/CheckoutLogin/index.tsx | 2 +- src/components/LoginForm/index.tsx | 8 +- src/components/MainMenu/MainMenu.tsx | 106 +- src/components/OverlayManager/Cart/Cart.tsx | 10 +- .../OverlayManager/Cart/ProductList.tsx | 2 +- src/components/ProductDescription/index.tsx | 4 +- src/components/ShopProvider/context.ts | 2 +- src/components/ShopProvider/index.tsx | 2 +- src/core/types/address.ts | 2 +- src/index.tsx | 53 +- src/userAccount/components/Authenticated.tsx | 2 +- src/userAccount/views/OrderDetails/Page.tsx | 2 +- src/userAccount/views/OrderDetails/View.tsx | 2 +- src/views/Account/Account.tsx | 2 +- src/views/Product/View.tsx | 3 +- src/views/Product/types.ts | 2 +- tsconfig.json | 1 - webpack.d.ts | 2 +- 186 files changed, 298 insertions(+), 21030 deletions(-) delete mode 100644 src/@sdk/README.md delete mode 100644 src/@sdk/api/APIProxy.ts delete mode 100644 src/@sdk/api/Cart/index.ts delete mode 100644 src/@sdk/api/Cart/types.ts delete mode 100644 src/@sdk/api/Checkout/index.ts delete mode 100644 src/@sdk/api/Checkout/types.ts delete mode 100644 src/@sdk/api/index.ts delete mode 100644 src/@sdk/api/types.ts delete mode 100644 src/@sdk/apollo.config.js delete mode 100644 src/@sdk/auth.ts delete mode 100644 src/@sdk/config.ts delete mode 100644 src/@sdk/data/ApolloClientManager/index.ts delete mode 100644 src/@sdk/data/ApolloClientManager/types.ts delete mode 100644 src/@sdk/data/LocalStorageManager/index.ts delete mode 100644 src/@sdk/data/LocalStorageManager/types.ts delete mode 100644 src/@sdk/data/index.ts delete mode 100644 src/@sdk/fragments/auth.ts delete mode 100644 src/@sdk/fragments/checkout.ts delete mode 100644 src/@sdk/fragments/gqlTypes/Address.ts delete mode 100644 src/@sdk/fragments/gqlTypes/BasicProductFields.ts delete mode 100644 src/@sdk/fragments/gqlTypes/Checkout.ts delete mode 100644 src/@sdk/fragments/gqlTypes/CheckoutError.ts delete mode 100644 src/@sdk/fragments/gqlTypes/CheckoutLine.ts delete mode 100644 src/@sdk/fragments/gqlTypes/OrderDetail.ts delete mode 100644 src/@sdk/fragments/gqlTypes/OrderPrice.ts delete mode 100644 src/@sdk/fragments/gqlTypes/Payment.ts delete mode 100644 src/@sdk/fragments/gqlTypes/PaymentError.ts delete mode 100644 src/@sdk/fragments/gqlTypes/Price.ts delete mode 100644 src/@sdk/fragments/gqlTypes/ProductVariant.ts delete mode 100644 src/@sdk/fragments/gqlTypes/ProductVariantFields.ts delete mode 100644 src/@sdk/fragments/gqlTypes/SelectedAttributeFields.ts delete mode 100644 src/@sdk/fragments/gqlTypes/ShippingMethod.ts delete mode 100644 src/@sdk/fragments/gqlTypes/User.ts delete mode 100644 src/@sdk/fragments/payment.ts delete mode 100644 src/@sdk/fragments/products.ts delete mode 100644 src/@sdk/fragments/user.ts delete mode 100644 src/@sdk/global.d.ts delete mode 100644 src/@sdk/gqlTypes/globalTypes.ts delete mode 100644 src/@sdk/helpers/ErrorListener/index.ts delete mode 100644 src/@sdk/helpers/ErrorListener/types.ts delete mode 100644 src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts delete mode 100644 src/@sdk/helpers/LocalStorageHandler/index.ts delete mode 100644 src/@sdk/helpers/LocalStorageHandler/types.ts delete mode 100644 src/@sdk/helpers/NamedObservable/index.ts delete mode 100644 src/@sdk/helpers/NamedObservable/types.ts delete mode 100644 src/@sdk/helpers/index.ts delete mode 100644 src/@sdk/index.ts delete mode 100644 src/@sdk/jobs/Cart/CartJobs.ts delete mode 100644 src/@sdk/jobs/Cart/CartQueuedJobs.ts delete mode 100644 src/@sdk/jobs/Cart/index.ts delete mode 100644 src/@sdk/jobs/Checkout/CheckoutJobs.ts delete mode 100644 src/@sdk/jobs/Checkout/CheckoutQueuedJobs.ts delete mode 100644 src/@sdk/jobs/Checkout/index.ts delete mode 100644 src/@sdk/jobs/Jobs.ts delete mode 100644 src/@sdk/jobs/JobsManager.ts delete mode 100644 src/@sdk/jobs/QueuedJobs.ts delete mode 100644 src/@sdk/jobs/QueuedJobsHandler.ts delete mode 100644 src/@sdk/jobs/index.ts delete mode 100644 src/@sdk/jobs/types.ts delete mode 100644 src/@sdk/mutations/address.ts delete mode 100644 src/@sdk/mutations/auth.ts delete mode 100644 src/@sdk/mutations/checkout.ts delete mode 100644 src/@sdk/mutations/gqlTypes/AccountUpdate.ts delete mode 100644 src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts delete mode 100644 src/@sdk/mutations/gqlTypes/CompleteCheckout.ts delete mode 100644 src/@sdk/mutations/gqlTypes/CreateCheckout.ts delete mode 100644 src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts delete mode 100644 src/@sdk/mutations/gqlTypes/CreateUserAddress.ts delete mode 100644 src/@sdk/mutations/gqlTypes/DeleteUserAddress.ts delete mode 100644 src/@sdk/mutations/gqlTypes/PasswordChange.ts delete mode 100644 src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts delete mode 100644 src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts delete mode 100644 src/@sdk/mutations/gqlTypes/SetPassword.ts delete mode 100644 src/@sdk/mutations/gqlTypes/TokenAuth.ts delete mode 100644 src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts delete mode 100644 src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts delete mode 100644 src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts delete mode 100644 src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts delete mode 100644 src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts delete mode 100644 src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts delete mode 100644 src/@sdk/mutations/gqlTypes/VerifyToken.ts delete mode 100644 src/@sdk/mutations/index.ts delete mode 100644 src/@sdk/mutations/user.ts delete mode 100644 src/@sdk/queries/attributes.ts delete mode 100644 src/@sdk/queries/category.ts delete mode 100644 src/@sdk/queries/checkout.ts delete mode 100644 src/@sdk/queries/gqlTypes/Attributes.ts delete mode 100644 src/@sdk/queries/gqlTypes/CategoryDetails.ts delete mode 100644 src/@sdk/queries/gqlTypes/CheckoutDetails.ts delete mode 100644 src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts delete mode 100644 src/@sdk/queries/gqlTypes/GetCategories.ts delete mode 100644 src/@sdk/queries/gqlTypes/GetCollections.ts delete mode 100644 src/@sdk/queries/gqlTypes/GetProducts.ts delete mode 100644 src/@sdk/queries/gqlTypes/GetShop.ts delete mode 100644 src/@sdk/queries/gqlTypes/GetShopPaymentGateways.ts delete mode 100644 src/@sdk/queries/gqlTypes/OrderByToken.ts delete mode 100644 src/@sdk/queries/gqlTypes/OrdersByUser.ts delete mode 100644 src/@sdk/queries/gqlTypes/ProductDetails.ts delete mode 100644 src/@sdk/queries/gqlTypes/ProductList.ts delete mode 100644 src/@sdk/queries/gqlTypes/ProductPricingField.ts delete mode 100644 src/@sdk/queries/gqlTypes/UserCheckoutDetails.ts delete mode 100644 src/@sdk/queries/gqlTypes/UserDetails.ts delete mode 100644 src/@sdk/queries/gqlTypes/VariantsProducts.ts delete mode 100644 src/@sdk/queries/index.ts delete mode 100644 src/@sdk/queries/orders.ts delete mode 100644 src/@sdk/queries/products.ts delete mode 100644 src/@sdk/queries/shop.ts delete mode 100644 src/@sdk/queries/sitemap.ts delete mode 100644 src/@sdk/queries/user.ts delete mode 100644 src/@sdk/react/components/CredentialsProvider/CredentialsProvider.tsx delete mode 100644 src/@sdk/react/components/CredentialsProvider/index.ts delete mode 100644 src/@sdk/react/components/CredentialsProvider/types.ts delete mode 100644 src/@sdk/react/components/SaleorProvider/SaleorProvider.tsx delete mode 100644 src/@sdk/react/components/SaleorProvider/index.ts delete mode 100644 src/@sdk/react/components/SaleorProvider/types.ts delete mode 100644 src/@sdk/react/components/index.ts delete mode 100644 src/@sdk/react/context.tsx delete mode 100644 src/@sdk/react/helpers.ts delete mode 100644 src/@sdk/react/hooks.ts delete mode 100644 src/@sdk/react/index.ts delete mode 100644 src/@sdk/react/mutations.ts delete mode 100644 src/@sdk/react/queries.ts delete mode 100644 src/@sdk/react/types.ts delete mode 100644 src/@sdk/react/useHook.ts delete mode 100644 src/@sdk/react/useMutation.ts delete mode 100644 src/@sdk/react/useQuery.ts delete mode 100644 src/@sdk/state/index.ts delete mode 100644 src/@sdk/state/types.ts delete mode 100644 src/@sdk/tsHelpers.ts delete mode 100644 src/@sdk/tsconfig.json delete mode 100644 src/@sdk/types.ts delete mode 100644 src/@sdk/utils.ts diff --git a/.circleci/config.yml b/.circleci/config.yml index 2158670aee..9c27acc788 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ jobs: build: working_directory: ~/app docker: - - image: circleci/node:10.7.0-browsers + - image: circleci/node:12.16.3-browsers steps: - checkout - run: @@ -11,7 +11,7 @@ jobs: command: sudo apt-get install -y libpng-dev - run: name: Install dependencies - command: npm install + command: npm ci - run: name: Run typescript checker command: npx tsc --noEmit & npx tsc --noEmit -p src/@sdk & npx tsc --noEmit -p src/@next @@ -36,7 +36,7 @@ jobs: - dist/* cypress/run: docker: - - image: cypress/base:10 + - image: cypress/base:12.16.2 environment: TERM: xterm parallelism: 1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a725d41f1..f7342bf771 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable, unreleased changes to this project will be documented in this file. - Add Cypress tags to all of the buttons (also speed up tests) - #718 by @krzysztofwolski - Automatically choose variant attributes from url in ProductVariantPicker - #708 by @AlicjaSzu +- Use sdk as a standalone package - #724 by @dominik-zeglen ## 2.10.1 diff --git a/config/webpack/config.base.js b/config/webpack/config.base.js index 05ccad3313..fa4de75cab 100644 --- a/config/webpack/config.base.js +++ b/config/webpack/config.base.js @@ -4,6 +4,7 @@ const { CleanWebpackPlugin } = require("clean-webpack-plugin"); const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin"); const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin"); const webpack = require("webpack"); +const path = require("path"); if (!process.env.API_URI) { throw new Error("Environment variable API_URI not set"); @@ -12,6 +13,10 @@ if (!process.env.API_URI) { module.exports = ({ sourceDir, distDir }) => ({ resolve: { alias: { + // Explicitely set react's path here because npm-link doesn't do well + // when it comes to peer dependencies, and we need to somehow develop + // @saleor/sdk package + react: path.resolve("./node_modules/react"), "react-dom": "@hot-loader/react-dom", }, extensions: [".ts", ".tsx", ".js", ".jsx"], diff --git a/package-lock.json b/package-lock.json index ae443a26a8..945d4875c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5775,6 +5775,111 @@ } } }, + "@saleor/sdk": { + "version": "github:mirumee/saleor-sdk#7e20ec7cec744634d28b99c7adc0d82009236e63", + "from": "github:mirumee/saleor-sdk#7e20ec7", + "requires": { + "apollo-cache": "^1.3.5", + "apollo-link-batch-http": "^1.2.14", + "apollo-link-retry": "^2.2.16", + "lodash-es": "^4.17.15" + }, + "dependencies": { + "apollo-cache": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.3.5.tgz", + "integrity": "sha512-1XoDy8kJnyWY/i/+gLTEbYLnoiVtS8y7ikBr/IfmML4Qb+CM7dEEbIUOjnY716WqmZ/UpXIxTfJsY7rMcqiCXA==", + "requires": { + "apollo-utilities": "^1.3.4", + "tslib": "^1.10.0" + } + }, + "apollo-link": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz", + "integrity": "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==", + "requires": { + "apollo-utilities": "^1.3.0", + "ts-invariant": "^0.4.0", + "tslib": "^1.9.3", + "zen-observable-ts": "^0.8.21" + } + }, + "apollo-link-batch": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/apollo-link-batch/-/apollo-link-batch-1.1.15.tgz", + "integrity": "sha512-XbfQI/FNxJW9RSgJTfAl7RDFxxN77425yDtT7YgsImH4/2NQ+U4SWN6thWE3ZU1Wf7ktXd+XFa3KkenBRTybOQ==", + "requires": { + "apollo-link": "^1.2.14", + "tslib": "^1.9.3" + } + }, + "apollo-link-batch-http": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/apollo-link-batch-http/-/apollo-link-batch-http-1.2.14.tgz", + "integrity": "sha512-LFUmfV3OXR3Er+zSgFxPY/qUe4Wyx0HS1euJZ36RCCaDvPegr24C9OQgKFScHy91VbjRTtFUyjXXVq1xFGPMvQ==", + "requires": { + "apollo-link": "^1.2.14", + "apollo-link-batch": "^1.1.15", + "apollo-link-http-common": "^0.2.16", + "tslib": "^1.9.3" + } + }, + "apollo-link-http-common": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz", + "integrity": "sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==", + "requires": { + "apollo-link": "^1.2.14", + "ts-invariant": "^0.4.0", + "tslib": "^1.9.3" + } + }, + "apollo-link-retry": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/apollo-link-retry/-/apollo-link-retry-2.2.16.tgz", + "integrity": "sha512-7F9+meFAz4dw5gtgtLsRFqJW6QzNOhTzt5R5Hsy+yFhkTW9LddgYO7gxN9n7RN/7Ouosh3TcpUkdHs2laC+0sA==", + "requires": { + "@types/zen-observable": "0.8.0", + "apollo-link": "^1.2.14", + "tslib": "^1.9.3" + } + }, + "apollo-utilities": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz", + "integrity": "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==", + "requires": { + "@wry/equality": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "ts-invariant": "^0.4.0", + "tslib": "^1.10.0" + } + }, + "ts-invariant": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", + "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==", + "requires": { + "tslib": "^1.9.3" + } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" + }, + "zen-observable-ts": { + "version": "0.8.21", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz", + "integrity": "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==", + "requires": { + "tslib": "^1.9.3", + "zen-observable": "^0.8.0" + } + } + } + }, "@samverschueren/stream-to-observable": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", @@ -12699,7 +12804,7 @@ }, "ansi-escapes": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" }, "ansi-html": { @@ -14933,7 +15038,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } @@ -18937,7 +19043,7 @@ "dependencies": { "domelementtype": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", "dev": true } @@ -20400,7 +20506,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } @@ -21372,7 +21479,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "get-value": { @@ -22210,7 +22317,7 @@ }, "htmlparser2": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", "dev": true, "requires": { @@ -22231,7 +22338,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -22243,7 +22350,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } @@ -23329,7 +23436,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -27007,7 +27114,7 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { @@ -27097,7 +27204,7 @@ }, "kew": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz", "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", "dev": true }, @@ -28137,7 +28244,7 @@ "dependencies": { "json5": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true } @@ -29237,6 +29344,10 @@ "minimist": "^1.2.5" } }, + "mlx90363": { + "version": "github:cinderblock/node-MLX90363#bfef7be8e08b8ff7955e0b062c33653701bf55a5", + "from": "github:cinderblock/node-MLX90363#bfef7be" + }, "moment": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", @@ -31146,7 +31257,7 @@ }, "parse-asn1": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { @@ -31419,7 +31530,7 @@ "dependencies": { "fs-extra": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "dev": true, "requires": { @@ -33794,7 +33905,7 @@ }, "ramda": { "version": "0.21.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", + "resolved": "http://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", "integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=", "dev": true }, @@ -35230,7 +35341,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -37176,7 +37287,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } @@ -37778,7 +37890,7 @@ }, "stream-browserify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { @@ -38187,7 +38299,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -38420,7 +38532,7 @@ }, "yargs": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", "dev": true, "requires": { @@ -38441,7 +38553,7 @@ }, "yargs-parser": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "dev": true, "requires": { @@ -39720,7 +39832,7 @@ }, "buffer": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", + "resolved": "http://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", "dev": true, "requires": { @@ -41953,7 +42065,7 @@ }, "xmlbuilder": { "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", "dev": true }, diff --git a/package.json b/package.json index 62d62a4825..81a6b75a04 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "dependencies": { "@babel/runtime": "^7.5.5", "@lhci/cli": "^0.3.9", + "@saleor/sdk": "github:mirumee/saleor-sdk#649e0ba", "@sentry/apm": "^5.15.5", "@sentry/browser": "^5.15.5", "@stripe/react-stripe-js": "^1.1.2", @@ -39,6 +40,7 @@ "isomorphic-fetch": "^2.2.1", "js-base64": "^2.4.8", "lodash": "^4.17.15", + "mlx90363": "github:cinderblock/node-MLX90363#bfef7be", "nuka-carousel": "^4.6.0", "react": "^16.9.9", "react-addons-css-transition-group": "^15.6.2", diff --git a/src/@next/components/molecules/AccountTabTiles/AccountTile.tsx b/src/@next/components/molecules/AccountTabTiles/AccountTile.tsx index d5a1ec94b0..a09c2e6877 100644 --- a/src/@next/components/molecules/AccountTabTiles/AccountTile.tsx +++ b/src/@next/components/molecules/AccountTabTiles/AccountTile.tsx @@ -1,6 +1,6 @@ import React from "react"; -import { useAccountUpdate, useUserDetails } from "@sdk/react"; +import { useAccountUpdate, useUserDetails } from "@saleor/sdk"; import { Attribute, IconButton, Tile } from "@components/atoms"; diff --git a/src/@next/components/molecules/AccountTabTiles/PasswordTile.tsx b/src/@next/components/molecules/AccountTabTiles/PasswordTile.tsx index 2fe42daa4d..d7a8171ad4 100755 --- a/src/@next/components/molecules/AccountTabTiles/PasswordTile.tsx +++ b/src/@next/components/molecules/AccountTabTiles/PasswordTile.tsx @@ -2,7 +2,7 @@ import React from "react"; import { Attribute, IconButton, Tile } from "@components/atoms"; -import { usePasswordChange } from "@sdk/react"; +import { usePasswordChange } from "@saleor/sdk"; import { PasswordChangeForm } from "./PasswordChangeForm"; import * as S from "./styles"; diff --git a/src/@next/components/molecules/AccountTabTiles/test.tsx b/src/@next/components/molecules/AccountTabTiles/test.tsx index 4af6404892..297c22833f 100644 --- a/src/@next/components/molecules/AccountTabTiles/test.tsx +++ b/src/@next/components/molecules/AccountTabTiles/test.tsx @@ -7,7 +7,7 @@ import { TextField } from "../"; import { AccountTile } from "./AccountTile"; import { PasswordTile } from "./PasswordTile"; -jest.mock("@sdk/react", () => ({ +jest.mock("@saleor/sdk", () => ({ useAccountUpdate: () => [jest.fn(), { data: null, error: null }], usePasswordChange: () => [jest.fn(), { data: null, error: null }], useUserDetails: () => ({ data: { firstName: "John", lastName: "Doe" } }), diff --git a/src/@next/components/molecules/ProductTile/fixtures.ts b/src/@next/components/molecules/ProductTile/fixtures.ts index b1f4e692a0..a775014c95 100644 --- a/src/@next/components/molecules/ProductTile/fixtures.ts +++ b/src/@next/components/molecules/ProductTile/fixtures.ts @@ -1,4 +1,4 @@ -import { ProductList_products_edges_node } from "@sdk/queries/gqlTypes/ProductList"; +import { ProductList_products_edges_node } from "@saleor/sdk/lib/queries/gqlTypes/ProductList"; export const PRODUCT: ProductList_products_edges_node = { __typename: "Product", diff --git a/src/@next/components/molecules/ProductTile/types.ts b/src/@next/components/molecules/ProductTile/types.ts index 7706418a78..65ef480c27 100755 --- a/src/@next/components/molecules/ProductTile/types.ts +++ b/src/@next/components/molecules/ProductTile/types.ts @@ -1,4 +1,4 @@ -import { ProductList_products_edges_node } from "@sdk/queries/gqlTypes/ProductList"; +import { ProductList_products_edges_node } from "@saleor/sdk/lib/queries/gqlTypes/ProductList"; type PartialBy = Omit & Partial>; diff --git a/src/@next/components/organisms/AddressFormModal/AddressFormModal.tsx b/src/@next/components/organisms/AddressFormModal/AddressFormModal.tsx index f3b901ceb4..1ece6755c7 100755 --- a/src/@next/components/organisms/AddressFormModal/AddressFormModal.tsx +++ b/src/@next/components/organisms/AddressFormModal/AddressFormModal.tsx @@ -1,11 +1,11 @@ import React from "react"; -import { useCreateUserAddress, useUpdateUserAddress } from "@sdk/react"; +import { useCreateUserAddress, useUpdateUserAddress } from "@saleor/sdk"; import { AddressForm } from "../AddressForm"; import { Modal } from "../Modal"; -import { CountryCode } from "@sdk/gqlTypes/globalTypes"; +import { CountryCode } from "@saleor/sdk/lib/gqlTypes/globalTypes"; import { IProps } from "./types"; export const AddressFormModal: React.FC = ({ @@ -50,7 +50,7 @@ export const AddressFormModal: React.FC = ({ return ( { hideModal(); diff --git a/src/@next/components/organisms/AddressFormModal/test.tsx b/src/@next/components/organisms/AddressFormModal/test.tsx index 46678406f5..7cfacc71eb 100644 --- a/src/@next/components/organisms/AddressFormModal/test.tsx +++ b/src/@next/components/organisms/AddressFormModal/test.tsx @@ -4,7 +4,7 @@ import React from "react"; import { AddressFormModal } from "."; -jest.mock("@sdk/react", () => ({ +jest.mock("@saleor/sdk", () => ({ useCreateUserAddress: () => [jest.fn(), { data: null, error: null }], useUpdateUserAddress: () => [jest.fn(), { data: null, error: null }], })); diff --git a/src/@next/components/organisms/CheckoutAddress/fixtures.ts b/src/@next/components/organisms/CheckoutAddress/fixtures.ts index a55517c1d3..f1f9084f3c 100644 --- a/src/@next/components/organisms/CheckoutAddress/fixtures.ts +++ b/src/@next/components/organisms/CheckoutAddress/fixtures.ts @@ -1,6 +1,6 @@ import { IAddressWithAddressType } from "@types"; -import { GetShop_shop_countries } from "@temp/@sdk/queries/gqlTypes/GetShop"; +import { GetShop_shop_countries } from "@saleor/sdk/lib/queries/gqlTypes/GetShop"; import { Address } from "./types"; const formAddress: IAddressWithAddressType = { diff --git a/src/@next/components/organisms/CheckoutAddress/types.ts b/src/@next/components/organisms/CheckoutAddress/types.ts index 38feec7c00..02f6c19dde 100755 --- a/src/@next/components/organisms/CheckoutAddress/types.ts +++ b/src/@next/components/organisms/CheckoutAddress/types.ts @@ -1,4 +1,4 @@ -import { GetShop_shop_countries } from "@temp/@sdk/queries/gqlTypes/GetShop"; +import { GetShop_shop_countries } from "@saleor/sdk/lib/queries/gqlTypes/GetShop"; import { IAddress, IAddressWithAddressType, IFormError } from "@types"; export declare type Address = { diff --git a/src/@next/components/organisms/CheckoutPayment/fixtures.ts b/src/@next/components/organisms/CheckoutPayment/fixtures.ts index 998efd1b8f..2855356877 100644 --- a/src/@next/components/organisms/CheckoutPayment/fixtures.ts +++ b/src/@next/components/organisms/CheckoutPayment/fixtures.ts @@ -1,4 +1,4 @@ -import { GetShop_shop_countries } from "@temp/@sdk/queries/gqlTypes/GetShop"; +import { GetShop_shop_countries } from "@saleor/sdk/lib/queries/gqlTypes/GetShop"; import { IAddressWithAddressType, IPaymentGateway } from "@types"; const address: IAddressWithAddressType = { diff --git a/src/@next/components/organisms/CheckoutPayment/types.ts b/src/@next/components/organisms/CheckoutPayment/types.ts index e940789d8f..e00397e15b 100755 --- a/src/@next/components/organisms/CheckoutPayment/types.ts +++ b/src/@next/components/organisms/CheckoutPayment/types.ts @@ -1,4 +1,4 @@ -import { GetShop_shop_countries } from "@sdk/queries/gqlTypes/GetShop"; +import { GetShop_shop_countries } from "@saleor/sdk/lib/queries/gqlTypes/GetShop"; import { IAddress, IAddressWithAddressType, diff --git a/src/@next/components/organisms/ProductList/fixtures.ts b/src/@next/components/organisms/ProductList/fixtures.ts index 0f903f82c6..80bbf8f1e2 100644 --- a/src/@next/components/organisms/ProductList/fixtures.ts +++ b/src/@next/components/organisms/ProductList/fixtures.ts @@ -1,4 +1,4 @@ -import { ProductList_products_edges_node } from "@sdk/queries/gqlTypes/ProductList"; +import { ProductList_products_edges_node } from "@saleor/sdk/lib/queries/gqlTypes/ProductList"; export const PRODUCTS: ProductList_products_edges_node[] = [ { diff --git a/src/@next/components/organisms/ProductList/types.ts b/src/@next/components/organisms/ProductList/types.ts index 68a790f3ba..649d2d7d7c 100755 --- a/src/@next/components/organisms/ProductList/types.ts +++ b/src/@next/components/organisms/ProductList/types.ts @@ -1,4 +1,4 @@ -import { ProductList_products_edges_node } from "@sdk/queries/gqlTypes/ProductList"; +import { ProductList_products_edges_node } from "@saleor/sdk/lib/queries/gqlTypes/ProductList"; type PartialBy = Omit & Partial>; diff --git a/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx b/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx index 9035665a88..6d027ec523 100644 --- a/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx +++ b/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx @@ -3,7 +3,7 @@ import React, { useEffect } from "react"; import { Icon, Input } from "@components/atoms"; import { InputSelect } from "@components/molecules"; import { useSelectableProductVariantsAttributeValues } from "@hooks"; -import { ProductDetails_product_variants } from "@sdk/queries/gqlTypes/ProductDetails"; +import { ProductDetails_product_variants } from "@saleor/sdk/lib/queries/gqlTypes/ProductDetails"; import { IProductVariantsAttribute, IProductVariantsAttributesSelectedValues, diff --git a/src/@next/components/organisms/ProductVariantPicker/fixtures.ts b/src/@next/components/organisms/ProductVariantPicker/fixtures.ts index cabe385837..0089102df6 100644 --- a/src/@next/components/organisms/ProductVariantPicker/fixtures.ts +++ b/src/@next/components/organisms/ProductVariantPicker/fixtures.ts @@ -1,4 +1,4 @@ -import { ProductDetails_product_variants } from "@sdk/queries/gqlTypes/ProductDetails"; +import { ProductDetails_product_variants } from "@saleor/sdk/lib/queries/gqlTypes/ProductDetails"; // tslint:disable:object-literal-sort-keys export const productVariants: ProductDetails_product_variants[] = [ diff --git a/src/@next/components/organisms/ProductVariantPicker/types.ts b/src/@next/components/organisms/ProductVariantPicker/types.ts index 9c4240bf00..4e1c3dcfa7 100755 --- a/src/@next/components/organisms/ProductVariantPicker/types.ts +++ b/src/@next/components/organisms/ProductVariantPicker/types.ts @@ -1,4 +1,4 @@ -import { ProductDetails_product_variants } from "@sdk/queries/gqlTypes/ProductDetails"; +import { ProductDetails_product_variants } from "@saleor/sdk/lib/queries/gqlTypes/ProductDetails"; import { IProductVariantsAttributesSelectedValues } from "@types"; diff --git a/src/@next/hooks/useCheckoutStepState.ts b/src/@next/hooks/useCheckoutStepState.ts index 41ace7300a..5c4ec78322 100644 --- a/src/@next/hooks/useCheckoutStepState.ts +++ b/src/@next/hooks/useCheckoutStepState.ts @@ -1,7 +1,7 @@ import { useEffect, useState } from "react"; -import { IItems } from "@sdk/api/Cart/types"; -import { ICheckout, IPayment } from "@sdk/api/Checkout/types"; +import { IItems } from "@saleor/sdk/lib/api/Cart/types"; +import { ICheckout, IPayment } from "@saleor/sdk/lib/api/Checkout/types"; import { CheckoutStep } from "@temp/core/config"; export const useCheckoutStepState = ( diff --git a/src/@next/hooks/useProductVariantsAttributes.tsx b/src/@next/hooks/useProductVariantsAttributes.tsx index dc2fff7704..f604eba22a 100644 --- a/src/@next/hooks/useProductVariantsAttributes.tsx +++ b/src/@next/hooks/useProductVariantsAttributes.tsx @@ -1,6 +1,6 @@ import { useEffect, useState } from "react"; -import { ProductDetails_product_variants } from "@sdk/queries/gqlTypes/ProductDetails"; +import { ProductDetails_product_variants } from "@saleor/sdk/lib/queries/gqlTypes/ProductDetails"; import { IProductVariantsAttributes } from "@types"; diff --git a/src/@next/hooks/useSelectableProductVariantsAttributeValues.tsx b/src/@next/hooks/useSelectableProductVariantsAttributeValues.tsx index 02f3da1912..aad06a3ea6 100644 --- a/src/@next/hooks/useSelectableProductVariantsAttributeValues.tsx +++ b/src/@next/hooks/useSelectableProductVariantsAttributeValues.tsx @@ -1,6 +1,6 @@ import { useEffect, useState } from "react"; -import { ProductDetails_product_variants } from "@sdk/queries/gqlTypes/ProductDetails"; +import { ProductDetails_product_variants } from "@saleor/sdk/lib/queries/gqlTypes/ProductDetails"; import { IProductVariantsAttributes, IProductVariantsAttributesSelectedValues, diff --git a/src/@next/pages/CartPage/CartPage.tsx b/src/@next/pages/CartPage/CartPage.tsx index 71807fa9a6..3edd1ab720 100755 --- a/src/@next/pages/CartPage/CartPage.tsx +++ b/src/@next/pages/CartPage/CartPage.tsx @@ -1,3 +1,4 @@ +import { useCart, useCheckout, useUserDetails } from "@saleor/sdk"; import { History } from "history"; import React from "react"; import { useHistory } from "react-router-dom"; @@ -6,9 +7,8 @@ import { Button, CartFooter, CartHeader } from "@components/atoms"; import { TaxedMoney } from "@components/containers"; import { CartRow } from "@components/organisms"; import { Cart, CartEmpty } from "@components/templates"; -import { IItems } from "@sdk/api/Cart/types"; -import { UserDetails_me } from "@sdk/queries/gqlTypes/UserDetails"; -import { useCart, useCheckout, useUserDetails } from "@sdk/react"; +import { IItems } from "@saleor/sdk/lib/api/Cart/types"; +import { UserDetails_me } from "@saleor/sdk/lib/queries/gqlTypes/UserDetails"; import { BASE_URL } from "@temp/core/config"; import { ITaxedMoney } from "@types"; diff --git a/src/@next/pages/CheckoutPage/CheckoutPage.tsx b/src/@next/pages/CheckoutPage/CheckoutPage.tsx index 81679458e5..3487a16ed6 100755 --- a/src/@next/pages/CheckoutPage/CheckoutPage.tsx +++ b/src/@next/pages/CheckoutPage/CheckoutPage.tsx @@ -5,8 +5,8 @@ import { Button, Loader } from "@components/atoms"; import { CheckoutProgressBar } from "@components/molecules"; import { CartSummary } from "@components/organisms"; import { Checkout } from "@components/templates"; -import { IItems } from "@sdk/api/Cart/types"; -import { useCart, useCheckout } from "@sdk/react"; +import { useCart, useCheckout } from "@saleor/sdk"; +import { IItems } from "@saleor/sdk/lib/api/Cart/types"; import { CHECKOUT_STEPS } from "@temp/core/config"; import { ITaxedMoney } from "@types"; @@ -82,7 +82,11 @@ const getCheckoutProgress = ( const getButton = (text: string, onClick: () => void) => { if (text) { return ( - ); diff --git a/src/@next/pages/CheckoutPage/CheckoutRouter.tsx b/src/@next/pages/CheckoutPage/CheckoutRouter.tsx index 15883bfd3a..c03915f8c8 100644 --- a/src/@next/pages/CheckoutPage/CheckoutRouter.tsx +++ b/src/@next/pages/CheckoutPage/CheckoutRouter.tsx @@ -8,8 +8,8 @@ import { } from "react-router-dom"; import { useCheckoutStepFromPath, useCheckoutStepState } from "@hooks"; -import { IItems } from "@sdk/api/Cart/types"; -import { ICheckout, IPayment } from "@sdk/api/Checkout/types"; +import { IItems } from "@saleor/sdk/lib/api/Cart/types"; +import { ICheckout, IPayment } from "@saleor/sdk/lib/api/Checkout/types"; import { CHECKOUT_STEPS } from "@temp/core/config"; interface IRouterProps { diff --git a/src/@next/pages/CheckoutPage/subpages/CheckoutAddressSubpage.tsx b/src/@next/pages/CheckoutPage/subpages/CheckoutAddressSubpage.tsx index 7c32be9358..bec9f03e82 100644 --- a/src/@next/pages/CheckoutPage/subpages/CheckoutAddressSubpage.tsx +++ b/src/@next/pages/CheckoutPage/subpages/CheckoutAddressSubpage.tsx @@ -9,7 +9,7 @@ import React, { import { RouteComponentProps, useHistory } from "react-router"; import { CheckoutAddress } from "@components/organisms"; -import { useCheckout, useUserDetails } from "@sdk/react"; +import { useCheckout, useUserDetails } from "@saleor/sdk"; import { ShopContext } from "@temp/components/ShopProvider/context"; import { CHECKOUT_STEPS } from "@temp/core/config"; import { IAddress, IFormError } from "@types"; diff --git a/src/@next/pages/CheckoutPage/subpages/CheckoutPaymentSubpage.tsx b/src/@next/pages/CheckoutPage/subpages/CheckoutPaymentSubpage.tsx index 7061ef96a8..6cfb5165b6 100644 --- a/src/@next/pages/CheckoutPage/subpages/CheckoutPaymentSubpage.tsx +++ b/src/@next/pages/CheckoutPage/subpages/CheckoutPaymentSubpage.tsx @@ -10,7 +10,7 @@ import React, { import { RouteComponentProps, useHistory } from "react-router"; import { CheckoutPayment } from "@components/organisms"; -import { useCart, useCheckout, useUserDetails } from "@sdk/react"; +import { useCart, useCheckout, useUserDetails } from "@saleor/sdk"; import { ShopContext } from "@temp/components/ShopProvider/context"; import { CHECKOUT_STEPS } from "@temp/core/config"; import { IAddress, ICardData, IFormError } from "@types"; diff --git a/src/@next/pages/CheckoutPage/subpages/CheckoutReviewSubpage.tsx b/src/@next/pages/CheckoutPage/subpages/CheckoutReviewSubpage.tsx index a508c4f449..c6f5ea7c5e 100644 --- a/src/@next/pages/CheckoutPage/subpages/CheckoutReviewSubpage.tsx +++ b/src/@next/pages/CheckoutPage/subpages/CheckoutReviewSubpage.tsx @@ -8,7 +8,7 @@ import { RouteComponentProps, useHistory } from "react-router"; import { CheckoutReview } from "@components/organisms"; import { statuses as dummyStatuses } from "@components/organisms/DummyPaymentGateway"; -import { useCheckout } from "@sdk/react"; +import { useCheckout } from "@saleor/sdk"; import { CHECKOUT_STEPS } from "@temp/core/config"; import { IFormError } from "@types"; diff --git a/src/@next/pages/CheckoutPage/subpages/CheckoutShippingSubpage.tsx b/src/@next/pages/CheckoutPage/subpages/CheckoutShippingSubpage.tsx index 8f9508c29f..1772be4358 100644 --- a/src/@next/pages/CheckoutPage/subpages/CheckoutShippingSubpage.tsx +++ b/src/@next/pages/CheckoutPage/subpages/CheckoutShippingSubpage.tsx @@ -8,7 +8,7 @@ import React, { import { RouteComponentProps, useHistory } from "react-router"; import { CheckoutShipping } from "@components/organisms"; -import { useCheckout } from "@sdk/react"; +import { useCheckout } from "@saleor/sdk"; import { CHECKOUT_STEPS } from "@temp/core/config"; import { IFormError } from "@types"; diff --git a/src/@next/pages/OrdersHistory/OrdersHistory.tsx b/src/@next/pages/OrdersHistory/OrdersHistory.tsx index fdd31d4987..3a9bfd4d10 100755 --- a/src/@next/pages/OrdersHistory/OrdersHistory.tsx +++ b/src/@next/pages/OrdersHistory/OrdersHistory.tsx @@ -1,4 +1,4 @@ -import { useOrdersByUser } from "@sdk/react/"; +import { useOrdersByUser } from "@saleor/sdk/"; import React from "react"; import { Button, Loader } from "@components/atoms"; diff --git a/src/@next/pages/PasswordReset/PasswordReset.tsx b/src/@next/pages/PasswordReset/PasswordReset.tsx index 910d828464..68c1d0b4b3 100755 --- a/src/@next/pages/PasswordReset/PasswordReset.tsx +++ b/src/@next/pages/PasswordReset/PasswordReset.tsx @@ -1,11 +1,10 @@ +import { setAuthToken, useSetPassword } from "@saleor/sdk"; import { Formik } from "formik"; import React from "react"; import * as Yup from "yup"; import { StringParam, useQueryParams } from "use-query-params"; -import { setAuthToken } from "@sdk/auth"; -import { useSetPassword } from "@sdk/react"; import { BASE_URL } from "@temp/core/config"; import { ResetPasswordForm } from "@components/molecules"; diff --git a/src/@next/types/IProductVariantsAttributes.ts b/src/@next/types/IProductVariantsAttributes.ts index 55748c81e0..3d87ffa4f3 100644 --- a/src/@next/types/IProductVariantsAttributes.ts +++ b/src/@next/types/IProductVariantsAttributes.ts @@ -1,8 +1,9 @@ -import { ISelectOption } from "@types"; import { ProductDetails_product_variants_attributes_attribute, ProductDetails_product_variants_attributes_values, -} from "../../@sdk/queries/gqlTypes/ProductDetails"; +} from "@saleor/sdk/lib/queries/gqlTypes/ProductDetails"; + +import { ISelectOption } from "@types"; export interface IProductVariantsAttribute { attribute: ProductDetails_product_variants_attributes_attribute; diff --git a/src/@sdk/README.md b/src/@sdk/README.md deleted file mode 100644 index 92d1bb7ce0..0000000000 --- a/src/@sdk/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# Saleor API SDK - -This package contains all queries and mutations that are used in our sample storefront. It can be used for semi-custom or fully-custom (with ability to extend existing queries) storefront solutions. - -## Setup (PACKAGE CURRENTLY NOT RELEASED TO NPM) - -``` -npm install saleor-sdk -``` - -Create new saleor client by using our built-in pre-configured apollo client: - -``` -import { createSaleorClient } from 'saleor-sdk' - -const client = createSaleorClient(API_URL) -``` - -## Usage - -### React - -We provide a custom hook per each query that have near identical API to `react-apollo` but are dynamically typed, with built-in error handling. - -In your root file: - -``` -import { SaleorProvider } from 'saleor-sdk' -import { client } from './saleor' - -import App from './App' - -const rootElement = document.getElementById('root') -ReactDOM.render( - - - , - rootElement -) -``` - -There are 2 types of api calls - queries and mutations. - -Query (gets data): - -``` -const { data: TData["data"], loading: boolean, error: ApolloError } = useProductDetails(variables, options?) -``` - -Mutation (sets data): - -``` -const [ - signIn: (options?) => Promise, - { data: TData["data"], loading: boolean, error: ApolloError, called: boolean } -] = useSignIn(options?) -``` - -For `options` and full api reference, navigate to [official docs](https://www.apollographql.com/docs/) - -### Other frameworks - -Create new SaleorAPI instance and use methods available on it - -``` -import { SaleorAPI } from 'saleor-sdk' -import { client } from './saleor' - -export const saleorAPI = new SaleorAPI(client) -``` - -``` -const { data } = await saleorAPI.getProductDetails(variables, options?) -``` diff --git a/src/@sdk/api/APIProxy.ts b/src/@sdk/api/APIProxy.ts deleted file mode 100644 index 3a451b6a36..0000000000 --- a/src/@sdk/api/APIProxy.ts +++ /dev/null @@ -1,378 +0,0 @@ -import { - ApolloClient, - ApolloError, - ObservableQuery, - WatchQueryOptions, -} from "apollo-client"; -import { GraphQLError } from "graphql"; - -import { fireSignOut, getAuthToken, setAuthToken } from "../auth"; -import { MUTATIONS } from "../mutations"; -import { TokenAuth } from "../mutations/gqlTypes/TokenAuth"; -import { QUERIES } from "../queries"; -import { UserDetails } from "../queries/gqlTypes/UserDetails"; -import { RequireAtLeastOne } from "../tsHelpers"; -import { - InferOptions, - MapFn, - QueryShape, - WatchMapFn, - WatchQueryData, -} from "../types"; -import { - getErrorsFromData, - getMappedData, - isDataEmpty, - mergeEdges, -} from "../utils"; - -export class APIProxy { - getAttributes = this.watchQuery(QUERIES.Attributes, data => data.attributes); - - getProductDetails = this.watchQuery( - QUERIES.ProductDetails, - data => data.product - ); - - getProductList = this.watchQuery(QUERIES.ProductList, data => data.products); - - getCategoryDetails = this.watchQuery( - QUERIES.CategoryDetails, - data => data.category - ); - - getOrdersByUser = this.watchQuery(QUERIES.OrdersByUser, data => - data.me ? data.me.orders : null - ); - - getOrderDetails = this.watchQuery( - QUERIES.OrderDetails, - data => data.orderByToken - ); - - getVariantsProducts = this.watchQuery( - QUERIES.VariantsProducts, - data => data.productVariants - ); - - getShopDetails = this.watchQuery(QUERIES.GetShopDetails, data => data); - - setUserDefaultAddress = this.fireQuery( - MUTATIONS.AddressTypeUpdate, - data => data!.accountSetDefaultAddress - ); - - setDeleteUserAddress = this.fireQuery( - MUTATIONS.DeleteUserAddress, - data => data!.accountAddressDelete - ); - - setCreateUserAddress = this.fireQuery( - MUTATIONS.CreateUserAddress, - data => data!.accountAddressCreate - ); - - setUpdateuserAddress = this.fireQuery( - MUTATIONS.UpdateUserAddress, - data => data!.accountAddressUpdate - ); - - setAccountUpdate = this.fireQuery( - MUTATIONS.AccountUpdate, - data => data!.accountUpdate - ); - - setPasswordChange = this.fireQuery(MUTATIONS.PasswordChange, data => data); - - setPassword = this.fireQuery(MUTATIONS.SetPassword, data => data); - - client: ApolloClient; - - constructor(client: ApolloClient) { - this.client = client; - } - - getUserDetails = ( - variables: InferOptions["variables"], - options: Omit, "variables"> & { - onUpdate: (data: UserDetails["me"] | null) => void; - } - ) => { - if (this.isLoggedIn()) { - return this.watchQuery(QUERIES.UserDetails, data => data.me)( - variables, - options - ); - } - if (options.onUpdate) { - options.onUpdate(null); - } - return { - refetch: () => - new Promise<{ data: UserDetails["me"] }>((resolve, _reject) => { - resolve({ data: null }); - }), - unsubscribe: () => undefined, - }; - }; - - signIn = ( - variables: InferOptions["variables"], - options?: Omit, "variables"> - ) => - new Promise<{ data: TokenAuth["tokenCreate"] }>(async (resolve, reject) => { - try { - this.client.resetStore(); - - const data = await this.fireQuery( - MUTATIONS.TokenAuth, - data => data!.tokenCreate - )(variables, { - ...options, - update: (proxy, data) => { - const handledData = handleDataErrors( - (data: any) => data.tokenCreate, - data.data, - data.errors - ); - if (!handledData.errors && handledData.data) { - setAuthToken(handledData.data.token); - if (window.PasswordCredential && variables) { - navigator.credentials.store( - new window.PasswordCredential({ - id: variables.email, - password: variables.password, - }) - ); - } - } - if (options && options.update) { - options.update(proxy, data); - } - }, - }); - - resolve(data); - } catch (e) { - reject(e); - } - }); - - signOut = () => - new Promise(async (resolve, reject) => { - try { - fireSignOut(this.client); - - resolve(); - } catch (e) { - reject(e); - } - }); - - attachAuthListener = (callback: (authenticated: boolean) => void) => { - const eventHandler = () => { - callback(this.isLoggedIn()); - }; - - addEventListener("auth", eventHandler); - - return () => { - removeEventListener("auth", eventHandler); - }; - }; - - isLoggedIn = () => { - return !!getAuthToken(); - }; - - watchQuery( - query: T, - mapFn: WatchMapFn - ) { - return < - TVariables extends InferOptions["variables"], - TOptions extends Omit< - InferOptions | WatchQueryOptions>, - "variables" - > - >( - variables: TVariables, - options: TOptions & { - skip?: boolean; - onComplete?: () => void; - onError?: (error: ApolloError) => void; - onUpdate: (data: ReturnType | null) => void; - } - ) => { - const { onComplete, onError, onUpdate, ...apolloClientOptions } = options; - - const observable: ObservableQuery, TVariables> = query( - this.client, - { - ...apolloClientOptions, - variables, - } - ); - - if (options.skip) { - return { - refetch: (_variables?: TVariables) => { - return new Promise((resolve, _reject) => { - resolve({ data: null }); - }); - }, - unsubscribe: null, - }; - } - - const subscription = observable.subscribe( - result => { - const { data, errors: apolloErrors } = result; - const errorHandledData = handleDataErrors( - mapFn, - data as any, - apolloErrors - ); - if (onUpdate) { - if (errorHandledData.errors) { - if (onError) { - onError(errorHandledData.errors); - } - } else { - onUpdate(errorHandledData.data as TResult); - if (onComplete) { - onComplete(); - } - } - } - }, - error => { - if (onError) { - onError(error); - } - } - ); - - return { - loadMore: ( - extraVariables: RequireAtLeastOne, - mergeResults: boolean = true - ) => { - observable.fetchMore({ - updateQuery: (previousResult, { fetchMoreResult }) => { - if (!fetchMoreResult) { - // returning previousResult doesn't trigger observable `next` - onUpdate(mapFn(previousResult)); - return previousResult; - } - - if (mergeResults) { - const prevResultRef = mapFn(previousResult) as any; - const newResultRef = mapFn(fetchMoreResult) as any; - - if (!prevResultRef || !newResultRef) { - onUpdate(prevResultRef); - return previousResult; - } - - const mergedEdges = mergeEdges( - prevResultRef.edges, - newResultRef.edges - ); - - // use new result for metadata and mutate existing data - Object.keys(prevResultRef).forEach(key => { - prevResultRef[key] = newResultRef[key]; - }); - prevResultRef.edges = mergedEdges; - - return previousResult; - } - - return fetchMoreResult; - }, - variables: { ...variables, ...extraVariables }, - }); - }, - refetch: (variables?: TVariables) => { - if (variables) { - observable.setVariables(variables); - const cachedResult = observable.currentResult(); - const errorHandledData = handleDataErrors(mapFn, cachedResult.data); - if (errorHandledData.data) { - onUpdate(errorHandledData.data as TResult); - } - } - - return this.firePromise(() => observable.refetch(variables), mapFn); - }, - setOptions: (options: TOptions) => - this.firePromise(() => observable.setOptions(options), mapFn), - unsubscribe: subscription.unsubscribe.bind(subscription), - }; - }; - } - - fireQuery(query: T, mapFn: MapFn) { - return ( - variables: InferOptions["variables"], - options?: Omit, "variables"> - ) => - this.firePromise( - () => - query(this.client, { - ...options, - variables, - }), - mapFn - ); - } - - // Promise wrapper to catch errors - firePromise( - promise: () => Promise, - mapFn: MapFn | WatchMapFn - ) { - return new Promise<{ data: ReturnType | null }>( - async (resolve, reject) => { - try { - const { data, errors: apolloErrors } = await promise(); - const errorHandledData = handleDataErrors(mapFn, data, apolloErrors); - - if (errorHandledData.errors) { - reject(errorHandledData.errors); - } - - resolve({ data: errorHandledData.data }); - } catch (error) { - reject(error); - } - } - ); - } -} - -// error handler -const handleDataErrors = ( - mapFn: MapFn | WatchMapFn, - data: TData, - apolloErrors?: readonly GraphQLError[] -) => { - // INFO: user input errors will be moved to graphql errors - const userInputErrors = getErrorsFromData(data); - const errors = - apolloErrors || userInputErrors - ? new ApolloError({ - extraInfo: userInputErrors, - graphQLErrors: apolloErrors, - }) - : null; - - if (errors && isDataEmpty(data)) { - return { errors }; - } - - const result = getMappedData(mapFn, data); - - return { data: result }; -}; diff --git a/src/@sdk/api/Cart/index.ts b/src/@sdk/api/Cart/index.ts deleted file mode 100644 index 3b922c3afc..0000000000 --- a/src/@sdk/api/Cart/index.ts +++ /dev/null @@ -1,241 +0,0 @@ -import { LocalStorageManager } from "@sdk/data"; -import { ErrorListener } from "@sdk/helpers"; -import { ICheckoutModel } from "@sdk/helpers/LocalStorageHandler"; -import { JobsManager } from "@sdk/jobs"; -import { ErrorCartTypes } from "@sdk/jobs/Cart"; -import { SaleorState } from "@sdk/state"; -import { ISaleorStateSummeryPrices, StateItems } from "@sdk/state/types"; -import { ApolloClientManager } from "@temp/@sdk/data/ApolloClientManager"; - -import { - IDiscount, - IItems, - ISaleorCartAPI, - IShippingPrice, - ISubtotalPrice, - ITotalPrice, -} from "./types"; - -export class SaleorCartAPI extends ErrorListener implements ISaleorCartAPI { - loaded: boolean; - items: IItems; - totalPrice: ITotalPrice; - subtotalPrice: ISubtotalPrice; - shippingPrice: IShippingPrice; - discount?: IDiscount; - - private checkoutLoaded: boolean; - private summaryPricesLoaded: boolean; - - private localStorageManager: LocalStorageManager; - private saleorState: SaleorState; - private apolloClientManager: ApolloClientManager; - private jobsManager: JobsManager; - - constructor( - localStorageManager: LocalStorageManager, - apolloClientManager: ApolloClientManager, - saleorState: SaleorState, - loadOnStart: boolean, - jobsManager: JobsManager - ) { - super(); - this.saleorState = saleorState; - this.localStorageManager = localStorageManager; - this.apolloClientManager = apolloClientManager; - this.jobsManager = jobsManager; - - this.loaded = false; - this.checkoutLoaded = false; - this.summaryPricesLoaded = false; - - this.jobsManager.attachErrorListener("cart", this.fireError); - - this.saleorState.subscribeToChange( - StateItems.CHECKOUT, - ({ lines }: ICheckoutModel) => { - this.items = lines - ?.filter(line => line.quantity > 0) - .sort((a, b) => { - if (a.id && b.id) { - const aId = a.id?.toUpperCase() || ""; - const bId = b.id?.toUpperCase() || ""; - return aId < bId ? -1 : aId > bId ? 1 : 0; - } else { - const aId = a.variant.id?.toUpperCase() || ""; - const bId = b.variant.id?.toUpperCase() || ""; - return aId < bId ? -1 : aId > bId ? 1 : 0; - } - }); - this.checkoutLoaded = true; - this.loaded = this.checkoutLoaded && this.summaryPricesLoaded; - } - ); - this.saleorState.subscribeToChange( - StateItems.SUMMARY_PRICES, - ({ - totalPrice, - subtotalPrice, - shippingPrice, - discount, - }: ISaleorStateSummeryPrices) => { - this.totalPrice = totalPrice; - this.subtotalPrice = subtotalPrice; - this.shippingPrice = shippingPrice; - this.discount = discount; - this.summaryPricesLoaded = true; - this.loaded = this.summaryPricesLoaded && this.checkoutLoaded; - } - ); - - if (loadOnStart) { - this.load(); - } - } - - load = async () => { - await this.saleorState.provideCheckout(this.fireError, true); - return { - pending: false, - }; - }; - - addItem = async (variantId: string, quantity: number) => { - await this.saleorState.provideCheckout(this.fireError); - - // 1. save in local storage - this.localStorageManager.addItemToCart(variantId, quantity); - - // 2. save online if possible (if checkout id available) - if (this.saleorState.checkout?.lines) { - const { - data, - error, - } = await this.apolloClientManager.getRefreshedCheckoutLines( - this.saleorState.checkout.lines - ); - - if (error) { - this.fireError(error, ErrorCartTypes.SET_CART_ITEM); - } else { - this.localStorageManager.getHandler().setCheckout({ - ...this.saleorState.checkout, - lines: data, - }); - } - } - if (this.saleorState.checkout?.id) { - this.jobsManager.addToQueue("cart", "setCartItem"); - return { - pending: true, - }; - } - return { - pending: false, - }; - }; - - removeItem = async (variantId: string) => { - await this.saleorState.provideCheckout(this.fireError); - - // 1. save in local storage - this.localStorageManager.removeItemFromCart(variantId); - // 2. save online if possible (if checkout id available) - if (this.saleorState.checkout?.lines) { - const { - data, - error, - } = await this.apolloClientManager.getRefreshedCheckoutLines( - this.saleorState.checkout.lines - ); - - if (error) { - this.fireError(error, ErrorCartTypes.SET_CART_ITEM); - } else { - this.localStorageManager.getHandler().setCheckout({ - ...this.saleorState.checkout, - lines: data, - }); - } - } - if (this.saleorState.checkout?.id) { - this.jobsManager.addToQueue("cart", "setCartItem"); - return { - pending: true, - }; - } - return { - pending: false, - }; - }; - - subtractItem = async (variantId: string) => { - await this.saleorState.provideCheckout(this.fireError); - - // 1. save in local storage - this.localStorageManager.subtractItemFromCart(variantId); - - // 2. save online if possible (if checkout id available) - if (this.saleorState.checkout?.lines) { - const { - data, - error, - } = await this.apolloClientManager.getRefreshedCheckoutLines( - this.saleorState.checkout.lines - ); - - if (error) { - this.fireError(error, ErrorCartTypes.SET_CART_ITEM); - } else { - this.localStorageManager.getHandler().setCheckout({ - ...this.saleorState.checkout, - lines: data, - }); - } - } - if (this.saleorState.checkout?.id) { - this.jobsManager.addToQueue("cart", "setCartItem"); - return { - pending: true, - }; - } - return { - pending: false, - }; - }; - - updateItem = async (variantId: string, quantity: number) => { - await this.saleorState.provideCheckout(this.fireError); - - // 1. save in local storage - this.localStorageManager.updateItemInCart(variantId, quantity); - - // 2. save online if possible (if checkout id available) - if (this.saleorState.checkout?.lines) { - const { - data, - error, - } = await this.apolloClientManager.getRefreshedCheckoutLines( - this.saleorState.checkout.lines - ); - - if (error) { - this.fireError(error, ErrorCartTypes.SET_CART_ITEM); - } else { - this.localStorageManager.getHandler().setCheckout({ - ...this.saleorState.checkout, - lines: data, - }); - } - } - if (this.saleorState.checkout?.id) { - this.jobsManager.addToQueue("cart", "setCartItem"); - return { - pending: true, - }; - } - return { - pending: false, - }; - }; -} diff --git a/src/@sdk/api/Cart/types.ts b/src/@sdk/api/Cart/types.ts deleted file mode 100644 index b7f2afecac..0000000000 --- a/src/@sdk/api/Cart/types.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { - ICheckoutModelLine, - ICheckoutModelPrice, - ICheckoutModelPriceValue, -} from "@sdk/helpers/LocalStorageHandler"; - -import { PromiseQueuedResponse } from "../types"; - -export type IItems = ICheckoutModelLine[] | null | undefined; -export type ITotalPrice = ICheckoutModelPrice | null | undefined; -export type ISubtotalPrice = ICheckoutModelPrice | null | undefined; -export type IShippingPrice = ICheckoutModelPriceValue | null | undefined; -export type IDiscount = ICheckoutModelPriceValue | null | undefined; - -export interface ISaleorCartAPI { - loaded: boolean; - items?: IItems; - totalPrice?: ITotalPrice; - subtotalPrice?: ISubtotalPrice; - shippingPrice?: IShippingPrice; - discount?: IDiscount; - addItem: (variantId: string, quantity: number) => PromiseQueuedResponse; - load: () => PromiseQueuedResponse; - removeItem: (variantId: string) => PromiseQueuedResponse; - subtractItem: (variantId: string) => PromiseQueuedResponse; - updateItem: (variantId: string, quantity: number) => PromiseQueuedResponse; -} diff --git a/src/@sdk/api/Checkout/index.ts b/src/@sdk/api/Checkout/index.ts deleted file mode 100644 index 835f7bd3f5..0000000000 --- a/src/@sdk/api/Checkout/index.ts +++ /dev/null @@ -1,514 +0,0 @@ -import { ErrorListener } from "@sdk/helpers"; -import { - ICheckoutModel, - IPaymentModel, -} from "@sdk/helpers/LocalStorageHandler"; -import { JobsManager } from "@sdk/jobs"; -import { SaleorState } from "@sdk/state"; -import { StateItems } from "@sdk/state/types"; - -import { PromiseRunResponse } from "../types"; -import { - DataErrorCheckoutTypes, - FunctionErrorCheckoutTypes, - IAddress, - IAvailablePaymentGateways, - IAvailableShippingMethods, - ICheckout, - ICreditCard, - IPayment, - IPromoCodeDiscount, - ISaleorCheckoutAPI, -} from "./types"; - -export class SaleorCheckoutAPI extends ErrorListener - implements ISaleorCheckoutAPI { - loaded: boolean; - checkout?: ICheckout; - promoCodeDiscount?: IPromoCodeDiscount; - billingAsShipping?: boolean; - selectedShippingAddressId?: string; - selectedBillingAddressId?: string; - availableShippingMethods?: IAvailableShippingMethods; - availablePaymentGateways?: IAvailablePaymentGateways; - payment?: IPayment; - - private saleorState: SaleorState; - private jobsManager: JobsManager; - - private checkoutLoaded: boolean; - private paymentLoaded: boolean; - private paymentGatewaysLoaded: boolean; - - constructor( - saleorState: SaleorState, - loadOnStart: boolean, - jobsManager: JobsManager - ) { - super(); - this.saleorState = saleorState; - this.jobsManager = jobsManager; - - this.loaded = false; - this.checkoutLoaded = false; - this.paymentLoaded = false; - this.paymentGatewaysLoaded = false; - - this.saleorState.subscribeToChange( - StateItems.CHECKOUT, - ({ - id, - token, - email, - shippingAddress, - billingAddress, - selectedShippingAddressId, - selectedBillingAddressId, - billingAsShipping, - availableShippingMethods, - shippingMethod, - promoCodeDiscount, - }: ICheckoutModel) => { - this.checkout = { - billingAddress, - email, - id, - shippingAddress, - shippingMethod, - token, - }; - this.selectedShippingAddressId = selectedShippingAddressId; - this.selectedBillingAddressId = selectedBillingAddressId; - this.availableShippingMethods = availableShippingMethods; - this.billingAsShipping = billingAsShipping; - this.promoCodeDiscount = { - discountName: promoCodeDiscount?.discountName, - voucherCode: promoCodeDiscount?.voucherCode, - }; - this.checkoutLoaded = true; - this.loaded = - this.checkoutLoaded && - this.paymentLoaded && - this.paymentGatewaysLoaded; - } - ); - this.saleorState.subscribeToChange( - StateItems.PAYMENT, - ({ id, token, gateway, creditCard }: IPaymentModel) => { - this.payment = { - creditCard, - gateway, - id, - token, - }; - this.paymentLoaded = true; - this.loaded = - this.paymentLoaded && - this.checkoutLoaded && - this.paymentGatewaysLoaded; - } - ); - this.saleorState.subscribeToChange( - StateItems.PAYMENT_GATEWAYS, - (paymentGateways: IAvailablePaymentGateways) => { - this.availablePaymentGateways = paymentGateways; - this.paymentGatewaysLoaded = true; - this.loaded = - this.paymentGatewaysLoaded && - this.paymentLoaded && - this.checkoutLoaded; - } - ); - - if (loadOnStart) { - this.load(); - } - } - - load = async () => { - await this.saleorState.provideCheckout(this.fireError, true); - await this.saleorState.providePayment(true); - await this.saleorState.providePaymentGateways(this.fireError); - return { - pending: false, - }; - }; - - setShippingAddress = async ( - shippingAddress: IAddress, - email: string - ): PromiseRunResponse => { - await this.saleorState.provideCheckout(this.fireError); - const checkoutId = this.saleorState.checkout?.id; - const alteredLines = this.saleorState.checkout?.lines?.map(item => ({ - quantity: item!.quantity, - variantId: item?.variant!.id, - })); - - if (alteredLines && checkoutId) { - const { data, dataError } = await this.jobsManager.run( - "checkout", - "setShippingAddress", - { - checkoutId, - email, - selectedShippingAddressId: shippingAddress.id, - shippingAddress, - } - ); - - return { - data, - dataError, - pending: false, - }; - } else if (alteredLines) { - const { data, dataError } = await this.jobsManager.run( - "checkout", - "createCheckout", - { - email, - lines: alteredLines, - selectedShippingAddressId: shippingAddress.id, - shippingAddress, - } - ); - - return { - data, - dataError, - pending: false, - }; - } else { - return { - functionError: { - error: new Error( - "You need to add items to cart before setting shipping address." - ), - type: FunctionErrorCheckoutTypes.ITEMS_NOT_ADDED_TO_CART, - }, - pending: false, - }; - } - }; - - setBillingAddress = async ( - billingAddress: IAddress, - email?: string - ): PromiseRunResponse => { - await this.saleorState.provideCheckout(this.fireError); - const checkoutId = this.saleorState.checkout?.id; - const isShippingRequiredForProducts = this.saleorState.checkout?.lines - ?.filter(line => line.quantity > 0) - .some(({ variant }) => variant.product?.productType.isShippingRequired); - const alteredLines = this.saleorState.checkout?.lines?.map(item => ({ - quantity: item!.quantity, - variantId: item?.variant!.id, - })); - - if ( - isShippingRequiredForProducts && - checkoutId && - this.checkout?.shippingAddress - ) { - const { data, dataError } = await this.jobsManager.run( - "checkout", - "setBillingAddress", - { - billingAddress, - billingAsShipping: false, - checkoutId, - selectedBillingAddressId: billingAddress.id, - } - ); - - return { - data, - dataError, - pending: false, - }; - } else if (isShippingRequiredForProducts) { - return { - functionError: { - error: new Error( - "You need to set shipping address before setting billing address." - ), - type: FunctionErrorCheckoutTypes.SHIPPING_ADDRESS_NOT_SET, - }, - pending: false, - }; - } else if ( - !isShippingRequiredForProducts && - email && - checkoutId && - alteredLines - ) { - const { data, dataError } = await this.jobsManager.run( - "checkout", - "setBillingAddressWithEmail", - { - billingAddress, - checkoutId, - email, - selectedBillingAddressId: billingAddress.id, - } - ); - - return { - data, - dataError, - pending: false, - }; - } else if (!isShippingRequiredForProducts && email && alteredLines) { - const { data, dataError } = await this.jobsManager.run( - "checkout", - "createCheckout", - { - billingAddress, - email, - lines: alteredLines, - selectedBillingAddressId: billingAddress.id, - } - ); - - return { - data, - dataError, - pending: false, - }; - } else if (!isShippingRequiredForProducts && !email) { - return { - functionError: { - error: new Error( - "You need to provide email when products do not require shipping before setting billing address." - ), - type: FunctionErrorCheckoutTypes.EMAIL_NOT_SET, - }, - pending: false, - }; - } else { - return { - functionError: { - error: new Error( - "You need to add items to cart before setting billing address." - ), - type: FunctionErrorCheckoutTypes.ITEMS_NOT_ADDED_TO_CART, - }, - pending: false, - }; - } - }; - - setBillingAsShippingAddress = async (): PromiseRunResponse< - DataErrorCheckoutTypes, - FunctionErrorCheckoutTypes - > => { - await this.saleorState.provideCheckout(this.fireError); - const checkoutId = this.saleorState.checkout?.id; - - if (checkoutId && this.checkout?.shippingAddress) { - const { data, dataError } = await this.jobsManager.run( - "checkout", - "setBillingAddress", - { - billingAddress: this.checkout.shippingAddress, - billingAsShipping: true, - checkoutId, - selectedBillingAddressId: this.checkout?.shippingAddress.id, - } - ); - - return { - data, - dataError, - pending: false, - }; - } else { - return { - functionError: { - error: new Error( - "You need to set shipping address before setting billing address." - ), - type: FunctionErrorCheckoutTypes.SHIPPING_ADDRESS_NOT_SET, - }, - pending: false, - }; - } - }; - - setShippingMethod = async ( - shippingMethodId: string - ): PromiseRunResponse => { - await this.saleorState.provideCheckout(this.fireError); - const checkoutId = this.saleorState.checkout?.id; - - if (checkoutId) { - const { data, dataError } = await this.jobsManager.run( - "checkout", - "setShippingMethod", - { - checkoutId, - shippingMethodId, - } - ); - return { - data, - dataError, - pending: false, - }; - } else { - return { - functionError: { - error: new Error( - "You need to set shipping address before setting shipping method." - ), - type: FunctionErrorCheckoutTypes.SHIPPING_ADDRESS_NOT_SET, - }, - pending: false, - }; - } - }; - - addPromoCode = async ( - promoCode: string - ): PromiseRunResponse => { - await this.saleorState.provideCheckout(this.fireError); - const checkoutId = this.saleorState.checkout?.id; - - if (checkoutId) { - const { data, dataError } = await this.jobsManager.run( - "checkout", - "addPromoCode", - { - checkoutId, - promoCode, - } - ); - - return { - data, - dataError, - pending: false, - }; - } else { - return { - functionError: { - error: new Error( - "You need to set shipping address before modifying promo code." - ), - type: FunctionErrorCheckoutTypes.SHIPPING_ADDRESS_NOT_SET, - }, - pending: false, - }; - } - }; - - removePromoCode = async ( - promoCode: string - ): PromiseRunResponse => { - await this.saleorState.provideCheckout(this.fireError); - const checkoutId = this.saleorState.checkout?.id; - - if (checkoutId) { - const { data, dataError } = await this.jobsManager.run( - "checkout", - "removePromoCode", - { checkoutId, promoCode } - ); - - return { - data, - dataError, - pending: false, - }; - } else { - return { - functionError: { - error: new Error( - "You need to set shipping address before modifying promo code." - ), - type: FunctionErrorCheckoutTypes.SHIPPING_ADDRESS_NOT_SET, - }, - pending: false, - }; - } - }; - - createPayment = async ( - gateway: string, - token: string, - creditCard?: ICreditCard - ): PromiseRunResponse => { - await this.saleorState.provideCheckout(this.fireError); - await this.saleorState.providePayment(); - const checkoutId = this.saleorState.checkout?.id; - const billingAddress = this.saleorState.checkout?.billingAddress; - const amount = this.saleorState.summaryPrices?.totalPrice?.gross.amount; - - if ( - checkoutId && - billingAddress && - amount !== null && - amount !== undefined - ) { - const { data, dataError } = await this.jobsManager.run( - "checkout", - "createPayment", - { - amount, - billingAddress, - checkoutId, - creditCard, - paymentGateway: gateway, - paymentToken: token, - } - ); - return { - data, - dataError, - pending: false, - }; - } else { - return { - functionError: { - error: new Error( - "You need to set billing address before creating payment." - ), - type: FunctionErrorCheckoutTypes.SHIPPING_ADDRESS_NOT_SET, - }, - pending: false, - }; - } - }; - - completeCheckout = async (): PromiseRunResponse< - DataErrorCheckoutTypes, - FunctionErrorCheckoutTypes - > => { - await this.saleorState.provideCheckout(this.fireError); - const checkoutId = this.saleorState.checkout?.id; - - if (checkoutId) { - const { data, dataError } = await this.jobsManager.run( - "checkout", - "completeCheckout", - { checkoutId } - ); - return { - data, - dataError, - pending: false, - }; - } else { - return { - functionError: { - error: new Error( - "You need to set shipping address before creating payment." - ), - type: FunctionErrorCheckoutTypes.SHIPPING_ADDRESS_NOT_SET, - }, - pending: false, - }; - } - }; -} diff --git a/src/@sdk/api/Checkout/types.ts b/src/@sdk/api/Checkout/types.ts deleted file mode 100644 index 696ef5db63..0000000000 --- a/src/@sdk/api/Checkout/types.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { Checkout_availableShippingMethods } from "@sdk/fragments/gqlTypes/Checkout"; -import { - ICheckoutModelPrice, - ICheckoutModelPriceValue, - IPaymentCreditCard, -} from "@sdk/helpers/LocalStorageHandler"; -import { GetShopPaymentGateways_shop_availablePaymentGateways } from "@sdk/queries/gqlTypes/GetShopPaymentGateways"; - -import { PromiseQueuedResponse, PromiseRunResponse } from "../types"; - -export type IPrice = ICheckoutModelPrice | null | undefined; -export type IPriceValue = ICheckoutModelPriceValue | null | undefined; - -export interface IAddress { - id?: string; - firstName?: string; - lastName?: string; - companyName?: string; - streetAddress1?: string; - streetAddress2?: string; - city?: string; - postalCode?: string; - countryArea?: string; - phone?: string | null; - country?: { - code?: string; - country?: string; - }; -} - -export type IAvailableShippingMethods = Checkout_availableShippingMethods[]; -export type IAvailablePaymentGateways = GetShopPaymentGateways_shop_availablePaymentGateways[]; - -export interface IShippingMethod { - id: string; - name: string; - price?: IPriceValue | null; -} - -export interface IPromoCodeDiscount { - voucherCode?: string | null; - discountName?: string | null; -} - -export type ICreditCard = IPaymentCreditCard; - -export interface IPayment { - id?: string; - token?: string; - gateway?: string; - creditCard?: ICreditCard | null; -} - -export interface ICheckout { - id?: string; - token: any; - email?: string; - shippingAddress?: IAddress | null; - shippingMethod?: IShippingMethod | null; - billingAddress?: IAddress | null; -} - -export enum FunctionErrorCheckoutTypes { - "SHIPPING_ADDRESS_NOT_SET", - "ITEMS_NOT_ADDED_TO_CART", - "EMAIL_NOT_SET", -} -export enum DataErrorCheckoutTypes { - "SET_SHIPPING_ADDRESS", - "SET_BILLING_ADDRESS", - "SET_SHIPPING_METHOD", - "ADD_PROMO_CODE", - "REMOVE_PROMO_CODE", - "CREATE_PAYMENT", - "COMPLETE_CHECKOUT", - "GET_CHECKOUT", - "GET_PAYMENT_GATEWAYS", -} - -export interface ISaleorCheckoutAPI { - loaded: boolean; - checkout?: ICheckout | null; - promoCodeDiscount?: IPromoCodeDiscount; - billingAsShipping?: boolean; - selectedShippingAddressId?: string; - selectedBillingAddressId?: string; - availableShippingMethods?: IAvailableShippingMethods; - availablePaymentGateways?: IAvailablePaymentGateways; - payment?: IPayment; - load: () => PromiseQueuedResponse; - setBillingAddress: ( - billingAddress: IAddress, - email?: string - ) => PromiseRunResponse; - setShippingAddress: ( - shippingAddress: IAddress, - email: string - ) => PromiseRunResponse; - setShippingMethod: ( - shippingMethodId: string - ) => PromiseRunResponse; - setBillingAsShippingAddress: () => PromiseRunResponse< - DataErrorCheckoutTypes, - FunctionErrorCheckoutTypes - >; - addPromoCode: ( - promoCode: string - ) => PromiseRunResponse; - removePromoCode: ( - promoCode: string - ) => PromiseRunResponse; - createPayment: ( - gateway: string, - token: string, - creditCard?: ICreditCard - ) => PromiseRunResponse; - completeCheckout: () => PromiseRunResponse< - DataErrorCheckoutTypes, - FunctionErrorCheckoutTypes - >; -} diff --git a/src/@sdk/api/index.ts b/src/@sdk/api/index.ts deleted file mode 100644 index 19616afa3b..0000000000 --- a/src/@sdk/api/index.ts +++ /dev/null @@ -1,84 +0,0 @@ -import ApolloClient from "apollo-client"; - -import { defaultConfig } from "../config"; -import { LocalStorageManager } from "../data"; -import { ApolloClientManager } from "../data/ApolloClientManager"; -import { LocalStorageHandler } from "../helpers/LocalStorageHandler"; -import { JobsManager } from "../jobs"; -import { SaleorState } from "../state"; -import { Config } from "../types"; -import { APIProxy } from "./APIProxy"; -import { SaleorCartAPI } from "./Cart"; -import { SaleorCheckoutAPI } from "./Checkout"; - -export * from "./Checkout"; -export * from "./Cart"; - -export class SaleorAPI { - checkout: SaleorCheckoutAPI; - cart: SaleorCartAPI; - - /** - * @deprecated Please do not use it anymore. Reference to API Proxy will be removed in future. - * Now it just exists for legacy React hooks, which also will be removed. - */ - legacyAPIProxy: APIProxy; - - constructor( - client: ApolloClient, - apiProxy: APIProxy, - config?: Config, - onStateUpdate?: () => any - ) { - this.legacyAPIProxy = apiProxy; - const finalConfig = { - ...defaultConfig, - ...config, - loadOnStart: { - ...defaultConfig.loadOnStart, - ...config?.loadOnStart, - }, - }; - const { loadOnStart } = finalConfig; - - const localStorageHandler = new LocalStorageHandler(); - const apolloClientManager = new ApolloClientManager(client); - const saleorState = new SaleorState( - localStorageHandler, - apolloClientManager - ); - const localStorageManager = new LocalStorageManager( - localStorageHandler, - saleorState - ); - const jobsManager = new JobsManager( - localStorageHandler, - apolloClientManager - ); - - if (onStateUpdate) { - saleorState.subscribeToNotifiedChanges(onStateUpdate); - } - - this.checkout = new SaleorCheckoutAPI( - saleorState, - loadOnStart.checkout, - jobsManager - ); - this.cart = new SaleorCartAPI( - localStorageManager, - apolloClientManager, - saleorState, - loadOnStart.cart, - jobsManager - ); - - this.legacyAPIProxy.attachAuthListener(authenticated => { - if (!authenticated) { - localStorageHandler.setCheckout({}); - localStorageHandler.setPayment({}); - localStorageHandler.setJobs(null); - } - }); - } -} diff --git a/src/@sdk/api/types.ts b/src/@sdk/api/types.ts deleted file mode 100644 index 1731703f86..0000000000 --- a/src/@sdk/api/types.ts +++ /dev/null @@ -1,17 +0,0 @@ -export interface ErrorResponse { - error?: any; - type?: T; -} - -export interface FunctionQueueResponse { - pending: boolean; -} -export interface FunctionRunResponse { - data?: any; - dataError?: ErrorResponse; - functionError?: ErrorResponse; - pending: boolean; -} - -export type PromiseQueuedResponse = Promise; -export type PromiseRunResponse = Promise>; diff --git a/src/@sdk/apollo.config.js b/src/@sdk/apollo.config.js deleted file mode 100644 index 59705f4d9c..0000000000 --- a/src/@sdk/apollo.config.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - client: { - includes: ["./queries/*.ts", "./mutations/*.ts", "./fragments/*.ts"], - service: { - name: "saleor", - url: "http://localhost:8000/graphql/" - } - } -}; diff --git a/src/@sdk/auth.ts b/src/@sdk/auth.ts deleted file mode 100644 index 111adcdac1..0000000000 --- a/src/@sdk/auth.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { ApolloClient } from "apollo-client"; -import { ApolloLink } from "apollo-link"; -import { setContext } from "apollo-link-context"; -import { ErrorResponse, onError } from "apollo-link-error"; - -export const authEvent = new Event("auth"); - -export function getAuthToken(): string | null { - try { - return localStorage.getItem("token"); - } catch { - return null; - } -} - -export function setAuthToken(token: string) { - localStorage.setItem("token", token); - dispatchEvent(authEvent); -} - -export function removeAuthToken() { - localStorage.removeItem("token"); - dispatchEvent(authEvent); -} - -export function clearStorage(): void { - localStorage.clear(); - dispatchEvent(authEvent); -} - -export function fireSignOut(client?: ApolloClient): void { - clearStorage(); - if (navigator.credentials && navigator.credentials.preventSilentAccess) { - navigator.credentials.preventSilentAccess(); - } - if (client) { - client.resetStore(); - } -} - -interface ResponseError extends ErrorResponse { - networkError?: Error & { - statusCode?: number; - bodyText?: string; - }; -} - -// possibly remove callback here and use event emitter -export const invalidTokenLinkWithTokenHandler = ( - tokenExpirationCallback: () => void -): { - link: ApolloLink; -} => { - const link = onError((error: ResponseError) => { - const isTokenExpired = error.graphQLErrors?.some( - error => error.extensions?.exception?.code === "JSONWebTokenExpired" - ); - if ( - isTokenExpired || - (error.networkError && error.networkError.statusCode === 401) - ) { - tokenExpirationCallback(); - } - }); - return { link }; -}; - -export const authLink = setContext((_, context) => { - const authToken = getAuthToken(); - if (authToken) { - return { - ...context, - headers: { - ...context.headers, - Authorization: authToken ? `JWT ${authToken}` : null, - }, - }; - } else { - return context; - } -}); diff --git a/src/@sdk/config.ts b/src/@sdk/config.ts deleted file mode 100644 index 62c367cf17..0000000000 --- a/src/@sdk/config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Config } from "./types"; - -export const defaultConfig: Config = { - loadOnStart: { - cart: true, - checkout: true, - }, -}; diff --git a/src/@sdk/data/ApolloClientManager/index.ts b/src/@sdk/data/ApolloClientManager/index.ts deleted file mode 100644 index 9c3eccd221..0000000000 --- a/src/@sdk/data/ApolloClientManager/index.ts +++ /dev/null @@ -1,857 +0,0 @@ -import ApolloClient from "apollo-client"; - -import { getAuthToken } from "@sdk/auth"; -import { Checkout } from "@sdk/fragments/gqlTypes/Checkout"; -import { OrderDetail } from "@sdk/fragments/gqlTypes/OrderDetail"; -import { Payment } from "@sdk/fragments/gqlTypes/Payment"; -import { CountryCode } from "@sdk/gqlTypes/globalTypes"; -import { - ICheckoutAddress, - ICheckoutModel, - ICheckoutModelLine, - IOrderModel, - IPaymentModel, -} from "@sdk/helpers/LocalStorageHandler"; -import * as CheckoutMutations from "@sdk/mutations/checkout"; -import { - AddCheckoutPromoCode, - AddCheckoutPromoCodeVariables, -} from "@sdk/mutations/gqlTypes/AddCheckoutPromoCode"; -import { - CompleteCheckout, - CompleteCheckoutVariables, -} from "@sdk/mutations/gqlTypes/CompleteCheckout"; -import { - CreateCheckout, - CreateCheckoutVariables, -} from "@sdk/mutations/gqlTypes/CreateCheckout"; -import { - CreateCheckoutPayment, - CreateCheckoutPaymentVariables, -} from "@sdk/mutations/gqlTypes/CreateCheckoutPayment"; -import { - RemoveCheckoutPromoCode, - RemoveCheckoutPromoCodeVariables, -} from "@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode"; -import { - UpdateCheckoutBillingAddress, - UpdateCheckoutBillingAddressVariables, -} from "@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress"; -import { - UpdateCheckoutBillingAddressWithEmail, - UpdateCheckoutBillingAddressWithEmailVariables, -} from "@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail"; -import { - UpdateCheckoutLine, - UpdateCheckoutLineVariables, -} from "@sdk/mutations/gqlTypes/UpdateCheckoutLine"; -import { - UpdateCheckoutShippingAddress, - UpdateCheckoutShippingAddressVariables, -} from "@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress"; -import { - UpdateCheckoutShippingMethod, - UpdateCheckoutShippingMethodVariables, -} from "@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod"; -import * as CheckoutQueries from "@sdk/queries/checkout"; -import { CheckoutDetails } from "@sdk/queries/gqlTypes/CheckoutDetails"; -import { - CheckoutProductVariants, - CheckoutProductVariants_productVariants, -} from "@sdk/queries/gqlTypes/CheckoutProductVariants"; -import { - GetShopPaymentGateways, - GetShopPaymentGateways_shop_availablePaymentGateways, -} from "@sdk/queries/gqlTypes/GetShopPaymentGateways"; -import { UserCheckoutDetails } from "@sdk/queries/gqlTypes/UserCheckoutDetails"; -import * as ShopQueries from "@sdk/queries/shop"; -import { filterNotEmptyArrayItems } from "@sdk/utils"; - -import { IApolloClientManager } from "./types"; - -export class ApolloClientManager implements IApolloClientManager { - private client: ApolloClient; - - constructor(client: ApolloClient) { - this.client = client; - } - - getCheckout = async (checkoutToken: string | null) => { - let checkout: Checkout | null; - try { - checkout = await new Promise((resolve, reject) => { - if (this.isLoggedIn()) { - const observable = this.client.watchQuery({ - fetchPolicy: "network-only", - query: CheckoutQueries.userCheckoutDetails, - }); - observable.subscribe( - result => { - const { data, errors } = result; - if (errors?.length) { - reject(errors); - } else { - resolve(data.me?.checkout); - } - }, - error => { - reject(error); - } - ); - } else if (checkoutToken) { - const observable = this.client.watchQuery({ - fetchPolicy: "network-only", - query: CheckoutQueries.checkoutDetails, - variables: { - token: checkoutToken, - }, - }); - observable.subscribe( - result => { - const { data, errors } = result; - if (errors?.length) { - reject(errors); - } else { - resolve(data.checkout); - } - }, - error => { - reject(error); - } - ); - } else { - resolve(null); - } - }); - - if (checkout) { - return { - data: this.constructCheckoutModel(checkout), - }; - } - } catch (error) { - return { - error, - }; - } - return {}; - }; - - getRefreshedCheckoutLines = async ( - checkoutlines: ICheckoutModelLine[] | null - ) => { - const idsOfMissingVariants = checkoutlines - ?.filter(line => !line.variant || !line.totalPrice) - .map(line => line.variant.id); - const linesWithProperVariant = - checkoutlines?.filter(line => line.variant && line.totalPrice) || []; - - let variants: CheckoutProductVariants_productVariants | null | undefined; - if (idsOfMissingVariants && idsOfMissingVariants.length) { - try { - const observable = this.client.watchQuery( - { - query: CheckoutQueries.checkoutProductVariants, - variables: { - ids: idsOfMissingVariants, - }, - } - ); - variants = await new Promise((resolve, reject) => { - observable.subscribe( - result => { - const { data, errors } = result; - if (errors?.length) { - reject(errors); - } else { - resolve(data.productVariants); - } - }, - error => { - reject(error); - } - ); - }); - } catch (error) { - return { - error, - }; - } - } - - const linesWithMissingVariantUpdated = variants - ? variants.edges.map(edge => { - const existingLine = checkoutlines?.find( - line => line.variant.id === edge.node.id - ); - const variantPricing = edge.node.pricing?.price; - const totalPrice = variantPricing - ? { - gross: { - ...variantPricing.gross, - amount: - variantPricing.gross.amount * (existingLine?.quantity || 0), - }, - net: { - ...variantPricing.net, - amount: - variantPricing.net.amount * (existingLine?.quantity || 0), - }, - } - : null; - - return { - id: existingLine?.id, - quantity: existingLine?.quantity || 0, - totalPrice, - variant: { - attributes: edge.node.attributes, - id: edge.node.id, - isAvailable: edge.node.isAvailable, - name: edge.node.name, - pricing: edge.node.pricing, - product: edge.node.product, - quantityAvailable: edge.node.quantityAvailable, - sku: edge.node.sku, - }, - }; - }) - : []; - - const linesWithProperVariantUpdated = linesWithProperVariant.map(line => { - const variantPricing = line.variant.pricing?.price; - const totalPrice = variantPricing - ? { - gross: { - ...variantPricing.gross, - amount: variantPricing.gross.amount * line.quantity, - }, - net: { - ...variantPricing.net, - amount: variantPricing.net.amount * line.quantity, - }, - } - : null; - - return { - id: line.id, - quantity: line.quantity, - totalPrice, - variant: line.variant, - }; - }); - - return { - data: [ - ...linesWithMissingVariantUpdated, - ...linesWithProperVariantUpdated, - ], - }; - }; - - getPaymentGateways = async () => { - let paymentGateways: - | GetShopPaymentGateways_shop_availablePaymentGateways[] - | null; - try { - paymentGateways = await new Promise((resolve, reject) => { - const observable = this.client.watchQuery({ - fetchPolicy: "network-only", - query: ShopQueries.getShopPaymentGateways, - }); - observable.subscribe( - result => { - const { data, errors } = result; - if (errors?.length) { - reject(errors); - } else { - resolve(data.shop.availablePaymentGateways); - } - }, - error => { - reject(error); - } - ); - }); - - if (paymentGateways) { - return { - data: paymentGateways, - }; - } - } catch (error) { - return { - error, - }; - } - return {}; - }; - - createCheckout = async ( - email: string, - lines: Array<{ variantId: string; quantity: number }>, - shippingAddress?: ICheckoutAddress, - billingAddress?: ICheckoutAddress - ) => { - try { - const variables = { - checkoutInput: { - billingAddress: billingAddress && { - city: billingAddress.city, - companyName: billingAddress.companyName, - country: - CountryCode[ - billingAddress?.country?.code as keyof typeof CountryCode - ], - countryArea: billingAddress.countryArea, - firstName: billingAddress.firstName, - lastName: billingAddress.lastName, - phone: billingAddress.phone, - postalCode: billingAddress.postalCode, - streetAddress1: billingAddress.streetAddress1, - streetAddress2: billingAddress.streetAddress2, - }, - email, - lines, - shippingAddress: shippingAddress && { - city: shippingAddress.city, - companyName: shippingAddress.companyName, - country: - CountryCode[ - shippingAddress?.country?.code as keyof typeof CountryCode - ], - countryArea: shippingAddress.countryArea, - firstName: shippingAddress.firstName, - lastName: shippingAddress.lastName, - phone: shippingAddress.phone, - postalCode: shippingAddress.postalCode, - streetAddress1: shippingAddress.streetAddress1, - streetAddress2: shippingAddress.streetAddress2, - }, - }, - }; - const { data, errors } = await this.client.mutate< - CreateCheckout, - CreateCheckoutVariables - >({ - mutation: CheckoutMutations.createCheckoutMutation, - variables, - }); - - if (errors?.length) { - return { - error: errors, - }; - } else if (data?.checkoutCreate?.errors.length) { - return { - error: data?.checkoutCreate?.errors, - }; - } else if (data?.checkoutCreate?.checkout) { - return { - data: this.constructCheckoutModel(data.checkoutCreate.checkout), - }; - } - } catch (error) { - return { - error, - }; - } - return {}; - }; - - setCartItem = async (checkout: ICheckoutModel) => { - const checkoutId = checkout.id; - const lines = checkout.lines; - - if (checkoutId && lines) { - const alteredLines = lines.map(line => ({ - quantity: line.quantity, - variantId: line.variant.id, - })); - - try { - const { data, errors } = await this.client.mutate< - UpdateCheckoutLine, - UpdateCheckoutLineVariables - >({ - mutation: CheckoutMutations.updateCheckoutLineMutation, - variables: { - checkoutId, - lines: alteredLines, - }, - }); - - if (errors?.length) { - return { - error: errors, - }; - } else if (data?.checkoutLinesUpdate?.errors.length) { - return { - error: data?.checkoutLinesUpdate?.errors, - }; - } else if (data?.checkoutLinesUpdate?.checkout) { - return { - data: this.constructCheckoutModel( - data.checkoutLinesUpdate.checkout - ), - }; - } - } catch (error) { - return { - error, - }; - } - } - return {}; - }; - - setShippingAddress = async ( - shippingAddress: ICheckoutAddress, - email: string, - checkoutId: string - ) => { - try { - const variables = { - checkoutId, - email, - shippingAddress: { - city: shippingAddress.city, - companyName: shippingAddress.companyName, - country: - CountryCode[ - shippingAddress?.country?.code as keyof typeof CountryCode - ], - countryArea: shippingAddress.countryArea, - firstName: shippingAddress.firstName, - lastName: shippingAddress.lastName, - phone: shippingAddress.phone, - postalCode: shippingAddress.postalCode, - streetAddress1: shippingAddress.streetAddress1, - streetAddress2: shippingAddress.streetAddress2, - }, - }; - const { data, errors } = await this.client.mutate< - UpdateCheckoutShippingAddress, - UpdateCheckoutShippingAddressVariables - >({ - mutation: CheckoutMutations.updateCheckoutShippingAddressMutation, - variables, - }); - - if (errors?.length) { - return { - error: errors, - }; - } else if (data?.checkoutEmailUpdate?.errors.length) { - return { - error: data?.checkoutEmailUpdate?.errors, - }; - } else if (data?.checkoutShippingAddressUpdate?.errors.length) { - return { - error: data?.checkoutShippingAddressUpdate?.errors, - }; - } else if (data?.checkoutShippingAddressUpdate?.checkout) { - return { - data: this.constructCheckoutModel( - data.checkoutShippingAddressUpdate.checkout - ), - }; - } else { - return {}; - } - } catch (error) { - return { - error, - }; - } - }; - - setBillingAddress = async ( - billingAddress: ICheckoutAddress, - checkoutId: string - ) => { - try { - const variables = { - billingAddress: { - city: billingAddress.city, - companyName: billingAddress.companyName, - country: - CountryCode[ - billingAddress?.country?.code as keyof typeof CountryCode - ], - countryArea: billingAddress.countryArea, - firstName: billingAddress.firstName, - lastName: billingAddress.lastName, - phone: billingAddress.phone, - postalCode: billingAddress.postalCode, - streetAddress1: billingAddress.streetAddress1, - streetAddress2: billingAddress.streetAddress2, - }, - checkoutId, - }; - const { data, errors } = await this.client.mutate< - UpdateCheckoutBillingAddress, - UpdateCheckoutBillingAddressVariables - >({ - mutation: CheckoutMutations.updateCheckoutBillingAddressMutation, - variables, - }); - - if (errors?.length) { - return { - error: errors, - }; - } else if (data?.checkoutBillingAddressUpdate?.errors.length) { - return { - error: data?.checkoutBillingAddressUpdate?.errors, - }; - } else if (data?.checkoutBillingAddressUpdate?.checkout) { - return { - data: this.constructCheckoutModel( - data.checkoutBillingAddressUpdate.checkout - ), - }; - } else { - return {}; - } - } catch (error) { - return { - error, - }; - } - }; - - setBillingAddressWithEmail = async ( - billingAddress: ICheckoutAddress, - email: string, - checkoutId: string - ) => { - try { - const variables = { - billingAddress: { - city: billingAddress.city, - companyName: billingAddress.companyName, - country: - CountryCode[ - billingAddress?.country?.code as keyof typeof CountryCode - ], - countryArea: billingAddress.countryArea, - firstName: billingAddress.firstName, - lastName: billingAddress.lastName, - phone: billingAddress.phone, - postalCode: billingAddress.postalCode, - streetAddress1: billingAddress.streetAddress1, - streetAddress2: billingAddress.streetAddress2, - }, - checkoutId, - email, - }; - const { data, errors } = await this.client.mutate< - UpdateCheckoutBillingAddressWithEmail, - UpdateCheckoutBillingAddressWithEmailVariables - >({ - mutation: - CheckoutMutations.updateCheckoutBillingAddressWithEmailMutation, - variables, - }); - - if (errors?.length) { - return { - error: errors, - }; - } else if (data?.checkoutEmailUpdate?.errors.length) { - return { - error: data?.checkoutEmailUpdate?.errors, - }; - } else if (data?.checkoutBillingAddressUpdate?.errors.length) { - return { - error: data?.checkoutBillingAddressUpdate?.errors, - }; - } else if (data?.checkoutBillingAddressUpdate?.checkout) { - return { - data: this.constructCheckoutModel( - data.checkoutBillingAddressUpdate.checkout - ), - }; - } else { - return {}; - } - } catch (error) { - return { - error, - }; - } - }; - - setShippingMethod = async (shippingMethodId: string, checkoutId: string) => { - try { - const { data, errors } = await this.client.mutate< - UpdateCheckoutShippingMethod, - UpdateCheckoutShippingMethodVariables - >({ - mutation: CheckoutMutations.updateCheckoutShippingMethodMutation, - variables: { - checkoutId, - shippingMethodId, - }, - }); - - if (errors?.length) { - return { - error: errors, - }; - } else if (data?.checkoutShippingMethodUpdate?.errors.length) { - return { - error: data?.checkoutShippingMethodUpdate?.errors, - }; - } else if (data?.checkoutShippingMethodUpdate?.checkout) { - return { - data: this.constructCheckoutModel( - data.checkoutShippingMethodUpdate.checkout - ), - }; - } else { - return {}; - } - } catch (error) { - return { - error, - }; - } - }; - - addPromoCode = async (promoCode: string, checkoutId: string) => { - try { - const { data, errors } = await this.client.mutate< - AddCheckoutPromoCode, - AddCheckoutPromoCodeVariables - >({ - mutation: CheckoutMutations.addCheckoutPromoCode, - variables: { checkoutId, promoCode }, - }); - - if (errors?.length) { - return { - error: errors, - }; - } else if (data?.checkoutAddPromoCode?.errors.length) { - return { - error: data?.checkoutAddPromoCode?.errors, - }; - } else if (data?.checkoutAddPromoCode?.checkout) { - return { - data: this.constructCheckoutModel(data.checkoutAddPromoCode.checkout), - }; - } else { - return {}; - } - } catch (error) { - return { - error, - }; - } - }; - - removePromoCode = async (promoCode: string, checkoutId: string) => { - try { - const { data, errors } = await this.client.mutate< - RemoveCheckoutPromoCode, - RemoveCheckoutPromoCodeVariables - >({ - mutation: CheckoutMutations.removeCheckoutPromoCode, - variables: { checkoutId, promoCode }, - }); - - if (errors?.length) { - return { - error: errors, - }; - } else if (data?.checkoutRemovePromoCode?.errors.length) { - return { - error: data?.checkoutRemovePromoCode?.errors, - }; - } else if (data?.checkoutRemovePromoCode?.checkout) { - return { - data: this.constructCheckoutModel( - data.checkoutRemovePromoCode.checkout - ), - }; - } else { - return {}; - } - } catch (error) { - return { - error, - }; - } - }; - - createPayment = async ( - amount: number, - checkoutId: string, - paymentGateway: string, - paymentToken: string, - billingAddress: ICheckoutAddress - ) => { - try { - const variables = { - checkoutId, - paymentInput: { - amount, - billingAddress: { - city: billingAddress.city, - companyName: billingAddress.companyName, - country: - CountryCode[ - billingAddress?.country?.code as keyof typeof CountryCode - ], - countryArea: billingAddress.countryArea, - firstName: billingAddress.firstName, - lastName: billingAddress.lastName, - phone: billingAddress.phone, - postalCode: billingAddress.postalCode, - streetAddress1: billingAddress.streetAddress1, - streetAddress2: billingAddress.streetAddress2, - }, - gateway: paymentGateway, - token: paymentToken, - }, - }; - const { data, errors } = await this.client.mutate< - CreateCheckoutPayment, - CreateCheckoutPaymentVariables - >({ - mutation: CheckoutMutations.createCheckoutPaymentMutation, - variables, - }); - - if (errors?.length) { - return { - error: errors, - }; - } else if (data?.checkoutPaymentCreate?.errors.length) { - return { - error: data?.checkoutPaymentCreate?.errors, - }; - } else if (data?.checkoutPaymentCreate?.payment) { - return { - data: this.constructPaymentModel(data.checkoutPaymentCreate.payment), - }; - } else { - return {}; - } - } catch (error) { - return { - error, - }; - } - }; - - completeCheckout = async (checkoutId: string) => { - try { - const { data, errors } = await this.client.mutate< - CompleteCheckout, - CompleteCheckoutVariables - >({ - mutation: CheckoutMutations.completeCheckoutMutation, - variables: { checkoutId }, - }); - - if (errors?.length) { - return { - error: errors, - }; - } else if (data?.checkoutComplete?.errors.length) { - return { - error: data?.checkoutComplete?.errors, - }; - } else if (data?.checkoutComplete?.order) { - return { - data: this.constructOrderModel(data.checkoutComplete.order), - }; - } else { - return {}; - } - } catch (error) { - return { - error, - }; - } - }; - - private isLoggedIn = () => { - return !!getAuthToken(); - }; - - private constructCheckoutModel = ({ - id, - token, - email, - shippingAddress, - billingAddress, - discount, - discountName, - voucherCode, - lines, - availableShippingMethods, - shippingMethod, - }: Checkout): ICheckoutModel => ({ - availableShippingMethods: availableShippingMethods - ? availableShippingMethods.filter(filterNotEmptyArrayItems) - : [], - billingAddress, - email, - id, - lines: lines - ?.filter(item => item?.quantity && item.variant.id) - .map(item => { - const itemVariant = item?.variant; - - return { - id: item!.id, - quantity: item!.quantity, - totalPrice: item?.totalPrice, - variant: { - attributes: itemVariant?.attributes, - id: itemVariant!.id, - isAvailable: itemVariant?.isAvailable, - name: itemVariant?.name, - pricing: itemVariant?.pricing, - product: itemVariant?.product, - quantityAvailable: itemVariant?.quantityAvailable, - sku: itemVariant?.sku, - }, - }; - }), - promoCodeDiscount: { - discount, - discountName, - voucherCode, - }, - shippingAddress, - shippingMethod, - token, - }); - - private constructPaymentModel = ({ - id, - gateway, - token, - creditCard, - }: Payment): IPaymentModel => ({ - creditCard, - gateway, - id, - token, - }); - - private constructOrderModel = ({ - id, - token, - number: orderNumber, - }: OrderDetail): IOrderModel => ({ - id, - number: orderNumber, - token, - }); -} diff --git a/src/@sdk/data/ApolloClientManager/types.ts b/src/@sdk/data/ApolloClientManager/types.ts deleted file mode 100644 index 1c8be9193f..0000000000 --- a/src/@sdk/data/ApolloClientManager/types.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { ApolloError } from "apollo-client"; - -import { - ICheckoutAddress, - ICheckoutModel, - ICheckoutModelLine, - IOrderModel, - IPaymentModel, -} from "@temp/@sdk/helpers/LocalStorageHandler"; - -export enum PendingSaveItems { - UPDATE_CART = "updateCart", - BILLING_ADDRESS = "billingAddress", - SHIPPING_ADDRESS = "shippingAddress", - SHIPPING_AS_BILLING_ADDRESS = "shippingAsBillingAddress", -} - -export interface ApolloErrorWithUserInput extends ApolloError { - extraInfo: { - userInputErrors?: any[]; - }; -} - -export interface IApolloClientManagerResponse { - data?: T; - error?: ApolloErrorWithUserInput; -} - -export interface IApolloClientManager { - getCheckout: ( - checkoutToken: string | null - ) => Promise>; - getRefreshedCheckoutLines: ( - checkoutlines: ICheckoutModelLine[] | null - ) => Promise>; - createCheckout: ( - email: string, - lines: Array<{ variantId: string; quantity: number }>, - shippingAddress: ICheckoutAddress, - billingAddress?: ICheckoutAddress - ) => Promise>; - setCartItem: ( - checkout: ICheckoutModel - ) => Promise>; - setBillingAddress: ( - billingAddress: ICheckoutAddress, - checkoutId: string - ) => Promise>; - setBillingAddressWithEmail: ( - billingAddress: ICheckoutAddress, - email: string, - checkoutId: string - ) => Promise>; - setShippingAddress: ( - shippingAddress: ICheckoutAddress, - email: string, - checkoutId: string - ) => Promise>; - setShippingMethod: ( - shippingMethodId: string, - checkoutId: string - ) => Promise>; - addPromoCode: ( - promoCode: string, - checkoutId: string - ) => Promise>; - removePromoCode: ( - promoCode: string, - checkoutId: string - ) => Promise>; - createPayment: ( - amount: number, - checkoutId: string, - paymentGateway: string, - paymentToken: string, - billingAddress: ICheckoutAddress - ) => Promise>; - completeCheckout: ( - checkoutId: string - ) => Promise>; -} diff --git a/src/@sdk/data/LocalStorageManager/index.ts b/src/@sdk/data/LocalStorageManager/index.ts deleted file mode 100644 index 69ba82c7fd..0000000000 --- a/src/@sdk/data/LocalStorageManager/index.ts +++ /dev/null @@ -1,120 +0,0 @@ -import { SaleorState } from "@sdk/state"; - -import { LocalStorageHandler } from "../../helpers/LocalStorageHandler/LocalStorageHandler"; -import { ILocalStorageManager } from "./types"; - -export class LocalStorageManager implements ILocalStorageManager { - private handler: LocalStorageHandler; - private saleorState: SaleorState; - - constructor(handler: LocalStorageHandler, saleorState: SaleorState) { - this.handler = handler; - this.saleorState = saleorState; - } - - getHandler = () => { - return this.handler; - }; - - addItemToCart = (variantId: string, quantity: number) => { - const lines = this.saleorState.checkout?.lines || []; - let variant = lines.find(variant => variant.variant.id === variantId); - const alteredLines = lines.filter( - variant => variant.variant.id !== variantId - ); - const newVariantQuantity = variant ? variant.quantity + quantity : quantity; - if (variant) { - variant.quantity = newVariantQuantity; - alteredLines.push(variant); - } else { - variant = { - quantity, - variant: { - id: variantId, - }, - }; - alteredLines.push(variant); - } - const alteredCheckout = this.saleorState.checkout - ? { - ...this.saleorState.checkout, - lines: alteredLines, - } - : { - lines: alteredLines, - }; - this.handler.setCheckout(alteredCheckout); - - return alteredCheckout; - }; - - removeItemFromCart = (variantId: string) => { - const lines = this.saleorState.checkout?.lines || []; - const variant = lines.find(variant => variant.variant.id === variantId); - const alteredLines = lines.filter( - variant => variant.variant.id !== variantId - ); - if (variant) { - variant.quantity = 0; - alteredLines.push(variant); - } - const alteredCheckout = this.saleorState.checkout - ? { - ...this.saleorState.checkout, - lines: alteredLines, - } - : { - lines: alteredLines, - }; - this.handler.setCheckout(alteredCheckout); - - return alteredCheckout; - }; - - subtractItemFromCart = (variantId: string) => { - const lines = this.saleorState.checkout?.lines || []; - const variant = lines.find(variant => variant.variant.id === variantId); - const alteredLines = lines.filter( - variant => variant.variant.id !== variantId - ); - const newVariantQuantity = variant ? variant.quantity - 1 : 0; - if (variant) { - variant.quantity = newVariantQuantity; - alteredLines.push(variant); - } - const alteredCheckout = this.saleorState.checkout - ? { - ...this.saleorState.checkout, - lines: alteredLines, - } - : { - lines: alteredLines, - }; - this.handler.setCheckout(alteredCheckout); - - return alteredCheckout; - }; - - updateItemInCart = (variantId: string, quantity: number) => { - const lines = this.saleorState.checkout?.lines || []; - const variant = lines.find(variant => variant.variant.id === variantId); - const alteredLines = lines.filter( - variant => variant.variant.id !== variantId - ); - if (variant) { - variant.quantity = quantity; - alteredLines.push(variant); - } - const alteredCheckout = this.saleorState.checkout - ? { - ...this.saleorState.checkout, - lines: alteredLines, - } - : { - lines: alteredLines, - }; - this.handler.setCheckout(alteredCheckout); - - return alteredCheckout; - }; -} diff --git a/src/@sdk/data/LocalStorageManager/types.ts b/src/@sdk/data/LocalStorageManager/types.ts deleted file mode 100644 index bf3f4f899a..0000000000 --- a/src/@sdk/data/LocalStorageManager/types.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { LocalStorageHandler } from "../../helpers/LocalStorageHandler/LocalStorageHandler"; -import { ICheckoutModel } from "../../helpers/LocalStorageHandler/types"; - -export interface ILocalStorageManager { - getHandler: () => LocalStorageHandler; - addItemToCart: (variantId: string, quantity: number) => ICheckoutModel | null; - removeItemFromCart: (variantId: string) => ICheckoutModel | null; - subtractItemFromCart: (variantId: string) => ICheckoutModel | null; - updateItemInCart: ( - variantId: string, - quantity: number - ) => ICheckoutModel | null; -} diff --git a/src/@sdk/data/index.ts b/src/@sdk/data/index.ts deleted file mode 100644 index 1d8209c6b8..0000000000 --- a/src/@sdk/data/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./ApolloClientManager"; -export * from "./LocalStorageManager"; diff --git a/src/@sdk/fragments/auth.ts b/src/@sdk/fragments/auth.ts deleted file mode 100644 index 60c4136d7f..0000000000 --- a/src/@sdk/fragments/auth.ts +++ /dev/null @@ -1,23 +0,0 @@ -import gql from "graphql-tag"; - -import { checkoutAddressFragment } from "./checkout"; - -export const userFragment = gql` - ${checkoutAddressFragment} - fragment User on User { - id - email - firstName - lastName - isStaff - defaultShippingAddress { - ...Address - } - defaultBillingAddress { - ...Address - } - addresses { - ...Address - } - } -`; diff --git a/src/@sdk/fragments/checkout.ts b/src/@sdk/fragments/checkout.ts deleted file mode 100644 index 2ca8eb6998..0000000000 --- a/src/@sdk/fragments/checkout.ts +++ /dev/null @@ -1,158 +0,0 @@ -import gql from "graphql-tag"; - -export const checkoutErrorFragment = gql` - fragment CheckoutError on CheckoutError { - code - field - message - } -`; - -export const checkoutPriceFragment = gql` - fragment Price on TaxedMoney { - gross { - amount - currency - } - net { - amount - currency - } - } -`; - -export const checkoutAddressFragment = gql` - fragment Address on Address { - id - firstName - lastName - companyName - streetAddress1 - streetAddress2 - city - postalCode - country { - code - country - } - countryArea - phone - isDefaultBillingAddress - isDefaultShippingAddress - } -`; - -export const checkoutProductVariantFragment = gql` - ${checkoutPriceFragment} - fragment ProductVariant on ProductVariant { - id - name - sku - quantityAvailable - isAvailable - pricing { - onSale - priceUndiscounted { - ...Price - } - price { - ...Price - } - } - attributes { - attribute { - id - name - } - values { - id - name - value: name - } - } - product { - id - name - thumbnail { - url - alt - } - thumbnail2x: thumbnail(size: 510) { - url - } - productType { - isShippingRequired - } - } - } -`; - -export const checkoutShippingMethodFragment = gql` - fragment ShippingMethod on ShippingMethod { - id - name - price { - currency - amount - } - } -`; - -export const checkoutLineFragment = gql` - ${checkoutPriceFragment} - ${checkoutProductVariantFragment} - fragment CheckoutLine on CheckoutLine { - id - quantity - totalPrice { - ...Price - } - variant { - ...ProductVariant - } - } -`; - -export const checkoutFragment = gql` - ${checkoutLineFragment} - ${checkoutAddressFragment} - ${checkoutPriceFragment} - ${checkoutShippingMethodFragment} - fragment Checkout on Checkout { - token - id - totalPrice { - ...Price - } - subtotalPrice { - ...Price - } - billingAddress { - ...Address - } - shippingAddress { - ...Address - } - email - availableShippingMethods { - ...ShippingMethod - } - shippingMethod { - ...ShippingMethod - } - shippingPrice { - ...Price - } - lines { - ...CheckoutLine - } - isShippingRequired - discount { - currency - amount - } - discountName - translatedDiscountName - voucherCode - } -`; diff --git a/src/@sdk/fragments/gqlTypes/Address.ts b/src/@sdk/fragments/gqlTypes/Address.ts deleted file mode 100644 index a081fc7301..0000000000 --- a/src/@sdk/fragments/gqlTypes/Address.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: Address -// ==================================================== - -export interface Address_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface Address { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: Address_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} diff --git a/src/@sdk/fragments/gqlTypes/BasicProductFields.ts b/src/@sdk/fragments/gqlTypes/BasicProductFields.ts deleted file mode 100644 index 6325c092f3..0000000000 --- a/src/@sdk/fragments/gqlTypes/BasicProductFields.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: BasicProductFields -// ==================================================== - -export interface BasicProductFields_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface BasicProductFields_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface BasicProductFields { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: BasicProductFields_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: BasicProductFields_thumbnail2x | null; -} diff --git a/src/@sdk/fragments/gqlTypes/Checkout.ts b/src/@sdk/fragments/gqlTypes/Checkout.ts deleted file mode 100644 index 79e3087f77..0000000000 --- a/src/@sdk/fragments/gqlTypes/Checkout.ts +++ /dev/null @@ -1,545 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: Checkout -// ==================================================== - -export interface Checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: Checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: Checkout_totalPrice_net; -} - -export interface Checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: Checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: Checkout_subtotalPrice_net; -} - -export interface Checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface Checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: Checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface Checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface Checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: Checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface Checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface Checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: Checkout_availableShippingMethods_price | null; -} - -export interface Checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface Checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: Checkout_shippingMethod_price | null; -} - -export interface Checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: Checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: Checkout_shippingPrice_net; -} - -export interface Checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: Checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: Checkout_lines_totalPrice_net; -} - -export interface Checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: Checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: Checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface Checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: Checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: Checkout_lines_variant_pricing_price_net; -} - -export interface Checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: Checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: Checkout_lines_variant_pricing_price | null; -} - -export interface Checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface Checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface Checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: Checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (Checkout_lines_variant_attributes_values | null)[]; -} - -export interface Checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface Checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface Checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface Checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: Checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: Checkout_lines_variant_product_thumbnail2x | null; - productType: Checkout_lines_variant_product_productType; -} - -export interface Checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: Checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: Checkout_lines_variant_attributes[]; - product: Checkout_lines_variant_product; -} - -export interface Checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: Checkout_lines_totalPrice | null; - variant: Checkout_lines_variant; -} - -export interface Checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface Checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: Checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: Checkout_subtotalPrice | null; - billingAddress: Checkout_billingAddress | null; - shippingAddress: Checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (Checkout_availableShippingMethods | null)[]; - shippingMethod: Checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: Checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (Checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: Checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} diff --git a/src/@sdk/fragments/gqlTypes/CheckoutError.ts b/src/@sdk/fragments/gqlTypes/CheckoutError.ts deleted file mode 100644 index 17afedca0b..0000000000 --- a/src/@sdk/fragments/gqlTypes/CheckoutError.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL fragment: CheckoutError -// ==================================================== - -export interface CheckoutError { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} diff --git a/src/@sdk/fragments/gqlTypes/CheckoutLine.ts b/src/@sdk/fragments/gqlTypes/CheckoutLine.ts deleted file mode 100644 index b2dfcfb093..0000000000 --- a/src/@sdk/fragments/gqlTypes/CheckoutLine.ts +++ /dev/null @@ -1,255 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: CheckoutLine -// ==================================================== - -export interface CheckoutLine_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutLine_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutLine_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CheckoutLine_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: CheckoutLine_totalPrice_net; -} - -export interface CheckoutLine_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutLine_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutLine_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CheckoutLine_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: CheckoutLine_variant_pricing_priceUndiscounted_net; -} - -export interface CheckoutLine_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutLine_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutLine_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CheckoutLine_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: CheckoutLine_variant_pricing_price_net; -} - -export interface CheckoutLine_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: CheckoutLine_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: CheckoutLine_variant_pricing_price | null; -} - -export interface CheckoutLine_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface CheckoutLine_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface CheckoutLine_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: CheckoutLine_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (CheckoutLine_variant_attributes_values | null)[]; -} - -export interface CheckoutLine_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface CheckoutLine_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface CheckoutLine_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface CheckoutLine_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: CheckoutLine_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: CheckoutLine_variant_product_thumbnail2x | null; - productType: CheckoutLine_variant_product_productType; -} - -export interface CheckoutLine_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: CheckoutLine_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: CheckoutLine_variant_attributes[]; - product: CheckoutLine_variant_product; -} - -export interface CheckoutLine { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: CheckoutLine_totalPrice | null; - variant: CheckoutLine_variant; -} diff --git a/src/@sdk/fragments/gqlTypes/OrderDetail.ts b/src/@sdk/fragments/gqlTypes/OrderDetail.ts deleted file mode 100644 index 9fc42cf6b3..0000000000 --- a/src/@sdk/fragments/gqlTypes/OrderDetail.ts +++ /dev/null @@ -1,457 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { PaymentChargeStatusEnum, OrderStatus } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL fragment: OrderDetail -// ==================================================== - -export interface OrderDetail_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface OrderDetail_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: OrderDetail_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface OrderDetail_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_lines_variant_pricing_priceUndiscounted_net; -} - -export interface OrderDetail_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_lines_variant_pricing_price_net; -} - -export interface OrderDetail_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: OrderDetail_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: OrderDetail_lines_variant_pricing_price | null; -} - -export interface OrderDetail_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface OrderDetail_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface OrderDetail_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: OrderDetail_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (OrderDetail_lines_variant_attributes_values | null)[]; -} - -export interface OrderDetail_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface OrderDetail_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface OrderDetail_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface OrderDetail_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: OrderDetail_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: OrderDetail_lines_variant_product_thumbnail2x | null; - productType: OrderDetail_lines_variant_product_productType; -} - -export interface OrderDetail_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: OrderDetail_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: OrderDetail_lines_variant_attributes[]; - product: OrderDetail_lines_variant_product; -} - -export interface OrderDetail_lines_unitPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_unitPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_lines_unitPrice { - __typename: "TaxedMoney"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_lines_unitPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_lines_unitPrice_net; -} - -export interface OrderDetail_lines { - __typename: "OrderLine"; - productName: string; - quantity: number; - /** - * A purchased product variant. Note: this field may be null if the variant has been removed from stock at all. - */ - variant: OrderDetail_lines_variant | null; - /** - * Price of the single item in the order line. - */ - unitPrice: OrderDetail_lines_unitPrice | null; -} - -export interface OrderDetail_subtotal_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_subtotal_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_subtotal { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_subtotal_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_subtotal_net; -} - -export interface OrderDetail_total_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_total_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_total { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_total_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_total_net; -} - -export interface OrderDetail_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderDetail_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderDetail_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderDetail_shippingPrice_net; -} - -export interface OrderDetail { - __typename: "Order"; - /** - * Email address of the customer. - */ - userEmail: string | null; - /** - * Internal payment status. - */ - paymentStatus: PaymentChargeStatusEnum | null; - /** - * User-friendly payment status. - */ - paymentStatusDisplay: string | null; - status: OrderStatus; - /** - * User-friendly order status. - */ - statusDisplay: string | null; - /** - * The ID of the object. - */ - id: string; - token: string; - /** - * User-friendly number of an order. - */ - number: string | null; - shippingAddress: OrderDetail_shippingAddress | null; - /** - * List of order lines. - */ - lines: (OrderDetail_lines | null)[]; - /** - * The sum of line prices not including shipping. - */ - subtotal: OrderDetail_subtotal | null; - /** - * Total amount of the order. - */ - total: OrderDetail_total | null; - /** - * Total price of shipping. - */ - shippingPrice: OrderDetail_shippingPrice | null; -} diff --git a/src/@sdk/fragments/gqlTypes/OrderPrice.ts b/src/@sdk/fragments/gqlTypes/OrderPrice.ts deleted file mode 100644 index d1b7f168cd..0000000000 --- a/src/@sdk/fragments/gqlTypes/OrderPrice.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: OrderPrice -// ==================================================== - -export interface OrderPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderPrice_net; -} diff --git a/src/@sdk/fragments/gqlTypes/Payment.ts b/src/@sdk/fragments/gqlTypes/Payment.ts deleted file mode 100644 index 87fb03c6c4..0000000000 --- a/src/@sdk/fragments/gqlTypes/Payment.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: Payment -// ==================================================== - -export interface Payment_creditCard { - __typename: "CreditCard"; - /** - * Card brand. - */ - brand: string; - /** - * The host name of the domain. - */ - firstDigits: string; - /** - * Last 4 digits of the card number. - */ - lastDigits: string; - /** - * Two-digit number representing the card’s expiration month. - */ - expMonth: number; - /** - * Four-digit number representing the card’s expiration year. - */ - expYear: number; -} - -export interface Payment { - __typename: "Payment"; - /** - * The ID of the object. - */ - id: string; - gateway: string; - token: string; - /** - * The details of the card used for this payment. - */ - creditCard: Payment_creditCard | null; -} diff --git a/src/@sdk/fragments/gqlTypes/PaymentError.ts b/src/@sdk/fragments/gqlTypes/PaymentError.ts deleted file mode 100644 index c50146f610..0000000000 --- a/src/@sdk/fragments/gqlTypes/PaymentError.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { PaymentErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL fragment: PaymentError -// ==================================================== - -export interface PaymentError { - __typename: "PaymentError"; - /** - * The error code. - */ - code: PaymentErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} diff --git a/src/@sdk/fragments/gqlTypes/Price.ts b/src/@sdk/fragments/gqlTypes/Price.ts deleted file mode 100644 index 8ec5e95509..0000000000 --- a/src/@sdk/fragments/gqlTypes/Price.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: Price -// ==================================================== - -export interface Price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface Price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: Price_gross; - /** - * Amount of money without taxes. - */ - net: Price_net; -} diff --git a/src/@sdk/fragments/gqlTypes/ProductVariant.ts b/src/@sdk/fragments/gqlTypes/ProductVariant.ts deleted file mode 100644 index fd56c5a194..0000000000 --- a/src/@sdk/fragments/gqlTypes/ProductVariant.ts +++ /dev/null @@ -1,205 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: ProductVariant -// ==================================================== - -export interface ProductVariant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductVariant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: ProductVariant_pricing_priceUndiscounted_net; -} - -export interface ProductVariant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductVariant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: ProductVariant_pricing_price_net; -} - -export interface ProductVariant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: ProductVariant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: ProductVariant_pricing_price | null; -} - -export interface ProductVariant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface ProductVariant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface ProductVariant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: ProductVariant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (ProductVariant_attributes_values | null)[]; -} - -export interface ProductVariant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface ProductVariant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface ProductVariant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface ProductVariant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: ProductVariant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: ProductVariant_product_thumbnail2x | null; - productType: ProductVariant_product_productType; -} - -export interface ProductVariant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: ProductVariant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: ProductVariant_attributes[]; - product: ProductVariant_product; -} diff --git a/src/@sdk/fragments/gqlTypes/ProductVariantFields.ts b/src/@sdk/fragments/gqlTypes/ProductVariantFields.ts deleted file mode 100644 index 18e505f76f..0000000000 --- a/src/@sdk/fragments/gqlTypes/ProductVariantFields.ts +++ /dev/null @@ -1,182 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: ProductVariantFields -// ==================================================== - -export interface ProductVariantFields_images { - __typename: "ProductImage"; - /** - * The ID of the object. - */ - id: string; - /** - * The URL of the image. - */ - url: string; - alt: string; -} - -export interface ProductVariantFields_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariantFields_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariantFields_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductVariantFields_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: ProductVariantFields_pricing_priceUndiscounted_net; -} - -export interface ProductVariantFields_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariantFields_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductVariantFields_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductVariantFields_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: ProductVariantFields_pricing_price_net; -} - -export interface ProductVariantFields_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: ProductVariantFields_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: ProductVariantFields_pricing_price | null; -} - -export interface ProductVariantFields_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; - /** - * Internal representation of an attribute name. - */ - slug: string | null; -} - -export interface ProductVariantFields_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface ProductVariantFields_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: ProductVariantFields_attributes_attribute; - /** - * Values of an attribute. - */ - values: (ProductVariantFields_attributes_values | null)[]; -} - -export interface ProductVariantFields { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - sku: string; - name: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * List of images for the product variant. - */ - images: (ProductVariantFields_images | null)[] | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: ProductVariantFields_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: ProductVariantFields_attributes[]; -} diff --git a/src/@sdk/fragments/gqlTypes/SelectedAttributeFields.ts b/src/@sdk/fragments/gqlTypes/SelectedAttributeFields.ts deleted file mode 100644 index 130a8bb1b4..0000000000 --- a/src/@sdk/fragments/gqlTypes/SelectedAttributeFields.ts +++ /dev/null @@ -1,47 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: SelectedAttributeFields -// ==================================================== - -export interface SelectedAttributeFields_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; - /** - * Internal representation of an attribute name. - */ - slug: string | null; -} - -export interface SelectedAttributeFields_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; -} - -export interface SelectedAttributeFields { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: SelectedAttributeFields_attribute; - /** - * Values of an attribute. - */ - values: (SelectedAttributeFields_values | null)[]; -} diff --git a/src/@sdk/fragments/gqlTypes/ShippingMethod.ts b/src/@sdk/fragments/gqlTypes/ShippingMethod.ts deleted file mode 100644 index 0e841f117f..0000000000 --- a/src/@sdk/fragments/gqlTypes/ShippingMethod.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: ShippingMethod -// ==================================================== - -export interface ShippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface ShippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: ShippingMethod_price | null; -} diff --git a/src/@sdk/fragments/gqlTypes/User.ts b/src/@sdk/fragments/gqlTypes/User.ts deleted file mode 100644 index 9ee6293e12..0000000000 --- a/src/@sdk/fragments/gqlTypes/User.ts +++ /dev/null @@ -1,148 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: User -// ==================================================== - -export interface User_defaultShippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface User_defaultShippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: User_defaultShippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface User_defaultBillingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface User_defaultBillingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: User_defaultBillingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface User_addresses_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface User_addresses { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: User_addresses_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface User { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - email: string; - firstName: string; - lastName: string; - isStaff: boolean; - defaultShippingAddress: User_defaultShippingAddress | null; - defaultBillingAddress: User_defaultBillingAddress | null; - /** - * List of all user's addresses. - */ - addresses: (User_addresses | null)[] | null; -} diff --git a/src/@sdk/fragments/payment.ts b/src/@sdk/fragments/payment.ts deleted file mode 100644 index b75591eda7..0000000000 --- a/src/@sdk/fragments/payment.ts +++ /dev/null @@ -1,24 +0,0 @@ -import gql from "graphql-tag"; - -export const paymentFragment = gql` - fragment Payment on Payment { - id - gateway - token - creditCard { - brand - firstDigits - lastDigits - expMonth - expYear - } - } -`; - -export const paymentErrorFragment = gql` - fragment PaymentError on PaymentError { - code - field - message - } -`; diff --git a/src/@sdk/fragments/products.ts b/src/@sdk/fragments/products.ts deleted file mode 100644 index 54982eaed0..0000000000 --- a/src/@sdk/fragments/products.ts +++ /dev/null @@ -1,67 +0,0 @@ -import gql from "graphql-tag"; -import { checkoutPriceFragment } from "./checkout"; - -export const basicProductFragment = gql` - fragment BasicProductFields on Product { - id - name - thumbnail { - url - alt - } - thumbnail2x: thumbnail(size: 510) { - url - } - } -`; - -export const selectedAttributeFragment = gql` - fragment SelectedAttributeFields on SelectedAttribute { - attribute { - id - name - slug - } - values { - id - name - } - } -`; - -export const productVariantFragment = gql` - ${checkoutPriceFragment} - fragment ProductVariantFields on ProductVariant { - id - sku - name - quantityAvailable(countryCode: $countryCode) - isAvailable - images { - id - url - alt - } - pricing { - onSale - priceUndiscounted { - ...Price - } - price { - ...Price - } - } - attributes { - attribute { - id - name - slug - } - values { - id - name - value: name - } - } - } -`; diff --git a/src/@sdk/fragments/user.ts b/src/@sdk/fragments/user.ts deleted file mode 100644 index 0fe695ee99..0000000000 --- a/src/@sdk/fragments/user.ts +++ /dev/null @@ -1,58 +0,0 @@ -import gql from "graphql-tag"; - -import { - checkoutAddressFragment, - checkoutProductVariantFragment, -} from "./checkout"; - -export const orderPriceFragment = gql` - fragment OrderPrice on TaxedMoney { - gross { - amount - currency - } - net { - amount - currency - } - } -`; - -export const orderDetailFragment = gql` - ${orderPriceFragment} - ${checkoutAddressFragment} - ${checkoutProductVariantFragment} - fragment OrderDetail on Order { - userEmail - paymentStatus - paymentStatusDisplay - status - statusDisplay - id - token - number - shippingAddress { - ...Address - } - lines { - productName - quantity - variant { - ...ProductVariant - } - unitPrice { - currency - ...OrderPrice - } - } - subtotal { - ...OrderPrice - } - total { - ...OrderPrice - } - shippingPrice { - ...OrderPrice - } - } -`; diff --git a/src/@sdk/global.d.ts b/src/@sdk/global.d.ts deleted file mode 100644 index 10ea37cfc2..0000000000 --- a/src/@sdk/global.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -declare interface Window { - PasswordCredential: any; - Stripe: any; - Cypress?: any; -} - -declare interface Navigator { - credentials: any; -} diff --git a/src/@sdk/gqlTypes/globalTypes.ts b/src/@sdk/gqlTypes/globalTypes.ts deleted file mode 100644 index 632cfa5cc9..0000000000 --- a/src/@sdk/gqlTypes/globalTypes.ts +++ /dev/null @@ -1,435 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -//============================================================== -// START Enums and Input Objects -//============================================================== - -/** - * An enumeration. - */ -export enum AccountErrorCode { - ACTIVATE_OWN_ACCOUNT = "ACTIVATE_OWN_ACCOUNT", - ACTIVATE_SUPERUSER_ACCOUNT = "ACTIVATE_SUPERUSER_ACCOUNT", - DEACTIVATE_OWN_ACCOUNT = "DEACTIVATE_OWN_ACCOUNT", - DEACTIVATE_SUPERUSER_ACCOUNT = "DEACTIVATE_SUPERUSER_ACCOUNT", - DELETE_NON_STAFF_USER = "DELETE_NON_STAFF_USER", - DELETE_OWN_ACCOUNT = "DELETE_OWN_ACCOUNT", - DELETE_STAFF_ACCOUNT = "DELETE_STAFF_ACCOUNT", - DELETE_SUPERUSER_ACCOUNT = "DELETE_SUPERUSER_ACCOUNT", - DUPLICATED_INPUT_ITEM = "DUPLICATED_INPUT_ITEM", - GRAPHQL_ERROR = "GRAPHQL_ERROR", - INVALID = "INVALID", - INVALID_CREDENTIALS = "INVALID_CREDENTIALS", - INVALID_PASSWORD = "INVALID_PASSWORD", - LEFT_NOT_MANAGEABLE_PERMISSION = "LEFT_NOT_MANAGEABLE_PERMISSION", - NOT_FOUND = "NOT_FOUND", - OUT_OF_SCOPE_GROUP = "OUT_OF_SCOPE_GROUP", - OUT_OF_SCOPE_PERMISSION = "OUT_OF_SCOPE_PERMISSION", - OUT_OF_SCOPE_SERVICE_ACCOUNT = "OUT_OF_SCOPE_SERVICE_ACCOUNT", - OUT_OF_SCOPE_USER = "OUT_OF_SCOPE_USER", - PASSWORD_ENTIRELY_NUMERIC = "PASSWORD_ENTIRELY_NUMERIC", - PASSWORD_TOO_COMMON = "PASSWORD_TOO_COMMON", - PASSWORD_TOO_SHORT = "PASSWORD_TOO_SHORT", - PASSWORD_TOO_SIMILAR = "PASSWORD_TOO_SIMILAR", - REQUIRED = "REQUIRED", - UNIQUE = "UNIQUE", -} - -/** - * An enumeration. - */ -export enum AddressTypeEnum { - BILLING = "BILLING", - SHIPPING = "SHIPPING", -} - -/** - * An enumeration. - */ -export enum CheckoutErrorCode { - BILLING_ADDRESS_NOT_SET = "BILLING_ADDRESS_NOT_SET", - CHECKOUT_NOT_FULLY_PAID = "CHECKOUT_NOT_FULLY_PAID", - GRAPHQL_ERROR = "GRAPHQL_ERROR", - INSUFFICIENT_STOCK = "INSUFFICIENT_STOCK", - INVALID = "INVALID", - INVALID_SHIPPING_METHOD = "INVALID_SHIPPING_METHOD", - NOT_FOUND = "NOT_FOUND", - PAYMENT_ERROR = "PAYMENT_ERROR", - QUANTITY_GREATER_THAN_LIMIT = "QUANTITY_GREATER_THAN_LIMIT", - REQUIRED = "REQUIRED", - SHIPPING_ADDRESS_NOT_SET = "SHIPPING_ADDRESS_NOT_SET", - SHIPPING_METHOD_NOT_APPLICABLE = "SHIPPING_METHOD_NOT_APPLICABLE", - SHIPPING_METHOD_NOT_SET = "SHIPPING_METHOD_NOT_SET", - SHIPPING_NOT_REQUIRED = "SHIPPING_NOT_REQUIRED", - TAX_ERROR = "TAX_ERROR", - UNIQUE = "UNIQUE", - VOUCHER_NOT_APPLICABLE = "VOUCHER_NOT_APPLICABLE", - ZERO_QUANTITY = "ZERO_QUANTITY", -} - -/** - * An enumeration. - */ -export enum CountryCode { - AD = "AD", - AE = "AE", - AF = "AF", - AG = "AG", - AI = "AI", - AL = "AL", - AM = "AM", - AO = "AO", - AQ = "AQ", - AR = "AR", - AS = "AS", - AT = "AT", - AU = "AU", - AW = "AW", - AX = "AX", - AZ = "AZ", - BA = "BA", - BB = "BB", - BD = "BD", - BE = "BE", - BF = "BF", - BG = "BG", - BH = "BH", - BI = "BI", - BJ = "BJ", - BL = "BL", - BM = "BM", - BN = "BN", - BO = "BO", - BQ = "BQ", - BR = "BR", - BS = "BS", - BT = "BT", - BV = "BV", - BW = "BW", - BY = "BY", - BZ = "BZ", - CA = "CA", - CC = "CC", - CD = "CD", - CF = "CF", - CG = "CG", - CH = "CH", - CI = "CI", - CK = "CK", - CL = "CL", - CM = "CM", - CN = "CN", - CO = "CO", - CR = "CR", - CU = "CU", - CV = "CV", - CW = "CW", - CX = "CX", - CY = "CY", - CZ = "CZ", - DE = "DE", - DJ = "DJ", - DK = "DK", - DM = "DM", - DO = "DO", - DZ = "DZ", - EC = "EC", - EE = "EE", - EG = "EG", - EH = "EH", - ER = "ER", - ES = "ES", - ET = "ET", - EU = "EU", - FI = "FI", - FJ = "FJ", - FK = "FK", - FM = "FM", - FO = "FO", - FR = "FR", - GA = "GA", - GB = "GB", - GD = "GD", - GE = "GE", - GF = "GF", - GG = "GG", - GH = "GH", - GI = "GI", - GL = "GL", - GM = "GM", - GN = "GN", - GP = "GP", - GQ = "GQ", - GR = "GR", - GS = "GS", - GT = "GT", - GU = "GU", - GW = "GW", - GY = "GY", - HK = "HK", - HM = "HM", - HN = "HN", - HR = "HR", - HT = "HT", - HU = "HU", - ID = "ID", - IE = "IE", - IL = "IL", - IM = "IM", - IN = "IN", - IO = "IO", - IQ = "IQ", - IR = "IR", - IS = "IS", - IT = "IT", - JE = "JE", - JM = "JM", - JO = "JO", - JP = "JP", - KE = "KE", - KG = "KG", - KH = "KH", - KI = "KI", - KM = "KM", - KN = "KN", - KP = "KP", - KR = "KR", - KW = "KW", - KY = "KY", - KZ = "KZ", - LA = "LA", - LB = "LB", - LC = "LC", - LI = "LI", - LK = "LK", - LR = "LR", - LS = "LS", - LT = "LT", - LU = "LU", - LV = "LV", - LY = "LY", - MA = "MA", - MC = "MC", - MD = "MD", - ME = "ME", - MF = "MF", - MG = "MG", - MH = "MH", - MK = "MK", - ML = "ML", - MM = "MM", - MN = "MN", - MO = "MO", - MP = "MP", - MQ = "MQ", - MR = "MR", - MS = "MS", - MT = "MT", - MU = "MU", - MV = "MV", - MW = "MW", - MX = "MX", - MY = "MY", - MZ = "MZ", - NA = "NA", - NC = "NC", - NE = "NE", - NF = "NF", - NG = "NG", - NI = "NI", - NL = "NL", - NO = "NO", - NP = "NP", - NR = "NR", - NU = "NU", - NZ = "NZ", - OM = "OM", - PA = "PA", - PE = "PE", - PF = "PF", - PG = "PG", - PH = "PH", - PK = "PK", - PL = "PL", - PM = "PM", - PN = "PN", - PR = "PR", - PS = "PS", - PT = "PT", - PW = "PW", - PY = "PY", - QA = "QA", - RE = "RE", - RO = "RO", - RS = "RS", - RU = "RU", - RW = "RW", - SA = "SA", - SB = "SB", - SC = "SC", - SD = "SD", - SE = "SE", - SG = "SG", - SH = "SH", - SI = "SI", - SJ = "SJ", - SK = "SK", - SL = "SL", - SM = "SM", - SN = "SN", - SO = "SO", - SR = "SR", - SS = "SS", - ST = "ST", - SV = "SV", - SX = "SX", - SY = "SY", - SZ = "SZ", - TC = "TC", - TD = "TD", - TF = "TF", - TG = "TG", - TH = "TH", - TJ = "TJ", - TK = "TK", - TL = "TL", - TM = "TM", - TN = "TN", - TO = "TO", - TR = "TR", - TT = "TT", - TV = "TV", - TW = "TW", - TZ = "TZ", - UA = "UA", - UG = "UG", - UM = "UM", - US = "US", - UY = "UY", - UZ = "UZ", - VA = "VA", - VC = "VC", - VE = "VE", - VG = "VG", - VI = "VI", - VN = "VN", - VU = "VU", - WF = "WF", - WS = "WS", - YE = "YE", - YT = "YT", - ZA = "ZA", - ZM = "ZM", - ZW = "ZW", -} - -export enum OrderDirection { - ASC = "ASC", - DESC = "DESC", -} - -/** - * An enumeration. - */ -export enum OrderStatus { - CANCELED = "CANCELED", - DRAFT = "DRAFT", - FULFILLED = "FULFILLED", - PARTIALLY_FULFILLED = "PARTIALLY_FULFILLED", - UNFULFILLED = "UNFULFILLED", -} - -/** - * An enumeration. - */ -export enum PaymentChargeStatusEnum { - FULLY_CHARGED = "FULLY_CHARGED", - FULLY_REFUNDED = "FULLY_REFUNDED", - NOT_CHARGED = "NOT_CHARGED", - PARTIALLY_CHARGED = "PARTIALLY_CHARGED", - PARTIALLY_REFUNDED = "PARTIALLY_REFUNDED", -} - -/** - * An enumeration. - */ -export enum PaymentErrorCode { - BILLING_ADDRESS_NOT_SET = "BILLING_ADDRESS_NOT_SET", - GRAPHQL_ERROR = "GRAPHQL_ERROR", - INVALID = "INVALID", - INVALID_SHIPPING_METHOD = "INVALID_SHIPPING_METHOD", - NOT_FOUND = "NOT_FOUND", - PARTIAL_PAYMENT_NOT_ALLOWED = "PARTIAL_PAYMENT_NOT_ALLOWED", - PAYMENT_ERROR = "PAYMENT_ERROR", - REQUIRED = "REQUIRED", - SHIPPING_ADDRESS_NOT_SET = "SHIPPING_ADDRESS_NOT_SET", - SHIPPING_METHOD_NOT_SET = "SHIPPING_METHOD_NOT_SET", - UNIQUE = "UNIQUE", -} - -export enum ProductOrderField { - DATE = "DATE", - MINIMAL_PRICE = "MINIMAL_PRICE", - NAME = "NAME", - PRICE = "PRICE", - PUBLISHED = "PUBLISHED", - TYPE = "TYPE", -} - -export interface AccountInput { - firstName?: string | null; - lastName?: string | null; - defaultBillingAddress?: AddressInput | null; - defaultShippingAddress?: AddressInput | null; -} - -export interface AddressInput { - firstName?: string | null; - lastName?: string | null; - companyName?: string | null; - streetAddress1?: string | null; - streetAddress2?: string | null; - city?: string | null; - cityArea?: string | null; - postalCode?: string | null; - country?: CountryCode | null; - countryArea?: string | null; - phone?: string | null; -} - -export interface AttributeInput { - slug: string; - value?: string | null; - values?: (string | null)[] | null; -} - -export interface CheckoutCreateInput { - lines: (CheckoutLineInput | null)[]; - email?: string | null; - shippingAddress?: AddressInput | null; - billingAddress?: AddressInput | null; -} - -export interface CheckoutLineInput { - quantity: number; - variantId: string; -} - -export interface PaymentInput { - gateway: string; - token: string; - amount?: any | null; - billingAddress?: AddressInput | null; -} - -export interface ProductOrder { - direction: OrderDirection; - attributeId?: string | null; - field?: ProductOrderField | null; -} - -//============================================================== -// END Enums and Input Objects -//============================================================== diff --git a/src/@sdk/helpers/ErrorListener/index.ts b/src/@sdk/helpers/ErrorListener/index.ts deleted file mode 100644 index 7819825b26..0000000000 --- a/src/@sdk/helpers/ErrorListener/index.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { DataErrorCheckoutTypes } from "@sdk/api/Checkout/types"; -import { ErrorCartTypes } from "@sdk/jobs/Cart"; -import { ApolloErrorWithUserInput } from "@sdk/react/types"; - -import { IErrorListener } from "./types"; - -export type ErrorTypes = DataErrorCheckoutTypes | ErrorCartTypes; - -export class ErrorListener implements IErrorListener { - private errorListeners: Array< - (error: ApolloErrorWithUserInput | any, type: ErrorTypes) => any - >; - - constructor() { - this.errorListeners = []; - } - - addOnErrorListener = ( - func: (error: ApolloErrorWithUserInput | any, type: ErrorTypes) => any - ) => { - this.errorListeners.push(func); - }; - - removeOnErrorListener = ( - func: (error: ApolloErrorWithUserInput | any, type: ErrorTypes) => any - ) => { - this.errorListeners = this.errorListeners.filter( - errorListenersFunc => func !== errorListenersFunc - ); - }; - - protected fireError = ( - error: ApolloErrorWithUserInput | any, - type: ErrorTypes - ) => { - this.errorListeners.forEach(errorListenersFunc => { - errorListenersFunc(error, type); - }); - }; -} diff --git a/src/@sdk/helpers/ErrorListener/types.ts b/src/@sdk/helpers/ErrorListener/types.ts deleted file mode 100644 index a959ed2276..0000000000 --- a/src/@sdk/helpers/ErrorListener/types.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { ApolloErrorWithUserInput } from "@sdk/react/types"; - -export interface IErrorListener { - addOnErrorListener: ( - func: (error: ApolloErrorWithUserInput | any) => any - ) => void; - removeOnErrorListener: ( - func: (error: ApolloErrorWithUserInput | any) => any - ) => void; -} diff --git a/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts b/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts deleted file mode 100644 index 3664e17ea1..0000000000 --- a/src/@sdk/helpers/LocalStorageHandler/LocalStorageHandler.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { NamedObservable } from "../NamedObservable"; -import { - ICheckoutModel, - IJobsModel, - ILocalStorageHandler, - IPaymentModel, - LocalStorageItems, -} from "./types"; - -/** - * Sets or removes data from local storage in one of the specified data format. - * If data is set to null, then it is removed from local storage. - * If needed, it stringify data for persistance in local storage or parse such data to be retrieved in desired format. - */ -class LocalStorageHandlerProxy extends NamedObservable { - /** - * Save string item to local storage. - * @param name Unique key by which item is identified. - * @param item String to be saved. If null, then item is completely removed from local storage. - */ - protected saveItem(name: LocalStorageItems, item: string | null): void { - if (item) { - localStorage.setItem(name, item); - } else { - localStorage.removeItem(name); - } - this.notifyChange(name, item); - } - /** - * Retrieve string item from local storage. - * @param name Unique key by which item is identified. - */ - protected retrieveItem(name: LocalStorageItems): string | null { - return localStorage.getItem(name); - } - /** - * Stringify object and saves it to local storage. - * @param name Unique key by which object is identified. - * @param item Object to be saved. If null, then object is completely removed from local storage. - */ - protected saveObject( - name: LocalStorageItems, - object: T | null - ): void { - if (object) { - localStorage.setItem(name, JSON.stringify(object)); - } else { - localStorage.removeItem(name); - } - this.notifyChange(name, object); - } - /** - * Retrieve item from local storage and parse it as object. - * @param name Unique key by which object is identified. - */ - protected retrieveObject( - name: LocalStorageItems - ): T | null { - const item = localStorage.getItem(name); - if (item) { - return JSON.parse(item); - } - return null; - } -} - -export class LocalStorageHandler extends LocalStorageHandlerProxy - implements ILocalStorageHandler { - getCheckout(): ICheckoutModel | null { - return this.retrieveObject(LocalStorageItems.CHECKOUT); - } - setCheckout(checkout: ICheckoutModel | null): void { - this.saveObject(LocalStorageItems.CHECKOUT, checkout); - } - getPayment(): IPaymentModel | null { - return this.retrieveObject(LocalStorageItems.PAYMENT); - } - setPayment(payment: IPaymentModel | null): void { - this.saveObject(LocalStorageItems.PAYMENT, payment); - } - getJobs(): IJobsModel | null { - return this.retrieveObject(LocalStorageItems.JOB_QUEUE_CHECKOUT); - } - setJobs(jobs: IJobsModel | null): void { - return this.saveObject(LocalStorageItems.JOB_QUEUE_CHECKOUT, jobs); - } -} diff --git a/src/@sdk/helpers/LocalStorageHandler/index.ts b/src/@sdk/helpers/LocalStorageHandler/index.ts deleted file mode 100644 index dab1459b5b..0000000000 --- a/src/@sdk/helpers/LocalStorageHandler/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./LocalStorageHandler"; -export * from "./types"; diff --git a/src/@sdk/helpers/LocalStorageHandler/types.ts b/src/@sdk/helpers/LocalStorageHandler/types.ts deleted file mode 100644 index 9a6c51fc0d..0000000000 --- a/src/@sdk/helpers/LocalStorageHandler/types.ts +++ /dev/null @@ -1,144 +0,0 @@ -import { - Checkout_availableShippingMethods, - Checkout_lines_variant_attributes, - Checkout_lines_variant_pricing, - Checkout_lines_variant_product, -} from "@sdk/fragments/gqlTypes/Checkout"; -import { IQueuedJobs } from "@sdk/jobs/QueuedJobs"; - -export enum LocalStorageItems { - JOB_QUEUE_CHECKOUT = "job_queueCheckout", - CHECKOUT = "data_checkout", - PAYMENT = "data_payment", -} - -export interface ICheckoutModelLineTotalPrice { - gross: ICheckoutModelPriceValue; - net: ICheckoutModelPriceValue; -} - -export interface ICheckoutModelLineVariant { - quantityAvailable?: number; - id: string; - name?: string; - sku?: string; - pricing?: Checkout_lines_variant_pricing | null; - product?: Checkout_lines_variant_product; - isAvailable?: boolean | null; - attributes?: Checkout_lines_variant_attributes[]; -} - -export interface ICheckoutModelLine { - quantity: number; - id?: string; - variant: ICheckoutModelLineVariant; - totalPrice?: ICheckoutModelLineTotalPrice | null; -} - -export interface ICheckoutModelPriceValue { - amount: number; - currency: string; -} - -export interface ICheckoutModelPrice { - gross: ICheckoutModelPriceValue; - net: ICheckoutModelPriceValue; -} - -export interface ICheckoutAddress { - id?: string; - firstName?: string; - lastName?: string; - companyName?: string; - streetAddress1?: string; - streetAddress2?: string; - city?: string; - postalCode?: string; - countryArea?: string; - phone?: string | null; - country?: { - code?: string; - country?: string; - }; -} - -export interface ICheckoutModelShippingMethod { - id: string; - name: string; - price: ICheckoutModelPriceValue | null; -} - -export interface ICheckoutModelPromoCodeDiscount { - voucherCode?: string | null; - discount?: ICheckoutModelPriceValue | null; - discountName?: string | null; -} - -export interface IPaymentCreditCard { - /** - * Card brand. - */ - brand?: string; - /** - * The host name of the domain. - */ - firstDigits?: string; - /** - * Last 4 digits of the card number. - */ - lastDigits?: string; - /** - * Two-digit number representing the card’s expiration month. - */ - expMonth?: number; - /** - * Four-digit number representing the card’s expiration year. - */ - expYear?: number; -} - -export interface ICheckoutModel { - id?: string; - token?: any; - email?: string; - shippingAddress?: ICheckoutAddress | null; - billingAddress?: ICheckoutAddress | null; - selectedShippingAddressId?: string; - selectedBillingAddressId?: string; - billingAsShipping?: boolean; - promoCodeDiscount?: ICheckoutModelPromoCodeDiscount; - lines?: ICheckoutModelLine[] | null; - availableShippingMethods?: Checkout_availableShippingMethods[]; - shippingMethod?: ICheckoutModelShippingMethod | null; -} - -export interface IPaymentModel { - id?: string; - token?: string; - gateway?: string; - creditCard?: IPaymentCreditCard | null; -} - -export interface IOrderModel { - id?: string; - token?: string; - number?: string | null; -} - -export type IJobsGroupModel = Record< - keyof IQueuedJobs[G], - boolean ->; - -type IQueuedJobsState = { - [P in keyof T]?: Partial>; -}; - -export type IJobsModel = IQueuedJobsState; - -export interface ILocalStorageHandler { - getCheckout(): ICheckoutModel | null; - setCheckout(checkout: ICheckoutModel | null): void; - getPayment(): IPaymentModel | null; - setPayment(payment: IPaymentModel | null): void; -} diff --git a/src/@sdk/helpers/NamedObservable/index.ts b/src/@sdk/helpers/NamedObservable/index.ts deleted file mode 100644 index 479a1e5cec..0000000000 --- a/src/@sdk/helpers/NamedObservable/index.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { INamedObservable } from "./types"; - -export class NamedObservable implements INamedObservable { - private observers: Array<{ - name: T; - func: (data: any) => any; - }>; - private notifiedObservers: Array<(data: any) => any>; - - constructor() { - this.observers = []; - this.notifiedObservers = []; - } - - subscribeToChange = (name: T, func: (data: any) => any) => { - this.observers.push({ - func, - name, - }); - }; - - unsubscribeToChange = (name: T, func: (data: any) => any) => { - this.observers = this.observers.filter( - observer => name !== observer.name && func !== observer.func - ); - }; - - subscribeToNotifiedChanges = (func: (data: any) => any) => { - this.notifiedObservers.push(func); - }; - - unsubscribeToNotifiedChanges = (func: (data: any) => any) => { - this.notifiedObservers = this.notifiedObservers.filter( - notifiedObserverFunc => func !== notifiedObserverFunc - ); - }; - - protected notifyChange = (name: T, data: any) => { - this.observers.forEach(observer => { - if (name === observer.name) { - observer.func(data); - } - }); - this.notifiedObservers.forEach(notifiedObserverFunc => { - notifiedObserverFunc(data); - }); - }; -} diff --git a/src/@sdk/helpers/NamedObservable/types.ts b/src/@sdk/helpers/NamedObservable/types.ts deleted file mode 100644 index 734de8dc63..0000000000 --- a/src/@sdk/helpers/NamedObservable/types.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface INamedObservable { - subscribeToChange: (name: T, func: (data: any) => any) => void; - unsubscribeToChange: (name: T, func: (data: any) => any) => void; - subscribeToNotifiedChanges: (func: (data: any) => any) => void; - unsubscribeToNotifiedChanges: (func: (data: any) => any) => void; -} diff --git a/src/@sdk/helpers/index.ts b/src/@sdk/helpers/index.ts deleted file mode 100644 index 6dd919a2ef..0000000000 --- a/src/@sdk/helpers/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./NamedObservable"; -export * from "./ErrorListener"; -export * from "./LocalStorageHandler"; diff --git a/src/@sdk/index.ts b/src/@sdk/index.ts deleted file mode 100644 index e92d09546f..0000000000 --- a/src/@sdk/index.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { InMemoryCache } from "apollo-cache-inmemory"; -import { ApolloClient } from "apollo-client"; -import { ApolloLink } from "apollo-link"; -import { BatchHttpLink } from "apollo-link-batch-http"; -import { RetryLink } from "apollo-link-retry"; - -import { SaleorAPI } from "./api"; -import { APIProxy } from "./api/APIProxy"; -import { Config } from "./types"; - -const getLink = ( - apiUrl: string, - invalidTokenLink: ApolloLink, - authLink: ApolloLink -) => - ApolloLink.from([ - invalidTokenLink, - authLink, - new RetryLink(), - new BatchHttpLink({ uri: apiUrl }), - ]); - -export const createSaleorClient = ( - apiUrl: string, - invalidTokenLink: ApolloLink, - authLink: ApolloLink, - cache: InMemoryCache -) => - new ApolloClient({ - cache, - link: getLink(apiUrl, invalidTokenLink, authLink), - }); - -export class SaleorManager { - private apiProxy: APIProxy; - private api: SaleorAPI; - private apiChangeListener: ((api: SaleorAPI) => any) | undefined; - - constructor(client: ApolloClient, config?: Config) { - this.apiProxy = new APIProxy(client); - this.api = new SaleorAPI( - client, - this.apiProxy, - config, - this.onSaleorAPIChange - ); - } - - /** - * Use this method to obtain current API and listen to its update on occured changes within it. - * @param apiChangeListener Function called to get an API and called on every API update. - */ - connect(apiChangeListener: (api: SaleorAPI) => any) { - this.apiChangeListener = apiChangeListener; - this.apiChangeListener(this.api); - } - - private onSaleorAPIChange = () => { - if (this.apiChangeListener) { - this.apiChangeListener(this.api); - } - }; -} diff --git a/src/@sdk/jobs/Cart/CartJobs.ts b/src/@sdk/jobs/Cart/CartJobs.ts deleted file mode 100644 index 9a2acc848c..0000000000 --- a/src/@sdk/jobs/Cart/CartJobs.ts +++ /dev/null @@ -1 +0,0 @@ -export class CartJobs {} diff --git a/src/@sdk/jobs/Cart/CartQueuedJobs.ts b/src/@sdk/jobs/Cart/CartQueuedJobs.ts deleted file mode 100644 index f5eeacdea7..0000000000 --- a/src/@sdk/jobs/Cart/CartQueuedJobs.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { ApolloClientManager } from "@temp/@sdk/data/ApolloClientManager"; -import { LocalStorageHandler } from "@temp/@sdk/helpers/LocalStorageHandler"; - -import { QueuedJobsHandler } from "../QueuedJobsHandler"; - -export enum ErrorCartTypes { - "SET_CART_ITEM", -} - -export class CartQueuedJobs extends QueuedJobsHandler { - private apolloClientManager: ApolloClientManager; - private localStorageHandler: LocalStorageHandler; - - constructor( - localStorageHandler: LocalStorageHandler, - apolloClientManager: ApolloClientManager - ) { - super(); - this.localStorageHandler = localStorageHandler; - this.apolloClientManager = apolloClientManager; - } - - setCartItem = async () => { - const checkout = this.localStorageHandler.getCheckout(); - - if (checkout) { - const { data, error } = await this.apolloClientManager.setCartItem( - checkout - ); - if (error && this.onErrorListener) { - this.onErrorListener(error, ErrorCartTypes.SET_CART_ITEM); - } else if (data) { - this.localStorageHandler.setCheckout({ - ...checkout, - lines: data.lines, - promoCodeDiscount: data.promoCodeDiscount, - }); - } - } - }; -} diff --git a/src/@sdk/jobs/Cart/index.ts b/src/@sdk/jobs/Cart/index.ts deleted file mode 100644 index 2f79dfa442..0000000000 --- a/src/@sdk/jobs/Cart/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./CartJobs"; -export * from "./CartQueuedJobs"; diff --git a/src/@sdk/jobs/Checkout/CheckoutJobs.ts b/src/@sdk/jobs/Checkout/CheckoutJobs.ts deleted file mode 100644 index 2a29801082..0000000000 --- a/src/@sdk/jobs/Checkout/CheckoutJobs.ts +++ /dev/null @@ -1,339 +0,0 @@ -import { DataErrorCheckoutTypes, ICreditCard } from "@sdk/api/Checkout/types"; -import { ApolloClientManager } from "@temp/@sdk/data/ApolloClientManager"; -import { - ICheckoutAddress, - LocalStorageHandler, -} from "@temp/@sdk/helpers/LocalStorageHandler"; - -import { PromiseCheckoutJobRunResponse } from "../types"; - -export class CheckoutJobs { - private apolloClientManager: ApolloClientManager; - private localStorageHandler: LocalStorageHandler; - - constructor( - localStorageHandler: LocalStorageHandler, - apolloClientManager: ApolloClientManager - ) { - this.apolloClientManager = apolloClientManager; - this.localStorageHandler = localStorageHandler; - } - - createCheckout = async ({ - email, - lines, - shippingAddress, - selectedShippingAddressId, - billingAddress, - selectedBillingAddressId, - }: { - email: string; - lines: Array<{ variantId: string; quantity: number }>; - shippingAddress?: ICheckoutAddress; - selectedShippingAddressId?: string; - billingAddress?: ICheckoutAddress; - selectedBillingAddressId?: string; - }): PromiseCheckoutJobRunResponse => { - const { data, error } = await this.apolloClientManager.createCheckout( - email, - lines, - shippingAddress, - billingAddress - ); - - if (error) { - /** - * TODO: Differentiate errors!!! THIS IS A BUG!!! - * DataErrorCheckoutTypes.SET_SHIPPING_ADDRESS is just one of every possible - instead of deprecated errors, checkoutErrors should be used. - */ - return { - dataError: { - error, - type: DataErrorCheckoutTypes.SET_SHIPPING_ADDRESS, - }, - }; - } else { - this.localStorageHandler.setCheckout({ - ...data, - selectedBillingAddressId, - selectedShippingAddressId, - }); - return { - data, - }; - } - }; - - setShippingAddress = async ({ - checkoutId, - shippingAddress, - email, - selectedShippingAddressId, - }: { - checkoutId: string; - shippingAddress: ICheckoutAddress; - email: string; - selectedShippingAddressId?: string; - }): PromiseCheckoutJobRunResponse => { - const checkout = this.localStorageHandler.getCheckout(); - - const { data, error } = await this.apolloClientManager.setShippingAddress( - shippingAddress, - email, - checkoutId - ); - - if (error) { - return { - dataError: { - error, - type: DataErrorCheckoutTypes.SET_SHIPPING_ADDRESS, - }, - }; - } else { - this.localStorageHandler.setCheckout({ - ...checkout, - billingAsShipping: false, - email: data?.email, - selectedShippingAddressId, - shippingAddress: data?.shippingAddress, - }); - return { data }; - } - }; - - setBillingAddress = async ({ - checkoutId, - billingAddress, - billingAsShipping, - selectedBillingAddressId, - }: { - checkoutId: string; - billingAddress: ICheckoutAddress; - billingAsShipping?: boolean; - selectedBillingAddressId?: string; - }): PromiseCheckoutJobRunResponse => { - const checkout = this.localStorageHandler.getCheckout(); - - const { data, error } = await this.apolloClientManager.setBillingAddress( - billingAddress, - checkoutId - ); - - if (error) { - return { - dataError: { - error, - type: DataErrorCheckoutTypes.SET_BILLING_ADDRESS, - }, - }; - } else { - this.localStorageHandler.setCheckout({ - ...checkout, - billingAddress: data?.billingAddress, - billingAsShipping: !!billingAsShipping, - selectedBillingAddressId, - }); - return { data }; - } - }; - - setBillingAddressWithEmail = async ({ - checkoutId, - email, - billingAddress, - selectedBillingAddressId, - }: { - checkoutId: string; - email: string; - billingAddress: ICheckoutAddress; - selectedBillingAddressId?: string; - }): PromiseCheckoutJobRunResponse => { - const checkout = this.localStorageHandler.getCheckout(); - - const { - data, - error, - } = await this.apolloClientManager.setBillingAddressWithEmail( - billingAddress, - email, - checkoutId - ); - - if (error) { - return { - dataError: { - error, - type: DataErrorCheckoutTypes.SET_BILLING_ADDRESS, - }, - }; - } else { - this.localStorageHandler.setCheckout({ - ...checkout, - billingAddress: data?.billingAddress, - billingAsShipping: false, - email: data?.email, - selectedBillingAddressId, - }); - return { data }; - } - }; - - setShippingMethod = async ({ - checkoutId, - shippingMethodId, - }: { - checkoutId: string; - shippingMethodId: string; - }): PromiseCheckoutJobRunResponse => { - const checkout = this.localStorageHandler.getCheckout(); - - const { data, error } = await this.apolloClientManager.setShippingMethod( - shippingMethodId, - checkoutId - ); - - if (error) { - return { - dataError: { - error, - type: DataErrorCheckoutTypes.SET_SHIPPING_METHOD, - }, - }; - } else { - this.localStorageHandler.setCheckout({ - ...checkout, - promoCodeDiscount: data?.promoCodeDiscount, - shippingMethod: data?.shippingMethod, - }); - return { data }; - } - }; - - addPromoCode = async ({ - checkoutId, - promoCode, - }: { - checkoutId: string; - promoCode: string; - }): PromiseCheckoutJobRunResponse => { - const checkout = this.localStorageHandler.getCheckout(); - - const { data, error } = await this.apolloClientManager.addPromoCode( - promoCode, - checkoutId - ); - - if (error) { - return { - dataError: { - error, - type: DataErrorCheckoutTypes.ADD_PROMO_CODE, - }, - }; - } else { - this.localStorageHandler.setCheckout({ - ...checkout, - promoCodeDiscount: data?.promoCodeDiscount, - }); - return { data }; - } - }; - - removePromoCode = async ({ - checkoutId, - promoCode, - }: { - checkoutId: string; - promoCode: string; - }): PromiseCheckoutJobRunResponse => { - const checkout = this.localStorageHandler.getCheckout(); - - const { data, error } = await this.apolloClientManager.removePromoCode( - promoCode, - checkoutId - ); - - if (error) { - return { - dataError: { - error, - type: DataErrorCheckoutTypes.REMOVE_PROMO_CODE, - }, - }; - } else { - this.localStorageHandler.setCheckout({ - ...checkout, - promoCodeDiscount: data?.promoCodeDiscount, - }); - return { data }; - } - }; - - createPayment = async ({ - checkoutId, - amount, - paymentGateway, - paymentToken, - billingAddress, - creditCard, - }: { - checkoutId: string; - amount: number; - paymentGateway: string; - paymentToken: string; - billingAddress: ICheckoutAddress; - creditCard?: ICreditCard; - }): PromiseCheckoutJobRunResponse => { - const payment = this.localStorageHandler.getPayment(); - - const { data, error } = await this.apolloClientManager.createPayment( - amount, - checkoutId, - paymentGateway, - paymentToken, - billingAddress - ); - - if (error) { - return { - dataError: { - error, - type: DataErrorCheckoutTypes.CREATE_PAYMENT, - }, - }; - } else { - this.localStorageHandler.setPayment({ - ...payment, - creditCard, - gateway: data?.gateway, - id: data?.id, - token: data?.token, - }); - return { data }; - } - }; - - completeCheckout = async ({ - checkoutId, - }: { - checkoutId: string; - }): PromiseCheckoutJobRunResponse => { - const { data, error } = await this.apolloClientManager.completeCheckout( - checkoutId - ); - - if (error) { - return { - dataError: { - error, - type: DataErrorCheckoutTypes.COMPLETE_CHECKOUT, - }, - }; - } else { - this.localStorageHandler.setCheckout({}); - this.localStorageHandler.setPayment({}); - return { data }; - } - }; -} diff --git a/src/@sdk/jobs/Checkout/CheckoutQueuedJobs.ts b/src/@sdk/jobs/Checkout/CheckoutQueuedJobs.ts deleted file mode 100644 index 101d95a986..0000000000 --- a/src/@sdk/jobs/Checkout/CheckoutQueuedJobs.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { QueuedJobsHandler } from "../QueuedJobsHandler"; - -export enum ErrorCheckoutTypes {} - -export class CheckoutQueuedJobs extends QueuedJobsHandler {} diff --git a/src/@sdk/jobs/Checkout/index.ts b/src/@sdk/jobs/Checkout/index.ts deleted file mode 100644 index 4d11525c3b..0000000000 --- a/src/@sdk/jobs/Checkout/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./CheckoutJobs"; -export * from "./CheckoutQueuedJobs"; diff --git a/src/@sdk/jobs/Jobs.ts b/src/@sdk/jobs/Jobs.ts deleted file mode 100644 index 18e2673206..0000000000 --- a/src/@sdk/jobs/Jobs.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { ApolloClientManager } from "../data/ApolloClientManager"; -import { LocalStorageHandler } from "../helpers/LocalStorageHandler"; -import { CartJobs } from "./Cart"; -import { CheckoutJobs } from "./Checkout"; - -export interface IJobs { - cart: CartJobs; - checkout: CheckoutJobs; -} - -export class Jobs implements IJobs { - cart: CartJobs; - checkout: CheckoutJobs; - - constructor( - localStorageHandler: LocalStorageHandler, - apolloClientManager: ApolloClientManager - ) { - this.cart = new CartJobs(); - this.checkout = new CheckoutJobs(localStorageHandler, apolloClientManager); - } -} diff --git a/src/@sdk/jobs/JobsManager.ts b/src/@sdk/jobs/JobsManager.ts deleted file mode 100644 index baa8852736..0000000000 --- a/src/@sdk/jobs/JobsManager.ts +++ /dev/null @@ -1,191 +0,0 @@ -import { ApolloClientManager } from "../data/ApolloClientManager"; -import { LocalStorageHandler } from "../helpers/LocalStorageHandler"; -import { IJobs, Jobs } from "./Jobs"; -import { IQueuedJobs, QueuedJobs } from "./QueuedJobs"; -import { JobFunctionParameters, QueuedJobFunctionParameters } from "./types"; - -export class JobsManager { - private queue: Array<{ - jobGroup: string; - jobName: string; - }>; - private localStorageHandler: LocalStorageHandler; - - private jobs: IJobs; - private queuedJobs: IQueuedJobs; - - constructor( - localStorageHandler: LocalStorageHandler, - apolloClientManager: ApolloClientManager - ) { - this.queue = new Array<{ - jobGroup: string; - jobName: string; - }>(); - this.localStorageHandler = localStorageHandler; - - this.jobs = new Jobs(this.localStorageHandler, apolloClientManager); - this.queuedJobs = new QueuedJobs( - this.localStorageHandler, - apolloClientManager - ); - - this.enqueueAllSavedInRepository(); - - window.addEventListener("online", this.onOnline); - } - - /** - * Executes job immediately and returns result or error. - * @param jobGroup Job group name referencing to the class with job functions. - * @param jobName Jobs within group/class. - * @param params Object passed as the first argument to the job function. - */ - run( - jobGroup: G, - jobName: J, - params: JobFunctionParameters[0] - ) { - const func = this.jobs[jobGroup][jobName]; - - if (typeof func === "function") { - return func(params); - } - } - - /** - * Add job to the queue. If there is an internet connection available, job is executed immediatelly. - * Otherwise job is inserted into the queue and delayed until internet connection will be restored. - * Queue is persisted in local storage. - * @param jobGroup Job group name referencing to the class with job functions. - * @param jobName Jobs within group/class. - */ - addToQueue( - jobGroup: G, - jobName: J - ) { - if (navigator.onLine) { - this.runJob(jobGroup, jobName); - } else { - this.enqueueJob(jobGroup, jobName); - } - } - - /** - * Attach error listener to the queued job group. - * @param jobGroup Job group name referencing to the class with job functions. - * @param onErrorListener Function to be called if error will occur during job execution. - */ - attachErrorListener< - G extends keyof IQueuedJobs, - P extends IQueuedJobs[G]["attachErrorListener"] - >( - jobGroup: G, - onErrorListener: QueuedJobFunctionParameters[0] - ) { - const typedErrorListener = onErrorListener as P; - - this.queuedJobs[jobGroup].attachErrorListener(typedErrorListener); - } - - private runJob( - jobGroup: G, - jobName: J - ) { - const func = this.queuedJobs[jobGroup][jobName]; - - if (typeof func === "function") { - func(); - } - - this.dequeueJob(jobGroup, jobName); - } - - private enqueueJob< - G extends keyof IQueuedJobs, - J extends keyof IQueuedJobs[G] - >(jobGroup: G, jobName: J) { - const methodName = jobName.toString(); - - const jobAlreadyQueued = this.queue.some( - item => item.jobGroup === jobGroup && item.jobName === jobName - ); - - if (!jobAlreadyQueued) { - this.queue.push({ jobGroup, jobName: methodName }); - this.updateJobStateInRepository(jobGroup, jobName, true); - } - } - - private dequeueJob< - G extends keyof IQueuedJobs, - J extends keyof IQueuedJobs[G] - >(jobGroup: G, jobName: J) { - const methodName = jobName.toString(); - - this.queue.filter( - item => item.jobGroup !== jobGroup || item.jobName !== methodName - ); - this.updateJobStateInRepository(jobGroup, jobName, false); - } - - private onOnline = () => { - this.queue.forEach(item => { - const jobGroup = item.jobGroup as keyof IQueuedJobs; - const jobName = item.jobName as keyof QueuedJobs[keyof IQueuedJobs]; - - this.runJob(jobGroup, jobName); - }); - - this.queue = []; - }; - - private updateJobStateInRepository< - G extends keyof IQueuedJobs, - J extends keyof IQueuedJobs[G] - >(jobGroup: G, jobName: J, state: boolean) { - let jobs = this.localStorageHandler.getJobs(); - - if (!jobs) { - jobs = null; - } - - const jobGroupString = jobGroup.toString(); - const jobNameString = jobName.toString(); - - const jobGroupObject = jobs ? jobs[jobGroup] : null; - - this.localStorageHandler.setJobs({ - ...jobs, - [jobGroupString]: { - ...jobGroupObject, - [jobNameString]: state, - }, - }); - } - - private enqueueAllSavedInRepository() { - const jobs = this.localStorageHandler.getJobs(); - - if (jobs) { - Object.keys(jobs).forEach(jobGroupString => { - const jobGroupKey = jobGroupString as keyof IQueuedJobs; - const jobGroup = jobs[jobGroupKey]; - - if (jobGroup) { - Object.keys(jobGroup).forEach(jobNameString => { - const jobNameKey = jobNameString as keyof QueuedJobs[keyof IQueuedJobs]; - const jobNameState = jobGroup[jobNameKey]; - - if (jobNameState) { - this.addToQueue( - jobGroupString as keyof IQueuedJobs, - jobNameString as keyof QueuedJobs[keyof IQueuedJobs] - ); - } - }); - } - }); - } - } -} diff --git a/src/@sdk/jobs/QueuedJobs.ts b/src/@sdk/jobs/QueuedJobs.ts deleted file mode 100644 index 0ace47838a..0000000000 --- a/src/@sdk/jobs/QueuedJobs.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { ApolloClientManager } from "../data/ApolloClientManager"; -import { LocalStorageHandler } from "../helpers/LocalStorageHandler"; -import { CartQueuedJobs } from "./Cart"; -import { CheckoutQueuedJobs } from "./Checkout"; - -export interface IQueuedJobs { - cart: CartQueuedJobs; - checkout: CheckoutQueuedJobs; -} - -export class QueuedJobs implements IQueuedJobs { - cart: CartQueuedJobs; - checkout: CheckoutQueuedJobs; - - constructor( - localStorageHandler: LocalStorageHandler, - apolloClientManager: ApolloClientManager - ) { - this.cart = new CartQueuedJobs(localStorageHandler, apolloClientManager); - this.checkout = new CheckoutQueuedJobs(); - } -} diff --git a/src/@sdk/jobs/QueuedJobsHandler.ts b/src/@sdk/jobs/QueuedJobsHandler.ts deleted file mode 100644 index 60c41c02f6..0000000000 --- a/src/@sdk/jobs/QueuedJobsHandler.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { ApolloErrorWithUserInput } from "@sdk/react/types"; - -export class QueuedJobsHandler { - protected onErrorListener: - | ((error: ApolloErrorWithUserInput | any, type: ErrorTypes) => any) - | undefined; - - attachErrorListener( - onErrorListener: ( - error: ApolloErrorWithUserInput | any, - type: ErrorTypes - ) => any - ) { - this.onErrorListener = onErrorListener; - } -} diff --git a/src/@sdk/jobs/index.ts b/src/@sdk/jobs/index.ts deleted file mode 100644 index 082fa9b099..0000000000 --- a/src/@sdk/jobs/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./JobsManager"; diff --git a/src/@sdk/jobs/types.ts b/src/@sdk/jobs/types.ts deleted file mode 100644 index 931009aa2c..0000000000 --- a/src/@sdk/jobs/types.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { - DataErrorCheckoutTypes, - FunctionErrorCheckoutTypes, -} from "../api/Checkout/types"; -import { IJobs } from "./Jobs"; -import { IQueuedJobs } from "./QueuedJobs"; - -export interface JobErrorResponse { - error?: any; - type?: T; -} - -export interface JobRunResponse { - data?: any; - dataError?: JobErrorResponse; -} - -export type PromiseCheckoutJobRunResponse = Promise< - JobRunResponse ->; - -export type JobFunctionParameters< - G extends keyof IJobs, - J extends keyof IJobs[G], - T extends IJobs[G][J] -> = T extends (...args: infer P) => any ? P : never; - -export type QueuedJobFunctionParameters< - G extends keyof IQueuedJobs, - J extends keyof IQueuedJobs[G], - T extends IQueuedJobs[G][J] -> = T extends (...args: infer P) => any ? P : never; diff --git a/src/@sdk/mutations/address.ts b/src/@sdk/mutations/address.ts deleted file mode 100644 index c4042376c6..0000000000 --- a/src/@sdk/mutations/address.ts +++ /dev/null @@ -1,63 +0,0 @@ -import gql from "graphql-tag"; - -import { userFragment } from "../fragments/auth"; - -export const setCustomerDefaultAddress = gql` - ${userFragment} - mutation SetCustomerDefaultAddress($id: ID!, $type: AddressTypeEnum!) { - accountSetDefaultAddress(id: $id, type: $type) { - errors { - field - message - } - user { - ...User - } - } - } -`; - -export const deleteUserAddress = gql` - ${userFragment} - mutation DeleteUserAddress($addressId: ID!) { - accountAddressDelete(id: $addressId) { - errors { - field - message - } - user { - ...User - } - } - } -`; - -export const createUserAddress = gql` - ${userFragment} - mutation CreateUserAddress($input: AddressInput!) { - accountAddressCreate(input: $input) { - errors { - field - message - } - user { - ...User - } - } - } -`; - -export const updateUserAddress = gql` - ${userFragment} - mutation UpdateUserAddress($input: AddressInput!, $id: ID!) { - accountAddressUpdate(input: $input, id: $id) { - errors { - field - message - } - user { - ...User - } - } - } -`; diff --git a/src/@sdk/mutations/auth.ts b/src/@sdk/mutations/auth.ts deleted file mode 100644 index f33770b430..0000000000 --- a/src/@sdk/mutations/auth.ts +++ /dev/null @@ -1,31 +0,0 @@ -import gql from "graphql-tag"; - -import { userFragment } from "../fragments/auth"; - -export const tokenAuthMutation = gql` - ${userFragment} - mutation TokenAuth($email: String!, $password: String!) { - tokenCreate(email: $email, password: $password) { - token - errors { - field - message - } - user { - ...User - } - } - } -`; - -export const tokenVeryficationMutation = gql` - ${userFragment} - mutation VerifyToken($token: String!) { - tokenVerify(token: $token) { - payload - user { - ...User - } - } - } -`; diff --git a/src/@sdk/mutations/checkout.ts b/src/@sdk/mutations/checkout.ts deleted file mode 100644 index 9a57295ed0..0000000000 --- a/src/@sdk/mutations/checkout.ts +++ /dev/null @@ -1,206 +0,0 @@ -import gql from "graphql-tag"; - -import { checkoutErrorFragment, checkoutFragment } from "../fragments/checkout"; -import { paymentErrorFragment, paymentFragment } from "../fragments/payment"; -import { orderDetailFragment } from "../fragments/user"; - -export const updateCheckoutLineMutation = gql` - ${checkoutFragment} - ${checkoutErrorFragment} - mutation UpdateCheckoutLine($checkoutId: ID!, $lines: [CheckoutLineInput]!) { - checkoutLinesUpdate(checkoutId: $checkoutId, lines: $lines) { - checkout { - ...Checkout - } - errors: checkoutErrors { - ...CheckoutError - } - } - } -`; - -export const createCheckoutMutation = gql` - ${checkoutFragment} - ${checkoutErrorFragment} - mutation CreateCheckout($checkoutInput: CheckoutCreateInput!) { - checkoutCreate(input: $checkoutInput) { - errors: checkoutErrors { - ...CheckoutError - } - checkout { - ...Checkout - } - } - } -`; - -export const updateCheckoutBillingAddressWithEmailMutation = gql` - ${checkoutFragment} - ${checkoutErrorFragment} - mutation UpdateCheckoutBillingAddressWithEmail( - $checkoutId: ID! - $billingAddress: AddressInput! - $email: String! - ) { - checkoutBillingAddressUpdate( - checkoutId: $checkoutId - billingAddress: $billingAddress - ) { - errors: checkoutErrors { - ...CheckoutError - } - checkout { - ...Checkout - } - } - checkoutEmailUpdate(checkoutId: $checkoutId, email: $email) { - checkout { - ...Checkout - } - errors: checkoutErrors { - code - field - message - } - } - } -`; - -export const updateCheckoutBillingAddressMutation = gql` - ${checkoutFragment} - ${checkoutErrorFragment} - mutation UpdateCheckoutBillingAddress( - $checkoutId: ID! - $billingAddress: AddressInput! - ) { - checkoutBillingAddressUpdate( - checkoutId: $checkoutId - billingAddress: $billingAddress - ) { - errors: checkoutErrors { - ...CheckoutError - } - checkout { - ...Checkout - } - } - } -`; - -export const updateCheckoutShippingAddressMutation = gql` - ${checkoutFragment} - ${checkoutErrorFragment} - mutation UpdateCheckoutShippingAddress( - $checkoutId: ID! - $shippingAddress: AddressInput! - $email: String! - ) { - checkoutShippingAddressUpdate( - checkoutId: $checkoutId - shippingAddress: $shippingAddress - ) { - errors: checkoutErrors { - ...CheckoutError - } - checkout { - ...Checkout - } - } - checkoutEmailUpdate(checkoutId: $checkoutId, email: $email) { - checkout { - ...Checkout - } - errors: checkoutErrors { - ...CheckoutError - } - } - } -`; - -export const updateCheckoutShippingMethodMutation = gql` - ${checkoutFragment} - ${checkoutErrorFragment} - mutation UpdateCheckoutShippingMethod( - $checkoutId: ID! - $shippingMethodId: ID! - ) { - checkoutShippingMethodUpdate( - checkoutId: $checkoutId - shippingMethodId: $shippingMethodId - ) { - checkout { - ...Checkout - } - errors: checkoutErrors { - ...CheckoutError - } - } - } -`; - -export const addCheckoutPromoCode = gql` - ${checkoutFragment} - ${checkoutErrorFragment} - mutation AddCheckoutPromoCode($checkoutId: ID!, $promoCode: String!) { - checkoutAddPromoCode(checkoutId: $checkoutId, promoCode: $promoCode) { - checkout { - ...Checkout - } - errors: checkoutErrors { - ...CheckoutError - } - } - } -`; - -export const removeCheckoutPromoCode = gql` - ${checkoutFragment} - ${checkoutErrorFragment} - mutation RemoveCheckoutPromoCode($checkoutId: ID!, $promoCode: String!) { - checkoutRemovePromoCode(checkoutId: $checkoutId, promoCode: $promoCode) { - checkout { - ...Checkout - } - errors: checkoutErrors { - ...CheckoutError - } - } - } -`; - -export const createCheckoutPaymentMutation = gql` - ${checkoutFragment} - ${paymentFragment} - ${paymentErrorFragment} - mutation CreateCheckoutPayment( - $checkoutId: ID! - $paymentInput: PaymentInput! - ) { - checkoutPaymentCreate(checkoutId: $checkoutId, input: $paymentInput) { - checkout { - ...Checkout - } - payment { - ...Payment - } - errors: paymentErrors { - ...PaymentError - } - } - } -`; - -export const completeCheckoutMutation = gql` - ${orderDetailFragment} - ${checkoutErrorFragment} - mutation CompleteCheckout($checkoutId: ID!) { - checkoutComplete(checkoutId: $checkoutId) { - errors: checkoutErrors { - ...CheckoutError - } - order { - ...OrderDetail - } - } - } -`; diff --git a/src/@sdk/mutations/gqlTypes/AccountUpdate.ts b/src/@sdk/mutations/gqlTypes/AccountUpdate.ts deleted file mode 100644 index abc1802800..0000000000 --- a/src/@sdk/mutations/gqlTypes/AccountUpdate.ts +++ /dev/null @@ -1,183 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { AccountInput } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: AccountUpdate -// ==================================================== - -export interface AccountUpdate_accountUpdate_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface AccountUpdate_accountUpdate_user_defaultShippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface AccountUpdate_accountUpdate_user_defaultShippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: AccountUpdate_accountUpdate_user_defaultShippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface AccountUpdate_accountUpdate_user_defaultBillingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface AccountUpdate_accountUpdate_user_defaultBillingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: AccountUpdate_accountUpdate_user_defaultBillingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface AccountUpdate_accountUpdate_user_addresses_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface AccountUpdate_accountUpdate_user_addresses { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: AccountUpdate_accountUpdate_user_addresses_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface AccountUpdate_accountUpdate_user { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - email: string; - firstName: string; - lastName: string; - isStaff: boolean; - defaultShippingAddress: AccountUpdate_accountUpdate_user_defaultShippingAddress | null; - defaultBillingAddress: AccountUpdate_accountUpdate_user_defaultBillingAddress | null; - /** - * List of all user's addresses. - */ - addresses: (AccountUpdate_accountUpdate_user_addresses | null)[] | null; -} - -export interface AccountUpdate_accountUpdate { - __typename: "AccountUpdate"; - /** - * List of errors that occurred executing the mutation. - */ - errors: AccountUpdate_accountUpdate_errors[]; - user: AccountUpdate_accountUpdate_user | null; -} - -export interface AccountUpdate { - /** - * Updates the account of the logged-in user. - */ - accountUpdate: AccountUpdate_accountUpdate | null; -} - -export interface AccountUpdateVariables { - input: AccountInput; -} diff --git a/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts b/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts deleted file mode 100644 index 6eeb22c380..0000000000 --- a/src/@sdk/mutations/gqlTypes/AddCheckoutPromoCode.ts +++ /dev/null @@ -1,585 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: AddCheckoutPromoCode -// ==================================================== - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_totalPrice_net; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_subtotalPrice_net; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_availableShippingMethods_price | null; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingMethod_price | null; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingPrice_net; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_totalPrice_net; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_price_net; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing_price | null; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_attributes_values | null)[]; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_product_thumbnail2x | null; - productType: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_product_productType; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_attributes[]; - product: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant_product; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_totalPrice | null; - variant: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines_variant; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_subtotalPrice | null; - billingAddress: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_billingAddress | null; - shippingAddress: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (AddCheckoutPromoCode_checkoutAddPromoCode_checkout_availableShippingMethods | null)[]; - shippingMethod: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (AddCheckoutPromoCode_checkoutAddPromoCode_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: AddCheckoutPromoCode_checkoutAddPromoCode_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode_errors { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface AddCheckoutPromoCode_checkoutAddPromoCode { - __typename: "CheckoutAddPromoCode"; - /** - * The checkout with the added gift card or voucher. - */ - checkout: AddCheckoutPromoCode_checkoutAddPromoCode_checkout | null; - errors: AddCheckoutPromoCode_checkoutAddPromoCode_errors[]; -} - -export interface AddCheckoutPromoCode { - /** - * Adds a gift card or a voucher to a checkout. - */ - checkoutAddPromoCode: AddCheckoutPromoCode_checkoutAddPromoCode | null; -} - -export interface AddCheckoutPromoCodeVariables { - checkoutId: string; - promoCode: string; -} diff --git a/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts b/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts deleted file mode 100644 index ad96797db5..0000000000 --- a/src/@sdk/mutations/gqlTypes/CompleteCheckout.ts +++ /dev/null @@ -1,498 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { CheckoutErrorCode, PaymentChargeStatusEnum, OrderStatus } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: CompleteCheckout -// ==================================================== - -export interface CompleteCheckout_checkoutComplete_errors { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface CompleteCheckout_checkoutComplete_order_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface CompleteCheckout_checkoutComplete_order_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: CompleteCheckout_checkoutComplete_order_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CompleteCheckout_checkoutComplete_order_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: CompleteCheckout_checkoutComplete_order_lines_variant_pricing_priceUndiscounted_net; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CompleteCheckout_checkoutComplete_order_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: CompleteCheckout_checkoutComplete_order_lines_variant_pricing_price_net; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: CompleteCheckout_checkoutComplete_order_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: CompleteCheckout_checkoutComplete_order_lines_variant_pricing_price | null; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: CompleteCheckout_checkoutComplete_order_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (CompleteCheckout_checkoutComplete_order_lines_variant_attributes_values | null)[]; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: CompleteCheckout_checkoutComplete_order_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: CompleteCheckout_checkoutComplete_order_lines_variant_product_thumbnail2x | null; - productType: CompleteCheckout_checkoutComplete_order_lines_variant_product_productType; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: CompleteCheckout_checkoutComplete_order_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: CompleteCheckout_checkoutComplete_order_lines_variant_attributes[]; - product: CompleteCheckout_checkoutComplete_order_lines_variant_product; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_unitPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_unitPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_lines_unitPrice { - __typename: "TaxedMoney"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money including taxes. - */ - gross: CompleteCheckout_checkoutComplete_order_lines_unitPrice_gross; - /** - * Amount of money without taxes. - */ - net: CompleteCheckout_checkoutComplete_order_lines_unitPrice_net; -} - -export interface CompleteCheckout_checkoutComplete_order_lines { - __typename: "OrderLine"; - productName: string; - quantity: number; - /** - * A purchased product variant. Note: this field may be null if the variant has been removed from stock at all. - */ - variant: CompleteCheckout_checkoutComplete_order_lines_variant | null; - /** - * Price of the single item in the order line. - */ - unitPrice: CompleteCheckout_checkoutComplete_order_lines_unitPrice | null; -} - -export interface CompleteCheckout_checkoutComplete_order_subtotal_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_subtotal_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_subtotal { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CompleteCheckout_checkoutComplete_order_subtotal_gross; - /** - * Amount of money without taxes. - */ - net: CompleteCheckout_checkoutComplete_order_subtotal_net; -} - -export interface CompleteCheckout_checkoutComplete_order_total_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_total_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_total { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CompleteCheckout_checkoutComplete_order_total_gross; - /** - * Amount of money without taxes. - */ - net: CompleteCheckout_checkoutComplete_order_total_net; -} - -export interface CompleteCheckout_checkoutComplete_order_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CompleteCheckout_checkoutComplete_order_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CompleteCheckout_checkoutComplete_order_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: CompleteCheckout_checkoutComplete_order_shippingPrice_net; -} - -export interface CompleteCheckout_checkoutComplete_order { - __typename: "Order"; - /** - * Email address of the customer. - */ - userEmail: string | null; - /** - * Internal payment status. - */ - paymentStatus: PaymentChargeStatusEnum | null; - /** - * User-friendly payment status. - */ - paymentStatusDisplay: string | null; - status: OrderStatus; - /** - * User-friendly order status. - */ - statusDisplay: string | null; - /** - * The ID of the object. - */ - id: string; - token: string; - /** - * User-friendly number of an order. - */ - number: string | null; - shippingAddress: CompleteCheckout_checkoutComplete_order_shippingAddress | null; - /** - * List of order lines. - */ - lines: (CompleteCheckout_checkoutComplete_order_lines | null)[]; - /** - * The sum of line prices not including shipping. - */ - subtotal: CompleteCheckout_checkoutComplete_order_subtotal | null; - /** - * Total amount of the order. - */ - total: CompleteCheckout_checkoutComplete_order_total | null; - /** - * Total price of shipping. - */ - shippingPrice: CompleteCheckout_checkoutComplete_order_shippingPrice | null; -} - -export interface CompleteCheckout_checkoutComplete { - __typename: "CheckoutComplete"; - errors: CompleteCheckout_checkoutComplete_errors[]; - /** - * Placed order. - */ - order: CompleteCheckout_checkoutComplete_order | null; -} - -export interface CompleteCheckout { - /** - * Completes the checkout. As a result a new order is created and a payment - * charge is made. This action requires a successful payment before it can be - * performed. In case additional confirmation step as 3D secure is required - * confirmationNeeded flag will be set to True and no order created until payment - * is confirmed with second call of this mutation. - */ - checkoutComplete: CompleteCheckout_checkoutComplete | null; -} - -export interface CompleteCheckoutVariables { - checkoutId: string; -} diff --git a/src/@sdk/mutations/gqlTypes/CreateCheckout.ts b/src/@sdk/mutations/gqlTypes/CreateCheckout.ts deleted file mode 100644 index add25f4dcb..0000000000 --- a/src/@sdk/mutations/gqlTypes/CreateCheckout.ts +++ /dev/null @@ -1,581 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { CheckoutCreateInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: CreateCheckout -// ==================================================== - -export interface CreateCheckout_checkoutCreate_errors { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface CreateCheckout_checkoutCreate_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckout_checkoutCreate_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckout_checkoutCreate_checkout_totalPrice_net; -} - -export interface CreateCheckout_checkoutCreate_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckout_checkoutCreate_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckout_checkoutCreate_checkout_subtotalPrice_net; -} - -export interface CreateCheckout_checkoutCreate_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: CreateCheckout_checkoutCreate_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface CreateCheckout_checkoutCreate_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: CreateCheckout_checkoutCreate_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface CreateCheckout_checkoutCreate_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface CreateCheckout_checkoutCreate_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: CreateCheckout_checkoutCreate_checkout_availableShippingMethods_price | null; -} - -export interface CreateCheckout_checkoutCreate_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface CreateCheckout_checkoutCreate_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: CreateCheckout_checkoutCreate_checkout_shippingMethod_price | null; -} - -export interface CreateCheckout_checkoutCreate_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckout_checkoutCreate_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckout_checkoutCreate_checkout_shippingPrice_net; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckout_checkoutCreate_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckout_checkoutCreate_checkout_lines_totalPrice_net; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_price_net; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: CreateCheckout_checkoutCreate_checkout_lines_variant_pricing_price | null; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: CreateCheckout_checkoutCreate_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (CreateCheckout_checkoutCreate_checkout_lines_variant_attributes_values | null)[]; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: CreateCheckout_checkoutCreate_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: CreateCheckout_checkoutCreate_checkout_lines_variant_product_thumbnail2x | null; - productType: CreateCheckout_checkoutCreate_checkout_lines_variant_product_productType; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: CreateCheckout_checkoutCreate_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: CreateCheckout_checkoutCreate_checkout_lines_variant_attributes[]; - product: CreateCheckout_checkoutCreate_checkout_lines_variant_product; -} - -export interface CreateCheckout_checkoutCreate_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: CreateCheckout_checkoutCreate_checkout_lines_totalPrice | null; - variant: CreateCheckout_checkoutCreate_checkout_lines_variant; -} - -export interface CreateCheckout_checkoutCreate_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface CreateCheckout_checkoutCreate_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: CreateCheckout_checkoutCreate_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: CreateCheckout_checkoutCreate_checkout_subtotalPrice | null; - billingAddress: CreateCheckout_checkoutCreate_checkout_billingAddress | null; - shippingAddress: CreateCheckout_checkoutCreate_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (CreateCheckout_checkoutCreate_checkout_availableShippingMethods | null)[]; - shippingMethod: CreateCheckout_checkoutCreate_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: CreateCheckout_checkoutCreate_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (CreateCheckout_checkoutCreate_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: CreateCheckout_checkoutCreate_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface CreateCheckout_checkoutCreate { - __typename: "CheckoutCreate"; - errors: CreateCheckout_checkoutCreate_errors[]; - checkout: CreateCheckout_checkoutCreate_checkout | null; -} - -export interface CreateCheckout { - /** - * Create a new checkout. - */ - checkoutCreate: CreateCheckout_checkoutCreate | null; -} - -export interface CreateCheckoutVariables { - checkoutInput: CheckoutCreateInput; -} diff --git a/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts b/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts deleted file mode 100644 index d963655aae..0000000000 --- a/src/@sdk/mutations/gqlTypes/CreateCheckoutPayment.ts +++ /dev/null @@ -1,627 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { PaymentInput, PaymentErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: CreateCheckoutPayment -// ==================================================== - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckoutPayment_checkoutPaymentCreate_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckoutPayment_checkoutPaymentCreate_checkout_totalPrice_net; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckoutPayment_checkoutPaymentCreate_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckoutPayment_checkoutPaymentCreate_checkout_subtotalPrice_net; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: CreateCheckoutPayment_checkoutPaymentCreate_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: CreateCheckoutPayment_checkoutPaymentCreate_checkout_availableShippingMethods_price | null; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingMethod_price | null; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingPrice_net; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_totalPrice_net; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_price_net; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing_price | null; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_attributes_values | null)[]; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_product_thumbnail2x | null; - productType: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_product_productType; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_attributes[]; - product: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant_product; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_totalPrice | null; - variant: CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines_variant; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: CreateCheckoutPayment_checkoutPaymentCreate_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: CreateCheckoutPayment_checkoutPaymentCreate_checkout_subtotalPrice | null; - billingAddress: CreateCheckoutPayment_checkoutPaymentCreate_checkout_billingAddress | null; - shippingAddress: CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (CreateCheckoutPayment_checkoutPaymentCreate_checkout_availableShippingMethods | null)[]; - shippingMethod: CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: CreateCheckoutPayment_checkoutPaymentCreate_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (CreateCheckoutPayment_checkoutPaymentCreate_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: CreateCheckoutPayment_checkoutPaymentCreate_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_payment_creditCard { - __typename: "CreditCard"; - /** - * Card brand. - */ - brand: string; - /** - * The host name of the domain. - */ - firstDigits: string; - /** - * Last 4 digits of the card number. - */ - lastDigits: string; - /** - * Two-digit number representing the card’s expiration month. - */ - expMonth: number; - /** - * Four-digit number representing the card’s expiration year. - */ - expYear: number; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_payment { - __typename: "Payment"; - /** - * The ID of the object. - */ - id: string; - gateway: string; - token: string; - /** - * The details of the card used for this payment. - */ - creditCard: CreateCheckoutPayment_checkoutPaymentCreate_payment_creditCard | null; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate_errors { - __typename: "PaymentError"; - /** - * The error code. - */ - code: PaymentErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface CreateCheckoutPayment_checkoutPaymentCreate { - __typename: "CheckoutPaymentCreate"; - /** - * Related checkout object. - */ - checkout: CreateCheckoutPayment_checkoutPaymentCreate_checkout | null; - /** - * A newly created payment. - */ - payment: CreateCheckoutPayment_checkoutPaymentCreate_payment | null; - errors: CreateCheckoutPayment_checkoutPaymentCreate_errors[]; -} - -export interface CreateCheckoutPayment { - /** - * Create a new payment for given checkout. - */ - checkoutPaymentCreate: CreateCheckoutPayment_checkoutPaymentCreate | null; -} - -export interface CreateCheckoutPaymentVariables { - checkoutId: string; - paymentInput: PaymentInput; -} diff --git a/src/@sdk/mutations/gqlTypes/CreateUserAddress.ts b/src/@sdk/mutations/gqlTypes/CreateUserAddress.ts deleted file mode 100644 index b4e0635c2a..0000000000 --- a/src/@sdk/mutations/gqlTypes/CreateUserAddress.ts +++ /dev/null @@ -1,186 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { AddressInput } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: CreateUserAddress -// ==================================================== - -export interface CreateUserAddress_accountAddressCreate_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface CreateUserAddress_accountAddressCreate_user_defaultShippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface CreateUserAddress_accountAddressCreate_user_defaultShippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: CreateUserAddress_accountAddressCreate_user_defaultShippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface CreateUserAddress_accountAddressCreate_user_defaultBillingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface CreateUserAddress_accountAddressCreate_user_defaultBillingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: CreateUserAddress_accountAddressCreate_user_defaultBillingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface CreateUserAddress_accountAddressCreate_user_addresses_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface CreateUserAddress_accountAddressCreate_user_addresses { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: CreateUserAddress_accountAddressCreate_user_addresses_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface CreateUserAddress_accountAddressCreate_user { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - email: string; - firstName: string; - lastName: string; - isStaff: boolean; - defaultShippingAddress: CreateUserAddress_accountAddressCreate_user_defaultShippingAddress | null; - defaultBillingAddress: CreateUserAddress_accountAddressCreate_user_defaultBillingAddress | null; - /** - * List of all user's addresses. - */ - addresses: (CreateUserAddress_accountAddressCreate_user_addresses | null)[] | null; -} - -export interface CreateUserAddress_accountAddressCreate { - __typename: "AccountAddressCreate"; - /** - * List of errors that occurred executing the mutation. - */ - errors: CreateUserAddress_accountAddressCreate_errors[]; - /** - * A user instance for which the address was created. - */ - user: CreateUserAddress_accountAddressCreate_user | null; -} - -export interface CreateUserAddress { - /** - * Create a new address for the customer. - */ - accountAddressCreate: CreateUserAddress_accountAddressCreate | null; -} - -export interface CreateUserAddressVariables { - input: AddressInput; -} diff --git a/src/@sdk/mutations/gqlTypes/DeleteUserAddress.ts b/src/@sdk/mutations/gqlTypes/DeleteUserAddress.ts deleted file mode 100644 index b6e3ec1d95..0000000000 --- a/src/@sdk/mutations/gqlTypes/DeleteUserAddress.ts +++ /dev/null @@ -1,184 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL mutation operation: DeleteUserAddress -// ==================================================== - -export interface DeleteUserAddress_accountAddressDelete_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface DeleteUserAddress_accountAddressDelete_user_defaultShippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface DeleteUserAddress_accountAddressDelete_user_defaultShippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: DeleteUserAddress_accountAddressDelete_user_defaultShippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface DeleteUserAddress_accountAddressDelete_user_defaultBillingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface DeleteUserAddress_accountAddressDelete_user_defaultBillingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: DeleteUserAddress_accountAddressDelete_user_defaultBillingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface DeleteUserAddress_accountAddressDelete_user_addresses_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface DeleteUserAddress_accountAddressDelete_user_addresses { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: DeleteUserAddress_accountAddressDelete_user_addresses_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface DeleteUserAddress_accountAddressDelete_user { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - email: string; - firstName: string; - lastName: string; - isStaff: boolean; - defaultShippingAddress: DeleteUserAddress_accountAddressDelete_user_defaultShippingAddress | null; - defaultBillingAddress: DeleteUserAddress_accountAddressDelete_user_defaultBillingAddress | null; - /** - * List of all user's addresses. - */ - addresses: (DeleteUserAddress_accountAddressDelete_user_addresses | null)[] | null; -} - -export interface DeleteUserAddress_accountAddressDelete { - __typename: "AccountAddressDelete"; - /** - * List of errors that occurred executing the mutation. - */ - errors: DeleteUserAddress_accountAddressDelete_errors[]; - /** - * A user instance for which the address was deleted. - */ - user: DeleteUserAddress_accountAddressDelete_user | null; -} - -export interface DeleteUserAddress { - /** - * Delete an address of the logged-in user. - */ - accountAddressDelete: DeleteUserAddress_accountAddressDelete | null; -} - -export interface DeleteUserAddressVariables { - addressId: string; -} diff --git a/src/@sdk/mutations/gqlTypes/PasswordChange.ts b/src/@sdk/mutations/gqlTypes/PasswordChange.ts deleted file mode 100644 index c0b609cc2b..0000000000 --- a/src/@sdk/mutations/gqlTypes/PasswordChange.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL mutation operation: PasswordChange -// ==================================================== - -export interface PasswordChange_passwordChange_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface PasswordChange_passwordChange { - __typename: "PasswordChange"; - /** - * List of errors that occurred executing the mutation. - */ - errors: PasswordChange_passwordChange_errors[]; -} - -export interface PasswordChange { - /** - * Change the password of the logged in user. - */ - passwordChange: PasswordChange_passwordChange | null; -} - -export interface PasswordChangeVariables { - newPassword: string; - oldPassword: string; -} diff --git a/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts b/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts deleted file mode 100644 index 7f6238b70e..0000000000 --- a/src/@sdk/mutations/gqlTypes/RemoveCheckoutPromoCode.ts +++ /dev/null @@ -1,585 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: RemoveCheckoutPromoCode -// ==================================================== - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_totalPrice_net; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_subtotalPrice_net; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_availableShippingMethods_price | null; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingMethod_price | null; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingPrice_net; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_totalPrice_net; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_price_net; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing_price | null; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_attributes_values | null)[]; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_product_thumbnail2x | null; - productType: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_product_productType; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_attributes[]; - product: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant_product; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_totalPrice | null; - variant: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines_variant; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_subtotalPrice | null; - billingAddress: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_billingAddress | null; - shippingAddress: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_availableShippingMethods | null)[]; - shippingMethod: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode_errors { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface RemoveCheckoutPromoCode_checkoutRemovePromoCode { - __typename: "CheckoutRemovePromoCode"; - /** - * The checkout with the removed gift card or voucher. - */ - checkout: RemoveCheckoutPromoCode_checkoutRemovePromoCode_checkout | null; - errors: RemoveCheckoutPromoCode_checkoutRemovePromoCode_errors[]; -} - -export interface RemoveCheckoutPromoCode { - /** - * Remove a gift card or a voucher from a checkout. - */ - checkoutRemovePromoCode: RemoveCheckoutPromoCode_checkoutRemovePromoCode | null; -} - -export interface RemoveCheckoutPromoCodeVariables { - checkoutId: string; - promoCode: string; -} diff --git a/src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts b/src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts deleted file mode 100644 index 9ec4ec4e70..0000000000 --- a/src/@sdk/mutations/gqlTypes/SetCustomerDefaultAddress.ts +++ /dev/null @@ -1,187 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { AddressTypeEnum } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: SetCustomerDefaultAddress -// ==================================================== - -export interface SetCustomerDefaultAddress_accountSetDefaultAddress_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface SetCustomerDefaultAddress_accountSetDefaultAddress_user_defaultShippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface SetCustomerDefaultAddress_accountSetDefaultAddress_user_defaultShippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: SetCustomerDefaultAddress_accountSetDefaultAddress_user_defaultShippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface SetCustomerDefaultAddress_accountSetDefaultAddress_user_defaultBillingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface SetCustomerDefaultAddress_accountSetDefaultAddress_user_defaultBillingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: SetCustomerDefaultAddress_accountSetDefaultAddress_user_defaultBillingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface SetCustomerDefaultAddress_accountSetDefaultAddress_user_addresses_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface SetCustomerDefaultAddress_accountSetDefaultAddress_user_addresses { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: SetCustomerDefaultAddress_accountSetDefaultAddress_user_addresses_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface SetCustomerDefaultAddress_accountSetDefaultAddress_user { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - email: string; - firstName: string; - lastName: string; - isStaff: boolean; - defaultShippingAddress: SetCustomerDefaultAddress_accountSetDefaultAddress_user_defaultShippingAddress | null; - defaultBillingAddress: SetCustomerDefaultAddress_accountSetDefaultAddress_user_defaultBillingAddress | null; - /** - * List of all user's addresses. - */ - addresses: (SetCustomerDefaultAddress_accountSetDefaultAddress_user_addresses | null)[] | null; -} - -export interface SetCustomerDefaultAddress_accountSetDefaultAddress { - __typename: "AccountSetDefaultAddress"; - /** - * List of errors that occurred executing the mutation. - */ - errors: SetCustomerDefaultAddress_accountSetDefaultAddress_errors[]; - /** - * An updated user instance. - */ - user: SetCustomerDefaultAddress_accountSetDefaultAddress_user | null; -} - -export interface SetCustomerDefaultAddress { - /** - * Sets a default address for the authenticated user. - */ - accountSetDefaultAddress: SetCustomerDefaultAddress_accountSetDefaultAddress | null; -} - -export interface SetCustomerDefaultAddressVariables { - id: string; - type: AddressTypeEnum; -} diff --git a/src/@sdk/mutations/gqlTypes/SetPassword.ts b/src/@sdk/mutations/gqlTypes/SetPassword.ts deleted file mode 100644 index e712b1469f..0000000000 --- a/src/@sdk/mutations/gqlTypes/SetPassword.ts +++ /dev/null @@ -1,207 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { AccountErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: SetPassword -// ==================================================== - -export interface SetPassword_setPassword_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface SetPassword_setPassword_user_defaultShippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface SetPassword_setPassword_user_defaultShippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: SetPassword_setPassword_user_defaultShippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface SetPassword_setPassword_user_defaultBillingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface SetPassword_setPassword_user_defaultBillingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: SetPassword_setPassword_user_defaultBillingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface SetPassword_setPassword_user_addresses_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface SetPassword_setPassword_user_addresses { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: SetPassword_setPassword_user_addresses_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface SetPassword_setPassword_user { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - email: string; - firstName: string; - lastName: string; - isStaff: boolean; - defaultShippingAddress: SetPassword_setPassword_user_defaultShippingAddress | null; - defaultBillingAddress: SetPassword_setPassword_user_defaultBillingAddress | null; - /** - * List of all user's addresses. - */ - addresses: (SetPassword_setPassword_user_addresses | null)[] | null; -} - -export interface SetPassword_setPassword_accountErrors { - __typename: "AccountError"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; - /** - * The error code. - */ - code: AccountErrorCode; -} - -export interface SetPassword_setPassword { - __typename: "SetPassword"; - errors: SetPassword_setPassword_errors[]; - token: string | null; - /** - * A user instance. - */ - user: SetPassword_setPassword_user | null; - /** - * List of errors that occurred executing the mutation. - */ - accountErrors: SetPassword_setPassword_accountErrors[]; -} - -export interface SetPassword { - /** - * Sets the user's password from the token sent by email using the RequestPasswordReset mutation. - */ - setPassword: SetPassword_setPassword | null; -} - -export interface SetPasswordVariables { - token: string; - email: string; - password: string; -} diff --git a/src/@sdk/mutations/gqlTypes/TokenAuth.ts b/src/@sdk/mutations/gqlTypes/TokenAuth.ts deleted file mode 100644 index 62b1947c7e..0000000000 --- a/src/@sdk/mutations/gqlTypes/TokenAuth.ts +++ /dev/null @@ -1,187 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL mutation operation: TokenAuth -// ==================================================== - -export interface TokenAuth_tokenCreate_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface TokenAuth_tokenCreate_user_defaultShippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface TokenAuth_tokenCreate_user_defaultShippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: TokenAuth_tokenCreate_user_defaultShippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface TokenAuth_tokenCreate_user_defaultBillingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface TokenAuth_tokenCreate_user_defaultBillingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: TokenAuth_tokenCreate_user_defaultBillingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface TokenAuth_tokenCreate_user_addresses_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface TokenAuth_tokenCreate_user_addresses { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: TokenAuth_tokenCreate_user_addresses_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface TokenAuth_tokenCreate_user { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - email: string; - firstName: string; - lastName: string; - isStaff: boolean; - defaultShippingAddress: TokenAuth_tokenCreate_user_defaultShippingAddress | null; - defaultBillingAddress: TokenAuth_tokenCreate_user_defaultBillingAddress | null; - /** - * List of all user's addresses. - */ - addresses: (TokenAuth_tokenCreate_user_addresses | null)[] | null; -} - -export interface TokenAuth_tokenCreate { - __typename: "CreateToken"; - token: string | null; - errors: TokenAuth_tokenCreate_errors[]; - /** - * A user instance. - */ - user: TokenAuth_tokenCreate_user | null; -} - -export interface TokenAuth { - /** - * Mutation that authenticates a user and returns token and user data. - * - * It overrides the default graphql_jwt.ObtainJSONWebToken to wrap potential - * authentication errors in our Error type, which is consistent to how the rest of - * the mutation works. - */ - tokenCreate: TokenAuth_tokenCreate | null; -} - -export interface TokenAuthVariables { - email: string; - password: string; -} diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts deleted file mode 100644 index 1cc6a1fb75..0000000000 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddress.ts +++ /dev/null @@ -1,585 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { AddressInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: UpdateCheckoutBillingAddress -// ==================================================== - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_errors { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_totalPrice_net; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_subtotalPrice_net; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_availableShippingMethods_price | null; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingMethod_price | null; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingPrice_net; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_totalPrice_net; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price_net; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price | null; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_attributes_values | null)[]; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_product_thumbnail2x | null; - productType: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_product_productType; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_attributes[]; - product: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant_product; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_totalPrice | null; - variant: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines_variant; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_subtotalPrice | null; - billingAddress: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_billingAddress | null; - shippingAddress: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_availableShippingMethods | null)[]; - shippingMethod: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate { - __typename: "CheckoutBillingAddressUpdate"; - errors: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_errors[]; - /** - * An updated checkout. - */ - checkout: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate_checkout | null; -} - -export interface UpdateCheckoutBillingAddress { - /** - * Update billing address in the existing checkout. - */ - checkoutBillingAddressUpdate: UpdateCheckoutBillingAddress_checkoutBillingAddressUpdate | null; -} - -export interface UpdateCheckoutBillingAddressVariables { - checkoutId: string; - billingAddress: AddressInput; -} diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts deleted file mode 100644 index 8e17a7d51e..0000000000 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutBillingAddressWithEmail.ts +++ /dev/null @@ -1,1154 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { AddressInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: UpdateCheckoutBillingAddressWithEmail -// ==================================================== - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_errors { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_totalPrice_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_subtotalPrice_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_availableShippingMethods_price | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingMethod_price | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingPrice_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_totalPrice_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing_price | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_attributes_values | null)[]; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_product_thumbnail2x | null; - productType: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_product_productType; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_attributes[]; - product: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant_product; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_totalPrice | null; - variant: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines_variant; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_subtotalPrice | null; - billingAddress: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_billingAddress | null; - shippingAddress: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_availableShippingMethods | null)[]; - shippingMethod: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate { - __typename: "CheckoutBillingAddressUpdate"; - errors: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_errors[]; - /** - * An updated checkout. - */ - checkout: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate_checkout | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_totalPrice_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_subtotalPrice_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_availableShippingMethods_price | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingMethod_price | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingPrice_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_totalPrice_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_price_net; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing_price | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_attributes_values | null)[]; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_product_thumbnail2x | null; - productType: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_product_productType; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_attributes[]; - product: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant_product; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_totalPrice | null; - variant: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines_variant; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_subtotalPrice | null; - billingAddress: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_billingAddress | null; - shippingAddress: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_availableShippingMethods | null)[]; - shippingMethod: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_errors { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate { - __typename: "CheckoutEmailUpdate"; - /** - * An updated checkout. - */ - checkout: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_checkout | null; - errors: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate_errors[]; -} - -export interface UpdateCheckoutBillingAddressWithEmail { - /** - * Update billing address in the existing checkout. - */ - checkoutBillingAddressUpdate: UpdateCheckoutBillingAddressWithEmail_checkoutBillingAddressUpdate | null; - /** - * Updates email address in the existing checkout object. - */ - checkoutEmailUpdate: UpdateCheckoutBillingAddressWithEmail_checkoutEmailUpdate | null; -} - -export interface UpdateCheckoutBillingAddressWithEmailVariables { - checkoutId: string; - billingAddress: AddressInput; - email: string; -} diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts deleted file mode 100644 index 4abec5c486..0000000000 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutLine.ts +++ /dev/null @@ -1,585 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { CheckoutLineInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: UpdateCheckoutLine -// ==================================================== - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutLine_checkoutLinesUpdate_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutLine_checkoutLinesUpdate_checkout_totalPrice_net; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutLine_checkoutLinesUpdate_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutLine_checkoutLinesUpdate_checkout_subtotalPrice_net; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutLine_checkoutLinesUpdate_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutLine_checkoutLinesUpdate_checkout_availableShippingMethods_price | null; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingMethod_price | null; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingPrice_net; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_totalPrice_net; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_price_net; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing_price | null; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_attributes_values | null)[]; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_product_thumbnail2x | null; - productType: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_product_productType; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_attributes[]; - product: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant_product; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_totalPrice | null; - variant: UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines_variant; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: UpdateCheckoutLine_checkoutLinesUpdate_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: UpdateCheckoutLine_checkoutLinesUpdate_checkout_subtotalPrice | null; - billingAddress: UpdateCheckoutLine_checkoutLinesUpdate_checkout_billingAddress | null; - shippingAddress: UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (UpdateCheckoutLine_checkoutLinesUpdate_checkout_availableShippingMethods | null)[]; - shippingMethod: UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: UpdateCheckoutLine_checkoutLinesUpdate_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (UpdateCheckoutLine_checkoutLinesUpdate_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: UpdateCheckoutLine_checkoutLinesUpdate_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate_errors { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface UpdateCheckoutLine_checkoutLinesUpdate { - __typename: "CheckoutLinesUpdate"; - /** - * An updated checkout. - */ - checkout: UpdateCheckoutLine_checkoutLinesUpdate_checkout | null; - errors: UpdateCheckoutLine_checkoutLinesUpdate_errors[]; -} - -export interface UpdateCheckoutLine { - /** - * Updates checkout line in the existing checkout. - */ - checkoutLinesUpdate: UpdateCheckoutLine_checkoutLinesUpdate | null; -} - -export interface UpdateCheckoutLineVariables { - checkoutId: string; - lines: (CheckoutLineInput | null)[]; -} diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts deleted file mode 100644 index 922eb677c0..0000000000 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingAddress.ts +++ /dev/null @@ -1,1154 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { AddressInput, CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: UpdateCheckoutShippingAddress -// ==================================================== - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_errors { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_totalPrice_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_subtotalPrice_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_availableShippingMethods_price | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingMethod_price | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingPrice_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_totalPrice_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_price_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing_price | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_attributes_values | null)[]; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_product_thumbnail2x | null; - productType: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_product_productType; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_attributes[]; - product: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant_product; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_totalPrice | null; - variant: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines_variant; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_subtotalPrice | null; - billingAddress: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_billingAddress | null; - shippingAddress: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_availableShippingMethods | null)[]; - shippingMethod: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate { - __typename: "CheckoutShippingAddressUpdate"; - errors: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_errors[]; - /** - * An updated checkout. - */ - checkout: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate_checkout | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_totalPrice_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_subtotalPrice_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_availableShippingMethods_price | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingMethod_price | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingPrice_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_totalPrice_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_price_net; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing_price | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_attributes_values | null)[]; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_product_thumbnail2x | null; - productType: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_product_productType; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_attributes[]; - product: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant_product; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_totalPrice | null; - variant: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines_variant; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_subtotalPrice | null; - billingAddress: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_billingAddress | null; - shippingAddress: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_availableShippingMethods | null)[]; - shippingMethod: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate_errors { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface UpdateCheckoutShippingAddress_checkoutEmailUpdate { - __typename: "CheckoutEmailUpdate"; - /** - * An updated checkout. - */ - checkout: UpdateCheckoutShippingAddress_checkoutEmailUpdate_checkout | null; - errors: UpdateCheckoutShippingAddress_checkoutEmailUpdate_errors[]; -} - -export interface UpdateCheckoutShippingAddress { - /** - * Update shipping address in the existing checkout. - */ - checkoutShippingAddressUpdate: UpdateCheckoutShippingAddress_checkoutShippingAddressUpdate | null; - /** - * Updates email address in the existing checkout object. - */ - checkoutEmailUpdate: UpdateCheckoutShippingAddress_checkoutEmailUpdate | null; -} - -export interface UpdateCheckoutShippingAddressVariables { - checkoutId: string; - shippingAddress: AddressInput; - email: string; -} diff --git a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts b/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts deleted file mode 100644 index d66ededa07..0000000000 --- a/src/@sdk/mutations/gqlTypes/UpdateCheckoutShippingMethod.ts +++ /dev/null @@ -1,585 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { CheckoutErrorCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: UpdateCheckoutShippingMethod -// ==================================================== - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_totalPrice_net; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_subtotalPrice_net; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_availableShippingMethods_price | null; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingMethod_price | null; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingPrice_net; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_totalPrice_net; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_price_net; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing_price | null; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_attributes_values | null)[]; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_product_thumbnail2x | null; - productType: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_product_productType; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_attributes[]; - product: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant_product; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_totalPrice | null; - variant: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines_variant; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_subtotalPrice | null; - billingAddress: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_billingAddress | null; - shippingAddress: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_availableShippingMethods | null)[]; - shippingMethod: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_errors { - __typename: "CheckoutError"; - /** - * The error code. - */ - code: CheckoutErrorCode; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate { - __typename: "CheckoutShippingMethodUpdate"; - /** - * An updated checkout. - */ - checkout: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_checkout | null; - errors: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate_errors[]; -} - -export interface UpdateCheckoutShippingMethod { - /** - * Updates the shipping address of the checkout. - */ - checkoutShippingMethodUpdate: UpdateCheckoutShippingMethod_checkoutShippingMethodUpdate | null; -} - -export interface UpdateCheckoutShippingMethodVariables { - checkoutId: string; - shippingMethodId: string; -} diff --git a/src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts b/src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts deleted file mode 100644 index a1e5763c93..0000000000 --- a/src/@sdk/mutations/gqlTypes/UpdateUserAddress.ts +++ /dev/null @@ -1,187 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { AddressInput } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL mutation operation: UpdateUserAddress -// ==================================================== - -export interface UpdateUserAddress_accountAddressUpdate_errors { - __typename: "Error"; - /** - * Name of a field that caused the error. A value of `null` indicates that the - * error isn't associated with a particular field. - */ - field: string | null; - /** - * The error message. - */ - message: string | null; -} - -export interface UpdateUserAddress_accountAddressUpdate_user_defaultShippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateUserAddress_accountAddressUpdate_user_defaultShippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateUserAddress_accountAddressUpdate_user_defaultShippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateUserAddress_accountAddressUpdate_user_defaultBillingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateUserAddress_accountAddressUpdate_user_defaultBillingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateUserAddress_accountAddressUpdate_user_defaultBillingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateUserAddress_accountAddressUpdate_user_addresses_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UpdateUserAddress_accountAddressUpdate_user_addresses { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UpdateUserAddress_accountAddressUpdate_user_addresses_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UpdateUserAddress_accountAddressUpdate_user { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - email: string; - firstName: string; - lastName: string; - isStaff: boolean; - defaultShippingAddress: UpdateUserAddress_accountAddressUpdate_user_defaultShippingAddress | null; - defaultBillingAddress: UpdateUserAddress_accountAddressUpdate_user_defaultBillingAddress | null; - /** - * List of all user's addresses. - */ - addresses: (UpdateUserAddress_accountAddressUpdate_user_addresses | null)[] | null; -} - -export interface UpdateUserAddress_accountAddressUpdate { - __typename: "AccountAddressUpdate"; - /** - * List of errors that occurred executing the mutation. - */ - errors: UpdateUserAddress_accountAddressUpdate_errors[]; - /** - * A user object for which the address was edited. - */ - user: UpdateUserAddress_accountAddressUpdate_user | null; -} - -export interface UpdateUserAddress { - /** - * Updates an address of the logged-in user. - */ - accountAddressUpdate: UpdateUserAddress_accountAddressUpdate | null; -} - -export interface UpdateUserAddressVariables { - input: AddressInput; - id: string; -} diff --git a/src/@sdk/mutations/gqlTypes/VerifyToken.ts b/src/@sdk/mutations/gqlTypes/VerifyToken.ts deleted file mode 100644 index efd7f8acd8..0000000000 --- a/src/@sdk/mutations/gqlTypes/VerifyToken.ts +++ /dev/null @@ -1,165 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL mutation operation: VerifyToken -// ==================================================== - -export interface VerifyToken_tokenVerify_user_defaultShippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface VerifyToken_tokenVerify_user_defaultShippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: VerifyToken_tokenVerify_user_defaultShippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface VerifyToken_tokenVerify_user_defaultBillingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface VerifyToken_tokenVerify_user_defaultBillingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: VerifyToken_tokenVerify_user_defaultBillingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface VerifyToken_tokenVerify_user_addresses_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface VerifyToken_tokenVerify_user_addresses { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: VerifyToken_tokenVerify_user_addresses_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface VerifyToken_tokenVerify_user { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - email: string; - firstName: string; - lastName: string; - isStaff: boolean; - defaultShippingAddress: VerifyToken_tokenVerify_user_defaultShippingAddress | null; - defaultBillingAddress: VerifyToken_tokenVerify_user_defaultBillingAddress | null; - /** - * List of all user's addresses. - */ - addresses: (VerifyToken_tokenVerify_user_addresses | null)[] | null; -} - -export interface VerifyToken_tokenVerify { - __typename: "VerifyToken"; - payload: any | null; - user: VerifyToken_tokenVerify_user | null; -} - -export interface VerifyToken { - /** - * Mutation that confirms if token is valid and also returns user data. - */ - tokenVerify: VerifyToken_tokenVerify | null; -} - -export interface VerifyTokenVariables { - token: string; -} diff --git a/src/@sdk/mutations/index.ts b/src/@sdk/mutations/index.ts deleted file mode 100644 index a37d70ca05..0000000000 --- a/src/@sdk/mutations/index.ts +++ /dev/null @@ -1,120 +0,0 @@ -import { - ApolloClient, - MutationOptions as ApolloMutationOptions, -} from "apollo-client"; - -import * as Address from "./address"; -import * as Auth from "./auth"; -import * as User from "./user"; - -import { - DeleteUserAddress, - DeleteUserAddressVariables, -} from "./gqlTypes/DeleteUserAddress"; - -import { - CreateUserAddress, - CreateUserAddressVariables, -} from "./gqlTypes/CreateUserAddress"; - -import { - SetCustomerDefaultAddress, - SetCustomerDefaultAddressVariables, -} from "./gqlTypes/SetCustomerDefaultAddress"; - -import { - UpdateUserAddress, - UpdateUserAddressVariables, -} from "./gqlTypes/UpdateUserAddress"; - -import { SetPassword, SetPasswordVariables } from "./gqlTypes/SetPassword"; - -import { TokenAuth, TokenAuthVariables } from "./gqlTypes/TokenAuth"; - -import { - PasswordChange, - PasswordChangeVariables, -} from "./gqlTypes/PasswordChange"; - -import { - AccountUpdate, - AccountUpdateVariables, -} from "./gqlTypes/AccountUpdate"; - -export type MutationOptions = Omit< - ApolloMutationOptions, - "mutation" ->; - -// TODO: Add ability to pass custom fragments to mutations -export const MUTATIONS = { - AccountUpdate: ( - client: ApolloClient, - options: MutationOptions - ) => - client.mutate({ - mutation: User.accountUpdate, - ...options, - }), - AddressTypeUpdate: ( - client: ApolloClient, - options: MutationOptions< - SetCustomerDefaultAddress, - SetCustomerDefaultAddressVariables - > - ) => - client.mutate({ - mutation: Address.setCustomerDefaultAddress, - ...options, - }), - CreateUserAddress: ( - client: ApolloClient, - options: MutationOptions - ) => - client.mutate({ - mutation: Address.createUserAddress, - ...options, - }), - DeleteUserAddress: ( - client: ApolloClient, - options: MutationOptions - ) => - client.mutate({ - mutation: Address.deleteUserAddress, - ...options, - }), - PasswordChange: ( - client: ApolloClient, - options: MutationOptions - ) => - client.mutate({ - mutation: User.changeUserPassword, - ...options, - }), - SetPassword: ( - client: ApolloClient, - options: MutationOptions - ) => - client.mutate({ - mutation: User.setPassword, - ...options, - }), - TokenAuth: ( - client: ApolloClient, - options: MutationOptions - ) => - client.mutate({ - mutation: Auth.tokenAuthMutation, - ...options, - }), - UpdateUserAddress: ( - client: ApolloClient, - options: MutationOptions - ) => - client.mutate({ - mutation: Address.updateUserAddress, - ...options, - }), -}; - -export type MUTATIONS = typeof MUTATIONS; diff --git a/src/@sdk/mutations/user.ts b/src/@sdk/mutations/user.ts deleted file mode 100644 index a74ad62ec2..0000000000 --- a/src/@sdk/mutations/user.ts +++ /dev/null @@ -1,49 +0,0 @@ -import gql from "graphql-tag"; -import { userFragment } from "../fragments/auth"; - -export const changeUserPassword = gql` - mutation PasswordChange($newPassword: String!, $oldPassword: String!) { - passwordChange(newPassword: $newPassword, oldPassword: $oldPassword) { - errors { - field - message - } - } - } -`; - -export const accountUpdate = gql` - ${userFragment} - mutation AccountUpdate($input: AccountInput!) { - accountUpdate(input: $input) { - errors { - field - message - } - user { - ...User - } - } - } -`; - -export const setPassword = gql` - ${userFragment} - mutation SetPassword($token: String!, $email: String!, $password: String!) { - setPassword(token: $token, email: $email, password: $password) { - errors { - field - message - } - token - user { - ...User - } - accountErrors { - field - message - code - } - } - } -`; diff --git a/src/@sdk/queries/attributes.ts b/src/@sdk/queries/attributes.ts deleted file mode 100644 index 6d8441c9b0..0000000000 --- a/src/@sdk/queries/attributes.ts +++ /dev/null @@ -1,20 +0,0 @@ -import gql from "graphql-tag"; - -export const attributes = gql` - query Attributes($id: ID!) { - attributes(filter: { inCategory: $id }, first: 100) { - edges { - node { - id - name - slug - values { - id - name - slug - } - } - } - } - } -`; diff --git a/src/@sdk/queries/category.ts b/src/@sdk/queries/category.ts deleted file mode 100644 index cce72e9ab8..0000000000 --- a/src/@sdk/queries/category.ts +++ /dev/null @@ -1,23 +0,0 @@ -import gql from "graphql-tag"; - -export const categoryQuery = gql` - query CategoryDetails($id: ID!) { - category(id: $id) { - seoDescription - seoTitle - id - name - backgroundImage { - url - } - ancestors(last: 5) { - edges { - node { - id - name - } - } - } - } - } -`; diff --git a/src/@sdk/queries/checkout.ts b/src/@sdk/queries/checkout.ts deleted file mode 100644 index 8df7956568..0000000000 --- a/src/@sdk/queries/checkout.ts +++ /dev/null @@ -1,40 +0,0 @@ -import gql from "graphql-tag"; - -import { - checkoutFragment, - checkoutProductVariantFragment, -} from "../fragments/checkout"; - -export const checkoutDetails = gql` - ${checkoutFragment} - query CheckoutDetails($token: UUID!) { - checkout(token: $token) { - ...Checkout - } - } -`; - -export const userCheckoutDetails = gql` - ${checkoutFragment} - query UserCheckoutDetails { - me { - id - checkout { - ...Checkout - } - } - } -`; - -export const checkoutProductVariants = gql` - ${checkoutProductVariantFragment} - query CheckoutProductVariants($ids: [ID]) { - productVariants(ids: $ids, first: 100) { - edges { - node { - ...ProductVariant - } - } - } - } -`; diff --git a/src/@sdk/queries/gqlTypes/Attributes.ts b/src/@sdk/queries/gqlTypes/Attributes.ts deleted file mode 100644 index ae3c3a87ff..0000000000 --- a/src/@sdk/queries/gqlTypes/Attributes.ts +++ /dev/null @@ -1,67 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: Attributes -// ==================================================== - -export interface Attributes_attributes_edges_node_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Internal representation of a value (unique per attribute). - */ - slug: string | null; -} - -export interface Attributes_attributes_edges_node { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; - /** - * Internal representation of an attribute name. - */ - slug: string | null; - /** - * List of attribute's values. - */ - values: (Attributes_attributes_edges_node_values | null)[] | null; -} - -export interface Attributes_attributes_edges { - __typename: "AttributeCountableEdge"; - /** - * The item at the end of the edge. - */ - node: Attributes_attributes_edges_node; -} - -export interface Attributes_attributes { - __typename: "AttributeCountableConnection"; - edges: Attributes_attributes_edges[]; -} - -export interface Attributes { - /** - * List of the shop's attributes. - */ - attributes: Attributes_attributes | null; -} - -export interface AttributesVariables { - id: string; -} diff --git a/src/@sdk/queries/gqlTypes/CategoryDetails.ts b/src/@sdk/queries/gqlTypes/CategoryDetails.ts deleted file mode 100644 index 6cd087a480..0000000000 --- a/src/@sdk/queries/gqlTypes/CategoryDetails.ts +++ /dev/null @@ -1,64 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: CategoryDetails -// ==================================================== - -export interface CategoryDetails_category_backgroundImage { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface CategoryDetails_category_ancestors_edges_node { - __typename: "Category"; - /** - * The ID of the object. - */ - id: string; - name: string; -} - -export interface CategoryDetails_category_ancestors_edges { - __typename: "CategoryCountableEdge"; - /** - * The item at the end of the edge. - */ - node: CategoryDetails_category_ancestors_edges_node; -} - -export interface CategoryDetails_category_ancestors { - __typename: "CategoryCountableConnection"; - edges: CategoryDetails_category_ancestors_edges[]; -} - -export interface CategoryDetails_category { - __typename: "Category"; - seoDescription: string | null; - seoTitle: string | null; - /** - * The ID of the object. - */ - id: string; - name: string; - backgroundImage: CategoryDetails_category_backgroundImage | null; - /** - * List of ancestors of the category. - */ - ancestors: CategoryDetails_category_ancestors | null; -} - -export interface CategoryDetails { - /** - * Look up a category by ID or slug. - */ - category: CategoryDetails_category | null; -} - -export interface CategoryDetailsVariables { - id: string; -} diff --git a/src/@sdk/queries/gqlTypes/CheckoutDetails.ts b/src/@sdk/queries/gqlTypes/CheckoutDetails.ts deleted file mode 100644 index 6e26eb5dfe..0000000000 --- a/src/@sdk/queries/gqlTypes/CheckoutDetails.ts +++ /dev/null @@ -1,556 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: CheckoutDetails -// ==================================================== - -export interface CheckoutDetails_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CheckoutDetails_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: CheckoutDetails_checkout_totalPrice_net; -} - -export interface CheckoutDetails_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CheckoutDetails_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: CheckoutDetails_checkout_subtotalPrice_net; -} - -export interface CheckoutDetails_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface CheckoutDetails_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: CheckoutDetails_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface CheckoutDetails_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface CheckoutDetails_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: CheckoutDetails_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface CheckoutDetails_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface CheckoutDetails_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: CheckoutDetails_checkout_availableShippingMethods_price | null; -} - -export interface CheckoutDetails_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface CheckoutDetails_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: CheckoutDetails_checkout_shippingMethod_price | null; -} - -export interface CheckoutDetails_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CheckoutDetails_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: CheckoutDetails_checkout_shippingPrice_net; -} - -export interface CheckoutDetails_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CheckoutDetails_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: CheckoutDetails_checkout_lines_totalPrice_net; -} - -export interface CheckoutDetails_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CheckoutDetails_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: CheckoutDetails_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface CheckoutDetails_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutDetails_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CheckoutDetails_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: CheckoutDetails_checkout_lines_variant_pricing_price_net; -} - -export interface CheckoutDetails_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: CheckoutDetails_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: CheckoutDetails_checkout_lines_variant_pricing_price | null; -} - -export interface CheckoutDetails_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface CheckoutDetails_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface CheckoutDetails_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: CheckoutDetails_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (CheckoutDetails_checkout_lines_variant_attributes_values | null)[]; -} - -export interface CheckoutDetails_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface CheckoutDetails_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface CheckoutDetails_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface CheckoutDetails_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: CheckoutDetails_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: CheckoutDetails_checkout_lines_variant_product_thumbnail2x | null; - productType: CheckoutDetails_checkout_lines_variant_product_productType; -} - -export interface CheckoutDetails_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: CheckoutDetails_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: CheckoutDetails_checkout_lines_variant_attributes[]; - product: CheckoutDetails_checkout_lines_variant_product; -} - -export interface CheckoutDetails_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: CheckoutDetails_checkout_lines_totalPrice | null; - variant: CheckoutDetails_checkout_lines_variant; -} - -export interface CheckoutDetails_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface CheckoutDetails_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: CheckoutDetails_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: CheckoutDetails_checkout_subtotalPrice | null; - billingAddress: CheckoutDetails_checkout_billingAddress | null; - shippingAddress: CheckoutDetails_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (CheckoutDetails_checkout_availableShippingMethods | null)[]; - shippingMethod: CheckoutDetails_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: CheckoutDetails_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (CheckoutDetails_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: CheckoutDetails_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface CheckoutDetails { - /** - * Look up a checkout by token. - */ - checkout: CheckoutDetails_checkout | null; -} - -export interface CheckoutDetailsVariables { - token: any; -} diff --git a/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts b/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts deleted file mode 100644 index 994f20d45c..0000000000 --- a/src/@sdk/queries/gqlTypes/CheckoutProductVariants.ts +++ /dev/null @@ -1,229 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: CheckoutProductVariants -// ==================================================== - -export interface CheckoutProductVariants_productVariants_edges_node_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutProductVariants_productVariants_edges_node_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutProductVariants_productVariants_edges_node_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CheckoutProductVariants_productVariants_edges_node_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: CheckoutProductVariants_productVariants_edges_node_pricing_priceUndiscounted_net; -} - -export interface CheckoutProductVariants_productVariants_edges_node_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutProductVariants_productVariants_edges_node_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface CheckoutProductVariants_productVariants_edges_node_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: CheckoutProductVariants_productVariants_edges_node_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: CheckoutProductVariants_productVariants_edges_node_pricing_price_net; -} - -export interface CheckoutProductVariants_productVariants_edges_node_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: CheckoutProductVariants_productVariants_edges_node_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: CheckoutProductVariants_productVariants_edges_node_pricing_price | null; -} - -export interface CheckoutProductVariants_productVariants_edges_node_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface CheckoutProductVariants_productVariants_edges_node_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface CheckoutProductVariants_productVariants_edges_node_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: CheckoutProductVariants_productVariants_edges_node_attributes_attribute; - /** - * Values of an attribute. - */ - values: (CheckoutProductVariants_productVariants_edges_node_attributes_values | null)[]; -} - -export interface CheckoutProductVariants_productVariants_edges_node_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface CheckoutProductVariants_productVariants_edges_node_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface CheckoutProductVariants_productVariants_edges_node_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface CheckoutProductVariants_productVariants_edges_node_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: CheckoutProductVariants_productVariants_edges_node_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: CheckoutProductVariants_productVariants_edges_node_product_thumbnail2x | null; - productType: CheckoutProductVariants_productVariants_edges_node_product_productType; -} - -export interface CheckoutProductVariants_productVariants_edges_node { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: CheckoutProductVariants_productVariants_edges_node_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: CheckoutProductVariants_productVariants_edges_node_attributes[]; - product: CheckoutProductVariants_productVariants_edges_node_product; -} - -export interface CheckoutProductVariants_productVariants_edges { - __typename: "ProductVariantCountableEdge"; - /** - * The item at the end of the edge. - */ - node: CheckoutProductVariants_productVariants_edges_node; -} - -export interface CheckoutProductVariants_productVariants { - __typename: "ProductVariantCountableConnection"; - edges: CheckoutProductVariants_productVariants_edges[]; -} - -export interface CheckoutProductVariants { - /** - * List of product variants. - */ - productVariants: CheckoutProductVariants_productVariants | null; -} - -export interface CheckoutProductVariantsVariables { - ids?: (string | null)[] | null; -} diff --git a/src/@sdk/queries/gqlTypes/GetCategories.ts b/src/@sdk/queries/gqlTypes/GetCategories.ts deleted file mode 100644 index 81d45f6c34..0000000000 --- a/src/@sdk/queries/gqlTypes/GetCategories.ts +++ /dev/null @@ -1,57 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: GetCategories -// ==================================================== - -export interface GetCategories_categories_pageInfo { - __typename: "PageInfo"; - /** - * When paginating forwards, the cursor to continue. - */ - endCursor: string | null; - /** - * When paginating forwards, are there more items? - */ - hasNextPage: boolean; -} - -export interface GetCategories_categories_edges_node { - __typename: "Category"; - /** - * The ID of the object. - */ - id: string; - name: string; -} - -export interface GetCategories_categories_edges { - __typename: "CategoryCountableEdge"; - /** - * The item at the end of the edge. - */ - node: GetCategories_categories_edges_node; -} - -export interface GetCategories_categories { - __typename: "CategoryCountableConnection"; - /** - * Pagination data for this connection. - */ - pageInfo: GetCategories_categories_pageInfo; - edges: GetCategories_categories_edges[]; -} - -export interface GetCategories { - /** - * List of the shop's categories. - */ - categories: GetCategories_categories | null; -} - -export interface GetCategoriesVariables { - cursor?: string | null; - perPage?: number | null; -} diff --git a/src/@sdk/queries/gqlTypes/GetCollections.ts b/src/@sdk/queries/gqlTypes/GetCollections.ts deleted file mode 100644 index 3f55df0b19..0000000000 --- a/src/@sdk/queries/gqlTypes/GetCollections.ts +++ /dev/null @@ -1,57 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: GetCollections -// ==================================================== - -export interface GetCollections_collections_pageInfo { - __typename: "PageInfo"; - /** - * When paginating forwards, the cursor to continue. - */ - endCursor: string | null; - /** - * When paginating forwards, are there more items? - */ - hasNextPage: boolean; -} - -export interface GetCollections_collections_edges_node { - __typename: "Collection"; - /** - * The ID of the object. - */ - id: string; - name: string; -} - -export interface GetCollections_collections_edges { - __typename: "CollectionCountableEdge"; - /** - * The item at the end of the edge. - */ - node: GetCollections_collections_edges_node; -} - -export interface GetCollections_collections { - __typename: "CollectionCountableConnection"; - /** - * Pagination data for this connection. - */ - pageInfo: GetCollections_collections_pageInfo; - edges: GetCollections_collections_edges[]; -} - -export interface GetCollections { - /** - * List of the shop's collections. - */ - collections: GetCollections_collections | null; -} - -export interface GetCollectionsVariables { - cursor?: string | null; - perPage?: number | null; -} diff --git a/src/@sdk/queries/gqlTypes/GetProducts.ts b/src/@sdk/queries/gqlTypes/GetProducts.ts deleted file mode 100644 index 27f2125149..0000000000 --- a/src/@sdk/queries/gqlTypes/GetProducts.ts +++ /dev/null @@ -1,57 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: GetProducts -// ==================================================== - -export interface GetProducts_products_pageInfo { - __typename: "PageInfo"; - /** - * When paginating forwards, the cursor to continue. - */ - endCursor: string | null; - /** - * When paginating forwards, are there more items? - */ - hasNextPage: boolean; -} - -export interface GetProducts_products_edges_node { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; -} - -export interface GetProducts_products_edges { - __typename: "ProductCountableEdge"; - /** - * The item at the end of the edge. - */ - node: GetProducts_products_edges_node; -} - -export interface GetProducts_products { - __typename: "ProductCountableConnection"; - /** - * Pagination data for this connection. - */ - pageInfo: GetProducts_products_pageInfo; - edges: GetProducts_products_edges[]; -} - -export interface GetProducts { - /** - * List of the shop's products. - */ - products: GetProducts_products | null; -} - -export interface GetProductsVariables { - cursor?: string | null; - perPage?: number | null; -} diff --git a/src/@sdk/queries/gqlTypes/GetShop.ts b/src/@sdk/queries/gqlTypes/GetShop.ts deleted file mode 100644 index c360e06dab..0000000000 --- a/src/@sdk/queries/gqlTypes/GetShop.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: GetShop -// ==================================================== - -export interface GetShop_shop_defaultCountry { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface GetShop_shop_countries { - __typename: "CountryDisplay"; - /** - * Country name. - */ - country: string; - /** - * Country code. - */ - code: string; -} - -export interface GetShop_shop_geolocalization_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface GetShop_shop_geolocalization { - __typename: "Geolocalization"; - /** - * Country of the user acquired by his IP address. - */ - country: GetShop_shop_geolocalization_country | null; -} - -export interface GetShop_shop { - __typename: "Shop"; - /** - * Display prices with tax in store. - */ - displayGrossPrices: boolean; - /** - * Shop's default country. - */ - defaultCountry: GetShop_shop_defaultCountry | null; - /** - * List of countries available in the shop. - */ - countries: GetShop_shop_countries[]; - /** - * Customer's geolocalization data. - */ - geolocalization: GetShop_shop_geolocalization | null; -} - -export interface GetShop { - /** - * Return information about the shop. - */ - shop: GetShop_shop; -} diff --git a/src/@sdk/queries/gqlTypes/GetShopPaymentGateways.ts b/src/@sdk/queries/gqlTypes/GetShopPaymentGateways.ts deleted file mode 100644 index ec39a3a18d..0000000000 --- a/src/@sdk/queries/gqlTypes/GetShopPaymentGateways.ts +++ /dev/null @@ -1,50 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: GetShopPaymentGateways -// ==================================================== - -export interface GetShopPaymentGateways_shop_availablePaymentGateways_config { - __typename: "GatewayConfigLine"; - /** - * Gateway config key. - */ - field: string; - /** - * Gateway config value for key. - */ - value: string | null; -} - -export interface GetShopPaymentGateways_shop_availablePaymentGateways { - __typename: "PaymentGateway"; - /** - * Payment gateway ID. - */ - id: string; - /** - * Payment gateway name. - */ - name: string; - /** - * Payment gateway client configuration. - */ - config: GetShopPaymentGateways_shop_availablePaymentGateways_config[]; -} - -export interface GetShopPaymentGateways_shop { - __typename: "Shop"; - /** - * List of available payment gateways. - */ - availablePaymentGateways: GetShopPaymentGateways_shop_availablePaymentGateways[]; -} - -export interface GetShopPaymentGateways { - /** - * Return information about the shop. - */ - shop: GetShopPaymentGateways_shop; -} diff --git a/src/@sdk/queries/gqlTypes/OrderByToken.ts b/src/@sdk/queries/gqlTypes/OrderByToken.ts deleted file mode 100644 index 6823e79094..0000000000 --- a/src/@sdk/queries/gqlTypes/OrderByToken.ts +++ /dev/null @@ -1,468 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { PaymentChargeStatusEnum, OrderStatus } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL query operation: OrderByToken -// ==================================================== - -export interface OrderByToken_orderByToken_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface OrderByToken_orderByToken_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: OrderByToken_orderByToken_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted_net; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_lines_variant_pricing_price_net; -} - -export interface OrderByToken_orderByToken_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: OrderByToken_orderByToken_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: OrderByToken_orderByToken_lines_variant_pricing_price | null; -} - -export interface OrderByToken_orderByToken_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface OrderByToken_orderByToken_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface OrderByToken_orderByToken_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: OrderByToken_orderByToken_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (OrderByToken_orderByToken_lines_variant_attributes_values | null)[]; -} - -export interface OrderByToken_orderByToken_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface OrderByToken_orderByToken_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface OrderByToken_orderByToken_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface OrderByToken_orderByToken_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: OrderByToken_orderByToken_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: OrderByToken_orderByToken_lines_variant_product_thumbnail2x | null; - productType: OrderByToken_orderByToken_lines_variant_product_productType; -} - -export interface OrderByToken_orderByToken_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: OrderByToken_orderByToken_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: OrderByToken_orderByToken_lines_variant_attributes[]; - product: OrderByToken_orderByToken_lines_variant_product; -} - -export interface OrderByToken_orderByToken_lines_unitPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_unitPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_lines_unitPrice { - __typename: "TaxedMoney"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_lines_unitPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_lines_unitPrice_net; -} - -export interface OrderByToken_orderByToken_lines { - __typename: "OrderLine"; - productName: string; - quantity: number; - /** - * A purchased product variant. Note: this field may be null if the variant has been removed from stock at all. - */ - variant: OrderByToken_orderByToken_lines_variant | null; - /** - * Price of the single item in the order line. - */ - unitPrice: OrderByToken_orderByToken_lines_unitPrice | null; -} - -export interface OrderByToken_orderByToken_subtotal_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_subtotal_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_subtotal { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_subtotal_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_subtotal_net; -} - -export interface OrderByToken_orderByToken_total_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_total_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_total { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_total_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_total_net; -} - -export interface OrderByToken_orderByToken_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrderByToken_orderByToken_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrderByToken_orderByToken_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: OrderByToken_orderByToken_shippingPrice_net; -} - -export interface OrderByToken_orderByToken { - __typename: "Order"; - /** - * Email address of the customer. - */ - userEmail: string | null; - /** - * Internal payment status. - */ - paymentStatus: PaymentChargeStatusEnum | null; - /** - * User-friendly payment status. - */ - paymentStatusDisplay: string | null; - status: OrderStatus; - /** - * User-friendly order status. - */ - statusDisplay: string | null; - /** - * The ID of the object. - */ - id: string; - token: string; - /** - * User-friendly number of an order. - */ - number: string | null; - shippingAddress: OrderByToken_orderByToken_shippingAddress | null; - /** - * List of order lines. - */ - lines: (OrderByToken_orderByToken_lines | null)[]; - /** - * The sum of line prices not including shipping. - */ - subtotal: OrderByToken_orderByToken_subtotal | null; - /** - * Total amount of the order. - */ - total: OrderByToken_orderByToken_total | null; - /** - * Total price of shipping. - */ - shippingPrice: OrderByToken_orderByToken_shippingPrice | null; -} - -export interface OrderByToken { - /** - * Look up an order by token. - */ - orderByToken: OrderByToken_orderByToken | null; -} - -export interface OrderByTokenVariables { - token: any; -} diff --git a/src/@sdk/queries/gqlTypes/OrdersByUser.ts b/src/@sdk/queries/gqlTypes/OrdersByUser.ts deleted file mode 100644 index 15c67ac586..0000000000 --- a/src/@sdk/queries/gqlTypes/OrdersByUser.ts +++ /dev/null @@ -1,180 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: OrdersByUser -// ==================================================== - -export interface OrdersByUser_me_orders_pageInfo { - __typename: "PageInfo"; - /** - * When paginating forwards, are there more items? - */ - hasNextPage: boolean; - /** - * When paginating forwards, the cursor to continue. - */ - endCursor: string | null; -} - -export interface OrdersByUser_me_orders_edges_node_total_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrdersByUser_me_orders_edges_node_total_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface OrdersByUser_me_orders_edges_node_total { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: OrdersByUser_me_orders_edges_node_total_gross; - /** - * Amount of money without taxes. - */ - net: OrdersByUser_me_orders_edges_node_total_net; -} - -export interface OrdersByUser_me_orders_edges_node_lines_variant_product { - __typename: "Product"; - name: string; - /** - * The ID of the object. - */ - id: string; -} - -export interface OrdersByUser_me_orders_edges_node_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - product: OrdersByUser_me_orders_edges_node_lines_variant_product; -} - -export interface OrdersByUser_me_orders_edges_node_lines_thumbnail { - __typename: "Image"; - /** - * Alt text for an image. - */ - alt: string | null; - /** - * The URL of the image. - */ - url: string; -} - -export interface OrdersByUser_me_orders_edges_node_lines_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface OrdersByUser_me_orders_edges_node_lines { - __typename: "OrderLine"; - /** - * The ID of the object. - */ - id: string; - /** - * A purchased product variant. Note: this field may be null if the variant has been removed from stock at all. - */ - variant: OrdersByUser_me_orders_edges_node_lines_variant | null; - /** - * The main thumbnail for the ordered product. - */ - thumbnail: OrdersByUser_me_orders_edges_node_lines_thumbnail | null; - /** - * The main thumbnail for the ordered product. - */ - thumbnail2x: OrdersByUser_me_orders_edges_node_lines_thumbnail2x | null; -} - -export interface OrdersByUser_me_orders_edges_node { - __typename: "Order"; - /** - * The ID of the object. - */ - id: string; - token: string; - /** - * User-friendly number of an order. - */ - number: string | null; - /** - * User-friendly order status. - */ - statusDisplay: string | null; - created: any; - /** - * Total amount of the order. - */ - total: OrdersByUser_me_orders_edges_node_total | null; - /** - * List of order lines. - */ - lines: (OrdersByUser_me_orders_edges_node_lines | null)[]; -} - -export interface OrdersByUser_me_orders_edges { - __typename: "OrderCountableEdge"; - /** - * The item at the end of the edge. - */ - node: OrdersByUser_me_orders_edges_node; -} - -export interface OrdersByUser_me_orders { - __typename: "OrderCountableConnection"; - /** - * Pagination data for this connection. - */ - pageInfo: OrdersByUser_me_orders_pageInfo; - edges: OrdersByUser_me_orders_edges[]; -} - -export interface OrdersByUser_me { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - /** - * List of user's orders. - */ - orders: OrdersByUser_me_orders | null; -} - -export interface OrdersByUser { - /** - * Return the currently authenticated user. - */ - me: OrdersByUser_me | null; -} - -export interface OrdersByUserVariables { - perPage: number; - after?: string | null; -} diff --git a/src/@sdk/queries/gqlTypes/ProductDetails.ts b/src/@sdk/queries/gqlTypes/ProductDetails.ts deleted file mode 100644 index 07ed65e5c1..0000000000 --- a/src/@sdk/queries/gqlTypes/ProductDetails.ts +++ /dev/null @@ -1,754 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { CountryCode } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL query operation: ProductDetails -// ==================================================== - -export interface ProductDetails_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface ProductDetails_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface ProductDetails_product_pricing_priceRangeUndiscounted_start_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_pricing_priceRangeUndiscounted_start_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_pricing_priceRangeUndiscounted_start { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductDetails_product_pricing_priceRangeUndiscounted_start_gross; - /** - * Amount of money without taxes. - */ - net: ProductDetails_product_pricing_priceRangeUndiscounted_start_net; -} - -export interface ProductDetails_product_pricing_priceRangeUndiscounted_stop_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_pricing_priceRangeUndiscounted_stop_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_pricing_priceRangeUndiscounted_stop { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductDetails_product_pricing_priceRangeUndiscounted_stop_gross; - /** - * Amount of money without taxes. - */ - net: ProductDetails_product_pricing_priceRangeUndiscounted_stop_net; -} - -export interface ProductDetails_product_pricing_priceRangeUndiscounted { - __typename: "TaxedMoneyRange"; - /** - * Lower bound of a price range. - */ - start: ProductDetails_product_pricing_priceRangeUndiscounted_start | null; - /** - * Upper bound of a price range. - */ - stop: ProductDetails_product_pricing_priceRangeUndiscounted_stop | null; -} - -export interface ProductDetails_product_pricing_priceRange_start_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_pricing_priceRange_start_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_pricing_priceRange_start { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductDetails_product_pricing_priceRange_start_gross; - /** - * Amount of money without taxes. - */ - net: ProductDetails_product_pricing_priceRange_start_net; -} - -export interface ProductDetails_product_pricing_priceRange_stop_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_pricing_priceRange_stop_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_pricing_priceRange_stop { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductDetails_product_pricing_priceRange_stop_gross; - /** - * Amount of money without taxes. - */ - net: ProductDetails_product_pricing_priceRange_stop_net; -} - -export interface ProductDetails_product_pricing_priceRange { - __typename: "TaxedMoneyRange"; - /** - * Lower bound of a price range. - */ - start: ProductDetails_product_pricing_priceRange_start | null; - /** - * Upper bound of a price range. - */ - stop: ProductDetails_product_pricing_priceRange_stop | null; -} - -export interface ProductDetails_product_pricing { - __typename: "ProductPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The undiscounted price range of the product variants. - */ - priceRangeUndiscounted: ProductDetails_product_pricing_priceRangeUndiscounted | null; - /** - * The discounted price range of the product variants. - */ - priceRange: ProductDetails_product_pricing_priceRange | null; -} - -export interface ProductDetails_product_category_products_edges_node_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface ProductDetails_product_category_products_edges_node_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_start_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_start_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_start { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_start_gross; - /** - * Amount of money without taxes. - */ - net: ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_start_net; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_stop_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_stop_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_stop { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_stop_gross; - /** - * Amount of money without taxes. - */ - net: ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_stop_net; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted { - __typename: "TaxedMoneyRange"; - /** - * Lower bound of a price range. - */ - start: ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_start | null; - /** - * Upper bound of a price range. - */ - stop: ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted_stop | null; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRange_start_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRange_start_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRange_start { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductDetails_product_category_products_edges_node_pricing_priceRange_start_gross; - /** - * Amount of money without taxes. - */ - net: ProductDetails_product_category_products_edges_node_pricing_priceRange_start_net; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRange_stop_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRange_stop_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRange_stop { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductDetails_product_category_products_edges_node_pricing_priceRange_stop_gross; - /** - * Amount of money without taxes. - */ - net: ProductDetails_product_category_products_edges_node_pricing_priceRange_stop_net; -} - -export interface ProductDetails_product_category_products_edges_node_pricing_priceRange { - __typename: "TaxedMoneyRange"; - /** - * Lower bound of a price range. - */ - start: ProductDetails_product_category_products_edges_node_pricing_priceRange_start | null; - /** - * Upper bound of a price range. - */ - stop: ProductDetails_product_category_products_edges_node_pricing_priceRange_stop | null; -} - -export interface ProductDetails_product_category_products_edges_node_pricing { - __typename: "ProductPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The undiscounted price range of the product variants. - */ - priceRangeUndiscounted: ProductDetails_product_category_products_edges_node_pricing_priceRangeUndiscounted | null; - /** - * The discounted price range of the product variants. - */ - priceRange: ProductDetails_product_category_products_edges_node_pricing_priceRange | null; -} - -export interface ProductDetails_product_category_products_edges_node_category { - __typename: "Category"; - /** - * The ID of the object. - */ - id: string; - name: string; -} - -export interface ProductDetails_product_category_products_edges_node { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: ProductDetails_product_category_products_edges_node_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: ProductDetails_product_category_products_edges_node_thumbnail2x | null; - /** - * Lists the storefront product's pricing, the current price and discounts, only meant for displaying. - */ - pricing: ProductDetails_product_category_products_edges_node_pricing | null; - category: ProductDetails_product_category_products_edges_node_category | null; -} - -export interface ProductDetails_product_category_products_edges { - __typename: "ProductCountableEdge"; - /** - * The item at the end of the edge. - */ - node: ProductDetails_product_category_products_edges_node; -} - -export interface ProductDetails_product_category_products { - __typename: "ProductCountableConnection"; - edges: ProductDetails_product_category_products_edges[]; -} - -export interface ProductDetails_product_category { - __typename: "Category"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * List of products in the category. - */ - products: ProductDetails_product_category_products | null; -} - -export interface ProductDetails_product_images { - __typename: "ProductImage"; - /** - * The ID of the object. - */ - id: string; - /** - * The URL of the image. - */ - url: string; -} - -export interface ProductDetails_product_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; - /** - * Internal representation of an attribute name. - */ - slug: string | null; -} - -export interface ProductDetails_product_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; -} - -export interface ProductDetails_product_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: ProductDetails_product_attributes_attribute; - /** - * Values of an attribute. - */ - values: (ProductDetails_product_attributes_values | null)[]; -} - -export interface ProductDetails_product_variants_images { - __typename: "ProductImage"; - /** - * The ID of the object. - */ - id: string; - /** - * The URL of the image. - */ - url: string; - alt: string; -} - -export interface ProductDetails_product_variants_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_variants_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_variants_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductDetails_product_variants_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: ProductDetails_product_variants_pricing_priceUndiscounted_net; -} - -export interface ProductDetails_product_variants_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_variants_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductDetails_product_variants_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductDetails_product_variants_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: ProductDetails_product_variants_pricing_price_net; -} - -export interface ProductDetails_product_variants_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: ProductDetails_product_variants_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: ProductDetails_product_variants_pricing_price | null; -} - -export interface ProductDetails_product_variants_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; - /** - * Internal representation of an attribute name. - */ - slug: string | null; -} - -export interface ProductDetails_product_variants_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface ProductDetails_product_variants_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: ProductDetails_product_variants_attributes_attribute; - /** - * Values of an attribute. - */ - values: (ProductDetails_product_variants_attributes_values | null)[]; -} - -export interface ProductDetails_product_variants { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - sku: string; - name: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * List of images for the product variant. - */ - images: (ProductDetails_product_variants_images | null)[] | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: ProductDetails_product_variants_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: ProductDetails_product_variants_attributes[]; -} - -export interface ProductDetails_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: ProductDetails_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: ProductDetails_product_thumbnail2x | null; - /** - * Lists the storefront product's pricing, the current price and discounts, only meant for displaying. - */ - pricing: ProductDetails_product_pricing | null; - descriptionJson: any; - category: ProductDetails_product_category | null; - /** - * List of images for the product. - */ - images: (ProductDetails_product_images | null)[] | null; - /** - * List of attributes assigned to this product. - */ - attributes: ProductDetails_product_attributes[]; - /** - * List of variants for the product. - */ - variants: (ProductDetails_product_variants | null)[] | null; - seoDescription: string | null; - seoTitle: string | null; - /** - * Whether the product is in stock and visible or not. - */ - isAvailable: boolean | null; -} - -export interface ProductDetails { - /** - * Look up a product by ID. - */ - product: ProductDetails_product | null; -} - -export interface ProductDetailsVariables { - id: string; - countryCode?: CountryCode | null; -} diff --git a/src/@sdk/queries/gqlTypes/ProductList.ts b/src/@sdk/queries/gqlTypes/ProductList.ts deleted file mode 100644 index 6e907ada0b..0000000000 --- a/src/@sdk/queries/gqlTypes/ProductList.ts +++ /dev/null @@ -1,302 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -import { AttributeInput, ProductOrder } from "./../../gqlTypes/globalTypes"; - -// ==================================================== -// GraphQL query operation: ProductList -// ==================================================== - -export interface ProductList_products_edges_node_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface ProductList_products_edges_node_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface ProductList_products_edges_node_pricing_priceRangeUndiscounted_start_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductList_products_edges_node_pricing_priceRangeUndiscounted_start_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductList_products_edges_node_pricing_priceRangeUndiscounted_start { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductList_products_edges_node_pricing_priceRangeUndiscounted_start_gross; - /** - * Amount of money without taxes. - */ - net: ProductList_products_edges_node_pricing_priceRangeUndiscounted_start_net; -} - -export interface ProductList_products_edges_node_pricing_priceRangeUndiscounted_stop_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductList_products_edges_node_pricing_priceRangeUndiscounted_stop_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductList_products_edges_node_pricing_priceRangeUndiscounted_stop { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductList_products_edges_node_pricing_priceRangeUndiscounted_stop_gross; - /** - * Amount of money without taxes. - */ - net: ProductList_products_edges_node_pricing_priceRangeUndiscounted_stop_net; -} - -export interface ProductList_products_edges_node_pricing_priceRangeUndiscounted { - __typename: "TaxedMoneyRange"; - /** - * Lower bound of a price range. - */ - start: ProductList_products_edges_node_pricing_priceRangeUndiscounted_start | null; - /** - * Upper bound of a price range. - */ - stop: ProductList_products_edges_node_pricing_priceRangeUndiscounted_stop | null; -} - -export interface ProductList_products_edges_node_pricing_priceRange_start_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductList_products_edges_node_pricing_priceRange_start_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductList_products_edges_node_pricing_priceRange_start { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductList_products_edges_node_pricing_priceRange_start_gross; - /** - * Amount of money without taxes. - */ - net: ProductList_products_edges_node_pricing_priceRange_start_net; -} - -export interface ProductList_products_edges_node_pricing_priceRange_stop_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductList_products_edges_node_pricing_priceRange_stop_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductList_products_edges_node_pricing_priceRange_stop { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductList_products_edges_node_pricing_priceRange_stop_gross; - /** - * Amount of money without taxes. - */ - net: ProductList_products_edges_node_pricing_priceRange_stop_net; -} - -export interface ProductList_products_edges_node_pricing_priceRange { - __typename: "TaxedMoneyRange"; - /** - * Lower bound of a price range. - */ - start: ProductList_products_edges_node_pricing_priceRange_start | null; - /** - * Upper bound of a price range. - */ - stop: ProductList_products_edges_node_pricing_priceRange_stop | null; -} - -export interface ProductList_products_edges_node_pricing { - __typename: "ProductPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The undiscounted price range of the product variants. - */ - priceRangeUndiscounted: ProductList_products_edges_node_pricing_priceRangeUndiscounted | null; - /** - * The discounted price range of the product variants. - */ - priceRange: ProductList_products_edges_node_pricing_priceRange | null; -} - -export interface ProductList_products_edges_node_category { - __typename: "Category"; - /** - * The ID of the object. - */ - id: string; - name: string; -} - -export interface ProductList_products_edges_node { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: ProductList_products_edges_node_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: ProductList_products_edges_node_thumbnail2x | null; - /** - * Lists the storefront product's pricing, the current price and discounts, only meant for displaying. - */ - pricing: ProductList_products_edges_node_pricing | null; - category: ProductList_products_edges_node_category | null; -} - -export interface ProductList_products_edges { - __typename: "ProductCountableEdge"; - /** - * The item at the end of the edge. - */ - node: ProductList_products_edges_node; -} - -export interface ProductList_products_pageInfo { - __typename: "PageInfo"; - /** - * When paginating forwards, the cursor to continue. - */ - endCursor: string | null; - /** - * When paginating forwards, are there more items? - */ - hasNextPage: boolean; - /** - * When paginating backwards, are there more items? - */ - hasPreviousPage: boolean; - /** - * When paginating backwards, the cursor to continue. - */ - startCursor: string | null; -} - -export interface ProductList_products { - __typename: "ProductCountableConnection"; - /** - * A total count of items in the collection. - */ - totalCount: number | null; - edges: ProductList_products_edges[]; - /** - * Pagination data for this connection. - */ - pageInfo: ProductList_products_pageInfo; -} - -export interface ProductList { - /** - * List of the shop's products. - */ - products: ProductList_products | null; -} - -export interface ProductListVariables { - id: string; - attributes?: (AttributeInput | null)[] | null; - after?: string | null; - pageSize?: number | null; - sortBy?: ProductOrder | null; - priceLte?: number | null; - priceGte?: number | null; -} diff --git a/src/@sdk/queries/gqlTypes/ProductPricingField.ts b/src/@sdk/queries/gqlTypes/ProductPricingField.ts deleted file mode 100644 index 9f7e01275b..0000000000 --- a/src/@sdk/queries/gqlTypes/ProductPricingField.ts +++ /dev/null @@ -1,199 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL fragment: ProductPricingField -// ==================================================== - -export interface ProductPricingField_pricing_priceRangeUndiscounted_start_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductPricingField_pricing_priceRangeUndiscounted_start_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductPricingField_pricing_priceRangeUndiscounted_start { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductPricingField_pricing_priceRangeUndiscounted_start_gross; - /** - * Amount of money without taxes. - */ - net: ProductPricingField_pricing_priceRangeUndiscounted_start_net; -} - -export interface ProductPricingField_pricing_priceRangeUndiscounted_stop_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductPricingField_pricing_priceRangeUndiscounted_stop_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductPricingField_pricing_priceRangeUndiscounted_stop { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductPricingField_pricing_priceRangeUndiscounted_stop_gross; - /** - * Amount of money without taxes. - */ - net: ProductPricingField_pricing_priceRangeUndiscounted_stop_net; -} - -export interface ProductPricingField_pricing_priceRangeUndiscounted { - __typename: "TaxedMoneyRange"; - /** - * Lower bound of a price range. - */ - start: ProductPricingField_pricing_priceRangeUndiscounted_start | null; - /** - * Upper bound of a price range. - */ - stop: ProductPricingField_pricing_priceRangeUndiscounted_stop | null; -} - -export interface ProductPricingField_pricing_priceRange_start_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductPricingField_pricing_priceRange_start_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductPricingField_pricing_priceRange_start { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductPricingField_pricing_priceRange_start_gross; - /** - * Amount of money without taxes. - */ - net: ProductPricingField_pricing_priceRange_start_net; -} - -export interface ProductPricingField_pricing_priceRange_stop_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductPricingField_pricing_priceRange_stop_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface ProductPricingField_pricing_priceRange_stop { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: ProductPricingField_pricing_priceRange_stop_gross; - /** - * Amount of money without taxes. - */ - net: ProductPricingField_pricing_priceRange_stop_net; -} - -export interface ProductPricingField_pricing_priceRange { - __typename: "TaxedMoneyRange"; - /** - * Lower bound of a price range. - */ - start: ProductPricingField_pricing_priceRange_start | null; - /** - * Upper bound of a price range. - */ - stop: ProductPricingField_pricing_priceRange_stop | null; -} - -export interface ProductPricingField_pricing { - __typename: "ProductPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The undiscounted price range of the product variants. - */ - priceRangeUndiscounted: ProductPricingField_pricing_priceRangeUndiscounted | null; - /** - * The discounted price range of the product variants. - */ - priceRange: ProductPricingField_pricing_priceRange | null; -} - -export interface ProductPricingField { - __typename: "Product"; - /** - * Lists the storefront product's pricing, the current price and discounts, only meant for displaying. - */ - pricing: ProductPricingField_pricing | null; -} diff --git a/src/@sdk/queries/gqlTypes/UserCheckoutDetails.ts b/src/@sdk/queries/gqlTypes/UserCheckoutDetails.ts deleted file mode 100644 index 3138d0a4a4..0000000000 --- a/src/@sdk/queries/gqlTypes/UserCheckoutDetails.ts +++ /dev/null @@ -1,564 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: UserCheckoutDetails -// ==================================================== - -export interface UserCheckoutDetails_me_checkout_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UserCheckoutDetails_me_checkout_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UserCheckoutDetails_me_checkout_totalPrice_net; -} - -export interface UserCheckoutDetails_me_checkout_subtotalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_subtotalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_subtotalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UserCheckoutDetails_me_checkout_subtotalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UserCheckoutDetails_me_checkout_subtotalPrice_net; -} - -export interface UserCheckoutDetails_me_checkout_billingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UserCheckoutDetails_me_checkout_billingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UserCheckoutDetails_me_checkout_billingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UserCheckoutDetails_me_checkout_shippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UserCheckoutDetails_me_checkout_shippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UserCheckoutDetails_me_checkout_shippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UserCheckoutDetails_me_checkout_availableShippingMethods_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UserCheckoutDetails_me_checkout_availableShippingMethods { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UserCheckoutDetails_me_checkout_availableShippingMethods_price | null; -} - -export interface UserCheckoutDetails_me_checkout_shippingMethod_price { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UserCheckoutDetails_me_checkout_shippingMethod { - __typename: "ShippingMethod"; - /** - * The ID of the object. - */ - id: string; - name: string; - price: UserCheckoutDetails_me_checkout_shippingMethod_price | null; -} - -export interface UserCheckoutDetails_me_checkout_shippingPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_shippingPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_shippingPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UserCheckoutDetails_me_checkout_shippingPrice_gross; - /** - * Amount of money without taxes. - */ - net: UserCheckoutDetails_me_checkout_shippingPrice_net; -} - -export interface UserCheckoutDetails_me_checkout_lines_totalPrice_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_lines_totalPrice_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_lines_totalPrice { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UserCheckoutDetails_me_checkout_lines_totalPrice_gross; - /** - * Amount of money without taxes. - */ - net: UserCheckoutDetails_me_checkout_lines_totalPrice_net; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_pricing_priceUndiscounted_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_pricing_priceUndiscounted_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_pricing_priceUndiscounted { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UserCheckoutDetails_me_checkout_lines_variant_pricing_priceUndiscounted_gross; - /** - * Amount of money without taxes. - */ - net: UserCheckoutDetails_me_checkout_lines_variant_pricing_priceUndiscounted_net; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_pricing_price_gross { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_pricing_price_net { - __typename: "Money"; - /** - * Amount of money. - */ - amount: number; - /** - * Currency code. - */ - currency: string; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_pricing_price { - __typename: "TaxedMoney"; - /** - * Amount of money including taxes. - */ - gross: UserCheckoutDetails_me_checkout_lines_variant_pricing_price_gross; - /** - * Amount of money without taxes. - */ - net: UserCheckoutDetails_me_checkout_lines_variant_pricing_price_net; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_pricing { - __typename: "VariantPricingInfo"; - /** - * Whether it is in sale or not. - */ - onSale: boolean | null; - /** - * The price without any discount. - */ - priceUndiscounted: UserCheckoutDetails_me_checkout_lines_variant_pricing_priceUndiscounted | null; - /** - * The price, with any discount subtracted. - */ - price: UserCheckoutDetails_me_checkout_lines_variant_pricing_price | null; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_attributes_attribute { - __typename: "Attribute"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of an attribute displayed in the interface. - */ - name: string | null; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_attributes_values { - __typename: "AttributeValue"; - /** - * The ID of the object. - */ - id: string; - /** - * Name of a value displayed in the interface. - */ - name: string | null; - /** - * Name of a value displayed in the interface. - */ - value: string | null; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_attributes { - __typename: "SelectedAttribute"; - /** - * Name of an attribute displayed in the interface. - */ - attribute: UserCheckoutDetails_me_checkout_lines_variant_attributes_attribute; - /** - * Values of an attribute. - */ - values: (UserCheckoutDetails_me_checkout_lines_variant_attributes_values | null)[]; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_product_thumbnail { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; - /** - * Alt text for an image. - */ - alt: string | null; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_product_thumbnail2x { - __typename: "Image"; - /** - * The URL of the image. - */ - url: string; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - name: string; - /** - * The main thumbnail for a product. - */ - thumbnail: UserCheckoutDetails_me_checkout_lines_variant_product_thumbnail | null; - /** - * The main thumbnail for a product. - */ - thumbnail2x: UserCheckoutDetails_me_checkout_lines_variant_product_thumbnail2x | null; - productType: UserCheckoutDetails_me_checkout_lines_variant_product_productType; -} - -export interface UserCheckoutDetails_me_checkout_lines_variant { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - name: string; - sku: string; - /** - * Quantity of a product available for sale in one checkout. - */ - quantityAvailable: number; - /** - * Whether the variant is in stock and visible or not. - */ - isAvailable: boolean | null; - /** - * Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. - */ - pricing: UserCheckoutDetails_me_checkout_lines_variant_pricing | null; - /** - * List of attributes assigned to this variant. - */ - attributes: UserCheckoutDetails_me_checkout_lines_variant_attributes[]; - product: UserCheckoutDetails_me_checkout_lines_variant_product; -} - -export interface UserCheckoutDetails_me_checkout_lines { - __typename: "CheckoutLine"; - /** - * The ID of the object. - */ - id: string; - quantity: number; - /** - * The sum of the checkout line price, taxes and discounts. - */ - totalPrice: UserCheckoutDetails_me_checkout_lines_totalPrice | null; - variant: UserCheckoutDetails_me_checkout_lines_variant; -} - -export interface UserCheckoutDetails_me_checkout_discount { - __typename: "Money"; - /** - * Currency code. - */ - currency: string; - /** - * Amount of money. - */ - amount: number; -} - -export interface UserCheckoutDetails_me_checkout { - __typename: "Checkout"; - token: any; - /** - * The ID of the object. - */ - id: string; - /** - * The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included. - */ - totalPrice: UserCheckoutDetails_me_checkout_totalPrice | null; - /** - * The price of the checkout before shipping, with taxes included. - */ - subtotalPrice: UserCheckoutDetails_me_checkout_subtotalPrice | null; - billingAddress: UserCheckoutDetails_me_checkout_billingAddress | null; - shippingAddress: UserCheckoutDetails_me_checkout_shippingAddress | null; - /** - * Email of a customer. - */ - email: string; - /** - * Shipping methods that can be used with this order. - */ - availableShippingMethods: (UserCheckoutDetails_me_checkout_availableShippingMethods | null)[]; - shippingMethod: UserCheckoutDetails_me_checkout_shippingMethod | null; - /** - * The price of the shipping, with all the taxes included. - */ - shippingPrice: UserCheckoutDetails_me_checkout_shippingPrice | null; - /** - * A list of checkout lines, each containing information about an item in the checkout. - */ - lines: (UserCheckoutDetails_me_checkout_lines | null)[] | null; - /** - * Returns True, if checkout requires shipping. - */ - isShippingRequired: boolean; - discount: UserCheckoutDetails_me_checkout_discount | null; - discountName: string | null; - translatedDiscountName: string | null; - voucherCode: string | null; -} - -export interface UserCheckoutDetails_me { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - /** - * Returns the last open checkout of this user. - */ - checkout: UserCheckoutDetails_me_checkout | null; -} - -export interface UserCheckoutDetails { - /** - * Return the currently authenticated user. - */ - me: UserCheckoutDetails_me | null; -} diff --git a/src/@sdk/queries/gqlTypes/UserDetails.ts b/src/@sdk/queries/gqlTypes/UserDetails.ts deleted file mode 100644 index b550bf7456..0000000000 --- a/src/@sdk/queries/gqlTypes/UserDetails.ts +++ /dev/null @@ -1,155 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: UserDetails -// ==================================================== - -export interface UserDetails_me_defaultShippingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UserDetails_me_defaultShippingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UserDetails_me_defaultShippingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UserDetails_me_defaultBillingAddress_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UserDetails_me_defaultBillingAddress { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UserDetails_me_defaultBillingAddress_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UserDetails_me_addresses_country { - __typename: "CountryDisplay"; - /** - * Country code. - */ - code: string; - /** - * Country name. - */ - country: string; -} - -export interface UserDetails_me_addresses { - __typename: "Address"; - /** - * The ID of the object. - */ - id: string; - firstName: string; - lastName: string; - companyName: string; - streetAddress1: string; - streetAddress2: string; - city: string; - postalCode: string; - /** - * Shop's default country. - */ - country: UserDetails_me_addresses_country; - countryArea: string; - phone: string | null; - /** - * Address is user's default billing address. - */ - isDefaultBillingAddress: boolean | null; - /** - * Address is user's default shipping address. - */ - isDefaultShippingAddress: boolean | null; -} - -export interface UserDetails_me { - __typename: "User"; - /** - * The ID of the object. - */ - id: string; - email: string; - firstName: string; - lastName: string; - isStaff: boolean; - defaultShippingAddress: UserDetails_me_defaultShippingAddress | null; - defaultBillingAddress: UserDetails_me_defaultBillingAddress | null; - /** - * List of all user's addresses. - */ - addresses: (UserDetails_me_addresses | null)[] | null; -} - -export interface UserDetails { - /** - * Return the currently authenticated user. - */ - me: UserDetails_me | null; -} diff --git a/src/@sdk/queries/gqlTypes/VariantsProducts.ts b/src/@sdk/queries/gqlTypes/VariantsProducts.ts deleted file mode 100644 index 955798f700..0000000000 --- a/src/@sdk/queries/gqlTypes/VariantsProducts.ts +++ /dev/null @@ -1,54 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: VariantsProducts -// ==================================================== - -export interface VariantsProducts_productVariants_edges_node_product_productType { - __typename: "ProductType"; - isShippingRequired: boolean; -} - -export interface VariantsProducts_productVariants_edges_node_product { - __typename: "Product"; - /** - * The ID of the object. - */ - id: string; - productType: VariantsProducts_productVariants_edges_node_product_productType; -} - -export interface VariantsProducts_productVariants_edges_node { - __typename: "ProductVariant"; - /** - * The ID of the object. - */ - id: string; - product: VariantsProducts_productVariants_edges_node_product; -} - -export interface VariantsProducts_productVariants_edges { - __typename: "ProductVariantCountableEdge"; - /** - * The item at the end of the edge. - */ - node: VariantsProducts_productVariants_edges_node; -} - -export interface VariantsProducts_productVariants { - __typename: "ProductVariantCountableConnection"; - edges: VariantsProducts_productVariants_edges[]; -} - -export interface VariantsProducts { - /** - * List of product variants. - */ - productVariants: VariantsProducts_productVariants | null; -} - -export interface VariantsProductsVariables { - ids?: (string | null)[] | null; -} diff --git a/src/@sdk/queries/index.ts b/src/@sdk/queries/index.ts deleted file mode 100644 index 60c35469f7..0000000000 --- a/src/@sdk/queries/index.ts +++ /dev/null @@ -1,120 +0,0 @@ -import { - ApolloClient, - ObservableQuery, - QueryOptions as ApolloQueryOptions, -} from "apollo-client"; - -import { RequireOnlyOne } from "../tsHelpers"; -import * as AttributesList from "./attributes"; -import * as Category from "./category"; -import * as Orders from "./orders"; -import * as Product from "./products"; -import * as Shop from "./shop"; - -import { OrderByToken, OrderByTokenVariables } from "./gqlTypes/OrderByToken"; - -import { Attributes, AttributesVariables } from "./gqlTypes/Attributes"; -import { - ProductDetails, - ProductDetailsVariables, -} from "./gqlTypes/ProductDetails"; - -import { ProductList, ProductListVariables } from "./gqlTypes/ProductList"; - -import { - CategoryDetails, - CategoryDetailsVariables, -} from "./gqlTypes/CategoryDetails"; - -import { GetShop } from "./gqlTypes/GetShop"; - -import { OrdersByUser, OrdersByUserVariables } from "./gqlTypes/OrdersByUser"; -import { UserDetails } from "./gqlTypes/UserDetails"; -import { - VariantsProducts, - VariantsProductsVariables, -} from "./gqlTypes/VariantsProducts"; - -import * as User from "./user"; - -type QueryOptions = T extends { [n: string]: never } - ? Omit, "query"> - : RequireOnlyOne, "query">, "variables">; - -// TODO: Add ability to pass custom fragments to queries -export const QUERIES = { - Attributes: ( - client: ApolloClient, - options: QueryOptions - ): ObservableQuery => - client.watchQuery({ - query: AttributesList.attributes, - ...options, - }), - CategoryDetails: ( - client: ApolloClient, - options: QueryOptions - ): ObservableQuery => - client.watchQuery({ - query: Category.categoryQuery, - ...options, - }), - GetShopDetails: ( - client: ApolloClient, - options: QueryOptions - ): ObservableQuery => - client.watchQuery({ - query: Shop.getShop, - ...options, - }), - OrderDetails: ( - client: ApolloClient, - options: QueryOptions - ): ObservableQuery => - client.watchQuery({ - query: User.orderDetailsByTokenQuery, - ...options, - }), - OrdersByUser: ( - client: ApolloClient, - options: QueryOptions - ): ObservableQuery => - client.watchQuery({ - query: Orders.ordersByUser, - ...options, - }), - ProductDetails: ( - client: ApolloClient, - options: QueryOptions - ): ObservableQuery => - client.watchQuery({ - query: Product.productDetails, - ...options, - }), - ProductList: ( - client: ApolloClient, - options: QueryOptions - ): ObservableQuery => - client.watchQuery({ - query: Product.productListDetails, - ...options, - }), - UserDetails: ( - client: ApolloClient, - options: QueryOptions - ): ObservableQuery => - client.watchQuery({ - query: User.getUserDetailsQuery, - ...options, - }), - VariantsProducts: ( - client: ApolloClient, - options: QueryOptions - ): ObservableQuery => - client.watchQuery({ - query: Product.variantsProducts, - ...options, - }), -}; - -export type QUERIES = typeof QUERIES; diff --git a/src/@sdk/queries/orders.ts b/src/@sdk/queries/orders.ts deleted file mode 100644 index cf57d7f7b0..0000000000 --- a/src/@sdk/queries/orders.ts +++ /dev/null @@ -1,51 +0,0 @@ -import gql from "graphql-tag"; - -export const ordersByUser = gql` - query OrdersByUser($perPage: Int!, $after: String) { - me { - id - orders(first: $perPage, after: $after) { - pageInfo { - hasNextPage - endCursor - } - edges { - node { - id - token - number - statusDisplay - created - total { - gross { - amount - currency - } - net { - amount - currency - } - } - lines { - id - variant { - id - product { - name - id - } - } - thumbnail { - alt - url - } - thumbnail2x: thumbnail(size: 510) { - url - } - } - } - } - } - } - } -`; diff --git a/src/@sdk/queries/products.ts b/src/@sdk/queries/products.ts deleted file mode 100644 index bdae5a7ddd..0000000000 --- a/src/@sdk/queries/products.ts +++ /dev/null @@ -1,135 +0,0 @@ -import gql from "graphql-tag"; - -import { - basicProductFragment, - productVariantFragment, - selectedAttributeFragment, -} from "../fragments/products"; - -export const productPricingFragment = gql` - fragment ProductPricingField on Product { - pricing { - onSale - priceRangeUndiscounted { - start { - ...Price - } - stop { - ...Price - } - } - priceRange { - start { - ...Price - } - stop { - ...Price - } - } - } - } -`; - -export const productListDetails = gql` - ${basicProductFragment} - ${productPricingFragment} - query ProductList( - $id: ID! - $attributes: [AttributeInput] - $after: String - $pageSize: Int - $sortBy: ProductOrder - $priceLte: Float - $priceGte: Float - ) { - products( - after: $after - first: $pageSize - sortBy: $sortBy - filter: { - attributes: $attributes - categories: [$id] - minimalPrice: { gte: $priceGte, lte: $priceLte } - } - ) { - totalCount - edges { - node { - ...BasicProductFields - ...ProductPricingField - category { - id - name - } - } - } - pageInfo { - endCursor - hasNextPage - hasPreviousPage - startCursor - } - } - } -`; - -export const productDetails = gql` - ${basicProductFragment} - ${selectedAttributeFragment} - ${productVariantFragment} - ${productPricingFragment} - query ProductDetails($id: ID!, $countryCode: CountryCode) { - product(id: $id) { - ...BasicProductFields - ...ProductPricingField - descriptionJson - category { - id - name - products(first: 3) { - edges { - node { - ...BasicProductFields - ...ProductPricingField - category { - id - name - } - } - } - } - } - images { - id - url - } - attributes { - ...SelectedAttributeFields - } - variants { - ...ProductVariantFields - } - seoDescription - seoTitle - isAvailable - } - } -`; - -export const variantsProducts = gql` - query VariantsProducts($ids: [ID]) { - productVariants(ids: $ids, first: 100) { - edges { - node { - id - product { - id - productType { - isShippingRequired - } - } - } - } - } - } -`; diff --git a/src/@sdk/queries/shop.ts b/src/@sdk/queries/shop.ts deleted file mode 100644 index 9bd81e28ea..0000000000 --- a/src/@sdk/queries/shop.ts +++ /dev/null @@ -1,38 +0,0 @@ -import gql from "graphql-tag"; - -export const getShop = gql` - query GetShop { - shop { - displayGrossPrices - defaultCountry { - code - country - } - countries { - country - code - } - geolocalization { - country { - code - country - } - } - } - } -`; - -export const getShopPaymentGateways = gql` - query GetShopPaymentGateways { - shop { - availablePaymentGateways { - id - name - config { - field - value - } - } - } - } -`; diff --git a/src/@sdk/queries/sitemap.ts b/src/@sdk/queries/sitemap.ts deleted file mode 100644 index dc0624ac87..0000000000 --- a/src/@sdk/queries/sitemap.ts +++ /dev/null @@ -1,52 +0,0 @@ -import gql from "graphql-tag"; - -export const getProductsQuery = gql` - query GetProducts($cursor: String, $perPage: Int) { - products(after: $cursor, first: $perPage) { - pageInfo { - endCursor - hasNextPage - } - edges { - node { - id - name - } - } - } - } -`; - -export const getCategoriesQuery = gql` - query GetCategories($cursor: String, $perPage: Int) { - categories(after: $cursor, first: $perPage) { - pageInfo { - endCursor - hasNextPage - } - edges { - node { - id - name - } - } - } - } -`; - -export const getCollectionsQuery = gql` - query GetCollections($cursor: String, $perPage: Int) { - collections(after: $cursor, first: $perPage) { - pageInfo { - endCursor - hasNextPage - } - edges { - node { - id - name - } - } - } - } -`; diff --git a/src/@sdk/queries/user.ts b/src/@sdk/queries/user.ts deleted file mode 100644 index a28981758b..0000000000 --- a/src/@sdk/queries/user.ts +++ /dev/null @@ -1,22 +0,0 @@ -import gql from "graphql-tag"; - -import { userFragment } from "../fragments/auth"; -import { orderDetailFragment } from "../fragments/user"; - -export const orderDetailsByTokenQuery = gql` - ${orderDetailFragment} - query OrderByToken($token: UUID!) { - orderByToken(token: $token) { - ...OrderDetail - } - } -`; - -export const getUserDetailsQuery = gql` - ${userFragment} - query UserDetails { - me { - ...User - } - } -`; diff --git a/src/@sdk/react/components/CredentialsProvider/CredentialsProvider.tsx b/src/@sdk/react/components/CredentialsProvider/CredentialsProvider.tsx deleted file mode 100644 index c9a7b9c970..0000000000 --- a/src/@sdk/react/components/CredentialsProvider/CredentialsProvider.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from "react"; - -import { useSaleorClient, useSignIn } from "../.."; -import { IProps } from "./types"; - -export function CredentialsProvider({ - children, -}: IProps): React.ReactElement { - const saleor = useSaleorClient(); - const [signIn] = useSignIn(); - - const autoSignIn = async () => { - const credentials = await (navigator.credentials as any).get({ - password: true, - }); - - if (credentials) { - await signIn({ - email: credentials.id, - password: credentials.password, - }); - } - }; - - React.useEffect(() => { - if (!saleor.legacyAPIProxy.isLoggedIn() && window.PasswordCredential) { - autoSignIn(); - } - }, []); - - return children; -} diff --git a/src/@sdk/react/components/CredentialsProvider/index.ts b/src/@sdk/react/components/CredentialsProvider/index.ts deleted file mode 100644 index 97a272d410..0000000000 --- a/src/@sdk/react/components/CredentialsProvider/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./CredentialsProvider"; diff --git a/src/@sdk/react/components/CredentialsProvider/types.ts b/src/@sdk/react/components/CredentialsProvider/types.ts deleted file mode 100644 index fc8b6d2cae..0000000000 --- a/src/@sdk/react/components/CredentialsProvider/types.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface IProps { - children: React.ReactElement; -} diff --git a/src/@sdk/react/components/SaleorProvider/SaleorProvider.tsx b/src/@sdk/react/components/SaleorProvider/SaleorProvider.tsx deleted file mode 100644 index 4493f3b146..0000000000 --- a/src/@sdk/react/components/SaleorProvider/SaleorProvider.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import React, { useMemo, useState } from "react"; - -import { CredentialsProvider } from "../"; -import { SaleorManager } from "../../../"; -import { SaleorAPI } from "../../../api"; -import { SaleorContext } from "../../context"; -import { IProps } from "./types"; - -export function SaleorProvider({ - client, - config, - children, -}: IProps): React.ReactElement> { - const [context, setContext] = useState(null); - - useMemo(() => { - const manager = new SaleorManager(client, config); - - manager.connect(saleorAPI => setContext({ ...saleorAPI })); - - return manager; - }, [client]); - - return ( - - {context ? {children} : <>} - - ); -} diff --git a/src/@sdk/react/components/SaleorProvider/index.ts b/src/@sdk/react/components/SaleorProvider/index.ts deleted file mode 100644 index b8f87d30d0..0000000000 --- a/src/@sdk/react/components/SaleorProvider/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./SaleorProvider"; diff --git a/src/@sdk/react/components/SaleorProvider/types.ts b/src/@sdk/react/components/SaleorProvider/types.ts deleted file mode 100644 index 91b63803fc..0000000000 --- a/src/@sdk/react/components/SaleorProvider/types.ts +++ /dev/null @@ -1,9 +0,0 @@ -import ApolloClient from "apollo-client"; - -import { Config } from "@sdk/types"; - -export interface IProps { - children: React.ReactElement; - config?: Config; - client: ApolloClient; -} diff --git a/src/@sdk/react/components/index.ts b/src/@sdk/react/components/index.ts deleted file mode 100644 index 6ea86c0711..0000000000 --- a/src/@sdk/react/components/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./CredentialsProvider"; -export * from "./SaleorProvider"; diff --git a/src/@sdk/react/context.tsx b/src/@sdk/react/context.tsx deleted file mode 100644 index 3f05d999cf..0000000000 --- a/src/@sdk/react/context.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import React from "react"; - -import { SaleorAPI } from "../api"; - -export const SaleorContext = React.createContext(null); diff --git a/src/@sdk/react/helpers.ts b/src/@sdk/react/helpers.ts deleted file mode 100644 index aec6dac8a6..0000000000 --- a/src/@sdk/react/helpers.ts +++ /dev/null @@ -1,43 +0,0 @@ -import React from "react"; - -import { SaleorAPI } from "../api"; -import { getAuthToken } from "../auth"; -import { SaleorContext } from "./context"; - -export function useSaleorClient(): SaleorAPI { - const saleor = React.useContext(SaleorContext); - - if (!saleor) { - throw new Error( - "Could not find saleor's apollo client in the context. " + - "Did you forget to wrap the root component in a ?" - ); - } - - return saleor; -} - -export const useAuth = ( - stateChangeCallback?: (authenticated?: boolean) => void -) => { - const [authenticated, setAuthenticated] = React.useState(!!getAuthToken()); - const eventHandler = () => { - const newState = !!getAuthToken(); - - if (stateChangeCallback && authenticated !== newState) { - stateChangeCallback(newState); - } - - setAuthenticated(newState); - }; - - React.useEffect(() => { - addEventListener("auth", eventHandler); - - return () => { - removeEventListener("auth", eventHandler); - }; - }, [authenticated]); - - return { authenticated }; -}; diff --git a/src/@sdk/react/hooks.ts b/src/@sdk/react/hooks.ts deleted file mode 100644 index d3ddb73f39..0000000000 --- a/src/@sdk/react/hooks.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { hookFactory } from "./useHook"; - -export const useCheckout = hookFactory("checkout"); -export const useCart = hookFactory("cart"); diff --git a/src/@sdk/react/index.ts b/src/@sdk/react/index.ts deleted file mode 100644 index 6c39cc02ba..0000000000 --- a/src/@sdk/react/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./components"; -export * from "./queries"; -export * from "./mutations"; -export * from "./hooks"; -export * from "./helpers"; diff --git a/src/@sdk/react/mutations.ts b/src/@sdk/react/mutations.ts deleted file mode 100644 index d9b7ee08f3..0000000000 --- a/src/@sdk/react/mutations.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { mutationFactory } from "./useMutation"; - -export const useSignIn = mutationFactory("signIn"); -export const useSignOut = mutationFactory("signOut"); - -// Address mutations -export const useDefaultUserAddress = mutationFactory("setUserDefaultAddress"); -export const useDeleteUserAddresss = mutationFactory("setDeleteUserAddress"); -export const useCreateUserAddress = mutationFactory("setCreateUserAddress"); -export const useUpdateUserAddress = mutationFactory("setUpdateuserAddress"); - -// User mutations -export const usePasswordChange = mutationFactory("setPasswordChange"); -export const useAccountUpdate = mutationFactory("setAccountUpdate"); - -export const useSetPassword = mutationFactory("setPassword"); diff --git a/src/@sdk/react/queries.ts b/src/@sdk/react/queries.ts deleted file mode 100644 index 69f32602ed..0000000000 --- a/src/@sdk/react/queries.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { queryFactory, queryWithVariablesFactory } from "./useQuery"; - -export const useProductDetails = queryWithVariablesFactory("getProductDetails"); -export const useProductList = queryWithVariablesFactory("getProductList"); - -export const useShopDetails = queryFactory("getShopDetails"); - -export const useUserDetails = queryFactory("getUserDetails"); - -export const useOrderDetails = queryWithVariablesFactory("getOrderDetails"); -export const useOrdersByUser = queryWithVariablesFactory("getOrdersByUser"); - -export const useCategoryDetails = queryWithVariablesFactory( - "getCategoryDetails" -); - -export const useAtrributes = queryWithVariablesFactory("getAttributes"); - -export const useVariantsProducts = queryWithVariablesFactory( - "getVariantsProducts" -); diff --git a/src/@sdk/react/types.ts b/src/@sdk/react/types.ts deleted file mode 100644 index 711a698609..0000000000 --- a/src/@sdk/react/types.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { ApolloError } from "apollo-client"; -import { APIProxy } from "../api/APIProxy"; - -export interface ApolloErrorWithUserInput extends ApolloError { - extraInfo: { - userInputErrors?: any[]; - }; -} - -export type Variables = APIProxy[T] extends ( - variables: infer V, - _: any -) => any - ? V - : never; - -export type Options = APIProxy[T] extends ( - _: any, - options: infer V -) => any - ? V - : never; - -export type ReturnData = APIProxy[T] extends ( - ...args: any -) => Promise - ? V extends { data: any } - ? V - : never - : never; - -export type WatchQueryReturnData< - T extends keyof APIProxy -> = APIProxy[T] extends (_: any, options: infer O) => any - ? O extends { onUpdate: (data: infer V) => any } - ? V - : never - : never; diff --git a/src/@sdk/react/useHook.ts b/src/@sdk/react/useHook.ts deleted file mode 100644 index 20309a47f1..0000000000 --- a/src/@sdk/react/useHook.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { SaleorAPI } from "../api"; -import { useSaleorClient } from "./helpers"; - -const useHook = (dataName: T): SaleorAPI[T] => { - const saleor = useSaleorClient(); - - const getHookData = () => { - return saleor[dataName]; - }; - - return getHookData(); -}; - -export const hookFactory = (query: T) => () => - useHook(query); diff --git a/src/@sdk/react/useMutation.ts b/src/@sdk/react/useMutation.ts deleted file mode 100644 index 6af3a7f84f..0000000000 --- a/src/@sdk/react/useMutation.ts +++ /dev/null @@ -1,156 +0,0 @@ -import { DataProxy } from "apollo-cache"; -import { FetchResult } from "apollo-link"; -import React from "react"; - -import { APIProxy } from "../api/APIProxy"; -import { MutationOptions } from "../mutations"; -import { useSaleorClient } from "./helpers"; -import { - ApolloErrorWithUserInput, - Options, - ReturnData, - Variables, -} from "./types"; - -type MutationUpdaterFn> = ( - proxy: DataProxy, - mutationResult: FetchResult -) => void; - -export interface BaseMutationHookOptions - extends Omit, "update"> { - update?: MutationUpdaterFn; -} - -export type MutationFn = ( - variables?: TVariables, - options?: BaseMutationHookOptions -) => Promise; - -export interface MutationResult { - called: boolean; - data: TData["data"] | null; - error: ApolloErrorWithUserInput | null; - loading: boolean; -} - -// keep track of called mutation -const useMutationTracking = (() => { - let _mutationId = 0; - - const generateNewMutationId = (): number => { - _mutationId += 1; - return _mutationId; - }; - - const isMostRecentMutation = (mutationId: number) => { - return _mutationId === mutationId; - }; - - return () => ({ - generateNewMutationId, - isMostRecentMutation, - }); -})(); - -const initialState: MutationResult = { - called: false, - data: null, - error: null, - loading: false, -}; - -const useMutation = < - T extends keyof APIProxy, - TVariables extends Variables, - TOptions extends Options, - TData extends ReturnData ->( - mutation: T, - baseVariables: TVariables = {} as any, - baseOptions: TOptions = {} as any -): [MutationFn, MutationResult] => { - const saleor = useSaleorClient(); - const { generateNewMutationId, isMostRecentMutation } = useMutationTracking(); - const [result, setResult] = React.useState>( - initialState - ); - - const handleMutationStart = () => { - if (!result.loading) { - setResult({ - called: true, - data: null, - error: null, - loading: true, - }); - } - }; - - const handleMutationError = ( - error: ApolloErrorWithUserInput, - mutationId: number - ) => { - if (isMostRecentMutation(mutationId)) { - setResult(prevState => ({ - ...prevState, - error, - loading: false, - })); - } - }; - - const handleMutationComplete = (data: TData, mutationId: number) => { - if (isMostRecentMutation(mutationId)) { - setResult(prevState => ({ - ...prevState, - data, - loading: false, - })); - } - }; - - const runMutation = React.useCallback( - (variables: TVariables, options: TOptions) => { - return new Promise(resolve => { - handleMutationStart(); - - const mutationId = generateNewMutationId(); - const apolloVariables = { - ...(baseVariables as object), - ...(variables as object), - }; - - const apolloOptions = { - ...(baseOptions as object), - ...(options as object), - }; - - (saleor.legacyAPIProxy[mutation] as ( - variables: any, - options: any - ) => Promise)(apolloVariables, apolloOptions) - .then(data => { - handleMutationComplete(data.data, mutationId); - resolve(data); - }) - .catch(err => { - handleMutationError(err, mutationId); - resolve(null); - }); - }); - }, - [mutation, baseOptions] - ) as MutationFn; - - return [runMutation, result]; -}; - -export const mutationFactory = < - T extends keyof APIProxy, - TVariables extends Variables, - TOptions extends Options ->( - mutation: T -) => (variables?: TVariables, options?: TOptions) => - useMutation(mutation, variables, options); diff --git a/src/@sdk/react/useQuery.ts b/src/@sdk/react/useQuery.ts deleted file mode 100644 index b2e7a7a1a9..0000000000 --- a/src/@sdk/react/useQuery.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { isEqual } from "apollo-utilities"; -import React from "react"; - -import { APIProxy } from "../api/APIProxy"; -import { RequireAtLeastOne } from "../tsHelpers"; -import { useAuth, useSaleorClient } from "./helpers"; -import { - ApolloErrorWithUserInput, - Options, - Variables, - WatchQueryReturnData, -} from "./types"; - -type OmittedOptions = Omit< - Options, - "onUpdate" | "onComplete" | "onError" -> & { skip?: boolean }; -type AdditionalAPI = ReturnType; -type Result = { - data: TData | null; - loading: boolean; - error: ApolloErrorWithUserInput | null; -}; - -const useQuery = < - T extends keyof APIProxy, - TVariables extends Variables, - TOptions extends OmittedOptions, - TData extends WatchQueryReturnData ->( - query: T, - variables: TVariables = {} as any, - options: TOptions = {} as any -) => { - const saleor = useSaleorClient(); - const didMountRef = React.useRef(false); - const prevDataRef = React.useRef(null); - const prevUnsubRef = React.useRef(null); - const { authenticated } = useAuth(); - const [result, setResult] = React.useState>({ - data: null, - error: null, - loading: true, - }); - - const setData = React.useCallback((data: TData) => { - if (!isEqual(data, prevDataRef.current)) { - prevDataRef.current = data; - setResult({ data, loading: false, error: null }); - } else { - setResult(result => ({ ...result, loading: false })); - } - }, []); - - const { - unsubscribe, - setOptions, - refetch: _refetch, - loadMore: _loadMore, - } = React.useMemo( - () => - (saleor.legacyAPIProxy[query] as AdditionalAPI)(variables, { - ...(options as any), - onError: (error: ApolloErrorWithUserInput) => - setResult(result => ({ ...result, loading: false, error })), - onUpdate: (data: TData) => { - setData(data); - }, - }), - [query, options.skip, authenticated] - ); - - const refetch = React.useCallback( - (variables?: TVariables) => { - setResult({ data: null, error: null, loading: true }); - _refetch(variables); - }, - [query] - ); - - const loadMore = React.useCallback( - ( - variables: RequireAtLeastOne, - mergeResults: boolean = true - ) => { - if (_loadMore) { - setResult(result => ({ ...result, error: null, loading: true })); - _loadMore(variables, mergeResults); - } - }, - [query] - ); - - React.useEffect(() => { - // skip on initial mount - if (didMountRef.current) { - refetch(variables); - } else { - didMountRef.current = true; - } - }, [JSON.stringify(variables)]); - - // unsubscribe from watcher on dismount - React.useEffect(() => { - if (prevUnsubRef.current) { - prevUnsubRef.current(); - } - prevUnsubRef.current = unsubscribe; - - return () => { - if (unsubscribe) { - unsubscribe(); - } - }; - }, [options.skip, authenticated]); - - return { - ...result, - loadMore, - refetch, - setOptions, - }; -}; - -export const queryWithVariablesFactory = ( - query: T -) => (variables: Variables, options?: OmittedOptions) => - useQuery(query, variables, options); - -export const queryFactory = (query: T) => ( - options?: OmittedOptions -) => useQuery(query, undefined, options); diff --git a/src/@sdk/state/index.ts b/src/@sdk/state/index.ts deleted file mode 100644 index 075a2c9eb6..0000000000 --- a/src/@sdk/state/index.ts +++ /dev/null @@ -1,260 +0,0 @@ -import { round } from "lodash"; - -import { DataErrorCheckoutTypes } from "../api/Checkout/types"; -import { ApolloClientManager } from "../data/ApolloClientManager"; -import { NamedObservable } from "../helpers"; -import { - ICheckoutModel, - IPaymentModel, - LocalStorageHandler, - LocalStorageItems, -} from "../helpers/LocalStorageHandler"; -import { GetShopPaymentGateways_shop_availablePaymentGateways } from "../queries/gqlTypes/GetShopPaymentGateways"; -import { ApolloErrorWithUserInput } from "../react/types"; -import { ISaleorState, ISaleorStateSummeryPrices, StateItems } from "./types"; - -export class SaleorState extends NamedObservable - implements ISaleorState { - checkout?: ICheckoutModel; - promoCode?: string; - selectedShippingAddressId?: string; - selectedBillingAddressId?: string; - payment?: IPaymentModel; - summaryPrices?: ISaleorStateSummeryPrices; - // Should be changed it in future to shop object containing payment gateways besides all the shop data - availablePaymentGateways?: GetShopPaymentGateways_shop_availablePaymentGateways[]; - - private localStorageHandler: LocalStorageHandler; - private apolloClientManager: ApolloClientManager; - - constructor( - localStorageHandler: LocalStorageHandler, - apolloClientManager: ApolloClientManager - ) { - super(); - this.localStorageHandler = localStorageHandler; - this.apolloClientManager = apolloClientManager; - - localStorageHandler.subscribeToChange( - LocalStorageItems.CHECKOUT, - this.onCheckoutUpdate - ); - localStorageHandler.subscribeToChange( - LocalStorageItems.PAYMENT, - this.onPaymentUpdate - ); - } - - provideCheckout = async ( - onError: ( - error: ApolloErrorWithUserInput | any, - type: DataErrorCheckoutTypes - ) => any, - forceReload?: boolean - ) => { - if (this.isCheckoutCreatedOnline() && !forceReload) { - return; - } - - if (navigator.onLine) { - await this.provideCheckoutOnline(onError); - } else { - this.provideCheckoutOffline(forceReload); - } - - return; - }; - - providePayment = async (forceReload?: boolean) => { - this.providePaymentOffline(forceReload); - - return; - }; - - providePaymentGateways = async ( - onError: ( - error: ApolloErrorWithUserInput | any, - type: DataErrorCheckoutTypes - ) => any - ) => { - await this.providePaymentGatewaysOnline(onError); - }; - - private onCheckoutUpdate = (checkout: ICheckoutModel) => { - this.checkout = checkout; - this.summaryPrices = this.calculateSummaryPrices(checkout); - this.notifyChange(StateItems.CHECKOUT, this.checkout); - this.notifyChange(StateItems.SUMMARY_PRICES, this.summaryPrices); - }; - private onPaymentUpdate = (payment: IPaymentModel) => { - this.payment = payment; - this.notifyChange(StateItems.PAYMENT, this.payment); - }; - private onPaymentGatewaysUpdate = ( - paymentGateways?: GetShopPaymentGateways_shop_availablePaymentGateways[] - ) => { - this.availablePaymentGateways = paymentGateways; - this.notifyChange( - StateItems.PAYMENT_GATEWAYS, - this.availablePaymentGateways - ); - }; - - private isCheckoutCreatedOnline = () => this.checkout?.id; - - private provideCheckoutOnline = async ( - onError: ( - error: ApolloErrorWithUserInput | any, - type: DataErrorCheckoutTypes - ) => any - ) => { - // 1. Try to take checkout from backend database - const checkout = this.localStorageHandler.getCheckout(); - - if (checkout?.token) { - const { data, error } = await this.apolloClientManager.getCheckout( - checkout?.token - ); - - if (error) { - onError(error, DataErrorCheckoutTypes.GET_CHECKOUT); - } else if (data) { - this.localStorageHandler.setCheckout(data); - return; - } - } - - // 2. Try to take checkout from local storage - const checkoutModel: ICheckoutModel | null = this.localStorageHandler.getCheckout(); - if (checkoutModel) { - this.onCheckoutUpdate(checkoutModel); - return; - } - }; - - private provideCheckoutOffline = (forceReload?: boolean) => { - // 1. Try to take checkout from runtime memory (if exist in memory - has any checkout data) - if (this.checkout && !forceReload) { - return; - } - - // 2. Try to take checkout from local storage - const checkoutModel: ICheckoutModel | null = this.localStorageHandler.getCheckout(); - - if (checkoutModel) { - this.onCheckoutUpdate(checkoutModel); - } else { - this.localStorageHandler.setCheckout({}); - } - }; - - private providePaymentOffline = (forceReload?: boolean) => { - // 1. Try to take checkout from runtime memory (if exist in memory - has any checkout data) - if (this.payment && !forceReload) { - return; - } - - // 2. Try to take checkout from local storage - const paymentModel: ICheckoutModel | null = this.localStorageHandler.getPayment(); - - if (paymentModel) { - this.onPaymentUpdate(paymentModel); - } else { - this.localStorageHandler.setPayment({}); - } - }; - - private providePaymentGatewaysOnline = async ( - onError: ( - error: ApolloErrorWithUserInput | any, - type: DataErrorCheckoutTypes - ) => any - ) => { - const { data, error } = await this.apolloClientManager.getPaymentGateways(); - - if (error) { - onError(error, DataErrorCheckoutTypes.GET_PAYMENT_GATEWAYS); - } - - this.onPaymentGatewaysUpdate(data); - }; - - private calculateSummaryPrices( - checkout?: ICheckoutModel - ): ISaleorStateSummeryPrices { - const items = checkout?.lines; - const shippingMethod = checkout?.shippingMethod; - const promoCodeDiscount = checkout?.promoCodeDiscount?.discount; - - if (items && items.length) { - const firstItemTotalPrice = items[0].totalPrice; - - if (firstItemTotalPrice) { - const shippingPrice = { - ...shippingMethod?.price, - amount: shippingMethod?.price?.amount || 0, - currency: - shippingMethod?.price?.currency || - firstItemTotalPrice.gross.currency, - }; - - const { itemsNetPrice, itmesGrossPrice } = items.reduce( - (prevVals, item) => { - prevVals.itemsNetPrice += item.totalPrice?.net.amount || 0; - prevVals.itmesGrossPrice += item.totalPrice?.gross.amount || 0; - return prevVals; - }, - { - itemsNetPrice: 0, - itmesGrossPrice: 0, - } - ); - - const subtotalPrice = { - ...firstItemTotalPrice, - gross: { - ...firstItemTotalPrice.gross, - amount: round(itmesGrossPrice, 2), - }, - net: { - ...firstItemTotalPrice.net, - amount: round(itemsNetPrice, 2), - }, - }; - - const discount = { - ...promoCodeDiscount, - amount: promoCodeDiscount?.amount || 0, - currency: - promoCodeDiscount?.currency || firstItemTotalPrice.gross.currency, - }; - - const totalPrice = { - ...subtotalPrice, - gross: { - ...subtotalPrice.gross, - amount: round( - itmesGrossPrice + shippingPrice.amount - discount.amount, - 2 - ), - }, - net: { - ...subtotalPrice.net, - amount: round( - itemsNetPrice + shippingPrice.amount - discount.amount, - 2 - ), - }, - }; - - return { - discount, - shippingPrice, - subtotalPrice, - totalPrice, - }; - } - } - return {}; - } -} diff --git a/src/@sdk/state/types.ts b/src/@sdk/state/types.ts deleted file mode 100644 index 81a1efd002..0000000000 --- a/src/@sdk/state/types.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { - ICheckoutModel, - ICheckoutModelPrice, - ICheckoutModelPriceValue, - IPaymentModel, -} from "../helpers/LocalStorageHandler"; -import { GetShopPaymentGateways_shop_availablePaymentGateways } from "../queries/gqlTypes/GetShopPaymentGateways"; - -export enum StateItems { - CHECKOUT, - SUMMARY_PRICES, - PROMO_CODE, - PAYMENT, - PAYMENT_GATEWAYS, -} - -export interface ISaleorStateSummeryPrices { - shippingPrice?: ICheckoutModelPriceValue; - subtotalPrice?: ICheckoutModelPrice; - totalPrice?: ICheckoutModelPrice; - discount?: ICheckoutModelPriceValue; -} - -export interface ISaleorState { - checkout?: ICheckoutModel; - selectedShippingAddressId?: string; - selectedBillingAddressId?: string; - summaryPrices?: ISaleorStateSummeryPrices; - payment?: IPaymentModel; - // Should be changed it in future to shop object containing payment gateways besides all the shop data - availablePaymentGateways?: GetShopPaymentGateways_shop_availablePaymentGateways[]; -} diff --git a/src/@sdk/tsHelpers.ts b/src/@sdk/tsHelpers.ts deleted file mode 100644 index 8244b504a9..0000000000 --- a/src/@sdk/tsHelpers.ts +++ /dev/null @@ -1,18 +0,0 @@ -export type RequireOnlyOne = Pick< - T, - Exclude -> & - { - [K in Keys]-?: Required> & - Partial, undefined>>; - }[Keys]; - -export type KeysMatching = T[{ - [K in keyof T]: T[K] extends V ? K : never; -}[keyof T]]; - -export type RequireAtLeastOne = Pick< - T, - Exclude -> & - { [K in Keys]-?: Required> }[Keys]; diff --git a/src/@sdk/tsconfig.json b/src/@sdk/tsconfig.json deleted file mode 100644 index 1f54b1cb08..0000000000 --- a/src/@sdk/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "../../tsconfig", - "compilerOptions": { - "strict": true - } -} diff --git a/src/@sdk/types.ts b/src/@sdk/types.ts deleted file mode 100644 index 55fcc298b2..0000000000 --- a/src/@sdk/types.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { ObservableQuery } from "apollo-client"; - -export type QueryShape = (...args: any) => any; - -export type MapFn = ( - data: QueryData -) => TResult; - -export type WatchMapFn = ( - data: WatchQueryData -) => TResult; - -export type InferOptions = T extends (_: any, o: infer O) => any ? O : never; - -export type QueryData any> = ReturnType< - T -> extends Promise - ? R extends { [key: string]: any } - ? R["data"] - : null - : never; - -export type WatchQueryData any> = ReturnType< - T -> extends ObservableQuery - ? R - : never; - -export interface Config { - loadOnStart: { - checkout: boolean; - cart: boolean; - }; -} diff --git a/src/@sdk/utils.ts b/src/@sdk/utils.ts deleted file mode 100644 index ed1f572df1..0000000000 --- a/src/@sdk/utils.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { MapFn, QueryShape, WatchMapFn } from "./types"; - -// errors are nested in data as it currently stands in the API -// this helper extracts all errors present -export const getErrorsFromData = ( - data: T -) => { - try { - const error = Object.keys(data).reduce((acc, key) => { - return { - ...acc, - ...(data[key].errors && - !!data[key].errors.length && { userInputErrors: data[key].errors }), - }; - }, {}); - - return !!Object.keys(error).length ? error : null; - } catch (e) { - return null; - } -}; - -export const isDataEmpty = (data: T) => - Object.keys(data).reduce((_, key) => !!data[key], true); - -export function getMappedData( - mapFn: MapFn | WatchMapFn, - data: any -) { - if (!data) { - return null; - } - - const mappedData = mapFn(data); - const result = - mappedData && !!Object.keys(mappedData).length ? mappedData : null; - - return result; -} - -export const mergeEdges = (prevEdges: any[], newEdges: any[]) => [ - ...prevEdges, - ...newEdges.filter(edge => !prevEdges.some(e => e.node.id === edge.node.id)), -]; - -export function filterNotEmptyArrayItems( - value: TValue | null | undefined -): value is TValue { - return value !== null && value !== undefined; -} diff --git a/src/account/AddressBook/AddressBook.tsx b/src/account/AddressBook/AddressBook.tsx index 77b63fec35..9a74a2056f 100644 --- a/src/account/AddressBook/AddressBook.tsx +++ b/src/account/AddressBook/AddressBook.tsx @@ -2,8 +2,8 @@ import React from "react"; import "./scss/index.scss"; import { AddressFormModal, AddressGrid } from "@components/organisms"; -import { AddressTypeEnum } from "@sdk/gqlTypes/globalTypes"; -import { useDefaultUserAddress, useDeleteUserAddresss } from "@sdk/react"; +import { useDefaultUserAddress, useDeleteUserAddresss } from "@saleor/sdk"; +import { AddressTypeEnum } from "@saleor/sdk/lib/gqlTypes/globalTypes"; import { ShopContext } from "../../components/ShopProvider/context"; const AddressBook: React.FC<{ diff --git a/src/components/CartTable/ProductRow.tsx b/src/components/CartTable/ProductRow.tsx index 468bc7a3a5..955b3d9b89 100644 --- a/src/components/CartTable/ProductRow.tsx +++ b/src/components/CartTable/ProductRow.tsx @@ -4,8 +4,8 @@ import { Link } from "react-router-dom"; import { TaxedMoney } from "@components/containers"; import { Thumbnail } from "@components/molecules"; -import { ProductVariant } from "@sdk/fragments/gqlTypes/ProductVariant"; -import { OrderByToken_orderByToken_lines_unitPrice } from "@sdk/queries/gqlTypes/OrderByToken"; +import { ProductVariant } from "@saleor/sdk/lib/fragments/gqlTypes/ProductVariant"; +import { OrderByToken_orderByToken_lines_unitPrice } from "@saleor/sdk/lib/queries/gqlTypes/OrderByToken"; import { generateProductUrl } from "../../core/utils"; diff --git a/src/components/CheckoutLogin/index.tsx b/src/components/CheckoutLogin/index.tsx index 827a273454..d05fe4ba1d 100644 --- a/src/components/CheckoutLogin/index.tsx +++ b/src/components/CheckoutLogin/index.tsx @@ -3,7 +3,7 @@ import "./scss/index.scss"; import React, { useContext, useState } from "react"; import { Redirect } from "react-router"; -import { useUserDetails } from "@sdk/react"; +import { useUserDetails } from "@saleor/sdk"; import { Offline, OfflinePlaceholder, Online, OverlayContext } from ".."; diff --git a/src/components/LoginForm/index.tsx b/src/components/LoginForm/index.tsx index 8fcff98b05..8a53c9f32f 100644 --- a/src/components/LoginForm/index.tsx +++ b/src/components/LoginForm/index.tsx @@ -2,7 +2,7 @@ import "./scss/index.scss"; import * as React from "react"; -import { useSignIn } from "@sdk/react"; +import { useSignIn } from "@saleor/sdk"; import { maybe } from "@utils/misc"; import { Button, Form, TextField } from ".."; @@ -43,7 +43,11 @@ const LoginForm: React.FC = ({ hide }) => { required />
-
diff --git a/src/components/MainMenu/MainMenu.tsx b/src/components/MainMenu/MainMenu.tsx index 7a3cf41970..fbe8bbe5e5 100644 --- a/src/components/MainMenu/MainMenu.tsx +++ b/src/components/MainMenu/MainMenu.tsx @@ -5,7 +5,7 @@ import { } from "../../globalStyles/scss/variables.scss"; import "./scss/index.scss"; -import { useCart, useSignOut, useUserDetails } from "@sdk/react"; +import { useCart, useSignOut, useUserDetails } from "@saleor/sdk"; import Media from "react-media"; import { Link } from "react-router-dom"; @@ -96,60 +96,62 @@ const MainMenu: React.FC = () => { } /> - ( - <> - {user ? ( - - - - } - content={ -
    -
  • - My Account -
  • -
  • - - Order history - -
  • -
  • - - Address book - -
  • + ( + <> + {user ? ( + + + + } + content={ +
      +
    • + + My Account + +
    • +
    • + + Order history + +
    • +
    • + + Address book + +
    • +
    • + Log Out +
    • +
    + } + /> + ) : (
  • + overlayContext.show( + OverlayType.login, + OverlayTheme.left + ) + } > - Log Out +
  • -
- } - /> - ) : ( -
  • - overlayContext.show( - OverlayType.login, - OverlayTheme.left - ) - } - > - -
  • - )} - - )} - /> -
    + )} + + )} + /> + ); }} diff --git a/src/components/OverlayManager/Cart/Cart.tsx b/src/components/OverlayManager/Cart/Cart.tsx index 1a5ffc51ef..0f69499161 100644 --- a/src/components/OverlayManager/Cart/Cart.tsx +++ b/src/components/OverlayManager/Cart/Cart.tsx @@ -5,7 +5,7 @@ import { generatePath, Link } from "react-router-dom"; import ReactSVG from "react-svg"; import { TaxedMoney } from "@components/containers"; -import { useCart, useCheckout, useUserDetails } from "@sdk/react"; +import { useCart, useCheckout, useUserDetails } from "@saleor/sdk"; import { Button, @@ -132,12 +132,16 @@ const Cart: React.FC<{ overlay: OverlayContextInterface }> = ({ overlay }) => { token: null, })} > - +
    - +
    diff --git a/src/components/OverlayManager/Cart/ProductList.tsx b/src/components/OverlayManager/Cart/ProductList.tsx index b19a94e9a6..7b8bdc85e7 100644 --- a/src/components/OverlayManager/Cart/ProductList.tsx +++ b/src/components/OverlayManager/Cart/ProductList.tsx @@ -1,10 +1,10 @@ +import { ICheckoutModelLine } from "@saleor/sdk/lib/helpers"; import * as React from "react"; import { Link } from "react-router-dom"; import ReactSVG from "react-svg"; import { TaxedMoney } from "@components/containers"; import { Thumbnail } from "@components/molecules"; -import { ICheckoutModelLine } from "@sdk/helpers"; import { generateProductUrl } from "../../../core/utils"; import removeImg from "../../../images/garbage.svg"; diff --git a/src/components/ProductDescription/index.tsx b/src/components/ProductDescription/index.tsx index 713f584ea1..4c4dd2ee04 100644 --- a/src/components/ProductDescription/index.tsx +++ b/src/components/ProductDescription/index.tsx @@ -4,14 +4,14 @@ import isEqual from "lodash/isEqual"; import * as React from "react"; import { ProductVariantPicker } from "@components/organisms"; +import { ICheckoutModelLine } from "@saleor/sdk/lib/helpers"; import { ProductDetails_product_pricing, ProductDetails_product_variants, ProductDetails_product_variants_pricing, -} from "@sdk/queries/gqlTypes/ProductDetails"; +} from "@saleor/sdk/lib/queries/gqlTypes/ProductDetails"; import { IProductVariantsAttributesSelectedValues, ITaxedMoney } from "@types"; -import { ICheckoutModelLine } from "@sdk/helpers"; import { TaxedMoney } from "../../@next/components/containers"; import AddToCart from "./AddToCart"; import { QuantityTextField } from "./QuantityTextField"; diff --git a/src/components/ShopProvider/context.ts b/src/components/ShopProvider/context.ts index 87d25047d6..706922710d 100644 --- a/src/components/ShopProvider/context.ts +++ b/src/components/ShopProvider/context.ts @@ -1,4 +1,4 @@ -import { GetShop_shop } from "@temp/@sdk/queries/gqlTypes/GetShop"; +import { GetShop_shop } from "@saleor/sdk/lib/queries/gqlTypes/GetShop"; import { createContext } from "react"; export const defaultCountry = { diff --git a/src/components/ShopProvider/index.tsx b/src/components/ShopProvider/index.tsx index 33b2c524fd..07f2de5804 100644 --- a/src/components/ShopProvider/index.tsx +++ b/src/components/ShopProvider/index.tsx @@ -3,7 +3,7 @@ import * as React from "react"; import { maybe } from "../../core/utils"; import { defaultContext, ShopContext } from "./context"; -import { useShopDetails } from "@sdk/react"; +import { useShopDetails } from "@saleor/sdk"; const ShopProvider: React.FC = ({ children }) => { const { data } = useShopDetails(); diff --git a/src/core/types/address.ts b/src/core/types/address.ts index 77f14bafc0..70cb0498ed 100644 --- a/src/core/types/address.ts +++ b/src/core/types/address.ts @@ -1,4 +1,4 @@ -import { CreateCheckout_checkoutCreate_checkout_shippingAddress } from "@sdk/mutations/gqlTypes/CreateCheckout"; +import { CreateCheckout_checkoutCreate_checkout_shippingAddress } from "@saleor/sdk/lib/mutations/gqlTypes/CreateCheckout"; export type AddressInterface = Omit< CreateCheckout_checkoutCreate_checkout_shippingAddress, diff --git a/src/index.tsx b/src/index.tsx index 32446c81f6..b1bcf999f1 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,12 +1,7 @@ import { Integrations as ApmIntegrations } from "@sentry/apm"; import * as Sentry from "@sentry/browser"; -import { - defaultDataIdFromObject, - InMemoryCache, - NormalizedCacheObject, -} from "apollo-cache-inmemory"; +import { defaultDataIdFromObject, InMemoryCache } from "apollo-cache-inmemory"; import { persistCache } from "apollo-cache-persist"; -import { ApolloClient } from "apollo-client"; import * as React from "react"; import { positions, Provider as AlertProvider, useAlert } from "react-alert"; import { ApolloProvider } from "react-apollo"; @@ -21,7 +16,14 @@ import { ServiceWorkerContext, ServiceWorkerProvider, } from "@components/containers"; -import { SaleorProvider, useAuth } from "@sdk/react"; +import { + authLink, + createSaleorClient, + fireSignOut, + invalidTokenLinkWithTokenHandler, + SaleorProvider, + useAuth, +} from "@saleor/sdk"; import { defaultTheme, GlobalStyle } from "@styles"; import { App } from "./app"; @@ -35,13 +37,6 @@ import { } from "./constants"; import { history } from "./history"; -import { createSaleorClient } from "./@sdk"; -import { - authLink, - fireSignOut, - invalidTokenLinkWithTokenHandler, -} from "./@sdk/auth"; - const cache = new InMemoryCache({ dataIdFromObject: obj => { if (obj.__typename === "Shop") { @@ -74,7 +69,9 @@ const startApp = async () => { * This is temporary adapter for queries and mutations not included in SDK to handle invalid token error for them. * Note, that after all GraphQL queries and mutations will be replaced by SDK methods, this adapter is going to be removed. */ - const ApolloClientInvalidTokenLinkAdapter = ({ children }) => { + const ApolloClientInvalidTokenLinkAdapter: React.FC<{ + children: (apolloClient) => React.ReactElement; + }> = ({ children }) => { const tokenExpirationCallback = () => { fireSignOut(apolloClient); }; @@ -141,20 +138,18 @@ const startApp = async () => { - {(apolloClient: ApolloClient) => - apolloClient && ( - - - - - - - - - - - ) - } + {apolloClient => ( + + + + + + + + + + + )} diff --git a/src/userAccount/components/Authenticated.tsx b/src/userAccount/components/Authenticated.tsx index a8a8eb46d1..e135bb076e 100644 --- a/src/userAccount/components/Authenticated.tsx +++ b/src/userAccount/components/Authenticated.tsx @@ -1,6 +1,6 @@ import React from "react"; -import { useUserDetails } from "@sdk/react"; +import { useUserDetails } from "@saleor/sdk"; import { NotFound } from "../../components"; diff --git a/src/userAccount/views/OrderDetails/Page.tsx b/src/userAccount/views/OrderDetails/Page.tsx index d5d26e1c5b..d5ad6862b0 100644 --- a/src/userAccount/views/OrderDetails/Page.tsx +++ b/src/userAccount/views/OrderDetails/Page.tsx @@ -5,7 +5,7 @@ import { TaxedMoney } from "@components/containers"; import { OrderDetail, OrderDetail_lines, -} from "@sdk/fragments/gqlTypes/OrderDetail"; +} from "@saleor/sdk/lib/fragments/gqlTypes/OrderDetail"; import { AddressSummary, CartTable, NotFound } from "../../../components"; import { ILine } from "../../../components/CartTable/ProductRow"; diff --git a/src/userAccount/views/OrderDetails/View.tsx b/src/userAccount/views/OrderDetails/View.tsx index 4d6e24c0cf..27d0538f60 100644 --- a/src/userAccount/views/OrderDetails/View.tsx +++ b/src/userAccount/views/OrderDetails/View.tsx @@ -4,7 +4,7 @@ import * as React from "react"; import { RouteComponentProps } from "react-router"; import { Loader } from "@components/atoms"; -import { useOrderDetails, useUserDetails } from "@sdk/react"; +import { useOrderDetails, useUserDetails } from "@saleor/sdk"; import Page from "./Page"; diff --git a/src/views/Account/Account.tsx b/src/views/Account/Account.tsx index ee4d2cfd8f..97c6a806f0 100644 --- a/src/views/Account/Account.tsx +++ b/src/views/Account/Account.tsx @@ -2,7 +2,7 @@ import * as React from "react"; import Media from "react-responsive"; import { RouteComponentProps, withRouter } from "react-router"; -import { useUserDetails } from "@sdk/react"; +import { useUserDetails } from "@saleor/sdk"; import { smallScreen } from "@styles/constants"; import AddressBook from "../../account/AddressBook/AddressBook"; diff --git a/src/views/Product/View.tsx b/src/views/Product/View.tsx index 18dc185b42..1e6b382fb9 100644 --- a/src/views/Product/View.tsx +++ b/src/views/Product/View.tsx @@ -1,13 +1,12 @@ import "./scss/index.scss"; +import { useCart } from "@saleor/sdk"; import { isEmpty } from "lodash"; import queryString from "query-string"; import React, { useEffect, useState } from "react"; import { RouteComponentProps } from "react-router"; import { useHistory } from "react-router-dom"; -import { useCart } from "@sdk/react"; - import { MetaWrapper, NotFound, OfflinePlaceholder } from "../../components"; import NetworkStatus from "../../components/NetworkStatus"; import { getGraphqlIdFromDBId, maybe } from "../../core/utils"; diff --git a/src/views/Product/types.ts b/src/views/Product/types.ts index 1a8dc7dd23..7296100fab 100644 --- a/src/views/Product/types.ts +++ b/src/views/Product/types.ts @@ -1,4 +1,4 @@ -import { ICheckoutModelLine } from "@sdk/helpers"; +import { ICheckoutModelLine } from "@saleor/sdk/lib/helpers"; import { ProductDetails_product } from "./gqlTypes/ProductDetails"; diff --git a/tsconfig.json b/tsconfig.json index 460cbb4942..5d74daca73 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,7 +11,6 @@ "paths": { "@temp/*": ["./src/*"], "@app/*": ["./src/@next/*"], - "@sdk/*": ["./src/@sdk/*"], "@components/*": ["./src/@next/components/*"], "@components/atoms": ["./src/@next/components/atoms/index.ts"], "@components/molecules": ["./src/@next/components/molecules/index.ts"], diff --git a/webpack.d.ts b/webpack.d.ts index 228399953c..3fea6e55a5 100644 --- a/webpack.d.ts +++ b/webpack.d.ts @@ -10,7 +10,7 @@ declare module "react-media"; declare module "js-base64"; declare module "query-string"; -// This was copied from src/@sdk/global.d.ts to make TS compiler happy +// This was copied from @saleor/sdk/global.d.ts to make TS compiler happy declare interface Window { PasswordCredential: any; Stripe: any; From 9a5fe7bac8d904042c57b259507a9b794dc5e654 Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Thu, 28 May 2020 17:29:53 +0200 Subject: [PATCH 026/120] add missing tag styles in article page (#730) --- src/globalStyles/scss/index.scss | 8 ++++ src/globalStyles/scss/variables.scss | 1 + src/images/quote-icon.svg | 3 ++ src/views/Article/scss/index.scss | 70 ++++++++++++++++++++++++++++ 4 files changed, 82 insertions(+) create mode 100644 src/images/quote-icon.svg diff --git a/src/globalStyles/scss/index.scss b/src/globalStyles/scss/index.scss index ef9a00b551..d9e1b11325 100644 --- a/src/globalStyles/scss/index.scss +++ b/src/globalStyles/scss/index.scss @@ -38,6 +38,14 @@ body { line-height: 1.5rem; } + strong { + font-weight: $bold-font-weight; + } + + em { + font-style: italic; + } + #root { display: flex; min-height: 100vh; diff --git a/src/globalStyles/scss/variables.scss b/src/globalStyles/scss/variables.scss index 901cb44d34..71591a7ac6 100644 --- a/src/globalStyles/scss/variables.scss +++ b/src/globalStyles/scss/variables.scss @@ -15,6 +15,7 @@ $white: #fff; $blue-overlay: rgba($blue, 0.15); $autofillColor: rgb(250, 255, 189); $autofillColorSelected: rgb(232, 240, 254); +$darkGreen: #06847b; // typography $base-font-family: "Inter", sans-serif; diff --git a/src/images/quote-icon.svg b/src/images/quote-icon.svg new file mode 100644 index 0000000000..95c5d226a4 --- /dev/null +++ b/src/images/quote-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/views/Article/scss/index.scss b/src/views/Article/scss/index.scss index 7293b2d7e0..25adcd76e0 100644 --- a/src/views/Article/scss/index.scss +++ b/src/views/Article/scss/index.scss @@ -64,6 +64,76 @@ img { max-width: 100%; } + + ol, + ul { + margin: 1.875rem auto; + padding-left: 0; + font-size: 1.125rem; + line-height: 1.7; + list-style: none; + li { + padding-left: 1.3rem; + margin-left: 0.3rem; + margin-bottom: 1rem; + } + } + + ol { + position: relative; + counter-reset: my-awesome-counter; + li { + counter-increment: my-awesome-counter; + &:before { + content: counter(my-awesome-counter) "."; + color: $darkGreen; + position: absolute; + left: 0; + } + } + } + + ul { + list-style: none; + li { + position: relative; + &:before { + position: absolute; + top: 0.7rem; + left: 0; + content: ""; + display: inline-block; + width: 0.375rem; + height: 0.375rem; + border-radius: 50%; + background-color: $darkGreen; + } + &:last-child { + margin-bottom: 0; + } + } + } + + blockquote { + position: relative; + font-size: 1.125rem; + font-style: italic; + background-color: $turquoise-light; + border-left: 0.5rem solid $darkGreen; + margin: 1.875rem auto; + padding: 3.75rem 2.5rem 3rem 2.5rem; + &:before { + content: ""; + display: block; + position: absolute; + height: 1.5rem; + width: 1.44rem; + top: 1.56rem; + background-image: url("../../../images/quote-icon.svg"); + background-repeat: no-repeat; + background-size: contain; + } + } } &__navigation { From d1a47eaf05f234fbde7cadb39271b3ae69e0ccd9 Mon Sep 17 00:00:00 2001 From: Krzysztof Wolski Date: Thu, 28 May 2020 18:12:41 +0200 Subject: [PATCH 027/120] Merge with DEMO branch (#717) * Merge with DEMO branch * Setup env vars for GTM and DEMO * Deal with qa errors * Test update * update pkg lock * Make linter happy --- config/webpack/config.base.js | 2 + package-lock.json | 98 +++++++---- package.json | 1 + .../atoms/DemoBanner/DemoBanner.tsx | 45 +++++ .../__snapshots__/stories.storyshot | 160 ++++++++++++++++++ .../components/atoms/DemoBanner/index.ts | 1 + .../components/atoms/DemoBanner/stories.tsx | 7 + .../components/atoms/DemoBanner/styles.ts | 51 ++++++ .../components/atoms/DemoBanner/test.tsx | 13 ++ src/@next/components/atoms/index.ts | 37 ++-- src/@next/globalStyles/constants.ts | 6 + src/@next/globalStyles/themes.ts | 3 + src/app/App.tsx | 7 +- src/components/LoginForm/index.tsx | 7 + .../OverlayManager/Search/Search.tsx | 2 +- src/constants.ts | 1 + src/images/logo-small.svg | 7 +- src/index.tsx | 5 + 18 files changed, 400 insertions(+), 53 deletions(-) create mode 100644 src/@next/components/atoms/DemoBanner/DemoBanner.tsx create mode 100644 src/@next/components/atoms/DemoBanner/__snapshots__/stories.storyshot create mode 100644 src/@next/components/atoms/DemoBanner/index.ts create mode 100644 src/@next/components/atoms/DemoBanner/stories.tsx create mode 100644 src/@next/components/atoms/DemoBanner/styles.ts create mode 100644 src/@next/components/atoms/DemoBanner/test.tsx diff --git a/config/webpack/config.base.js b/config/webpack/config.base.js index fa4de75cab..0cb9f52119 100644 --- a/config/webpack/config.base.js +++ b/config/webpack/config.base.js @@ -119,6 +119,8 @@ module.exports = ({ sourceDir, distDir }) => ({ API_URI: "http://localhost:8000/graphql/", SENTRY_DSN: null, SENTRY_APM: "0", + DEMO_MODE: false, + GTM_ID: undefined, }), ], node: { diff --git a/package-lock.json b/package-lock.json index 945d4875c1..0e1b172cd0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5776,8 +5776,8 @@ } }, "@saleor/sdk": { - "version": "github:mirumee/saleor-sdk#7e20ec7cec744634d28b99c7adc0d82009236e63", - "from": "github:mirumee/saleor-sdk#7e20ec7", + "version": "github:mirumee/saleor-sdk#649e0ba876296df111f47a127631a1824ae089ca", + "from": "github:mirumee/saleor-sdk#649e0ba", "requires": { "apollo-cache": "^1.3.5", "apollo-link-batch-http": "^1.2.14", @@ -12804,7 +12804,7 @@ }, "ansi-escapes": { "version": "3.1.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" }, "ansi-html": { @@ -19043,7 +19043,7 @@ "dependencies": { "domelementtype": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", "dev": true } @@ -21479,7 +21479,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "get-value": { @@ -22317,7 +22317,7 @@ }, "htmlparser2": { "version": "3.3.0", - "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", "dev": true, "requires": { @@ -22338,7 +22338,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -22350,7 +22350,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } @@ -23436,7 +23436,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -27114,7 +27114,7 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { @@ -27204,7 +27204,7 @@ }, "kew": { "version": "0.7.0", - "resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", "dev": true }, @@ -28244,7 +28244,7 @@ "dependencies": { "json5": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true } @@ -31257,7 +31257,7 @@ }, "parse-asn1": { "version": "5.1.1", - "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { @@ -31530,7 +31530,7 @@ "dependencies": { "fs-extra": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "dev": true, "requires": { @@ -33905,7 +33905,7 @@ }, "ramda": { "version": "0.21.0", - "resolved": "http://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", "integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=", "dev": true }, @@ -34800,6 +34800,11 @@ "use-sidecar": "^1.0.1" } }, + "react-gtm-module": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/react-gtm-module/-/react-gtm-module-2.0.8.tgz", + "integrity": "sha512-OU5FwAHC3gWnnxJ+MLwBMLZO1Pmn1DiVCGHqptwDnNojE3QRrNxjqozkW5cNS4Zp+C6HZ8a4ZIt0QPNlpzua4Q==" + }, "react-helmet": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.2.0.tgz", @@ -35341,7 +35346,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -37890,7 +37895,7 @@ }, "stream-browserify": { "version": "2.0.1", - "resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { @@ -38299,7 +38304,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -38532,7 +38537,7 @@ }, "yargs": { "version": "6.6.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", "dev": true, "requires": { @@ -38553,7 +38558,7 @@ }, "yargs-parser": { "version": "4.2.1", - "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "dev": true, "requires": { @@ -39832,7 +39837,7 @@ }, "buffer": { "version": "3.6.0", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", "dev": true, "requires": { @@ -41277,6 +41282,19 @@ "string-width": "^3.1.0", "strip-ansi": "^5.2.0", "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } } }, "execa": { @@ -41443,14 +41461,36 @@ "dev": true }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "yargs": { @@ -42065,7 +42105,7 @@ }, "xmlbuilder": { "version": "9.0.7", - "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", "dev": true }, diff --git a/package.json b/package.json index 81a6b75a04..b591b8148b 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "react-addons-css-transition-group": "^15.6.2", "react-alert": "^5.5.0", "react-dom": "^16.9.0", + "react-gtm-module": "^2.0.8", "react-helmet": "^5.2.0", "react-intersection-observer": "^8.25.2", "react-media": "^1.8.0", diff --git a/src/@next/components/atoms/DemoBanner/DemoBanner.tsx b/src/@next/components/atoms/DemoBanner/DemoBanner.tsx new file mode 100644 index 0000000000..bfd63b8d2b --- /dev/null +++ b/src/@next/components/atoms/DemoBanner/DemoBanner.tsx @@ -0,0 +1,45 @@ +import React from "react"; +import Media from "react-responsive"; + +import { mediumScreen } from "@styles/constants"; + +import LogoSmall from "../../../../images/logo-small.svg"; +import * as S from "./styles"; + +export const DemoBanner: React.FC = () => { + return ( + + + + + + + + + API + + + + Dashboard + + + + + Explore Store’s dashboard + + + + Play with GraphQL API + + + + + + ); +}; \ No newline at end of file diff --git a/src/@next/components/atoms/DemoBanner/__snapshots__/stories.storyshot b/src/@next/components/atoms/DemoBanner/__snapshots__/stories.storyshot new file mode 100644 index 0000000000..a1b78e4842 --- /dev/null +++ b/src/@next/components/atoms/DemoBanner/__snapshots__/stories.storyshot @@ -0,0 +1,160 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Storyshots @components/atoms/DemoBanner default 1`] = ` +.c0 { + position: relative; + margin: 20px; +} + +.c8 { + position: absolute; + width: 100%; + height: 100%; + border: 3px solid rgba(0,0,0,0.2); + top: 0; + left: 0; + pointer-events: none; + box-sizing: border-box; +} + +.c1 { + width: 100%; + background-color: #EBF1F6; + padding: 0 1.3rem; + font-size: 12; +} + +.c2 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + max-height: 60px; + padding: 1.5em 0; + background-image: linear-gradient( to right, #9D9FB1 13%, rgba(255,255,255,0) 0% ); + background-position: bottom; + background-size: 12px 1px; + background-repeat: repeat-x; +} + +.c3 { + line-height: 0; +} + +.c4 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.c5 { + padding: 1rem; +} + +.c6 { + color: #036DFF; + text-transform: uppercase; + font-weight: 600; +} + +.c7 { + border-right: 1px solid #9D9FB1; + height: 2rem; +} + +
    +
    +
    +
    +
    +`; diff --git a/src/@next/components/atoms/DemoBanner/index.ts b/src/@next/components/atoms/DemoBanner/index.ts new file mode 100644 index 0000000000..4158986a64 --- /dev/null +++ b/src/@next/components/atoms/DemoBanner/index.ts @@ -0,0 +1 @@ +export * from "./DemoBanner"; \ No newline at end of file diff --git a/src/@next/components/atoms/DemoBanner/stories.tsx b/src/@next/components/atoms/DemoBanner/stories.tsx new file mode 100644 index 0000000000..a5dedfb67c --- /dev/null +++ b/src/@next/components/atoms/DemoBanner/stories.tsx @@ -0,0 +1,7 @@ +import { storiesOf } from "@storybook/react"; +import React from "react"; + +import { DemoBanner } from "."; +storiesOf("@components/atoms/DemoBanner", module) +.add("default", () => +); \ No newline at end of file diff --git a/src/@next/components/atoms/DemoBanner/styles.ts b/src/@next/components/atoms/DemoBanner/styles.ts new file mode 100644 index 0000000000..9e41e52b76 --- /dev/null +++ b/src/@next/components/atoms/DemoBanner/styles.ts @@ -0,0 +1,51 @@ +import ReactSVG from "react-svg"; + +import { styled } from "@styles"; + +export const Wrapper = styled.section` + width: 100%; + background-color: ${props => props.theme.colors.bannerBackground}; + padding: 0 1.3rem; + font-size: 12; +`; + +export const BorderedWrapper = styled.div` + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + max-height: ${props => props.theme.demoBanner.height}; + padding: 1.5em 0; + background-image: ${props => `linear-gradient( + to right, + ${props.theme.colors.bannerEdge} 13%, + rgba(255, 255, 255, 0) 0% + );`}; + background-position: bottom; + background-size: 12px 1px; + background-repeat: repeat-x; +`; + +export const LogoWrapper = styled(ReactSVG)` + line-height: 0; +`; + +export const LinkList = styled.div` + display: flex; + align-items: center; +`; + +export const Link = styled.a` + padding: 1rem; +`; + +export const TextEmphasis = styled.span` + color: ${props => props.theme.colors.bannerLink}; + text-transform: uppercase; + font-weight: 600; +`; + +export const Divider = styled.div` + border-right: 1px solid ${props => props.theme.colors.bannerEdge}; + height: 2rem; +`; \ No newline at end of file diff --git a/src/@next/components/atoms/DemoBanner/test.tsx b/src/@next/components/atoms/DemoBanner/test.tsx new file mode 100644 index 0000000000..a3f241b863 --- /dev/null +++ b/src/@next/components/atoms/DemoBanner/test.tsx @@ -0,0 +1,13 @@ +import { shallow } from "enzyme"; +import "jest-styled-components"; +import React from "react"; + +import { DemoBanner } from "."; + +describe("", () => { + it("exists", () => { + const wrapper = shallow(); + + expect(wrapper.exists()).toEqual(true); + }); +}); \ No newline at end of file diff --git a/src/@next/components/atoms/index.ts b/src/@next/components/atoms/index.ts index 44dec4ab25..de27f27198 100644 --- a/src/@next/components/atoms/index.ts +++ b/src/@next/components/atoms/index.ts @@ -1,31 +1,32 @@ -export * from "./Icon"; -export * from "./Tile"; export * from "./AddNewTile"; +export * from "./Address"; +export * from "./Attribute"; export * from "./Button"; export * from "./ButtonLink"; +export * from "./CartFooter"; +export * from "./CartHeader"; +export * from "./Checkbox"; +export * from "./Chip"; export * from "./CreditCardIcon"; +export * from "./DemoBanner"; +export * from "./DropdownMenu"; +export * from "./DropdownSelect"; export * from "./ErrorMessage"; +export * from "./Icon"; export * from "./IconButton"; export * from "./Input"; -export * from "./TileGrid"; +export * from "./InputLabel"; +export * from "./Label"; export * from "./Loader"; export * from "./Message"; -export * from "./NotificationTemplate"; -export * from "./RichTextContent"; -export * from "./SocialMediaIcon"; -export * from "./DropdownMenu"; -export * from "./Address"; export * from "./NavLink"; -export * from "./ShadowBox"; -export * from "./Select"; -export * from "./Attribute"; -export * from "./Label"; -export * from "./InputLabel"; -export * from "./DropdownSelect"; +export * from "./NotificationTemplate"; export * from "./PlaceholderImage"; -export * from "./Checkbox"; -export * from "./Chip"; -export * from "./CartHeader"; -export * from "./CartFooter"; export * from "./Radio"; +export * from "./RichTextContent"; +export * from "./Select"; +export * from "./ShadowBox"; +export * from "./SocialMediaIcon"; export * from "./StripeInputElement"; +export * from "./Tile"; +export * from "./TileGrid"; \ No newline at end of file diff --git a/src/@next/globalStyles/constants.ts b/src/@next/globalStyles/constants.ts index d2d7b2c277..29ed962129 100644 --- a/src/@next/globalStyles/constants.ts +++ b/src/@next/globalStyles/constants.ts @@ -24,12 +24,18 @@ export const turquoiseTransparent = "rgba(6, 132, 123, 0.1)"; export const white = "#fff"; export const tabelGray = "#eaeaea"; export const darkGreen = "#06847B"; +export const secondaryGrey = "#EBF1F6"; +export const secondaryGreyDark = "#9D9FB1"; +export const secondaryBlue = "#036DFF"; // theme colors export const theme = { activeMenuOption: darkGreen, autofill: autofillColor, autofillSelected: autofillColorSelected, + bannerBackground: secondaryGrey, + bannerEdge: secondaryGreyDark, + bannerLink: secondaryBlue, baseFont: baseFontColor, baseFontColorSemiTransparent, baseFontColorTransparent, diff --git a/src/@next/globalStyles/themes.ts b/src/@next/globalStyles/themes.ts index 8e75371b86..e18690d921 100644 --- a/src/@next/globalStyles/themes.ts +++ b/src/@next/globalStyles/themes.ts @@ -75,6 +75,9 @@ export const defaultTheme = { container: { width: 1140, }, + demoBanner: { + height: "60px", + }, dropdown: { backgroundColor: C.theme.white, boxShadow: "0px 6px 10px 0px rgba(0, 0, 0, 0.15)", diff --git a/src/app/App.tsx b/src/app/App.tsx index 2622f80115..5f6bc5fd45 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -1,14 +1,17 @@ -import "../globalStyles/scss/index.scss"; - import React from "react"; +import { DemoBanner } from "@components/atoms"; +import { demoMode } from "@temp/constants"; import { Footer, MainMenu, MetaConsumer, OverlayManager } from "../components"; +import "../globalStyles/scss/index.scss"; import { Routes } from "./routes"; const App: React.FC = () => { + return ( <> + {demoMode && }
    diff --git a/src/components/LoginForm/index.tsx b/src/components/LoginForm/index.tsx index 8a53c9f32f..c1accada39 100644 --- a/src/components/LoginForm/index.tsx +++ b/src/components/LoginForm/index.tsx @@ -3,6 +3,7 @@ import "./scss/index.scss"; import * as React from "react"; import { useSignIn } from "@saleor/sdk"; +import { demoMode } from "@temp/constants"; import { maybe } from "@utils/misc"; import { Button, Form, TextField } from ".."; @@ -22,9 +23,15 @@ const LoginForm: React.FC = ({ hide }) => { } }; + const formData = demoMode ? { + email: "admin@example.com", + password: "admin", + } : {} + return (
    error.extraInfo.userInputErrors, [])} onSubmit={handleOnSubmit} > diff --git a/src/components/OverlayManager/Search/Search.tsx b/src/components/OverlayManager/Search/Search.tsx index 6bc14f796f..46a6c9d67a 100644 --- a/src/components/OverlayManager/Search/Search.tsx +++ b/src/components/OverlayManager/Search/Search.tsx @@ -94,7 +94,7 @@ class Search extends React.Component { onChange={evt => this.setState({ search: evt.target.value })} value={this.state.search} iconLeft={ - + } iconRight={} autoFocus={true} diff --git a/src/constants.ts b/src/constants.ts index 3f66b8b386..fe41468c15 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -4,3 +4,4 @@ const sampleRate = parseFloat(process.env.SENTRY_APM); export const sentrySampleRate = isNaN(sampleRate) ? 0 : sampleRate; export const serviceWorkerTimeout = parseInt(process.env.SERVICE_WORKER_TIMEOUT, 10) || 60 * 1000; +export const demoMode = process.env.DEMO_MODE === "true"; \ No newline at end of file diff --git a/src/images/logo-small.svg b/src/images/logo-small.svg index 13bab1a6b0..81e05b7645 100644 --- a/src/images/logo-small.svg +++ b/src/images/logo-small.svg @@ -1,4 +1,5 @@ - - - + + + + diff --git a/src/index.tsx b/src/index.tsx index b1bcf999f1..2b187bf875 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -6,6 +6,7 @@ import * as React from "react"; import { positions, Provider as AlertProvider, useAlert } from "react-alert"; import { ApolloProvider } from "react-apollo"; import { render } from "react-dom"; +import TagManager from 'react-gtm-module' import { hot } from "react-hot-loader"; import { Route, Router } from "react-router-dom"; import { ThemeProvider } from "styled-components"; @@ -46,6 +47,10 @@ const cache = new InMemoryCache({ }, }); +if (process.env.GTM_ID !== undefined){ + TagManager.initialize({gtmId: process.env.GTM_ID}) +} + const startApp = async () => { if (sentryDsn !== undefined) { Sentry.init({ From d753564d63f43d31a132a0336f4cd131312e5c47 Mon Sep 17 00:00:00 2001 From: Konstantinos Christomanos <42765075+konstantinoschristomanos@users.noreply.github.com> Date: Thu, 28 May 2020 19:25:00 +0300 Subject: [PATCH 028/120] add product hyperlink in cart page (#745) --- src/@next/components/organisms/CartRow/CartRow.tsx | 14 ++++++++++++-- src/@next/components/organisms/CartRow/fixtures.ts | 1 + src/@next/components/organisms/CartRow/types.ts | 4 ++++ src/@next/pages/CartPage/CartPage.tsx | 1 + 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/@next/components/organisms/CartRow/CartRow.tsx b/src/@next/components/organisms/CartRow/CartRow.tsx index 6f2a930889..afa1e2ee42 100755 --- a/src/@next/components/organisms/CartRow/CartRow.tsx +++ b/src/@next/components/organisms/CartRow/CartRow.tsx @@ -1,8 +1,11 @@ import React, { useEffect, useState } from "react"; +import { Link } from "react-router-dom"; import { Icon, IconButton } from "@components/atoms"; import { CachedImage, TextField } from "@components/molecules"; +import { generateProductUrl } from "../../../../core/utils"; + import * as S from "./styles"; import { IProps } from "./types"; @@ -39,6 +42,7 @@ export const CartRow: React.FC = ({ thumbnail, attributes = [], onRemove, + id, }: IProps) => { const [tempQuantity, setTempQuantity] = useState(quantity.toString()); const [isTooMuch, setIsTooMuch] = useState(false); @@ -92,13 +96,19 @@ export const CartRow: React.FC = ({ ] : undefined; + const productUrl = generateProductUrl(id, name); + return ( - + + + - {name} + + {name} + SKU:{" "} diff --git a/src/@next/components/organisms/CartRow/fixtures.ts b/src/@next/components/organisms/CartRow/fixtures.ts index 35c4044406..fc4907b806 100644 --- a/src/@next/components/organisms/CartRow/fixtures.ts +++ b/src/@next/components/organisms/CartRow/fixtures.ts @@ -47,6 +47,7 @@ export const DEFAULT_PROPS = { ], }, ], + id: "2", maxQuantity: 5, name: "The Great Square Table", quantity: 3, diff --git a/src/@next/components/organisms/CartRow/types.ts b/src/@next/components/organisms/CartRow/types.ts index 89648177a9..2f0c8cada3 100755 --- a/src/@next/components/organisms/CartRow/types.ts +++ b/src/@next/components/organisms/CartRow/types.ts @@ -6,6 +6,10 @@ export interface IProps { * Item index */ index?: number; + /** + * Id of the product + */ + id: string; /** * Price for single unit */ diff --git a/src/@next/pages/CartPage/CartPage.tsx b/src/@next/pages/CartPage/CartPage.tsx index 3edd1ab720..941ccd2c92 100755 --- a/src/@next/pages/CartPage/CartPage.tsx +++ b/src/@next/pages/CartPage/CartPage.tsx @@ -79,6 +79,7 @@ const generateCart = ( Date: Thu, 28 May 2020 18:26:04 +0200 Subject: [PATCH 029/120] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7342bf771..b91793f0f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ All notable, unreleased changes to this project will be documented in this file. ## [Unreleased] +- Add product hyperlink in cart page - #745 by @konstantinoschristomanos - Add Cypress tags to all of the buttons (also speed up tests) - #718 by @krzysztofwolski - Automatically choose variant attributes from url in ProductVariantPicker - #708 by @AlicjaSzu - Use sdk as a standalone package - #724 by @dominik-zeglen From 4fa3e04e89314c71ad812080b0e9c76328452c26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Fri, 29 May 2020 20:40:44 +0200 Subject: [PATCH 030/120] Remove mlx90363 lib --- package-lock.json | 4 ---- package.json | 1 - 2 files changed, 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0e1b172cd0..8adafa457c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29344,10 +29344,6 @@ "minimist": "^1.2.5" } }, - "mlx90363": { - "version": "github:cinderblock/node-MLX90363#bfef7be8e08b8ff7955e0b062c33653701bf55a5", - "from": "github:cinderblock/node-MLX90363#bfef7be" - }, "moment": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", diff --git a/package.json b/package.json index b591b8148b..473a53fb25 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,6 @@ "isomorphic-fetch": "^2.2.1", "js-base64": "^2.4.8", "lodash": "^4.17.15", - "mlx90363": "github:cinderblock/node-MLX90363#bfef7be", "nuka-carousel": "^4.6.0", "react": "^16.9.9", "react-addons-css-transition-group": "^15.6.2", From 5fe253938b2d10676ce008d55137406d6613a7f7 Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Mon, 1 Jun 2020 13:18:27 +0200 Subject: [PATCH 031/120] Fix CartRow tests --- CHANGELOG.md | 1 + .../components/organisms/CartRow/fixtures.ts | 2 +- .../components/organisms/CartRow/stories.tsx | 7 +++- .../components/organisms/CartRow/test.tsx | 41 +++++++++++-------- 4 files changed, 32 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b91793f0f6..6963499d57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ All notable, unreleased changes to this project will be documented in this file. - Add Cypress tags to all of the buttons (also speed up tests) - #718 by @krzysztofwolski - Automatically choose variant attributes from url in ProductVariantPicker - #708 by @AlicjaSzu - Use sdk as a standalone package - #724 by @dominik-zeglen +- Fix CartRow tests - #749 by @dominik-zeglen ## 2.10.1 diff --git a/src/@next/components/organisms/CartRow/fixtures.ts b/src/@next/components/organisms/CartRow/fixtures.ts index fc4907b806..6cccce70ea 100644 --- a/src/@next/components/organisms/CartRow/fixtures.ts +++ b/src/@next/components/organisms/CartRow/fixtures.ts @@ -47,7 +47,7 @@ export const DEFAULT_PROPS = { ], }, ], - id: "2", + id: "UHJvZHVjdDoz", maxQuantity: 5, name: "The Great Square Table", quantity: 3, diff --git a/src/@next/components/organisms/CartRow/stories.tsx b/src/@next/components/organisms/CartRow/stories.tsx index e223889f08..1cd043eed4 100644 --- a/src/@next/components/organisms/CartRow/stories.tsx +++ b/src/@next/components/organisms/CartRow/stories.tsx @@ -1,6 +1,7 @@ import { action } from "@storybook/addon-actions"; import { storiesOf } from "@storybook/react"; import React from "react"; +import { MemoryRouter } from "react-router"; import { CartRow } from "."; import { DEFAULT_PROPS } from "./fixtures"; @@ -13,4 +14,8 @@ const STORY_PROPS = { storiesOf("@components/organisms/CartRow", module) .addParameters({ component: CartRow }) - .add("default", () => ); + .add("default", () => ( + + + + )); diff --git a/src/@next/components/organisms/CartRow/test.tsx b/src/@next/components/organisms/CartRow/test.tsx index 8165dfaca3..4fad68eff4 100644 --- a/src/@next/components/organisms/CartRow/test.tsx +++ b/src/@next/components/organisms/CartRow/test.tsx @@ -1,6 +1,7 @@ import { mount, shallow } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { MemoryRouter } from "react-router"; import { Icon, IconButton } from "@components/atoms"; @@ -45,11 +46,13 @@ describe("", () => { const onRemoveMock = jest.fn(); const onQuantityChangeMock = jest.fn(); const wrapper = mount( - + + + ); wrapper @@ -66,11 +69,13 @@ describe("", () => { const onRemoveMock = jest.fn(); const onQuantityChangeMock = jest.fn(); const wrapper = mount( - + + + ); wrapper @@ -87,13 +92,15 @@ describe("", () => { const onRemoveMock = jest.fn(); const onQuantityChangeMock = jest.fn(); const wrapper = mount( - + + + ); wrapper From 6d22d9d874844f844541e673736bab1227b31ad5 Mon Sep 17 00:00:00 2001 From: Krzysztof Wolski Date: Tue, 2 Jun 2020 11:25:26 +0200 Subject: [PATCH 032/120] Updated stories --- .../CartRow/__snapshots__/stories.storyshot | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot b/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot index b575ddfbce..975bb95574 100644 --- a/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot @@ -374,23 +374,33 @@ exports[`Storyshots @components/organisms/CartRow default 1`] = `
    - product image + + product image +
    -

    - The Great Square Table -

    +

    + The Great Square Table +

    +

    From 3f4846982195212ccead8afb6ca4c000f8d0f5d7 Mon Sep 17 00:00:00 2001 From: Daniel Bong Date: Tue, 2 Jun 2020 18:43:13 +0900 Subject: [PATCH 033/120] Fixing not found a type error in Overlay.tsx (#748) * add react-transition-group package they can't found a react-transition-group package in project * update package-lock.json file --- package-lock.json | 78 +++++++++++++++++++++++++++++++++++++++++------ package.json | 2 ++ 2 files changed, 70 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8adafa457c..5bc7d2d3e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6941,6 +6941,20 @@ "prop-types": "^15.6.0", "react-input-autosize": "^2.2.2", "react-transition-group": "^2.2.1" + }, + "dependencies": { + "react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "dev": true, + "requires": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + } + } } } } @@ -11949,9 +11963,9 @@ } }, "@types/react-transition-group": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.2.2.tgz", - "integrity": "sha512-YfoaTNqBwbIqpiJ5NNfxfgg5kyFP1Hqf/jqBtSWNv0E+EkkxmN+3VD6U2fu86tlQvdAc1o0SdWhnWFwcRMTn9A==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.0.tgz", + "integrity": "sha512-/QfLHGpu+2fQOqQaXh8MG9q03bFENooTb/it4jr5kKaZlDQfWvjqWZg48AwzPVMBHlRuTRAY7hRHCEOXz5kV6w==", "dev": true, "requires": { "@types/react": "*" @@ -35167,6 +35181,20 @@ "raf": "^3.4.0", "react-input-autosize": "^2.2.1", "react-transition-group": "^2.2.1" + }, + "dependencies": { + "react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "dev": true, + "requires": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + } + } } }, "react-side-effect": { @@ -35248,15 +35276,45 @@ } }, "react-transition-group": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.5.0.tgz", - "integrity": "sha512-qYB3JBF+9Y4sE4/Mg/9O6WFpdoYjeeYqx0AFb64PTazVy8RPMiE3A47CG9QmM4WJ/mzDiZYslV+Uly6O1Erlgw==", - "dev": true, + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz", + "integrity": "sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==", "requires": { - "dom-helpers": "^3.3.1", + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" + "prop-types": "^15.6.2" + }, + "dependencies": { + "csstype": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.10.tgz", + "integrity": "sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==" + }, + "dom-helpers": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.1.4.tgz", + "integrity": "sha512-TjMyeVUvNEnOnhzs6uAn9Ya47GmMo3qq7m+Lr/3ON0Rs5kHvb8I+SQYjLUSYn7qhEm0QjW0yrBkvz9yOrwwz1A==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^2.6.7" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz", + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + } } }, "reactcss": { diff --git a/package.json b/package.json index 473a53fb25..7770591eec 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "react-router": "^5.1.2", "react-router-dom": "^5.1.2", "react-svg": "^5.0.6", + "react-transition-group": "^4.4.1", "register-service-worker": "^1.6.2", "reset-css": "^4.0.1", "styled-components": "^4.3.0", @@ -101,6 +102,7 @@ "@types/react-router-dom": "^5.1.3", "@types/react-select": "^2.0.19", "@types/react-svg": "^5.0.0", + "@types/react-transition-group": "^4.4.0", "@types/styled-components": "^4.1.16", "@types/url-join": "^4.0.0", "apollo-storybook-react": "^0.2.4", From 35296e2aee318d27f3104c31c595301200b5cfc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 2 Jun 2020 12:11:07 +0200 Subject: [PATCH 034/120] Add build variables to dockerfile (#751) --- Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Dockerfile b/Dockerfile index 735f1da4f5..bf12098236 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,10 @@ COPY package*.json ./ RUN npm install COPY . . ARG API_URI +ARG SENTRY_DSN +ARG SENTRY_APM +ARG DEMO_MODE +ARG GTM_ID ENV API_URI ${API_URI:-http://localhost:8000/graphql/} RUN API_URI=${API_URI} npm run build From b695c2393dce41a60cdf55219dc0fd1a0ead4028 Mon Sep 17 00:00:00 2001 From: Krzysztof Wolski Date: Tue, 2 Jun 2020 12:30:13 +0200 Subject: [PATCH 035/120] Migrate to GH Actions (#750) * Test GH Actions * Run tsc on actions * Experiment with running multiple jobs * Test deps caching * Cache on npx not needed * Deps install as separate step * Move lint check to Actions * Run npm audit fix --- .circleci/config.yml | 9 - .github/workflows/test.yml | 73 +++++ .gitignore | 1 + package-lock.json | 555 ++++++++----------------------------- package.json | 4 +- 5 files changed, 186 insertions(+), 456 deletions(-) create mode 100644 .github/workflows/test.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index 9c27acc788..b70c524b08 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,21 +12,12 @@ jobs: - run: name: Install dependencies command: npm ci - - run: - name: Run typescript checker - command: npx tsc --noEmit & npx tsc --noEmit -p src/@sdk & npx tsc --noEmit -p src/@next - - run: - name: Run tslint - command: npm run tslint - run: name: Build application command: npm run build - run: name: Run tests command: npm run test - - run: - name: Package lock security test - command: npx lockfile-lint --path package-lock.json --allowed-hosts npm yarn - run: name: lhci autorun command: npx lhci autorun --upload.target=temporary-public-storage || echo "LHCI failed!" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000000..0de5abf5f7 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,73 @@ +name: QA + +on: + pull_request: + branches: [ '*' ] + +jobs: + + check-lock: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + + - name: Validate lock file + run: | + npx lockfile-lint --path package-lock.json --allowed-hosts npm yarn + + tsc-and-linters: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Cache node modules + uses: actions/cache@v2 + env: + cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ runner.os }}-qa-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-qa-${{ env.cache-name }}- + ${{ runner.os }}-qa- + ${{ runner.os }}- + + - name: Install deps + run: | + npm ci + + - name: Run tsc + run: | + npm run tsc + + - name: Run tslint + run: | + npm run tslint + + jest-tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Cache node modules + uses: actions/cache@v2 + env: + cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ runner.os }}-qa-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-qa-${{ env.cache-name }}- + ${{ runner.os }}-qa- + ${{ runner.os }}- + + - name: Install deps + run: | + npm ci + + - name: Run jest + run: | + npm run test \ No newline at end of file diff --git a/.gitignore b/.gitignore index 63787c8232..7709514902 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ !.storybook !.circle !.gitignore +!.github !.babelrc !.plop !.jest diff --git a/package-lock.json b/package-lock.json index 5bc7d2d3e8..da874cde69 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4521,16 +4521,18 @@ } }, "@lhci/cli": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@lhci/cli/-/cli-0.3.9.tgz", - "integrity": "sha512-dMsdFvnW4JZK57FV71mu5SScvpDNrDj7wWcZODEujE2N9RPB/ScwOg+LRoMQkkH5pssJ4ynE2X2nPA4BzmF4gg==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@lhci/cli/-/cli-0.4.1.tgz", + "integrity": "sha512-zts7zUKwfIjGuoKPOw6hHiqx4mXDXQ4SDv+8O8LtcvQ31fPQTkxy4jj8UO03wsWVbt+PTp92Z0JVxVtG/bHp2g==", "requires": { - "@lhci/utils": "0.3.9", + "@lhci/utils": "0.4.1", "chrome-launcher": "^0.12.0", "compression": "^1.7.4", "express": "^4.17.1", "inquirer": "^6.3.1", - "lighthouse": "5.5.0", + "isomorphic-fetch": "^2.2.1", + "lighthouse": "6.0.0", + "lighthouse-logger": "1.2.0", "open": "^6.4.0", "tmp": "^0.1.0", "update-notifier": "^3.0.1", @@ -4543,30 +4545,6 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - } - } - }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -4582,49 +4560,6 @@ "wrap-ansi": "^2.0.0" } }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - } - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -4639,68 +4574,6 @@ "strip-eof": "^1.0.0" } }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - } - }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -4717,28 +4590,11 @@ "pump": "^3.0.0" } }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", @@ -4764,39 +4620,6 @@ "path-exists": "^3.0.0" } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" - }, - "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "requires": { - "mime-db": "1.43.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, "open": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", @@ -4823,53 +4646,6 @@ "p-limit": "^2.0.0" } }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - } - } - }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -4878,54 +4654,6 @@ "glob": "^7.1.3" } }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -4942,15 +4670,6 @@ "rimraf": "^2.6.3" } }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -5021,12 +4740,13 @@ } }, "@lhci/utils": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@lhci/utils/-/utils-0.3.9.tgz", - "integrity": "sha512-qXHi54VgKu/MA9InSyer0cGdNjccdi70nunBp51CMBvw2jHNcL0pBatYmmPzOO4weuWPj1HzHUEGWlFmFXKsbQ==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@lhci/utils/-/utils-0.4.1.tgz", + "integrity": "sha512-twSXp1dRY31nwarz7lavOZ/cw0US8jV6Zjy+uheOyKlWjycD2LvFBOjTzTlfoEZkmm038sv1CTybzUzZ1ED2yA==", "requires": { "isomorphic-fetch": "^2.2.1", "js-yaml": "^3.13.1", + "lighthouse": "6.0.0", "tree-kill": "^1.2.1" } }, @@ -14256,9 +13976,9 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "axe-core": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.3.0.tgz", - "integrity": "sha512-54XaTd2VB7A6iBnXMUG2LnBOI7aRbnrVxC5Tz+rVUwYl9MX/cIJc/Ll32YUoFIE/e9UKWMZoQenQu9dFrQyZCg==" + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.3.tgz", + "integrity": "sha512-HZpLE7xu05+8AbpqXITGdxp1Xwk8ysAXrg7MiKRY27py3DAyEJpoJQo1727pWF3F+O79V3r+cTWhOzfB49P89w==" }, "babel-code-frame": { "version": "6.26.0", @@ -15052,8 +14772,7 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "resolved": "", "dev": true } } @@ -15355,7 +15074,6 @@ "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, "requires": { "bytes": "3.1.0", "content-type": "~1.0.4", @@ -15372,14 +15090,12 @@ "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -15387,14 +15103,12 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" } } }, @@ -16939,9 +16653,12 @@ }, "dependencies": { "is-wsl": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", - "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } }, "minimist": { "version": "0.0.8", @@ -17497,7 +17214,6 @@ "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, "requires": { "mime-db": ">= 1.43.0 < 2" }, @@ -17505,8 +17221,7 @@ "mime-db": { "version": "1.44.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" } } }, @@ -17514,7 +17229,6 @@ "version": "1.7.4", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, "requires": { "accepts": "~1.3.5", "bytes": "3.0.0", @@ -17529,7 +17243,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -17537,8 +17250,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -20268,7 +19980,6 @@ "version": "4.17.1", "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, "requires": { "accepts": "~1.3.7", "array-flatten": "1.1.1", @@ -20306,7 +20017,6 @@ "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, "requires": { "mime-types": "~2.1.24", "negotiator": "0.6.2" @@ -20316,7 +20026,6 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, "requires": { "safe-buffer": "5.1.2" } @@ -20324,14 +20033,12 @@ "cookie": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -20339,14 +20046,12 @@ "mime-db": { "version": "1.44.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" }, "mime-types": { "version": "2.1.27", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, "requires": { "mime-db": "1.44.0" } @@ -20354,32 +20059,27 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" } } }, @@ -20520,8 +20220,7 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "resolved": "", "dev": true } } @@ -20893,7 +20592,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -20908,7 +20606,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -20916,14 +20613,12 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" } } }, @@ -22414,7 +22109,6 @@ "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, "requires": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -23148,9 +22842,9 @@ "dev": true }, "inquirer": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz", - "integrity": "sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "requires": { "ansi-escapes": "^3.2.0", "chalk": "^2.4.2", @@ -23158,7 +22852,7 @@ "cli-width": "^2.0.0", "external-editor": "^3.0.3", "figures": "^2.0.0", - "lodash": "^4.17.11", + "lodash": "^4.17.12", "mute-stream": "0.0.7", "run-async": "^2.2.0", "rxjs": "^6.4.0", @@ -23187,14 +22881,6 @@ "supports-color": "^5.3.0" } }, - "rxjs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz", - "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==", - "requires": { - "tslib": "^1.9.0" - } - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -23321,19 +23007,9 @@ "integrity": "sha512-IMSCKVf0USrM/959vj3xac7s8f87sc+80Y/ipBzdKy4ifBv5Gsj2tZ41EAaURVg01QU71fYr77uA8Meh6kELbg==" }, "intl-pluralrules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/intl-pluralrules/-/intl-pluralrules-1.1.1.tgz", - "integrity": "sha512-o00S+9UDHcAAHAriMVZwrGH3CX8mgG74r4TT7Onidx9P6Q9GJKDkp17RD9eU9AFH9LGBJz/xqDUvarud0vk1wQ==", - "requires": { - "make-plural": "^6.0.1" - }, - "dependencies": { - "make-plural": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-6.0.1.tgz", - "integrity": "sha512-h0uBNi4tpDkiWUyYKrJNj8Kif6q3Ba5zp/8jnfPy3pQE+4XcTj6h3eZM5SYVUyDNX9Zk69Isr/dx0I+78aJUaQ==" - } - } + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/intl-pluralrules/-/intl-pluralrules-1.2.0.tgz", + "integrity": "sha512-7v29fFKsaPquXezxttUNFdE6LQUD41I8JX76royEWBPuYIEruvfvprU3d8CsiNVIieVg/VeV2ee5WI0w0Vs2Sg==" }, "into-stream": { "version": "3.1.0", @@ -23373,8 +23049,7 @@ "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, "is-absolute": { "version": "1.0.0", @@ -23526,8 +23201,7 @@ "is-docker": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "dev": true + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==" }, "is-dom": { "version": "1.1.0", @@ -26926,9 +26600,9 @@ "dev": true }, "js-library-detector": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/js-library-detector/-/js-library-detector-5.7.0.tgz", - "integrity": "sha512-pUHR7ryXqiew2agkQ3NppopqJDi5qkJtI86PyQ9LLtg1iGzwIsMz+QNq3ky5bPogSie7AkL/xvcObXu3Veh61Q==" + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/js-library-detector/-/js-library-detector-5.9.0.tgz", + "integrity": "sha512-0wYHRVJv8uVsylJhfQQaH2vOBYGehyZyJbtaHuchoTP3Mb6hqYvrA0hoMQ1ZhARLHzHJMbMc/nCr4D3pTNSCgw==" }, "js-string-escape": { "version": "1.0.1", @@ -27804,12 +27478,12 @@ } }, "lighthouse": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/lighthouse/-/lighthouse-5.5.0.tgz", - "integrity": "sha512-ZFwadvyjeRaM7l6OI3MKe2Vk8im8GTH/M2dd8jnSc5ePkwDh34VieQCLxN8yJZy5/bK6gJvaUBUtbftLvUrRbg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lighthouse/-/lighthouse-6.0.0.tgz", + "integrity": "sha512-5TE1MShNkpybngoo2voMtYrEeLMxNokWFAb24dr3TQdDFC62fpohmlndodlZLiCfUlvLllZO2MpfNwfQXmycHQ==", "requires": { - "axe-core": "3.3.0", - "chrome-launcher": "^0.11.2", + "axe-core": "3.5.3", + "chrome-launcher": "^0.13.2", "configstore": "^3.1.1", "cssstyle": "1.2.1", "details-element-polyfill": "^2.4.0", @@ -27819,7 +27493,7 @@ "intl-messageformat": "^4.4.0", "intl-pluralrules": "^1.0.3", "jpeg-js": "0.1.2", - "js-library-detector": "^5.4.0", + "js-library-detector": "^5.7.0", "jsonld": "^1.5.0", "jsonlint-mod": "^1.7.5", "lighthouse-logger": "^1.2.0", @@ -27827,7 +27501,6 @@ "lodash.set": "^4.3.2", "lookup-closest-locale": "6.0.4", "metaviewport-parser": "0.2.0", - "mkdirp": "0.5.1", "open": "^6.4.0", "parse-cache-control": "1.0.1", "raven": "^2.2.1", @@ -27835,11 +27508,11 @@ "robots-parser": "^2.0.1", "semver": "^5.3.0", "speedline-core": "1.4.2", - "third-party-web": "^0.8.2", + "third-party-web": "^0.11.1", "update-notifier": "^2.5.0", "ws": "3.3.2", "yargs": "3.32.0", - "yargs-parser": "7.0.0" + "yargs-parser": "^18.1.3" }, "dependencies": { "ansi-align": { @@ -27875,15 +27548,26 @@ "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" }, "chrome-launcher": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.11.2.tgz", - "integrity": "sha512-jx0kJDCXdB2ARcDMwNCtrf04oY1Up4rOmVu+fqJ5MTPOOIG8EhRcEU9NZfXZc6dMw9FU8o1r21PNp8V2M0zQ+g==", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.13.2.tgz", + "integrity": "sha512-zWD9RVVKd8Nx2xKGY4G08lb3nCD+2hmICxovvRE9QjBKQzHFvCYqGlsw15b4zUxLKq3wXEwVbR/yLtMbfk7JbQ==", "requires": { "@types/node": "*", - "is-wsl": "^2.1.0", + "escape-string-regexp": "^1.0.5", + "is-wsl": "^2.2.0", "lighthouse-logger": "^1.0.0", - "mkdirp": "0.5.1", - "rimraf": "^2.6.1" + "mkdirp": "^0.5.3", + "rimraf": "^3.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + } } }, "ci-info": { @@ -27952,28 +27636,18 @@ } }, "is-wsl": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", - "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } }, "jpeg-js": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.1.2.tgz", "integrity": "sha1-E1uZLAV1yYXPoPSUoyJ+0jhYPs4=" }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, "open": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", @@ -28085,11 +27759,19 @@ } }, "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "requires": { - "camelcase": "^4.1.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + } } } } @@ -28782,9 +28464,9 @@ "dev": true }, "markdown-to-jsx": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.0.tgz", - "integrity": "sha512-RH7LCJQ4RFmPqVeZEesKaO1biRzB/k4utoofmTCp3Eiw6D7qfvK8fzZq/2bjEJAtVkfPrM5SMt5APGf2rnaKMg==", + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz", + "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==", "dev": true, "requires": { "prop-types": "^15.6.2", @@ -30748,8 +30430,7 @@ "on-headers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" }, "once": { "version": "1.4.0", @@ -33594,7 +33275,6 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dev": true, "requires": { "forwarded": "~0.1.2", "ipaddr.js": "1.9.1" @@ -33951,8 +33631,7 @@ "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raven": { "version": "2.6.4", @@ -33970,7 +33649,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dev": true, "requires": { "bytes": "3.1.0", "http-errors": "1.7.2", @@ -33981,8 +33659,7 @@ "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" } } }, @@ -36777,7 +36454,6 @@ "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dev": true, "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -36798,7 +36474,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" }, @@ -36806,16 +36481,14 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" } } }, @@ -36929,7 +36602,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -36940,8 +36612,7 @@ "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" } } }, @@ -36981,8 +36652,7 @@ "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, "sha.js": { "version": "2.4.11", @@ -37346,8 +37016,7 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "resolved": "", "dev": true } } @@ -37907,8 +37576,7 @@ "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, "stdout-stream": { "version": "1.4.1", @@ -39214,9 +38882,9 @@ "dev": true }, "third-party-web": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/third-party-web/-/third-party-web-0.8.2.tgz", - "integrity": "sha512-HVsNbtlvshQ7X+HwiMvVbes+aH5KwvfncUcUR1EaJ9qENZO/I3fNysunKBUtJZeVoIYq3HHKqeDayarTmBtdPw==" + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/third-party-web/-/third-party-web-0.11.1.tgz", + "integrity": "sha512-PBS478cWhvCM8seuloomV5lGHvu2qMOCj8gq8wKOApdfAaGh9l2rYZkdsBDaQyQg/6plov3uodc6sZ/3c1lu/g==" }, "throat": { "version": "4.1.0", @@ -39775,7 +39443,6 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -39784,14 +39451,12 @@ "mime-db": { "version": "1.44.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" }, "mime-types": { "version": "2.1.27", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, "requires": { "mime-db": "1.44.0" } @@ -39915,9 +39580,9 @@ "dev": true }, "underscore": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz", - "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==" + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.10.2.tgz", + "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg==" }, "unfetch": { "version": "4.1.0", diff --git a/package.json b/package.json index 7770591eec..7aa9995de2 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "browserslist": "last 2 versions", "dependencies": { "@babel/runtime": "^7.5.5", - "@lhci/cli": "^0.3.9", + "@lhci/cli": "^0.4.1", "@saleor/sdk": "github:mirumee/saleor-sdk#649e0ba", "@sentry/apm": "^5.15.5", "@sentry/browser": "^5.15.5", @@ -174,7 +174,7 @@ "codegen-sdk": "apollo codegen:generate --target=typescript gqlTypes --config src/@sdk/apollo.config.js --globalTypesFile src/@sdk/gqlTypes/globalTypes.ts", "codegen-watch": "npm run codegen -- --watch", "tslint": "tslint 'src/**/*.ts?(x)'", - "tsc": "npx tsc --noEmit & npx tsc --noEmit -p src/@sdk & npx tsc --noEmit -p src/@next", + "tsc": "npx tsc --noEmit & npx tsc --noEmit -p src/@next", "heroku-postbuild": "npm run build", "sitemap": "ts-node ./src/sitemap-builder.ts", "generate": "npx plop --plopfile ./.plop/index.js", From 5019b4c3a24a673578ed9ab02a840726331f2576 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 19:57:19 +0000 Subject: [PATCH 036/120] [Security] Bump websocket-extensions from 0.1.3 to 0.1.4 Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4. **This update includes a security fix.** - [Release notes](https://github.com/faye/websocket-extensions-node/releases) - [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md) - [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index da874cde69..280969afe2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14772,7 +14772,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } @@ -20220,7 +20221,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } @@ -37016,7 +37018,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } @@ -41405,9 +41408,9 @@ } }, "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, "whatwg-encoding": { From 47f837be71eba585e21ac3c289a589e2ead99468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Szyma=C5=84ski?= Date: Mon, 8 Jun 2020 11:04:32 +0200 Subject: [PATCH 037/120] Fix SDK resolving --- package-lock.json | 14 +++++++++----- package.json | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index da874cde69..62480aa9ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5496,8 +5496,9 @@ } }, "@saleor/sdk": { - "version": "github:mirumee/saleor-sdk#649e0ba876296df111f47a127631a1824ae089ca", - "from": "github:mirumee/saleor-sdk#649e0ba", + "version": "0.1.0-4", + "resolved": "https://registry.npmjs.org/@saleor/sdk/-/sdk-0.1.0-4.tgz", + "integrity": "sha512-peYDqxF0onp5sZoqpLMq7+3ZlnFbua8x59TOA4WtEWNGClr2uLxqriR3fT2BtY4AtxTqzV5Wvi7V1uDHKIzQZQ==", "requires": { "apollo-cache": "^1.3.5", "apollo-link-batch-http": "^1.2.14", @@ -14772,7 +14773,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } @@ -20220,7 +20222,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } @@ -37016,7 +37019,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } diff --git a/package.json b/package.json index 7aa9995de2..1d7139d8e3 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "dependencies": { "@babel/runtime": "^7.5.5", "@lhci/cli": "^0.4.1", - "@saleor/sdk": "github:mirumee/saleor-sdk#649e0ba", + "@saleor/sdk": "0.1.0-4", "@sentry/apm": "^5.15.5", "@sentry/browser": "^5.15.5", "@stripe/react-stripe-js": "^1.1.2", From 8cc284559a13f5c8f9bfe28eccf7da83a9c72bb6 Mon Sep 17 00:00:00 2001 From: Krzysztof Wolski Date: Mon, 8 Jun 2020 13:40:18 +0200 Subject: [PATCH 038/120] Cover app with data-test for e2e testing (organism approach) (#757) * Update testing context * Update snapshots * Update cypress tests --- .../category/filters_and_sort_bar.js | 18 ++--- cypress/integration/category/product_list.js | 6 +- cypress/integration/main_menu/login_form.js | 10 +-- .../user_account/user_orders_history.js | 8 +- cypress/support/category/index.js | 4 +- cypress/support/login/index.js | 18 ++--- src/@next/components/atoms/Button/Button.tsx | 6 +- .../Button/__snapshots__/stories.storyshot | 6 +- src/@next/components/atoms/Button/stories.tsx | 6 +- src/@next/components/atoms/Button/test.tsx | 12 +-- src/@next/components/atoms/Button/types.ts | 9 ++- .../atoms/ButtonLink/ButtonLink.tsx | 4 +- .../__snapshots__/stories.storyshot | 3 + .../components/atoms/ButtonLink/stories.tsx | 6 +- .../components/atoms/ButtonLink/test.tsx | 3 +- .../components/atoms/ButtonLink/types.ts | 9 +++ .../__snapshots__/stories.storyshot | 4 +- .../components/atoms/DropdownMenu/stories.tsx | 2 +- .../atoms/DropdownSelect/DropdownSelect.tsx | 3 +- .../__snapshots__/stories.storyshot | 3 +- .../atoms/ErrorMessage/ErrorMessage.tsx | 4 +- .../__snapshots__/stories.storyshot | 5 ++ .../atoms/IconButton/IconButton.tsx | 4 +- .../__snapshots__/stories.storyshot | 4 +- .../components/atoms/IconButton/stories.tsx | 4 +- .../components/atoms/IconButton/types.ts | 9 +++ .../components/atoms/Message/Message.tsx | 2 +- .../Message/__snapshots__/stories.storyshot | 10 +-- .../__snapshots__/stories.storyshot | 2 +- .../molecules/AccountMenu/AccountMenu.tsx | 2 +- .../__snapshots__/stories.storyshot | 12 ++- .../molecules/AccountTabTiles/AccountTile.tsx | 1 + .../AccountTabTiles/AccountUpdateForm.tsx | 6 +- .../AccountTabTiles/PasswordChangeForm.tsx | 6 +- .../AccountTabTiles/PasswordTile.tsx | 1 + .../AddressSummary/AddressSummary.tsx | 4 +- .../molecules/AddressTile/AddressTile.tsx | 6 +- .../__snapshots__/stories.storyshot | 12 +-- .../AddressTileOption/AddressTileOption.tsx | 2 +- .../__snapshots__/stories.storyshot | 2 + .../AttributeValuesChecklist.tsx | 1 + .../__snapshots__/stories.storyshot | 1 + .../molecules/CardHeader/CardHeader.tsx | 2 +- .../__snapshots__/stories.storyshot | 6 +- .../molecules/CardHeader/stories.tsx | 4 +- .../components/molecules/CardHeader/test.tsx | 2 +- .../CartSummaryRow/CartSummaryRow.tsx | 12 +-- .../__snapshots__/stories.storyshot | 12 +-- .../CreditCardTile/CreditCardTile.tsx | 8 +- .../__snapshots__/stories.storyshot | 6 +- .../molecules/FormFooter/FormFooter.tsx | 4 +- .../__snapshots__/stories.storyshot | 7 +- .../molecules/FormFooter/stories.tsx | 4 +- .../components/molecules/FormFooter/test.tsx | 6 +- .../components/molecules/FormFooter/types.ts | 5 +- .../molecules/InputSelect/InputSelect.tsx | 2 +- .../molecules/OrderTabel/OrderTabel.tsx | 3 +- .../__snapshots__/stories.storyshot | 6 +- .../molecules/OverlayItem/OverlayItem.tsx | 5 +- .../__snapshots__/stories.storyshot | 2 + .../components/molecules/OverlayItem/types.ts | 5 ++ .../ProductListHeader/ProductListHeader.tsx | 6 +- .../__snapshots__/stories.storyshot | 15 ++-- .../molecules/ProductTile/ProductTile.tsx | 8 +- .../__snapshots__/stories.storyshot | 4 +- .../ResetPasswordForm/ResetPasswordForm.tsx | 2 +- .../__snapshots__/stories.storyshot | 2 +- .../TextField/__snapshots__/stories.storyshot | 2 + .../AddressForm/AddressFormContent.tsx | 16 +--- .../__snapshots__/stories.storyshot | 34 +------- .../components/organisms/AddressForm/types.ts | 1 + .../AddressFormModal/AddressFormModal.tsx | 3 +- .../__snapshots__/stories.storyshot | 24 +++--- .../AddressGridSelector.tsx | 5 +- .../__snapshots__/stories.storyshot | 7 +- .../BraintreePaymentGateway.tsx | 2 +- .../__snapshots__/stories.storyshot | 2 + .../components/organisms/CartRow/CartRow.tsx | 34 ++++---- .../CartRow/__snapshots__/stories.storyshot | 39 +++++---- .../components/organisms/CartRow/test.tsx | 2 +- .../organisms/CartSummary/CartSummary.tsx | 4 +- .../__snapshots__/stories.storyshot | 46 ++++++----- .../CheckoutAddress/CheckoutAddress.tsx | 3 +- .../__snapshots__/stories.storyshot | 23 ++---- .../CheckoutPayment/CheckoutPayment.tsx | 9 ++- .../__snapshots__/stories.storyshot | 50 ++++++------ .../CheckoutReview/CheckoutReview.tsx | 20 ++--- .../__snapshots__/stories.storyshot | 17 ++-- .../CheckoutShipping/CheckoutShipping.tsx | 9 +-- .../__snapshots__/stories.storyshot | 16 ++-- .../CreditCardForm/CreditCardFormContent.tsx | 2 +- .../__snapshots__/stories.storyshot | 5 ++ .../__snapshots__/stories.storyshot | 18 ++++- .../organisms/DiscountForm/DiscountForm.tsx | 7 +- .../__snapshots__/stories.storyshot | 4 +- .../DummyPaymentGateway.tsx | 7 +- .../__snapshots__/stories.storyshot | 16 +--- .../organisms/FilterSidebar/FilterSidebar.tsx | 4 +- .../__snapshots__/stories.storyshot | 5 +- .../components/organisms/Modal/Modal.tsx | 15 ++-- .../Modal/__snapshots__/stories.storyshot | 16 ++-- .../components/organisms/Modal/stories.tsx | 3 +- src/@next/components/organisms/Modal/test.tsx | 7 +- src/@next/components/organisms/Modal/types.ts | 3 +- .../components/organisms/Overlay/Overlay.tsx | 4 + .../components/organisms/Overlay/types.ts | 9 +++ .../PaymentGatewaysList.tsx | 12 +-- .../__snapshots__/stories.storyshot | 8 +- .../ProductGallery/ProductGallery.tsx | 6 +- .../__snapshots__/stories.storyshot | 66 +++++++++++++--- .../organisms/ProductList/ProductList.tsx | 5 +- .../__snapshots__/stories.storyshot | 28 +++++-- .../organisms/ProductList/stories.tsx | 1 + .../components/organisms/ProductList/types.ts | 5 ++ .../ProductVariantAttributeSelect.tsx | 2 + .../organisms/SelectSidebar/SelectSidebar.tsx | 6 +- .../__snapshots__/stories.storyshot | 43 +++++++++- .../organisms/SelectSidebar/types.ts | 5 ++ .../organisms/SideNavbar/SideNavbar.tsx | 2 +- .../__snapshots__/stories.storyshot | 1 + .../StripeCreditCardForm.tsx | 2 +- .../__snapshots__/stories.storyshot | 1 + .../StripePaymentGateway.tsx | 18 +++-- .../__snapshots__/stories.storyshot | 79 ++++++++++--------- .../organisms/ThankYou/ThankYou.tsx | 6 +- .../ThankYou/__snapshots__/stories.storyshot | 5 +- .../organisms/TopNavbar/TopNavbar.tsx | 2 +- .../TopNavbar/__snapshots__/stories.storyshot | 1 + src/@next/pages/CartPage/CartPage.tsx | 16 ++-- src/@next/pages/CheckoutPage/CheckoutPage.tsx | 2 +- .../pages/OrdersHistory/OrdersHistory.tsx | 2 +- src/components/Button/index.tsx | 9 ++- .../CheckoutLogin/CheckoutAsGuest.tsx | 4 +- src/components/LoginForm/index.tsx | 2 +- src/components/MainMenu/MainMenu.tsx | 28 +++---- src/components/MenuDropdown/index.tsx | 2 +- src/components/NotFound/index.tsx | 2 +- src/components/Overlay/Overlay.tsx | 6 ++ src/components/OverlayManager/Cart/Cart.tsx | 14 ++-- src/components/OverlayManager/Cart/Empty.tsx | 2 +- .../OverlayManager/Cart/ProductList.tsx | 9 ++- .../Login/ForgottenPassword.tsx | 2 +- .../OverlayManager/Login/RegisterForm.tsx | 2 +- src/components/OverlayManager/Login/index.tsx | 6 +- src/components/OverlayManager/Manager.tsx | 4 +- src/components/OverlayManager/MobileNav.tsx | 2 +- src/components/OverlayManager/Modal/index.tsx | 13 ++- .../OverlayManager/Password/index.tsx | 2 +- .../OverlayManager/Search/Search.tsx | 4 +- src/components/PasswordResetForm/index.tsx | 2 +- .../ProductDescription/AddToCart.tsx | 2 +- .../ProductDescription/AddToCartButton.tsx | 2 +- .../ProductDescription/QuantityTextField.tsx | 1 + src/views/Home/Page.tsx | 2 +- 154 files changed, 767 insertions(+), 550 deletions(-) diff --git a/cypress/integration/category/filters_and_sort_bar.js b/cypress/integration/category/filters_and_sort_bar.js index 640ee27b19..7458f7e492 100644 --- a/cypress/integration/category/filters_and_sort_bar.js +++ b/cypress/integration/category/filters_and_sort_bar.js @@ -27,29 +27,29 @@ describe("Category view - filtering and sorting", () => { it("should show correct number of products in category if no filtering applied", () => { cy - .get("[data-cy=no-of-products-found_label]") + .get("[data-test=productsFoundCounter]") .should("have.text", "Products found: 7"); }); it("should show filter sidebar after clicking on filter menu", () => { cy - .get("[data-cy=filter-sidebar]") + .get("[data-test=filterSidebar]") .should("have.length", 0) .openFilterSidebar() - .get("[data-cy=filter-sidebar]") + .get("[data-test=filterSidebar]") .should("have.length", 1); }); it("should hide filter sidebar after clicking on close icon button", () => { cy - .get("[data-cy=filter-sidebar]") + .get("[data-test=filterSidebar]") .should("have.length", 0) .openFilterSidebar() - .get("[data-cy=filter-sidebar]") + .get("[data-test=filterSidebar]") .should("have.length", 1) - .get("[data-cy=icon_button]") + .get("[data-test=hideFilters]") .click() - .get("[data-cy=filter-sidebar]") + .get("[data-test=filterSidebar]") .should("have.length", 0); }); @@ -59,9 +59,9 @@ describe("Category view - filtering and sorting", () => { .get("label") .first() .click() - .get("[data-cy=no-of-products-found_label]") + .get("[data-test=productsFoundCounter]") .should("have.text", "Products found: 5") - .get("[data-cy=product-tile") + .get("[data-test=productTile") .should("have.length", 5); }); diff --git a/cypress/integration/category/product_list.js b/cypress/integration/category/product_list.js index 34d140bcba..af76330ff7 100644 --- a/cypress/integration/category/product_list.js +++ b/cypress/integration/category/product_list.js @@ -27,13 +27,13 @@ describe("Product list view", () => { }); it("category view should contain 6 visible products", () => { - cy.get("[data-cy=product-tile").should("have.length", 6); + cy.get("[data-test=productTile").should("have.length", 6); }); it("should load more products when clicking on MORE button", () => { - cy.get("[data-cy=loadMoreProductsButton]") + cy.get("[data-test=loadMoreProductsButton]") .click(); - cy.get("[data-cy=product-tile]").then((tiles)=>expect(tiles.length).to.be.at.least(6)) + cy.get("[data-test=productTile]").then((tiles)=>expect(tiles.length).to.be.at.least(6)) }); }); diff --git a/cypress/integration/main_menu/login_form.js b/cypress/integration/main_menu/login_form.js index 316b8c0f22..9fb7244429 100644 --- a/cypress/integration/main_menu/login_form.js +++ b/cypress/integration/main_menu/login_form.js @@ -26,7 +26,7 @@ describe("User login, logout and registration", () => { }); it("should open overlay with a sign in and register form", () => { - cy.get("[data-cy=desktopMenuLoginOverlayLink]") + cy.get("[data-test=desktopMenuLoginOverlayLink]") .click() .get(".overlay") .should("exist"); @@ -35,19 +35,19 @@ describe("User login, logout and registration", () => { describe("Login", () => { it("should successfully log in an user", () => { cy.loginUser("admin@example.com", "admin") - .get("[data-cy=alert]") + .get("[data-test=alert]") .should("contain", "You are now logged in"); }); it("should display an error if user does not exist", () => { cy - .get("[data-cy=desktopMenuLoginOverlayLink]") + .get("[data-test=desktopMenuLoginOverlayLink]") .click() .get(".login__content input[name='email']") .type("thisUserIsNotRegistered@example.com") .get(".login__content input[name='password']") .type("thisisnotavalidpassword") - .get("[data-cy=submitLoginFormButton]") + .get("[data-test=submit]") .click() .get(".login__content .form-error", {timeoout: 20000}) .should("contain", "Please, enter valid credentials"); @@ -59,7 +59,7 @@ describe("User login, logout and registration", () => { cy.loginUser("admin@example.com", "admin"); cy.wait(2000); // wait for reloading UI cy.logoutUser() - .get("[data-cy=alert]") + .get("[data-test=alert]") .should("contain", "You are now logged out"); }); }); diff --git a/cypress/integration/user_account/user_orders_history.js b/cypress/integration/user_account/user_orders_history.js index 005d04081b..721cf92cb1 100644 --- a/cypress/integration/user_account/user_orders_history.js +++ b/cypress/integration/user_account/user_orders_history.js @@ -39,18 +39,18 @@ describe("User orders histoy", () => { it("if user is logged in, when accessing order history and clicking load more button 10 orders should be visible", () => { cy .get(".account__content", {timeout:15000}) - .find("[data-cy=order__row]") + .find("[data-test=orderEntry]") .should("have.length", 5) - .get("[data-cy=loadMoreOrdersButton]") + .get("[data-test=loadMoreOrdersButton]") .click() .get(".account__content") - .find("[data-cy=order__row]") + .find("[data-test=orderEntry]") .should("have.length", 10); }); it("if user is logged in, when accessing order history and clicking on order should move user to order view", () => { cy - .get("[data-cy=order__row]:first", {timeout:15000}) + .get("[data-test=orderEntry]:first", {timeout:15000}) .click(); cy.location().should((loc) => { diff --git a/cypress/support/category/index.js b/cypress/support/category/index.js index d6174d3a38..773fff41aa 100644 --- a/cypress/support/category/index.js +++ b/cypress/support/category/index.js @@ -1,12 +1,12 @@ const openFilterSidebar = () => { return cy - .get("[data-cy=filters__button]") + .get("[data-test=filtersButton]") .click(); }; const openCategory = (index = 0) => { return cy - .get("[data-cy=main-menu__item]", {timeout: 5000}) + .get("[data-test=mainMenuItem]", {timeout: 5000}) .eq(index) .click(); }; diff --git a/cypress/support/login/index.js b/cypress/support/login/index.js index 25425016a4..1b12daf0d9 100644 --- a/cypress/support/login/index.js +++ b/cypress/support/login/index.js @@ -14,26 +14,24 @@ Cypress.Commands.add("createUser", createUser); Cypress.Commands.add("loginUser", (email, password) => { return cy - .get("[data-cy=desktopMenuLoginOverlayLink]") + .get("[data-test=desktopMenuLoginOverlayLink]") .click() - .get("[data-cy=accountOverlayLoginTab]") - .click() - .get(".login__content input[name='email']") + .get("[data-test=loginOverlay] input[name='email']") .type(email) - .get(".login__content input[name='password']") + .get("[data-test=loginOverlay] input[name='password']") .type(password) - .get("[data-cy=submitLoginFormButton]") + .get("[data-test=submit]") .click() - .get("[data-cy=alert]") + .get("[data-test=alert]") .should("contain", "You are now logged in", {timeoout: 20000}); }); Cypress.Commands.add("logoutUser", () => cy - .get("[data-cy=userButton]") + .get("[data-test=userButton]") .click() - .get("[data-cy=desktopMenuLogoutLink]") + .get("[data-test=desktopMenuLogoutLink]") .click() - .get("[data-cy=alert]") + .get("[data-test=alert]") .should("contain", "You are now logged out", {timeoout: 20000}) ); diff --git a/src/@next/components/atoms/Button/Button.tsx b/src/@next/components/atoms/Button/Button.tsx index 087dc7ea7e..953ff9c209 100644 --- a/src/@next/components/atoms/Button/Button.tsx +++ b/src/@next/components/atoms/Button/Button.tsx @@ -10,7 +10,8 @@ export const Button: React.FC = ({ color = "primary", btnRef, children, - dataCy, + testingContext, + testingContextId, fullWidth = false, size = "md", ...props @@ -19,7 +20,8 @@ export const Button: React.FC = ({ return ( ( - + )) .add("Secondary", () => ( - )) .add("Size sm", () => ( - )); diff --git a/src/@next/components/atoms/Button/test.tsx b/src/@next/components/atoms/Button/test.tsx index 20e35b8bab..c300ab685c 100644 --- a/src/@next/components/atoms/Button/test.tsx +++ b/src/@next/components/atoms/Button/test.tsx @@ -9,22 +9,22 @@ import * as S from "./styles"; describe("); + const wrapper = shallow(); expect(wrapper.text()).toEqual(text); }); it("simulates click events", () => { const onButtonClick = jest.fn(); - const wrapper = shallow( - diff --git a/src/@next/components/organisms/ThankYou/__snapshots__/stories.storyshot b/src/@next/components/organisms/ThankYou/__snapshots__/stories.storyshot index 63c3726b44..5791eda8bc 100644 --- a/src/@next/components/organisms/ThankYou/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/ThankYou/__snapshots__/stories.storyshot @@ -183,6 +183,7 @@ exports[`Storyshots @components/organisms/ThankYou default 1`] = ` >

    @@ -229,7 +230,7 @@ exports[`Storyshots @components/organisms/ThankYou default 1`] = ` +

    or you can{" "} overlay.show(OverlayType.register, OverlayTheme.right)} > diff --git a/src/components/LoginForm/index.tsx b/src/components/LoginForm/index.tsx index c1accada39..fbef37ddab 100644 --- a/src/components/LoginForm/index.tsx +++ b/src/components/LoginForm/index.tsx @@ -51,7 +51,7 @@ const LoginForm: React.FC = ({ hide }) => { />

    +
    diff --git a/src/components/Overlay/Overlay.tsx b/src/components/Overlay/Overlay.tsx index e6ee471202..704e716a98 100644 --- a/src/components/Overlay/Overlay.tsx +++ b/src/components/Overlay/Overlay.tsx @@ -8,18 +8,24 @@ import { OverlayContextInterface } from "./context"; interface OverlayProps { context: OverlayContextInterface; className?: string; + /** + * Unique name used as selector for writing e2e tests in Cypress * Unique name used as selector for writing e2e tests in Cypress + */ + testingContext: string; } const Overlay: React.FC = ({ children, className, context: { type, theme, hide }, + testingContext, }) => (
    e.stopPropagation()}> diff --git a/src/components/OverlayManager/Cart/Cart.tsx b/src/components/OverlayManager/Cart/Cart.tsx index 0f69499161..2f4629da3e 100644 --- a/src/components/OverlayManager/Cart/Cart.tsx +++ b/src/components/OverlayManager/Cart/Cart.tsx @@ -52,7 +52,7 @@ const Cart: React.FC<{ overlay: OverlayContextInterface }> = ({ overlay }) => { }; return ( - +
    @@ -85,7 +85,7 @@ const Cart: React.FC<{ overlay: OverlayContextInterface }> = ({ overlay }) => { Subtotal @@ -97,7 +97,7 @@ const Cart: React.FC<{ overlay: OverlayContextInterface }> = ({ overlay }) => { Shipping @@ -109,7 +109,7 @@ const Cart: React.FC<{ overlay: OverlayContextInterface }> = ({ overlay }) => { Promo code @@ -120,7 +120,7 @@ const Cart: React.FC<{ overlay: OverlayContextInterface }> = ({ overlay }) => { Total @@ -132,14 +132,14 @@ const Cart: React.FC<{ overlay: OverlayContextInterface }> = ({ overlay }) => { token: null, })} > -
    - diff --git a/src/components/OverlayManager/Cart/Empty.tsx b/src/components/OverlayManager/Cart/Empty.tsx index 8110ff218e..9ce84205d6 100644 --- a/src/components/OverlayManager/Cart/Empty.tsx +++ b/src/components/OverlayManager/Cart/Empty.tsx @@ -10,7 +10,7 @@ const Empty: React.FC<{ overlayHide(): void }> = ({ overlayHide }) => ( in our store

    -
    diff --git a/src/components/OverlayManager/Cart/ProductList.tsx b/src/components/OverlayManager/Cart/ProductList.tsx index 7b8bdc85e7..a4bd5f1897 100644 --- a/src/components/OverlayManager/Cart/ProductList.tsx +++ b/src/components/OverlayManager/Cart/ProductList.tsx @@ -22,24 +22,25 @@ const ProductList: React.SFC<{ const key = line.id ? `id-${line.id}` : `idx-${index}`; return ( -
  • +
  • -

    +

    -

    {line.variant.product.name}

    +

    {line.variant.product.name}

    {line.variant.name} - {`Qty: ${line.quantity}`} + {`Qty: ${line.quantity}`} remove(line.variant.id)} />
    diff --git a/src/components/OverlayManager/Login/ForgottenPassword.tsx b/src/components/OverlayManager/Login/ForgottenPassword.tsx index 2e6fbb1918..a9013be846 100644 --- a/src/components/OverlayManager/Login/ForgottenPassword.tsx +++ b/src/components/OverlayManager/Login/ForgottenPassword.tsx @@ -7,7 +7,7 @@ const ForgottenPassword: React.FC<{

    Have you forgotten your password?  - + Click Here

    diff --git a/src/components/OverlayManager/Login/RegisterForm.tsx b/src/components/OverlayManager/Login/RegisterForm.tsx index 45822c2a6e..9c77574430 100644 --- a/src/components/OverlayManager/Login/RegisterForm.tsx +++ b/src/components/OverlayManager/Login/RegisterForm.tsx @@ -63,7 +63,7 @@ const RegisterForm: React.FC<{ hide: () => void }> = ({ hide }) => { required />
    -
    diff --git a/src/components/OverlayManager/Login/index.tsx b/src/components/OverlayManager/Login/index.tsx index 257ca357c8..0f7b664422 100644 --- a/src/components/OverlayManager/Login/index.tsx +++ b/src/components/OverlayManager/Login/index.tsx @@ -41,7 +41,7 @@ class Login extends React.Component< const { show, hide } = overlay; return ( - +
    @@ -54,14 +54,14 @@ class Login extends React.Component<
    this.changeActiveTab("login")} className={this.state.active === "login" ? "active-tab" : ""} > Sign in to account this.changeActiveTab("register")} className={this.state.active === "register" ? "active-tab" : ""} > diff --git a/src/components/OverlayManager/Manager.tsx b/src/components/OverlayManager/Manager.tsx index 6c9f4573f9..2e06f62d98 100644 --- a/src/components/OverlayManager/Manager.tsx +++ b/src/components/OverlayManager/Manager.tsx @@ -14,7 +14,7 @@ const OverlayManager: React.FC = () => ( {overlay => { switch (overlay.type) { case OverlayType.modal: - return ; + return ; case OverlayType.message: return ; @@ -38,7 +38,7 @@ const OverlayManager: React.FC = () => ( return ; case OverlayType.mainMenuNav: - return ; + return ; default: return null; diff --git a/src/components/OverlayManager/MobileNav.tsx b/src/components/OverlayManager/MobileNav.tsx index f3874bad58..7d0b4cca49 100644 --- a/src/components/OverlayManager/MobileNav.tsx +++ b/src/components/OverlayManager/MobileNav.tsx @@ -8,7 +8,7 @@ const MobileNav: React.FC<{ overlay: OverlayContextInterface }> = ({ const items: INavItem[] = overlay.context.data; return ( - +
    evt.stopPropagation()}>
    diff --git a/src/components/OverlayManager/Modal/index.tsx b/src/components/OverlayManager/Modal/index.tsx index d1fff0b6d0..bf73c5df5d 100644 --- a/src/components/OverlayManager/Modal/index.tsx +++ b/src/components/OverlayManager/Modal/index.tsx @@ -4,8 +4,17 @@ import * as React from "react"; import { Overlay, OverlayContextInterface } from "../.."; -const Modal: React.FC<{ overlay: OverlayContextInterface }> = ({ +export interface IModal { + overlay: OverlayContextInterface; + /** + * Used as marker for writing e2e tests + */ + testingContext: string; +} + +const Modal: React.FC = ({ overlay, -}) => {overlay.context.content}; + testingContext, +}) => {overlay.context.content}; export default Modal; diff --git a/src/components/OverlayManager/Password/index.tsx b/src/components/OverlayManager/Password/index.tsx index 314b9aae69..3c9a50af4a 100644 --- a/src/components/OverlayManager/Password/index.tsx +++ b/src/components/OverlayManager/Password/index.tsx @@ -17,7 +17,7 @@ import closeImg from "../../../images/x.svg"; const Password: React.FC<{ overlay: OverlayContextInterface }> = ({ overlay, }) => ( - +
    diff --git a/src/components/OverlayManager/Search/Search.tsx b/src/components/OverlayManager/Search/Search.tsx index 46a6c9d67a..ef110c9edc 100644 --- a/src/components/OverlayManager/Search/Search.tsx +++ b/src/components/OverlayManager/Search/Search.tsx @@ -81,7 +81,7 @@ class Search extends React.Component { render() { return ( - +
    { ) : (
    diff --git a/src/components/ProductDescription/AddToCart.tsx b/src/components/ProductDescription/AddToCart.tsx index 2ee9c6fe73..a6b656ab66 100644 --- a/src/components/ProductDescription/AddToCart.tsx +++ b/src/components/ProductDescription/AddToCart.tsx @@ -8,7 +8,7 @@ const AddToCart: React.FC<{ }> = ({ onSubmit, disabled }) => { return ( { onSubmit(); diff --git a/src/components/ProductDescription/AddToCartButton.tsx b/src/components/ProductDescription/AddToCartButton.tsx index 5dd4bfd68e..d7f18ba57e 100644 --- a/src/components/ProductDescription/AddToCartButton.tsx +++ b/src/components/ProductDescription/AddToCartButton.tsx @@ -44,7 +44,7 @@ class AddToCartButton extends React.PureComponent< return ( + ) )} From a128a9fd13067fb2828320afa1691c2f0da17287 Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Tue, 9 Jun 2020 11:51:31 +0200 Subject: [PATCH 039/120] Add prettier to precommit --- .prettierrc | 1 + package-lock.json | 866 +++++++++++++++++- package.json | 15 + src/@next/components/atoms/Button/Button.tsx | 2 +- src/@next/components/atoms/Button/stories.tsx | 16 +- src/@next/components/atoms/Button/test.tsx | 22 +- src/@next/components/atoms/Button/types.ts | 4 +- .../atoms/ButtonLink/ButtonLink.tsx | 8 +- .../components/atoms/ButtonLink/stories.tsx | 12 +- .../components/atoms/ButtonLink/test.tsx | 6 +- .../components/atoms/ButtonLink/types.ts | 6 +- .../components/atoms/CartHeader/stories.tsx | 5 +- .../components/atoms/Checkbox/Checkbox.tsx | 4 +- .../atoms/DemoBanner/DemoBanner.tsx | 2 +- .../components/atoms/DemoBanner/index.ts | 2 +- .../components/atoms/DemoBanner/stories.tsx | 6 +- .../components/atoms/DemoBanner/styles.ts | 2 +- .../components/atoms/DemoBanner/test.tsx | 2 +- .../components/atoms/DropdownMenu/stories.tsx | 9 +- .../components/atoms/DropdownMenu/test.tsx | 10 +- .../atoms/DropdownSelect/DropdownSelect.tsx | 4 +- .../components/atoms/DropdownSelect/test.tsx | 25 +- .../atoms/ErrorMessage/ErrorMessage.tsx | 4 +- .../atoms/IconButton/IconButton.tsx | 7 +- .../components/atoms/IconButton/stories.tsx | 8 +- .../components/atoms/IconButton/types.ts | 4 +- .../components/atoms/NavLink/NavLink.tsx | 2 +- .../NotificationTemplate.tsx | 7 +- src/@next/components/atoms/index.ts | 2 +- .../ServiceWorkerProvider.tsx | 7 +- .../molecules/AccountMenu/AccountMenu.tsx | 7 +- .../AccountTabTiles/AccountUpdateForm.tsx | 7 +- .../AccountTabTiles/PasswordChangeForm.tsx | 7 +- .../molecules/AddressSummary/stories.tsx | 5 +- .../molecules/AddressTile/AddressTile.tsx | 18 +- .../components/molecules/AddressTile/test.tsx | 30 +- .../molecules/CardHeader/CardHeader.tsx | 9 +- .../molecules/CardHeader/stories.tsx | 16 +- .../CartSummaryRow/CartSummaryRow.tsx | 3 +- .../CreditCardTile/CreditCardTile.tsx | 14 +- .../molecules/FormFooter/FormFooter.tsx | 7 +- .../components/molecules/FormFooter/test.tsx | 4 +- .../components/molecules/InputSelect/test.tsx | 5 +- .../molecules/OrderTabel/OrderTabel.tsx | 5 +- .../components/molecules/OrderTabel/test.tsx | 10 +- .../molecules/OverlayItem/OverlayItem.tsx | 10 +- .../components/molecules/OverlayItem/types.ts | 4 +- .../molecules/ProductDescription/test.tsx | 5 +- .../ProductListHeader/ProductListHeader.tsx | 4 +- .../molecules/ProductListHeader/test.tsx | 5 +- .../AddressForm/AddressFormContent.tsx | 7 +- .../components/organisms/AddressForm/test.tsx | 15 +- .../components/organisms/CartRow/CartRow.tsx | 11 +- .../organisms/CheckoutAddress/test.tsx | 15 +- .../organisms/CheckoutPayment/test.tsx | 15 +- .../CheckoutReview/CheckoutReview.tsx | 24 +- .../organisms/CheckoutReview/stories.tsx | 5 +- .../CheckoutShipping/CheckoutShipping.tsx | 11 +- .../CreditCardForm/CreditCardFormContent.tsx | 7 +- .../organisms/DiscountForm/DiscountForm.tsx | 7 +- .../DummyPaymentGateway.tsx | 11 +- .../organisms/DummyPaymentGateway/test.tsx | 6 +- .../organisms/FilterSidebar/FilterSidebar.tsx | 8 +- .../components/organisms/Modal/Modal.tsx | 22 +- .../components/organisms/Overlay/test.tsx | 5 +- .../components/organisms/Overlay/types.ts | 4 +- .../ProductGallery/ProductGallery.tsx | 6 +- .../components/organisms/ProductList/types.ts | 4 +- .../ProductVariantAttributeSelect.tsx | 12 +- .../organisms/ProductVariantPicker/test.tsx | 101 +- .../organisms/SelectSidebar/SelectSidebar.tsx | 4 +- .../organisms/SelectSidebar/types.ts | 4 +- .../organisms/SideNavbar/SideNavbar.tsx | 8 +- .../organisms/ThankYou/ThankYou.tsx | 13 +- .../components/organisms/ThankYou/test.tsx | 10 +- .../components/templates/Checkout/stories.tsx | 5 +- src/@next/pages/CartPage/CartPage.tsx | 26 +- src/app/App.tsx | 1 - .../CheckoutLogin/CheckoutAsGuest.tsx | 4 +- src/components/Debounce/DebounceChange.tsx | 10 +- src/components/Footer/Footer.tsx | 1 - src/components/Footer/Nav.tsx | 4 +- .../Footer/gqlTypes/SecondaryMenu.ts | 4 +- src/components/Footer/index.ts | 2 +- src/components/LoginForm/index.tsx | 12 +- src/components/MainMenu/gqlTypes/MainMenu.ts | 4 +- src/components/MenuDropdown/index.tsx | 6 +- src/components/NotFound/index.tsx | 4 +- src/components/Overlay/index.tsx | 2 +- src/components/Overlay/provider.tsx | 2 +- src/components/OverlayManager/Cart/Empty.tsx | 6 +- .../OverlayManager/Cart/ProductList.tsx | 7 +- .../Login/ForgottenPassword.tsx | 6 +- .../OverlayManager/Login/RegisterForm.tsx | 6 +- src/components/OverlayManager/Login/index.tsx | 2 +- src/components/OverlayManager/Modal/index.tsx | 9 +- .../OverlayManager/Password/index.tsx | 2 +- .../OverlayManager/Search/Search.tsx | 14 +- src/components/PasswordResetForm/index.tsx | 6 +- src/components/Select/Select.tsx | 2 +- src/components/SelectField/index.tsx | 2 +- src/constants.ts | 2 +- src/history.ts | 1 - src/index.tsx | 6 +- src/sitemap-builder.ts | 2 +- src/sitemap/index.ts | 2 +- src/sitemap/queries.ts | 6 +- src/views/Article/Page.tsx | 4 +- src/views/Category/gqlTypes/Category.ts | 5 +- src/views/Collection/gqlTypes/Collection.ts | 5 +- src/views/Home/Page.tsx | 4 +- src/views/Product/Page.tsx | 10 +- src/views/Search/gqlTypes/SearchProducts.ts | 5 +- 113 files changed, 1348 insertions(+), 433 deletions(-) diff --git a/.prettierrc b/.prettierrc index 757fd64caa..0024943f25 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,3 +1,4 @@ { + "arrowParens": "avoid", "trailingComma": "es5" } diff --git a/package-lock.json b/package-lock.json index 62480aa9ef..07cddd5bd3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7675,6 +7675,12 @@ "json5": "^1.0.1" } }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true + }, "prop-types": { "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", @@ -8462,6 +8468,12 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true + }, "recast": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz", @@ -10596,6 +10608,12 @@ "json5": "^1.0.1" } }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true + }, "prop-types": { "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", @@ -17206,6 +17224,12 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, + "compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", + "dev": true + }, "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", @@ -18361,6 +18385,12 @@ } } }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", @@ -18664,9 +18694,9 @@ "dev": true }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, "diff-sequences": { @@ -19096,6 +19126,15 @@ "tapable": "^1.0.0" } }, + "enquirer": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.5.tgz", + "integrity": "sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==", + "dev": true, + "requires": { + "ansi-colors": "^3.2.1" + } + }, "entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", @@ -22222,6 +22261,147 @@ "ms": "^2.0.0" } }, + "husky": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz", + "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.6.0", + "cosmiconfig": "^6.0.0", + "find-versions": "^3.2.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^4.2.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", + "dev": true, + "requires": { + "semver-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "hyperlinker": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", @@ -27809,6 +27989,369 @@ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", "dev": true }, + "lint-staged": { + "version": "10.2.9", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.9.tgz", + "integrity": "sha512-ziRAuXEqvJLSXg43ezBpHxRW8FOJCXISaXU//BWrxRrp5cBdRkIx7g5IsB3OI45xYGE0S6cOacfekSjDyDKF2g==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "cli-truncate": "2.1.0", + "commander": "^5.1.0", + "cosmiconfig": "^6.0.0", + "debug": "^4.1.1", + "dedent": "^0.7.0", + "enquirer": "^2.3.5", + "execa": "^4.0.1", + "listr2": "^2.1.0", + "log-symbols": "^4.0.0", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "execa": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.2.tgz", + "integrity": "sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "listr": { "version": "0.14.3", "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", @@ -27889,6 +28432,257 @@ "figures": "^2.0.0" } }, + "listr2": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.1.3.tgz", + "integrity": "sha512-6oy3QhrZAlJGrG8oPcRp1hix1zUpb5AvyvZ5je979HCyf48tIj3Hn1TG5+rfyhz30t7HfySH/OIaVbwrI2kruA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "cli-truncate": "^2.1.0", + "figures": "^3.2.0", + "indent-string": "^4.0.0", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rxjs": "^6.5.5", + "through": "^2.3.8" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + } + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rxjs": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, "load-bmfont": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.0.tgz", @@ -30469,6 +31263,12 @@ } } }, + "opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "dev": true + }, "opn": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", @@ -31586,6 +32386,15 @@ } } }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, "plop": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/plop/-/plop-2.5.3.tgz", @@ -32948,9 +33757,9 @@ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" }, "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz", + "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==", "dev": true }, "pretty-bytes": { @@ -36430,6 +37239,12 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, "semver-diff": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", @@ -37687,6 +38502,12 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, + "string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true + }, "string-convert": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", @@ -39345,29 +40166,30 @@ "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "tslint": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.11.0.tgz", - "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", + "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", "dev": true, "requires": { - "babel-code-frame": "^6.22.0", + "@babel/code-frame": "^7.0.0", "builtin-modules": "^1.1.1", "chalk": "^2.3.0", "commander": "^2.12.1", - "diff": "^3.2.0", + "diff": "^4.0.1", "glob": "^7.1.1", - "js-yaml": "^3.7.0", + "js-yaml": "^3.13.1", "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.8.0", - "tsutils": "^2.27.2" + "tsutils": "^2.29.0" } }, "tslint-config-prettier": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.17.0.tgz", - "integrity": "sha512-NKWNkThwqE4Snn4Cm6SZB7lV5RMDDFsBwz6fWUkTxOKGjMx8ycOHnjIbhn7dZd5XmssW3CwqUjlANR6EhP9YQw==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz", + "integrity": "sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==", "dev": true }, "tslint-plugin-cypress": { @@ -39380,9 +40202,9 @@ }, "dependencies": { "tsutils": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.14.0.tgz", - "integrity": "sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw==", + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -41459,6 +42281,12 @@ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", "dev": true }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "dev": true + }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", diff --git a/package.json b/package.json index 1d7139d8e3..2d6b51f1db 100644 --- a/package.json +++ b/package.json @@ -121,10 +121,12 @@ "file-loader": "^4.0.0", "fork-ts-checker-webpack-plugin": "^1.3.5", "html-webpack-plugin": "^3.2.0", + "husky": "^4.2.5", "image-webpack-loader": "^4.6.0", "jest": "^24.8.0", "jest-styled-components": "^6.3.1", "jest-svg-transformer": "^1.0.0", + "lint-staged": "^10.2.9", "mini-css-extract-plugin": "^0.4.1", "node-fetch": "^2.6.0", "node-sass": "^4.14.1", @@ -132,6 +134,7 @@ "postcss": "^7.0.1", "postcss-loader": "^2.1.6", "postcss-preset-env": "^5.3.0", + "prettier": "^2.0.5", "query-string": "^6.12.1", "react-apollo": "^2.5.1", "react-docgen-typescript-loader": "^3.6.0", @@ -163,6 +166,18 @@ "engines": { "node": ">=10.0.0 <11" }, + "husky": { + "hooks": { + "pre-commit": "lint-staged", + "pre-push": "npm run build" + } + }, + "lint-staged": { + "*.{js,ts}": [ + "prettier --write", + "git add" + ] + }, "scripts": { "test": "jest --runInBand --config .jest/config.json", "start": "cross-env NODE_ENV=develop webpack-dev-server --history-api-fallback --watch --port 3000 --mode development --hotOnly", diff --git a/src/@next/components/atoms/Button/Button.tsx b/src/@next/components/atoms/Button/Button.tsx index 953ff9c209..bb299d0d88 100644 --- a/src/@next/components/atoms/Button/Button.tsx +++ b/src/@next/components/atoms/Button/Button.tsx @@ -19,7 +19,7 @@ export const Button: React.FC = ({ const ButtonWithTheme = color === "primary" ? S.Primary : S.Secondary; return ( - ( - + )) .add("Secondary", () => ( - )) .add("Size sm", () => ( - )); diff --git a/src/@next/components/atoms/Button/test.tsx b/src/@next/components/atoms/Button/test.tsx index c300ab685c..4aaedf285e 100644 --- a/src/@next/components/atoms/Button/test.tsx +++ b/src/@next/components/atoms/Button/test.tsx @@ -9,22 +9,28 @@ import * as S from "./styles"; describe("); + const wrapper = shallow( + + ); expect(wrapper.text()).toEqual(text); }); it("simulates click events", () => { const onButtonClick = jest.fn(); - const wrapper = shallow( - diff --git a/src/@next/components/organisms/ThankYou/test.tsx b/src/@next/components/organisms/ThankYou/test.tsx index bb5cc8b066..fd96953230 100644 --- a/src/@next/components/organisms/ThankYou/test.tsx +++ b/src/@next/components/organisms/ThankYou/test.tsx @@ -42,10 +42,7 @@ describe("", () => { /> ); - wrapper - .find("button") - .at(1) - .simulate("click"); + wrapper.find("button").at(1).simulate("click"); expect(orderDetailsMock).toHaveBeenCalled(); }); @@ -59,10 +56,7 @@ describe("", () => { /> ); - wrapper - .find("button") - .at(0) - .simulate("click"); + wrapper.find("button").at(0).simulate("click"); expect(continueShoppingMock).toHaveBeenCalled(); }); diff --git a/src/@next/components/templates/Checkout/stories.tsx b/src/@next/components/templates/Checkout/stories.tsx index 0c9c903aaa..c82e0f8b5f 100644 --- a/src/@next/components/templates/Checkout/stories.tsx +++ b/src/@next/components/templates/Checkout/stories.tsx @@ -4,6 +4,5 @@ import React from "react"; import { Checkout } from "."; storiesOf("@components/templates/Checkout", module) -.addParameters({ component: Checkout }) -.add("default", () => -); \ No newline at end of file + .addParameters({ component: Checkout }) + .add("default", () => ); diff --git a/src/@next/pages/CartPage/CartPage.tsx b/src/@next/pages/CartPage/CartPage.tsx index 995e3aa3e9..027ddd0ae7 100755 --- a/src/@next/pages/CartPage/CartPage.tsx +++ b/src/@next/pages/CartPage/CartPage.tsx @@ -46,25 +46,17 @@ const prepareCartFooter = ( subtotalPrice={ } - totalPrice={ - - } + totalPrice={} shippingPrice={ shippingTaxedPrice && shippingTaxedPrice.gross.amount !== 0 && ( - + ) } discountPrice={ promoTaxedPrice && promoTaxedPrice.gross.amount !== 0 && ( - + ) } /> @@ -89,16 +81,8 @@ const generateCart = ( ...variant?.product?.thumbnail, alt: variant?.product?.thumbnail?.alt || "", }} - totalPrice={ - - } - unitPrice={ - - } + totalPrice={} + unitPrice={} sku={variant.sku} attributes={variant.attributes?.map(attribute => { return { diff --git a/src/app/App.tsx b/src/app/App.tsx index 5f6bc5fd45..9948617ead 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -7,7 +7,6 @@ import "../globalStyles/scss/index.scss"; import { Routes } from "./routes"; const App: React.FC = () => { - return ( <> diff --git a/src/components/CheckoutLogin/CheckoutAsGuest.tsx b/src/components/CheckoutLogin/CheckoutAsGuest.tsx index 159c678133..4530f42e46 100644 --- a/src/components/CheckoutLogin/CheckoutAsGuest.tsx +++ b/src/components/CheckoutLogin/CheckoutAsGuest.tsx @@ -15,7 +15,9 @@ const CheckoutAsGuest: React.FC<{ a guest. We care about you just as much as any registered user.

    - +

    diff --git a/src/components/Debounce/DebounceChange.tsx b/src/components/Debounce/DebounceChange.tsx index fa3bde1ab1..70673da8dd 100644 --- a/src/components/Debounce/DebounceChange.tsx +++ b/src/components/Debounce/DebounceChange.tsx @@ -1,12 +1,10 @@ import * as React from "react"; export interface DebounceChangeProps { - children: (( - props: { - change: (event: React.ChangeEvent) => void; - value: TValue; - } - ) => React.ReactElement); + children: (props: { + change: (event: React.ChangeEvent) => void; + value: TValue; + }) => React.ReactElement; debounce: (event: React.ChangeEvent) => void; time?: number; value: TValue; diff --git a/src/components/Footer/Footer.tsx b/src/components/Footer/Footer.tsx index 3db708df85..351eb08cc9 100644 --- a/src/components/Footer/Footer.tsx +++ b/src/components/Footer/Footer.tsx @@ -6,7 +6,6 @@ import { SocialMediaIcon } from ".."; import { SOCIAL_MEDIA } from "../../core/config"; import Nav from "./Nav"; - const Footer: React.FC = () => (

    diff --git a/src/components/Overlay/index.tsx b/src/components/Overlay/index.tsx index 8f10598b54..96075b1d22 100644 --- a/src/components/Overlay/index.tsx +++ b/src/components/Overlay/index.tsx @@ -6,5 +6,5 @@ export { OverlayContextInterface, OverlayTheme, OverlayType, - ShowOverlayType + ShowOverlayType, } from "./context"; diff --git a/src/components/Overlay/provider.tsx b/src/components/Overlay/provider.tsx index 74c61e7000..6d6938f95d 100644 --- a/src/components/Overlay/provider.tsx +++ b/src/components/Overlay/provider.tsx @@ -5,7 +5,7 @@ import { OverlayContext, OverlayContextInterface, OverlayTheme, - OverlayType + OverlayType, } from "./context"; class Provider extends React.Component< diff --git a/src/components/OverlayManager/Cart/Empty.tsx b/src/components/OverlayManager/Cart/Empty.tsx index 9ce84205d6..92c49bf982 100644 --- a/src/components/OverlayManager/Cart/Empty.tsx +++ b/src/components/OverlayManager/Cart/Empty.tsx @@ -10,7 +10,11 @@ const Empty: React.FC<{ overlayHide(): void }> = ({ overlayHide }) => ( in our store

    -
    diff --git a/src/components/OverlayManager/Cart/ProductList.tsx b/src/components/OverlayManager/Cart/ProductList.tsx index a4bd5f1897..acc3039764 100644 --- a/src/components/OverlayManager/Cart/ProductList.tsx +++ b/src/components/OverlayManager/Cart/ProductList.tsx @@ -22,7 +22,12 @@ const ProductList: React.SFC<{ const key = line.id ? `id-${line.id}` : `idx-${index}`; return ( -
  • +
  • diff --git a/src/components/OverlayManager/Login/ForgottenPassword.tsx b/src/components/OverlayManager/Login/ForgottenPassword.tsx index a9013be846..573dbf9ce9 100644 --- a/src/components/OverlayManager/Login/ForgottenPassword.tsx +++ b/src/components/OverlayManager/Login/ForgottenPassword.tsx @@ -7,7 +7,11 @@ const ForgottenPassword: React.FC<{

    Have you forgotten your password?  - + Click Here

    diff --git a/src/components/OverlayManager/Login/RegisterForm.tsx b/src/components/OverlayManager/Login/RegisterForm.tsx index 9c77574430..69d38a98ee 100644 --- a/src/components/OverlayManager/Login/RegisterForm.tsx +++ b/src/components/OverlayManager/Login/RegisterForm.tsx @@ -63,7 +63,11 @@ const RegisterForm: React.FC<{ hide: () => void }> = ({ hide }) => { required />
    -
    diff --git a/src/components/OverlayManager/Login/index.tsx b/src/components/OverlayManager/Login/index.tsx index 0f7b664422..a4735acce3 100644 --- a/src/components/OverlayManager/Login/index.tsx +++ b/src/components/OverlayManager/Login/index.tsx @@ -11,7 +11,7 @@ import { Overlay, OverlayContextInterface, OverlayTheme, - OverlayType + OverlayType, } from "../.."; import RegisterForm from "./RegisterForm"; diff --git a/src/components/OverlayManager/Modal/index.tsx b/src/components/OverlayManager/Modal/index.tsx index bf73c5df5d..d8045cea48 100644 --- a/src/components/OverlayManager/Modal/index.tsx +++ b/src/components/OverlayManager/Modal/index.tsx @@ -12,9 +12,10 @@ export interface IModal { testingContext: string; } -const Modal: React.FC = ({ - overlay, - testingContext, -}) => {overlay.context.content}; +const Modal: React.FC = ({ overlay, testingContext }) => ( + + {overlay.context.content} + +); export default Modal; diff --git a/src/components/OverlayManager/Password/index.tsx b/src/components/OverlayManager/Password/index.tsx index 3c9a50af4a..5618237a75 100644 --- a/src/components/OverlayManager/Password/index.tsx +++ b/src/components/OverlayManager/Password/index.tsx @@ -9,7 +9,7 @@ import { Online, Overlay, OverlayContextInterface, - PasswordResetForm + PasswordResetForm, } from "../.."; import closeImg from "../../../images/x.svg"; diff --git a/src/components/OverlayManager/Search/Search.tsx b/src/components/OverlayManager/Search/Search.tsx index ef110c9edc..ba95d6d459 100644 --- a/src/components/OverlayManager/Search/Search.tsx +++ b/src/components/OverlayManager/Search/Search.tsx @@ -81,7 +81,11 @@ class Search extends React.Component { render() { return ( - + { onChange={evt => this.setState({ search: evt.target.value })} value={this.state.search} iconLeft={ - + } iconRight={} autoFocus={true} @@ -135,7 +143,7 @@ class Search extends React.Component { ) : (
    diff --git a/src/components/Select/Select.tsx b/src/components/Select/Select.tsx index e7df00e39b..a7ff7c11f9 100644 --- a/src/components/Select/Select.tsx +++ b/src/components/Select/Select.tsx @@ -9,7 +9,7 @@ import { IFilteredListArgs, ISelectChange, ISelectItem, - ISelectProps + ISelectProps, } from "./customTypes"; import SelectOptionsList from "./SelectOptionsList"; diff --git a/src/components/SelectField/index.tsx b/src/components/SelectField/index.tsx index a2d9793f2a..b03a83d064 100644 --- a/src/components/SelectField/index.tsx +++ b/src/components/SelectField/index.tsx @@ -29,7 +29,7 @@ const SelectField: GenericSelectField = ({ }) => (
    {label ? {label} : null} diff --git a/src/constants.ts b/src/constants.ts index fe41468c15..a57b9e8d76 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -4,4 +4,4 @@ const sampleRate = parseFloat(process.env.SENTRY_APM); export const sentrySampleRate = isNaN(sampleRate) ? 0 : sampleRate; export const serviceWorkerTimeout = parseInt(process.env.SERVICE_WORKER_TIMEOUT, 10) || 60 * 1000; -export const demoMode = process.env.DEMO_MODE === "true"; \ No newline at end of file +export const demoMode = process.env.DEMO_MODE === "true"; diff --git a/src/history.ts b/src/history.ts index 96051cf5eb..18e3dc10e2 100644 --- a/src/history.ts +++ b/src/history.ts @@ -10,5 +10,4 @@ history.listen((_location, action) => { } }); - export { history }; diff --git a/src/index.tsx b/src/index.tsx index 2b187bf875..b897f8424d 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -6,7 +6,7 @@ import * as React from "react"; import { positions, Provider as AlertProvider, useAlert } from "react-alert"; import { ApolloProvider } from "react-apollo"; import { render } from "react-dom"; -import TagManager from 'react-gtm-module' +import TagManager from "react-gtm-module"; import { hot } from "react-hot-loader"; import { Route, Router } from "react-router-dom"; import { ThemeProvider } from "styled-components"; @@ -47,8 +47,8 @@ const cache = new InMemoryCache({ }, }); -if (process.env.GTM_ID !== undefined){ - TagManager.initialize({gtmId: process.env.GTM_ID}) +if (process.env.GTM_ID !== undefined) { + TagManager.initialize({ gtmId: process.env.GTM_ID }); } const startApp = async () => { diff --git a/src/sitemap-builder.ts b/src/sitemap-builder.ts index 49482f08ec..a3a7e470f0 100644 --- a/src/sitemap-builder.ts +++ b/src/sitemap-builder.ts @@ -4,7 +4,7 @@ import { getCategories, getCollections, getProducts, - SitemapGenerator + SitemapGenerator, } from "./sitemap"; const distDir = path.join(__dirname, "../dist"); diff --git a/src/sitemap/index.ts b/src/sitemap/index.ts index 44ee3eebd2..b096d8fcdc 100644 --- a/src/sitemap/index.ts +++ b/src/sitemap/index.ts @@ -1,2 +1,2 @@ -export * from './fetchItems'; +export * from "./fetchItems"; export { default as SitemapGenerator } from "./SitemapGenerator"; diff --git a/src/sitemap/queries.ts b/src/sitemap/queries.ts index 0f0b88c265..dc0624ac87 100644 --- a/src/sitemap/queries.ts +++ b/src/sitemap/queries.ts @@ -2,7 +2,7 @@ import gql from "graphql-tag"; export const getProductsQuery = gql` query GetProducts($cursor: String, $perPage: Int) { - products(after: $cursor, first: $perPage){ + products(after: $cursor, first: $perPage) { pageInfo { endCursor hasNextPage @@ -19,7 +19,7 @@ export const getProductsQuery = gql` export const getCategoriesQuery = gql` query GetCategories($cursor: String, $perPage: Int) { - categories(after: $cursor, first: $perPage){ + categories(after: $cursor, first: $perPage) { pageInfo { endCursor hasNextPage @@ -36,7 +36,7 @@ export const getCategoriesQuery = gql` export const getCollectionsQuery = gql` query GetCollections($cursor: String, $perPage: Int) { - collections(after: $cursor, first: $perPage){ + collections(after: $cursor, first: $perPage) { pageInfo { endCursor hasNextPage diff --git a/src/views/Article/Page.tsx b/src/views/Article/Page.tsx index a24111cce4..e4ccf5039c 100644 --- a/src/views/Article/Page.tsx +++ b/src/views/Article/Page.tsx @@ -55,9 +55,7 @@ export const Page: React.FC = ({
    - +
  • diff --git a/src/views/Category/gqlTypes/Category.ts b/src/views/Category/gqlTypes/Category.ts index f872f2446c..fdb9e9979d 100644 --- a/src/views/Category/gqlTypes/Category.ts +++ b/src/views/Category/gqlTypes/Category.ts @@ -2,7 +2,10 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { AttributeInput, ProductOrder } from "./../../../../gqlTypes/globalTypes"; +import { + AttributeInput, + ProductOrder, +} from "./../../../../gqlTypes/globalTypes"; // ==================================================== // GraphQL query operation: Category diff --git a/src/views/Collection/gqlTypes/Collection.ts b/src/views/Collection/gqlTypes/Collection.ts index f3ebc79713..c092f0035e 100644 --- a/src/views/Collection/gqlTypes/Collection.ts +++ b/src/views/Collection/gqlTypes/Collection.ts @@ -2,7 +2,10 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { AttributeInput, ProductOrder } from "./../../../../gqlTypes/globalTypes"; +import { + AttributeInput, + ProductOrder, +} from "./../../../../gqlTypes/globalTypes"; // ==================================================== // GraphQL query operation: Collection diff --git a/src/views/Home/Page.tsx b/src/views/Home/Page.tsx index 88d83a9803..4b010295d9 100644 --- a/src/views/Home/Page.tsx +++ b/src/views/Home/Page.tsx @@ -63,7 +63,9 @@ const Page: React.FC<{ categories.edges[0].node.name )} > - + ) )} diff --git a/src/views/Product/Page.tsx b/src/views/Product/Page.tsx index 1f458afe06..79e6bae781 100644 --- a/src/views/Product/Page.tsx +++ b/src/views/Product/Page.tsx @@ -25,10 +25,12 @@ const populateBreadcrumbs = product => [ }, ]; -const Page: React.FC; - onAttributeChangeHandler: (slug: string | null, value: string) => void; -}> = ({ add, product, items, queryAttributes, onAttributeChangeHandler }) => { +const Page: React.FC< + IProps & { + queryAttributes: Record; + onAttributeChangeHandler: (slug: string | null, value: string) => void; + } +> = ({ add, product, items, queryAttributes, onAttributeChangeHandler }) => { const productGallery: React.RefObject = React.useRef(); const [variantId, setVariantId] = React.useState(""); diff --git a/src/views/Search/gqlTypes/SearchProducts.ts b/src/views/Search/gqlTypes/SearchProducts.ts index bab516c26f..ef2a4072ca 100644 --- a/src/views/Search/gqlTypes/SearchProducts.ts +++ b/src/views/Search/gqlTypes/SearchProducts.ts @@ -2,7 +2,10 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { AttributeInput, ProductOrder } from "./../../../../gqlTypes/globalTypes"; +import { + AttributeInput, + ProductOrder, +} from "./../../../../gqlTypes/globalTypes"; // ==================================================== // GraphQL query operation: SearchProducts From 276284d68e4362cff62a7f15c2272956b48891a4 Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Tue, 9 Jun 2020 11:53:13 +0200 Subject: [PATCH 040/120] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b845c510da..3b80f9c9c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ All notable, unreleased changes to this project will be documented in this file. - Automatically choose variant attributes from url in ProductVariantPicker - #708 by @AlicjaSzu - Use sdk as a standalone package - #724 by @dominik-zeglen - Fix CartRow tests - #749 by @dominik-zeglen +- Add prettier to precommit - #766 by @dominik-zeglen ## 2.10.2 From 156944091e7cfa4eaf357d1c8c950ff2b23a7008 Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Tue, 9 Jun 2020 13:39:03 +0200 Subject: [PATCH 041/120] Fix tests --- .../__tests__/{storyshots.test.js => storyshots.test.ts} | 8 ++++---- .../CartSummaryRow/__snapshots__/stories.storyshot | 3 +-- .../organisms/CartRow/__snapshots__/stories.storyshot | 3 +-- .../CartSummary/__snapshots__/stories.storyshot | 9 +++------ 4 files changed, 9 insertions(+), 14 deletions(-) rename .storybook/__tests__/{storyshots.test.js => storyshots.test.ts} (78%) diff --git a/.storybook/__tests__/storyshots.test.js b/.storybook/__tests__/storyshots.test.ts similarity index 78% rename from .storybook/__tests__/storyshots.test.js rename to .storybook/__tests__/storyshots.test.ts index 4ac70e24a7..9a5a5e4b2c 100644 --- a/.storybook/__tests__/storyshots.test.js +++ b/.storybook/__tests__/storyshots.test.ts @@ -5,18 +5,18 @@ import { addSerializer } from "jest-specific-snapshot"; jest.mock("react-dom", () => ({ createPortal: node => node, - findDOMNode: () => {} + findDOMNode: () => {}, })); -global.matchMedia = media => ({ +(global as any).matchMedia = () => ({ addListener: jest.fn(), matches: true, - removeListener: jest.fn() + removeListener: jest.fn(), }); addSerializer(styleSheetSerializer); initStoryshots({ framework: "react", - test: multiSnapshotWithOptions({}) + test: multiSnapshotWithOptions({}), }); diff --git a/src/@next/components/molecules/CartSummaryRow/__snapshots__/stories.storyshot b/src/@next/components/molecules/CartSummaryRow/__snapshots__/stories.storyshot index c5a9a1570d..24c8654a1f 100644 --- a/src/@next/components/molecules/CartSummaryRow/__snapshots__/stories.storyshot +++ b/src/@next/components/molecules/CartSummaryRow/__snapshots__/stories.storyshot @@ -87,8 +87,7 @@ exports[`Storyshots @components/molecules/CartSummaryRow default 1`] = `
    - Quantity: - + Quantity: diff --git a/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot b/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot index 60d37a5997..f9a6a3ce7b 100644 --- a/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot @@ -409,8 +409,7 @@ exports[`Storyshots @components/organisms/CartRow default 1`] = ` - SKU: - + SKU: diff --git a/src/@next/components/organisms/CartSummary/__snapshots__/stories.storyshot b/src/@next/components/organisms/CartSummary/__snapshots__/stories.storyshot index 9b3e8f3f38..3dcef9af96 100644 --- a/src/@next/components/organisms/CartSummary/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CartSummary/__snapshots__/stories.storyshot @@ -245,8 +245,7 @@ exports[`Storyshots @components/organisms/CartSummary default 1`] = `
    - Quantity: - + Quantity: @@ -306,8 +305,7 @@ exports[`Storyshots @components/organisms/CartSummary default 1`] = `
    - Quantity: - + Quantity: @@ -367,8 +365,7 @@ exports[`Storyshots @components/organisms/CartSummary default 1`] = `
    - Quantity: - + Quantity: From b262638044ef7ad950aead36764d1c2fc4245874 Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Mon, 15 Jun 2020 10:45:41 +0200 Subject: [PATCH 042/120] Do not use prettier on generated files --- .gitignore | 1 + .prettierignore | 1 + src/components/Footer/gqlTypes/SecondaryMenu.ts | 4 +--- src/components/MainMenu/gqlTypes/MainMenu.ts | 4 +--- src/views/Category/gqlTypes/Category.ts | 7 ++----- src/views/Collection/gqlTypes/Collection.ts | 5 +---- src/views/Search/gqlTypes/SearchProducts.ts | 5 +---- 7 files changed, 8 insertions(+), 19 deletions(-) create mode 100644 .prettierignore diff --git a/.gitignore b/.gitignore index 7709514902..834975e9dd 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ !.jest !.linguirc !.prettierrc +!.prettierignore dist node_modules src/locales/_build diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000..94f5760d79 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +gqlTypes \ No newline at end of file diff --git a/src/components/Footer/gqlTypes/SecondaryMenu.ts b/src/components/Footer/gqlTypes/SecondaryMenu.ts index 12736d0cc1..a30cec4be4 100644 --- a/src/components/Footer/gqlTypes/SecondaryMenu.ts +++ b/src/components/Footer/gqlTypes/SecondaryMenu.ts @@ -82,9 +82,7 @@ export interface SecondaryMenu_shop_navigation_secondary_items { url: string | null; collection: SecondaryMenu_shop_navigation_secondary_items_collection | null; page: SecondaryMenu_shop_navigation_secondary_items_page | null; - children: - | (SecondaryMenu_shop_navigation_secondary_items_children | null)[] - | null; + children: (SecondaryMenu_shop_navigation_secondary_items_children | null)[] | null; } export interface SecondaryMenu_shop_navigation_secondary { diff --git a/src/components/MainMenu/gqlTypes/MainMenu.ts b/src/components/MainMenu/gqlTypes/MainMenu.ts index 1afa20ea5e..65170554d1 100644 --- a/src/components/MainMenu/gqlTypes/MainMenu.ts +++ b/src/components/MainMenu/gqlTypes/MainMenu.ts @@ -131,9 +131,7 @@ export interface MainMenu_shop_navigation_main_items_children { collection: MainMenu_shop_navigation_main_items_children_collection | null; page: MainMenu_shop_navigation_main_items_children_page | null; parent: MainMenu_shop_navigation_main_items_children_parent | null; - children: - | (MainMenu_shop_navigation_main_items_children_children | null)[] - | null; + children: (MainMenu_shop_navigation_main_items_children_children | null)[] | null; } export interface MainMenu_shop_navigation_main_items { diff --git a/src/views/Category/gqlTypes/Category.ts b/src/views/Category/gqlTypes/Category.ts index fdb9e9979d..dcdae5fbaf 100644 --- a/src/views/Category/gqlTypes/Category.ts +++ b/src/views/Category/gqlTypes/Category.ts @@ -2,10 +2,7 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { - AttributeInput, - ProductOrder, -} from "./../../../../gqlTypes/globalTypes"; +import { AttributeInput, ProductOrder } from "./../../../../gqlTypes/globalTypes"; // ==================================================== // GraphQL query operation: Category @@ -388,7 +385,7 @@ export interface Category { */ products: Category_products | null; /** - * Look up a category by ID. + * Look up a category by ID or slug. */ category: Category_category | null; /** diff --git a/src/views/Collection/gqlTypes/Collection.ts b/src/views/Collection/gqlTypes/Collection.ts index c092f0035e..f3ebc79713 100644 --- a/src/views/Collection/gqlTypes/Collection.ts +++ b/src/views/Collection/gqlTypes/Collection.ts @@ -2,10 +2,7 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { - AttributeInput, - ProductOrder, -} from "./../../../../gqlTypes/globalTypes"; +import { AttributeInput, ProductOrder } from "./../../../../gqlTypes/globalTypes"; // ==================================================== // GraphQL query operation: Collection diff --git a/src/views/Search/gqlTypes/SearchProducts.ts b/src/views/Search/gqlTypes/SearchProducts.ts index ef2a4072ca..bab516c26f 100644 --- a/src/views/Search/gqlTypes/SearchProducts.ts +++ b/src/views/Search/gqlTypes/SearchProducts.ts @@ -2,10 +2,7 @@ /* eslint-disable */ // This file was automatically generated and should not be edited. -import { - AttributeInput, - ProductOrder, -} from "./../../../../gqlTypes/globalTypes"; +import { AttributeInput, ProductOrder } from "./../../../../gqlTypes/globalTypes"; // ==================================================== // GraphQL query operation: SearchProducts From 9554b8c26865be6974f326c63d964dc402dc1d2e Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Mon, 15 Jun 2020 10:48:12 +0200 Subject: [PATCH 043/120] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b80f9c9c3..cae17ce9d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ All notable, unreleased changes to this project will be documented in this file. - Use sdk as a standalone package - #724 by @dominik-zeglen - Fix CartRow tests - #749 by @dominik-zeglen - Add prettier to precommit - #766 by @dominik-zeglen +- Do not use prettier on generated files - #773 by @dominik-zeglen ## 2.10.2 From c1d46401a8be84f74838dbd277ceb7691a8b6c54 Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Tue, 9 Jun 2020 14:34:14 +0200 Subject: [PATCH 044/120] Add eslint and remove tslint --- package-lock.json | 1799 ++++++++++++++++++++++++++++++++++++++++----- package.json | 17 +- 2 files changed, 1607 insertions(+), 209 deletions(-) diff --git a/package-lock.json b/package-lock.json index 07cddd5bd3..dd128d19dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2438,6 +2438,24 @@ } } }, + "@babel/runtime-corejs3": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.10.2.tgz", + "integrity": "sha512-+a2M/u7r15o3dV1NEizr9bRi+KUVnrs/qYxF0Z06DAPx/4VCWaz1WA7EcbE+uqGgt39lp5akWGmHsTseIkHkHg==", + "dev": true, + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + } + } + }, "@babel/template": { "version": "7.4.4", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", @@ -11340,6 +11358,12 @@ "@types/react": "*" } }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, "@types/events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", @@ -11474,6 +11498,12 @@ "@types/sizzle": "*" } }, + "@types/json-schema": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", + "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", + "dev": true + }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -11874,6 +11904,100 @@ "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.0.tgz", "integrity": "sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg==" }, + "@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + } + } + }, + "@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "dev": true, + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -13999,6 +14123,12 @@ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.3.tgz", "integrity": "sha512-HZpLE7xu05+8AbpqXITGdxp1Xwk8ysAXrg7MiKRY27py3DAyEJpoJQo1727pWF3F+O79V3r+cTWhOzfB49P89w==" }, + "axobject-query": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.1.2.tgz", + "integrity": "sha512-ICt34ZmrVt8UQnvPl6TVyDTkmhXmAyAT4Jh5ugfGUX4MOrZ+U/ZY6/sdylRw3qGNr9Ub5AJsaHeDMzNLehRdOQ==", + "dev": true + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -17319,6 +17449,12 @@ "xdg-basedir": "^3.0.0" } }, + "confusing-browser-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", + "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==", + "dev": true + }, "connect-history-api-fallback": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", @@ -17373,6 +17509,12 @@ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, "content-disposition": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", @@ -18191,6 +18333,12 @@ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" }, + "damerau-levenshtein": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", + "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", + "dev": true + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -18693,12 +18841,6 @@ "integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=", "dev": true }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, "diff-sequences": { "version": "24.3.0", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.3.0.tgz", @@ -19596,32 +19738,1256 @@ "dev": true }, "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + } + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es5-shim": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.13.tgz", + "integrity": "sha512-xi6hh6gsvDE0MaW4Vp1lgNEBpVcCXRWfPXj5egDvtgLz4L9MEvNwYEMdJH+JJinWkwa8c3c3o5HduV7dB/e1Hw==", + "dev": true + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-promise": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "es6-shim": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.5.tgz", + "integrity": "sha512-E9kK/bjtCQRpN1K28Xh4BlmP8egvZBGJJ+9GtnzOwt7mdqtrjHFuVGr7QJfdjBIKqrlU5duPf3pCBoDrkjVYFg==", + "dev": true + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", + "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", + "dev": true, + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "eslint": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.2.0.tgz", + "integrity": "sha512-B3BtEyaDKC5MlfDa2Ha8/D6DsS4fju95zs0hjS3HdGazw+LNayai38A25qMppK37wWGWNYSPOR6oYzlz5MHsRQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.1.0", + "eslint-utils": "^2.0.0", + "eslint-visitor-keys": "^1.2.0", + "espree": "^7.1.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "inquirer": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", + "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", + "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "eslint-config-airbnb": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.1.0.tgz", + "integrity": "sha512-kZFuQC/MPnH7KJp6v95xsLBf63G/w7YqdPfQ0MUanxQ7zcKUNG8j+sSY860g3NwCBOa62apw16J6pRN+AOgXzw==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "^14.1.0", + "object.assign": "^4.1.0", + "object.entries": "^1.1.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + } + } + } + }, + "eslint-config-airbnb-base": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.1.0.tgz", + "integrity": "sha512-+XCcfGyCnbzOnktDVhwsCAx+9DmrzEmuwxyHUJpw+kqBVT744OUBrB09khgFKlK1lshVww6qXGsYPZpavoNjJw==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.9", + "object.assign": "^4.1.0", + "object.entries": "^1.1.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + } + } + } + }, + "eslint-config-airbnb-typescript": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-7.2.1.tgz", + "integrity": "sha512-D3elVKUbdsCfkOVstSyWuiu+KGCVTrYxJPoenPIqZtL6Li/R4xBeVTXjZIui8B8D17bDN3Pz5dSr7jRLY5HqIg==", + "dev": true, + "requires": { + "@typescript-eslint/parser": "^2.24.0", + "eslint-config-airbnb": "^18.1.0", + "eslint-config-airbnb-base": "^14.1.0" + } + }, + "eslint-config-prettier": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", + "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz", + "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.21.1.tgz", + "integrity": "sha512-qYOOsgUv63vHof7BqbzuD+Ud34bXHxFJxntuAC1ZappFZXYbRIek3aJ7jc9i2dHDGDyZ/0zlO0cpioES265Lsw==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.3", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz", + "integrity": "sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.5", + "aria-query": "^3.0.0", + "array-includes": "^3.0.3", + "ast-types-flow": "^0.0.7", + "axobject-query": "^2.0.2", + "damerau-levenshtein": "^1.0.4", + "emoji-regex": "^7.0.2", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.1" + } + }, + "eslint-plugin-prettier": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz", + "integrity": "sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-react": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.20.0.tgz", + "integrity": "sha512-rqe1abd0vxMjmbPngo4NaYxTcR3Y4Hrmc/jg4T+sYz63yqlmJRknpEQfmWY+eDWPuMmix6iUIK+mv0zExjeLgA==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.3", + "object.entries": "^1.1.1", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.15.1", + "string.prototype.matchall": "^4.0.2", + "xregexp": "^4.3.0" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", "dev": true }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", "dev": true, "requires": { - "has": "^1.0.3" + "has-symbols": "^1.0.1" } }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, "object-inspect": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", @@ -19633,156 +20999,136 @@ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true + }, + "object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } } } }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "dev": true, - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es5-shim": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.13.tgz", - "integrity": "sha512-xi6hh6gsvDE0MaW4Vp1lgNEBpVcCXRWfPXj5egDvtgLz4L9MEvNwYEMdJH+JJinWkwa8c3c3o5HduV7dB/e1Hw==", + "eslint-plugin-react-hooks": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.0.4.tgz", + "integrity": "sha512-equAdEIsUETLFNCmmCkiCGq6rkSK5MoJhXFPFYeUebcjKgBmWWcgVOqZyQC8Bv1BwVCnTq9tBxgJFgAJTWoJtA==", "dev": true }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, - "es6-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "eslint-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", + "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", "dev": true, "requires": { - "es6-promise": "^4.0.3" + "eslint-visitor-keys": "^1.1.0" } }, - "es6-shim": { - "version": "0.35.5", - "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.5.tgz", - "integrity": "sha512-E9kK/bjtCQRpN1K28Xh4BlmP8egvZBGJJ+9GtnzOwt7mdqtrjHFuVGr7QJfdjBIKqrlU5duPf3pCBoDrkjVYFg==", + "eslint-visitor-keys": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz", + "integrity": "sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ==", "dev": true }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true }, - "escodegen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", - "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", + "espree": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.1.0.tgz", + "integrity": "sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "acorn": "^7.2.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.2.0" }, "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "acorn": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", + "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==", "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "dev": true } } }, - "eslint-config-prettier": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.10.0.tgz", - "integrity": "sha512-Mhl90VLucfBuhmcWBgbUNtgBiK955iCDK1+aHAz7QfDQF6wuzWZ6JjihZ3ejJoGlJWIuko7xLqNm8BA5uenKhA==", - "dev": true, - "requires": { - "get-stdin": "^5.0.1" - } - }, - "eslint-plugin-prettier": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.7.0.tgz", - "integrity": "sha512-CStQYJgALoQBw3FsBzH0VOVDRnJ/ZimUlpLm226U8qgqYJfPOY/CPK6wyRInMxh73HSKg5wyRwdS4BVYYHwokA==", - "dev": true, - "requires": { - "fast-diff": "^1.1.1", - "jest-docblock": "^21.0.0" - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "dev": true - }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", + "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", + "dev": true + } + } + }, "esrecurse": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", @@ -20501,6 +21847,15 @@ "escape-string-regexp": "^1.0.5" } }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, "file-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.0.0.tgz", @@ -20783,6 +22138,34 @@ "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", "dev": true }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, "flatten": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", @@ -21105,6 +22488,12 @@ "is-callable": "^1.1.3" } }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, "functions-have-names": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.0.tgz", @@ -21223,9 +22612,9 @@ } }, "get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", "dev": true }, "get-stream": { @@ -26480,12 +27869,6 @@ "pretty-format": "^24.8.0" } }, - "jest-docblock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", - "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", - "dev": true - }, "jest-get-type": { "version": "24.8.0", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.8.0.tgz", @@ -26955,6 +28338,12 @@ "jsonify": "~0.0.0" } }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -27065,6 +28454,16 @@ "promise": "^7.0.1" } }, + "jsx-ast-utils": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.3.0.tgz", + "integrity": "sha512-3HNoc7nZ1hpZIKB3hJ7BlFRkzCx2BynRtfSwbkqZdpRdvAPsGMnzclPwrvDBS7/lalHTj21NwIeaEpysHBOudg==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "object.assign": "^4.1.0" + } + }, "kapellmeister": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/kapellmeister/-/kapellmeister-3.0.1.tgz", @@ -33762,6 +35161,15 @@ "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==", "dev": true }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, "pretty-bytes": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.2.0.tgz", @@ -36250,6 +37658,12 @@ } } }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, "regexpu-core": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz", @@ -40165,57 +41579,10 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, - "tslint": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", - "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.29.0" - } - }, - "tslint-config-prettier": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz", - "integrity": "sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==", - "dev": true - }, - "tslint-plugin-cypress": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tslint-plugin-cypress/-/tslint-plugin-cypress-1.0.4.tgz", - "integrity": "sha512-Jnda+0veg1Ah27qSpzXaDpGFvqApugix8FazyMYhTCMO7S4H5LC0CnbeklT92PZ8cHbCwEuRLJghu1d1J+Z1zg==", - "dev": true, - "requires": { - "tsutils": "^3.0.0" - }, - "dependencies": { - "tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - } - } - }, "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -42345,6 +43712,12 @@ } } }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, "workbox-background-sync": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", @@ -42595,6 +43968,15 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, "write-file-atomic": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", @@ -42665,6 +44047,15 @@ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz", "integrity": "sha1-Yx/Ad3bv2EEYvyUXGzftTQdaCrw=" }, + "xregexp": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", + "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.8.3" + } + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", diff --git a/package.json b/package.json index 2d6b51f1db..b0eb1173c0 100644 --- a/package.json +++ b/package.json @@ -81,6 +81,8 @@ "@storybook/cli": "^5.3.13", "@storybook/react": "^5.3.13", "@storybook/theming": "^5.3.13", + "@typescript-eslint/eslint-plugin": "^2.34.0", + "@typescript-eslint/parser": "^2.34.0", "@types/braintree-web": "^3.47.0", "@types/classnames": "^2.2.6", "@types/dompurify": "0.0.33", @@ -115,8 +117,15 @@ "cypress": "^4.5.0", "enzyme": "^3.10.0", "enzyme-adapter-react-16": "^1.15.2", - "eslint-config-prettier": "^2.9.0", - "eslint-plugin-prettier": "^2.6.2", + "eslint": "^7.0.0", + "eslint-config-airbnb": "^18.1.0", + "eslint-config-airbnb-typescript": "^7.2.1", + "eslint-config-prettier": "^6.11.0", + "eslint-plugin-import": "^2.20.2", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-prettier": "^3.1.3", + "eslint-plugin-react": "^7.20.0", + "eslint-plugin-react-hooks": "^4.0.2", "faker": "^4.1.0", "file-loader": "^4.0.0", "fork-ts-checker-webpack-plugin": "^1.3.5", @@ -152,9 +161,6 @@ "test-data-bot": "^0.8.0", "ts-loader": "^4.4.2", "tsconfig-paths-webpack-plugin": "^3.2.0", - "tslint": "^5.11.0", - "tslint-config-prettier": "^1.15.0", - "tslint-plugin-cypress": "^1.0.4", "typescript": "^3.8.2", "webapp-webpack-plugin": "^2.2.0", "webpack": "^4.42.1", @@ -174,6 +180,7 @@ }, "lint-staged": { "*.{js,ts}": [ + "eslint --fix", "prettier --write", "git add" ] From 97503e81b0df5196cb573c05aa9d5250ed0784cb Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Wed, 10 Jun 2020 11:40:14 +0200 Subject: [PATCH 045/120] Fix all eslint autofixable problems --- package-lock.json | 76 +++++++++++++++++++ package.json | 5 +- .../components/atoms/Address/stories.tsx | 4 +- .../components/atoms/Attribute/stories.tsx | 1 + .../components/atoms/ButtonLink/stories.tsx | 4 +- .../components/atoms/Checkbox/Checkbox.tsx | 2 +- .../components/atoms/Checkbox/stories.tsx | 1 + src/@next/components/atoms/Chip/stories.tsx | 1 + .../components/atoms/DemoBanner/stories.tsx | 1 + .../components/atoms/InputLabel/stories.tsx | 5 +- .../components/atoms/InputLabel/test.tsx | 8 +- src/@next/components/atoms/Label/stories.tsx | 1 + .../PlaceholderImage/PlaceholderImage.tsx | 3 +- src/@next/components/atoms/Radio/Radio.tsx | 2 +- src/@next/components/atoms/Select/Select.tsx | 8 +- .../components/atoms/TileGrid/stories.tsx | 2 +- .../molecules/AccountMenu/stories.tsx | 6 +- .../AccountTabTiles/AccountUpdateForm.tsx | 2 +- .../AccountTabTiles/PasswordChangeForm.tsx | 2 +- .../molecules/AccountTabTiles/test.tsx | 2 +- .../AddressSummary/AddressSummary.tsx | 3 +- .../AttributeValuesChecklist.tsx | 19 +++-- .../components/molecules/CardHeader/test.tsx | 2 +- .../CheckoutProgressBar.tsx | 4 +- .../molecules/InputSelect/InputSelect.tsx | 29 ++++--- .../molecules/InputSelect/stories.tsx | 4 +- .../components/molecules/OrderTabel/test.tsx | 2 +- .../components/molecules/OrderTabel/types.ts | 1 + .../ResetPasswordForm/ResetPasswordForm.tsx | 2 +- .../molecules/TextField/TextField.tsx | 3 +- .../molecules/Thumbnail/Thumbnail.tsx | 2 +- .../organisms/AddressForm/AddressForm.tsx | 2 +- .../AddressFormModal/AddressFormModal.tsx | 4 +- .../AddressGridSelector.tsx | 6 +- .../BraintreePaymentGateway.tsx | 17 ++--- .../components/organisms/CartRow/CartRow.tsx | 2 +- .../organisms/CartSummary/CartSummary.tsx | 4 +- .../components/organisms/CartSummary/types.ts | 1 + .../CheckoutAddress/CheckoutAddress.tsx | 2 +- .../organisms/CheckoutAddress/test.tsx | 2 +- .../CheckoutShipping/CheckoutShipping.tsx | 16 ++-- .../organisms/CreditCardForm/stories.tsx | 2 +- .../organisms/DiscountForm/DiscountForm.tsx | 2 +- .../organisms/DiscountForm/stories.tsx | 1 + .../organisms/DummyPaymentGateway/test.tsx | 2 +- .../organisms/FilterSidebar/FilterSidebar.tsx | 6 +- .../organisms/FilterSidebar/types.ts | 1 + .../PaymentGatewaysList.tsx | 6 +- .../organisms/ProductList/stories.tsx | 2 +- .../components/organisms/ProductList/test.tsx | 8 +- .../ProductVariantAttributeSelect.tsx | 38 +++++----- .../ProductVariantPicker.tsx | 2 +- .../ProductVariantPicker/stories.tsx | 2 +- .../organisms/ProductVariantPicker/test.tsx | 4 +- .../organisms/SelectSidebar/SelectSidebar.tsx | 2 +- .../organisms/SelectSidebar/stories.tsx | 4 +- .../organisms/SelectSidebar/test.tsx | 4 +- .../organisms/SideNavbar/SideNavbar.tsx | 2 +- .../organisms/SideNavbar/stories.tsx | 6 +- .../organisms/ThankYou/ThankYou.tsx | 4 +- .../components/organisms/ThankYou/stories.tsx | 2 +- .../templates/Checkout/Checkout.tsx | 2 +- src/@next/hooks/useCheckoutStepState.ts | 12 +-- src/@next/pages/CartPage/CartPage.tsx | 3 +- src/@next/pages/CheckoutPage/CheckoutPage.tsx | 3 +- .../subpages/CheckoutPaymentSubpage.tsx | 6 +- .../subpages/CheckoutReviewSubpage.tsx | 3 +- .../subpages/CheckoutShippingSubpage.tsx | 4 +- src/@next/pages/PasswordReset/types.ts | 1 + src/@next/types/IAddressWithAddressType.ts | 3 +- src/account/AddressBook/AddressBook.tsx | 10 +-- src/app/routes/AppRoutes.tsx | 3 +- src/components/AddressSummary/index.tsx | 3 +- src/components/CheckoutLogin/SignInForm.tsx | 2 +- src/components/Form/index.tsx | 6 +- src/components/MainMenu/MainMenu.tsx | 6 +- src/components/MenuDropdown/index.tsx | 8 +- src/components/MobileNav/NavItem.tsx | 2 +- src/components/NavLink/index.tsx | 9 ++- src/components/Offline.tsx | 2 +- src/components/Offline/index.tsx | 2 +- src/components/Online.tsx | 2 +- src/components/Overlay/provider.tsx | 1 + src/components/OverlayManager/Cart/Cart.tsx | 4 +- .../OverlayManager/Login/RegisterForm.tsx | 3 +- src/components/OverlayManager/Login/index.tsx | 1 + .../OverlayManager/Search/Search.tsx | 7 +- src/components/PriceRangeFilter/index.tsx | 15 ++-- .../ProductDescription/AddToCartButton.tsx | 4 +- src/components/ProductDescription/index.tsx | 30 ++++---- src/components/ProductListItem/index.tsx | 19 +++-- src/components/ProductsFeatured/index.tsx | 3 +- src/components/Select/SelectOptionsList.tsx | 2 +- src/components/ShopProvider/index.tsx | 3 +- src/core/SEO/Product/structuredData.tsx | 2 +- src/core/utils.ts | 5 +- src/sitemap/SitemapGenerator.ts | 7 ++ src/sw.js | 4 +- src/views/Account/AccountConfirm.tsx | 4 +- src/views/Article/Page.tsx | 4 +- src/views/Category/View.tsx | 2 +- src/views/Collection/View.tsx | 2 +- src/views/Product/GalleryCarousel.tsx | 2 +- src/views/Product/Page.tsx | 9 +-- src/views/Product/View.tsx | 2 +- src/views/Search/View.tsx | 2 +- 106 files changed, 338 insertions(+), 254 deletions(-) diff --git a/package-lock.json b/package-lock.json index dd128d19dd..042685c379 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20535,6 +20535,60 @@ } } }, + "eslint-import-resolver-typescript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.0.0.tgz", + "integrity": "sha512-bT5Frpl8UWoHBtY25vKUOMoVIMlJQOMefHLyQ4Tz3MQpIZ2N6yYKEEIHMo38bszBNUuMBW6M3+5JNYxeiGFH4w==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "is-glob": "^4.0.1", + "resolve": "^1.12.0", + "tiny-glob": "^0.2.6", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + } + } + }, "eslint-module-utils": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", @@ -22881,6 +22935,12 @@ "define-properties": "^1.1.3" } }, + "globalyzer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.4.tgz", + "integrity": "sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA==", + "dev": true + }, "globby": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", @@ -22896,6 +22956,12 @@ "slash": "^1.0.0" } }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, "globule": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", @@ -41190,6 +41256,16 @@ "dev": true, "optional": true }, + "tiny-glob": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.6.tgz", + "integrity": "sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw==", + "dev": true, + "requires": { + "globalyzer": "^0.1.0", + "globrex": "^0.1.1" + } + }, "tiny-invariant": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", diff --git a/package.json b/package.json index b0eb1173c0..133b7eca05 100644 --- a/package.json +++ b/package.json @@ -81,8 +81,6 @@ "@storybook/cli": "^5.3.13", "@storybook/react": "^5.3.13", "@storybook/theming": "^5.3.13", - "@typescript-eslint/eslint-plugin": "^2.34.0", - "@typescript-eslint/parser": "^2.34.0", "@types/braintree-web": "^3.47.0", "@types/classnames": "^2.2.6", "@types/dompurify": "0.0.33", @@ -107,6 +105,8 @@ "@types/react-transition-group": "^4.4.0", "@types/styled-components": "^4.1.16", "@types/url-join": "^4.0.0", + "@typescript-eslint/eslint-plugin": "^2.34.0", + "@typescript-eslint/parser": "^2.34.0", "apollo-storybook-react": "^0.2.4", "babel-core": "^7.0.0-bridge.0", "babel-jest": "^24.8.0", @@ -121,6 +121,7 @@ "eslint-config-airbnb": "^18.1.0", "eslint-config-airbnb-typescript": "^7.2.1", "eslint-config-prettier": "^6.11.0", + "eslint-import-resolver-typescript": "^2.0.0", "eslint-plugin-import": "^2.20.2", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-prettier": "^3.1.3", diff --git a/src/@next/components/atoms/Address/stories.tsx b/src/@next/components/atoms/Address/stories.tsx index 7a761c8df7..243303355c 100644 --- a/src/@next/components/atoms/Address/stories.tsx +++ b/src/@next/components/atoms/Address/stories.tsx @@ -1,6 +1,8 @@ import { storiesOf } from "@storybook/react"; import React from "react"; +import { Address } from "."; + const DEFAULT_PROPS = { city: "Wroclaw", companyName: "Mirumee", @@ -16,8 +18,6 @@ const DEFAULT_PROPS = { streetAddress1: "St Street", streetAddress2: "Second", }; - -import { Address } from "."; storiesOf("@components/atoms/Address", module) .addParameters({ component: Address }) .add("default", () =>
    ); diff --git a/src/@next/components/atoms/Attribute/stories.tsx b/src/@next/components/atoms/Attribute/stories.tsx index cae4a2b41f..571853db41 100644 --- a/src/@next/components/atoms/Attribute/stories.tsx +++ b/src/@next/components/atoms/Attribute/stories.tsx @@ -2,6 +2,7 @@ import { storiesOf } from "@storybook/react"; import React from "react"; import { Attribute } from "."; + storiesOf("@components/atoms/Attribute", module) .addParameters({ component: Attribute }) .add("default", () => ( diff --git a/src/@next/components/atoms/ButtonLink/stories.tsx b/src/@next/components/atoms/ButtonLink/stories.tsx index d27acc996e..80ee807526 100644 --- a/src/@next/components/atoms/ButtonLink/stories.tsx +++ b/src/@next/components/atoms/ButtonLink/stories.tsx @@ -1,9 +1,9 @@ import { storiesOf } from "@storybook/react"; import React from "react"; -const TEXT = "Text"; - import { ButtonLink } from "."; + +const TEXT = "Text"; storiesOf("@components/atoms/ButtonLink", module) .addParameters({ component: ButtonLink }) .add("Base", () => {TEXT}) diff --git a/src/@next/components/atoms/Checkbox/Checkbox.tsx b/src/@next/components/atoms/Checkbox/Checkbox.tsx index 8f4c151f24..0c5d119dc4 100755 --- a/src/@next/components/atoms/Checkbox/Checkbox.tsx +++ b/src/@next/components/atoms/Checkbox/Checkbox.tsx @@ -45,7 +45,7 @@ export const Checkbox: React.FC = ({ } }} > - +
    {children} diff --git a/src/@next/components/atoms/Checkbox/stories.tsx b/src/@next/components/atoms/Checkbox/stories.tsx index 7333e520fc..9bb484cdf1 100644 --- a/src/@next/components/atoms/Checkbox/stories.tsx +++ b/src/@next/components/atoms/Checkbox/stories.tsx @@ -2,6 +2,7 @@ import { storiesOf } from "@storybook/react"; import React from "react"; import { Checkbox } from "."; + storiesOf("@components/atoms/Checkbox", module) .addParameters({ component: Checkbox }) .add("default", () => ( diff --git a/src/@next/components/atoms/Chip/stories.tsx b/src/@next/components/atoms/Chip/stories.tsx index 16041b0d5e..fbb327d436 100644 --- a/src/@next/components/atoms/Chip/stories.tsx +++ b/src/@next/components/atoms/Chip/stories.tsx @@ -2,6 +2,7 @@ import { storiesOf } from "@storybook/react"; import React from "react"; import { Chip } from "."; + storiesOf("@components/atoms/Chip", module) .addParameters({ component: Chip }) .add("default", () => Some thing); diff --git a/src/@next/components/atoms/DemoBanner/stories.tsx b/src/@next/components/atoms/DemoBanner/stories.tsx index 691bbab8f8..49b3470d54 100644 --- a/src/@next/components/atoms/DemoBanner/stories.tsx +++ b/src/@next/components/atoms/DemoBanner/stories.tsx @@ -2,6 +2,7 @@ import { storiesOf } from "@storybook/react"; import React from "react"; import { DemoBanner } from "."; + storiesOf("@components/atoms/DemoBanner", module).add("default", () => ( )); diff --git a/src/@next/components/atoms/InputLabel/stories.tsx b/src/@next/components/atoms/InputLabel/stories.tsx index b7c386cba5..27b54fd4a0 100644 --- a/src/@next/components/atoms/InputLabel/stories.tsx +++ b/src/@next/components/atoms/InputLabel/stories.tsx @@ -3,15 +3,16 @@ import { storiesOf } from "@storybook/react"; import React from "react"; import { InputLabel } from "."; + storiesOf("@components/atoms/InputLabel", module) .addParameters({ component: InputLabel }) .add("active false", () => ( - + This is input - check knobs )) .add("active true", () => ( - + This is input - check knobs )); diff --git a/src/@next/components/atoms/InputLabel/test.tsx b/src/@next/components/atoms/InputLabel/test.tsx index 76ec6e3237..c3c6615f54 100644 --- a/src/@next/components/atoms/InputLabel/test.tsx +++ b/src/@next/components/atoms/InputLabel/test.tsx @@ -7,7 +7,7 @@ import { InputLabel } from "."; describe("", () => { it("exists", () => { const wrapper = shallow( - + This is input - check knobs ); @@ -18,7 +18,7 @@ describe("", () => { it("contains text", () => { const message = "This is message"; const wrapper = shallow( - + {message} ); @@ -28,7 +28,7 @@ describe("", () => { it("should have transparent background if not active", () => { const wrapper = mount( - + Text ); @@ -41,7 +41,7 @@ describe("", () => { it("should use passed background color if active", () => { const wrapper = mount( - + Text ); diff --git a/src/@next/components/atoms/Label/stories.tsx b/src/@next/components/atoms/Label/stories.tsx index e3324389d1..a59f7502a2 100644 --- a/src/@next/components/atoms/Label/stories.tsx +++ b/src/@next/components/atoms/Label/stories.tsx @@ -2,6 +2,7 @@ import { storiesOf } from "@storybook/react"; import React from "react"; import { Label } from "."; + storiesOf("@components/atoms/Label", module) .addParameters({ component: Label }) .add("default", () => ); diff --git a/src/@next/components/atoms/PlaceholderImage/PlaceholderImage.tsx b/src/@next/components/atoms/PlaceholderImage/PlaceholderImage.tsx index bd3c7d48f2..246abc0960 100755 --- a/src/@next/components/atoms/PlaceholderImage/PlaceholderImage.tsx +++ b/src/@next/components/atoms/PlaceholderImage/PlaceholderImage.tsx @@ -1,8 +1,7 @@ import React from "react"; -import { IProps } from "./types"; - import NoPhoto from "images/no-photo.svg"; +import { IProps } from "./types"; export const PlaceholderImage: React.FC = ({ alt = "placeholder", diff --git a/src/@next/components/atoms/Radio/Radio.tsx b/src/@next/components/atoms/Radio/Radio.tsx index 3d3a07492c..dbed36dc49 100755 --- a/src/@next/components/atoms/Radio/Radio.tsx +++ b/src/@next/components/atoms/Radio/Radio.tsx @@ -18,7 +18,7 @@ const Radio: React.FC = ({ {" "}
    - +
    {children}
    diff --git a/src/@next/components/atoms/Select/Select.tsx b/src/@next/components/atoms/Select/Select.tsx index 9100dad70f..dc8afc5277 100755 --- a/src/@next/components/atoms/Select/Select.tsx +++ b/src/@next/components/atoms/Select/Select.tsx @@ -69,19 +69,19 @@ export const Select: React.FC = ({ value={value} clearValue={clearValue} menuIsOpen={menuIsOpen} - menuShouldScrollIntoView={true} + menuShouldScrollIntoView tabSelectsValue={false} getOptionLabel={option => option[optionLabelKey]} getOptionValue={option => option[optionValueKey]} - openMenuOnFocus={true} + openMenuOnFocus styles={{ ...optionStyle(customTheme), ...customStyles }} options={options} isOptionDisabled={isOptionDisabled} - placeholder={""} + placeholder="" components={customComponents} isClearable={clearable} {...props} - > + /> diff --git a/src/@next/components/atoms/TileGrid/stories.tsx b/src/@next/components/atoms/TileGrid/stories.tsx index 9f28d16628..375b0adece 100644 --- a/src/@next/components/atoms/TileGrid/stories.tsx +++ b/src/@next/components/atoms/TileGrid/stories.tsx @@ -2,7 +2,7 @@ import { storiesOf } from "@storybook/react"; import React from "react"; import { TileGrid } from "."; -import { Tile } from "../"; +import { Tile } from ".."; const tile = ( This is header} footer={<>This is footer}> diff --git a/src/@next/components/molecules/AccountMenu/stories.tsx b/src/@next/components/molecules/AccountMenu/stories.tsx index 235a0305d5..497bf580f2 100644 --- a/src/@next/components/molecules/AccountMenu/stories.tsx +++ b/src/@next/components/molecules/AccountMenu/stories.tsx @@ -2,6 +2,9 @@ import { storiesOf } from "@storybook/react"; import { styled } from "@styles"; import React from "react"; +import { MemoryRouter } from "react-router"; +import { AccountMenu } from "."; + const Wrapper = styled.div` width: 360px; `; @@ -15,9 +18,6 @@ const links = [ const active = "/address-book/"; const DEFAULT_PROPS = { ...{ links, active } }; - -import { MemoryRouter } from "react-router"; -import { AccountMenu } from "."; storiesOf("@components/molecules/AccountMenu", module) .addParameters({ component: AccountMenu }) .addDecorator(story => ( diff --git a/src/@next/components/molecules/AccountTabTiles/AccountUpdateForm.tsx b/src/@next/components/molecules/AccountTabTiles/AccountUpdateForm.tsx index f00a3a9b15..50ecc28d57 100644 --- a/src/@next/components/molecules/AccountTabTiles/AccountUpdateForm.tsx +++ b/src/@next/components/molecules/AccountTabTiles/AccountUpdateForm.tsx @@ -1,8 +1,8 @@ import { Formik } from "formik"; import React from "react"; +import { Button, ButtonLink } from "@components/atoms"; import { TextField } from "../TextField"; -import { Button, ButtonLink } from "@components/atoms"; import * as S from "./styles"; export const AccountUpdateForm: React.FC<{ diff --git a/src/@next/components/molecules/AccountTabTiles/PasswordChangeForm.tsx b/src/@next/components/molecules/AccountTabTiles/PasswordChangeForm.tsx index 698623c9a3..50afde3085 100644 --- a/src/@next/components/molecules/AccountTabTiles/PasswordChangeForm.tsx +++ b/src/@next/components/molecules/AccountTabTiles/PasswordChangeForm.tsx @@ -1,9 +1,9 @@ import { Formik } from "formik"; import React from "react"; -import { TextField } from "../TextField"; import { Button, ButtonLink } from "@components/atoms"; import { IFormError } from "@types"; +import { TextField } from "../TextField"; import * as S from "./styles"; export const PasswordChangeForm: React.FC<{ diff --git a/src/@next/components/molecules/AccountTabTiles/test.tsx b/src/@next/components/molecules/AccountTabTiles/test.tsx index 297c22833f..b30560305d 100644 --- a/src/@next/components/molecules/AccountTabTiles/test.tsx +++ b/src/@next/components/molecules/AccountTabTiles/test.tsx @@ -3,7 +3,7 @@ import "jest-styled-components"; import React from "react"; import { Attribute, IconButton } from "@components/atoms"; -import { TextField } from "../"; +import { TextField } from ".."; import { AccountTile } from "./AccountTile"; import { PasswordTile } from "./PasswordTile"; diff --git a/src/@next/components/molecules/AddressSummary/AddressSummary.tsx b/src/@next/components/molecules/AddressSummary/AddressSummary.tsx index b6bf4fc8a5..536c43b313 100755 --- a/src/@next/components/molecules/AddressSummary/AddressSummary.tsx +++ b/src/@next/components/molecules/AddressSummary/AddressSummary.tsx @@ -35,7 +35,8 @@ const AddressSummary: React.FC = ({ address, email }: IProps) => { )} ); - } else if (email) { + } + if (email) { return {email}; } return null; diff --git a/src/@next/components/molecules/AttributeValuesChecklist/AttributeValuesChecklist.tsx b/src/@next/components/molecules/AttributeValuesChecklist/AttributeValuesChecklist.tsx index baae938e42..839b04b81b 100755 --- a/src/@next/components/molecules/AttributeValuesChecklist/AttributeValuesChecklist.tsx +++ b/src/@next/components/molecules/AttributeValuesChecklist/AttributeValuesChecklist.tsx @@ -22,17 +22,16 @@ export const AttributeValuesChecklist: React.FC = ({ values.map((value, index) => { if (!viewAllOptions && index > valuesShowLimitNumber - 1) { return <>; - } else { - return ( - onValueClick(value)} - > - {value && value.name} - - ); } + return ( + onValueClick(value)} + > + {value && value.name} + + ); })} {!viewAllOptions && values.length > valuesShowLimitNumber && ( diff --git a/src/@next/components/molecules/CardHeader/test.tsx b/src/@next/components/molecules/CardHeader/test.tsx index 81bfc30e47..cd72e00798 100644 --- a/src/@next/components/molecules/CardHeader/test.tsx +++ b/src/@next/components/molecules/CardHeader/test.tsx @@ -77,7 +77,7 @@ describe("", () => { }); it("should render border-bottom when `divider` prop is set to true", () => { - const header = mount().find( + const header = mount().find( S.Header ); diff --git a/src/@next/components/molecules/CheckoutProgressBar/CheckoutProgressBar.tsx b/src/@next/components/molecules/CheckoutProgressBar/CheckoutProgressBar.tsx index 930cbfb53b..e991cafe96 100755 --- a/src/@next/components/molecules/CheckoutProgressBar/CheckoutProgressBar.tsx +++ b/src/@next/components/molecules/CheckoutProgressBar/CheckoutProgressBar.tsx @@ -6,11 +6,11 @@ import { IProps, IStep } from "./types"; const activeDot = ( - + ); -const doneDot = ; +const doneDot = ; const inactiveDot = ; diff --git a/src/@next/components/molecules/InputSelect/InputSelect.tsx b/src/@next/components/molecules/InputSelect/InputSelect.tsx index 50e5ded69e..8d56be4f3e 100755 --- a/src/@next/components/molecules/InputSelect/InputSelect.tsx +++ b/src/@next/components/molecules/InputSelect/InputSelect.tsx @@ -56,14 +56,12 @@ export const InputSelect: React.FC = ({ data-test="inputSelect" {...{ customTheme, ...props }} /> - { - - {label} - - } + + {label} + ); }, @@ -79,15 +77,14 @@ export const InputSelect: React.FC = ({ ); - } else { - // Boolean to string conversion done due to - // https://github.com/styled-components/styled-components/issues/1198 - return ( - - - - ); } + // Boolean to string conversion done due to + // https://github.com/styled-components/styled-components/issues/1198 + return ( + + + + ); }, Input: (props: InputProps) => { return ; diff --git a/src/@next/components/molecules/InputSelect/stories.tsx b/src/@next/components/molecules/InputSelect/stories.tsx index e3e111b88a..f44b7dad71 100644 --- a/src/@next/components/molecules/InputSelect/stories.tsx +++ b/src/@next/components/molecules/InputSelect/stories.tsx @@ -3,6 +3,8 @@ import React from "react"; import { styled } from "@styles"; +import { InputSelect } from "."; + const DEFAULT_PROPS = { label: "Country", name: "country", @@ -36,8 +38,6 @@ const Container = () => { /> ); }; - -import { InputSelect } from "."; storiesOf("@components/molecules/InputSelect", module) .addParameters({ component: InputSelect }) .add("default", () => ( diff --git a/src/@next/components/molecules/OrderTabel/test.tsx b/src/@next/components/molecules/OrderTabel/test.tsx index 2e3f760b0d..abe4f8af0c 100644 --- a/src/@next/components/molecules/OrderTabel/test.tsx +++ b/src/@next/components/molecules/OrderTabel/test.tsx @@ -3,7 +3,7 @@ import { createBrowserHistory } from "history"; import "jest-styled-components"; import React from "react"; -import { Thumbnail } from "../"; +import { Thumbnail } from ".."; import { OrderTabel } from "."; import * as S from "./styles"; diff --git a/src/@next/components/molecules/OrderTabel/types.ts b/src/@next/components/molecules/OrderTabel/types.ts index ccca9f9b87..20ad1e6870 100755 --- a/src/@next/components/molecules/OrderTabel/types.ts +++ b/src/@next/components/molecules/OrderTabel/types.ts @@ -1,4 +1,5 @@ import * as H from "history"; + export interface IProps { orders: any[]; history: H.History; diff --git a/src/@next/components/molecules/ResetPasswordForm/ResetPasswordForm.tsx b/src/@next/components/molecules/ResetPasswordForm/ResetPasswordForm.tsx index e38e590490..b8f2ffdbfd 100755 --- a/src/@next/components/molecules/ResetPasswordForm/ResetPasswordForm.tsx +++ b/src/@next/components/molecules/ResetPasswordForm/ResetPasswordForm.tsx @@ -65,7 +65,7 @@ export const ResetPasswordForm: React.FC = ({ /> - diff --git a/src/@next/components/molecules/TextField/TextField.tsx b/src/@next/components/molecules/TextField/TextField.tsx index 89e093390c..b3d70fdd4b 100755 --- a/src/@next/components/molecules/TextField/TextField.tsx +++ b/src/@next/components/molecules/TextField/TextField.tsx @@ -1,10 +1,9 @@ import React from "react"; +import { ErrorMessage, Input } from "@components/atoms"; import * as S from "./styles"; import { IProps } from "./types"; -import { ErrorMessage, Input } from "@components/atoms"; - export const TextField: React.FC = ({ errors, helpText, diff --git a/src/@next/components/molecules/Thumbnail/Thumbnail.tsx b/src/@next/components/molecules/Thumbnail/Thumbnail.tsx index 6fa4c28600..4b6904d71b 100755 --- a/src/@next/components/molecules/Thumbnail/Thumbnail.tsx +++ b/src/@next/components/molecules/Thumbnail/Thumbnail.tsx @@ -3,7 +3,7 @@ import React from "react"; import { maybe } from "@utils/misc"; import { PlaceholderImage } from "@components/atoms"; -import { CachedImage } from "../"; +import { CachedImage } from ".."; import { IProps } from "./types"; export const Thumbnail: React.FC = ({ diff --git a/src/@next/components/organisms/AddressForm/AddressForm.tsx b/src/@next/components/organisms/AddressForm/AddressForm.tsx index 63e413ca7f..928e38f89b 100755 --- a/src/@next/components/organisms/AddressForm/AddressForm.tsx +++ b/src/@next/components/organisms/AddressForm/AddressForm.tsx @@ -38,7 +38,7 @@ export const AddressForm: React.FC = ({ return ( { if (handleSubmit) { handleSubmit(values); diff --git a/src/@next/components/organisms/AddressFormModal/AddressFormModal.tsx b/src/@next/components/organisms/AddressFormModal/AddressFormModal.tsx index ec5996b326..6cd37f2bf7 100755 --- a/src/@next/components/organisms/AddressFormModal/AddressFormModal.tsx +++ b/src/@next/components/organisms/AddressFormModal/AddressFormModal.tsx @@ -2,10 +2,10 @@ import React from "react"; import { useCreateUserAddress, useUpdateUserAddress } from "@saleor/sdk"; +import { CountryCode } from "@saleor/sdk/lib/gqlTypes/globalTypes"; import { AddressForm } from "../AddressForm"; import { Modal } from "../Modal"; -import { CountryCode } from "@saleor/sdk/lib/gqlTypes/globalTypes"; import { IProps } from "./types"; export const AddressFormModal: React.FC = ({ @@ -69,7 +69,7 @@ export const AddressFormModal: React.FC = ({ formId={formId} address={address ? address.address : undefined} handleSubmit={data => { - if (!!userId) { + if (userId) { setCreatUserAddress({ input: { ...data, diff --git a/src/@next/components/organisms/AddressGridSelector/AddressGridSelector.tsx b/src/@next/components/organisms/AddressGridSelector/AddressGridSelector.tsx index df49abe3cc..644028dbff 100755 --- a/src/@next/components/organisms/AddressGridSelector/AddressGridSelector.tsx +++ b/src/@next/components/organisms/AddressGridSelector/AddressGridSelector.tsx @@ -40,7 +40,7 @@ const AddressGridSelector: React.FC = ({ initialValues={{ addressTileOption: selectedAddressId, }} - enableReinitialize={true} + enableReinitialize onSubmit={(values, { setSubmitting }) => { if (onSelect) { const address = addresses.find( @@ -95,8 +95,8 @@ const AddressGridSelector: React.FC = ({ hideModal={() => { setDisplayNewModal(false); }} - submitBtnText={"Add"} - title={"Add new address"} + submitBtnText="Add" + title="Add new address" countriesOptions={countriesOptions} formId={newAddressFormId} userId={userId} diff --git a/src/@next/components/organisms/BraintreePaymentGateway/BraintreePaymentGateway.tsx b/src/@next/components/organisms/BraintreePaymentGateway/BraintreePaymentGateway.tsx index 947e006be9..38c580ef7d 100755 --- a/src/@next/components/organisms/BraintreePaymentGateway/BraintreePaymentGateway.tsx +++ b/src/@next/components/organisms/BraintreePaymentGateway/BraintreePaymentGateway.tsx @@ -64,16 +64,15 @@ const BraintreePaymentGateway: React.FC = ({ creditCard )) as PaymentData; return cardData; - } else { - const braintreeTokenErrors = [ - { - message: - "Braintree gateway misconfigured. Client token not provided.", - }, - ]; - setSubmitErrors(braintreeTokenErrors); - onError(braintreeTokenErrors); } + const braintreeTokenErrors = [ + { + message: + "Braintree gateway misconfigured. Client token not provided.", + }, + ]; + setSubmitErrors(braintreeTokenErrors); + onError(braintreeTokenErrors); } catch (errors) { setCardErrorsHelper(errors); onError(errors); diff --git a/src/@next/components/organisms/CartRow/CartRow.tsx b/src/@next/components/organisms/CartRow/CartRow.tsx index 053a6c3f62..cd1318cb4a 100755 --- a/src/@next/components/organisms/CartRow/CartRow.tsx +++ b/src/@next/components/organisms/CartRow/CartRow.tsx @@ -108,7 +108,7 @@ export const CartRow: React.FC = ({ - SKU: {sku ? sku : "-"} + SKU: {sku || "-"} diff --git a/src/@next/components/organisms/CartSummary/CartSummary.tsx b/src/@next/components/organisms/CartSummary/CartSummary.tsx index 001503ec68..ab7405fbf4 100755 --- a/src/@next/components/organisms/CartSummary/CartSummary.tsx +++ b/src/@next/components/organisms/CartSummary/CartSummary.tsx @@ -27,9 +27,9 @@ const Costs = ({ subtotal, promoCode, shipping, total }: ICosts) => ( {subtotal && } {shipping && } {promoCode && promoCode.gross.amount > 0 && ( - + )} - {total && } + {total && } ); diff --git a/src/@next/components/organisms/CartSummary/types.ts b/src/@next/components/organisms/CartSummary/types.ts index d525ab00a7..6b65c69f7d 100755 --- a/src/@next/components/organisms/CartSummary/types.ts +++ b/src/@next/components/organisms/CartSummary/types.ts @@ -1,4 +1,5 @@ import { IImage, ITaxedMoney } from "@types"; + export interface ICostLine { name: string; cost: ITaxedMoney; diff --git a/src/@next/components/organisms/CheckoutAddress/CheckoutAddress.tsx b/src/@next/components/organisms/CheckoutAddress/CheckoutAddress.tsx index 644c6b6265..5093541831 100755 --- a/src/@next/components/organisms/CheckoutAddress/CheckoutAddress.tsx +++ b/src/@next/components/organisms/CheckoutAddress/CheckoutAddress.tsx @@ -50,7 +50,7 @@ const CheckoutAddress: React.FC = ({ email, }} handleSubmit={address => setShippingAddress(address, address?.email)} - includeEmail={true} + includeEmail errors={errors} /> )} diff --git a/src/@next/components/organisms/CheckoutAddress/test.tsx b/src/@next/components/organisms/CheckoutAddress/test.tsx index 337c3afe7a..4aee7782f4 100644 --- a/src/@next/components/organisms/CheckoutAddress/test.tsx +++ b/src/@next/components/organisms/CheckoutAddress/test.tsx @@ -17,7 +17,7 @@ describe("", () => { /> ); - const address = LOGGED_IN_USER_PROPS.userAddresses[0].address; + const { address } = LOGGED_IN_USER_PROPS.userAddresses[0]; const wrapperText = wrapper.text(); expect(wrapperText).toContain(address.firstName); expect(wrapperText).toContain(address.lastName); diff --git a/src/@next/components/organisms/CheckoutShipping/CheckoutShipping.tsx b/src/@next/components/organisms/CheckoutShipping/CheckoutShipping.tsx index 2a8785e98c..59f5dad9c1 100755 --- a/src/@next/components/organisms/CheckoutShipping/CheckoutShipping.tsx +++ b/src/@next/components/organisms/CheckoutShipping/CheckoutShipping.tsx @@ -25,7 +25,7 @@ const CheckoutShipping: React.FC = ({ initialValues={{ shippingMethod: selectedShippingMethodId, }} - enableReinitialize={true} + enableReinitialize onSubmit={(values, { setSubmitting }) => { if (selectShippingMethod && values.shippingMethod) { selectShippingMethod(values.shippingMethod); @@ -62,21 +62,19 @@ const CheckoutShipping: React.FC = ({ name="shippingMethod" value={id} checked={checked} - customLabel={true} + customLabel onChange={() => setFieldValue("shippingMethod", id)} > - + {name} {" "} | + - { - - } + diff --git a/src/@next/components/organisms/CreditCardForm/stories.tsx b/src/@next/components/organisms/CreditCardForm/stories.tsx index 8169ba0d8a..04c39b18d3 100644 --- a/src/@next/components/organisms/CreditCardForm/stories.tsx +++ b/src/@next/components/organisms/CreditCardForm/stories.tsx @@ -33,4 +33,4 @@ const PROPS_ERRORS = { storiesOf(`@components/organisms/CreditCardForm`, module) .add("default", () => ) .add("error", () => ) - .add("disabled", () => ); + .add("disabled", () => ); diff --git a/src/@next/components/organisms/DiscountForm/DiscountForm.tsx b/src/@next/components/organisms/DiscountForm/DiscountForm.tsx index ea2c549e7a..5dcfa85881 100755 --- a/src/@next/components/organisms/DiscountForm/DiscountForm.tsx +++ b/src/@next/components/organisms/DiscountForm/DiscountForm.tsx @@ -34,7 +34,7 @@ export const DiscountForm: React.FC = ({ inputCode, tempPromoCode, }} - enableReinitialize={true} + enableReinitialize onSubmit={(values, { setSubmitting }) => { if (handleSubmit) { handleSubmit({ diff --git a/src/@next/components/organisms/DiscountForm/stories.tsx b/src/@next/components/organisms/DiscountForm/stories.tsx index af92795dfb..0da7adaf86 100644 --- a/src/@next/components/organisms/DiscountForm/stories.tsx +++ b/src/@next/components/organisms/DiscountForm/stories.tsx @@ -2,6 +2,7 @@ import { storiesOf } from "@storybook/react"; import React from "react"; import { DiscountForm } from "."; + storiesOf("@components/organisms/DiscountForm", module) .addParameters({ component: DiscountForm }) .add("default", () => ); diff --git a/src/@next/components/organisms/DummyPaymentGateway/test.tsx b/src/@next/components/organisms/DummyPaymentGateway/test.tsx index 960abcc238..e173b8ff80 100644 --- a/src/@next/components/organisms/DummyPaymentGateway/test.tsx +++ b/src/@next/components/organisms/DummyPaymentGateway/test.tsx @@ -37,7 +37,7 @@ describe("", () => { const input = wrapper.find("input").at(0); const form = wrapper.find("form"); - const token = statuses[0].token; + const { token } = statuses[0]; input.simulate("change", { target: { value: token }, diff --git a/src/@next/components/organisms/FilterSidebar/FilterSidebar.tsx b/src/@next/components/organisms/FilterSidebar/FilterSidebar.tsx index 537cda3e86..4b1a7eb993 100755 --- a/src/@next/components/organisms/FilterSidebar/FilterSidebar.tsx +++ b/src/@next/components/organisms/FilterSidebar/FilterSidebar.tsx @@ -4,7 +4,7 @@ import { IconButton } from "@components/atoms"; import { AttributeValuesChecklist } from "@components/molecules"; import { useHandlerWhenClickedOutside } from "@hooks"; -import { Overlay } from "../"; +import { Overlay } from ".."; import { IFilters, ISingleFilterAttribute } from "../../../types"; import * as S from "./styles"; import { IProps } from "./types"; @@ -17,12 +17,10 @@ const checkIfAttributeIsChecked = ( if (filters!.attributes && filters.attributes.hasOwnProperty(slug)) { if (filters.attributes[slug].find(filter => filter === value.slug)) { return true; - } else { - return false; } - } else { return false; } + return false; }; export const FilterSidebar: React.FC = ({ diff --git a/src/@next/components/organisms/FilterSidebar/types.ts b/src/@next/components/organisms/FilterSidebar/types.ts index 7e8fb13833..dc325d9d1a 100755 --- a/src/@next/components/organisms/FilterSidebar/types.ts +++ b/src/@next/components/organisms/FilterSidebar/types.ts @@ -1,4 +1,5 @@ import { IFilterAttributes, IFilters } from "@types"; + export interface IProps { attributes: IFilterAttributes[]; filters: IFilters; diff --git a/src/@next/components/organisms/PaymentGatewaysList/PaymentGatewaysList.tsx b/src/@next/components/organisms/PaymentGatewaysList/PaymentGatewaysList.tsx index 1c3ada5dcf..521fb5016f 100755 --- a/src/@next/components/organisms/PaymentGatewaysList/PaymentGatewaysList.tsx +++ b/src/@next/components/organisms/PaymentGatewaysList/PaymentGatewaysList.tsx @@ -43,7 +43,7 @@ const PaymentGatewaysList: React.FC = ({ onChange={() => selectPaymentGateway && selectPaymentGateway(id) } - customLabel={true} + customLabel > {name} @@ -77,7 +77,7 @@ const PaymentGatewaysList: React.FC = ({ onChange={() => selectPaymentGateway && selectPaymentGateway(id) } - customLabel={true} + customLabel > {name} @@ -107,7 +107,7 @@ const PaymentGatewaysList: React.FC = ({ onChange={() => selectPaymentGateway && selectPaymentGateway(id) } - customLabel={true} + customLabel > {name} diff --git a/src/@next/components/organisms/ProductList/stories.tsx b/src/@next/components/organisms/ProductList/stories.tsx index d85fd37436..85a4ebe4a9 100644 --- a/src/@next/components/organisms/ProductList/stories.tsx +++ b/src/@next/components/organisms/ProductList/stories.tsx @@ -11,7 +11,7 @@ storiesOf("@components/organisms/ProductList", module) null} testingContextId="testCategory" diff --git a/src/@next/components/organisms/ProductList/test.tsx b/src/@next/components/organisms/ProductList/test.tsx index 43813c2937..7fb4b456aa 100644 --- a/src/@next/components/organisms/ProductList/test.tsx +++ b/src/@next/components/organisms/ProductList/test.tsx @@ -12,7 +12,7 @@ describe("", () => { @@ -26,8 +26,8 @@ describe("", () => { @@ -42,7 +42,7 @@ describe("", () => { diff --git a/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx b/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx index 4a296d5408..7c202523d1 100644 --- a/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx +++ b/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx @@ -96,13 +96,12 @@ export const ProductVariantAttributeSelect: React.FC<{ ); - } else { - return ( - setShowSelectSidebar(true)}> - - - ); } + return ( + setShowSelectSidebar(true)}> + + + ); }; useEffect(() => { @@ -120,7 +119,7 @@ export const ProductVariantAttributeSelect: React.FC<{ value={selectedValue ? selectedValue.value : ""} onChange={() => null} contentRight={getRightInputContent(!!selectedValue)} - readOnly={true} + readOnly name={ productVariantsAttribute.attribute.slug ? productVariantsAttribute.attribute.slug @@ -144,18 +143,17 @@ export const ProductVariantAttributeSelect: React.FC<{ /> ); - } else { - return ( - optionValue.disabled} - onChange={optionValue => onChangeSelection(optionValue?.value)} - clearable={true} - clearValue={onClearSelection} - /> - ); } + return ( + optionValue.disabled} + onChange={optionValue => onChangeSelection(optionValue?.value)} + clearable + clearValue={onClearSelection} + /> + ); }; diff --git a/src/@next/components/organisms/ProductVariantPicker/ProductVariantPicker.tsx b/src/@next/components/organisms/ProductVariantPicker/ProductVariantPicker.tsx index d55da8e012..1ec0c15742 100755 --- a/src/@next/components/organisms/ProductVariantPicker/ProductVariantPicker.tsx +++ b/src/@next/components/organisms/ProductVariantPicker/ProductVariantPicker.tsx @@ -56,7 +56,7 @@ export const ProductVariantPicker: React.FC = ({ productVariantsAttributeId => { const productVariantsAttribute = productVariantsAttributes[productVariantsAttributeId]; - const slug = productVariantsAttribute.attribute.slug; + const { slug } = productVariantsAttribute.attribute; return ( withContainer( diff --git a/src/@next/components/organisms/ProductVariantPicker/test.tsx b/src/@next/components/organisms/ProductVariantPicker/test.tsx index 5688144036..2785872059 100644 --- a/src/@next/components/organisms/ProductVariantPicker/test.tsx +++ b/src/@next/components/organisms/ProductVariantPicker/test.tsx @@ -72,7 +72,7 @@ describe("", () => { const wrapper = mount( @@ -89,7 +89,7 @@ describe("", () => { it("should disable possible selection of other variant attribute values after selection of one variant attribute values with sidebar", () => { const wrapper = mount( diff --git a/src/@next/components/organisms/SelectSidebar/SelectSidebar.tsx b/src/@next/components/organisms/SelectSidebar/SelectSidebar.tsx index 8073a167ae..835a8515c3 100755 --- a/src/@next/components/organisms/SelectSidebar/SelectSidebar.tsx +++ b/src/@next/components/organisms/SelectSidebar/SelectSidebar.tsx @@ -4,7 +4,7 @@ import { ButtonLink } from "@components/atoms"; import { CardHeader, OverlayItem } from "@components/molecules"; import { useHandlerWhenClickedOutside } from "@hooks"; -import { Overlay } from "../"; +import { Overlay } from ".."; import * as S from "./styles"; import { IProps } from "./types"; diff --git a/src/@next/components/organisms/SelectSidebar/stories.tsx b/src/@next/components/organisms/SelectSidebar/stories.tsx index 94e4d3076e..af98b170bc 100644 --- a/src/@next/components/organisms/SelectSidebar/stories.tsx +++ b/src/@next/components/organisms/SelectSidebar/stories.tsx @@ -20,7 +20,7 @@ storiesOf("@components/organisms/SelectSidebar", module) title="PLEASE SELECT SIZE" target={portalRoot} {...DEFAULT_PROPS} - show={true} + show hide={action("hide")} onSelect={action("onSelect")} /> @@ -32,7 +32,7 @@ storiesOf("@components/organisms/SelectSidebar", module) onClickFooter={action("onClickFooter")} target={portalRoot} {...DEFAULT_PROPS} - show={true} + show hide={action("hide")} onSelect={action("onSelect")} /> diff --git a/src/@next/components/organisms/SelectSidebar/test.tsx b/src/@next/components/organisms/SelectSidebar/test.tsx index 448741dd7b..b073437913 100644 --- a/src/@next/components/organisms/SelectSidebar/test.tsx +++ b/src/@next/components/organisms/SelectSidebar/test.tsx @@ -14,7 +14,7 @@ describe("", () => { @@ -28,7 +28,7 @@ describe("", () => { diff --git a/src/@next/components/organisms/SideNavbar/SideNavbar.tsx b/src/@next/components/organisms/SideNavbar/SideNavbar.tsx index 995d72c9eb..4b5e838559 100755 --- a/src/@next/components/organisms/SideNavbar/SideNavbar.tsx +++ b/src/@next/components/organisms/SideNavbar/SideNavbar.tsx @@ -6,7 +6,7 @@ import { Icon } from "@components/atoms"; import { largeScreen } from "@styles/constants"; import LogoSmall from "images/logo-small.svg"; -import { Overlay } from "../"; +import { Overlay } from ".."; import * as S from "./styles"; import { IProps, IState } from "./types"; diff --git a/src/@next/components/organisms/SideNavbar/stories.tsx b/src/@next/components/organisms/SideNavbar/stories.tsx index 51bd21b689..b93b03819c 100644 --- a/src/@next/components/organisms/SideNavbar/stories.tsx +++ b/src/@next/components/organisms/SideNavbar/stories.tsx @@ -5,20 +5,20 @@ import { BrowserRouter } from "react-router-dom"; import { items } from "./fixtures"; +import { SideNavbar } from "."; + let portalRoot = document.getElementById("portal-root"); if (!portalRoot) { portalRoot = document.createElement("div"); portalRoot.setAttribute("id", "portal-root"); document.body.appendChild(portalRoot); } - -import { SideNavbar } from "."; storiesOf("@components/organisms/SideNavbar", module) .addParameters({ component: SideNavbar }) .add("default", () => ( = ({ testingContext="continueShoppingButton" onClick={continueShopping} color="secondary" - fullWidth={true} + fullWidth > CONTINUE SHOPPING diff --git a/src/@next/components/organisms/ThankYou/stories.tsx b/src/@next/components/organisms/ThankYou/stories.tsx index 46478a06d0..fbe1685a36 100644 --- a/src/@next/components/organisms/ThankYou/stories.tsx +++ b/src/@next/components/organisms/ThankYou/stories.tsx @@ -12,7 +12,7 @@ storiesOf("@components/organisms/ThankYou", module) return ( diff --git a/src/@next/components/templates/Checkout/Checkout.tsx b/src/@next/components/templates/Checkout/Checkout.tsx index b7b9f4ce5a..b8d45924db 100755 --- a/src/@next/components/templates/Checkout/Checkout.tsx +++ b/src/@next/components/templates/Checkout/Checkout.tsx @@ -21,7 +21,7 @@ const Checkout: React.FC = ({ {loading && ( - + )} diff --git a/src/@next/hooks/useCheckoutStepState.ts b/src/@next/hooks/useCheckoutStepState.ts index 5c4ec78322..715db0b136 100644 --- a/src/@next/hooks/useCheckoutStepState.ts +++ b/src/@next/hooks/useCheckoutStepState.ts @@ -18,7 +18,8 @@ export const useCheckoutStepState = ( const getStep = () => { if (!checkout?.id && items && isShippingRequiredForProducts) { return CheckoutStep.Address; - } else if (!checkout?.id && items) { + } + if (!checkout?.id && items) { return CheckoutStep.Payment; } @@ -32,13 +33,14 @@ export const useCheckoutStepState = ( if (isReviewStep) { return CheckoutStep.Review; - } else if (isPaymentStep) { + } + if (isPaymentStep) { return CheckoutStep.Payment; - } else if (isShippingStep) { + } + if (isShippingStep) { return CheckoutStep.Shipping; - } else { - return CheckoutStep.Address; } + return CheckoutStep.Address; }; const [step, setStep] = useState(getStep()); diff --git a/src/@next/pages/CartPage/CartPage.tsx b/src/@next/pages/CartPage/CartPage.tsx index 027ddd0ae7..9e7d96983f 100755 --- a/src/@next/pages/CartPage/CartPage.tsx +++ b/src/@next/pages/CartPage/CartPage.tsx @@ -145,7 +145,6 @@ export const CartPage: React.FC = ({}: IProps) => { cart={items && generateCart(items, removeItem, updateItem)} /> ); - } else { - return ; } + return ; }; diff --git a/src/@next/pages/CheckoutPage/CheckoutPage.tsx b/src/@next/pages/CheckoutPage/CheckoutPage.tsx index 9daa198360..5e83c36e08 100755 --- a/src/@next/pages/CheckoutPage/CheckoutPage.tsx +++ b/src/@next/pages/CheckoutPage/CheckoutPage.tsx @@ -90,9 +90,8 @@ const getButton = (text: string, onClick: () => void) => { {text} ); - } else { - return null; } + return null; }; const CheckoutPage: React.FC = ({}: IProps) => { diff --git a/src/@next/pages/CheckoutPage/subpages/CheckoutPaymentSubpage.tsx b/src/@next/pages/CheckoutPage/subpages/CheckoutPaymentSubpage.tsx index 6cfb5165b6..0f52c81037 100644 --- a/src/@next/pages/CheckoutPage/subpages/CheckoutPaymentSubpage.tsx +++ b/src/@next/pages/CheckoutPage/subpages/CheckoutPaymentSubpage.tsx @@ -79,9 +79,7 @@ const CheckoutPaymentSubpageWithRef: RefForwardingComponent< phone: checkout?.billingAddress?.phone || undefined, } : undefined; - const paymentGateways = availablePaymentGateways - ? availablePaymentGateways - : []; + const paymentGateways = availablePaymentGateways || []; const checkoutBillingFormId = "billing-form"; const checkoutBillingFormRef = useRef(null); @@ -249,7 +247,7 @@ const CheckoutPaymentSubpageWithRef: RefForwardingComponent< ...address, isDefaultBillingAddress: !!isDefaultBillingAddress, isDefaultShippingAddress: !!isDefaultShippingAddress, - phone: phone ? phone : undefined, + phone: phone || undefined, }) )} selectedUserAddressId={selectedBillingAddressId} diff --git a/src/@next/pages/CheckoutPage/subpages/CheckoutReviewSubpage.tsx b/src/@next/pages/CheckoutPage/subpages/CheckoutReviewSubpage.tsx index c6f5ea7c5e..a7bdd80643 100644 --- a/src/@next/pages/CheckoutPage/subpages/CheckoutReviewSubpage.tsx +++ b/src/@next/pages/CheckoutPage/subpages/CheckoutReviewSubpage.tsx @@ -53,7 +53,8 @@ const CheckoutReviewSubpageWithRef: RefForwardingComponent< status => status.token === selectedPaymentGatewayToken )?.label }`; - } else if (payment?.creditCard) { + } + if (payment?.creditCard) { return `Ending in ${payment?.creditCard.lastDigits}`; } return ``; diff --git a/src/@next/pages/CheckoutPage/subpages/CheckoutShippingSubpage.tsx b/src/@next/pages/CheckoutPage/subpages/CheckoutShippingSubpage.tsx index 1772be4358..5d5ae6b602 100644 --- a/src/@next/pages/CheckoutPage/subpages/CheckoutShippingSubpage.tsx +++ b/src/@next/pages/CheckoutPage/subpages/CheckoutShippingSubpage.tsx @@ -36,9 +36,7 @@ const CheckoutShippingSubpageWithRef: RefForwardingComponent< setShippingMethod, } = useCheckout(); - const shippingMethods = availableShippingMethods - ? availableShippingMethods - : []; + const shippingMethods = availableShippingMethods || []; useImperativeHandle(ref, () => ({ submitShipping: () => { diff --git a/src/@next/pages/PasswordReset/types.ts b/src/@next/pages/PasswordReset/types.ts index 62b97d91f0..eed607bb00 100755 --- a/src/@next/pages/PasswordReset/types.ts +++ b/src/@next/pages/PasswordReset/types.ts @@ -1,4 +1,5 @@ import { History } from "history"; + export interface IProps { history: History; } diff --git a/src/@next/types/IAddressWithAddressType.ts b/src/@next/types/IAddressWithAddressType.ts index a02d532c6a..87191e00ca 100644 --- a/src/@next/types/IAddressWithAddressType.ts +++ b/src/@next/types/IAddressWithAddressType.ts @@ -1,4 +1,5 @@ -import { IAddress } from "./"; +import { IAddress } from "."; + export interface IAddressWithAddressType extends IAddress { isDefaultShippingAddress: boolean; isDefaultBillingAddress: boolean; diff --git a/src/account/AddressBook/AddressBook.tsx b/src/account/AddressBook/AddressBook.tsx index 9a74a2056f..c1c4e3262f 100644 --- a/src/account/AddressBook/AddressBook.tsx +++ b/src/account/AddressBook/AddressBook.tsx @@ -58,9 +58,9 @@ const AddressBook: React.FC<{ setDisplayNewModal(false); }} userId={user.id} - {...{ defaultValue: defaultCountry ? defaultCountry : {} }} - submitBtnText={"Add"} - title={"Add new address"} + {...{ defaultValue: defaultCountry || {} }} + submitBtnText="Add" + title="Add new address" {...{ countriesOptions: countries }} formId="address-form" /> @@ -71,8 +71,8 @@ const AddressBook: React.FC<{ setDisplayEditModal(false); }} address={addressData} - submitBtnText={"Save"} - title={"Edit address"} + submitBtnText="Save" + title="Edit address" {...{ countriesOptions: countries }} formId="address-form" /> diff --git a/src/app/routes/AppRoutes.tsx b/src/app/routes/AppRoutes.tsx index b29a4ebaf9..dd34067a31 100644 --- a/src/app/routes/AppRoutes.tsx +++ b/src/app/routes/AppRoutes.tsx @@ -1,6 +1,7 @@ import * as React from "react"; import { Route, Switch } from "react-router-dom"; +import { CartPage, CheckoutPage, PasswordReset, ThankYouPage } from "@pages"; import { CheckoutLogin, NotFound } from "../../components"; import UserAccount, * as accountPaths from "../../userAccount/routes"; import { OrderDetails } from "../../userAccount/views"; @@ -12,8 +13,6 @@ import { HomePage } from "../../views/Home"; import { ProductPage } from "../../views/Product"; import { SearchPage } from "../../views/Search"; -import { CartPage, CheckoutPage, PasswordReset, ThankYouPage } from "@pages"; - import * as paths from "./paths"; export const Routes: React.FC = () => ( diff --git a/src/components/AddressSummary/index.tsx b/src/components/AddressSummary/index.tsx index f79bb3ed7b..415cd86f36 100644 --- a/src/components/AddressSummary/index.tsx +++ b/src/components/AddressSummary/index.tsx @@ -47,7 +47,8 @@ const AddressSummary: React.FC<{ )}

    ); - } else if (email) { + } + if (email) { return (

    {email} diff --git a/src/components/CheckoutLogin/SignInForm.tsx b/src/components/CheckoutLogin/SignInForm.tsx index a473ce4148..4b48ddae95 100644 --- a/src/components/CheckoutLogin/SignInForm.tsx +++ b/src/components/CheckoutLogin/SignInForm.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { LoginForm } from "../"; +import { LoginForm } from ".."; import ForgottenPassword from "../OverlayManager/Login/ForgottenPassword"; const SignInForm: React.FC<{ diff --git a/src/components/Form/index.tsx b/src/components/Form/index.tsx index b0da672a8a..1bfca685f1 100644 --- a/src/components/Form/index.tsx +++ b/src/components/Form/index.tsx @@ -167,7 +167,8 @@ class Form extends React.Component< event.preventDefault(); }, }); - } else if (child.type === SelectField || child.type === Select) { + } + if (child.type === SelectField || child.type === Select) { let defaultValue; if ( child.props.name === "country" && @@ -191,7 +192,8 @@ class Form extends React.Component< }); }, }); - } else if (child.props.type === "checkbox") { + } + if (child.props.type === "checkbox") { const defaultValue = this.state.data[child.props.name] || false; return React.cloneElement(child, { defaultValue, diff --git a/src/components/MainMenu/MainMenu.tsx b/src/components/MainMenu/MainMenu.tsx index 3ed3e7f680..01c78f18f2 100644 --- a/src/components/MainMenu/MainMenu.tsx +++ b/src/components/MainMenu/MainMenu.tsx @@ -72,11 +72,11 @@ const MainMenu: React.FC = () => { > )} @@ -102,7 +102,7 @@ const MainMenu: React.FC = () => { <> {user ? ( diff --git a/src/components/MenuDropdown/index.tsx b/src/components/MenuDropdown/index.tsx index 40e2620473..fae60ca1a9 100644 --- a/src/components/MenuDropdown/index.tsx +++ b/src/components/MenuDropdown/index.tsx @@ -13,10 +13,12 @@ class MenuDropdown extends React.Component< static defaultProps = { suffixClass: "", }; + constructor(props) { super(props); this.state = { active: false }; } + render() { return (

    {this.props.content}
    diff --git a/src/components/MobileNav/NavItem.tsx b/src/components/MobileNav/NavItem.tsx index 8dc142133b..1e68e02b96 100644 --- a/src/components/MobileNav/NavItem.tsx +++ b/src/components/MobileNav/NavItem.tsx @@ -32,7 +32,7 @@ const NavItem: React.FC = ({ > {hasSubNavigation && ( diff --git a/src/components/NavLink/index.tsx b/src/components/NavLink/index.tsx index 267bc5e64e..797381bf5d 100644 --- a/src/components/NavLink/index.tsx +++ b/src/components/NavLink/index.tsx @@ -34,11 +34,14 @@ export const NavLink: React.FC = ({ item, ...props }) => { {name}
    ); - } else if (category) { + } + if (category) { return link(generateCategoryUrl(category.id, category.name)); - } else if (collection) { + } + if (collection) { return link(generateCollectionUrl(collection.id, collection.name)); - } else if (page) { + } + if (page) { return link(generatePageUrl(page.slug)); } diff --git a/src/components/Offline.tsx b/src/components/Offline.tsx index 1e0cadd423..de460eecb2 100644 --- a/src/components/Offline.tsx +++ b/src/components/Offline.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import { NetworkStatus } from "./"; +import { NetworkStatus } from "."; const Offline: React.FC = ({ children }) => ( {online => (online ? null : children)} diff --git a/src/components/Offline/index.tsx b/src/components/Offline/index.tsx index 1640f93be3..ea7a21a762 100644 --- a/src/components/Offline/index.tsx +++ b/src/components/Offline/index.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import NetworkStatus from "./"; +import NetworkStatus from "."; const Offline: React.FC = ({ children }) => ( {online => (online ? null : children)} diff --git a/src/components/Online.tsx b/src/components/Online.tsx index 4b9d9629c9..22b4794e0c 100644 --- a/src/components/Online.tsx +++ b/src/components/Online.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import { NetworkStatus } from "./"; +import { NetworkStatus } from "."; const Online: React.FC = ({ children }) => ( {online => (online ? children : null)} diff --git a/src/components/Overlay/provider.tsx b/src/components/Overlay/provider.tsx index 6d6938f95d..15638f25a7 100644 --- a/src/components/Overlay/provider.tsx +++ b/src/components/Overlay/provider.tsx @@ -13,6 +13,7 @@ class Provider extends React.Component< OverlayContextInterface > { notificationCloseDelay = 2500; + constructor(props) { super(props); this.state = { diff --git a/src/components/OverlayManager/Cart/Cart.tsx b/src/components/OverlayManager/Cart/Cart.tsx index 2f4629da3e..7656eec6a5 100644 --- a/src/components/OverlayManager/Cart/Cart.tsx +++ b/src/components/OverlayManager/Cart/Cart.tsx @@ -16,7 +16,7 @@ import { OverlayContextInterface, } from "../.."; import { cartUrl, checkoutLoginUrl, checkoutUrl } from "../../../app/routes"; -import Loader from "../../../components/Loader"; +import Loader from "../../Loader"; import Empty from "./Empty"; import ProductList from "./ProductList"; @@ -76,7 +76,7 @@ const Cart: React.FC<{ overlay: OverlayContextInterface }> = ({ overlay }) => { {items?.length ? ( <> {missingVariants() ? ( - + ) : ( <> diff --git a/src/components/OverlayManager/Login/RegisterForm.tsx b/src/components/OverlayManager/Login/RegisterForm.tsx index 69d38a98ee..7ee7bf3e04 100644 --- a/src/components/OverlayManager/Login/RegisterForm.tsx +++ b/src/components/OverlayManager/Login/RegisterForm.tsx @@ -2,6 +2,7 @@ import "./scss/index.scss"; import * as React from "react"; +import { AlertManager, useAlert } from "react-alert"; import { accountConfirmUrl } from "../../../app/routes"; import { Button, Form, TextField } from "../.."; @@ -9,8 +10,6 @@ import { maybe } from "../../../core/utils"; import { RegisterAccount } from "./gqlTypes/RegisterAccount"; import { TypedAccountRegisterMutation } from "./queries"; -import { AlertManager, useAlert } from "react-alert"; - const showSuccessNotification = ( data: RegisterAccount, hide: () => void, diff --git a/src/components/OverlayManager/Login/index.tsx b/src/components/OverlayManager/Login/index.tsx index a4735acce3..b2893ef4dd 100644 --- a/src/components/OverlayManager/Login/index.tsx +++ b/src/components/OverlayManager/Login/index.tsx @@ -25,6 +25,7 @@ class Login extends React.Component< static defaultProps = { active: "login", }; + constructor(props) { super(props); this.state = { diff --git a/src/components/OverlayManager/Search/Search.tsx b/src/components/OverlayManager/Search/Search.tsx index ba95d6d459..e208b6b556 100644 --- a/src/components/OverlayManager/Search/Search.tsx +++ b/src/components/OverlayManager/Search/Search.tsx @@ -38,6 +38,7 @@ interface SearchState { class Search extends React.Component { state = { search: "", inputFocused: false }; + submitBtnRef = React.createRef(); get hasSearchPhrase() { @@ -105,15 +106,15 @@ class Search extends React.Component { /> } iconRight={} - autoFocus={true} + autoFocus placeholder="Search" onBlur={this.handleInputBlur} />
    diff --git a/src/components/PriceRangeFilter/index.tsx b/src/components/PriceRangeFilter/index.tsx index ec27cfbaf8..78ac1f9da7 100644 --- a/src/components/PriceRangeFilter/index.tsx +++ b/src/components/PriceRangeFilter/index.tsx @@ -51,14 +51,15 @@ class PriceRangeFilter extends React.Component< createLabel() { const { from, to } = this.props; if (!!from && !!to) { - return from + " - " + to; - } else if (!!from) { - return "from " + from; - } else if (!!to) { - return "to " + to; - } else { - return undefined; + return `${from} - ${to}`; } + if (from) { + return `from ${from}`; + } + if (to) { + return `to ${to}`; + } + return undefined; } render() { diff --git a/src/components/ProductDescription/AddToCartButton.tsx b/src/components/ProductDescription/AddToCartButton.tsx index d7f18ba57e..a3c9058f27 100644 --- a/src/components/ProductDescription/AddToCartButton.tsx +++ b/src/components/ProductDescription/AddToCartButton.tsx @@ -15,7 +15,9 @@ class AddToCartButton extends React.PureComponent< AddToCartButtonState > { state = { animate: false, disabled: false }; + animationTimeout = 800; + timeout; handleAnimation = (evt: React.MouseEvent) => { @@ -45,7 +47,7 @@ class AddToCartButton extends React.PureComponent< return (
    ); - } else { - return null; } + return null; }} ); diff --git a/src/components/Select/SelectOptionsList.tsx b/src/components/Select/SelectOptionsList.tsx index 3cd0699a9f..262c41757b 100644 --- a/src/components/Select/SelectOptionsList.tsx +++ b/src/components/Select/SelectOptionsList.tsx @@ -7,7 +7,7 @@ type Ref = HTMLParagraphElement; const renderNoOptions = () => (

    - {"No Options"} + No Options

    ); diff --git a/src/components/ShopProvider/index.tsx b/src/components/ShopProvider/index.tsx index 07f2de5804..f0ac6855dd 100644 --- a/src/components/ShopProvider/index.tsx +++ b/src/components/ShopProvider/index.tsx @@ -1,10 +1,9 @@ import * as React from "react"; +import { useShopDetails } from "@saleor/sdk"; import { maybe } from "../../core/utils"; import { defaultContext, ShopContext } from "./context"; -import { useShopDetails } from "@saleor/sdk"; - const ShopProvider: React.FC = ({ children }) => { const { data } = useShopDetails(); return ( diff --git a/src/core/SEO/Product/structuredData.tsx b/src/core/SEO/Product/structuredData.tsx index 7e7c5004ab..bba9bb36ba 100644 --- a/src/core/SEO/Product/structuredData.tsx +++ b/src/core/SEO/Product/structuredData.tsx @@ -13,7 +13,7 @@ const getVariantsStructuredData = variants => { export const structuredData = product => { const images = product.images.map(image => new URL(image.url).pathname); - const variants = product.variants; + const { variants } = product; return JSON.stringify({ "@context": "https://schema.org/", diff --git a/src/core/utils.ts b/src/core/utils.ts index fc58797a42..f30bb4af35 100644 --- a/src/core/utils.ts +++ b/src/core/utils.ts @@ -46,9 +46,8 @@ export const priceToString = ( currency: price.currency, style: "currency", }); - } else { - return `${price.currency} ${amount.toFixed(2)}`; } + return `${price.currency} ${amount.toFixed(2)}`; }; export const generateProductUrl = (id: string, name: string) => @@ -153,7 +152,7 @@ export const updateQueryString = ( } else { querystring[key] = value || key; } - history.replace("?" + stringifyQs(querystring)); + history.replace(`?${stringifyQs(querystring)}`); }; }; diff --git a/src/sitemap/SitemapGenerator.ts b/src/sitemap/SitemapGenerator.ts index 99d0f39e15..41e70c251e 100644 --- a/src/sitemap/SitemapGenerator.ts +++ b/src/sitemap/SitemapGenerator.ts @@ -5,12 +5,19 @@ import { buildSitemapIndex, createSitemap } from "sitemap"; class SitemapGenerator { urls: [object?]; + chunks: object[][]; + sitemapSize: number; + sitemapName: string; + hostname: string; + cacheTime: number; + destinationDir: string; + sitemaps: [string?]; constructor(options) { diff --git a/src/sw.js b/src/sw.js index 3beb8fe856..8718a3c16c 100644 --- a/src/sw.js +++ b/src/sw.js @@ -4,7 +4,7 @@ workbox.core.skipWaiting(); workbox.core.clientsClaim(); workbox.core.setCacheNameDetails({ - prefix: "saleor-store-front" + prefix: "saleor-store-front", }); workbox.precaching.precacheAndRoute(self.__precacheManifest || []); @@ -17,6 +17,6 @@ workbox.routing.registerRoute( workbox.routing.registerNavigationRoute( workbox.precaching.getCacheKeyForURL("/index.html"), { - blacklist: [new RegExp("/graphql"), new RegExp("/dashboard")] + blacklist: [new RegExp("/graphql"), new RegExp("/dashboard")], } ); diff --git a/src/views/Account/AccountConfirm.tsx b/src/views/Account/AccountConfirm.tsx index 6699c353eb..b8654d98f6 100644 --- a/src/views/Account/AccountConfirm.tsx +++ b/src/views/Account/AccountConfirm.tsx @@ -3,9 +3,9 @@ import { useAlert } from "react-alert"; import { StringParam, useQueryParams } from "use-query-params"; +import { RouteComponentProps } from "react-router"; import { BASE_URL } from "../../core/config"; -import { RouteComponentProps } from "react-router"; import { TypedAccountConfirmMutation } from "./queries"; import "./scss/index.scss"; @@ -56,7 +56,7 @@ const AccountConfirm: React.FC = ({ history }) => { {accountConfirm => { this.accountManagerFn = accountConfirm; - return
    ; + return
    ; }} ); diff --git a/src/views/Article/Page.tsx b/src/views/Article/Page.tsx index e4ccf5039c..88f9e205e5 100644 --- a/src/views/Article/Page.tsx +++ b/src/views/Article/Page.tsx @@ -43,8 +43,8 @@ export const Page: React.FC = ({ {navigation.map(menuElement => (
  • { - str.push(value + "_" + valueObj[value].join("_")); + str.push(`${value}_${valueObj[value].join("_")}`); }); return str.join("."); }, diff --git a/src/views/Collection/View.tsx b/src/views/Collection/View.tsx index 9ea5ae073f..74b23a92eb 100644 --- a/src/views/Collection/View.tsx +++ b/src/views/Collection/View.tsx @@ -23,7 +23,7 @@ export const FilterQuerySet = { encode(valueObj) { const str = []; Object.keys(valueObj).forEach(value => { - str.push(value + "_" + valueObj[value].join("_")); + str.push(`${value}_${valueObj[value].join("_")}`); }); return str.join("."); }, diff --git a/src/views/Product/GalleryCarousel.tsx b/src/views/Product/GalleryCarousel.tsx index 8ecd5a09a0..484e41213d 100644 --- a/src/views/Product/GalleryCarousel.tsx +++ b/src/views/Product/GalleryCarousel.tsx @@ -2,7 +2,7 @@ import * as React from "react"; import { CachedImage } from "@components/molecules"; -import { Carousel } from "../../components/"; +import { Carousel } from "../../components"; import { ProductDetails_product_images } from "./gqlTypes/ProductDetails"; import noPhotoImg from "../../images/no-photo.svg"; diff --git a/src/views/Product/Page.tsx b/src/views/Product/Page.tsx index 79e6bae781..f51a3f1ffc 100644 --- a/src/views/Product/Page.tsx +++ b/src/views/Product/Page.tsx @@ -1,8 +1,7 @@ -import { smallScreen } from "../../globalStyles/scss/variables.scss"; - import classNames from "classnames"; import React from "react"; import Media from "react-media"; +import { smallScreen } from "../../globalStyles/scss/variables.scss"; import { Breadcrumbs, ProductDescription } from "../../components"; import { generateCategoryUrl, generateProductUrl } from "../../core/utils"; @@ -10,7 +9,7 @@ import GalleryCarousel from "./GalleryCarousel"; import OtherProducts from "./Other"; import { ProductDescription as NewProductDescription } from "../../@next/components/molecules"; -import { ProductGallery } from "../../@next/components/organisms/"; +import { ProductGallery } from "../../@next/components/organisms"; import { structuredData } from "../../core/SEO/Product/structuredData"; import { IProps } from "./types"; @@ -42,12 +41,10 @@ const Page: React.FC< .pop(); if (variant.images.length > 0) { return variant.images; - } else { - return product.images; } - } else { return product.images; } + return product.images; }; const productDescription = ( diff --git a/src/views/Product/View.tsx b/src/views/Product/View.tsx index 1e6b382fb9..35e1a688fe 100644 --- a/src/views/Product/View.tsx +++ b/src/views/Product/View.tsx @@ -52,7 +52,7 @@ const extractMeta = (product: ProductDetails_product) => ({ const PageWithQueryAttributes: React.FC = props => { const { product } = props; const history = useHistory(); - const search = history.location.search; + const { search } = history.location; const searchQueryAttributes = queryString.parse(search); const onAttributeChangeHandler = (slug: string | null, value: string) => { diff --git a/src/views/Search/View.tsx b/src/views/Search/View.tsx index 86dd31a77a..dc554a8dc6 100644 --- a/src/views/Search/View.tsx +++ b/src/views/Search/View.tsx @@ -23,7 +23,7 @@ export const FilterQuerySet = { encode(valueObj) { const str = []; Object.keys(valueObj).forEach(value => { - str.push(value + "_" + valueObj[value].join("_")); + str.push(`${value}_${valueObj[value].join("_")}`); }); return str.join("."); }, From d074ee91b07332d1eaa5e8db0ed9ebd65f5f31a1 Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Wed, 10 Jun 2020 12:28:27 +0200 Subject: [PATCH 046/120] Add missing dependencies --- config/webpack/config.base.js | 74 +++++++------- package-lock.json | 178 +++++++++------------------------- package.json | 11 ++- webpack.config.js | 2 +- 4 files changed, 88 insertions(+), 177 deletions(-) diff --git a/config/webpack/config.base.js b/config/webpack/config.base.js index 0cb9f52119..6b723965fb 100644 --- a/config/webpack/config.base.js +++ b/config/webpack/config.base.js @@ -11,39 +11,20 @@ if (!process.env.API_URI) { } module.exports = ({ sourceDir, distDir }) => ({ - resolve: { - alias: { - // Explicitely set react's path here because npm-link doesn't do well - // when it comes to peer dependencies, and we need to somehow develop - // @saleor/sdk package - react: path.resolve("./node_modules/react"), - "react-dom": "@hot-loader/react-dom", - }, - extensions: [".ts", ".tsx", ".js", ".jsx"], - plugins: [ - new TsconfigPathsPlugin({ - configFile: "./tsconfig.json", - }), - ], - }, + devtool: "source-map", entry: { app: `${sourceDir}/index.tsx`, }, - output: { - path: distDir, - publicPath: "/", - }, - devtool: "source-map", module: { rules: [ { - test: /\.tsx?$/, - loader: "ts-loader", exclude: /node_modules/, + loader: "ts-loader", options: { experimentalWatchApi: true, transpileOnly: true, }, + test: /\.tsx?$/, }, { test: /\.(woff2?|ttf|eot)$/, @@ -72,6 +53,9 @@ module.exports = ({ sourceDir, distDir }) => ({ { loader: "image-webpack-loader", options: { + gifsicle: { + enabled: false, + }, mozjpeg: { progressive: true, quality: 85, @@ -80,51 +64,67 @@ module.exports = ({ sourceDir, distDir }) => ({ quality: "65-90", speed: 4, }, - gifsicle: { - enabled: false, - }, }, }, ], }, ], }, + node: { + fs: "empty", + module: "empty", + }, + output: { + path: distDir, + publicPath: "/", + }, plugins: [ new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: distDir, }), new HtmlWebpackPlugin({ + API_URI: process.env.API_URI, filename: `${distDir}/index.html`, template: `${sourceDir}/index.html`, - API_URI: process.env.API_URI, }), new ForkTsCheckerWebpackPlugin({ - tslint: true, + eslint: true, exclude: "node_modules", }), // PWA plugins new WebappWebpackPlugin({ - logo: `${sourceDir}/images/favicon.png`, - prefix: "images/favicons/", favicons: { - appName: "Saleor", appDescription: "Storefront for the Saleor e-commerce platform", - display: "standalone", - developerURL: null, // prevent retrieving from the nearest package.json + appName: "Saleor", background: "#ddd", + developerURL: null, // prevent retrieving from the nearest package.json + display: "standalone", theme_color: "#333", }, + logo: `${sourceDir}/images/favicon.png`, + prefix: "images/favicons/", }), new webpack.EnvironmentPlugin({ API_URI: "http://localhost:8000/graphql/", - SENTRY_DSN: null, - SENTRY_APM: "0", DEMO_MODE: false, GTM_ID: undefined, + SENTRY_APM: "0", + SENTRY_DSN: null, }), ], - node: { - fs: "empty", - module: "empty", + resolve: { + alias: { + // Explicitely set react's path here because npm-link doesn't do well + // when it comes to peer dependencies, and we need to somehow develop + // @saleor/sdk package + react: path.resolve("./node_modules/react"), + "react-dom": "@hot-loader/react-dom", + }, + extensions: [".ts", ".tsx", ".js", ".jsx"], + plugins: [ + new TsconfigPathsPlugin({ + configFile: "./tsconfig.json", + }), + ], }, }); diff --git a/package-lock.json b/package-lock.json index 042685c379..814645da21 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2703,7 +2703,6 @@ "version": "0.6.10", "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.10.tgz", "integrity": "sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow==", - "dev": true, "requires": { "@emotion/hash": "^0.6.6", "@emotion/memoize": "^0.6.6", @@ -2716,8 +2715,7 @@ "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" } } }, @@ -2871,8 +2869,7 @@ "@emotion/hash": { "version": "0.6.6", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.6.6.tgz", - "integrity": "sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ==", - "dev": true + "integrity": "sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ==" }, "@emotion/is-prop-valid": { "version": "0.8.6", @@ -2894,14 +2891,12 @@ "@emotion/memoize": { "version": "0.6.6", "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz", - "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==", - "dev": true + "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==" }, "@emotion/serialize": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.9.1.tgz", "integrity": "sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ==", - "dev": true, "requires": { "@emotion/hash": "^0.6.6", "@emotion/memoize": "^0.6.6", @@ -3036,20 +3031,17 @@ "@emotion/stylis": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.7.1.tgz", - "integrity": "sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ==", - "dev": true + "integrity": "sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ==" }, "@emotion/unitless": { "version": "0.6.7", "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.7.tgz", - "integrity": "sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg==", - "dev": true + "integrity": "sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg==" }, "@emotion/utils": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.2.tgz", - "integrity": "sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw==", - "dev": true + "integrity": "sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw==" }, "@emotion/weak-memoize": { "version": "0.2.5", @@ -12269,8 +12261,7 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { "version": "1.3.5", @@ -14339,7 +14330,6 @@ "version": "9.2.11", "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz", "integrity": "sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ==", - "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", "@emotion/babel-utils": "^0.6.4", @@ -14441,7 +14431,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.4.2.tgz", "integrity": "sha512-NBVpEWN4OQ/bHnu1fyDaAaTPAjnhXCEPqr1RwqxrU7b6tZ2hypp+zX4hlNfmVGfClD5c3Sl6Hfj5TJNF5VG5aA==", - "dev": true, "requires": { "cosmiconfig": "^5.0.5", "resolve": "^1.8.1" @@ -17530,7 +17519,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "dev": true, "requires": { "safe-buffer": "~5.1.1" } @@ -17799,7 +17787,6 @@ "version": "9.2.12", "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz", "integrity": "sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA==", - "dev": true, "requires": { "@emotion/hash": "^0.6.2", "@emotion/memoize": "^0.6.1", @@ -18086,8 +18073,7 @@ "csstype": { "version": "2.5.8", "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.8.tgz", - "integrity": "sha512-r4DbsyNJ7slwBSKoGesxDubRWJ71ghG8W2+1HcsDlAo12KGca9dDLv0u98tfdFw7ldBdoA7XmCnI6Q8LpAJXaQ==", - "dev": true + "integrity": "sha512-r4DbsyNJ7slwBSKoGesxDubRWJ71ghG8W2+1HcsDlAo12KGca9dDLv0u98tfdFw7ldBdoA7XmCnI6Q8LpAJXaQ==" }, "currently-unhandled": { "version": "0.4.1", @@ -19017,9 +19003,9 @@ } }, "dotenv": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", - "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", "dev": true }, "dotenv-defaults": { @@ -19029,6 +19015,14 @@ "dev": true, "requires": { "dotenv": "^6.2.0" + }, + "dependencies": { + "dotenv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "dev": true + } } }, "dotenv-expand": { @@ -19208,7 +19202,6 @@ "version": "9.2.12", "resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz", "integrity": "sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ==", - "dev": true, "requires": { "babel-plugin-emotion": "^9.2.11", "create-emotion": "^9.2.12" @@ -22111,8 +22104,7 @@ "find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "find-up": { "version": "4.1.0", @@ -22292,9 +22284,9 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "fork-ts-checker-webpack-plugin": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.5.tgz", - "integrity": "sha512-LpjSKaEVM17pst4MZeZWoYxwozZm4AB+bz4fR5oY9ksSwea86Dhj7J2dDEiHLlb+HtEwarh741kgMi25i+V6iw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.6.0.tgz", + "integrity": "sha512-vqOY5gakcoon2s12V7MMe01OPwfgqulUWFzm+geQaPPOBKjW1I7aqqoBVlU0ECn97liMB0ECs16pRdIGe9qdRw==", "dev": true, "requires": { "babel-code-frame": "^6.22.0", @@ -22305,52 +22297,6 @@ "semver": "^5.6.0", "tapable": "^1.0.0", "worker-rpc": "^0.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } } }, "form-data": { @@ -30864,8 +30810,7 @@ "memoize-one": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.0.5.tgz", - "integrity": "sha512-ey6EpYv0tEaIbM/nTDOpHciXUvd+ackQrJgEzBwemhZZIWZjcyodqEcrmqDy2BKRTM3a65kKBV4WtLXJDt26SQ==", - "dev": true + "integrity": "sha512-ey6EpYv0tEaIbM/nTDOpHciXUvd+ackQrJgEzBwemhZZIWZjcyodqEcrmqDy2BKRTM3a65kKBV4WtLXJDt26SQ==" }, "memoizerific": { "version": "1.11.3", @@ -35829,10 +35774,9 @@ "dev": true }, "query-string": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.12.1.tgz", - "integrity": "sha512-OHj+zzfRMyj3rmo/6G8a5Ifvw3AleL/EbcHMD27YA31Q+cO5lfmQxECkImuNVjcskLcvBRVHNAB3w6udMs1eAA==", - "dev": true, + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.13.0.tgz", + "integrity": "sha512-KJe8p8EUcixhPCp4cJoTYVfmgKHjnAB/Pq3fiqlmyNHvpHnOL5U4YE7iI2PYivGHp4HFocWz300906BAQX0H7g==", "requires": { "decode-uri-component": "^0.2.0", "split-on-first": "^1.0.0", @@ -35842,8 +35786,7 @@ "strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", - "dev": true + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" } } }, @@ -35868,7 +35811,6 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "dev": true, "requires": { "performance-now": "^2.1.0" } @@ -36065,46 +36007,23 @@ "integrity": "sha512-PzB6ktBmtNZkmgZVdPp/Wbe/zjIBzqBu9QHLTrfquUVVPCVVfn3lPWOebejEg6VOxGepIPOSAsb1bd3ESMyC0Q==" }, "react-apollo": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/react-apollo/-/react-apollo-2.5.5.tgz", - "integrity": "sha512-zoJYlkI3i7+f1ejCbFtWU2GLCxjrmB3Es6RANyEZcbl0yetf5TI6ofMjBzILTvwoqp6tiQHH/8q66vQF0KcLmQ==", - "dev": true, + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/react-apollo/-/react-apollo-2.5.8.tgz", + "integrity": "sha512-60yOQrnNosxU/tRbOxGDaYNLFcOKmQqxHPhxyvKTlGIaF/rRCXQRKixUgWVffpEupSHHD7psY5k5ZOuZsdsSGQ==", "requires": { - "apollo-utilities": "^1.2.1", + "apollo-utilities": "^1.3.0", + "fast-json-stable-stringify": "^2.0.0", "hoist-non-react-statics": "^3.3.0", "lodash.isequal": "^4.5.0", "prop-types": "^15.7.2", - "ts-invariant": "^0.4.0", + "ts-invariant": "^0.4.2", "tslib": "^1.9.3" }, "dependencies": { - "apollo-utilities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.2.1.tgz", - "integrity": "sha512-Zv8Udp9XTSFiN8oyXOjf6PMHepD4yxxReLsl6dPUy5Ths7jti3nmlBzZUOxuTWRwZn0MoclqL7RQ5UEJN8MAxg==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "^2.0.0", - "ts-invariant": "^0.2.1", - "tslib": "^1.9.3" - }, - "dependencies": { - "ts-invariant": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.2.1.tgz", - "integrity": "sha512-Z/JSxzVmhTo50I+LKagEISFJW3pvPCqsMWLamCTX8Kr3N5aMrnGOqcflbe5hLUzwjvgPfnLzQtHZv0yWQ+FIHg==", - "dev": true, - "requires": { - "tslib": "^1.9.3" - } - } - } - }, "hoist-non-react-statics": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", - "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", - "dev": true, + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", "requires": { "react-is": "^16.7.0" } @@ -36113,7 +36032,6 @@ "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dev": true, "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -36121,10 +36039,9 @@ } }, "ts-invariant": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.1.tgz", - "integrity": "sha512-fdL8AZinDiVKMsOI0cOWHLprS85LWy2p/eVSctVe6fpZF9BAvO59sQYMEWQ37yybBtlKU2zkmILYmy1jrOf6+g==", - "dev": true, + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", + "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==", "requires": { "tslib": "^1.9.3" } @@ -36859,10 +36776,9 @@ } }, "react-input-autosize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.1.tgz", - "integrity": "sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==", - "dev": true, + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.2.tgz", + "integrity": "sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==", "requires": { "prop-types": "^15.5.8" } @@ -36950,7 +36866,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-3.6.2.tgz", "integrity": "sha512-HsO11fH6WiugtJflrMQn3/Yhq2J4uEWLxrKCQbI1gSGAOwIhUsOGJJeP8Vci/U4A7xK5SjC95ngZU8//Nuz3Gg==", - "dev": true, "requires": { "prop-types": "^15.6.0" } @@ -37135,7 +37050,6 @@ "version": "2.4.4", "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.4.4.tgz", "integrity": "sha512-C4QPLgy9h42J/KkdrpVxNmkY6p4lb49fsrbDk/hRcZpX7JvZPNb6mGj+c5SzyEtBv1DmQ9oPH4NmhAFvCrg8Jw==", - "dev": true, "requires": { "classnames": "^2.2.5", "emotion": "^9.1.2", @@ -37150,7 +37064,6 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", - "dev": true, "requires": { "dom-helpers": "^3.4.0", "loose-envify": "^1.4.0", @@ -39613,8 +39526,7 @@ "split-on-first": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "dev": true + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" }, "split-string": { "version": "3.1.0", @@ -41406,7 +41318,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/touch/-/touch-2.0.2.tgz", "integrity": "sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A==", - "dev": true, "requires": { "nopt": "~1.0.10" }, @@ -41415,7 +41326,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "dev": true, "requires": { "abbrev": "1" } diff --git a/package.json b/package.json index 133b7eca05..4b6837f6d4 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "@types/yup": "^0.26.27", "apollo": "^2.21.3", "apollo-cache-inmemory": "^1.5.1", + "react-number-format": "^3.6.2", "apollo-cache-persist": "^0.1.1", "apollo-client": "^2.5.1", "apollo-link": "^1.2.12", @@ -51,6 +52,9 @@ "react-media": "^1.8.0", "react-responsive": "^7.0.0", "react-router": "^5.1.2", + "query-string": "^6.12.1", + "react-apollo": "^2.5.1", + "react-select": "^2.4.4", "react-router-dom": "^5.1.2", "react-svg": "^5.0.6", "react-transition-group": "^4.4.1", @@ -115,6 +119,7 @@ "clean-webpack-plugin": "^3.0.0", "css-loader": "^1.0.0", "cypress": "^4.5.0", + "dotenv": "^8.2.0", "enzyme": "^3.10.0", "enzyme-adapter-react-16": "^1.15.2", "eslint": "^7.0.0", @@ -129,7 +134,7 @@ "eslint-plugin-react-hooks": "^4.0.2", "faker": "^4.1.0", "file-loader": "^4.0.0", - "fork-ts-checker-webpack-plugin": "^1.3.5", + "fork-ts-checker-webpack-plugin": "^1.6.0", "html-webpack-plugin": "^3.2.0", "husky": "^4.2.5", "image-webpack-loader": "^4.6.0", @@ -145,13 +150,9 @@ "postcss-loader": "^2.1.6", "postcss-preset-env": "^5.3.0", "prettier": "^2.0.5", - "query-string": "^6.12.1", - "react-apollo": "^2.5.1", "react-docgen-typescript-loader": "^3.6.0", "react-hot-loader": "^4.9.0", "react-is": "^16.12.0", - "react-number-format": "^3.6.2", - "react-select": "^2.4.4", "react-test-renderer": "^16.9.0", "sass-loader": "^7.1.0", "sitemap": "^2.2.0", diff --git a/webpack.config.js b/webpack.config.js index eae74b50ce..1fe66e0b51 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -14,7 +14,7 @@ const distDir = path.join(__dirname, "./dist"); module.exports = (env, argv) => { const devMode = argv.mode !== "production"; const sw = !!argv["service-worker"]; - const paths = { sourceDir, distDir }; + const paths = { distDir, sourceDir }; const base = baseConfig(paths); const worker = workerConfig(paths); From ddd8d6cb3721b7d3c3a40e86b3783708560e9e52 Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Mon, 15 Jun 2020 13:08:18 +0200 Subject: [PATCH 047/120] Fix some rules and disable rest --- package.json | 4 +- .../components/atoms/Checkbox/Checkbox.tsx | 1 + .../atoms/DemoBanner/DemoBanner.tsx | 1 + .../atoms/RichTextContent/RichTextContent.tsx | 2 + src/@next/components/atoms/Select/Select.tsx | 3 +- .../StripeInputElement/StripeInputElement.tsx | 2 + .../molecules/OrderTabel/stories.tsx | 1 + .../components/organisms/Overlay/test.tsx | 2 +- .../PaymentGatewaysList.tsx | 3 + src/@next/hooks/useLocalStorage.tsx | 2 + src/@next/pages/CheckoutPage/CheckoutPage.tsx | 3 + .../pages/PasswordReset/PasswordReset.tsx | 10 +-- src/@next/utils/styles.ts | 1 + src/components/Breadcrumbs/index.tsx | 6 +- src/components/Carousel/index.tsx | 11 ++-- src/components/CartTable/Table.tsx | 6 +- src/components/MainMenu/MainMenu.tsx | 12 ++-- src/components/MainMenu/NavDropdown.tsx | 2 + src/components/MenuDropdown/index.tsx | 1 + src/components/Meta/MetaWrapper.tsx | 2 +- src/components/NetworkStatus/index.tsx | 14 ++-- src/components/Offline/index.tsx | 2 +- src/components/Overlay/provider.tsx | 2 + .../OverlayManager/Search/Search.tsx | 21 +++--- src/components/PriceRangeFilter/index.tsx | 8 +-- .../ProductDescription/AddToCartButton.tsx | 10 +-- src/components/Select/Select.tsx | 2 + src/core/config.ts | 2 + src/core/utils.ts | 12 ++-- src/sitemap-builder.ts | 1 + src/sitemap/SitemapGenerator.ts | 3 + src/views/Account/Account.tsx | 15 +++-- src/views/Product/GalleryCarousel.tsx | 2 +- src/views/Product/gqlTypes/ProductDetails.ts | 1 + src/views/Product/queries.ts | 1 + src/views/Search/View.tsx | 64 +++++++++---------- 36 files changed, 133 insertions(+), 102 deletions(-) diff --git a/package.json b/package.json index 4b6837f6d4..a982512e23 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "react-svg": "^5.0.6", "react-transition-group": "^4.4.1", "register-service-worker": "^1.6.2", + "react-hot-loader": "^4.9.0", "reset-css": "^4.0.1", "styled-components": "^4.3.0", "typeface-montserrat": "0.0.54", @@ -151,7 +152,6 @@ "postcss-preset-env": "^5.3.0", "prettier": "^2.0.5", "react-docgen-typescript-loader": "^3.6.0", - "react-hot-loader": "^4.9.0", "react-is": "^16.12.0", "react-test-renderer": "^16.9.0", "sass-loader": "^7.1.0", @@ -181,7 +181,7 @@ } }, "lint-staged": { - "*.{js,ts}": [ + "*.{jsx?,tsx?}": [ "eslint --fix", "prettier --write", "git add" diff --git a/src/@next/components/atoms/Checkbox/Checkbox.tsx b/src/@next/components/atoms/Checkbox/Checkbox.tsx index 0c5d119dc4..6590d7272a 100755 --- a/src/@next/components/atoms/Checkbox/Checkbox.tsx +++ b/src/@next/components/atoms/Checkbox/Checkbox.tsx @@ -1,3 +1,4 @@ +/* eslint-disable jsx-a11y/no-noninteractive-tabindex */ import React from "react"; import * as S from "./styles"; diff --git a/src/@next/components/atoms/DemoBanner/DemoBanner.tsx b/src/@next/components/atoms/DemoBanner/DemoBanner.tsx index 1622f00f16..a349a09272 100644 --- a/src/@next/components/atoms/DemoBanner/DemoBanner.tsx +++ b/src/@next/components/atoms/DemoBanner/DemoBanner.tsx @@ -10,6 +10,7 @@ export const DemoBanner: React.FC = () => { return ( + {/* eslint-disable-next-line react/jsx-no-target-blank */} diff --git a/src/@next/components/atoms/RichTextContent/RichTextContent.tsx b/src/@next/components/atoms/RichTextContent/RichTextContent.tsx index 0add5265c2..a505d21d00 100755 --- a/src/@next/components/atoms/RichTextContent/RichTextContent.tsx +++ b/src/@next/components/atoms/RichTextContent/RichTextContent.tsx @@ -1,3 +1,5 @@ +/* eslint-disable react/no-danger */ + import { sanitize } from "dompurify"; import draftToHtml from "draftjs-to-html"; import React from "react"; diff --git a/src/@next/components/atoms/Select/Select.tsx b/src/@next/components/atoms/Select/Select.tsx index dc8afc5277..03e0218ef8 100755 --- a/src/@next/components/atoms/Select/Select.tsx +++ b/src/@next/components/atoms/Select/Select.tsx @@ -57,7 +57,8 @@ export const Select: React.FC = ({ const customTheme = React.useContext(ThemeContext); const handleChange = (value: any) => { if (onChange) { - name ? onChange(value, name) : onChange(value); + if (name) onChange(value, name); + else onChange(value); } }; diff --git a/src/@next/components/atoms/StripeInputElement/StripeInputElement.tsx b/src/@next/components/atoms/StripeInputElement/StripeInputElement.tsx index f215db3299..84090cba74 100755 --- a/src/@next/components/atoms/StripeInputElement/StripeInputElement.tsx +++ b/src/@next/components/atoms/StripeInputElement/StripeInputElement.tsx @@ -129,6 +129,8 @@ const StripeInputElement: React.FC = ({ options={OPTIONS} /> ); + default: + throw new Error("Unsupported stripe element"); } }; diff --git a/src/@next/components/molecules/OrderTabel/stories.tsx b/src/@next/components/molecules/OrderTabel/stories.tsx index ff6e98790e..9447c139f2 100644 --- a/src/@next/components/molecules/OrderTabel/stories.tsx +++ b/src/@next/components/molecules/OrderTabel/stories.tsx @@ -78,6 +78,7 @@ storiesOf("@components/molecules/OrderTabel", module) .add("default", () => { // this is added to fix issue when running on machines with different locales // so one one machine price is displayed as $42.24 and on others as US$ 42.24 etc + /* eslint-disable-next-line no-extend-native */ Number.prototype.toLocaleString = () => ""; return ; }); diff --git a/src/@next/components/organisms/Overlay/test.tsx b/src/@next/components/organisms/Overlay/test.tsx index 0a0111e53b..32350619f5 100644 --- a/src/@next/components/organisms/Overlay/test.tsx +++ b/src/@next/components/organisms/Overlay/test.tsx @@ -16,7 +16,7 @@ if (!portalRoot) { describe("", () => { const DEFAULT_STATE = "exited"; - const Children = () =>
    "Some content"
    ; + const Children = () =>
    Some content
    ; const position: Position = "center"; const DEFAULT_PROPS = { diff --git a/src/@next/components/organisms/PaymentGatewaysList/PaymentGatewaysList.tsx b/src/@next/components/organisms/PaymentGatewaysList/PaymentGatewaysList.tsx index 521fb5016f..707bf48cc6 100755 --- a/src/@next/components/organisms/PaymentGatewaysList/PaymentGatewaysList.tsx +++ b/src/@next/components/organisms/PaymentGatewaysList/PaymentGatewaysList.tsx @@ -128,6 +128,9 @@ const PaymentGatewaysList: React.FC = ({ )}
  • ); + + default: + throw new Error("Unsupported payment gateway"); } })} {!selectedPaymentGateway && errors && } diff --git a/src/@next/hooks/useLocalStorage.tsx b/src/@next/hooks/useLocalStorage.tsx index 5f9b13370b..c641895839 100644 --- a/src/@next/hooks/useLocalStorage.tsx +++ b/src/@next/hooks/useLocalStorage.tsx @@ -1,3 +1,5 @@ +/* eslint-disable no-console */ + import { useState } from "react"; export const useLocalStorage = (key: string, initialValue?: string) => { diff --git a/src/@next/pages/CheckoutPage/CheckoutPage.tsx b/src/@next/pages/CheckoutPage/CheckoutPage.tsx index 5e83c36e08..c8788988d6 100755 --- a/src/@next/pages/CheckoutPage/CheckoutPage.tsx +++ b/src/@next/pages/CheckoutPage/CheckoutPage.tsx @@ -145,6 +145,9 @@ const CheckoutPage: React.FC = ({}: IProps) => { const checkoutReviewSubpageRef = useRef(null); const handleNextStepClick = () => { + // Some magic above and below ensures that the activeStepIndex will always + // be in 0-3 range + /* eslint-disable default-case */ switch (activeStepIndex) { case 0: if (checkoutAddressSubpageRef.current?.submitAddress) { diff --git a/src/@next/pages/PasswordReset/PasswordReset.tsx b/src/@next/pages/PasswordReset/PasswordReset.tsx index 68c1d0b4b3..cfa1dfa31c 100755 --- a/src/@next/pages/PasswordReset/PasswordReset.tsx +++ b/src/@next/pages/PasswordReset/PasswordReset.tsx @@ -47,11 +47,11 @@ export const PasswordReset: React.FC = ({ history }: IProps) => { graphqlErrors.extraInfo && graphqlErrors.extraInfo.userInputErrors ) { - graphqlErrors.extraInfo.userInputErrors.filter(error => { - error.field === "token" ? setTokenError(true) : setTokenError(false); - error.field === "password" - ? setPasswordError(error.message) - : setPasswordError(""); + graphqlErrors.extraInfo.userInputErrors.forEach(error => { + if (error.field === "token") setTokenError(true); + else setTokenError(false); + if (error.field === "password") setPasswordError(error.message); + else setPasswordError(""); }); } }, [data, graphqlErrors]); diff --git a/src/@next/utils/styles.ts b/src/@next/utils/styles.ts index e788d1832a..a9bd138ba0 100644 --- a/src/@next/utils/styles.ts +++ b/src/@next/utils/styles.ts @@ -17,6 +17,7 @@ const DEFAULT_BACKGROUND_COLOR = "#fff"; * @param ref Reference to the element to check. */ export const getBackgroundColor = (ref: any): string => { + /* eslint-disable-next-line react/no-find-dom-node */ const el = ReactDOM.findDOMNode(ref); if (el && el.parentElement) { if (el.nodeName === "BODY") { diff --git a/src/components/Breadcrumbs/index.tsx b/src/components/Breadcrumbs/index.tsx index 1db03082c4..60597d94bf 100644 --- a/src/components/Breadcrumbs/index.tsx +++ b/src/components/Breadcrumbs/index.tsx @@ -1,6 +1,3 @@ -import { smallScreen } from "../../globalStyles/scss/variables.scss"; -import "./scss/index.scss"; - import classNames from "classnames"; import * as React from "react"; import Media from "react-media"; @@ -10,6 +7,9 @@ import { baseUrl } from "../../app/routes"; import { getDBIdFromGraphqlId, slugify } from "../../core/utils"; import { Category_category } from "../../views/Category/gqlTypes/Category"; +import { smallScreen } from "../../globalStyles/scss/variables.scss"; +import "./scss/index.scss"; + export interface Breadcrumb { value: string; link: string; diff --git a/src/components/Carousel/index.tsx b/src/components/Carousel/index.tsx index 9a42a9894b..8b6f6ea627 100644 --- a/src/components/Carousel/index.tsx +++ b/src/components/Carousel/index.tsx @@ -1,15 +1,14 @@ -import { - mediumScreen, - smallScreen, -} from "../../globalStyles/scss/variables.scss"; -import "./scss/index.scss"; - import NukaCarousel, { CarouselProps } from "nuka-carousel"; import * as React from "react"; import Media from "react-media"; import ReactSVG from "react-svg"; import arrowImg from "../../images/carousel-arrow.svg"; +import { + mediumScreen, + smallScreen, +} from "../../globalStyles/scss/variables.scss"; +import "./scss/index.scss"; interface CarouselType extends CarouselProps { children: React.ReactNode; diff --git a/src/components/CartTable/Table.tsx b/src/components/CartTable/Table.tsx index d9f82170d6..4c4abd28f3 100644 --- a/src/components/CartTable/Table.tsx +++ b/src/components/CartTable/Table.tsx @@ -1,12 +1,12 @@ -import { smallScreen } from "../../globalStyles/scss/variables.scss"; -import "./scss/index.scss"; - import * as React from "react"; import Media from "react-media"; import CostRow from "./CostRow"; import ProductRow, { EditableProductRowProps, ILine } from "./ProductRow"; +import { smallScreen } from "../../globalStyles/scss/variables.scss"; +import "./scss/index.scss"; + interface TableProps extends EditableProductRowProps { lines: ILine[]; subtotal: React.ReactNode; diff --git a/src/components/MainMenu/MainMenu.tsx b/src/components/MainMenu/MainMenu.tsx index 01c78f18f2..de0b0eec28 100644 --- a/src/components/MainMenu/MainMenu.tsx +++ b/src/components/MainMenu/MainMenu.tsx @@ -1,12 +1,5 @@ import React from "react"; -import { - mediumScreen, - smallScreen, -} from "../../globalStyles/scss/variables.scss"; -import "./scss/index.scss"; - import { useCart, useSignOut, useUserDetails } from "@saleor/sdk"; - import Media from "react-media"; import { Link } from "react-router-dom"; import ReactSVG from "react-svg"; @@ -30,6 +23,11 @@ import hamburgerImg from "../../images/hamburger.svg"; import logoImg from "../../images/logo.svg"; import searchImg from "../../images/search.svg"; import userImg from "../../images/user.svg"; +import { + mediumScreen, + smallScreen, +} from "../../globalStyles/scss/variables.scss"; +import "./scss/index.scss"; const MainMenu: React.FC = () => { const { data: user } = useUserDetails(); diff --git a/src/components/MainMenu/NavDropdown.tsx b/src/components/MainMenu/NavDropdown.tsx index 6150cc61af..c5fd273c59 100644 --- a/src/components/MainMenu/NavDropdown.tsx +++ b/src/components/MainMenu/NavDropdown.tsx @@ -1,3 +1,5 @@ +/* eslint-disable jsx-a11y/mouse-events-have-key-events */ + import classNames from "classnames"; import * as React from "react"; diff --git a/src/components/MenuDropdown/index.tsx b/src/components/MenuDropdown/index.tsx index fae60ca1a9..e22f3e9d6b 100644 --- a/src/components/MenuDropdown/index.tsx +++ b/src/components/MenuDropdown/index.tsx @@ -1,3 +1,4 @@ +/* eslint-disable jsx-a11y/mouse-events-have-key-events */ import * as React from "react"; import "./scss/index.scss"; diff --git a/src/components/Meta/MetaWrapper.tsx b/src/components/Meta/MetaWrapper.tsx index ad54d87a64..3f5e73c883 100644 --- a/src/components/Meta/MetaWrapper.tsx +++ b/src/components/Meta/MetaWrapper.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { META_DEFAULTS } from "../../core/config"; -import { default as MetaConsumer } from "./consumer"; +import MetaConsumer from "./consumer"; import { MetaContextInterface, Provider as MetaProvider } from "./context"; const removeEmpty = obj => { diff --git a/src/components/NetworkStatus/index.tsx b/src/components/NetworkStatus/index.tsx index 05aaafd83e..8f4c5b0e96 100644 --- a/src/components/NetworkStatus/index.tsx +++ b/src/components/NetworkStatus/index.tsx @@ -17,13 +17,6 @@ class NetworkStatus extends React.Component< online: "onLine" in navigator ? navigator.onLine : true, }; - updateOnlineStatus = () => { - if (this.props.cb) { - this.props.cb(navigator.onLine); - } - this.setState({ online: navigator.onLine }); - }; - componentDidMount() { addEventListener("offline", this.updateOnlineStatus); addEventListener("online", this.updateOnlineStatus); @@ -35,6 +28,13 @@ class NetworkStatus extends React.Component< removeEventListener("online", this.updateOnlineStatus); } + updateOnlineStatus = () => { + if (this.props.cb) { + this.props.cb(navigator.onLine); + } + this.setState({ online: navigator.onLine }); + }; + render() { return this.props.children(this.state.online); } diff --git a/src/components/Offline/index.tsx b/src/components/Offline/index.tsx index ea7a21a762..776d0aa7bd 100644 --- a/src/components/Offline/index.tsx +++ b/src/components/Offline/index.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import NetworkStatus from "."; +import NetworkStatus from "../NetworkStatus"; const Offline: React.FC = ({ children }) => ( {online => (online ? null : children)} diff --git a/src/components/Overlay/provider.tsx b/src/components/Overlay/provider.tsx index 15638f25a7..b0e25ff43a 100644 --- a/src/components/Overlay/provider.tsx +++ b/src/components/Overlay/provider.tsx @@ -1,3 +1,5 @@ +/* eslint-disable react/no-unused-state */ + import * as React from "react"; import { RouteComponentProps, withRouter } from "react-router"; import { diff --git a/src/components/OverlayManager/Search/Search.tsx b/src/components/OverlayManager/Search/Search.tsx index e208b6b556..b984e79652 100644 --- a/src/components/OverlayManager/Search/Search.tsx +++ b/src/components/OverlayManager/Search/Search.tsx @@ -33,14 +33,22 @@ interface SearchProps extends RouteComponentProps { interface SearchState { search: string; - inputFocused: boolean; } class Search extends React.Component { - state = { search: "", inputFocused: false }; + state = { search: "" }; submitBtnRef = React.createRef(); + componentDidUpdate(_prevProps: SearchProps, prevState: SearchState) { + if ( + !!prevState.search.length && + this.props.overlay.type !== OverlayType.search + ) { + this.setState({ search: "" }); + } + } + get hasSearchPhrase() { return this.state.search.length > 0; } @@ -71,15 +79,6 @@ class Search extends React.Component { } }; - componentDidUpdate(_prevProps: SearchProps, prevState: SearchState) { - if ( - !!prevState.search.length && - this.props.overlay.type !== OverlayType.search - ) { - this.setState({ search: "" }); - } - } - render() { return ( ) => { this.setState({ active: true }); event.stopPropagation(); @@ -44,10 +48,6 @@ class PriceRangeFilter extends React.Component< } }; - componentWillUnmount() { - document.removeEventListener("mousedown", this.handleClickAway); - } - createLabel() { const { from, to } = this.props; if (!!from && !!to) { diff --git a/src/components/ProductDescription/AddToCartButton.tsx b/src/components/ProductDescription/AddToCartButton.tsx index a3c9058f27..a52f2b197b 100644 --- a/src/components/ProductDescription/AddToCartButton.tsx +++ b/src/components/ProductDescription/AddToCartButton.tsx @@ -18,7 +18,11 @@ class AddToCartButton extends React.PureComponent< animationTimeout = 800; - timeout; + timeout: number = null; + + componentWillUnmount() { + clearTimeout(this.timeout); + } handleAnimation = (evt: React.MouseEvent) => { if (!this.state.disabled) { @@ -37,10 +41,6 @@ class AddToCartButton extends React.PureComponent< } }; - componentWillUnmount() { - clearTimeout(this.timeout); - } - render() { const { animate } = this.state; diff --git a/src/components/Select/Select.tsx b/src/components/Select/Select.tsx index a7ff7c11f9..fab8da168a 100644 --- a/src/components/Select/Select.tsx +++ b/src/components/Select/Select.tsx @@ -1,3 +1,5 @@ +/* eslint-disable jsx-a11y/label-has-associated-control */ + import "./scss/index.scss"; import classNames from "classnames"; diff --git a/src/core/config.ts b/src/core/config.ts index b1e533b48c..4d72bcc6b6 100644 --- a/src/core/config.ts +++ b/src/core/config.ts @@ -1,3 +1,5 @@ +/* eslint-disable global-require */ + import { generatePageUrl } from "./utils"; export const BASE_URL = "/"; diff --git a/src/core/utils.ts b/src/core/utils.ts index f30bb4af35..7514903793 100644 --- a/src/core/utils.ts +++ b/src/core/utils.ts @@ -129,15 +129,17 @@ export const maybe = (exp: () => T, d?: T) => { export const parseQueryString = ( location: LocationState ): { [key: string]: string } => { - const query = { - ...parseQs((location as any).search.substr(1)), - }; + let query: Record = parseQs(window.location.search.substr(1)); + each(query, (value, key) => { if (Array.isArray(value)) { - query[key] = value[0]; + query = { + ...query, + [key]: value[0], + }; } }); - return query as { [key: string]: string }; + return query; }; export const updateQueryString = ( diff --git a/src/sitemap-builder.ts b/src/sitemap-builder.ts index a3a7e470f0..44be3e29fc 100644 --- a/src/sitemap-builder.ts +++ b/src/sitemap-builder.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-console */ import { existsSync } from "fs"; import path from "path"; import { diff --git a/src/sitemap/SitemapGenerator.ts b/src/sitemap/SitemapGenerator.ts index 41e70c251e..b39adc7c47 100644 --- a/src/sitemap/SitemapGenerator.ts +++ b/src/sitemap/SitemapGenerator.ts @@ -1,6 +1,9 @@ +/* eslint-disable no-console */ + import fs from "fs"; import { chunk } from "lodash"; import path from "path"; +/* eslint-disable-next-line import/no-extraneous-dependencies */ import { buildSitemapIndex, createSitemap } from "sitemap"; class SitemapGenerator { diff --git a/src/views/Account/Account.tsx b/src/views/Account/Account.tsx index 97c6a806f0..b969d69db4 100644 --- a/src/views/Account/Account.tsx +++ b/src/views/Account/Account.tsx @@ -1,24 +1,22 @@ import * as React from "react"; import Media from "react-responsive"; import { RouteComponentProps, withRouter } from "react-router"; - import { useUserDetails } from "@saleor/sdk"; + import { smallScreen } from "@styles/constants"; +import { AccountMenu, AccountMenuMobile } from "@components/molecules"; +import { AccountTab, OrdersHistory } from "@pages"; import AddressBook from "../../account/AddressBook/AddressBook"; - -import "./scss/index.scss"; - import { accountUrl, addressBookUrl, baseUrl, orderHistoryUrl, } from "../../app/routes"; - -import { AccountMenu, AccountMenuMobile } from "@components/molecules"; -import { AccountTab, OrdersHistory } from "@pages"; import { Breadcrumbs, Loader } from "../../components"; +import "./scss/index.scss"; + const returnTab: any = (path: string, userDetails, history) => { let tabContent = <>; switch (path) { @@ -34,6 +32,9 @@ const returnTab: any = (path: string, userDetails, history) => { tabContent = ; break; } + default: + tabContent = ; + break; } return tabContent; }; diff --git a/src/views/Product/GalleryCarousel.tsx b/src/views/Product/GalleryCarousel.tsx index 484e41213d..008448461c 100644 --- a/src/views/Product/GalleryCarousel.tsx +++ b/src/views/Product/GalleryCarousel.tsx @@ -38,7 +38,7 @@ const GalleryCarousel: React.FC<{ > {images.map(image => ( - + {image.alt} ))} diff --git a/src/views/Product/gqlTypes/ProductDetails.ts b/src/views/Product/gqlTypes/ProductDetails.ts index 6abe618b5d..eac8e95783 100644 --- a/src/views/Product/gqlTypes/ProductDetails.ts +++ b/src/views/Product/gqlTypes/ProductDetails.ts @@ -469,6 +469,7 @@ export interface ProductDetails_product_images { * The ID of the object. */ id: string; + alt: string; /** * The URL of the image. */ diff --git a/src/views/Product/queries.ts b/src/views/Product/queries.ts index 4f93721859..cb3b85a990 100644 --- a/src/views/Product/queries.ts +++ b/src/views/Product/queries.ts @@ -132,6 +132,7 @@ export const productDetailsQuery = gql` } images { id + alt url } attributes { diff --git a/src/views/Search/View.tsx b/src/views/Search/View.tsx index dc554a8dc6..4174b09c50 100644 --- a/src/views/Search/View.tsx +++ b/src/views/Search/View.tsx @@ -47,38 +47,6 @@ export const View: React.FC = ({ match }) => { FilterQuerySet ); - const clearFilters = () => { - setAttributeFilters({}); - }; - - const onFiltersChange = (name, value) => { - if (attributeFilters && attributeFilters.hasOwnProperty(name)) { - if (attributeFilters[name].includes(value)) { - if (filters.attributes[`${name}`].length === 1) { - const att = { ...attributeFilters }; - delete att[`${name}`]; - setAttributeFilters({ - ...att, - }); - } else { - setAttributeFilters({ - ...attributeFilters, - [`${name}`]: attributeFilters[`${name}`].filter( - item => item !== value - ), - }); - } - } else { - setAttributeFilters({ - ...attributeFilters, - [`${name}`]: [...attributeFilters[`${name}`], value], - }); - } - } else { - setAttributeFilters({ ...attributeFilters, [`${name}`]: [value] }); - } - }; - const filters: IFilters = { attributes: attributeFilters, pageSize: PRODUCTS_PER_PAGE, @@ -127,6 +95,38 @@ export const View: React.FC = ({ match }) => { }, ]; + const clearFilters = () => { + setAttributeFilters({}); + }; + + const onFiltersChange = (name, value) => { + if (attributeFilters && attributeFilters.hasOwnProperty(name)) { + if (attributeFilters[name].includes(value)) { + if (filters.attributes[`${name}`].length === 1) { + const att = { ...attributeFilters }; + delete att[`${name}`]; + setAttributeFilters({ + ...att, + }); + } else { + setAttributeFilters({ + ...attributeFilters, + [`${name}`]: attributeFilters[`${name}`].filter( + item => item !== value + ), + }); + } + } else { + setAttributeFilters({ + ...attributeFilters, + [`${name}`]: [...attributeFilters[`${name}`], value], + }); + } + } else { + setAttributeFilters({ ...attributeFilters, [`${name}`]: [value] }); + } + }; + return ( {isOnline => ( From e4fc4d5857be1513e342c4e77adc4ba8fcf398da Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Mon, 15 Jun 2020 13:26:44 +0200 Subject: [PATCH 048/120] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cae17ce9d0..654ed31084 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ All notable, unreleased changes to this project will be documented in this file. - Fix CartRow tests - #749 by @dominik-zeglen - Add prettier to precommit - #766 by @dominik-zeglen - Do not use prettier on generated files - #773 by @dominik-zeglen +- Add eslint - #776 by @dominik-zeglen ## 2.10.2 From ee6e47a3d1c9f36705d37760d9d014751eb17dcd Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Mon, 15 Jun 2020 14:23:27 +0200 Subject: [PATCH 049/120] Fix CI workflows --- .github/workflows/test.yml | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0de5abf5f7..d95800518c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -42,9 +42,9 @@ jobs: run: | npm run tsc - - name: Run tslint + - name: Run linters run: | - npm run tslint + npm run lint jest-tests: runs-on: ubuntu-latest @@ -70,4 +70,4 @@ jobs: - name: Run jest run: | - npm run test \ No newline at end of file + npm run test diff --git a/package.json b/package.json index a982512e23..b9d0f9a657 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "codegen": "apollo codegen:generate --target=typescript gqlTypes", "codegen-sdk": "apollo codegen:generate --target=typescript gqlTypes --config src/@sdk/apollo.config.js --globalTypesFile src/@sdk/gqlTypes/globalTypes.ts", "codegen-watch": "npm run codegen -- --watch", - "tslint": "tslint 'src/**/*.ts?(x)'", + "lint": "eslint src", "tsc": "npx tsc --noEmit & npx tsc --noEmit -p src/@next", "heroku-postbuild": "npm run build", "sitemap": "ts-node ./src/sitemap-builder.ts", From a795cda0ef1f576fa8586e8c81dcae3364da6908 Mon Sep 17 00:00:00 2001 From: Krzysztof Wolski Date: Mon, 15 Jun 2020 16:02:58 +0200 Subject: [PATCH 050/120] Fix address autocomplete (#777) * Fix address autocomplete * Update snapshots --- .../organisms/AddressForm/AddressFormContent.tsx | 5 +++-- .../AddressForm/__snapshots__/stories.storyshot | 12 ++++++------ .../CheckoutAddress/__snapshots__/stories.storyshot | 4 ++-- .../CheckoutPayment/__snapshots__/stories.storyshot | 4 ++-- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/@next/components/organisms/AddressForm/AddressFormContent.tsx b/src/@next/components/organisms/AddressForm/AddressFormContent.tsx index 1270533181..693c9da325 100644 --- a/src/@next/components/organisms/AddressForm/AddressFormContent.tsx +++ b/src/@next/components/organisms/AddressForm/AddressFormContent.tsx @@ -103,7 +103,7 @@ export const AddressFormContent: React.FC = ({ name="city" label="City" value={values!.city} - autoComplete="address-level1" + autoComplete="address-level2" errors={fieldErrors!.city} {...basicInputProps()} /> @@ -133,12 +133,13 @@ export const AddressFormContent: React.FC = ({ optionLabelKey="country" optionValueKey="code" errors={fieldErrors!.country} + autoComplete="country" /> diff --git a/src/@next/components/organisms/AddressForm/__snapshots__/stories.storyshot b/src/@next/components/organisms/AddressForm/__snapshots__/stories.storyshot index f2f71c9724..2c6bbc4288 100644 --- a/src/@next/components/organisms/AddressForm/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/AddressForm/__snapshots__/stories.storyshot @@ -365,7 +365,7 @@ exports[`Storyshots @components/organisms/AddressForm default 1`] = ` className="c7" > Date: Tue, 16 Jun 2020 08:25:04 +0200 Subject: [PATCH 051/120] Remove old images --- src/images/hero.png | Bin 2112990 -> 0 bytes src/images/sample-product-thumbnail.png | Bin 70987 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/images/hero.png delete mode 100644 src/images/sample-product-thumbnail.png diff --git a/src/images/hero.png b/src/images/hero.png deleted file mode 100644 index 1f0fcf31c3b4529b369b23e9a704e5be87aa3ce9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2112990 zcmXt;emNiBuj|vZe(PTMeLdIzx^sUF zh4265_$MEH@WK9z7yfbOgAe}F_rV7r&-`W2?h_9sp76m3pM7xgAK(3y_2D|V;E5Bw z@Sgh*|H+(NnD*^3S?&En2ft4UoW=Y!_v1f4Yd*thuZyVY{oq4?r^0tk`kgD(Fq@KZ zcW9)Yha^DaMK#uYBqfQzxlnL#xLLHjh}NnLR^GLk}`gpu41wHu`L}ywl=)d`dA^O zlSvl?uR>hVkVCq)O8WG;z6?jIGMEh;rf~Urwv4W+;io8(Ybnx<&-N((@U}X5=86EB zH?oPMcLBQt@XlzDvglhp>jZwSo0WPyaXpne#XMDeM83r*7}Pm5=HV!1s#KAHI829R zn!$7jXA7z~eRxzQnmqY3tkm~Gi-O0wOy7#ULy!4|nsscDn& zCfjR@$HXxH*``BZ(FQo_$}de`1m=q6b3|Wim@Yei>Ub zqX2f$Go)A$!hn|afUh#K^1MGgr(mSD6e;8pa-zh@0k#(-tx%_PtTl5HeIE{EleEkwI=X zD`?xWrW_>$KR-_*F@{4{J61asi|#2N1*7J>zGOOPr-vz zG0u&mjMoX9%NHfq*sWy z=lx^H=-=sjH091W=e7HTsM!S>Kv{wxb!aYyD zl|sB7e!uY5j=Fl(-9jK0pu6yMcbi(@<@ub(au!iweg9>m$qh=}YRs<{Ox~tK|G^zj~zW@>u%fl`!Zv}bIbOcRxis9 zwt4Dw9@9B=O;^X8Vob8-9h?^z6Zp0;DV2=)T3}_z^i0xCi|7K7*7~FUxQEijAc)k2 zx>Fch83a_uGb$WsziBb_J~;$986C%giW9P{VGWKMr?=hUT8PV1Y#V_z8?~3Oe@lzb zNq%@eZ!-m%}U$A79zkrIrOQi83`AdZ5#i;49&g zMWhTs_BrxFVP}i*YksE~A2gPgT%fNu8Kz^I)Y!yHSd$S|19?l3sdj51jJS)96|9Q6&^1ZBFIL zUA>NwyqG?U8FT@_G$IXNjiu{lJcA=ePd{EN^Mvb-AqnVL%aIm@?Pr)H4+OJ|Xt)13 z^IP)^!4$)jJC-Ctu{I4wJMDfj#0-uOX1U8=m^)@x!ys$j3ziZ9ui&xk7>Nt=opw#b z?y(IkPh+)MP>Yl!@4U+TzbMoSda>rdF!UJ%N z=nrr02>p1J5H2*vSLx^rfjlpkaJ|^dOcg{yBI6iwYAnwpP1@~P%LnOA)jadqkhz)) z2q?l|qJ`C`n__9H2_Hda^ILVjnXtJ2j%MA#aJ>M27WrEtH}hAUyWpuG5JG3a(>NLu z8MBbuVG~w2DGhkc?h9!#RCj{R2V9P62eTRrN4<|8&x$u5e@?HE?+eUE4_&sPf=}x2 zIyK;q@B&=`s0@gf{~8RnfME!<;~_d2PV^u9kM%N5>7eYSxyt?x1vR105M2fSIenz!pK+2OB%csf}4tF;b+wu(k5U9(`&2>Me03 zU5{&AzQTSjUWWRBU@Ev}%(s4sR&Bns&lw-z+ctf|iOXii7TyK_*MN6U_}=5VNRD;k zqR9TV;?JN<1(5&MTn_!VtvU140kZ>4xlz>4jz+#oe@^tilu=WEpI9I|t|#$Y`_3f^ zQb-!CT}pCy);RV*F1-(z-R|oa;zpG>qV(U<4)-x>S*SXv^r*eU=mwmChoTMX_jyKb zuWnjm!^0Bd%_Sa(dhQ00ksZNv-4%pgY9gb0!L}IvQJ|?Oa_$mLPw=BMM&s zM8ljZoI~EMBVIXyEHynIvUqu+NA$AV{O7O^@^+Q98A?>uO-3(nA40BIPasZK zH?+J8acGFz7fz}ubG3oT3g~;Ts+_t<&Crc)Kt^#*Fz%SJbFDcV^9U3vO#;0K}oS$r8jdQb*5q97z zrKy;st7#MrKIb@hx|=rdekmzbhNLHHH>yl0g^q#*Uwg9fswt+nLA!~rQpE>z_5VC> zRGmw1$S%Gr-H=>AXIYNFyEstC8Gm=0Y)mgeory%BDI>{$fcd!cE4!?*{v#~yW|L7T zg@!A>AT9F=MaZAmO4@^-Dt*L5%gCu)XO-ug%n*?@x zQ;50|K*<*{XPfk6>syc4b~+5w@|c}~>dvD(Jll%q<4DMqBTIFl%p5Z+I`!Jv!4Y#? zzE9;+gg-7tFj|jGX1igE@64ZAOG*nR<8G~SU^cX6Yrs`dULTQ{rB@~o_o=m|*+W&L zQg#iw6k9vzIC3TD0CIK#_i4&K=bn7*aSNeN6XOPikj<0kea(kkT;{hirC(l&N(7Nh zU`w^IHpU8lEhAKoQiY6NYryGal0w~28wwy(HJgoO(N#`W1B(FH$CG!0KtJy*9R9E3 z)}q(zFb(|p!N5h|v)PC;Z@y_=EyBs?c8K5QY87T5VX=6Z5kb)sn78R4aQhb!VC^6pH|)^ z{M-pWwEaH1R zs496lN)D(w^bKnBP5eeEFI}`N3I9p>>c=H@4iLjCvN~oSZb9_^WLaj(WAMZtt_DL- zzoQHnY!1`4t`aL~^YZ?Q{HyLqOFQuzS9i*h5HZ#%#%~dJf?>hRn!U4pQ9}W>CjHC0 z{+Q7eD`dOwxh`_t1EFGb!O@nU-BQZMg~5EK`-D$m=3{ID*O+@~^f)<;5&7*Z0}rpA zU;?=L7hv7+X=^?`cDX;=7^Mvj%}(fLSmD!S3}wiA%sQwxb&i`6MY})aDjXaVUc7Xz zs(XTYdMOZc5J5B@bTOQ?IW%xuAaK=SGG)8reD%2@na5&~_*}X;G2T$N7p{%>FtBr= zIG<=^yRsFl7XD|#fluV*l3!7r$uZxP`Fo=_&V6_VfNcUFNW9Cfq4*w_()mp0@>Cd|JG(MM+%U#@A4 z3Gs=@V}L62Htm0`IerY%#g8@)1Wkv^q?sbbNT1B8srG=&t3D2n=dffd6bNmOG$g&(+QIw9wJ)^&{|6~htUueP9rUnr=o>Zz7{CbLU4>=;bhlWR0denM)=G6}$fH>(`@YIc||x+vbw!v16zZd{9*1 zbpQkrj%6aeNX9iCV60lxyqFrJBO8=?xN_Ii52-i=zkI;BxvxQSS6KqY zY*(GUWEd!?ejg&(top8S`P-UHchVd?#>@EW?S5o$8%X|VeS&d~@~U!l#oldks4IEh z5knYrrr9BXQI;Pgzq(`m*_)UFZnuF9iV&gktNqm^!D<0(k7W?{Ls=&QI*jn#)`13| zPUv5vy2S&UdR4m~To5?^D16YtoszwdH2)>4_jF$&UAwwv&sVslXHyQ5DF~!?-~3xY zvb|p7+j3}Y4xL)A*Peq|7yQ5OMHLLu9PYAbOrb;tjXm>6A0(^r?#Zr9l>gHED7|}O zPo!<#qL8yCKP-LimcyMmaa9yw&d~plXOylrN1>4cRs1FzA`OLL6n z-q^CE`U?ukD71MT)Y@U{D-T2`7QkYwxog#|LV|P3IkoI+Ko4&v0h=BfBB+|=MJJ`# zM5GD|jgz(;8;5s{rken!Y?}Q(V8l^#O`z$8cGIY+I11S-wp>U`Tuz&d!ke516B3(A zJ(Aw9k&DGwZ%;9dNLZ_sbvDgK6s1|68H>Y!$vtNdh}m05H^eTS{z@n~1GboXI^8(s zU@h`7{t*+*s&Z@`S)Sn_1*0vgy)MJI8%ksGH#RWhsq>YD?K6cLr&hj($(kuXI#*l$ zTuC3@-c0=scJ%n8@~Gkf+?hM;KkVi2P0&tOZx*13$t&m1xI`-vwZWH8@(J^dutC!b z^&}lUzrap_=%?y$!~3{gT1*QFo|wXuorfM(iB2InjEccz@1^uM^0N$Rwj9YHdqPT_ z8+ExE3PJjs+8-S9iqwTzw+|I(*YocOCn)Mp^bXZtx}`m&cOa%vs~p;9L9N)c+2hvD zCZuV=cXV8(86eXxABo04l*KJhy3KJdLv7=cGmpk622YRg8U`|#ImRJ^ zkzq6wo(axnH1z>l+TLikJPISOk2!$SGPFZ!r`e~nT@xw7X{jLY6Q}5}aCTa-zL-LNDNli7aMDI$Zr`{V&$l#AuP;)`FrftghyY_gPNr7Hi zHRd(=>sPSaxB`vge{*6-{Ky%SY63M%&YpW}LP2E5vGmTv10)?Gib()ouWI(aTzy}X zeT97t#k8x0nwS^8ERX$o=s+vjw)_(|Ds2CRL*Y}t%X`eTm0cSU@WIoxQOF42!tJ?f zMB_Lv6|f_?UkWtfeK*8)#9!&sGeQEhlfTT$Mij$<_n_XI(mQ*aVz<~bL}SnKz{G|q zHizAc+dU(Eqn=d44ijCPnGhPrHJsW=FVjiRR=$6JgF3NL7eYw)FE-5F$Iy8`=*HIw z9>LIMJLhyqJ5o0OA~xk*ii&aXEx9H~^Na=}^xyZ6+DPhLRPegH-2EoD7wVPO>gzGf zF=ncpSf9vjsz+lf&Um3YzESBQ3t-H$uhB^>4P9bAENv>A{N#{C_8oyUSIlHQ74epo zSx6&0RFbe>(D15=UDG{VsoV*yis#yz!-XDh9Akic8V&@jxIFU}oH<9ILPjFv3UuFv z85enWf#(J;uU}^0y+f;ofP?iSXsnAejFj-=0j+T?4>1nFZ00W<31Y=Kj*+?+uv2qom-Q0E~_hz4s#)ulT zix0uNCtY?$S4@0CcsO72#tpVpl)688oU*@UBI{8+^~ zlH%*eO=%!X>LRML@*`r4D94=(GIIWh{LR#|-<=RIPZe@C3a;w~xW_3|g-gSljBFx? zzQ7~kEL$Iz#cH~5MdH8o@{^U2`hK^9W!rF@)Z$u5iyk{)X+{N-BKLP zSESM>sVkC!Y@trycAf>Qz}x5X$`35!$U(+-Q@E_`zQ4PnHxXIEB$r+yPKH}h-?J(} zeJ-Kt<)iOKRfyiJE$HFq_9qArpR%UI@Sz6Oe7w|sTsY^r91+N=CM~`cZ*DtYe=-1W zx;#UeVq1z8jy%ldUQ1_CwD1c7aJESwi)&!vms}Y~Fq<3!J$ViP58L7P)pCuzI%)i9 z-cYh7#0~g9aSLNVKDif)8#`T_rk}X%p^4fFSbEIrt`f=7Y~GQz;QY?A*!8tJ^SjJr zZ9$x#6zy133eFG&jE7cf;hx#;LFY|M+l1Iu`| zh^0-C?kfk~VFuFQBdfqwmpXZnS*#OMz5Na0XdO?i;2le*rLfij_^%%EC8qH<~SnK&?A7 z7U#{`)xbi)2f4@w2h#B=>;6dYW+l*F}y}GSX@!`kn%UhcEA8PRyzK+ z*y`o&iyGb(H{Nykq+3m7E7q{_>d=$rL{9bnzp*}cPe30~Vbli5a$kC~752NIAmCtam*^2Z3pYSfB8+Jaw8hNc=?vt1NveRt1N6iA zuC;o7*uKskY8dJTsezRZmb`cOS`v&*g*oAU7e*zg9)ekcOdpTEOsE)fCk5E9q9kPe zQVri=1*O||`d|s)?DVvaeHTw6RoGSAM#EtIVRWHB*~j~t6{wwd5g#92PO!v+utrzlG;Qf zjWMpu-pnw(h>zcvIX7*^3kc+Y!`;!hF#biuN zFc17Jn}+*Q2O27xdd}R*m;Fl%kgb}buf+APFjztIFRZX6UAiQOZl6)}Tnv1qVH!zBs)#LbWa( ziOiqr>5#b;ias7MXF$n!pKlIU4v?;iev1H!jm(P(rcb~ts=fa4$KvFCB{pu6fiO*n zp(W)*yxiXrx-Z>oOQUq{+FHU%+ zH0jrw^Y5|)dKtTh|D+8k~*+)HHEq4PP z+th^g(rwIH9A~8mU4T7{V~Va+8XU?b-(^)r!wV$j_VKWljpxtlfaC>MuzK6JEv;|L zU+S3uG%vYO)T@zlLqh435uO2tjf+fFnzx%cx{pYpKU7ZSE075dvER%pI&@)Bv(en;2|KGo{V=VqO$f!+DYG_;d<7$oS)sN8 zpUG7R>knp;rTsotdqRW@ha0;p>1nZki!>4V>&8;JiY~3H8ulQ)mPoWFx2<7%mF42* z`AiL851Lw2)U0$DJI)v7aWT>ycihq%7DB5EyG_cHh3s4#{G9^H8*t>fTMoO12@3jC z`R2qk@(7aeb(W;nR3@se4F$24rn|H9!|3-Y;ppf^oc^ z6yQ><>i2OR@p!ALk>6S_HE10pk5)Vyo}OS@AGbnYZvT9mwDw@g@UA0_{QSGlBe#q? zTH4(MoQD>s*U}_XK>qRoLhVv#VI&3|Dg({oH%AF4HvWGWp!yte)jbFe=wDIBM$(G) zx77RclNA4j^gwUH;}+d@k0IyO>8z@?rXZ(XvOwKIp@+VLz0FVL=;T}ocBQ>tpC5Lq z98Py%qHIC--qszvIY7|DoeqcVNwD9Jx(AG~GB&$f&(zp%1g8RZa^g@`_-Fe3Qzo~R zBVqeUY6@X4VfihsEy#RQvT6!e-_x2uEIXRvl@v9&tPjcP`a8?V^!${Y*Am=(7zRcf zh{U%^EH)LsqIg+##1{)@cWMB&u7x7|HCgIH>i+zIWXe$=>coo^Pr%XU7qfLO{Fzj= zSm}s^;+*gP9J-0>O0F{G^F^+U+Jt;m>Z3}(rPj{{H1b3!*J-<_Z*v!`EjwYAbRSN> zJgUus^l3O&J|>acDc?Jbr(H2SD`@k(gai2BTrI9~uFSY{4dGFNI`@?FeJiIwLgR8B zA;TQGT{~=emFv=bW_O~z^w2M7%6AE#$@Tb^4(khAT$L6z3(R*A+4!KA!0fC;DbK4b zLEVju{l(V$htz0~VD8#|kQd!xPXAKiy?(93eyiub<*PjCJ(o6Wo!CiQr`;?@uH>DZ zWI9S=KkTcbB^zD7mxSb0APq{X8EMpL1K-}$U=473*f{yya6ypqkz?OfwQ(y>WjzHW zfMCAL9rX>&=|qoLfwk0Kp^1#7Qs>vpeH{;7O_|UM=?2gnkn^{zCk;efftx@6B8E_eu1^qj8DFZc8Ttu3?Ho)D01I7eWLSV?RvY z0gVC4Z#z2^@9y-Rvo61~UbrNt5d7n-&7rKvX|LbcTJy(aF#=J|snk&BYc)G;{T-n9 z!@ZpJUV>Zd>%_G+6-g2)TaXY_o$3{kTOLNEEZ1%pdGTRVr!@-djQDzowcl4gEDIQQ zCvqrqq3%*>+p6*m9pF#Bd+we2b60sxaPniPXxf5b_+gDU7RHf;}K&$e}mi498iV)($|(aOv+7<#03F4^o+3#Popou$mX zq={+Nuz~{lBV6hHC@{k;&Emmw@1tAz6OIX&(h;}WEbbg?%H)Wx2^Pl8B`i)*%rQhk zgKMS+AyF<5kpxeY`uJ)3RWtM8C5xAxgnW?28sdXpZ4L_lt>2viyV)J6WG7+mgz1I2 z?WH`_#?4@?T|U=IcDIiGQ|XN6HZ7}efilN(TxiP`2KPItv8OyEl4B(lLnMi*fMt3| zQAkIuGad{`6)?kS&I6*jh7MtSS$26#PYvv?_^IaizaxLiVb9`hY0j;qNb*k<zJymc-p5UzdI_leT*&pJ#qK$pP55p?{Z}0I3HSL7b|J_YWuOUBOUHsRu86LYF0GM3~Le*Zn#QV1L(<)ezAPgvU61My7;PEP_iJ(uAzIJz z-Zw2Gq+bKK>~qk+u5G74En_vQBr(t#38^L)bX^=w*j%`9%cxEg{Y+emB<0Yx#q5E+ z%E<_F`qnO;ENgPq!yi>+GRm>M!Gl`GS{9P37F}u7eDeY1IcABtN*2N(Izwbj1yc2$ynz z&d|w80mPqx%LI8nXO_#@0hzKRIapDQX8UZ-sTGB{27Ye}`%`gSIjnx*ScdqI>12;4 z{f^dD?$kk4do*yz-)D$!t@;m01FjYCh3WOe8PP6hf-o8r;zVddi!;^2iN7u0%>-p_ zV_SuZg{#nMhFHd2!)n})2oFPL>^l#lk`hP!_|22WQ_Maz$^Y~q| zX0dfLSVEnkphS5*IbXl8PUavRSAk%A;}S8cad|?9(38%m!ZMOOji{*N;{_eN6A5#G zh)xLjN1>+#hTG3>E^LeLkv_OCMRIxZ$czxjU$B-{DC(D;EPt`x1soiBY z*QvxvTYl?t2-(+>{O}s8VI{3)VjPs^AQ#o+DFQdkv7$75he;ozPil|!xnZWTMK zjt|5X-0YX0X(ZjM?KhztvI1r*$q%(5O*3wKj@~07jX|vP)~~VrBiknJ$KkDArxR>) zgFDM4BDn64$$`CnbJI&B!rDhBBnsd_PUm8jF+9g#F$)_x*T?J=?z?udRvC~?8xKqq z4(Z>-DBTxP=zv>2z89?I{q&LA3oX?rPu-JXK1KGJY* z$Yta26x|KWU%boCYAIXrq^)x-9yi}b>a-xOhXhSfKGk>xRYbPA?o@+aH{rbmvdS7i zTU%Mx$z|{vz1dqLnZ-NlFnjc)_<$UebatWs>H8Au3Tmjx@+kGwz_&PW-DBM5286NX zp$5OH3lC&)zkte%vV#okdn5D3#=+zvL_an%WrQW$dWTypA&!zo_ZkBU!tnAGRZpEP zVqgO??8ECWBEX5(XayQ*#_O#+# zNU-vuE;IG~oE`A!DenlaN0^0ON-x-9+a7xdH1FY8+SV0r!1o$3_fQ|&q&>Z3U04F#fvC^nRMcb%QX>FGV*(U;KGB(F3ZX@~GY zpHo~pB8~hjH5M70-q`auC8`UM7c24s7pR8S{bvq9ZkT#iC;j2l7JEIIE&>&07Yc8? z+!lVjbY(9NUma1n>A@^lDSI~TUK<0o?)gS)cUwLSW&65~T2(%A;snuckLI!vUNx6D zR>CvDqkaFhCy$LkjXc@rV%R$6_HP8cPTQCC zEWCkmoIiEWP8<`|#4v5D>;B5{LM!HWO2p1}=dDGjF|j^d@4hc=4QO($^j)db9G4DV zXT!zi!RxLBe4--I46APPr}ABvdq~VjspsWj`cXHZ}b+xU=bI z!GQiR!S+YZH=1olq_H>E&tH#vlYZSm)u{;KEDL+C^Q`PlO)2xlLJ#uJO4O~*QM$-v zv17Jx#S3AK76D;Xh4DUp8}%vUl9P3}CBb!C?R6KKvh_+a`)`>3Vt@Qt^fH`!TPqkI^nChrLCh?i;!^&3(+-vXx-$IMB1kNPouiaixu>nk;?~?!a%`@N zQ{;dZ?)R8^pmnvFo0;0^dzg+VqzyjdrGg#x`{~i@eBtK`xMAJ*J+|qx?eZ;w>uY)I zhCYD`A}#qrUCH|uakT1iN38AghW-!DoQ9#7eiep=Qb_gDI@yMVOEVwW`fGG`kxps;oZY*0+=dkNT|?{g#RE+}J$WVLmSD|} zi<%wx=5-uy4DBF0-$?UJGohsy@{|doTV6?^y^RU#0%M_3WNZ(EruSd>LXSNgiqrPK zyYKtZH$mat=A!j0C9=l+DltdGPF8u_oh8bHFsJA{`D?`rd2iz_=`}z7@HAbYG3K!rGizO3#-`5gTpl2ouk#CCk?CLZc}Hemq(s`6#@=2`;n|W?bzNB2 zrAuo-7Dce;nrejOQnG;OD;qIOF3I$EhInvjyHWTg&QcaU|B8|+u;jNI8N{&LsOuzP zZ{TBmP@NwUB`+~loY;Un?T(Xj7gch|ovh`z2PF$Hp#h_1;ZTf#BVfJO4M7EstDHbv zeH7{=H)H|JU%0YbZW%$O-9J>>4&v48L4m3@)8x6Om)IdU_)vUXi>*^aN7&#-d<`5u zCK6!{EJUj9%%12YGx72Ah`mj_y_`fjl#|hggqof!HA!6GwlMQ$i6rmY>6CvQ9k5*m z21i|ig&P2JQIxA493j_~UiQ`&r1!LUf_6Dys}eEkPQOU!j}?*n_?3FYzozNrtq#Lj zY#PdJ)B=2R@Fk9L<`Si-No)GMh^AwV-E7vRWc(9I0hZu;vL`OyG6{~=I7g75DK7xo2QnJh{T43~ zcebuCsC>VzH(h9=ei)Ag#tf9f3kBRYrS&g;t}g?TMNf+mfU6JXPqT+mhbXM`Zbbf- z9j55WAq zm`y$PT=6d-+O&#-&lPuuG0u>nP5~Hk7j-JgSz&LBc)%9#40F%DC@y}=OH1k*O5Pae z9p24C67I(LM`<%nmzC7C|0w;DIHjFo8@c0}M!$$_^4hh57Y-vAyZSSF9pCsYO)mi1 z$bW|gF8QR+zDp;~AI!6N8{iXeGz6%o#>#maH>K|;stMYmoenVj?kO)V66(Vyxp+2O zL(BXdcJ8cfY9eTOPoP%$VO;^QyrYcISn}?>n|5IJ!hU1yT@YDp*NJ3$=cr;l(*PG{ zURFc0xAL(P{|*-_$&1X$4*OGi=5$IjJUY?C@S<la93TQip!?pK zldx#k@;9&1#eLTQV?-NXSoNDS?zzGPmBuG|JHrVvd4JPV^BZ#;u< zC=&3}&JqSGMUDF&F}^Mf#$BnFC3}jW?l2lG8!?6@DI)x;$U^ zRi18ry*lHbnU?E+%g7@`Jnv$J(vqXy`>D?@!xBm4CtML=a zz?@G4u_y5Y_R(R$bxgev1L9DPmOodSJF_`3>U_NV zoU3Z;XhNBuCBGX+#5U|;QBhCLYX7&xmBCjnmxsO*;O^qQHaj#v2nAE`dscoiWOmVg zmopoHvhmMkZ@8a@?eFwZQo#MWsm?I`OWBz)uG8A6t6~i93Dvk+OSGAVD)#Snwuy0< z<3ysl$b8Rq{mDeFOM(q1t13HI5wjgOlzt4uZ{Ed3%jRp~y+n0j6zwwYx-M*1)Iy6z z`TMQ&ty{>2^nGA`U1OaFm$56U@2W1W0KOcV*AZ9zEsf(F+taLg3K z4a$YtzE`^t=4#yQf^N${{_T zCsD;-$9ZR+ewx>7s_tBNe@IP}o!(=|z+2yB#{dboaE-M}tA1AEmb6A6G8ys@95u_| zj#TR$&~d@HjZg$NO&|rLh0nbk)v;wbbp7GLrO!6OH*=LF-bgnzeT>w0RACsDcNhq? zst*T}PXaHw>qVxq`c%)e2HSayV9Oj0{{lbJH+~R@s1+}p4_@s{@LZ{Xa5Xetcg0SU zn&1DuaJtR@_q0>xt~>ywW>9J$10>+ON+YQX4GoE zy*pTuwB!7ZR2e337L1UfM*sCjxt(EQC*1Lb$Tb<^I=R8fOw-dkOt5LK(k{@l%!X@+ zqmodc(STajD;fp)X1IqMzB4-`Oo{#GsstJ&3~6dRLlYPp8!EF1`ItYgjO;K zEPvT(f5cO~Gxg1Z(qr!QkI{0&WH{8*l3v%9t*dsIosbSUwNo(9UW@TT!rJm*Gv&hdNK4TfV1>YRJptYLX@GMo&jPZT}p>3(!CmEKy+N5eY> z?V21+Pf}Rcx_fQbt(9%gJX~UX$M!PtBi^To;McIp`=fQf;Z>*u0s-I3w^BO9~(a(j2BBbWl;-rU7y+spZdRB6QVCw*4O z0eqQ$R`yIlb=7R03WeP^vaRXJxpRpvAE)0tNxq%Ja#;Fm#WeaA_WO0`OSGX-vLWCq zQSnG6ecLKF{dO3}o{!5d@=kJ@jAH3NX*fB)IuIewYIN*I%vO2!|b{4x;+i& zzAiK5FOijHn1YqhkaKMuSMyhqzy;{bwX0WE0%YbxSUpAn8+jV7nb_`nNnZ;tEb*3o zf;rtXqFf zl4J0GlrO!lBz5)^%{!-T_;Koa#-5iRyGA*SbL2o`bt_dj+2lGKn2{K%tqMg&X}4cs z+FOLq(TSTP{S5}~GCiVkk#Y^)U|PN)F~7?$T;AsN%%{ch2Rsv;nfk9Vlxn z^;G?8YfBAnFPK^&>n78(R-VvhFJX+ODmiE|VcMr2z|Dr|(7}mkPB-eBj#NHnUgC>8 zWU^o33H_`{57 z`Y|=7)h$3)Vm=u))G_WHFaW>C8Y_yUVrhmS@Z#sY0F!R76CqSkSDBsx;)30fNZ8}a zkEp@aHk4(i1hlcncXBPi6dqz+VVu1FHL@X~*+qrq+R>Wu#I|OnQGHNTv$gPkF7}&E zPK;fl|51`SxdFHF7kB3Y-$i4X{JMZYDGT{_q_6o($ML3>sKw>x15939gynF6>1RaJ zNpemxMldP@}mDN$>^{1j!Jx#F*AuMjJZT=J6IiI_Zsz%XiO})S*#FA zOuz5-bcIw;(D9uj$a|$aAC)^K>xh`BPE=SURY>oqopd9#5?9~fVI9oOdsGBWok&zd zXSY(h^@`g%bE8`343nLcYykT@NvlbcSKB%br4{iEj6oH2?F-_H+`@#dI^c2P_w#je zy2<@C|7jMb5Opazu31v@GVeyxH3r$xf;Ay-6fzhBEigFy~q``pZeZO)aM_ z%(f900GrYA{|Hl4cEFO$n{yK-My2Rld~L6ZB5FB;Cj7^htRoCZ`A+S^I;%Y!|L&CYz!^I7vz1dgne81*iW?3iA%%(c%#Z^XqTO;Of%*Z_YdR48+y z&v_|!%Az8pM3oZ}p-w<0c`Y`;>wFudJDib{Hsc^{WQF(H!w|ThWP)-q`8M>K#XfdJOdL_+17eF^b1d!gMJ? zZYjN(vt&s`#OzSs!v70UfvOgiM*{M?T>8M0i@4LO?W05e$lQ0C; zgz7LpW|_>^vN)r4pmDJ4i#rDzLlGNTB@H?m~|XtRekUsO$#h2Z7QrB8YP7o%3Dtf$l= zOEDD+|K=Ja$@->b@60K3z@9H2aZ`APSJzH@Dc+0`#l%k$8?KP$bg2GX!>Blh9ePK> z>30p<8??ENE+F>Crp{QZJyJJ?k2$HFx~mNnRfxi$H--bo(q4svwQ}E@cxg{(OM?bT zDPLo1=jV^@UV^UNM_iCz%1d>@$5yKHpNA3k((}$QaS^n^%SrK?4z0%tV>Q%o(@Je{ zc>??Vg?Q>cXli!=8v`>qvK#gk^nWAICX#lC1S>&oajY%il3Hs2!{AM${y!JJXyHiBp8T)?!0AlVvWbusO$g1q+({=ss0)Oa^d}OMR zJNAF@_;vRrGSW7uG82M5XX6qz+GLO0eM_eMvY$3KTA=;sbR7xRUmJH9dTfsh9`Er% z)eV2rPgEEGKbqb>F6lh&|KHuVadvBR%`NlDJ?oS+W9k@@XSrwFk(n`d8&i~2N+&6) zJcWn|>`qhWkttL1$jmV10g#NyBQWLp1Y-(#CXXa2BnZg)_nG_m`2LUl@saoYb6v0N z^?F{y->n2u6VyfE+!aBE!(n;fH*9`YF&Q)=Z!4iy@sdQ?OkPIvwKoR$O02(HCB*u0dCsb+J4-y38oTI=1VV& zMTb>O^Qd~*%5LmFj3}mUx*90Pj3v(7@cbN z7eNo4kD)^A!i9Deh9TcXlQ0J7&jpX406Kk3VsZ}iGx9jb(o@*9eVs5Av*fV^O*Jm@ z-5c?r>CWG_%&@ynQtd1{9N;mD=BpE-lG<>+#f zN}P-9cf-Z+j-=G!|D_r=+#~j63gX6UxWem=>t(_krUP6*NayedXZ!AJ##$y^^6!lW zy!t4GzrqMW>fM*R>DL9PUw@Ov$rN4GBohYsLmuTVQ#EoY?(};nguc0?#8Qx}bm zA}-iV!gUM5?4Cy(*$5SZ2Q7QrW8D6r2oe$;5e9OIrRp5Ql*_w}=D0fl?XX^0##Wun zZpa6r(Bc*zsSEwYYsYhZvQThp#dNiOdW^BvQv;nlh}zu?KfU@^@JjQwTYIR)Ibf$m zx9SPpA%^5FpnKbH3$Nrd;JpyGGd zxm~~1uvbaN0(;K!6+TRT2bwkYT^C6r|&c&T|fOAXzh6r<-k%J>&?tI z+D{u&nXRuP7m9yCZi9=EaP{$c_hLOVe7NX)Yl!`ghSf%boR(6Kxb>#TF71Oet8{Bl z!U0t@ckc+6QhAoSRlY6G>qMcuKa=xR?bKmO zM^S?Qns%Uf&OqYojs`4^6jx0Db77%V4Vk;VmXuvT(!!qdSNs&t3 z^t@_{YRfMm-5fW>HLXb`OJlfSDpGtE5&D5+$5c+?oQ+nbM*L&|ntLS%^J|C6@JBK3 zSqhRKp+^{5zS%m5y6iO7C)Vc>l#Kz7X9_dRWyI;yUV>xK>R7~^CTz5t>{pG>3GhJnH2A+XIq$S9? ztyH`}=fohkho>@vm0@%Fu8a9 zAsp=JL5#0|Kj6)`t$T2EwT5>m2E+EqIV~~sn}5Py;4i=w!9K~vJmhb*6G6Y0u!8&% z3REEOFw1t3?t5!(eW`Hc)Cpk93%Y!7#AupLyzA@3rB8#+SdNzj&*bP#rRPt$P zpFgD#GdRwakIdTn8uC>VstB8%52w^}E={4RwF_RpG6s)NdJo!N&(a;ctST-~zdy93 zgyq?RTj$HyWjzSi)@JTw5Bycu))lg9BgDs9^f)ooV%dG5TH2y*zH{&MCo}_CgDm4e!ltvU6qE9dm#}P2cSuks-hW!Xj|tANYIkqb{r}a8i;eBDh;ciIl>J-B-`I~G%W;tf{#JSd-VSnV#VGD z*dt%oQARkV4R4I~b~*zYH{Z`oRgbGttL`MZyLL1Y-B?fGP|m`c6!ZEc{Pzj8{{gCh z@9RUei}lfcCDi%=zwG|P$&$&|A+Dty4UQiFBGexkrtK~N>jnZ1{9d_p8$rX#($A*< z^F?f11E{ejcXl-~4|A8k(8dFN8UhV-XEDsBOKpCw%73&^c(fh-=Irf921HHBxjkfnDYrmk<_Uun%YVJX|F}<&1 zT19xu#I1@-ToW^}emGUjh{wC(#}F#s?8%LA8(bP|h06YUAiG+>(3=Nm3BO!fZVv5= zfhr<+Qos6r=Zv&kdYU|njfxP5FMpO{6@GEw8)>jM)KL)CGfrhAJfmx6$OqN zYq3yz0E-!T`bl)Q=){wpr+RIX>N{F0;66A+u`s_1p~v_Xvxw@kFHTY*v`3KC)^#oG zsPanA8?4^xAbh(LcpW$A#q&$*Xe^>`ED)E2$ewfB`H4Tc?gYOvAPLoW$(?0}6L4b{ zSdY>kmkg_J-Lk;yooS68>S^L2`-H_8X?S*2s<&GO(mBYmXV5)p#u;hP+iUK^&&BX$ zd0k>gY$*|8S$m2aY}}@MGl{&E=_@y3JqZk=dMoQ56s_?XSvRpv)2mw>5ob`ZDScrW zFsZ-Bzw1;rQJvmve6#jC{vh7)-1|Dy4&BhTu-Y>YTJG4m7ZsJ!-jql2+u6iwiQijJ%#YqEtbcg=pJbRaCNP?3{;HINU+lXskqhSF;B48Zx350sLQjt=?1R;oW1JC z`j0~ZJV}K_$Y;jx2NAkBBP}t?EzJ#R5a@CPJ7?Zi@u$8dYpK5gj$RyFwl+Ur0(%%n zs5s-lDFzys`d{peM3%A;h3VN*76ucNL3@C_wjM*b*UuWZ?Yz9T-%@W@B&Jvsmm1f! zKWCY z!g1Kbej>bbA?|EWv7z}4M`(s+fWnYVu8i7z(3ok35bN4G?n<5YoN>0>i9>Q&@&6>bs1XsH7P!_&?#UwtMU1s z5`_VMQV}ow96vCdoFm(Kec*z>%%xGbl~cF(yE|V|FhBi1M7M^E*uroM! zy$!EGo5y*p=PWI7lGbprqZ1E#5>5zWz0u?CjB7)3Dd3?BM#UjB`t+9VC8D5)@Bn?( zDUJJkYYZZG68O!WEuiO}sPf-s|MpY$?y6#P^My`bvn6cHY)St?@DoJb-n@?vZS^mj z;CV9q(KGlqacYk&L`q#d=M5jM*lWqW0Bd}F$hbpkNazi)Dv&mps$>_M?P~ODMsL&R zy#U-BqL8kTuEVLwagm7HkW9R>Jz~Jy@8+sF>nR(IHn{E)nVt2e^GkyUAc?o(EoO?ckcRzZqG3p^0oG<2DZ z#yI|l@K5{F;P}*SN_BVt1*xevTfVN>?vG~5N5jELBKqy>KQ@xs##Z#*x&cvrSVOss zW^dNpQZnYEh{(@c@Wz+6L&e8JX{9pcx%JCJLt9%YDJy3aWtd-B!|b%|nqF8@*_FA! zup8IkXO|cdZ-O3_Hkz~kvn@ak5WYC%E`PQ0om3)u|13`oj&1Wprl^X9HMQ%x#Ei~o z)s~J-maMw_(|7^?x+s$>S?aLGBxzkboV0`e9~B|ct!|BymV4OwDDLW5fE1?*pC#LJskLebMdYR!(7JehZ6l2KVc+2ecb zm!s+>7$5nqaCe*9zPrq{On-Nr0^hhNDNNl70-c^K3WIEgY)>~4@z+Lj`D?EbXF(bN zmvQRfqcWx_)UKQ}1SFsI!{3J*-vJt%-twRDHqKduOT zrIQ?{@$pQ^j0BPu!(S+^p^{30u+OW@=yp7rU+^}dCjRVaA?NXv?dp+zAZf-oM-<*_6 zL*tGMrBC*E%SqkIf*faTxc+UQ-sAS;yPB6)vqqRHpBS6pEOI@0K&nZ%edEgd5OTTe z>HlTR&M4}?VhGnFU%nv`4eJz2vkL7*(SU#v6H>JqwSI%RJ)Cn3>H1~srY#HBTRy>Yn=PTK`Tt~xg0V*F5R*H zn+KW>PlT$Av&n=*ftl6dJQ=l~6M(0Ja#uLJFPq5z+DknWr(=q@Ke4t2)L!n6C^9VD zFze-&5Z@G2F$(ZKLOoYTSgOK|mjzM=5a!2R^t&6#jdwD_oy;koRO7Ut*!h%SG*|A3 zPI7w@LNZO9l-U&p=RuUNZ8?pFVyAQ#{6svBY1DqC;C*BDsLy>36X@lqzG?l-PqB-)nfcla2Zr898qkZ%6!#1fLKP1Ag(^#%aF`d- zRqx9jt_x6$_Zy3=A`c*qY9S+OuEAJnnT?FJd`#^vZrDT.smBc-+q0rLc9t~u5f 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≦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 z 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%0D=#3Sz_qyC(#$V$=ARqTMVX!k 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

    4mNS-*El!v%WipKsM{>w5&^ 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

    -{WC@F|)Hnb<3pU-(< zf)Ihb)+vjR_aJ-zb|`;$&3l@|QwiSzq}0$Xjr))nletS9&?F>yYl!ko!A%^!b~p*HwYI;-San z3@~Z zVL83N&=!%*60(Y7UeH;#*A)%MpS!o-MQ4exYa9Maq4+wdy?vD>9E#R@8p0tl2+FMa zEitbG9wHaVK$DDN`}q_+B&h+B<}NmO?;NzMNaZ6|BK4=JtzVsUS=jG1KUSMWH*;DP z9->y+j_&h^qN52>aNUc=OqR4Dy@G6w^q8$nVBLJvquyA@{yoeW(lNE&mf>}z(<^*9 zSyvb)RPAsf+Nm{xW=r6&mCmwjx@vP|>pQF5e1O^CEVDn4^RAzZRtncSHn#J;ud0|N zK^^^&CvL^r66Xl|dV$aR6vFR~%>&e?% zY%0R}wf6uE-MDm=h`vHXI7{BTvXE_Ci2~P{!%C7yta_Ms_%T0X*)N8p4Q#mCLVAS8 z<*}a*X?1f(dm_oURdVKh*Y=8g1s%z;N6Ebe`C_BlWrJ1j++foO z)K1FSAMYWvfA!?ZeS1lAu=0`3Q8{O^*;)KFynk)a;5Bu7#0}E9h|R6Omf<7a5~Oe| z(PpA2gvZ$}y+uLkymX%;s3)~+Spbc(#-VA6b`2BDOhK(HZhmStkJPL!bm0j`kt5p{ z4a|*eU>!x=stlWB<@?wXbOBGtUXe?o-Ey!`x+2!7wzr#Wxxx|r2kQ~m9LUJ1v-Y^= z$m*<9^u5=ly$)3d89vqAO52ij$jc1>L|7~Ypa+_FC#C;Y>ljtgIYTWS1J-Zk(Y9t@ zD++L`mJ8RUy4pX-TdT$_|Kqjp)oC8OZlTe=(hmJ@u^~amIw5~;-(Ey>ytmph>w#9; z_W^t$yMk)8a-ZdS;P_dim=*#gh7FCV5$z{9>w=V@2(^dV`vo;1`AtHLjhxin(!aQq z`-AynP$Y#T}Q%QP_8_I;WFjm4Afy*ek`>=`wpa0!JLAU%{Q;#Rg&7x$X-Z8r0ws4Nc%272~M_Mghp~UUO9{ww74KY zNB7!YFFtF4NIYh%7B%;Zi?(Ds?(#8McpVIo_kFuEd(%B3`mew-)fJSA`{_K>b|^6x z+nT#_z!Q0s8=TBYk1CE!kLk;B`PdfWttoGDWTZ_0krpyU@zTuKG_}HH_o?K7WJ!JQ zbZo``IDB%O1ij^O9(bnDmT=kH5uF(GTz(%WnJl4@bv-Q zVfL71b#13<)8Z4ZQ;c67ttY^LvHp;~dL0)bn$T0`M1HD>ndZQVX6t8hFBHhEFa^4&Fa8~OqHKU zCkhVIaGM?*lKs%UUxkaB6yIBmpMBaSuD-pw>oYe{;&JAzXLW@4j9cbHy)4q$JGW;W zUk>kiSJmUYAU^}jl>f1BHYEyQ0dMOvBV}(=@w;UklMT+>{Npa9{wuk%r59X7v}}+O z_$F669t^>u%4#lBSx=L_JU2?K?_dCPqm54==ldSiZyRN;gdDqYk(J^$^ zDChN>J*`X27U01BfQpJ{;T7L5($^a+_w^#kAP+>(E`N=V57)rD-Z){p3ZuJdR}5=j z2G2T;yoG(~j$8m<>s)X5#H0s0?%I&I1Bm(~x$8SmF6y*vIA^|@zi+S0OgQm2JJvjl zpL;RLAUhScja?*|^WU8cK|YRN?hjWIeq(GB5x&Yj`4PO~oWypa{?8NUriso|3XzmR zJ-RIIJPlPuCgSM?dbzg}y5?=TOH2u(&ga9;?&a*PN(tjsJ$!{>WF1MnC6_jPYPn=p z1s$yxXg7C$R^x;5Muw0&GolVf0cO8J-Wp3Zz0Zcd&Bi`i@QGQeOtQmoeK&kMB7_Gk z&hbb4X-;lK%Y>8NrRZ^On0kl%oniU@q!woiUU2hJq~oEi^?vE6HjiRIc8GkNUKll= z*-1+tEpP6)7Stm#-t~jEaIf4;kWSWD20mt2!&8}l2tHyF%L(XxqysyC(=8IuX`iGX zWy0R`xk|I4@4Wk?TU>~(?)`Xa-5D?WLmz&ckkwX|(~97m?{`fbuFBRW*N3GaNR{Wf z*!==Y#*MLlYnHlaeO+fn(T-s&Z#;y#)-1O=7#+nvTB$J590bMLwqw%|l>rddo`?@Y ziPHhY<)Cy@{>Q~Tbd!`f3_!FF9>OT9RGysg3*MytrN!H>&yG1&shGW*!#As4>ZoM< z7-Iy5cF-%!@Lokq5cGEJ27 zRF@3b$2GfbK6tmTT1z8Z*t1+f@_KagvbDoibSEuR8ukM=71#*T1lG~kX_=z~ZV$k7 zkGk;)z(xs_eTB@dO?0r-@e+f)6#pHP?bLH zI?}3P+78le=K2&u-6XdEu`&H&d` z1qjm`9L!>4$jV8Ir%Eo(c>`NB*pz{JCdx*+@Cm(XF75 zfx@=<#%2g75sId)QmvXuE>We}6EiiALR*ZN3*U~E(G@kJ zDh@rt4YxwDe47xTD}dF>fpdx_d7(Kfzv*%T&gn#X+#xH#1>jinet(xb_)qB~`GZnuWybGS3e$Tv(MdN#`i0nND~HQTb&gVamO7N)&9o@Qm8 zrd0UQLYi!sjJtztc23+#SM}xC=+*P{Jj(af0gsQ_elU);fov%YoNAq*ztu8UH}+^< zvhFdN|7OG9*Wuof-hFKYenZx73jE13Q3W0YRC9K8z%5DvMr(0k2ufH&U&dnTmSErv zY%x!}Q+k}prt&$rtMIJ=gF9eBn!$#25Q?Lht54cH#=C5)#l{+;CJ3*lE( z2Io^hYuY;fwO<^q$$nV`fo|V|O3GY8G*k2Sl!GHAt9T_sr7oez%x-^~T*KnQ-C}Vt zS`6^laS-lA#Fz8#+j?Fn{?skq8|gl1(Av)WYU{ZqhZ?h;UJs3mV1j&ulXU!*E5+N^ zl<#`%L`(JHFdpwWTrRSPYS)yeaJml}H8jhM=%`lSqrKp7@XH$_App6;a$d zyoI>LzM$E`w9;&e@Cr|6Ze~NxgW3`>?Wh+D7T)@>^q@zf(n!8=o26wzRDOl=NeKmX z`HLrxyqP~UC@uPtx2)y9vr`kfkNlLBU`y6PbZ||Pi(FM7eR!WA5V>#~(r-TI(`&AD zx_=eY)+B6H`Mnk_1=gf>aWnkU9PnfJ+zBn-8Yl0z3FyJMg87Ohez^ACH|UAYiUV*H zj)5jRX!*n#+BWA94p771llIb}H_IbvtY;Xa+_vAOmY(m~1sqdcYYoWlodA<2RpHv6 z-!pWFaiDH$@DM2PS-3NlEIOC$oPYzw-`ki(*!;A3#^XXjuaX~pV# zqDNdd6K9_DrdH>+NNy&0JiU1#{u)Z+FkihV$7A}xwq)it#|010^`+_VkP*ArE{A70{4mbwIrdPzv=+ypLz|O2qw-Ge zTLz{teHoJai^*MpSf>dL<;m_jh6Rreg`sp?(J7e%p7_d6q4;IlT(k2GK%kS zTq8!c+rO8PzO3BEMn%7-_}3ARqPTu${*DP6dq~@-M==8L1$$=*bFDaG%=3kkcphkdojd6btl(5nJiSL^)ZWEK=d zLPJ&v$L}3$E;%xelAfyrE20Yszvp&I?5pQ93F6FyK`#HSFTpKFX1gVlulE9Ta6M31 z|5xRpnZ$~ku{#&HZr{d$G#u}q!Q}QRa@o!EysHqiKwu)s($L0rv&@$AdHMxypXib;u!_$910|7;2(n*GLu!trg&LD3LkBwY4XOlkm_Sc%p70ENN)k zv;Ztk(3}}tqmp-3E$-zFxUHjar-=HD>3$5>U&_OpT@57oo$NZM#% zKfaqi{NKU8XvG>$|%-BzYk%NSTdW3EqsR%7>^>yzbsA-h6ir{X1pPzrbcB zR7!N>r|eo0(=$Y33NL1&#z?R70l$$H!di#m-7diC*B>V+KP*TsSvxiWR0}$K^s+UV z4y3EKB`35xk7&}dohgIC!#v?8uK#J_4LC7AVA|{eGm#V( zVlq*vQw(LsM|w=t(%TpG%u075GRfCvh&u8cWaYYa(U?~th!p6!rO83M4j%&{wM4!8 zUD~+eE~qIzH$#{C;HrPc`IF*?33jb{1hv)kwz&srDj-+on6I597fHINU$;cnlz52W zyoZR%N44KcPtSM0kw=!WdnPn~FAqZwP|-k4MJ1Eqz{35HT|$PXD&sqf%WA?p6e2drLbPSeU6@AU_f< zc`O)(44k9+IHD(d*Wm!mc}>&r`r`*maivvdlvx$yoJX#>25afB_ci@`p9@IyV z_qmVSxTUW*s2=#^itUh`Nmi}skqtYoZ3+xUzp4NuzjqSpSOCg$ePgr4RpD)qAP~<) zlCS+b0ZEoTSA7t_tJp)n`7H?PEN{NxCQ2iSN4idC3hN2v4Gw(N277sSw!TINErHrA ze-0)QHSInNu3@HpFK34AczM&CwNFNSB3eOF-s-1!A$f<{z2bMM<^W8K`sUMXqxusZ zqTV%QDO9m-LkF|Pj@_iy)6Jrpqx>Puz-$q$1SsX>QA`G}{BVZmtEhY%j<-etnY(jp_8=2Io_ zSE3hi${}ve!op4X`N|0fho~KAer4h;zY{lKV@C%}+76^emKOygcc%0T{kn#JYz>X! zk*8J0Ll?0Kv3H4`y4V|sP~06#E(OIbPX)W9h5~&g9iWW|gj(XaF*7=W!6m8(3>DZd z(&$fin#5^YP+YBM5ul0cv%5l?(DM~|+nR<$p|mVKceVPi6IW*>taZ9Yng2^BqS}D9 zJ78_PVjPZ2Q;eWhBUS*Xew0RxgKLLxPqHc{V)RaemRsY#_LNmrVg!ac!|vITWYNkn zL{5A8zPbqF_1Qc0Z^%sTLZKS19I%xFHw};94YgKntKR>+nIbPb3;0PLYoBLXU{diS z6eAnB0`J{P$ax1%1TA8t{Q!z0EZilmk9Ec=lZzR3*jQrFj~C(sfH29wla{Fa{5_uX zXuwee_|kZEZ_j(Dd$tn2F8g8l=55o_(_;z9zuFre5t+7w0hT1n1VW>dka^u+bD9@* zDR^s0yY%0_`N_k-1(|KE>nb@)MO}5-QL#=EId5NDSr3^*UyvvJS?)5j2Q}|(DFd`J zzaB5~IBHZ}Qjj$65BJR{d;GFCSZl{W%|31!j@mr!k>e_gPWq|>!2M7rcxJm=%ij#Q z(`CGpdkJfMN$^*;)35P#a7ZL>r>xXI{sGMy_WpbOr<-4oO=S1{Gc{6(QWOn>`eCff zsp%PcJblho7Y+PhZrw|XKianFlBM|5#)xUMtQ$;>Kh7@{t;z%r8^}A#{~OhonD9tF zKI5$3mcIwnVj{;}MoWmuvwE4ecUikA?NKk}3tIAniu#3jaeMZ4xo+p_E9EitFXoQ! z{R$@9{0LTe z18Xu#VO@xt%xc)UYF?Wmi(Pyg&jb1X)YBO3fiO22)ovU=YJipy% zeMc|cOuzD`Mmya{2V8DFPZk863ypQk6HNZ9D<5pL^86e2Gpb$-C@}hP%w#X@n*$vo zH^)Qh)eF<75^a{nzo5>6*+o_rOFziJbE5S?<+a>}>>qx_72cm9q{TkS@Rw1v<6Dx3 z7$p^=N!?wgEN^y-{+Cw{@|312Zba@Uhj-yfW&d8;!F?H&0&4BI0m%3V`DaTt}A7{Jsm}I*RNmk}1nCU6zW)^-F?!YmpqT>M1py%<=_^x8@!f*Luo4`k zO};`n+bTUGZK`N-p1g`f|8Xz%Kt9n_W(n;Zwh6i=``q_BfH@Xuj&>AIp2Z$pn+#{Hh)xfh;X9{CAMFQvq#HoZ%6i`<$v6CX%b~bjH!ZLX^*a%q*PN3CXbM1 z0qXIFnv$4Jaj0m66HC%o1YiH|`UPg;gWf+f4WNForO0aUOGnO)6-jVEwyvy4%9XEj zhH$qghEl$&9$eV@&nY;jp3?BYA?wYMdy)N#ks>1I*0*J*OwB2`ihL&k$xpfoaNS)p zWjxP)Q(>S^YC?_V+UHGTy^o!XunSfrn@a4&KQ!`$(akF4P+?+=C%SyM;ffhyw~_sv z|GJ(Im&S}PuYq>nB;H#uo`oTxFX!fx{e6PG4UJPeuct9?~B6 z>UGc)rO^Gx(&f0P-4eIEmxCkeE&We*Jpw&Vz1SAakfqTGXhH~Y)ga#WPkvcB5J8x3 z4v1k~T*V8W`c<)GR#@87j!%#qeI9i^P>g4Mqj}pCMA}BIg;X zHBSJ_xfz;706N1;+P=D{?VIks#(fF|E=>f$+K-gngG<7wC;ZzH18Wugb|?csuT4EP zJL;A==!#4q{%GUqbxf9P90|lO%I+g({Lb_KQ+ks0?dH2x;`)&a)$l2}>Uz?E?ZFS@-W!3u+8|SQ>g<;e;Kt z9J(j5Y{`NO{0%7IctCf+TVHcU9II`O-OS6(b!ijA2!{ANaJ3ayS_JWkOFW?&zNY>r zYt%q!JMGB2wvJ6A6(;bilZa<^YQ&pAI1SE=@ml?E24w5ZynAA;i%kB=r=1i2ogV75 za%oIVt3cFJCRG;+Vnx!2A^yAlWKu{8H{R9MFy`6p&Fnn2{C=6$`s~lsg1jC~5i_rH z{+GAV`w8_FDM8cKE;GIoyo+a*eK+aV<%5ayrK9pwod@E)nZFhTS z*{ZG((N)dXx?p?T1ow&G72<9e+%9$#AE*FJ<*)75b@dkGA}`4Ye$1mIdXCzcBTlQ5 zeOA`Bon}VnMB`Wa9ytP9l-HW^(0L3ep&ix$Ac|druZ*Uk}A5CcVv;tPe?TseRo_LMQk2rl7nQ^x%)A**#XX<*|mu z(JsAM_m2`a7&!mGl{>pqi3$1{U#+zr5=hwD%>vrUQ3RhYIsO29;}?RPH--f$2lw+8 z4e2zoVN9ow#)(LBdl2LBBBOcN@v0v}b&b7O@Hg$f74#>SG5k@p!c&&@=tObbO29(& zBW1*L-QbTl7l1hBU;6d@R7vK1tz;p%Y4*!lug+geWp<`A_U^GbuCvq$27ey+Vs0?b z)ye_OmJ2%|3!Ed@+fj%gcR@A3e1qSfuK8qS-^AGUZkDYqwG9)MXV7eN2BLwSfhPFv7JCT1tZ zh$z7SiQtFDJYmi9xKI+{PFz#PRqoFfi-6F84XuSyzwp4ONBZkplf6BXlRAN0M^v*I{Ta%k1eUd+aMn8TVuE zy20X!2Y2l<7X4T!Q7ak0l9vuAKH_2B`#4$86YCcHzWQvlQyV7;jwJ;Qs+JmCyFPLq z#Ba7FY}MV|-X-5+_yA!xAQw5PPDM157!-2EAvYtA@qgul2lAihfeZ41V_~rhl zPU!1ziWa@TK3;p$zcO*Y)&~e%8N(SOx}rbq!I@f(aH5w2dM(1+SDrXjx!+S2yQn`s z*-4kX?%|}K!TY(iSm|EPin#g6`_$WG$`KEv5o+mQ3#?=^4z@u;AsO9UUUi7v@+ zP9wsf{|~xsHe^jw_Kdew2P+woATN@%J&c0^1LBFS!^`)c;WSHyMOm6YgLb#akdPr~ zuc+7Kz}^+a7>J#a{bG`D0y)77!!qQHvso%v14{do!~)^!qz>Y|ge!wEL8-)N_5&}= zqW^)lyR8g@Y7p`ci0p>Bzxp~H!+OAvk`gV`=eJ2;)WZ2$q(3ouU|OM0Mtg1VHFY2J zDKLF?YlYff6I>%YT2k8i4ziKb`?xzkuxTTrehq8#F*WIhH*CrwajMm#PjRX{zV#&| z^$c%GXAP%chi~t`Eunq$Lhn1@Jn>Q^uMYr{Q687~%Q~{ix_e9J|J4UrL4_Q+_6q?i zzNzK?9oe7#8o9OId;yrRTJ;9ah#KKA`Mc?x{jST5=p>IEBKiPd*Ad_}Kt%FR-u3SD z2AgdF71>&s{AT8$X5-~p-doM$p~h|gMd73sTX?;!uCWubD$c*!IuthY{;G{hP7w}b zCvodfS*^~!+2Iuq*A=;2cZO?Y6P8T)VTIy-k}v79=Xojou&iXrzVmnK_#hzF1;6V%OS+ufbo?6j@R%*+Es@(K@jKcM*ol4q|IHjW;8$G_z zVi!iRvpJCntWeCK8h&0mvN39xJGSL0Dmo4z>MyMCY3x~VVummX-Hn<9!x6EI_4b*n zvAAK1pb|9`IZ#-UB%E|v6P&YXdM%9PrHkhh$2wpxAi_ipk~@Lhj2M0oX=~UD+3(m0>8g-H z^X?V24Yx(c722xyyjJPt>x<#g3WH5RZJ?vvQ~L&|n_-K`15n&>^@Lvz4fP(1o^=n> zrv5eBYU(-|tNPd{g_fdUm3bnaJy2yYu_B65)~E&A*U(M1 z2&UI5Y0|H_XlgUT9?1$!XxF+>%qaWW6?dgJuBuUCudV{2exdmsyQ%LD1qYC zdpe8L|1e7)M&k#{UbnyvG~`VxWRz~))cL(uNB&0FZF(sp%iZ}4@hh!# zoD^?(`OUWzd$pW307`R!_R)w~X=wP?QPu@Av;MAP>@D7t3Jok%Kcm_Jx|Rw+w?sG; zCFozY3)ibsuuFIH;qh+5FRR_8JFLX>ZXt_zqsCkKp#98sv!~Bvlu8TjLJ zExmr%T~;Tmb(P<}uWC3Z_cPvl=!Y71e&2^m-`qNX-yxzNT-pK}fsN`mF&umDNH(xA z6&Erhv#nhH>Nh%3Dc=49Zidcc6IXNlqea-On+njTzam^@4V_-()@{R!W}vYh+~{19)?Q#T02!7+Z!(4hTQC5Ga)X`&fMGns7|-87Sc=0 zzGnqD0ym1%%4{+ps{K+_(HHX4{X^`@X+1TcDj?ZIHS&h=8(ou2O?;j6C$uA*<(u| zBx}_I0ZKu~B}aYm(;C=j3E1=&_=H?qQbf6>V|dI0Cnie&$F5I4)Pnu4ar5y# zwhz~LdLEFbWBq=TC71Pl>&TUD4iCvTHjxNYg-)Jv_Kpkv7SeV)xG|S9bo(F!IqVH0<)PQNd^@uV$e1-A5NRXqPpEaBRFN~Q7%LBQ7 zkvbl?yCOkhAf#N9#{sc$1l+B6%6)DbY_+Lu>-Lb)C9S=D8W6|dolCtv*nkozLbm15 zLg`!YW3YjrYXcuH9O%0o4;sZ2tQm}D?z1)NLsg;%sDwUH~E~KWWC{(yBl9C`UkPD)M3m_o- zbItF0-Twky*Lj_v<8vIx`_DBd@E}i1 z;LtTa?u2S~w7Na97;8f)Su2E3UQ0B$^h-t<=BvZ^Nr`4f>ml1X>RLF5;#=wFPt+m= zH1*V#GwZdC3z!v(QAVPFB8=yqo;bFI`% z)eK|d*%@bG*O?NNm zZ>B|i*ZQWkj@?H3)Xj8zRmTd@=7wUVCIm0|=unFp-A8|W+H&_~c!i9Z!UFg**EdqT znY6OXF{0kFP2#+Oh^y!Hdc@CnDX59AJ4IEECBDs`w(n=bo`w9v){0YNOw>?+CcHKP z!!1@y_8ulU&<@-3LBDjLAAFi7a(KE)h-FP%yYCVf)?2)a`BNLxb1%ja#5p=1ndJMp zZ1q0#Y1#ax)f(7#+PjXy;&H;}Fr@su<5d<_v24#(^({x$6<@uoGSV2+9$CG3@4>XQ z!B<}XVO#1#(9l`L*o|S+VQ2I7os~dGRwz{Xx{>nDaVV+ZbkO)OU2c|6HL?cQem0_z z3|ir&?JDY6`-zOZt7KZ{(c;*TR+@#bZ03$+);q>tXF2``!W|rwCK0KQ`xTa3$Vw7i zAV;UXP3&XIfyuXW(IME8;}1+=AHw-R6cm^r$Uq-=G;fM|Xl_+E2)n2LzP|Z=>$Oh) zqz>mjDehlBi%W{+zUz$4Ut2IeZuACsdk=#>Q5;Y}il4axMjkVh6x1uab6t?)?vf2NPh2-q6#if)EGh0o z45O-e>5nZ8yh+)n-OA@c(=F&w7r#li;2W>Fkk-Yeg|=h6r}eR+G*UJ3jaitN=&tN& zPZ{?~v;*e>tUWKnuAg<+h$Esrpcb=-^P4Zh-O?qQ?(_qh!f&$UdHpT8(6NR!F7(G* zuY4uPsbfTrVdWZ`59S)X`3^zQ3P|r#uJn?|SuSX2UdQXcCfQh=6pcaLk03Ktr86H7 zdd(CnH%QoNC3>yMxWo)2>CsH2ax^9NZsT{I=UR9_*Gpyk^|2h`Wb#CF0F?X(=mvEP z7Vu&1{YB&YA~u>_f0T*r7`OD3DYaOmvaZ3e*FM|YRCBbg{#_f3xGD5g<;Adb^>d^2r@gS-&@hWULg>iB%vLrB*{ zB?c>ST?s=CLd7=#FF?ivC|Dxd`a9CHpa*@&ANJu}f7>DPVpnaPW7Yor=(HsH`VnXT zjm0`S0^|+4`RG8fi-y7e%doiILCb71EbJ$t++$at9zxyC??<^FB`bvo${=W7bl1f) z-Ih#&71-{N{eu4(5PAi0y__e&Ch+G*FYXg3$>n3he9JuU_g9+SZ_PFJ%h!-&QKy^S ze-oVS4W6^@9@r6L_qm#+eM5Afx`S2h;d`;k4JQ67!e)op|*JJQT)1A#jiI^0CIT-uQe&J2Y(dX0ge=&yr}=_M)0s+Usx z7XCn1O^ZDORHv(T0|+8O080LMl@nn$V=6NX)xp6$H`7SMjlM>vK~xnJCpZm7r86-8 z{Mfi(t$E_}+ET>${L;heJG)`WHa-Q&RU~O!&MI|%W@yS9U!-+0tbaI$5^bJ~xRv@+ zM`&^N^GLoZYj9g6#!e6-d$rYW;5Tmz{{1T=(nF3A_Sldf*|MLf)l7Exx-%V+;pMM3xQq)MUnm(0>03VeK_jb{A52$scUcF0KXx|<@^2 zOY7hu#EYlqN5TZ4EsCA{A#;V6pGu+Vl8y|K5!hP*NJk>Rw-4&h6` zF+C_#_wT-Lu!?FCGp_YQEmFuxq@gint*hFfK%AWZ0Y#B3B~8k-ZqLD&rFGT!rZCD? zb*G0##DX73;M@R0OfJ&@M5^)<@JIUn#98>c< z%wvjSWZ`%ISa$uh6QR^8TJ^@eEqg2+1yikaf#xTGV72Mze$m08whS;C9lI#_#jv_U zRm$Cw86G}c)8n7L{_u;u#sS>s?F`i}H}z4?mf&aZ%k6wU@yfQp|)t5>`WKxFv!XPGJk~@xbU7by$TpAxx*+yuR(8W zUImuVbzTlrkaqmAN+`>%yYn6>E&+m+n794@z@_er{1N{MvLUVs`dD}`*?ekJy%UlV zRHn7sK~4U|?Hv5t`d+wq>5g&**IS2`2^Ic3WcQrcRHxTUSzQDNPPa9w)ASzwsRIa5+x!D|@@a zjJJWjzPO19c2u42XFJtZ9!(K#n8fs)A?bc!Vx-4~HFLO4C3ds^6mg|+wkhkPB^xNQ zfVQi5qSXj0rYR=m-uzKG39DucOyGu)XVEWx(h*b_wt6#`*7oeho;_sI{89IvS0~C` zgJmD<14J3KKGfi*Rv*U|y{`~8y{V2bYNrQFYHjx@Qul>DWP<#|1~PM7!>2gy#l7o( zol^^L3#l))58cD%1?XE5JL~OsLbuzlvV77Tci3&o(`4y2@H0rRbBxOZk@1Qo@h@*K^W#r0 zw9OLCpOduFc$VDxm^v^=zOjVyR?Szh!4oxBE4IKeA|{jtag5x<{mE>R5MUA>lrxcC z*(1lI)aPEuMfk3=S}UGxB}TG#@NH9?;IPaaXNsnu@AQ=Y2~O!<-WI{AOFl(GXAjK% zVLZm>VP0sn!R7H?ic9Nza(K22zfzbJxuhAxtIJ5FgY z6UXj72H`uHH(!|V(66ohKUddQbCtk|e7?+sgm3g1JB3^uy9AxC{W)hW=EDTzJ7+5s z@YX%A`~`oO&7yL${k=1&cQPpFe>93oi5-24eB^Xwfa>~ z{>(z2S;8?yfSdt8-F#o-Fgcj;^)^eYMV-jQap{jl%3Wu@w}<8@WCLKOA`!)vL4eoj zhl3IP*N$CDb4N%CMflCQxPgYf+~ur}aaF-LDmu$Z6D7Ur?3KKmA5;BH5pHyza0rtS zZw#b(1>dso(JO+>msCC#SP>@YL0$z?)L+0QJ5(neDB@e#Tk;BHQdZ8zZ}xZ%UJGZK z71$Eg`yrL%CbDls)py&ZVFGZ-N?u(PsiCh{K%`Ff6T|9bu&2Q86MVNS$cJ*AWQm(p zkCB~~G!bK*--pK2qmkUmp!!A3&-xAX$usTm&37l}o*W%v^*^dt64#fq;ZY3E zr)^E@#ZK7xfwXx_s>bLfaFs93UDvi1t!UjQXsI99YH0e{{a(&}tjs#}=fy7$wwtb{ z{JZj5!vS)r5_A$H$0)@{uyOZ}j5WM8(g06VsBWT{GAQJbVFUoT#%^p#R+TivwBkhl zCf^_?P!Kdj=kz3J&9MZ1U(y?E={AnE6@=z5;0Ax&o+P4YwNi|L@feDeN>(fL>%q^` z$f+qS-D6O~R}}Z1=cd;$BQPmFn$SFZAFAMn{Qj4`A?r)WXOoAQ=C2OiEvt13`d9;w zRF9*+Xu0FI^4<1`g&+MChbW02TB}JwoW?bK3ZnjolMu=OC{?$4m+ccD@sS2O5-tC{ za{DDTMeSkf=RDfL9UgxKA|@QFc!6Faaz2g8Hw8KVLHBy|S9JRKk+|WNIAzb%bW(NE zqzJN>Lc**yO*gG!Gn)PVK}h$s)=W*Dp;TU7Xt`3)M|G~2U89qJIf{RCwg_Y2@jm}J z|EOj%++v#%dKTQIsqY(0sIAb5_tjSMrXY%mwO#mnYnmGS0x%OmE*%pkgV@O}kmvTR z%arBp!=$LjG3977rz!eP=v-*Fe7|@;IojeCUj3q1{^pyUT5jfOgV}n{cQB6pdQVwE zzp4x2jvKJ1P3*gb0#oH>f{Z>$paR%O34*3Dc_Y4Ny_mQk*E(8Am`p=q1h%ADU|HV& zh>%HaU|;VXJ~wNc$&NRnY4b;b>}+Iizcq0KnppC-NIJ_QI&dPSufdud?8~vk#<0}* z#V5BLMjf642CS4ie@ff%AKfBI9U^O= zCE5a>U+$wI=tf$Dj0Bx|9X~u`wQsTtwBD1k;{y>leea;&j&#J7#AM2@RO{zuUyT)pD`LXteZ~abD9{IR$KakCVi4^}>^fBs5 z^Cmf+*J|6thsq#ySD-QB&3N}wFz~jb>Iff%CQ+i-99|OdA)&43X7BFM@vsFCo_s&| zcf=BKzR$ZRmNc*s{{i1|jyZyFoSzweP6_~Kf6(;M!Kri}J-;5R@>-e+0uwhB|6@hu z+Dd1UcndY%P4~Uz(+%v+y8QBe@t>ddD$sS``Lw;a3o-@&E8l#)QMpEQ49Krnm}MI@ z1H?H`>vseB#Wm4A#P$-RD5&iT15;y1oS%7)?i|g4>bh->)Gu?Yd%gTA+8lIwt;L7N z&}8m9DTS-<{s9azMdS{D5#(eQC><**FMhG4L*>o;-T|2au!(+QAB;GhD&3PAe*3&} zVy+OpFyG|CLO>_)2H9LCuib58ceT1K;AH)~{UW3x_{HoXP~X5FA56;&?RXB-@`x8iY+r|3iQ$;-Ej;Z#Fo5w%i-GK(_*85&|T?mM}iJYTq#ckt_KS z;hK2VG2JPWol_pdq5UZLAK5VQI1;2xQf*-CVq97S>sUdb#)WGMen68Z!dwa|asK+?^~q406})+xe*AnBowxFo{as#B4dfA;eu~ zqB$cpYlH%nxb6$0=^PU9im@k-sx_q)WVqf(E&U_C;r4zU_Box>7KaX{Vj2YW@>sqR zjreUUZ2I!4i6*RVJ=5OJfpac?>;+i5>^VWLn7)Wskbi4?gfu&}-JzH1(zjwaO?@na z!G7U18}Y9i6vFkTJLTTToS#Tu%ptOJ!c%cDmIt;y)_o#JIU^&O&c%vL*5=D zd8*l0fgMy$4y_`&XZ*t}TujR{`W*;0@cERg(AF*CuXpdxFttOpl;5*|AEuA8JZ>N zbKFM>G@8Ut!Mf`GHKJ)Mcz9VR)DWewl~^8sNFn?^xVlt+4taUpIx}~#U`pr@a&gnl zS58}#a2+d8-MUS-JgPn$*MgMB_Px}3De0o|=F0}${Z8ELqFxK2*#u}Tu6B<^;m3;= zOVbox%r;N=Upj4}xDHx{DAm2%#IDDkZ-H+mR_>kSqS@J*zjrRT(J3nD@>>&?&&jbQ~+u@UKh$Z5Um} zsl8zQ&NThlY7PKtvV`e%s{oX1X_f1RXjT44cd<9epWJF>jqx2mhyPV5uelDzH^4kH zX1BXx+wtY1oO4}{sh|`zlExh#^iysodWWKh^DUF^TrSyK-uX08+n>Bkv?C9 z6UoOkzG=&nGY<)c+gt85g;_<|?gnCl=_eEPQu}dN)B1SD!(q|OvVQNjhfT*h!x5)C zjMIWq-6>n;#(AP$+VF{^W>Kn(2abWxJYZ>pe#;*l&s64^QouL`SJTezP~b#QU)LzV z#DB;kHO1uPHIsZQxw}oXI5s#j}#Kn<`H;Y1~B4u0mVszjXeL|!jq*)A1 z#z6PfN`Z$KJ)dvQgi({z-<|YNS3ins9hHV5nd3uy*y7*RNh9k)^dZNPwjx-YOYX~a zVD{mGl)UgeU(n3P&I&D_aNqZ(E|@z~w&E&CV*1aWpgY!nj)x2h9|+}Gy-7Yi(^1DA zI&Z;QNIVdfQUDXSP88v#yK0gPLv#nuK~*QJ#Sc5AIhL}KL63-qgfpb=R4%G${=5bs zyK}C%LK}c%8RaGZls|mOLA8N^Vf%e@J=7(s+Gwvh0P%S~eoz^(gY}pZJm(7Q)uMDP zWwGuEu%fOL@w`Syn8hK;sB%HPHnKJlW5kY$V9OyFe`Qoi1Sw~r*KKC##c2h!FXwC= zyJ_2c2#QB@Pn&+m*%+1}ssyVb!A!jr^Ng_3|It}>D<_JR1KUT@&gP{4E!EtwbnE`x zwkjF@z2H6^ZPiaRPEw??6OXhmhuMp)NbSC6{HPH0k*o5j?1cspUVf6~;Sf3s7S4O* zE22kz)0r5Xmthlp2>uA7tr=t=2OW7yF-DeUd;tNv?NooeswU^-`-~RKx=WlbrRNrk zE>-tDm)AAdiG1y#|J3s=vg7Mp#*Em@zU3nrcCwT>I(wUtQull6H&HEGYy91{H-|xu zH>&hh)gE*=^m)*AG^K(g3`95d&my|};=&_gI%@>2UUn8D@taJl!Kf=Vz5H5yPaf>n zKAa=?q2FACnZOiiMO-y}Q3rzNsIBgSH(_KjMPi_=m@eY(^7@#2@r&T!loH`o`c4cS~|3Ey-J~9pFqbqAEALqeCnO z4s)wIGM3xup{fL&AsPRqKw4E!N7<@Zte+t3CuCPp_Zj9X@{9aF*?xpqR6x_U$fKlX z_xXYl=UeXAipTgaL`?ThlwW2HH0=QG#^?jmUezv8McD>W1W1{EHp3=F*nO^b@UiHy zTe`O^PI9R-@~Gm|9GzhqqPe=#gK{b4ckQk@i-axXj{;*ly*GGN*pkC3B286U*9GEa1!EUmAv+!6EN*OIkPK)FcLDbD&~-RLe-h zmB}sJXN2I}%+S?4rSn^r_Yrn~WbNAyL}N;f6I#|KQEMeH&~YV_S1&69Nu}cLc7i{V z=W%3y$Hcs%k5}yenjY2a-qp-E$H#qh$LL31x^9)XVySZ6;gD{o6!=qwOzgH{$~4^? z$ZU|X9q!_FG1rS?osYXAe=?{a%2@RFA>sAiivP*N)~`kjlJPSeFYR*Q|2)1gx+cAwY%#y)D(lY^}%@E6O;uqs`2H zYOy`S)~(DJF78G}1Q0EM)Bs7arhdFyMr+QLB^WMcwZV?&wqbj+e6qunB#v2xiS~Z+5|4Di#l;q^9fUm(b=YtA)s|v%)Tn(}=G43w@ z9XPyVZ$cQWtR;!R@%AT!uQQJ2PzInG{If3AnF}$pe!b&`?eUc-qNWZbCCnwi+9hUc zPf5FGp4sh`O10^KZWcEEPYWimJKjA8pWQTyDL{DZJ=?EBN0t)rF;iw4Q+~1ScO7(+ z>ZF>L)MRXZPcupxA`Fo*1$e#+H@Ut#L0cjh)ma;^*QiD@!%zzu99)qox$bG6aBT!x z9ipm?YV*6Z}${!-&LS}2QghgsbE zt|fU>Oq`EZU;cJC*TR0dkgVMZQoZ&ko#V_rm9RLlove!>o%UPz7208(;wi?qU+@P5 z@LDOq??4lC_lkp(ecIVYJ`6^pyiCM&#@gj~x1F}#O7W1Htv;6~s*u@ zR}Vnm=I$aFFM&qtzqzW{0$CJQ=#NKf>o$@SM-_rQZ`*HsFQHg;PK)XwXBGLT|CZkk z$We{`HpDi5f1HQFRPm2cYQwg34d_i$J>#ART3qfWRNx>2da-lx_nNBs9bBeTBK>); z(_k)el>JC-sjI%OV6FaPsTv9(i1YeCL$a^A$FmSFx+?9rc#}yFed~krL7K=`9Ba6Y z=!GCgHBk>?>PpxIZvR@5EP7%=u}vXDK5H^YFNA=kA{kmD8!Y1OXc=QV>ct$+Vq>y?f{96DjbiYMGy8bk&63 zf0;Zh93-E|f8LoDyTkn{!5=MW{o$8y&DSo)s+4}CjQ zvWEViEf;1KT6m@>hkgjSCb?`j_GhSiR~(hw0{smY@;dART-6{i1m}D=Y^N*q_bSYz zH51D+ZWmQIJ;)m>!}|2JJcu1l8v8Gskfb=V2f5|S(I{yDQXk5~QE|*UNPeHRcX`-z zM_Q9vH{rp)OVbHVLaxPVU?x1sdXQbZqP`T8xQk}r#}hfi#@9df50_=-{9Kc7 z>z#$yt$(bt|5)CS4DDCatTf%utBi?y5?xb8<3g$ z=E+OIt`Wdo7n~re0B%*fiVN1}?wrcD151P3u9yfag;B!U6_L&ZY5Dv5yLbQ2R7Rjp zm3Un`MvWRb!Pl@-uey!HF8?Q=#{6RVme~osvW7N4lqvf^F96TdDNTCSP+GK2Co9qr zqG~EDqT}5^ZQ7YZaC%7FT+hQ+Nx?hr=DpD z2U~X2_`XLowmfztzV3TAG+qU2Esp+Suv$0d#Ynm%`(J{M0Uj^Unkp_tjALBp#2Z%@ zlE0Ewysjpv?zD%t>05f8vu%Aek1gtU0|)lU(An~{@nHb~65?WBn6dOK+wOP{!85+2<5At!%<;{GUlHnJYT23Or#dZR2km5aBwPm?H z_AZVAn?EJwSmGsyt^K zzOJ)a`Q3rqi1acRKXr#aZ$4j8RCc}18>)j}b;7J$4M_u49^+w2@%@mYvl5%xkiML| zYNPRc{9)D|6Wyuhu^6#rUN=pQis>9V@5gCnuBR`&iRnWf5lb)&Tps z#-*T&k!uC_u+qh@zflMhW4|Gi>&@STlCpYj>k-DZVrt~jW&y2BY2!GSu)Q+4(SwMw zgiYb00BAHueMN`Bt63|iQmoBiGqkPvb~v;?Q#66f9!5y$Kw(x96`+kdi@B z`k6-s4rL2_{cE-7NeD{1An42O5c77)%+{Vaq;%8F(b)d=CWP-}n@ek5EB5x~&CKyC z`Cb~6Uo*8gkN3XVJr2290Z6+7>Ywog+hEo~qN^?30%k|Hy%j4&7tf{52+be0p1*fuNygv4L;DdG!MbElfZIqSb>Q~UF+XPk5X7gq2M7v|*NT_M z)5&cakL6hM=aGi~>M}^}GWxo}F=8myjy4ms@Po&ur2gImFjC=-h|edHu` z{hLbn?<-5Qd++2^U(*R+*dtG7Au}U8D-zY1#lc??Q9j)F&9>5L^rm^i0TL9 zu55-D^h)}u$BWO;13!0XgoAbKy9Tgq<$^4YD|~$q)%*EL8z%1)tn} z*<~}vV7zAg0oj+73S*c5L5pgH!Lk>Nixq$~#00`K{dGOOKiR z^ulW6Tl|1h^pVk#jY5fme`r0HX?iM&-)F$L3yYzHJE0 z4(yoaY!Mwk7iy!bPnmhzsf={Rf@a`*@N51i`P8y!8(eS0Mr7+g!i}(lw0yHx#&Mdj zb6){3`D2oOpRHCC9El$?@`r?RhnGw@JvnF77TU@EtfyOR!w-sjZX(r`naeAlUJA@T zaRK_n(e(JsLnA`sA`zk?obS5faoRmeE6+MMIqL@tP9B8}T$`BhwMs9%M{|1J^-og| zCGfwEPpxgO8^-;Px~P)689bNC=`n+YcgocZK>#YEkyEZ0(1JxPZYJUHcapR&By9e} zm%r$&%+owOfl3Loqv}$Pyin5c*nZ-#xqC@@gO7OJm_qPCwRZEt9`3yT5)i^k%{oRq zM2mgZ>fn-|9!ZK@&X=%ITbzKf#))NfUg)jK!26l)ir?b|_%HQXezm2~rck?5^g#E! z_3AmyEpp5`(FaU;^$eFuvYlOH9@pQ!gb!Wy+BOGt}T-nLhoi(^scR23aA(sq^5FBvAY zq(?z%alaBo&BHB5(S52H??pe=-eA3_69w6j%Vta57EjSds_Hjg;Ja%G%dO6sm^KFI zKW$6Q(ek}v&9?GR2kc3wWl{5wMS;kc7fbD$&m;2I%nK$K9p3=?3%OIe1Gic+x#gtg z&zpK+`)2eUu03vqf3_&sBX;g$s?sG|0kBs8`VFz^h^q= zH2v!c^deW>BzsO6{_4_pXf8$&Nou;r?B}{}Q!rFNnbe@YFt4!+OjDivKhsq1t`;c@ zB&)2hcK|saOLxzBO{ROSz|3XBp5x~XFK))2lim&>5FlM8{xPB)f1@}Tp@!i1ieHlKo5^7^ekF#%!oL_Ng^7KxR6=d+!B zQ_mpS%?Zo&vySmr2)+yHQ57olYS}1hbl(TH&A>81mrQk5@-mMZ(y2SRQ_cEB)O`IW zA)%r%QC=sw2JyW9|@9Fq%sWJGK`T(o&Bm6PjcDl*eM)1rqu_??J`&$sz;)E=FDq{kkcQXYeU@p+MKM?+rx!?m(qQ@`Jg6ZL!%`B2aM=0 zIHl1eX~JR-q?$h6vfwC_=hw{oxHhUleZ(%!w=FS1ciCE^0{&(imV3<4xdzb2_DijvpmS6v845B%uT0XnGlYHs(Bab&`fR%%{ z(Vt&iA}%%@ObD3SXUFMHAgsB&(8qeN7#Q)sYgbanBBRwjlJ&iQcxoM!9MPO zAoO;NU}rZ-(YX`su!Gk|6P<(`NA+!(xK|)r`(XK$TM-{VSEuMMktQ5&eMx5m^Q3hU z>GtTsm`=5jGQhPClBhdOtIQ;-`^kyVE#l76E8^pFl1*rPl=qQ_vS&EKF{@JnVZD@`ZuD7UE8x{?wQogsP1Sao+4!kdx)XM+Ogc- zt-Rj~{1X#mA{M^2B#EUY=Q@nz;(T>T`$cm7@&neTL5!0X@@<;)a9P-%CM(B``Kc#& zoMIU_)Tw?{@!~SE8NeFSPBfVkj+UzVySv>L-OuhPEP)CYSBB!o`Uf|0(g&a-+YXBIfcPwn9ciwhppVC zS$vDSobRfzww~B?MIaaJV0jaH_^jl{pgo1Hoq14j`}x9bEZ#I~11o31kP;W8SXWq+ zQGxQ(W#rI$W$fJfHY*d?iu$+xAJy3;s)>CCeC|@pbYf$uFtpd+5~j|$Tgqjn`VF4d zp8%}$S-FiIpw*`nnY8kx1{snyVD6dz)6rJ;26x6hY}6ssDM}rgp8;|h7c%`;c`y(7V-3_Gfh zzNLny(V0%7OnR}3K24zN)mI3z>1@u5JN*q#GUiXr%N?tf_$W^WCA+`<@9`vkus6p&@PNiY?zk(KT`)Kog+hh=(5Fi@6_7 zX{AxyG42f@?!$Cr1YVN!1?jq8jH&z<)(*9wH~U}F&dRa3o zkVC9Lm}K!{I2f5izA7OSD7LhW2F>OiBE`VK>-ejBI(`#G;pi2+)05PA@l4hZ{g~)M{3lP=W;9{>{vIHN=Q|EQR&7TNSey$A&FRj6_&-U`)fd>n4 z%XyOS(o@>-TVK(St?nPXv5E2Tt*yy;7G0`^oSz$7bNpBS^1%~}S;BgtpJH-dxeHdd zcs;>+KC#{)lc)C?Y#I$eS>`!^`YRFcJ}=uJx$m(9iM@n2cP%>v=wG`G_4?MjqqGP~ ze!tB1v}%ZF(HMB8b92)&n+qG35;yfD9_XQQR#bOvdFQ`c7~I8fuj&riQ+@85zG#Bf zc(nSOuRc=$^f9CMVu2GheGXX+Z~SzD3F zD%?bELc8;@0CF895o%fBXOTjw>rNT*{v$&vIl0jTgKK5%i834UkmSvz!UM>O^XtK| z)svTpEa;aK;ndOSKmm{sz3GUaH9WmOxb{bxuZuz+FBf=0Sq6)&<@ z%H(+Z+X)tzbt2oNm!10si+*G}cCmTbTBBzQ_n>-y56vH3!A|=ds>#G1aTuMNL*vyS z4yUC5Qc?FdjNnxiTFXTzKu-CQ*ymHy5^&AV#|1s|RXV**(8 z{Y6Ep1;&zWpO3!#%rL3;u%Fuzzk+;cqv=A)OYr7;wpW$c)fUNBMgLUfXjYuX<1GW8 zuUw&XJ%*_z2&egI zLF+90oCdk0`)Oi|LW*5g6?rsV%IWVFec{lNH%kw_2FX#G3%({3TdBvch;!k}()AA3n>7mR3o`yUEv1GTE+*L5S@wH5bexxRGFLAk`z z1tt%dYUk+-a}xc}u(_S&;973d9aYU2yW5z@d35(5BGzCAt!x@-Zkqo6zjnRs{Oh24 zBuz0yf4g8!f=+f~RFQP)_hcUz)UUB-Ai(`as~M!*mDk0N?<*AxKtVX|=Dao15pEVc zF7<7y2$+Ls9B`hVrw`;&og~E1%SM51ro`-fd9Fu1$GJgk*Xtwh@0pigcTe1&53Rjw zS3jDGY?}Hon=hMu>xA@nE2Z=Z*?tSb|OK)DV29 z25Bh5x9}?oz&az9GOfSRF|GQ~nV{DO`UX$!lpi7Z~wWOf!=h!QeK_5K)3P!qJYhb>z8i^_~OV)Dm7*MIuy& zi43x3J*WmUhbf8pDnPXMPsCf{uOg(dNH6x#4$l_fl&>|EpIrTX9X#{L3JrET$Z?Wz z&an-{5h0N<$jbXE{^laQfqGrRA!(`COF{&RKu^N8CWB*KUfHXI?F%@fyvwBvzZg1H z+}dxjg0{ZAqQLh2jyr5ciD(HM+ja^%eQzH?{D|7#p1iMqTl-o3B0VrAZ0Fjyx5HlR zzTJWw?>>^(oMS&hyr7uZw%|7eH@3C+1n(cX{)j9}bgIF|;24KMsO|t~IIok;bUi0;l1g zgL46T%%Jl7vIxhccY+I^3Z)$}`O^GhHz5747kx(UNOLdIm8d;buNhW`Yo>nfu|Nh; z0TEb-77zaz%hCuBM$CHazvs{Lde;8bqHD@Ih)zGeTl7z^Y~n_&%A1ljk_hn2ncUD< zG?CCGJ_>HX`aBsWr_e3)&~$sfze)jDg-E zM9q#~JlD`SaMZv~;vS62ZQnB+72Nh9IjZ}-2ggG%x82?%&W>PsA_uPcTB^?KtVI5AODGR4yrBdoNtbtjOKle)I2#uC^ls0cbUs`gPm?+ z59^AxjKiRaEmZYP+6z|;$g{f6dU%YBz3Tg1~MUQ`~tV3sK8;)tUlWcHU0i?mV)oWSdDsYl~uiB&`+#&vLhoX zZdYYX)yx*1ZhB3Tkeo5?o-Q3(l`&~)c&mZll2Ow&_egm9hn1PV(){}22W4Z2(4D8d ze_0yJ*h;8#dL1>TMj~AJV)KL(pJBKTSj`5zXFnCQ*fm%$^Qz!$^m$4n1%L|P8ttwz zNjXWL(SDvCG^rvy{b0qkEuq4_bypddxVM0-x_vdZ{7ex#L9+CD@jJ^p8xAkZn7azrRpQ@hiVVw0u|D6R zGfWNNvCVC$5x2T2rrVdfRc~jNnY8279&oe^#LrxGF=fY`#}W{#)TAAwQD(t(IL-#z zDU0&vsXc^#L*b8V-V%Uw>GjcGF{{;+SW_=2{3DR;kEnGo#yXoq_z@}cyy@D5s*Put1?~xuUM%w`!#JusD_~+6Y*CCAxrbY}@8ez;m=2H0rs$Y7B5i z8&E=%gzChz_X6nyd?WoqXUx~c-d&Y{|EI)gcB=c}B<7%VI@p5lW3y1kvLnd8 zPkf?=Kw81sP@m1^NsBm1mf@u~>)6_(D%<>JAL{5eFNmlyRMJ#U#JtULjOant5c;z( zcB+d*(vG@UBUkbTBsTy|**JE`jS}nkis}o9yp#R@e7iD_7RY#Yxb-V5N2gv8I>-&3vq&cE)K%Y)=3Ky}5Ds#qKf$WJqNH#ZPg52>|t9rpXhIoT}9rF-kMT-41O=~s$ zi6j&DR`s{KeO#9$Mk4U9K=L@X4^^9e*3^;LOz^1~D`s?+sNkWv8r{7;um&rnUQmd= z;Nxl6KQ|(-f@d^(fxrM4T6*pCNTJoHp;R9Mj#uETkIb< zBWvLuvDQ~OKlPd?gfe~FuWDer?wDb9UoF>D_bjz1ST)=mm6WWIB4sr`;}X@rN`>rG zu^jxt4M_1M3~jyM_?|_smO9iyV6Q+0kgQK z-ocOzrf=`f=qW4;#LxG%U?hnoi3%YuA>oF~F7NIBI

    yic?hXBzbI{@LCneuOIQ46^<)r4-qt}bMSt|!|6r=lz*bH)zysf7b%Qsjeu{awU$kJJZZ`I}0&fYl z(qZIY$Jz=G5`gwTT^&&*`nJ5{o&EB`Ajti_>UV6?S7E*u4XP&V0veBJD_`_`zSyOl>Xj3CMcx3G@O@~ zNsnvJ=ZWY2VVk2(WToIwc=zcL<>st;!pl(Sd6?!8*pjj1or%lMJkAZQ?j=69G?p0l z9-<8_;ze9;vw2+56tw#KQxLiPsS+MGf8rxG`KM03q#+J8)09Y^gki7v?oclTjR!YL zv(Sx`LY$UwB)uJIe4d~OYgIKh@GD1H{IV$$wBrF}Jyztfyyj-n~j*I>+@{&DhuLf-{u+UyQ|D}Tvb zw_6r$fJ|5F&V+J5o8NFDO9$>uVbn?Z3RR)6OG_lX`_`2xUyG!H&(5tqPp2B|pfM>? zx|}tK-m3A}ljbQ&!>>D+nMS`Q$?o(7BQ89fTAhCQBc(_Q$s@jm#NQQvLDm z;#Qh&WmQ1rP+%Gj92vNaLB)^k{yNQhlu)w`v;VG=m6qX-rgI z$?0JRG~o&Bqb!D9LthYrSfY7T(jr_BL3|1*FNcgrZsgAXRzP~j9XKp@ps~+G8Ij#r z_Z_tLJhd<55FVOfS6&o8wgs2;tK-O*|K|m`+Bj<((bL`JFb7%a$`8+`<=yDZfm~tf zi`|G0hWYcH-h{A8Z%0iL)9zCJ`IHrBYH(#_2v~L&m7Cu)h#sh&91Op>CF2Fn-hjDW zDhRYZ;gh=y>?s+P72@N^cfx*eS@0^dgoDd7#-TyC;MT3NADu6GEk*r*G`)#i()r%U zeb4Efnwd;zZY#}=>2}hb$|Y0WfSKb=PUFIKEO#ZBwA^st*k-1Z$&Jd&43#M-sa#OW zU7RhBN2H30TBKEz2&qZI_>U6Y0f}c_gvDa1}IswjtXQv zC?f7aF&w|}Eq*QA1{UpCMVECbly$A@kM#h;#k~1C&j+XHuEAVRg)P4oyDpy1%~GCy8aKc!Fd8F#r$jupa(nG(hX_dv4Fk3I0O7HG%0S3 zx@m*JK>I?(1`eu!i5$el{!wV&YdF`e&^Os&cA)WtYoN}*b1Ex*2lCh`{FZO(`vCJ3 zL}EAY4yI%*s1&x$u_M3!qMjsXDXFY7jf3{r#AYHJgxxjX#0;{S64`p*YS{&g?~irBoC#U1>8-%N6w{BW|t-3;pg;auBY)02<3 z884NmKlG${wZ=rL^pegkWbwu8PQ)W-&gj8DM(HuK+4Kq-sc@YZ+~R4Qpfr?er5DMdP-8>3!nC@~6K_CLe}# zaFF2$IG2dc4Q`O#qud18szvFcYJfp>$0i>=lGw`wE(A(%j@>U4!<9UC*Goxx zw0eHv5ZF}xy3Ltff=QdS_;yxrfN;}G4GbZCMHQXgI%MMHW()g?t8djpUVnnGwb2v7 z!^#$y^h!|2<%ZcP_0RAa+$W)TK4Py+!R`Gf{rKg$&qhH9LoH`>L{W*jZ}_iu_VT!R zLS=ZzPhg-Wm8gf^E#6+Eet~QdDj(vUZl`aq+~km>j10z#4p1_uQJwUNT*avA&ds#QGx+R&HJ;<45WNc&1y{3O$C58}8Rw5(8@>&r-2Hd)CjtzxG^39UN$Bh8(*!_HDv@i0SztcG@|+H%>D&A70vT zi#w&VXO|3c^1Akymwgq9%%l+xIM?k;L;Cx7@AWrYMp|dc3vrXuXvRVvU^)67K^Hg8 z6{}aN9B^tyxipHyO`+xGnB;q``pVh%eV&z<_PL&!DUk20b^AMwxKHEd05V?r_>gj^ zjD*bd(8ZA=F#e-~`}ho~N?JI-2UX_mqq}!fSPZW&AjbJ-e-Mss-e0gLi6fNM@-4J{ z)nU0lCh*CV(l-&cYacw;(7!h?#C{iX00}FyffLrVEs4h*F%RcmiHTdk&>LK`M|V8; z+rUe!gJGn?(N@x8bZ<0idkWal0J3fv-jf8sVm=l{8x%ejYrq3$ z-&LH&N2`7#tPN7X7vuUGHfW#V(IzaiNRx#GFb2HrI4aZ3PV8?wYT-mjv z_1&)>_>*0$y+23fV+6q!tFCkMjVJT3)CwT>5`bMNZw7UHN@rE(y`9C0#qt0@kPx+g`uF3>WSk3>}vzK-4ncBvBE%)8ZFUd75iY@|YD%hfD0RL!o7%otK6`t4u!- zf{ih?Rq2|tL!g+B#c&CblelyrW6Fs5b?_gVSw|8|Z$%)gPXHIyGX z_>X&<-W^uhoZ##GhTk{Clc>claub@9B8%`o#jDS4s;o-0TwjYvuN-p@F}TC=#DG`L z4rOfMQWZnLSLs!zKmI5F$V?((`_Tz;4Sn)(G#yv@Ia1iDR1gXhyotjI%Z`HL+ z)}#r=etLPL7;g1?d?f<%y?e=cV!^Q*r+qf+33K@Pse}+A?vfYMXCG(*^K!d~ODVw( z;Rj;j%{Kb;eJit7XzB7w&Q*UDp3rW!pTdaN?XLOSvbpWapBP22VbIz7GyA$`hnkJ$ zI9>0NK{w5$ua--#-C`MG*Dq9ZRKJZWq8MVcTLR-Ca0TE5f2$OlY(AZB`9trZsV7Y2 z+VRDnK-MPr2?lmm>85^|yS=~7H(eYo_(}K}+);7FEjPK7$g<h2{lli9O)#8fT8R&jgA=20Ak(cZJs|@zes1bBo4ZKL7 zrs!#xPE38D)z=QKQ6I?}O*_oVg9OAJoJkyY4$fLSI^5y!%dIK9r4GbRbKi>|Sm-A{ zOro*JydUa4j$RG>#&OxmfbrY!9Cx(vnf8H%vZc)S{i^y44r=_rXm1|K(8J8FoyL3_ zz5Kf|>cav12Ah76b_Yh-tv^&#g4&wpTU>$fAJ)jHvWl0o(FE;^OcHv8o-31XlMvY4 z9M$H=qHKbL2fj%fI%ox$ zy#Byv0hZ7ii66`+d?0J(52U%i38=r*4{H=s;SVi~s`!ZLJ-3jw(X5-^eI}ETcA|wa z{#vHY2Rl=-M1~X@q|U__4U&e|qTdUh+MdQ4xZ~i02OF;uO#vGC^^F-AKF@FJ!bb8i z2k$SZ(wW6o((*Jdb2VrMmN^k8RX&&a?9!(|2pt_byI*G) zIU2Hg3ugps8j6z&?Waf0;1aTZtcSCqU3do5g_dsnP4y$|;qqhw=UT09H~3au*N`x; zm^F|;#4#Pk7p=SAxm@9|l177*LSYx^cXPkPr%U~4(wNZERm*M|#7K+F2_Ha;WCkqI z=q0*yyhZg@Fo&!rAHmYz3;g}qzO8M=km%cwa1J%2@cR_Df5!{L7<4fX0gtRG#Sh1B za3?E!+X{+21+Od&I?7ED0#A^$Uwx z4be@~#!-@-J-f(ix?vUsOs^WH??KTBK!BtjEZ-pXiInWrTw&B)pZ zfIyO-Gph*%t20I-#kOdxj|ED~ce0fbqm6c7@h%t7b%VU7 zuLbJmwvlU+m)>_+T#3t>unku}kEI!sd|)-_f)m=M3u#@s@4q3&|9jqJGjEWR(^v$D zah9*!17@vjAEaZXN@JN7u65aNfK~FK zg;hhaD35w~#!G%sT;kQEM+&Q2z6g!{+mmrEZliNE514>@{UySE0wkEpjPBec_sN|j zXuyQ@m;E4kel+1^x76qm0v3V?J50X7MUd#4*!>gksUE-HgNWn%CQQ+Trh|(U^_c74 zu}c6h)#7|kT4uV26Sx)Er(Ky19Ke5$_PpohBjI+dWA_Kopu)l^8cIYmtejag0>+@F zYeoY(>fM0k9M>FNFI|(7*%DcZ@JZ#-d1D69sOo_b3P|;q2@_QT*HxLpANm4Tp-vF4i4 z`o71vI|IPz;&iE95lkbn^TH`ti^IY!BWMd2HL-CzW1z_7fzHxUAJE&i2bt?oS{Y6< zxJcRBkW}Z=e_LBcu!!lpnI+_(CMME|fvUt7*S0EcUVKK;wmHWJ;1Jz=7vCD8spI}= z&BlLFJZ@-f z2ye~~-|0%|?wTp%>=Il4i;jlsrjoU4C!K$1#Y9*e#sr@7eYgT`!M-2<3Z2aKF#yH?M zv9cKUGw|rLd7v5eAmIg5HhLr@vRY;+7jxbi9=_Oo zLz;FHcFNMIn)vf}!A8!~tev>-@)OwyZRLUfijBg&&j7dF_=Ln^wV7E<(q|oSp>+gz z2z>Ns|H7XfKr>=Fe|25x9kI(Bw1e!Y{rSL2mTvCYA5jt`JN*<`<>gr_he)BqLT7GS z*Mf__VRgILV$L}m=ul0I=2!$RBfVfE^)xwVX~&xc+`1dzm->p^kjUk=!gpg;hKz{w zt26j|r7w@z)4}vR#Cq~DN%?6JJQ!y?VYiTpDMA10-;i&%`&%7){KOg4Nm@qYuh4^a z@%W#FCf@-N4l*!Z4tLx}bDt*viK={X7@@NGEk)Cs5850NJee-X^_>O3Imu>k)x$H= z&P�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

    X{Iz>P+abGYf!<*WJzJz4mQ%`plkqBbkd z*2SksEZbFAr$O16RlP<@INY!%Zd8#rjv=f_sqXaFa2^}fx zLqQ4iob%XSQHL7W7wz0{Xvv@&HR*Z@>~fnR@OSe5_2oeb%44Ak@~fp1#YUXhuLJ?M z?!@tRpc+aJ5G5~kOM7d$o0=de+1Up_06xS{yEa)5!f{JS(?u;xj>3hU6~~I-Jc=6s zV_A7GD^54LbMeQY7+n!j0kQC;%GebHJyAs~s9tus^OX7d7cXYudzAesusG`zc*joE ze9c3QFk2Ara03#%b|q&ev8PV;is;jsoIrf)w>MXB4#Appl@!Ydkb^~qX8-1D`sn~* z#(d$=!FSX>_TlSj&(|GjOR?)>?KK+BoPRYnfjNQO$Lc#0SruBOM-oRd5@{Nd!Om#P^r67-;F;%K8MR41GGu$o-2JicjjerSV(27iP%wRMW4o_ z=gyAbeARWl{(}6P1~t%BNk7}tE82bGOGvf- zL_=dVjJ0`dckY^@e=h5yR5C8f^n44RxgDPwExnv63FO^$%@x8lE6ANdjtbvl2EnwH zT6HE%9s!V?0(kf4L5Y9?!4A$ZAvKVzYZ$q-I*sOKSq%d+=N#+avz9L?@tW-vTaQX> z+P$-K?~>qK&08c9ip{&lJ&t27nc+XIyr0;tW4~_Mn;Qnd zwjU6b-o1%DOv;0yoLq-Oj3$ov*n%bu?&G2nZE9%F&!`T49{rojxXZ#NvDW^i?iSYf z==%@4FHf1jA&397*0j-aiQFX!%bU%9=%aSopS78c$9l{FLf&Fjurr}Xnlm4S`yH3M zA%eGEx?6?6gc+h@46PPAkVC)xm*=8AN!{56(QC$yGEG@xo4*~0t-a==ot<}q)xOXn z`*+F^;o@7tff`IYW^(p?s>`05$$4xG>qVsCx0N!Lm-DTy{t*KE;(i+h@K)LC7f9D2 zaNuELc~E6g`Fe8R@R(B&dT6EfvCVh?4Kear7d4nK_Ar#@?R6kszNjq~-2OsUiPai> zV#dLkx;L%t&nM0&{&5BkUwvSEPHt%+K+}4V;=qIw$BMB0(j9^J^@PgS+3@a&puR0& zqCnB~>|w*^`lR^r@(DFu?OW?4jG@%eS3#X%sKAfd?O8K~ZX5EsmyiZlrONLHqNGVr z!p_M{>ZJNv^A%?+OoW`4|AFJ$#3yt$!;i_Wp{g!lLz6CrG}ty(e_nE{RF0L%790q? zJ(r{c4>;?%V{r#ky;di-vuT^E=QRc-y(s0^#Ao6SZmeQmOjaTH^e=qdkGPe@Z;WTw zbe6RCZ{4XV;36DzNIzTZrvZE-@glQ*~C_;j@$5oq~(d0nz$m*>Q6XB7<1R#mDb&hayaHVGvsmNtF?5|>A%dlgXsUZHRfPH6oX zs8EM1(a$j2oldd!Ub6Z=JdbnTPvu>_wrMqEkhfUCzgZ)w#@mkrWXf@_O9kMWGQ9I> zL6^w{ATa^FL*$)LM~b{d)ECre;33`d8v>Z{*mM-Ims_yT`EE3915)mDlB~Si7o#5C zT|ly*5EWc~6mz7mnJA+@wM&)MULc`4Azp(Au`oL%;>O}~CgH4KB#5riKI@AG(|<-E z>0)(+@@6XJSCi^xZWOgF>Teq$n(Ix}JzM*-^8l2QC-|08!W}_qK{~DoPr1E0Zo#;S z7boDhn$SC_$&0^jIy05d&I#-$TrvW=*v?ZmL-IiRTSsVb>H&1 zJHb+uLgWu+yCP@a_inCR{^41zD=pWVR3eU0v#VvYXCseISUJlwtj3&WYRX3!z6?gC zArm<!!+PN94D=l_|x_hGTtX;v+$+UrQB2%)av-?F=*IbCnN=l@>fI!MrQ1>6N_}MI1Ew za5_IH1B0WY95v7vrNcqvVvCA5*Our%B(8~OYTP?qw~?kR%+~P4RMbQxR;2xEHFW7s zA<^p!^lrWeJpk2mKuB8Ar11%#4^~26J;GVz*S!=SWU^uNB%LNfcH0S!%@2K| zo>K!C?IwCJxiPM&&VCGo*;V9$W>0DE3hRusawKzrt~1Z1>!`}`U8vsF`aP+ed2hdu zM(OQfwSEP)nuc+vRQy^6?8fB(%z5wUngV%ee0qb4bzk5H2^HFDgNJPcEMD;z^a~5t z{2!htSH}$!K#H zr-2IAOF0Ct?!5Z1yvb~+P5`wB!fY*2a}xKCCZiBf(m1^v|WEU~J0O6tib-uJ5s-Sa86e2r|v zIBp`Z4AY^DyakXv@M^IP-4qR*@k&)a0fb53sOz2&G`bz)%92u8V|s$TVHd)sm;V^; zHOLyNB+mVMXR3U1Jowz3Hsc=sgT%nVa;1)KK2qiz5aLlBbM_o^=oUF6C1~WeOx>C1 z1Bjx>vrAV-rLQ; zRq2)B9NGz{A8orHqDYag!El!=i;KwJ{%2#!*XyLiJW|R2zbtmgX3!l+Z2ebPYC6Zq z>DP!?Jp0EnnzS!TYtHqf3Dg8*#3g$^RjZyRpUeZb2Y33_a)uinJRz=N)76({$BPJI z0cZ3N4ko{g+%!wbCbk1*9l|7E&sjE76c!bFinK_A?&^ey6INN6i$gvOKo)i5;b4Z_ zo0(52t)fPI{(oA8e`Gp^8PyWA8(0uo*=GHcK+Bk%2}VAjP!pUIe9{mjc77*n^>HyA zBFY~;Z6{&qw|6(yy1156*rD7rv!3myDqyPm3$K6$t}P~ z&Y#PSwgz=&c%gBSxymYoSt+uj5qFHW!SgA!n%UQ6gC4dATmuZtc_nz5xAN?3mc6cR zZqJ*TB)Ntz1}(g1FY8pM(c;^y##UmD0dF2iTQe^wZUq{3R*j(-d0GrAKhz-AeD%;^ zNw{A}z#P>3ZEPo|;~l7v3_8L%#?;JpO{vO9y=~pB{HrePol*I#60!!6=6#q%_6Wiq z2m_Suo`Ax;Vz{~?iux-$06qGLKT+8LV{z{yRK8U4PuV7(yut+DdtIp?#v{EFOrljN z-4SD+AvVG^><7dmIx$glb4x)k!wJw{PXsIjx;fyC>~1jLdb}q}_qVWEaU7SJlq-U- z*<;G0N_-PC$LXiWr0cHdw{{%Fzj2nk*Un(`qluzN7 zk7_DoPin6{?oZ}N1E1p(Y4xk+)ZT@^NY26Nnwt5^u=>rI_oir$=6+YS*!!%5+Qjqb zX~S|(N*_(NN3!4!wMLcryT&0X7Y4-JmW3vgW z$9Zd?DSIcq_r963x`}nSLN*Mz<^bO~F+kVXQFC}re>SvkH^e^bFI7Yq*)Y>DQPo}DhY6~$f8y5 zv!702{6Fgw78EwJZAA82M7WLUl_;W9c|hnX!cdyhBG@xv+iZL?UNtR_(WxbReQ361 z5v|gd6~p#?Y+r*ou+QX2($`i{?A86fRn~_J#>%%p?x(pc zejXdwZeIN1e`HPKRo7yK+4m_QgO1LX>xLVLvn%sS$UjA&{MNt8dRBc?7ApGs@-eBT zHIc^Uj5X3Pw0^jlv!Ju1*xi{ew~Gb~yNWwSGL@u#4|-j4h2c6@T-C zT#n@Ida>6)AW{=*9QkoK&d%TF~vU85^)c5+J<4w@a+SSEK73Y-5dE-?-FqvMIUK+cw&VrBBd77IwE#XB zTnP0J(^z^Lq-*Vec`oCw&XL^$MXmH&%EZT;a(RI6Wa6e1RphN%xkI{fvF^m>g=_#A z-v?3tj+bwrDf6C9Gc9klHLWRa9!@l7mpDzZ^KS~Ct+r~RhP%peH&k3T``$E|Hj0JDoe*d_iB$cvCIpna^wN#=kvKf*LA(0ujk8$%S1AtQDjhEuHE z>Py1icQdR`1%x%!mDSD+p{B0A&F*-A+E@4Xa=ie-62vIS z_1nZY$6TL_6MeEfcR@kHXu@Q0BL=+a@mswiI!YB7%`>&@rnpsd@bEaw#dO(KH0NY#yfR_+l<}wMXh(x zT1I_JwcX**BOC4>r0TZBmL+Q-J$j!kSe|L{DFmwGY?uQV0Z5Yu0yB@|aF+yDc=o>; zJ@b>OivZ~^8BZnrTGgIbW@=lYYDt{WB2VE<_N`)VHFxBD3Fah@VD>=>V@7tT6l>QE zX}nIGU~9j0aMMGKf6rd1`ar=1h0CNsU~MWYe@e-57V|Gy>1J4=9Gda(F88S5SDtPQ zEy)k?#n#Zri$qo~XqWOXKR^q3SUSG7loAxoVnU6sKL%nP3(~)%BEk=~6W+jzO{YN6L@o_PMw zSZ5uFnkamMTM|VdYk-Dtxo1v3-JS2mRwJ; zHwrwY!P(p$kXoHNPdZEgqCwnV_zH+aabCB(h;!y!6@B|*^IH=c3m&;zYS5j2_n7HP z*Rjd8o%zfR*_M@uMRlayH1}ds>z8MyKPJ_@zR+wUm}a{9BdmGfC$hd~4JL3PW@rTJ zE*$0d2*1KTZl%JoUCEMVqy}DIEz3x^Z}qbD&84a7NfXd*>7eA5kvsLN>@m)mFS4FF zeixK-*T*fcGaU%(N>4b~4crcpJQG+~xU8s@jJ9bzS_NzRP^vF57ILEFC0)Ypf)1?Z;nVg?Ve zPH#e-gs#ynRsAff!dJZNE@j}Q8)3YDtA+2^Lvv=ty#MVnuhUg(^Va}$QE zr9xQIEtl50U!{3N6kw&!)K;fFh@N%#iY+;+DFN7JnSZ~OvW^W`dn@9gPQ9kFEG&u+ z^LDrMr=A3qmd%Lm-RnCH-?j>;&c8eYJYMTX1Z`p~ApxhJNe11q`?mj_XUsI@)hkQ& zh3kNX>M;$s*x(ra;sbP_+4mGEPiW4!bhNp2+rxS`1}(@Ph@i=dq?wGYzv(@~TD3+a zIdwyT9MDFtSiCCsM~8FV{v2l@_?=c?u3N?geW2!zpH6h6;Eoe{Iu1UnWrf>b%e0V9 zNfGM2-Kq&rD$*-&I(&*w@gMemtN>il`iD=y(%abfHCZYu_Y=vM1->A1t10wd#MeP) z5756;>}mt`%PLPlC51y~RLg3+HkpZiPtq7mBi~fOxD2^78($sO<+LUMt2ThRzz<{l zayD}PoR3rtS!PSkB*{we_RM{a5|h^n!xT7Q~n@=7pTaEzSwXK?qgyR)-HCLQ;b zsiz0_jC%^OOnQ-6L-7n#f{WtlWCx8zg*H3l6rKwn#%&#n`+T5HKC2FwU@Nq7|2}2x zD_sl7JSkiUR?Kgo|6SMKgoqIbmbH#U3bN$sdxf-(w&Hk6}7dbBifUy164ct)R%y_qU_71LKjoK1`Z;Z>{0_(4{`>l{m3Jjeaz=2S4bZ{YXFOjsG z7Gk;6ppt}`cUaJ!aBv$h8J})xw@0=SRti>gac+^*98MQj-J8t6fQSFoU=-SBcp$ym zuj%vHTAwG2OM~3sew^6{^++s4}0f)NrW=bH3h=Une$<|H^$8-Q6os=(#d^ zZgi#joLHzBh*+-pTKK-h>&JK9+V>wt;KaXiziSl~n*&sDtP-QF;i66cs$8GD$!!Kf zS4hqqd08%%L9cm;+RKA$Bg+c<4O4%TWOjDemo>(Byrc`oiW%(uZpzjOmAZKPRzhCF zzIr!wC6Ts3Gd z)Krb9>+J^>AD?grX#`4oJ^c0<^I9aCxgee8x!f$1<*j>LP=pN!t&0=t!cJu+FS_YX zrxp|ht9I$ye76sC?x%H}4QjYUg7-clZQRtaU>)q;Ab{Fve=$P$o|n8j$6#tE-qsFIj`pe^NG|t8j11axPq8EMO~U%0IaDi=HK$-32kuWYuZChG!;{ zFfVnWPqu|4(8t5b4D56iyiD#&y`52hRQFzcoi|Zl*>3s$?0)&GK`TI^#3j^KJv? zMd;o$;~#2nv3=UdCa4dTyq8$7(UPmg^FY0(!waw0!ZP4t9WqF-0UJQT45srXq}E@% z(KVtjxf@*902vuM;vp9AMDE8!Wi)uh>RKDhlWo@ArtQ6h0 zGOW2=WaF&(7v&z%_*A(4Z_>dM6u!k%wj-lS>`(N1Xsfz>WXHdO3J)Gir830~7Lz0# ze(pv5mY=J>UqG{%n7yyOaanc(c^t^R&F_#s?Kt|T_e9}PT*NuRPAZrCU|tG6!l>(f zCwgiAhaCXBDl89pDukmROkemMK5G%RG(Gk8Z-W`6jBehHaEJ{StamybgH!JiP;w9+P=Y#IB#hb!gb`6s~KWpwI{dzCESdDLG1@G(+ zc$dg_85H;CqWWISl|e4odsD^h2_8tdk&UV+($Sd>kWUzoBK%xRnES%5f%=h~0UrTM zXL3d1^gyCE9G8}|QKT7bsADBS4nZf?=j=|(v==Rw_L})Y^4{=!cAFzwzYV}N|4DX` z8%gBeT^+8m=Qcq)Vn@ug5I5`xrq)A|ErW3q}^s*F%>-O+i>Hw#Pc&&f6uh7*+Hq$JV>z1}6h%rkKN zB$OiS5AV{?Ct$)X)PLj4a}jt#P9;*=f8jBoFKzXp{@3IRG(W-Isb+ut_;V=|ve zQts$vO*S+$k*N8Wq*o2F{5xs$^w2q%R8wAw!d8pBy^|Zis}D6V$DGyTmHh!pjdW*X z0D2Vu9fdN?P{DZtLW`W^x|TNOlE#<+3}@iGN3izU%V(O+_)b^2PZUZq-Z<)#r#|eF z9!P8LOxE-#9g1ju`?LBKaZAW?8LorXatA9n;6%*=yx35NXFvqb=u2{_l*B7Ng6 z*U6e^J7Y^NzlT8nlrRlU6GbB6{#sARB_&t#!LsEiA6z3Ktxu(r%iJ}M_g-LXPq2Nm z1Rw}DE@Ja=LfnQ(RLyY;rBPnYbV^0+;Ze50F5%J?LwnOkX!)johJHa^%-@hzL$gr* z$L}>Xz|E%2n>xxCL_2X^Gsd`(JRhef&Ezr4w7(N9PGI)6TM1bRf28xc*bXwbN`$Ik zlRQ@BREHVuJ9cv8W2G@_wE5;4$&dMN)4xNWj8BDhYG8)DEPnniXv`xAMgM3pa&To`fV{T-c%&gA+G8<(tnsDhy;YG5+2vh zvs7rPE;z>QKe&zCz578`C}BEtHt)HZ47r!H(PSj6a3rE+ zJBA(x$j|1rsmmI62t)3J;4`9#N!d==D!I7pxrCgzPJ^Nu5XgKB1u@N}#Y6d+@UGEX zQEmiu^W)YR;!jABYmYm&OwI2UN78Tkpj9HZP}X|6@E-Fm+(721s2n!1Uy2+uxF0v4 z_^U%F$cui|aQ520KioDP1Uih_3EyXTeNZQuxs> z^jEsvL_gq~{uHfK%4Li0CpDrGv^DEeIunS-a$;`e_jG5GhhVJ07&Pil&RXrO`*&SN z!=omKXma&iTi3USVyI)@fQ6}_IqwHJ)zc%CcOEt2C-tjCM%*X~W#SBW%*H~_Hg2l* zVtV~hi%UZ{AXn|dPr7Ba)-i|GZN0ieRk&sS3>#oK<^8G|ljxGu=axlNEp1vG zJ9zxPKF}I1a*cG$~1WVLS2Ir0RPbpxhENJ;*RzAK#VEzZrDKjwrl9zdoV7G zY1{C6j1R3f^N%X6j_BzerFYGm)pZ*R-lN;Iz-B}aq9RI^W{Jn}jNkOC9)b@uSEjwFU3-}R{Te+R2NI*^a zZe@{KluD0G(#2R?r5-YkWh_@jD!dYC`EFLKb4G1` zyRR`cN|RgVM4+Vvs3xma)C(6hdv%c+fx7`2+aWbc*4`lvJjsNh-LIL=FXgqo{4)KY z3tL}yiVRYXqm~beM$^(?Egrcze8M><&;E{X#jlVbSx=L>-ec<^|M8<7@(om#q3pTb z1}E<5iKb}pWZD6>0DglfY18lVxc_Msmgk{xs$NfC zbY=mvp9JcfnSau=YKx&++Kc0t?!c2v#M2coWOqs!OjRj`fQz2 z*CuRNPDGB+AGqaKs#4~|?ebVZIokC{q+xJWFNgj_BSr9Pu6zI-`8Ao=eo${oW&jl0 z)W?fc*m8jpE-RoaI7Q-N-^Q>SR&P}Q-Vyt_P$e{hB19 zi)yveYfdUga`fjC3X~raOXPy>4U0#*gS>R)*D2fn>-|sD3QCTOb#ks-mKOk8XYv7b z8=kfMw&~PBUx^xW!0FBCw|iB_vOv|6>_podUByk#K1(EZzpv)S?hm2QX5!K3VDJ48 z`sOq))kpL-u_BQz#)_b4_YpDZ=dudC{p+YXhVArh%o|JQkMqVWce+(@1O0ghrP1W$ zaTY(Xx)y>{s9#@58I33${||kbxrLt0&6<=h+8Z#{L9$vs&nE`+o8o%Om|jiZpzUZP zSm9(HUhm5+Q18+7TVUPZadmv7SjmrMPo0uN4oqFb_dP11xecd-(}PktX(;_XDW?*V{2z$d4>#FxARF9E~6 zJ&dPHx@)K|_K~$b8+%HS2VitFhPzz-@7Re9<;xvalla%k>RTIE3bad%?bg40Z~bK4 zt2JZ)(THA~Zsucl-6A>fXQd4o+trmg{GnN(r#m~4qYcz6S&cJa%*$TgS>lHhvWY@h z`MPJijC(1^NoaYiM6l&VdbfOd^nLO2GPLn(4J&`GSQr(oy63sHnKvDR<(;1ZFPb5V z2&8wAcxqskV&;0%&fWy)`Eu;9mt#P5SA@5i{gg3s^>7@kw2d6M;W{-_ zh=TZ)I>-{hj(vX$G@2E`EN)oib?fQ(yEW}_mucOKME@CgxP9hGd#+k8=e0`&7tw{^ zUJ^>DWh9x8SUpCs2^L2B<*bQJ%C*%%sOuwa=EP_>FBgQT@jZ7D3Fg?O=u>{!>96)< z#Tqr=0Zj=0mXn4?#20J3`!iM2Abk0W*fUvfb!~Y|&I)CY&eq*4506Zo%~#D}^hDL% zIxSWr2b=cxxuer?$Q`_2R`m;ly?Ftuv!<{{WNd>s=jS@V+UvdsuqlLs7rRCda#4&& z`D2I^W!iH?H%DLhs=T9r7`ceS%>ObtC0YFCF1_g&(aQ;&HBHo%{7IVwn$F}Uj3xHXa3qA4EvaJc%Q zkdQ5tOIDZGnG;aa>SF+()pxrk8Xb1?ZJ^o%_i*a{ zLYC9-ANa!c8MzZ9TDkVT4*Qv0bkUxW<8C@o4s-8=n_{MBb1A4#Bd?YNNb+h+ohBC@RsNAama`xSJ>_N6= zeSmCypH%5`8EYlZ4+uu|G)2KFQc7d9PgspbXTt@usmNmmiUM%wnI1ZAs0ArKpK3q{U<=9GBM7>(*&N^|=PtRcS^LbE53UU{mo8sVD_rcbPSHfuBB>vq%@)P*7D{gZ~m zK{_rKSk8jO7qm3I=`x{~gz2i;qgCNo3yh#}l<_lv@tC~LF`ljZVyE0Z)O(YR(;3;Q z9X0@7+If_*>LH4HF!_E@F=AN%pUA@sypm%`iJt{2Rt}4&3nsxC;g#a9TC1q!z^g$y zDt*<10vOTpU-Fq74I^$Uq89Z=Ja$W}SWAhR-cZ65n%YX$b=i#f^OHZNg*gFSH4b6d zlN^~)0<|Mwfp3mVyl9?ljf&)qre+ZCLY(Q8-lfJzg}m+xbc%0AjX`AYfjUgfU~P8KxRQ%56?~z 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®u?>WA_~bpJ-G& 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�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ⅇTzSdErx-y%_jC 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�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

    Ez&2 z@LY&W|8_2QtQKb5Lt?*|&al&g;Nr(u@&XO+;nB;cqNLiq>>AWI3P;t+4-x_KRv7HI z8xr&@N2e+ks3q5H#EAlY>_L)4s1k3_A=R1`%z7GRf}k|C8Pe+(iv3?BHJww_3?d-g zYo^4gGgEG$BiN7KGnj6V*3eNgVf4>g@Oq}z-b9;k6inO`1nm0OI%4$r&ne6`kW`4i zBPZ$i>73ToyO*og7hlJ~^y_JJ5)JuDqxvIQ2_c{oz&xsu>l9}Y;`3$etW3bNjtw?3 zsqQoWb5J*fwFCHJl)RIa5*qM8;?Hrpzhyk)&xD1aMPV->him|TYpK*?-=pnR#7WKA zYf|G$A?Ck<4lka;W1Sv{&isSAwWy@gt^kvm$gXzw*t($-Ia)R&#M66a%x!Ns91qrY z;66Wa5S$w!B@c(+&N{oRO<#-2{{7hzQ9ZLdHS|{g^$=dK_v)e2;d6vz#Y-ywFkd9F zqfEW*yms zi7$vN1;G2L^w}?^)_;pv|M%g7v(vk9Y)l#_x8GM>2(6Pkd&U3$I6G$|M!@;XxclEB zeP9vBzNs~i<1aM(PEZN_eZN|FTe&QY{se4;t16V@!gRD%06Svv zBOn$XRqGhi=p|z2(~_g%r|dWJA#(EgiQ%nLh;Ei<$6F#MN)K=C^q}JZX8~GTBhHHu zqOpIgwOocZAmd@&XLq(tJ`M&hPM2MKAxQZ0ovG_q`afQ zL%kRXsB^0y8woO_iU5-ucgC8a!OolG!+)0!$cHSvhS07Cf~H3(w7()tcEUo|xjD-p zT3wbkX1+9R_Ba0Vg+3{KAYB@;7x>MZM;T^&?HAR_vV6l3 z?V9TJZ_o(%Ny|_2ZaU>H5BVOsj}2^UB$84=bQ;W#`n{Ieu0wJJg^~B5eaT_K1MD7& zdRHGVyK<$6IlHej2!{tXSsl&izo!{nF0z!v0Pqt#1U)q;a!D1X+pgso`2yY&==PX) zwH;B@M7d-fugtUv7|ce;|7@}1m4<}Gg2HZeIG%`s)ZI{-@V$h6uALPmye!_w#4{S^ z>T0(9J;i+PeV2e0$W4!GdPrVt>xb+!x4qCR>ba??a#aH=V%p(dVkXKnK4FoJv_C@O zdw+hMLF)kn?lP|<9`%6+#gG*PeUxLvVQ`V*sWmT7Bi~y`nuwflQBZDJf)_QWzTX+s z6Js!wdS&_2cgWiR+sp(4B{@Io^QPopKjL2gfowMF%~Bl|XT^9_qX;wW6xH(W@aNne z?=S3?^p>eINRct#Crz+|-TtCM#O>o<&4SIR)5;3jR394ht^vJoPRx&(7&yMZw+hM| zTKQet&vFr4b&yOT%lIQZ6aSEQS5#jcBGyoeachr*N={GQUrqIz_7Gg<)^VOdY}YH{xlv-b1#N^B2xvX}UHtYQP|LiS8e zo!D+Ix~Z;7P*mP|)E+5jEEiL4HNGj{efY-Cn>Z5e)qPvw;3GTFv4lR~=0OK~&II43 z`TA=KNvtTRz`I0!zB*RDS0ln-D+z*P(~oLvlp+v&$Z8DDDnmQ?jDz2|B>D6Pa6y~> z!cv+db=c@P8=J9z!-UDaSr~n;`FIZCJQv+wvM1mCTN%UYSe}xyA^%$=wGbUv6r;&{ zIWpt_4)&>@EbK8&6ZMGFTYos>>-0(Z&}(|pa4%m((A@giJ2Qum(y*zzS(($Hsaw|Z zbz_f1k$l42=C37|nduDIS*CdVZr*dguL343u0tW5V4{=SsvdyDZv~4#SJdc%>ux6# znIZ;wixz&s>GpZtk>fd?WN?n5?zRFZup^;$hK6~(!Ir|D>cn~{YDu^iRQ{^?;X$a7Z z#`y zPSKOs06i*Fe|Jj}vKA{KLvWIV*dbpFK8Wx2s||_%FWzfl2*94zR_u6v&g6KXEWu|_ zZPlL5)wDSuQY|B{|9*WNX*V_6<*KRSZBUZ3Sjl1S6@O!h#Pxn@E2sYmnD0~o#2j%Z zx@*X1XCAoPBihFx6Tbn-x0EvFVtWIeTLo&C-vEf9tBm$ibkDOgE`55WUloTQo4cze z!}9=adel)$nICpOz^QlQuU35y|BhQ0C%B1zFkJ|Tq=Swq$bVpI!vT|s*4ZnH3e;zy zrnjEu?$4t|yorK7S^K19!|jsZ%Eodwtg@YNq?|xO(ul^&qZP^j{v~3LzO^P zfKorCLCmM}Pf+?{v48cE`#Z>lZT7_&2o&>}W#luO*X;%04rHN(OV@xyM9i(U2Tn=MogfoIJXr1VKR) zU4u26f6|WKQP7WA^6Pv8+)6D4oSU&dy`Of1T_bLJm54Ajv(WAv?6r_zhjApNj)Dt# zn3p(ggUiypvTif4$F}2kU&&Udl7MSE_^qX9^B;;g+CW1Ww4BFnP6mgygJyOMyP{f8 z(nM(774~J!lEACMzsDBlxZ%DH0 zKGMc=P-chniTbq3gGChV2aw^cKQHeoB-pgBw}!M7=NI>V_0mA@nB_N~_3<0yr>)9y zQqz@;?Q;ei5*9dbA=F~EiON_xI084`W;;J$zxH`kUNRYW88jN-#&7`vxC;?s+W zt5@r*tb4Ju&NYs4>1g>Ac-3zt$&`T6L114T{kZV zat?UqX(mAwR2qA$ydahZX;sH-IcF|vb%X;%OwU{F4-UArnpS@f+`Z~6XEttQ^`aIt z!VkiYC!eECz3}2bXLC1BBj*m9PYD5!M~M0t=aJ3Y4;f{sCl015kHl5ZhBYBR-M-^s zLA!s}?KGWl$0Tbp7nwmC8gTJy?7`aq`?R#h5A1XK6l1;{_ny+?dMmzN7j36<4duy$ zK0<@h(wdNEi{lSx@iY<$Cmyh$s|1H)cK0x=Ec&RzVU<_L{&E7bCmhmI)O*4)1s#Ef zp0*|LQ?H0i`~tRg$;i9_=lmv0(RmDFl#w!r0V@-spB~8H}I}E5TABzO#gEt4j zHsWq`hB_zY?*QFpR7?nF*(y%@bT`3J>4}DjkGBjA1>i(F&Y+Vti(3bm})g#wcJ^4s!9CK<}26C+Awu8tlcJ zSHFrUYwz+cK8gfP%s(;D4uysX6r|}bumwc%yP3u`e&7gnE2mYvZ3Li!v)Em1?PjID zJ{Pgy1*FaR?ZxrH$W!ZGHZ)!_7by-?(${V-un5g}e6X0jH2M9;bQP zVsz#gmIe*9U3-sgLbC0WRfnfOZQ9!u*we0MkJemZgu_&6conp&T zp)wb84ZQlta6B0f=UhhSSH`7Z70N9C;E&h2#&|`HKWxnk1%i`CT?{70AETD)7L~5S zD9uWE^rs_+`wbQP@jJLuK;FC+>)theK@Ijo#5Wg2*M}+6`Xv!^Qk}RjP_`LNAaENN z^ZUR%FQEtWvDto6`BQQ_q^>ccHqknno!*&db&me830tLV&!=St#mtx)ykegY;tu8Jo|0J9%p3Q% zpQ1-bPmXW5qc&0RFY%bQyh!{wmcDeETuJyZg6>G;Rl801_kOMJ1@FBzf}wb^=V2y0 z=M&wkzj?SH)$TX({fEc%;NScACGQ0ha#N4NU#xJ*3;r{H4k%pYQxpf)xI5n6p31u? zr+U+|fnBn-e*4MYA?Gjh^-w-%lV*V^x!?^6d*{L71T7|tM=sOJOnu7;xpv37E0>zF zW=Q6pgp56BldOGeSSh&0%C*QKoFIfi`(h`n;tcCKN{Na_TJ(wd@2EX0nuJ5884!bE zHk%9dtZm*=c68VYc8=xN1%4T>HsJKOfg{fLd^fb?{@d$B5IM|c6XOJgXxFlKC1aKB z4cKr;e;5Qrim z?`FgbQ?lV>MaAY5<0smlA?REgjvCdAGQy@Yl6>Eh%eJ>$af>4f$~3`>^Gd&UOn^&lN{?$z zXX3s`yi0%IepTUa@1D$Ipe)qs}@6-!W|1{J7mX`R~6GgepnHw zFL+|f1GXSF#IF*H3BIx!V!?HAe--6>T$>?DC4xUN z6HQ}<4d|A;RjDk#62tIz4DTdu>#tK{-|W-BuC*B@CHragfzPK*xI<;8@vh2~hf#^4 z27Y2FV_FRl9C0Gb*L7AmyoT~D?AIE`Z*Y4~m#k=oBT-TH8A>S1ZFPC~oQfdEr|@T_ zWXDCLnVRn-A_l7+I<&u%iarMivbF#qeJ0Oi_rEqGJ4ai5uU9#c`gF3ZT+`-i1N9w# zegpt<-f86$#(#M+lr^27iHZv1!++xwRdJuIzNfxyXL=kAtkr2RgMV-7lawvCM(=#J zT3UFep6!)kh%RhP1rILmfP&DuEEX{iAcm3U0}qO)Iw**6*!?Sc>a7mEyz>Y1AL79YtmBo2-VVNc)?# z$1m)8o&Dt*hG5Y749v5ge=oo2zOndLcybNz&Wmd6Z-Xf1c`Vx-9H^5qP;82F+*V`t z51xLGhSvkXmwmijB41G8E?v~9l{!NkT_F?&Q*WWiLpmjQ!{E^YWbRu^yE$*xFgC3B z_xBr~cLC$ef&}{fn0lz|F>|kmmJffgOofpA{}H(}KL(|qUU7JeWa1Wj$4{=opnMBj zOiamCo>MFHTdsFJYWBAi9bU^_Xvphn7In9;S5rZWovo3g)XdfXuJ$epcB#f+QA0D=2IK9{7>=%4J7npDQ{7`D+06rbl zj}uGGRLI>C34w<-R{kYZD=yjl*e%{o?UX=QucslyT!qHI*LWjT;r8VGKQR?sE??|~nore3Bu`dg$Efk;oy}R~NI|1o zQG8fCUAFkpIZ-r5j{aDd2UaLXb<0%zl1d(_FT&oXAEJUk?dIZ1kuo#0j~yIgeK9DN z7?WbI?Jvv9sQ7Z{t-G+>@AcsUPgkzJ zUG58&mG*NJL^y62uLa*vr36Ze?u&CTxz0s87<{4(VtoF7*~)MdgVqiF(AZ=tc+c2uL~s+%5kRRg}M zI`Pk3d12eDySl_e2NJ$2R{TQ9Yk$*euH<@K`F+Fhl>=&!G7KnRi9xMZ|~5 zxh^U!uQ+2s5U$YFLpx*+48;s%OU`MZ7-lta9>}BeKZh(VC^E;{vl)ExO33-j@RdZY zpv?p;)oxb_&e{{!C**e5y~p|}?JBjodz9y@g3<$LU*8g128$41HT;6mLVPtGWw%?T zvUwW2FdDY+>X@7R`dq3JcmFRD9%HNP4!p}Z2q|5|{>%Jn71ksAF@>;VXEFs7j*E&^(wPq^X(M^F)cWFF7Yh? z{%or_0@#>qATkr`!YQykY+tf-Piz zdi&q>sn!?uOM8#^(r%`r1nplG_NbDll7)3*oSN)~{10GLc5dh~-8<_y+^i~dDj$v1 zZ+C*1zaeVJV2wxQvBxDVRv&H9uRT!ziP;e#WW8C&{lpgk?X+|87?Zb<;f2#UAA1k5ucZHxc;bj))6*mfe8B%8X7q2I}ys_7$~;oYW` zk5kBRy0=XVIG3z()3_wRvCe}|4Uc#5V~TJD@i^k+vy-Tk^<3<0xQtvvPcgY zMRo)|E-@hEZH%Tos5S6>zs@>lZ)OKkQPyuoExAX{H?Y=OTg@YyWd&}IRKFi1=&c2& z?;B)6IKWE1a77@5APo|C?zGysKEEWErLn+zDpbScq3d}C#bTetq(ciPSXmkK{p8)X zXly%2x9(@N_vb)-D zh=B9Ag9wWOTz{F4lI@d_{b}^ww=$+fR`&Y(DU+2&#iZvQ2?^`cmTZ;A%h^qcmxfN& zX8sS>FHpvAAO3>(XqJ0$uNNOBuY4g?`|HCK?2BI>Sowb)soMCN=>Th*A_pS}3--0Q zt$x&QeW%Or99?-T1;S9T+i=MFQ)$pf-)p?K@8T5}I9$N;e2bK}wZkHDYfEYT-KZ4` z;)>$Xc<=C7eI(z`q$Kl2LRfko{Gy&VDtWIxZl%@&n5bM<8SK%%id~SoTODEs+*{Kf zs7>4b{@oQma`ao$krmZc?}!?x0-=%2XHrkWLoz!$UJb$J60MoeK+6by-X8p*@TcxN zQORQ`8!YA8C%6V*+o4x0zQ2@ud~%YeQ@GX&=tr6)#O%0#AMXgZnka=_b*z;Qvu( z)`fVa((Uf2o%8Kg`u0V$<7#hu+Y@Xk?r`c^eQT{<6CFgg)Vhyz@5w$rW^M;`-04^u z^^C}#Ik7ye%DC2_uy-9kzG=7GeMbm2wFbb-t3@n~ojmSCVjXofyv;$6eBD3x{Tlf) zQ*&Ydk6HlnJh9*RT87ye7$Am2i#QqDn?2op8@fonj9FNwQvn1)d<+K7DQc=ZD29%) ze=}X(?Uqg&R`eG~4_GOHiiAua2o%Xs)&^gnCbevH{t?2SC8iDJeq%O-4))jo<|xCV zlA2=y_FWnx&o0AfkS6V&6z$DjVIzrj0g*O{!l=YQYJ~clta=U0$u+jERdQBJ zI=HwTln-LPSqp`YtfJr5U{br?Nrk7&(q!hLe&?^@WK;gKT4U6NPZ zl5o5(=Jx6%ITyxFMW%#`avJ9*9LCA<%w*lIR(;jZ{5^QDOjQi}06o#Rrq4WnLhOAP zFkk%gQ8sRXab5k~dySd3>%xQ|7gpk;DFJ7O$^e`#8Yl))9(%xQD1ATg-vopntyX%! z;FlF)g*sQ!)V-cfl>W~f^hC)kmU@$QjmGvQH?D1wXmetsApt9?DTjYxFXpjMcCDmF_dZh zWx99iP`N&vcr#YarHU(<^ulp zBXnPZM7qBHaD6Kq_uBM}?2L`9qv{RjZlSYqkwUf;5gGD`>4n%<=nb;}kf?cqyfJK~vLmQrSmM*{lbzNp7ZldYO(+M_c7{=?2mQvZlq(ekS23b(ERrwuAT=;+}%VB zK{Am%uo1wbcs`f03XVHW!=E>_U$h9Y!ZEj*o79Ciuq|109gAY^1(mc_$C-nQ!J%66 zD~C-RwEd_ngt3%pI1l-&LUXe}q?uvOP-~fT)C5%C`-6tyO#cvw!fWc_^z0;5>r`k0 zpoOyrLQgMr7asObIvFB3VgVV^d?!h(GR;&y7pxhi07m5tV>P_pU-9S>2iAZpGFN!Y z4TseQxlz-;LhR&D+rLDvl~}oXoK%R^kQF=RYQ)M_6zM$|HMV>&Zc!!^1qI4wNE^dE zu^fU*X|{}V+S1?0ZTA9*2lgw>I@s=5rr>->4OlmF{B!`^f2e3fecMh!`RFfe-=RC4 z(o6!RZ(jYgX0JWfQ(g*C@PxgdOq@c3ZpkYp7D=m8?@JQWgbW>DRcK0*& zgNISs*6WtPKfZ71%8ivWi_yP2A~|vk=KGbjD>hvtTXH>OSj|#b@Be23a(iW*)uhxf z;+G=s8N_T2knVvClw`{*XGQTb+6G1>Z~#t1Tjey*vJ&T0lxTWCXVt zR+>@Eeg$`69}K*cv_v`QO&bz*8Hjr_=-K}n_rlIB|DY#c73mq=| zi+PrCG*HrZJO3*UFyh;)-GsQM8sARNH$Yv{n*CowFip~sQ_#!b0Bz?_oUg%fnDCPv(_1dLKq@?vts64HK~E>O z{^}Vy5)(L^P~YXXOmt84y1DgmRmW^-cc!Tc$R7NM;+@#4?KzFNfmW*9@K~%hP?(6` zv_f4WqO9&Aptg1H-mP@d%-??!UB#v!+hrwaUv_W|{I=In>{)=i$@Vc2n z)(BbDee}a{m`a&hkD#w)%&mDyI`UG0F__0evFS3KlTos$L4JLcPG9@%g|MTvfS|)A z-}-nD&ze>V1Rm@_sgs#5olddqfTgKBI*N0*f20XV=B->&@TN`h?18RqM>XxQtGVff zPM+{Z-|EN8NBvU&Q8y`?kv+oSy~IGE%DoFbN4x#ySo)B=a?5m$F}znG&MjH$)h_t7 zfA@QDot5A7F9(tD8?C?taw2OVnPV_(Et;p$_Oz`Gn}_j^V~mYaeaJ&L=OY>{0~`cv zO!In;=Q}nEYYb*6l&>G+pu=?z&8!3KqbyHEJr5%S5;!)lkX9ZNUkbtcc&IT;JvZZ4 zB*iNz&$T2NU>(U>6D!*g)c;J?$T6EN+(t2`ad20UYAC`(b)3+q71nv@V${@8F{1-K z2(5u`H0c!h|0gFgR#etBVG*FglK!uCz5a`e*U61CH~GsjU6t=8Ni~OaSHZCYz>~pK z$)!vO9z!&GX629%yA7{?UvW2Rg3HIRzZ6Gy_V`_$zHGr$B3|QhRrC`Oi&0u5Hn#5q z*~9AiiP)AKi4Dw}mfx{G;vnl?8Ab57mC+DS__}Cz&Be#py@S8@-nfNmo?o`VhHyA) z>r!_vI3LLQaVPp-4bf>=W4_|`nd;B0*5|V>N|SRIh=WHy@2_QVFXFGkVcQ=$Z@y`X z|9DknxlpLwC$qNmXOUOHBn-5dB(XK4$xR@vH4jqE64X^6z6?Y@^lS%;WuttFX~ z1-fywdVbEVYla@3kj7Y;uLg`|9r(3~6Kpf=7!TK1GL?vJgLa5y7j9Fp)=(3-!97W? z^u0SG^-Fe%ZEKUSJb%)c=S&~(%_=4O$A0ka^y64%`Iy-1DM1QX8oy$>0}z+h1yVC* ztxnXQz8mEryFkrvBA_eQ8q71=zyyKSAytM2RU!2G?<`EBHwC!3Y!RA*NjVGu(2LKj+DMB;oq@2s_Na{X-= zmD5vNz3qfoIH}z+x}L`m*4rDP%vAgfnKpMq?W}!9+L*UFlf|i#S+#R)yjoUudJ+lh zqMo=r&NNQ~Qd8AU;yuS+)=vqmi>tFHOUG))0U2v9V;GM}QxRts^{$r0;^LLL_LYA3 zYko&_93GXqzUfj5eX-n*46aa%bT7J1&jC}o6|&KD!YU>C4KCy}A=vIw6HG*0cA2~& zrfJjHWG%QAH{LToDO)$U6D@qfF|S!N`0#LQlT)eHy0qknJLEi&VtgsisQAgL-3a+V z(n$8{HggUha$>4uu`@ryV`Oiia`#SEGc?iD7C-RWUuO}SAZS@>*~;A6d6)R6_3|qa zYWpQdag}3p@Pm1^jAwY?p<>(C_IFH8kB&;RY%%rSlotX850r z2~&4qJn>fF4!rCk0?9pHpZc;bv)mLdtiq#?oU1iJB~=eE{i@H2Jp+=TS#x}C@WB2> zrbIyfA@Otde+Ev%1VsA(NQafnz$XHPZ`ab_odSta2sO`Ocq@MrH)2Hto3t3xj%F&F z5(I$ZUzBQ6{vS>69?x|D`2Sy5-tkVdiX1XlS63uO<1*&3UFE`64pW43SXrnTvB+VY z;vG3IkwXqka*8l#VG=eG%b7Wwjhtu34#sbv-|hDOd$*f^=Jwj_`FuPc_xnjPJD;qM zGSiNI0YCszd@t)E_DPk)%?VLKOOokQ4L~M?`N)85fou&}Td39E^XzK)!>%}^OLj;f;rB_P4{ze&m7KbBS$Raq_W1nx6eo?e9e z3@aD>Lfj*NF`ywU%e*-Y^`a|q4%dE`i9@c6<6D@CG>(0+jqoQkj#q|?F zb{NK65_hYhmV)zCzkw7ay`v~QON zP}QKA4jvyk>e+hi{VF1M&k;}2mJFF{gBNkr9+8QM zRTvt6^n}4WXcR*G6=obyW*kE|t%SXnG4*|{woE%2-|IKl(xlyNcA@FMs(;8;A~a~P zJc!Y*!%1Fw*itUWQ^>|_DL3357HY;kkBvFxrVSvTU8=@sAH5Lc(c^Tye7RY)$3S@Y zX(O92`UB2Jo6;<@zNi`gX4Q<9jbJlJ+quJQo4XtM3!zO|epm?ilWIo;TFPp7LRS%c z`8Xq7#Nuqp)ZZCyJXd(qGArJnEUH`BT5EbH=I8iFi#fDj?|U)F8t3`J*VAfQnN|q z5d41@sYLuIpZg+@F+aa(m0Vg~(_CkHZltEpY4O57hKRg_&4W^yIsqaA#}X6}mFw zQ&o0#}3iTCgwbeBV+B$-7?-YS#!l4Zz`h=hdGz0 zd1fzh?)ZNX`XP5nWV2g)fA5N&XlQ2l%IMPDsL5lmLW<=B{aQQ5@dO){CXb1c2b34t zW6Ab!9!q(yQyxl3`yxJI}{CQ5)mal`znHC$6))&W;Iq!Dqjxl?; zP8v@z#fi2HJ;z8}{L}PzmcDhbFnrl-0(!*}?W(eT+5mrP(^aY?0fB;_kMIyrz(xS) zNxo*^XGoEKq&KLm0G!7_AIt=0qYT-kKKZFvZx6oLqqKca7Dp{?RXc~$-EsHshH%A# zSMl@=U+1Q`m5>QT-8apshfR}pEN-E$yVoT*u{s7pVW=I{R&G%aCmB}#*%en})Gc&Q z(B~A`++u$;wVf}@L02$qB&-ggeyIL*BaiEE2NB^+)7zGxT2jFub$Df3#f-rbrNMf` zTS1+v1e>~F1UKUHzue)KKQ>0;U&<^$1s4P?v?eI(i*6|Ep|@ZCegg!gRHaJNHk$pBl7o*O6(gSW*pIinLruNFFMmYMb6vGM8?@dvWV2dCsDw4FkMH#8?I%U zPQJ}!E!PWe>RP_07%b`qAs+4eoI$HqQxLHnFs}o;$RP1D<6~;5ES&%WPl#W}zk=|q zllU6bWlP&4a1-IBLApQa&!Lpl5j*H6)@rHH?p??@>@X7di1NH;SAC)EHg{I|I$3;| zD}xSG#-dUS{p!Leik4TN$!ui!S|6Nk-UUjWe^7)Cn%qQ%4Z( z+Zq2J@ei2`I>SV3`F>%KysaB=&vN}bU3vXk|NfgCBGsVuzVnmgp2m~fJMCHNI`L}$ ziE}kQWYJa@aycC|FKP>KW4VZ4DzMpBe5M~1%PI0-_WEjrMGuHOE~94S%!aA7cJM-U zh4X1hkgaMxt+n}2@9*575J2P1rn>TeXER1bw|%x4X;kqy+}zQ!x501A-EP(hkaU`vS^q>NF+7fB;W-Xa(Dn? zg7H7kY;bXeGXb~%=WUXN5chbf^8#@$`Kba9UW%`+(xPNN;s^=t$~(Q@%cthLBF1htkRLH!v@B z`ahj}-^rTtn*HChHxlbU9d~Wr@T&vM)5Sm<`X6RSclE#FQ9xLKJ4Fb>f3*au@y+|h z%rhN$x_8u<{dA_$AHi36(r0*{7IuX(7-+*)DzS;{LIxe=%gdJEa%>F|~5 zDyR@2Yuv9Xx5szTYsqDs-5dwh^Ot}pcDfbYp>^lgWo4X*Ts=^0f`ryR$q@%BsFf?V7>>N>^Q4u~W(csr8ha zmFEV%PYk2Qo-yJ4TAis?ZH4!I<2%Fd)*WU0kz1h*+0h5!3Z=_4w+~>gybFd>n9% z!|s+x|5+H?^R%WvXx_4LO{l6g9rco5`lpa>HMpud|C?DhIk5uVs@(1xE@Pjyo803H zPcpvIK#gJYnD+Z=fqzEo+U&(%}dND&hrAFL)F%U$`CiCNRk(!>)C>ePF$QVQMX z!*K5xYdl7 z)E*p{mTbs`2ZTjzh102L)x!2~#Ud-g3Qv{wu*JJXwLv`PHU8nbo;}SNx@|a^7_|&o z^@Yb&5RRp=cS2$MQe$^8+RXE|8;n#FlMa^rWYN$sR1LtCDY$ZQYmKN&0lZ|IN*q98 zlnnmOw6GeIlfkH>;E{Ms{#4Cgz?VZ@tiz0O-Xi*;I40|F_yCMN4G1iCF0qFI=@Zw| zdO9l?eIh5Z6M**8o%9i|Pv&x%q<@Q_%AafL2EGb*ui``BR5iN8v>-toF%8I^_NfI| z;G5JT%B^t!mfLO77dQ?nQYlA0KPi=E$)iZUJa>gh4*$IOY5(vE%lorBJASX_xsfkK zRk)TLe4~$UQ#BHpT9(oYiBdtqcO7Pnw?dQc$QNGIMAu^#1oq|00RNq!{H@_qT1*5# zJwll*ST3zf?o^jixkE;OB?5r;`#nk%CeYTO?f^BVrKmfUAw26|NLAcVx4JjGJFK)exIwWf% zv@3-qm;t$|*N-}P93lR3TQ*5aeD)1qg4zbW?_PLRkw9+ziZ3(F6}RH;SZ_WMhVpY( zvY-f;)k)uviPk`R#}M@}((Pe4H>c5TUGg&NiQ#WIE|qnH@Vq>pwae(a=F(Cl816L4 zNS;#hc}OWa3%Q1I6_fI4u5v11Ib-mEMfzC(S-f=E_8)x$i>*Bwlg97P#f4X&9?cpxZlJX5Bk}<2;_Tf3E8>nm z+wCbW6$Dw`LlIz7DX*wwJ>G3qpo)4Ma;n^}52=W6EvP z7+6jIjFH607PZVBR>8hq{Js-($1~UP&D4mZQC*$`Rh;;8&%;?ip^Wp zG)@o1IRmpC_E8s{N2s$VLlDjb7lGZ6njY5|R>-~7f?oSNuKr6t%p+q9Cky8UCrv@W z{5m(WcrUv&i^FhTGWN7@pr0W=MvU)Z_X_;!)9}u9&0VS0;*xkZZYp>?z~uJ9$9Aw` z&zWjd#aG`m2D9Gy%m`~Lu-*8inTaSZ1PG%9YBHhfjqHyx4qme}D@v4JmomcUVoc&h zniKAp*&nB`B;7wVXkm)en1MJn3he*l)*vD@LG2kSgz-OhaOwy4j~3hKP#884rQTXD z#Yl;1E!it=7dTi7QNc8DG%AAvDM$gAMkVf{cBl_La;|Y-mao~9#PeV}T@SwW^V#K# z#^)hHol9tJLoy*(pJBH@lq#mVv630P9ZeJgoiC5plc20F!`XeGX^txDf z!G%A_BH7Ur?_@Q)V!KGDL%U;~n9ybF+TCwXb^WNzH#MhIezMc4fJFbka-x-RfCRON z#3W*E4VZ$+yFJhTPz@NG;AjPquf^C%;@8&qQdiQEUsJpxF1+%B`vLXPzO3ab>}!wk zmBM?w(x>)r9f)QQT6hi3#VXpsq_)xCLO)x!#Gl|7Oy29J7ad;zOq&Ig`74vpMx8nV zKVJO5^f7TlEbgL{9BdQ~MD( zz_koZCcXFObaQe@U(S9Y=Z7Jh_U8rapky4LeC{|x=*3GzP&HQ=aIsNn zUrq&vBW*8c9Qwq2iY<{Mz+RGGEYeSiFLY!>750qN76vW6u=j3dN??9h=STh_k!6@b zC0VsOfNm5tNCKlwMh@xDTS$^)eiM(LW{us05~G|e^K}(8(Q$ua{#G%zqR`6XkKLA( zJ$114arV7W(sn$|sB2-)Ne%0B^WkVZ`k~-Gp@mc|6&=>qvsb$!OFnEoq9Le>O@}zZ z>R8bb%twTvR2;tO)|ja;zfmMxY*icREOY3EY7Z7pFA7-ir~oBpIG)7(d4}{Mo|cs* z;D)5Hm5xmBZ+&X+mkb}d5MclHkLaptNKA$GOaI?T!9B(n@o1?3k3omau~b9DRqNlI zmYqNyhXAVL$%1CWFz}~_cF2;?Q9|(d-6;%0c)GMs(l4}q_zjn=Jc1R?3pPVPY@GBC zk4mC3oi@rhrcYuT-PtheJ2<&2rM6e=1Zpa@IBQ8+g0^fvebPQWW+eff1(>k&&1=>i zaQ(YF(#1EcV!qhaK<~u7{K4ge+l!lUqY{nW?f3jj$N2{nU{e|HJ+6bHR0roS6oexE z>Hi6rOBK>R-nh_r`nz{^MOxz750)Smv=jPJmj5YH6nT%eUFFQ12M*4JSP1 zskD2Ao;Q)??PC0h-~&f5oF8_7S5@>d%I7elt}$GC51K$tS^I{C~}dbZ`;76il~B!hm-Vx2=&~ABgz3c-9VZ} z=t(h+*iuG>EgNEcHj6S=cNskHs4RW|B%ll^#b7DsV_-F6$C{-$ z+TSHV6c|84?Lx)1cnpJhvL0;cC)i@G_P6&1y$;^&{Ev58jsQc3Su~;|S>h8>Zx3mV zx>|!62PYuzu#|ewrXHFx>FNo1oZd_}^%`Bt9zY<+ZTA+4k$ib0KXo8px{+{~<79BS z`>d=yRQ{VzTe`R(_bE%7xlf*u6;7;Gx~|1|hOP<2#_C#qk)LHFGJCxD*9u`-^TYt1 z7M{6<5B*O4Cf<`a~rXrabPsBsq2Kq{poMmmf_$pi_?Gp$oU% z@65PYZ?J$Wit?4+&fQR==n1JjO9Ci)vFDS>@Q(Wi4H+~uw3xo-_S>48Ikwq+(c?C% zX;(WOVl{T*VG&aL*BfNuG(@iZYW`v3Tb*e1_@6GvvczyTGWj&@V4k^IaUiH@ub;uY zcs$FGi_%MY0aO$672zFsso}i4$*#WxwTpe;FAExb7me1oxQ_RqYlq11?RGY{r+xCj zpyK8G@vRMUXSK+myB8|uTA2Zl3p4GEffX#9kt$X`*hcQ~@~hbC=8Yx-vF~gEF!UI> z-C11c{^F16qCTSGjm}EAIoqm){K=7$$<9D&LRi1wxQ-KSCLX&1h7>cjBkMBDfNG3E zDcqGx_M$Vm({uzh$X3=HJ+_~470HXD3Ze#zwrV{Tcw<$zZhGnI6*qn?DX9!W{1H#E zg4>F!i;8Mnm%3_g@Z-*YG0LxE!B=d{uYW>WcaHSKh=jfM$jWBlIio;M zXoD`;oi|cWF)BMhB4r3n`%0;e!M{bG%H@bbZizH-9AJju0YhoGB~HR;v*dz+dJTPU z8xpGXU{Fm7{clamd!QP66?*B~2^Wq^!qc%YFwm&j_yAjp}HCl+DyjEW? z_N&p|4P3Rxw(3mFXHHJo0nV}Y(_@jW0Q(IT@C&oCtMO&kx-y(6zlAWF1jNP~h=uLX z#Jpj3_Sx18NL7bcBh4HCuM2>Yk_6jr9#gw*a>ecFSUxJD>mi_Yu z))u4Y&@#h^2UE;XxSThkj5~@TV_CO!S_*RUe1O`7muphvK$y*otSYJ?wAd89-6@_T z6^(gc8c84qxXk6JaKLHlHSqeW#hMLb{4Qw;gFeVlb=BGM`GH#5)Ew=TPs0}gRCRbG zY7(oO2QBMnLatgwWgq*2@I8AoEo30(oQUCUbihi$*AXwunU=$Hr6Z)J;DSG*fjU^B z{Z5OCu%;6>jJJ)DUPLX>VElJyQqqpV&!3>1KHa46l2^4N#2l3IG?>CcUVv#q4(fNz zCsXD|{gwR^QqDITHu0CRT_tqus;x@IabUH0iCVB(8$)-Dh}!`TP(Hv61+Om}Thyj} zh!=^OT45MQRthLygzI8aMyX#zfO0j&diMj|wrW&Be|phDf=X`SL!ChjRUs(Ss8DmJ zTh+3n2%7*uzY>J_6?I;X-)$4}p5w_iQmM)4VrPlp5Sp!gtM((0EE@7Ou;|!$45xP|7Iz$J z)-iVs59s^-c=_%1XYF&wkqsNw>^8^$j`G582V@{1Qsw^3DgbT17QKq(L^Sqk@_YY+ zy*ylR9)TGo!#cz^R~`E!8ST)^@~F#M*YMG`S2ZX6CMbr;--jXIH}6LkcZ|rIKPir` z#q_Ht{jF$xa7|Hlep~ydZ0~A=LVCMLqY}h5oq1~a&&XpZf4ghvk=)wUex>xCI@xLZ*`hkl71uM~)~qh*^Kahd z*Ny!JYP=Qh+;1|Czoo>LL&^_tUfAU3+1!yE9rd&as2PpDFqcX7Rgu`!1+8(esfJSW zXout>+sXGe6jEUUe|+^KLgN9MJ5yTayo}+GWB?6sE{A^ zD<|CMpIn}gkA(5A&uMK;bQTL~y!XCmqRfX4utBflgS#6Xm+WJc_50=y1FDo%!2K4; zEEsHIX^z^=AV5qWEZ7}v{<2TFY5lZh{!d9Py0Ts8u&S`*p^5mHxf7gfyKov7psF?d z%3o&eXEXtUdJaIenrcHFJ!26j<>%=4Zf<9#*5Nz;l4W$J)fw7>w{@cTJ6?WE(TQdk zQ{SDHN{G598>qHaZE*)#Q{wS~dUsQ8E(~1fYG1>?$_$f`>t0MlMV|B)v?WC%;-G&! ziBl5Wo4yAx0MWNqu=gxYJg#2e>R9LR9npyFS(z0E9d+TeP92y*e zZ067Vsiudzj7VtQI}TWhkNV5wT0dh&OS8k%CZZ#DJ&?ud4S1xLhV{5WsyDk<8jM&> zyjXsD>#@0FE3YWgG^{IcCHQ!>NokZngZb{?nbHxYTbWeuftWJEBoCIKpE-`2BnNcD zFkRJ}4Ov-hm1rd6umXG4k{tYr=N}Uh!m*0oSkL2ZW}&j`)l273m=@tGHd&qkl~(OYIdU@SSCe1Bj%v z6G?Kp`yV%N~wRig^&w^q-{<2-N_aL5>BHp%##Zvcd?<)&aU41pf#&fHQ-%Q^gO!A5-Y-dx- z{pl*xn9|-<_r8evclA)A=A=D8mVgj>5UcDrYu@I1wDYLgUoMv(Eq{<`9lh|A+`=WY87UA<0G6JgZ!A#dfou?YB!{2Ho$s2RL z-4SiyrpG#;>%t!J8#VFp9WXrhh%M3;UZMf}f`XV*Py)f4=z$EO?I6`x2+TeiPXAf= z#V<^TbGdb+CtaP~OnCdnOPA$~=uA`%!!%}89c1v!B{;8#0^}m#V#>LvK5paGa*+tb z{MxVyA6Z9T@hgGYvvaf*os3>;5wqC}srr1E)tJMr|N6IDTgKQNf*A44apV6umqjy| zH*cTWywLHe^O>nLNjv67+S=y7v6}0@bM^A4+mi!!kxw@N*PDHqYJYJZJ@KQMR7a$Z z$aI(z`C4PYTg;&8*+KQz27U zrADWu7*Ve6H`kHojvpSj(cr|nX9^+6&AC{F@Al9Cq)&zsr= z@@>$)*cj75B4emOChQiEZq`3)@#!-dn4du7H7oQ#`yt|OCWo;`4PW<5rtk))c>>bc zXP1;qGwwZ#cXcf${Vcpy6XoG^({`qg@xP+-V7qd~pvpF4SeezxIULWyz$$NeeP2&g zNnBnZJx9J&*DrCdw2t==fT&rYs1|sERC%PAd%blsB@51?#aX+0oRBcSs2k$mK06;J zA$jkorDdb@l2WPC_OKISY*1&-1b7u>928jAoelCdZ*-Ac-qD@6qZq1cWz@Wd`eBO~ zl?u$Evb$aBj~6rMTpr5BuN=V(zA30KEYQa~9FQu-=+&PoQqknOo2gMYFA*kcsR1oZ z6V0UZ+5V#5#iOY=&ieE64PljY_HEwPAXT2L3hU70)iGnoy*xl}AVbHfS1}N4H`FeL z0((8}xM~Tfk4ZV1&c6lZ23&6|JX8HV(bR~(giw7TPhs)CMpl?I8pDL;9mFuYkyNuN zW^y@x=W+jZ^!9GM=qNvUA~zyrWumk5iMac|?%i*j_uxkjF8X~U955$Zd={ZYlbpfw zZP+$gCalfn@WhMb)9;usrn0iWxMLa9%gniBP93$Jf1dpC{+@Tl_?ng9#QoRd8iWZw z>41RjtmaK%Q{zNfztJ4%HA>*uI-uX& z*Kxn_XTQ<;Fa3gdH$qKNk?n@gfO|UhIi-i8^5*Vp?RSc}0#@i7XUW{w#(EwrV{6hX zu$emak0U51823)HuH0(DLAGVLpaZn4x3HZ4wLx+MQ-<$YBh^^ZS4_-_8Ht@C#6!EN zulIcKEP0!c5a3+UgnGricM>Q*JkAua*@6^y7ggH6jW>A7v4icVUh2?Ov|pBU8cEF= zP~#LuEMXFx2%mSkLwJn!_&R5Xsy}M5+mZ_l+qd6kr;rQj0Irrh0u=YGe9FEe3L}C$ z5_!E-4#GyPiNdbD5U3)6T6h-Cnmo;I#IsZIgGhpp^(~ZzPEaxj$mHNW$Q3)hKIG!m zdz(WZ6VR@{vZuCRI|9*87BSs5@k<51EVC!9tbCr ztUI41Y%Hc5iL$>DPfP4Ivg3uMLHwm8ezq_?>85Z27qpfgwvr8*5iTG#N#u~*JOE}2Q+vqbF#;dd``N) zG>$YMw9nM~WBI!2$*hyq&Ww-r>vx(cDeOE1 zTW~Qa`JhX~+=V{&O(Xc>e7^TfLV2AXM_ZO(^y;S38a%`|=~lvM9d2`AWGn$dT)x)d z>*1@}6D*L^0M90yjT-aS)%U7{$7Cp$0UR(rqZykgg^Uc|zSNLle0Qa&^Y;t8%AFlX&QE~Qm? zJ!()^2^pK0h!{Il1UMzpf*N*a$E(#jRB9%*KBY%2_jl5i$bzo6?oTpeXr7Wlo=C=Y znA{qEi8v2mx{t~uAU{DBR3esi{Wf2lz4b}ouVl~0H3qxhi=`UHIZIk%A*_%r#h{|FG-n@!|Kkqjuw|UeL;FY|eEKd3jTWwx7@D=s>{O8{rUPTGdodRJM zUIQqWAmgnV@lu9Ok*joXDchAB)s%7o8V7O$jkmnyQC4win7ZTw*s9-|mVv*mfHhVKkc>>F|w?h;w-Ig3BPhO-$rJr$w7pRiJbh3WSV8Re=>Km)A# zhEfdD7icbqb$+c1cf$lF;6($N`;RYOuTGQ|Ovg7Cz80E<+yK(@s(FhCTdk|dI*#U? zIW~6H8oD?)^q;Grmj+oe(i7K@R!=z$sF7iL-9r(Njbg-4U&dL-PjWs)(0wU4oF zapiSC_vZX%ieRstt|xUuhGUY8yPz-!JCStiABIC3q$T$Y zr6|#`1b}E9I&rU}JflP>*F*$%Urd7DARF?w-VMMs*HQ;JtU&%cqyDsd|4ZVeO~VP! ztwLjOZ6~|T?cNSAUUA9Y5#;0xhKW1#y-dsSwKoIeY`&nY`qg>!oiY9}49wOcBEx`M zj|@gw`)TGmxyy3zPPLH5n-aZ{&gn|E;vX)`xL*5ge>jGS=BnLLCGMC)T2o(A4c+XQbFX!_ z1Ku9e;TO$X|9S;IKT1oT*YzG~?kp`KF7~C0CIuY+gKl?t_aL(F?Lpl7M6_!- zPVo5Vh6XT1bAspl$CG;xz%o6ea-eM^HUL}(?X8-USwfbjx5sZel{V$=Yp!}Vh{qJ% z&cKF;t<7_v^(GO@I^Y?fQ`i(;)udTW}e-`!cBr)!54PPmg^ zcb`sD~D z+#RyyjLBBF&{Nq-RMyZqC1c=H{)<`JG1Ge)3DI9w44RzSQEc5=QDr`{*?cL{L7vcw zLv9)Z+q2Nx?pvdC?VAi5{Mdo;U?)Q6VDW$(0T92~AE1>S^(z*lNGIx5^rw-p6rp?# zfSo`A`zc>7H4(&0B&sW+oZPyzjDH~#U+M0tWbic6ic{f zJNp7a;LXlu9b!IHuzMP!b!h8Hf#G+(qMr$>NO4~a?9LdpP?neZv=Wo?^_wIRTsJ{S zsG)t^f^deCSAaf83WWgIqi8W69bDlU@PD()rh4cS;IUdPQ@GKp1NAJ|n;8%GeWNKEgGGZys>jfkypK>C^IoB_v)DSQ||ZL8!B$R`N5)}mQpSuJWuz^yyuH1 zCyWE<^FFIdIX}#TKdqDim~KP=xn8z(#y%!ompm&6(%mircD#QRv90GdathMX>uup7(AgIObOikbD2-Pfz5(g2`V zSY7g*rLnJ5=@TSW)k_XN6Dy^s56b%vhb6qddu6wMQ%pZ=;W4ZK>pIfW zJ3PEO^=#%CaCP>HjKJey%|AkAf1empx??5#+kva>|6U)JrEX?k7cU;S;^&G$Gsk+k zkHNoJ}E1n7EM`eR5$sua< znf{n?(`MI-Xt;P#uo>6_l$7=4Sl`H6d@Zt@PUC#Q2HkW!s=vs6z46!$Zsz2wax~Xz zl-c+eEL66}-;r9#aMhhwTnTf2)6g|>QTE87#z7f^vOxb|;6tVC^a`Y+v268bS=VBx zeyg6#i14=k?7-<$1-gG%*w0Ok-SRDM4RK34pdEY&kU)1`C5`TjfD5@S|BLn57-p_)x#z0z0zcTv3cUa3A)2Wv@=hEb} zQVI9ZJkx%yrxwC`~&iihhC@U5P>@A@|zxc^F0^+{qT$Pa_Jev`jQuT z;|SAj5>adZMtC!72gBfC{_Fe6rwzuQqdng1P9gjl^QG|-B2vI?%pYqLMGO8iPVN-( z+v3w(t*i{?SN3rd?mtCffj`{2iymL6)nj3L=T+-l>159Xk3h|u_<3F^zIvjFe^Dl;q4_s0xe?a@pk!MHsGoB36ur`S(YpF8u zzEX79t)~g%DK2=mXu%U3Yut&*L7~?Qmb`=+YxZ4*>qNv0oU}#KaA=J8TZ5OwJ->Ra zR%;ZELjh<6|2Sc9XMf2%d%5qXZ{Z%41x;{=y)2qG3!tuczWHEgEZqFzL{sDd!=xpR zGNtHraD-+${8SSbwHh#|foNI$C{R(6GSLDr@L>Ox;nV~nVSJR3C{4!j95CO!Bw9}* z8v<$`A|DN{x9k;w{UP@&{yWndvG%or!Os4w^P9G|tO`s7=;-2~mx3>CwL?@+2+>m= zD2a~=C2op)Z(1kyCUn#**?OPK2A%UMo_=vA_)Lp~I`ofl!|2f=dqeSnx{@g`D|Po( zzN)XL^j`hKnw}Z|lV&B)*bSFz&{`v5P^=KzUa6A=36elv@UNM3GHM==PAvT}GkvCA zvZs^D+!SzV-4qWJ8vb0*RxCX<#qlMY1l{j9n~VCNm8ZVQ+WAqc%j)Ob0mA8mH#(3& zmWp&a`-A0Wl?Q8zuKRx+!AX;6W04tC5%b>^vLNKwj{uT5ZujXGSsIFX%8hzSUFCx( z=Mx_@DANdgpLE+qag35o#FPhLpIspd?6ig0{6lrj!V5mL%woHX(w>3HrLtspcjA(V7pdpruWp7O~hAv$j%5&{`}hh#3u_y+wPR0LnK5ZviMuOQ98M1#eDQJDP| z)lfb&+)mv5p2s<&Hm0Z;BRq=}&1E?o%107JJ5LV2D!7ZfJEkgGXzfzLow#H8@8{)B z=6Nu&l%^{s28f(wMQu0*%N`5NwcTQ+}vgsyh)#SCqWT{l7)DEJJuun#UsA5 zXL0+?QRaKYs?N1Q=hkBX<;L+zg;l2D!w)%(d0(jAd6>X~?DeQTmHpRwx&l4vj{Crn z&AxpNfp4={^y+t+$KRbMg@ZIqE%A^2#ke*5uQ@%)?mPB7)uN1m+%L8u2E&XV2*}Sc zDCQ0|)bwV13zhmb`G=8W1CWdmn8|CgXqe5Z1R`mpB zc;DI7z0*2hwhK0kmhBVmXT%uJ4EtO(&$O1>Nu}6vB;y5ddCaasgqv7B=g73I3#}HM+r8hXzT-V^dfHU z7)lOVY*vAN)fo2qUFBlc zR(xNVUYLiMiZB0{lxjS>WN+~!hKx-LY=%ZdCl(W2Rue4U2kcSSExxq5qKcRrP`rQH zEsw4pOp#N4&m3^OE+mNLW9g{0}^0>w-Ji<#? z43aC~JEhku-{>aO)LS>t20n>tyo9XoxPR)2kGdo5~fZfD@ju$<$vk>d$`vfa(1~ z_0VZ#zop;Vit=M2U8`p7t1k*w4Lz~!LJ0`oRZ-Ay>vCnK(4Je6%l^}5X8sSUb`P1! z*8V)iZ5ruyUncthbpaaq=0s;;5gO7uHnt3xT530lNQxTUcESxeL*2#bESIdw=X&Im zPh2cLl(KY78g}x=9$F$NJ}z^2ww2>)vmJk`Vd)CE?a;qAmLp4K8xqDF2jKE|c50Kw z8X-Yf#;kp!(?O%;!)pHLme9Y`8;UF3hubd;qT-HuMk(R0Y!_$;N@G2GctAjvyVNCL zaqrEoa{2-#PSwb1&F0Ru5But5$ukuo z^Y*(|cfe(9Zf_<#Q$C;y^T<^1W58GTzfuP4QQf1^`Z zc0pd?Aei;KEhViT)M7Mgxs;-_nF$h%4Mro7u5|H-i?16>CZ6$G^p07`TBpAottg?l@d2b+V89-LQ4yz zs+L>)hh?2W7PwaPvI0o3_073a6EV`Q0O+-KCj8&{0OyW6fKBKYTF;W8$@?qa-TPiz z_5)ot#=^4+@1Cz?@2-1uPnY}rXtc;(8#-vg!6hblsoj%7CB2h-#k+Q4kAZ+rsy6OH zQ+gsl1jNu#_W_x09H88Gaqfw7_=AKLlkH->>;q&IOk;7IvwuHH&v8#xt0dfdBSQu> zzrBVE-Y{eF3V1*20uY^%SZnVDgXlb+3%89YOv!Q@7XQ@h3<&;%Tv&U7NCjWLkIfwneY}e z{1hW&+VzLMGwr)U-^Zd3XwkW8hgHm$rZFG0Kb-P`2@FJ{snmtu2$@!-}CWTkiX&Cf_?lWqSfApm6A-v$+bSgH9$P@F$5>Q((n1D97 z=qv-em4?!n4MAa<*L$5q|306r(Phj#hJaK<$ zc`RE|Fg~)L_m?Q){)I)1I%k>lGSHVw-}=}>==jGANne2nA>kbcBVO65z>SP)dny;k z1_EHhItDS0x=7IE10x>0JxphJWql~|30H_%@D>I-7mE7cvEMGwDM1Qj!VWs+;X`j? z4o8&Sbw7`p?bI`DeaJb}@mS;$(iXj5?k7`Cm5^meb{0ynRb~FZ_G>o=7Lo4|C8$NKwa2lpnv1wPU3 zv8zX$f!D;+h4jK46L4*ckry@bGI~`BV4kqLVs^0fF)=WtuKqppjeUg|pv0l%s(md-8u{NOF0+jRE1r|VArM9vDs1XQH9i2`+*H2nC!4SV;a19JEKq{#riN*9zRoHgo1IR`G}o=5 zckq4JnSUhIj9P09j;=l9($6#-J&RFlIyN~-JCPfTXbk$9_>@qR{R6c(6m<}# zx!0)cW#B#7(|ND2d(6Y;;tG0|cryPBYP*q5#qOttVEE!{gSxT4B_ZcPEF5;&(4-Xm zQ{Scfu$=qh5c@Upxt=$zEiU%%*M$$xm8l=RNuFz6vu?c_eqwk3HHg>H!C9{XJ-)xnn<$cq+95f>pr1xt6BSH*8m+kdwV{?%OhG7#2X5MGNRgh@DjnMud$;*{48r7yYK7%54b*D*XQ$ozh2MhU8 zUr)Z3GhGsX!`@)GhDj`$4$NR|y{hjDH{Y($-R1$mtr@?4td0F?sJH6RRP?v9UjtTK z>x#e?s;j)!kh?r~`{|a=k~$@lIKX%%r9tayNSN7g1KLATZ1-i8`tumI7A}dzs1cs( z5Hsq%I`!!s4Z*?%wu!X_Tz`nMp8D;TP(16uv!!~0RXlM{26Zmm1gHLSF z=1L}X`c6R#&~qz+E&pFS!}?u8v%01B*h0(bIBhe7A$r8G?d>X#+rvynbDG!-BzA6=z2+f#`7?F3HW z)KYu9;w>eiR1+qxB9kOKVX;raLNdk|l$DX-56ytDT0F-}Rb=STF@o{!s3YZjwo#sE zM0U%&5~g1|oBSkZAXOBKjq2}Fb?*sF1GZ1fjevSfyYAyb#X2jAk|5k=wn_p=69Rn| zr+HPBPhEGSbzE-ZU6Obw(mNYJ#t+Hn&=acmPT8v9qlM8(!^7ajHtsh=o1i>*?!8U; z&UVsO9@)06tM<|loCJnh!J5(ojkcxC-Lzp@cohe?Hh}J392VlzqWk}Mzu>s zcl_AuNi=<18}C7HO2OztmRbuxSn7WNvG;$33Lb~0KJJ+XJEiuN=$U~5(CQx>(BSpr zvvYv=8+{ofrGvAtJog^ya(PwTKY)c7Jz?m|&Tu>YdRZXTZMuv+{Wjdi9z=eIwkJ z+$wfu#eA-m*5eaM5*td}?xpyni=FUp0_<9F6N;hxie1Dvr(cv$#3H)l1$d(@QZ1ub1+{=Y+w{Dv3vnrg~C!`6Ad7`+7+<3 z+2S-O*Gp!Go3Ed!f|`l-M=&_`bcva25E2MwA{MyKHbq3KyC9B^EpWW3f=?RUyxh3< zfAczLVj-D;OcsQ!JQb*>_ys_N{gul23#xu4K>zQkz5ts{C*-ZoHzl@O<62nGXm9VF zV%w)fR~EMtNjxfWc-P^Pk+42UD@%`91yl}MhW=Lx2wKl#f%_IpbDBb^zW^rd{MO%I zNhYG(pgt7-iD$oKF_b!#tw)3fiD=%Tz*8m{)3y8q2|Xq23l@9eA;-#Fk^w!u@MWcT zxzT&c(?;9&b(lHxF%*?qXOmW1+YM!P0NeY}>Wd+e<;%=a{roDE>M6RnIjv-VD_UvB ziO@vZ3f~@fn>Gs7-uEGc9_D{nG#}YE5(djup)IFB@a>X+82)lz%%l6=a>T;)qLycK zuDItLm)s^jt8|(llCURi%1tsyx(!opzs!sTnKq|4Fn_AW^r@-x@BfV0c;$@^ANVsE zznLSFE#UGA*!Roc+Trw3Z{ih`y=BCg5&ZQTilN#Hc~{K4964afy_g-C<^wvfg&Jyd z-^lv7_pqJ@XuKLD+i`m>Pa$P*Xa8jToN$pTyK{f7I$gJbHT8= z^#3amP*f;e{CZZxcU3GWf_P;M`k&POkvHza$8yZN@&NdegXpLq@@nvNy!G{8iE8kh z?^3qqr5KLR;DWcGmTpg7ijOY@ZjQ!L6)ek7J=yOLNmDXF;MWrXRu~@-RuVzAe#Lrhxm5$yanFN`1fz#Jbt<1UJz(B+DZ7vy#4O2y1r95cXS}WiOZ#qMFZ~TS$)#*=@)jw zFtYo&9CAi`_|n&U_hw?wkLH!Vb%wsbB5oxMN`HRxbkxGrRAi_tuBIE1;nk^FirAX( ztbwk)EHP7L9WxA+|7XVIwemUi3;7hDyk>B+N-B+2yzrNMRlQJGcg6V`LRZ%)DJHQ# z?_)aPrn(t=`(eNrfBwnbAJFGGl<00EELfmB-PsW>d){qxfhp=yFvGr1Sh5h9z{dE; z_zFkfK<^GP#z^*iCI+kZT*i7G)2w)bTS6tR+a{TZ@xpng4DXv`G|{WXew*A+W}gI@ z`tclfttZgFvMI2x8q>2oPG0FL(2FUiaQp4S?Gb@M1z1WGfdW!HOQjpCZ1GC%QM%Jk zrbJVwNK9Fh7O9of{%g@Q8`m)q9vD$>{x}Q#IObM_B+V&fxMW&z?ZAbDcb299&HXqo z`MxH}$ZHSG+2g7ff;sC;kr`fCi7lo!FZwgaXfKxE3|uq{kK8PX3bBt^jWaJa_#Ctus;joe+$>&TJiIA%g0k<#m~WD}Tq{?G`;;5R3kxm`DL-qA{bjiePQ~26 zCTwz3u`(aCpSR8NCrs|{!9T=J?O$A9gavR?Y;hn z9<&$G9Z`(Tac$yrZQA%Cg%}>_-BJ?5-r_O0(@r$vx3f{CL)JMVNb~1HCj@iWW}-JM zKOri86~=ab!{n+Ao0Tu@{ru)O@xiHTYwdDMc;q9+U=CNDzt0Isdh)Yo+Tl zs~>I@>Y3VcchzVb9kr5j8IoLy!@6txGX94nlwEBTT~TCq*uL&K15Z4lX{F!^JxA;Y z%iEMl(l{XjBM2FQ_N^`J7^{K9*V@%O1F`45zH2}OMI$fY%Jr$4wHHUB#>AZA()4NDn;(UW7By*T#h0Aa`H-7nUub8B<;?ro+2b(Yk3{aQ^H7M*kZKw4 zuU?h7%LfwowW(sSS zFyx&8Mn{;ZT>KQcd7qht?n6AY@={sIz1b#1a6om9c)^1}9)dV#m`DDkXy_l*_UWa> zxw`TDU#k^!U>7j!KCq+Wa9F(eWV+?d{Ko`n2IS&V;WrPEM#E_?M$|hebT!t0fB+I6kQ&*u!T0#9>i@+B&-~B<#yNw>y4-= zE1MFpZE99CkRyO2;XR_(W?P~gY^)=|)TAx({ z*Ed}Qnowu^^lP?h_)hA7f0cZhYN`D|GTUS@mIErO zx63q-u=YZNnrx$pM%zy_@O{Y09r~@`9Z{9rd)pLDLVfMI-mrfH)AiC_EH~dNqmCDA z2dT|#vV6!7*Pq#H--Cb6`OZT69368QB8x8IW_LmG0iP7IlaE#BGtC*qCAc3>SRXpz zW<)84vfHSauRX`P)eLd6vZ>qA-IRON^{}YVvAo{!`9(t?=aS9gZ6g{Zq=#h0?tf^# z8!3evV3xAWB;0D4p7g9u5pB7^iIDMm>I$ElYi4rXC4v>Uz6iQouOSZk>x-UYqZ!go zS)>mk;_mT1_t&k`X|#rkZBHavs*Jacg2*%teDG&9HI=)k{1@rvve?hwl7=*aJMlcD zMz`|BPTo@w2_vV*VyoEl-p**ndyNl&2|Ch-MuVMJ0nxm(peH`&19FpBcim>c4P8dH zxV!~fpDT6IO`OV{97{VY{MnHG7pnK7X_!Le)m=Y-Vu#;OF9m$!2*fUP@~JrC%ECrx z*&K&V&{l@6O}m~z2$yM!ds~m78FX7!&H>Qk_-B~guVGz!Q|PkSNRSS0g>jC%@{KDe zKmUjJbn~|W>B>l)O19gxbww!U(Ded>6H?=~VSicWjNqjgPqteUkII-zD&vW#bmB8D zBbSVA#~&XwNC9t)cqh#4L3Jo^cF^`+Z0DyLI)hQGM>;qv?+f%TNV6SNkuwWPNDuNk zY8w;kN~b=171`mvitp4|9KX}{DH*K_kL+Mvd`NiZ?&_M+KeL$zU?eAlLN{MU6O+_p zmrj$!fex#b77^Cj73jY?*p|L>=w^5B-wJ+1P{dn>MJ|ZtV~@AJMf1EqCu_pnL5@MA z8OK~hHy`SbTn-4p<86i7yfYGV7e0#?B%dR>mx;~~)_c_tug|@4Bqc%NXG0{5o{`iu zaV^4zs(q1JquSv0KUTw>x>tQxcO4^a!~BXz6-y8LDDX~QHoy84qagnpD)se&M|6qr z^6T!um9jcv3;^BQZ)g3FYZtypM{7Tf>Kj-zBc;EKG4#2H$puoohP)GiE|DE+(s~SW zCF2>?KJuMqXx;Ss!Nv0-v3sWo)*i_u}6vGLHMpxG%|~ zc=u2OhqV?{_c;ld(A=_}z?l;uKSPQ@EDEJAPWiqZ~cy}mpgjm1mUX^ zgViVj=icrY;*@>uZ}}--!g6>@d&vJ*mfd}f($waS|; zA+YoSOWWoa|J-G|d~s)517U^(q-;cwnmO z1wRqi{kFWAQVhsPWIuFRy;@T+NiV+1_yA7`D!(d6-<k_62vX!%veubpD$cp1bD5}B<~3aDdL)pm$p$AX^3BPiQQLirwR;Z zaiiAv(efK)#^O4iKCO2vG^~Fr1*OX= zH7uOC$(LKW-(i(+Z1;$N>Duv`YJXtVazYt2Bnx;lee~km#oJQ6{f~n7A+$o?De?E&^*_Ho-~k^8SN{AwMB`b@xn28pT2Re_>Zn za}E@T{3#v@+gi8MZARU6wF;(1(g=8~YQNI(pQ+?(bQ;ByT2|&F^<>5I9Y6D&E#Du| zy?9xc3_+}n@QxqFQmshy7tEKW7d2Ub^+pygf%j*V{v=n6sqzrl5x>(<2uy5vzsz@M zKhJo6$wGvZHb?z97-&=Gn%NmIrIJXUE#ZHaeL48~qb~G+?=9T(PrcE+8OML?$zO_Z zZ!)|_zoYRSmq#d&W8RH=sJ3exgS?#PdaF-_Js%_%sJI|oEh+=UUKa;!*ups}Pj2#x zDr}kLpzd1KZ{C02=UVL9374ga520TZm?ssLaY5&R8=AJsy5S=omiZ^ln7FM%a}p>& z`X_8xOl-e`+;K{RlnlG6ygA(Rtz*c0V^G$XAj&88^kW2>8X7gkQ~i9OGFy1RdVRd5 z&3bQh%I1i4BC_`P#+i_9kH$-c&%(I)4< zaq66Rb)|Fpy~WnP*jm;Y05J7?wX(6Xk##SHr_xBPkGl)#{SDb$?Qg7AU0c13yZ8TR z0mk>AwycIXHr(%=lY=CxjfKJDEDTfk1MbdrwHfBCQJzP9Kh#)x5u#m#0W4N;`;YmD zyGC&OU29jC6J_0H*V%;F6VC&Yb7gP4ZuEn2O-zCzNck^w0k_~&hS<3!Z3P1_+meOX zILAopNI$wW_p1GxrQq6_s=N1km6ozd4f!?dDHnVYB?xnvmKn}yIXlhH>e#X>7jcNQ z%4i#oWBfDheLhf_wF*G-VLNn;d4>~Lvcw2aWM02--(0AtF&5HN{Hw6HA#SziV#||b zwiPEZ2fFknKGj^s2~DBc?=r4%G#1@jIN$!7oHc1hS>ZWS%WoLSurCL}Jp=n|6))(9 zty?J9!+wGg6yw-geYZv470gH7Y>@%%Wzvl2=XUp1b2Ik+JqMy2$yR1O5`~B*oJ((b zA44yrmm0MX9BP?Yk#U>_s@0PP%EE+Y;? z_?+6!{1>9jww^W|4~p2SamK9(o{35N|Ad;3Sp2cs78Cu&JYjm8poOFyhDG?N_bPsw z8V=zP80~(7_ig5#K8pzX!%HxaQ8}#{E~9cm1~Hoj*)1m54VHWbr!Z3>UlxEEudU~5T<;n2NZ|a z-PB5CTWHkHnS7OyvM$7?L3CX&4#w@ICr*c!N2v>&ubV1Q4@1G zw!+x4tG;EuuXRrHEc&teBuYE5&3U@KVT*3DQ#a@HaC)j4Inx}oPf&4)a>6yDOGvBC zJ&bE@g@hUR6aDWY`eRzqbvk3U*m*lJc8|+uZZuWR-?pTLiBfL(oVAE48ZBpa?z9AW zdn%`~F`)C|ov~AarAZ0aGsqp+9n3x#Gqo1G6ETI-^`pafzx258ZyR_`2F}M;PX+Wi z%EH5QR!gwU&MA?5fO`76&zwyXa5&Oh9&@1nYOowUS&+>tZp+ZX@P1D{RtAE zmuW9rXVz7w&9VNFEsi&|tUf|!_x(-AT#U^2x_nXXTJp?Bu0D>U$Z4Nr>3L68(%@>1 zTLF%%2`NexUe0PiWvvm55|+k<#MsM3g?#XbI)?>LPlt(qF>Y!&oYow*LvW$}Uy9Fp znm6ju;kvfwN9hls=`eafw&&`hcWg0UgxcKFxeNcU1b46bM?#{`pRI32oB%}7JYXM7v+^<8cr5~D7zltm`$uHAXmQ-3L@>Zjb{Bf9E7%a4gYpKN*TvsT7Ebv{+^vd8Y8Ihg=J+t-73lFlMxb58c*5_#6Nt7QZmil)|be>ig#+~v) zSXB$?Pfjyj{$Zi11z!t%=f1fPSR_Q;9I~}aGZUPYFr`=JMR#0sS+;Tpj^BQ36|;RO z9*`WAErEQ*-xx8MoIKhoQLEGQAa2E+i6BD%-G3*sx#Y|~ zm|r*FMzM*e_MA*^VE*~`oUyGN?V5L2&FEh3bjvlFVD?K8Z=-mlL^nt=MZ_MoUnn64 zNshgg0n<;H(q9@p(j;>~QBRR;cuYHx&F}SxCrY-4dPYUmmAJ<~c#&Pi*?+6^f2Y1< zTtv+bYV%tSp%vJTrb~j;CbK1Y7F*S@oFAG{*mFBQ=7d`N&&mt{yYr3AuPQ_LZ-Kc= zVy5$IuZyO&STMS1%YH;TFEywfDRmy6{tKz~4v=!2M!fQS5`{St?4Mt>><;_wc?q6? zWo;fc-y?2V6&a;xbr@c}$A0tJgz2cg2udocJ}xVCYRsrs#1@jXLnb?@8^rmpplV~% zql#6ly%OGS5a}HUg9;M`KCR}52}LEI$1&iEniI}rGD zh@NFKI3-*kHD+Y?pMty$=uNa}>E7e_76?JCz5Y;{+S_%O6yTGUoCn*sn60O`v6`nA ziVVDZeZHfF58_JT`$uP>v7T4a2-dDX#Qe>^u&$hg??7;yC{=2m``z zV=cHJH>`k?oU2+PKLd*|1Ug)p7)f}r5(&sr+^lvKuL!x%R7LTFd)+^s1<_XxE{_D_ z`9;}6)zc125Faeui+j_b>UpZ2NEp9eMwhciZj7Wm=geR544Jgs?729E+v+H=zMQUh z6*+%qtYb*ifuPuFD74C}I-0=@>b1AM1)h}CunB&c|H^(ubNV+h*lp&@DX5}cY4~%a zbs+lJ*>oir*!3Bnz9!7A?svN{pW`$HSN5L{7M-c#Kifs-9Tdp z{vCLsAGU_;c@oRJO)u%^$pWFK7tVH&4nl+5!unj!q3v8?jIs-RQ3t$h&G@gg$-bOl zC$G6{Z@RY3#z*ZG$A($YQxiV|H1HBwqLNth8G;O`$ZxF-v5i0$Sq)c$~IIqaIGcy?qt?-;|t_UoiyZ^s-y`_)s>e9jO z7kiai9nPD9$WxFDYGc3{pbD@uaQw9RqlM#AGRNzot?B{Gv5tUiLD$p8uBd$R%=j}4|Jh8NaknF;m;@(x$84^~)_+ zeD9D1t!;6^FTF@gMai{vUKzTsN9C{djcbbMHITRQqzPo6ud%?uWNk08@(*@1O0)Iz0Y` z*15`d2P3cNJ4QlSF7Cc!$z5|sj}Uwl0poQQFOa@wNOu}A?3I0%^L`R_1ry=gU8-*) zH>;I>73LIpWJORARuN8PyTzmW!X?e=Mu{P}5&?e8aY$)?hd&LMHp4R+BfEI-W%s}J zm-P1KPtx0Fzn{Z@<-F@sEdDyO=l3x^2|uh>wt)Uf2=y(WeNau25cKUTj=coYRli-{ zmzz|lQD*a$_x(C9Jde_LSK4=qkrKJTdPRz{W?>cC@Chdu5imsQM8kU8A8C6$D~<-U)2-(txm)kMP{8`ZP>3Zs*;D>##tniuY@)Q+FGHVNyvK5a#_7Y%-R_!yqz1KuC-+s+g}spD$7yP=6tXwCiLyWHqfDq$Um1& zl?ny+p51IfwX3;DoL}|+YXHuEJ{q1E5*(^6AN+Xw!L41=?~+Fz4-%HE;%pdCo*Ml`LdQ)AE^X*xqCM0tRby4v((~vruOQpDdQH8#?bZ(hQ6h)qh za!1fW;RpUr0>AnRyH_9HjQbw-BL`+^+WtKoCG9-j^dpDF>mRP1x$P+?ehZ>-*8j^f z1q*jZ_Vjrn>xRr)0o)BZyF`cOgL@x;E5=6g3Xs(IU; zo#OeZsOvG;(JpNUxZ9qI5?jK#@lMNY&Gn_6*~b-7#jN@+E)BxtUD42mBaXKi2IMjy ze6UXSy!0I)v+emTDHjT!2e|d59oHTs=!G1?-t68LI|_}ivIm;+zZLveKm40*UGz^S zbZhvh=P@$6M^@G)m}o|2e?9<~+0|hA&qwxsEX~rIX4_N4PQ||wC)60A1Wd{y#R{jGaCV`Nn)y>GZgg{#uK#E zg7H1fpnb?0!Cz(gV*sv0q#QK~Aa6>)^0@8V4An11#~kdd@Xb-WH8a7@Pma~>&HP$bkuWin>Idou0&5J^hG!G;3E(1tfuFI6dfM< z>87GSmbq?}D+O@}5FHV73AqJXK_MRwPqgz0o}M;sOrenD#J#d$HnrqnU*GN}Jxa zsfF5SZv1-`BR~~>-e^e=tJ9NnbR~`huXP$*K_l#5XNsL?-;YoAN(ZFCs<3j%ER$$C z_OG8Bnq83t&+p~5Uwj?u{t-S2BdC(IC&5K3`PJn~+*E5bs=aVDaBIoi-#$2q_{7so z*~M?e$GOvgas5qJw1p@NO$#deeUb%AGtX!*N#9+pq!Kf_j!Hp;bh`t7-( zNIfH5%ml$9Je^$1&rP@}2f{WZbQis)j1mC-gOWOdKN{BH8PB?`lDqQrBn+qeJH)9{RqZ=Tl@7W%Y_T>7s1b)OQ z5%0jb<8rx@t!Ok^9i3j^sr=)1#C37d;>5j{tvrZ@9!q%dGZq7*U$lHDBG+bMCa^zj zQ~hC9*e~W$o6b}Ah`h2lv3U5NeWV5W@o$R_t-g>23+^wVcBma05}mG)&kEsVKhk(@ z;`vbh{2FWbW_9-?%1v(9v9%3OOCWCCwMxw z`P+Rv=c>w;Inh!+mXl8DQ~(}{lRixNT#Bj)Gsi66|3X$kd0DlgCggk|fK(XKolJCR z2LCOt0wAq#$#K#vPJFvM0BzPyA*;o4^CQk@Kc6UXbjS6s@FuSB3f53F0)|10R*s&3 zA40Ga*nsJG4C1Ef&7TjM2$Xq!^qgskbj6JLUD8c#WVWWk%y`F-;)*jy0`gxxJJRGc ziS!&FPd)4zOExu(U6qkpzXppPxQnV#Z$~#24dKps7A#q*a@Tu`AGDO7wRK;3DTz%h zuR0;Cl#%Ukp;OaVP-V>ZP1&_YM&8@C1G93D?%s|}w-UKQAFb=j^W=5|-WK*c4O=eb zYbH~--;3Z`o(UFigE?dXu1G?e5ES<-HvxS2>-R4!hQH~us$Z21b`Db4?Gm9#R{wD% z+@}#bD3K6Zu|4E>p0{oo>Dl=2ytLeSqYRt;{tU^%vsF#?d;_<5#xuF1|2EKMfl6iY zI$MnX25}9#REMv#cb??Pf;$rem3@5)YS{AKL}8Q6|80Vy`mp;SJ`|4Fgk){$eVf=en^q2>$uq|BRL}mSn_;>f7mN< zc78U1nc8bLfH zUvoRsfp`#ut2?wdMT`DJJZ7`C=&#e!egye1ScwZ-ooo7LeW%0ii{?>ZuFAYS^|V*S zBoNjgMe-G}O`T_Ca@1jum1N1SMQaDy$UMjC>j^rFD|@6>mO;c+xbw_c(u3VPw=BPa zs1Qej&`%H#<4aB%mtHOpdi zO?dX~qRMUNpcRYEzF3?CeiUlKNSl~W?%KHE#hLR6~elDA9QRgle6C_Uv3xXa|) zr~;P2N&%4musIO_qgT28_S2qfrJuXbv({gl#vor5^BeB&MPU7Nf(r3ZiXY zZZg8~4@_rPb@OYYv4vRtrxtt8G*uL*N)k{;AOIaN{|#LwTgD%zdq1^+%dUU5gJ~3^ zIb%=mK9Q+^Bz(Qpo{|+^0oust4E5Nu0R8U7TQS!q_+Viv!CdsY1wYnJoQE@Uqqh51 z6<8A#+=avldy)%UT;#gPKb+J_7c> zZ2(yt|My)#FKyN=R>o*@HNRmZx8<{7(@5k`a%m7sgZzUNZb)(Go=VC2$39#1dv*3M zvH6|j)Xt2Oit-VaAD7YpU7Gmkk@PqCp>0n!9C+0rYW()>gSrxo zVvoBLV5RhkcZ<@y=o#xQ(}|1T1Ah{dIFGA;$8MFmXE^d?WpR_15#{euL0!^LgH`H* z+x-Cgz`1L7OxrI~+LCf82gt-{o}+^dyFL_Vp{y3{Nsh1JuFD=J+*Jku zTbb`K0o`X$aT??;>)Fw&NfbMryWq-qL${~H649cn+J{P~p4Q>a@Jjr>%;@=6{mPm& z+jE^YNPj)=`4fv!jnJ(>`;*l;R!t7lZJZ;CM@LJ7d2$>(V}Z-Et(u&hJh7|bWv-@Yh*T;K(M~ZZpK$iF)$<$%TqVdgUwT+#egvaKx|VblT? z^4<4bM(cG$65#vyz)x@Hn(A!RXLbJVMK(vIO6|R~PUlM6-t4E$?dHVpo+}ETGR={K zbeW9;58P}dRZX2tXFE5;1f@oVL<~&$YOZkMTqVnI_lPAw)q+sfpTMtD@-4Jf`euvV zv_pq)+wbJo7!u>)yqm&ftD^2USZ3EO!{EeBsUa*HmuAk`!96DnHk{_Bci*33dVdxa zQ8YymlmrC9u1hH+5?OOHS)astZ^VB+&WOW5=syzbEBMsZPtn@uQh?hN15K?8=Co4I z85+@A$|xPAWY2>{5VO9)SXIhDdxHSo!?B;uyg(W?%hcEmk>#YI;Q~57)BBQml3Gvpi;R#Y5YL*nOt z)PEc!EquGL6*Yiwu$xzIAiT664)@niy7(zXlK67U$P_6miHM{v)eW)NYM_0`0hFxF zg6u7W=M}8%Y0;zFw&#be>)+!TJjbOuAo=-p=SG+V&@PO%V*7h+KQy_6^m z8F?uRKy$Bscv%OF`I@BA23A}q~H)D2xKsf3qunRfK-Z^|50pV~XR!9a)6W0MoM zJ?N*2ksTlQ!A8bJ7fOI&4yo4i=qftl0{>fVEiLr>hP;AI%X%ak>+*ip=ui*~qBhahsl-P=&i2M6?`PNdBxC-(Q5Mum^(*Sg8gub<(`pV)o z*BJ-wDL&2%;}i#+st8z>oE$T&h!sno3)sFGz?A9K3lHVBg9Gx}C0%FSgX#{uLd|<= zo;{8lqbr!&6^HWZW5s->5OZxAqG_O0M@YEPOCLp+TJ|?MZ^UP}lU5nw_Xsu5`mYkL zZN^ptHJIz8(T zZ@HMr{hsp*VAJ`nC2*h;#KTT!BGD4dEg$c;WSIVZTuywhhU6>Z!ilNUQI`xjFy(rP z$L+U6L|wX;WIt+2Gab%#*f@%Lzst$*m^-{^hrE(@w6;s9hFu_qBSq@hL_It^W3E}o{R-MKZUy8H3(VeuHSss!Yhg?ne+J|;U=ITL&(DS`d0(G6!6 z&<3lFbUVB2u11JGh(w$wrTZejMlnf=on=4m`b0jlyWVydc)8mbW3oIwY>)2P7nV&yF9b2jAt~8c55ziFoz@ zX8{0v&IbSPG{L`Ciha97{GndcuH*eTFZz!(9Hj7=GC6%gwWVX5J4=hW^GdR!AFEshNW6zR2u&GJKe>Iqmb3H#{q}8M z!k_6Bb$G}tC()rSDLvY5aT87bzdv!a^D9nQ?tTxN>RCKx1Sdw^s2^!DI)(;6-g`a% zwLe$-p>;Rfe_-xRZ2D2?-D#t2<`MxS!t_5T=o1W5XCS^(!gLU8Mjzv$lOkdN1%zd08ot#*DXnN|bnA{|TbLKqGn{P%qEW|04& zj@hC8wU7FG9&Y3dy9;x=EFbTEl|FK*U#cClcEv8%3RxG@G=Dv#HoRne_n`AolYQFv#^}cWgw2!{ z-`#hGe-aZ3FW(?7jhjljnlIlZT|nL7hj4;?e=`msz94`5*zQ^j)Uoy(>NyLpzE~&R z&|~Dg(^_DAmhCQ_lpS7C-g$HCUM3P2p9K#~d^&5rOA!V>uMr_PY&qwe?@cE%&V=*} zWZf;IDaq;r>FO=Bg}@hCiaoA=x7nXcQLOE^sD*pT66@I5Zc7l2+WbG6xvqrwr=xf; z0jgz--|_sfYuC_YTSh<9lH;cW&$1h@yBU+AtshaQ{}EOI)vYDkSz&M5wv2Y*Dtira zi86Zm=52FXJm>U*CGR^hr~a%d-zcszS`aYIn#fjvDO5Ny>r}SWZkFEvhsfR=$lEgS zd;ewwG0DVxZkk7I?m!`7vw{2uO#pk7fCovq@hB6N1aR1!)!p-%hWDy)sJUMCy!jII zTi>0udnqRUHB0LWp{Utn^IVJRIuc@!RXYXT=aRm$Ls9#K&B(o))ZVD@Ngc0%9)3q+ z%yKpw+{4v|S{(<#eeWwb$Fnv`;)+Q6VGOip+T_&``jizi*vlO`*(R2)K}BqdTF97@_GR4+25qz*eWBF!?zcQB3y{NcO7p%$*ii*3#R(O20H8& zM4#fknvJjaj_J(fvXhz(Ldq>JqyX# zH2e~!|2wy%^%-9fh;@2#(BzzA`du@x@!^1!;Ik09prt*I0lX~utZ8s!K3Yl??hpET z4}@$hF_x$QNIwOKr@je_@7*dhm-)9#;Mhh)qk;J z{Ql5$Z`Bn|a~c(l_Mk>+mtU;R_{N@L#^b+<_h~_B{c~O9)Gj1$o z*->b}NmJiLrOj5`$paJTIuxBnab%1gNWLx@W!NLeIxo{l%$ctXv1B?f?Aj7Q?sTu9w@dcy|eN!6CN7pJ$knLH%bPegkWA;Rk+mR7C-K&yKiL&J0(v0nMHh#bndkM?T=kK>deVzm8qn&#U-tus>&RR>Gnum z7iLB=ejrM=lxK6qdc6=ww2CaM2Di zydAfE65n+AG#%(``%q7uHP{b9lFqjj^_1`tT2abaBq@kh*DA61fII(UCHJ5Gam5jn z;*eX93F*IFPWA5jrsJD&nB6BN@21-#4@1euumpT>aPyU50lUn!TC(o^n*$Q_4|9XT(7Q;9mVCT^DZY}03 zyxOeL#f#hgpV)SA>N}>S@5IxG-$%#{A?WUIiqnE{BaS_i?VIW$0`UGv>OV)?-E`RJ zapwwRoBu%H7__jtkE3{rrM2tKmh;l|8EH4A7Ilos*cgHSe=SDs*MP9I%0PZ+7$>XN z83Hq0|A|R?#45cQvY4?$5H&J>14v&>Y;!rI-xyfyKd0B%C@Nd-qnlrm=W_J+*8%&3 zf_9*Ay#H~^s*qi<*NAI5mjg0Kac>7NMJfSe`{JVFy<@wLsuvR0%$^3^EDMW1i;se;8T{82kVf?@n4RIJDY~idV#N<<>W*zwPo=r z`%yQ_Vt#rTt0Ji@Z<8mwDfE8J71- zvJ`H4_bufBpPsd&mXe~ciEBV+)irgW4p$zyxL*&JR^HPl9u*f!&;b{tYUWmCm&au# zT=%%Kj?=k!n|)K#FVYL9mS2b#RdJSHrn4_)A)k$ok&5-7TO3??0X1e^HYIgC<~$mb zFr^N>5q_9ePl$g5os|V35Pyk5`re5`($O97po2pOq5;!kfGW3AcHw^Kv*5tQWuV!- zhVHpQ%Bg#v1z(to6MWm>f4Km~;GE?2GqjE*naC>kT=x3fTw>L6iJN?4ysL@4jM}q8 zz|+B!AKs=LAMSnikp(!!_^uE={sd9p!C4$X59ltj!!@sL(_Txv$?;2ygd$1YotSs8ab_lsu_+=($;C6R*j-)jUYu^iPT;ZZJkoJ+M=kD zs@khDVn-E;y$Moc#vVb4h~%5k58po^zub>J?)&||uGj1Ne7BDJ)m+rDqRD{SMt^Y!KjXI~ z!4rE`dWIM0D|(G1bfY{S=fCdO+*^!xd~qtOE(bN8uSXCCmXOKbCyYTvLnv_9 zId=b-2SS*;W zg{f;7=Fxe|Lsuq%UIpc81iqz)sxLiLRfQ%kh}^K!Z|wJ6{Lk5ld*C+~_ual2jLN(_ ze%xd|-#BWw9*H+38c>a!K}RASt7Ao$;?V?yz)+bkM4OA>cIwI5g^DST$fSs{#C7Heb1l!%pNZ3|SBlUI$_QhAxW7lCIW?pmAfS z?+p2q&wMe`s#8S4ZX{yuSGgX!I5S5@R-Cnwf{9V#rK}=Ghe$;pwPlG+syOjeOi_^{spM$~c*lvv(6SLs}DX3$IM_B1%_~*U%epq0-FBe8?rJSJFYXCZzit zGddwoM8@YfI*iAIjyk+Ou+KNRbIS*iWh-8H@Zi z+?&X-^3N}au+-(>)%W5J37K`wte+N=FmSZ_q>_RRtQ!Zr`-n-BnE^@fmloNfuZXr7 ziV%+$#Oz7R1f`AvtXnBezs%8b|Cz;Hm1;styD1cx4kQnj&YI6jLYZ9$*a`Cws}yl; z*FkcHVm)ZF?jn@4R^xvb>bN<`fAL=5agzSsX3mrQlk%LkV6{&0rZ(RW-9kBrgsaiX zw^aoinv%!)p5IQz9r7avxF{&ER3`OjUHpS$LxdF{l#JV?f51(eH!hM1&e98=c)xPA z=}1fc$FJ*;pKVT|r=CbL3IGW{IRZfaHyBzCcr`Lc*uHdZzs*kGN8e*+v#|qCDQgI+ z&GZ>`AE)vD8#{@EyYx~UcWdr+>WZ|TPFq6TYRh?q%|qaKdRtvJxsjr>AC8<8wGE_g zY-LOvNdde1vfS^+aX#lWW*A?;ie}6mUpTCc$kx#Tk2HlJ=d<4IS4K4U0w8Sr9d9Hh zIjqe(M79U-Q0l#QXK62L5l=pp1Z1H1-Wk#kK5IZ?LlfuJ7P=l9I7M_z)&Ndr@jT2>!jkE6Tb1 zdx2XIRWywu(i0rR{hp(UY406c1DfVtJXt;H=HY_kSYh{OXR&v^;zL)majz5aD;I)z zzDh}#)c>AgXep&M%5ZSptml*VBJdzP3k(rITKRd8H!e0Bo)|+^0^&*~sDj~Vxi|pS z>>W7~y%5*wQ94Z#Aj!Jb7man}=gudBN@c%e&y%zksn_=2#`|64qq*<|>|wyXlKWK_ zcxj-Bfp)wi&VUM`>KB^JdzuGNzL6($Le=ZVyV1s&})GL5u8B1t_ zX+pU5H+@dUes16xo)%kpJRm)^{T}&PK;I^~b4RE{?Y7`E*Mmb}gf*Y=8y`6t{dQ_v z7Xb0D-k4vK*`5PVc8jwNzZZLp6>T=JE)y(~RJZt1k2kgc`r&e4{-OlR-Nj{qc?%$+ z-TqFEIbntMaa@^=)Z$6pr7fI}tiR1y^V+>>=Q}@t*i_GLqhGIuQP*ic)5#S>M@P#V z#8RL62mE>@ZK#g1t07eiex3W9qbtJ9!3|g>WbcN#;oxh?jO|woxAyG+t?w_}p9N?ua=NRe@R|y za_&jA&;n4G3L;MMQh!}lU@TjnhcQUo>!j!BA^7azAFCCTZjP!Y>`k(cTxxr#Ru3!X zc)Zlvz=cLl<1m2if~{>1d%Kadk6~|X98Bkzw zZRj$2=-eZMW{Dr(nPmJjO!#Kd@fJ7py_Io@Y?Q?B?me4U(Ve&uT^o{+ccZiG`B;mQ z7Zh;y)yo9(s-33kqQVY-oSLN$KjfG#JXu}1Jz%irM5FN>EA z3G%?~Lm*2JQazM@y&n@i^~{T9tqb#Y^Ha@C-6)X4^rym>(*LG+`~V^rr1l^km`V}` z-z54GV1f5J4;iE9fPGPGV(;!Zj^_3)|Jyxe#g;y&3@uXVWKwn01vxT~9uw`&T za&Ma@IkU#Th}=DeUh~*WqD&2P=@VITJ%MXorWszf1*j*6qywRuvjmM=zQ> zG=bQ9p$OH-7FByu@ zZiTYesvx=-BpWmVHHMtw=ET(_&yQ^b^1QIX;Hct^OInU>HU1}zjwoc$9Kv9Br%`z3 zPoDUe`SOJdmL9Zi6zR-4*v4<7>3zs-8}y=#6V149Q`qZ(bYcC!p!uIX<-J`xuyQ3WeJ(sj&Td5t*lV0grAl{snmGqk*( zhRd5B%y&`4`_hUxz6b!Pm3P1A^+mlsutXodj`xL+K)L_%_>0Q(ccrGfv09|H*0%ny zV0KcXW4d;CJvU=n91Ee(x#ngew2!}6K?Q#TGom}c2f<<(jwZ3Uvy6imFBnaU&>eMV zXM57-TEdU#zdpcs`X}Wbmmzg#3mLM-f9;O^0DySSgDNq zvLfqgXiL-NpI_zHA(J<15!$b5M5+#NM4W(;FwaoIruf?oTnE(oBA`-RmGFLHJYqg3 zMXxGeX0zQEcwM+ogqGL7EuI`Hr)n53cjxpvW!9Libwx`azW)IvpAY&8la-bXUT3@T z`U$8SzQc}~Lpu8uw5c=n*I?g`_&4=W!f!fNbYeUDe+|mZY{c+}AqJxpRqf&IMrXYn zbBvscoWwGkWUZI@S%8sn;`@s)`cyRBgor*NfE{`p6{wY%h|Lcq9r^wSG8(Td6)DxEA&U2|$_RpR z)&WZ|a3St+4r_qph$=K?_xSlm=)TVURCgSb-zN#ExAj0SPq%rG7=aP%Cjk#Bf;fuw z?oHGZGku_ehz7U!V28brSw^RUZRTuHMQ-8_aPlGTp7 zOP-j*X0AJAO6{4>>k;$g>ua(uNBTaSvT)6H0P}~*s<(g0e*FOqEip4BxWSoUF^1$7 zvaQ&4=w}Twvoa!1_~=GNT!i2{-1qK61hcZ{f0d++Yy^BU-Vk5U7;P{c4OxO9Ju6ypC%{>>+DA{Y&Kclurt_ zJ(#uiuvG4-!?U}+g1Z!I=?4iXSGRc?Xk zkl4)=%!C8xvb#qBOu`pL_hOdmBgia+M=zYE?oFBj-G^%?aC!Y*{E7HVMb?!gMch;k z9*YQByEV{i-k4flP)@<>5*f<`b!}UQ&G;$&Fa}W(?-!0^GR{{aY8yx^>jI@kpmPIq z9Y@?xl^ReG+!ZG2cz-dRKaD|B%fY4|8qV*Y}a@>l4eg)xPlT<=$0`@x%yQ%a2 zQ@B({-<(jOJIn*OuB)I)*|Qta5{IutFKjpHoG2Xwq8|rmuQpuDnColi=fEA+RoU|r z-P|kf75;}mcnjuJT`x_RMu=YB^0xKEQyw-Sl~Ou`@rk2e1A3aCO*g4K*&%FrI#vqm z@D#4o7;2x-1?$l$oB+*niws1FpJ0aBqE}BNqEn9IZ#h%ys|$a?Rb(G@vkun(fV!iZ zkvzP)oon*WF}Q)gH196J&sT2Xw>iCG9Mgx)GH$)NvnaX!I~U#@R3eaQc5`v!W|1f{ z+wjS38vhjh{yV@!lVYQW-EV|%f?@ls3z(nsf9~0ihqi#;CV%w}kd!>=}ukI8~J z26N3aU6$-;BX70>d9!T6mqr6T@pOlf-E9EnT;O#Y= zX&qNuI+d#*8BEMYG6r*o%hzjUf`9UbV>^!YNGC1%Tm{B}0VhG4lmC1Tv|v z%?PDfaW4?uG7qwSUCK`-j6tfKlYoF)#dsVA@I{O5K7)2*f+)A`x;`U~1x>&KP{xbB zV*TS9p4s+yy9so|+ZF?r7DJl4I*XHnDB*UjbHMfYH8%y@e{T-k%l}oYtK75=IJc*D z(_QK$yo^DevH5zm-}2cL&)NNcHy@mSO?Rp6@8bj=aoa~7>YnaWhB`KpyEWzK%+B2MkNc7ckVUH>b+`arfkfGGYCpXWKN z$gne)>>N&pAiOO#VkT4amgravzA}q@WCb}bd=#F{{wdi8=@89QO2ZRN9B zahjXlFgPx6rN*B5@1yxFvNx>;xS#|{(P&{^eNA7y9Qk@c?T>sJ?|9>P6u76BC-|8wJyr4y-sQ za&nhsuJJ^Xftx_c})KbkLIL2K$HjVXsk3e+Qc!!D>f4OR zdACEP4GybAp-SjOssC;Sv03us>g)DvSI!(rb@N%Y__WEN&G>73X0+uRXO6fX3y!|^ zT#)b>(h?4P<>PlPS}1GDYz(^BaKhj<7|>5Q^;eV%1Zi^(J3Q-%+KP;Ggx|^-DQ@?G zrAOYNre|$m7J|MGp}>Dw&s?^~`^LZwLWHo^Hab$efB984s6efM%%xT4RILN5`%BEE zdt9s94C{s8TWgxg0Z$B5wt;Wsg*N;)aM)TEobH6>QE4uf59pT|fymn#PDQ8><*4Be z;VeUU=a{?D71;vu5*y_gifgM}(c+`gjzk1^5~f;+(vt8E_~!OX2;j6a#>)d2)_Pka z6duAoL8$VHNTI$g)a~4U@F}nwD|x+(_{pk#`qlEa0EtNUqK}Z(ic&5zPETfMwWm$K z#77+`Rlr1YpG+wUh$2bhYi^oDU|-`^z3v&F)O|_^Zatd%X<`!L(%FNldY>fePWTT< z_=nrPi4KTMfSIVu;Qf>tCKiIkKLC=~4PRi}_$zUp##?EFIV$qe0^*QMhPyZC&RyjP zu0+a;R^p(7pE;unCR`Y$7Q_=UQhA0(H9(F6EsQNq$Uf>b&m{|i|ahS_6-tBp;Dc1c%Hnp67 z;Ymc|O=`nG6h@3>%fyW$gyG6hSB{)heiFKsiK288zl(DB^^F z{So`pcqm)Dp%T?i(y?Ig!4x^r<4pmgdUwgY-0Zv7(+4r zjQwKsG-iVlajA;=r#5i(sqDgDQ+rL}Ubnv6FGGRt<4DWSu09lA**~D_x>qtS7a)2x zTXv(#Nx)IK-NnS+Jc|eL$20_-taD=MpE!+vRG}qIdSQQtV_|`&N^LFgmE*buf)T=N z!G<>0d%vj(&@8i$nt$PU(I4N*pxL4PbwnjzpN1_ssp4B zxT=^XmFBLw%?}OSi~ks16+d5*7TT{97cjVz^THn zp5{@D%Zz_Z;VmL|2CI75rhHXc4{g=!ZP0x}U3JdpNr7}l_>vpW#t8JmvvG`*M~~;! z%wK?hMt3H$dLQAeIlm4T=fqD7-MSv}E<1Po%Qx$Z&Vro}wfeIT4wH&t>w=oYD-W{# z2w(fOo=Faz!@<;TnY&S3VsAFixNtK{|GIzjbJzR)bOhaXO`Ef3k`oVV!xXWTd z$Lrp@Q3I;dvWbCWV82CdhCXqJQ`XaIN+r;`YazEU%K8aJ6j$p{nO-y?a{;|-A27@p zzA=fW@WdrqcQyLW1a8Y>(^|d8$j;6Ht;a?G^bLT>5vk$Xg1V{B6;@438Snm)Tuo*d z?Y2uk2he_ef?R3|C1~bV%q)L(gtU(mZvPs$cDpGiNF>i^y#{?t(seV9-gj`8O!D~} zBy1jgT+bw6Levi~M5H%XUZUOocP;fOYtKVWd$hs3-}SRZ%SP6i-=!0(KH%d#n z!k!gj6?JfEzi9j0d4YSp0#Nwk4aHge!6E131o7ymacJkTh132}-t2&nAU)jMgf9vt zy1@8#BR|1LCS1GzyH;X#YoI1~hsV~tvpG1VAlX0h`Qoni?hNwWviSGh8wdko+WrF( znD_7<2mjXS=bq+S8I?3rWRa}42**vKJk84AA#C3dRn4iCDVM}vh{kDC&t)&X$d%-H z?+z0P6EzAl%eQ1CGeu7%x%J@hac}SkI|wiSycG)rZduDw8Z^Xv(TK*8d5I-N}ap&&v;>G!wYp+qD>> zzN_+0)mnUuYd2!#U_Yt$w<*^}!$B!G9Wb-=v7l?3lwL{xGb>)};zJ$dSn>c?Qb1$j z12Hql)cct=t!?fP|2TmL=L*aMx3nEP;o9~&*J^^nZHi{Y0Kdz9b2^kmVkoUNU*Nu*@kjTyNQQtV1_Y16W|{oiGA668c0+F zqn1fhf9B3-T$N|XoyNm12*@CWiBB=GF;NNJ?D+xjusY<=+|LTTwU4FoQ~`&Qg@t&v zUg;DNxD@h9Yp+iSnyOQtv`kO3u9X3v(Hw|bIZ>! zh+GB~M)LIr@P1m@d2!!okd?akCR`7ZjB5tl&(~Hn-Yt`pb+-Dq68b7`$axs>{0(yz zOb%53oaZQ053#M*%h#0Sku718eu%Eu6#CRM`eUn8BFfQBpjV5BG84XBxoOeyr*J4Y zIT(h}JCq~cuv*A$KZKe7)u7N*Lb`$-&ni6Tl;=>goso5Wa{zWmy1|a9lWUUQ*2+^&pE}EqWegfOP(s(5s zA2r{V=^plnLP(6(sCg+aOIMAn@_1Hpv4R}8DhJMl?6m#_8a`e3`vWSuAl`EtwSKN& z93c6Qu{LR^+LFhFFNjpth}lieJ2g_6NSdGUXbP@DZBxM+r^#QvnVS@Lv_5#v@B6!qJKvq>6>q3qZtDYP+d1I3#O;a1!Sr2X3KFHFaStm{C4+v-Q(yO#5Boq%fI!dbViclxPKBQ>JS{d?b>@fB zOH%hjs&)p?dSCdY)FYMWD8nR6OoRjp`R+URMhJQn%@I3+my3W40+{j2D`qW^`UnD` z3h(v364)GRx%$XRpO(Cw%bqN3pOnr{e2)$Jr2Mnhj|&&X!K~Hbu8~1hD)y5Zy+LtRUaDbYSgn5bcwVAp)Xb3f z>-|NZcfF1U!0?=fG>2~Hkj`k@PNY$=sLvqws_{T^xeaQco-26Wqx)$rCXkCOUK9zg z?kf?&qra2JGu`p+b}ixuoGV^l-8DCf6VD7H)-ER|vjzjvL#AOB#tir$R#H3@jPHLX z?CE5T87r(5D&2+}O)=%JEVq z?6b?KHlJhBK?-eF-I@RQVkE6I`tg2i-L(TmMn(HiXCrdLBVc#ZT5TS~?f$5;%X3V~ zXlldkk;fmw-E*4WA+v3{Ydrxu!jKHs%K<_$ZFRq)C;8HC^2e7%f# z2%0sXyy^Qi#Sz$$_mB?2@Wj{o$2uJ~jJ>nK1YfIeP1}v%>NK%wJ-=SBIrO6d_U3Yu z;lgisvi*N!cDSLeI(a+NKHB{*%Lz|lyzSD>VI(h0U5-Z4mlFSr0EL~U=zi1fJ?J={ zdFnlA>Qks$Tx&Jf1A|+q+8l$LQ+H!9*gD}K+_-cR&FrX;CcNsb&%S~R-j(iozb&=? zzf7OcH?@UG^A1mTpY^=cWe37P4)9e)MggHB+lI2t7?v+O(vuq}jXooOSQxF)SB&Jg z^mf0w{oC=e8~JRiLtq~de z(8z{$=#m*zY)~9bkZhCM+M`x z*YJ#xe{YF2uyl2s1Z_^0BD{uEFwf_D5{tLy^zu5zdYBLIMlYqfqNZjz?r7TG8C>IM zh_C6)+Ye@m6!t-_JI{x{pTy1b<1w88%?}_~;@nH+2@kBAN4Z__tO(RcjhFP=+?JuJ zR=*iiy{V~6O}dp`7{kNYKzJz=e#AV@BQvHu1e1Lie^=Z8!>fgfrwYRMs}9rOx`%3B zwm#-f4hz8ml^ejBHN{S4H1D|7N!aQIaBg$!-p^v!mift5c=cBb@K zT$jMR5`=4egt7QrI+DdKJH)iHz9{i+vg&yy_udMFe4K84kN}4J{9+N+_Dp!&g0r)? zV#^G}B{6=gfv2}%?SO}+zR=jd7dkIfBzY#{1RPGTL?%MC)8i>jkACF6&6P4>O{9L!KwyWVxD*(y zFKx#QJesG*=U3>&e5h(6^=zt8AmHRH_bAR2+-t-ehHA@wdox3i1lU`6e4#?TJ;DWB zUflt_BshPbjEXdNfK0T?%Df|;MUeO#7+(hDAsBMp8yvIqn#6M7{EmmJ`p&D&i9w5L zw_hA$TJLG?_8#4949)U52|aD|y^BuUaoz=NW8H+LH7QVHGhq(4@TEgz`SwM0oq z2dc;+N!Jh?E!%0_E!YFEj*olBWafnkW2^%EoCo)np|*s*Bb|g*KTP&wi25n_n}!Qcwn@$> zcI$ewl{=@ByNm#eH;Pw=&NcX)1-N-%H*|es|v6{=?7-*wm=K*uQxwPDEfL515)ZSwa z)^cd~fg*UQ_G?9RlQkjQd~K31@)jkK@HfFide{5@&P4@sfs5RhT3#Q6aXN}SoAv80 zZ7!mx>vc&@h4Jz(JQoTC(DeeOq z5*3jk*tG9;EEQ)PB*-m@)->9-IB}>$zs!y-nsW|n=20qAFmqNBs9;MGfqG(=p$H`? zn326|h~Jk?9U{1bjtH)YlEMt>1H)cO5o7@^yUvwWkttv#hg1wx&i#(3Mz}l0tB8KYz>FWL7x~Cau z0Dm%<=qdhW(Ny}WVl4ZGAhfIf@nY)8iP~SfD{XiF$NQr7B2-U=FB*C3dCPj=olT=?`k z2wo_<(>=lTwAkN2BQx+#FKB8t103r8{<(lEuc2E|+r#5eOq76V3V6&>9HJqBFNJ&0 zwV65lf4_qEXZ7q|aad%$*03!^e=lf=Q36WS7hjo4vh8n{<3*hIZacuqmQ>PLscvz_ zb~A^w1NCn%wCIgHWA;-dlJs4MJ)}K1c9hp%7g#*$HK19FZ9LWntpX`7vBn0=3Aj4% z`JcH@P0%~bsMwh7F{xr6(KlQ!Q5$Gj8ytRV2`%UzSp(IaNNeeZF!y5w1ox9;W3q61 zXn6b^+|j4&1&J~+7nI8o_0&1i?(ctK-U-q43 z85*i6`|r800lbvD?}zMI2sgo?t;+zlw8!=8exGCir}_r0zhYd}spvAKaOYb1?&(kX zST~HFzwdp9x;(sS{}FIySl(9H@AVmN*dD@&`DCVu@t3Gu-fYk7X1yo^59Hmr*FgiiGT0*z0zUkL5N@230Iy{Z32vag-aTI*m$Rz*hhDr z6!nn3tDJ(!M6<)cm#fObB_I7}zWmEtdaS1$Q;C=Iy8GwCdP{jR{`T^S*0%)h#a^qu zAcj;j*F?<5wWyuX@cO_g-K|Cx@vl4JPvT6SO|2EkE9aFApH2Nl(yh_)+UP#s;8I1{ zD@Y2)bfJx8bJN7ANP87(v}&{A)+CQu7$b>uS8_#OU8uXzc?DR@@BEY)Es-9s>jvib zir8daR61wcoqUq#1%JvSpzm>u;u1e0ygC7o;#@@i!Fh$#Lc7h%qDE9NmXL^EXhmLG+O>}Dx!#HZqRMWK-1 z7Is`uT@KY`=A3ZTetPgTPY0($@I@VRoSh-zD>!-LOH4Fk?QI^Cxi+GW>FU7+Goli~ zqxMbc>egC~LS_Pw^DcJ8;}33(BH1W?!vGwfuVNU` zaqnJ66Bi792U?V9o)8U&>E`{FomSTDcb0M$fAoq=nU$nF6dR>I8p_>X_DV1XT2-9J zRwicAz9GY}^!$bywh9w?J-n@^qRy(Od%#Wn{eGs?SHD1uv8BDIlTO&(1m$?A` zcLPlM=*2UfcH;m?Jr8X1P*CpaxY0`{GP}5!3u%2I{hbjLFYcfnVhuI)>8{iLLsNm| zRNJ9&lF)X!(Hle#(picZi1h}OgIKq>ysNek;D+akZes|Y#OaZ!3bBcRl8#D;>Cy&C z=O9X71D%L5WixuF<&elnKP>(t(z%uQSv zD)@Tz!*>-+m0_q~FM10clx?SXskqX}0*zF^Z@hGLU^QWNY zk6-)yx2FY}`OD||G^f=lE7$)X^h+u%Dvf(1*ihf75^3=dq!#nBIG-xnmM(GYkHpSL z?5ek)Ki9|BO|3N?130vZb#_|>i_!?3;n#Ua}*VfG;!_(g5Di;0s5Sr$0T7lO{K{OI__|=TtXK+nl%g$Uh4qE9={5<{StK=~h|xG&*E+79LlKhFJR5pHw;+VlQFBm?`G<(jz)dFrkMRCF6wby^o zLyyM>*F_B0VVck<4ef7*#oOPh+WXJT-FY!9*{DHf$|0$a#=7c78nZ)AITX z)*lr&YRK50h`bGhn-|4`{Z4W?ThonJJb*{R`F~h<<0l6x|o{zS8_iH^f9EwJUBq? zVBCOVOuCmzdfLhYH*aXS!t*?nS|k)Q@m<#T8nomem^m>)*Kp&o4FI`hbhN@19iwu3 zruO^=Q9edKo9i4VZU)*9%}R;<&C{?8fnOI@perSvHLu;Ywc`#=JR!I!M~4ItPDch-DEu$qN9z#F}2QbOa4C#kijTAt-EVilIY&#IL>qB zQuLwu+CO;k>hEW~2Aa#tA!xmg*(77CpYs4}W-1^xbqt8s&R{moz{jVFiNJf{b`Dbu zW3)CW?du!vh@?&=T?84g{_UFsg>FZ**q=~7c|EUbSRK!BIwW%kscBYy-8dYmf zIBa_2|3;pZIJ? zojrB{Nu|5>iSPr8KV5UfTYFpgeed&aYNK%J*rr*~FxgTz+v8tE>Pd5Q%^cI!yqS7( z@o^z&Z;V*7cwi!hVma%Wuwzo8)NN$9g?Q|LPyHL zXi7L^$2uqkJ*l$nbjU8im~J{los$PfNp>jd>C$5^g3hjd?_tD^)wKqhIObe5(7w+b z=jbo>{?T-K<6dm+R$oT#bk}4<7-uiqw>z|PN%5J^lBIe0iF0z>jL!PH?~}JYV^Xha z=MJKbxzF^`Md7*Rw$Wb|TU!NEg^TLuMk3JcS;EMx?wSre13Kvu2S1SGJ2hhw5D@zK z(4v(mhC_CZ@|uFq9t9ZCB#JndfJ z`88cow(qa`+Pyev`hJ>j@3Z^0DVi22!sz*TarD3Bk77!)xD7~50}QtCVHfX~MEr%d z$@(OGq=1h*AJ_gMO65o&sff=nN4~&TMG=IxH5k#4!<=%xq~Z!#FeIA#wmG~IERpC_ zV6o^X+@Xe}VWU=D+nRsx{xu-DszzK%hxok901xSnT6qgwZCIiIPzV?y*v~#PU1*ml z_Kvy2z2l;%&Uws(vLAEeE`@(i2GJy~-DKOwSp>JS2scrM=9BkXpquqFJ2^nNA+@xf zbaKZykV#Ona4JG6qV_HViXG1mObMhu~xsIuK17=e9*#%aCD&h; z*)0TIykSlHwXX(sT8rl3?q0)Dx4x+!w8m9=hNS`?DZJOQ|!{Uk!=)g&SR5P)lRg(%m4m zEx_f^ud433o>eLlZ@j|qH8X)WA<8Fl3XRES32P(b`*$;sdQLCyGt&zaLO8usp5Bh+ zSZ4Ixv{oW+xr=|D`S4N&v&EZplJFLZLizZI$-G!w%F~782{X2za=`Y z68$FlvtY}YFUp4Ss5TJ;89wU>(46e5ra8LwPGYUeI@m1uied_XRXx~A-x3hj+tVR)#;iaUy!p;6p+;6Q69>G z4wDxcK3+4i2|iikJs?Dt*R5(2*}K0t=1kN?e=M0GSdUj9$%*OWu*{W2dn>5H5+m!m zOCjLXQ7eq+4Hp8GG2Q34XG2&|B&Y>Fm4MB!OG*>1HnBA&1ql{v7l3GTOkZ7c5od1z zl1e&NSAJ#`dXL6b*FogWwl1eeu8_q`3WV`LBCi&}1aLmwvy020#un0>7lF#<=lA#d z-&nx?kJetx%4gL6?d}pOCxe@kbf{0HExuy^h~$^96eT38EWlUWSaBv4D{W-aMcwv) zVZAxx@WHB>S29_8pjGI7Mj+{t^pO=bg4sDCVJ#5;EYgDDq7;b}lHMqjOpa2;Ud^53 zcVf)nm`iV=nZ~-ZqP?}L`~O@1Fj~dz$J4ds(7Ot%PvTl@{nCC9zidzV>mf$3VO~5s zZMW5>40|zBkG}9T}Z)cm*`rA)0)g%8+$Ss^@p_jqV)#53TSHNIh~UAp9|lOyIidS_OBjP zykh>Io;0%8sGmBOTp?6S5~?5WTra?Y{kh*eKoD*0Mklq$UGJ%HsB_EnlJ?G=+s>Dl z-uJS#G-4~hEWR&QiK^^gwiI?t)!z@Oly7QDO02yBjvboKX^Ym`P8ck9&>O`Z+RZ;f zcq4VDeM20|jiDA&$y6=WB+$D_7qU6igdS_IM>(-98z&pk{V+jc9I9_+vg3A8AhQ@1 zmH%m}8Qt&M9YAuLPHw_UxhS^!wOpZw0%1>@81Zl`3s z_`wFVKz?R285uA|vN-fyjt;cWF%;;{K+i(X;N00$`(%sb8tD zX*TwU^fEM6aeD-lyvS#kE0wz|@`u5#Iyh zBQsbLNuuT6r;5Z+UzL!Z+spIkjR_!anOFt-*!hdk5y?hc2->!T9ZA3d+q;UlkM_N2 z3S6NE_ljnLnhOe%Zm~fa7M9d6l^H9`N&S*ec^@&3(LKtkW&QZ2)T&c^#UNzDBYQKr zyG0i!a(pFjQIDXr@C{Z+-0ipn@zJz+vQ~pS;mQ&eug@gQc;%OS5q|ZnSv&jocqQoe z-M(i;&ORzkZEDHK*4OIAJ9(BlJ5X%F4_ja-)pdti1sExc*s|Zc14NOH(O@fQ9 zhM&EnjnP#m=`sD{6cgw>Rv1#Z6-fffMHXa*0^~2!}G@o^Q@J&gq zA;$10>|m3vssDJmD~JP1gJUuAM%*dqy+c7$>z;s6a?3k&dZ zA|~*dT-t|#@S4H9L}q{LR{&p6m62wogwY<3Ao^1+EF8~Cn;B2On2=8mrFL22FP7FM z_y0)E1EZH#v$YD$Vh({vYJd1l9hWfUBh2EDLhhxv7?>A`1Ra0HP2QId38Vt-8A*+f z;rAcYrB9OXXcxZpy}as$%}7TS!z)XG_{lFNZMM2Vs9HGitP*@-LQd%%jCPTufHmzf zc))W2-p0=>nlQxnM3yW2;bRss=m9CbJmOFm3K`<>cf zY7=L~j+PEyXnLNG(~SU%XM|KyKh{I9IKsVJ&U)_#k6kk|*7qw<%~=f(Gd1*Q`ENXZ zwEg{iRSK>LkzKF5Y zSH?yfKhbUJvGs#}+^Gpd(Cy;#a4GLY)+ zb_U{M@S-wh;XLu67nHPrQTca#T(;qK)P#dWfg|}sW#xrEY`3nrpdD*=)n3pU(!NRc z^E~J^Whfrf#;TblUMpg{z|ZDKF4!XGp@wrmhm3V>0;RgK3-T7U>68%Jt#ho=&vkK^ z^GESi&-LW3<3~Nzm?|}0#eQ}RRx>|+1NwGhoPNYJ0tsJ*6jAqxYR#ZlXvfkP9{B(!f@AN=>=~!imHTSaF#{`_z zM0?uLw70-*S;hBj*{es)>Xbt#jakAR@4NJQ>$Id#3HobxBRk!#1Kl77SF#*VJ9MnTz&)wk=F%_9N~#x|ae37}T1-Lo$>BulLa#m1b+|s8 z=F>1QoPY?k=j5$dvYpT>R{EE=wzL+qG$YZratmk2jKAfV+}6jI_5nm8*=ZT|jQ9O; z$AnKK3m>$SDxW%cq@VTjiqx0xyWbdG#K6RUJ1V(go(NT+O@7cqW2iBUPGGqlRi`y; z%|?>6SxV%4vnUJrZLEs7FX?x{-waRrht3~OgS!(R2!&ZMLkA)!Mf0M;^XYl(2D5l9 zp>JGSB09b6bEvCzJ>^4WOnMgcS)8_}TJZRbNHF8DPS6}%%oOc>6M@`oIb{~y-tj2w z$y_`|e)`Exg*e#8uLIT)o?A{i!9$8dFH+SXe;?>e()ACkf>d0N0x%Vv#d-abL|jrS#ZXFr#X-vv218BdIaQR|Xt! zygD9DvHosOSi2kn3CL!>iV?3|J=Kw9%xQg+zCDr5i%$RsEo51A{@L5e7)Ym|jGy zmklbBU-IDd7b|?gJ4SqM_qR3lIbw`;jI{XXJDdW&+pdS+^2GrZQnjgP)!tp7JenGAW*&6QiYd(Ta|tt8{b(TGpLoGv<%uoa|Ze}q4Mf*{mci*KS{(z z*b?bLrsF6z2od}!_49F4T3w`w7B;bWB$NgJ_`Hbd+Zk|>ojiV&C^966-h>T-?IY3J z_DY1d#yE=Fh^#&2=ew$@oW=*&wde2MUPuHcTZtF!uLxSgH+*_CmuBz~u4f(tiw-M$VyArnnlWnejgMEDTENJvJT5d=P3~q@ z8bewqb05NE?nOxOoxOI3QQ9pIZn>*uH_^xR&v&NzXj!O$=aH*~OkO?mAFg!t0OB)J zjUM;ZyIY&(2Gv&|7mSPv9JfSU-R@h7v6PDQM5Qj4qaaxI2-8LR`DB&;j$Scw73fWH zzBwZG7pie^ur~b8QoZbXeO^nFlD)tCkhXcURkH!wKYMg>{6X zJL{70#l4?-P8QR(OH)Wl3{`E7sVzr0&T-2e`h414-3I9)ZExz!{8PbVYSSVjq_LCA z$iV?-eBZ?Hjch5iwD zs>*W4o5SC#9}lHT5;wud3=`x`Z2#m z`KR6{*G`(cp6}_TW--=bEo_1o_+HIB`5$z^7$~d7#c5o|pq7*6?H?_1K*s((1-@E= z%`8uR476Hs0mSqZX&|O}(87|)Q8B_~JYC%ho`aD~DZnO50fg9}|u+jbj8T$5- z3zhX*v7SrQjGS>qlE_YS<$!~#vv2*(b<~ygMjEH|aA`zMiILU6+>dHI_F!Txl& zoua&5<`&Q&hteBV9z70_ADRtnU$)tvI^Sex>W04M$k@=OAv1cQ;Ep|}=MhsrwjyT5 zNN}^2>^T>-mzH+a^TbiO1qa>A(DI|x9)a5ZVq^KYT~E*7`qJ<8=i&|Ano>Rqt!9kt ze@XrVicS{F1Lq5Nj0&Lga;ww46#3q&eBo^OE#l7@R}3sql6X@;La#+m%)>EvP95^) zWq!#;E*AC#-YSQ99U7az_(sOwbLvlZ+&7%25_*555*8b2kzSYN#aW|?aON!UOy}(6 z2D`85*-6#RhL7`f>V_>G9XvYLRF?C3MdW}VOSOpY^P;A7D1N^|rbUL9BvW4}=xe#B zGtzxsyV0x7kc6mp#-)e-*$$4VP%4kn>wuk4e%sH~o8!m)fZK!)CK%FaEjs?BZ;U4z zPGj(QpNZtUU$^XWlV%aGCCyDT*K}3LuO&n9Ki7p)C=sjAovz@+KPdthK+yuFpI!uL z{`zS*Dw(QKeon$H1XrN7cq&2M}By1d)ffp2lD^Yc*6CR zE%^1TE1;^TW|_IqWVP&vw>5w%Z;&SSM@-jz%(~qi*{Cc*@pk!@ug*!l%ybwD;^lcC z%&M9RGhp+RD=?!+JC-WFOW)`jV-_#r{sBlU0qRR}cQcQd{SK_cXl7>Kmu|@WALQpO zUfQ~`d;MY6@FLu%)K%PW73eCH+xTSr#3AHMWtQJ137fK7+)d14M7oC6*Ws?pkey$Q zk(E7;qk$V5d!L-%^dwTR?7_>;MuT(JzE8hbs2~^5!2|LlFh8pwNBoJ%bOaw4^^To6 z&s`9>BTU^pD<0pphM3)QEYLZ}6YZ+EET|t(xS`~DfubFru56G#z9}Do@Z*XIPfBQW zT6Kjrum(Msod>p^w}cG-bt4DN)0dq@LQ=I-2IE$5cXSO8_)4|PnSG4uS2gZVRI=1{ zf_5Gv!W^$Qcs{w=R%3C>?Ph+qMBJagTziY@LM{E{rfF#HHxG$3w{iToiZFVF8VUcd zP*SsEmLv0ybbp;DP7cJxj0J~9nqggNz^meCGx)9=7XX{AR~NeE6=ZBW++wAL*)$2S zrTWHK`&GpC+ud8Ph5Inz?;NIc@_}^bXL5~eMtRt4l~!{N%+rUWj=2|MB;KF}WSqrJ z*$@f(i>*_^`{kqhi!>VkGn!=>Vd8>o<=yIXw9}wQ3yni6BXW)6mPKYEQmU2Y6 z`>~<>Rpj#QCEC@V|0Zi+yu2W7O2c=l)woNzn*AytL*JL=tpP}h_dhr8jv4OVUDGjS z`G8x}rjn1&1RXD_fqs5i5+ywOW=p-EcwngZHRm3KD<8`5ldHuMKIGga;H;|)_fn`^ z54C@~Db9*Q**+@)qhF6rY*~ixWb7k)!gJoAZrIIl8V|-Pk+M zU)bT>*7~cR_YaS)rog@E)7HDQG~^!d{aP}gjE4CW?5*ds4SRo-Xx8PoCGuj#VD!5J zQXiU2TO0=Yg;GRy4yRIf{vH^;H+K$*En@7im$kgL7P^xZ4tc%RTOg`ZfDrsE z5XemV+uS#w;r~{+3kb{G=&2^No!MA8Lu}0GIRVf*9h{1AhE?i6+U9GEYl|$kHW?pj zs>qPpxLm$ZVYRiMHn`BRJAaY8?(i-s<`87ba0NbSr#N?S*Lp3#y(6W?vN6WGo9SSU z9NxK2ZMA%@F{7p%@h*TSb6NsPIyHGI?EIgu$UHpC9(8RP}a-=$Y*sCi{`mi?7SVefF z78cq7o6qyUxO(R=!Na|$!TNITwOxkt)&`$~r2mwR7;;Rj?;05J?9Og#6kM$V^WL9X z`d#|fEs#A-s2GvcnZzVSyrXr^^-1U`xLNU(qd0^#Yi4W!L|H&9TBD(); zh;uQLROs6De07YXOuTb52GsnpbB8n?ipcCr>F*cBF^iPAAHpp&B!!MI*)NzFCzQ%) z=sHb4i)T*X!qJ9agr$oEQIl;b4K{h+AN1QuV|oMK@2^b!{$|6nCEp(U@gtu? z$s{Bj2xTaV>&6!!aARa{6#257{j5x^Sk3-S^xGfqeOeZKDb`H>HjgHj*u$hTt6}M3 zHzC(sB^bs}qe;H6;-oUEk0{{H*uH!x|Bco@S&*^eMcUnf)Nr&Jr?0~Zy)>Ywujc!B z*7I)=wME8ajFuy9Ta;>anYzlqf+BK6g7*?mIx2yEUw><7*YcQvNTXjw(=7;H374+5gJ@XB=RH=YQO?6DU6F|k_*{?HuJ3Pub+-)__H4`sM$ugIR_t0`Fm0bG-@*ybqge{mnNzGcDX z*LLJI9w}8Z2e|a7*pTrD=7pJxy+o*naEH&bh2c&bC%5k%n@`RZ^IQq=7G2QuJI5F- zm6mjFPRT_N?=n{Rilyiolv>Rxx5Taevgz5jwqDlr(#^{bits1h35M**t`yGF{H2!T zOKL!0=vMX{OOcqn5yhc?>Bfx%%s-tgg;ND92|GxI?V*onduA9gaP&%Tl!5uMLu`d& zbI5r!vZ8xUx6uPLmR5ig+|~P0ltk!oL{M?Jbr(qtM%x+tLkha&u5pQX$nbBdzv#NH z_DjHgalUE^9&mlegZliut#4ahCfI+xS-tOMRADonH9@}!3$V~2%C)#Fn=%-BBo13K>`bH=ujK3RX!6#J%fd-Vx2 zc4PO{K1f>O4kT#spdfn{?eUirEz>sA1+DK+?39PF{tIOpKB4%`+ongUCkZ257S7Db znJ-)s!BB~~G|}XWS!{8sf9og6K8+;ITei>CprLM_tH*_Tr5oGF8}hXCoKwH-smwf7 zU5__AThc<1ilx3tMzaD}`}1qt?b>I*A~uVKV?%$o?kzmMP;Y@)k6g+gdX&I^V;t#H zxRv6|*A88Mjp=rCb1p)frmpZUmSvuAf1auhD_sm6aUKll5FUa$ucqKjl*i~#@V5>( z4s6XHe2R%(t3JNK+WCvSuKPNrg)Z-)AFr@uBw-hN_927R@e&DO4))Ar20NdxuN_bM zz_^dXTpX9Up#QAoK|pvHDW@xM4CF9CQUg?S{!3vG51;hhGcgmamnM&3hKr3}l@*dJ z3_pC|uY|`03bd}ftsA@bN1)RA8}d)){J-+$T13HO^~P)I&nZr*B+9+X@h1Eoa?vH} zA~D=i34+lW(Myb>plCagjQ>FrKo*~JmTgsL`+?JQcS|z|vD=Hk{{?&S$15J`%CU?BW0B~0bQ|9@Kr`lG8arP8A*$qr zcKlH^sjNM59)VxYdXz#5nB-ry!L&j{gB0R|SUtP9Pd_M)v2^fi3p+Wz-s?@P%a{ z-4<~!IB-4utW)>Iusmb|_WSR#z-Mh80Z0(<(Pej*rWtH1=j@#CNIA86*6z$!SsC9& zL7Ve?aP9wk6N35w0z{QK@W$%u&xH*M$7GmumQ+>Lpe$Hapvb=?p@E((+h-VvJp)`! z>3}(=)*m52mR5rDaJ{|=k`Ix0W_XOmv_!u0Z@Ab}H zH!U&p9cHkDm2}|)oU8p5EF`9cI!a$Dq+#ljiaO}0W0;>TrpeyW0SmffKa*7V5@a!FNJ%DzMEQANBvW-@HQHH z#uGOOcr3kYH;h={Y0>^KVKbKGuEA1HN5FiWDsp;K*y~1VMy3Oi74l{9GZve+d+5-( znH}6=f-`leW-5hO{w8k)v7JB4G@P=QfH%4=Jo^BvNj+0wBjJy}_mm(DLo+NZ z?wkF~l?>I_o*Uqs-2xR-%kSOXuuHAHJ!vvfepPj;{LO4#E_2vAB17mXGffkVTZVaI z(^pmC^g$-1wyr@i{upoT@<y9 z9OPlW>KO+iq)Jw|to%tIczIq|JRn6^wtqW5vrhRvSK%#kwG(KHe)HXO`^bZZ_i6WT z`VSzIGWhD&C^%8Qh#rnoUFnx{ValO^h09QkVC(J8CrGs80(*E z+}^AjK|;))S|t`ADKwR0_U5QuCC24v?;S1rf3MS~!}Iej3|nYFdm!>=z}oIZWFF;VFd&6kpwDaY&5XhmzVG zk!H9oF^IiOr$T?{H{ZvbE5IRJUDn)GNQK>r*T7o6UV~uFkupFV_d0A^90JA~8;>U_ zDk;FlbXaC#aF1sq$!z1BxrO3xSvEjc8mFjeG$q%r7iJo$U=rl-{BMtOHX1yhlOsju zpC!6Hsu~&k)C^LZasiy(q(!FJINsEbDI`Hs_3pt7L$l{99Ycra$b9Ho)S|p+Tn346 zE$57|g3Y~G$Fm0Gjf79=kU|phyF2Mp0?DD4K zW}f|xeb#mY^DL{A!2cV&=2BnnH2;XjPkb>|5g|?1gYjAex&$$HM<|SAjCzJF^7Mr1 zRRz@Va8v&HJR?0dp=@)`)`a$_F?CAOQS?Qr5^k^396EstDNM&=?;CZTS5f%ZswV?+ z?0v75LN~Ui;#Q)y{9FIiVT>~Vfthbvb%O)0Ae)8;RVZ%Tdc0M z*k;;zBM$ppAlzzP@h+j%5{0wGj+V^%DEBK=v@-KdsDluc2{iWl1o5z%2PL5_}3lO0gF6 zKwPLYV9W&Pfu~!H@A@!aq~nyd-MZq#r%pb5_1-gra{qtySvx>yk&m}!SCFaiEiELn zJ)NSQEBq>~CHJre$w&iy==Azb7r)YegrgAHpOJ}r*ON8S-$SA86FlQ)Pd6tVj(Q{B zI8~~*)#)gZlF-Blaf2s6l&moDqV5Z^aQ?e|a8igT0TPA^wxJLRs{vX1(2tzL#L97x zWaGIR2g1`eZi4@f%vuE6`Iwl8MKZMFZKP&~xzj*DK1ShTY=_xu3e zIzjW6BM&Twl|Pl(UROw?RL=F+C&}B(or9M9c||^r9$R<@L6Swv{pa!uY`1Y=Z`rIv z4b?Le`2Jp~W&R*z>jqjM#bWY9CrmTt-?;h^SorgM14<_qd*Y?QzD$tiL>i>VR?_)P z=31}b12x$6f?~Ao;6B{YqhuWx`c@}&8@>H7T3KV#Ty_0FIw*7$)uJ;tAY-q@ipgIS z+q-=_7I8sv6nHDR&Fc4Y;l15Dv!cibY-WJU1NLFf;Q6uY-0>NK%2LB1zHW76aWE|C-7lmQI#cyE^2m!P+G|6nfYm_{`tGgj zZq6QbIXE^6nd;$D`>bxxMn3CR`l&bt`5qjDITwLmE$^zExja93{pNNz>b%}^rz%=+ zc6x>xa1WRc%3sFDa1)tpSqebocE3L*i51sIT8QmXE`#j*5#`GF*G$~I&9?S_nv3**-KUq0J7I0qI3a!=AnkzNz0tf>_GzvYu7m0UKvO~22e*8iz(fHP(uRf%0 zc2*>VzYynj;Hc|S$xxB=x#&lHgU)J!iX)`;&N|9|#eDb2#Q^wGymCU%(LFT2+NvnW z5W&XO#P!_~^`!|TN?-N&z!7Wt@Y~e=y7bj`8Oppczy?4+l@@@{ zK9**KImda6l*$xGtMBfvi`YgBXL$Ll9czqlu$M0(e?1?rRqFtfFq}@gfYbhry12g0bfv{d_t4S7CgQND8>N*71*iAoG!$qN`x%f*!w|;gKyy-jxqA z6v^uiC28&h;`MJsFn`^9x4LK9H6>^|8EviqKmJe|%in)s-BT?^Mh1Gxi!&@ z1cIIXk{udoXK=Ve&%3};Lv2^zN@O|^??Np^6J47Djd&W{*?%yN4(H@menB zFAM)sY@l2yQ4!TAW11|q(2vs1y1O@#nmVDYS>wI$qEvvp7+$BbGFtNl@`h7+%LS2r z0^0`+r2V7$=?9$#+GZ1J%&df94o4(J-lX~K->4VoSnJ>2Nr{SL#NEOy;xoq6Lc~Tu zy~sx1Me_pmvw;e$&Y2vEJSaj*Q7%xya(~PoQ`>u{JKF)}JQ?={-@7~GI%*mJ*atsk zd)haP^K|YrJsp;6qQCO}snA;MH^-KO;rpmD*LvmR(m~DnvYj(3u8SvMFr3ep=;fMC z-=f3inb&`zm8t;~Ir&N`;*`A9vg+-V)H1U`jRubXn)OJ#nPHD>+k0p zv4uw#-V_gYw(rjn6=5Tdgbtz0inh#5Dt$7Qi?e|~yrcEzg%3Hj`9gp8~ zws$^h0HZHlo;hu8rf>CiCssFaXXr!EtZ2i{2miz!`m!_djmrc1RyEXVW`5tANMxIi z_j+sJ^G1hJvsXU{6D}HdS zuaFZTN*YViX#nMSVOx?J^dn|I4K0__?{aklag9Hb>e}~Dv&q2&zq_@b$^-QnF4xX# z`Oc^)HCrjsCbP&>4=5RN6Vb|EOMU?JNkiJ8@4~Dt9%@Hmll6^gPEvFu4Bn`ZCp@~L<_lO!y%^RCrvcA!T6de4B_z@*UG)}+Q9N+?5snp|e8Y7o6TMb%l5 z#BjY92YFCTp&{%Kv8q_Y^#<6r<3lnx(z{luP7XZ&X^-vYF_kwhB0Dn#6F}m*v?l>m zAJyZ!$GjF$dkI=h%qQPc_p(vq1;94vD{D<|T#%=cMqJxI48r%htI!%YW4@WoEzG_i zP%{_w{F>|IZNH!fyPERl6|jc;6oMQiIVt_6o*_qDhzsKEgvSjwuM!V)p0@WsFLGKa z7v3FQ$WaIDV8d7BjWTL%X{W*W(gxljmrC>JfuHO@%Sv90*$K6ASm$AgI$J zj-7vj0tPZY4~0Op+Ovea1%NtGNXF6VhFng}Z^KuIoGJ$mbTCW&i>fTAs<~H(4p^Gt zYmc@wtNU_X7l)2t-h;pvtgxLR5T`)NR~}wHH!oolRMaPm;n{ogL^)_v+xaou)t4Zt z4U%F_AnmU>8Z0ev!4)&-p8U@C%VRYDE;ltgN{deGbbzS5sRa}EKyRT@p5J7vRAm#F?ptZ z|7m}A!f^s;ZY~Si|3D$-qCe;QY4MHT%gYn8+qb7$W1+!yKwWybZ4*_|4dh6sg#lJWR3a2Auv+E zh`MMDxW4}P_me=>rTdg9zDsg2>YuB-Xe7M80BOEfQmi!}5x#Ks`QF1^{*<~2dsYG) z3h)3Sm@Q$u$=(&<5V`xa5ah6+pE7f)@_fe(e z;^5ekN~*GDy7EZNed5iP20XrBCo|C7jD|x&fPGt`7oT+0vr^2R{$iS}D6mR<{w9^Y{T>b~V_k=b@;fp(&fOUMeq^o3OIY z6um+7$k|kV+Du)mk$&EQj4lpo6#818ETUHx6kkE<~^vdV~zAbZgNjeKr%W-+*4U zrh7Jfst|*&*Y}7V;=vgrwBbF_LSAMH2b5!Q(aMB6fHdSKN8rIc9xPUuTHWr;~V+)WE z$S~i7uJD+Iy0vC`<|TE#Ya&-;|;Jy`5r(k_0N{^T#k znq8CPv>OSE8iQ3`>utkrS@b`ck(n~qez|XM# zCtd37*4{#NM(RVOKM3)wL^?ykcRW(HX9I5VrW%?2n`+by{m0`cMCw=$NcMdq<@ti; zeg7K){NtRsxq9ijV)G7># zkIF8Axqt3(AkxCs>1|%l)oSU+?O9I97JA*UDLt!jpXY%3n%@k@(2Z|m3|xp(s^q}? z7g1m(;=-Jw$8KAb4Y|U5#`{l>`q^M+b_YvWrxyBAtKqK*qe^CPQ%kIq!CUrOpQD=$ ziGTwM3?SnOL(P!0dO9#Y3PSccufk;R=(bpaRNX2ac~-OlVc>`#AyFmUvaf+;H(pJ z?psbsM)1h@W?9srl+rY4;FJ^Z_DS9!lj=?G0db1LVrQCd@gdQ9nk1H*a{H@(oz_X< zJ$vVUis0Ju$Lc-!mOdcge`fko(QUiIeX#9ubhLxR0=h%K^zp*`MmzWRy$|Oye%v3j#(PdL0ne&gKq0VB8)7rUpPzsv%h zT<(m*UT=!SxMh?9SBC-m+)Q9WNsOb?i!G7)aR}bR(=@}F#47nhM!VlKTLWhVZhk}F z(PJRdK468

    JZmgxiV|9r0{$!p;j?Gh|mr%^Wmu_ACi%V_O5obW`W zosLKTAQ0kyuR9gO(btS$!Xwnjc4Q2lx8J*X<9YWo(M#_xCz=d0j{Nc#ZQ>n7HkD1h z&}bl!1NQloz>rHmYtN+Q&Rf-7lRkrM8xOgxE6Q3N=$l1Q@gh&Y z3_DvS3PhI1y>Z11Z^!+AFMuiODtL2^R_b?QXcfANuHKq)OE)qTw;)XBLz9!)o{m{g zarE)Mx5f&MM%Rfys$;oJdWr9#w~SvVvZG42MMLCE;m~WdmKz3v^P)GyGs4GPCYzB+&wsA= ztWq1mAD*{KK;_2}r4Z+YRhQzt(xPPjC~RBc4Ir$+?-i-SDtx@=L-Cc9o+X${k zeA%h@Bd>qE)%7{HnGt+X>Gp2j3?Y>g^2xLF$)S4hKTV%~m-oJd92RY7mjJ?08E;Bs zTz|#6zO9OqhVcPodF0H1w0^*ik@pov&?QD%P?I*qt0;kjgzo*X8!q@wHY`6OnMSp$ zZ0oHsvND6Q%0KQ_nCjG4+;SZ3JNa!(Ph5PYhY?jMg&O+a+~76TY>{akn?2XpI+6Tj zqhHAW`bsI)m~}8B6zTKEU4v^|#_BcCdBdh0kk_emgT<4_N* z^{r|WZ>T^Ea{labk=J@Cw`8-m;Exvj+og3Ha#J>3+S~bW85E}FZGJWX7y^FVWv;JO z;pZJBXrtot6PWW0G33{Q>t;csWsz)ikTmu3^2tZ&7}^BL#GsaRzvyFI48)#wv9Px7 zX-lq#*UX!h>9ndd)3;^{p18mMaT16F%iMiA$Q* zwpf&bV^jNo-NHfV_D%y#xLG-p4H;|zX!mrp7M8yhyf>QI(5L)ByXlP8D#vX~$Of5m z-%Q1YpLK@jXN!RYU?!h8ojKXxVZA%+Grd__pyWLYl6S zs?HuHT73lY{>~}6TuiE23vgtX=D~$Lv=K;5)6Z|MAtFvXG9GtfgYlbbm)Im~im2}x z8`@;|xWQcTrcZ}EFE?;iRWb4F_fjCCyzGH=qmh71ah?hMN72$~-$FU8T~xLMdnOdhsdIIpuY%9{jr8XW1uZRkv7QmtmSB>nPN*-h7 zod7Yzuh5@7g6Oaggm`E=tGK3z4y_V)cR%e^AFj5_k|H@8OvhsDX?3cD@v*juFGUCYnk$E8>E zwH>Mo^%R;FCdcH|xg@uPHlxZ)t^?l88@+U0lJl80ukCtPD_BR|o2_i*pn z)O;Xyydtz+mAJlnQtXPV?qGrMRu&0r)O^TD6LVZJ`L$%9>h?V6nemq* zNeA>D17~--$P1tMwteg&**yt1f%spS8-F*}79!6Z85NU%2xg8#f8C0y?TZ1TDO152 zUw-X_yuO7yf3q%bk&WW6O7g7ZJ-bHmS3&sRnX{awtB zueD27Rt8F_>rE$rjud@gj-{{TZg`W0R}F&ZdV7<a=Fg*#9sH~pp zVKpb}X=2T#M*6vMVls>ZH~bv0E>WqO&fjx}lR5+mt`YuCt;vD3xw=26gJBy_olv)T z6(N2BSuJVYj@s8N5%mF0vCzu#N~mWf7!4@Pve4+HhFgfGG0Kgux1Q2}HrLiG!X?Ez=Idsc$^hpKtgG zd+L9AJuTlOx(M2HJO?iF;J4UtJ^Y0j=!=fvAVYBtZCl+Eg^~mQ^ChR*9VxMz87H42 z5=&q7Wy`c0ZleYM{ig_Qqiozzsv{$j=)*% z?mUnp+tRB`ZHA_DBGT{&aPQ(&cg24e%}J}lg89eH_4WR{s@&IpD74?>t|m%kY}H7h z^-6RRJf$eQ;^Sy~hH@Y#KEr7dxMiz~zvH*))EMfxrs@N@QT%`5Ui;CZVq#2A5=L@Im$7d?yQTMT0amFhVomaAlIgk97RSdgC|9nL>Gr) z1A*QvC1G35fTzuBX*k?|fN^k^(&xCf0&nZ3`g{iZ|@N=i!~hbr!+ zi_&fQ!^FdpJ6T(~EynsKop3_fRS9CjLoEVu9)Ae7rp>4f^^(Re+wvW1PFl0+HEYnl zI;80Nw8`sBHe^0!v=101y;f2B(l22g!zF2AXV6p1H*rxaD{Autf`A3?`k&QXGag>Q zI&iTh>-RcdZ*dkf|Byuop#-?e9~26eX) zXwM9sb_38nI@)WpVr}+)eh&!3_GuFbXBby8z`N5*>{;wW1tZevM*gG)(s2^32)D7C zhZER7ukwpX2HVzO9&BY}QF~q)QHtOZ5U8pa$R)%$h7ij2X@7M=gFEv>4Lw$cgRDV} zhEEBQL5%VE{AU~L-@bSJ$&g9XD4ocr2Pj1wxqL?Y4_LO_ zrbBm*M|bTGf#~!-t!yUB<`;plj=m6x7?mwVPE$$ z+=mSoe%jd__OYCGKMXM&Xe`lWH=n$)gSs+k`ny(qS4Hr@fP%(<|BgmQT$*ob{Jq%t zm$(AmpNDoPzeSkNkNQLvV@5X=6LBcb1B-j>#xI<6>bJuVS*9vi2SXg9w zQrQs?Es)^{$2(_%zm1F>{^Dkld}%APd#{z?j!*4lm+(K*r^EwxanrDuMqkfTVX zJvBo!dQJGGTDGjmAbyP(MCVxllyAO-m{6d|eyNWQbx6K3B{I=03pcECD zNRhuO9sJo5dC_m!9z7|}&WF<%hx?jXkq?$@P8p{}X>LR1=n~4pj`1ORC1`AOvKNp8 zkgf^23if^c0RX(b*&*eKvS5Y-&$OjNgzdhPyz`SWs@-XWdn^e~2j@MUsf=Fsb$t}4 zV^q^J7nNK?8yscHtLj+;RDtsziHx72A(-t|PEezFg~RxeG`_t`5xZy44C%^yX!e>< zW+%@@bmWAP8YJ5z7_0l+OdZ?{uRsT4VsrNJ3j)oS|8Q-h{z4?T>q-Wvu_XR%Hx_Q5#(sjLtlj>>jylS{UQ^2)Vf4 z((-XhcTdpb3bJu&Nb+VVO7mKa=Hc{;zi3rM=-f!SVH-Ez!_p3kTGtRsqR3*6JyMES zX<{DjaG_iWZN@sxQhO`CuA&#p(%6MK2_!BA*{8~fjV7`qAl_1U+15vUHFV1%;GG%p zK!o(9!xJ~H0*b`;KaSFr+&GEcBLb^&(>*C zk=bB867)f(c8?o)m>qD}bDXx`yL;V*1ZO_8FE)s|fK+B{9pqTw+@YN}d+v`$=)(`z340Mc?zurv-Y<36M&J!&$ksEjeoZemP7%6w*?OE0Woiiu zaY=1DYn53cl@}Tos##+Cz9w#tmsupIw2tk5>{hqBWRvW8^|3?p> z>Fl^4_Jw*r>zA&9`9?)%`snYLso_a*}+{*sfp3Ev-oqM>|SqF*$f)@cbV zj03dB^bA8en)m2Cw#ZU>-iKZw7Bkw^?jLW>I%!k*PBadC3(C1~;=3P@Awg=DX8qn7JA%yr}H6OUUjtT#c zNr<#o7Sdc3`{q7V8(6kczVRB6ONX#8Iw}eSe5VJd`ltHGC|l-zViH0l;=LWK3|Fei zH=kEKdvt-48Z2m`0Zo>_nx|2!fen~*%2k)KPrOt|uM8+)!!PSwD6s%4GjqTG(oOFe z{cD<66KH!%8TG&tm8czYC8Nv2!t@-qsX$$pKcy;t2m@(?gwopmxO8)3i#K+tSx3Nq z?WJqCpXY^HWJ0zBdB@v+*vkcH43y^We7Dt3Wd3|<^Oao4tnjvf8Mh0#`z_DsCI;1< z2z*GR+t-%f?vhtjIi(jWoyuEMRAF9K5>;zg_mr343sYWp$`WoFu^pZhWGD+=hAs0B z?{)2nK!L-lz2oZ6(%eOmbVcIu`UC+nY5XeiRdZG2rzTzeX44`0mny9PF)Tge6Q~q) zd@ee?!@|>S_L(aB6k6D^xZ{kaJh#wXa1Q`+`5u~s2hBobV{?rLQ`8hrU^&$e&S}-a zrDN**BqFY+79c63O&|3PSl=rV4j#+Zx0O&C9yEsRn^c)B3QYL(^fC9|OxG_XjOOsE zS7-FpCNsOPXUMO)U%@Wf$p(J%tZ;a1GOxR4po(E-R;>trf{qQT19fYbQLl?f1Pj2bE&y?8g_%3-lc=Vb( zE6(7qCxpk-tFqxphdP=ddvK5ECh8anV*u*ErMB1Oy*G}21f!meu0@k>%{-obuOUyS zo8xX)1nl(i=jsaO_+v9B!Dc5L*340Ya^oN$H94c9ZlohWSx2YX?9DdQaBF{pbIvEy zQs!%vrC;Me4X)5MvlI9w;kxj0QbGK_$(FU)^#%0#mGUK{m~W{0%R9DJgju2TKtD4* zTLL#bMf9V7)ldCW@hoxC#I9UIt4!h| zDAdmGBOMa=uS{g<05vN;=h=?qM#DoofJD5-j%71M##05i$G5;ZH>FzVo_v4G8X>gY}$ zg!k0Vzzb5eT#bJi=TDPTK%?C?RR!E3aF<+tiyvhj5cH`f`Q?#Bt+sXAIch(NqwLHp z95qf;MdMF`U#gfzjKfLG6w0FQZ^U%Dib0hD-J;S1l>RcYL{y`+7mxoZ;5=2MdPhPt zOO_n-;UlDVAHVJ^mTXk;jezqF5T~74i{_+p=-1X>D9ZO;2UB%qaMzZB6k9{q_emGC z#7x2CfyEBbn>gZ97OsZWJnmi!%wA*j{J@A;GdK3I0P)#)|SN=oy& zuesyAkn4|!t?ah|t_tJjjwilE8hZBV@Vxka=Fp=9D>Y#7p&?-^cIiZjbP_58kEe@a3YF8@Hbo<)3Uh^=ouONTsC zv;YfuE0ZLukNfTO?I5o>7bZPTeLV8Z1*97fDeA(nh?2yc#FrBzBj&|)I=#l8n>IXq zONY6c$Q&qj%zXtP2j<=LXILNE96sEvvr~IIIOzK!9DUSoWeVGLD5DG zPH!*h68St&AA3D!Z!zC-M!{IbZO&FJr|$3EmEM$$3_@)U%v*glBG=>PV57=xU}2F< z(y%pruNkGgJmcOFcqE2eFfZ3i8+~T(Kc%DybtiNS`mQ8m9hHM4#$8F>CYwppj)AY` z0hsl^20{B5YP|Q%6ycgvOS_NaZ?bnxA4#cYeJr^<{=`DIS4!UZ{P#2Zdw)@SF(Xc1 zR^#!_^#x9J%yGDztz|M zD=f}@s7WV*N!XU9GGZarc7kN2F33+-Bua6m)PM_5n)nGI>2SfJwyL~gjCg;RpDK?@shG|NKkhyT9?oY)2Id4B7R)=yi5t&&j;_>*LQG72ofK)8*Il(9 z&OUD_J;QHg3>P054!-!J6`GQc?wQV*-3W=p+-OQAaj;_2T5U-Q@uuv;fAr^diln&J z+0qGwwhrgO@uf;l#8L@UYWoXW8yP0vM2PP^7VYB20cT}b{lshHJ@9zL{vxt#^r?ke zB`2hfO`IF?-WjzBn*1>l%;DS(yEGOW(1WP8BdL#n9t-A-DO2q~Prdzv2Tdc%XmLil zBVSbytxYm#HlzSmY5Pqm&egK}(OnXDGl$%uy<>CaVn!{UYFO!fMGBIAc1ohks;++V9H;oOb*e40PIG111kYk<`3a$5~D z^SolEKDTi$%2bUGTdM-2nKY2@+~&fNQFjB0)m?WH1YMUMCtkR_^-%#I8cS0+)bJ$0fd$872J)CNgevltY>`Ho$KV(jhzj zZ_-dJv0bUGVqxK`WKZd59d;Sw;&Qu#c=Qicwwc7XkTCSrJ=rv*jYd1ugI#uX#J+H| zF3nm;(CE^DzEw9!t+x6Y7N>dV5O#&V)S% zQLYmxf-%0af6E?_gDSJmS{dh_Uj@!n_Cl|Git;DUh7*PN z)p+DLm{Fcn|Y$5T0b?~#@6Z*87NT`7o z_Cfa2`Q#$2#J4a&eQ(In5-t(AwlP1%V5bWb`@I9#bcx@$9X@?qU<=Hsxp1a^u2gO7 zpdI7)kd)@Gz@@LOt>&-`UaO~KHQvG=pfv+J#e;m)Il!*u8Ab9XUQKLZsG~DCUlBD_ zm@`LdrzHvW(__7o*PPDW;Irz@bU|N*++tkXrOhP2J+AwJHaQ|<$>iWIOWM}yH!}Z8u)g5G2{OEd%~13@W=WK-&lcs$HaEuuIrh8J09ERS(IN5S;abW{@f@>%K8sHLZIEj@)R!-3QO8h9X&_jPzrl zOpwd;g;&GB42S57mO}60tFFlsZ^f<8DmIjp@H!d|S3OuyNng3!opn8(=*J(MUrw&g zZAO;cIBv2y|KY&`U$g{Q8SOXcO|MSXWY zm*9>hiJ#sv=&MKe@Vn-U!;=p0jv&RpAO0}F&2|FMG?OFS|C2+7d$)nWw11?7-5U|} zZWB`v;){=b3tv29rsoQ0z?}CBN;ucaLAt z{r|H7xYv|eyoq=lg9Xs4zt+d^ms+b@D?dK zOMNj9?qvlk1@d`1{d++1WA2TZ4wMbvuI+hXJ+xcjdy)0BoHVt#RKY%V5Ln8{-phCHRh~fvn|0100Fy3-2!|Y8O zs~W0~^U<9?n!0sfNQ8+Do<{w`F|Idnb4QSZ{dT$U%JTjSG8fHVochP^0g68M-9>@i}m=wB}gS|%~sjvse1TRgkgLb)Q=>zZ9 z|04v2*y!ssu4Pt1RljVk+?bDT&G#9pABR zHQ1ac(F1!hnr(SP(*jxa%+0!PMG2~h{^@2Gi~s661TD2 z-_q887(@3vPpytfoHKk5I}2`pOXNWn2B0;GdF^?Lt*74O+>#PhOtI&{pRtE~1rAxW z#tZ{=L|G0xBuBk<^UYL$0T+GE_qaf@MyLFqM-NTf(D!N;goF2H=q((ysJc6|b@79`|E z#=V!OfkwSL-#5Lx7l0R1pw9KjT{mE?XA^bgTZoo&{FT2ORB!HughV}3zt7s8*ho8 zCRD%ymcfloo%E$esi;gS>VgDv-}ua;+;u5y)GbL9`vnqTQ&ua`EP2ZHT6Aee^6qPqRCE1EWJy+gnnkxmg}#*G}9aT<_v=NhZ)U9-gnv6 z^(H(i##C!3p3+e@-C=>O9`1bol<;W-Oc%!5y)?UAt zZX#|%-nq+6fNGFY=mJaX2FBG(H>Zlk-FKX}uUTYUC} z<2p&V$c+PhnL~Y%0TE4)edu3vuH{6#)4k^Rh<6o;&8!z-$jjeUDkL>XV z70lv}+0G;z01^^HdV8(?!^XGX3+FUK24|af)@opT({d_^BL$*5ZK%DZ@#uar)CJpu zuml}0ANpt_t2S`MWq&%U5Rg%PYf!;N)@EP{5q;0+Q<+>~K0wuk++T#(`k!oQn1l%S z8?rDxajow10esD5< zW3ZhnJttYy#>kR}*cOom-!34WHJ_0;@fl;*FWSrA)^sR;jyQ~1CJbY4)i4SY7OU4E z?X&l)-5;Xy?b$%W3~0vmm#}hw#s$Ak*jYpt3CL+EY*AmM;OK96RTHY~+T5eo0wDF| zNfE@;FotDJ-WXj zMts7~w=&a{P?z@ebO&h{3Bhb`i}Hp6fOR5=!U-_xL^S21l8HoqY!0i9aRwO&=YhJ& zJCD}MbQzltRP;%U^VAc##G&1!zX|I;9HRo=7UkM1cn#uqb9~f8lam&sCgzx=R$rFS zhBsT_xumuST4Vxk+L($H=b7>0g2l#s=5=Ios{Zn zlrN@RoFd)ba%&%gTiWvi+vcNgK{<_)oz4D_u;&OyR(N-{fPZx6pgs0eK1Wo(TRGCo zuon~&RJ8ZHWA0~-QQ9lRveMQY%EZm2mfdS!6iI?@3Tp4 zOjKAPdX00@XZ88uGx)_kYwV`^Z#ZMk9X^cw%OSKw#BoH!ftEdkhMijx(hbn>sP6d} z!~@(8c~s*$<%F)6fTVjEenq#DYm!;krJ3`+KDYnfzjlkh#!Yi>xilDR5=&}ObHBQ_ zA)T?+{-PsQNQ;)H(kb5<|At5fl#;-o`fh6S-sb6iOYbShau?w;PMoLpfzeN8$Y=b9q%4fx)nqsAd%KlT z0Y@C&HPKSWstIN%@jPL*`y^zwzUCT0Frk94mN7uxJg*-N#f-qB+${D2O9C(n#V93Jbvhuq36A$AO$!+66fS{KEwm|D zGzxZ?@D0H`-WH}5+e1Xo5jiEg&bMCv4BXk^^90HPn^EWcWPRt&Z2t zI$b4QHU_eHI9?QoRFWF@b844)C3_K)h22p)n=5UbJ6|>b*sDJ6D44o9{<*x+-*HW9 z_6;4HvdW%pZDmiYr{WJ6OzS2UkKEBs+luTY{E>e)shWxIY)f~lgH+=XZxNEXUMF!K z_AgN%9z^NA(%Q@UU58~zAfJwJ6E?a?vuH_mr-|&@LPX#|<@&7YpHzkw7+owX^xn2# zR`59-@FFeL7PZ{k4w{u2Ax*q8iI{nK#@yom5-eEr+RU?Q6J(hC1xZ=zE}c-J{C*+Y z-~j-MOdOJr+aAhG4TT4VFU5CEv&ei6ar(H^$Q|iL<2E#p;9G?0X;mFiUXS>=dZ$#f z?p^@rglVSQ3Z^)6QM4^vu0vKg`Ry&bx?EfQ0h5q^+Fou}?{nY;C}so+kMn9$(JD6ZUE8)4+yJw> zJU`-3m-+0y&9(3)GoQV3i{%#I$?z78)guwDSTZU>6l(d$p|l)C)$Eq10Nqm`A-@SYXfv-nQ<0{T=U&To%Jryhu9nOJGYaA5Mx6!|L(g_j#K(8OO&nm zmXBxsWLEv0u6QcTMBo8`Ms#>r?)zuyy%4mt)2sv)?-uGP`YpBB8#98$Z+Sm-PNo05 zUp}@KwH$}be~QgIzfomfpSsQbg3pwNE#4`aQPcvxDbD`5yHoUU$T|F}?tg_R`4fkn z1R)OkbHnyK61Q9DwfAo+5Pq@2PncibqOD+MwH?8=RPYDQhZ{yWO9|`yLkuXBtQf!&F7V6h_Sv2qx1`U zDWtLu$Zx4zN{(G9>NpN(2*A#~d4u%-NlD7=;Vd8tv*7x@D-i@b6~s;1kiXwPJ>V^T z5;^=cwc>ZP<<|4pc(CPC9ixRzsc)CD+zluF&6Hz0z{>*ns|oVZtb9hvxi;~p3}12xNJ4EO9u881i}x)*Uk9~ z!JPSFqNzqB78L)Q1;c(!J^@<@)Omg!Aexc~jLSF*s4o2;@!;SAS)B+d6CxCrRF98W7;ZXb9-i+8U>T7Scp6!zi4!lKrv` zS=l1+KWKk_+&tiHauuN2pW<4w>>+WCg?}Feme26R*Bv0LHDK@#zw$1fyt{Iya-W@O_ySOv` zNV0Q-uk*A-)xh^O#Blu%<&W4-cD#JPier>OsRXqMf{_*;n83G^_{24^`}G0jx`cKJ zXF+S0(o61$j;>aRv$<|{ErW^jU?ub-H0Y;Z*<8`AhY6dz{R3#r%UUZAG;MKlUIY>0 zyyoP!s+?X4jK>)DOelApHbG?1$SlStl&Y}z;g0A>{I}|QqCr1wfk=b3`C8Jxi1B^F z^gBp>q{CWIN$=&fN>=G_AEQ2*TwCfr&-1`SB}h}|qqgD`~7llcaa(ft(l*-xUEmRwv;&9AmNwb=34&mGn;|MQEQtnF3hOe#{^ zc7Eixje!{rh#3gZ5{TBr?T$@`HtdeC-PjvUJM~KEYs_tff7*L#>D0Mjjhx4io=`R_ zI0ANZK`&h_TJ;4+(l<{}oMxQTjSQY0Z=LRt@t9C%5uuTnSkfiT1OyW<7H_B3OD-ChfcT zK$b?5Axru$`6R!HG8dN#aLh$qv7vP^MY1W<|Hv}ri-HR8?dh~6OG}2HeT!9ElC!XJ z0(!?(V|{4p@rOpEC;5peh9Mmo+XUI$Y)(%EftTD+T2np*olOp>qCA4;yO&Q6@M~?$ zC9Z^TuR2F`{!}p)`ILUB)<@AaeEye^M2R-#R;Rs~N{u}tUaHOrsB3u%GInq3sVa`H z=mUsipC?*6T^#JdpyQo3;!mF4y4QR+fcDH+#WYe;o4dn?t8<*fdb*3q5hK&XXralXCm=auhA0LP52n z#OOjl5WqDXpGc9?Xt|OTn^vT46sv($We#IHR{Zgf-0JQ8jcHcft`80HX#E<#zKkq| z+q&NU1_pcB8Z~2%58nwI3fVP>{-{6Oa1aq{QhL^xqU*_e`^R=MWMS4V(|z-~*sH$n z`@4Iyu0Cx&Wlv8~QGN}-V3&a1cufOF%`In*y_Ax)%OT0IFiVkZpVAn%47Vt>oO2V= z5~w@r11D&x+52GB>t`JP&0NUU0o=JnM)^?2=YYA`G?qfxYW7~EH-&psXH5~^bZE2j zWmTkCcL&;5z8`S$u^8y z7h&1uWAJbCj&uimI67~F5;#M`t%Hqd$k1iUh?xj++7#(l5@yNegAU*lBGdgJ#fEE+JO3dUlFE|WP{88*l$Lij-yLCMg~@L zZI4IauRj{!@tI5{UYpTz&+~tWeEh25$M0Qww3t=C1uQYNmBSM;AHGt53#~kdPjJK>mExbrC;SLFoYpW`mI?T` zd6%EtAluVyaga>K?}@g>gZtd(HKW|0zpF`}gvqfOMc)|B5Bt-+4Q|BGa?1I4N&cxo zas|8Mx*t{!Ep_C^K&r5@S=N~^S$s2}3|wmbqHUfh1`F#%uSW)T?-{_}AWVWEJu!t` zG*D$V7M0#^Y9?z+h;MFQmYs7@1KIiZmr29JmeocJ({OCCZ;KpJjR?gAkydF0*-OS~ zk5PqpB0K|bii$qZ;>YMLS=ch*Ek?$mOWv%zc2x9-2xXFyH5PI&3Bt*OR)5JG?rb`X zQw}ncF&=xBV@4;Q$}$e&M!rj{036AcFmhlHw0HOqq82^GyzgOSMMu!NgyG>Qp82`- z`klmqWRv8|Uq>`o#;k|#Hs|StyZ*(SK7Bl*<%~WGa=fzDE3wXR^l?=)^P-5$ zF*P7Y{w>|U`Kvz`J1C_&yNEqtY-H9~DKBMGqX$Skq@Qj*dwJyrLMbIC5dh?B`Hw#J z$k~iG9p}f&3fi3sQ%V46Y}wlJzrebo!DQWbyrOE&Lf@;VFS-^zAeD2FLbD*3 zGb7dhwCeFqj@Ml|z%fO`*=GKG&xI}>gy$lwfi>DtRSP@uPrTVmi-cIMFPzT`_)UR; zk`Vb=n$Wkqn0j$aw95Yag@_h}?K6ZK=!wgg5$HT6uebN`TZOd_kDi)U@&VY98`87a zo$VXacpHyfEySBzr7w;xAJ>H$jDn{cLu)5~h`W#DMBFx5sLo`aw%)Y5sX=Wd5TvBX zj*Ss$dG%}u%GvY&rrfP`U~FrUD-btWi7!-gXy;ECQKh$;nB=wHxli9twJwX;w!0&C z7MCoZ=}zVa-UstkQ))@K3bl@rg#Liql%!jQ4~vEWDKy)+TuEAWdZ~h{#W_?*!h<5N^V4{Rd(gIw zE~kdkue{2Q>hLmEL*ZZZ_L17KG9)B9|vYGLoqL5F>i5>ImuzEiBG>- z70tWPUG3nd?4xF@1(#$68pcC_bd({NA0ds53d!hd?xE~u`{>4ySJU@Sh*El6ve(5& zOIxr@fwUYJS#N?=3fLJNkgI4PEm*FmDKYzo1*7)$iSYG%+xFTspaG~_R!ucq`BzF& z0|>mq1Kt;czeDepKzaAYr3_mZwoJ;tAmFYXZ?0BEJgm9y%Oz)Zi+kOMO|kUJMQGFgH6a{=B0M|z^e)E>=jr>yqa#Y!*cB=z`Fg_kxYPe=!?N0tOE3qsJ8)y_|IV%)6X>Q2#Tpisr-#oHG)7bUL@O8$$9DP$Y8X7e5@2q z(3%*r)A3I9N)}UoutsnpM3aE`!LIpCGGFu-%>5l$?7xqsEVAdOy7%iVU5v5$7D&wx z^l!Bb_e_!txhZZuA>UwpzMPRcY#%o$TB2u(enOZwUU!b&eUJ2H1dNGGU#AO5w{)IsQ^@c@%X4p8QVUN5j$)PVPlz3F@&%Q`d*{4%E+S`Qf>$$Jm^Uekfd}Z|!uk+Ah z#bgHcoXmlwP;vFwq)9{Qr;W3Y&SzN1fTR=jJP03Qwt>FP2|LfY15(;3HWMir#6;M%ky`MNOaxz}o5GhiI#S5R0%tMYP_aSWCgyD5hb}u{hUcTtT{*6a zHZp(9OvmWA&O_)kU(Mwep}+n&cl+qf#&`Ji>0Z1^BO9!AIqqDJ@6w$e9a6aPqSu~!BA25+H}6~4SDCMlH02F;K#>k}PEo~73&$NH zm!GGz)6+`pp`4hwBU<=;s91_3C_IH02oc>NRap&ygQPFbc>OPWp|QyQU!5+g%2KJjrM=Gg61kCm)rsrVUlot4Yfrs z#;4nUdSC~00YRk6-E~PhBqHJ6KYMkzJ38?%$)Wn5L%tgI6gnmbKL(EtG3AgGiW%f$ z^YP{CDTHnR*jmj^)sYFX{j`qT$fS!_>iC-mh51;>5$a>W!%3}gCdcMKM^QeCd#Y>q z@9fprQI}j?8WyzE6vwGB&E}}4xz7!~ljFgh+N{+_9Sw3@<6VmTNcFIg=9f`0CMc4eD8ly^`gcd2j+e5OTZ%+OrU#sws zr14FT;#*SYUMsziO0{o-I1=;1recXlb6z8Q-kn8BaApQgF(xIOFlayRkmT+pIpCD-ggbSbaDmsonc^(k%dpN)C+Q`Z{ z8-{wOPXLdJ%wiloFttCm;jB?OoB;8bh_BoaEFsbydE-4S* zP`zV6FR&p3OBJu~#J|n}=nIN6E(}62?w{r8WHM*^P=iHdD(#1k8b$rkUVp||U*4iY zaYO-rr8_!gRDUCy+|bfTi1htaUI$|kMLDCdpDm%AV&T|JSF*B<80OOMos>wf3Opw| z3*%dSwyN`G(BLZ{L|bC^@K0XdSeYnU=}!kZMrRQ7!JjImqN9F40rL6z5GN*4dy6|5 z4bZRH>iZy2BS^~S6oCFS@ZV=DGC7eR(&4*5Q zjAFfGVAJ*QxfLBo`Mk@o)*8g3iPQrX`FTmIJdp(9coHng%Y&=i1xL{T4^bWamI&Vb z1Yjmq)H@8}#qUeBApf-=Y#5X?nR(s@QduXoWdk$D8rkfg|MLb9684IJ-4e`1J{Ay| z`djmJ>=Wh6Jo~7}yz3@Zt0|u7x>Q;sH3upj_PF)IG$(U^0Jd*?|4hr3?sApo_SmZS zoES^vc`om{Dl2H;V85YFA%uP=|Jqn>WWe_}qG*$}Du)-qi<7)Agzg`hw$qtRsgaBe z5t=NtVpZJS=iyJ+M0}*U0(3)26i-x0@A2 zpTzI=VFkgq1om-Nm8#Ps%wTP6d^~i(k1@6$@mjs>_if#ITz|vl7NX_;BxAP( z8ue~$+kDCD0`Nyeq%rft&gj(6Mjkg^B7Pb@2Q2Mh?|sqirN2k9YC4uI{N(>`aLOJ| zxVE5^1Sm1sS@Le-ji0|hB^ z)Z@}J6nkE-$Qf*n`EbD;p)wbn739})^-xk3&)G%(V3|nAZyJdFfYG-}Z_UxDw^ zjcE=dC)EaaN`KTXUxhhm-+T@0*J7jJrkeBB%dBle@b&GId_2nUMi1W>@QA29X^oYK zSBGC$V)H#F^fw3rt2W`))Y+S_vmE0%PSyH0bG9kFAT9JEIA~&5b)ZG5IsJ^mx9%a} z7b@KB>y;uMjk<1d>1L}TSt8zbm+2twRf^&V_Wr{iCZ@;s@BWVV`I$B-ypxLyGMUwl z5Z-V}{6ghA`f>os`-ua%f2{TxzrB=&@M@k#;+d&Hn+D7`WkJu+jz$%?u;`1l7J8k^ zM)i5W#z6(qpk!I=1*y!CVG(h&-MrX-`T*Wbbv|9w@KS zDp7a7#Zm;Np()OPyI5mu7lL@zb8BMcV)-eHBZ8V?aa~1Mwf<>nvL^o4jMO@E|0zdIS9vKL z`1JPD54@6n_}q~f&f8mKLdDLBwwtP047W7aEWIRJE;wEHTmBIpj|xwM6lg{`cj((- z2c8UJAK}(%3$Fn%?8Qk#3W)-}3JRuBniY+PM-#@N!TvY1K%{!n)SSIacqj+{L;t~g z>yu37o$71T#UgE@z7AyJW@2@TAPr+xzv37!Bz(5`M?^(lvjt z9^{;tu3Yif-ED5GGAFTWcv*GbTekEH>K1H9_~2Pev5vXEKFvU;?wdEO0xdffBao%s z0r6X!0g?XY$+Z!Irod)ag@ln&6KMETE|YHm$*p_(bV%75jKSIJus=x06fvLPErt7a zOPyChIoPyut6@))a5ObJ5#^fn!n@wcLK0rTC|2255KOyFmiorcNLJ2)Cg|7=Xa~O9 zJ#`x_jrOv{2#*0i%2K`mA5G`s)MVPe?R8ODmEx{Shp4ECA{dY!l2ulC6(K4ry#_?O z5IQL;D~JS85kV;dQHnq?N-qHka|x$IatZ)OG*Au)&K{QlAsW=3 zZqjjbVW%N68|KgBq2AN&WTOe@p{bFXqna@@&gL+2z{ilf9~@oN+Xk$=Ovkj%y6n?|*^+MObxP#yfHgB;-2yV@3S3+Dqqrj~a zTR6EZ5p}*<=?%n&u^}eY;Oc|EPFGZ^J=#G+UFw-mW#tX^`M%LPlq>CL1Hq6-sZ+f? zw`iqX>Hdbc+$gu+2oda37P<@&;Q98`QW%FD+>@2;>{pEqHJxRsRBbJJHB0(QPE^Jr z+i{I+`?AkgJZz?*Dx|xHvn|$PNnFy(a}AE2u1_g!j^VZXWrrN1(XqLlacJK@G>nz=BIdIzT?~S<%1O!& z&1;lh_Fdzcy`2KSi|HLWsnZzw6XWQ1X93RtI6=FFBd?|Y<8|k3(s@uUJN0kSjmvbH zHZDA&!j%x&+XuUOR)il?EqDB>6&NC9`1E344Q`#hC$b(ah@SQVym&QENH9EZC7z+X z0emjzcE3XJ|5?=o1hI-AIqm+4@Qa}LQl9CPX)kT5KK~P{g1o-St~!Xs*0v1njot4S zQ@6f+!@h{qF@s5j1cGP^F-foH>bGIB9xt*(XEhc_i$mP8Nl#py38w>`yN4~v_^N7^ zY`G2`&LIfVIiqEd*0I5o1BoG=ncAk4s^KeIWVe<1+Bp-jQ#OA07&RxF^aZ-$tb)|1 zuvA^PmV;2Uy={LNR~yyTZ=-2@ddDADj{T@sO%7aBz78kuCAWPq1?Z#I2 zKW;GWKi?J{cLPDL+t9x+W{>TyiB(@T3GP2>CXtT5ba5ZU z*WzqZSm^Xr<<8{);+7-hj1m9lhMrukws4sT-c{J@gMv!L6hG-H7d))ry`)Skk5+wY z?$I0G$We{hJ0!0v#GIXMM~ET3j5Q>lD>V=;ix(WGk`^7DzpRYRQu><@nbS$1)x@xU zO0(<>s3~*58@)W_obi%}#5GF5A;T~h=875rRAK!-Xt_uJVIT0ZZ}kO>Pxg_v%K;6S zqdneNqDEZ6RO7(EB~+ZfJ}gV9hRzgZ%BTayb$UIkm{O)G;BxNV4(|U7S;eCoyVGXSD3MTZ?46UwJPeCM*k~a+Z9&L$@aGj-_ zj=g;1v%-DQUmb3KYVO2uG&vA0tGXJ@1A@bord-^cW5wbs8dWh#YKr?^4xCj;&S?ko zFMl9R@0kt&Kw<6oU1a}x+~s*{p85vpaQPg#m&WsuGBk8EViu{r0S$C$Hn4jE>T_kx z7uVdv=d6lsNC(t~1;kFu)hjbfD)9Ns0g`T`uc5q#TF0%#c6pBJlVo(>&kwR7e~UN~ z4yOsWcq(^x-V6l$|( zh$+|;tACEybXc`WmZ%srSBvKDa93)VwiP&e|CA0C5A&7m(uLsUrZ*oMCH4_O#%gKO z&VpVEf4d9Fd;OF=5>tUX=(~a5iIv##@rh56=shWLk;^L4Xr{#dww|NSpSCkqP*H)| zWS?~FR*PHr2*%xsrfSBR$S>YK^wz{!o|%Ipf-DEoscFAH_P&QijVrao(-!IeL70$W zq;q3c6o2S4yq9IScVKGgh`Ywd^EUAD_Pb3mPVRT}Vi2qs2=4Zce?+At`?+mD(W&i% zZ*pUNirU}QkcT-n6ND8@tDo$!P$vDa``P8qw48W($Lq;`O4%%wy6!hYHjv-GOiC$J;+w zFfvlBIK5FItsNq3QD+fZOlK)J8m9J^X5`)}BohsN%Uqw6pkGgWlh0ZV@%?B&L=X$W+BZb zmzch|sDdo11O*LU|BPZQLVs2BVDQk5b_dfUNTNH8&Y?yG{{Chkc6rYN=yBJbQ%Q`G z*^5Dk-iA4FRFoEqUyOJ!87Xg%2^Y=ZCR!X*KeaDiH*R_4s8ou~@3M}UeBn<6X6XYD z?BpmXHl4(+P(8PKPG!i>L~QM<4z+R3YsNi{HcNV!fozrs@T}DYJBvi<_DueFC^T;OxR$=;+Mr#4#gF?Cb!H8~aKV|jX& z5TK$$?9$_XX_As7xHwswBE(_-k58U+%xehlh=#Qp+`{mU6+Ipo)4Egqa^rx`_T|}! zp|3RM;=+#T2Vo45NzSTU%-r`Q$?L*RHEi%hka;3gz-qTCl}a?5eua(+y8((Qnck5i z5Q%TcClQ-A=Kruap&f?k7cUf3nn|s^P58Tk?VY0NFigGLWnrxMs;>O7lrqt_rO`Qx z4?6em>;1ZZqK$NC!N}lqIVG!h)&(7ohdF+`IRR(C)(ilnRwfa9HS_)Hu)2hiS>}Rx zIsy=hL9gF1MJ#J}uC-|pNG`L=l3rdk&mmoEnALG+5_ zNSG_5iir<8o$~aSUn1EhW^nNvr8CWdle*lSk-_Wl)M9OfNIM>m5u@}U$Q0$mmTw8W z6E@VlC3+k_dG)gNKMi`lxH#^5hX&0TGJ1-c-;uylZCeeju#*@%v3x2x)GLT@A9A zQMYR;t~vv8hp*Ogm;v_$_fg%dX@42DvJIum2Nb1atawnzLlEUBL|N;h4^{KFi6-UX`eOmPL&3>|ng$+tpWPM^~N zsxlXWb&Fs79G<7Go;jCRLBZbjZ}Adqn+b2Fibsca%S?XzO8-Jc*`x9f#{9ZjH(h!u zaOF$sJtHO7wF|;M8s~cpc#@h@G_h6_sQAV2H(3?gKtrzgA;YsH&r7nE0~KkSO%j6fyU_KHKURPQQ-vE**FZE`1GEa{W(ajgG#kN`Gqp9UGCm9Uj>ADJUqgAODF-R*ea> z?Y<*x$jnHP#m@{ny$I4?^1fLvCyveDRDvz077z>38)HDB7@1=$AYLR1NG5fWD_b3= zk7U!Zg?LHs(_$#>l@+1$<3|0Wqa8P#9^84#D$Uk{u6#nC6h7bCTC8OKjwl*+I?~Af zS$-6ZvA(&b$h(O`M;4-jVS2k z98RrHAgf}C-h(-c#A}J99D-QKO8ytRGJ9#KRT8wz^FqbklOsNv$0@73)SEi3* zV@dytca1VBwBMLA($RsuZ)?x{u$=E_1$J?d@J~)@$|Ei%B+8on_}IC`n9&H(K3hlp z2wh1^ufrcdDrVz4N_dNRt;(Lk(i?3*Q(czXDN=z{sk%-gQ8rE)VQP3eoK;vU_6P`z z%@N_fcCMUnhL}=0A!ZoVny+7*)aL?Xvz?Bw2si(fLRCLAC8drmjSTciodWM@Gt3{* zDvx`Qi^>5&UhH%!Fj?5V@8;Z<#OJ#?_rOMO+OklK<)gO&H(WYu&`)zA?vD2Nkhz{U z%(oN%F~2J0In{N))*7L;MiXTUoDH>Vwi~(HX$Navo_lwy7eBLno$vius9m~vhy8u- zw*m1HNe-T0LtH&PIhxM~ekkX#J>e&I(qDZ$n^5`4H`OGGi1*&KzF)$%I zDShtbMDg^iVicTjjZKpJzbwEpg8EZGL5j^-q>iZIE@CwdwPrfM_b2oHTOsCTDH9Tt z`pTvvB!avITTL5&9&kBh%E3i$M#X~H%~GT;qU8`%$zI=G8i1t}XbT@igV^)Ybie6`(~}7Nt+~Y#cARG8u0@mNU3rPjcMU z!jdjto5CN<%la`dH&e^5vME359PKwXn)>Usd-nW-F)Lk^Gl#*eiS;ff+l=XK)-CCc z;X=cu5_GClQl`TOBHach_JYkrIUTlyD^$d|J|M+(u&~cn?J;{$rY-1d&jX*fTO1GX zrdfoU+6Pupa`d;YXMku_o^>N|;v`CZY1ySYd@C>(ePcJR{Y<2K_H(Y0b-==MJVa^uCJ+g6Pxria0NA-#waS-WcJV=?!c-)mQT=K973J3$=GB-$<- znZeY(HBtHLYtmp3l4skdh1EYYr04>pceJ=BvHHeB8vcK@C4Qi;>lH~ANgrO@w9&`! zIv(7pOI^wc7#h2y8Lg#I>qXt!2~(T3MtBo^zrFL}e_8`^G=&YLHm!e!V=L#j7FuX+ z-NrM6`AfbQa@eXj3*4}KEyO3jG^t2Zo}yo+Ea5dJXKhh_t4==r(hRLZ-SAq{aP)vg z8gE%5PsTZxy_J+Y_jPwfMG0H=mC3w~r0s)mj4|UcvYZvRhyhw$mjHah<*gwbbocO+ zuQ9SM)X%uvfm;-k-)wS08d0}@Po(AhxfvF?!p)dsv}r=#qpIvOnMt~{&k}Rq|7?2z zcXD00rTj()5soJ-95bUGghg|YNU6JGdWX3$@sZKLOE{3y)Pz~_)`(m0kC_mD7>F?M zfZJSy{@;JN$30r%YRcmK_Qk!g8?7DUU`<}^yN1&)HSQj`CN?#Bt6H!;C8iY14;xbf zF(i#VA=bOueHl<3y zy8EnlB(rF0$ttrxj9z|$cAsZSQhm3h6YVkj?r0kDoyuhu9<{xxN<%J;Ce?6xf!M0( zPEA+!qb4y0eMVEqRKvd2)7wav(g9Msb60IOBqMt7ov(2i)s{a#WfJS5(inLwyj33% zO}qiR6aGA#zq}z9hhFv`+6S5av#~yu{kyB|)q%P+{lzbbtG}m?BDo8Trxwww)agrq zfa{f~Tk4t^ZY?o(4E8ckxOIeiXfLEiP_x$~61pFtA*`Fbna{B|y!tjSw;o1CKmR?G z(zq0@{qIQ7nHJ$AIc!is8EwA``+~7Rpx#ujV%pmkN^YA%2_6>;YDA#l`6k4XIi(BvIoA7yfWJ6v^X8e<904W zxmBm+K+zs;nfHm^qMJC6v%|&s8w-?wwfrp%hw6iPkHy-(kbXqx;!8Euj||ymX%D=tz6PQZLJy;YVon%A*Nki32bE*p$?*M89YGuMyB>= z-Lc1Zsi@R$k6v~DrAPt_Ri%;FtDh)SUZy!F!s=QNp3b*TcueUSOaymCptNyHwU5clnl|j5|hDN#4_csgX_|1w6?+b4m{0mam3R;%>YPJ)+Qr z`IJGq5&3r#^Md?PC{OuPT;$u(+*xDhJ8_pK^_Sw@t<{%jrtpRqby~0-I43>Rl#LX8 z7Q?*bQ(?>n5KBxpxCh1HLBn=9!I5i5oG{QwEJ$!#E-sFpNV3>2HPVy^4*BTFmCu`H zW)c!eN&2U;v%7Bjkc}{q&r~ z@7LcDcCzn7TP(uDhmC6R2)w<0ZjQJZuWvaxi9ePt93f@xo`9^HtbLu;(hG&oneBe9 zessGf#|DYAeNLDPYFrJTa{bVL_IH&geiYaD@3#5PGf+^0?f8WyetdRtZmYYtY@+P= z$MB=pW|hZzfj6|p*+7FVP;-&9yr{5z7}z*v z*y_iWEVt|`;QbQl+u7J9XIGfb_|QNLDB$e9{_(v(hGeH`a)d1jz|C_hHh14QG!;G1 zd|v{yCE=PQEY~E#u)r8sFFE<#1hp`#jGCHzeDA=H@O&iC`=&&E!bL+;l1%n`IH`&% z>D(B3Ep!?kd_K8QwJ;iekBTw2J zG!5MnH{R_zJy;vXPZBlcS~lKgC+p2t%?yq|KY)lV)4%~wo92P`#l#x(@wDE9YG2wsDiBS(cV$nr z!jE67SVp??IBkgbqraEhppEImH&IE`Us8Lsiz|L0p7t&b-(#&dIJylP`0QsaL_Md2-y`A zMLO@ul-xk>(RMqAcX{e&a|(ZzRFJo6cP?voo_nmk_zTeRVI*SrmpC}u6<5+_BpH!I zc~w}be%HA)%i^xu>hP1wo0CU^R-M!q;9s1^a#YfWKmx?82B?8yX8nJF?*0Bxu76!9 z-TPFc@Fk@zx0dB61tC{Vnk>Qvk2c}^JYhN;Sr^iw7?W+lu|EtpK`I{75YAxDZqgtv94xFXpQ(+I5^J9D|sk&bL_94PBiwxleN{)er%z zT;1h542#IbOFr4ah3Iab1q;s2-O@Q2>qKF#L6~gc-ujWZp~)GcFC?J#ia&?2X6j#U z@=!BfnaVvb?sl=$P7(tD!TyEXp%FTxxS1xNhzGau|EC0-6Z?D;xRkC<_}|n{U}$ew zWy;RUi2gk}W9kLiLlzbe&gh~2wFsx4Mml2O7WLy<7K~yXp|uYfW~N87W7h{b zXwMDW|CApjm(iegduv`~I}e6r`vE9=nfnw=SqtGmq7BTo)c==C7j=Hng#A@R;kv-X=L3)6gSzNvf#ZLSl=rN^PX$=gc}LJH%%AIGZFy!ZTDXa z<|tm$x(ZcAsP~T9?_11+TN4k3IKSxH_c8275ubmj@2qIb{(bczpr{SnRXfc-*+h-B zkoH&?cPYJY8!Fh-_zOUldY6Auu$oHW*tY)rB!RmmT=c1Z&TT1H3&l&xYmcZ1Es@LH z2{C#y?a8e6Dts=Z<|eiAZm?KnBTG&L>8Qbu-v%Z}9+mP_ly@R}^pQ=o&_XOw3 z;d{ui=Mf}8isCYtn1H|QervA1w&p;78ku$>%#>wj3Fr;%p2x>LPsx6YNr}&LfiCIS zMtTei94mnkPK5KOzLi(2{AbrYr2dfLU~saOX!^7~Y~A`6?6MW#Tf$k5ea33@pG?i8 z`E!Gc)4$pV)TQ%qt*R}7{|@?%t1J^G4NbXUsY5Czk-P_XDiE=q+gqYt2ZC&s0I13; zdQcKB1@tlx6G9)!)MWw!h5#zz`1J3E?^I&Grz>k3e6$Vs8386(;k=&8CDh!B8Tm1& zuC|!^4rW2C4V_I+&~aeDyC4=KyJI&>3TS_rneO_y&>w@dDyN#XW9P4Hs(UkHTsJHv zj)J_N)W+T39F%qDl6b`s!7^AXx?D=u;BWjD1@~~}5u%T)V)8rFrSlfSi4=z$P24kb zB@z1oarF5d&eif#pp^Z!x|C&w)^t76+e?hxvT6SY2`&eeC zu6q=7q9$%>WW(TQ>{ermkMgs`|dqXR%S*+MSV(I7-{+~>2ha%!rI;5CM23x|p#9(;s zDq&B!cS>q8*qNq3Y>8XC zrPy#e>L){i@1UNgE_KD+V{VZ1h7E(^3r25{S6&9t7$>abIIoMEs(o>5FQq3-x2J7A zlOaV$3o3DLM;X<35f2T;&og1^90o9+gMG1k%M6kC-p*MrlpyX=^zD^$n)7~c?PR^z z6dyA~1{+Rl?GJtIvMPiydQ;`V^KU8DxpKQKB;tRPP(E;16#%O#W{c^+%R$2adUS5# zlS~xlNsO#C?Df;G|L)o8G-GmFN6_jw5*+?_h;|X2<{@T#(C7x2A;ZCc1iZ+M$o*-v zJ3pfsEPMKUvNR(H2tdFm&w?Tc^d3{s`d|_-O?U0kNlpB@4^qEnrj7$o3H~(Vb1 z0T-w0FC+c4hq%*9`h*~M>rs93YNkr5gr%8+eK$n=FF8W}m0hbBGUgEJzhER2x@H9N z`ezXAk@f?Iz9E?W-{eEFG#yr%7)d2ZJk=2} z#hJi_FW)Sw-}jEgP3s6~F_H(=0_u%+0(jLR=Drb>zJc?(T?ru#GA4@bAzxW^xsdcs z)-W9Q({QyTlL0B+-cYr6ZhlK?TJW^szrz|Yy}tmOdtHh1sfxWpm=2n)(y@Bupz+zWZlg7@EetT|XJwXO z0HUi0zYbvkm5t|GjC5j>Ld$d?++lrO@Vlsr)~c;{8spi2bQwf#s{Cen(fC-q-F@Tz z-wTcy&c7`S?%_(@nlg$Z`pJz+x>GH$Gb z+Y^L(ki==3Iu3{v{vK1i91Nync@A#nrm0_kxHlngqknpQTazy}7DJk2k+=8^?p zRd4*-aD3Rj+I{8t2M4#v2^1|zyuQSVF6{JJ`+sFpYXkqtIJI4w$h$^4V8Z&9KlO83 zc_lItYj{#!_&BDGaz`wyX<2n6G^_=qQ1*s}(dhZ>CZI4;U$*@OR>UU1USC-F>Krn{ ze*i0+j2bENlnKl7tDm2`5g1HMxx(muk`D!dGiWT%Ld344#3cLWL`Bln@jEn0hcRJg zqf(==o97*$EJMDy|E;1kE%6NgWUVu#^05($02F%FK3+98Q~kmrDX11-1#a_E0(WM1$w=+PWdL> zN`!fn_N67D{j1$*Sc0b;>|AE8b4B#i_J$Ti4j3I3WfxXR&~HJZf=ezMSNa8-aPray@grg@IH8j7LR}9@&Yadx)7=f5X<| zj+y|iBE_B2b1aR-M2v093j0T)voqqyFl;mL!J2`HHz7IaF5=Z9ZTyj6d}Pu!>J$_V z9;_EO5t5jXue+5Ox5sG{0&Xfy6hqgO2_};hF%L_rzqtmiz2C0_25y}4fo3&?M7c)6 z_jYGMjKgOk5LksPlGOTh9efnRTUn#o2ZxbHV6ZSGK9=)(JMF2<8w{hs) zP&uD=Y+UaLT#TEuiv;axr7tb8-cT^uQlek&9%3|6JeD0s`Gj*ruQ-_X;x#CNV(XEA zBB8=9vt6}mD9ZISxd~U;?t362e?DH$Yl}BCR{dDE&v^JuB*_QXIOSlKS)HWg;8Cd) zqesDw>$iD+BM`qiWH8BDsWQOc^dd~#ry9f6I!VJ>$@YFk%baV7qwE(q z7oEm6_Lnu*l{}D5VN(ld=fz(=9k|BbyXaHJq^eb%d()Cz<^7HX?BI+#pFLd04#%+H z9L{TCvwdP1N_zfV+pF1Y+uL-ZAk9KbTo<{y9mO4Ac}TPhUPA9oL{02Wq20qgQ+4!Yu`_Zi zvK>csX}_D`TNAC~$q_8mw#C*^lkleewI(5RZz^ba$c9k8H5YE&uh6AN9VNa$~#w~G3gquHri%AMn%YvWC zqU>A3+fKQ(Xk%fMm5?`kB%#-@3Y>emQ7xK*5-uQXn;hOyjEUVm#`f6SqC2Xb7MzM@dys51x*EtJB;+iHIWb?YM$SwbH>)@$RgKpZcNcw8lZcznRoMhSlp^k z^u-LW!(QWBrri1qAv3eGVfeH9NQ3j#TZ;i7HL*PbZ+~RUTssEs9@4#jWn#RdhhoHP zTkYtvU+~jwX%acCZDzaDklf|suyYtnpz1N+#@ZrV$m+`uX@mlT8vr6UoJ{VookG~l z28+0hkVuGdYw^E8n>~0gGK#qt7UQ_4u($A`(RC_feRm~1!c}(Z$b;SeJ&VPM`8;8O% zXqcWP;_<%Y`axlVE?oiSC2t*is``42*OL2-@rbOfikuj)2mECPbEnY@AuRDV$^NZ4 z_bq;)aqLoYH6}RhK1Kk^0W*crODzbU)l$#^W|YbqfPF4rD-QC5oQ5I=?fTd)zZ@+n zpQx--h7AiXp6zkCV;_f;Gl>>m#p0mn;9E+C)(Qa(F&feagV7>0WNy!0p{5RpAlnqC zqMaw2P+nyc$MuolHwl&IVG#wXoGGvNVio(*C4ds`ns!7OP9#o2yfCorvksiQg2fYZ zG<|Zy=t0&^_eo8hSJ9n%kkt+lKj2o^yN8mYXFJn9^kmZ$e4#&1);A69Ijdz`Q|Chr z6y{KYI@EufK6Vyuz|~Sxj&4HO#sL{~#l1=p3)(Fq@K=sv;!0O>wc21@_xPem+@=w@ zv?fTMz4()8U9Jjf|2~PjDd)%wlU8FJ5VOCd&zs=Ab5aXX4~L8zl*~-YP7K-QB&k#f z_K!>>Z!;_K0$O?}huziT*iG=mZ3C6mLybUCjQm z^j7NC5KYCM7azZV)iKUTC39ah)FGw3kE@5!nG6%6wfo0ixgvyal+6Hyo$ZLymx z@#o9EGgS>Fcf*Tw#h0fCJCg}wzY)yC7lzSA{H0&*nSMJD__QOFvZ17cWhF1WAXeX* z8M;Ljke;ZARVpFaXN)+53Jtx>ZjeQfE=@NTkW(`G{l8L0K>tD%Tggs8=(&Cnt59yG z9@=W5xfySjnQ4fb*=$(wI0!>9vICxp-L+x=$jak?u(~1&QOpv3y)FEw_(g+`JWF$Y zJSB^!K=@XWjKQggkuG!l2ZphPm$##gc3#2ab#m)4>udBPA}n`i@J*q$zC7$PIZG2Y zfH8p`DLh9U^}t~@uR@F(P%vc_8eNAKp$$t~>Rlx#i=IfeMxZC-c*+kp^;s|D{_bkAF+R2;0r z%uTw;2D)z3iXhU&C)s0-5#lS4#q}mb2a0`J0}6uR-3|D)+IRtX0Sa|;duss&-A;1(|RYV}dD#UsKA z`mKF5IcDfX#1B<Z|Av7~6>4>x;pfVu~3wMlBp6=PAu{8l$$v zL|3rEAn(2EjZTBjh@0y39&SXYq8d4^Zw_b-59}jzb0I^9n>ny-o|x6`2l=lAFGk4@fEB^jNT&|QGP zFh1VCU}0+Ze^~(FuA4eI5oiYY^546!V# zJs(`54%!2bRorVUV00Wd*Ld zNJ82+$s&4U3)52ZWt4Hn{0f(5-76^p=YqX=54>g`BIN20q*j+QrHVM64nztEIBzv} z@|Q{U^q{`sq8uxC+a&J=>tut4gWdKJK&??R#&tgTD&S6`JT|L5;sQ*lxN@?|E}C@W zc)JM`i+2@o(XN`i!)KG`5IU*R7Z*5Z&gzA#0h}TKo#gfK%3T-1wlH{{zBR(T+3||= z{-^o1JcCH>+<2qoQ;Kgnb4hwj8vrSphu7{)MZ^czY9;#D$=hc}!2G{yO|48No>M<& zPQXmZdFCawWywgMLzglwWoWYM!kOb^$pQgMAF=L!Yb$B6Pd(7xwPk6$vEfxjtz%}p zwlRHrf9OajZUvIjlAqwbNk3@PB=sR#B!eDK3ln|ZFI26g{^%=1ZDzM?FI2vk1Fs=7 zVol3b;udr(V)TB4mW-@-yWbTFcUoE?s!!I%%lAzQka#l<^ZFzoI4RD#J5@gCxxtLyxbq#$rqMedj?mv@}P%vS82w$Qcb9NgErywSSx{>!o?I5#Ke#q+O> zvfzAAUyIBlHNAy95kKOkiohEZa){YuWzq=bmhdmDm^+(N=?{>d$Mb-vdP2RYi7I0vgZ&l#B6%mC zx22AA7C0SLF$@oYA%|$^D|Z>bgGm0?8tR)$Ap3)oLU!F{?ocmqWXap6O7j7`D6Un~ zJc#(9f6(;dNT-6m3RPML>D1pW**QJfHjBEE2pvbHihKBG4og4uA&ym^ENj`gXt}Nj0;8He)2i!WDi^Drd`Pwaqgnt(vIs_QlU*fOCMt{bJ`H7?GPS zg9X~C58-z;qy~#}YeoYOpHXMuEvf*j=+;fg*c5a=rZ#@F&IKq!%dNB2=lAj+5Xe(H>H@Ao)HP|QN+;&TTP8qwTy&+L9LFHaM|CY^#1sf z1m>12ZAGsp@RY^kC4UkIJlFTcYV(fN4QbMc5Pp^zU~fSKEw?W!x2WZPwE(dZqlb}) zcq5FooR>41hC^AyKuHnxOl0&{TOm{hN!pjE*aR*(j6F1E$QmJ2xznB&!?e(eZ zPVP5_+?w3Hx?5_!WvpreRA84^rYA=_yw8*dV&61JNem~uy%q=|(6#@aJ z>Dx(hy+YM@+~xGRI>eW+6Kk8~^>axXHAucV091|CPBh7#^j+UkG}H^LT1ws%S|7he z_S)Z)$q|TMo~izL^96hJQr_0L3cg9Wv|Ju%ND-?nf!gxa?ut8)i}V_UWGGuRG$}R5 z%n<`L-|oLO$BLIe3K#u%LbI%S)_Fm2o8~~sj??Pgjlfa3a2VTuTX*@J9NGJkQ*{$v8uzAOh3bCtZNCY zpA{hi3SaXwYpPz^4Odr|)3A&HEbHcSUOP5fbcX*aEf9Nj5gx$`(E0UN6V+{-bZ^g% zCI-=vM;Xf^m-ksPG3^Z&c8Sb|ap9o3xby1UR4sSj-+4iM+=LM6JM+KtzKe1YFnucK z;5!4@C33IU!eUjMc(dP^LdlF382Z9Mno;nVPhSNATO`lO!n#z+(aG19z7DxxH`eEBK!l^Lq~*GosnjJkZ6WH$i)* z0m!?J%$x}8v6RQWIdgpIW9f4!|0Egp^G$-9im2HF;WBjn{DSF+79~T+k^dD?iezgL zn>D;}7H3J}?EZH^ogy{1O$2a;qUj`4Ecr%>M${!uLD z5tS-~z`vZ<|cc>t1FUfmhI93!Y3529fK>paqX1t66 zekfFsoE#EezHiI*u!rNofXIQrF>jHAt+TTPyc2)>!9bi%Uei-qDEC&H@hgjgGvGt9 z#{|kPpuLgj9HC%u)H1=JV*_vV>b&OV1DZxO7V0z*eJypliwPm$|@!Mr1({Zhmvw-h(CaUAK@7HrOHaFa+zKOYM%6-p_E-g;>iYux!s z+MSr>8VB}j1iz}(9W&2EXw7%mH8&D)bDON9HxTgn8yY%x0(EMc4(n)3HEC>V)@l)K zJMS)2Ak{48Jmbi{FQw3_Un|=SFLw5E9!Ep~d(m-ePH9i%Xs1I{GrC1v6+g2^eHTpL z+SwL)*`sfQ6H8Y!^NCg<(yv<225i<^Xl=O?)Ln~S@ zhD4A`Xyh#Eyt&Gzok8-ayt^?WzV7urN`cqegr>Y%dp8CkpbTx>JNnp+n%90KyL2R0 zjb|Rx9htfwcZlPldw13_65*rbD(ImJU3kahkUL^t0ePNlAw1S%KAE|+Q?Cdi_+=-? z+ObO=idW{LznYJsd(%v2U^j8=zJSzy=W>^i6q8j|T17u}jehSRY#D6Y(j^EU_Ai(k zoMp!~Q3l8gp+%HHv@BNl*}FM2s&G7JzK#T;G9nxlUO@{Di^Nf`H$U>IM`` z*|exd2)J-D>UlR#dpqzlKGZmnv^LuO5t}})`g?N9Uyw(0)lYUK;!|b*F!Y|+ijr-8 z0898DX+L2+S}T`EWA@y+&#Ym!rmKu_M>b&pOHAoY7^Fgiuy5Nf_h)PHN~^$|D2FoO zl}_U$ADiQjo>)n6cwa92Q1B?VuIrsZ{oHOda<3-%E4KlY3X{r63m6>^i86kMFNXmU z?YVduV!Y|EZ=}JA^fv`%x~0orR!#EZDH4ZBu@i>5omz(-NV$l>bG)fQb#*~J6gas( zSr}ydZGgu1howQbxQ>#^BijXiMJX3qTi3Aje$NsiR2|rjHb5BSPX5LZeK#J1)3DU4 zFBycX2V5Xafg=2Nw!2?be@jF=XpCf~>uoWs&CAVrj$hN<4}rcs?{jg9r$4d1zuMaA zG7U@5+Mdx;P-x-dzMoWIQ%W^xSell~+j&jAXSr4t(|y1&sG?fpjt6_cOmyHeIQ9yq zThJX5VFo(zn^-g2p7oqUstouCu%$&z)MY=jIv~}osxVvl7}^DnrT^1kl^d|ts(;^m zX;4#>F(L2_%1?8-$?2$0GjAB_X+L`y!EhN!HLlp$*k@q>=;a{ghV;_yL4c`OZ%4i= zLa=nfhxg>XZ{XJwi8RF=>xeIfpRF*&T#z^YyYiK{2i|ROe9J|0i6;#4-_yU^Iu73A zmr%sa1VY1f9k^gzg&DB-xk8uSDy!bnG_VT$E(cV~L?UioBz3FC%gKjvRqsweB1ewl za+R$?zYa>z(rn$g+VbV{XaFR)GfC~nGw7$1^i^S!Rx^$;ub(&lJ{fX&NipAQ>_aoM zG#cp+e$%aZNmo79Gp}@74@bXwbE|&pPZd-3524Kk@r2E*I>+*gu9n8C=FGkyuijHM zoz}j;>ee>nv8A}Pmp#U2Of-_)fgX>cy*;m(EvC!DP^5p)o-v!QnH2qcWWhiB{Pe~* ztPiUa8|7hr(*S!CB5Red8*rt5^EJ#exaZ7HfLF*)xhXhK_GESOrlPa!x7sL9^@3+( zCG?03u96YGw$r;e%i4&Ha1zbLP7A3x*92ugPkn1}?0egM%k3TxIO8ka@C;hVUDOQN z>t<=_B8x!(kEU}EWV-*~|9#(m3yC=`BHI*q zmK;_n%3(>8LztLD42{isv>(*V{?RNfI<_*oY$3JGs zz+~f*A6TpSW>RWB@=*e(i_r1tN70Uj8ttUq8c<47oBcV!OmDQj0VzO6toB_GF4g}i zv1;3!^C5w`KxA9D?bc-?CG$FLWW8a}fUJNJKHblV82xnS($IpBBl>TTn8qJ<+pTAq zDp)RKj2LU;!_5kq7FRgTZ(ydfIw3wqCPPrC#h)ASFGS~#m?ARiaiJkMHl<@IuK3Jh zLOnWco%R5|Lo=G)B8+5HP0GdzTNZlOdKVD;QS{XuYP7!vB)M%5Cz8lTD{9fty7{M! zpuNRo^-(+G^0sAy&U6Qo6ED*lQgn45=F`yx%;U+RAACyO|IJuX$pP3pIt#sdRv``BIj1o zw&~lIOJ@fU{7yVVb@VIV-x+nREc^(IUK7)Qt|llL@@F8(z_8OdI&$jwtZU2TjU`#P zrzbxuSvYp*M8_>+a@KQOocn#(5|dSF8L)|j#73@Mb#tM2fJ-rGa8rp2!G8o`-fP9< zo*jgnDr`T81Xe)yj>eYsghjFb47NlqIm){R7M?JkQnKd0JD@_EPy%-YqS%)lKvQ#g zI0sgvh8B(7J$;+kMmkS~9!DiBbv7JRii2)Zni<}l&CabhS;mFF58j7%@5>{SS#iOz z(NFT>uKhj0W*d(1IK@)Eyk2rp0UiLKX%}>0&Y??R&BuvV63IsqzzHpC{6Z{$GLugI zg}S}pYG3`$=VI}#z1l;hcA&F{a%7q5O7nLW^^0RaqXB>6kmoa^;I`EA4oS%jp`aDOi5(Qj+=lRSBwAykS z{z*Kl2F5Blr?(y=5QFpjbex!)sM$X>7MuT*zX+yaG0jSL8d2&5QHPD;DRcforN~mV z2i;*zJ%Q`* zJP(=SHb=|?tEiVesz?_Bpj#f^8rIk-Pg!z6S<0UL!}c1x^;}2hoC&32>6$RvV|Z^S zOUuMpmvYZ(40~oeZ28xcwqkgjZ(aQfr-ej5m+29sAG5PUw|vN&*Ya44w=1VvhyeHt zTSXr%DP0leV+RnGlg+2w)S|3;&gY`S5IrQ&$B`h$(mFJo{i90)=E;<@Wx=46aI4F z%~^i?ZZ{I3E@|wYR4i>-o8#6xG_UVOSEnZ)Ukq=$#Bu)6`T~WFwKbSUdRW}NL#9`J zpAD!nnPnVKL_RJjg`SyxXaFY_8dZS@G`K?Zu`_*L#fq#cs*>U6YSny^Xe_!i1pK~x zq_D@;MGyO);ITOm$eBiXC7K>?3R_f4i!gLr2EH|)y37mtxNh8Qk%SBr6jt2u1$LZ? z&oU0I!Usop1_z%RQq`HkN|iOIDn4%Ol8dZ|dpF$Lg<3(vN5f` z=lEX>nOkQ|@Oq42L-PRyL z1+O|Z^7-f5{u$5gQC?P#aU^@B1&_BH4eg|^9JERC>9q%QU0v%at=+0s-A)#nBe`oU z7BlJrG#|_xj^k9HJM7-=oya$*EaKe43bV|ep}|1Gfg?U z!C*c5(Qto1kL}#t_XBKL0V0VOmC^{sW={#X&=rXOq22VdP$L5WkYn#k`l9Yu-In0Y z$21uCy9Xy@*YqB(C?;~X4)@bWx{|BGBQ4m$wyp3-3YGP^>Cel1c}I4~i8w+(Nyt^R zN#0bWq3@!RE3Ug}F(W~fT_je-Jvyr*2^?nJ@x}Uy=4LX^v1U^z{)eylkC$F1?C@pb_3(I|P_cdp^w3tw9xU>F+kaXf9>rCvE?#B(Gl!lwqsH01m{`-LuP;f1kWC;vFT zr8guP%zS=tQinM_6a!>XuO;^=LO{pKViM!zJnWEROv|Jw=Ojak6# z53ph<0kZ4^FOiPgwDmTy{_}FghlX{(cmjzhbi+Ob{k+-NGOYHlmsl$}A^D$eZbbX` zwJ6ip01SU3;~OHnBLJeQc)XbosG0}Oo< z4+syOk9$dC+2S`}*A!LBP3^!H45K*@d!jo8tE zfbLb{D=hCSj0u}{^u~-<11i~xj-mBPH*CxF6j9=0%ZD#O}xGuP4Y;l zt6(=-0Z2^u*Q}2{%OBzACJ@WxRx|~uoZh~jiUnT9vXTbur=UdDL{N#m`B{gf=MDRY{Bwh5)86G6R~)D-BU= zAK@0=uC3=7kqtY|zE_{gTcKxP04&?v6)kGOZ9#T;gBz>M42yD)qvvr|87Pn}tKIbwJHnBa@ z<}k)NZp49u)Lfm~($_u@V62ZbiwX>mE>-H41m;YdjIOFX` ze%dgK4K_>SzR!7tYn}M>@69lk?2W>Pg+05H`k4=g9-$o>YVA)UEyKdAAVAjFu<$y) zu1Q^sug1VjqrqJ>LLpab5U5#`CB;{=4LgMkH3fQ3Gu$7js9Mh8MyHtWXO)z^?4=*# zyO$$etX_!w>tS}MFQh8m90KFOvc^uBZaf>Ntp17pesfvL_rdH>oA4@KigE!dVwp~< zU!U>GGL0y`M@SI~N@Xi4Ot5j7G&O4S6n#Xb3kkvIFI%~}&|QB{55$*W{Q-Gv>D`?F zA+TE{3v?pu+xd+R(Wu)SE4jy!|M@0KI>oOxZvHsfj&LsI7aXJ{9oBFpYS);HohBzk zxRpN~xBUZ}3P*)oh9f$(BrVwok^`$uzPfX>A;I+jMsYVidpq+$Lz2&x!bUA(D*Var zpeJ#H|F_cKmf~~PM(D6b%ESBPoKc{apDQm+7U0J`lYv|UY&A}puOe1TdUWeKZ)IE< zx@p_8(7kfGHqM_-diBvdJe66~vq!2YdPV3+-KZXI^)GGhtJya4JxLh^4|JH#Nu~}w zU9{NBj>GBAOJ@rrd8?aTy7SEC$y3DVsy~ozn=OSqZFq;| z@=Uat->7U#b6gq3A3238X>eTW9U9oxjo{;!G9}J}5`;g$*@QeDqkuwo)uL?fG?j*q z-i{ouv(7bHZaw}`q8r1HRLjV`?D5;Kv#X=U)s<+yseE6>Rb#^VQh@}$QCP>!s51w~ z&}}UJHY}!vUXX@MOu!F3lP}wtJjVn7o<{s)&U8mMD8%xFPvLm4PU=Tc$RscQL~FdF_19mZPh%Dw-S{;R@EeX@ z7a>qkn}^5p#87g&Tb;9heDD%^kB#Zl%zM2E*l$hnz(Q}tw#``h+9wH*Qc=uFpY?mi zQuD?n5h8n>VA5-esEW<^rz1Qo{0rdq0zU8nvK+jaH~K7Du{NcKyI;-@L*LlhsR%7* z-yq}AG>-#W6ErIz)+;TGOtw#P)UdHjF~_6I~ugodag`y)lmWd>c56t$ol z?JcjMju~}rQjWYW8J$cd8*fT_HV+QeR$Ydz7rjx6P>yVUrm6Af<^y4oetIlut)6Mn#&zpEODnm_~Rk%-*sC)WDef(I+!imW&vc;b=dajKIFI-M`C8Hqh^mI%Ep zYce6#E4H6mY`e^NMwVE?u;vl0=KS(()^a?tl6qTXR9x^apOB1^w*CPIo|4?YTWaz= zjN6y7pz3y?KPCS)*VeWBxN+`y3rzi#nx_e4Od+8^>Jmp7e*imu4PD$DAK7vN;r5_8 zzSArS?eKiR8|GTYIR`MDIqTiOR4u5@xbgBj$#3h~oAcQ$$L@j9Yh^ju>1jrFEWrD$ z?S91riGLhsX1)OfGCYx6*KjKQ)zy0MgIO!*+FFL8xFMwl*%8y!mfi|6Q<;*FgLBUo z^k8EP6kKx#w8jEmb8#EeN7TTJK4z58SwkgQji; z!*QkZ+HVk@^en*4B+dmVo-~}9<+?@fPTJIQR+S4DL~pNO(d1Z02t9k>W5j~I^tR%L z#`{bV#o|I)%x!JFxB16zNQQfCJ~VtyUTT<|I{cXz@Cr(w(7mQ>Ykr;=9EGMqh1 z>>Jd-pr*RVk~Hp1k9+U6BN{%*P@8aQvur~|hfBl~+-Np?3EP+P(BO7?%zpV1$5r$A z5h-zj%PC%R^!`pRY@qozxR&3*yV|GK5{Liq1xQA`NoQ4BsV-!f z;buc*ej%2U&8+rojAZ1tVh)v_a{tZ!Q_KGR4Pyy!mI|<$X#3+7o=7b+;pOlJ_=`ko~=!n4TAxQ}2DHe{tJkWrA>+ ze)X!LbZ!G_62FoPL(8Q>cM|$n;%qUinK8nOP*_DA18CD$lKiU+(1+izYP;?D33?+i z4BP8<&lX6V+B%`M$HGGLL}8)5?z|b@R^wCc>LU!@KBf*nbGfCRoVoh)P1B=mryhy( z5x@>x-;@M)O^>{b0xVz^W!L|(yK1p0c&E?Kjcyjjip>!VlCBp6`3?RVYb}j00f+TR z3&Etp`FY(idZ%lWPp^sxt2mgW)_$A`z&t>g^<1V{dRu@*dCIbKG2|=7`$HLvkdulL zqu=b{5!+i-8xJc|TLl3|N|WW-)WRM5hEyX{5+Nt{*tp)^7H_~`Xb@{}Jg8RnIGM6C zvaIWj?FVC4+>~UZBJqB%fL_tiG-soUWjPs`66(Z4;-iGiNur(>c)Iu}VdgCG&QJ^O zez#Sd0V&#IJISSPXKny~JDt#$YOZcej*3YHgvqgid)k>krlVYgVfr%d0Pv+hpfo?8DLIV};a zkhjDc))~SfpSq@PvH9&pVR4Z53k4Cd_UOhUb+Yg=pEf|n{y05R9otj(l}+}au8uPt z_DnXzU3zN2@9x8gfSK8yvN5YM)m(8{c(~izR8|KVzH{BZ3FjhmDYKmo_Gqf>%6r`t z#5p7P3m}6ruJ9EDb9E)bR+ABS0nOL_F~-`>Vh@kJ7FULgM4Fu z!X2-UCxB!0oyy%`?Mljbi#5*4s?XCyb;|h<%^Uhx8%nsp?1gV@i#=i_d7^$Vtwf9W zi}gM!_e^3uy|XC)Qt%slQH_&Ci{1_Kn9k_fOFK94DX4`Zf2$u)h+*n+_V3OY5{s?3 z>LUg(f{u;+;lG|c^qVoB6NPOY#d|MwR&Mm!q-dg^uk`gsPNH)v#{2y+c>%Lmu1ACSQdof83ZGQc277QCMFcy2>Fv-XzB;6-1XZGp1KQ|6f-kzG`_tWoJ zpIQ*M=xqG5{#GB|8{X_}s(g3M1SegrsaLGqy>=&Y`l_j!UITgbBSzYBig`M;awJ(% zE^xG41{qg_Xv^q3TLPQKFC9s6WWs@+9G4UD_7>-N$`vnV0^$M9kco37G-aNf6@5?{ zJiRhW-~=?$3kjg7&`egv-sZbjs}FLVoS3FT=-8<}F>}-P%1UpCGFQ$8trscNWDlr& z09M>@vb~(C)7?2E_{6+IPN^Un0hG)WDJm%*-hof3%m)4uVswv{% z*}+SF_C?NZtr2%iYrCIDO=)1)rt5#nSdicEL3g%I(jvG13PPRaUJ!C!R?W04S}GZq zg%bc!gqW%-7UVdNs@&~tv8A!zC8D|te|P|6RzKQ1%t2Dbtq$s8vQo@b%!4bB37VJ( zEB52cyi-Wu>^_Lf)}#U^?194sb&pc6#gi`9U-^&YtmNFLR<`%3v94E~O98AGWjHy_ z^ss9hl8fbiaoaPzxA}EDD^lqye=+O+?&P-A68i9AjgZoI&Wkp&9J9;0m0~F9!IMUV z%zRq7jv+>^4{=*ncRYQJco*!l6oxvJmdcJq>*JF=?(Wg!L21Y&$fZjVdNt2tpo z<+c;w@l%|WuOTD&BT6XLD=nm^-xHa)lL+&l$|P2{zPGea63PKc8M*$)2(~^PuIoI85Gpnqd&4-^tL2 zw#VvrMfImsi<_eAm!05zigkdpJ2l1`#6CkGxS^; z0C@#GHIKgf(V=q?L0tVX_Z2>9q9W~%VNl2KgVd=cas>ab-fAjb&Lg^_#|Cs7JG;FH zj=k6WbaO*(ZUr7%`j--*PK~z5&CmAFC=t zZSNgQ-_ebycRUz*61b|?;yo8$NH@Z=aJR8D$Ao@-tw+S{T&{z>AgWm%*I}M8o=Lel zTe{z!JfClU`=hvsjXWBs`>t&L-^?~{a2jBckAoxIJS9FX5)VxQ$PM8D8IPh`SVHUx1u2@>FMt1g{e`(MQb zycYd0b>@+q*y1-DVeA=utose7VQKo@q|+{y^En(AZ+|aD{MS=}R?);7-lCcYO;UK| zZM2iLC+s<{pjFm%+j}rHk6<`0YExFg!p$j-jh|UlHYBc%4!>lf>$$B9Y%TWN7Y?nc zEdea|*oym~eA(JB#L&xU!bu;Jla)c+tqw8zvxphNv~(jMD*1;4xN6oWBv zIa;f!UHH{!c(r$L@YoYsm7a0uLdVt%bCAzdHqoeok2fmjr4!$r49c)j2I&a`)|w*w zONB=R#X$y>bYP!}HjPU9FBrz3(1{WhNz#wxZzeFdudAC|-~?@E&=VN%V={prB_2&| zvAX6ydJqh~CRR5gPdGManw`kSBj41v_4$`$uapwo{(Lyl;K zRhU;bn_uhqvij2um)A`c2?TKBc$_?v)#0fGDRUVY*4igUf_-(#e2H5l!z(Um7U?i#ZF_p^-?K4gf1U|%Qd8X5I_WDmGke(Wdq)u;)Qq$e zw5nm=oPnK$nC#8!v8mHFn>j3hH)y%bHkVb6+OQsmao3#9FEqHmvdjJb%fA`InTu9| ztG?BG8@pSL#Y0;HI{U`4Bjdw^tU9nF{)<(`)-$WQgGx^g7Kft;A7!7}`s*REKc4_T zIi9us>ysUpw3KEo76bLUKS@HX<4zt{Qr@*dMvJXe44LS7{Fn0GGj0w!0eRI zr#Dw=f{&4-&*I$4g+Fs;H9?MxJV|6R77W;)wmQ7Q=_vCsTc7EfnU7`xo!DRSNQZD^ z)eF{n6QTx3h_SZPK|A$95pW4TEm_p1B%}84ItO|uk0h@gIwf1xa*Y%X#28%FtdxuW{Bw(#()`KYr1%Lf3I4Zn0Jj1MRtlToRRhD&|JQPtUnN0 zTV$fr1(Zdue_FW6+E^DIEBZ(xTIzA6i<$2NWTlx6_l9cwO06gu zqkA$VBMpNgz|g60YwFCKI;AV;4e5?&WNpHohyuwFV$}2vIx5oYYL3J!azqoJ4u=0; z9u?J|A5?ZaTh7|zbT;JICR}3VSKS&jGoNaf>`n9f^1SCYff~=a{{z}Ea=JN%&&uP4 zk9qGruqoj)b>M<~S(8+KvlA9SDo^+{*6U@-F|oQ^uXX?{bPK7N62fj#CAj2DD51fje2#6zEzFw(sOG8auU%w32_@v=Wdj_~m zvDJdFyxhz^P+AX-5B{#C1H=07DciXJv*&V?pyCO~8#aASo#b^1{A2xS1cSMIe+atQ zEo1gEruf5E*C~@rGwnct2R_L@a7L7DS4_dKuV2<6&Sv8J&%Nf#12kv%YupWTPE@!U z4_fWEYih6dLp#Bt0!?{wN?|7L8F*j)+;tg96_0mQ!Cr2A`tQmgim!US1ZpvXeMe)= z*t=qu;&O|vs#PxToV%-2sm;p0e7wH0YfNhLLb5%!!tJYPe{Xg|OSbp6~^}QGIU<3|8fB{Jg}-zZhTS(TpS z7N#|SS|}(}AKvuRS64u~)1PSZs4bwoUnLZj2cVRB7QE}PCjWu@s1!N68Ild&HoB&) zxVj(x*XdB_O8sSYpXKtN3V6cM4LYM&$zPMxuJ1J~xTC~>JW#W!<4dMb&+6K5Q$Aar z7S5kqKvgb3y6tpES|m-6u-5kcds#Qr(4UG;jr>%0ivGA-p5yJZ&zj9YE*Efxm#GH{ zjN>-kb=gE0h4N)>*B9;}2K+|z3Q_#^MT?x)pQw4BurTO`U~xk<`+d!$a@Q5?NYc;} zJ6bwoPfFf z#hi?30G^t+Yg|uTB}MS>6Cdz*j;jokBRrpC^wOhDaIw;EzT%s}fQx(6wquky zA4OhMG9O!p0#J^O9;2UX^m+>upzk{X(Y7NRF!QewfR;=y->oXb7?kzC-?`b0#l{{$ zfxb5V2<-B$(f@nZaKnB01U^7bQ*l#(yn#z&#hs-_4t+I7;Vg@+k|b!7z^(t2qh87CRCY@>+Hn;!!{PEn5IWI*aC&k))SH_E`OlaP zdm2mhJ%@{C<0^k~p|ylwxYQr7Lx21Plz#sSU0a5Hca7Bri9C-DfC43BX)j&co?0$T zSc`A1uy;FGY~<{sCAc_s_b>h$6#IzUz0od0VM+FZf4LVf<)*w`Fh;HKDX#`ByREzo zlX#x%u{*Oq_=>NiyQ#$xqq=Ggp~|3Jf#~;$tdmelN+YEj>6VA5z=UsN=>NE4MCkad zF349Rj6^~OEb7ezc6`z1r9KWfDjMVqGy?|1_fewWQ6EkC|6T_HfL1CUT3gMqw~sQz z-NAx|Mgv9FcLaU&I|+ND@6vu(34KCs`StGYzyveyuUT->&A=gfDn%K)&r)51yq-od zlz1n~OpD6cyP)>=xMBks_NK3{F!%f!Sw49^c?9!LSr?s_$-1U{ZJJN;vKVgflTUna zu<(Q|XF+j8_Fj}-M9iC2RiDGTKHcs82n`I$Aj!V8^<|;{;Q5Bx{4rp~fU0EL3%1_& z1aHu0`VQx#$n84%8(mL$&rzW8apglyq^r*K<;izy&JDe1UtX`m`(@P@O{v#FjBtW! zWTHWomu;S53U=EI?+Qnqf~`&Qf+|1d>#y|f1$fZ@v$_RhrZ54KRRyfCDcuTpdXUXf zMC6_OQ%UDnoUk~BO}F0pWL+fW zeg*S0*K*SenPXw*bF*Yn%H%Hq`SO)pYb6hAne?NtCCYCk!#n}^66$JX(lIr>bbu>4 z^7=SF?8uIn?EdfG3|aPN4`0SwTa{|)4K1_f2N?s#qIDvqDl}8{gKZxG{X=2_M~h@^ zvDvAGH6?_lA7aou(?#^-zH&tS5&6dq_vKUEjSIf|Aq+pTfopMhvN+U*vm5vheJCQjSTn6lNhSw)HoxRcW(oa#u!)y_@q?*4j5w|g4 zd`s*02HJIu3TJ-5ON`(brzzJ#8-qH(&$^tNlt%7LaZ!NADEnUY)sMY34pF-{xZ7OQ7^$Q3SKS}FJIcdqyN_4qO&?6uAUfvP z?wEng>3-wFs(-M*e?{D#e4;b$;=vfz-iy3O{u#b+BdNF?aW> zEgR`^nRe=SHb~RsKp#JASyC8QNtj}A!w`*jNAJRusrgtB_+dv?U{Wreub6w4WeJQ;+uafX_5KJC9xq}jEw72m`tPWFfqz`I; zpQbTDzWIwa)jbCMrI($GLUiBlc^$2&~5E) z_6f(9n$JsWU{L7Uo@8qNY&$TvL~+oS)KNROe&@n7nzB`OnToTFpA86< zT(V}b_qV0o51MKpNLjgvKfmJ{Rc;h9_0HV3b+&<;pPU0@o`TZsH8|_l_+g!}{TnCm z4)a6A@@KZr-YKcme)c2u5ZGj@gJci8TV&(XpO(}{(li@K+BwFeaAUmC(IC$hdZvP|9SsM?RsAI8SVGq$~N4XdKCGHa$a z({@r2ioMZowA{WF8Q0)Uw)qj>15(`7yYGqD`TLMlVrhThrl3P-^Mdl;-%{M$7M zTldWZZLDxzB1M$zI527qWv}sI_6Pp@=Et6m;U%;Q4qYu%JL@)iLcFUnm_2J?Pia7} z4qwVf2NpiyRjfyKgOXZXXqG-3H!$0xP|W0;nxr)W@)!Eg{R_yQ92OiT$(G%!Z z-LZ93d>$+fk&B7Cfw|f-_$HrbQNZN5-XKPFzPcOSZ;>Ysm=uXYzVde7ElyH0htHR_6swIdn5I^GNX(Acodlh}C_j&4L^ts$>k(so^~ z8P#TrNV|RH)ei_^QI4~?GeSb{kvQsb)v4dLiyjFM$y09OM*A<7b(>dRZWuR^jwWWL zM|4Wz##=qF21)uoLVZQ!g-qARjCVwh7=ugnqr$Lm`gD=BnytRztk;X2&9g^TuwaV{(4z1fh8qn>nE@wC|u;~4a-)RNUe9ROV72t{&V)jNh^oB@_S0K?z|+ySOV zD2aV=AlEQ&_4Hxr(a6~S2!gIp(~oq#R9fj?WuJH}Ftsvbq;(QR)Bc^K^3iSCpG`jJ z6tP(7B4U#v--1dhn-g3wHZJ}Ht!3cQ-Xt3k%C$~$bhh;cK;yS?>fMpty*41z3~e2@ zr8YIqi*?~_?l^3y#Ub=_#eIui9FIAhK^*1u;xDR zjJ2pA`b8CPZF@0F$hZH2F|)p_O#crG;{f~t4CX%C6F3)9aDZT60LF>)rbtCQvg*$I zx_po`1vEq|HAm%tZDKsW?1lclDKH&EpL^00-ZIvN+b)(A*dN_1TL2P*bCFsgOF^># zS|4ized1 z%sGA5wRZi*d5yHt_d1tGkr`QKtQ+c%+xa#wZ&;F>H1p7BNmNLw`mh!APkG;NCk?aY zd33V64*q_{Q-T$8uQrKGmvor#5BT5JkY}3FqjMwiM*;%v|WTD3)WzQ@lPT-v%ytWizSsIj04_eTE}zLGc+qqOg-} zYqia{+fj>`KlSo@x29_dX1BHBy6)Ut9hmorcL0vXu=~|bnnOxrn^$R{(?{^sySH%| z$z0rJw)w=27`<%QedL}QfR(@Ja7@yBo6x1aP`gr*xG>XhasRFw-aJVG>BNaXfJbIO zr0;u9flgU`6b(V-#Z`6ku|*W_1>zn^(xPyxUI1SPlqK|FCmTV?xoG*2PpoFYtIU9< zhl?RSGOo3|!Om8O1Vmk!*~SA1TzC52+T_PAPn5<#`j*Z@E|JQYgYf|kqPlSvsbuHB zv4lTx*6uPkhxPrGj0J72d+T*IoN=q0(YSADC-RJFrz~Ac#ZC*e%!Drh@~s;_cVfH~ zR_dnjxMS5Aa+ePx8hG8pY3FtB1#pbA zZi8j7Pc09hV$Q!Z6XRex)0O>kn%DYw{AmhlWP>tgfqvy2xK(Eq1XdMjk1c6ac8E}A}(J%jOK0~ToB z(nAe(D{s=Ico50>^{n<&KU3mhT45vhL1lN_%lZ*$N)PM=t%|y8LR-R0)dADtTYKAZNh6h?8urbfs2RDgTJKuj zLzeXLhC-grO}(F$r&Qk|2Q$%#=%nLicH9-ygwVUCnurtR!0)@8jF>Www5F|9yQdNP z`!r8x-Q4=$!2NLX$e)V^GAlx6;JD5FSFe9?f=_ejM?N8K(tETL;r)52?sZhY0`#KQ zgQ#NwY*e_-i8B2MK)`mM9R$t=$GHH&|{&Gwkf2jji9^WB76ThU;ybU9U3R?t)hKI7q&MK%#^IR|%u~Mh-1N=A`g4 z%#~Fa-=@RU_cgr|ZN#CkmXaL_WI5MRb5DHCu$ep(*8NmbgOT(!z$02BK5Djp0w1Z! z&BlZX(n4=$O&&SRjQih2Tvu8^m_gssnr?-b-zy@zAbd4P7;Py~T!j za&J1kO?WnjWVzn|D<0Nb4)^Xo)m#zr!aqM|S~3i-vg#E?O%$; z*c0SYjePigVnP|YN>_Xu#MCzadB_gyZZdHOR2n02!?!-!f2CnA7Lm1bNU2z}e!b zuqCj0WV<376Q){8pymM|xCHj(I`hZGF2uvakawGcTXEX=2B=ED5i?#jRQVHe8Ev--rs#b~QLq3OQnRaXCb0KN^{j8G40A)c>&(a8OtDeo1T#->5toj}W> zor)VU?D23cX!c&DCW|a&xZX(8K{Z`qZ>`K6G5*Lnm=SeF7FY3@!DJ%aV+TMKca&1jNnN_)c2(x6^dM;e=8KIMf{^8OGiHPF$70xCiP+zbq z%ep_1o9o8N$DX~ar#5vF459Xk5oQaO?wB?uR+axj(yHSe!|Dd zRO5{)Gv723da%6cigB{oX-7d7|?EacnI0u|HH+?U6npn+&U3MGgrzG20 zzeZZ}1W5<8T4xnLWqT!TVBw1{P6*$ zVY9$2=Udi&Wvfu$N0VGLO1i>-WY&LX{)KS6lfLckB1#kuT)jX=E=CPTBF<5j>eck#DlgsS>+i z*utQB@yYE#n_)eT?J*ZMYiQ&f6ZqW4y*^v!;*jug*4Q3o^|yzK2kTwk_me^lFJ){_ zyAIvqS?=<+iFO*NM6H?U_RNNaJcUdoSSKYO z-kk+JB|fEui907rpsIriEQj81YZ&@nelf0ls6SG$P_MBg%Cq+|n63#8Vnf&hy3!$2OT@Wxc>QU&@KqZcc4qe$U&y?+)q#i4>Oj?&s@o5Ky(`B51rt3$0<= zF8RRy+{=?L&Q6_zoLfL7G-!Ru1%Md#1j452zWVh*W9|{si&L5H?S$%NO=nlXsW8Uf z(sxPcXba*i9sjd<6qOuHpR6_u9v=)1D;3ylU}!+%de1A0WvhK4?PoOr;2~(cm_gzG zrYK(bcWf?@G1*01RsU#c;O^Ut?jA80Dvow(EX>b}-R zVraSbS9)5{=$a-Ui>n!d?qIoVN9sKXqU(ywZ9OYJ+!nt!g|5pBEzc6pI}F~pE)Aw1 z&gBNXm)7Z}WQZnW{f_F~O?iTrEAMpz{*#K=m#7$>U>%Z=n6speG=1g%+f?$%zg%rK<9kUEl?h0MVCZm-rP|Iphqk?#QSo2aJ_&M!-?U%h z0&1fC^rq9AxITKbd*HQmdQg2oj#Dgy@td0~&>gTN4srC5I+ft#cO#X*ZZ_85vo5*# zvwLX4DY$E!imJY206^cNmM^!pN2~ph80P)(zu2$r>HtD*!izD@FKv%*fk5OLT$BH@ z8^5|vzrl&SePDw_jvwVnghi%Zx9+@7tQ;@rGfec!C_Tg1i@6uoT$Pggvz!)nBp~yU zT9?DQXWP}rtpl&r@!XAIBf8!^%GA(5TgqE+W%BypIK_SC&JQ<1_nZ}e-MG942`*om zyaq&7&R52#q+EaH=QrW1z!K;_)^EwnQ1A&INGZ z8jqG%>#_d!HAMVy9No%`DxH=X;dCR&CS`%vW)xCDa^`n@s9ItbLqS94R|Qe8oCz+rK4WvC^`1rB))B;ELcaP=>hhKcO z8g!%;4ZzQ!(Xbfd)P$rpDk$1ympjPxra9*ZU_QMET`CT_nZ?dc>%HL)sQ^2wBo7Z7 zno-Qe6skf#vyEi{EV3BRBlc!|s2$nR0<9EjpG^@jn*hr{G<6pp33IPcrOMd2O+I+y zos(#YUUEF#jyq%B{31^GZ-6LAh5ITt%l zL6#C&OzqvJi*AHv?^~PqBtxkC716IEkIVQM>nWuRQ+-ye6OOK!9LFJRw@V5K7BoXi;f4U;c$D;531$2e0>0`_rL33mla%d ze^e@`XZKoer91Ow>ti=V0s^t#Gg88=Y;aB0kqqgKDWnEsqsLN54jwM+ezxoIRX5T^ z3c>;W(!cOhX27{oC0cQ`&2vz?f4Bl?*rXfuM`41m@@G~0otN;qiYZpLYU#w2XI07| z)P$_>1p4KpCruorq2Gs%ZcL*NSg-(Gpa5tiL31@#9B$~ruZhme&F`5ny2E-7$z|d0 zf*2K(qq3IyO-~I~Zn2>vCU&I4OQ&k8qLHRXsxJfAdKt}Bk5~6uu~jO4slO2y{I1sZ zsqnWa>z!@UKI4&xh%OTlMk3#KkBnSXm7L4FXxM%Q<%hiVa_qalc?jxQ3W|{(ytBTNfQ{u8IA-};zir}o2`jb zb6K;84cniBrGMte1SI&fW4|;!il#&mRPJFI_Qt`F-hp zi*sEVMF4M%Ja>V?ZU4=kqWcwE%j5_EEmT%eDGKjOwY-sp)I=q_3r%H^7t1%ey6p3o8w(pbyvx ztbGvj<4AD*c`WKHk=_>8V|3}4-)%a!e`|#dB*h@_oj~4Yi^n#BkRut zz`yQVutGdS2!4R^V1OS%&>SVGT?~m3-KL|q7kBC0BA*+PHVakXZL)AC1Xr`Rnr?#| zrFY4%9@7ZB6$1uWZPO+v@nS2PV;w2rHvGcBi5Wm=1_=fGP{2kqf>!(WE8vZ`*s29= zl%SeP#SpE=dXACGvg>FxYj@WhU3pl~)3P=3&XN~R`ni%m?z6LZn5utmSoWWi8-LBn z@+kX&6>i7NbhvvK()>6;wfx$VdI6V7bRaw5HV>u1g$pAibmYkX!#4OI&cB!nvYvmt zv*Ytw+wX1>s7-wZ(?CYZt8~4E-~L9gd(2Ev@$ES2=^HC>t)MOYEOD4EeXAg)alyZt zvdImKj&@3uPxszt!Q9fPk~xYdIfwRF#3e_bJ(zmn|DP2Ah**Gyku1Z7MUg<%EnXHn zs;Rv!RCHrEkaXhA_aA^Gd^hxap26elA8n+59qp{i@hI6KNaH5icD<6)k+d3Pm@1#e zg57g<9px;{V$BT?~U0zOtq+#100^Hc}N z5i7i38aTXoX(*^o*>6Fgqf!w)o;AAEbmB_$Um`?WNu|4g&j#REI+IC#(etdZ|AIWT zaw$pQwQ)*)CGL^wb4rRHoF^#Ac^}!-c8q|p-v6}g6*2oFmTr1tJ+9ZdgqRj3hq0r@ zurR6n9&!j5S8$V@%LI4x7j1ngUVm5Igj_=jJ1C)i#6*r-cftZ*37kmmO4>bXu9xpQ zT61xWb1-T?lT`heOtw~i1F7x{_`3eDc97#|k^*oYxD$)_Jod9X#wrp0R7OtR>>G89 zb4Tz`!YTiq7o>)*s1>xV8!Lag!D9YKM=n0`q=nwSX!P1A#g?W|W62T*uvTeBmi;59 z7%9eq^d;y8LJbVhA-OLLnn|A?WDqJ^Edy*w{zVNt$v%FuK!_`^S%(#9!&B;kD~h-F zBdFGQTiO;TC;ZxPs1f~7(0@o0%O*yy^OG%F(Y7}(1jP?n=;ca+mlQ};lLk*;8Se}C zB<}90It9*T7LvrwLU9k=0*BN=GTBRht$i(xX-_&)zkQ&5Z2Y<;x((3fUvKc3ny^pPG(fyKpm>~G8S?yp4e|zWdF>Xi^CrA4r>0NG^t?gmLe&Uv8&g}md!)#gT@Ix{S3|r+O z3CD}j(@v~}zm9C2SdG7C%K9YEDn@6k5vd!z5OKk6v*0~Sx`o2zh3pNmpp@4wXio3@ zfebb5@1IorWmF!L$PVAqW{Tpa4}r%=$XG31QqhnIvKO3GN7n!nXI9C22=+d9*; zMF);rGPR@eCC!l+vpbku_J)WjsJJD=`?umP$PP|3n$N>wKO?bZx=f)^ZV>j;m_Ki zh1HzL$kajB{a=#J!~1QA_3|GSs`-nrPl&;QS9*hv28&Z25zj)n!r3EvRqtLc^`2|W}j(=O#ijt1{u^rVeCuUU_%B(J& zs(Tj$dhoz1iL(1tjWwr?eb5SPO6WoUsQA#f2y#w&FM;gbSeFJ%y^uCr%tc#d=o$ZjL2q%%kIg#YO9pkmpvG5Q0k!qCah@fB37IzJH){f!nfvdSXX$XOVOT}O z=ZJu`Q%EFzv^}}=TtwEaPuPltlAL$kuW*-u^^KJSmVvw8t~>gUY`G9a8S1IvCCw0W zZQUsu{`bOv5C{bP8sOIXs0WGw&h&g`E@;0H|u%jPs{GqhrG zQW^aTtV`er_Pr9X%ek%+%RKHwerKx&_+qc@1^r|T1Q7?jmFf= z^)jr;$J8Qo<9;pdmMBSxb6~TCFl#@R_}L$ElIE?yOPJ67sqAvG37Z*{C86^9fW)oP z_!wSJy%O;Ri4G?vO3?jPmKn+xlA*CgbDaRUQ74rTU(v&o5`dC0m&r!7=_7_9p1}Mc zUP5Uma4e?n`Yu`l^5^{D+8euLW{VduBU)d=5BT|Aj0ygrq__dr?Y@To`5~l#%&j@f zO-6fq&8Qt^C!^*cvGztj3V^{vu_h^&e=~b}fb#;k7C58y5N2^KyBreJ*y4f!z zI4shER(NSKUZe_ra4Owxa`mk4VtJny>`$@RALTQpHGfl$)T2kUx?i(JfNTuiJb!(v zt;Xrs5J)WFI*rpGSt(^eU1B2>*WP0n|H=MTJ5(2`v5`L!o3OD8 z*w&NtSs}bm291;56~9U)((oN*x2-GphjL>Ugi56sgy_}CYprFAq{+dv4%2<`+ zdj!^xv6a>}S=lA}Y!&jewo}ARC1WuXDTHq5BXTtc%-D6sRCqT%viIfvI};*6>GD*- zlXp=4eKOdo-GkA31*`TJ)OFSXBhK7g|7^NucBPF)!(AF)E2|sIDY^{HMV~JZnx)h_ z-}!P}?1YIKR>oz|BUyO!>#|*ho`R`Yq*#rynu<+w?X8gx~d1_SAiZ--GJC*|tZh?F6QZ zOYM;ftI0m~$Pj>gspCQ+0dpS96X&tBE@as>LQKK8H*@c)z@d^1`?U}(rC?!r>i|yk z$wg^DOtZM{HUL!dw0q#ehaLq_ULXxb>%nwc%DpT+yLn74=Y0hVbzCZAdH6m-)2^6A z1fq|%``lW*PD6=1Hs=czBDHapF}oi&N2E0<*6t@SO13ef3DL`KJvZao))#hJH%>aa zZJ$OI2g6PPZbgpWUT7T{TX1@D$}y7tAnzjm>LE2$;0N~F((mSU*aen#s-(BX@eAH} zChR@3GlY!X_M;p56k42PQY zl_mCOis0{;e=g=&Wl{eEmGGXKbChL+DKWLdYnw+0Vh*I2V4JOCaS3`upa9sXf!Q;m zcksrn8b{^1w*H#{#fI+XLI`&`F83Jv2!AK5NzFPF#T_#tR>$5mC%-yRJaR}Gy&}d^ z(Z%(H^_f;&%l;@!@`2+MiRR%uiUikWvL*;w%_=h=4!RDw<@vCGaOt*$iNUW9OY~b; z^RK3^S!$&}adfwkQV4HW>ZU0Q-n1BSEM7U4DSuPVHNDg)RI91BMSNQugki-TyLGT|K?_lTR=LX=i!iaM!D_;diNs< z5CA@KL>CtyDYHKSr8$|+2{}uI9s(BSBp#r)tOn}mJRGJFMxAc-eay~}^8LN}rm*p2 z5To{-@5y`jZT;7PxVDnG+0EU6&cYRGYJ|TNlkbCUR$MPjjJexK5_JNU=6(5J9=SY% z1Fxm64O7?aFSC}uaK|cA_m5W?BkY4NVkk#g8Thr;maFj;K9+fjs7-FI=nZ;nn2LiL zYY^y=1W`!Pt~JJUcX(<(2{l=8YSiL{ zaC#RiE}f*E5Gjmi_#Iiw-^%%(xiv{K@+L%?%YnAuV|NyAB&Q?AVO;D=i&yksmtN+7 zht5Oa{hPqZZ$iZ7s*1C@zr^Th_uA;@5Z@n5oi+U7p9eJFbfUI@zZ+I^z|nzI(Yydn#rp*g5ieP< zb-uX%a1}WFT8qDoJ~sUm%@81Z()Gx8n4T6p%qo#VDYrS8zfZ7mVla&FzAb!??7MEN zqA$`YsW}5)9~54JPMRMycqtk!NeNc*63)KVVS^w6>jbsGY$+KnzwcEiC-1#}Ny?ny zXF??o)S34dsLmL{Yk@?>#M$RoqjgfRrf)>6G*kbX2O?C5pAO~xei4y~{ET^BQApV1 zi5$#2&fs8vk2x!+fd0Hk0Yml;cvT&}L(vHntCcLes=0I#GV0cLkkGCj+0)fzcczY8 z{MN>KZMiG&&XPLa>m#B(U_))X=M;P4fH8t@q@@cb-}5?iFtg9!;!>rv!x3^PD@+ z09dkene9sEbcb~JP#73{l~_EWc}*Dzs+sjE^_)#= zv!8=7dtns^)Q!lnHkHc5R+!tcyzH0b?(nTp@B?7wd`&7l#X@Pa)ksQx~u z_=`LsCbfPp{p*QH8(YMB4(3~-b-!6byA>>S`7s3xKOK3MZrF|6p(6qx9Mr7+F|*a$ z`kZ~UWuh>SVnLXeyq(`YcMSwPmva;9VOTqKosoCMRqx|q?f|hf$tH2LM7+bb}zV0jMT6mOnRmJ>{1q}6EduURUMa1&H4I5%m8*1a%_ z{Nf%LFb;rmoxyJ9h&9HHZHS>r1KoVF{|VIBqr4YTc4ZtQl7fBk!Ix ztDLB5nfKYT8sACZp+o&H%wo>F*AT*&3oBX2-@l8~c&`Di3r!0gMYbxfeIl@Q1U0Og zVU|ws`NolQ=Ni?$v4S<*E3p;e{kWyJ zqz~`AwAe>60L#pF;Oq?f#irfyg7aD7URPM~=q}sP!708rv9@lfWHo)PpI^pt45>L& zWgv_m7`W35Jq`p22X?iXlV%Tf^?kU$V0qETzre`9to^ZvD>4bgY)6Lm62h7$u+)%m za{N3Ul)^{OwNHG`&~gk>*0rg z9^Y3PXWbhQYZtvT*f?B6;yrguerbw@WO)nnbu)Q;XOxMLR`hBkj_BAbwWv)%&9>j# zSZohHOrdN;pBMsMt$)_J8Ub z^UbH#Nkg&F)tNe*;YiZ#tj{eP*{FVVxll=-_!u^Js2bk-R0h{kTC+hCG%(&WggX+z z-~&|w=aQfHx%;gz^|@7OV7nwD%}j0vCry3Rly$w7^dbrV%#1evJjv{>-AU)i!3w>8 zPw2|Hq*`Gklm=eWeEEP8U3N0^pv`LTlDq(;N?R^?BM&a#id9h@vk6C5%DY|Cnm@tK zq_&SPelOYXZio#)=CJ>c2xbJPpzhgU977Nt-k}SUEe}>eUaD?gT&_B$Tgi>ZCF&U! zU#Y8&IZ2{cDacqT^Q+d!o&W?hJvSD2iC6)=N8?^9aNYq_x<7WzmiyWAFsdK*!M94% zz9>Tnv2Et=){Ko$@|!D^z^UcDJ6?J-q4mX6h#{uyX*U$s6D4~M=q!5C_;kL1S7MqA)Z4+M{vMyseWor6TL zA%UzA!ev@XY*Vef90gf4Z5pDk+9wM8(Nu~BwHSa5VbF) zGO~!I9NYeZ0s>YT*+6Q_CUN$(4`*V~B8>Rad*K3<6tLe)z;GFQh@9JO!9K0db#uuv zV38+=R+^k#8t-r!UnA}}B}3qF(!c=ZkzeGxRrMq@a|Zwi4akl*k;Bx7CbrqK4C)oG zLoKU&zpe8wH#c0B^TmJqTW!FJwfm*1=_#-4MlGI0tW*U@MQ_&iU~{5qU4td-ptD44 z81(mz8Ua?z0&QFxdF~`tz7OcUJbo<+XQJ_%6r@aqV^8aCs#xx<`2YSK&O%N9=#GyRcrjE%J(z zAQy7klN!_v>@jLu?%2y@4^k$g7%jyqR57 zK;Ym}^E)94FY2yZHEU#U&h=21e`vIPlKo|*hFR^vu;GGDZB@OMjJ;Q!3VI%&vRB8S z{2nJ#?}uSA9Y6R(yOM#SUDq6Gg*OECzYRS6E@--Ut#)_vfrHNz__PBx8QZBqxhrNsb|&_M_aIzm8fP z8>6}4o*cbP`)L(Cfu35V{b-6~$$)9d~Lfl9zDDwCF zPHJHW{ct#G@jbqUeJ^kB;+~P@HXPX5EoB<~rx`@`LmU9i`Mm6NAu?7?(S$w0PKsSS zpR8wcB=Uvd5OhAt5w_XnXhZCt>0A$;X+H91gD{S1ycJeU{&)B%0QTpucY6fjdHWq!h+vkk#nxI=dM5%}5d<$?q(`rU z!e`#Zx^m|qys<7_$9w+g9^Zl4X?L-nyQmiFuW@%$0dO8-il$F=`E#XpXR}OeVd^1r z^-2KuU`yK;-VdULKYek?{HaZNwO!=xaalqT?91k0yDFCRpVJNZaf6(%Z%s*Om&kW! zALD8bz}pXg9)2;)_uHm_T1rKPmL?Cg`($u8A2jiH-Atcs?M@QaLM(ML)rf))B9HTJ zdwtlad)WQJ4aZsB2J+_OY2((T1(qX2yK6g}d%0+lU!~1ArFFff#-V{0;Y2V;AVyTu z#5O-;4h43DLTjdeoHXp6WM(l|$V*XRzYB@UZUa`q8k(e@Ul!AHSuJ#MtQN#DUX%oL z(n_BC{T`IwW&Cy1Ev3k*MwMt8cbK%Y|ba)hHOIDMUzn3Onjt)8OFy_RMv4wqhPA5idBn zY~>jE(Y~TB`h>gh|6tzi4nNE%3yNbX{lAOHnF@s%ua8w%^AM#g!+UStkuIQGa?E!A zPdy^Em>~L$@kS?Xr(l-vV`|A1pk`|k)dp!@JqN6zi{9$0WotCY`!k5*;T$8_gl_2z zeMXnE;@ zDs`ykI&*xNe*L3c**Y|UrzMF}F7HWukmc_d-EH*r@|zb+(L2Eo;a&JL){G9r5lbc4 zZ9+{*3sC-Pd6!)BW7En<6g2m#9qoj%^ISwmGKb_DvM@K-WG?4E83o5@B9x=+{PpMe zJgDxep=h}5jIX(mf2B`IhwllTqo16S*>>QdxBrJ~o}=k2kE+q@vx1$#5X0JqyxO-FCT)5))$< zveXXc^c(-PEhsZjEl>^4)L5eY+&8;44jmZAQ!i2pS7F<`tE;Gq4M0I16f0mm(Z=t} zMqIoE`dmH2AV3pqfZj zRr_M=_q=sKMp+qCy^cL(UQ$y-mND*WIQmc`2U|J>`h{N0+Cp}PVZP9zY+pli(>Ts> zq6p1u>t6c%-P8;GmOAMwz#*^1jXo!-N}nynlQ*hkovdW5C?-4YTKhCp>Wa&O5;PwpI zNIT9wlZ9^fJ&h(@k;w^yt-hfqN~`!YWu@GE?4%F(Gqcs|OE+G3VCkQW+ij7v%5i9a zWRmY|?}X*;YyWpdGAU312E`hN&tLfZXk;Yuz24pxbsyJRh~Hal-D1(aXP%Z68+kIX z%WSoP*T}0~--$3~c13O9)3@26?Z&uH8D-iQ3W}CK?(%MKGpZ5NXEr{=|JB3$!y5T5 zKx3O@Ea>~kyAb6=w>0$X`uX_6TmS1ZBD}Rktv$Fih$pUQ62`8nCx=^9B|EXT0(nbx zdv|S%`qIP5RV5j@ZqfikBWOlbj-@@DF9n$%5S}@!5UUL23^}p^rrbq}L97g375yR+ z#90Ab)IT7fJ%-Vq?XXZ%VXc%{_&`viMepvD%SOWnC*)@FyVoStt$QIW+?NNo8I;wN!ck z_?j=~qs^%G=rJs<39aAE<51-$_h}fag%7*`I^VDA($Yuq#A36*7M0loua4Z_`G)y$ z7U$F1jgJ04`)ij*eNDW&IS}5+5aWR!L(sEJoJrx`oM<9sVxy2q5XQ$7!d;&rxvcdA2&foDen!H2 zgf)W>M!E|!lP~(K@rKR2OARg&a&Ea3H8Muk}BD88$(G)giT??Ln|K9L={06O3vw+Qvx;@2Hh zjFq7YOP#J>wnZNs15hQW*;huzKUa~~g0nkEMDxNd6^%W%EcZwO{+Y_Q;rRsNLo*D5 zVTDQfej}jsTU_4{gJ~GM^;OH@4KRHcoPIWO*=ed;+r|`gb;J6jm1^RRzg4KhlmiJj z%DRj%gSzuYTId)>Kzp{5iy~1_p(;oMOlx4_r1YKhKtn)Nar)k9N23>3s%2~F*LVCB z;+lADeGQJ}m+`Sh)3j)m%XXasn6vetZe{S>h8IB5pvz-G7R?|&y??`cw*+dwSCwbcP#s@yb%&fGiW?Zpa4x)^wKP_3JY(Q|d2e6=-whB2mh?X0_hq7);b7Y%23XH{%}O>Xz^wQo6?fKeJn&b;i515v4f; zq{9_(Wx0vHtEH`p7n2v66H{}I@}_qKgQF&-^XGv{RX5(cKCjH?Bn|MtrbIUc`NQT< z$BA+S0CDe~jJql@HG`$c4km}Q^AdXTLC7LT8&w*FzLaU{Z;@~k znhSvLbZH@rRgxB9<=GF&xCu?!X`65^A+l2@Cusnn34_-XN&-8+6@c96$aM{`Wd%!zre2T0f5K)uzO`AqsVqmDwh?g|8-Dp!9oUH({Lim+6+1RkguL)Aa9PQm$&rV`6aQs zRq13;d?IyN!B7rbo!WUw9)Igx^UhG3tiM6<>VjJKdqw=fY*L&pJcVhz4Xx-}?rEWV zwuVR@1g0DVPcAX}s#m~4KTF`cUw0TEk3(}zMWxx(?hVj#AYdUI7JXx>MaXQirJ=XOs-n?DqKylq zSkXQfVZr9#W}g#bh1-O}$w>??@VADJ=%3pQ7puSSFCot2s~%yIDIoZ*pr=Yh&Su%+c=(Z(`g5hx;ixj?((Z!x&I2EORmiM+ksyVfQ^G{ z&i(a1C@`Vrj1_1rcfK0h(=v#!5k3N=@0JO5J^T`Y;`w)@hE<0OT3gIXsTnO74am|H zSN`8EK&a8fo|g1Q&25$YYpVJpFZU|Hj`X1FQ4PXro)%hKZnb(mu}lMee#5!Gcw5ik zBLC-5B5{Of&0x7`Sr!RPwOWQ48@ypQ5mXKXhy-6 zaf)cuqnqiYKHrkGts``3XoqgoYpB8e`<2)&sHjl1z`(8@J$@D}{jun3 zjm%Sg;7LucOPn^KGjIBVKZDX@Aeh0E3O1~(k4~MoI%%@{vA+JAFl1;7HC9%!qG`p_ zqUW-A-~q)K>d$9YSYF=B&6CMnAN{IAX}PV?Dx(@SL{l2zC&l^I}V;diDbo^*U}Eha|w6_f623C#Ax*{tm5SB!Vi=gJO~cXNOhWY;lu(R3Tx{& z_0?|H)#AH=fIH&%GIy8ocyejrt>0$tmP>`$aB=3#053-|C~C#eM|qZ^=cj+}tDgg0 z!q3^kfZUVYu!+FggI0iA3(RV{$MpfEXZe~5>E%<1Ze?uQTxkuy4>3Z-yw=m$6KCFI zf>1|+TP%IPoi57wmKqGN>&{DRoYxiq=CNJ?XwR~D6$#gs1W5$U>L>6WZfsl&{r=^b zGMd4kEi43&VP$=~%{N_mwIb1MleyNs*92j;V45*3498H_y0TcU1_xm^CdkIX!V6$1d44P zBr1&j+6>1YY-};g`XyGlg>PT=Im>ubL0aLwD#p(tk42k=tVS0oQuANesOfKI{C=uS z9F{6g`WF0ZadEMHztBxo;u4BEgQYpI5n&Akz4nI*(-6U%1kJ(D6}O!7OMp)|$|q%E zi*O>N58|iy%WE;AZUe)n@6d#k*ev0`Xj}A%O+)i6C%;Y96gHXpU)nTfURCoCUh$Fb zIh!eUQQ1d~!*AOGi>RV08DL*lZy%0>`Cmzg9!-qQrleB^MSpBy>-{2AtcBw2T=|4q zA3O1hIew2za z-wG@N#>Tw=x?p>YC2_6;ZBz-42Z_*_q z*Y5wc8X`5K?*kV{RJOD%K6)k}z57&PdbyvtL>hQd~Ht6WR+^wwku-uddhzX?s{TJ zkzV90XQ|cUep`5d0a(D0Nl=3H297y(y-onWCf&>dyW6zYo(By(hnB(X|IV_!xE|?w zh6fe)U>P)t#js}-;!Nbt6J~@w)-{4fZ+v4vi_Nh3_oZskmRQ;>{~uOvEr&utwD4y2 z9K#c;%9h)<6`y=>4cWMg#+bU^%t36PRIs3{PQ1ZdZ0cBS54^A2H2?^Q&QcI2=T*$~ zwj9(#!1@91?VZ5N&=K~Nr3ZhAHtDcM;^BVWhjIBKsAvm@=QUx$dD@A*EMdEHg=k+S zq`8!0+4TLjB5fL4w6=o~ZHTCIJen|FR5K`Iia0IGeBcIljrlk@h2vpD%eE!;*wz^i z?Jg|rj2J>8GC5vLH|!Qf;W>Y5l-DiE>!e5233$sL9rt?L78>`5+NRfbMzZ1BR+Y=gsHqCCX z&#;A{3C-`ybrBP%)~AI{b{v1<66P{AF?%W22<=vw0%+Su63=W@H&m1dz`KItDu}asI>vj(XMd;{?liB=_QV6_kPT4Zl>!-kI;L`u7_u7H})oODF5* z;w!g4wNvJSVm+jwo-ox3X>o@pNom+`r@uerSlwNqdJ{mxJYGGN*R6CE>t}`dlqWPI zjS%;0z0%1{vqRb`{4{KsSyb+h*xMD#5$6h3qmGfnToI?-8zHNE-Tuxawn56bMJul>+az;A4iM3za9t63U=`M6}zqi*jjuru%<4b z@b!A5=nnzk=#4YH{IMyW@}uE;iCI&bE55;ctMzahNV*1YmX~eNtigj<4$L|cs_p4C z>$SF{*C#$dgJLhdS_8R){%yK@4hQ4k4UPI}qB4Z7etON&*+TzW4Va0Ijjm&YPgg`n zi(wELZH|(`!(>}A%=uW<$*o`0Z<5k!i>}~!qJh!n?R$`&qdgMB{btMXt z)rR=xdik#{@+Hc;GG@$$H-HZ0;i>5CK^s)-(;mc0nGXA1`|n2yKwqccnVF*bl(9cB zfxEI*wZA*HI>q2M-7Dw|IGanMJ9Y-)WFuJIt+|B0&K0=kA@o6D?ZZ(R!Jp2DO)7of z58q2!5g#qJY}$XfHsd}<{YZqY7K0+IW_dU;-y_Nppmsx=aSpZJRwy;oP|=H^njIM+ zml?F5&H0_+rss1EOd5=VP{Q(OSWnBZ;8m5sm78XDfr>o7#3*fhJzI(15{Ey?y3s{_ ze?WoUR<%o^9^TTO^Ay@xf+-<{|EFiIQ(aXpzW^5 zcU$FDb?13mq>#MTm53SuQldh0kWREWU#SEGQ07KrK{dDH+rKFg$56IxQL-$_b zEAWL<$3!YerViXDU2NNS3voNn`Xvwotw0B>Ab$-PD;E zEmy^Yhf8^Iw~J&|SCn3E;d{y?VDcehQykf3%KUv{q%LVd0b+@1Ryc zp{c(WUoz`d-26$_MLhwvAlbN;HjziLzJx=@#`KO^eA<6su>$u8OENdE`S`AbBmCeY ze_?im{Hz{!Ewy1m`coeyj$K^S_|Y8_5-0KKyy99E%c;3KWE*exPTAc{de8t&A3Eg* z+p$;A5-NqyV`M^gWHJk>i7W;FAZ2F|wjSV6n>b6i!lWqjPHqs^Wc1&tU^>w& z&6m?%*pRd|mtA4i89Nrmz>bm@3YG+dUzLteyhe!a+*m?n?@}TL3G8c=>$j$g(y*RN z{%0&gncI;^MKu)YyB57Y{BGS!p(^1g__^Y^My4gqdTU^|gK`^G12g68tac`F2amev z561S=v~6tL>qgz<&^lIKF!GR$Et}zVAN?8S9~FjbcY6znWFQ#V*Z(v>K{?eN&q4K| zl^r*a`^>vvi7{T(*<;V_zuZwh>$?`2rv*u5nSLT%2{s~+OA~1P2A~w(rj$}pA19UB^wFJ+h!g4=3U-f#mD;lv;OBj)H9nQ z7TKT4vTiA9G+Z*nOQ=#InyG8%Yxqa6piDpgTnKqn0M;rvRh@7W(r0Jp+oAnwrwXH_ z(moqzc_QZq-_gzQclk_xj*HX<& zAAi!fs0Rl2$ZEPqNE<6aR04Mq+u+5z!U}mH znKpKuK)MOly(A(t3W1thUq)@7P@myv-J)MK?X|#eIOu+YQOVh+#55dkQ>L z#L}b-bUE{S82;Y_iN|~6bBo*TMjf}_?3NDfEqI$xi9t~8IpHJ~;^~=XV_Zn|Pxz7? z`FDv|lUiafVX7U_;5%eJ6?@cMlN#bFC4Ey9G^^EG1Y_yZL%XaBwE7!j^HhIREiYUC z5#pa@^P)(VS62tY>4-lTb)SUqcUUnVW|hb}e0(h&@5cJ}WWi*(ppaP0j3CLsmiqr_ zdhehn)A##-_v0#SgI!srlT{X@0sG|dToB95onan&hPww2;bzbM3Ge~&Nq2$2&0Od18HYdBO zizXFUvuwE}gS^mM&V=F&gNS)pKea*8G5v!MArXMs_B74in%Ld_?aTP1&R)Wc?O`L+ zkG*8h`O=QBB(o>4lw)@%GpyqfhmYJb+Q25+Nj7ydUD;EqlhTc?LEH4zTB@Kx#%O^} zBf5o}}weq71 zH0x_GqtSWzN`2mYAi3kmnM&JV-;Gyldmk-5GU(1zfbKl@HEZ@a$--hnmwemZc#jm9 z+^3-1;*wl@l$IQ4&6*X&z)#{qr7Dx0gusEe>iu{Hm!dJRC>^#18;09HC(gSXL4|jS z>)Bc&$$DKlZz`&0TU8B;twYr!UF54CRsKjroQ2! zmtktvfsd_3`iyKD$*!KgV}9jx*SY31UD=M27n)uRhBodqEh8nrP zaaiz!f)1SbX?S+}Em686C#@WBsV(dnhMS8zBhr&J&Gt{hbaq?j^8 zm*ce5CD9WjdE2Ms8q5xN$s-Zh22!0;lG=+7W9r>uPX@kyrR3K_#{JFV+28C^t&S8* zO5YiuahDKf#`MGihnnbzcAptTjvb1w@>6ZY4Z6pzl58HF@Ohf|x3kp(nKaaIST|FYzG)|5B9NI*~*OM~)lmyfE)L%{X`XlsGYp&JSF zf)%M_ayF^j?D@yNtM6~?Waju8!nP*BBu-3oD+_~{I^j^KSDYk?vbMEtiO{Tl`^WI@G8FQ6*=+&RM$$UBWX>^ z@$oj8_}2=rIv6=6lmERQVi*@-kj44;2yJ77G52Por}wn6fvn4Jij-mKwIh&cT4{CY zNFMz^%tX&&OyKALRPsAqL%U0l_05cA={1F&^zFO3os7TqbOy=zp$@F}7cQ{1c7C<9 z{V$p;aznRS53aUbuwC0XTACc2@fj=H>l_*q1Db|s{0YrjkaUz;EMcmm%A+6+z38q8xb*^D`^;9y`&l)_XwKTCB&l zRL8fk(DG#V){;8wk!8aoyk5gH>!gE^N;#_^vNZO;Fa8gpD8hX>-O?~QvAt=>V?!$T zPJEC4B>8-m+&^h$ZhXENPI7MtetO)h6MRZxZcOfBHb^me@Zn>ML!GhAp3_)?X z#a&VHtyf74odDwZi0v10lUt%&D3n6?L#G|HQ0Pi?19cZ9hhp}zSGH*fe!!hRam9(Eov;{y0B0O}F@-3Fm1#tQdNbWcv17+r06o-4pFXfX(HfK_) zMPchc`cN?HjzAyM_VK$=P58U1AkU6)$?-{9Wm)LQxPNdS_{Z=b226z|U});=~rdD5s_|a+DE0 zzshd!+Z*G14ME9sJlUy4K4TF2JKukj`{SjfQd?a%LG_<#2~Ev4a2q1Bhs-y{2G~4+ z@V7hCU1mK|ZkcnV3FU>P#eKO>(a4vjujpSsze+kYodkHI+X8kwC^A2~Ok66}_)A6x z&64$RiPb?{{RkooktU|7QG;0e(lQa?7qv5nAy4@72$f?;(oU+WN9O=B?p>nNI^d73 z%Gj;vPihCC-jT>;AzSQh5QQZ|Urrb0jM`x^2HgQ)O@Ct7vE@;=0<8n(t0oN^cwQdg z(r0ToC#nn0g#VPRMes9p8Y^rdOv4|<7oAiyK9AN_N_jP4bp`%z{gRKt#FaDid-VZ7 zy;q=gc^t}xwj4@Kxqi8B%^u^)379!woM~1!m?8_fqDq+fSbamgrXHdlyy&fF6y5Ko z1)$-K0#?rlRjXhw6e4irAV7R#CL~GB+r|t$-YKb!NgV-5LWC^`fU2hO)tz(#l~^(W zWldNz-tFF>Oa&W8LZlilK`{tKs#%`F+y5cRhYJta@gPo0qi4u*wF3}P;!&yss1WzZ zZdu4mO@8ORsqQ;4M;hD1S`;EE6MOCF5i{6A8*e`H-|~e!EsW(2KNIj~VhiVYR7c}< zfvuyX@YXp&LU8C#*ysP-T(<$=_~st+Za_xlgsy6>I2ysYxK*cS4U*@S?VSS*Ut^Sf zm>067ex3NI6057V%>DORTysxxgJSE%M_xvfbT4U(v1NZcXju~*&O6rHQ8@9a1IKv> z08c$~w)Uj=8JQV{`~;lvq|X!l5+R_SU_-oP@XOOjoZ}A8hb#;yZ|bDtexU760kNFi zQwkwn9CQ<~-OFbxBBjVVJ zc{lb$_Z4pF=cVQ4L0Cj-XpQqU>u8ejV$uQdU^J_KfvAtYxA#GQ-nnGZE~`0RSYN{W zX+XfujMADWINTD<@;4BOJI`&riD99Ktx8=-YNK-gjr;id?I}${FNG6yjW!ze7&DMF zMTvv;h=VnaWrTn1=d3%-Jw&h{2M|06UYIyy3R07uEqG0{c+#QrWYW3jwCI0)x8S3? zaLA-#TosnI;Se~!bqRG`jaKa(PI?{@(hkvQUPNF65|0_jz!2613nRRKmyEi|p5%w= zzu*#gJKw%4&C2i%LV`k>hSj-MXHT`AbYN-spf0%!RM?;_;VaU2(Sry}F-lvQ(*+IX z<>y*SJQc_!6#rNQ-SzN%rrQX)Jf_V;Lo7dgNjAUN#m}*6;cFO8lNRrA7C{aO}j)M~ADh%WI7o_C-e>%yV5RhU3cL=GYj z;BB?mV9Ho7xU@A3i*R;r@87F6AeNApBx?Zwi1v92&7v6hNu(Ia*(P`SSj}jsnj5%Z zw<1|qRB{1Jq&krU0{d;=4+ak!2+m5^j;c=(SBD+t!*tWK5_j~YzwOAKDkBkuZbjRtQ4Ummyr7^KlxjQ67}*UGyn2e{EW zORAvbFwFo3zr9rw@OOV`;AmIg35rI+l;vPmkZl_rY{cRn*`IAEID78YfU(5My^paZ zzNruGtCh$82YFNm^JhMCpY0V3BPMLrx!a7+c=HLl?jOd0GEty9nO??~{QGyjS5JIVIOY zCFEJdkj~cx=g6)2b}aph?pphOSoxxY!1yrlv#IHB?Hn*}oz_;=y0zHB{cjeBNGdZd@i@u|P7|XLnwX*oZea zO80tR8+ut7(_E(poBtmR@bpcG!F}#=uZ@cc?m{A2!WIyJ>#q%G1Q%`Ei6pm&@Q|$>=)`It{P1t$`c`s zE+|cBiGq+XR%+dq)t=8Kb5itwxp3u%w z+`;m|v{g#QwHS{VDY-U)xkh#6Qc47(iv2H>hCfIa3Rr?iYv=Jn|I(dx*6}hC~KUPH&4R1YPOB zZ#sd;B{mpHMTUh$pOWO21^HS94Ir0DH-JWC?g8G24-)g(pE&chbRM=AFi&@Nsl=vR z6Sq()XPfEdYV{Nqza!M{9zct9hOlcLyG~> z>yw-Z`x>?ZjxN@^_LC)St+{a_yM*JikAl#8ZeEzLAGj9<guO>WtGj!>dF)>mtahL5_9aLw5r84rcFgsg*4(=Nsp zp*G`)Vr*}tA2>Ja)4~e}Zr*W0_YZuJeF3Tg3Wm7s++BhDg4TF0isbT8=(PVf7EL-m zzp}e@;L|5q(L3LCmF%Yy8whVhREezjIx;dN5VyfJ=()I0=^i$OMWtyMPB9|nj~SD~ z>e~xe27*=iWSYR*2maZZcM2@M0JZ{4h&?Y&4nu4{l%9&pml9^=G@&IHcfb>wB^|D` z`Cl!b8r#*;nzp-^iuoB>Q8njj_YsP@oB8sNc|*3(*7Y95L}C3DfV59i3rNpCXg{#P zYD7LFHk~dGQ2UlZy9J)v`teimde9avGB#^uBP=EqIc#8JezPlKWp*Hdud!&C=nv1H zSj9kpUyyo>NGF;y5}|_n%25q>3|*&pqbTT$kuog)HPjO`N2m^q1SXow6f>keH)2m9 z%zPop>Vt7ZyxEJ=&8t!4&qj4v_b#&V5wd84vCealO64j>Ss#}XbQJ&%y{txtb{@&G zQB`_4)#b8b%RAz1ke)a2I6fmEfP~7RMpo=KcS;8Yhvs`W zim)ncXfQcQwhTr39DVBm9u&ICc->1=9;6{Y>9f6IdP?3BS&!4blF}*WNIO0&T1Bf% z0qo!BfK*df8KcQn@(+alHi)wtc=(GPPMJyotu00KwrZe+*tl4&6t{g_r;Y|)zu|D_ zsT!6$lsG-!kzf3Z`p2^C!u%X4zZ%6zkS z9Foy~x)x~Ikv{QW$(;H#xcdua;=$fAJxD4$?7vGGhBMud}$=2bX^E(!MZe zuUmuavM4QGQFo8{zAX2YV@Pf+bS(burA_up`~MCVFPj={=|NV!g{QT`mUNp=9C>IB zm;5-RU{E9tYXJQN`PU}v6D%}M?}!zGzIx+~eM-9pg@TpdOu9vU5Wy`JkPY0o-$`!j zw<|u!%K!uR_a={~X*d9+3xhe*mt6<(^k?{Qw^BS;U1#?lH#Kl?O*q*&!HhN?Eu+J+#8$k==aMRLTaPmAQzdjcpRripI6ArU z4VEw!c|0*{I#OQBP&vg2W%Ad03;9!fhn$e8Z*DfLF?r&0ueiU(h?^{jnw-ySFZZ~0 z*2?|P)bMe2sl*h*g&w;QJU+n8ETnz_O!M&v-(eNTMeh-pOgQe)PXpc|?DA>QTLi>Y zo0?*5;K(hcec2HT>TngA>h7O@$k_=Fa4tM(*EJ zvk0f@$i`&R?Q2d%8GRE}&@>krE!HU@8Dj(84h(CFz`i$p<<{}}frILOxIC3nWggH) zohw=V8Ks|~{ua`vm(%N`5vq)&d*})2AW0Q`?WzA+46!X(qeA~kYcMUzRFV+g?9g4& zW3>tMt#A1*jh_;I2O%mb_8_KIdiofYVB)?vG8ktnT)E4A>BfVJjdRIs9UG@Q`&>Km zx9f`=z3>vWjNI{7K$gxk;ayo|qEicQ%W&(T?>r<_U_0ah>Gg7P+hMYfK2>5E8r!g!J=D5m!BiS@$sDJWzgF9@8LX|P zpIyIi9ZYw3d7WF@x*c!tgq64?8yXa&-*q85_?z6{ zp?;e9C!3)Qy)ZvGvUg@Y|1fDp%OzYnTXe>&b3XHhW57@)VWJ{8<5QUOyrN5{_*673 z&=SzNZQ7eI)K(!On-t^lalwSEa;G=#>Pa`SesC92KxO)?J;i{1y~eSeEvTQKxXHQw zlL6J!y%(ZcTv^!^{b^SF8dx`B`%?osKLw=Svp8n5_8r+N7etyZ&Olx+G#NC9VPm&>(q=f0IGNpLbEFz|Vty zDm*@@tYsOF)*a{}OwC4+iSx4%>AKhKmM=MHqJOoHO&#oE&`(>94kjdNzsHUCFaoD$ z3mQ)Ti>`U5z5--v@8WTcfcfq(tt4NJLSgA=(kz4@idhj#^~257&+v%T>ktW2vr*NW z*W;ZbPOlfE&1Y;k@t1Kz5h38iOmGBMII$V9YBL(ZUub){#@+=I>a>Sgx3mM?`oXsJ zqq^1UQ~&-`byvyp!ej!2OxRr|Y~3*xmSY&hPIk9fc?t9;Z>nfdFo879i9Y0tDv1Lc*S7!moHJ%fN(y`TSvO4yk~U!gT!W$np*!liVdu01MQiA#;t0f8L@s{q z7hs4pRzGq1V(3^(4yueY!8d&bG)b?0BW~Vh58Hh0qvsa14!Dv5vr}Ij>O++S(a_t@<=>k z24c6nE;2Oe96+>LNZ8%|H;pU8B*@|uHOY2B`*U3}^^LdbLh`+;)o)2Ma7+9mx)#Z` z9d}xP$J-t1IHD1n&76$#d|XE7pb1}#6Xl?HgB?+509zfneO=C>Kzy)?FOA$p`X)jV z*`sl}*gtC`Uw&)#ohKG5T9aX+vC<8WmH}To5EvSa5I#o`l4@M4_ z@*fd--ZNtZ;VrmA?7n>G!fyw{*@3Xl!V+`v$&5|nPA4frpIlNfCBun8h#I&J%Yk@Y zB08DjiQImt9~MdlTdP!oz^490Vyh9x76IH3h~AtF8J0#u=jUuzB*7oEv#hYtS@-Y8 ztp1*SrFk{;rr}7RC`jbT?8?HN>?YOt*afNTewcqprG>!%3Bt{XZdt&!!Jx&zUhR*F zG8@q@b_U*^5}c?@BlVB$)HSY?S1eZBx@XiK5aB1=bL*X+)Y)AE6IO=&P;eZ0stl=I z6J0TLHpN1s;9|48Fd z+-;v1(J5I9sKutt!qi^LaxUA9a z3H1gk-DyT`0AD&=W8=bsqLA~lv_@8B4X^5~=|Uw{s?S1xZ$Gs$FN+_%8363sqKAA^ zY0B7$I~#r|1pW7+pKc7~?96=lMsarmX>U z9{ul+OBZZiXTOJr{|CvDI0*dJb1=}baUb}Ix1Ny;yNBhpT3WHBO?xZue*$OjeDaX6 z1oGjoU|3O`jafB@U4h>neo)gR_R)w|U`c_mez6a%RGAze&qHJ>t(^5IE`yDVhVc>P zh*Yqy%KKq}FWlbkifE_r2nu!_nnl|xa}P**#V>L{nxp9EJw zXyxQ`Ql1bR^xSp9r7WKJap@UXM;^zTO~ZK=kPRFBO(m0E*gf9IQ;NbNgD=~Vbw}Zk z2Xh}m9#muikaT)9stl0-W*1F*L>JwAawVZxd;R;ps;Pj41e6Dm`qS}lNiJV8+fw%|O^Ha78DS4h6>zDVtI-0HS3 z1R(`_*{51}Ef^m@*k}j9>MOB(Dx|GTNP4+&O8UI;(U4=$LJ`ACRV8?<>lB|;uhO*U zAC=XG>y4MKSWT2e()9{O|LB1il0S9XlQqBr`<#DlmFDxE4&X}Vps}be8gyx=QxXg# zmc-of7K*#Bs6Hh7x9}XezUjypfIRlZ(WRVYs9OoHsZi4~r>5_x*0EsvkbSpQ=rE>@FBO4*MKATf!v zGp;rVE4b06fu*qJKl^6`dFdoU`hL97Fo=}50U^}-Qbo6?iX=`t)HTGu*W7O{ggo2G z7RFS$tnL5r@6@-691WWlO>yD8{pn;zPG7mNc$rmKI~*AaE+{Ox<6aUR`<5E+WY>cH zNY=>P2%NU_BOJMv7Pw4}$Zsa~Bm1%l^#jRhx9R?;{=OJRVBwQTsr~rJF*EB7ZseaY z{{>EQm{6tT2L_H)Py?4fz+i`nUT3bqT;3S8VnxU7?EjkY8`-vrOz)o=X{h3oQ2|PK z4EkywXH!lyS6WFkL}asg=+-j@XTcdqz6QhBr1tU757lu)C-X^fl4-%<0R)wW+7s0P zl#OS>s@u=BEDY`i;?N8M%Q3*6xi_G_e+o@xn){DAd9HF#eB1f!m+wdZa#Mre#Di_|)PVs=*J&~nM`7?v&{%I)sU(N=Y_fIxp>%X(}>tEA0*_e}(U@L@Z8#?cV z@Ro!AZngZppYiGBl1MQ>a&ykmML0J>YQ$g(HP6hH%>p2{F(|Hodk4v%|4S8PHZ1l) zXLb-ZMk(~WIZx4z$VW4nL3{zbnm6uAvZ$)>#JH$vU+fW>=c#{crtcV?gEH@9h~3xI&wk6Z$Q0N>f&h(n!|YUx_V zh?l23#c8Pe!ZDp#edJY#iUDgYm4#MoIGY1Oi4#XD~_jGJRu6OA5eJlz69e!-9c^RBaXdjxRp;|4P##X8xg`vT3GO$A~oe+MhQ#yC+1K`W0^@@pmwEu&)1-Q1xzLE3Y>IPm};xHCzHO0}D_w&%^YO&YjRu@xbnYV^Ap+C3@0KB>73s!$AxxGLjmg6;=6e zv(m8e>;48c!hC-QbO*(0KN!{CRPot~D=lCJT8&MkU#KE-Som|{8JppS_|T@zWk}(AJ0q`(9GeuqyW$P+?^qYQ!hi99W{DY<5Ukf-VcabsO-#^PeDVHE<@|MIl&Sq({?fF zE$46T`d+|j6<2BLahgGQM}*Iq^@$>d<7Z;0%5poSKc*NJ!*|u>6q_pf$GIKPE)`8R zi4)`|e77BFR%Y(1%Lcoa(<49ohb*?S-A7b0fNBL|k<(Gchl9{wnXR1lAHJ_NLDN$v}0_>{9X5eJ~2K6c2%wQ4a zqeEtw@pV~i%uM%srD^-ip$T%%S6OuJPaY1;MsOa@9bkiH63B~+_4t&Bhx0MnAO56h%h z$27fl1WXueV@K0r!nmrLk(gtfO}XUNo}ds-tTSqLy#6q$mno&jf+39ls?Cbesd@%k z5NFD?xhYx`T&izwG=6XaslM8jC!r)GKf>&i0 z^_K;EO~Q=qs#JW+eg4AXmBtVHb5o!$oNn5#g+|vYO4RnL$-I`W@m0m;JV7_=lj!9^ zK60<9L1VmIoU3e~51Cb6*?_UhU!)mU25;c&j_v_~Z+iQUHNuB1NGbyo=^JA3S(v+V zQA6~;UaYwJ>cBtBR7chY`4ZeTZ*u^Q992SbnfM6d&E0lZSWK*;%?iHNCC!jQtu8=!*w6r)DdA%7>Oxr1d{rj0hU*-mhm}#qaG%KfZDTXuf0ttd+&Lt6(SpB-vqz(X`XLH zfYt^=7g0}Ge-2GLPdhbKuOy20<+^u-&U4>+boselyVG9VZ%#TI_sd|zYA-6Zs@jMf z7hk8|L8P9Hvj<_M_fr8zb`CD?9(iCx_fih$fg2# zO}Cq{D5)ygq-WSi16hMHQ0P=V15Tm;8C^!0=s14Ful9`o+&I}xN{8ch$0gM!f~HM) zWRSRga-+Lppra-_4XYdTRJKtBLoQo9-tE~zyKWcco8}G~w63%(NEc7gml|!LOTUMv zsieU%QhOYeVAY8BB6cC_x`dI_RyL*unwMUE6BrP+{CAQ#Nok&!kRjj0Ojh&neb^DIT{GS@l4bW| z#%W?v$}b=8as9DpKsyA~gZtL8A}I>H6S%9QYQK6IDEd*IN|6x(Bijz>Z->uEp9cFo z*-qH$d6_lDKU0KcwB!|cKdGFV-J>2^NF?Z>kQiHuD*HZi3ZcS`D686R`=HM z&&Q+2&QCfl6O!Jh3K1ubPr$W$aoi6YmJ?;CQb?jbe5DPxLY~98d;Bd}XbpbT36!U2 zu6Tulo)20HIasHj?e;jO1izGm)#r)dbh;v3WT=J!`f$|KQ^%tbQq5b0-hs$Qz7)iV zd5~=YqU3NGxoV7ew3*xMCa#OIGgao-KCkrMU)!%inm|vyiq}05>go;T7iE;7$}PHpN@1aL`-NQ9xIHLFs7 zO<7{!`~KqtU`_9@fGbVfKgihCv^R4_H6>UI{&(;1N@Q5*o8#cRwVP+O^$FeLIiE$R zSG6i>x_@>nu1=r=hjeYhtl^B|K)5|J3aU7eL+-dbqJ`@G2iKK{{4D)gSuOM*uw2At z`VU5VQqaj_UhDbLmlR8_t^bmE6q@zz#pt75XJ>O3C4^Vy6v&frm$GE_>`}FwKL-W5 z%Cx@Y-&A!)J85dLILZGwzBkn=9DdUKyTVdhn|!z*>NqOEEP~nvgE4s%Jj8$Pmg_|>1~4UcK*6i( z4w=AuM+ut%n!j{Lfwy?f_NnA`(%(iUi>%{{@Xya5sn+fUxcktD%k&oQjaij!b-}CZ z66h0Xu?k-;RZFDQ7sXk1kc8t^wmxq;&sP+rR|6*RiZtsr()%A4cBj^GnS-MI*SPvz z?Cba!`w^y3M()cJEF)z`H;Pc=i0)AQWax;yhy-SW=Zf_kZ zE$?9--c{*kKjL{&BQr6?-`hU}Z*h*p<_}LF=_lw$#f8rn-e=SOLu6G`bcNRl<5B)iOZYL68k{1`)Jc9 zsx9zdx`ghR7X|CogVG4t)8zA~o?9ssf$9?WD=zK#rLn`@>pT`|= z@ESVZ7V!@OPE)^Z#Os03@1hnYTfKPy&;i19u598lwVN)p6eYs&66O>ZE%Rk;vo7GS zR|?<~*iD9AGQFuJPD%w$Lgx>F_pU;hPdXV>aoG6NQFL~vIw>LJ#oqZu<@d)- zJ@2VIg-!g4s~k#Bk#twf{{8#^V*y|aLGe4_s13uX{+%o6OhGk6@mE`)t<>SiddQI+ z$L5}+g`l|RDL*YqyqUeign|Vm0z%a}L4#krS~ZZ??yNvH46+&D-&qeGx7*zn)4-zQ zo~1`A^5#d$;Wszt#Vpj-nU0_WKe7zF7N;%!pa}2oz7H(l`nmA-<>2;LpxG_7>{aTK z+3q9lg0`1XPRRcy6Ru31Og}M6zhs1n>d0+QLEhfFn|S_Iyg_09%L47s{D;f~N7}_M z^Jl#<9l~`hUDf&2^zEqI9}yoj`kD=@YA7T+pn>Qy$QYLKn%aKrcOp&MQ`z87)a{Zn zv4PX_-(aFI5RCYin4ZH&^OJM`ODdx;#s`ONODAHZE-C0P79kw2oJra0sV+E1xu(R- z9r)qdD#;{04l0}}V_gi{@%~w9eH#EW-e>&Ca73K{0gYY!foOd)xcZUanUCDi=@}rl zJ`4bx&zQ$mwILtIwbp|%*zpG&tpd-@ep$qfxUbDjz9&mJc;#QG5IWy=Q8M2aM#Mr! zO?(rPtBp9hxwmMHFDe3rB87cvnFnvEZcNK|cP#e2N_=JZ$ygb^c`)2lp1ZqLmOTeq zUhAH3C=Uz}SJKJBd7DxX8sPQHCwb|{3LI_LW$yNUagI(owk=&b@8Oc@-gHkNI7HBM z%}vhNTUfCKJgBJ;Hfoc*fergf%{uMlETuMJ!GKM`f!Pg6yVnvPE zCIGWm-<8UlsG>gVs#(@cz^i}&yY}-d?zNxq9S2-VEMj9^0~}lH_cP7hE30KCYtRht z{f`2B6gNv5q?&eA&o=$%M6qk{Gxh$h>sH`G|IJW_J*o5KgNKrio8G9fb7;g9GeJgL z42|OeK-Qm*^_fc4arXnuMb^u;6eX?$^v(blwCZIZ-$2@U`6Fz!1!bh~RfJW z_Hie0N#*=8|NKa#XMom{Aq+b*uWm|SBm?BFS+L-2`hSgA_di8dvz5iv?KA!A0GU*+ z9@6=so*c!|5y=7D1092+Pl{n%#XA=nnZh;kNK`#Z-~CC>)GnD|&$l+olH(UCl*?B? z)(k1KzucUq2uZcQ&{PJUK25Xs-AUhM*LGDe!z2K1YAP0DFD*J7E8%XVD87Jgz??t- zE(@pfkR?I#1!aN~jwE^QIrn0;izv0>oMhit4M3JyUqSU@#4V7}t=JW}+tDKTl;rX3C$@s`128|Eb`+Cv-#AqA* z0sogC8?opcu{`jeyf2ijbx>fpC|-(HT1$3c1X-#%6cHzj0{ys;bgG*EMQc#`zn+Bm zhLN1#&%QhU#{KDtA7R25<0aJPeD5r(b6OGa_M!()mjpzycnJy$Ft_5MuNluWTz&fv zVKyvyA)ovX03e>_BRw5~g=G>_=i6r8y!Pa+HYy|)R3^Uyd%9&Ghp}aodX>tBei}{+ zRO(=>A#38e!(vh^$ALQ~2|Yhp@{LjfgkJ-2$ku)-gfRLPY@YQ2$C02UN#^ zL$gQxV^4M(&eyd+szPl$%k-So3|6$Nd?LEAwdlB0WXA0@s>suj=cCbHc#y88?W6W3 zd>*1m5CXl=Jt-SeRZdUW7RXx*ZtA&DC+SDrQy2bVc&7-JI~Gh`MQxQaZ`Batq)p7Q z=N0f)D*KR3DunYnKFQ1Ms=?iwFwP&E9L{!7u~7{D$FOy$wZb&dd&djB&KVONcqSPK zt@|iCE*=*W-uLAq+S+i%GVO%kAdeT1=kyK)jwz#%mR|q%Cy95)rA^1v70p8y6Ro9% z8!elP=_$eX&pN?ajDq!v9x$B6@iuGP^33o9e~I!)umcy#oOzHNi+{dzj1miZ8vNUl`>6VNRAO|? zpQgfJf4~VXTZZEED}Oda0KLqcrI*0B%_ORjo-6!@18KXC=@gJ20+*LT4R~?dMsRxLu9OV1Rk2HS1(&ZCQoA&d+rG&B zKlgy3g`g!MQ^Vh2+b7D!z&+GVloBmXnyMnyS+!mg8&9!mO$`mZC?=;+$#J(#EV;FE z8oOXC^*)GY@76))U0*(U+F2#E*+vvMblPCVCB559^`$1f;=~ZDRZXf1OORt~C z(@PFf>#2e&_L2xA=-8zHKCATouHXA}gwx~IA=T9{4$=+WcQRcQkZG=-gOhY?761lL zX39%UpA#yu<-Ts05ixM{i9$C|FMYc}QPektie*(4cc>BTETE%(u7E0y2J{N$F<+m? zo0$m7ITy)DRCMX}RY{i|S0>>SkSX~r@_gZtb{mPhdlqZuZ_u!0OCIuAiLX(k~P4P>pkfWpq zS;wW;Y?;KTG;&`5%62-S+J0I;h@Iu?Nfn6XK@}5bdtYKGiES8h8Q5t<9mmpkgYb$n z6Ge_wGK~iJxIwhyp!|9=1wtL=9~f-%p;Kb>m%81 z&!1Sr;P*@<xZj~*RV;kzLy}5@Z4N2~Q}tLbG-j;d%o&N99tx*Dlcsp#ZSDjoz0lT* zV^2iwtpOq59zi0&aB3JD@UiWrL`$#fE5i=I%A?}X~*h#;Vp z*?y1SH$+rfid$t&S^o~G=O4a9}lEesXR-I7<9PZ_2S z*Y;HTFIfU)&R?>u8BYi_Mh~OWPP59i^G9Lf+F;ORa(bYX$NPhegTkpF%-W4U5- zt9z-&)CJ~+!;yjJO``)+1#94FkKh@aI?m-}PdPLDg~8_H!E96KaTtyx_ph3`ty~*qy0QO9LVMwz)}gfvfwPLA>Jj~> zsCfaWeM7L)*di17+casP(JnSrMjd$;!7@ZIO44FjQfcwy}U*6@0vf1w6g1!R&mpTcw8^%4o{y@zm!ut3eAcDLLi89U7s)G# zhLdrE{7eXeQOkz07%%Eo62o75h5obeq>73GufCXkA*wbKpNLsHlNG7u{s*deH1=3Q zeSyAoEYBpt6gH6tfT2z_%ByBd+US%*b2+$0Y{O*Hq)H~RIPxD*Fma!AR}+$ybU6jS zY&2{xtZPb5C`!XRP??nIX7h_Xw;T(~#*g9Uc* zV8n|Uinv6CH9fI%FC2!KridKo%qmbfA8OGbnlEN)JBJYHpm|f|Xxycf%-mV3d%T?p zM^L=st(Dd}PXW@WUC$5d^4Cr5fL)T59PD%iG%%BW>;)h)vXR=-!oIP- z`xmQ%mHp%8Z0i@3-3!dHjE?ww?f!0)Bc~w+ss-EHIrQam=gQRfZg1p!I_{xiUO(q? z%O{e4PsNPNoI4!im00jOJr|77s> zDs+;Cu(@kl>P3=+Y_p1KIcd)<3#=LWr)F4>S7m*Z)7AZDu1xutN11YwF>65SE6qMp z2xcdxH2htAW6a`Cx}VP4V`J4mILHu zN}Y3+lL3eQU@Y2c4Cr4wFtIV&JbC zpdpO2id(t`PumOIt2Rz<99`D!nysonsW=$%FPNyOnD|GN4mPKeH*U0m8u?RDVD?yf!HvpO0S?b<# zyfpDUVLockblCMFWTT9@*`!!}&yX%J`a2~33e{Sjh7 zlh1`J7?MHF^AHvN_w7$D9^HTJ0flKM5C1(JstlWrrQr@~2W>alYq`du-9J!kPA5`f zMj7p$p)kCwI|LFl-1q8ImIJM7yX6SsN%L1pDV-jv3u_B0sRJJ+dGsh@$TWsbrD`qX zh!(VVOf!`lrhTnkiRHfUY)Q^q;XQ1?)G>{CnX;uo`OZIM#<$lf-#FRCT5=_;X-%@SmJug9drsK3rV> z<{X(oHt-MF%)BGhD(peBTz(Agc=Z0@ea@BWK5JdHUs_s~>%`}x1bddeJT*VZcg3#v z9hNpSF*rihL!kwM&1-4N|MO`^DIysD@kSi7Ph{d$(3UGiMMtD2YnOAvnP6#>IJqid zwwu97Y?nM{``YM7;rkt%`eG-#?%nYke^l0o-~Sd|oqlHbK(1|5P3FU@*6Li?uZKvH zJ@w~7#?SRS`rxK|#pa!(_f66E1yRt-W?wP=$CSF|C;QQcxcb>Id4%hDZdFR1ea?HWt zvBAO7f@iqIJ33y|z{=nn`v_W8Q@$rG)xbiVbhfj)It-H%`d&zgQ*^&;!p*i6f4aX5 zV`ji{b|tmh2Wn;qQ&DMdytZ1W_}y*ao&yTAyKMI@^0 zgN07=?}G;uGJu{J>_7=OOO7~9vVOd~SsiGQC$bb*>UYTdB;VhMuD~%nBH$R_VP6Z{ zS5lSnI)ldL5Q#Fm&3T?z1?$-kgTOp6BPcMtSX;ofL^&-iKI2coQWHK}fHP1z_!!GH9pk6B<+M4%wW+0Pu%sY>jSeR6+RyBP=lyi$n z4=RXPSyl=hLhj@5(^zV3?LseRe&ZXESg7(5Pds!N8NhwWo$*e3+5PxNFB!L5U_XV~ zqp4hfg$gEl)nUGw`AFl35Bs?Sn}C~}D#zljDRChwlkX##>jyU&lJ}!kt8$+VEo?i^ z@{>~H#^5<+l2hGNKGH!i7^hQ*KKU4=$TRYO>9+ud8A9$4vMI;><6{Ln0iVJ?Xl4kS zCMVEQ-}1}q{D8sr(3a(0CF}NmGQmRr-W#ZaS$l7+{7AC$ciS*c>AI`0HvNtC-=_c# z;xW9U75zEv;FO2k&%Sib0464Vzs1g`x#QNZPl-YDD*=frla;*p|G|0S?zp32DDsMe z6Qz&C?Vi+|^3$--7Rx-J3&#c@YTY1xK{8JPEx%+_D1WX#t?&sql^j8D`tYM5tFN)D z*^>k_4zZ1q6gkaED(=z#sbWleUSIb~ba|-FcSL^JP83Tq-|n$h)EX*7E*cbhy1U35 z{aXA8Fy+m8=$voSX1Bt+EFd$kPn>T^n4o(TX5V<}qM38RGbt*=qAJ$5lkFbIeEwV| zy1%3!;}g`*2tTz2mH2J-GhN-p!!O&*oEb}BJWJmigqnSq_{H78iZ(db5p<_@=@x>T zzP%;nuFBeKw-@GQb+hvY5j`taV?VWPZU!duEG9qy;5;_@;4#+rXrl2y29)X)cV~tR z+h)}GlE)?f${Lz;aPXB8S2`AC!U_EPnD$bKpf6WuIW)u27|x6#T0!KZ#~CJ^nM-c% z;F&WsQ{$+{E`IvTpCwl;jPoeDw82j8!H+57W%X_46VJQ+rt|=#*_xf8%E!L@`CvyL zX4^-*wPiLHdD-~EL@*i57<_kgt9H>k#s~_=waWDwY&~?lYoA~9DZtVz#Wfu2M;+0^ zPMnmoSl8v)sn5TJQLCPYioJ1I53VX__N8qM2!@(9U_ZK1OKjflv?)8L*Y5O#PQXO8 zabrZ#U$RDlK+o0X=&CD35$r0|&(|(5rDLZ32u}>VXoDtFN1%=YV-sz+6WA6V%l`#) z#Soj=43%xemIf8)_ssfRE&oC@-rZYv=~yUAb2(9yG=4j|=Fw8u!~5l50W&;m z4_o|XqtdEHkfT~n2{X^v8<9ws2AHVIA67qw&>%6NYyaJo4=O4OaBP`8!vn<)vg%`# zkVAb*3a^T|Gh)M>CCSj|^wBWW@~=8nT@Uw?({Q!&3WtI7UaaJ{nkbK@+&zF12Q!oS zCt`YEdr;Ta!~|!At}H(_#&r4})4rsnOM%nxdskbIXKeyqv$tPZ^YIkO3 zLh#xJvqwl%oLiXd`_A^X#=@M@Qp15=M<67NIZHF=0d9)EK(c)Cnc8TT^k(?dm(X~S z00_h1q_2zoMNv=29otmQK#{{o*9upQ-j%XP>p)HWhR5mil>pF;73IQoXvo@NW&eM< zpd&+mkX-Dk49!G`zw00KXzft#+nz##gumxGboe?WcZ3l;9F$?-F!1w!h>24uG=?}`;yB0w12c-C;GXPw>v(y?w%4u z6E0v^Q%v+gfvGu5z!O5@j~x-g#Mlz@{E}(Ogp_ zPuz|#89AA@#Jp2w>$X>X1Tko-3nU89@g{pgYWUmq?`(hz z(El^~W=i~(6kH2+C*xZH-o)_a?>r zrZRq0g5T2rimss>Lr|#aUa~h>5_glhHt*;QG6Jw*3wg8%KQ?lJbI(-MThO$moNcfV z0y~>X?^?hsNMTpi<=1MzJf=<#dyY0S0G`QkE>oMIVV}cp;edL59$hE)>y8QuZHm7m z@0VYYCM}JSt!PNByr1-I)xFWlc>}mIU$xOJktfC6Whov*RQY3@g+}Ht62or2;B-!4VXfb@#5a1wrrsirhcP;9%%6b;sx9$ZW|v=D?SQU2km)2?U;-} zYwqwbR#lytz-SaS;0VtgM_%2$`fo;COldJdNOtRLxB#6I4?X%1ceDAkxvw&!%F`nN z0IW3rIRZKFW4b*ynX0Si@QePHQls$dTE08!o$@)c;4}XSv9;Q4H z)pq?@vcqJ<4Kf^ur7z4bdKliN-(p}3}*yVTaR$1d_|>Qy)uhue|e*h2)S z+ix6)F^*WN@E06={P&=w)%WM@%^gPN4=7zVO+baLT4+3mosDge>YXG7?^&5mF zR>}B;?8f^ivCCcf1FoGh)U>)+w(v7S03oln3D*zQ;Ry(Vg zoTzV=5`Lz-=URI5pHVJ$i4Q)*ZTIzJDxLn z(irW)+j?%A=X?JB)sN7Adh(YwDep>8^)Y8iToq5*aS9lBCWaQ5^ua8eJg>O-6m}Rs zAVe|Q=V$s~>(RZnuXgWBDXJDjYnEWLg=yrV9^IaA$+%r>QkQN85BD66?9)Y9tXQDi zkU5wSFlKr=dJBu6iXgnAo3KhvzF2sPHWyr|) z3E8&BN~7h;a?^6Sa>*u>uYz@Edur?pwDW?SVWym41STNkv!;Bz4Rg@MN4iVLDHOEx z18ZoM?LxwCG`F8qyvN+_{^R4;Wpw}0Xoh5AJgVyY!NnE7?N{-&=Qu?SX!`{{I$-x? zes)WAc7Ha9SZln~J|h{7xhwj4jASq5TTSJ?CIdrg*Gw1^ zSAq7G(yT{Sq?LcSIU8jfgv+bcEisC_UI568H_jBq?HV^c*lyRemoF2IfM`p(#+W$O+(Rt8 zn4KCsXK(_uNoPmJzeU96(%f(CNO)z6x;6Pi#ZqfwJ?okEj?p5nQl8bz%1 zbL3CzptP!Eod?iW)7|SH|GjSs+3J&2bakKbF^CI=!*sv!Zt^w$SW`VX3)OWH96CRl zrsZjOFa|VDOx*ZWTgHcpv``xweqUmXL*6mQXmjfV@}2)wf&~^N)ThZmaPDv=2kuuQ zIoUS9tZ1Qrq1BWzY3}bKoBh2%?QV^_J4eqRm04dvJ^+yo*wDWqoDe37L4l|2!z|1r%T%ec2QuquaVrENQC0%SY zoBdU8H3p!M(T^5-g!Q^ZYwy3jFSVV15CRRhiZDvAePx#wv-IF``Qt1kITWyT5K= zKLxg;-_dz<9L+~q>r?fi?(HsOEsQ~UT;t|(emi~W`+8Z%DN}N^MV^6qc5;}+!12U?XE3P&Xx!zl&qgF94ysx0$xvGk0ffL*^Nti%IJHdo1meB82D~NgW{~v3-8p zCmvdCgxI{VHogt~wo~Z&S?+$6?{y}Bn>OJx_tnouneh$c?>P@cZ`_RFsC4Mx3de!u zsiFN;6((^%J2NVDP5$czp^v=5!Qgqk$&>{<##GC*qVoO*=59)SV^LavPw5o0!dbX! z4y)@YApTY!-+bjn^8mfsrmjHhzn%i%-9}#rD`=5N(ClSi+1J%nLhDxf1%~$X`XtU= zJFGn7lZ4}>wg>Lj(7BYC=Kp!mdUH;_+NMx!*m=Tk-t;smdM5h>EL`m0AfzTz^>OOP?8oZe!*seJ z!E1oUosj%!2=wF&GU*DsB(HwVd3}s{eQ<4*@rjpOfRpyHtU`?k^DF{U1?Zzo6boi8 zPya}-xfh|HSMgdlm}5QA-WAD32RfPqynU;7S)B|XjnO{etuq}gP#xk1Sxau|3nLMY zv1^pn?w3O2j*U>pmk0Fi<@GU;9wPQrJi1^^Vp{dn#2c!K1AiO}?t|f{KEDR>?QM7{ z!0VB>$WJH^_R6KqYN;= zIho{hiHJH?gcd!QX70uWYSJ=J?l%!Wkbcg==Mvkt7=g7%wXdm|ud^F%F`^%}qh+Ek z0%gp?J-_EyIjRf8GzT)Bi1!jN`0S=rtc?t{^KRtp-kR1Xy>I90Z8ALyzI2qXO z<#@Onc9EP^-pt;WP}TB@rjf@l$si5Kd;)J7lE{ccO zrZ*i?o}I|(rTpNrg?C~5=V34haIQz?=$*Mdntb}uFQxU@^q?st{~8foAQgMi7YqlR zT^3*VjF!eOq@g>_c(DI|8g*=}7AZ5oBCvy61P|61zGG$YmCs@OXWag_S4Z64nEw|f zM8J+xE^f8gMH;yyVT(5?29}j8I`cdKoWW~u;v2?%I`$eW!cp@Xaso@%z$(9Y4|SV; zwHag#Rc?&@*Ap6w)*Z+h4PDTw$sv8O=j%(DuO_s6{Dpf;k=)p~FPhg$H9^=2L2MCZ zmEtAYcz#yd-7y8YUo%<=qUDB#RWe9K=x9^*EB4SeZLIM8;VM-|i!X~Q#2~0#nOyaygosSD9{$gV7ML@{uI=}=m-M28 zK^|fh;vav6!}j)cFXhElZgHlk8k*)eqa^z@2~O@9B`Jw~%B(28t56nal5sIBQEgVD zy;_6^*)K`m{>7BdmRVb+K-@Kq-s}74mRoSZK26N>;o!};F;4M4eH9qibmuoI40z{4 zEw=du8S!^r6)V2o_SKXdTV{to4boYmt~+gmY?}@aMMGx_P7>S85Py@bJ63diH4^;R z&O#?S3;}fJJ-RnaztfH;2bUCg0&*DrMCe~1|DElcQCV_qrQs#t?_Req|Gd3w5Y(f( zYF6)?U1IwbqUkwH;`LT2y+S@sN1A&7Eq3HraNOI`y(G;G*^8fowKV8)Vd4=PC9y~#kVD@hZi@|inPc--up*={d%42?v!V@M) zbEIzhj41IZns5L-B5akDmvSarXPt>QwpuSGj@B#kkD2#HY=SD?^kIPcV0p$|{HiG_V)kkA*e%FwBT>H0M+S(~)VOpZe z%=|5|6NAI>W9Vzkng~NAd3FUvioNT*^dNaZ|G6qZ6vaR?qJ;^PLi*7UN9xzcXHQ0}g%fj;$UXwO}2_vGiFB zKex~IIm0*~vdy`%Uni!%9a>GxQcm%%$v14*Co+@|wGy26R{G7>+Q|NG6!$?u!qN9= z81^AbtQ7&)b4_xQpzMQsUu;}Ry|Tm#vZ}RB**3n)*~djICU-vr z^fg9o`F$CcI}@U+9l?~ei$Jc9`B3|qW{R~f-a)NlF4#d|8q$x0P-zN>gSaq5hWzH+ zsX{cZ{jazXHEX0H+r>#?<=d9zmdnp`Fy^l;iV~t%41dSZxoeg}c+;yum3o~@Xx=tn z5?o$ExsUbUIq@GF%eM{z(n241wLnjRYBm&~$B8j>qwbv><0Fv=<<8DAEAqK}jq|g| zF7EK#3U7X?l}7wMg6_D2wWfs^)#e+3OwdVf3rTU+ZLYiHIE^k9{;A?JcdZe}vHDVQ zile5k9~6k{Y`6`TB3EWbj_paA^{Ho6(f1|`y_dvLlXZ>-g z{2YVk_{P5_UV14W$nZI#GBQKLIu|X96%0SuVa0y7wfmU#Y~JIB1Q^3`p}Z@u+c44s5fxw&AvT^!TDKX1vD!DjOIQi zMp8nly~Q8j@Z30_-d13IY^h?Om3T4S(;XB%T4P+=O*yzJJ)S2L$wC6ccanNInb$I4 z@Ueo>LW=Be;>Z6rvzNj#4&SPAQduJ!;T(hC?7qWF56TJ{@baWXFQpgdtg~Z}Mw<=} z=CNg+FGE)bQ=FryrrJ)(Sot>|TbpBP6vo$`qa(pt6{@kZO}jkhip9PKc}Vvly33Tb zZvyO=Y(W!m9$7zmhjAqzEZaVu(IzQ!N(|X=d!dIiNPq8LCzQKCe99Bbk@(eD^5Q@5 zdu@Rq3$JSWuc*s3kv4PRotWO30~hsy`-Np~3U+l%fp#>h4-u=HHne~RV3GZuCq0ia z%4EyRmoxThR%BI_H(Xa}JaYl)=UfxvzV%P?TC^rm7HN&fnUuTo5@Tlyz8FNg4fQjK zsJhc61)bDxdrWBi9e-Tzv$4||&>rljKFOyU&Y4Qo?}*TY$AGy)X4JjkCXRld_dKdQ zI#ArsLE3hYo>*~3-vI@C07a(y!EKGH{i&V3c2YdsUo034A-eT9o#pmN<>_RM5+g9x zi@(y}AI~-v}dAU;?F!GPv8vq5M!A~gPT7{AvGM?Tl(FxTJ)_CPdcA6y&_9!{%%Qf~f zW^NQvMr*TDd3nuBM7H z!yqQ}hiYZZEaiL_Rei}`m*txgo<*h?T7!oVfr_R9u57_@e8>Ofs?G^DZP&$b zuhp#=#k3cX*Iu3NJbc=wfrtdI{<-p&gj#Vv_8B>0H3hoXwNM;15mH+=te9_0#PoCp z={=De(P3p$H0RO9`{FwXwkQW~XN!%!Ck(xDsq~<6QiS4X+^v{BmRaF<%nDjbePj;W-dpVGI%9*` z3vW`c?!APa{+i*h90@a9i82w(v1H?@971?;?O^`M ze~+o~?kSt)!N^m^Z7!JU+rJagG5Aa`{q5(tV5}Ehv0>zB&8Ycu_=K62^xQhCqknlh zx?^`>{qjd_K6hU*yeeb1z-{ znUb_rW`Q|3^sbN@ZhP8^(yFncsqr5NU$5@gQ z`52il1ae2_&)<>SNihRKQDcbCh1)Je*t%jK{ovBW^xwA(XUYtVaUdzTPx>TltptWY z{Z$ekpf7(#KmDPm08pZuw3ja4yfBpJV> zzuS4j@=FZ{)b9?i4ChY9$`(9~+r3ie#m#)E6M18H-g)JY17qpZj9(vl1*`xGM29t} zcX&bQpESZzVT`aj8=@<;($keyT1wIS_9M(sT0fcl3-)Q1-w%d}hL3Wp8&5jpj*uD+N>& zv-{3***ANkJQp{$Nsldlo~1W*m&{vrDO`UFJS=*iL8!&`$4?r$;A4;k*GGbPZ)vI- z4d=ku)LV(l5djPl*>gvG_*sQuNKHXtkm_iJ;Kd)z1xA`#7=*X77CRFfvbr`n3W?2x z_Wc=Jl&-7nno=F+Ti9}%zP^ovt8aA}Lrp|DQHl0@TQD)OdSAul|END#3qy!|M7;TG zbo;?*>dS=B{U`n{7)>rMjN3nG!D!jtkEwoaG{R53pa;1h?3{Ok+c+o^$Ah%0AO}kN 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

    RLg5(D(#-(g4sxo6c-~^o4YpZL)S;7T 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

    E^5ke zqpv{3J>3cO12>K-w==omMn!R!csdKV;hm5Kh;oreWei?8Vf%ToB+sE$yVW+TBn^?V z(7{4uZZ>;CvEFx(%wa>~0Y0%R2oU{)U;GJF9L;mMDp~jG!SR7JJSvIn9DQ+Iq|9o8 zcXD6W58l0>ZM(R1_Y&Q1`jqhH*k_I)#M8TeXRy;1hBkUx++9bZQE@;U=ywRH69q+! zQw7K8qHlaDS*P2(ntZP4?o7Ud9}yTKakF)m!xSe77=fRwgv?o&9xI=TJXve=@Nui%C09X$AN=nRaZ^MZG8)03>W@V_ht^% zni=rW5xW+xO|;_NcP3d&AE;QvpC|`GZGE>)j()NEvAVLEbj?iNYo4VDy8H++t?UYd zvs~oqbOwq1VVbK>p6c7_y%5RH5PahD4y&EEXpdg4awEjY#0;%#VI>f!sJNPad42xYM z6uf@`E8`@uJlBgZ&v9+(+rO2&3vego6z42p_C72f4Tqp7ZT2I7+f0P~RcnY_yf(nq zTB_GQNs9RQww%Cyp?8sRQb~ON65$-rX%Mn;NtO(K$W1)NWb)1*xiV4`6~g{n*z|J zDHYp3BO>1@rJ%->Kyrn9L^P4_$~-^$W8_1TSUzr;wdOa?pURJD*^iSi`h$wt8Wt&v z&hbA{s|nz>5+hWCBAqKUHYS|JS>)EHcz?EB_5+zAr+4IR*=->0R<@@d3GZWupBxA& z5Ef@eer&Nt#(?WC6xmXCyV)^Do`^ma@#fYm8=|zbopR^VzY0shbl)vKgbpf^1e?}$>hGz(-W3ch%`sd zCbd|-MTy6y7XGl$v{?E=6MQ%anc?jX{n-c9ewKv<`J8d}ADP`iz|nfevzrzK@=yHJ zwJ$fs`|n=Kpru2e62w1?8|>f4N-oKPQtyuB6xqY`^cX@g{qv3BepZK9Daj*`)BuFv z@}HwDSPFq}3PMgUBdsi5)Ne@`O4Ka8Pt073e2+S5BF{@Jv?}=2L$Gon*_s20Fy3ntI)fF$n^@xn-8y%J~*?!o~3sV)OCp z)>)mxD~EZdOjd3qKfLIFkN5Xt`u_EmM$m?%JW@v3v!m%0b8^D!qc;9-q-sJHF z$Y4dudT_f_ScvqM^A4B-t>MWDcx;M24M*c1LhG6`hxOnbK$}l*V8#xBf+Dt8D?FSm zuV>J_3}T|c`wsN<2}Ewc=Q;Y;$7kmogfdKuY(gwLduzR7L;T_d-UBd6k(*P(^ z_%m3;&1JZKz0RY@c1IFnt1ln42?BA>U$2@x*WcsLcKm~pV^Y`uX%F`hiS?uHLYe(0 z?Z8MiXu5NVaN0c+!`F)CWjt^gFxS)-cHgRV=jb_}aKkLkQF4nB&!; zBNP=-A`g#_5cxr+Mbd$5t^O!TzG$wF}b&K|a&;aRZ0Um~q{ZS3M8R zGbimD>qK$>CF~tZ1)O_*e0N3UFU0OHjQCOe^NEOv)#Ry8k?f*IbeH4TpS0Szk#@Lf z;PPzub|~2pPv#+*gq1;K|L8e_K|&BbNxB^&i~I+7QO!2@qIe47Y;Po9lik*UzfWQn zyrb|9fLD}D%VK~(^|^z_h1no`X$rx9L9rWD1WjQcMW9-hZP-)w&gs%4p!GaT0GpRn zgUx8a5WbRKv#j4O&LI!C#d_`PKJ-lQC~#!vlDgGY;6dz$gB?=UmH>-Z258mg1#vKUv6f>iS_I#4L&el`<5XW-&(v&(U~M{@iBnz8kHDQ- zL;WKQWr+&!v+ECsGr}@X$PoQL57BP`3iWkHbcRaO;b-Wx_8=ScjIzWck1@{?3l-%A zJrZ#&eKCl zw8JZjZ$%3|&xdG|e`JQU;IQ>-f?e#Kgd6f)Dd7((O4yr1u3mq$%x$x5wkO34(oCh7 z1JX+CA{XaTm@0i%T6=ISq}6&_+YyVbuFzfWw5;z&jFZXdD+nE@U&h@iFeYb zt2#zfI_4T|Mzy^>?Mmty2rnz}*u29oJ<2GdW0+1qBq-qTrR(fwkD9#dWaqxO9vHZu z35+SJ0ho4{#1H2oMNPG!cV8dHFG;>fWM*Hr4$+agWTQM#`MA)NfH73Of(+!c;6&ug zwFO8zYH;V>@U61rASU7X_+r_75~)G*J;Rf|m5a$qX=w6+f?8`7;d3qAoDCQZV7u*UVtdatq4%-vVV|F zEoFiB=H9%@{lYACNa%UdggERy%Q$MABIc&R-Ho zH*|IGtVoUmMOtP;R|j$T0~&xY0x9P&MBPdwVgEWc<{oy@{6~~d5-aGXKjy8dta~6l z;_`HpNd1Oic^y8(KrFm& zjdtFdioXaGd)AGCK zh+dI5T~%=E@u{gAh1=~L3O=!4XL4bSR)%U+C3fAeWCpm$VdXONCSZYjI(k6-n{{2} zVRsCCIXe!!0OtU|JD$kFRvSZr8Q0vkgNxQBL9*E*o=qd+hM}?%aDQIP3GuQCciOJL zi8FhOM26x*Gwd#uWvg&A0LJSwyNQSY5q`68&WvaC`tozAk`x3?Yium}W>ydG$THmk zNVBKqKd~_!q3LUQWUQKwqas&E7XSNr>l3MZ|1yC2%FxZF=x&k9^w(X#nbaNXu2#bo z5rszKvyJ$R7N-Ce>DP^gBiG_YMy|sv$s!VH% zuJW*=w!~%bbu!~{a5;$8=<8qlFmMX3pJR1JsV%vbjrAf})%)TNcdoU|_@nYE?ZT-Ixw zhlBi)nH|8`O)zSKcZF3SL&(#{fDaeDElfO9ob+k?9X9SYVj473J80vWKGt>_Qm<@1 z$!vf>%&RdaZtRb^QZco3rLo5F2nyhe|CIqo*&j1=!VV!e5mU{B1N;0dVZv!2?#w<- zQbIa<$`5;4s#5%wE`L(FXa!EGe!`V*M`gSfk_CNor^hj@Imo6)VeY3ruggakCj@KA z-s6jpR=wi?Cj>|5q@ds0>9)jOjx5jrj2bM}vs35|lK0h=)6p{S0Xgg)y^Crb=JPKz zTr)Q8a_DTn`wWn5wdo=AQ`CnFQ+tcP36A-P?MIuL(I&ePX2BUG<%*I#To~XE{aiDG zD(JsW=hseu0fR?KAF0rrg&qvo@OC8rg;Y1B>0g1xr^D4N&uq0a$S&i-(A_^D?b2*o zZm$t}M}-u`4Jp3W7(7MV>}L*;e(`DcVTO{zxs>!uGM)4bO6{ zPC=LPW(~9^W-widSUf{&T{3yw!2R#By<6?-rXd3a8HTl1A_8H%8IVpAZvwy7BNOV(>%O{DLD9XAWEgaU^LsS`( z(+^yK+yUsm==8RauhYHL7Qc|FukY3Wi8(iT<1-uNoAuh*=OAU0``0UFO4u%1m6QZ|K`^5%8^fNe3uVY@IC{q~<+OxI8NL8ho189L>LPt6dabWA^wZ0iwho znDs|nW(u0OEfz&)W=FJ6w)M>`lrLw1fO^1&+vYEJ^@$x>yT}0+OS|-O#c>xyzz^?E zqPjGo0|iUF#%1Yy)JgzjpQ_cCjPwG|q;{+vBH?&OsazY2ww~0CxG*bfO%wPtrMiEL z_ap}=)^RFAb4E}XPpm`moSpl0(9?UoQ)0S12{*qI;?Tbnt(wwrmBS1|&QNZZZ<)2s zf3cBM?gjfEi$&Pr$}%1hnukqX530v3c6(xu;mBns`yM|p0E~3yR9e?}Ye5ZWQjZc6 zZ#u(nn=lioc}c#7bq2$N+rfoVcFz{$5$VH};7o%oN@V6RC~7haczht3mgePLLd+Z{$bdFNUG)K8woFl}QTTWVX~lzg=s;8f>Z6 z*plu}_XyLG=QoPOOvPA>|`bt9mNk-tcSVbW*WK{GSSk_&gI`=Jg65Uu?yX7&KbW;5qH3w$tcLmv{-qIiQPhy6q|fD;%#3QY#|@0Zie(QUcC+Xv;IbU~ zqxquYoSpfj2UnoE!yA=DaW1X$?x(b8gvzEh3)**i4Susz!DFMAC*J%+R6+8dh$!EK z4A%#v2>S_noTV*ZKUcmHU&yYr8BT!Xi#M@HhI6$4-pH0#j8FbT`|Sho zHn~aJuV@gf+?b^Mup$#NO^K81kM#}9CJ}#uSN7`_L~P=Bz-XRl9`8!WIH-YKyLRQR zIyb$4u!CUFlS;nVQR9d1y(2}o(M~(sUnCq)fCmJBIf;x0?lxd|U$R@6PSMpNH3tNH z6rX&z8R?VTq1hrmCtq!m_E#nEO180a)pbv0VVzp?93dF{%#z>U>8%t0i)BvtIGvCM zkku~3ZK#I9;a6T(j8U%MpTc=N+F3xXMS5l3Go!n6hwE*6>t||dyNQrtP^?9cY1G8n zb~C%miV81#TmE_JEa67W%-4gL>>r;i1N{;g?xEw~*I|;};OcV}{YS9)$j@DiU5OY~ zT*#@ijK0K`5jLU#eKY(`9*&jP^zm68;~UrZ*u9O(iAi?um(=a{$T#TgO0Q|KL9V*+ z*L;=ngvquHui<5X94CM+8>AlaHMlvBW(*!8w6lw9tmf1TdVhCs9D6tu+-$HOnZd!_ zdU!7V^>R;S-PCW5xP{lIedk<>-4pk=e{Sk-zhIc7SgIe&7d|ym)!Tp>>KH7-gYU8V z+u}JE)y4!B@E!#A&Vp@QP=MnmIH^WFyu4k%L2vREx;HD5A9ugwXn#vt#*R_F#VW@Y z9l_*LM|fWccN@v-$96-bw}OW;_freI`>?_f&QK4|a4Suv5zG&^SI*ted~Y{e!JuV}*rb8_Zi~FZ$*~nozSQWxBCQ9fw*F@dfTz2EVK(PT zwHZMBsP1dED?l6kZL%P){w_2b>%ne_mG#}#I^{R|!(PukldN69s zdr#L=u0p~8V9SH3!H_8CdiP;t_8_+kS?E*h%@Po_m<<)EmNv)P=PJ`|h&$=Fq% zi(!!-tLPRlBC0}`Ub760x<}%C-QnKM$=-u6z-V}7XPKBj(Cl4?2y6IVi1P&r z)1Fb9raYwK;smb}Tz^Bir^Zfk-hNp#&LHIaQZGQtsDGDpN}_8ADa0Prh(|D=OZsLuK9mm z6m#CfaMQ<2S%Ts}ApOyZ!hubw@HzTk|M?xs%{r?Oe!C-|Hbuuto~#Fi`Mw2C*Wn(9 z<}z}(EphMRq@qf|I*Ztqj ze|;lM#YmY^N(U-`tXyrMEU$&}@Y-Tl$JP50nz4+@L;KezWooODj@ZCEd&EfsR(xsmtwEO}BH=_#B56tlJ<$Mu^rb**CLe&!j zJsdSBf0)a7Llf z5laEbXFeQtgaQM`S7`Zee}Y67*j}q|bwJez+66WXwvv-13g|_;0gOzplx(I*7!4Y8VxW&K(b14OcmvyWy%*?E< z$hA5mwpd#STjWAQxuYM*X0sxK+Q9gwLwOYaSxXr-K%e`-)MHLpyHf{1sErKTcTv%& zWRK?D;!hAYE#V}1VYa0r>LPw2mA6-dS{-oPh+8>;qAk{MYWoqubMy&7BLg7>ri8)% zzh#h9Bd=&zSJje9h%h7t#7A&<__UyGZ=kzUZ9{!5YAq;dBtla-D91oDi1w4ty3Ak zh0;@G=Sv;S&F?wCO&z7bHdFRwq?Drd&W>{|h?@46;yCtWn|H;!iJ?0B zuiyp85F-Yvjiv&ypCs~Kv6x99>Y>&<2zwLLMi`e{Gn+md6DIUzGMA{51*#d zFIAKj%G^u{a-LmqhQHb1t7L20?AlAzYKIm2{BuIM1{m#gs%3%lr8C>snt3@iGA2kP z)XEXFZkp^N*+|QH15FWKUYaPu$I*iayY?ik88dv|T6M-kOcr_DY3z=A zT1xn^-evOBb@)kh_WWU9RWLzB>FnR3)@v7=ah40%OfnGPGclIdo=(qC+oRJ;z8tzj zqJ3#r+GHVBDRa2FOZ2kNb9cSe0M$ar0`%WyfJ`_-kN*6Uvs%6STVY6bg{-W&@W6;2 zPV`X?zI0Gi^iyrU3LOdomAx$+Yon@}{qSlQJvViSmmqN?i6JsfeD zo_@(-qlRYEZ22*Q{K=?2nqxm#9Zr3bl#hNU4}i7uE@G5EfT)?5z0HTHkW+^0^`4_P zaBRUp2E5L^9Aaa~&gWD?IH!N7W@g{62;2lg+RL2Op@lZXq)_z%78KB`5#mqQB06nt z4ySgFkH;0Qn#V40O%Pk7tg(mdd6U2#_4O86v7}l?<(|D&+Wo zLB>lFm@yZ6pHCZ$pj%%V5s`e?omH!kz=?bOHT{*f$5`Kx$Usd$`;@j6T+^?Q=<-4~ zj3jhu-C!fMn^sx!Z^ADJgj7G?2;zj$U=R_>|E1u)Qpc0J9nBr2()-NjC=W9L0CdSG zEjZ-}-SD9$K|=YrVkz#huPzMVM9WevJ{!ypga?b{OLLgV{f$=q$*_T*jq``ka(88o%f1fyj3 zIhgP-XJcJn`(rKX7mWO8snoB{MC&(0$Sb4vqeWiS_MHk&6>Ziv#pY=9l#!agO2Lw2 z1x1I;du0|C$s3+>G}*VM2*==$`y<_UK~?gUq4!8&Kl|Qkf(@Ds17`Rgq$6C9Ep_$$P ztLWV0*)aPyzD~#9Q8rcyLUdZ5uB}5o&N-~J(U$VG);gtF((#ZuC1uD#)jJxeP%6%u zR$1#@A`Rj&IXI^)LL(IfDM7^{;@CIu{m=d1{qOzxUBB;jUFjjoyX)_dV!!hxT}8KB zECkXJ{P5LnuN>lhjXiL@S|`R2cX2T@=Y53=n${cJUwDcNi_qY0oj}O&Gd;$mTKGXj zcFM>WIMoEQgngw?!q3W2TB4mkJPTH+yYQyk$?kX6?RP;zQ@zjK&pKY+y;CmzZPXY$ z&`Z(&y^8oC|Fz)Ya6(2=vNH!EdOp zGuKy_9W0+C>M8#Q7w?4wQWMe+YTx_iluqsEDvQ^E1^myOZ2CR!2F_OodWZ@kM<~p7 zN#3TOQJ~l6>M8tYZ1m+Ikn9`pvgSH+*neFot1&0WB#4VueU6xw>ym<{?JCLz0{235 z%6UuOU@syRgW2|gug^1tTgzPc2j11z)=sA58$8pDbOxX8kDa=`_uL|DK=k`Rc@mS~0P&!5f2v zrgaKzAxrBXTnRukykV!dHI&|=KTV%nSL6Lu`gm#>N9n(kuIK#Gb-Pt=nxJQMH5(82)nss(3JtYsGfCJI}Xb_Eh%usw^*Vh17jF5`rhXo?CzR1 zpEGwJv*5F@LUDT0*ZBLYk%}lBy|mbP6260*4E!5EOzPDaA0u`h4aT;NQ7!Atjhq*e zb@aR!vS3wacG-b>p~7e3h2Iki4m%*+{(@1UcnOu%Mq%hJ3P+Gk#-SmHW=tNoj7wZM zF1urX<5SysZ|c|N$oe&eN;d(_;O548Y!U3YZuV=ha+6`-&|qlbKEHD4LUYq1h&YrC z{>Dm7v6h5g>N#V6bbQ8F)?u&zqCuy)ZG2}E4Ch z=bpeNRg@zMja-fn`nx^b*8?wtH;S~0LWGQ`-IlC+4k#@FB31kE9s;&!R!!qb*&miY z`Wf#`8@;KNW{=AYk!!HPUpA@h6}LNum}^LK1y{=x1f>5yXgD=oHvWYfnn~H$E%l2r zMmBTZwE;K&8L*v9r~==cKuDg1SU)y$wku;_j(|F0<&*&pOLmES4s*$@w-M0uNG-T4 zq-pf%T$+;*c049q+1XZMikE3J>Du`%Jdk9n8IG;f3av zacX9qe_*QLef}j`shZb{(%;M&Y6&%xBa4RujChl*ja0`3n<*ny_LkgJdnfC3$DoM? zMym?1-nG-@1EAsWLHGLMGJnm|*ll)DJ|*fdS~3>u)vyfEX4}qwXbM`o4OKylKL~4& zWPLi8vW2X2dSZpgOaiL&a3lEcUHXjN$tYzCY;BAb*22!hY;GA|P}fbyjwIYiz1dPC z8NcKFY{^@G`(@#cBWaB*p(*n)&}G852WluLY4>IkBrjNr8#6ZxrrI2sP(kDc(@3$<#X4eZ!NucZiIGh zjp*)<5Km~B;20feR~OE7pM0v3-cDo+8c){jW6Rs^mOF$yWcu}>WC)=Q(IfZ=gzghB1M z(qH@&%QJQh_V^=E84iJEwdxoIQoZq)<;wcv;Uz@XB)9YGgP`f7z9V^Ddr!#OE(JdVhRv_;%=;C3s5h~{u^_dlp6B1mu z?4aR~o-kxKILlhkt)rIdp#pcQ(|U8dw3zOXcA>{3A9C7-t+W92c`>PgUENiH&)^5; z?Y)i%=gfuF71eAEid3u|YU#e?KxWZ+@8Ax|jZeBB#c8p44#C~UA&l~g3JeQ|w~u8E zX8gKVB5py|?x7Q*WhJ=PeH&{A)=!vfVzpa47{EtJwmX7eqE~B7=LWXpxLvJ7H#=nC z%ct>t-$;J*sL5==-m4{xhbuq{tZfp3#p;Zs5qHI200uL%>PRX+lP~iA6c)M2Zr`O+ zl#1_lEKk}bp1KZ}$qSz}e=a=%G?=Wtlm?(FMP-n9vSx@U8YTW%lbI&(Rc)L{y9trw zIj0EecB&9jnr46&wru-{x*a*bHxD$Q>uIHxkxiKkfXDB0o#zMhKyfyHwyceCOWh9E z*EHpPzZ#rCw$U!_Y?awkGIJM-qlt%}R*0wh=%9JST6WlBjLmvS+>2C7$<_T9d$fjJ z(glk8&u7$MVeNpMWJa3v-hyc{;$m3)t|d zNb*po9no}-zis4^B~R$hjJ`JaX?65Ul=epdj^D%ZMmE`_LeD7GuH8vEyY4jhxdcqm zvJt^2uf`A$Q&UGz)d1w`^2)yJbZSSb+|3{=CtUp9>u!T67y%d+9hLU6 zfdnLdIuJ8(c_{X4d7wwluHA_8LGnW5$-gBjQP8z_M$Y)>jpxVU^Ldofe^1&~t_bee zdk&|65PS=_sk=!O=D9+A^U#>Bb5pj<9*~8v=viYqH&}1^$`zMTRvJx8g^XOWl>2QC zukLz~M;xnU)oe|sOq#oSee{X+d}mMN)a9Hfj!{*98$X0~*D?N>wxJ7<^&R?D61FJjMwh||MNi%q_5ITE>I(q z>+Fbc7;#&t-Ur;kCB?4$^J~_Mpuij`-tCZL2o2>aH(p0QtZVg2y`r0Aap*7-dfX! z`obMy?vE;_rnaTHEW0P{iO#~IpSw*fb|#4LD}6C_EK_xJF+_61342D{xErvtKtnu2 z14@N6*{q-fL$>3<;@e8}LjPRMHx=!k3G=pXi(Yc<{NK-rd9D{YH*_=-H5CN^{{t4Sw2Y^RDstT&9@8{{kOuQQEHo99gp_TMZI7~S5^ zZ`6UOf~r$d!=~v#Y~6@qhvNsO2zPHpEfd05n}6Ys5j^1?Cmk-G6@=LQGcc55Y$8zW z9y#hSZhXM(BEeS!X%2lcef$CO*1?BL#8--#)VfTUUNo$Df^wmMyZ2lu0rD(;lE zd#$3j>!^wIGH-DEAsJ`bQiuk<-MSEobACO3arp&R6w!K1O-drn_-+ zMrggyByJ}ucB*xE6igVm8=b0436A27t6%4Vu7g6UZv~_>K#gF46Ydg2$>8;UDw@0B~ zZ0of#Add6)xae_-;)n7}bSiRVZ{L|W4U-;9Tc=CQ(B1Sx`2>vNC1Mt#)?x~3lp({h pws#UStRM(|Ws9tmJB7#av*P+cZwj<-ex^Fte)jsQ;m44N{|D|DO$7h| diff --git a/src/images/sample-product-thumbnail.png b/src/images/sample-product-thumbnail.png deleted file mode 100644 index 8ad985e3ed9a083ef77288032c9c9a5a49ca7a9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70987 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 From 9f8b272c98b45dc72e93621463918f3c0a8d38f7 Mon Sep 17 00:00:00 2001 From: dominik-zeglen Date: Tue, 16 Jun 2020 11:01:32 +0200 Subject: [PATCH 052/120] Add missing eslintrc file --- .eslintrc | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 1 + 2 files changed, 77 insertions(+) create mode 100644 .eslintrc diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000000..47bfb409b7 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,76 @@ +{ + "extends": [ + "airbnb-typescript", + "prettier", + "prettier/react", + "plugin:import/errors", + "plugin:import/typescript" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": "./tsconfig.json" + }, + "plugins": ["@typescript-eslint", "import", "react", "prettier"], + "rules": { + "@typescript-eslint/camelcase": "off", + "@typescript-eslint/indent": "off", + "@typescript-eslint/quotes": "off", + "comma-spacing": "off", + "import/no-cycle": "off", + "import/no-extraneous-dependencies": [ + "error", + { + "devDependencies": [ + "**/stories.tsx", + "**/test.ts", + "**/*.test.ts", + "**/test.tsx", + "**/tests.tsx", + "config/**/*", + "*.config.js", + "src/@next/pages/baseStory.ts" + ] + } + ], + "import/no-internal-modules": "off", + "import/no-named-as-default": "off", + "import/order": "error", + "import/prefer-default-export": "off", + "no-nested-ternary": "off", + "prettier/prettier": ["error"], + "react/jsx-one-expression-per-line": "off", + "react/jsx-props-no-spreading": "off", + "react/jsx-wrap-multilines": "off", + "react/prop-types": "off", + "sort-imports": "off", + "no-underscore-dangle": "off", + "react/state-in-constructor": "off", + "react/static-property-placement": "off", + + "sort-keys": "off", + "no-prototype-builtins": "off", + "no-shadow": "off", + "jsx-a11y/click-events-have-key-events": "off", + "consistent-return": "off", + "react/no-this-in-sfc": "off", + "array-callback-return": "off", + "no-plusplus": "off", + "react/no-did-update-set-state": "off", + "jsx-a11y/no-static-element-interactions": "off", + "react/destructuring-assignment": "off", + "react/button-has-type": "off", + "@typescript-eslint/no-use-before-define": "off", + "no-useless-escape": "off", + "jsx-a11y/no-noninteractive-element-interactions": "off", + "react/no-array-index-key": "off", + "no-param-reassign": "off", + "no-empty-pattern": "off", + "no-restricted-globals": "off", + "@typescript-eslint/no-unused-vars": "off" + }, + "settings": { + "import/resolver": { + "typescript": {} + } + } +} diff --git a/.gitignore b/.gitignore index 834975e9dd..cb7ce54645 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ !.dockerignore !.storybook !.circle +!.eslintrc !.gitignore !.github !.babelrc From 01305db21a4fb720b7eab2318eab093e8fb6a1ea Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Mon, 22 Jun 2020 11:14:33 +0200 Subject: [PATCH 053/120] fix input autofill styles in Address form --- src/@next/components/atoms/Input/Input.tsx | 1 + src/@next/components/atoms/Input/styles.ts | 9 +++++- .../components/atoms/InputLabel/index.ts | 1 + .../components/atoms/InputLabel/styles.ts | 32 +++++++++++++------ 4 files changed, 33 insertions(+), 10 deletions(-) diff --git a/src/@next/components/atoms/Input/Input.tsx b/src/@next/components/atoms/Input/Input.tsx index b4f25c5cb1..15c30249c1 100755 --- a/src/@next/components/atoms/Input/Input.tsx +++ b/src/@next/components/atoms/Input/Input.tsx @@ -66,6 +66,7 @@ export const Input: React.FC = ({ onBlur={handleBlur} disabled={disabled} onChange={onChange} + labelBackground={labelBackground} /> {label && ( ` padding: 0.8rem 1rem; margin: 0; border: none; @@ -61,4 +62,10 @@ export const Input = styled.input` font-size: ${props => props.theme.typography.baseFontSize}; outline: none; background-color: transparent; + background: gold; + &:-webkit-autofill { + & + label { + ${props => activeLabelStyles(props.theme, props.labelBackground)}; + } + } `; diff --git a/src/@next/components/atoms/InputLabel/index.ts b/src/@next/components/atoms/InputLabel/index.ts index 5fd3dff705..b41b1a91bd 100755 --- a/src/@next/components/atoms/InputLabel/index.ts +++ b/src/@next/components/atoms/InputLabel/index.ts @@ -1 +1,2 @@ export * from "./InputLabel"; +export { activeLabelStyles } from "./styles"; diff --git a/src/@next/components/atoms/InputLabel/styles.ts b/src/@next/components/atoms/InputLabel/styles.ts index a8deaf746e..acb36b5665 100755 --- a/src/@next/components/atoms/InputLabel/styles.ts +++ b/src/@next/components/atoms/InputLabel/styles.ts @@ -1,19 +1,33 @@ -import { styled } from "@styles"; +import { styled, DefaultTheme } from "@styles"; + +export const activeLabelStyles = ( + theme: DefaultTheme, + labelBackground: string | null +) => ` + left: 0.5rem; + padding: 0 0.5rem; + font-size: ${theme.input.labelFontSize}; + top: 0; + background-color: ${labelBackground}; +`; + +const labelStyles = (theme: DefaultTheme) => ` + left: 1rem; + padding: 0rem; + font-size: ${theme.typography.baseFontSize}; + top: 50%; + background-color: transparent; +`; export const Label = styled.label<{ active: boolean; labelBackground: string | null; }>` position: absolute; - left: ${props => (props.active ? "0.5rem" : "1rem")}; - padding: 0 ${props => (props.active ? 0.5 : 0)}rem; - background-color: ${props => - props.active ? props.labelBackground : "transparent"}; - font-size: ${props => + ${props => props.active - ? props.theme.input.labelFontSize - : props.theme.typography.baseFontSize}; - top: ${props => (props.active ? 0 : "50%")}; + ? activeLabelStyles(props.theme, props.labelBackground) + : labelStyles(props.theme)}; transform: translateY(-50%); transition: all 0.3s ease, color 0s; pointer-events: none; From 34e6cf2a583a5d0c71417969930a8cbf4ec7b82a Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Mon, 22 Jun 2020 11:35:47 +0200 Subject: [PATCH 054/120] remove unneeded background color in Input --- src/@next/components/atoms/Input/styles.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/@next/components/atoms/Input/styles.ts b/src/@next/components/atoms/Input/styles.ts index 2f9519c0c1..d618844cdf 100644 --- a/src/@next/components/atoms/Input/styles.ts +++ b/src/@next/components/atoms/Input/styles.ts @@ -62,7 +62,6 @@ export const Input = styled.input<{ labelBackground: string | null }>` font-size: ${props => props.theme.typography.baseFontSize}; outline: none; background-color: transparent; - background: gold; &:-webkit-autofill { & + label { ${props => activeLabelStyles(props.theme, props.labelBackground)}; From a48a0aaf6cf1e766d37703afa7a97d6764c61ca3 Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Mon, 22 Jun 2020 11:49:33 +0200 Subject: [PATCH 055/120] update snapshots --- .../Input/__snapshots__/stories.storyshot | 32 +++++++++++++++++++ .../components/atoms/InputLabel/styles.ts | 8 ++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/src/@next/components/atoms/Input/__snapshots__/stories.storyshot b/src/@next/components/atoms/Input/__snapshots__/stories.storyshot index b0670009da..52be48afc6 100644 --- a/src/@next/components/atoms/Input/__snapshots__/stories.storyshot +++ b/src/@next/components/atoms/Input/__snapshots__/stories.storyshot @@ -67,6 +67,14 @@ exports[`Storyshots @components/atoms/Input default 1`] = ` background-color: transparent; } +.c3:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} +

    @@ -164,6 +172,14 @@ exports[`Storyshots @components/atoms/Input disabled 1`] = ` background-color: transparent; } +.c3:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} +
    @@ -261,6 +277,14 @@ exports[`Storyshots @components/atoms/Input error 1`] = ` background-color: transparent; } +.c3:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} +
    @@ -369,6 +393,14 @@ exports[`Storyshots @components/atoms/Input with value 1`] = ` background-color: transparent; } +.c3:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} +
    diff --git a/src/@next/components/atoms/InputLabel/styles.ts b/src/@next/components/atoms/InputLabel/styles.ts index acb36b5665..8dcbedf3e3 100755 --- a/src/@next/components/atoms/InputLabel/styles.ts +++ b/src/@next/components/atoms/InputLabel/styles.ts @@ -5,18 +5,18 @@ export const activeLabelStyles = ( labelBackground: string | null ) => ` left: 0.5rem; - padding: 0 0.5rem; + padding: 0 0.5rem; + background-color: ${labelBackground}; font-size: ${theme.input.labelFontSize}; top: 0; - background-color: ${labelBackground}; `; const labelStyles = (theme: DefaultTheme) => ` left: 1rem; - padding: 0rem; + padding: 0 0rem; + background-color: transparent; font-size: ${theme.typography.baseFontSize}; top: 50%; - background-color: transparent; `; export const Label = styled.label<{ From 95a8a538deae2998f9bc8eb3032c2485560c8f06 Mon Sep 17 00:00:00 2001 From: AlicjaSzu Date: Mon, 22 Jun 2020 13:30:05 +0200 Subject: [PATCH 056/120] fix failing tests --- src/@next/components/atoms/Input/styles.ts | 2 +- .../__snapshots__/stories.storyshot | 8 +++++ .../TextField/__snapshots__/stories.storyshot | 32 +++++++++++++++++++ .../__snapshots__/stories.storyshot | 24 ++++++++++++++ .../__snapshots__/stories.storyshot | 8 +++++ .../CartRow/__snapshots__/stories.storyshot | 8 +++++ .../__snapshots__/stories.storyshot | 8 +++++ .../__snapshots__/stories.storyshot | 8 +++++ .../__snapshots__/stories.storyshot | 24 ++++++++++++++ .../__snapshots__/stories.storyshot | 8 +++++ 10 files changed, 129 insertions(+), 1 deletion(-) diff --git a/src/@next/components/atoms/Input/styles.ts b/src/@next/components/atoms/Input/styles.ts index d618844cdf..de38386186 100644 --- a/src/@next/components/atoms/Input/styles.ts +++ b/src/@next/components/atoms/Input/styles.ts @@ -1,5 +1,5 @@ import { DefaultTheme, styled } from "@styles"; -import { activeLabelStyles } from "@components/atoms/InputLabel"; +import { activeLabelStyles } from "../InputLabel"; type WrapperProps = { active: boolean; diff --git a/src/@next/components/molecules/ResetPasswordForm/__snapshots__/stories.storyshot b/src/@next/components/molecules/ResetPasswordForm/__snapshots__/stories.storyshot index 0565a3c49b..81181ff0ef 100644 --- a/src/@next/components/molecules/ResetPasswordForm/__snapshots__/stories.storyshot +++ b/src/@next/components/molecules/ResetPasswordForm/__snapshots__/stories.storyshot @@ -106,6 +106,14 @@ exports[`Storyshots @components/molecules/ResetPasswordForm default 1`] = ` background-color: transparent; } +.c6:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c3 { margin-bottom: 1.875rem; position: relative; diff --git a/src/@next/components/molecules/TextField/__snapshots__/stories.storyshot b/src/@next/components/molecules/TextField/__snapshots__/stories.storyshot index 714a9463d8..ddd7a7ddbb 100644 --- a/src/@next/components/molecules/TextField/__snapshots__/stories.storyshot +++ b/src/@next/components/molecules/TextField/__snapshots__/stories.storyshot @@ -67,6 +67,14 @@ exports[`Storyshots @components/molecules/TextField default 1`] = ` background-color: transparent; } +.c4:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c1 { margin-bottom: 1.875rem; position: relative; @@ -193,6 +201,14 @@ exports[`Storyshots @components/molecules/TextField with content left 1`] = ` background-color: transparent; } +.c5:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c1 { margin-bottom: 1.875rem; position: relative; @@ -326,6 +342,14 @@ exports[`Storyshots @components/molecules/TextField with content right 1`] = ` background-color: transparent; } +.c4:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c1 { margin-bottom: 1.875rem; position: relative; @@ -457,6 +481,14 @@ exports[`Storyshots @components/molecules/TextField with errors 1`] = ` background-color: transparent; } +.c4:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c1 { margin-bottom: 1.875rem; position: relative; diff --git a/src/@next/components/organisms/AddressForm/__snapshots__/stories.storyshot b/src/@next/components/organisms/AddressForm/__snapshots__/stories.storyshot index 2c6bbc4288..938f34cf69 100644 --- a/src/@next/components/organisms/AddressForm/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/AddressForm/__snapshots__/stories.storyshot @@ -75,6 +75,14 @@ exports[`Storyshots @components/organisms/AddressForm default 1`] = ` background-color: transparent; } +.c8:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c13 { position: absolute; right: 1rem; @@ -666,6 +674,14 @@ exports[`Storyshots @components/organisms/AddressForm with errors 1`] = ` background-color: transparent; } +.c8:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c16 { position: absolute; right: 1rem; @@ -1267,6 +1283,14 @@ exports[`Storyshots @components/organisms/AddressForm with partial data 1`] = ` background-color: transparent; } +.c8:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c13 { position: absolute; right: 1rem; diff --git a/src/@next/components/organisms/BraintreePaymentGateway/__snapshots__/stories.storyshot b/src/@next/components/organisms/BraintreePaymentGateway/__snapshots__/stories.storyshot index 3afb133d02..bae753f6ab 100644 --- a/src/@next/components/organisms/BraintreePaymentGateway/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/BraintreePaymentGateway/__snapshots__/stories.storyshot @@ -67,6 +67,14 @@ exports[`Storyshots @components/organisms/BraintreePaymentGateway default 1`] = background-color: transparent; } +.c7:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c4 { margin-bottom: 1.875rem; position: relative; diff --git a/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot b/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot index f9a6a3ce7b..c483803798 100644 --- a/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot @@ -120,6 +120,14 @@ exports[`Storyshots @components/organisms/CartRow default 1`] = ` background-color: transparent; } +.c13:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c10 { margin-bottom: 1.875rem; position: relative; diff --git a/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot b/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot index 8307336d1c..2daa45949e 100644 --- a/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot @@ -105,6 +105,14 @@ exports[`Storyshots @components/organisms/CheckoutAddress default 1`] = ` background-color: transparent; } +.c8:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c13 { position: absolute; right: 1rem; diff --git a/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot b/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot index 7633a38280..41bfd8c7ee 100644 --- a/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot @@ -178,6 +178,14 @@ exports[`Storyshots @components/organisms/CheckoutPayment default 1`] = ` background-color: transparent; } +.c12:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c22 { cursor: pointer; } diff --git a/src/@next/components/organisms/CreditCardForm/__snapshots__/stories.storyshot b/src/@next/components/organisms/CreditCardForm/__snapshots__/stories.storyshot index e953e3f792..856e313919 100644 --- a/src/@next/components/organisms/CreditCardForm/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CreditCardForm/__snapshots__/stories.storyshot @@ -67,6 +67,14 @@ exports[`Storyshots @components/organisms/CreditCardForm default 1`] = ` background-color: transparent; } +.c6:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c3 { margin-bottom: 1.875rem; position: relative; @@ -319,6 +327,14 @@ exports[`Storyshots @components/organisms/CreditCardForm disabled 1`] = ` background-color: transparent; } +.c6:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c3 { margin-bottom: 1.875rem; position: relative; @@ -600,6 +616,14 @@ exports[`Storyshots @components/organisms/CreditCardForm error 1`] = ` background-color: transparent; } +.c6:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c3 { margin-bottom: 1.875rem; position: relative; diff --git a/src/@next/components/organisms/DiscountForm/__snapshots__/stories.storyshot b/src/@next/components/organisms/DiscountForm/__snapshots__/stories.storyshot index 1d39a8f03c..23fdeac289 100644 --- a/src/@next/components/organisms/DiscountForm/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/DiscountForm/__snapshots__/stories.storyshot @@ -106,6 +106,14 @@ exports[`Storyshots @components/organisms/DiscountForm default 1`] = ` background-color: transparent; } +.c6:-webkit-autofill + label { + left: 0.5rem; + padding: 0 0.5rem; + background-color: transparent; + font-size: 0.75rem; + top: 0; +} + .c1 { margin-bottom: 1rem; } From 2c4633aafe1eead12ed7bf898d45914b141e258b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Thu, 18 Jun 2020 20:52:06 +0200 Subject: [PATCH 057/120] Add config --- babel.config.js | 50 +- locale/defaultMessages.json | 1 + package-lock.json | 912 +++++++++++++++++++++++++++++++++++- package.json | 16 +- scripts/transpile-tx.js | 43 ++ tsconfig.json | 4 +- tslint.json | 3 + 7 files changed, 991 insertions(+), 38 deletions(-) create mode 100644 locale/defaultMessages.json create mode 100644 scripts/transpile-tx.js diff --git a/babel.config.js b/babel.config.js index ab9fa932db..4d06401735 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,13 +1,51 @@ -module.exports = { - presets: [ +module.exports = api => { + const isExtract = api.env("extract"); + const isTest = api.env("test"); + const isStorybook = api.env("storybook"); + + const ignore = + isTest || isStorybook + ? [] + : ["**/*.test.ts", "**/*.test.tsx", "src/storybook"]; + const presets = [ "@babel/preset-env", "@babel/preset-react", - "@babel/preset-typescript", - ], - plugins: [ + [ + "@babel/preset-typescript", + { + allowNamespaces: true, + }, + ], + ]; + const plugins = [ "@babel/plugin-syntax-dynamic-import", "transform-class-properties", "@babel/transform-runtime", "@babel/plugin-proposal-optional-chaining", - ], + [ + "react-intl-auto", + { + filebase: true, + includeExportName: "all", + removePrefix: "src/", + }, + ], + ]; + if (isExtract) { + plugins.push([ + "react-intl", + { + extractFromFormatMessageCall: true, + messagesDir: "dist/locale/", + }, + ]); + } + + plugins.push("macros"); + + return { + ignore, + plugins, + presets, + }; }; diff --git a/locale/defaultMessages.json b/locale/defaultMessages.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/locale/defaultMessages.json @@ -0,0 +1 @@ +{} diff --git a/package-lock.json b/package-lock.json index e51a2890f2..8f531584c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -61,6 +61,53 @@ "@apollographql/graphql-language-service-types": "^2.0.0" } }, + "@babel/cli": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.10.1.tgz", + "integrity": "sha512-cVB+dXeGhMOqViIaZs3A9OUAe4pKw4SBNdMw6yHJMYR7s4TB+Cei7ThquV/84O19PdIFWuwe03vxxES0BHUm5g==", + "dev": true, + "requires": { + "chokidar": "^2.1.8", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.13", + "make-dir": "^2.1.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + } + } + }, "@babel/code-frame": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", @@ -1252,6 +1299,12 @@ "@babel/types": "^7.4.4" } }, + "@babel/helper-validator-identifier": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", + "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==", + "dev": true + }, "@babel/helper-wrap-function": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", @@ -3060,6 +3113,53 @@ "tslib": "^1" } }, + "@formatjs/intl-displaynames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-2.2.6.tgz", + "integrity": "sha512-rhUf6f/A1ztx81mR0xC9qPMrcbzGORxCwSaawicDnBTrrqZPaUYcTjIa54AvF1ODRoMMdG60s5X/5GSP7vcvmA==", + "requires": { + "@formatjs/intl-utils": "^3.3.1" + } + }, + "@formatjs/intl-listformat": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-2.2.6.tgz", + "integrity": "sha512-drQKHa3aOJkp6BnMBfjbSNVPJLlLs1QU93KYtvDhtBHXuvY8mEZv1xdboC0gRET582jh7TGFwwf9c74IfL7v4A==", + "requires": { + "@formatjs/intl-utils": "^3.3.1" + } + }, + "@formatjs/intl-numberformat": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/intl-numberformat/-/intl-numberformat-4.2.6.tgz", + "integrity": "sha512-LcV9pJ5XiiNwt3kbhsWIbeLd3zQZejs3iE3q98HiuV3yx9fAJR0I7n3XF67KCvIW64+hpo5V831EAbGvwhUUmQ==", + "requires": { + "@formatjs/intl-utils": "^3.3.1" + } + }, + "@formatjs/intl-relativetimeformat": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-5.2.6.tgz", + "integrity": "sha512-UPCY7IoyeqieUxdbfhINVjbCGXCzRr4xZpoiNsr1da4Fwm4uV6l53OXsx1zDRXoiNmMtDuKCKkRzlSfBL89L1g==", + "requires": { + "@formatjs/intl-utils": "^3.3.1" + } + }, + "@formatjs/intl-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@formatjs/intl-utils/-/intl-utils-3.3.1.tgz", + "integrity": "sha512-7AAicg2wqCJQ+gFEw5Nxp+ttavajBrPAD1HDmzA4jzvUCrF5a2NCJm/c5qON3VBubWWF2cu8HglEouj2h/l7KQ==", + "requires": { + "emojis-list": "^3.0.0" + }, + "dependencies": { + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + } + } + }, "@hapi/address": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.0.0.tgz", @@ -11368,6 +11468,15 @@ "integrity": "sha512-9ARxZRyXXCMMf8KjYhnD+GHE789HGwIqa1dolCRl/C6ExwvBIUmnIktLeY71TPmFOQiU3DQwrbQEX0pkyqX1tQ==", "dev": true }, + "@types/fs-extra": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.1.tgz", + "integrity": "sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/glob": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", @@ -11409,6 +11518,25 @@ "integrity": "sha512-ui3WwXmjTaY73fOQ3/m3nnajU/Orhi6cEu5rzX+BrAAJxa3eITXZ5ch9suPqtM03OWhAHhPSyBGCN4UKoxO20Q==", "dev": true }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + } + } + }, "@types/inquirer": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-6.0.1.tgz", @@ -11430,6 +11558,11 @@ } } }, + "@types/invariant": { + "version": "2.2.33", + "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.33.tgz", + "integrity": "sha512-/jUNmS8d4bCKdqslfxW6dg/9Gksfzxz67IYfqApHn+HvHlMVXwYv2zpTDnS/yaK9BB0i0GlBTaYci0EFE62Hmw==" + }, "@types/is-function": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/is-function/-/is-function-1.0.0.tgz", @@ -11561,8 +11694,7 @@ "@types/prop-types": { "version": "15.7.1", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.1.tgz", - "integrity": "sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==", - "dev": true + "integrity": "sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==" }, "@types/q": { "version": "1.5.2", @@ -11584,7 +11716,6 @@ "version": "16.9.17", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.17.tgz", "integrity": "sha512-UP27In4fp4sWF5JgyV6pwVPAQM83Fj76JOcg02X5BZcpSu5Wx+fP9RMqc2v0ssBoQIFvD5JdKY41gjJJKmw6Bg==", - "dev": true, "requires": { "@types/prop-types": "*", "csstype": "^2.2.0" @@ -11732,6 +11863,15 @@ "@types/react": "*" } }, + "@types/schema-utils": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/schema-utils/-/schema-utils-2.4.0.tgz", + "integrity": "sha512-454hrj5gz/FXcUE20ygfEiN4DxZ1sprUo0V1gqIqkNZ/CzoEzAZEll2uxMsuyz6BYjiQan4Aa65xbTemfzW9hQ==", + "dev": true, + "requires": { + "schema-utils": "*" + } + }, "@types/sinon": { "version": "7.5.1", "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-7.5.1.tgz", @@ -13982,6 +14122,12 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -14573,6 +14719,612 @@ } } }, + "babel-plugin-react-intl": { + "version": "7.5.20", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-7.5.20.tgz", + "integrity": "sha512-EErRfgizYKJzXxQ0x5O8QUBhsHm3xPIoboJi1Ls7BRFS8xkVDTQEBvffzdDU9SZ5Tt/kjAM55zGLlPYHZDlgpg==", + "dev": true, + "requires": { + "@babel/core": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/types": "^7.9.5", + "@types/babel__core": "^7.1.7", + "@types/fs-extra": "^8.1.0", + "@types/schema-utils": "^2.4.0", + "fs-extra": "^9.0.0", + "intl-messageformat-parser": "^5.1.3", + "schema-utils": "^2.6.6" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/core": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.2.tgz", + "integrity": "sha512-KQmV9yguEjQsXqyOUGKjS4+3K8/DlOCE2pZcq4augdQmtTy5iv5EHtmMSJ7V4c1BIPjuwtZYqYLCq9Ga+hGBRQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.2", + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helpers": "^7.10.1", + "@babel/parser": "^7.10.2", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.2", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", + "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz", + "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz", + "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-module-transforms": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", + "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-simple-access": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz", + "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz", + "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", + "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", + "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", + "dev": true, + "requires": { + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helpers": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", + "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", + "dev": true, + "requires": { + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/traverse": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", + "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@types/babel__core": { + "version": "7.1.8", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.8.tgz", + "integrity": "sha512-KXBiQG2OXvaPWFPDS1rD8yV9vO0OuWIqAEqLsbfX0oU2REN5KuoMnZ1gClWcBhO5I3n6oTVAmrMufOvRqdmFTQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "intl-messageformat-parser": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-5.1.3.tgz", + "integrity": "sha512-bWuXkK4wzOKNHdqDHCw4+8+nKENtDs3E60hpUnh/6MXvZ0dfOtHA2LSIBLTkkE2h5Ir3V4XByW/8Bj1MBI5Ucw==", + "dev": true, + "requires": { + "@formatjs/intl-numberformat": "^4.2.6" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + } + } + }, + "babel-plugin-react-intl-auto": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl-auto/-/babel-plugin-react-intl-auto-3.3.0.tgz", + "integrity": "sha512-08ZyGWtKrQY/rMNfdvrWPBsjqx+8CirqV4/JUM46FAS2aU98Mi/uWM60K6Wg6Zapdyqs3fCbQ8S4OfqMPsBiqQ==", + "dev": true, + "requires": { + "@babel/core": "^7.9.0", + "@babel/traverse": "^7.9.0", + "@babel/types": "^7.9.0", + "murmurhash3js": "^3.0.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/core": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.2.tgz", + "integrity": "sha512-KQmV9yguEjQsXqyOUGKjS4+3K8/DlOCE2pZcq4augdQmtTy5iv5EHtmMSJ7V4c1BIPjuwtZYqYLCq9Ga+hGBRQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.2", + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helpers": "^7.10.1", + "@babel/parser": "^7.10.2", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.2", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", + "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz", + "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz", + "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-module-transforms": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", + "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-simple-access": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz", + "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-replace-supers": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", + "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", + "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", + "dev": true, + "requires": { + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helpers": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", + "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", + "dev": true, + "requires": { + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/traverse": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", + "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, "babel-plugin-require-context-hook": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-require-context-hook/-/babel-plugin-require-context-hook-1.0.0.tgz", @@ -14945,8 +15697,7 @@ "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" }, "bignumber.js": { "version": "2.4.0", @@ -18938,8 +19689,7 @@ "dom-walk": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", - "dev": true + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" }, "domain-browser": { "version": "1.2.0", @@ -19195,8 +19945,7 @@ "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" }, "emotion": { "version": "9.2.12", @@ -21963,6 +22712,17 @@ "klaw": "^1.0.0", "path-is-absolute": "^1.0.0", "rimraf": "^2.2.8" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } } } @@ -22421,6 +23181,12 @@ "minipass": "^2.2.1" } }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, "fs-vacuum": { "version": "1.2.10", "resolved": "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.10.tgz", @@ -22470,6 +23236,17 @@ "inherits": "~2.0.0", "mkdirp": ">=0.5 0", "rimraf": "2" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, "function-bind": { @@ -22816,7 +23593,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "dev": true, "requires": { "min-document": "^2.19.0", "process": "~0.5.1" @@ -22825,8 +23601,7 @@ "process": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", - "dev": true + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" } } }, @@ -24577,6 +25352,11 @@ "resolved": "https://registry.npmjs.org/intl/-/intl-1.2.5.tgz", "integrity": "sha1-giRKIZDE5Bn4Nx9ao02qNCDiq94=" }, + "intl-format-cache": { + "version": "4.2.38", + "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-4.2.38.tgz", + "integrity": "sha512-2jezJUaVUcNfgdllfjnZIkIrweLpMwouT4rTSyUk2Ig/6+O7PjZQPIIwkywSjnwVpTAXBj5VEkig+4z+c4trjg==" + }, "intl-messageformat": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-4.4.0.tgz", @@ -30139,7 +30919,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, "requires": { "big.js": "^3.1.3", "emojis-list": "^2.0.0", @@ -30149,8 +30928,7 @@ "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" } } }, @@ -31020,7 +31798,6 @@ "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dev": true, "requires": { "dom-walk": "^0.1.0" } @@ -31335,6 +32112,12 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, + "murmurhash3js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", + "integrity": "sha1-Ppg+W0fCoG9DpxMXTn5DXKBEuZg=", + "dev": true + }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", @@ -31478,6 +32261,15 @@ "which": "1" }, "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, "semver": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", @@ -32121,6 +32913,17 @@ "semver": "~5.3.0", "tar": "^4.4.8", "which": "1" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, "resolve-from": { @@ -36736,7 +37539,6 @@ "version": "4.9.0", "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.9.0.tgz", "integrity": "sha512-1N6MWV9++qYWrrs41MRhxATwyx743tr8RpeyL1VOZ54zsU8fOx4slYreHZ8v2BDGVfy+dJ0myJZrJA9/26RlCA==", - "dev": true, "requires": { "fast-levenshtein": "^2.0.6", "global": "^4.3.0", @@ -36753,7 +37555,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", - "dev": true, "requires": { "react-is": "^16.7.0" } @@ -36761,8 +37562,7 @@ "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" } } }, @@ -36819,6 +37619,64 @@ "tiny-invariant": "^1.0.6" } }, + "react-intl": { + "version": "4.6.9", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-4.6.9.tgz", + "integrity": "sha512-2LNXxCVWFm1dz9C+gsOkbS1mIVeANUXA9Qc7vFOOZVEOHOtpSMfPI2FXHINBOSi4Vk4UTlmfgSzfTik6EMtb+Q==", + "requires": { + "@formatjs/intl-displaynames": "^2.2.6", + "@formatjs/intl-listformat": "^2.2.6", + "@formatjs/intl-numberformat": "^4.2.6", + "@formatjs/intl-relativetimeformat": "^5.2.6", + "@formatjs/intl-utils": "^3.3.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/invariant": "^2.2.31", + "hoist-non-react-statics": "^3.3.2", + "intl-format-cache": "^4.2.38", + "intl-messageformat": "^8.3.23", + "intl-messageformat-parser": "^5.1.3", + "shallow-equal": "^1.2.1" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "intl-messageformat": { + "version": "8.3.23", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-8.3.23.tgz", + "integrity": "sha512-km3/LXz/fggXSbY/Ew6IKsL47v3gBrDDd0QYtesTaxK1zeRLrBwJksXmk4R4dJua9P8zGLT+wBsao4UvViKkVA==", + "requires": { + "intl-format-cache": "^4.2.38", + "intl-messageformat-parser": "^5.1.3" + } + }, + "intl-messageformat-parser": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-5.1.3.tgz", + "integrity": "sha512-bWuXkK4wzOKNHdqDHCw4+8+nKENtDs3E60hpUnh/6MXvZ0dfOtHA2LSIBLTkkE2h5Ir3V4XByW/8Bj1MBI5Ucw==", + "requires": { + "@formatjs/intl-numberformat": "^4.2.6" + } + } + } + }, + "react-intl-translations-manager": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/react-intl-translations-manager/-/react-intl-translations-manager-5.0.3.tgz", + "integrity": "sha512-EfBeugnOGFcdUbQyY9TqBMbuauQ8wm73ZqFr0UqCljhbXl7YDHQcVzclWFRkVmlUffzxitLQFhAZEVVeRNQSwA==", + "dev": true, + "requires": { + "chalk": "^2.3.2", + "glob": "^7.1.2", + "json-stable-stringify": "^1.0.1", + "mkdirp": "^0.5.1" + } + }, "react-is": { "version": "16.12.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", @@ -38369,10 +39227,13 @@ } }, "rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", - "dev": true + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } }, "ripemd160": { "version": "2.0.2", @@ -38896,8 +39757,7 @@ "shallow-equal": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", - "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==", - "dev": true + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" }, "shallowequal": { "version": "1.1.0", diff --git a/package.json b/package.json index b9d0f9a657..6d1aa84975 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,6 @@ "@types/yup": "^0.26.27", "apollo": "^2.21.3", "apollo-cache-inmemory": "^1.5.1", - "react-number-format": "^3.6.2", "apollo-cache-persist": "^0.1.1", "apollo-client": "^2.5.1", "apollo-link": "^1.2.12", @@ -42,24 +41,26 @@ "js-base64": "^2.4.8", "lodash": "^4.17.15", "nuka-carousel": "^4.6.0", + "query-string": "^6.12.1", "react": "^16.9.9", "react-addons-css-transition-group": "^15.6.2", "react-alert": "^5.5.0", + "react-apollo": "^2.5.1", "react-dom": "^16.9.0", "react-gtm-module": "^2.0.8", "react-helmet": "^5.2.0", + "react-hot-loader": "^4.9.0", "react-intersection-observer": "^8.25.2", + "react-intl": "^4.6.9", "react-media": "^1.8.0", + "react-number-format": "^3.6.2", "react-responsive": "^7.0.0", "react-router": "^5.1.2", - "query-string": "^6.12.1", - "react-apollo": "^2.5.1", - "react-select": "^2.4.4", "react-router-dom": "^5.1.2", + "react-select": "^2.4.4", "react-svg": "^5.0.6", "react-transition-group": "^4.4.1", "register-service-worker": "^1.6.2", - "react-hot-loader": "^4.9.0", "reset-css": "^4.0.1", "styled-components": "^4.3.0", "typeface-montserrat": "0.0.54", @@ -68,6 +69,7 @@ "yup": "^0.28.0" }, "devDependencies": { + "@babel/cli": "^7.10.1", "@babel/core": "^7.4.5", "@babel/plugin-proposal-optional-chaining": "^7.8.3", "@babel/plugin-transform-runtime": "^7.5.5", @@ -116,6 +118,8 @@ "babel-core": "^7.0.0-bridge.0", "babel-jest": "^24.8.0", "babel-loader": "^8.0.6", + "babel-plugin-react-intl": "^7.5.20", + "babel-plugin-react-intl-auto": "^3.3.0", "babel-plugin-require-context-hook": "^1.0.0", "clean-webpack-plugin": "^3.0.0", "css-loader": "^1.0.0", @@ -152,8 +156,10 @@ "postcss-preset-env": "^5.3.0", "prettier": "^2.0.5", "react-docgen-typescript-loader": "^3.6.0", + "react-intl-translations-manager": "^5.0.3", "react-is": "^16.12.0", "react-test-renderer": "^16.9.0", + "rimraf": "^3.0.2", "sass-loader": "^7.1.0", "sitemap": "^2.2.0", "start-server-and-test": "^1.10.8", diff --git a/scripts/transpile-tx.js b/scripts/transpile-tx.js new file mode 100644 index 0000000000..efc410b9d6 --- /dev/null +++ b/scripts/transpile-tx.js @@ -0,0 +1,43 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const { + createSingleMessagesFile, + default: manageTranslations, +} = require("react-intl-translations-manager"); + +const dotSeparator = "_dot_"; +const sortKeys = true; +const translationsDirectory = "locale"; + +manageTranslations({ + messagesDirectory: "dist/locale/src", + overrideCoreMethods: { + outputSingleFile: combinedFiles => { + const msgDescriptors = combinedFiles.reduce( + (acc, messages) => [...acc, ...messages.descriptors], + [] + ); + const structuredJsonFormat = msgDescriptors.reduce((msgs, msg) => { + const key = msg.id.replace(/\./g, dotSeparator); + if (msgs[key] && msgs[key].context === undefined) { + msgs[key].context = msg.description; + } else { + msgs[key] = { + context: msg.description, + string: msg.defaultMessage, + }; + } + + return msgs; + }, {}); + + createSingleMessagesFile({ + directory: translationsDirectory, + messages: structuredJsonFormat, + sortKeys, + }); + }, + }, + singleMessagesFile: true, + sortKeys, + translationsDirectory, +}); diff --git a/tsconfig.json b/tsconfig.json index 5d74daca73..0ab7a76692 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,8 +24,10 @@ "@utils/*": ["./src/@next/utils/*"], "@hooks": ["./src/@next/hooks/index.ts"], "@hooks/*": ["./src/@next/hooks/*"], - "@types": ["./src/@next/types/index.ts"] + "@types": ["./src/@next/types/index.ts"], + "@locale/*": ["locale/*"] }, + "resolveJsonModule": true, "skipLibCheck": true }, "exclude": ["node_modules"] diff --git a/tslint.json b/tslint.json index 2079f0860a..a0a3fa473e 100644 --- a/tslint.json +++ b/tslint.json @@ -4,6 +4,9 @@ "tslint-config-prettier", "tslint-plugin-cypress" ], + "linterOptions": { + "exclude": ["*.json", "**/*.json"] + }, "rules": { "interface-name": false, "member-access": [true, "no-public"], From ea895860413ba7b230c16441db79d18826418d77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Thu, 18 Jun 2020 20:57:52 +0200 Subject: [PATCH 058/120] Add scripts --- package.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 6d1aa84975..49c654e844 100644 --- a/package.json +++ b/package.json @@ -213,6 +213,9 @@ "cy:open": "cypress open", "test:e2e:run": "start-server-and-test start http://localhost:3000 cy:run", "test:e2e:run:record": "start-server-and-test start http://localhost:3000 cy:run:record", - "test:e2e:dev": "start-server-and-test start http://localhost:3000 cy:open" + "test:e2e:dev": "start-server-and-test start http://localhost:3000 cy:open", + "extract-json-messages": "rimraf dist/locale && cross-env NODE_ENV=extract babel src 'src/**/*.{ts,tsx}' -o /dev/null", + "transpile-messages": "node scripts/transpile-tx.js", + "extract-messages": "npm run extract-json-messages && npm run transpile-messages" } } From b7330c1a5f6d5747355667697aaadaa4f9430882 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Mon, 22 Jun 2020 23:45:32 +0200 Subject: [PATCH 059/120] Add babel-loader to webpack --- config/webpack/config.base.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/webpack/config.base.js b/config/webpack/config.base.js index 6b723965fb..dd33917b26 100644 --- a/config/webpack/config.base.js +++ b/config/webpack/config.base.js @@ -26,6 +26,14 @@ module.exports = ({ sourceDir, distDir }) => ({ }, test: /\.tsx?$/, }, + { + exclude: /node_modules/, + loader: "babel-loader", + options: { + configFile: "./babel.config.js", + }, + test: /\.(jsx?|tsx?)$/, + }, { test: /\.(woff2?|ttf|eot)$/, use: [ From 34700f0f5d88fc5ffb3a8df522ef67ba85f9e0af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 00:03:10 +0200 Subject: [PATCH 060/120] Add LocaleProvider component --- src/components/Locale/Locale.tsx | 58 ++++++++++++++++++++++++++++++++ src/components/Locale/index.ts | 1 + 2 files changed, 59 insertions(+) create mode 100644 src/components/Locale/Locale.tsx create mode 100644 src/components/Locale/index.ts diff --git a/src/components/Locale/Locale.tsx b/src/components/Locale/Locale.tsx new file mode 100644 index 0000000000..273739c95d --- /dev/null +++ b/src/components/Locale/Locale.tsx @@ -0,0 +1,58 @@ +import React from "react"; +import { IntlProvider } from "react-intl"; + +import locale_PL from "@locale/pl.json"; + +export enum Locale { + EN = "en", + PL = "pl", +} + +interface StructuredMessage { + context?: string; + string: string; +} +type LocaleMessages = Record; +const localeData: Record = { + // Default language + [Locale.EN]: undefined, + [Locale.PL]: locale_PL, +}; + +export const localeNames: Record = { + [Locale.EN]: "English", + [Locale.PL]: "Polski", +}; + +const dotSeparator = "_dot_"; +const sepRegExp = new RegExp(dotSeparator, "g"); + +function getKeyValueJson(messages: LocaleMessages): Record { + if (messages) { + const keyValueMessages: Record = {}; + return Object.entries(messages).reduce((acc, [id, msg]) => { + acc[id.replace(sepRegExp, ".")] = msg.string; + return acc; + }, keyValueMessages); + } +} + +const defaultLocale = Locale.EN; + +const LocaleProvider: React.FC = ({ children }) => { + // For now locale can be set here + const locale = Locale.EN; + + return ( + + {children} + + ); +}; + +export { LocaleProvider }; diff --git a/src/components/Locale/index.ts b/src/components/Locale/index.ts new file mode 100644 index 0000000000..e3a67a9e1d --- /dev/null +++ b/src/components/Locale/index.ts @@ -0,0 +1 @@ +export * from "./Locale"; From 2de8ac81f699c2b9e1e62c639e973c90f709dccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 00:04:05 +0200 Subject: [PATCH 061/120] Use LocaleProvider --- src/index.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index b897f8424d..62949a6ef0 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -29,6 +29,7 @@ import { defaultTheme, GlobalStyle } from "@styles"; import { App } from "./app"; import { OverlayProvider } from "./components"; +import { LocaleProvider } from "./components/Locale"; import ShopProvider from "./components/ShopProvider"; import { apiUrl, @@ -168,8 +169,10 @@ const startApp = async () => { {...notificationOptions} > - - + + + + , From ffb36f61e16367d356c7951db6b5404e21ca212c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 00:46:38 +0200 Subject: [PATCH 062/120] Add default messages --- src/intl.ts | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 src/intl.ts diff --git a/src/intl.ts b/src/intl.ts new file mode 100644 index 0000000000..56074d2028 --- /dev/null +++ b/src/intl.ts @@ -0,0 +1,109 @@ +import { defineMessages } from "react-intl"; + +export const commonMessages = defineMessages({ + search: { + defaultMessage: "search", + }, + outOfStock: { + defaultMessage: "Out of stock", + }, + lowStock: { + defaultMessage: "Low stock", + }, + myAccount: { + defaultMessage: "My Account", + }, + orderHistory: { + defaultMessage: "Order history", + }, + addressBook: { + defaultMessage: "Address book", + }, + logOut: { + defaultMessage: "Log Out", + }, + firstName: { + defaultMessage: "First Name", + }, + lastName: { + defaultMessage: "Last Name", + }, + password: { + defaultMessage: "Password", + }, + quantity: { + defaultMessage: "Quantity", + }, + sku: { + defaultMessage: "SKU", + }, +}); + +export const checkoutMessages = defineMessages({ + stepNameAddress: { + defaultMessage: "Address", + }, + stepNameShipping: { + defaultMessage: "Shipping", + }, + stepNamePayment: { + defaultMessage: "Payment", + }, + stepNameReview: { + defaultMessage: "Review", + }, + addressNextActionName: { + defaultMessage: "Continue to Shipping", + }, + shippingNextActionName: { + defaultMessage: "Continue to Payment", + }, + paymentNextActionName: { + defaultMessage: "Continue to Review", + }, + reviewNextActionName: { + defaultMessage: "Place order", + }, + addNewAddress: { + defaultMessage: "Add new address", + }, + shippingMethod: { + defaultMessage: "SHIPPING METHOD", + }, + billingAddress: { + defaultMessage: "BILLING ADDRESS", + }, + paymentMethod: { + defaultMessage: "PAYMENT METHOD", + }, + reviewOrder: { + defaultMessage: "REVIEW ORDER", + }, + shippingAddress: { + defaultMessage: "Shipping Address", + }, +}); + +export const prodListHeaderCommonMsg = defineMessages({ + sortOptionsClear: { + defaultMessage: "Clear...", + }, + sortOptionsPrice: { + defaultMessage: "Price Low-High", + }, + sortOptionsPriceDsc: { + defaultMessage: "Price High-Low", + }, + sortOptionsName: { + defaultMessage: "Name Increasing", + }, + sortOptionsNameDsc: { + defaultMessage: "Name Decreasing", + }, + sortOptionsUpdatedAt: { + defaultMessage: "Last updated Ascending", + }, + sortOptionsUpdatedAtDsc: { + defaultMessage: "Last updated Descending", + }, +}); From e5d4f8ec742f1950002f6433dc6d5c4ae2446cd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 00:30:22 +0200 Subject: [PATCH 063/120] Translate root index --- src/index.tsx | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index 62949a6ef0..36d8345424 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -3,6 +3,7 @@ import * as Sentry from "@sentry/browser"; import { defaultDataIdFromObject, InMemoryCache } from "apollo-cache-inmemory"; import { persistCache } from "apollo-cache-persist"; import * as React from "react"; +import { useIntl } from "react-intl"; import { positions, Provider as AlertProvider, useAlert } from "react-alert"; import { ApolloProvider } from "react-apollo"; import { render } from "react-dom"; @@ -97,6 +98,7 @@ const startApp = async () => { const Root = hot(module)(() => { const Notifications = () => { const alert = useAlert(); + const intl = useIntl(); const { updateAvailable } = React.useContext(ServiceWorkerContext); @@ -104,10 +106,14 @@ const startApp = async () => { if (updateAvailable) { alert.show( { - actionText: "Refresh", - content: - "To update the application to the latest version, please refresh the page!", - title: "New version is available!", + actionText: intl.formatMessage({ defaultMessage: "Refresh" }), + content: intl.formatMessage({ + defaultMessage: + "To update the application to the latest version, please refresh the page!", + }), + title: intl.formatMessage({ + defaultMessage: "New version is available!", + }), }, { onClose: () => { @@ -124,14 +130,18 @@ const startApp = async () => { if (authenticated) { alert.show( { - title: "You are now logged in", + title: intl.formatMessage({ + defaultMessage: "You are now logged in", + }), }, { type: "success" } ); } else { alert.show( { - title: "You are now logged out", + title: intl.formatMessage({ + defaultMessage: "You are now logged out", + }), }, { type: "success" } ); From b82037aef2aa8c304dcaddc1decca56a3883e071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 00:32:13 +0200 Subject: [PATCH 064/120] Translate home page --- src/views/Home/Page.tsx | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/views/Home/Page.tsx b/src/views/Home/Page.tsx index 4b010295d9..5543f3fc9a 100644 --- a/src/views/Home/Page.tsx +++ b/src/views/Home/Page.tsx @@ -2,6 +2,7 @@ import "./scss/index.scss"; import classNames from "classnames"; import * as React from "react"; +import { FormattedMessage, useIntl } from "react-intl"; import { Link } from "react-router-dom"; import { Button, Loader, ProductsFeatured } from "../../components"; @@ -26,6 +27,7 @@ const Page: React.FC<{ const categoriesExist = () => { return categories && categories.edges && categories.edges.length > 0; }; + const intl = useIntl(); return ( <> @@ -43,12 +45,16 @@ const Page: React.FC<{
    -

    Final reduction

    +

    + +

    -

    Up to 70% off sale

    +

    + +

    @@ -64,18 +70,22 @@ const Page: React.FC<{ )} > ) )}
    - + {categoriesExist() && (
    -

    Shop by category

    +

    + +

    {categories.edges.map(({ node: category }) => (
    From db120497143b4e7c13742aad3ebb9766f30707e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 00:40:00 +0200 Subject: [PATCH 065/120] Translate Product view --- src/views/Product/Other.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/Product/Other.tsx b/src/views/Product/Other.tsx index f1e50230b2..857fa1f160 100644 --- a/src/views/Product/Other.tsx +++ b/src/views/Product/Other.tsx @@ -1,4 +1,5 @@ import * as React from "react"; +import { FormattedMessage } from "react-intl"; import { ProductList } from "@components/organisms"; @@ -10,7 +11,7 @@ const OtherProducts: React.FC<{

    - Other products in this category +

    node)} />
    From e8513063008d1657b616e7faf3167262488c0f90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 00:47:48 +0200 Subject: [PATCH 066/120] Translate Search view --- src/views/Search/Page.tsx | 6 +++++- src/views/Search/View.tsx | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/views/Search/Page.tsx b/src/views/Search/Page.tsx index b469067e5a..41f07127ed 100644 --- a/src/views/Search/Page.tsx +++ b/src/views/Search/Page.tsx @@ -1,6 +1,7 @@ import "./scss/index.scss"; import * as React from "react"; +import { useIntl } from "react-intl"; import { IFilterAttributes, IFilters } from "@types"; import { DebounceChange, ProductsFeatured, TextField } from "../../components"; @@ -61,6 +62,7 @@ const Page: React.FC = ({ ); const hasProducts = canDisplayProducts && !!products.totalCount; const [showFilters, setShowFilters] = React.useState(false); + const intl = useIntl(); const getAttribute = (attributeSlug: string, valueSlug: string) => { return { @@ -99,7 +101,9 @@ const Page: React.FC = ({ return ( diff --git a/src/views/Search/View.tsx b/src/views/Search/View.tsx index 4174b09c50..fccfe794a7 100644 --- a/src/views/Search/View.tsx +++ b/src/views/Search/View.tsx @@ -1,6 +1,8 @@ import * as React from "react"; +import { useIntl } from "react-intl"; import { RouteComponentProps } from "react-router"; +import { prodListHeaderCommonMsg } from "@temp/intl"; import { IFilters } from "@types"; import { StringParam, useQueryParam } from "use-query-params"; import { NotFound, OfflinePlaceholder } from "../../components"; @@ -46,6 +48,7 @@ export const View: React.FC = ({ match }) => { "filters", FilterQuerySet ); + const intl = useIntl(); const filters: IFilters = { attributes: attributeFilters, @@ -66,31 +69,33 @@ export const View: React.FC = ({ match }) => { const sortOptions = [ { - label: "Clear...", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsClear), value: null, }, { - label: "Price Low-High", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsPrice), value: "price", }, { - label: "Price High-Low", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsPriceDsc), value: "-price", }, { - label: "Name Increasing", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsName), value: "name", }, { - label: "Name Decreasing", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsNameDsc), value: "-name", }, { - label: "Last updated Ascending", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsUpdatedAt), value: "updated_at", }, { - label: "Last updated Descending", + label: intl.formatMessage( + prodListHeaderCommonMsg.sortOptionsUpdatedAtDsc + ), value: "-updated_at", }, ]; From a58a369a9953f891672ec7e5b1592406546ee4ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 00:51:23 +0200 Subject: [PATCH 067/120] Translate Collection view --- src/views/Collection/View.tsx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/views/Collection/View.tsx b/src/views/Collection/View.tsx index 74b23a92eb..df4a0f20bd 100644 --- a/src/views/Collection/View.tsx +++ b/src/views/Collection/View.tsx @@ -1,6 +1,8 @@ import * as React from "react"; +import { useIntl } from "react-intl"; import { RouteComponentProps } from "react-router"; +import { prodListHeaderCommonMsg } from "@temp/intl"; import { IFilters } from "@types"; import { StringParam, useQueryParam } from "use-query-params"; import { MetaWrapper, NotFound, OfflinePlaceholder } from "../../components"; @@ -45,6 +47,7 @@ export const View: React.FC = ({ match }) => { "filters", FilterQuerySet ); + const intl = useIntl(); const clearFilters = () => { setAttributeFilters({}); @@ -96,31 +99,33 @@ export const View: React.FC = ({ match }) => { const sortOptions = [ { - label: "Clear...", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsClear), value: null, }, { - label: "Price Low-High", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsPrice), value: "price", }, { - label: "Price High-Low", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsPriceDsc), value: "-price", }, { - label: "Name Increasing", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsName), value: "name", }, { - label: "Name Decreasing", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsNameDsc), value: "-name", }, { - label: "Last updated Ascending", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsUpdatedAt), value: "updated_at", }, { - label: "Last updated Descending", + label: intl.formatMessage( + prodListHeaderCommonMsg.sortOptionsUpdatedAtDsc + ), value: "-updated_at", }, ]; From ef3717a91bdecec383fa4768bd5f0fb7480c9d33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 00:53:12 +0200 Subject: [PATCH 068/120] Translate Category view --- src/views/Category/View.tsx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/views/Category/View.tsx b/src/views/Category/View.tsx index 0a93cd87e8..bf81506b7b 100644 --- a/src/views/Category/View.tsx +++ b/src/views/Category/View.tsx @@ -1,6 +1,8 @@ import * as React from "react"; +import { useIntl } from "react-intl"; import { RouteComponentProps } from "react-router"; +import { prodListHeaderCommonMsg } from "@temp/intl"; import { IFilters } from "@types"; import { StringParam, useQueryParam } from "use-query-params"; import { MetaWrapper, NotFound, OfflinePlaceholder } from "../../components"; @@ -45,6 +47,7 @@ export const View: React.FC = ({ match }) => { "filters", FilterQuerySet ); + const intl = useIntl(); const clearFilters = () => { setAttributeFilters({}); @@ -96,31 +99,33 @@ export const View: React.FC = ({ match }) => { const sortOptions = [ { - label: "Clear...", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsClear), value: null, }, { - label: "Price Low-High", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsPrice), value: "price", }, { - label: "Price High-Low", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsPriceDsc), value: "-price", }, { - label: "Name Increasing", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsName), value: "name", }, { - label: "Name Decreasing", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsNameDsc), value: "-name", }, { - label: "Last updated Ascending", + label: intl.formatMessage(prodListHeaderCommonMsg.sortOptionsUpdatedAt), value: "updated_at", }, { - label: "Last updated Descending", + label: intl.formatMessage( + prodListHeaderCommonMsg.sortOptionsUpdatedAtDsc + ), value: "-updated_at", }, ]; From d3c4ecdb670de11048f2c24c888318b58a76bb37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 00:55:38 +0200 Subject: [PATCH 069/120] Translate Account view --- src/views/Account/Account.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/views/Account/Account.tsx b/src/views/Account/Account.tsx index b969d69db4..0a2f42734f 100644 --- a/src/views/Account/Account.tsx +++ b/src/views/Account/Account.tsx @@ -1,6 +1,8 @@ import * as React from "react"; +import { useIntl } from "react-intl"; import Media from "react-responsive"; import { RouteComponentProps, withRouter } from "react-router"; +import { commonMessages } from "@temp/intl"; import { useUserDetails } from "@saleor/sdk"; import { smallScreen } from "@styles/constants"; @@ -41,6 +43,7 @@ const returnTab: any = (path: string, userDetails, history) => { const Account: React.FC = ({ history, match }) => { const { data: user, loading } = useUserDetails(); + const intl = useIntl(); const links = [accountUrl, orderHistoryUrl, addressBookUrl]; @@ -54,7 +57,14 @@ const Account: React.FC = ({ history, match }) => { return (
    - +
    From 49633da371f2cabfcb3ae73dc0e0a05464fedf94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 01:55:47 +0200 Subject: [PATCH 070/120] Translate OrderDetails view --- src/userAccount/views/OrderDetails/Page.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/userAccount/views/OrderDetails/Page.tsx b/src/userAccount/views/OrderDetails/Page.tsx index d5ad6862b0..fb5fbe63ae 100644 --- a/src/userAccount/views/OrderDetails/Page.tsx +++ b/src/userAccount/views/OrderDetails/Page.tsx @@ -1,7 +1,9 @@ import * as React from "react"; +import { FormattedMessage } from "react-intl"; import { Link } from "react-router-dom"; import { TaxedMoney } from "@components/containers"; +import { checkoutMessages } from "@temp/intl"; import { OrderDetail, OrderDetail_lines, @@ -42,10 +44,15 @@ const Page: React.FC<{ <> {!guest && ( - Go back to Order History + )} -

    Your order nr: {order.number}

    +

    + +

    {order.paymentStatusDisplay} / {order.statusDisplay}

    @@ -57,7 +64,9 @@ const Page: React.FC<{ />
    -

    Shipping Address

    +

    + +

    Date: Tue, 23 Jun 2020 02:06:13 +0200 Subject: [PATCH 071/120] Translate ProductDescription component --- src/components/ProductDescription/AddToCart.tsx | 3 ++- .../ProductDescription/AddToCartButton.tsx | 5 ++++- .../ProductDescription/QuantityTextField.tsx | 9 +++++++-- src/components/ProductDescription/index.tsx | 15 +++++++++++---- src/intl.ts | 6 ++++++ 5 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/components/ProductDescription/AddToCart.tsx b/src/components/ProductDescription/AddToCart.tsx index a6b656ab66..a1c768413d 100644 --- a/src/components/ProductDescription/AddToCart.tsx +++ b/src/components/ProductDescription/AddToCart.tsx @@ -1,4 +1,5 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import AddToCartButton from "./AddToCartButton"; @@ -15,7 +16,7 @@ const AddToCart: React.FC<{ }} disabled={disabled} > - Add to basket + ); }; diff --git a/src/components/ProductDescription/AddToCartButton.tsx b/src/components/ProductDescription/AddToCartButton.tsx index a52f2b197b..774673bdfd 100644 --- a/src/components/ProductDescription/AddToCartButton.tsx +++ b/src/components/ProductDescription/AddToCartButton.tsx @@ -1,4 +1,5 @@ import * as React from "react"; +import { FormattedMessage } from "react-intl"; import classNames from "classnames"; import ReactCSSTransitionGroup from "react-addons-css-transition-group"; @@ -61,7 +62,9 @@ class AddToCartButton extends React.PureComponent< transitionLeaveTimeout={this.animationTimeout} > {animate ? ( - Added + + + ) : ( {this.props.children} )} diff --git a/src/components/ProductDescription/QuantityTextField.tsx b/src/components/ProductDescription/QuantityTextField.tsx index de7c2d2664..58a37e3b46 100644 --- a/src/components/ProductDescription/QuantityTextField.tsx +++ b/src/components/ProductDescription/QuantityTextField.tsx @@ -1,6 +1,8 @@ import React, { useEffect, useState } from "react"; +import { useIntl } from "react-intl"; import { TextField } from "@components/molecules"; +import { commonMessages } from "@temp/intl"; interface QuantityTextFieldProps { quantity: number; @@ -18,6 +20,7 @@ export const QuantityTextField: React.FC = ({ hideErrors, }: QuantityTextFieldProps) => { const [isTooMuch, setIsTooMuch] = useState(false); + const intl = useIntl(); useEffect(() => { setIsTooMuch(!isNaN(quantity) && quantity > maxQuantity); @@ -36,7 +39,9 @@ export const QuantityTextField: React.FC = ({ !hideErrors && isTooMuch ? [ { - message: `Maximum quantity is ${maxQuantity}`, + message: intl.formatMessage(commonMessages.maxQtyIs, { + maxQuantity, + }), }, ] : undefined; @@ -45,7 +50,7 @@ export const QuantityTextField: React.FC = ({

    {name}

    {isOutOfStock ? ( - this.renderErrorMessage("Out of stock") + this.renderErrorMessage( + this.props.intl.formatMessage(commonMessages.outOfStock) + ) ) : (

    {this.getProductPrice()}

    )} - {isLowStock && this.renderErrorMessage("Low stock")} + {isLowStock && + this.renderErrorMessage( + this.props.intl.formatMessage(commonMessages.lowStock) + )} {isNoItemsAvailable && this.renderErrorMessage("No items available")}
    Date: Tue, 23 Jun 2020 02:15:01 +0200 Subject: [PATCH 072/120] Translate OverlayManager Search component --- src/components/OverlayManager/Cart/Cart.tsx | 26 +++-- src/components/OverlayManager/Cart/Empty.tsx | 10 +- .../OverlayManager/Cart/ProductList.tsx | 8 +- .../Login/ForgottenPassword.tsx | 5 +- .../OverlayManager/Login/RegisterForm.tsx | 23 +++-- src/components/OverlayManager/Login/index.tsx | 9 +- .../OverlayManager/Password/index.tsx | 5 +- .../OverlayManager/Search/NothingFound.tsx | 27 +++--- .../OverlayManager/Search/Search.tsx | 22 +++-- src/components/PasswordResetForm/index.tsx | 95 ++++++++++--------- src/intl.ts | 21 ++++ 11 files changed, 165 insertions(+), 86 deletions(-) diff --git a/src/components/OverlayManager/Cart/Cart.tsx b/src/components/OverlayManager/Cart/Cart.tsx index 7656eec6a5..045be3709f 100644 --- a/src/components/OverlayManager/Cart/Cart.tsx +++ b/src/components/OverlayManager/Cart/Cart.tsx @@ -1,10 +1,12 @@ import "./scss/index.scss"; import * as React from "react"; +import { FormattedMessage } from "react-intl"; import { generatePath, Link } from "react-router-dom"; import ReactSVG from "react-svg"; import { TaxedMoney } from "@components/containers"; +import { commonMessages } from "@temp/intl"; import { useCart, useCheckout, useUserDetails } from "@saleor/sdk"; import { @@ -58,13 +60,13 @@ const Cart: React.FC<{ overlay: OverlayContextInterface }> = ({ overlay }) => {
    - My bag,{" "} + {" "} {items?.reduce( (prevVal, currVal) => prevVal + currVal.quantity, 0 ) || 0}{" "} - items +
    = ({ overlay }) => {
    - Subtotal + + + = ({ overlay }) => { {shippingTaxedPrice && shippingTaxedPrice.gross.amount !== 0 && (
    - Shipping + + + = ({ overlay }) => { {promoTaxedPrice && promoTaxedPrice.gross.amount !== 0 && (
    - Promo code + + + = ({ overlay }) => { )}
    - Total + + + = ({ overlay }) => { })} >
    diff --git a/src/components/OverlayManager/Cart/Empty.tsx b/src/components/OverlayManager/Cart/Empty.tsx index 92c49bf982..3eea0ec8ac 100644 --- a/src/components/OverlayManager/Cart/Empty.tsx +++ b/src/components/OverlayManager/Cart/Empty.tsx @@ -1,13 +1,15 @@ import * as React from "react"; +import { FormattedMessage } from "react-intl"; import { Button } from "../.."; const Empty: React.FC<{ overlayHide(): void }> = ({ overlayHide }) => (
    -

    Your bag is empty

    +

    + +

    - You haven’t added anything to your bag. We’re sure you’ll find something - in our store +

    diff --git a/src/components/OverlayManager/Cart/ProductList.tsx b/src/components/OverlayManager/Cart/ProductList.tsx index acc3039764..46ab82a75b 100644 --- a/src/components/OverlayManager/Cart/ProductList.tsx +++ b/src/components/OverlayManager/Cart/ProductList.tsx @@ -1,5 +1,6 @@ import { ICheckoutModelLine } from "@saleor/sdk/lib/helpers"; import * as React from "react"; +import { FormattedMessage } from "react-intl"; import { Link } from "react-router-dom"; import ReactSVG from "react-svg"; @@ -40,7 +41,12 @@ const ProductList: React.SFC<{ {line.variant.name} - {`Qty: ${line.quantity}`} + + + void; @@ -6,13 +7,13 @@ const ForgottenPassword: React.FC<{ <>

    - Have you forgotten your password?  + {" "} - Click Here +

    diff --git a/src/components/OverlayManager/Login/RegisterForm.tsx b/src/components/OverlayManager/Login/RegisterForm.tsx index 7ee7bf3e04..7070520784 100644 --- a/src/components/OverlayManager/Login/RegisterForm.tsx +++ b/src/components/OverlayManager/Login/RegisterForm.tsx @@ -3,6 +3,8 @@ import "./scss/index.scss"; import * as React from "react"; import { AlertManager, useAlert } from "react-alert"; +import { useIntl, IntlShape } from "react-intl"; +import { commonMessages } from "@temp/intl"; import { accountConfirmUrl } from "../../../app/routes"; import { Button, Form, TextField } from "../.."; @@ -13,7 +15,8 @@ import { TypedAccountRegisterMutation } from "./queries"; const showSuccessNotification = ( data: RegisterAccount, hide: () => void, - alert: AlertManager + alert: AlertManager, + intl: IntlShape ) => { const successful = maybe(() => !data.accountRegister.errors.length); @@ -22,8 +25,11 @@ const showSuccessNotification = ( alert.show( { title: data.accountRegister.requiresConfirmation - ? "Please check your e-mail for further instructions" - : "New user has been created", + ? intl.formatMessage({ + defaultMessage: + "Please check your e-mail for further instructions", + }) + : intl.formatMessage({ defaultMessage: "New user has been created" }), }, { type: "success", timeout: 5000 } ); @@ -32,10 +38,11 @@ const showSuccessNotification = ( const RegisterForm: React.FC<{ hide: () => void }> = ({ hide }) => { const alert = useAlert(); + const intl = useIntl(); return ( showSuccessNotification(data, hide, alert)} + onCompleted={data => showSuccessNotification(data, hide, alert, intl)} > {(registerCustomer, { loading, data }) => { return ( @@ -50,14 +57,14 @@ const RegisterForm: React.FC<{ hide: () => void }> = ({ hide }) => { @@ -67,7 +74,9 @@ const RegisterForm: React.FC<{ hide: () => void }> = ({ hide }) => { type="submit" {...(loading && { disabled: true })} > - {loading ? "Loading" : "Register"} + {loading + ? intl.formatMessage(commonMessages.loading) + : intl.formatMessage({ defaultMessage: "Register" })}
    diff --git a/src/components/OverlayManager/Login/index.tsx b/src/components/OverlayManager/Login/index.tsx index b2893ef4dd..0c456cfa9e 100644 --- a/src/components/OverlayManager/Login/index.tsx +++ b/src/components/OverlayManager/Login/index.tsx @@ -1,6 +1,7 @@ import "./scss/index.scss"; import * as React from "react"; +import { FormattedMessage } from "react-intl"; import ReactSVG from "react-svg"; import { @@ -46,7 +47,9 @@ class Login extends React.Component<
    -

    Saleor account

    +

    + +

    this.changeActiveTab("login")} className={this.state.active === "login" ? "active-tab" : ""} > - Sign in to account + this.changeActiveTab("register")} className={this.state.active === "register" ? "active-tab" : ""} > - Register new account +
    diff --git a/src/components/OverlayManager/Password/index.tsx b/src/components/OverlayManager/Password/index.tsx index 5618237a75..fca6b5b024 100644 --- a/src/components/OverlayManager/Password/index.tsx +++ b/src/components/OverlayManager/Password/index.tsx @@ -1,6 +1,7 @@ import "./scss/index.scss"; import * as React from "react"; +import { FormattedMessage } from "react-intl"; import ReactSVG from "react-svg"; import { @@ -21,7 +22,9 @@ const Password: React.FC<{ overlay: OverlayContextInterface }> = ({
    -

    Reset your password

    +

    + +

    = ({ search }) => ( -
    -

    - Sorry, but we couldn’t match any search results for: {search} -

    -

    - Don’t give up - check the spelling, think of something less specific and - then use the search bar above. -

    -
    -); +export const NothingFound: React.FC<{ search: string }> = ({ search }) => { + return ( +
    +

    + +

    +

    + +

    +
    + ); +}; export default NothingFound; diff --git a/src/components/OverlayManager/Search/Search.tsx b/src/components/OverlayManager/Search/Search.tsx index b984e79652..2efa47a34f 100644 --- a/src/components/OverlayManager/Search/Search.tsx +++ b/src/components/OverlayManager/Search/Search.tsx @@ -3,9 +3,16 @@ import "./scss/index.scss"; import classNames from "classnames"; import { stringify } from "query-string"; import * as React from "react"; +import { + injectIntl, + WrappedComponentProps, + FormattedMessage, +} from "react-intl"; import { RouteComponentProps, withRouter } from "react-router-dom"; import ReactSVG from "react-svg"; +import { commonMessages } from "@temp/intl"; + import { Button, Loader, @@ -27,7 +34,7 @@ import { TypedSearchResults } from "./queries"; import searchImg from "../../../images/search.svg"; import closeImg from "../../../images/x.svg"; -interface SearchProps extends RouteComponentProps { +interface SearchProps extends WrappedComponentProps, RouteComponentProps { overlay: OverlayContextInterface; } @@ -106,7 +113,7 @@ class Search extends React.Component { } iconRight={} autoFocus - placeholder="Search" + placeholder={this.props.intl.formatMessage(commonMessages.search)} onBlur={this.handleInputBlur} />
    @@ -147,7 +154,7 @@ class Search extends React.Component { btnRef={this.submitBtnRef} type="submit" > - Show all results + )}
    @@ -180,8 +187,11 @@ class Search extends React.Component { // Workaround ATM for: // withRouter(Search): Function components do not support contextType -export default withRouter( - (props: RouteComponentProps & { overlay: OverlayContextInterface }) => ( - +export default injectIntl( + withRouter( + ( + props: WrappedComponentProps & + RouteComponentProps & { overlay: OverlayContextInterface } + ) => ) ); diff --git a/src/components/PasswordResetForm/index.tsx b/src/components/PasswordResetForm/index.tsx index 35a4a6dbdc..6f883ab85d 100644 --- a/src/components/PasswordResetForm/index.tsx +++ b/src/components/PasswordResetForm/index.tsx @@ -1,6 +1,8 @@ import "./scss/index.scss"; import * as React from "react"; +import { FormattedMessage, useIntl } from "react-intl"; +import { commonMessages } from "@temp/intl"; import { Button, Form, TextField } from ".."; import { maybe } from "../../core/utils"; @@ -8,48 +10,55 @@ import { TypedPasswordResetMutation } from "./queries"; import { passwordResetUrl } from "../../app/routes"; -const PasswordResetForm: React.FC = () => ( -
    -

    - Please provide us your email address so we can share you a link to reset - your password -

    - - {(passwordReset, { loading, data }) => { - return ( -
    data.requestPasswordReset.errors, [])} - onSubmit={(event, { email }) => { - event.preventDefault(); - passwordReset({ - variables: { - email, - redirectUrl: `${window.location.origin}${passwordResetUrl}`, - }, - }); - }} - > - -
    - -
    - - ); - }} -
    -
    -); +const PasswordResetForm: React.FC = () => { + const intl = useIntl(); + return ( +
    +

    + +

    + + {(passwordReset, { loading, data }) => { + return ( +
    data.requestPasswordReset.errors, [])} + onSubmit={(event, { email }) => { + event.preventDefault(); + passwordReset({ + variables: { + email, + redirectUrl: `${window.location.origin}${passwordResetUrl}`, + }, + }); + }} + > + +
    + +
    + + ); + }} +
    +
    + ); +}; export default PasswordResetForm; diff --git a/src/intl.ts b/src/intl.ts index 51cfecf53c..db375c66d4 100644 --- a/src/intl.ts +++ b/src/intl.ts @@ -43,6 +43,27 @@ export const commonMessages = defineMessages({ qty: { defaultMessage: "Quantity", }, + subtotal: { + defaultMessage: "Subtotal", + }, + shipping: { + defaultMessage: "Shipping", + }, + promoCode: { + defaultMessage: "Promo code", + }, + total: { + defaultMessage: "Total", + }, + checkout: { + defaultMessage: "Checkout", + }, + eMail: { + defaultMessage: "Email Address", + }, + loading: { + defaultMessage: "Loading", + }, }); export const checkoutMessages = defineMessages({ From b5ff9cef69385c5eb18eff15373a331771af2752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 10:37:27 +0200 Subject: [PATCH 073/120] Translate MainMenu component --- src/components/MainMenu/MainMenu.tsx | 40 +++++++++++++++++++++------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/src/components/MainMenu/MainMenu.tsx b/src/components/MainMenu/MainMenu.tsx index de0b0eec28..9fee0930c8 100644 --- a/src/components/MainMenu/MainMenu.tsx +++ b/src/components/MainMenu/MainMenu.tsx @@ -1,4 +1,6 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; +import { commonMessages } from "@temp/intl"; import { useCart, useSignOut, useUserDetails } from "@saleor/sdk"; import Media from "react-media"; import { Link } from "react-router-dom"; @@ -110,24 +112,32 @@ const MainMenu: React.FC = () => {
    • - My Account +
    • - Order history +
    • - Address book +
    • - Log Out +
    } @@ -179,23 +189,31 @@ const MainMenu: React.FC = () => { content={
    • - My Account + + +
    • - Order history +
    • - Address book +
    • - Log Out +
    } @@ -249,7 +267,11 @@ const MainMenu: React.FC = () => { > Search} + render={() => ( + + + + )} /> From 39e5e159ef4d9f8b6ccbb4b44348992d3883a0af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 10:42:40 +0200 Subject: [PATCH 074/120] Translate LoginForm component --- src/components/LoginForm/index.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/components/LoginForm/index.tsx b/src/components/LoginForm/index.tsx index f54d40f7e5..f1398f0ef8 100644 --- a/src/components/LoginForm/index.tsx +++ b/src/components/LoginForm/index.tsx @@ -1,9 +1,11 @@ import "./scss/index.scss"; import * as React from "react"; +import { useIntl } from "react-intl"; import { useSignIn } from "@saleor/sdk"; import { demoMode } from "@temp/constants"; +import { commonMessages } from "@temp/intl"; import { maybe } from "@utils/misc"; import { Button, Form, TextField } from ".."; @@ -30,6 +32,8 @@ const LoginForm: React.FC = ({ hide }) => { } : {}; + const intl = useIntl(); + return (
    = ({ hide }) => { @@ -57,7 +61,9 @@ const LoginForm: React.FC = ({ hide }) => { type="submit" {...(loading && { disabled: true })} > - {loading ? "Loading" : "Sign in"} + {loading + ? intl.formatMessage(commonMessages.loading) + : intl.formatMessage({ defaultMessage: "Sign in" })}
    From b61a23d00d6504f2a5317668d622ca1fa2cb38f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 11:16:38 +0200 Subject: [PATCH 075/120] Translate CartTable component --- src/components/CartTable/Table.tsx | 130 +++++++++++++++++------------ src/intl.ts | 12 +++ 2 files changed, 90 insertions(+), 52 deletions(-) diff --git a/src/components/CartTable/Table.tsx b/src/components/CartTable/Table.tsx index 4c4abd28f3..7ebe2aa22d 100644 --- a/src/components/CartTable/Table.tsx +++ b/src/components/CartTable/Table.tsx @@ -1,5 +1,7 @@ import * as React from "react"; +import { FormattedMessage, useIntl } from "react-intl"; import Media from "react-media"; +import { commonMessages } from "@temp/intl"; import CostRow from "./CostRow"; import ProductRow, { EditableProductRowProps, ILine } from "./ProductRow"; @@ -24,60 +26,84 @@ const Table: React.FC = ({ discountName, lines, ...rowProps -}) => ( - - {mediumScreen => ( - - - - - {mediumScreen && } - - - - - - - {lines.map(line => ( - - ))} - - - - {discount && ( - - )} - {deliveryCost && ( - - )} - {totalCost && ( +}) => { + const intl = useIntl(); + return ( + + {mediumScreen => ( +
    ProductsPriceVariantQuantity{mediumScreen ? "Total Price" : "Price"}
    + + + + {mediumScreen && ( + + )} + + + + + + + {lines.map(line => ( + + ))} + + - )} - -
    + + + + + + + + + {mediumScreen ? ( + + ) : ( + + )} +
    - )} -
    -); + {discount && ( + + )} + {deliveryCost && ( + + )} + {totalCost && ( + + )} + + + )} +
    + ); +}; export default Table; diff --git a/src/intl.ts b/src/intl.ts index db375c66d4..9ddd96a3e7 100644 --- a/src/intl.ts +++ b/src/intl.ts @@ -55,6 +55,9 @@ export const commonMessages = defineMessages({ total: { defaultMessage: "Total", }, + totalPrice: { + defaultMessage: "Total Price", + }, checkout: { defaultMessage: "Checkout", }, @@ -64,6 +67,15 @@ export const commonMessages = defineMessages({ loading: { defaultMessage: "Loading", }, + products: { + defaultMessage: "Products", + }, + price: { + defaultMessage: "Price", + }, + variant: { + defaultMessage: "Variant", + }, }); export const checkoutMessages = defineMessages({ From 8e6087a578c129fa1a28734ee55e57c31d9c2823 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 11:20:26 +0200 Subject: [PATCH 076/120] Translate Breadcrumbs component --- src/components/Breadcrumbs/index.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/Breadcrumbs/index.tsx b/src/components/Breadcrumbs/index.tsx index 60597d94bf..9c85e06c32 100644 --- a/src/components/Breadcrumbs/index.tsx +++ b/src/components/Breadcrumbs/index.tsx @@ -1,5 +1,6 @@ import classNames from "classnames"; import * as React from "react"; +import { FormattedMessage } from "react-intl"; import Media from "react-media"; import { Link } from "react-router-dom"; @@ -51,7 +52,9 @@ const Breadcrumbs: React.FC<{ matches ? (
    • - Home + + +
    • {breadcrumbs.map((breadcrumb, index) => (
    • ) : (
      - Back + + +
      ) } From 6635188002caa245d0cf8e9af405bb9ada0dc892 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 11:51:16 +0200 Subject: [PATCH 077/120] Translate AddressSummary component --- .../molecules/AddressSummary/AddressSummary.tsx | 14 ++++++++++++-- src/components/AddressSummary/index.tsx | 8 +++++++- src/intl.ts | 6 ++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/@next/components/molecules/AddressSummary/AddressSummary.tsx b/src/@next/components/molecules/AddressSummary/AddressSummary.tsx index 536c43b313..44311ea4f7 100755 --- a/src/@next/components/molecules/AddressSummary/AddressSummary.tsx +++ b/src/@next/components/molecules/AddressSummary/AddressSummary.tsx @@ -1,4 +1,6 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; +import { commonMessages } from "@temp/intl"; import * as S from "./styles"; import { IProps } from "./types"; @@ -25,12 +27,20 @@ const AddressSummary: React.FC = ({ address, email }: IProps) => {
      {address.phone && ( <> - Phone number: {address.phone}
      + {" "} +
      )} {email && ( <> - Email: {email}
      + {" "} +

      )} diff --git a/src/components/AddressSummary/index.tsx b/src/components/AddressSummary/index.tsx index 415cd86f36..bed8b6d2c9 100644 --- a/src/components/AddressSummary/index.tsx +++ b/src/components/AddressSummary/index.tsx @@ -1,6 +1,8 @@ import "./scss/index.scss"; import * as React from "react"; +import { FormattedMessage } from "react-intl"; +import { commonMessages } from "@temp/intl"; import { FormAddressType } from "./types"; @@ -37,7 +39,11 @@ const AddressSummary: React.FC<{
      {address.phone && ( <> - Phone number: {address.phone}
      + {" "} +
      )} {email && ( diff --git a/src/intl.ts b/src/intl.ts index 9ddd96a3e7..20ad4bd6bb 100644 --- a/src/intl.ts +++ b/src/intl.ts @@ -76,6 +76,12 @@ export const commonMessages = defineMessages({ variant: { defaultMessage: "Variant", }, + phoneNumber: { + defaultMessage: "Phone number: {phone}", + }, + showEmail: { + defaultMessage: "Email: {email}", + }, }); export const checkoutMessages = defineMessages({ From 5688eb78f7af1e76980803bf15a6396a1d0d36b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 11:58:12 +0200 Subject: [PATCH 078/120] Translate account AddressBook --- src/account/AddressBook/AddressBook.tsx | 11 +++++++---- src/intl.ts | 6 ++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/account/AddressBook/AddressBook.tsx b/src/account/AddressBook/AddressBook.tsx index c1c4e3262f..0951d22adf 100644 --- a/src/account/AddressBook/AddressBook.tsx +++ b/src/account/AddressBook/AddressBook.tsx @@ -1,7 +1,9 @@ import React from "react"; +import { useIntl } from "react-intl"; import "./scss/index.scss"; import { AddressFormModal, AddressGrid } from "@components/organisms"; +import { checkoutMessages, commonMessages } from "@temp/intl"; import { useDefaultUserAddress, useDeleteUserAddresss } from "@saleor/sdk"; import { AddressTypeEnum } from "@saleor/sdk/lib/gqlTypes/globalTypes"; import { ShopContext } from "../../components/ShopProvider/context"; @@ -15,6 +17,7 @@ const AddressBook: React.FC<{ const [addressData, setAddressData] = React.useState(null); const [setDefaultUserAddress] = useDefaultUserAddress(); const [setDeleteUserAddress] = useDeleteUserAddresss(); + const intl = useIntl(); const userAddresses = user.addresses.map(address => { const addressToDisplay: any = { address: { ...address } }; @@ -59,8 +62,8 @@ const AddressBook: React.FC<{ }} userId={user.id} {...{ defaultValue: defaultCountry || {} }} - submitBtnText="Add" - title="Add new address" + submitBtnText={intl.formatMessage(commonMessages.add)} + title={intl.formatMessage(checkoutMessages.addNewAddress)} {...{ countriesOptions: countries }} formId="address-form" /> @@ -71,8 +74,8 @@ const AddressBook: React.FC<{ setDisplayEditModal(false); }} address={addressData} - submitBtnText="Save" - title="Edit address" + submitBtnText={intl.formatMessage(commonMessages.save)} + title={intl.formatMessage({ defaultMessage: "Edit address" })} {...{ countriesOptions: countries }} formId="address-form" /> diff --git a/src/intl.ts b/src/intl.ts index 20ad4bd6bb..9f313fc3d8 100644 --- a/src/intl.ts +++ b/src/intl.ts @@ -82,6 +82,12 @@ export const commonMessages = defineMessages({ showEmail: { defaultMessage: "Email: {email}", }, + save: { + defaultMessage: "Save", + }, + add: { + defaultMessage: "Add", + }, }); export const checkoutMessages = defineMessages({ From a04a6876237cbcdbb2645bab0aa4bf3713cda802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 12:29:53 +0200 Subject: [PATCH 079/120] Translate CheckoutPage --- src/@next/pages/CheckoutPage/CheckoutPage.tsx | 4 +++- .../subpages/CheckoutAddressSubpage.tsx | 20 +++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/@next/pages/CheckoutPage/CheckoutPage.tsx b/src/@next/pages/CheckoutPage/CheckoutPage.tsx index c8788988d6..c3022e85d3 100755 --- a/src/@next/pages/CheckoutPage/CheckoutPage.tsx +++ b/src/@next/pages/CheckoutPage/CheckoutPage.tsx @@ -1,4 +1,5 @@ import React, { useEffect, useRef, useState } from "react"; +import { useIntl } from "react-intl"; import { Redirect, useLocation } from "react-router-dom"; import { Button, Loader } from "@components/atoms"; @@ -105,6 +106,7 @@ const CheckoutPage: React.FC = ({}: IProps) => { items, } = useCart(); const { loaded: checkoutLoaded, checkout, payment } = useCheckout(); + const intl = useIntl(); if (cartLoaded && (!items || !items?.length)) { return ; @@ -249,7 +251,7 @@ const CheckoutPage: React.FC = ({}: IProps) => { )} checkout={checkoutView} button={getButton( - activeStep.nextActionName.toUpperCase(), + intl.formatMessage(activeStep.nextActionName).toUpperCase(), handleNextStepClick )} /> diff --git a/src/@next/pages/CheckoutPage/subpages/CheckoutAddressSubpage.tsx b/src/@next/pages/CheckoutPage/subpages/CheckoutAddressSubpage.tsx index bec9f03e82..bcc4a664a8 100644 --- a/src/@next/pages/CheckoutPage/subpages/CheckoutAddressSubpage.tsx +++ b/src/@next/pages/CheckoutPage/subpages/CheckoutAddressSubpage.tsx @@ -6,6 +6,7 @@ import React, { useRef, useState, } from "react"; +import { useIntl } from "react-intl"; import { RouteComponentProps, useHistory } from "react-router"; import { CheckoutAddress } from "@components/organisms"; @@ -57,6 +58,8 @@ const CheckoutAddressSubpageWithRef: RefForwardingComponent< const [errors, setErrors] = useState([]); + const intl = useIntl(); + const checkoutShippingAddress = checkout?.shippingAddress ? { ...checkout?.shippingAddress, @@ -70,14 +73,27 @@ const CheckoutAddressSubpageWithRef: RefForwardingComponent< userAddressId?: string ) => { if (!address) { - setErrors([{ message: "Please provide shipping address." }]); + setErrors([ + { + message: intl.formatMessage({ + defaultMessage: "Please provide shipping address.", + }), + }, + ]); return; } const shippingEmail = user?.email || email || ""; if (!shippingEmail) { - setErrors([{ field: "email", message: "Please provide email address." }]); + setErrors([ + { + field: "email", + message: intl.formatMessage({ + defaultMessage: "Please provide email address.", + }), + }, + ]); return; } From 5c377753ac004cd01ece1543293c429ee4bf57b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 13:01:52 +0200 Subject: [PATCH 080/120] Translate CartPage --- .../components/atoms/CartFooter/CartFooter.tsx | 18 ++++++++++++++---- .../components/atoms/CartHeader/CartHeader.tsx | 18 ++++++++++++++---- .../components/organisms/CartRow/CartRow.tsx | 18 +++++++++++++----- .../templates/CartEmpty/CartEmpty.tsx | 13 ++++++++++--- src/@next/pages/CartPage/CartPage.tsx | 12 +++++++++--- src/intl.ts | 3 +++ 6 files changed, 63 insertions(+), 19 deletions(-) diff --git a/src/@next/components/atoms/CartFooter/CartFooter.tsx b/src/@next/components/atoms/CartFooter/CartFooter.tsx index 5471981597..7fb54ce2bd 100755 --- a/src/@next/components/atoms/CartFooter/CartFooter.tsx +++ b/src/@next/components/atoms/CartFooter/CartFooter.tsx @@ -1,4 +1,6 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; +import { commonMessages } from "@temp/intl"; import * as S from "./styles"; import { IProps } from "./types"; @@ -14,21 +16,29 @@ const CartFooter: React.FC = ({ }: IProps) => { return ( - Subtotal + + + {subtotalPrice} {shippingPrice && ( <> - Shipping + + + {shippingPrice} )} {discountPrice && ( <> - Promo Code + + + {discountPrice} )} - Total + + + {totalPrice} ); diff --git a/src/@next/components/atoms/CartHeader/CartHeader.tsx b/src/@next/components/atoms/CartHeader/CartHeader.tsx index b6998bcf16..1205461b5f 100755 --- a/src/@next/components/atoms/CartHeader/CartHeader.tsx +++ b/src/@next/components/atoms/CartHeader/CartHeader.tsx @@ -1,4 +1,6 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; +import { commonMessages } from "@temp/intl"; import * as S from "./styles"; @@ -8,10 +10,18 @@ import * as S from "./styles"; const CartHeader: React.FC = () => { return ( - Products - Price - Quantity - Total Price + + + + + + + + + + + + ); }; diff --git a/src/@next/components/organisms/CartRow/CartRow.tsx b/src/@next/components/organisms/CartRow/CartRow.tsx index cd1318cb4a..772e2c062c 100755 --- a/src/@next/components/organisms/CartRow/CartRow.tsx +++ b/src/@next/components/organisms/CartRow/CartRow.tsx @@ -1,8 +1,10 @@ import React, { useEffect, useState } from "react"; +import { FormattedMessage, useIntl } from "react-intl"; import { Link } from "react-router-dom"; import { Icon, IconButton } from "@components/atoms"; import { CachedImage, TextField } from "@components/molecules"; +import { commonMessages } from "@temp/intl"; import { generateProductUrl } from "../../../../core/utils"; @@ -43,6 +45,7 @@ export const CartRow: React.FC = ({ }: IProps) => { const [tempQuantity, setTempQuantity] = useState(quantity.toString()); const [isTooMuch, setIsTooMuch] = useState(false); + const intl = useIntl(); const handleBlurQuantityInput = () => { let newQuantity = parseInt(tempQuantity, 10); @@ -88,7 +91,7 @@ export const CartRow: React.FC = ({ const quantityErrors = isTooMuch ? [ { - message: `Maximum quantity is ${maxQuantity}`, + message: intl.formatMessage(commonMessages.maxQtyIs, { maxQuantity }), }, ] : undefined; @@ -108,7 +111,8 @@ export const CartRow: React.FC = ({ - SKU: {sku || "-"} + :{" "} + {sku || "-"} @@ -128,7 +132,7 @@ export const CartRow: React.FC = ({ = ({ - Total Price: + + : +

      {totalPrice}

      - Price: + + : +

      {unitPrice}

      diff --git a/src/@next/components/templates/CartEmpty/CartEmpty.tsx b/src/@next/components/templates/CartEmpty/CartEmpty.tsx index 2c4e322431..e00e52c8fa 100755 --- a/src/@next/components/templates/CartEmpty/CartEmpty.tsx +++ b/src/@next/components/templates/CartEmpty/CartEmpty.tsx @@ -1,4 +1,5 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import * as S from "./styles"; import { IProps } from "./types"; @@ -12,10 +13,16 @@ const CartEmpty: React.FC = ({ button }: IProps) => { return ( - Your Cart - looks empty + + + + + + - Maybe you haven’t made your choices yet + + + {button} diff --git a/src/@next/pages/CartPage/CartPage.tsx b/src/@next/pages/CartPage/CartPage.tsx index 9e7d96983f..1ebb9cda16 100755 --- a/src/@next/pages/CartPage/CartPage.tsx +++ b/src/@next/pages/CartPage/CartPage.tsx @@ -1,6 +1,7 @@ import { useCart, useCheckout, useUserDetails } from "@saleor/sdk"; import { History } from "history"; import React from "react"; +import { FormattedMessage } from "react-intl"; import { useHistory } from "react-router-dom"; import { Button, CartFooter, CartHeader } from "@components/atoms"; @@ -10,18 +11,23 @@ import { Cart, CartEmpty } from "@components/templates"; import { IItems } from "@saleor/sdk/lib/api/Cart/types"; import { UserDetails_me } from "@saleor/sdk/lib/queries/gqlTypes/UserDetails"; import { BASE_URL } from "@temp/core/config"; +import { checkoutMessages } from "@temp/intl"; import { ITaxedMoney } from "@types"; import { IProps } from "./types"; -const title =

      My Cart

      ; +const title = ( +

      + +

      +); const getShoppingButton = (history: History) => ( ); @@ -30,7 +36,7 @@ const getCheckoutButton = (history: History, user: UserDetails_me | null) => ( testingContext="proceedToCheckoutButton" onClick={() => history.push(user ? `/checkout/` : `/login/`)} > - PROCEED TO CHECKOUT + ); diff --git a/src/intl.ts b/src/intl.ts index 9f313fc3d8..47b255b944 100644 --- a/src/intl.ts +++ b/src/intl.ts @@ -133,6 +133,9 @@ export const checkoutMessages = defineMessages({ shippingAddress: { defaultMessage: "Shipping Address", }, + continueShopping: { + defaultMessage: "CONTINUE SHOPPING", + }, }); export const prodListHeaderCommonMsg = defineMessages({ From 137e0b757d80618a33d4de8cc957b51c75b927e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 13:06:43 +0200 Subject: [PATCH 081/120] Translate ThankYouPage --- .../components/organisms/ThankYou/ThankYou.tsx | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/@next/components/organisms/ThankYou/ThankYou.tsx b/src/@next/components/organisms/ThankYou/ThankYou.tsx index 1f02081887..65d7982186 100755 --- a/src/@next/components/organisms/ThankYou/ThankYou.tsx +++ b/src/@next/components/organisms/ThankYou/ThankYou.tsx @@ -1,7 +1,9 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { Button } from "@components/atoms"; import { Container } from "@components/templates"; +import { checkoutMessages } from "@temp/intl"; import * as S from "./styles"; import { IProps } from "./types"; @@ -18,16 +20,18 @@ const ThankYou: React.FC = ({ - Thank you +
      - for your order! + + +
      - Your order number is {orderNumber} + {" "} + {orderNumber} - We’ve emailed you an order confirmation, and we’ll notify you the when - order has been shipped. +
      From 7c65d1faaf59afbe204efcaedd948e1ac228494d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 13:08:12 +0200 Subject: [PATCH 082/120] Translate ProductVariantPicker --- .../ProductVariantAttributeSelect.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx b/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx index 7c202523d1..8066c5fd81 100644 --- a/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx +++ b/src/@next/components/organisms/ProductVariantPicker/ProductVariantAttributeSelect.tsx @@ -1,4 +1,5 @@ import React, { useEffect } from "react"; +import { useIntl } from "react-intl"; import { Icon, Input } from "@components/atoms"; import { InputSelect } from "@components/molecules"; @@ -39,6 +40,7 @@ export const ProductVariantAttributeSelect: React.FC<{ productVariants, productVariantsAttributesSelectedValues ); + const intl = useIntl(); const selectedAttribute = productVariantsAttributesSelectedValues && @@ -130,7 +132,12 @@ export const ProductVariantAttributeSelect: React.FC<{ options={attributeOptions} selectedOptions={selectedValuesList} disabledOptions={disabledValuesList} - title={`Please select ${selectLabel}`} + title={intl.formatMessage( + { + defaultMessage: "Please select {selectLabel}", + }, + { selectLabel } + )} show={showSelectSidebar} hide={() => setShowSelectSidebar(false)} onSelect={handleSelectValueInSidebar} From bb331806c55ab46f5bcf3a687f56619319e2e43e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 13:09:39 +0200 Subject: [PATCH 083/120] Translate ProductList --- src/@next/components/organisms/ProductList/ProductList.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/@next/components/organisms/ProductList/ProductList.tsx b/src/@next/components/organisms/ProductList/ProductList.tsx index ccf3bbdd9e..f8f6d618fc 100755 --- a/src/@next/components/organisms/ProductList/ProductList.tsx +++ b/src/@next/components/organisms/ProductList/ProductList.tsx @@ -1,4 +1,5 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { Link } from "react-router-dom"; import { Button, Loader } from "@components/atoms"; @@ -38,7 +39,7 @@ export const ProductList: React.FC = ({ color="secondary" onClick={onLoadMore} > - More + + ) )} From 62579432b83d91a4e864c3c2cfe743bfe8796e99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 13:13:13 +0200 Subject: [PATCH 084/120] Translate FilterSidebar --- .../components/organisms/FilterSidebar/FilterSidebar.tsx | 6 +++++- src/intl.ts | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/@next/components/organisms/FilterSidebar/FilterSidebar.tsx b/src/@next/components/organisms/FilterSidebar/FilterSidebar.tsx index 4b1a7eb993..4e22568993 100755 --- a/src/@next/components/organisms/FilterSidebar/FilterSidebar.tsx +++ b/src/@next/components/organisms/FilterSidebar/FilterSidebar.tsx @@ -1,8 +1,10 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { IconButton } from "@components/atoms"; import { AttributeValuesChecklist } from "@components/molecules"; import { useHandlerWhenClickedOutside } from "@hooks"; +import { commonMessages } from "@temp/intl"; import { Overlay } from ".."; import { IFilters, ISingleFilterAttribute } from "../../../types"; @@ -45,7 +47,9 @@ export const FilterSidebar: React.FC = ({ > - FILTERS + + + Date: Tue, 23 Jun 2020 13:18:07 +0200 Subject: [PATCH 085/120] Translate ProductListHeader --- .../molecules/ProductListHeader/ProductListHeader.tsx | 10 +++++++--- src/intl.ts | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/@next/components/molecules/ProductListHeader/ProductListHeader.tsx b/src/@next/components/molecules/ProductListHeader/ProductListHeader.tsx index f3bc3000f3..82204d771b 100755 --- a/src/@next/components/molecules/ProductListHeader/ProductListHeader.tsx +++ b/src/@next/components/molecules/ProductListHeader/ProductListHeader.tsx @@ -1,6 +1,8 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { Chip, DropdownSelect, Icon } from "@components/atoms"; +import { commonMessages } from "@temp/intl"; import * as S from "./styles"; import { IProps } from "./types"; @@ -23,7 +25,7 @@ export const ProductListHeader: React.FC = ({ - FILTERS{" "} + {" "} {activeFilters > 0 && ( <> ({activeFilters}) @@ -33,14 +35,16 @@ export const ProductListHeader: React.FC = ({ {activeFilters > 0 && ( - CLEAR FILTERS + )} - Products found: + + {" "} + {numberOfProducts} diff --git a/src/intl.ts b/src/intl.ts index 118f97e862..ef9824a9c1 100644 --- a/src/intl.ts +++ b/src/intl.ts @@ -91,6 +91,9 @@ export const commonMessages = defineMessages({ filterHeader: { defaultMessage: "FILTERS", }, + clearFilterHeader: { + defaultMessage: "CLEAR FILTERS", + }, }); export const checkoutMessages = defineMessages({ From 411cb321646b46220c2a23cf4f5b99a94922c17c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 13:20:21 +0200 Subject: [PATCH 086/120] Translate ProductDescription --- .../molecules/ProductDescription/ProductDescription.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/@next/components/molecules/ProductDescription/ProductDescription.tsx b/src/@next/components/molecules/ProductDescription/ProductDescription.tsx index 47b4c0a1ea..60fe9b3865 100755 --- a/src/@next/components/molecules/ProductDescription/ProductDescription.tsx +++ b/src/@next/components/molecules/ProductDescription/ProductDescription.tsx @@ -1,4 +1,5 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { RichTextContent } from "@components/atoms"; @@ -31,7 +32,7 @@ export const ProductDescription: React.FC = ({ setActiveTab(TABS.DESCRIPTION); }} > - DESCRIPTION + = ({ setActiveTab(TABS.ATTRIBUTES); }} > - ATTRIBUTES + {activeTab === TABS.DESCRIPTION && From ffa1da6bc9c7286db2f632654416352307829648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 13:25:08 +0200 Subject: [PATCH 087/120] Translate OrderTabel --- .../molecules/OrderTabel/OrderTabel.tsx | 26 +++++++++++++------ src/intl.ts | 3 +++ 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/@next/components/molecules/OrderTabel/OrderTabel.tsx b/src/@next/components/molecules/OrderTabel/OrderTabel.tsx index dfe7f1f5ed..74b482dedc 100755 --- a/src/@next/components/molecules/OrderTabel/OrderTabel.tsx +++ b/src/@next/components/molecules/OrderTabel/OrderTabel.tsx @@ -1,8 +1,10 @@ import React from "react"; +import { FormattedMessage, FormattedDate } from "react-intl"; import Media from "react-media"; import { ThemeContext } from "styled-components"; import { TaxedMoney } from "@components/containers"; +import { commonMessages } from "@temp/intl"; import { Thumbnail } from ".."; import { generateProductUrl } from "../../../../core/utils"; @@ -12,15 +14,25 @@ import { IProps } from "./types"; const header = (matches: boolean) => ( - Index Number + + + {matches && ( <> - Products Ordered - Date of Order - Value + + + + + + + + + )} - Status + + + ); @@ -74,9 +86,7 @@ export const OrderTabel: React.FC = ({ orders, history }: IProps) => { ))} - {`${ - date.getMonth() + 1 - }/${date.getDate()}/${date.getFullYear()}`} + diff --git a/src/intl.ts b/src/intl.ts index ef9824a9c1..7008bf7f2c 100644 --- a/src/intl.ts +++ b/src/intl.ts @@ -94,6 +94,9 @@ export const commonMessages = defineMessages({ clearFilterHeader: { defaultMessage: "CLEAR FILTERS", }, + status: { + defaultMessage: "Status", + }, }); export const checkoutMessages = defineMessages({ From f2cc977e99fb6331d899eec92f37043d79628d86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 15:13:55 +0200 Subject: [PATCH 088/120] Translate ResetPasswordForm --- .../ResetPasswordForm/ResetPasswordForm.tsx | 19 +++++++++++++------ src/intl.ts | 3 +++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/@next/components/molecules/ResetPasswordForm/ResetPasswordForm.tsx b/src/@next/components/molecules/ResetPasswordForm/ResetPasswordForm.tsx index b8f2ffdbfd..179fc248fe 100755 --- a/src/@next/components/molecules/ResetPasswordForm/ResetPasswordForm.tsx +++ b/src/@next/components/molecules/ResetPasswordForm/ResetPasswordForm.tsx @@ -1,6 +1,8 @@ import React from "react"; +import { FormattedMessage, useIntl } from "react-intl"; import { Button } from "@components/atoms"; +import { commonMessages } from "@temp/intl"; import { TextField } from "../TextField"; import * as S from "./styles"; @@ -15,20 +17,25 @@ export const ResetPasswordForm: React.FC = ({ passwordError, errors, }: IProps) => { + const intl = useIntl(); return ( -

      Reset your password

      +

      + +

      -

      Please provide new password

      +

      + +

      {tokenError && ( - It seems that token for password reset is not valid anymore. + )}
      = ({ } /> = ({
      diff --git a/src/intl.ts b/src/intl.ts index 7008bf7f2c..fea1ff0e05 100644 --- a/src/intl.ts +++ b/src/intl.ts @@ -97,6 +97,9 @@ export const commonMessages = defineMessages({ status: { defaultMessage: "Status", }, + cancel: { + defaultMessage: "Cancel", + }, }); export const checkoutMessages = defineMessages({ From 5590e593410853e36744572a25df90a4c35e029c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 15:18:44 +0200 Subject: [PATCH 089/120] Translate CartSummaryRow --- .../molecules/CartSummaryRow/CartSummaryRow.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/@next/components/molecules/CartSummaryRow/CartSummaryRow.tsx b/src/@next/components/molecules/CartSummaryRow/CartSummaryRow.tsx index 4856d4a205..9a81ccfc4a 100755 --- a/src/@next/components/molecules/CartSummaryRow/CartSummaryRow.tsx +++ b/src/@next/components/molecules/CartSummaryRow/CartSummaryRow.tsx @@ -1,6 +1,8 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { TaxedMoney } from "@components/containers"; +import { commonMessages } from "@temp/intl"; import { CachedImage } from "../CachedImage"; import * as S from "./styles"; @@ -21,10 +23,14 @@ const CartSummaryRow: React.FC = ({ {name} - SKU: {sku} + + {": "} + {sku} - Quantity: {quantity} + + {": "} + {quantity} From 7c42cf1e63a7e13ae11f94770eb8136f5738e109 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 15:21:38 +0200 Subject: [PATCH 090/120] Translate CartSummary --- src/@next/components/organisms/CartSummary/CartSummary.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/@next/components/organisms/CartSummary/CartSummary.tsx b/src/@next/components/organisms/CartSummary/CartSummary.tsx index ab7405fbf4..32b9be9849 100755 --- a/src/@next/components/organisms/CartSummary/CartSummary.tsx +++ b/src/@next/components/organisms/CartSummary/CartSummary.tsx @@ -1,4 +1,5 @@ import React, { useState } from "react"; +import { FormattedMessage } from "react-intl"; import { Icon } from "@components/atoms"; import { TaxedMoney } from "@components/containers"; @@ -51,7 +52,7 @@ const CartSummary: React.FC = ({ data-test="cartSummaryTitle" onClick={() => setMobileCartOpened(!mobileCartOpened)} > - Cart Summary + From 2370d95f528213f3874e5fcedd60c0d70c6d4bcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 15:24:16 +0200 Subject: [PATCH 091/120] Translate AddNewTile atom --- src/@next/components/atoms/AddNewTile/AddNewTile.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/@next/components/atoms/AddNewTile/AddNewTile.tsx b/src/@next/components/atoms/AddNewTile/AddNewTile.tsx index 54439db51b..d7d122bf75 100755 --- a/src/@next/components/atoms/AddNewTile/AddNewTile.tsx +++ b/src/@next/components/atoms/AddNewTile/AddNewTile.tsx @@ -1,4 +1,5 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { Icon } from "../Icon"; import { Tile } from "../Tile"; @@ -12,7 +13,9 @@ export const AddNewTile: React.FC = ({ type, ...props }: IProps) => {

      -

      Add new {type}

      +

      + +

      ); From 8a53c39d55490e223e5aa15a80e59034c62429ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 15:25:47 +0200 Subject: [PATCH 092/120] Translate DropdownSelect atom --- src/@next/components/atoms/DropdownSelect/DropdownSelect.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/@next/components/atoms/DropdownSelect/DropdownSelect.tsx b/src/@next/components/atoms/DropdownSelect/DropdownSelect.tsx index e6ccd79256..abdee23c6d 100755 --- a/src/@next/components/atoms/DropdownSelect/DropdownSelect.tsx +++ b/src/@next/components/atoms/DropdownSelect/DropdownSelect.tsx @@ -1,4 +1,5 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { components } from "react-select"; import { ThemeContext } from "styled-components"; @@ -24,7 +25,9 @@ export const DropdownSelect: React.FC = ({ const customComponents = { Control: () => ( setMenuIsOpen(!menuIsOpen)}> - + {` ${value ? value.label : ""}`} From dd79a3a29db136e4cd8bda9f9010c748404ee3eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 15:27:43 +0200 Subject: [PATCH 093/120] Translate AccountMenu molecules --- src/@next/components/molecules/AccountMenu/AccountMenu.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/@next/components/molecules/AccountMenu/AccountMenu.tsx b/src/@next/components/molecules/AccountMenu/AccountMenu.tsx index 524c2b033e..ab5b943ce1 100755 --- a/src/@next/components/molecules/AccountMenu/AccountMenu.tsx +++ b/src/@next/components/molecules/AccountMenu/AccountMenu.tsx @@ -1,13 +1,17 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { Link } from "react-router-dom"; +import { commonMessages } from "@temp/intl"; import * as S from "./styles"; import { IProps } from "./types"; export const AccountMenu: React.FC = ({ links, active }: IProps) => { return ( - MY ACCOUNT + + + {links.map(link => { const menuItem = link .replace(/\//g, "") From 79022ec352091691db2b6cb4a519977e1ea2466b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 15:39:16 +0200 Subject: [PATCH 094/120] Translate AccountTabTiles molecules --- .../molecules/AccountTabTiles/AccountTile.tsx | 13 ++++--- .../AccountTabTiles/AccountUpdateForm.tsx | 12 ++++--- .../AccountTabTiles/PasswordChangeForm.tsx | 35 +++++++++++++------ .../AccountTabTiles/PasswordTile.tsx | 7 ++-- 4 files changed, 47 insertions(+), 20 deletions(-) diff --git a/src/@next/components/molecules/AccountTabTiles/AccountTile.tsx b/src/@next/components/molecules/AccountTabTiles/AccountTile.tsx index f9395edbd4..6b8fadbc3f 100644 --- a/src/@next/components/molecules/AccountTabTiles/AccountTile.tsx +++ b/src/@next/components/molecules/AccountTabTiles/AccountTile.tsx @@ -1,5 +1,7 @@ import React from "react"; +import { FormattedMessage, useIntl } from "react-intl"; +import { commonMessages } from "@temp/intl"; import { useAccountUpdate, useUserDetails } from "@saleor/sdk"; import { Attribute, IconButton, Tile } from "@components/atoms"; @@ -11,6 +13,7 @@ export const AccountTile: React.FC = () => { const [isEditing, setIsEditing] = React.useState(false); const [setAccountUpdate, { data, error }] = useAccountUpdate(); const { data: user } = useUserDetails(); + const intl = useIntl(); React.useEffect(() => { if (data && !error) { @@ -21,10 +24,12 @@ export const AccountTile: React.FC = () => { - MY DATA + + + - Personal details + {!isEditing && ( { ) : ( diff --git a/src/@next/components/molecules/AccountTabTiles/AccountUpdateForm.tsx b/src/@next/components/molecules/AccountTabTiles/AccountUpdateForm.tsx index 50ecc28d57..6ae3eddb9c 100644 --- a/src/@next/components/molecules/AccountTabTiles/AccountUpdateForm.tsx +++ b/src/@next/components/molecules/AccountTabTiles/AccountUpdateForm.tsx @@ -1,6 +1,9 @@ import { Formik } from "formik"; import React from "react"; +import { useIntl, FormattedMessage } from "react-intl"; import { Button, ButtonLink } from "@components/atoms"; +import { commonMessages } from "@temp/intl"; + import { TextField } from "../TextField"; import * as S from "./styles"; @@ -13,6 +16,7 @@ export const AccountUpdateForm: React.FC<{ lastName: string; }; }> = ({ handleSubmit, hide, initialValues }) => { + const intl = useIntl(); return ( <> - Cancel + diff --git a/src/@next/components/molecules/AccountTabTiles/PasswordChangeForm.tsx b/src/@next/components/molecules/AccountTabTiles/PasswordChangeForm.tsx index 50afde3085..16629cfb24 100644 --- a/src/@next/components/molecules/AccountTabTiles/PasswordChangeForm.tsx +++ b/src/@next/components/molecules/AccountTabTiles/PasswordChangeForm.tsx @@ -1,7 +1,9 @@ import { Formik } from "formik"; import React from "react"; +import { useIntl, FormattedMessage } from "react-intl"; import { Button, ButtonLink } from "@components/atoms"; +import { commonMessages } from "@temp/intl"; import { IFormError } from "@types"; import { TextField } from "../TextField"; import * as S from "./styles"; @@ -11,6 +13,7 @@ export const PasswordChangeForm: React.FC<{ hide: () => void; error?: IFormError[]; }> = ({ handleSubmit, hide, error }) => { + const intl = useIntl(); const fieldErrors: any = {}; if (error) { @@ -45,17 +48,27 @@ export const PasswordChangeForm: React.FC<{ newPassword?: string; } = {}; if (!values.confirmPassword) { - errors.confirmPassword = "Required field"; + errors.confirmPassword = intl.formatMessage({ + defaultMessage: "Required field", + }); } if (!values.newPassword) { - errors.newPassword = "Required field"; + errors.newPassword = intl.formatMessage({ + defaultMessage: "Required field", + }); } if (!values.oldPassword) { - errors.oldPassword = "Required field"; + errors.oldPassword = intl.formatMessage({ + defaultMessage: "Required field", + }); } if (values.confirmPassword !== values.newPassword) { - errors.confirmPassword = "Passwords do not match"; - errors.newPassword = "Passwords do not match"; + errors.confirmPassword = intl.formatMessage({ + defaultMessage: "Passwords do not match", + }); + errors.newPassword = intl.formatMessage({ + defaultMessage: "Passwords do not match", + }); } return errors; }} @@ -74,7 +87,7 @@ export const PasswordChangeForm: React.FC<{ - Cancel + diff --git a/src/@next/components/molecules/AccountTabTiles/PasswordTile.tsx b/src/@next/components/molecules/AccountTabTiles/PasswordTile.tsx index 716f32067b..f15bc5b18c 100755 --- a/src/@next/components/molecules/AccountTabTiles/PasswordTile.tsx +++ b/src/@next/components/molecules/AccountTabTiles/PasswordTile.tsx @@ -1,6 +1,8 @@ import React from "react"; +import { FormattedMessage, useIntl } from "react-intl"; import { Attribute, IconButton, Tile } from "@components/atoms"; +import { commonMessages } from "@temp/intl"; import { usePasswordChange } from "@saleor/sdk"; import { PasswordChangeForm } from "./PasswordChangeForm"; @@ -9,6 +11,7 @@ import * as S from "./styles"; export const PasswordTile: React.FC = () => { const [isEditing, setIsEditing] = React.useState(false); const [setPasswordChange, { data, error }] = usePasswordChange(); + const intl = useIntl(); React.useEffect(() => { if (data && !error) { @@ -20,7 +23,7 @@ export const PasswordTile: React.FC = () => { - MY PASSWORD + {!isEditing && ( { ) : ( )} From 3ddc2cf3a7a30348012f6478178dd197fbb18baa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 15:43:03 +0200 Subject: [PATCH 095/120] Translate AddressTile molecule --- .../molecules/AddressTile/AddressTile.tsx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/@next/components/molecules/AddressTile/AddressTile.tsx b/src/@next/components/molecules/AddressTile/AddressTile.tsx index 1f8d81d3e7..a7ff5f8765 100755 --- a/src/@next/components/molecules/AddressTile/AddressTile.tsx +++ b/src/@next/components/molecules/AddressTile/AddressTile.tsx @@ -1,4 +1,5 @@ import React from "react"; +import { useIntl, FormattedMessage } from "react-intl"; import { Address, DropdownMenu, IconButton, Tile } from "@components/atoms"; @@ -6,10 +7,14 @@ import * as S from "./styles"; import { IProps } from "./types"; const defaultShippingAddress = ( - Set as default shipping address + + + ); const defaultBillingAddress = ( - Set as default billing address + + + ); export const AddressTile: React.FC = ({ @@ -18,6 +23,7 @@ export const AddressTile: React.FC = ({ setDefault, address, }: IProps) => { + const intl = useIntl(); const header = ( = ({ /> {address.isDefaultBillingAddress && address.isDefaultShippingAddress - ? "Default Address" + ? intl.formatMessage({ defaultMessage: "Default Address" }) : address.isDefaultShippingAddress - ? "Default Shipping Address" + ? intl.formatMessage({ defaultMessage: "Default Shipping Address" }) : address.isDefaultBillingAddress - ? "Default Billing Address" + ? intl.formatMessage({ defaultMessage: "Default Billing Address" }) : null} ); From 384e252d366a5e014bf675d51541edf136851d7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 15:45:42 +0200 Subject: [PATCH 096/120] Translate AttributeValuesChecklist molecule --- .../AttributeValuesChecklist/AttributeValuesChecklist.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/@next/components/molecules/AttributeValuesChecklist/AttributeValuesChecklist.tsx b/src/@next/components/molecules/AttributeValuesChecklist/AttributeValuesChecklist.tsx index 839b04b81b..68bb25e357 100755 --- a/src/@next/components/molecules/AttributeValuesChecklist/AttributeValuesChecklist.tsx +++ b/src/@next/components/molecules/AttributeValuesChecklist/AttributeValuesChecklist.tsx @@ -1,4 +1,5 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { ButtonLink, Checkbox } from "@components/atoms"; @@ -41,7 +42,7 @@ export const AttributeValuesChecklist: React.FC = ({ color="secondary" onClick={() => setViewAllOptions(true)} > - VIEW ALL OPTIONS + )} From 0d2875d857dc8cd8250ba5c6b3d72dd6cee0b8df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 20:46:02 +0200 Subject: [PATCH 097/120] Translate CheckoutProgressBar --- .../CheckoutProgressBar.tsx | 29 +++++++++++++++++-- src/@next/pages/CheckoutPage/CheckoutPage.tsx | 20 ++++++++++--- 2 files changed, 42 insertions(+), 7 deletions(-) diff --git a/src/@next/components/molecules/CheckoutProgressBar/CheckoutProgressBar.tsx b/src/@next/components/molecules/CheckoutProgressBar/CheckoutProgressBar.tsx index e991cafe96..ae7f175e71 100755 --- a/src/@next/components/molecules/CheckoutProgressBar/CheckoutProgressBar.tsx +++ b/src/@next/components/molecules/CheckoutProgressBar/CheckoutProgressBar.tsx @@ -1,5 +1,7 @@ import React from "react"; +import { useIntl, IntlShape } from "react-intl"; import { Link } from "react-router-dom"; +import { checkoutMessages } from "@temp/intl"; import * as S from "./styles"; import { IProps, IStep } from "./types"; @@ -50,13 +52,33 @@ const generateProgressBar = ( } }; -const generateSteps = (steps: IStep[], currentActive: number) => { +const generateSteps = ( + steps: IStep[], + currentActive: number, + intl: IntlShape +) => { return steps?.map(step => { + let { name } = step; + /* eslint-disable default-case */ + switch (step.name) { + case "Address": + name = intl.formatMessage(checkoutMessages.stepNameAddress); + break; + case "Shipping": + name = intl.formatMessage(checkoutMessages.stepNameShipping); + break; + case "Payment": + name = intl.formatMessage(checkoutMessages.stepNamePayment); + break; + case "Review": + name = intl.formatMessage(checkoutMessages.stepNameReview); + break; + } return ( {generateDot(step.index, currentActive)} - {generateLabel(step.index, step.name, steps.length)} + {generateLabel(step.index, name, steps.length)} {generateProgressBar(step.index, currentActive, steps.length)} @@ -71,7 +93,8 @@ const CheckoutProgressBar: React.FC = ({ steps, activeStep, }: IProps) => { - return {generateSteps(steps, activeStep)}; + const intl = useIntl(); + return {generateSteps(steps, activeStep, intl)}; }; export { CheckoutProgressBar }; diff --git a/src/@next/pages/CheckoutPage/CheckoutPage.tsx b/src/@next/pages/CheckoutPage/CheckoutPage.tsx index c3022e85d3..b2c34efc58 100755 --- a/src/@next/pages/CheckoutPage/CheckoutPage.tsx +++ b/src/@next/pages/CheckoutPage/CheckoutPage.tsx @@ -9,6 +9,7 @@ import { Checkout } from "@components/templates"; import { useCart, useCheckout } from "@saleor/sdk"; import { IItems } from "@saleor/sdk/lib/api/Cart/types"; import { CHECKOUT_STEPS } from "@temp/core/config"; +import { checkoutMessages } from "@temp/intl"; import { ITaxedMoney } from "@types"; import { CheckoutRouter } from "./CheckoutRouter"; @@ -234,6 +235,20 @@ const CheckoutPage: React.FC = ({}: IProps) => { ({ variant }) => variant.product?.productType.isShippingRequired ); + let buttonText = activeStep.nextActionName; + /* eslint-disable default-case */ + switch (activeStep.nextActionName) { + case "Continue to Shipping": + buttonText = intl.formatMessage(checkoutMessages.addressNextActionName); + break; + case "Continue to Payment": + buttonText = intl.formatMessage(checkoutMessages.shippingNextActionName); + break; + case "Continue to Review": + buttonText = intl.formatMessage(checkoutMessages.paymentNextActionName); + break; + } + return ( = ({}: IProps) => { items )} checkout={checkoutView} - button={getButton( - intl.formatMessage(activeStep.nextActionName).toUpperCase(), - handleNextStepClick - )} + button={getButton(buttonText.toUpperCase(), handleNextStepClick)} /> ); }; From 6c16b179be50bd88a68aea5697325a30ce8a0c56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 20:55:52 +0200 Subject: [PATCH 098/120] Translate AddressForm --- .../AddressForm/AddressFormContent.tsx | 28 +++++++++++-------- src/intl.ts | 6 ++++ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/@next/components/organisms/AddressForm/AddressFormContent.tsx b/src/@next/components/organisms/AddressForm/AddressFormContent.tsx index 693c9da325..1865916f89 100644 --- a/src/@next/components/organisms/AddressForm/AddressFormContent.tsx +++ b/src/@next/components/organisms/AddressForm/AddressFormContent.tsx @@ -1,6 +1,8 @@ import React, { useCallback } from "react"; +import { useIntl } from "react-intl"; import { InputSelect, TextField } from "@components/molecules"; +import { commonMessages } from "@temp/intl"; import * as S from "./styles"; import { PropsWithFormik } from "./types"; @@ -23,7 +25,7 @@ export const AddressFormContent: React.FC = ({ () => ({ onBlur: handleBlur, onChange: handleChange }), [handleChange, handleBlur] ); - + const intl = useIntl(); const fieldErrors: any = {}; if (errors) { @@ -45,7 +47,7 @@ export const AddressFormContent: React.FC = ({ = ({ /> = ({ = ({ /> = ({ = ({ = ({ = ({ /> = ({ = ({ /> = ({ Date: Tue, 23 Jun 2020 20:57:47 +0200 Subject: [PATCH 099/120] Translate AddressGridSelector --- .../organisms/AddressGridSelector/AddressGridSelector.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/@next/components/organisms/AddressGridSelector/AddressGridSelector.tsx b/src/@next/components/organisms/AddressGridSelector/AddressGridSelector.tsx index 644028dbff..69ac533dc7 100755 --- a/src/@next/components/organisms/AddressGridSelector/AddressGridSelector.tsx +++ b/src/@next/components/organisms/AddressGridSelector/AddressGridSelector.tsx @@ -1,8 +1,10 @@ import { Formik } from "formik"; import React, { useState } from "react"; +import { useIntl } from "react-intl"; import { AddNewTile, ErrorMessage, TileGrid } from "@components/atoms"; import { AddressTileOption } from "@components/molecules"; +import { checkoutMessages } from "@temp/intl"; import { AddressFormModal } from "../AddressFormModal"; @@ -24,12 +26,13 @@ const AddressGridSelector: React.FC = ({ newAddressFormId, }: IProps) => { const [displayNewModal, setDisplayNewModal] = useState(false); + const intl = useIntl(); const addNewTile = ( setDisplayNewModal(true)} /> ); @@ -96,7 +99,7 @@ const AddressGridSelector: React.FC = ({ setDisplayNewModal(false); }} submitBtnText="Add" - title="Add new address" + title={intl.formatMessage(checkoutMessages.addNewAddress)} countriesOptions={countriesOptions} formId={newAddressFormId} userId={userId} From d3acb4b500954e12e5e6166a77601329ca9a6019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 21:05:03 +0200 Subject: [PATCH 100/120] Translate Checkout --- .../CheckoutAddress/CheckoutAddress.tsx | 6 ++++- .../CheckoutPayment/CheckoutPayment.tsx | 14 ++++++++---- .../CheckoutReview/CheckoutReview.tsx | 22 ++++++++++++++----- .../CheckoutShipping/CheckoutShipping.tsx | 6 ++++- 4 files changed, 37 insertions(+), 11 deletions(-) diff --git a/src/@next/components/organisms/CheckoutAddress/CheckoutAddress.tsx b/src/@next/components/organisms/CheckoutAddress/CheckoutAddress.tsx index 5093541831..079d81c7f9 100755 --- a/src/@next/components/organisms/CheckoutAddress/CheckoutAddress.tsx +++ b/src/@next/components/organisms/CheckoutAddress/CheckoutAddress.tsx @@ -1,5 +1,7 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; +import { checkoutMessages } from "@temp/intl"; import { filterNotEmptyArrayItems } from "@utils/misc"; import { AddressForm } from "../AddressForm"; @@ -26,7 +28,9 @@ const CheckoutAddress: React.FC = ({ }: IProps) => { return (
      - SHIPPING ADDRESS + + + {userAddresses ? ( = ({ return (
      - BILLING ADDRESS + + + {billingAsShippingPossible && ( = ({ setBillingAsShippingAddress(!billingAsShippingAddress) } > - Same as shipping address + )} {!billingAsShippingAddress && ( @@ -138,14 +142,16 @@ const CheckoutPayment: React.FC = ({
      - PAYMENT METHOD + + + - Do you have a gift card voucher or discount code? + {showPromoCodeForm && ( diff --git a/src/@next/components/organisms/CheckoutReview/CheckoutReview.tsx b/src/@next/components/organisms/CheckoutReview/CheckoutReview.tsx index 68bc8d6e89..a3cfd8ae4e 100755 --- a/src/@next/components/organisms/CheckoutReview/CheckoutReview.tsx +++ b/src/@next/components/organisms/CheckoutReview/CheckoutReview.tsx @@ -1,7 +1,9 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { ErrorMessage } from "@components/atoms"; import { AddressSummary } from "@components/molecules"; +import { checkoutMessages } from "@temp/intl"; import * as S from "./styles"; import { IProps } from "./types"; @@ -19,27 +21,37 @@ const CheckoutReview: React.FC = ({ }: IProps) => { return ( - REVIEW ORDER + + +
      - Shipping Address + + +
      - Billing Address + + +
      - Shipping Method + + + {shippingMethodName}
      - Payment Method + + + {paymentMethodName} diff --git a/src/@next/components/organisms/CheckoutShipping/CheckoutShipping.tsx b/src/@next/components/organisms/CheckoutShipping/CheckoutShipping.tsx index 59f5dad9c1..fbfd29125b 100755 --- a/src/@next/components/organisms/CheckoutShipping/CheckoutShipping.tsx +++ b/src/@next/components/organisms/CheckoutShipping/CheckoutShipping.tsx @@ -1,8 +1,10 @@ import { Formik } from "formik"; import React from "react"; +import { FormattedMessage } from "react-intl"; import { ErrorMessage, Radio } from "@components/atoms"; import { Money } from "@components/containers"; +import { checkoutMessages } from "@temp/intl"; import * as S from "./styles"; import { IProps } from "./types"; @@ -20,7 +22,9 @@ const CheckoutShipping: React.FC = ({ }: IProps) => { return (
      - SHIPPING METHOD + + + Date: Tue, 23 Jun 2020 22:25:02 +0200 Subject: [PATCH 101/120] Translate CheckoutLogin --- src/components/CheckoutLogin/CheckoutAsGuest.tsx | 14 ++++++++------ src/components/CheckoutLogin/SignInForm.tsx | 5 ++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/components/CheckoutLogin/CheckoutAsGuest.tsx b/src/components/CheckoutLogin/CheckoutAsGuest.tsx index 4530f42e46..8b264b8d72 100644 --- a/src/components/CheckoutLogin/CheckoutAsGuest.tsx +++ b/src/components/CheckoutLogin/CheckoutAsGuest.tsx @@ -1,4 +1,5 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { Link } from "react-router-dom"; import { Button, OverlayTheme, OverlayType } from ".."; @@ -9,25 +10,26 @@ const CheckoutAsGuest: React.FC<{ checkoutUrl: string; }> = ({ overlay, checkoutUrl }) => (
      -

      Continue as a guest

      +

      + +

      - If you don’t wish to register an account, don’t worry. You can checkout as - a guest. We care about you just as much as any registered user. +

      - or you can{" "} + {" "} overlay.show(OverlayType.register, OverlayTheme.right)} > - create an account +

      diff --git a/src/components/CheckoutLogin/SignInForm.tsx b/src/components/CheckoutLogin/SignInForm.tsx index 4b48ddae95..6bf3636646 100644 --- a/src/components/CheckoutLogin/SignInForm.tsx +++ b/src/components/CheckoutLogin/SignInForm.tsx @@ -1,4 +1,5 @@ import React from "react"; +import { FormattedMessage } from "react-intl"; import { LoginForm } from ".."; import ForgottenPassword from "../OverlayManager/Login/ForgottenPassword"; @@ -6,7 +7,9 @@ const SignInForm: React.FC<{ onClick: () => void; }> = ({ onClick }) => ( <> -

      Registered user

      +

      + +

      From a419684ae872d1755ea7784b5d8982529e5420ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 21:41:07 +0200 Subject: [PATCH 102/120] Initial default messages --- locale/defaultMessages.json | 489 +++++++++++++++++++++++++++++++++++- 1 file changed, 488 insertions(+), 1 deletion(-) diff --git a/locale/defaultMessages.json b/locale/defaultMessages.json index 0967ef424b..8fecc4e551 100644 --- a/locale/defaultMessages.json +++ b/locale/defaultMessages.json @@ -1 +1,488 @@ -{} +{ + "@next_dot_components_dot_atoms_dot_AddNewTile_dot_AddNewTile_dot_2493765518": { + "string": "Add new {type}" + }, + "@next_dot_components_dot_atoms_dot_DropdownSelect_dot_DropdownSelect_dot_3280510613": { + "string": "Sort by:" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_AccountTile_dot_3253048083": { + "string": "Personal details" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_AccountTile_dot_3843483622": { + "string": "MY DATA" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordChangeForm_dot_1254879564": { + "string": "New Password" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordChangeForm_dot_2218114941": { + "string": "Old Password" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordChangeForm_dot_2369435044": { + "string": "Required field" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordChangeForm_dot_2799926859": { + "string": "Confirm Password" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordChangeForm_dot_4253911811": { + "string": "Passwords do not match" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordTile_dot_3445609170": { + "string": "MY PASSWORD" + }, + "@next_dot_components_dot_molecules_dot_AddressTile_dot_AddressTile_dot_1224809208": { + "string": "Default Address" + }, + "@next_dot_components_dot_molecules_dot_AddressTile_dot_AddressTile_dot_1578192486": { + "string": "Default Billing Address" + }, + "@next_dot_components_dot_molecules_dot_AddressTile_dot_AddressTile_dot_2131178753": { + "string": "Set as default shipping address" + }, + "@next_dot_components_dot_molecules_dot_AddressTile_dot_AddressTile_dot_3096438859": { + "string": "Set as default billing address" + }, + "@next_dot_components_dot_molecules_dot_AddressTile_dot_AddressTile_dot_4109348993": { + "string": "Default Shipping Address" + }, + "@next_dot_components_dot_molecules_dot_AttributeValuesChecklist_dot_AttributeValuesChecklist_dot_2029012727": { + "string": "VIEW ALL OPTIONS" + }, + "@next_dot_components_dot_molecules_dot_OrderTabel_dot_OrderTabel_dot_1148029984": { + "string": "Value" + }, + "@next_dot_components_dot_molecules_dot_OrderTabel_dot_OrderTabel_dot_1633831221": { + "string": "Date of Order" + }, + "@next_dot_components_dot_molecules_dot_OrderTabel_dot_OrderTabel_dot_2387666633": { + "string": "Index Number" + }, + "@next_dot_components_dot_molecules_dot_OrderTabel_dot_OrderTabel_dot_724329054": { + "string": "Products Ordered" + }, + "@next_dot_components_dot_molecules_dot_ProductDescription_dot_ProductDescription_dot_2623707255": { + "string": "DESCRIPTION" + }, + "@next_dot_components_dot_molecules_dot_ProductDescription_dot_ProductDescription_dot_308156425": { + "string": "ATTRIBUTES" + }, + "@next_dot_components_dot_molecules_dot_ProductListHeader_dot_ProductListHeader_dot_3317426832": { + "string": "Products found:" + }, + "@next_dot_components_dot_molecules_dot_ResetPasswordForm_dot_ResetPasswordForm_dot_1865992141": { + "string": "Please provide new password" + }, + "@next_dot_components_dot_molecules_dot_ResetPasswordForm_dot_ResetPasswordForm_dot_2266763214": { + "string": "Retype password" + }, + "@next_dot_components_dot_molecules_dot_ResetPasswordForm_dot_ResetPasswordForm_dot_2746979176": { + "string": "It seems that token for password reset is not valid anymore." + }, + "@next_dot_components_dot_molecules_dot_ResetPasswordForm_dot_ResetPasswordForm_dot_3951836694": { + "string": "SET NEW PASSWORD" + }, + "@next_dot_components_dot_molecules_dot_ResetPasswordForm_dot_ResetPasswordForm_dot_4028609483": { + "string": "Reset your password" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_1139500589": { + "string": "Country" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_1363074570": { + "string": "Address line 1" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_253031977": { + "string": "City" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_2796540622": { + "string": "ZIP/Postal Code" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_2950411968": { + "string": "Company Name (Optional)" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_3121963259": { + "string": "Address line 2" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_404705399": { + "string": "State/province" + }, + "@next_dot_components_dot_organisms_dot_AddressGridSelector_dot_AddressGridSelector_dot_2132027491": { + "string": "address" + }, + "@next_dot_components_dot_organisms_dot_CartSummary_dot_CartSummary_dot_2088494495": { + "string": "Cart Summary" + }, + "@next_dot_components_dot_organisms_dot_CheckoutPayment_dot_CheckoutPayment_dot_3382401165": { + "string": "Do you have a gift card voucher or discount code?" + }, + "@next_dot_components_dot_organisms_dot_CheckoutPayment_dot_CheckoutPayment_dot_3912924864": { + "string": "Same as shipping address" + }, + "@next_dot_components_dot_organisms_dot_CheckoutReview_dot_CheckoutReview_dot_348821000": { + "string": "Payment Method" + }, + "@next_dot_components_dot_organisms_dot_CheckoutReview_dot_CheckoutReview_dot_3577164776": { + "string": "Shipping Method" + }, + "@next_dot_components_dot_organisms_dot_CheckoutReview_dot_CheckoutReview_dot_4282475982": { + "string": "Billing Address" + }, + "@next_dot_components_dot_organisms_dot_ProductList_dot_ProductList_dot_2783099424": { + "string": "More +" + }, + "@next_dot_components_dot_organisms_dot_ProductVariantPicker_dot_ProductVariantAttributeSelect_dot_1125254976": { + "string": "Please select {selectLabel}" + }, + "@next_dot_components_dot_organisms_dot_ThankYou_dot_ThankYou_dot_1585811557": { + "string": "We’ve emailed you an order confirmation, and we’ll notify you the when order has been shipped." + }, + "@next_dot_components_dot_organisms_dot_ThankYou_dot_ThankYou_dot_1995277831": { + "string": "Thank you" + }, + "@next_dot_components_dot_organisms_dot_ThankYou_dot_ThankYou_dot_2116351823": { + "string": "for your order!" + }, + "@next_dot_components_dot_organisms_dot_ThankYou_dot_ThankYou_dot_2999163789": { + "string": "Your order number is" + }, + "@next_dot_components_dot_organisms_dot_ThankYou_dot_ThankYou_dot_3752098833": { + "string": "ORDER DETAILS" + }, + "@next_dot_components_dot_templates_dot_CartEmpty_dot_CartEmpty_dot_2488840083": { + "string": "looks empty" + }, + "@next_dot_components_dot_templates_dot_CartEmpty_dot_CartEmpty_dot_2896212356": { + "string": "Maybe you haven’t made your choices yet" + }, + "@next_dot_components_dot_templates_dot_CartEmpty_dot_CartEmpty_dot_3578601618": { + "string": "Your Cart" + }, + "@next_dot_pages_dot_CartPage_dot_CartPage_dot_1304869656": { + "string": "PROCEED TO CHECKOUT" + }, + "@next_dot_pages_dot_CartPage_dot_CartPage_dot_3173718889": { + "string": "My Cart" + }, + "@next_dot_pages_dot_CheckoutPage_dot_subpages_dot_CheckoutAddressSubpage_dot_3879029924": { + "string": "Please provide email address." + }, + "@next_dot_pages_dot_CheckoutPage_dot_subpages_dot_CheckoutAddressSubpage_dot_929802659": { + "string": "Please provide shipping address." + }, + "account_dot_AddressBook_dot_AddressBook_dot_2776756156": { + "string": "Edit address" + }, + "components_dot_Breadcrumbs_dot_index_dot_1347475195": { + "string": "Back" + }, + "components_dot_Breadcrumbs_dot_index_dot_874908955": { + "string": "Home" + }, + "components_dot_CartTable_dot_Table_dot_1603950169": { + "string": "Delivery Cost" + }, + "components_dot_CartTable_dot_Table_dot_2179891060": { + "string": "Total Cost" + }, + "components_dot_CartTable_dot_Table_dot_2875988277": { + "string": "Discount: {discountName}" + }, + "components_dot_CheckoutLogin_dot_CheckoutAsGuest_dot_1006283488": { + "string": "Continue as a guest" + }, + "components_dot_CheckoutLogin_dot_CheckoutAsGuest_dot_2132450234": { + "string": "create an account" + }, + "components_dot_CheckoutLogin_dot_CheckoutAsGuest_dot_3896074202": { + "string": "or you can" + }, + "components_dot_CheckoutLogin_dot_CheckoutAsGuest_dot_647198093": { + "string": "If you don’t wish to register an account, don’t worry. You can checkout as a guest. We care about you just as much as any registered user." + }, + "components_dot_CheckoutLogin_dot_SignInForm_dot_2856837597": { + "string": "Registered user" + }, + "components_dot_LoginForm_dot_index_dot_1405865627": { + "string": "Sign in" + }, + "components_dot_OverlayManager_dot_Cart_dot_Cart_dot_1316031908": { + "string": "My bag," + }, + "components_dot_OverlayManager_dot_Cart_dot_Cart_dot_2287516380": { + "string": "items" + }, + "components_dot_OverlayManager_dot_Cart_dot_Cart_dot_2426849470": { + "string": "Go to my bag" + }, + "components_dot_OverlayManager_dot_Cart_dot_Empty_dot_3515754810": { + "string": "Continue Shopping" + }, + "components_dot_OverlayManager_dot_Cart_dot_Empty_dot_4121934554": { + "string": "You haven’t added anything to your bag. We’re sure you’ll find something in our store" + }, + "components_dot_OverlayManager_dot_Cart_dot_Empty_dot_966560142": { + "string": "Your bag is empty" + }, + "components_dot_OverlayManager_dot_Cart_dot_ProductList_dot_3897981513": { + "string": "Qty: {quantity}" + }, + "components_dot_OverlayManager_dot_Login_dot_ForgottenPassword_dot_1214263298": { + "string": "Have you forgotten your password?" + }, + "components_dot_OverlayManager_dot_Login_dot_ForgottenPassword_dot_1781368875": { + "string": "Click Here" + }, + "components_dot_OverlayManager_dot_Login_dot_RegisterForm_dot_2556234295": { + "string": "Register" + }, + "components_dot_OverlayManager_dot_Login_dot_RegisterForm_dot_2622394113": { + "string": "Please check your e-mail for further instructions" + }, + "components_dot_OverlayManager_dot_Login_dot_RegisterForm_dot_590842025": { + "string": "New user has been created" + }, + "components_dot_OverlayManager_dot_Login_dot_index_dot_282922692": { + "string": "Saleor account" + }, + "components_dot_OverlayManager_dot_Login_dot_index_dot_3254057623": { + "string": "Register new account" + }, + "components_dot_OverlayManager_dot_Login_dot_index_dot_3293735236": { + "string": "Sign in to account" + }, + "components_dot_OverlayManager_dot_Password_dot_index_dot_4028609483": { + "string": "Reset your password" + }, + "components_dot_OverlayManager_dot_Search_dot_NothingFound_dot_1777769494": { + "string": "Don’t give up - check the spelling, think of something less specific and then use the search bar above." + }, + "components_dot_OverlayManager_dot_Search_dot_NothingFound_dot_3166222023": { + "string": "Sorry, but we couldn’t match any search results for: {search}" + }, + "components_dot_OverlayManager_dot_Search_dot_Search_dot_4112727608": { + "string": "Show all results" + }, + "components_dot_PasswordResetForm_dot_index_dot_1103897688": { + "string": "Please provide us your email address so we can share you a link to reset\n your password" + }, + "components_dot_PasswordResetForm_dot_index_dot_2925394684": { + "string": "Reset password" + }, + "components_dot_ProductDescription_dot_AddToCartButton_dot_1362724042": { + "string": "Added" + }, + "components_dot_ProductDescription_dot_AddToCart_dot_81047562": { + "string": "Add to basket" + }, + "index_dot_1053546789": { + "string": "To update the application to the latest version, please refresh the page!" + }, + "index_dot_1308518649": { + "string": "Refresh" + }, + "index_dot_1917823234": { + "string": "You are now logged in" + }, + "index_dot_2378877294": { + "string": "You are now logged out" + }, + "index_dot_795565": { + "string": "New version is available!" + }, + "intl_dot_checkoutMessages_dot_addNewAddress": { + "string": "Add new address" + }, + "intl_dot_checkoutMessages_dot_addressNextActionName": { + "string": "Continue to Shipping" + }, + "intl_dot_checkoutMessages_dot_billingAddress": { + "string": "BILLING ADDRESS" + }, + "intl_dot_checkoutMessages_dot_continueShopping": { + "string": "CONTINUE SHOPPING" + }, + "intl_dot_checkoutMessages_dot_paymentMethod": { + "string": "PAYMENT METHOD" + }, + "intl_dot_checkoutMessages_dot_paymentNextActionName": { + "string": "Continue to Review" + }, + "intl_dot_checkoutMessages_dot_reviewNextActionName": { + "string": "Place order" + }, + "intl_dot_checkoutMessages_dot_reviewOrder": { + "string": "REVIEW ORDER" + }, + "intl_dot_checkoutMessages_dot_shippingAddress": { + "string": "Shipping Address" + }, + "intl_dot_checkoutMessages_dot_shippingMethod": { + "string": "SHIPPING METHOD" + }, + "intl_dot_checkoutMessages_dot_shippingNextActionName": { + "string": "Continue to Payment" + }, + "intl_dot_checkoutMessages_dot_stepNameAddress": { + "string": "Address" + }, + "intl_dot_checkoutMessages_dot_stepNamePayment": { + "string": "Payment" + }, + "intl_dot_checkoutMessages_dot_stepNameReview": { + "string": "Review" + }, + "intl_dot_checkoutMessages_dot_stepNameShipping": { + "string": "Shipping" + }, + "intl_dot_commonMessages_dot_add": { + "string": "Add" + }, + "intl_dot_commonMessages_dot_addressBook": { + "string": "Address book" + }, + "intl_dot_commonMessages_dot_cancel": { + "string": "Cancel" + }, + "intl_dot_commonMessages_dot_checkout": { + "string": "Checkout" + }, + "intl_dot_commonMessages_dot_clearFilterHeader": { + "string": "CLEAR FILTERS" + }, + "intl_dot_commonMessages_dot_eMail": { + "string": "Email Address" + }, + "intl_dot_commonMessages_dot_filterHeader": { + "string": "FILTERS" + }, + "intl_dot_commonMessages_dot_firstName": { + "string": "First Name" + }, + "intl_dot_commonMessages_dot_lastName": { + "string": "Last Name" + }, + "intl_dot_commonMessages_dot_loading": { + "string": "Loading" + }, + "intl_dot_commonMessages_dot_logOut": { + "string": "Log Out" + }, + "intl_dot_commonMessages_dot_lowStock": { + "string": "Low stock" + }, + "intl_dot_commonMessages_dot_maxQtyIs": { + "string": "Maximum quantity is {maxQuantity}" + }, + "intl_dot_commonMessages_dot_myAccount": { + "string": "My Account" + }, + "intl_dot_commonMessages_dot_orderHistory": { + "string": "Order history" + }, + "intl_dot_commonMessages_dot_outOfStock": { + "string": "Out of stock" + }, + "intl_dot_commonMessages_dot_password": { + "string": "Password" + }, + "intl_dot_commonMessages_dot_phone": { + "string": "Phone" + }, + "intl_dot_commonMessages_dot_phoneNumber": { + "string": "Phone number: {phone}" + }, + "intl_dot_commonMessages_dot_price": { + "string": "Price" + }, + "intl_dot_commonMessages_dot_products": { + "string": "Products" + }, + "intl_dot_commonMessages_dot_promoCode": { + "string": "Promo code" + }, + "intl_dot_commonMessages_dot_qty": { + "string": "Quantity" + }, + "intl_dot_commonMessages_dot_quantity": { + "string": "Quantity" + }, + "intl_dot_commonMessages_dot_save": { + "string": "Save" + }, + "intl_dot_commonMessages_dot_search": { + "string": "search" + }, + "intl_dot_commonMessages_dot_shipping": { + "string": "Shipping" + }, + "intl_dot_commonMessages_dot_shortEmail": { + "string": "Email" + }, + "intl_dot_commonMessages_dot_showEmail": { + "string": "Email: {email}" + }, + "intl_dot_commonMessages_dot_sku": { + "string": "SKU" + }, + "intl_dot_commonMessages_dot_status": { + "string": "Status" + }, + "intl_dot_commonMessages_dot_subtotal": { + "string": "Subtotal" + }, + "intl_dot_commonMessages_dot_total": { + "string": "Total" + }, + "intl_dot_commonMessages_dot_totalPrice": { + "string": "Total Price" + }, + "intl_dot_commonMessages_dot_variant": { + "string": "Variant" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsClear": { + "string": "Clear..." + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsName": { + "string": "Name Increasing" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsNameDsc": { + "string": "Name Decreasing" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsPrice": { + "string": "Price Low-High" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsPriceDsc": { + "string": "Price High-Low" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsUpdatedAt": { + "string": "Last updated Ascending" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsUpdatedAtDsc": { + "string": "Last updated Descending" + }, + "userAccount_dot_views_dot_OrderDetails_dot_Page_dot_2508056477": { + "string": "Your order nr: {orderNum}" + }, + "userAccount_dot_views_dot_OrderDetails_dot_Page_dot_624688748": { + "string": "Go back to Order History" + }, + "views_dot_Home_dot_Page_dot_2366307429": { + "string": "Final reduction" + }, + "views_dot_Home_dot_Page_dot_2812648978": { + "string": "Featured" + }, + "views_dot_Home_dot_Page_dot_3347022999": { + "string": "Shop sale" + }, + "views_dot_Home_dot_Page_dot_3813745889": { + "string": "Shop by category" + }, + "views_dot_Home_dot_Page_dot_4153800196": { + "string": "Up to 70% off sale" + }, + "views_dot_Product_dot_Other_dot_3212906417": { + "string": "Other products in this category" + }, + "views_dot_Search_dot_Page_dot_2865432515": { + "string": "Search term:" + } +} \ No newline at end of file From 58e7d8210652526402105972173dc1bd5dfd138e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Tue, 23 Jun 2020 21:42:29 +0200 Subject: [PATCH 103/120] Add additional language file as example --- locale/pl.json | 488 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 488 insertions(+) create mode 100644 locale/pl.json diff --git a/locale/pl.json b/locale/pl.json new file mode 100644 index 0000000000..572257b879 --- /dev/null +++ b/locale/pl.json @@ -0,0 +1,488 @@ +{ + "@next_dot_components_dot_atoms_dot_AddNewTile_dot_AddNewTile_dot_2493765518": { + "string": "Add new {type}" + }, + "@next_dot_components_dot_atoms_dot_DropdownSelect_dot_DropdownSelect_dot_3280510613": { + "string": "Sort by:" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_AccountTile_dot_3253048083": { + "string": "Personal details" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_AccountTile_dot_3843483622": { + "string": "MY DATA" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordChangeForm_dot_1254879564": { + "string": "New Password" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordChangeForm_dot_2218114941": { + "string": "Old Password" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordChangeForm_dot_2369435044": { + "string": "Required field" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordChangeForm_dot_2799926859": { + "string": "Confirm Password" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordChangeForm_dot_4253911811": { + "string": "Passwords do not match" + }, + "@next_dot_components_dot_molecules_dot_AccountTabTiles_dot_PasswordTile_dot_3445609170": { + "string": "MY PASSWORD" + }, + "@next_dot_components_dot_molecules_dot_AddressTile_dot_AddressTile_dot_1224809208": { + "string": "Default Address" + }, + "@next_dot_components_dot_molecules_dot_AddressTile_dot_AddressTile_dot_1578192486": { + "string": "Default Billing Address" + }, + "@next_dot_components_dot_molecules_dot_AddressTile_dot_AddressTile_dot_2131178753": { + "string": "Set as default shipping address" + }, + "@next_dot_components_dot_molecules_dot_AddressTile_dot_AddressTile_dot_3096438859": { + "string": "Set as default billing address" + }, + "@next_dot_components_dot_molecules_dot_AddressTile_dot_AddressTile_dot_4109348993": { + "string": "Default Shipping Address" + }, + "@next_dot_components_dot_molecules_dot_AttributeValuesChecklist_dot_AttributeValuesChecklist_dot_2029012727": { + "string": "VIEW ALL OPTIONS" + }, + "@next_dot_components_dot_molecules_dot_OrderTabel_dot_OrderTabel_dot_1148029984": { + "string": "Value" + }, + "@next_dot_components_dot_molecules_dot_OrderTabel_dot_OrderTabel_dot_1633831221": { + "string": "Date of Order" + }, + "@next_dot_components_dot_molecules_dot_OrderTabel_dot_OrderTabel_dot_2387666633": { + "string": "Index Number" + }, + "@next_dot_components_dot_molecules_dot_OrderTabel_dot_OrderTabel_dot_724329054": { + "string": "Products Ordered" + }, + "@next_dot_components_dot_molecules_dot_ProductDescription_dot_ProductDescription_dot_2623707255": { + "string": "DESCRIPTION" + }, + "@next_dot_components_dot_molecules_dot_ProductDescription_dot_ProductDescription_dot_308156425": { + "string": "ATTRIBUTES" + }, + "@next_dot_components_dot_molecules_dot_ProductListHeader_dot_ProductListHeader_dot_3317426832": { + "string": "Products found:" + }, + "@next_dot_components_dot_molecules_dot_ResetPasswordForm_dot_ResetPasswordForm_dot_1865992141": { + "string": "Please provide new password" + }, + "@next_dot_components_dot_molecules_dot_ResetPasswordForm_dot_ResetPasswordForm_dot_2266763214": { + "string": "Retype password" + }, + "@next_dot_components_dot_molecules_dot_ResetPasswordForm_dot_ResetPasswordForm_dot_2746979176": { + "string": "It seems that token for password reset is not valid anymore." + }, + "@next_dot_components_dot_molecules_dot_ResetPasswordForm_dot_ResetPasswordForm_dot_3951836694": { + "string": "SET NEW PASSWORD" + }, + "@next_dot_components_dot_molecules_dot_ResetPasswordForm_dot_ResetPasswordForm_dot_4028609483": { + "string": "Reset your password" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_1139500589": { + "string": "Country" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_1363074570": { + "string": "Address line 1" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_253031977": { + "string": "City" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_2796540622": { + "string": "ZIP/Postal Code" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_2950411968": { + "string": "Company Name (Optional)" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_3121963259": { + "string": "Address line 2" + }, + "@next_dot_components_dot_organisms_dot_AddressForm_dot_AddressFormContent_dot_404705399": { + "string": "State/province" + }, + "@next_dot_components_dot_organisms_dot_AddressGridSelector_dot_AddressGridSelector_dot_2132027491": { + "string": "address" + }, + "@next_dot_components_dot_organisms_dot_CartSummary_dot_CartSummary_dot_2088494495": { + "string": "Cart Summary" + }, + "@next_dot_components_dot_organisms_dot_CheckoutPayment_dot_CheckoutPayment_dot_3382401165": { + "string": "Do you have a gift card voucher or discount code?" + }, + "@next_dot_components_dot_organisms_dot_CheckoutPayment_dot_CheckoutPayment_dot_3912924864": { + "string": "Same as shipping address" + }, + "@next_dot_components_dot_organisms_dot_CheckoutReview_dot_CheckoutReview_dot_348821000": { + "string": "Payment Method" + }, + "@next_dot_components_dot_organisms_dot_CheckoutReview_dot_CheckoutReview_dot_3577164776": { + "string": "Shipping Method" + }, + "@next_dot_components_dot_organisms_dot_CheckoutReview_dot_CheckoutReview_dot_4282475982": { + "string": "Billing Address" + }, + "@next_dot_components_dot_organisms_dot_ProductList_dot_ProductList_dot_2783099424": { + "string": "More +" + }, + "@next_dot_components_dot_organisms_dot_ProductVariantPicker_dot_ProductVariantAttributeSelect_dot_1125254976": { + "string": "Please select {selectLabel}" + }, + "@next_dot_components_dot_organisms_dot_ThankYou_dot_ThankYou_dot_1585811557": { + "string": "We’ve emailed you an order confirmation, and we’ll notify you the when order has been shipped." + }, + "@next_dot_components_dot_organisms_dot_ThankYou_dot_ThankYou_dot_1995277831": { + "string": "Thank you" + }, + "@next_dot_components_dot_organisms_dot_ThankYou_dot_ThankYou_dot_2116351823": { + "string": "for your order!" + }, + "@next_dot_components_dot_organisms_dot_ThankYou_dot_ThankYou_dot_2999163789": { + "string": "Your order number is" + }, + "@next_dot_components_dot_organisms_dot_ThankYou_dot_ThankYou_dot_3752098833": { + "string": "ORDER DETAILS" + }, + "@next_dot_components_dot_templates_dot_CartEmpty_dot_CartEmpty_dot_2488840083": { + "string": "looks empty" + }, + "@next_dot_components_dot_templates_dot_CartEmpty_dot_CartEmpty_dot_2896212356": { + "string": "Maybe you haven’t made your choices yet" + }, + "@next_dot_components_dot_templates_dot_CartEmpty_dot_CartEmpty_dot_3578601618": { + "string": "Your Cart" + }, + "@next_dot_pages_dot_CartPage_dot_CartPage_dot_1304869656": { + "string": "PROCEED TO CHECKOUT" + }, + "@next_dot_pages_dot_CartPage_dot_CartPage_dot_3173718889": { + "string": "My Cart" + }, + "@next_dot_pages_dot_CheckoutPage_dot_subpages_dot_CheckoutAddressSubpage_dot_3879029924": { + "string": "Please provide email address." + }, + "@next_dot_pages_dot_CheckoutPage_dot_subpages_dot_CheckoutAddressSubpage_dot_929802659": { + "string": "Please provide shipping address." + }, + "account_dot_AddressBook_dot_AddressBook_dot_2776756156": { + "string": "Edit address" + }, + "components_dot_Breadcrumbs_dot_index_dot_1347475195": { + "string": "Back" + }, + "components_dot_Breadcrumbs_dot_index_dot_874908955": { + "string": "Home" + }, + "components_dot_CartTable_dot_Table_dot_1603950169": { + "string": "Delivery Cost" + }, + "components_dot_CartTable_dot_Table_dot_2179891060": { + "string": "Total Cost" + }, + "components_dot_CartTable_dot_Table_dot_2875988277": { + "string": "Discount: {discountName}" + }, + "components_dot_CheckoutLogin_dot_CheckoutAsGuest_dot_1006283488": { + "string": "Continue as a guest" + }, + "components_dot_CheckoutLogin_dot_CheckoutAsGuest_dot_2132450234": { + "string": "create an account" + }, + "components_dot_CheckoutLogin_dot_CheckoutAsGuest_dot_3896074202": { + "string": "or you can" + }, + "components_dot_CheckoutLogin_dot_CheckoutAsGuest_dot_647198093": { + "string": "If you don’t wish to register an account, don’t worry. You can checkout as a guest. We care about you just as much as any registered user." + }, + "components_dot_CheckoutLogin_dot_SignInForm_dot_2856837597": { + "string": "Registered user" + }, + "components_dot_LoginForm_dot_index_dot_1405865627": { + "string": "Sign in" + }, + "components_dot_OverlayManager_dot_Cart_dot_Cart_dot_1316031908": { + "string": "My bag," + }, + "components_dot_OverlayManager_dot_Cart_dot_Cart_dot_2287516380": { + "string": "items" + }, + "components_dot_OverlayManager_dot_Cart_dot_Cart_dot_2426849470": { + "string": "Go to my bag" + }, + "components_dot_OverlayManager_dot_Cart_dot_Empty_dot_3515754810": { + "string": "Continue Shopping" + }, + "components_dot_OverlayManager_dot_Cart_dot_Empty_dot_4121934554": { + "string": "You haven’t added anything to your bag. We’re sure you’ll find something in our store" + }, + "components_dot_OverlayManager_dot_Cart_dot_Empty_dot_966560142": { + "string": "Your bag is empty" + }, + "components_dot_OverlayManager_dot_Cart_dot_ProductList_dot_3897981513": { + "string": "Qty: {quantity}" + }, + "components_dot_OverlayManager_dot_Login_dot_ForgottenPassword_dot_1214263298": { + "string": "Have you forgotten your password?" + }, + "components_dot_OverlayManager_dot_Login_dot_ForgottenPassword_dot_1781368875": { + "string": "Click Here" + }, + "components_dot_OverlayManager_dot_Login_dot_RegisterForm_dot_2556234295": { + "string": "Register" + }, + "components_dot_OverlayManager_dot_Login_dot_RegisterForm_dot_2622394113": { + "string": "Please check your e-mail for further instructions" + }, + "components_dot_OverlayManager_dot_Login_dot_RegisterForm_dot_590842025": { + "string": "New user has been created" + }, + "components_dot_OverlayManager_dot_Login_dot_index_dot_282922692": { + "string": "Saleor account" + }, + "components_dot_OverlayManager_dot_Login_dot_index_dot_3254057623": { + "string": "Register new account" + }, + "components_dot_OverlayManager_dot_Login_dot_index_dot_3293735236": { + "string": "Sign in to account" + }, + "components_dot_OverlayManager_dot_Password_dot_index_dot_4028609483": { + "string": "Reset your password" + }, + "components_dot_OverlayManager_dot_Search_dot_NothingFound_dot_1777769494": { + "string": "Don’t give up - check the spelling, think of something less specific and then use the search bar above." + }, + "components_dot_OverlayManager_dot_Search_dot_NothingFound_dot_3166222023": { + "string": "Sorry, but we couldn’t match any search results for: {search}" + }, + "components_dot_OverlayManager_dot_Search_dot_Search_dot_4112727608": { + "string": "Show all results" + }, + "components_dot_PasswordResetForm_dot_index_dot_1103897688": { + "string": "Please provide us your email address so we can share you a link to reset\n your password" + }, + "components_dot_PasswordResetForm_dot_index_dot_2925394684": { + "string": "Reset password" + }, + "components_dot_ProductDescription_dot_AddToCartButton_dot_1362724042": { + "string": "Added" + }, + "components_dot_ProductDescription_dot_AddToCart_dot_81047562": { + "string": "Add to basket" + }, + "index_dot_1053546789": { + "string": "To update the application to the latest version, please refresh the page!" + }, + "index_dot_1308518649": { + "string": "Refresh" + }, + "index_dot_1917823234": { + "string": "You are now logged in" + }, + "index_dot_2378877294": { + "string": "You are now logged out" + }, + "index_dot_795565": { + "string": "New version is available!" + }, + "intl_dot_checkoutMessages_dot_addNewAddress": { + "string": "Add new address" + }, + "intl_dot_checkoutMessages_dot_addressNextActionName": { + "string": "Continue to Shipping" + }, + "intl_dot_checkoutMessages_dot_billingAddress": { + "string": "BILLING ADDRESS" + }, + "intl_dot_checkoutMessages_dot_continueShopping": { + "string": "CONTINUE SHOPPING" + }, + "intl_dot_checkoutMessages_dot_paymentMethod": { + "string": "PAYMENT METHOD" + }, + "intl_dot_checkoutMessages_dot_paymentNextActionName": { + "string": "Continue to Review" + }, + "intl_dot_checkoutMessages_dot_reviewNextActionName": { + "string": "Place order" + }, + "intl_dot_checkoutMessages_dot_reviewOrder": { + "string": "REVIEW ORDER" + }, + "intl_dot_checkoutMessages_dot_shippingAddress": { + "string": "Shipping Address" + }, + "intl_dot_checkoutMessages_dot_shippingMethod": { + "string": "SHIPPING METHOD" + }, + "intl_dot_checkoutMessages_dot_shippingNextActionName": { + "string": "Continue to Payment" + }, + "intl_dot_checkoutMessages_dot_stepNameAddress": { + "string": "Address" + }, + "intl_dot_checkoutMessages_dot_stepNamePayment": { + "string": "Payment" + }, + "intl_dot_checkoutMessages_dot_stepNameReview": { + "string": "Review" + }, + "intl_dot_checkoutMessages_dot_stepNameShipping": { + "string": "Shipping" + }, + "intl_dot_commonMessages_dot_add": { + "string": "Add" + }, + "intl_dot_commonMessages_dot_addressBook": { + "string": "Address book" + }, + "intl_dot_commonMessages_dot_cancel": { + "string": "Cancel" + }, + "intl_dot_commonMessages_dot_checkout": { + "string": "Checkout" + }, + "intl_dot_commonMessages_dot_clearFilterHeader": { + "string": "CLEAR FILTERS" + }, + "intl_dot_commonMessages_dot_eMail": { + "string": "Email Address" + }, + "intl_dot_commonMessages_dot_filterHeader": { + "string": "FILTERS" + }, + "intl_dot_commonMessages_dot_firstName": { + "string": "First Name" + }, + "intl_dot_commonMessages_dot_lastName": { + "string": "Last Name" + }, + "intl_dot_commonMessages_dot_loading": { + "string": "Loading" + }, + "intl_dot_commonMessages_dot_logOut": { + "string": "Log Out" + }, + "intl_dot_commonMessages_dot_lowStock": { + "string": "Low stock" + }, + "intl_dot_commonMessages_dot_maxQtyIs": { + "string": "Maximum quantity is {maxQuantity}" + }, + "intl_dot_commonMessages_dot_myAccount": { + "string": "My Account" + }, + "intl_dot_commonMessages_dot_orderHistory": { + "string": "Order history" + }, + "intl_dot_commonMessages_dot_outOfStock": { + "string": "Out of stock" + }, + "intl_dot_commonMessages_dot_password": { + "string": "Password" + }, + "intl_dot_commonMessages_dot_phone": { + "string": "Phone" + }, + "intl_dot_commonMessages_dot_phoneNumber": { + "string": "Phone number: {phone}" + }, + "intl_dot_commonMessages_dot_price": { + "string": "Price" + }, + "intl_dot_commonMessages_dot_products": { + "string": "Products" + }, + "intl_dot_commonMessages_dot_promoCode": { + "string": "Promo code" + }, + "intl_dot_commonMessages_dot_qty": { + "string": "Quantity" + }, + "intl_dot_commonMessages_dot_quantity": { + "string": "Quantity" + }, + "intl_dot_commonMessages_dot_save": { + "string": "Save" + }, + "intl_dot_commonMessages_dot_search": { + "string": "search" + }, + "intl_dot_commonMessages_dot_shipping": { + "string": "Shipping" + }, + "intl_dot_commonMessages_dot_shortEmail": { + "string": "Email" + }, + "intl_dot_commonMessages_dot_showEmail": { + "string": "Email: {email}" + }, + "intl_dot_commonMessages_dot_sku": { + "string": "SKU" + }, + "intl_dot_commonMessages_dot_status": { + "string": "Status" + }, + "intl_dot_commonMessages_dot_subtotal": { + "string": "Subtotal" + }, + "intl_dot_commonMessages_dot_total": { + "string": "Total" + }, + "intl_dot_commonMessages_dot_totalPrice": { + "string": "Total Price" + }, + "intl_dot_commonMessages_dot_variant": { + "string": "Variant" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsClear": { + "string": "Clear..." + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsName": { + "string": "Name Increasing" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsNameDsc": { + "string": "Name Decreasing" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsPrice": { + "string": "Price Low-High" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsPriceDsc": { + "string": "Price High-Low" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsUpdatedAt": { + "string": "Last updated Ascending" + }, + "intl_dot_prodListHeaderCommonMsg_dot_sortOptionsUpdatedAtDsc": { + "string": "Last updated Descending" + }, + "userAccount_dot_views_dot_OrderDetails_dot_Page_dot_2508056477": { + "string": "Your order nr: {orderNum}" + }, + "userAccount_dot_views_dot_OrderDetails_dot_Page_dot_624688748": { + "string": "Go back to Order History" + }, + "views_dot_Home_dot_Page_dot_2366307429": { + "string": "Final reduction" + }, + "views_dot_Home_dot_Page_dot_2812648978": { + "string": "Featured" + }, + "views_dot_Home_dot_Page_dot_3347022999": { + "string": "Shop sale" + }, + "views_dot_Home_dot_Page_dot_3813745889": { + "string": "Shop by category" + }, + "views_dot_Home_dot_Page_dot_4153800196": { + "string": "Up to 70% off sale" + }, + "views_dot_Product_dot_Other_dot_3212906417": { + "string": "Other products in this category" + }, + "views_dot_Search_dot_Page_dot_2865432515": { + "string": "Search term:" + } +} From 9441e907b340fe9c7bd8a01e126c9d3584e7c37a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 16:57:47 +0200 Subject: [PATCH 104/120] Localize ProductListHeader tests --- .../__snapshots__/stories.storyshot | 8 ++++-- .../molecules/ProductListHeader/stories.tsx | 11 ++++++-- .../molecules/ProductListHeader/test.tsx | 27 ++++++++++++------- 3 files changed, 33 insertions(+), 13 deletions(-) diff --git a/src/@next/components/molecules/ProductListHeader/__snapshots__/stories.storyshot b/src/@next/components/molecules/ProductListHeader/__snapshots__/stories.storyshot index 53316e8c50..992d003c80 100644 --- a/src/@next/components/molecules/ProductListHeader/__snapshots__/stories.storyshot +++ b/src/@next/components/molecules/ProductListHeader/__snapshots__/stories.storyshot @@ -198,7 +198,8 @@ exports[`Storyshots @components/molecules/ProductListHeader default 1`] = ` - Products found: + Products found: + 255 @@ -227,6 +228,7 @@ exports[`Storyshots @components/molecules/ProductListHeader default 1`] = ` className="c13" > Sort by: +
      - Products found: + Products found: + 255 @@ -515,6 +518,7 @@ exports[`Storyshots @components/molecules/ProductListHeader with active filters className="c14" > Sort by: +
      ) + .add("default", () => ( + + + + )) .add("with active filters", () => ( - + + + )); diff --git a/src/@next/components/molecules/ProductListHeader/test.tsx b/src/@next/components/molecules/ProductListHeader/test.tsx index 7cc47f8546..1b01835114 100644 --- a/src/@next/components/molecules/ProductListHeader/test.tsx +++ b/src/@next/components/molecules/ProductListHeader/test.tsx @@ -1,6 +1,7 @@ import { mount, shallow } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { ProductListHeader } from "."; @@ -37,28 +38,34 @@ describe("", () => { }); it("should display number of products found", () => { - const wrapper = shallow(); + const wrapper = shallow(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.text()).toContain(String(DEFAULT_PROPS.numberOfProducts)); }); it("should not display Clear Filters button if no active filters present", () => { - const wrapper = shallow(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.text()).not.toContain("Clear Filters"); }); it("should display Clear Filters button if active filters present are present", () => { - const wrapper = shallow( - + const wrapper = mount( + , + { wrappingComponent: IntlProvider } ); expect(wrapper.text()).toContain("CLEAR FILTERS"); }); it("should display number of active filters if any are present", () => { - const wrapper = shallow( - + const wrapper = mount( + , + { wrappingComponent: IntlProvider } ); expect(wrapper.text()).toContain("FILTERS (3)"); @@ -66,13 +73,14 @@ describe("", () => { it("should call method for clearing filters when clicking on Clear Filters button", () => { const wrapper = mount( - + , + { wrappingComponent: IntlProvider } ); wrapper .find("button") .filterWhere(item => { - return item.prop("children") === "CLEAR FILTERS"; + return item.text() === "CLEAR FILTERS"; }) .simulate("click"); @@ -81,7 +89,8 @@ describe("", () => { it("should call method for clearing filters when clicking on Clear Filters button", () => { const wrapper = mount( - + , + { wrappingComponent: IntlProvider } ); wrapper.find("button").at(0).simulate("click"); From 3da8473d04ee5fb2e6111ce5cd2bf0517d7340a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 17:18:31 +0200 Subject: [PATCH 105/120] Localize AddressTile tests --- .../molecules/AddressTile/stories.tsx | 17 ++++++---- .../components/molecules/AddressTile/test.tsx | 33 ++++++++++++++----- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/src/@next/components/molecules/AddressTile/stories.tsx b/src/@next/components/molecules/AddressTile/stories.tsx index 3f2a09e089..99c49f3d2d 100644 --- a/src/@next/components/molecules/AddressTile/stories.tsx +++ b/src/@next/components/molecules/AddressTile/stories.tsx @@ -2,6 +2,7 @@ import { action } from "@storybook/addon-actions"; import { storiesOf } from "@storybook/react"; import { styled } from "@styles"; import React from "react"; +import { IntlProvider } from "react-intl"; import { AddressTile } from "."; @@ -39,17 +40,21 @@ const DEFAULT_PROPS = { storiesOf("@components/molecules/AddressTile", module) .addParameters({ component: AddressTile }) .add("default", () => ( - - - + + + + + )) .add("with default shipping and billing as false", () => { const CHANGED_DEFAULT_ADDRESSES = { ...DEFAULT_PROPS }; CHANGED_DEFAULT_ADDRESSES.address.isDefaultBillingAddress = false; CHANGED_DEFAULT_ADDRESSES.address.isDefaultShippingAddress = false; return ( - - - + + + + + ); }); diff --git a/src/@next/components/molecules/AddressTile/test.tsx b/src/@next/components/molecules/AddressTile/test.tsx index d2a5d203a8..132557ec01 100644 --- a/src/@next/components/molecules/AddressTile/test.tsx +++ b/src/@next/components/molecules/AddressTile/test.tsx @@ -1,6 +1,7 @@ import { mount, shallow } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { IconButton } from "@components/atoms"; import { AddressTile } from "."; @@ -34,13 +35,17 @@ const DEFAULT_PROPS = { describe("", () => { it("exists", () => { - const wrapper = shallow(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.exists()).toEqual(true); }); it("should run onRemove function for clicking on trash button", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); wrapper.find(IconButton).last().simulate("click"); @@ -48,7 +53,9 @@ describe("", () => { }); it("should run onEdit function for clicking on edit button", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); wrapper.find(IconButton).at(1).simulate("click"); @@ -56,7 +63,9 @@ describe("", () => { }); it("should run setDefault method for clicking on Set default billing address", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); wrapper.find(IconButton).first().simulate("click"); wrapper.find("li").first().simulate("click"); @@ -65,7 +74,9 @@ describe("", () => { }); it("should run setDefault method for clicking on Set default shipping address", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); wrapper.find(IconButton).first().simulate("click"); wrapper.find("li").last().simulate("click"); @@ -74,7 +85,9 @@ describe("", () => { }); it("should present Default address if address is default shipping and billing", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.text()).toContain("Default Address"); }); @@ -84,7 +97,9 @@ describe("", () => { CUSTOM_PROPS.address.isDefaultBillingAddress = false; CUSTOM_PROPS.address.isDefaultShippingAddress = true; - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.text()).toContain("Default Shipping Address"); }); @@ -94,7 +109,9 @@ describe("", () => { CUSTOM_PROPS.address.isDefaultBillingAddress = true; CUSTOM_PROPS.address.isDefaultShippingAddress = false; - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.text()).toContain("Default Billing Address"); }); From 8630531b55f5ec93ac1738ba3603a65d15489df5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 17:40:19 +0200 Subject: [PATCH 106/120] Localize ThankYou tests --- .../organisms/ThankYou/__snapshots__/stories.storyshot | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/@next/components/organisms/ThankYou/__snapshots__/stories.storyshot b/src/@next/components/organisms/ThankYou/__snapshots__/stories.storyshot index 5791eda8bc..577fb29b88 100644 --- a/src/@next/components/organisms/ThankYou/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/ThankYou/__snapshots__/stories.storyshot @@ -200,7 +200,8 @@ exports[`Storyshots @components/organisms/ThankYou default 1`] = `

      - Your order number is + Your order number is + #341414 From 794bc5b7926dd374b180be7526c3acec80a5d206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 17:40:58 +0200 Subject: [PATCH 107/120] Localize CheckoutPayment tests --- .../__snapshots__/stories.storyshot | 5 +- .../organisms/CheckoutPayment/stories.tsx | 49 ++++++++++--------- .../organisms/CheckoutPayment/test.tsx | 11 ++++- 3 files changed, 38 insertions(+), 27 deletions(-) diff --git a/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot b/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot index 7633a38280..6792bfa276 100644 --- a/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot @@ -641,7 +641,7 @@ exports[`Storyshots @components/organisms/CheckoutPayment default 1`] = ` autoComplete="off" autoCorrect="off" disabled={false} - id="react-select-11-input" + id="react-select-2-input" onBlur={[Function]} onChange={[Function]} onFocus={[Function]} @@ -1195,8 +1195,7 @@ exports[`Storyshots @components/organisms/CheckoutPayment with addresses 1`] = `

      - Add new - address + Add new address

      diff --git a/src/@next/components/organisms/CheckoutPayment/stories.tsx b/src/@next/components/organisms/CheckoutPayment/stories.tsx index 0650cc5a8c..82d95cb7c1 100644 --- a/src/@next/components/organisms/CheckoutPayment/stories.tsx +++ b/src/@next/components/organisms/CheckoutPayment/stories.tsx @@ -1,6 +1,7 @@ import { action } from "@storybook/addon-actions"; import { storiesOf } from "@storybook/react"; import React from "react"; +import { IntlProvider } from "react-intl"; import { CheckoutPayment } from "."; import { ANONYMOUS_USER_PROPS, LOGGED_IN_USER_PROPS } from "./fixtures"; @@ -28,28 +29,32 @@ const onGatewayError = action("onGatewayError has been called"); storiesOf("@components/organisms/CheckoutPayment", module) .addParameters({ component: CheckoutPayment }) .add("default", () => ( - + + + )) .add("with addresses", () => ( - + + + )); diff --git a/src/@next/components/organisms/CheckoutPayment/test.tsx b/src/@next/components/organisms/CheckoutPayment/test.tsx index d70c4de11d..c1e484bd03 100644 --- a/src/@next/components/organisms/CheckoutPayment/test.tsx +++ b/src/@next/components/organisms/CheckoutPayment/test.tsx @@ -1,6 +1,7 @@ import { mount } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { Input, Select } from "@components/atoms"; @@ -28,7 +29,10 @@ describe("", () => { selectPaymentGateway={selectPaymentGateway} processPayment={processPayment} onGatewayError={onGatewayError} - /> + />, + { + wrappingComponent: IntlProvider, + } ); const address = LOGGED_IN_USER_PROPS.userAddresses[0]; @@ -61,7 +65,10 @@ describe("", () => { selectPaymentGateway={selectPaymentGateway} processPayment={processPayment} onGatewayError={onGatewayError} - /> + />, + { + wrappingComponent: IntlProvider, + } ); const wrapperText = wrapper.text(); From dab39ca1ed9463668331555cd19ca0d860cbb9b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 17:55:29 +0200 Subject: [PATCH 108/120] Localize CheckoutAddress tests --- .../__snapshots__/stories.storyshot | 9 ++++---- .../organisms/CheckoutAddress/stories.tsx | 21 ++++++++++++------- .../organisms/CheckoutAddress/test.tsx | 11 ++++++++-- .../__snapshots__/stories.storyshot | 2 +- 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot b/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot index 8307336d1c..8073348835 100644 --- a/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot @@ -181,7 +181,7 @@ exports[`Storyshots @components/organisms/CheckoutAddress default 1`] = ` className="c1" data-test="checkoutPageSubtitle" > - SHIPPING ADDRESS + Shipping Address
      - SHIPPING ADDRESS + Shipping Address

      - Add new - address + Add new address

    diff --git a/src/@next/components/organisms/CheckoutAddress/stories.tsx b/src/@next/components/organisms/CheckoutAddress/stories.tsx index cf1f3eb4bd..f1ed32de34 100644 --- a/src/@next/components/organisms/CheckoutAddress/stories.tsx +++ b/src/@next/components/organisms/CheckoutAddress/stories.tsx @@ -1,6 +1,7 @@ import { action } from "@storybook/addon-actions"; import { storiesOf } from "@storybook/react"; import React from "react"; +import { IntlProvider } from "react-intl"; import { CheckoutAddress } from "./CheckoutAddress"; import { ANONYMOUS_USER_PROPS, LOGGED_IN_USER_PROPS } from "./fixtures"; @@ -15,14 +16,18 @@ if (!portalRoot) { storiesOf("@components/organisms/CheckoutAddress", module) .addParameters({ component: CheckoutAddress }) .add("default", () => ( - + + + )) .add("with addresses", () => ( - + + + )); diff --git a/src/@next/components/organisms/CheckoutAddress/test.tsx b/src/@next/components/organisms/CheckoutAddress/test.tsx index 4aee7782f4..ace538575a 100644 --- a/src/@next/components/organisms/CheckoutAddress/test.tsx +++ b/src/@next/components/organisms/CheckoutAddress/test.tsx @@ -1,6 +1,7 @@ import { mount } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { Input, Select } from "@components/atoms"; @@ -14,7 +15,10 @@ describe("", () => { + />, + { + wrappingComponent: IntlProvider, + } ); const { address } = LOGGED_IN_USER_PROPS.userAddresses[0]; @@ -31,7 +35,10 @@ describe("", () => { + />, + { + wrappingComponent: IntlProvider, + } ); const address = ANONYMOUS_USER_PROPS.checkoutAddress; diff --git a/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot b/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot index 6792bfa276..32d9aca166 100644 --- a/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot @@ -641,7 +641,7 @@ exports[`Storyshots @components/organisms/CheckoutPayment default 1`] = ` autoComplete="off" autoCorrect="off" disabled={false} - id="react-select-2-input" + id="react-select-8-input" onBlur={[Function]} onChange={[Function]} onFocus={[Function]} From 8c724a9d1c5b765aa9e58bf5db0c359a1ee0a85e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 18:08:12 +0200 Subject: [PATCH 109/120] Localize CheckoutProgressBar tests --- .../molecules/CheckoutProgressBar/stories.tsx | 9 ++++++--- .../molecules/CheckoutProgressBar/test.tsx | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/@next/components/molecules/CheckoutProgressBar/stories.tsx b/src/@next/components/molecules/CheckoutProgressBar/stories.tsx index 6981ccd6bf..a3813396e4 100644 --- a/src/@next/components/molecules/CheckoutProgressBar/stories.tsx +++ b/src/@next/components/molecules/CheckoutProgressBar/stories.tsx @@ -1,6 +1,7 @@ import { number } from "@storybook/addon-knobs"; import { storiesOf } from "@storybook/react"; import React from "react"; +import { IntlProvider } from "react-intl"; import { MemoryRouter } from "react-router"; import { CheckoutProgressBar } from "."; @@ -43,8 +44,10 @@ storiesOf("@components/molecules/CheckoutProgressBar", module) .add("default", () => { const value = number(label, defaultValue, options); return ( - - - + + + + + ); }); diff --git a/src/@next/components/molecules/CheckoutProgressBar/test.tsx b/src/@next/components/molecules/CheckoutProgressBar/test.tsx index 56e0f83a29..e2ac5eddbd 100644 --- a/src/@next/components/molecules/CheckoutProgressBar/test.tsx +++ b/src/@next/components/molecules/CheckoutProgressBar/test.tsx @@ -1,6 +1,7 @@ import { mount, shallow } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { MemoryRouter } from "react-router-dom"; import { CheckoutProgressBar } from "."; @@ -25,8 +26,13 @@ const steps = [ describe("", () => { it("exists", () => { - const wrapper = shallow( - + const wrapper = mount( + + + , + { + wrappingComponent: IntlProvider, + } ); expect(wrapper.exists()).toEqual(true); @@ -36,7 +42,10 @@ describe("", () => { const wrapper = mount( - + , + { + wrappingComponent: IntlProvider, + } ); expect(wrapper.find("a").length).toEqual(steps.length); From e01fc70a325d9c4b2a949598e128193ba4b72a4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 18:20:54 +0200 Subject: [PATCH 110/120] Localize CartSummary tests --- .../molecules/CartSummaryRow/test.tsx | 5 ++++- .../__snapshots__/stories.storyshot | 18 ++++++++++++------ .../components/organisms/CartSummary/test.tsx | 5 ++++- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/@next/components/molecules/CartSummaryRow/test.tsx b/src/@next/components/molecules/CartSummaryRow/test.tsx index 8d5a43a1bb..6e207856db 100644 --- a/src/@next/components/molecules/CartSummaryRow/test.tsx +++ b/src/@next/components/molecules/CartSummaryRow/test.tsx @@ -1,6 +1,7 @@ import { mount, shallow } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { CachedImage } from ".."; @@ -39,7 +40,9 @@ describe("", () => { }); it("should display product quantity", () => { - const wrapper = shallow(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.text()).toContain(`Quantity: ${DEFAULT_PROPS.quantity}`); }); diff --git a/src/@next/components/organisms/CartSummary/__snapshots__/stories.storyshot b/src/@next/components/organisms/CartSummary/__snapshots__/stories.storyshot index 3dcef9af96..aa8096c416 100644 --- a/src/@next/components/organisms/CartSummary/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CartSummary/__snapshots__/stories.storyshot @@ -235,7 +235,8 @@ exports[`Storyshots @components/organisms/CartSummary default 1`] = `
    - SKU: + SKU + : @@ -245,7 +246,8 @@ exports[`Storyshots @components/organisms/CartSummary default 1`] = `
    - Quantity: + Quantity + : @@ -295,7 +297,8 @@ exports[`Storyshots @components/organisms/CartSummary default 1`] = `
    - SKU: + SKU + : @@ -305,7 +308,8 @@ exports[`Storyshots @components/organisms/CartSummary default 1`] = `
    - Quantity: + Quantity + : @@ -355,7 +359,8 @@ exports[`Storyshots @components/organisms/CartSummary default 1`] = `
    - SKU: + SKU + : @@ -365,7 +370,8 @@ exports[`Storyshots @components/organisms/CartSummary default 1`] = `
    - Quantity: + Quantity + : diff --git a/src/@next/components/organisms/CartSummary/test.tsx b/src/@next/components/organisms/CartSummary/test.tsx index 070856a15b..6119fe7bcc 100644 --- a/src/@next/components/organisms/CartSummary/test.tsx +++ b/src/@next/components/organisms/CartSummary/test.tsx @@ -1,6 +1,7 @@ import { mount, shallow } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { CartSummaryRow } from "@components/molecules"; @@ -38,7 +39,9 @@ describe("", () => { }); it("should show shipping price", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.text()).toContain("123"); }); From 9d83883af026eee1b3d013f09d40041ac78e4f3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 18:28:20 +0200 Subject: [PATCH 111/120] Localize ResetPasswordForm tests --- .../components/molecules/ResetPasswordForm/stories.tsx | 7 ++++++- src/@next/components/molecules/ResetPasswordForm/test.tsx | 7 +++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/@next/components/molecules/ResetPasswordForm/stories.tsx b/src/@next/components/molecules/ResetPasswordForm/stories.tsx index 9ff7615298..f8e1dd3e32 100644 --- a/src/@next/components/molecules/ResetPasswordForm/stories.tsx +++ b/src/@next/components/molecules/ResetPasswordForm/stories.tsx @@ -1,6 +1,7 @@ import { action } from "@storybook/addon-actions"; import { storiesOf } from "@storybook/react"; import React from "react"; +import { IntlProvider } from "react-intl"; import { ResetPasswordForm } from "."; @@ -19,4 +20,8 @@ const DEFAULT_PROPS = { storiesOf("@components/molecules/ResetPasswordForm", module) .addParameters({ component: ResetPasswordForm }) - .add("default", () => ); + .add("default", () => ( + + + + )); diff --git a/src/@next/components/molecules/ResetPasswordForm/test.tsx b/src/@next/components/molecules/ResetPasswordForm/test.tsx index 80a9dff4a2..64546637b7 100644 --- a/src/@next/components/molecules/ResetPasswordForm/test.tsx +++ b/src/@next/components/molecules/ResetPasswordForm/test.tsx @@ -1,6 +1,7 @@ -import { shallow } from "enzyme"; +import { mount } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { ResetPasswordForm } from "."; @@ -18,7 +19,9 @@ describe("", () => { }, }; it("exists", () => { - const wrapper = shallow(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.exists()).toEqual(true); }); From f203054fb0372acd99afca68601fcf9638bcc1e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 18:37:42 +0200 Subject: [PATCH 112/120] Localize AddressForm tests --- src/@next/components/organisms/AddressForm/stories.tsx | 5 ++++- src/@next/components/organisms/AddressForm/test.tsx | 9 +++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/@next/components/organisms/AddressForm/stories.tsx b/src/@next/components/organisms/AddressForm/stories.tsx index 2161962768..421db16699 100644 --- a/src/@next/components/organisms/AddressForm/stories.tsx +++ b/src/@next/components/organisms/AddressForm/stories.tsx @@ -1,6 +1,7 @@ import { action } from "@storybook/addon-actions"; import { storiesOf } from "@storybook/react"; import React, { ReactNode } from "react"; +import { IntlProvider } from "react-intl"; import styled from "styled-components"; import { AddressForm } from "."; @@ -11,7 +12,9 @@ const Container = styled.div` `; const withContainer = (children: ReactNode) => ( - {children} + + {children} + ); const NO_ERRORS: any = []; diff --git a/src/@next/components/organisms/AddressForm/test.tsx b/src/@next/components/organisms/AddressForm/test.tsx index 44c16e124a..ca900888a8 100644 --- a/src/@next/components/organisms/AddressForm/test.tsx +++ b/src/@next/components/organisms/AddressForm/test.tsx @@ -1,6 +1,7 @@ import { mount, shallow } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { Input, Select } from "@components/atoms"; @@ -34,13 +35,17 @@ describe("", () => { }); it("should contain error provided as prop", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.text()).toContain(errorMessage); }); it("should contain partial data if provided", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); const getValue = (n: number) => wrapper.find(Input).at(n).prop("value"); expect(getValue(0)).toEqual(INITIAL_DATA.address.firstName); From 84dd1c98c184e7e08dd3225a0674e983a192a5f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 18:48:03 +0200 Subject: [PATCH 113/120] Localize AccountTabTiles tests --- .../molecules/AccountTabTiles/test.tsx | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/@next/components/molecules/AccountTabTiles/test.tsx b/src/@next/components/molecules/AccountTabTiles/test.tsx index b30560305d..31b270404c 100644 --- a/src/@next/components/molecules/AccountTabTiles/test.tsx +++ b/src/@next/components/molecules/AccountTabTiles/test.tsx @@ -1,6 +1,7 @@ import { mount, shallow } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { Attribute, IconButton } from "@components/atoms"; import { TextField } from ".."; @@ -15,19 +16,25 @@ jest.mock("@saleor/sdk", () => ({ describe("", () => { it("exists", () => { - const wrapper = shallow(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.exists()).toEqual(true); }); it("should show basic view on load", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.find(Attribute)).toHaveLength(1); }); it("should change view to password change view when clicked on edit icon", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); wrapper.find(IconButton).simulate("click"); @@ -37,19 +44,25 @@ describe("", () => { describe("", () => { it("exists", () => { - const wrapper = shallow(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.exists()).toEqual(true); }); it("should show basic view on load", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.find(Attribute)).toHaveLength(2); }); it("should change view to password change view when clicked on edit icon", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); wrapper.find(IconButton).simulate("click"); From e09d9beab0382ce155228344388582a924e8bd72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 18:57:24 +0200 Subject: [PATCH 114/120] Localize OrderTabel tests --- .../components/molecules/OrderTabel/stories.tsx | 7 ++++++- .../components/molecules/OrderTabel/test.tsx | 17 +++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/@next/components/molecules/OrderTabel/stories.tsx b/src/@next/components/molecules/OrderTabel/stories.tsx index 9447c139f2..a8cc5ddb9f 100644 --- a/src/@next/components/molecules/OrderTabel/stories.tsx +++ b/src/@next/components/molecules/OrderTabel/stories.tsx @@ -1,6 +1,7 @@ import { storiesOf } from "@storybook/react"; import { createBrowserHistory } from "history"; import React from "react"; +import { IntlProvider } from "react-intl"; import { OrderTabel } from "."; const history = createBrowserHistory(); @@ -80,5 +81,9 @@ storiesOf("@components/molecules/OrderTabel", module) // so one one machine price is displayed as $42.24 and on others as US$ 42.24 etc /* eslint-disable-next-line no-extend-native */ Number.prototype.toLocaleString = () => ""; - return ; + return ( + + + + ); }); diff --git a/src/@next/components/molecules/OrderTabel/test.tsx b/src/@next/components/molecules/OrderTabel/test.tsx index abe4f8af0c..2308d4ed93 100644 --- a/src/@next/components/molecules/OrderTabel/test.tsx +++ b/src/@next/components/molecules/OrderTabel/test.tsx @@ -2,6 +2,7 @@ import { mount, shallow } from "enzyme"; import { createBrowserHistory } from "history"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { Thumbnail } from ".."; @@ -86,13 +87,17 @@ const ORDERS = [ describe("", () => { it("exists", () => { - const wrapper = shallow(); + const wrapper = shallow(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.exists()).toEqual(true); }); it("should render passed orders array", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.text()).toContain("77"); expect(wrapper.text()).toContain("9/4/2019"); @@ -106,7 +111,9 @@ describe("", () => { }); it("should navigate to particular order when clicking on order row", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); const historySpy = jest.spyOn(history, "push"); wrapper.find(S.Row).at(1).simulate("click"); @@ -117,7 +124,9 @@ describe("", () => { }); it("should navigate to product page when clicking on product thumbnail", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); const historySpy = jest.spyOn(history, "push"); historySpy.mockClear(); From 3309688b37150a5e1193132df8b5722ab7764ead Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 20:17:24 +0200 Subject: [PATCH 115/120] Localize ProductVariantPicker tests --- .../organisms/ProductVariantPicker/test.tsx | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/@next/components/organisms/ProductVariantPicker/test.tsx b/src/@next/components/organisms/ProductVariantPicker/test.tsx index 2785872059..e3d831fe49 100644 --- a/src/@next/components/organisms/ProductVariantPicker/test.tsx +++ b/src/@next/components/organisms/ProductVariantPicker/test.tsx @@ -1,6 +1,7 @@ import { mount } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { components } from "react-select"; import { OverlayItem } from "@components/molecules"; @@ -24,7 +25,9 @@ const PROPS = { describe("", () => { it("exists", () => { - const wrapper = mount(); + const wrapper = mount(, { + wrappingComponent: IntlProvider, + }); expect(wrapper.exists()).toEqual(true); }); @@ -37,7 +40,10 @@ describe("", () => { {...PROPS} selectSidebar={false} onChange={onChangeVariantPicker} - /> + />, + { + wrappingComponent: IntlProvider, + } ); wrapper.find("input").at(0).simulate("focus"); @@ -50,7 +56,10 @@ describe("", () => { it("should disable possible selection of other variant attribute values after selection of one variant attribute values", () => { const wrapper = mount( - + , + { + wrappingComponent: IntlProvider, + } ); // Select value for first attribute @@ -75,7 +84,10 @@ describe("", () => { selectSidebar selectSidebarTarget={portalRoot} onChange={onChangeVariantPicker} - /> + />, + { + wrappingComponent: IntlProvider, + } ); wrapper.find("input").at(0).simulate("focus"); @@ -92,7 +104,10 @@ describe("", () => { selectSidebar selectSidebarTarget={portalRoot} {...PROPS} - /> + />, + { + wrappingComponent: IntlProvider, + } ); // Select value for first attribute From dc54b4c4459378702d325132d79be1f0ac77031d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 20:18:06 +0200 Subject: [PATCH 116/120] Localize AddressGridSelector tests --- .../__snapshots__/stories.storyshot | 3 +-- .../organisms/AddressGridSelector/stories.tsx | 13 ++++++++----- .../organisms/AddressGridSelector/test.tsx | 13 ++++++++++--- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/@next/components/organisms/AddressGridSelector/__snapshots__/stories.storyshot b/src/@next/components/organisms/AddressGridSelector/__snapshots__/stories.storyshot index dffd1ac619..1eb1d78143 100644 --- a/src/@next/components/organisms/AddressGridSelector/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/AddressGridSelector/__snapshots__/stories.storyshot @@ -176,8 +176,7 @@ exports[`Storyshots @components/organisms/AddressGridSelector default 1`] = `

    - Add new - address + Add new address

    diff --git a/src/@next/components/organisms/AddressGridSelector/stories.tsx b/src/@next/components/organisms/AddressGridSelector/stories.tsx index ecd0332d60..be18456898 100644 --- a/src/@next/components/organisms/AddressGridSelector/stories.tsx +++ b/src/@next/components/organisms/AddressGridSelector/stories.tsx @@ -1,6 +1,7 @@ import { action } from "@storybook/addon-actions"; import { storiesOf } from "@storybook/react"; import React from "react"; +import { IntlProvider } from "react-intl"; import { AddressGridSelector } from "."; import { DEFAULT_PROPS } from "./fixtures"; @@ -15,9 +16,11 @@ if (!portalRoot) { storiesOf("@components/organisms/AddressGridSelector", module) .addParameters({ component: AddressGridSelector }) .add("default", () => ( - + + + )); diff --git a/src/@next/components/organisms/AddressGridSelector/test.tsx b/src/@next/components/organisms/AddressGridSelector/test.tsx index 757bb22984..5dcf6a6627 100644 --- a/src/@next/components/organisms/AddressGridSelector/test.tsx +++ b/src/@next/components/organisms/AddressGridSelector/test.tsx @@ -1,14 +1,18 @@ import { mount, shallow } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { AddressGridSelector } from "."; import { DEFAULT_PROPS } from "./fixtures"; describe("", () => { it("exists", () => { - const wrapper = shallow( - + const wrapper = mount( + , + { + wrappingComponent: IntlProvider, + } ); expect(wrapper.exists()).toEqual(true); @@ -17,7 +21,10 @@ describe("", () => { it("simulates select and submit events", done => { const onSelect = jest.fn(); const wrapper = mount( - + , + { + wrappingComponent: IntlProvider, + } ); const input = wrapper.find("input").at(0); From 07342af087ce2f05f85fe33cc7282cbe920f3416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 20:18:39 +0200 Subject: [PATCH 117/120] Localize AddressGrid tests --- .../AddressGrid/__snapshots__/stories.storyshot | 3 +-- .../components/organisms/AddressGrid/stories.tsx | 11 +++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/@next/components/organisms/AddressGrid/__snapshots__/stories.storyshot b/src/@next/components/organisms/AddressGrid/__snapshots__/stories.storyshot index 231c01eab1..96477e65f3 100644 --- a/src/@next/components/organisms/AddressGrid/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/AddressGrid/__snapshots__/stories.storyshot @@ -260,8 +260,7 @@ exports[`Storyshots @components/organisms/AddressGrid default 1`] = `

    - Add new - address + Add new address

    diff --git a/src/@next/components/organisms/AddressGrid/stories.tsx b/src/@next/components/organisms/AddressGrid/stories.tsx index 7f70b85225..22b52b4402 100644 --- a/src/@next/components/organisms/AddressGrid/stories.tsx +++ b/src/@next/components/organisms/AddressGrid/stories.tsx @@ -1,6 +1,7 @@ import { action } from "@storybook/addon-actions"; import { storiesOf } from "@storybook/react"; import React from "react"; +import { IntlProvider } from "react-intl"; import { AddressGrid } from "."; @@ -58,8 +59,10 @@ const addresses = [DEFAULT_PROPS, addressSimple, DEFAULT_PROPS, DEFAULT_PROPS]; storiesOf("@components/organisms/AddressGrid", module) .addParameters({ component: AddressGrid }) .add("default", () => ( - + + + )); From 18de6a77c4c878a55786a26ef1afe4b6d08a81c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 21:25:19 +0200 Subject: [PATCH 118/120] Localize CartRow tests --- .../CartRow/__snapshots__/stories.storyshot | 10 ++-- .../components/organisms/CartRow/stories.tsx | 9 ++-- .../components/organisms/CartRow/test.tsx | 53 +++++++++++++------ 3 files changed, 49 insertions(+), 23 deletions(-) diff --git a/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot b/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot index f9a6a3ce7b..5275e89540 100644 --- a/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CartRow/__snapshots__/stories.storyshot @@ -409,7 +409,9 @@ exports[`Storyshots @components/organisms/CartRow default 1`] = ` - SKU: + SKU + : + @@ -594,7 +596,8 @@ exports[`Storyshots @components/organisms/CartRow default 1`] = ` - Total Price: + Total Price + :

    - Price: + Price + :

    ( - - - + + + + + )); diff --git a/src/@next/components/organisms/CartRow/test.tsx b/src/@next/components/organisms/CartRow/test.tsx index 78a836ec91..e5260e196d 100644 --- a/src/@next/components/organisms/CartRow/test.tsx +++ b/src/@next/components/organisms/CartRow/test.tsx @@ -1,6 +1,7 @@ import { mount, shallow } from "enzyme"; import "jest-styled-components"; import React from "react"; +import { IntlProvider } from "react-intl"; import { MemoryRouter } from "react-router"; import { Icon, IconButton } from "@components/atoms"; @@ -12,12 +13,17 @@ describe("", () => { it("exists", () => { const onRemoveMock = jest.fn(); const onQuantityChangeMock = jest.fn(); - const wrapper = shallow( - + const wrapper = mount( + + + , + { + wrappingComponent: IntlProvider, + } ); expect(wrapper.exists()).toEqual(true); @@ -26,16 +32,20 @@ describe("", () => { it("should call mock when clicking on trash icon", () => { const onRemoveMock = jest.fn(); const onQuantityChangeMock = jest.fn(); - const wrapper = shallow( - + const wrapper = mount( + + + , + { + wrappingComponent: IntlProvider, + } ); - wrapper - .find(IconButton) + .find(Icon) .findWhere(wrapper => wrapper.props().name === "trash") .simulate("click"); @@ -52,7 +62,10 @@ describe("", () => { onRemove={onRemoveMock} onQuantityChange={onQuantityChangeMock} /> - + , + { + wrappingComponent: IntlProvider, + } ); wrapper @@ -75,7 +88,10 @@ describe("", () => { onRemove={onRemoveMock} onQuantityChange={onQuantityChangeMock} /> - + , + { + wrappingComponent: IntlProvider, + } ); wrapper @@ -100,7 +116,10 @@ describe("", () => { onRemove={onRemoveMock} onQuantityChange={onQuantityChangeMock} /> - + , + { + wrappingComponent: IntlProvider, + } ); wrapper From e9853ed0128463536b67c2f1a51a143585bf3a93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 21:28:28 +0200 Subject: [PATCH 119/120] Update snapshots after localization --- .../atoms/AddNewTile/__snapshots__/stories.storyshot | 3 +-- .../atoms/DropdownSelect/__snapshots__/stories.storyshot | 1 + .../molecules/AccountMenu/__snapshots__/stories.storyshot | 2 +- .../CartSummaryRow/__snapshots__/stories.storyshot | 6 ++++-- .../CheckoutAddress/__snapshots__/stories.storyshot | 2 +- .../CheckoutPayment/__snapshots__/stories.storyshot | 2 +- .../CreditCardGrid/__snapshots__/stories.storyshot | 3 +-- 7 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/@next/components/atoms/AddNewTile/__snapshots__/stories.storyshot b/src/@next/components/atoms/AddNewTile/__snapshots__/stories.storyshot index dd49149fb6..8eb8e278f8 100644 --- a/src/@next/components/atoms/AddNewTile/__snapshots__/stories.storyshot +++ b/src/@next/components/atoms/AddNewTile/__snapshots__/stories.storyshot @@ -110,8 +110,7 @@ exports[`Storyshots @components/atoms/AddNewTile default 1`] = `

    - Add new - card + Add new card

    diff --git a/src/@next/components/atoms/DropdownSelect/__snapshots__/stories.storyshot b/src/@next/components/atoms/DropdownSelect/__snapshots__/stories.storyshot index 8170077da0..46055da106 100644 --- a/src/@next/components/atoms/DropdownSelect/__snapshots__/stories.storyshot +++ b/src/@next/components/atoms/DropdownSelect/__snapshots__/stories.storyshot @@ -100,6 +100,7 @@ exports[`Storyshots @components/atoms/DropdownSelect default 1`] = ` className="c4" > Sort by: +
    - MY ACCOUNT + My Account
    - SKU: + SKU + : @@ -87,7 +88,8 @@ exports[`Storyshots @components/molecules/CartSummaryRow default 1`] = `
    - Quantity: + Quantity + : diff --git a/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot b/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot index 8073348835..6b74060da2 100644 --- a/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CheckoutAddress/__snapshots__/stories.storyshot @@ -499,7 +499,7 @@ exports[`Storyshots @components/organisms/CheckoutAddress default 1`] = ` autoComplete="off" autoCorrect="off" disabled={false} - id="react-select-7-input" + id="react-select-10-input" onBlur={[Function]} onChange={[Function]} onFocus={[Function]} diff --git a/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot b/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot index 32d9aca166..90ec0aac34 100644 --- a/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CheckoutPayment/__snapshots__/stories.storyshot @@ -641,7 +641,7 @@ exports[`Storyshots @components/organisms/CheckoutPayment default 1`] = ` autoComplete="off" autoCorrect="off" disabled={false} - id="react-select-8-input" + id="react-select-11-input" onBlur={[Function]} onChange={[Function]} onFocus={[Function]} diff --git a/src/@next/components/organisms/CreditCardGrid/__snapshots__/stories.storyshot b/src/@next/components/organisms/CreditCardGrid/__snapshots__/stories.storyshot index 15c47482b1..58db34b7f6 100644 --- a/src/@next/components/organisms/CreditCardGrid/__snapshots__/stories.storyshot +++ b/src/@next/components/organisms/CreditCardGrid/__snapshots__/stories.storyshot @@ -242,8 +242,7 @@ exports[`Storyshots @components/organisms/CreditCardGrid default 1`] = `

    - Add new - card + Add new card

    From 2351ce6396ff50273cefd1b156ce293e0ca12c95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20=C5=81ada?= Date: Wed, 24 Jun 2020 22:44:46 +0200 Subject: [PATCH 120/120] Refactor Intl wrapper --- .../molecules/AccountTabTiles/test.tsx | 50 +++++---- .../molecules/AddressTile/stories.tsx | 4 +- .../components/molecules/AddressTile/test.tsx | 66 ++++++----- .../molecules/CartSummaryRow/test.tsx | 8 +- .../molecules/CheckoutProgressBar/stories.tsx | 2 +- .../molecules/CheckoutProgressBar/test.tsx | 24 ++-- .../molecules/OrderTabel/stories.tsx | 2 +- .../components/molecules/OrderTabel/test.tsx | 32 ++++-- .../molecules/ProductListHeader/stories.tsx | 4 +- .../molecules/ProductListHeader/test.tsx | 32 +++--- .../molecules/ResetPasswordForm/stories.tsx | 2 +- .../molecules/ResetPasswordForm/test.tsx | 8 +- .../organisms/AddressForm/stories.tsx | 2 +- .../components/organisms/AddressForm/test.tsx | 16 ++- .../organisms/AddressGrid/stories.tsx | 2 +- .../organisms/AddressGridSelector/stories.tsx | 2 +- .../organisms/AddressGridSelector/test.tsx | 16 ++- .../components/organisms/CartRow/stories.tsx | 2 +- .../components/organisms/CartRow/test.tsx | 103 +++++++++--------- .../components/organisms/CartSummary/test.tsx | 8 +- .../organisms/CheckoutAddress/stories.tsx | 4 +- .../organisms/CheckoutAddress/test.tsx | 26 ++--- .../organisms/CheckoutPayment/stories.tsx | 4 +- .../organisms/CheckoutPayment/test.tsx | 54 +++++---- .../organisms/ProductVariantPicker/test.tsx | 62 +++++------ 25 files changed, 285 insertions(+), 250 deletions(-) diff --git a/src/@next/components/molecules/AccountTabTiles/test.tsx b/src/@next/components/molecules/AccountTabTiles/test.tsx index 31b270404c..ca79778be3 100644 --- a/src/@next/components/molecules/AccountTabTiles/test.tsx +++ b/src/@next/components/molecules/AccountTabTiles/test.tsx @@ -1,4 +1,4 @@ -import { mount, shallow } from "enzyme"; +import { mount } from "enzyme"; import "jest-styled-components"; import React from "react"; import { IntlProvider } from "react-intl"; @@ -16,25 +16,31 @@ jest.mock("@saleor/sdk", () => ({ describe("", () => { it("exists", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.exists()).toEqual(true); }); it("should show basic view on load", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.find(Attribute)).toHaveLength(1); }); it("should change view to password change view when clicked on edit icon", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); wrapper.find(IconButton).simulate("click"); @@ -44,25 +50,31 @@ describe("", () => { describe("", () => { it("exists", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.exists()).toEqual(true); }); it("should show basic view on load", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.find(Attribute)).toHaveLength(2); }); it("should change view to password change view when clicked on edit icon", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); wrapper.find(IconButton).simulate("click"); diff --git a/src/@next/components/molecules/AddressTile/stories.tsx b/src/@next/components/molecules/AddressTile/stories.tsx index 99c49f3d2d..4507a7f663 100644 --- a/src/@next/components/molecules/AddressTile/stories.tsx +++ b/src/@next/components/molecules/AddressTile/stories.tsx @@ -40,7 +40,7 @@ const DEFAULT_PROPS = { storiesOf("@components/molecules/AddressTile", module) .addParameters({ component: AddressTile }) .add("default", () => ( - + @@ -51,7 +51,7 @@ storiesOf("@components/molecules/AddressTile", module) CHANGED_DEFAULT_ADDRESSES.address.isDefaultBillingAddress = false; CHANGED_DEFAULT_ADDRESSES.address.isDefaultShippingAddress = false; return ( - + diff --git a/src/@next/components/molecules/AddressTile/test.tsx b/src/@next/components/molecules/AddressTile/test.tsx index 132557ec01..629511bc08 100644 --- a/src/@next/components/molecules/AddressTile/test.tsx +++ b/src/@next/components/molecules/AddressTile/test.tsx @@ -1,4 +1,4 @@ -import { mount, shallow } from "enzyme"; +import { mount } from "enzyme"; import "jest-styled-components"; import React from "react"; import { IntlProvider } from "react-intl"; @@ -35,17 +35,21 @@ const DEFAULT_PROPS = { describe("", () => { it("exists", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.exists()).toEqual(true); }); it("should run onRemove function for clicking on trash button", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); wrapper.find(IconButton).last().simulate("click"); @@ -53,9 +57,11 @@ describe("", () => { }); it("should run onEdit function for clicking on edit button", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); wrapper.find(IconButton).at(1).simulate("click"); @@ -63,9 +69,11 @@ describe("", () => { }); it("should run setDefault method for clicking on Set default billing address", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); wrapper.find(IconButton).first().simulate("click"); wrapper.find("li").first().simulate("click"); @@ -74,9 +82,11 @@ describe("", () => { }); it("should run setDefault method for clicking on Set default shipping address", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); wrapper.find(IconButton).first().simulate("click"); wrapper.find("li").last().simulate("click"); @@ -85,9 +95,11 @@ describe("", () => { }); it("should present Default address if address is default shipping and billing", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.text()).toContain("Default Address"); }); @@ -97,9 +109,11 @@ describe("", () => { CUSTOM_PROPS.address.isDefaultBillingAddress = false; CUSTOM_PROPS.address.isDefaultShippingAddress = true; - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.text()).toContain("Default Shipping Address"); }); @@ -109,9 +123,11 @@ describe("", () => { CUSTOM_PROPS.address.isDefaultBillingAddress = true; CUSTOM_PROPS.address.isDefaultShippingAddress = false; - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.text()).toContain("Default Billing Address"); }); diff --git a/src/@next/components/molecules/CartSummaryRow/test.tsx b/src/@next/components/molecules/CartSummaryRow/test.tsx index 6e207856db..aa80dd2f39 100644 --- a/src/@next/components/molecules/CartSummaryRow/test.tsx +++ b/src/@next/components/molecules/CartSummaryRow/test.tsx @@ -40,9 +40,11 @@ describe("", () => { }); it("should display product quantity", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.text()).toContain(`Quantity: ${DEFAULT_PROPS.quantity}`); }); diff --git a/src/@next/components/molecules/CheckoutProgressBar/stories.tsx b/src/@next/components/molecules/CheckoutProgressBar/stories.tsx index a3813396e4..828879dd58 100644 --- a/src/@next/components/molecules/CheckoutProgressBar/stories.tsx +++ b/src/@next/components/molecules/CheckoutProgressBar/stories.tsx @@ -44,7 +44,7 @@ storiesOf("@components/molecules/CheckoutProgressBar", module) .add("default", () => { const value = number(label, defaultValue, options); return ( - + diff --git a/src/@next/components/molecules/CheckoutProgressBar/test.tsx b/src/@next/components/molecules/CheckoutProgressBar/test.tsx index e2ac5eddbd..69c6cee871 100644 --- a/src/@next/components/molecules/CheckoutProgressBar/test.tsx +++ b/src/@next/components/molecules/CheckoutProgressBar/test.tsx @@ -1,4 +1,4 @@ -import { mount, shallow } from "enzyme"; +import { mount } from "enzyme"; import "jest-styled-components"; import React from "react"; import { IntlProvider } from "react-intl"; @@ -27,12 +27,11 @@ const steps = [ describe("", () => { it("exists", () => { const wrapper = mount( - - - , - { - wrappingComponent: IntlProvider, - } + + + + + ); expect(wrapper.exists()).toEqual(true); @@ -40,12 +39,11 @@ describe("", () => { it("exists", () => { const wrapper = mount( - - - , - { - wrappingComponent: IntlProvider, - } + + + + + ); expect(wrapper.find("a").length).toEqual(steps.length); diff --git a/src/@next/components/molecules/OrderTabel/stories.tsx b/src/@next/components/molecules/OrderTabel/stories.tsx index a8cc5ddb9f..d659fd486d 100644 --- a/src/@next/components/molecules/OrderTabel/stories.tsx +++ b/src/@next/components/molecules/OrderTabel/stories.tsx @@ -82,7 +82,7 @@ storiesOf("@components/molecules/OrderTabel", module) /* eslint-disable-next-line no-extend-native */ Number.prototype.toLocaleString = () => ""; return ( - + ); diff --git a/src/@next/components/molecules/OrderTabel/test.tsx b/src/@next/components/molecules/OrderTabel/test.tsx index 2308d4ed93..bd6a2a6265 100644 --- a/src/@next/components/molecules/OrderTabel/test.tsx +++ b/src/@next/components/molecules/OrderTabel/test.tsx @@ -87,17 +87,21 @@ const ORDERS = [ describe("", () => { it("exists", () => { - const wrapper = shallow(, { - wrappingComponent: IntlProvider, - }); + const wrapper = shallow( + + + + ); expect(wrapper.exists()).toEqual(true); }); it("should render passed orders array", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.text()).toContain("77"); expect(wrapper.text()).toContain("9/4/2019"); @@ -111,9 +115,11 @@ describe("", () => { }); it("should navigate to particular order when clicking on order row", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); const historySpy = jest.spyOn(history, "push"); wrapper.find(S.Row).at(1).simulate("click"); @@ -124,9 +130,11 @@ describe("", () => { }); it("should navigate to product page when clicking on product thumbnail", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); const historySpy = jest.spyOn(history, "push"); historySpy.mockClear(); diff --git a/src/@next/components/molecules/ProductListHeader/stories.tsx b/src/@next/components/molecules/ProductListHeader/stories.tsx index 89a309d441..aeaadc46d2 100644 --- a/src/@next/components/molecules/ProductListHeader/stories.tsx +++ b/src/@next/components/molecules/ProductListHeader/stories.tsx @@ -28,12 +28,12 @@ const DEFAULT_PROPS = { storiesOf("@components/molecules/ProductListHeader", module) .addParameters({ component: ProductListHeader }) .add("default", () => ( - + )) .add("with active filters", () => ( - + )); diff --git a/src/@next/components/molecules/ProductListHeader/test.tsx b/src/@next/components/molecules/ProductListHeader/test.tsx index 1b01835114..fda811dd2f 100644 --- a/src/@next/components/molecules/ProductListHeader/test.tsx +++ b/src/@next/components/molecules/ProductListHeader/test.tsx @@ -38,25 +38,26 @@ describe("", () => { }); it("should display number of products found", () => { - const wrapper = shallow(, { - wrappingComponent: IntlProvider, - }); + const wrapper = shallow(); expect(wrapper.text()).toContain(String(DEFAULT_PROPS.numberOfProducts)); }); it("should not display Clear Filters button if no active filters present", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.text()).not.toContain("Clear Filters"); }); it("should display Clear Filters button if active filters present are present", () => { const wrapper = mount( - , - { wrappingComponent: IntlProvider } + + + ); expect(wrapper.text()).toContain("CLEAR FILTERS"); @@ -64,8 +65,9 @@ describe("", () => { it("should display number of active filters if any are present", () => { const wrapper = mount( - , - { wrappingComponent: IntlProvider } + + + ); expect(wrapper.text()).toContain("FILTERS (3)"); @@ -73,8 +75,9 @@ describe("", () => { it("should call method for clearing filters when clicking on Clear Filters button", () => { const wrapper = mount( - , - { wrappingComponent: IntlProvider } + + + ); wrapper @@ -89,8 +92,9 @@ describe("", () => { it("should call method for clearing filters when clicking on Clear Filters button", () => { const wrapper = mount( - , - { wrappingComponent: IntlProvider } + + + ); wrapper.find("button").at(0).simulate("click"); diff --git a/src/@next/components/molecules/ResetPasswordForm/stories.tsx b/src/@next/components/molecules/ResetPasswordForm/stories.tsx index f8e1dd3e32..b6fdf30a26 100644 --- a/src/@next/components/molecules/ResetPasswordForm/stories.tsx +++ b/src/@next/components/molecules/ResetPasswordForm/stories.tsx @@ -21,7 +21,7 @@ const DEFAULT_PROPS = { storiesOf("@components/molecules/ResetPasswordForm", module) .addParameters({ component: ResetPasswordForm }) .add("default", () => ( - + )); diff --git a/src/@next/components/molecules/ResetPasswordForm/test.tsx b/src/@next/components/molecules/ResetPasswordForm/test.tsx index 64546637b7..9f2c738404 100644 --- a/src/@next/components/molecules/ResetPasswordForm/test.tsx +++ b/src/@next/components/molecules/ResetPasswordForm/test.tsx @@ -19,9 +19,11 @@ describe("", () => { }, }; it("exists", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.exists()).toEqual(true); }); diff --git a/src/@next/components/organisms/AddressForm/stories.tsx b/src/@next/components/organisms/AddressForm/stories.tsx index 421db16699..57bc657ad4 100644 --- a/src/@next/components/organisms/AddressForm/stories.tsx +++ b/src/@next/components/organisms/AddressForm/stories.tsx @@ -12,7 +12,7 @@ const Container = styled.div` `; const withContainer = (children: ReactNode) => ( - + {children} ); diff --git a/src/@next/components/organisms/AddressForm/test.tsx b/src/@next/components/organisms/AddressForm/test.tsx index ca900888a8..433fa7e616 100644 --- a/src/@next/components/organisms/AddressForm/test.tsx +++ b/src/@next/components/organisms/AddressForm/test.tsx @@ -35,17 +35,21 @@ describe("", () => { }); it("should contain error provided as prop", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.text()).toContain(errorMessage); }); it("should contain partial data if provided", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); const getValue = (n: number) => wrapper.find(Input).at(n).prop("value"); expect(getValue(0)).toEqual(INITIAL_DATA.address.firstName); diff --git a/src/@next/components/organisms/AddressGrid/stories.tsx b/src/@next/components/organisms/AddressGrid/stories.tsx index 22b52b4402..93396b7e04 100644 --- a/src/@next/components/organisms/AddressGrid/stories.tsx +++ b/src/@next/components/organisms/AddressGrid/stories.tsx @@ -59,7 +59,7 @@ const addresses = [DEFAULT_PROPS, addressSimple, DEFAULT_PROPS, DEFAULT_PROPS]; storiesOf("@components/organisms/AddressGrid", module) .addParameters({ component: AddressGrid }) .add("default", () => ( - + ( - + ", () => { it("exists", () => { const wrapper = mount( - , - { - wrappingComponent: IntlProvider, - } + + + ); expect(wrapper.exists()).toEqual(true); @@ -21,10 +20,9 @@ describe("", () => { it("simulates select and submit events", done => { const onSelect = jest.fn(); const wrapper = mount( - , - { - wrappingComponent: IntlProvider, - } + + + ); const input = wrapper.find("input").at(0); diff --git a/src/@next/components/organisms/CartRow/stories.tsx b/src/@next/components/organisms/CartRow/stories.tsx index 0b4150b5e7..464bd885ae 100644 --- a/src/@next/components/organisms/CartRow/stories.tsx +++ b/src/@next/components/organisms/CartRow/stories.tsx @@ -16,7 +16,7 @@ const STORY_PROPS = { storiesOf("@components/organisms/CartRow", module) .addParameters({ component: CartRow }) .add("default", () => ( - + diff --git a/src/@next/components/organisms/CartRow/test.tsx b/src/@next/components/organisms/CartRow/test.tsx index e5260e196d..60d564473c 100644 --- a/src/@next/components/organisms/CartRow/test.tsx +++ b/src/@next/components/organisms/CartRow/test.tsx @@ -1,10 +1,10 @@ -import { mount, shallow } from "enzyme"; +import { mount } from "enzyme"; import "jest-styled-components"; import React from "react"; import { IntlProvider } from "react-intl"; import { MemoryRouter } from "react-router"; -import { Icon, IconButton } from "@components/atoms"; +import { Icon } from "@components/atoms"; import { CartRow } from "."; import { DEFAULT_PROPS } from "./fixtures"; @@ -14,16 +14,15 @@ describe("", () => { const onRemoveMock = jest.fn(); const onQuantityChangeMock = jest.fn(); const wrapper = mount( - - - , - { - wrappingComponent: IntlProvider, - } + + + + + ); expect(wrapper.exists()).toEqual(true); @@ -33,16 +32,15 @@ describe("", () => { const onRemoveMock = jest.fn(); const onQuantityChangeMock = jest.fn(); const wrapper = mount( - - - , - { - wrappingComponent: IntlProvider, - } + + + + + ); wrapper .find(Icon) @@ -56,16 +54,15 @@ describe("", () => { const onRemoveMock = jest.fn(); const onQuantityChangeMock = jest.fn(); const wrapper = mount( - - - , - { - wrappingComponent: IntlProvider, - } + + + + + ); wrapper @@ -82,16 +79,15 @@ describe("", () => { const onRemoveMock = jest.fn(); const onQuantityChangeMock = jest.fn(); const wrapper = mount( - - - , - { - wrappingComponent: IntlProvider, - } + + + + + ); wrapper @@ -108,18 +104,17 @@ describe("", () => { const onRemoveMock = jest.fn(); const onQuantityChangeMock = jest.fn(); const wrapper = mount( - - - , - { - wrappingComponent: IntlProvider, - } + + + + + ); wrapper diff --git a/src/@next/components/organisms/CartSummary/test.tsx b/src/@next/components/organisms/CartSummary/test.tsx index 6119fe7bcc..bb0acbac03 100644 --- a/src/@next/components/organisms/CartSummary/test.tsx +++ b/src/@next/components/organisms/CartSummary/test.tsx @@ -39,9 +39,11 @@ describe("", () => { }); it("should show shipping price", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.text()).toContain("123"); }); diff --git a/src/@next/components/organisms/CheckoutAddress/stories.tsx b/src/@next/components/organisms/CheckoutAddress/stories.tsx index f1ed32de34..316e3505dd 100644 --- a/src/@next/components/organisms/CheckoutAddress/stories.tsx +++ b/src/@next/components/organisms/CheckoutAddress/stories.tsx @@ -16,7 +16,7 @@ if (!portalRoot) { storiesOf("@components/organisms/CheckoutAddress", module) .addParameters({ component: CheckoutAddress }) .add("default", () => ( - + )) .add("with addresses", () => ( - + ", () => { it("renders user addresses", () => { const setShippingAddress = jest.fn(); const wrapper = mount( - , - { - wrappingComponent: IntlProvider, - } + + + ); const { address } = LOGGED_IN_USER_PROPS.userAddresses[0]; @@ -32,13 +31,12 @@ describe("", () => { it("renders address form", () => { const setShippingAddress = jest.fn(); const wrapper = mount( - , - { - wrappingComponent: IntlProvider, - } + + + ); const address = ANONYMOUS_USER_PROPS.checkoutAddress; diff --git a/src/@next/components/organisms/CheckoutPayment/stories.tsx b/src/@next/components/organisms/CheckoutPayment/stories.tsx index 82d95cb7c1..dc1fddb5b4 100644 --- a/src/@next/components/organisms/CheckoutPayment/stories.tsx +++ b/src/@next/components/organisms/CheckoutPayment/stories.tsx @@ -29,7 +29,7 @@ const onGatewayError = action("onGatewayError has been called"); storiesOf("@components/organisms/CheckoutPayment", module) .addParameters({ component: CheckoutPayment }) .add("default", () => ( - + )) .add("with addresses", () => ( - + ", () => { const processPayment = jest.fn(); const onGatewayError = jest.fn(); const wrapper = mount( - , - { - wrappingComponent: IntlProvider, - } + + + ); const address = LOGGED_IN_USER_PROPS.userAddresses[0]; @@ -55,20 +54,19 @@ describe("", () => { const selectPaymentGateway = jest.fn(); const onGatewayError = jest.fn(); const wrapper = mount( - , - { - wrappingComponent: IntlProvider, - } + + + ); const wrapperText = wrapper.text(); diff --git a/src/@next/components/organisms/ProductVariantPicker/test.tsx b/src/@next/components/organisms/ProductVariantPicker/test.tsx index e3d831fe49..62b8392f50 100644 --- a/src/@next/components/organisms/ProductVariantPicker/test.tsx +++ b/src/@next/components/organisms/ProductVariantPicker/test.tsx @@ -25,9 +25,11 @@ const PROPS = { describe("", () => { it("exists", () => { - const wrapper = mount(, { - wrappingComponent: IntlProvider, - }); + const wrapper = mount( + + + + ); expect(wrapper.exists()).toEqual(true); }); @@ -36,14 +38,13 @@ describe("", () => { const onChangeVariantPicker = jest.fn(); const wrapper = mount( - , - { - wrappingComponent: IntlProvider, - } + + + ); wrapper.find("input").at(0).simulate("focus"); @@ -56,10 +57,9 @@ describe("", () => { it("should disable possible selection of other variant attribute values after selection of one variant attribute values", () => { const wrapper = mount( - , - { - wrappingComponent: IntlProvider, - } + + , + ); // Select value for first attribute @@ -79,15 +79,14 @@ describe("", () => { const onChangeVariantPicker = jest.fn(); const wrapper = mount( - , - { - wrappingComponent: IntlProvider, - } + + + ); wrapper.find("input").at(0).simulate("focus"); @@ -100,14 +99,13 @@ describe("", () => { it("should disable possible selection of other variant attribute values after selection of one variant attribute values with sidebar", () => { const wrapper = mount( - , - { - wrappingComponent: IntlProvider, - } + + + ); // Select value for first attribute