@plasmicpkgs/commerce-commercetools 0.0.157 → 0.0.159
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commerce-commercetools.cjs.development.js +37 -47
- package/dist/commerce-commercetools.cjs.development.js.map +1 -1
- package/dist/commerce-commercetools.cjs.production.min.js +1 -1
- package/dist/commerce-commercetools.cjs.production.min.js.map +1 -1
- package/dist/commerce-commercetools.esm.js +37 -47
- package/dist/commerce-commercetools.esm.js.map +1 -1
- package/package.json +4 -4
|
@@ -14,6 +14,40 @@ var debounce = _interopDefault(require('debounce'));
|
|
|
14
14
|
var platformSdk = require('@commercetools/platform-sdk');
|
|
15
15
|
var sdkClientV2 = require('@commercetools/sdk-client-v2');
|
|
16
16
|
|
|
17
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
18
|
+
try {
|
|
19
|
+
var i = n[a](c),
|
|
20
|
+
u = i.value;
|
|
21
|
+
} catch (n) {
|
|
22
|
+
return void e(n);
|
|
23
|
+
}
|
|
24
|
+
i.done ? t(u) : Promise.resolve(u).then(r, o);
|
|
25
|
+
}
|
|
26
|
+
function _asyncToGenerator(n) {
|
|
27
|
+
return function () {
|
|
28
|
+
var t = this,
|
|
29
|
+
e = arguments;
|
|
30
|
+
return new Promise(function (r, o) {
|
|
31
|
+
var a = n.apply(t, e);
|
|
32
|
+
function _next(n) {
|
|
33
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
|
|
34
|
+
}
|
|
35
|
+
function _throw(n) {
|
|
36
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
|
|
37
|
+
}
|
|
38
|
+
_next(void 0);
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function _extends() {
|
|
43
|
+
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
44
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
45
|
+
var t = arguments[e];
|
|
46
|
+
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
47
|
+
}
|
|
48
|
+
return n;
|
|
49
|
+
}, _extends.apply(null, arguments);
|
|
50
|
+
}
|
|
17
51
|
function _regeneratorRuntime() {
|
|
18
52
|
_regeneratorRuntime = function () {
|
|
19
53
|
return e;
|
|
@@ -122,7 +156,7 @@ function _regeneratorRuntime() {
|
|
|
122
156
|
function makeInvokeMethod(e, r, n) {
|
|
123
157
|
var o = h;
|
|
124
158
|
return function (i, a) {
|
|
125
|
-
if (o === f) throw
|
|
159
|
+
if (o === f) throw Error("Generator is already running");
|
|
126
160
|
if (o === s) {
|
|
127
161
|
if ("throw" === i) throw a;
|
|
128
162
|
return {
|
|
@@ -264,7 +298,7 @@ function _regeneratorRuntime() {
|
|
|
264
298
|
} else if (c) {
|
|
265
299
|
if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
|
|
266
300
|
} else {
|
|
267
|
-
if (!u) throw
|
|
301
|
+
if (!u) throw Error("try statement without catch or finally");
|
|
268
302
|
if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
|
|
269
303
|
}
|
|
270
304
|
}
|
|
@@ -304,7 +338,7 @@ function _regeneratorRuntime() {
|
|
|
304
338
|
return o;
|
|
305
339
|
}
|
|
306
340
|
}
|
|
307
|
-
throw
|
|
341
|
+
throw Error("illegal catch attempt");
|
|
308
342
|
},
|
|
309
343
|
delegateYield: function (e, r, n) {
|
|
310
344
|
return this.delegate = {
|
|
@@ -315,50 +349,6 @@ function _regeneratorRuntime() {
|
|
|
315
349
|
}
|
|
316
350
|
}, e;
|
|
317
351
|
}
|
|
318
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
319
|
-
try {
|
|
320
|
-
var info = gen[key](arg);
|
|
321
|
-
var value = info.value;
|
|
322
|
-
} catch (error) {
|
|
323
|
-
reject(error);
|
|
324
|
-
return;
|
|
325
|
-
}
|
|
326
|
-
if (info.done) {
|
|
327
|
-
resolve(value);
|
|
328
|
-
} else {
|
|
329
|
-
Promise.resolve(value).then(_next, _throw);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
function _asyncToGenerator(fn) {
|
|
333
|
-
return function () {
|
|
334
|
-
var self = this,
|
|
335
|
-
args = arguments;
|
|
336
|
-
return new Promise(function (resolve, reject) {
|
|
337
|
-
var gen = fn.apply(self, args);
|
|
338
|
-
function _next(value) {
|
|
339
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
340
|
-
}
|
|
341
|
-
function _throw(err) {
|
|
342
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
343
|
-
}
|
|
344
|
-
_next(undefined);
|
|
345
|
-
});
|
|
346
|
-
};
|
|
347
|
-
}
|
|
348
|
-
function _extends() {
|
|
349
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
350
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
351
|
-
var source = arguments[i];
|
|
352
|
-
for (var key in source) {
|
|
353
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
354
|
-
target[key] = source[key];
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
return target;
|
|
359
|
-
};
|
|
360
|
-
return _extends.apply(this, arguments);
|
|
361
|
-
}
|
|
362
352
|
|
|
363
353
|
var getSortVariables = function getSortVariables(sort, isCategory) {
|
|
364
354
|
var output = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commerce-commercetools.cjs.development.js","sources":["../src/utils/get-sort-variables.ts","../src/const.ts","../src/utils/cookies.ts","../src/utils/cart-cookie.ts","../src/utils/cart-create.ts","../src/utils/cart-active.ts","../src/utils/localized-string.ts","../src/utils/common.ts","../src/utils/normalize.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-remove-item.tsx","../src/cart/use-update-item.tsx","../src/client.ts","../src/fetcher.ts","../src/product/use-product.tsx","../src/product/use-search.tsx","../src/site/use-brands.tsx","../src/site/use-categories.tsx","../src/provider.ts","../src/commercetools.tsx","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["const getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = undefined\n switch (sort) {\n case 'price-asc':\n output = 'price asc'\n break\n case 'price-desc':\n output = 'price desc'\n break\n case 'trending-desc': // default option\n output = undefined\n break\n case 'latest-desc':\n output = 'createdAt desc'\n break\n }\n return output\n}\n\nexport default getSortVariables\n","export const COMMERCETOOLS_COOKIE_EXPIRE = 30\n\nexport const COMMERCETOOLS_CART_COOKIE = 'commercetools_cart'\n\nexport const COMMERCETOOLS_CUSTOMER_COOKIE = 'commercetools_customer'\n\nexport const COMMERCETOOLS_WISHLIST_COOKIE = 'commercetools_wishlist'\n","import Cookies, { CookieAttributes } from 'js-cookie';\nimport { COMMERCETOOLS_COOKIE_EXPIRE } from '../const'\n\nconst options: CookieAttributes = {\n expires: COMMERCETOOLS_COOKIE_EXPIRE,\n sameSite: \"none\",\n secure: true\n}\n\nexport const getCookies = <T>(name: string) => {\n const cookie = Cookies.get(name);\n return cookie ? (JSON.parse(cookie) as T) : undefined\n}\n\nexport const setCookies = (name: string, value: any) => Cookies.set(name, JSON.stringify(value), options);\n\nexport const removeCookies = (name: string) => Cookies.remove(name);\n","import { COMMERCETOOLS_CART_COOKIE } from '../const'\nimport { getCookies, setCookies, removeCookies } from './cookies'\n\nexport const getCartId = () =>\n getCookies<string>(COMMERCETOOLS_CART_COOKIE)\n\nexport const setCartId = (id: string) =>\n setCookies(COMMERCETOOLS_CART_COOKIE, id)\n\nexport const removeCartCookie = () =>\n removeCookies(COMMERCETOOLS_CART_COOKIE)\n","import { Cart, CartDraft } from '@commercetools/platform-sdk'\nimport { ClientResponse } from '@commercetools/sdk-client-v2'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { removeCartCookie, setCartId } from './cart-cookie'\n\nconst createCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const draft: CartDraft = {\n currency: 'USD',\n country: 'US',\n }\n\n const cart = await fetch<ClientResponse<Cart>, CartDraft>({\n query: 'carts',\n method: 'post',\n body: draft,\n })\n\n if (!cart.body) {\n removeCartCookie()\n } else {\n setCartId(cart.body.id)\n }\n return cart.body\n}\n\nexport default createCart\n","import { Cart, ClientResponse } from '@commercetools/platform-sdk'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { getCartId, removeCartCookie, setCartId } from './cart-cookie'\nimport createCart from './cart-create'\n\nconst getActiveCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const cartId = getCartId()\n let activeCart\n if (cartId) {\n activeCart = (\n await fetch<ClientResponse<Cart>>({\n query: 'carts',\n method: 'get',\n variables: {\n id: cartId,\n },\n })\n ).body\n } else {\n activeCart = await createCart(fetch)\n }\n\n if (!activeCart) {\n removeCartCookie()\n } else {\n setCartId(activeCart.id)\n }\n return activeCart\n}\n\nexport default getActiveCart\n","const getLocalizedString = (\n localizedString: Record<string, string> | undefined,\n locale: string | undefined\n) =>\n !localizedString || !locale\n ? undefined\n : locale in localizedString\n ? localizedString[locale]\n : Object.values(localizedString)[0]\n\nexport default getLocalizedString\n","export const withoutNils = <T>(xs: Array<T | undefined | null>): T[] =>\n xs.filter((x): x is T => x != null)\n\nexport const dedup = <T>(xs: Array<T>): T[] => [...new Set(xs)]\n","import { Category } from '../types/site'\nimport {\n ProductProjection,\n Image,\n ProductVariant,\n Category as CommercetoolsCategory,\n Cart as CommercetoolsCart,\n LineItem as CommercetoolsLineItem,\n TypedMoney,\n Customer,\n ShoppingList,\n ProductData,\n} from '@commercetools/platform-sdk'\nimport { dedup, withoutNils } from './common'\nimport getLocalizedString from './localized-string'\nimport { Cart, LineItem } from '../types/cart'\nimport { Product, ProductOption } from '../types/product'\n\nconst currencyCode = 'USD'\n\nconst stringify = (value: any) =>\n typeof value === 'string' ? value : JSON.stringify(value)\n\nconst money = (price: TypedMoney | undefined) => {\n return price\n ? {\n value: price.centAmount / 100,\n currencyCode: price.currencyCode,\n }\n : {\n value: -1.0, // error\n currencyCode,\n }\n}\n\nconst normalizeProductOption = (option: {\n name: string\n value: string | string[]\n}): ProductOption => ({\n __typename: 'MultipleChoiceOption',\n id: option.name,\n displayName: option.name,\n values: dedup(\n Array.isArray(option.value) ? option.value : [option.value]\n ).map((val) => {\n if (\n option.name.match(/colou?r/gi) &&\n /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i.test(val)\n ) {\n return {\n label: stringify(val),\n hexColors: [val],\n }\n } else {\n return {\n label: stringify(val),\n }\n }\n }),\n})\n\nconst normalizeProductImages = (images: Image[]) =>\n images.map((image) => ({\n url: image.url,\n ...(image.label ? { alt: image.label } : {}),\n width: image.dimensions.w,\n height: image.dimensions.h,\n }))\n\nconst normalizeProductVariant = (variant: ProductVariant) => {\n const price = money(\n variant.prices?.find((price) => price.value.currencyCode === currencyCode)\n ?.value ?? variant.prices?.[0]?.value\n ).value\n\n return {\n id: `${variant.id}`,\n name: `${variant.id}`,\n sku: variant.sku ?? '',\n price,\n options:\n variant.attributes?.map((attribute) =>\n normalizeProductOption({\n name: attribute.name,\n value: attribute.value.key,\n })\n ) ?? [],\n requiresShipping: false,\n listPrice: price,\n }\n}\n\nexport const normalizeProduct = (\n product: ProductProjection | (ProductData & { id: string }),\n locale: string,\n): Product => ({\n id: product.id,\n name: getLocalizedString(product.name, locale) ?? \"\",\n slug: getLocalizedString(product.slug, locale),\n path: `/${getLocalizedString(product.slug, locale)}`,\n description: getLocalizedString(product.description, locale) ?? '',\n price: money(\n product.masterVariant.prices?.find(\n (price) => price.value.currencyCode === currencyCode\n )?.value ?? product.masterVariant.prices?.[0]?.value\n ),\n images: normalizeProductImages(\n withoutNils([\n ...(product.masterVariant.images ? product.masterVariant.images : []),\n ...product.variants.flatMap((variant) => variant.images),\n ])\n ),\n variants: [product.masterVariant, ...product.variants].map(\n normalizeProductVariant\n ),\n options: withoutNils([\n ...(product.masterVariant.attributes\n ? product.masterVariant.attributes\n : []),\n ...product.variants.flatMap((variant) => variant.attributes),\n ])\n .reduce(\n (groupedAttributes, attribute) => {\n const groupedAttribute = groupedAttributes.find(\n (gAttr) => gAttr.name === attribute.name\n )\n if (groupedAttribute) {\n groupedAttribute.value.push(stringify(attribute.value.key))\n } else {\n groupedAttributes.push({\n name: attribute.name,\n value: [stringify(attribute.value.key)],\n })\n }\n return groupedAttributes\n },\n [] as {\n name: string\n value: string[]\n }[]\n )\n .map(normalizeProductOption),\n})\n\nconst normalizeLineItem = (\n lineItem: CommercetoolsLineItem,\n locale: string,\n): LineItem => ({\n id: lineItem.id,\n variantId: `${lineItem.variant.id}`,\n productId: lineItem.productId,\n name: getLocalizedString(lineItem.name, locale) ?? \"\",\n path: '',\n quantity: lineItem.quantity,\n discounts: [],\n variant: normalizeProductVariant(lineItem.variant),\n options:\n lineItem.variant.attributes?.map((attribute) => ({\n id: attribute.name,\n name: attribute.name,\n value: attribute.value.key,\n })) ?? [],\n})\n\nexport const normalizeCart = (\n cart: CommercetoolsCart,\n locale: string,\n): Cart => ({\n id: cart.id,\n customerId: cart.customerId,\n email: cart.customerEmail,\n createdAt: cart.createdAt,\n currency: {\n code: currencyCode,\n },\n taxesIncluded: cart.taxMode !== 'Disabled',\n lineItems: cart.lineItems.map((item) => normalizeLineItem(item, locale)),\n lineItemsSubtotalPrice: 0,\n subtotalPrice: money(cart.totalPrice).value,\n totalPrice: money(cart.totalPrice).value,\n discounts: [],\n})\n\nexport const normalizeCategory = (\n category: CommercetoolsCategory,\n locale: string,\n): Category => ({\n id: category.id,\n name: getLocalizedString(category.name, locale) ?? \"\",\n slug: getLocalizedString(category.slug, locale) ?? \"\",\n path: `/${getLocalizedString(category.slug, locale)}`,\n})\n\nexport const normalizeCustomer = (customer: Customer) => ({\n firstName: customer.firstName,\n lastName: customer.lastName,\n email: customer.email,\n})\n\nexport const normalizeWishlist = (wishlist: ShoppingList) => ({\n items:\n wishlist.lineItems?.map((item) => ({\n id: item.id,\n product_id: item.productId,\n variant_id: item.variantId!,\n })) ?? [],\n})\n","import { useMemo } from 'react'\nimport { useCart as useCommerceCart, UseCart } from '@plasmicpkgs/commerce'\nimport { SWRHook } from '@plasmicpkgs/commerce'\nimport { getActiveCart, normalizeCart } from '../utils'\nimport { GetCartHook } from '../types/cart'\n\nexport default useCommerceCart as UseCart<typeof handler>\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"get\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const activeCart = await getActiveCart(fetch);\n return activeCart ? normalizeCart(activeCart, provider!.locale) : null;\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.lineItems.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","import { Cart, CartUpdate, ClientResponse } from \"@commercetools/platform-sdk\";\nimport type { MutationHook } from \"@plasmicpkgs/commerce\";\nimport { useAddItem, UseAddItem } from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport type { AddItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({ input: item, options, fetch, provider }) {\n const activeCart = await getActiveCart(fetch);\n if (\n (item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)) ||\n !activeCart\n ) {\n return undefined;\n }\n const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"addLineItem\",\n variantId: +item.variantId,\n productId: item.productId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return updatedCart.body\n ? normalizeCart(updatedCart.body, provider!.locale)\n : undefined;\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart();\n return useCallback(\n async function addItem(input) {\n const data = await fetch({ input });\n await mutate(data, false);\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","import {\n Cart as CommerceToolsCart,\n CartUpdate,\n ClientResponse,\n} from \"@commercetools/platform-sdk\";\nimport type {\n HookFetcherContext,\n MutationHook,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport {\n UseRemoveItem,\n useRemoveItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport type { Cart, LineItem, RemoveItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\n\nexport type RemoveItemFn<T = any> = T extends LineItem\n ? (input?: RemoveItemActionInput<T>) => Promise<Cart | null | undefined>\n : (input: RemoveItemActionInput<T>) => Promise<Cart | null>;\n\nexport type RemoveItemActionInput<T = any> = T extends LineItem\n ? Partial<RemoveItemHook[\"actionInput\"]>\n : RemoveItemHook[\"actionInput\"];\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>;\n\nexport const handler: MutationHook<RemoveItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n provider,\n }: HookFetcherContext<RemoveItemHook>) {\n const activeCart = await getActiveCart(fetch);\n if (!itemId || !activeCart) {\n return undefined;\n }\n const updatedCart = await fetch<\n ClientResponse<CommerceToolsCart>,\n CartUpdate\n >({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"removeLineItem\",\n lineItemId: itemId,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return normalizeCart(updatedCart.body, provider!.locale);\n },\n useHook:\n ({ fetch }: MutationHookContext<RemoveItemHook>) =>\n <T extends LineItem | undefined = undefined>(ctx: { item?: T } = {}) => {\n const { item } = ctx;\n const { mutate } = useCart();\n const removeItem: RemoveItemFn<LineItem> = async (input) => {\n const itemId = input?.id ?? item?.id;\n\n if (!itemId) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({ input: { itemId } });\n await mutate(data, false);\n return data;\n };\n\n return useCallback(removeItem as RemoveItemFn<T>, [fetch, mutate]);\n },\n};\n","import { Cart, CartUpdate, ClientResponse } from \"@commercetools/platform-sdk\";\nimport type { MutationHook, MutationHookContext } from \"@plasmicpkgs/commerce\";\nimport {\n useUpdateItem,\n UseUpdateItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\nimport type { LineItem, UpdateItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\nexport const handler: MutationHook<UpdateItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({ input: { item, itemId }, options, fetch, provider }) {\n if (Number.isInteger(item.quantity)) {\n // Also allow the update hook to remove an item if the quantity is lower than 1\n if (item.quantity! < 1) {\n return removeItemHandler.fetcher?.({\n options: removeItemHandler.fetchOptions,\n input: { itemId },\n fetch,\n provider,\n });\n }\n } else if (item.quantity) {\n throw new ValidationError({\n message: \"The item quantity has to be a valid integer\",\n });\n }\n\n const activeCart = await getActiveCart(fetch);\n if (\n (item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)) ||\n !activeCart\n ) {\n return undefined;\n }\n const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"changeLineItemQuantity\",\n lineItemId: itemId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return updatedCart.body\n ? normalizeCart(updatedCart.body, provider!.locale)\n : undefined;\n },\n useHook:\n ({ fetch }: MutationHookContext<UpdateItemHook>) =>\n <T extends LineItem | undefined = undefined>(\n ctx: {\n item?: T;\n wait?: number;\n } = {}\n ) => {\n const { item } = ctx;\n const { mutate } = useCart() as any;\n\n return useCallback(\n debounce(async (input: UpdateItemActionInput<T>) => {\n const itemId = input.id ?? item?.id;\n if (!itemId || input.quantity == null) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","import {\n AuthMiddlewareOptions,\n ClientBuilder,\n HttpMiddlewareOptions,\n } from '@commercetools/sdk-client-v2'\nimport { CommercetoolsCredentials } from './provider'\n\nconst initCommercetoolsSDKClient = (creds: CommercetoolsCredentials) => {\n const scopes = [`manage_project:${creds.projectKey}`]\n \n // Configure authMiddlewareOptions\n const authMiddlewareOptions: AuthMiddlewareOptions = {\n host: `https://auth.${creds.region}.commercetools.com`,\n projectKey: creds.clientSecret,\n credentials: {\n clientId: creds.clientId,\n clientSecret: creds.clientSecret,\n },\n scopes,\n fetch,\n }\n \n // Configure httpMiddlewareOptions\n const httpMiddlewareOptions: HttpMiddlewareOptions = {\n host: `https://api.${creds.region}.commercetools.com`,\n fetch,\n }\n \n // Export the ClientBuilder\n return new ClientBuilder()\n .withProjectKey(creds.projectKey)\n .withClientCredentialsFlow(authMiddlewareOptions)\n .withHttpMiddleware(httpMiddlewareOptions)\n .build()\n}\n \n export default initCommercetoolsSDKClient","import { Fetcher } from '@plasmicpkgs/commerce'\nimport { CommercetoolsCredentials } from './provider'\nimport { createApiBuilderFromCtpClient } from '@commercetools/platform-sdk'\nimport initCommercetoolsSDKClient from './client'\n\nexport const getFetcher: \n (creds: CommercetoolsCredentials) => Fetcher =\n (creds) => {\n const client = initCommercetoolsSDKClient(creds);\n const apiRoot = createApiBuilderFromCtpClient(client).withProjectKey({\n projectKey: creds.projectKey!,\n })\n return async ({\n method, variables, query, body\n }) => {\n let queryBuilder: any = apiRoot;\n if (query) {\n queryBuilder = queryBuilder[query]();\n } \n if (variables?.id) {\n queryBuilder = queryBuilder.withId({ ID: variables.id });\n }\n if (variables?.search) {\n queryBuilder = queryBuilder.search();\n }\n return await queryBuilder[method!]({\n body,\n queryArgs: {\n expand: variables?.expand,\n limit: variables?.limit,\n ...(variables?.sort ? { sort: variables.sort } : {}),\n ...(variables?.search ? variables.search : {}),\n ...(variables?.filters ? { filter: variables.filters } : {}),\n ...(variables?.where ? { where: variables.where } : {})\n },\n })\n .execute()\n }\n}\n","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { useProduct, UseProduct } from '@plasmicpkgs/commerce'\nimport {\n Product,\n ProductProjection,\n ClientResponse,\n} from '@commercetools/platform-sdk'\nimport { normalizeProduct } from '../utils'\nimport type { GetProductHook } from '@plasmicpkgs/commerce'\n\nexport type GetProductInput = {\n id?: string\n}\n\nexport default useProduct as UseProduct<typeof handler>\n\nexport const handler: SWRHook<GetProductHook> = {\n fetchOptions: {\n query: \"productProjections\",\n method: \"get\"\n },\n async fetcher({ input, options, fetch, provider }) {\n const { id } = input\n if (!id) {\n return null\n }\n\n const product = await fetch<ClientResponse<ProductProjection>>({\n ...options,\n variables: {\n id\n },\n });\n return product.body \n ? normalizeProduct(product.body, provider!.locale)\n : null\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n ['id', input.id],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n })\n },\n}\n","import {\n ClientResponse,\n ProductProjectionPagedQueryResponse,\n} from \"@commercetools/platform-sdk\";\nimport { useSearch } from \"@plasmicpkgs/commerce\";\nimport { getSortVariables, normalizeProduct } from \"../utils\";\n\nimport type {\n SearchProductsHook,\n SWRHook,\n UseSearch,\n} from \"@plasmicpkgs/commerce\";\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: number;\n brandId?: number;\n sort?: string;\n locale?: string;\n count?: number;\n};\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n method: \"get\",\n query: \"productProjections\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const { search, categoryId, sort, count } = input;\n const response = await fetch<\n ClientResponse<ProductProjectionPagedQueryResponse>\n >({\n ...options,\n variables: {\n expand: [\"masterData.current\"],\n sort: getSortVariables(sort),\n limit: count,\n ...(search\n ? // eslint-disable-next-line\n { search: { [`text.${provider?.locale!}`]: search } }\n : {}),\n ...(categoryId\n ? { filters: `categories.id: subtree(\"${categoryId}\")` }\n : {}),\n },\n });\n return {\n products: response.body.results.map((product) =>\n normalizeProduct(product, provider!.locale)\n ),\n found: response.body.count > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"locale\", input.locale],\n [\"count\", input.count],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { UseBrands, useBrands } from '@plasmicpkgs/commerce'\nimport { useMemo } from \"react\";\nimport { GetBrandsHook } from \"../types/site\"\n\nexport default useBrands as UseBrands<typeof handler>\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: \"\"\n },\n async fetcher({ input, options, fetch }) {\n return null;\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","import { SWRHook, UseCategories, useCategories } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { GetCategoriesHook } from \"../types/site\";\nimport {\n ClientResponse,\n Category,\n CategoryPagedQueryResponse,\n} from '@commercetools/platform-sdk'\nimport { normalizeCategory } from \"../utils\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: \"categories\",\n method: \"get\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const { categoryId } = input;\n if (!categoryId) {\n const categories = await fetch<ClientResponse<CategoryPagedQueryResponse>>({\n ...options\n })\n return categories.body ? categories.body.results.map((category) => normalizeCategory(category, provider!.locale)) : [];\n } else {\n const category = await fetch<ClientResponse<Category>>({\n ...options,\n variables: {\n ...(categoryId ? { id: categoryId } : { })\n }\n })\n return category.body ? [normalizeCategory(category.body, provider!.locale)] : [];\n }\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","import { Fetcher } from \"@plasmicpkgs/commerce\";\nimport { handler as useAddItem } from \"./cart/use-add-item\";\nimport { handler as useCart } from \"./cart/use-cart\";\nimport { handler as useRemoveItem } from \"./cart/use-remove-item\";\nimport { handler as useUpdateItem } from \"./cart/use-update-item\";\nimport { COMMERCETOOLS_CART_COOKIE } from \"./const\";\nimport { getFetcher } from \"./fetcher\";\nimport { handler as useProduct } from \"./product/use-product\";\nimport { handler as useSearch } from \"./product/use-search\";\nimport { handler as useBrands } from \"./site/use-brands\";\nimport { handler as useCategories } from \"./site/use-categories\";\n\nexport interface CommercetoolsCredentials {\n projectKey: string;\n clientId: string;\n clientSecret: string;\n region: string;\n}\n\nexport const getCommercetoolsProvider = (\n creds: CommercetoolsCredentials,\n locale: string\n) => ({\n locale,\n cartCookie: COMMERCETOOLS_CART_COOKIE,\n cart: { useCart, useAddItem, useRemoveItem, useUpdateItem },\n fetcher: getFetcher(creds),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands },\n});\n\nexport type CommercetoolsProvider = {\n locale: string;\n cartCookie: string;\n fetcher: Fetcher;\n cart: {\n useCart: typeof useCart;\n useAddItem: typeof useAddItem;\n };\n products: {\n useSearch: typeof useSearch;\n useProduct: typeof useProduct;\n };\n site: {\n useCategories: typeof useCategories;\n useBrands: typeof useBrands;\n };\n};\n","import {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from '@plasmicpkgs/commerce'\nimport { getCommercetoolsProvider, CommercetoolsProvider, CommercetoolsCredentials } from './provider'\n\nexport type { CommercetoolsProvider }\n\nexport const useCommerce = () => useCoreCommerce<CommercetoolsProvider>()\n\nexport const getCommerceProvider = (creds: CommercetoolsCredentials, locale: string) => \n getCoreCommerceProvider(getCommercetoolsProvider(creds, locale))\n\n","import { ClientResponse, Project } from \"@commercetools/platform-sdk\";\nimport { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { getCommerceProvider } from \"./commercetools\";\nimport { getFetcher } from \"./fetcher\";\nimport { CommercetoolsCredentials } from \"./provider\";\nimport { Registerable } from \"./registerable\";\n\ninterface CommerceProviderProps extends CommercetoolsCredentials {\n children?: React.ReactNode;\n}\n\nconst globalContextName = \"plasmic-commerce-commercetools-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: globalContextName,\n displayName: \"Commercetools Provider\",\n props: {\n projectKey: {\n type: \"string\",\n defaultValue: \"plasmic-demo\",\n },\n clientId: {\n type: \"string\",\n defaultValue: \"B4hmK61xvz5LvdSDtsFmcflM\",\n },\n clientSecret: {\n type: \"string\",\n defaultValue: \"KhzjcjSu1Oul4aomSmOsLZOCZKbvfHqx\",\n },\n region: {\n type: \"choice\",\n options: [\n \"us-central1.gcp\",\n \"us-east-2.aws\",\n \"europe-west1.gcp\",\n \"eu-central-1.aws\",\n \"australia-southeast1.gcp\",\n ],\n defaultValue: \"us-central1.gcp\",\n },\n },\n ...{ globalActions: globalActionsRegistrations },\n importPath: \"@plasmicpkgs/commercetools\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { children, projectKey, clientId, clientSecret, region } = props;\n\n const creds = React.useMemo(\n () => ({ projectKey, clientId, clientSecret, region }),\n [projectKey, clientId, clientSecret, region]\n );\n\n const {\n data: locale,\n error,\n isLoading,\n } = usePlasmicQueryData(JSON.stringify({ creds }) + \"locale\", async () => {\n const fetcher = getFetcher(creds);\n const project: ClientResponse<Project> = await fetcher({ method: \"get\" });\n return project.body ? project.body.languages[0] : undefined;\n });\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(creds, locale ?? \"\"),\n [creds, locale]\n );\n\n if (isLoading) {\n return null;\n } else if (error || !locale) {\n throw new Error(error ? error.message : \"Project language not found\");\n }\n\n return (\n <CommerceProvider>\n <CartActionsProvider globalContextName={globalContextName}>\n {children}\n </CartActionsProvider>\n </CommerceProvider>\n );\n}\n\nexport function registerCommerceProvider(\n loader?: Registerable,\n customCommerceProviderMeta?: GlobalContextMeta<CommerceProviderProps>\n) {\n const doRegisterComponent: typeof registerGlobalContext = (...args) =>\n loader\n ? loader.registerGlobalContext(...args)\n : registerGlobalContext(...args);\n doRegisterComponent(\n CommerceProviderComponent,\n customCommerceProviderMeta ?? commerceProviderMeta\n );\n}\n","import { Registerable } from \"./registerable\";\nimport { registerCommerceProvider } from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\nexport * from \"./registerCommerceProvider\";\nexport * from \"./commercetools\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n"],"names":["getSortVariables","sort","isCategory","output","undefined","COMMERCETOOLS_COOKIE_EXPIRE","COMMERCETOOLS_CART_COOKIE","options","expires","sameSite","secure","getCookies","name","cookie","Cookies","get","JSON","parse","setCookies","value","set","stringify","removeCookies","remove","getCartId","setCartId","id","removeCartCookie","createCart","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_callee$","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","_x","apply","arguments","getActiveCart","cartId","activeCart","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","dedup","concat","Set","currencyCode","money","price","centAmount","normalizeProductOption","option","__typename","displayName","Array","isArray","map","val","match","test","label","hexColors","normalizeProductImages","images","image","_extends","url","alt","width","dimensions","w","height","h","normalizeProductVariant","variant","_variant$prices$find$","_variant$prices","prices","find","_variant$prices2","sku","_variant$sku","_variant$attributes$m","_variant$attributes","attributes","attribute","key","requiresShipping","listPrice","normalizeProduct","product","_getLocalizedString","_getLocalizedString2","_product$masterVarian","_product$masterVarian2","_product$masterVarian3","slug","path","description","masterVariant","variants","flatMap","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeLineItem","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","input","provider","useHook","_ref2","useData","response","swrOptions","revalidateOnFocus","useMemo","create","isEmpty","_response$data$lineIt","_response$data","data","length","enumerable","Number","isInteger","version","actions","action","_item$quantity","updatedCart","_useCart","useCart","mutate","useCallback","_addItem","_callee2","_callee2$","_context2","addItem","itemId","lineItemId","ctx","_ctx","removeItem","_ref3","_input$id","ValidationError","message","_ref$input","removeItemHandler","debounce","_ctx$wait","wait","initCommercetoolsSDKClient","creds","scopes","projectKey","authMiddlewareOptions","host","region","clientSecret","credentials","clientId","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","getFetcher","client","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","search","queryArgs","expand","limit","filters","where","execute","categoryId","count","_search","products","results","found","brandId","_response$data$length","categories","getCommercetoolsProvider","cartCookie","useAddItem","useRemoveItem","useUpdateItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commerce-commercetools.cjs.development.js","sources":["../src/utils/get-sort-variables.ts","../src/const.ts","../src/utils/cookies.ts","../src/utils/cart-cookie.ts","../src/utils/cart-create.ts","../src/utils/cart-active.ts","../src/utils/localized-string.ts","../src/utils/common.ts","../src/utils/normalize.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-remove-item.tsx","../src/cart/use-update-item.tsx","../src/client.ts","../src/fetcher.ts","../src/product/use-product.tsx","../src/product/use-search.tsx","../src/site/use-brands.tsx","../src/site/use-categories.tsx","../src/provider.ts","../src/commercetools.tsx","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["const getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = undefined\n switch (sort) {\n case 'price-asc':\n output = 'price asc'\n break\n case 'price-desc':\n output = 'price desc'\n break\n case 'trending-desc': // default option\n output = undefined\n break\n case 'latest-desc':\n output = 'createdAt desc'\n break\n }\n return output\n}\n\nexport default getSortVariables\n","export const COMMERCETOOLS_COOKIE_EXPIRE = 30\n\nexport const COMMERCETOOLS_CART_COOKIE = 'commercetools_cart'\n\nexport const COMMERCETOOLS_CUSTOMER_COOKIE = 'commercetools_customer'\n\nexport const COMMERCETOOLS_WISHLIST_COOKIE = 'commercetools_wishlist'\n","import Cookies, { CookieAttributes } from 'js-cookie';\nimport { COMMERCETOOLS_COOKIE_EXPIRE } from '../const'\n\nconst options: CookieAttributes = {\n expires: COMMERCETOOLS_COOKIE_EXPIRE,\n sameSite: \"none\",\n secure: true\n}\n\nexport const getCookies = <T>(name: string) => {\n const cookie = Cookies.get(name);\n return cookie ? (JSON.parse(cookie) as T) : undefined\n}\n\nexport const setCookies = (name: string, value: any) => Cookies.set(name, JSON.stringify(value), options);\n\nexport const removeCookies = (name: string) => Cookies.remove(name);\n","import { COMMERCETOOLS_CART_COOKIE } from '../const'\nimport { getCookies, setCookies, removeCookies } from './cookies'\n\nexport const getCartId = () =>\n getCookies<string>(COMMERCETOOLS_CART_COOKIE)\n\nexport const setCartId = (id: string) =>\n setCookies(COMMERCETOOLS_CART_COOKIE, id)\n\nexport const removeCartCookie = () =>\n removeCookies(COMMERCETOOLS_CART_COOKIE)\n","import { Cart, CartDraft } from '@commercetools/platform-sdk'\nimport { ClientResponse } from '@commercetools/sdk-client-v2'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { removeCartCookie, setCartId } from './cart-cookie'\n\nconst createCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const draft: CartDraft = {\n currency: 'USD',\n country: 'US',\n }\n\n const cart = await fetch<ClientResponse<Cart>, CartDraft>({\n query: 'carts',\n method: 'post',\n body: draft,\n })\n\n if (!cart.body) {\n removeCartCookie()\n } else {\n setCartId(cart.body.id)\n }\n return cart.body\n}\n\nexport default createCart\n","import { Cart, ClientResponse } from '@commercetools/platform-sdk'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { getCartId, removeCartCookie, setCartId } from './cart-cookie'\nimport createCart from './cart-create'\n\nconst getActiveCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const cartId = getCartId()\n let activeCart\n if (cartId) {\n activeCart = (\n await fetch<ClientResponse<Cart>>({\n query: 'carts',\n method: 'get',\n variables: {\n id: cartId,\n },\n })\n ).body\n } else {\n activeCart = await createCart(fetch)\n }\n\n if (!activeCart) {\n removeCartCookie()\n } else {\n setCartId(activeCart.id)\n }\n return activeCart\n}\n\nexport default getActiveCart\n","const getLocalizedString = (\n localizedString: Record<string, string> | undefined,\n locale: string | undefined\n) =>\n !localizedString || !locale\n ? undefined\n : locale in localizedString\n ? localizedString[locale]\n : Object.values(localizedString)[0]\n\nexport default getLocalizedString\n","export const withoutNils = <T>(xs: Array<T | undefined | null>): T[] =>\n xs.filter((x): x is T => x != null)\n\nexport const dedup = <T>(xs: Array<T>): T[] => [...new Set(xs)]\n","import { Category } from '../types/site'\nimport {\n ProductProjection,\n Image,\n ProductVariant,\n Category as CommercetoolsCategory,\n Cart as CommercetoolsCart,\n LineItem as CommercetoolsLineItem,\n TypedMoney,\n Customer,\n ShoppingList,\n ProductData,\n} from '@commercetools/platform-sdk'\nimport { dedup, withoutNils } from './common'\nimport getLocalizedString from './localized-string'\nimport { Cart, LineItem } from '../types/cart'\nimport { Product, ProductOption } from '../types/product'\n\nconst currencyCode = 'USD'\n\nconst stringify = (value: any) =>\n typeof value === 'string' ? value : JSON.stringify(value)\n\nconst money = (price: TypedMoney | undefined) => {\n return price\n ? {\n value: price.centAmount / 100,\n currencyCode: price.currencyCode,\n }\n : {\n value: -1.0, // error\n currencyCode,\n }\n}\n\nconst normalizeProductOption = (option: {\n name: string\n value: string | string[]\n}): ProductOption => ({\n __typename: 'MultipleChoiceOption',\n id: option.name,\n displayName: option.name,\n values: dedup(\n Array.isArray(option.value) ? option.value : [option.value]\n ).map((val) => {\n if (\n option.name.match(/colou?r/gi) &&\n /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i.test(val)\n ) {\n return {\n label: stringify(val),\n hexColors: [val],\n }\n } else {\n return {\n label: stringify(val),\n }\n }\n }),\n})\n\nconst normalizeProductImages = (images: Image[]) =>\n images.map((image) => ({\n url: image.url,\n ...(image.label ? { alt: image.label } : {}),\n width: image.dimensions.w,\n height: image.dimensions.h,\n }))\n\nconst normalizeProductVariant = (variant: ProductVariant) => {\n const price = money(\n variant.prices?.find((price) => price.value.currencyCode === currencyCode)\n ?.value ?? variant.prices?.[0]?.value\n ).value\n\n return {\n id: `${variant.id}`,\n name: `${variant.id}`,\n sku: variant.sku ?? '',\n price,\n options:\n variant.attributes?.map((attribute) =>\n normalizeProductOption({\n name: attribute.name,\n value: attribute.value.key,\n })\n ) ?? [],\n requiresShipping: false,\n listPrice: price,\n }\n}\n\nexport const normalizeProduct = (\n product: ProductProjection | (ProductData & { id: string }),\n locale: string,\n): Product => ({\n id: product.id,\n name: getLocalizedString(product.name, locale) ?? \"\",\n slug: getLocalizedString(product.slug, locale),\n path: `/${getLocalizedString(product.slug, locale)}`,\n description: getLocalizedString(product.description, locale) ?? '',\n price: money(\n product.masterVariant.prices?.find(\n (price) => price.value.currencyCode === currencyCode\n )?.value ?? product.masterVariant.prices?.[0]?.value\n ),\n images: normalizeProductImages(\n withoutNils([\n ...(product.masterVariant.images ? product.masterVariant.images : []),\n ...product.variants.flatMap((variant) => variant.images),\n ])\n ),\n variants: [product.masterVariant, ...product.variants].map(\n normalizeProductVariant\n ),\n options: withoutNils([\n ...(product.masterVariant.attributes\n ? product.masterVariant.attributes\n : []),\n ...product.variants.flatMap((variant) => variant.attributes),\n ])\n .reduce(\n (groupedAttributes, attribute) => {\n const groupedAttribute = groupedAttributes.find(\n (gAttr) => gAttr.name === attribute.name\n )\n if (groupedAttribute) {\n groupedAttribute.value.push(stringify(attribute.value.key))\n } else {\n groupedAttributes.push({\n name: attribute.name,\n value: [stringify(attribute.value.key)],\n })\n }\n return groupedAttributes\n },\n [] as {\n name: string\n value: string[]\n }[]\n )\n .map(normalizeProductOption),\n})\n\nconst normalizeLineItem = (\n lineItem: CommercetoolsLineItem,\n locale: string,\n): LineItem => ({\n id: lineItem.id,\n variantId: `${lineItem.variant.id}`,\n productId: lineItem.productId,\n name: getLocalizedString(lineItem.name, locale) ?? \"\",\n path: '',\n quantity: lineItem.quantity,\n discounts: [],\n variant: normalizeProductVariant(lineItem.variant),\n options:\n lineItem.variant.attributes?.map((attribute) => ({\n id: attribute.name,\n name: attribute.name,\n value: attribute.value.key,\n })) ?? [],\n})\n\nexport const normalizeCart = (\n cart: CommercetoolsCart,\n locale: string,\n): Cart => ({\n id: cart.id,\n customerId: cart.customerId,\n email: cart.customerEmail,\n createdAt: cart.createdAt,\n currency: {\n code: currencyCode,\n },\n taxesIncluded: cart.taxMode !== 'Disabled',\n lineItems: cart.lineItems.map((item) => normalizeLineItem(item, locale)),\n lineItemsSubtotalPrice: 0,\n subtotalPrice: money(cart.totalPrice).value,\n totalPrice: money(cart.totalPrice).value,\n discounts: [],\n})\n\nexport const normalizeCategory = (\n category: CommercetoolsCategory,\n locale: string,\n): Category => ({\n id: category.id,\n name: getLocalizedString(category.name, locale) ?? \"\",\n slug: getLocalizedString(category.slug, locale) ?? \"\",\n path: `/${getLocalizedString(category.slug, locale)}`,\n})\n\nexport const normalizeCustomer = (customer: Customer) => ({\n firstName: customer.firstName,\n lastName: customer.lastName,\n email: customer.email,\n})\n\nexport const normalizeWishlist = (wishlist: ShoppingList) => ({\n items:\n wishlist.lineItems?.map((item) => ({\n id: item.id,\n product_id: item.productId,\n variant_id: item.variantId!,\n })) ?? [],\n})\n","import { useMemo } from 'react'\nimport { useCart as useCommerceCart, UseCart } from '@plasmicpkgs/commerce'\nimport { SWRHook } from '@plasmicpkgs/commerce'\nimport { getActiveCart, normalizeCart } from '../utils'\nimport { GetCartHook } from '../types/cart'\n\nexport default useCommerceCart as UseCart<typeof handler>\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"get\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const activeCart = await getActiveCart(fetch);\n return activeCart ? normalizeCart(activeCart, provider!.locale) : null;\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.lineItems.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","import { Cart, CartUpdate, ClientResponse } from \"@commercetools/platform-sdk\";\nimport type { MutationHook } from \"@plasmicpkgs/commerce\";\nimport { useAddItem, UseAddItem } from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport type { AddItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({ input: item, options, fetch, provider }) {\n const activeCart = await getActiveCart(fetch);\n if (\n (item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)) ||\n !activeCart\n ) {\n return undefined;\n }\n const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"addLineItem\",\n variantId: +item.variantId,\n productId: item.productId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return updatedCart.body\n ? normalizeCart(updatedCart.body, provider!.locale)\n : undefined;\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart();\n return useCallback(\n async function addItem(input) {\n const data = await fetch({ input });\n await mutate(data, false);\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","import {\n Cart as CommerceToolsCart,\n CartUpdate,\n ClientResponse,\n} from \"@commercetools/platform-sdk\";\nimport type {\n HookFetcherContext,\n MutationHook,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport {\n UseRemoveItem,\n useRemoveItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport type { Cart, LineItem, RemoveItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\n\nexport type RemoveItemFn<T = any> = T extends LineItem\n ? (input?: RemoveItemActionInput<T>) => Promise<Cart | null | undefined>\n : (input: RemoveItemActionInput<T>) => Promise<Cart | null>;\n\nexport type RemoveItemActionInput<T = any> = T extends LineItem\n ? Partial<RemoveItemHook[\"actionInput\"]>\n : RemoveItemHook[\"actionInput\"];\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>;\n\nexport const handler: MutationHook<RemoveItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n provider,\n }: HookFetcherContext<RemoveItemHook>) {\n const activeCart = await getActiveCart(fetch);\n if (!itemId || !activeCart) {\n return undefined;\n }\n const updatedCart = await fetch<\n ClientResponse<CommerceToolsCart>,\n CartUpdate\n >({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"removeLineItem\",\n lineItemId: itemId,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return normalizeCart(updatedCart.body, provider!.locale);\n },\n useHook:\n ({ fetch }: MutationHookContext<RemoveItemHook>) =>\n <T extends LineItem | undefined = undefined>(ctx: { item?: T } = {}) => {\n const { item } = ctx;\n const { mutate } = useCart();\n const removeItem: RemoveItemFn<LineItem> = async (input) => {\n const itemId = input?.id ?? item?.id;\n\n if (!itemId) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({ input: { itemId } });\n await mutate(data, false);\n return data;\n };\n\n return useCallback(removeItem as RemoveItemFn<T>, [fetch, mutate]);\n },\n};\n","import { Cart, CartUpdate, ClientResponse } from \"@commercetools/platform-sdk\";\nimport type { MutationHook, MutationHookContext } from \"@plasmicpkgs/commerce\";\nimport {\n useUpdateItem,\n UseUpdateItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\nimport type { LineItem, UpdateItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\nexport const handler: MutationHook<UpdateItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({ input: { item, itemId }, options, fetch, provider }) {\n if (Number.isInteger(item.quantity)) {\n // Also allow the update hook to remove an item if the quantity is lower than 1\n if (item.quantity! < 1) {\n return removeItemHandler.fetcher?.({\n options: removeItemHandler.fetchOptions,\n input: { itemId },\n fetch,\n provider,\n });\n }\n } else if (item.quantity) {\n throw new ValidationError({\n message: \"The item quantity has to be a valid integer\",\n });\n }\n\n const activeCart = await getActiveCart(fetch);\n if (\n (item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)) ||\n !activeCart\n ) {\n return undefined;\n }\n const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"changeLineItemQuantity\",\n lineItemId: itemId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return updatedCart.body\n ? normalizeCart(updatedCart.body, provider!.locale)\n : undefined;\n },\n useHook:\n ({ fetch }: MutationHookContext<UpdateItemHook>) =>\n <T extends LineItem | undefined = undefined>(\n ctx: {\n item?: T;\n wait?: number;\n } = {}\n ) => {\n const { item } = ctx;\n const { mutate } = useCart() as any;\n\n return useCallback(\n debounce(async (input: UpdateItemActionInput<T>) => {\n const itemId = input.id ?? item?.id;\n if (!itemId || input.quantity == null) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","import {\n AuthMiddlewareOptions,\n ClientBuilder,\n HttpMiddlewareOptions,\n } from '@commercetools/sdk-client-v2'\nimport { CommercetoolsCredentials } from './provider'\n\nconst initCommercetoolsSDKClient = (creds: CommercetoolsCredentials) => {\n const scopes = [`manage_project:${creds.projectKey}`]\n \n // Configure authMiddlewareOptions\n const authMiddlewareOptions: AuthMiddlewareOptions = {\n host: `https://auth.${creds.region}.commercetools.com`,\n projectKey: creds.clientSecret,\n credentials: {\n clientId: creds.clientId,\n clientSecret: creds.clientSecret,\n },\n scopes,\n fetch,\n }\n \n // Configure httpMiddlewareOptions\n const httpMiddlewareOptions: HttpMiddlewareOptions = {\n host: `https://api.${creds.region}.commercetools.com`,\n fetch,\n }\n \n // Export the ClientBuilder\n return new ClientBuilder()\n .withProjectKey(creds.projectKey)\n .withClientCredentialsFlow(authMiddlewareOptions)\n .withHttpMiddleware(httpMiddlewareOptions)\n .build()\n}\n \n export default initCommercetoolsSDKClient","import { Fetcher } from '@plasmicpkgs/commerce'\nimport { CommercetoolsCredentials } from './provider'\nimport { createApiBuilderFromCtpClient } from '@commercetools/platform-sdk'\nimport initCommercetoolsSDKClient from './client'\n\nexport const getFetcher: \n (creds: CommercetoolsCredentials) => Fetcher =\n (creds) => {\n const client = initCommercetoolsSDKClient(creds);\n const apiRoot = createApiBuilderFromCtpClient(client).withProjectKey({\n projectKey: creds.projectKey!,\n })\n return async ({\n method, variables, query, body\n }) => {\n let queryBuilder: any = apiRoot;\n if (query) {\n queryBuilder = queryBuilder[query]();\n } \n if (variables?.id) {\n queryBuilder = queryBuilder.withId({ ID: variables.id });\n }\n if (variables?.search) {\n queryBuilder = queryBuilder.search();\n }\n return await queryBuilder[method!]({\n body,\n queryArgs: {\n expand: variables?.expand,\n limit: variables?.limit,\n ...(variables?.sort ? { sort: variables.sort } : {}),\n ...(variables?.search ? variables.search : {}),\n ...(variables?.filters ? { filter: variables.filters } : {}),\n ...(variables?.where ? { where: variables.where } : {})\n },\n })\n .execute()\n }\n}\n","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { useProduct, UseProduct } from '@plasmicpkgs/commerce'\nimport {\n Product,\n ProductProjection,\n ClientResponse,\n} from '@commercetools/platform-sdk'\nimport { normalizeProduct } from '../utils'\nimport type { GetProductHook } from '@plasmicpkgs/commerce'\n\nexport type GetProductInput = {\n id?: string\n}\n\nexport default useProduct as UseProduct<typeof handler>\n\nexport const handler: SWRHook<GetProductHook> = {\n fetchOptions: {\n query: \"productProjections\",\n method: \"get\"\n },\n async fetcher({ input, options, fetch, provider }) {\n const { id } = input\n if (!id) {\n return null\n }\n\n const product = await fetch<ClientResponse<ProductProjection>>({\n ...options,\n variables: {\n id\n },\n });\n return product.body \n ? normalizeProduct(product.body, provider!.locale)\n : null\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n ['id', input.id],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n })\n },\n}\n","import {\n ClientResponse,\n ProductProjectionPagedQueryResponse,\n} from \"@commercetools/platform-sdk\";\nimport { useSearch } from \"@plasmicpkgs/commerce\";\nimport { getSortVariables, normalizeProduct } from \"../utils\";\n\nimport type {\n SearchProductsHook,\n SWRHook,\n UseSearch,\n} from \"@plasmicpkgs/commerce\";\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: number;\n brandId?: number;\n sort?: string;\n locale?: string;\n count?: number;\n};\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n method: \"get\",\n query: \"productProjections\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const { search, categoryId, sort, count } = input;\n const response = await fetch<\n ClientResponse<ProductProjectionPagedQueryResponse>\n >({\n ...options,\n variables: {\n expand: [\"masterData.current\"],\n sort: getSortVariables(sort),\n limit: count,\n ...(search\n ? // eslint-disable-next-line\n { search: { [`text.${provider?.locale!}`]: search } }\n : {}),\n ...(categoryId\n ? { filters: `categories.id: subtree(\"${categoryId}\")` }\n : {}),\n },\n });\n return {\n products: response.body.results.map((product) =>\n normalizeProduct(product, provider!.locale)\n ),\n found: response.body.count > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"locale\", input.locale],\n [\"count\", input.count],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { UseBrands, useBrands } from '@plasmicpkgs/commerce'\nimport { useMemo } from \"react\";\nimport { GetBrandsHook } from \"../types/site\"\n\nexport default useBrands as UseBrands<typeof handler>\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: \"\"\n },\n async fetcher({ input, options, fetch }) {\n return null;\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","import { SWRHook, UseCategories, useCategories } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { GetCategoriesHook } from \"../types/site\";\nimport {\n ClientResponse,\n Category,\n CategoryPagedQueryResponse,\n} from '@commercetools/platform-sdk'\nimport { normalizeCategory } from \"../utils\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: \"categories\",\n method: \"get\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const { categoryId } = input;\n if (!categoryId) {\n const categories = await fetch<ClientResponse<CategoryPagedQueryResponse>>({\n ...options\n })\n return categories.body ? categories.body.results.map((category) => normalizeCategory(category, provider!.locale)) : [];\n } else {\n const category = await fetch<ClientResponse<Category>>({\n ...options,\n variables: {\n ...(categoryId ? { id: categoryId } : { })\n }\n })\n return category.body ? [normalizeCategory(category.body, provider!.locale)] : [];\n }\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","import { Fetcher } from \"@plasmicpkgs/commerce\";\nimport { handler as useAddItem } from \"./cart/use-add-item\";\nimport { handler as useCart } from \"./cart/use-cart\";\nimport { handler as useRemoveItem } from \"./cart/use-remove-item\";\nimport { handler as useUpdateItem } from \"./cart/use-update-item\";\nimport { COMMERCETOOLS_CART_COOKIE } from \"./const\";\nimport { getFetcher } from \"./fetcher\";\nimport { handler as useProduct } from \"./product/use-product\";\nimport { handler as useSearch } from \"./product/use-search\";\nimport { handler as useBrands } from \"./site/use-brands\";\nimport { handler as useCategories } from \"./site/use-categories\";\n\nexport interface CommercetoolsCredentials {\n projectKey: string;\n clientId: string;\n clientSecret: string;\n region: string;\n}\n\nexport const getCommercetoolsProvider = (\n creds: CommercetoolsCredentials,\n locale: string\n) => ({\n locale,\n cartCookie: COMMERCETOOLS_CART_COOKIE,\n cart: { useCart, useAddItem, useRemoveItem, useUpdateItem },\n fetcher: getFetcher(creds),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands },\n});\n\nexport type CommercetoolsProvider = {\n locale: string;\n cartCookie: string;\n fetcher: Fetcher;\n cart: {\n useCart: typeof useCart;\n useAddItem: typeof useAddItem;\n };\n products: {\n useSearch: typeof useSearch;\n useProduct: typeof useProduct;\n };\n site: {\n useCategories: typeof useCategories;\n useBrands: typeof useBrands;\n };\n};\n","import {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from '@plasmicpkgs/commerce'\nimport { getCommercetoolsProvider, CommercetoolsProvider, CommercetoolsCredentials } from './provider'\n\nexport type { CommercetoolsProvider }\n\nexport const useCommerce = () => useCoreCommerce<CommercetoolsProvider>()\n\nexport const getCommerceProvider = (creds: CommercetoolsCredentials, locale: string) => \n getCoreCommerceProvider(getCommercetoolsProvider(creds, locale))\n\n","import { ClientResponse, Project } from \"@commercetools/platform-sdk\";\nimport { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { getCommerceProvider } from \"./commercetools\";\nimport { getFetcher } from \"./fetcher\";\nimport { CommercetoolsCredentials } from \"./provider\";\nimport { Registerable } from \"./registerable\";\n\ninterface CommerceProviderProps extends CommercetoolsCredentials {\n children?: React.ReactNode;\n}\n\nconst globalContextName = \"plasmic-commerce-commercetools-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: globalContextName,\n displayName: \"Commercetools Provider\",\n props: {\n projectKey: {\n type: \"string\",\n defaultValue: \"plasmic-demo\",\n },\n clientId: {\n type: \"string\",\n defaultValue: \"B4hmK61xvz5LvdSDtsFmcflM\",\n },\n clientSecret: {\n type: \"string\",\n defaultValue: \"KhzjcjSu1Oul4aomSmOsLZOCZKbvfHqx\",\n },\n region: {\n type: \"choice\",\n options: [\n \"us-central1.gcp\",\n \"us-east-2.aws\",\n \"europe-west1.gcp\",\n \"eu-central-1.aws\",\n \"australia-southeast1.gcp\",\n ],\n defaultValue: \"us-central1.gcp\",\n },\n },\n ...{ globalActions: globalActionsRegistrations },\n importPath: \"@plasmicpkgs/commercetools\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { children, projectKey, clientId, clientSecret, region } = props;\n\n const creds = React.useMemo(\n () => ({ projectKey, clientId, clientSecret, region }),\n [projectKey, clientId, clientSecret, region]\n );\n\n const {\n data: locale,\n error,\n isLoading,\n } = usePlasmicQueryData(JSON.stringify({ creds }) + \"locale\", async () => {\n const fetcher = getFetcher(creds);\n const project: ClientResponse<Project> = await fetcher({ method: \"get\" });\n return project.body ? project.body.languages[0] : undefined;\n });\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(creds, locale ?? \"\"),\n [creds, locale]\n );\n\n if (isLoading) {\n return null;\n } else if (error || !locale) {\n throw new Error(error ? error.message : \"Project language not found\");\n }\n\n return (\n <CommerceProvider>\n <CartActionsProvider globalContextName={globalContextName}>\n {children}\n </CartActionsProvider>\n </CommerceProvider>\n );\n}\n\nexport function registerCommerceProvider(\n loader?: Registerable,\n customCommerceProviderMeta?: GlobalContextMeta<CommerceProviderProps>\n) {\n const doRegisterComponent: typeof registerGlobalContext = (...args) =>\n loader\n ? loader.registerGlobalContext(...args)\n : registerGlobalContext(...args);\n doRegisterComponent(\n CommerceProviderComponent,\n customCommerceProviderMeta ?? commerceProviderMeta\n );\n}\n","import { Registerable } from \"./registerable\";\nimport { registerCommerceProvider } from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\nexport * from \"./registerCommerceProvider\";\nexport * from \"./commercetools\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n"],"names":["getSortVariables","sort","isCategory","output","undefined","COMMERCETOOLS_COOKIE_EXPIRE","COMMERCETOOLS_CART_COOKIE","options","expires","sameSite","secure","getCookies","name","cookie","Cookies","get","JSON","parse","setCookies","value","set","stringify","removeCookies","remove","getCartId","setCartId","id","removeCartCookie","createCart","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_callee$","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","_x","apply","arguments","getActiveCart","cartId","activeCart","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","dedup","concat","Set","currencyCode","money","price","centAmount","normalizeProductOption","option","__typename","displayName","Array","isArray","map","val","match","test","label","hexColors","normalizeProductImages","images","image","_extends","url","alt","width","dimensions","w","height","h","normalizeProductVariant","variant","_variant$prices$find$","_variant$prices","prices","find","_variant$prices2","sku","_variant$sku","_variant$attributes$m","_variant$attributes","attributes","attribute","key","requiresShipping","listPrice","normalizeProduct","product","_getLocalizedString","_getLocalizedString2","_product$masterVarian","_product$masterVarian2","_product$masterVarian3","slug","path","description","masterVariant","variants","flatMap","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeLineItem","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","input","provider","useHook","_ref2","useData","response","swrOptions","revalidateOnFocus","useMemo","create","isEmpty","_response$data$lineIt","_response$data","data","length","enumerable","Number","isInteger","version","actions","action","_item$quantity","updatedCart","_useCart","useCart","mutate","useCallback","_addItem","_callee2","_callee2$","_context2","addItem","itemId","lineItemId","ctx","_ctx","removeItem","_ref3","_input$id","ValidationError","message","_ref$input","removeItemHandler","debounce","_ctx$wait","wait","initCommercetoolsSDKClient","creds","scopes","projectKey","authMiddlewareOptions","host","region","clientSecret","credentials","clientId","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","getFetcher","client","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","search","queryArgs","expand","limit","filters","where","execute","categoryId","count","_search","products","results","found","brandId","_response$data$length","categories","getCommercetoolsProvider","cartCookie","useAddItem","useRemoveItem","useUpdateItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,IAAa,EAAEC;EACvC,IAAIC,MAAM,GAAGC,SAAS;EACtB,QAAQH,IAAI;IACV,KAAK,WAAW;MACdE,MAAM,GAAG,WAAW;MACpB;IACF,KAAK,YAAY;MACfA,MAAM,GAAG,YAAY;MACrB;IACF,KAAK,eAAe;;MAClBA,MAAM,GAAGC,SAAS;MAClB;IACF,KAAK,aAAa;MAChBD,MAAM,GAAG,gBAAgB;MACzB;;EAEJ,OAAOA,MAAM;AACf,CAAC;;ACjBM,IAAME,2BAA2B,GAAG,EAAE;AAE7C,AAAO,IAAMC,yBAAyB,GAAG,oBAAoB;;ACC7D,IAAMC,OAAO,GAAqB;EAChCC,OAAO,EAAEH,2BAA2B;EACpCI,QAAQ,EAAE,MAAM;EAChBC,MAAM,EAAE;CACT;AAED,AAAO,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAOC,IAAY;EACxC,IAAMC,MAAM,GAAGC,OAAO,CAACC,GAAG,CAACH,IAAI,CAAC;EAChC,OAAOC,MAAM,GAAIG,IAAI,CAACC,KAAK,CAACJ,MAAM,CAAO,GAAGT,SAAS;AACvD,CAAC;AAED,AAAO,IAAMc,UAAU,GAAG,SAAbA,UAAUA,CAAIN,IAAY,EAAEO,KAAU;EAAA,OAAKL,OAAO,CAACM,GAAG,CAACR,IAAI,EAAEI,IAAI,CAACK,SAAS,CAACF,KAAK,CAAC,EAAEZ,OAAO,CAAC;AAAA;AAEzG,AAAO,IAAMe,aAAa,GAAG,SAAhBA,aAAaA,CAAIV,IAAY;EAAA,OAAKE,OAAO,CAACS,MAAM,CAACX,IAAI,CAAC;AAAA;;ACb5D,IAAMY,SAAS,GAAG,SAAZA,SAASA;EAAA,OACpBb,UAAU,CAASL,yBAAyB,CAAC;AAAA;AAE/C,AAAO,IAAMmB,SAAS,GAAG,SAAZA,SAASA,CAAIC,EAAU;EAAA,OAClCR,UAAU,CAACZ,yBAAyB,EAAEoB,EAAE,CAAC;AAAA;AAE3C,AAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA;EAAA,OAC3BL,aAAa,CAAChB,yBAAyB,CAAC;AAAA;;ACL1C,IAAMsB,UAAU;EAAA,IAAAC,IAAA,gBAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QACjBC,KAAoE;IAAA,IAAAC,KAAA,EAAAC,IAAA;IAAA,OAAAL,mBAAA,GAAAM,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAE9DN,KAAK,GAAc;YACvBO,QAAQ,EAAE,KAAK;YACfC,OAAO,EAAE;WACV;UAAAJ,QAAA,CAAAE,IAAA;UAAA,OAEkBP,KAAK,CAAkC;YACxDU,KAAK,EAAE,OAAO;YACdC,MAAM,EAAE,MAAM;YACdC,IAAI,EAAEX;WACP,CAAC;QAAA;UAJIC,IAAI,GAAAG,QAAA,CAAAQ,IAAA;UAMV,IAAI,CAACX,IAAI,CAACU,IAAI,EAAE;YACdnB,gBAAgB,EAAE;WACnB,MAAM;YACLF,SAAS,CAACW,IAAI,CAACU,IAAI,CAACpB,EAAE,CAAC;;UACxB,OAAAa,QAAA,CAAAS,MAAA,WACMZ,IAAI,CAACU,IAAI;QAAA;QAAA;UAAA,OAAAP,QAAA,CAAAU,IAAA;;OAAAhB,OAAA;GACjB;EAAA,gBApBKL,UAAUA,CAAAsB,EAAA;IAAA,OAAArB,IAAA,CAAAsB,KAAA,OAAAC,SAAA;;AAAA,GAoBf;;ACpBD,IAAMC,aAAa;EAAA,IAAAxB,IAAA,gBAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QACpBC,KAAoE;IAAA,IAAAoB,MAAA,EAAAC,UAAA;IAAA,OAAAxB,mBAAA,GAAAM,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAE9Da,MAAM,GAAG9B,SAAS,EAAE;UAAA,KAEtB8B,MAAM;YAAAf,QAAA,CAAAE,IAAA;YAAA;;UAAAF,QAAA,CAAAE,IAAA;UAAA,OAEAP,KAAK,CAAuB;YAChCU,KAAK,EAAE,OAAO;YACdC,MAAM,EAAE,KAAK;YACbW,SAAS,EAAE;cACT9B,EAAE,EAAE4B;;WAEP,CAAC;QAAA;UAPJC,UAAU,GAAAhB,QAAA,CAAAQ,IAAA,CAQRD,IAAI;UAAAP,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OAEab,UAAU,CAACM,KAAK,CAAC;QAAA;UAApCqB,UAAU,GAAAhB,QAAA,CAAAQ,IAAA;QAAA;UAGZ,IAAI,CAACQ,UAAU,EAAE;YACf5B,gBAAgB,EAAE;WACnB,MAAM;YACLF,SAAS,CAAC8B,UAAU,CAAC7B,EAAE,CAAC;;UACzB,OAAAa,QAAA,CAAAS,MAAA,WACMO,UAAU;QAAA;QAAA;UAAA,OAAAhB,QAAA,CAAAU,IAAA;;OAAAhB,OAAA;GAClB;EAAA,gBAzBKoB,aAAaA,CAAAH,EAAA;IAAA,OAAArB,IAAA,CAAAsB,KAAA,OAAAC,SAAA;;AAAA,GAyBlB;;AC9BD,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,CACtBC,eAAmD,EACnDC,MAA0B;EAAA,OAE1B,CAACD,eAAe,IAAI,CAACC,MAAM,GACvBvD,SAAS,GACTuD,MAAM,IAAID,eAAe,GACzBA,eAAe,CAACC,MAAM,CAAC,GACvBC,MAAM,CAACC,MAAM,CAACH,eAAe,CAAC,CAAC,CAAC,CAAC;AAAA;;ACRhC,IAAMI,WAAW,GAAG,SAAdA,WAAWA,CAAOC,EAA+B;EAAA,OAC5DA,EAAE,CAACC,MAAM,CAAC,UAACC,CAAC;IAAA,OAAaA,CAAC,IAAI,IAAI;IAAC;AAAA;AAErC,AAAO,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAOH,EAAY;EAAA,UAAAI,MAAA,CAAc,IAAIC,GAAG,CAACL,EAAE,CAAC;AAAA,CAAC;;ACe/D,IAAMM,YAAY,GAAG,KAAK;AAE1B,IAAMhD,SAAS,GAAG,SAAZA,SAASA,CAAIF,KAAU;EAAA,OAC3B,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGH,IAAI,CAACK,SAAS,CAACF,KAAK,CAAC;AAAA;AAE3D,IAAMmD,KAAK,GAAG,SAARA,KAAKA,CAAIC,KAA6B;EAC1C,OAAOA,KAAK,GACR;IACEpD,KAAK,EAAEoD,KAAK,CAACC,UAAU,GAAG,GAAG;IAC7BH,YAAY,EAAEE,KAAK,CAACF;GACrB,GACD;IACElD,KAAK,EAAE,CAAC,GAAG;IACXkD,YAAY,EAAZA;GACD;AACP,CAAC;AAED,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIC,MAG/B;EAAA,OAAqB;IACpBC,UAAU,EAAE,sBAAsB;IAClCjD,EAAE,EAAEgD,MAAM,CAAC9D,IAAI;IACfgE,WAAW,EAAEF,MAAM,CAAC9D,IAAI;IACxBiD,MAAM,EAAEK,KAAK,CACXW,KAAK,CAACC,OAAO,CAACJ,MAAM,CAACvD,KAAK,CAAC,GAAGuD,MAAM,CAACvD,KAAK,GAAG,CAACuD,MAAM,CAACvD,KAAK,CAAC,CAC5D,CAAC4D,GAAG,CAAC,UAACC,GAAG;MACR,IACEN,MAAM,CAAC9D,IAAI,CAACqE,KAAK,CAAC,WAAW,CAAC,IAC9B,qCAAqC,CAACC,IAAI,CAACF,GAAG,CAAC,EAC/C;QACA,OAAO;UACLG,KAAK,EAAE9D,SAAS,CAAC2D,GAAG,CAAC;UACrBI,SAAS,EAAE,CAACJ,GAAG;SAChB;OACF,MAAM;QACL,OAAO;UACLG,KAAK,EAAE9D,SAAS,CAAC2D,GAAG;SACrB;;KAEJ;GACF;AAAA,CAAC;AAEF,IAAMK,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIC,MAAe;EAAA,OAC7CA,MAAM,CAACP,GAAG,CAAC,UAACQ,KAAK;IAAA,OAAAC,QAAA;MACfC,GAAG,EAAEF,KAAK,CAACE;OACPF,KAAK,CAACJ,KAAK,GAAG;MAAEO,GAAG,EAAEH,KAAK,CAACJ;KAAO,GAAG,EAAE;MAC3CQ,KAAK,EAAEJ,KAAK,CAACK,UAAU,CAACC,CAAC;MACzBC,MAAM,EAAEP,KAAK,CAACK,UAAU,CAACG;;GACzB,CAAC;AAAA;AAEL,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIC,OAAuB;;EACtD,IAAM1B,KAAK,GAAGD,KAAK,EAAA4B,qBAAA,IAAAC,eAAA,GACjBF,OAAO,CAACG,MAAM,cAAAD,eAAA,GAAdA,eAAA,CAAgBE,IAAI,CAAC,UAAC9B,KAAK;IAAA,OAAKA,KAAK,CAACpD,KAAK,CAACkD,YAAY,KAAKA,YAAY;IAAC,qBAA1E8B,eAAA,CACIhF,KAAK,YAAA+E,qBAAA,IAAAI,gBAAA,GAAIL,OAAO,CAACG,MAAM,cAAAE,gBAAA,GAAdA,gBAAA,CAAiB,CAAC,CAAC,qBAAnBA,gBAAA,CAAqBnF,KAAK,CACxC,CAACA,KAAK;EAEP,OAAO;IACLO,EAAE,OAAKuE,OAAO,CAACvE,EAAI;IACnBd,IAAI,OAAKqF,OAAO,CAACvE,EAAI;IACrB6E,GAAG,GAAAC,YAAA,GAAEP,OAAO,CAACM,GAAG,YAAAC,YAAA,GAAI,EAAE;IACtBjC,KAAK,EAALA,KAAK;IACLhE,OAAO,GAAAkG,qBAAA,IAAAC,mBAAA,GACLT,OAAO,CAACU,UAAU,qBAAlBD,mBAAA,CAAoB3B,GAAG,CAAC,UAAC6B,SAAS;MAAA,OAChCnC,sBAAsB,CAAC;QACrB7D,IAAI,EAAEgG,SAAS,CAAChG,IAAI;QACpBO,KAAK,EAAEyF,SAAS,CAACzF,KAAK,CAAC0F;OACxB,CAAC;MACH,YAAAJ,qBAAA,GAAI,EAAE;IACTK,gBAAgB,EAAE,KAAK;IACvBC,SAAS,EAAExC;GACZ;AACH,CAAC;AAED,AAAO,IAAMyC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAC3BC,OAA2D,EAC3DtD,MAAc;EAAA,IAAAuD,mBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAAA,OACD;IACb5F,EAAE,EAAEuF,OAAO,CAACvF,EAAE;IACdd,IAAI,GAAAsG,mBAAA,GAAEzD,kBAAkB,CAACwD,OAAO,CAACrG,IAAI,EAAE+C,MAAM,CAAC,YAAAuD,mBAAA,GAAI,EAAE;IACpDK,IAAI,EAAE9D,kBAAkB,CAACwD,OAAO,CAACM,IAAI,EAAE5D,MAAM,CAAC;IAC9C6D,IAAI,QAAM/D,kBAAkB,CAACwD,OAAO,CAACM,IAAI,EAAE5D,MAAM,CAAG;IACpD8D,WAAW,GAAAN,oBAAA,GAAE1D,kBAAkB,CAACwD,OAAO,CAACQ,WAAW,EAAE9D,MAAM,CAAC,YAAAwD,oBAAA,GAAI,EAAE;IAClE5C,KAAK,EAAED,KAAK,EAAA8C,qBAAA,IAAAC,sBAAA,GACVJ,OAAO,CAACS,aAAa,CAACtB,MAAM,cAAAiB,sBAAA,GAA5BA,sBAAA,CAA8BhB,IAAI,CAChC,UAAC9B,KAAK;MAAA,OAAKA,KAAK,CAACpD,KAAK,CAACkD,YAAY,KAAKA,YAAY;MACrD,qBAFDgD,sBAAA,CAEGlG,KAAK,YAAAiG,qBAAA,IAAAE,sBAAA,GAAIL,OAAO,CAACS,aAAa,CAACtB,MAAM,cAAAkB,sBAAA,GAA5BA,sBAAA,CAA+B,CAAC,CAAC,qBAAjCA,sBAAA,CAAmCnG,KAAK,CACrD;IACDmE,MAAM,EAAED,sBAAsB,CAC5BvB,WAAW,IAAAK,MAAA,CACL8C,OAAO,CAACS,aAAa,CAACpC,MAAM,GAAG2B,OAAO,CAACS,aAAa,CAACpC,MAAM,GAAG,EAAE,EACjE2B,OAAO,CAACU,QAAQ,CAACC,OAAO,CAAC,UAAC3B,OAAO;MAAA,OAAKA,OAAO,CAACX,MAAM;MAAC,CACzD,CAAC,CACH;IACDqC,QAAQ,EAAE,CAACV,OAAO,CAACS,aAAa,EAAAvD,MAAA,CAAK8C,OAAO,CAACU,QAAQ,EAAE5C,GAAG,CACxDiB,uBAAuB,CACxB;IACDzF,OAAO,EAAEuD,WAAW,IAAAK,MAAA,CACd8C,OAAO,CAACS,aAAa,CAACf,UAAU,GAChCM,OAAO,CAACS,aAAa,CAACf,UAAU,GAChC,EAAE,EACHM,OAAO,CAACU,QAAQ,CAACC,OAAO,CAAC,UAAC3B,OAAO;MAAA,OAAKA,OAAO,CAACU,UAAU;MAAC,CAC7D,CAAC,CACCkB,MAAM,CACL,UAACC,iBAAiB,EAAElB,SAAS;MAC3B,IAAMmB,gBAAgB,GAAGD,iBAAiB,CAACzB,IAAI,CAC7C,UAAC2B,KAAK;QAAA,OAAKA,KAAK,CAACpH,IAAI,KAAKgG,SAAS,CAAChG,IAAI;QACzC;MACD,IAAImH,gBAAgB,EAAE;QACpBA,gBAAgB,CAAC5G,KAAK,CAAC8G,IAAI,CAAC5G,SAAS,CAACuF,SAAS,CAACzF,KAAK,CAAC0F,GAAG,CAAC,CAAC;OAC5D,MAAM;QACLiB,iBAAiB,CAACG,IAAI,CAAC;UACrBrH,IAAI,EAAEgG,SAAS,CAAChG,IAAI;UACpBO,KAAK,EAAE,CAACE,SAAS,CAACuF,SAAS,CAACzF,KAAK,CAAC0F,GAAG,CAAC;SACvC,CAAC;;MAEJ,OAAOiB,iBAAiB;KACzB,EACD,EAGG,CACJ,CACA/C,GAAG,CAACN,sBAAsB;GAC9B;AAAA,CAAC;AAEF,IAAMyD,iBAAiB,GAAG,SAApBA,iBAAiBA,CACrBC,QAA+B,EAC/BxE,MAAc;EAAA,IAAAyE,oBAAA,EAAAC,qBAAA,EAAAC,sBAAA;EAAA,OACA;IACd5G,EAAE,EAAEyG,QAAQ,CAACzG,EAAE;IACf6G,SAAS,OAAKJ,QAAQ,CAAClC,OAAO,CAACvE,EAAI;IACnC8G,SAAS,EAAEL,QAAQ,CAACK,SAAS;IAC7B5H,IAAI,GAAAwH,oBAAA,GAAE3E,kBAAkB,CAAC0E,QAAQ,CAACvH,IAAI,EAAE+C,MAAM,CAAC,YAAAyE,oBAAA,GAAI,EAAE;IACrDZ,IAAI,EAAE,EAAE;IACRiB,QAAQ,EAAEN,QAAQ,CAACM,QAAQ;IAC3BC,SAAS,EAAE,EAAE;IACbzC,OAAO,EAAED,uBAAuB,CAACmC,QAAQ,CAAClC,OAAO,CAAC;IAClD1F,OAAO,GAAA8H,qBAAA,IAAAC,sBAAA,GACLH,QAAQ,CAAClC,OAAO,CAACU,UAAU,qBAA3B2B,sBAAA,CAA6BvD,GAAG,CAAC,UAAC6B,SAAS;MAAA,OAAM;QAC/ClF,EAAE,EAAEkF,SAAS,CAAChG,IAAI;QAClBA,IAAI,EAAEgG,SAAS,CAAChG,IAAI;QACpBO,KAAK,EAAEyF,SAAS,CAACzF,KAAK,CAAC0F;OACxB;KAAC,CAAC,YAAAwB,qBAAA,GAAI;GACV;AAAA,CAAC;AAEF,AAAO,IAAMM,aAAa,GAAG,SAAhBA,aAAaA,CACxBvG,IAAuB,EACvBuB,MAAc;EAAA,OACJ;IACVjC,EAAE,EAAEU,IAAI,CAACV,EAAE;IACXkH,UAAU,EAAExG,IAAI,CAACwG,UAAU;IAC3BC,KAAK,EAAEzG,IAAI,CAAC0G,aAAa;IACzBC,SAAS,EAAE3G,IAAI,CAAC2G,SAAS;IACzBrG,QAAQ,EAAE;MACRsG,IAAI,EAAE3E;KACP;IACD4E,aAAa,EAAE7G,IAAI,CAAC8G,OAAO,KAAK,UAAU;IAC1CC,SAAS,EAAE/G,IAAI,CAAC+G,SAAS,CAACpE,GAAG,CAAC,UAACqE,IAAI;MAAA,OAAKlB,iBAAiB,CAACkB,IAAI,EAAEzF,MAAM,CAAC;MAAC;IACxE0F,sBAAsB,EAAE,CAAC;IACzBC,aAAa,EAAEhF,KAAK,CAAClC,IAAI,CAACmH,UAAU,CAAC,CAACpI,KAAK;IAC3CoI,UAAU,EAAEjF,KAAK,CAAClC,IAAI,CAACmH,UAAU,CAAC,CAACpI,KAAK;IACxCuH,SAAS,EAAE;GACZ;AAAA,CAAC;AAEF,AAAO,IAAMc,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BC,QAA+B,EAC/B9F,MAAc;EAAA,IAAA+F,oBAAA,EAAAC,oBAAA;EAAA,OACA;IACdjI,EAAE,EAAE+H,QAAQ,CAAC/H,EAAE;IACfd,IAAI,GAAA8I,oBAAA,GAAEjG,kBAAkB,CAACgG,QAAQ,CAAC7I,IAAI,EAAE+C,MAAM,CAAC,YAAA+F,oBAAA,GAAI,EAAE;IACrDnC,IAAI,GAAAoC,oBAAA,GAAElG,kBAAkB,CAACgG,QAAQ,CAAClC,IAAI,EAAE5D,MAAM,CAAC,YAAAgG,oBAAA,GAAI,EAAE;IACrDnC,IAAI,QAAM/D,kBAAkB,CAACgG,QAAQ,CAAClC,IAAI,EAAE5D,MAAM;GACnD;AAAA,CAAC;;ACvLK,IAAMiG,OAAO,GAAyB;EAC3CC,YAAY,EAAE;IACZjH,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;GACT;EACKiH,OAAO,WAAAA,QAAAjI,IAAA;;;;;;YAAGkI,AAAgB7H,KAAK,GAAAL,IAAA,CAALK,KAAK,EAAE8H,QAAQ,GAAAnI,IAAA,CAARmI,QAAQ;YAAAzH,QAAA,CAAAE,IAAA;YAAA,OACpBY,aAAa,CAACnB,KAAK,CAAC;UAAA;YAAvCqB,UAAU,GAAAhB,QAAA,CAAAQ,IAAA;YAAA,OAAAR,QAAA,CAAAS,MAAA,WACTO,UAAU,GAAGoF,aAAa,CAACpF,UAAU,EAAEyG,QAAS,CAACrG,MAAM,CAAC,GAAG,IAAI;UAAA;UAAA;YAAA,OAAApB,QAAA,CAAAU,IAAA;;SAAAhB,OAAA;;GACvE;EACDgI,OAAO,EACL,SAAAA,QAAAC,KAAA;IAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;IAAA,OACV,UAACJ,KAAK;MACJ,IAAMK,QAAQ,GAAGD,OAAO,CAAC;QACvBE,UAAU,EAAA7E,QAAA;UAAI8E,iBAAiB,EAAE;WAAUP,KAAK,oBAALA,KAAK,CAAEM,UAAU;OAC7D,CAAC;MACF,OAAOE,aAAO,CACZ;QAAA,OACE3G,MAAM,CAAC4G,MAAM,CAACJ,QAAQ,EAAE;UACtBK,OAAO,EAAE;YACP1J,GAAG,WAAAA;;cACD,OAAO,EAAA2J,qBAAA,IAAAC,cAAA,GAACP,QAAQ,CAACQ,IAAI,qBAAbD,cAAA,CAAexB,SAAS,CAAC0B,MAAM,YAAAH,qBAAA,GAAI,CAAC,KAAK,CAAC;aACnD;YACDI,UAAU,EAAE;;SAEf,CAAC;SACJ,CAACV,QAAQ,CAAC,CACX;KACF;;CACJ;;ACrBM,IAAMR,SAAO,GAA8B;EAChDC,YAAY,EAAE;IACZjH,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;GACT;EACKiH,OAAO,WAAAA,QAAAjI,IAAA;;;;;;;YAAUuH,IAAI,GAAAvH,IAAA,CAAXkI,KAAK,EAAQxJ,AAAS2B,KAAK,GAAAL,IAAA,CAALK,KAAK,EAAE8H,QAAQ,GAAAnI,IAAA,CAARmI,QAAQ;YAAAzH,QAAA,CAAAE,IAAA;YAAA,OAC1BY,aAAa,CAACnB,KAAK,CAAC;UAAA;YAAvCqB,UAAU,GAAAhB,QAAA,CAAAQ,IAAA;YAAA,MAEbqG,IAAI,CAACX,QAAQ,KACX,CAACsC,MAAM,CAACC,SAAS,CAAC5B,IAAI,CAACX,QAAQ,CAAC,IAAIW,IAAI,CAACX,QAAS,GAAG,CAAC,CAAC,IAC1D,CAAClF,UAAU;cAAAhB,QAAA,CAAAE,IAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,MAAA,WAEJ5C,SAAS;UAAA;YAAAmC,QAAA,CAAAE,IAAA;YAAA,OAEQP,KAAK,CAAmC;cAChEU,KAAK,EAAE,OAAO;cACdC,MAAM,EAAE,MAAM;cACdW,SAAS,EAAE;gBACT9B,EAAE,EAAE6B,UAAU,CAAC7B;eAChB;cACDoB,IAAI,EAAE;gBACJmI,OAAO,EAAE1H,UAAU,CAAC0H,OAAO;gBAC3BC,OAAO,EAAE,CACP;kBACEC,MAAM,EAAE,aAAa;kBACrB5C,SAAS,EAAE,CAACa,IAAI,CAACb,SAAS;kBAC1BC,SAAS,EAAEY,IAAI,CAACZ,SAAS;kBACzBC,QAAQ,GAAA2C,cAAA,GAAEhC,IAAI,CAACX,QAAQ,YAAA2C,cAAA,GAAI;iBAC5B;;aAGN,CAAC;UAAA;YAjBIC,WAAW,GAAA9I,QAAA,CAAAQ,IAAA;YAkBjB,IAAIsI,WAAW,CAACvI,IAAI,EAAE;cACpBrB,SAAS,CAAC4J,WAAW,CAACvI,IAAI,CAACpB,EAAE,CAAC;aAC/B,MAAM;cACLC,gBAAgB,EAAE;;YACnB,OAAAY,QAAA,CAAAS,MAAA,WACMqI,WAAW,CAACvI,IAAI,GACnB6F,aAAa,CAAC0C,WAAW,CAACvI,IAAI,EAAEkH,QAAS,CAACrG,MAAM,CAAC,GACjDvD,SAAS;UAAA;UAAA;YAAA,OAAAmC,QAAA,CAAAU,IAAA;;SAAAhB,OAAA;;GACd;EACDgI,OAAO,EACL,SAAAA,QAAAC,KAAA;IAAA,IAAGhI,KAAK,GAAAgI,KAAA,CAALhI,KAAK;IAAA,OACR;MACE,IAAAoJ,QAAA,GAAmBC,gBAAO,EAAE;QAApBC,MAAM,GAAAF,QAAA,CAANE,MAAM;MACd,OAAOC,iBAAW;QAAA,IAAAC,QAAA,GAAA5J,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAChB,SAAA2J,SAAuB5B,KAAK;UAAA,IAAAa,IAAA;UAAA,OAAA7I,mBAAA,GAAAM,IAAA,UAAAuJ,UAAAC,SAAA;YAAA,kBAAAA,SAAA,CAAArJ,IAAA,GAAAqJ,SAAA,CAAApJ,IAAA;cAAA;gBAAAoJ,SAAA,CAAApJ,IAAA;gBAAA,OACPP,KAAK,CAAC;kBAAE6H,KAAK,EAALA;iBAAO,CAAC;cAAA;gBAA7Ba,IAAI,GAAAiB,SAAA,CAAA9I,IAAA;gBAAA8I,SAAA,CAAApJ,IAAA;gBAAA,OACJ+I,MAAM,CAACZ,IAAI,EAAE,KAAK,CAAC;cAAA;gBAAA,OAAAiB,SAAA,CAAA7I,MAAA,WAClB4H,IAAI;cAAA;cAAA;gBAAA,OAAAiB,SAAA,CAAA5I,IAAA;;aAAA0I,QAAA;SACZ;QAAA,SAJcG,OAAOA,CAAA5I,EAAA;UAAA,OAAAwI,QAAA,CAAAvI,KAAA,OAAAC,SAAA;;QAAA,OAAP0I,OAAO;WAKtB,CAAC5J,KAAK,EAAEsJ,MAAM,CAAC,CAChB;KACF;;CACJ;;AClCM,IAAM5B,SAAO,GAAiC;EACnDC,YAAY,EAAE;IACZjH,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;GACT;EACKiH,OAAO,WAAAA,QAAAjI,IAAA;;;;;;YACFkK,MAAM,GAAAlK,IAAA,CAAfkI,KAAK,CAAIgC,MAAM,EACfxL,AACA2B,KAAK,GAAAL,IAAA,CAALK,KAAK,EACL8H,QAAQ,GAAAnI,IAAA,CAARmI,QAAQ;YAAAzH,QAAA,CAAAE,IAAA;YAAA,OAEiBY,aAAa,CAACnB,KAAK,CAAC;UAAA;YAAvCqB,UAAU,GAAAhB,QAAA,CAAAQ,IAAA;YAAA,MACZ,CAACgJ,MAAM,IAAI,CAACxI,UAAU;cAAAhB,QAAA,CAAAE,IAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,MAAA,WACjB5C,SAAS;UAAA;YAAAmC,QAAA,CAAAE,IAAA;YAAA,OAEQP,KAAK,CAG7B;cACAU,KAAK,EAAE,OAAO;cACdC,MAAM,EAAE,MAAM;cACdW,SAAS,EAAE;gBACT9B,EAAE,EAAE6B,UAAU,CAAC7B;eAChB;cACDoB,IAAI,EAAE;gBACJmI,OAAO,EAAE1H,UAAU,CAAC0H,OAAO;gBAC3BC,OAAO,EAAE,CACP;kBACEC,MAAM,EAAE,gBAAgB;kBACxBa,UAAU,EAAED;iBACb;;aAGN,CAAC;UAAA;YAlBIV,WAAW,GAAA9I,QAAA,CAAAQ,IAAA;YAmBjB,IAAIsI,WAAW,CAACvI,IAAI,EAAE;cACpBrB,SAAS,CAAC4J,WAAW,CAACvI,IAAI,CAACpB,EAAE,CAAC;aAC/B,MAAM;cACLC,gBAAgB,EAAE;;YACnB,OAAAY,QAAA,CAAAS,MAAA,WACM2F,aAAa,CAAC0C,WAAW,CAACvI,IAAI,EAAEkH,QAAS,CAACrG,MAAM,CAAC;UAAA;UAAA;YAAA,OAAApB,QAAA,CAAAU,IAAA;;SAAAhB,OAAA;;GACzD;EACDgI,OAAO,EACL,SAAAA,QAAAC,KAAA;IAAA,IAAGhI,KAAK,GAAAgI,KAAA,CAALhI,KAAK;IAAA,OACR,UAA6C+J;UAAAA;QAAAA,MAAoB,EAAE;;MACjE,IAAAC,IAAA,GAAiBD,GAAG;QAAZ7C,IAAI,GAAA8C,IAAA,CAAJ9C,IAAI;MACZ,IAAAkC,QAAA,GAAmBC,gBAAO,EAAE;QAApBC,MAAM,GAAAF,QAAA,CAANE,MAAM;MACd,IAAMW,UAAU;QAAA,IAAAC,KAAA,GAAAtK,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAA2B,SAAA2J,SAAO5B,KAAK;UAAA,IAAAsC,SAAA;UAAA,IAAAN,MAAA,EAAAnB,IAAA;UAAA,OAAA7I,mBAAA,GAAAM,IAAA,UAAAuJ,UAAAC,SAAA;YAAA,kBAAAA,SAAA,CAAArJ,IAAA,GAAAqJ,SAAA,CAAApJ,IAAA;cAAA;gBAC/CsJ,MAAM,IAAAM,SAAA,GAAGtC,KAAK,oBAALA,KAAK,CAAErI,EAAE,YAAA2K,SAAA,GAAIjD,IAAI,oBAAJA,IAAI,CAAE1H,EAAE;gBAAA,IAE/BqK,MAAM;kBAAAF,SAAA,CAAApJ,IAAA;kBAAA;;gBAAA,MACH,IAAI6J,wBAAe,CAAC;kBACxBC,OAAO,EAAE;iBACV,CAAC;cAAA;gBAAAV,SAAA,CAAApJ,IAAA;gBAAA,OAGeP,KAAK,CAAC;kBAAE6H,KAAK,EAAE;oBAAEgC,MAAM,EAANA;;iBAAU,CAAC;cAAA;gBAAzCnB,IAAI,GAAAiB,SAAA,CAAA9I,IAAA;gBAAA8I,SAAA,CAAApJ,IAAA;gBAAA,OACJ+I,MAAM,CAACZ,IAAI,EAAE,KAAK,CAAC;cAAA;gBAAA,OAAAiB,SAAA,CAAA7I,MAAA,WAClB4H,IAAI;cAAA;cAAA;gBAAA,OAAAiB,SAAA,CAAA5I,IAAA;;aAAA0I,QAAA;SACZ;QAAA,gBAZKQ,UAAUA,CAAAjJ,EAAA;UAAA,OAAAkJ,KAAA,CAAAjJ,KAAA,OAAAC,SAAA;;SAYf;MAED,OAAOqI,iBAAW,CAACU,UAA6B,EAAE,CAACjK,KAAK,EAAEsJ,MAAM,CAAC,CAAC;KACnE;;CACJ;;ACxEM,IAAM5B,SAAO,GAAiC;EACnDC,YAAY,EAAE;IACZjH,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;GACT;EACKiH,OAAO,WAAAA,QAAAjI,IAAA;;;;;;;8BAAGkI,KAAK,EAAIX,IAAI,GAAAoD,UAAA,CAAJpD,IAAI,EAAE2C,MAAM,GAAAS,UAAA,CAANT,MAAM,EAAIxL,AAAS2B,KAAK,GAAAL,IAAA,CAALK,KAAK,EAAE8H,QAAQ,GAAAnI,IAAA,CAARmI,QAAQ;YAAA,KAC3De,MAAM,CAACC,SAAS,CAAC5B,IAAI,CAACX,QAAQ,CAAC;cAAAlG,QAAA,CAAAE,IAAA;cAAA;;YAAA,MAE7B2G,IAAI,CAACX,QAAS,GAAG,CAAC;cAAAlG,QAAA,CAAAE,IAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,MAAA,WACbyJ,SAAiB,CAAC3C,OAAO,oBAAzB2C,SAAiB,CAAC3C,OAAO,CAAG;cACjCvJ,OAAO,EAAEkM,SAAiB,CAAC5C,YAAY;cACvCE,KAAK,EAAE;gBAAEgC,MAAM,EAANA;eAAQ;cACjB7J,KAAK,EAALA,KAAK;cACL8H,QAAQ,EAARA;aACD,CAAC;UAAA;YAAAzH,QAAA,CAAAE,IAAA;YAAA;UAAA;YAAA,KAEK2G,IAAI,CAACX,QAAQ;cAAAlG,QAAA,CAAAE,IAAA;cAAA;;YAAA,MAChB,IAAI6J,wBAAe,CAAC;cACxBC,OAAO,EAAE;aACV,CAAC;UAAA;YAAAhK,QAAA,CAAAE,IAAA;YAAA,OAGqBY,aAAa,CAACnB,KAAK,CAAC;UAAA;YAAvCqB,UAAU,GAAAhB,QAAA,CAAAQ,IAAA;YAAA,MAEbqG,IAAI,CAACX,QAAQ,KACX,CAACsC,MAAM,CAACC,SAAS,CAAC5B,IAAI,CAACX,QAAQ,CAAC,IAAIW,IAAI,CAACX,QAAS,GAAG,CAAC,CAAC,IAC1D,CAAClF,UAAU;cAAAhB,QAAA,CAAAE,IAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,MAAA,WAEJ5C,SAAS;UAAA;YAAAmC,QAAA,CAAAE,IAAA;YAAA,OAEQP,KAAK,CAAmC;cAChEU,KAAK,EAAE,OAAO;cACdC,MAAM,EAAE,MAAM;cACdW,SAAS,EAAE;gBACT9B,EAAE,EAAE6B,UAAU,CAAC7B;eAChB;cACDoB,IAAI,EAAE;gBACJmI,OAAO,EAAE1H,UAAU,CAAC0H,OAAO;gBAC3BC,OAAO,EAAE,CACP;kBACEC,MAAM,EAAE,wBAAwB;kBAChCa,UAAU,EAAED,MAAM;kBAClBtD,QAAQ,GAAA2C,cAAA,GAAEhC,IAAI,CAACX,QAAQ,YAAA2C,cAAA,GAAI;iBAC5B;;aAGN,CAAC;UAAA;YAhBIC,WAAW,GAAA9I,QAAA,CAAAQ,IAAA;YAiBjB,IAAIsI,WAAW,CAACvI,IAAI,EAAE;cACpBrB,SAAS,CAAC4J,WAAW,CAACvI,IAAI,CAACpB,EAAE,CAAC;aAC/B,MAAM;cACLC,gBAAgB,EAAE;;YACnB,OAAAY,QAAA,CAAAS,MAAA,WACMqI,WAAW,CAACvI,IAAI,GACnB6F,aAAa,CAAC0C,WAAW,CAACvI,IAAI,EAAEkH,QAAS,CAACrG,MAAM,CAAC,GACjDvD,SAAS;UAAA;UAAA;YAAA,OAAAmC,QAAA,CAAAU,IAAA;;SAAAhB,OAAA;;GACd;EACDgI,OAAO,EACL,SAAAA,QAAAC,KAAA;IAAA,IAAGhI,KAAK,GAAAgI,KAAA,CAALhI,KAAK;IAAA,OACR,UACE+J;;UAAAA;QAAAA,MAGI,EAAE;;MAEN,IAAAC,IAAA,GAAiBD,GAAG;QAAZ7C,IAAI,GAAA8C,IAAA,CAAJ9C,IAAI;MACZ,IAAAkC,QAAA,GAAmBC,gBAAO,EAAS;QAA3BC,MAAM,GAAAF,QAAA,CAANE,MAAM;MAEd,OAAOC,iBAAW,CAChBiB,QAAQ;QAAA,IAAAN,KAAA,GAAAtK,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAC,SAAA2J,SAAO5B,KAA+B;UAAA,IAAAsC,SAAA;UAAA,IAAAN,MAAA,EAAAnB,IAAA;UAAA,OAAA7I,mBAAA,GAAAM,IAAA,UAAAuJ,UAAAC,SAAA;YAAA,kBAAAA,SAAA,CAAArJ,IAAA,GAAAqJ,SAAA,CAAApJ,IAAA;cAAA;gBACvCsJ,MAAM,IAAAM,SAAA,GAAGtC,KAAK,CAACrI,EAAE,YAAA2K,SAAA,GAAIjD,IAAI,oBAAJA,IAAI,CAAE1H,EAAE;gBAAA,MAC/B,CAACqK,MAAM,IAAIhC,KAAK,CAACtB,QAAQ,IAAI,IAAI;kBAAAoD,SAAA,CAAApJ,IAAA;kBAAA;;gBAAA,MAC7B,IAAI6J,wBAAe,CAAC;kBACxBC,OAAO,EAAE;iBACV,CAAC;cAAA;gBAAAV,SAAA,CAAApJ,IAAA;gBAAA,OAGeP,KAAK,CAAC;kBACvB6H,KAAK,EAAE;oBACLX,IAAI,EAAE;sBACJX,QAAQ,EAAEsB,KAAK,CAACtB;qBACjB;oBACDsD,MAAM,EAANA;;iBAEH,CAAC;cAAA;gBAPInB,IAAI,GAAAiB,SAAA,CAAA9I,IAAA;gBAAA8I,SAAA,CAAApJ,IAAA;gBAAA,OAQJ+I,MAAM,CAACZ,IAAI,EAAE,KAAK,CAAC;cAAA;gBAAA,OAAAiB,SAAA,CAAA7I,MAAA,WAClB4H,IAAI;cAAA;cAAA;gBAAA,OAAAiB,SAAA,CAAA5I,IAAA;;aAAA0I,QAAA;SACZ;QAAA,iBAAAzI,EAAA;UAAA,OAAAkJ,KAAA,CAAAjJ,KAAA,OAAAC,SAAA;;YAAAuJ,SAAA,GAAEV,GAAG,CAACW,IAAI,YAAAD,SAAA,GAAI,GAAG,CAAC,EACnB,CAACzK,KAAK,EAAEsJ,MAAM,CAAC,CAChB;KACF;;CACJ;;AC5GD,IAAMqB,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAIC,KAA+B;EACjE,IAAMC,MAAM,GAAG,qBAAmBD,KAAK,CAACE,UAAU,CAAG;;EAGrD,IAAMC,qBAAqB,GAA0B;IACnDC,IAAI,oBAAkBJ,KAAK,CAACK,MAAM,uBAAoB;IACtDH,UAAU,EAAEF,KAAK,CAACM,YAAY;IAC9BC,WAAW,EAAE;MACXC,QAAQ,EAAER,KAAK,CAACQ,QAAQ;MACxBF,YAAY,EAAEN,KAAK,CAACM;KACrB;IACDL,MAAM,EAANA,MAAM;IACN7K,KAAK,EAALA;GACD;;EAGD,IAAMqL,qBAAqB,GAA0B;IACnDL,IAAI,mBAAiBJ,KAAK,CAACK,MAAM,uBAAoB;IACrDjL,KAAK,EAALA;GACD;;EAGD,OAAO,IAAIsL,yBAAa,EAAE,CACvBC,cAAc,CAACX,KAAK,CAACE,UAAU,CAAC,CAChCU,yBAAyB,CAACT,qBAAqB,CAAC,CAChDU,kBAAkB,CAACJ,qBAAqB,CAAC,CACzCK,KAAK,EAAE;AACZ,CAAC;;AC7BM,IAAMC,UAAU,GAErB,SAFWA,UAAUA,CAEpBf,KAAK;EACJ,IAAMgB,MAAM,GAAGjB,0BAA0B,CAACC,KAAK,CAAC;EAChD,IAAMiB,OAAO,GAAGC,yCAA6B,CAACF,MAAM,CAAC,CAACL,cAAc,CAAC;IACnET,UAAU,EAAEF,KAAK,CAACE;GACnB,CAAC;EACF;IAAA,IAAA9C,KAAA,GAAApI,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAO,SAAAC,QAAAJ,IAAA;MAAA,IAAAgB,MAAA,EAAAW,SAAA,EAAAZ,KAAA,EAAAE,IAAA,EAAAmL,YAAA;MAAA,OAAAlM,mBAAA,GAAAM,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YACLI,MAAM,GAAAhB,IAAA,CAANgB,MAAM,EAAEW,SAAS,GAAA3B,IAAA,CAAT2B,SAAS,EAAEZ,KAAK,GAAAf,IAAA,CAALe,KAAK,EAAEE,IAAI,GAAAjB,IAAA,CAAJiB,IAAI;YAE1BmL,YAAY,GAAQF,OAAO;YAC/B,IAAInL,KAAK,EAAE;cACTqL,YAAY,GAAGA,YAAY,CAACrL,KAAK,CAAC,EAAE;;YAEtC,IAAIY,SAAS,YAATA,SAAS,CAAE9B,EAAE,EAAE;cACjBuM,YAAY,GAAGA,YAAY,CAACC,MAAM,CAAC;gBAAEC,EAAE,EAAE3K,SAAS,CAAC9B;eAAI,CAAC;;YAE1D,IAAI8B,SAAS,YAATA,SAAS,CAAE4K,MAAM,EAAE;cACrBH,YAAY,GAAGA,YAAY,CAACG,MAAM,EAAE;;YACrC7L,QAAA,CAAAE,IAAA;YAAA,OACYwL,YAAY,CAACpL,MAAO,CAAC,CAAC;cACjCC,IAAI,EAAJA,IAAI;cACJuL,SAAS,EAAA7I,QAAA;gBACP8I,MAAM,EAAE9K,SAAS,oBAATA,SAAS,CAAE8K,MAAM;gBACzBC,KAAK,EAAE/K,SAAS,oBAATA,SAAS,CAAE+K;iBACd/K,SAAS,YAATA,SAAS,CAAEvD,IAAI,GAAG;gBAAEA,IAAI,EAAEuD,SAAS,CAACvD;eAAM,GAAG,EAAE,EAC/CuD,SAAS,YAATA,SAAS,CAAE4K,MAAM,GAAG5K,SAAS,CAAC4K,MAAM,GAAG,EAAE,EACzC5K,SAAS,YAATA,SAAS,CAAEgL,OAAO,GAAG;gBAAExK,MAAM,EAAER,SAAS,CAACgL;eAAS,GAAG,EAAE,EACvDhL,SAAS,YAATA,SAAS,CAAEiL,KAAK,GAAG;gBAAEA,KAAK,EAAEjL,SAAS,CAACiL;eAAO,GAAG,EAAE;aAEzD,CAAC,CACDC,OAAO,EAAE;UAAA;YAAA,OAAAnM,QAAA,CAAAS,MAAA,WAAAT,QAAA,CAAAQ,IAAA;UAAA;UAAA;YAAA,OAAAR,QAAA,CAAAU,IAAA;;SAAAhB,OAAA;KACX;IAAA,iBAAAiB,EAAA;MAAA,OAAAgH,KAAA,CAAA/G,KAAA,OAAAC,SAAA;;;AACL,CAAC;;ACtBM,IAAMwG,SAAO,GAA4B;EAC9CC,YAAY,EAAE;IACZjH,KAAK,EAAE,oBAAoB;IAC3BC,MAAM,EAAE;GACT;EACKiH,OAAO,WAAAA,QAAAjI,IAAA;;;;;;YAAGkI,KAAK,GAAAlI,IAAA,CAALkI,KAAK,EAAExJ,OAAO,GAAAsB,IAAA,CAAPtB,OAAO,EAAE2B,KAAK,GAAAL,IAAA,CAALK,KAAK,EAAE8H,QAAQ,GAAAnI,IAAA,CAARmI,QAAQ;YACrCtI,EAAE,GAAKqI,KAAK,CAAZrI,EAAE;YAAA,IACLA,EAAE;cAAAa,QAAA,CAAAE,IAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,MAAA,WACE,IAAI;UAAA;YAAAT,QAAA,CAAAE,IAAA;YAAA,OAGSP,KAAK,CAAAsD,QAAA,KACtBjF,OAAO;cACViD,SAAS,EAAE;gBACT9B,EAAE,EAAFA;;cAEH,CAAC;UAAA;YALIuF,OAAO,GAAA1E,QAAA,CAAAQ,IAAA;YAAA,OAAAR,QAAA,CAAAS,MAAA,WAMNiE,OAAO,CAACnE,IAAI,GACfkE,gBAAgB,CAACC,OAAO,CAACnE,IAAI,EAAEkH,QAAS,CAACrG,MAAM,CAAC,GAChD,IAAI;UAAA;UAAA;YAAA,OAAApB,QAAA,CAAAU,IAAA;;SAAAhB,OAAA;;GACT;EACDgI,OAAO,EACL,SAAAA,QAAAC,KAAA;IAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;IAAA,OACV,UAACJ,KAAK;UAALA,KAAK;QAALA,KAAK,GAAG,EAAE;;MACT,OAAOI,OAAO,CAAC;QACbJ,KAAK,EAAE,CACL,CAAC,IAAI,EAAEA,KAAK,CAACrI,EAAE,CAAC,CACjB;QACD2I,UAAU,EAAA7E,QAAA;UACR8E,iBAAiB,EAAE;WAChBP,KAAK,CAACM,UAAU;OAEtB,CAAC;KACH;;CACJ;;ACzBM,IAAMT,SAAO,GAAgC;EAClDC,YAAY,EAAE;IACZhH,MAAM,EAAE,KAAK;IACbD,KAAK,EAAE;GACR;EACKkH,OAAO,WAAAA,QAAAjI,IAAA;;;;;;;YAAGkI,KAAK,GAAAlI,IAAA,CAALkI,KAAK,EAAExJ,OAAO,GAAAsB,IAAA,CAAPtB,OAAO,EAAE2B,KAAK,GAAAL,IAAA,CAALK,KAAK,EAAE8H,QAAQ,GAAAnI,IAAA,CAARmI,QAAQ;YACrCoE,MAAM,GAA8BrE,KAAK,CAAzCqE,MAAM,EAAEO,UAAU,GAAkB5E,KAAK,CAAjC4E,UAAU,EAAE1O,IAAI,GAAY8J,KAAK,CAArB9J,IAAI,EAAE2O,KAAK,GAAK7E,KAAK,CAAf6E,KAAK;YAAArM,QAAA,CAAAE,IAAA;YAAA,OAChBP,KAAK,CAAAsD,QAAA,KAGvBjF,OAAO;cACViD,SAAS,EAAAgC,QAAA;gBACP8I,MAAM,EAAE,CAAC,oBAAoB,CAAC;gBAC9BrO,IAAI,EAAED,gBAAgB,CAACC,IAAI,CAAC;gBAC5BsO,KAAK,EAAEK;iBACHR,MAAM;;cAEN;gBAAEA,MAAM,GAAAS,OAAA,OAAAA,OAAA,YAAa7E,QAAQ,oBAARA,QAAQ,CAAErG,MAAO,KAAKyK,MAAM,EAAAS,OAAA;eAAI,GACrD,EAAE,EACFF,UAAU,GACV;gBAAEH,OAAO,gCAA6BG,UAAU;eAAM,GACtD,EAAE;cAET,CAAC;UAAA;YAhBIvE,QAAQ,GAAA7H,QAAA,CAAAQ,IAAA;YAAA,OAAAR,QAAA,CAAAS,MAAA,WAiBP;cACL8L,QAAQ,EAAE1E,QAAQ,CAACtH,IAAI,CAACiM,OAAO,CAAChK,GAAG,CAAC,UAACkC,OAAO;gBAAA,OAC1CD,gBAAgB,CAACC,OAAO,EAAE+C,QAAS,CAACrG,MAAM,CAAC;gBAC5C;cACDqL,KAAK,EAAE5E,QAAQ,CAACtH,IAAI,CAAC8L,KAAK,GAAG;aAC9B;UAAA;UAAA;YAAA,OAAArM,QAAA,CAAAU,IAAA;;SAAAhB,OAAA;;GACF;EACDgI,OAAO,EACL,SAAAA,QAAAC,KAAA;IAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;IAAA,OACV,UAACJ,KAAK;UAALA,KAAK;QAALA,KAAK,GAAG,EAAE;;MACT,OAAOI,OAAO,CAAC;QACbJ,KAAK,EAAE,CACL,CAAC,QAAQ,EAAEA,KAAK,CAACqE,MAAM,CAAC,EACxB,CAAC,YAAY,EAAErE,KAAK,CAAC4E,UAAU,CAAC,EAChC,CAAC,SAAS,EAAE5E,KAAK,CAACkF,OAAO,CAAC,EAC1B,CAAC,MAAM,EAAElF,KAAK,CAAC9J,IAAI,CAAC,EACpB,CAAC,QAAQ,EAAE8J,KAAK,CAACpG,MAAM,CAAC,EACxB,CAAC,OAAO,EAAEoG,KAAK,CAAC6E,KAAK,CAAC,CACvB;QACDvE,UAAU,EAAA7E,QAAA;UACR8E,iBAAiB,EAAE;WAChBP,KAAK,CAACM,UAAU;OAEtB,CAAC;KACH;;CACJ;;ACnEM,IAAMT,SAAO,GAA2B;EAC7CC,YAAY,EAAE;IACZjH,KAAK,EAAE;GACR;EACKkH,OAAO,WAAAA,QAAAjI,IAAA;;;;;YAAwB,OAAAU,QAAA,CAAAS,MAAA,WAC5B,IAAI;UAAA;UAAA;YAAA,OAAAT,QAAA,CAAAU,IAAA;;SAAAhB,OAAA;;GACZ;EACDgI,OAAO,EACL,SAAAA,QAAAC,KAAA;IAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;IAAA,OACV,UAACJ,KAAK;MACJ,IAAMK,QAAQ,GAAGD,OAAO,CAAC;QACvBE,UAAU,EAAA7E,QAAA;UAAI8E,iBAAiB,EAAE;WAAUP,KAAK,oBAALA,KAAK,CAAEM,UAAU;OAC7D,CAAC;MACF,OAAOE,aAAO,CACZ;QAAA,OACE3G,MAAM,CAAC4G,MAAM,CAACJ,QAAQ,EAAE;UACtBK,OAAO,EAAE;YACP1J,GAAG,WAAAA;;cACD,OAAO,EAAAmO,qBAAA,IAAAvE,cAAA,GAACP,QAAQ,CAACQ,IAAI,qBAAbD,cAAA,CAAeE,MAAM,YAAAqE,qBAAA,GAAI,CAAC,KAAK,CAAC;aACzC;YACDpE,UAAU,EAAE;;SAEf,CAAC;SACJ,CAACV,QAAQ,CAAC,CACX;KACF;;CACJ;;ACrBM,IAAMR,SAAO,GAA+B;EACjDC,YAAY,EAAE;IACZjH,KAAK,EAAE,YAAY;IACnBC,MAAM,EAAE;GACT;EACKiH,OAAO,WAAAA,QAAAjI,IAAA;;;;;;YAAGkI,KAAK,GAAAlI,IAAA,CAALkI,KAAK,EAAExJ,OAAO,GAAAsB,IAAA,CAAPtB,OAAO,EAAE2B,KAAK,GAAAL,IAAA,CAALK,KAAK,EAAE8H,QAAQ,GAAAnI,IAAA,CAARmI,QAAQ;YACrC2E,UAAU,GAAK5E,KAAK,CAApB4E,UAAU;YAAA,IACbA,UAAU;cAAApM,QAAA,CAAAE,IAAA;cAAA;;YAAAF,QAAA,CAAAE,IAAA;YAAA,OACYP,KAAK,CAAAsD,QAAA,KACzBjF,OAAO,CACX,CAAC;UAAA;YAFI4O,UAAU,GAAA5M,QAAA,CAAAQ,IAAA;YAAA,OAAAR,QAAA,CAAAS,MAAA,WAGTmM,UAAU,CAACrM,IAAI,GAAGqM,UAAU,CAACrM,IAAI,CAACiM,OAAO,CAAChK,GAAG,CAAC,UAAC0E,QAAQ;cAAA,OAAKD,iBAAiB,CAACC,QAAQ,EAAEO,QAAS,CAACrG,MAAM,CAAC;cAAC,GAAG,EAAE;UAAA;YAAApB,QAAA,CAAAE,IAAA;YAAA,OAE9FP,KAAK,CAAAsD,QAAA,KACxBjF,OAAO;cACViD,SAAS,EAAAgC,QAAA,KACHmJ,UAAU,GAAG;gBAAEjN,EAAE,EAAEiN;eAAY,GAAI,EAAG;cAE7C,CAAC;UAAA;YALIlF,QAAQ,GAAAlH,QAAA,CAAAQ,IAAA;YAAA,OAAAR,QAAA,CAAAS,MAAA,WAMPyG,QAAQ,CAAC3G,IAAI,GAAG,CAAC0G,iBAAiB,CAACC,QAAQ,CAAC3G,IAAI,EAAEkH,QAAS,CAACrG,MAAM,CAAC,CAAC,GAAG,EAAE;UAAA;UAAA;YAAA,OAAApB,QAAA,CAAAU,IAAA;;SAAAhB,OAAA;;GAEnF;EACDgI,OAAO,EAAE,SAAAA,QAAAC,KAAA;IAAA,IAAGC,OAAO,GAAAD,KAAA,CAAPC,OAAO;IAAA,OAAO,UAACJ,KAAK;MAC9B,IAAMK,QAAQ,GAAGD,OAAO,CAAC;QACvBJ,KAAK,EAAE,CAAC,CAAC,YAAY,EAAEA,KAAK,oBAALA,KAAK,CAAE4E,UAAU,CAAC,CAAC;QAC1CtE,UAAU,EAAA7E,QAAA;UAAI8E,iBAAiB,EAAE;WAAUP,KAAK,oBAALA,KAAK,CAAEM,UAAU;OAC7D,CAAC;MACF,OAAOE,aAAO,CACZ;QAAA,OACE3G,MAAM,CAAC4G,MAAM,CAACJ,QAAQ,EAAE;UACtBK,OAAO,EAAE;YACP1J,GAAG,WAAAA;;cACD,OAAO,EAAAmO,qBAAA,IAAAvE,cAAA,GAACP,QAAQ,CAACQ,IAAI,qBAAbD,cAAA,CAAeE,MAAM,YAAAqE,qBAAA,GAAI,CAAC,KAAK,CAAC;aACzC;YACDpE,UAAU,EAAE;;SAEf,CAAC;SACJ,CAACV,QAAQ,CAAC,CACX;KACF;;CACF;;ACjCM,IAAMgF,wBAAwB,GAAG,SAA3BA,wBAAwBA,CACnCtC,KAA+B,EAC/BnJ,MAAc;EAAA,OACV;IACJA,MAAM,EAANA,MAAM;IACN0L,UAAU,EAAE/O,yBAAyB;IACrC8B,IAAI,EAAE;MAAEmJ,OAAO,EAAPA,OAAO;MAAE+D,UAAU,EAAVA,SAAU;MAAEC,aAAa,EAAbA,SAAa;MAAEC,aAAa,EAAbA;KAAe;IAC3D1F,OAAO,EAAE+D,UAAU,CAACf,KAAK,CAAC;IAC1BgC,QAAQ,EAAE;MAAEW,SAAS,EAATA,SAAS;MAAEC,UAAU,EAAVA;KAAY;IACnCC,IAAI,EAAE;MAAEC,aAAa,EAAbA,SAAa;MAAEC,SAAS,EAATA;;GACxB;AAAA,CAAC;;ICrBWC,WAAW,GAAG,SAAdA,WAAWA;EAAA,OAASC,oBAAe,EAAyB;AAAA;AAEzE,IAAaC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIlD,KAA+B,EAAEnJ,MAAc;EAAA,OACjFsM,4BAAuB,CAACb,wBAAwB,CAACtC,KAAK,EAAEnJ,MAAM,CAAC,CAAC;AAAA;;ACOlE,IAAMuM,iBAAiB,GAAG,yCAAyC;AAEnE,IAAaC,oBAAoB,gBAAA3K,QAAA;EAC/B5E,IAAI,EAAEsP,iBAAiB;EACvBtL,WAAW,EAAE,wBAAwB;EACrCwL,KAAK,EAAE;IACLpD,UAAU,EAAE;MACVqD,IAAI,EAAE,QAAQ;MACdC,YAAY,EAAE;KACf;IACDhD,QAAQ,EAAE;MACR+C,IAAI,EAAE,QAAQ;MACdC,YAAY,EAAE;KACf;IACDlD,YAAY,EAAE;MACZiD,IAAI,EAAE,QAAQ;MACdC,YAAY,EAAE;KACf;IACDnD,MAAM,EAAE;MACNkD,IAAI,EAAE,QAAQ;MACd9P,OAAO,EAAE,CACP,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,CAC3B;MACD+P,YAAY,EAAE;;;AAEjB,GACE;EAAEC,aAAa,EAAEC;CAA4B;EAChDC,UAAU,EAAE,4BAA4B;EACxCC,UAAU,EAAE;AAA2B,EACxC;AAED,SAAgBC,yBAAyBA,CAACP,KAA4B;EACpE,IAAQQ,QAAQ,GAAiDR,KAAK,CAA9DQ,QAAQ;IAAE5D,UAAU,GAAqCoD,KAAK,CAApDpD,UAAU;IAAEM,QAAQ,GAA2B8C,KAAK,CAAxC9C,QAAQ;IAAEF,YAAY,GAAagD,KAAK,CAA9BhD,YAAY;IAAED,MAAM,GAAKiD,KAAK,CAAhBjD,MAAM;EAE5D,IAAML,KAAK,GAAG+D,cAAK,CAACtG,OAAO,CACzB;IAAA,OAAO;MAAEyC,UAAU,EAAVA,UAAU;MAAEM,QAAQ,EAARA,QAAQ;MAAEF,YAAY,EAAZA,YAAY;MAAED,MAAM,EAANA;KAAQ;GAAC,EACtD,CAACH,UAAU,EAAEM,QAAQ,EAAEF,YAAY,EAAED,MAAM,CAAC,CAC7C;EAED,IAAA2D,oBAAA,GAIIC,yBAAmB,CAAC/P,IAAI,CAACK,SAAS,CAAC;MAAEyL,KAAK,EAALA;KAAO,CAAC,GAAG,QAAQ,eAAAhL,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAE,SAAAC;MAAA,IAAA6H,OAAA,EAAAkH,OAAA;MAAA,OAAAjP,mBAAA,GAAAM,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YACtDqH,OAAO,GAAG+D,UAAU,CAACf,KAAK,CAAC;YAAAvK,QAAA,CAAAE,IAAA;YAAA,OACcqH,OAAO,CAAC;cAAEjH,MAAM,EAAE;aAAO,CAAC;UAAA;YAAnEmO,OAAO,GAAAzO,QAAA,CAAAQ,IAAA;YAAA,OAAAR,QAAA,CAAAS,MAAA,WACNgO,OAAO,CAAClO,IAAI,GAAGkO,OAAO,CAAClO,IAAI,CAACmO,SAAS,CAAC,CAAC,CAAC,GAAG7Q,SAAS;UAAA;UAAA;YAAA,OAAAmC,QAAA,CAAAU,IAAA;;SAAAhB,OAAA;KAC5D,GAAC;IAPM0B,MAAM,GAAAmN,oBAAA,CAAZlG,IAAI;IACJsG,KAAK,GAAAJ,oBAAA,CAALI,KAAK;IACLC,SAAS,GAAAL,oBAAA,CAATK,SAAS;EAOX,IAAMC,gBAAgB,GAAGP,cAAK,CAACtG,OAAO,CACpC;IAAA,OAAMyF,mBAAmB,CAAClD,KAAK,EAAEnJ,MAAM,WAANA,MAAM,GAAI,EAAE,CAAC;KAC9C,CAACmJ,KAAK,EAAEnJ,MAAM,CAAC,CAChB;EAED,IAAIwN,SAAS,EAAE;IACb,OAAO,IAAI;GACZ,MAAM,IAAID,KAAK,IAAI,CAACvN,MAAM,EAAE;IAC3B,MAAM,IAAI0N,KAAK,CAACH,KAAK,GAAGA,KAAK,CAAC3E,OAAO,GAAG,4BAA4B,CAAC;;EAGvE,OACEsE,6BAACO,gBAAgB,QACfP,6BAACS,4BAAmB;IAACpB,iBAAiB,EAAEA;KACrCU,QAAQ,CACW,CACL;AAEvB;AAEA,SAAgBW,wBAAwBA,CACtCC,MAAqB,EACrBC,0BAAqE;EAErE,IAAMC,mBAAmB,GAAiC,SAApDA,mBAAmBA;IAAA,OACvBF,MAAM,GACFA,MAAM,CAACG,qBAAqB,CAAAxO,KAAA,CAA5BqO,MAAM,EAAApO,SAA8B,CAAC,GACrCuO,qBAAqB,CAAAxO,KAAA,SAAAC,SAAQ,CAAC;;EACpCsO,mBAAmB,CACjBf,yBAAyB,EACzBc,0BAA0B,WAA1BA,0BAA0B,GAAItB,oBAAoB,CACnD;AACH;;SCjGgByB,WAAWA,CAACJ,MAAqB;EAC/CD,wBAAwB,CAACC,MAAM,CAAC;AAClC;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("@plasmicapp/host/registerGlobalContext")),r=require("@plasmicapp/query"),n=require("@plasmicpkgs/commerce"),o=require("react"),a=e(o),i=e(require("js-cookie")),u=e(require("debounce")),c=require("@commercetools/platform-sdk"),s=require("@commercetools/sdk-client-v2");function l(){l=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,r){return e[t]=r}}function f(e,t,r,n){var a=Object.create((t&&t.prototype instanceof y?t:y).prototype),i=new P(n||[]);return o(a,"_invoke",{value:j(e,r,i)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=f;var d="suspendedStart",v="executing",h="completed",m={};function y(){}function b(){}function g(){}var w={};s(w,i,(function(){return this}));var x=Object.getPrototypeOf,k=x&&x(x(S([])));k&&k!==r&&n.call(k,i)&&(w=k);var O=g.prototype=y.prototype=Object.create(w);function I(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function q(e,t){function r(o,a,i,u){var c=p(e[o],e,a);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,i,u)}),(function(e){r("throw",e,i,u)})):t.resolve(l).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,u)}))}u(c.arg)}var a;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return a=a?a.then(o,o):o()}})}function j(t,r,n){var o=d;return function(a,i){if(o===v)throw new Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var u=n.delegate;if(u){var c=C(u,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var s=p(t,r,n);if("normal"===s.type){if(o=n.done?h:"suspendedYield",s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=h,n.method="throw",n.arg=s.arg)}}}function C(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,C(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var a=p(o,t.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,m;var i=a.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,m):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function L(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function S(t){if(t||""===t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(typeof t+" is not iterable")}return b.prototype=g,o(O,"constructor",{value:g,configurable:!0}),o(g,"constructor",{value:b,configurable:!0}),b.displayName=s(g,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,s(e,c,"GeneratorFunction")),e.prototype=Object.create(O),e},t.awrap=function(e){return{__await:e}},I(q.prototype),s(q.prototype,u,(function(){return this})),t.AsyncIterator=q,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new q(f(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},I(O),s(O,c,"Generator"),s(O,i,(function(){return this})),s(O,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=S,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return u.type="throw",u.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],u=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:S(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),m}},t}function f(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function p(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){f(a,n,o,i,u,"next",e)}function u(e){f(a,n,o,i,u,"throw",e)}i(void 0)}))}}function d(){return(d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var v=function(e,t){var r=void 0;switch(e){case"price-asc":r="price asc";break;case"price-desc":r="price desc";break;case"trending-desc":r=void 0;break;case"latest-desc":r="createdAt desc"}return r},h={expires:30,sameSite:"none",secure:!0},m=function(e){return i.set("commercetools_cart",JSON.stringify(e),h)},y=function(){return i.remove("commercetools_cart")},b=function(){var e=p(l().mark((function e(t){var r,n;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={currency:"USD",country:"US"},e.next=3,t({query:"carts",method:"post",body:r});case 3:return(n=e.sent).body?m(n.body.id):y(),e.abrupt("return",n.body);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),g=function(){var e=p(l().mark((function e(t){var r,n;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=(o=i.get("commercetools_cart"))?JSON.parse(o):void 0)){e.next=7;break}return e.next=4,t({query:"carts",method:"get",variables:{id:r}});case 4:n=e.sent.body,e.next=10;break;case 7:return e.next=9,b(t);case 9:n=e.sent;case 10:return n?m(n.id):y(),e.abrupt("return",n);case 12:case"end":return e.stop()}var o}),e)})));return function(t){return e.apply(this,arguments)}}(),w=function(e,t){return e&&t?t in e?e[t]:Object.values(e)[0]:void 0},x=function(e){return e.filter((function(e){return null!=e}))},k=function(e){return"string"==typeof e?e:JSON.stringify(e)},O=function(e){return e?{value:e.centAmount/100,currencyCode:e.currencyCode}:{value:-1,currencyCode:"USD"}},I=function(e){return{__typename:"MultipleChoiceOption",id:e.name,displayName:e.name,values:(t=Array.isArray(e.value)?e.value:[e.value],[].concat(new Set(t))).map((function(t){return e.name.match(/colou?r/gi)&&/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i.test(t)?{label:k(t),hexColors:[t]}:{label:k(t)}}))};var t},q=function(e){var t,r,n,o,a,i,u=O(null!=(t=null==(r=e.prices)||null==(r=r.find((function(e){return"USD"===e.value.currencyCode})))?void 0:r.value)?t:null==(n=e.prices)||null==(n=n[0])?void 0:n.value).value;return{id:""+e.id,name:""+e.id,sku:null!=(o=e.sku)?o:"",price:u,options:null!=(a=null==(i=e.attributes)?void 0:i.map((function(e){return I({name:e.name,value:e.value.key})})))?a:[],requiresShipping:!1,listPrice:u}},j=function(e,t){var r,n,o,a,i,u;return{id:e.id,name:null!=(r=w(e.name,t))?r:"",slug:w(e.slug,t),path:"/"+w(e.slug,t),description:null!=(n=w(e.description,t))?n:"",price:O(null!=(o=null==(a=e.masterVariant.prices)||null==(a=a.find((function(e){return"USD"===e.value.currencyCode})))?void 0:a.value)?o:null==(i=e.masterVariant.prices)||null==(i=i[0])?void 0:i.value),images:(u=x([].concat(e.masterVariant.images?e.masterVariant.images:[],e.variants.flatMap((function(e){return e.images})))),u.map((function(e){return d({url:e.url},e.label?{alt:e.label}:{},{width:e.dimensions.w,height:e.dimensions.h})}))),variants:[e.masterVariant].concat(e.variants).map(q),options:x([].concat(e.masterVariant.attributes?e.masterVariant.attributes:[],e.variants.flatMap((function(e){return e.attributes})))).reduce((function(e,t){var r=e.find((function(e){return e.name===t.name}));return r?r.value.push(k(t.value.key)):e.push({name:t.name,value:[k(t.value.key)]}),e}),[]).map(I)}},C=function(e,t){return{id:e.id,customerId:e.customerId,email:e.customerEmail,createdAt:e.createdAt,currency:{code:"USD"},taxesIncluded:"Disabled"!==e.taxMode,lineItems:e.lineItems.map((function(e){return function(e,t){var r,n,o;return{id:e.id,variantId:""+e.variant.id,productId:e.productId,name:null!=(r=w(e.name,t))?r:"",path:"",quantity:e.quantity,discounts:[],variant:q(e.variant),options:null!=(n=null==(o=e.variant.attributes)?void 0:o.map((function(e){return{id:e.name,name:e.name,value:e.value.key}})))?n:[]}}(e,t)})),lineItemsSubtotalPrice:0,subtotalPrice:O(e.totalPrice).value,totalPrice:O(e.totalPrice).value,discounts:[]}},L=function(e,t){var r,n;return{id:e.id,name:null!=(r=w(e.name,t))?r:"",slug:null!=(n=w(e.slug,t))?n:"",path:"/"+w(e.slug,t)}},E={fetchOptions:{query:"cart",method:"get"},fetcher:function(e){return p(l().mark((function t(){var r,n,o;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.fetch,n=e.provider,t.next=3,g(r);case 3:return t.abrupt("return",(o=t.sent)?C(o,n.locale):null);case 5:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:d({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return o.useMemo((function(){return Object.create(r,{isEmpty:{get:function(){var e,t;return(null!=(e=null==(t=r.data)?void 0:t.lineItems.length)?e:0)<=0},enumerable:!0}})}),[r])}}},P={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return p(l().mark((function t(){var r,n,o,a,i,u;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.input,o=e.fetch,a=e.provider,t.next=3,g(o);case 3:if(i=t.sent,(!n.quantity||Number.isInteger(n.quantity)&&!(n.quantity<1))&&i){t.next=6;break}return t.abrupt("return",void 0);case 6:return t.next=8,o({query:"carts",method:"post",variables:{id:i.id},body:{version:i.version,actions:[{action:"addLineItem",variantId:+n.variantId,productId:n.productId,quantity:null!=(r=n.quantity)?r:1}]}});case 8:return(u=t.sent).body?m(u.body.id):y(),t.abrupt("return",u.body?C(u.body,a.locale):void 0);case 11:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.fetch;return function(){var e=n.useCart().mutate;return o.useCallback(function(){var r=p(l().mark((function r(n){var o;return l().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,t({input:n});case 2:return o=r.sent,r.next=5,e(o,!1);case 5:return r.abrupt("return",o);case 6:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),[t,e])}}},S={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return p(l().mark((function t(){var r,n,o,a,i;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.input.itemId,n=e.fetch,o=e.provider,t.next=3,g(n);case 3:if(a=t.sent,r&&a){t.next=6;break}return t.abrupt("return",void 0);case 6:return t.next=8,n({query:"carts",method:"post",variables:{id:a.id},body:{version:a.version,actions:[{action:"removeLineItem",lineItemId:r}]}});case 8:return(i=t.sent).body?m(i.body.id):y(),t.abrupt("return",C(i.body,o.locale));case 11:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.fetch;return function(e){void 0===e&&(e={});var r=e.item,a=n.useCart().mutate;return o.useCallback(function(){var e=p(l().mark((function e(o){var i,u,c;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u=null!=(i=null==o?void 0:o.id)?i:null==r?void 0:r.id){e.next=3;break}throw new n.ValidationError({message:"Invalid input used for this operation"});case 3:return e.next=5,t({input:{itemId:u}});case 5:return c=e.sent,e.next=8,a(c,!1);case 8:return e.abrupt("return",c);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[t,a])}}},_={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return p(l().mark((function t(){var r,o,a,i,u,c,s,f;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=(o=e.input).item,i=o.itemId,u=e.fetch,c=e.provider,!Number.isInteger(a.quantity)){t.next=6;break}if(!(a.quantity<1)){t.next=4;break}return t.abrupt("return",null==S.fetcher?void 0:S.fetcher({options:S.fetchOptions,input:{itemId:i},fetch:u,provider:c}));case 4:t.next=8;break;case 6:if(!a.quantity){t.next=8;break}throw new n.ValidationError({message:"The item quantity has to be a valid integer"});case 8:return t.next=10,g(u);case 10:if(s=t.sent,(!a.quantity||Number.isInteger(a.quantity)&&!(a.quantity<1))&&s){t.next=13;break}return t.abrupt("return",void 0);case 13:return t.next=15,u({query:"carts",method:"post",variables:{id:s.id},body:{version:s.version,actions:[{action:"changeLineItemQuantity",lineItemId:i,quantity:null!=(r=a.quantity)?r:1}]}});case 15:return(f=t.sent).body?m(f.body.id):y(),t.abrupt("return",f.body?C(f.body,c.locale):void 0);case 18:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.fetch;return function(e){var r;void 0===e&&(e={});var a=e.item,i=n.useCart().mutate;return o.useCallback(u(function(){var e=p(l().mark((function e(r){var o,u,c;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((u=null!=(o=r.id)?o:null==a?void 0:a.id)&&null!=r.quantity){e.next=3;break}throw new n.ValidationError({message:"Invalid input used for this operation"});case 3:return e.next=5,t({input:{item:{quantity:r.quantity},itemId:u}});case 5:return c=e.sent,e.next=8,i(c,!1);case 8:return e.abrupt("return",c);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),null!=(r=e.wait)?r:500),[t,i])}}},N=function(e){var t=function(e){var t={host:"https://auth."+e.region+".commercetools.com",projectKey:e.clientSecret,credentials:{clientId:e.clientId,clientSecret:e.clientSecret},scopes:["manage_project:"+e.projectKey],fetch:fetch},r={host:"https://api."+e.region+".commercetools.com",fetch:fetch};return(new s.ClientBuilder).withProjectKey(e.projectKey).withClientCredentialsFlow(t).withHttpMiddleware(r).build()}(e),r=c.createApiBuilderFromCtpClient(t).withProjectKey({projectKey:e.projectKey});return function(){var e=p(l().mark((function e(t){var n,o,a,i,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.method,o=t.variables,i=t.body,u=r,(a=t.query)&&(u=u[a]()),null!=o&&o.id&&(u=u.withId({ID:o.id})),null!=o&&o.search&&(u=u.search()),e.next=7,u[n]({body:i,queryArgs:d({expand:null==o?void 0:o.expand,limit:null==o?void 0:o.limit},null!=o&&o.sort?{sort:o.sort}:{},null!=o&&o.search?o.search:{},null!=o&&o.filters?{filter:o.filters}:{},null!=o&&o.where?{where:o.where}:{})}).execute();case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},A={fetchOptions:{query:"productProjections",method:"get"},fetcher:function(e){return p(l().mark((function t(){var r,n,o,a,i;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.options,n=e.fetch,o=e.provider,a=e.input.id){t.next=4;break}return t.abrupt("return",null);case 4:return t.next=6,n(d({},r,{variables:{id:a}}));case 6:return t.abrupt("return",(i=t.sent).body?j(i.body,o.locale):null);case 8:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){return void 0===e&&(e={}),t({input:[["id",e.id]],swrOptions:d({revalidateOnFocus:!1},e.swrOptions)})}}},D={fetchOptions:{method:"get",query:"productProjections"},fetcher:function(e){return p(l().mark((function t(){var r,n,o,a,i,u,c,s,f,p;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.options,a=e.fetch,i=e.provider,u=(n=e.input).search,c=n.categoryId,s=n.sort,f=n.count,t.next=4,a(d({},o,{variables:d({expand:["masterData.current"],sort:v(s),limit:f},u?{search:(r={},r["text."+(null==i?void 0:i.locale)]=u,r)}:{},c?{filters:'categories.id: subtree("'+c+'")'}:{})}));case 4:return t.abrupt("return",{products:(p=t.sent).body.results.map((function(e){return j(e,i.locale)})),found:p.body.count>0});case 6:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){return void 0===e&&(e={}),t({input:[["search",e.search],["categoryId",e.categoryId],["brandId",e.brandId],["sort",e.sort],["locale",e.locale],["count",e.count]],swrOptions:d({revalidateOnFocus:!1},e.swrOptions)})}}},F={fetchOptions:{query:""},fetcher:function(e){return p(l().mark((function e(){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null);case 2:case"end":return e.stop()}}),e)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:d({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return o.useMemo((function(){return Object.create(r,{isEmpty:{get:function(){var e,t;return(null!=(e=null==(t=r.data)?void 0:t.length)?e:0)<=0},enumerable:!0}})}),[r])}}},V={fetchOptions:{query:"categories",method:"get"},fetcher:function(e){return p(l().mark((function t(){var r,n,o,a,i,u;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.options,n=e.fetch,o=e.provider,a=e.input.categoryId){t.next=9;break}return t.next=5,n(d({},r));case 5:return t.abrupt("return",(i=t.sent).body?i.body.results.map((function(e){return L(e,o.locale)})):[]);case 9:return t.next=11,n(d({},r,{variables:d({},a?{id:a}:{})}));case 11:return t.abrupt("return",(u=t.sent).body?[L(u.body,o.locale)]:[]);case 13:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({input:[["categoryId",null==e?void 0:e.categoryId]],swrOptions:d({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return o.useMemo((function(){return Object.create(r,{isEmpty:{get:function(){var e,t;return(null!=(e=null==(t=r.data)?void 0:t.length)?e:0)<=0},enumerable:!0}})}),[r])}}},K=function(e,t){return n.getCommerceProvider(function(e,t){return{locale:t,cartCookie:"commercetools_cart",cart:{useCart:E,useAddItem:P,useRemoveItem:S,useUpdateItem:_},fetcher:N(e),products:{useSearch:D,useProduct:A},site:{useCategories:V,useBrands:F}}}(e,t))},M=d({name:"plasmic-commerce-commercetools-provider",displayName:"Commercetools Provider",props:{projectKey:{type:"string",defaultValue:"plasmic-demo"},clientId:{type:"string",defaultValue:"B4hmK61xvz5LvdSDtsFmcflM"},clientSecret:{type:"string",defaultValue:"KhzjcjSu1Oul4aomSmOsLZOCZKbvfHqx"},region:{type:"choice",options:["us-central1.gcp","us-east-2.aws","europe-west1.gcp","eu-central-1.aws","australia-southeast1.gcp"],defaultValue:"us-central1.gcp"}}},{globalActions:n.globalActionsRegistrations},{importPath:"@plasmicpkgs/commercetools",importName:"CommerceProviderComponent"});function G(e){var t=e.children,o=e.projectKey,i=e.clientId,u=e.clientSecret,c=e.region,s=a.useMemo((function(){return{projectKey:o,clientId:i,clientSecret:u,region:c}}),[o,i,u,c]),f=r.usePlasmicQueryData(JSON.stringify({creds:s})+"locale",p(l().mark((function e(){var t,r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=N(s),e.next=3,t({method:"get"});case 3:return e.abrupt("return",(r=e.sent).body?r.body.languages[0]:void 0);case 5:case"end":return e.stop()}}),e)})))),d=f.data,v=f.error,h=f.isLoading,m=a.useMemo((function(){return K(s,null!=d?d:"")}),[s,d]);if(h)return null;if(v||!d)throw new Error(v?v.message:"Project language not found");return a.createElement(m,null,a.createElement(n.CartActionsProvider,{globalContextName:"plasmic-commerce-commercetools-provider"},t))}function H(e,r){!function(){e?e.registerGlobalContext.apply(e,arguments):t.apply(void 0,arguments)}(G,null!=r?r:M)}exports.CommerceProviderComponent=G,exports.commerceProviderMeta=M,exports.getCommerceProvider=K,exports.registerAll=function(e){H(e)},exports.registerCommerceProvider=H,exports.useCommerce=function(){return n.useCommerce()};
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("@plasmicapp/host/registerGlobalContext")),r=require("@plasmicapp/query"),n=require("@plasmicpkgs/commerce"),o=require("react"),a=e(o),i=e(require("js-cookie")),u=e(require("debounce")),c=require("@commercetools/platform-sdk"),s=require("@commercetools/sdk-client-v2");function l(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function f(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){l(a,n,o,i,u,"next",e)}function u(e){l(a,n,o,i,u,"throw",e)}i(void 0)}))}}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function d(){d=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=Object.create((t&&t.prototype instanceof y?t:y).prototype),i=new P(n||[]);return o(a,"_invoke",{value:j(e,r,i)}),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var p="suspendedStart",v="executing",h="completed",m={};function y(){}function b(){}function g(){}var w={};s(w,i,(function(){return this}));var x=Object.getPrototypeOf,k=x&&x(x(S([])));k&&k!==r&&n.call(k,i)&&(w=k);var O=g.prototype=y.prototype=Object.create(w);function I(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function q(e,t){function r(o,a,i,u){var c=f(e[o],e,a);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,i,u)}),(function(e){r("throw",e,i,u)})):t.resolve(l).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,u)}))}u(c.arg)}var a;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return a=a?a.then(o,o):o()}})}function j(t,r,n){var o=p;return function(a,i){if(o===v)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var u=n.delegate;if(u){var c=C(u,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var s=f(t,r,n);if("normal"===s.type){if(o=n.done?h:"suspendedYield",s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=h,n.method="throw",n.arg=s.arg)}}}function C(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,C(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var a=f(o,t.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,m;var i=a.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,m):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function L(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function S(t){if(t||""===t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(typeof t+" is not iterable")}return b.prototype=g,o(O,"constructor",{value:g,configurable:!0}),o(g,"constructor",{value:b,configurable:!0}),b.displayName=s(g,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,s(e,c,"GeneratorFunction")),e.prototype=Object.create(O),e},t.awrap=function(e){return{__await:e}},I(q.prototype),s(q.prototype,u,(function(){return this})),t.AsyncIterator=q,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new q(l(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},I(O),s(O,c,"Generator"),s(O,i,(function(){return this})),s(O,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=S,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return u.type="throw",u.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],u=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:S(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),m}},t}var v=function(e,t){var r=void 0;switch(e){case"price-asc":r="price asc";break;case"price-desc":r="price desc";break;case"trending-desc":r=void 0;break;case"latest-desc":r="createdAt desc"}return r},h={expires:30,sameSite:"none",secure:!0},m=function(e){return i.set("commercetools_cart",JSON.stringify(e),h)},y=function(){return i.remove("commercetools_cart")},b=function(){var e=f(d().mark((function e(t){var r,n;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={currency:"USD",country:"US"},e.next=3,t({query:"carts",method:"post",body:r});case 3:return(n=e.sent).body?m(n.body.id):y(),e.abrupt("return",n.body);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),g=function(){var e=f(d().mark((function e(t){var r,n;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=(o=i.get("commercetools_cart"))?JSON.parse(o):void 0)){e.next=7;break}return e.next=4,t({query:"carts",method:"get",variables:{id:r}});case 4:n=e.sent.body,e.next=10;break;case 7:return e.next=9,b(t);case 9:n=e.sent;case 10:return n?m(n.id):y(),e.abrupt("return",n);case 12:case"end":return e.stop()}var o}),e)})));return function(t){return e.apply(this,arguments)}}(),w=function(e,t){return e&&t?t in e?e[t]:Object.values(e)[0]:void 0},x=function(e){return e.filter((function(e){return null!=e}))},k=function(e){return"string"==typeof e?e:JSON.stringify(e)},O=function(e){return e?{value:e.centAmount/100,currencyCode:e.currencyCode}:{value:-1,currencyCode:"USD"}},I=function(e){return{__typename:"MultipleChoiceOption",id:e.name,displayName:e.name,values:(t=Array.isArray(e.value)?e.value:[e.value],[].concat(new Set(t))).map((function(t){return e.name.match(/colou?r/gi)&&/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i.test(t)?{label:k(t),hexColors:[t]}:{label:k(t)}}))};var t},q=function(e){var t,r,n,o,a,i,u=O(null!=(t=null==(r=e.prices)||null==(r=r.find((function(e){return"USD"===e.value.currencyCode})))?void 0:r.value)?t:null==(n=e.prices)||null==(n=n[0])?void 0:n.value).value;return{id:""+e.id,name:""+e.id,sku:null!=(o=e.sku)?o:"",price:u,options:null!=(a=null==(i=e.attributes)?void 0:i.map((function(e){return I({name:e.name,value:e.value.key})})))?a:[],requiresShipping:!1,listPrice:u}},j=function(e,t){var r,n,o,a,i,u;return{id:e.id,name:null!=(r=w(e.name,t))?r:"",slug:w(e.slug,t),path:"/"+w(e.slug,t),description:null!=(n=w(e.description,t))?n:"",price:O(null!=(o=null==(a=e.masterVariant.prices)||null==(a=a.find((function(e){return"USD"===e.value.currencyCode})))?void 0:a.value)?o:null==(i=e.masterVariant.prices)||null==(i=i[0])?void 0:i.value),images:(u=x([].concat(e.masterVariant.images?e.masterVariant.images:[],e.variants.flatMap((function(e){return e.images})))),u.map((function(e){return p({url:e.url},e.label?{alt:e.label}:{},{width:e.dimensions.w,height:e.dimensions.h})}))),variants:[e.masterVariant].concat(e.variants).map(q),options:x([].concat(e.masterVariant.attributes?e.masterVariant.attributes:[],e.variants.flatMap((function(e){return e.attributes})))).reduce((function(e,t){var r=e.find((function(e){return e.name===t.name}));return r?r.value.push(k(t.value.key)):e.push({name:t.name,value:[k(t.value.key)]}),e}),[]).map(I)}},C=function(e,t){return{id:e.id,customerId:e.customerId,email:e.customerEmail,createdAt:e.createdAt,currency:{code:"USD"},taxesIncluded:"Disabled"!==e.taxMode,lineItems:e.lineItems.map((function(e){return function(e,t){var r,n,o;return{id:e.id,variantId:""+e.variant.id,productId:e.productId,name:null!=(r=w(e.name,t))?r:"",path:"",quantity:e.quantity,discounts:[],variant:q(e.variant),options:null!=(n=null==(o=e.variant.attributes)?void 0:o.map((function(e){return{id:e.name,name:e.name,value:e.value.key}})))?n:[]}}(e,t)})),lineItemsSubtotalPrice:0,subtotalPrice:O(e.totalPrice).value,totalPrice:O(e.totalPrice).value,discounts:[]}},L=function(e,t){var r,n;return{id:e.id,name:null!=(r=w(e.name,t))?r:"",slug:null!=(n=w(e.slug,t))?n:"",path:"/"+w(e.slug,t)}},E={fetchOptions:{query:"cart",method:"get"},fetcher:function(e){return f(d().mark((function t(){var r,n,o;return d().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.fetch,n=e.provider,t.next=3,g(r);case 3:return t.abrupt("return",(o=t.sent)?C(o,n.locale):null);case 5:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:p({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return o.useMemo((function(){return Object.create(r,{isEmpty:{get:function(){var e,t;return(null!=(e=null==(t=r.data)?void 0:t.lineItems.length)?e:0)<=0},enumerable:!0}})}),[r])}}},P={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return f(d().mark((function t(){var r,n,o,a,i,u;return d().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.input,o=e.fetch,a=e.provider,t.next=3,g(o);case 3:if(i=t.sent,(!n.quantity||Number.isInteger(n.quantity)&&!(n.quantity<1))&&i){t.next=6;break}return t.abrupt("return",void 0);case 6:return t.next=8,o({query:"carts",method:"post",variables:{id:i.id},body:{version:i.version,actions:[{action:"addLineItem",variantId:+n.variantId,productId:n.productId,quantity:null!=(r=n.quantity)?r:1}]}});case 8:return(u=t.sent).body?m(u.body.id):y(),t.abrupt("return",u.body?C(u.body,a.locale):void 0);case 11:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.fetch;return function(){var e=n.useCart().mutate;return o.useCallback(function(){var r=f(d().mark((function r(n){var o;return d().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,t({input:n});case 2:return o=r.sent,r.next=5,e(o,!1);case 5:return r.abrupt("return",o);case 6:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),[t,e])}}},S={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return f(d().mark((function t(){var r,n,o,a,i;return d().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.input.itemId,n=e.fetch,o=e.provider,t.next=3,g(n);case 3:if(a=t.sent,r&&a){t.next=6;break}return t.abrupt("return",void 0);case 6:return t.next=8,n({query:"carts",method:"post",variables:{id:a.id},body:{version:a.version,actions:[{action:"removeLineItem",lineItemId:r}]}});case 8:return(i=t.sent).body?m(i.body.id):y(),t.abrupt("return",C(i.body,o.locale));case 11:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.fetch;return function(e){void 0===e&&(e={});var r=e.item,a=n.useCart().mutate;return o.useCallback(function(){var e=f(d().mark((function e(o){var i,u,c;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u=null!=(i=null==o?void 0:o.id)?i:null==r?void 0:r.id){e.next=3;break}throw new n.ValidationError({message:"Invalid input used for this operation"});case 3:return e.next=5,t({input:{itemId:u}});case 5:return c=e.sent,e.next=8,a(c,!1);case 8:return e.abrupt("return",c);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[t,a])}}},_={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return f(d().mark((function t(){var r,o,a,i,u,c,s,l;return d().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=(o=e.input).item,i=o.itemId,u=e.fetch,c=e.provider,!Number.isInteger(a.quantity)){t.next=6;break}if(!(a.quantity<1)){t.next=4;break}return t.abrupt("return",null==S.fetcher?void 0:S.fetcher({options:S.fetchOptions,input:{itemId:i},fetch:u,provider:c}));case 4:t.next=8;break;case 6:if(!a.quantity){t.next=8;break}throw new n.ValidationError({message:"The item quantity has to be a valid integer"});case 8:return t.next=10,g(u);case 10:if(s=t.sent,(!a.quantity||Number.isInteger(a.quantity)&&!(a.quantity<1))&&s){t.next=13;break}return t.abrupt("return",void 0);case 13:return t.next=15,u({query:"carts",method:"post",variables:{id:s.id},body:{version:s.version,actions:[{action:"changeLineItemQuantity",lineItemId:i,quantity:null!=(r=a.quantity)?r:1}]}});case 15:return(l=t.sent).body?m(l.body.id):y(),t.abrupt("return",l.body?C(l.body,c.locale):void 0);case 18:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.fetch;return function(e){var r;void 0===e&&(e={});var a=e.item,i=n.useCart().mutate;return o.useCallback(u(function(){var e=f(d().mark((function e(r){var o,u,c;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((u=null!=(o=r.id)?o:null==a?void 0:a.id)&&null!=r.quantity){e.next=3;break}throw new n.ValidationError({message:"Invalid input used for this operation"});case 3:return e.next=5,t({input:{item:{quantity:r.quantity},itemId:u}});case 5:return c=e.sent,e.next=8,i(c,!1);case 8:return e.abrupt("return",c);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),null!=(r=e.wait)?r:500),[t,i])}}},N=function(e){var t=function(e){var t={host:"https://auth."+e.region+".commercetools.com",projectKey:e.clientSecret,credentials:{clientId:e.clientId,clientSecret:e.clientSecret},scopes:["manage_project:"+e.projectKey],fetch:fetch},r={host:"https://api."+e.region+".commercetools.com",fetch:fetch};return(new s.ClientBuilder).withProjectKey(e.projectKey).withClientCredentialsFlow(t).withHttpMiddleware(r).build()}(e),r=c.createApiBuilderFromCtpClient(t).withProjectKey({projectKey:e.projectKey});return function(){var e=f(d().mark((function e(t){var n,o,a,i,u;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.method,o=t.variables,i=t.body,u=r,(a=t.query)&&(u=u[a]()),null!=o&&o.id&&(u=u.withId({ID:o.id})),null!=o&&o.search&&(u=u.search()),e.next=7,u[n]({body:i,queryArgs:p({expand:null==o?void 0:o.expand,limit:null==o?void 0:o.limit},null!=o&&o.sort?{sort:o.sort}:{},null!=o&&o.search?o.search:{},null!=o&&o.filters?{filter:o.filters}:{},null!=o&&o.where?{where:o.where}:{})}).execute();case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},A={fetchOptions:{query:"productProjections",method:"get"},fetcher:function(e){return f(d().mark((function t(){var r,n,o,a,i;return d().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.options,n=e.fetch,o=e.provider,a=e.input.id){t.next=4;break}return t.abrupt("return",null);case 4:return t.next=6,n(p({},r,{variables:{id:a}}));case 6:return t.abrupt("return",(i=t.sent).body?j(i.body,o.locale):null);case 8:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){return void 0===e&&(e={}),t({input:[["id",e.id]],swrOptions:p({revalidateOnFocus:!1},e.swrOptions)})}}},D={fetchOptions:{method:"get",query:"productProjections"},fetcher:function(e){return f(d().mark((function t(){var r,n,o,a,i,u,c,s,l,f;return d().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.options,a=e.fetch,i=e.provider,u=(n=e.input).search,c=n.categoryId,s=n.sort,l=n.count,t.next=4,a(p({},o,{variables:p({expand:["masterData.current"],sort:v(s),limit:l},u?{search:(r={},r["text."+(null==i?void 0:i.locale)]=u,r)}:{},c?{filters:'categories.id: subtree("'+c+'")'}:{})}));case 4:return t.abrupt("return",{products:(f=t.sent).body.results.map((function(e){return j(e,i.locale)})),found:f.body.count>0});case 6:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){return void 0===e&&(e={}),t({input:[["search",e.search],["categoryId",e.categoryId],["brandId",e.brandId],["sort",e.sort],["locale",e.locale],["count",e.count]],swrOptions:p({revalidateOnFocus:!1},e.swrOptions)})}}},F={fetchOptions:{query:""},fetcher:function(e){return f(d().mark((function e(){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null);case 2:case"end":return e.stop()}}),e)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:p({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return o.useMemo((function(){return Object.create(r,{isEmpty:{get:function(){var e,t;return(null!=(e=null==(t=r.data)?void 0:t.length)?e:0)<=0},enumerable:!0}})}),[r])}}},V={fetchOptions:{query:"categories",method:"get"},fetcher:function(e){return f(d().mark((function t(){var r,n,o,a,i,u;return d().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.options,n=e.fetch,o=e.provider,a=e.input.categoryId){t.next=9;break}return t.next=5,n(p({},r));case 5:return t.abrupt("return",(i=t.sent).body?i.body.results.map((function(e){return L(e,o.locale)})):[]);case 9:return t.next=11,n(p({},r,{variables:p({},a?{id:a}:{})}));case 11:return t.abrupt("return",(u=t.sent).body?[L(u.body,o.locale)]:[]);case 13:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({input:[["categoryId",null==e?void 0:e.categoryId]],swrOptions:p({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return o.useMemo((function(){return Object.create(r,{isEmpty:{get:function(){var e,t;return(null!=(e=null==(t=r.data)?void 0:t.length)?e:0)<=0},enumerable:!0}})}),[r])}}},K=function(e,t){return n.getCommerceProvider(function(e,t){return{locale:t,cartCookie:"commercetools_cart",cart:{useCart:E,useAddItem:P,useRemoveItem:S,useUpdateItem:_},fetcher:N(e),products:{useSearch:D,useProduct:A},site:{useCategories:V,useBrands:F}}}(e,t))},M=p({name:"plasmic-commerce-commercetools-provider",displayName:"Commercetools Provider",props:{projectKey:{type:"string",defaultValue:"plasmic-demo"},clientId:{type:"string",defaultValue:"B4hmK61xvz5LvdSDtsFmcflM"},clientSecret:{type:"string",defaultValue:"KhzjcjSu1Oul4aomSmOsLZOCZKbvfHqx"},region:{type:"choice",options:["us-central1.gcp","us-east-2.aws","europe-west1.gcp","eu-central-1.aws","australia-southeast1.gcp"],defaultValue:"us-central1.gcp"}}},{globalActions:n.globalActionsRegistrations},{importPath:"@plasmicpkgs/commercetools",importName:"CommerceProviderComponent"});function G(e){var t=e.children,o=e.projectKey,i=e.clientId,u=e.clientSecret,c=e.region,s=a.useMemo((function(){return{projectKey:o,clientId:i,clientSecret:u,region:c}}),[o,i,u,c]),l=r.usePlasmicQueryData(JSON.stringify({creds:s})+"locale",f(d().mark((function e(){var t,r;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=N(s),e.next=3,t({method:"get"});case 3:return e.abrupt("return",(r=e.sent).body?r.body.languages[0]:void 0);case 5:case"end":return e.stop()}}),e)})))),p=l.data,v=l.error,h=l.isLoading,m=a.useMemo((function(){return K(s,null!=p?p:"")}),[s,p]);if(h)return null;if(v||!p)throw new Error(v?v.message:"Project language not found");return a.createElement(m,null,a.createElement(n.CartActionsProvider,{globalContextName:"plasmic-commerce-commercetools-provider"},t))}function H(e,r){!function(){e?e.registerGlobalContext.apply(e,arguments):t.apply(void 0,arguments)}(G,null!=r?r:M)}exports.CommerceProviderComponent=G,exports.commerceProviderMeta=M,exports.getCommerceProvider=K,exports.registerAll=function(e){H(e)},exports.registerCommerceProvider=H,exports.useCommerce=function(){return n.useCommerce()};
|
|
2
2
|
//# sourceMappingURL=commerce-commercetools.cjs.production.min.js.map
|