@plasmicpkgs/commerce-commercetools 0.0.197 → 0.0.199

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.
Files changed (37) hide show
  1. package/dist/cart/index.d.ts +2 -2
  2. package/dist/cart/use-add-item.d.ts +5 -5
  3. package/dist/cart/use-cart.d.ts +5 -5
  4. package/dist/cart/use-remove-item.d.ts +11 -11
  5. package/dist/cart/use-update-item.d.ts +11 -11
  6. package/dist/client.d.ts +3 -3
  7. package/dist/commerce-commercetools.cjs.development.js +8 -7
  8. package/dist/commerce-commercetools.cjs.development.js.map +1 -1
  9. package/dist/commerce-commercetools.cjs.production.min.js +1 -1
  10. package/dist/commerce-commercetools.cjs.production.min.js.map +1 -1
  11. package/dist/commerce-commercetools.esm.js +8 -7
  12. package/dist/commerce-commercetools.esm.js.map +1 -1
  13. package/dist/commercetools.d.ts +5 -5
  14. package/dist/const.d.ts +4 -4
  15. package/dist/fetcher.d.ts +3 -3
  16. package/dist/index.d.ts +5 -5
  17. package/dist/product/use-product.d.ts +8 -8
  18. package/dist/product/use-search.d.ts +12 -12
  19. package/dist/provider.d.ts +49 -49
  20. package/dist/registerCommerceProvider.d.ts +11 -11
  21. package/dist/registerable.d.ts +6 -6
  22. package/dist/site/use-brands.d.ts +5 -5
  23. package/dist/site/use-categories.d.ts +5 -5
  24. package/dist/types/cart.d.ts +24 -24
  25. package/dist/types/index.d.ts +4 -4
  26. package/dist/types/product.d.ts +14 -14
  27. package/dist/types/site.d.ts +7 -7
  28. package/dist/utils/cart-active.d.ts +4 -4
  29. package/dist/utils/cart-cookie.d.ts +3 -3
  30. package/dist/utils/cart-create.d.ts +4 -4
  31. package/dist/utils/common.d.ts +2 -2
  32. package/dist/utils/cookies.d.ts +3 -3
  33. package/dist/utils/get-sort-variables.d.ts +2 -2
  34. package/dist/utils/index.d.ts +7 -7
  35. package/dist/utils/localized-string.d.ts +2 -2
  36. package/dist/utils/normalize.d.ts +21 -21
  37. package/package.json +8 -8
@@ -1,2 +1,2 @@
1
- export { default as useCart } from './use-cart';
2
- export { default as useAddItem } from './use-add-item';
1
+ export { default as useCart } from './use-cart';
2
+ export { default as useAddItem } from './use-add-item';
@@ -1,5 +1,5 @@
1
- import type { MutationHook } from "@plasmicpkgs/commerce";
2
- import type { AddItemHook } from "../types/cart";
3
- declare const _default: () => (input: import("@plasmicpkgs/commerce/dist/types/cart").CartItemBody) => import("@plasmicpkgs/commerce/dist/types/cart").Cart | Promise<import("@plasmicpkgs/commerce/dist/types/cart").Cart | undefined> | undefined;
4
- export default _default;
5
- export declare const handler: MutationHook<AddItemHook>;
1
+ import type { MutationHook } from "@plasmicpkgs/commerce";
2
+ import type { AddItemHook } from "../types/cart";
3
+ declare const _default: () => (input: import("@plasmicpkgs/commerce/dist/types/cart").CartItemBody) => import("@plasmicpkgs/commerce/dist/types/cart").Cart | Promise<import("@plasmicpkgs/commerce/dist/types/cart").Cart | undefined> | undefined;
4
+ export default _default;
5
+ export declare const handler: MutationHook<AddItemHook>;
@@ -1,5 +1,5 @@
1
- import { SWRHook } from '@plasmicpkgs/commerce';
2
- import { GetCartHook } from '../types/cart';
3
- declare const _default;
4
- export default _default;
5
- export declare const handler: SWRHook<GetCartHook>;
1
+ import { SWRHook, UseCart } from "@plasmicpkgs/commerce";
2
+ import { GetCartHook } from "../types/cart";
3
+ declare const _default: UseCart<typeof handler>;
4
+ export default _default;
5
+ export declare const handler: SWRHook<GetCartHook>;
@@ -1,11 +1,11 @@
1
- import type { MutationHook } from "@plasmicpkgs/commerce";
2
- import type { Cart, LineItem, RemoveItemHook } from "../types/cart";
3
- export declare type RemoveItemFn<T = any> = T extends LineItem ? (input?: RemoveItemActionInput<T>) => Promise<Cart | null | undefined> : (input: RemoveItemActionInput<T>) => Promise<Cart | null>;
4
- export declare type RemoveItemActionInput<T = any> = T extends LineItem ? Partial<RemoveItemHook["actionInput"]> : RemoveItemHook["actionInput"];
5
- declare const _default: (input?: {
6
- item?: import("@plasmicpkgs/commerce/dist/types/cart").LineItem | undefined;
7
- } | undefined) => (input: {
8
- id: string;
9
- }) => import("@plasmicpkgs/commerce/dist/types/cart").Cart | Promise<import("@plasmicpkgs/commerce/dist/types/cart").Cart | null | undefined> | null | undefined;
10
- export default _default;
11
- export declare const handler: MutationHook<RemoveItemHook>;
1
+ import type { MutationHook } from "@plasmicpkgs/commerce";
2
+ import type { Cart, LineItem, RemoveItemHook } from "../types/cart";
3
+ export type RemoveItemFn<T = any> = T extends LineItem ? (input?: RemoveItemActionInput<T>) => Promise<Cart | null | undefined> : (input: RemoveItemActionInput<T>) => Promise<Cart | null>;
4
+ export type RemoveItemActionInput<T = any> = T extends LineItem ? Partial<RemoveItemHook["actionInput"]> : RemoveItemHook["actionInput"];
5
+ declare const _default: (input?: {
6
+ item?: import("@plasmicpkgs/commerce/dist/types/cart").LineItem | undefined;
7
+ } | undefined) => (input: {
8
+ id: string;
9
+ }) => import("@plasmicpkgs/commerce/dist/types/cart").Cart | Promise<import("@plasmicpkgs/commerce/dist/types/cart").Cart | null | undefined> | null | undefined;
10
+ export default _default;
11
+ export declare const handler: MutationHook<RemoveItemHook>;
@@ -1,11 +1,11 @@
1
- import type { MutationHook } from "@plasmicpkgs/commerce";
2
- import type { LineItem, UpdateItemHook } from "../types/cart";
3
- export declare type UpdateItemActionInput<T = any> = T extends LineItem ? Partial<UpdateItemHook["actionInput"]> : UpdateItemHook["actionInput"];
4
- declare const _default: (input?: {
5
- item?: import("@plasmicpkgs/commerce/dist/types/cart").LineItem | undefined;
6
- wait?: number | undefined;
7
- } | undefined) => (input: Partial<import("@plasmicpkgs/commerce/dist/types/cart").CartItemBody> & {
8
- id: string;
9
- }) => import("@plasmicpkgs/commerce/dist/types/cart").Cart | Promise<import("@plasmicpkgs/commerce/dist/types/cart").Cart | null | undefined> | null | undefined;
10
- export default _default;
11
- export declare const handler: MutationHook<UpdateItemHook>;
1
+ import type { MutationHook } from "@plasmicpkgs/commerce";
2
+ import type { LineItem, UpdateItemHook } from "../types/cart";
3
+ export type UpdateItemActionInput<T = any> = T extends LineItem ? Partial<UpdateItemHook["actionInput"]> : UpdateItemHook["actionInput"];
4
+ declare const _default: (input?: {
5
+ item?: import("@plasmicpkgs/commerce/dist/types/cart").LineItem | undefined;
6
+ wait?: number | undefined;
7
+ } | undefined) => (input: Partial<import("@plasmicpkgs/commerce/dist/types/cart").CartItemBody> & {
8
+ id: string;
9
+ }) => import("@plasmicpkgs/commerce/dist/types/cart").Cart | Promise<import("@plasmicpkgs/commerce/dist/types/cart").Cart | null | undefined> | null | undefined;
10
+ export default _default;
11
+ export declare const handler: MutationHook<UpdateItemHook>;
package/dist/client.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { CommercetoolsCredentials } from './provider';
2
- declare const initCommercetoolsSDKClient: (creds: CommercetoolsCredentials) => import("@commercetools/sdk-client-v2").Client;
3
- export default initCommercetoolsSDKClient;
1
+ import { CommercetoolsCredentials } from './provider';
2
+ declare const initCommercetoolsSDKClient: (creds: CommercetoolsCredentials) => import("@commercetools/sdk-client-v2").Client;
3
+ export default initCommercetoolsSDKClient;
@@ -440,6 +440,7 @@ var normalizeCategory = function normalizeCategory(category, locale) {
440
440
  };
441
441
  };
442
442
 
443
+ var _default = commerce.useCart;
443
444
  var handler = {
444
445
  fetchOptions: {
445
446
  query: "cart",
@@ -539,7 +540,7 @@ var handler$1 = {
539
540
  useHook: function useHook(_ref2) {
540
541
  var fetch = _ref2.fetch;
541
542
  return function () {
542
- var _useCart = commerce.useCart(),
543
+ var _useCart = _default(),
543
544
  mutate = _useCart.mutate;
544
545
  return React.useCallback(/*#__PURE__*/function () {
545
546
  var _addItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(input) {
@@ -626,7 +627,7 @@ var handler$2 = {
626
627
  }
627
628
  var _ctx = ctx,
628
629
  item = _ctx.item;
629
- var _useCart = commerce.useCart(),
630
+ var _useCart = _default(),
630
631
  mutate = _useCart.mutate;
631
632
  var removeItem = /*#__PURE__*/function () {
632
633
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(input) {
@@ -756,7 +757,7 @@ var handler$3 = {
756
757
  }
757
758
  var _ctx = ctx,
758
759
  item = _ctx.item;
759
- var _useCart = commerce.useCart(),
760
+ var _useCart = _default(),
760
761
  mutate = _useCart.mutate;
761
762
  return React.useCallback(debounce(/*#__PURE__*/function () {
762
763
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(input) {
@@ -910,7 +911,7 @@ var handler$4 = {
910
911
  input = {};
911
912
  }
912
913
  return useData({
913
- input: [['id', input.id]],
914
+ input: [["id", input.id]],
914
915
  swrOptions: _extends({
915
916
  revalidateOnFocus: false
916
917
  }, input.swrOptions)
@@ -979,7 +980,7 @@ var handler$6 = {
979
980
  fetchOptions: {
980
981
  query: ""
981
982
  },
982
- fetcher: function fetcher(_ref) {
983
+ fetcher: function fetcher() {
983
984
  return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
984
985
  return _regenerator().w(function (_context) {
985
986
  while (1) switch (_context.n) {
@@ -989,8 +990,8 @@ var handler$6 = {
989
990
  }, _callee);
990
991
  }))();
991
992
  },
992
- useHook: function useHook(_ref2) {
993
- var useData = _ref2.useData;
993
+ useHook: function useHook(_ref) {
994
+ var useData = _ref.useData;
994
995
  return function (input) {
995
996
  var response = useData({
996
997
  swrOptions: _extends({
@@ -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","_regenerator","m","_callee","fetch","draft","cart","w","_context","n","currency","country","query","method","body","v","a","_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","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","_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 {\n SWRHook,\n UseCart,\n useCart as useCommerceCart,\n} from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { GetCartHook } from \"../types/cart\";\nimport { getActiveCart, normalizeCart } from \"../utils\";\n\nconst _default: UseCart<typeof handler> = useCommerceCart as UseCart<\n typeof handler\n>;\nexport default _default;\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"get\",\n },\n async fetcher({ 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 { ClientResponse, ProductProjection } from \"@commercetools/platform-sdk\";\nimport type { GetProductHook } from \"@plasmicpkgs/commerce\";\nimport { SWRHook, useProduct, UseProduct } from \"@plasmicpkgs/commerce\";\nimport { normalizeProduct } from \"../utils\";\n\nexport type GetProductInput = {\n id?: string;\n};\n\nconst _default: UseProduct<typeof handler> = useProduct as UseProduct<\n typeof handler\n>;\nexport default _default;\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: [[\"id\", input.id]],\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, UseBrands, useBrands } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { GetBrandsHook } from \"../types/site\";\n\nconst _default: UseBrands<typeof handler> = useBrands as UseBrands<\n typeof handler\n>;\nexport default _default;\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: \"\",\n },\n async fetcher() {\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 {\n Category,\n CategoryPagedQueryResponse,\n ClientResponse,\n} from \"@commercetools/platform-sdk\";\nimport { SWRHook, UseCategories, useCategories } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { GetCategoriesHook } from \"../types/site\";\nimport { normalizeCategory } from \"../utils\";\n\nconst _default: UseCategories<typeof handler> = useCategories as UseCategories<\n typeof handler\n>;\nexport default _default;\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<\n ClientResponse<CategoryPagedQueryResponse>\n >({\n ...options,\n });\n return categories.body\n ? categories.body.results.map((category) =>\n normalizeCategory(category, provider!.locale)\n )\n : [];\n } else {\n const category = await fetch<ClientResponse<Category>>({\n ...options,\n variables: {\n ...(categoryId ? { id: categoryId } : {}),\n },\n });\n return category.body\n ? [normalizeCategory(category.body, provider!.locale)]\n : [];\n }\n },\n useHook:\n ({ useData }) =>\n (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","_regenerator","m","_callee","fetch","draft","cart","w","_context","n","currency","country","query","method","body","v","a","_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","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","_default","useCommerceCart","handler","fetchOptions","fetcher","provider","useHook","_ref2","useData","input","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","_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,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"),i=e(o),u=e(require("js-cookie")),a=e(require("debounce")),c=require("@commercetools/platform-sdk"),s=require("@commercetools/sdk-client-v2");function l(e,t,r,n,o,i,u){try{var a=e[i](u),c=a.value}catch(e){return void r(e)}a.done?t(c):Promise.resolve(c).then(n,o)}function d(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function u(e){l(i,n,o,u,a,"next",e)}function a(e){l(i,n,o,u,a,"throw",e)}u(void 0)}))}}function f(){return(f=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 p(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=Object.create((n&&n.prototype instanceof a?n:a).prototype);return v(c,"_invoke",function(r,n,o){var i,a,c,s=0,l=o||[],d=!1,f={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,a=0,c=e,f.n=r,u}};function p(r,n){for(a=r,c=n,t=0;!d&&s&&!o&&t<l.length;t++){var o,i=l[t],p=f.p,v=i[2];r>3?(o=v===n)&&(c=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(a=0,f.v=n,f.n=i[1]):p<v&&(o=r<3||i[0]>n||n>v)&&(i[4]=r,i[5]=n,f.n=v,a=0))}if(o||r>1)return u;throw d=!0,n}return function(o,l,v){if(s>1)throw TypeError("Generator is already running");for(d&&1===l&&p(l,v),a=l,c=v;(t=a<2?e:c)||!d;){i||(a?a<3?(a>1&&(f.n=-1),p(a,c)):f.n=c:f.v=c);try{if(s=2,i){if(a||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,a<2&&(a=0)}else 1===a&&(t=i.return)&&t.call(i),a<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((t=(d=f.n<0)?c:r.call(n,f))!==u)break}catch(t){i=e,a=1,c=t}finally{s=1}}return{value:t,done:d}}}(r,o,i),!0),c}var u={};function a(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(v(t={},n,(function(){return this})),t),d=s.prototype=a.prototype=Object.create(l);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,v(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=s,v(d,"constructor",s),v(s,"constructor",c),c.displayName="GeneratorFunction",v(s,o,"GeneratorFunction"),v(d),v(d,o,"Generator"),v(d,n,(function(){return this})),v(d,"toString",(function(){return"[object Generator]"})),(p=function(){return{w:i,m:f}})()}function v(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}(v=function(e,t,r,n){function i(t,r){v(e,t,(function(e){return this._invoke(t,r,e)}))}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))})(e,t,r,n)}var m=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},y={expires:30,sameSite:"none",secure:!0},h=function(e){return u.set("commercetools_cart",JSON.stringify(e),y)},b=function(){return u.remove("commercetools_cart")},g=function(){var e=d(p().m((function e(t){var r,n;return p().w((function(e){for(;;)switch(e.n){case 0:return r={currency:"USD",country:"US"},e.n=1,t({query:"carts",method:"post",body:r});case 1:return(n=e.v).body?h(n.body.id):b(),e.a(2,n.body)}}),e)})));return function(t){return e.apply(this,arguments)}}(),w=function(){var e=d(p().m((function e(t){var r,n;return p().w((function(e){for(;;)switch(e.n){case 0:if(!(r=(o=u.get("commercetools_cart"))?JSON.parse(o):void 0)){e.n=2;break}return e.n=1,t({query:"carts",method:"get",variables:{id:r}});case 1:n=e.v.body,e.n=4;break;case 2:return e.n=3,g(t);case 3:n=e.v;case 4:return n?h(n.id):b(),e.a(2,n)}var o}),e)})));return function(t){return e.apply(this,arguments)}}(),O=function(e,t){return e&&t?t in e?e[t]:Object.values(e)[0]:void 0},I=function(e){return e.filter((function(e){return null!=e}))},q=function(e){return"string"==typeof e?e:JSON.stringify(e)},k=function(e){return e?{value:e.centAmount/100,currencyCode:e.currencyCode}:{value:-1,currencyCode:"USD"}},C=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:q(t),hexColors:[t]}:{label:q(t)}}))};var t},j=function(e){var t,r,n,o,i,u,a=k(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:a,options:null!=(i=null==(u=e.attributes)?void 0:u.map((function(e){return C({name:e.name,value:e.value.key})})))?i:[],requiresShipping:!1,listPrice:a}},P=function(e,t){var r,n,o,i,u,a;return{id:e.id,name:null!=(r=O(e.name,t))?r:"",slug:O(e.slug,t),path:"/"+O(e.slug,t),description:null!=(n=O(e.description,t))?n:"",price:k(null!=(o=null==(i=e.masterVariant.prices)||null==(i=i.find((function(e){return"USD"===e.value.currencyCode})))?void 0:i.value)?o:null==(u=e.masterVariant.prices)||null==(u=u[0])?void 0:u.value),images:(a=I([].concat(e.masterVariant.images?e.masterVariant.images:[],e.variants.flatMap((function(e){return e.images})))),a.map((function(e){return f({url:e.url},e.label?{alt:e.label}:{},{width:e.dimensions.w,height:e.dimensions.h})}))),variants:[e.masterVariant].concat(e.variants).map(j),options:I([].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(q(t.value.key)):e.push({name:t.name,value:[q(t.value.key)]}),e}),[]).map(C)}},S=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=O(e.name,t))?r:"",path:"",quantity:e.quantity,discounts:[],variant:j(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:k(e.totalPrice).value,totalPrice:k(e.totalPrice).value,discounts:[]}},x=function(e,t){var r,n;return{id:e.id,name:null!=(r=O(e.name,t))?r:"",slug:null!=(n=O(e.slug,t))?n:"",path:"/"+O(e.slug,t)}},A={fetchOptions:{query:"cart",method:"get"},fetcher:function(e){return d(p().m((function t(){var r,n,o;return p().w((function(t){for(;;)switch(t.n){case 0:return r=e.fetch,n=e.provider,t.n=1,w(r);case 1:return t.a(2,(o=t.v)?S(o,n.locale):null)}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:f({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])}}},D={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return d(p().m((function t(){var r,n,o,i,u,a;return p().w((function(t){for(;;)switch(t.n){case 0:return n=e.input,o=e.fetch,i=e.provider,t.n=1,w(o);case 1:if(u=t.v,(!n.quantity||Number.isInteger(n.quantity)&&!(n.quantity<1))&&u){t.n=2;break}return t.a(2,void 0);case 2:return t.n=3,o({query:"carts",method:"post",variables:{id:u.id},body:{version:u.version,actions:[{action:"addLineItem",variantId:+n.variantId,productId:n.productId,quantity:null!=(r=n.quantity)?r:1}]}});case 3:return(a=t.v).body?h(a.body.id):b(),t.a(2,a.body?S(a.body,i.locale):void 0)}}),t)})))()},useHook:function(e){var t=e.fetch;return function(){var e=n.useCart().mutate;return o.useCallback(function(){var r=d(p().m((function r(n){var o;return p().w((function(r){for(;;)switch(r.n){case 0:return r.n=1,t({input:n});case 1:return o=r.v,r.n=2,e(o,!1);case 2:return r.a(2,o)}}),r)})));return function(e){return r.apply(this,arguments)}}(),[t,e])}}},_={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return d(p().m((function t(){var r,n,o,i,u;return p().w((function(t){for(;;)switch(t.n){case 0:return r=e.input.itemId,n=e.fetch,o=e.provider,t.n=1,w(n);case 1:if(i=t.v,r&&i){t.n=2;break}return t.a(2,void 0);case 2:return t.n=3,n({query:"carts",method:"post",variables:{id:i.id},body:{version:i.version,actions:[{action:"removeLineItem",lineItemId:r}]}});case 3:return(u=t.v).body?h(u.body.id):b(),t.a(2,S(u.body,o.locale))}}),t)})))()},useHook:function(e){var t=e.fetch;return function(e){void 0===e&&(e={});var r=e.item,i=n.useCart().mutate;return o.useCallback(function(){var e=d(p().m((function e(o){var u,a,c;return p().w((function(e){for(;;)switch(e.n){case 0:if(a=null!=(u=null==o?void 0:o.id)?u:null==r?void 0:r.id){e.n=1;break}throw new n.ValidationError({message:"Invalid input used for this operation"});case 1:return e.n=2,t({input:{itemId:a}});case 2:return c=e.v,e.n=3,i(c,!1);case 3:return e.a(2,c)}}),e)})));return function(t){return e.apply(this,arguments)}}(),[t,i])}}},V={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return d(p().m((function t(){var r,o,i,u,a,c,s,l;return p().w((function(t){for(;;)switch(t.n){case 0:if(i=(o=e.input).item,u=o.itemId,a=e.fetch,c=e.provider,!Number.isInteger(i.quantity)){t.n=2;break}if(!(i.quantity<1)){t.n=1;break}return t.a(2,null==_.fetcher?void 0:_.fetcher({options:_.fetchOptions,input:{itemId:u},fetch:a,provider:c}));case 1:t.n=3;break;case 2:if(!i.quantity){t.n=3;break}throw new n.ValidationError({message:"The item quantity has to be a valid integer"});case 3:return t.n=4,w(a);case 4:if(s=t.v,(!i.quantity||Number.isInteger(i.quantity)&&!(i.quantity<1))&&s){t.n=5;break}return t.a(2,void 0);case 5:return t.n=6,a({query:"carts",method:"post",variables:{id:s.id},body:{version:s.version,actions:[{action:"changeLineItemQuantity",lineItemId:u,quantity:null!=(r=i.quantity)?r:1}]}});case 6:return(l=t.v).body?h(l.body.id):b(),t.a(2,l.body?S(l.body,c.locale):void 0)}}),t)})))()},useHook:function(e){var t=e.fetch;return function(e){var r;void 0===e&&(e={});var i=e.item,u=n.useCart().mutate;return o.useCallback(a(function(){var e=d(p().m((function e(r){var o,a,c;return p().w((function(e){for(;;)switch(e.n){case 0:if((a=null!=(o=r.id)?o:null==i?void 0:i.id)&&null!=r.quantity){e.n=1;break}throw new n.ValidationError({message:"Invalid input used for this operation"});case 1:return e.n=2,t({input:{item:{quantity:r.quantity},itemId:a}});case 2:return c=e.v,e.n=3,u(c,!1);case 3:return e.a(2,c)}}),e)})));return function(t){return e.apply(this,arguments)}}(),null!=(r=e.wait)?r:500),[t,u])}}},E=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=d(p().m((function e(t){var n,o,i,u,a;return p().w((function(e){for(;;)switch(e.n){case 0:return n=t.method,o=t.variables,u=t.body,a=r,(i=t.query)&&(a=a[i]()),null!=o&&o.id&&(a=a.withId({ID:o.id})),null!=o&&o.search&&(a=a.search()),e.n=1,a[n]({body:u,queryArgs:f({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 1:return e.a(2,e.v)}}),e)})));return function(t){return e.apply(this,arguments)}}()},F={fetchOptions:{query:"productProjections",method:"get"},fetcher:function(e){return d(p().m((function t(){var r,n,o,i,u;return p().w((function(t){for(;;)switch(t.n){case 0:if(r=e.options,n=e.fetch,o=e.provider,i=e.input.id){t.n=1;break}return t.a(2,null);case 1:return t.n=2,n(f({},r,{variables:{id:i}}));case 2:return t.a(2,(u=t.v).body?P(u.body,o.locale):null)}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){return void 0===e&&(e={}),t({input:[["id",e.id]],swrOptions:f({revalidateOnFocus:!1},e.swrOptions)})}}},K={fetchOptions:{method:"get",query:"productProjections"},fetcher:function(e){return d(p().m((function t(){var r,n,o,i,u,a,c,s,l,d;return p().w((function(t){for(;;)switch(t.n){case 0:return o=e.options,i=e.fetch,u=e.provider,a=(n=e.input).search,c=n.categoryId,s=n.sort,l=n.count,t.n=1,i(f({},o,{variables:f({expand:["masterData.current"],sort:m(s),limit:l},a?{search:(r={},r["text."+(null==u?void 0:u.locale)]=a,r)}:{},c?{filters:'categories.id: subtree("'+c+'")'}:{})}));case 1:return t.a(2,{products:(d=t.v).body.results.map((function(e){return P(e,u.locale)})),found:d.body.count>0})}}),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:f({revalidateOnFocus:!1},e.swrOptions)})}}},M={fetchOptions:{query:""},fetcher:function(e){return d(p().m((function e(){return p().w((function(e){for(;;)switch(e.n){case 0:return e.a(2,null)}}),e)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:f({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])}}},N={fetchOptions:{query:"categories",method:"get"},fetcher:function(e){return d(p().m((function t(){var r,n,o,i,u,a;return p().w((function(t){for(;;)switch(t.n){case 0:if(r=e.options,n=e.fetch,o=e.provider,i=e.input.categoryId){t.n=2;break}return t.n=1,n(f({},r));case 1:return t.a(2,(u=t.v).body?u.body.results.map((function(e){return x(e,o.locale)})):[]);case 2:return t.n=3,n(f({},r,{variables:f({},i?{id:i}:{})}));case 3:return t.a(2,(a=t.v).body?[x(a.body,o.locale)]:[]);case 4:return t.a(2)}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({input:[["categoryId",null==e?void 0:e.categoryId]],swrOptions:f({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])}}},H=function(e,t){return n.getCommerceProvider(function(e,t){return{locale:t,cartCookie:"commercetools_cart",cart:{useCart:A,useAddItem:D,useRemoveItem:_,useUpdateItem:V},fetcher:E(e),products:{useSearch:K,useProduct:F},site:{useCategories:N,useBrands:M}}}(e,t))},G=f({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 T(e){var t=e.children,o=e.projectKey,u=e.clientId,a=e.clientSecret,c=e.region,s=i.useMemo((function(){return{projectKey:o,clientId:u,clientSecret:a,region:c}}),[o,u,a,c]),l=r.usePlasmicQueryData(JSON.stringify({creds:s})+"locale",d(p().m((function e(){var t,r;return p().w((function(e){for(;;)switch(e.n){case 0:return t=E(s),e.n=1,t({method:"get"});case 1:return e.a(2,(r=e.v).body?r.body.languages[0]:void 0)}}),e)})))),f=l.data,v=l.error,m=l.isLoading,y=i.useMemo((function(){return H(s,null!=f?f:"")}),[s,f]);if(m)return null;if(v||!f)throw new Error(v?v.message:"Project language not found");return i.createElement(y,null,i.createElement(n.CartActionsProvider,{globalContextName:"plasmic-commerce-commercetools-provider"},t))}function U(e,r){!function(){e?e.registerGlobalContext.apply(e,arguments):t.apply(void 0,arguments)}(T,null!=r?r:G)}exports.CommerceProviderComponent=T,exports.commerceProviderMeta=G,exports.getCommerceProvider=H,exports.registerAll=function(e){U(e)},exports.registerCommerceProvider=U,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"),i=e(o),u=e(require("js-cookie")),a=e(require("debounce")),c=require("@commercetools/platform-sdk"),s=require("@commercetools/sdk-client-v2");function l(e,t,r,n,o,i,u){try{var a=e[i](u),c=a.value}catch(e){return void r(e)}a.done?t(c):Promise.resolve(c).then(n,o)}function d(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function u(e){l(i,n,o,u,a,"next",e)}function a(e){l(i,n,o,u,a,"throw",e)}u(void 0)}))}}function f(){return(f=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 p(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=Object.create((n&&n.prototype instanceof a?n:a).prototype);return v(c,"_invoke",function(r,n,o){var i,a,c,s=0,l=o||[],d=!1,f={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,a=0,c=e,f.n=r,u}};function p(r,n){for(a=r,c=n,t=0;!d&&s&&!o&&t<l.length;t++){var o,i=l[t],p=f.p,v=i[2];r>3?(o=v===n)&&(c=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(a=0,f.v=n,f.n=i[1]):p<v&&(o=r<3||i[0]>n||n>v)&&(i[4]=r,i[5]=n,f.n=v,a=0))}if(o||r>1)return u;throw d=!0,n}return function(o,l,v){if(s>1)throw TypeError("Generator is already running");for(d&&1===l&&p(l,v),a=l,c=v;(t=a<2?e:c)||!d;){i||(a?a<3?(a>1&&(f.n=-1),p(a,c)):f.n=c:f.v=c);try{if(s=2,i){if(a||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,a<2&&(a=0)}else 1===a&&(t=i.return)&&t.call(i),a<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((t=(d=f.n<0)?c:r.call(n,f))!==u)break}catch(t){i=e,a=1,c=t}finally{s=1}}return{value:t,done:d}}}(r,o,i),!0),c}var u={};function a(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(v(t={},n,(function(){return this})),t),d=s.prototype=a.prototype=Object.create(l);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,v(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=s,v(d,"constructor",s),v(s,"constructor",c),c.displayName="GeneratorFunction",v(s,o,"GeneratorFunction"),v(d),v(d,o,"Generator"),v(d,n,(function(){return this})),v(d,"toString",(function(){return"[object Generator]"})),(p=function(){return{w:i,m:f}})()}function v(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}(v=function(e,t,r,n){function i(t,r){v(e,t,(function(e){return this._invoke(t,r,e)}))}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))})(e,t,r,n)}var m=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},y={expires:30,sameSite:"none",secure:!0},h=function(e){return u.set("commercetools_cart",JSON.stringify(e),y)},b=function(){return u.remove("commercetools_cart")},g=function(){var e=d(p().m((function e(t){var r,n;return p().w((function(e){for(;;)switch(e.n){case 0:return r={currency:"USD",country:"US"},e.n=1,t({query:"carts",method:"post",body:r});case 1:return(n=e.v).body?h(n.body.id):b(),e.a(2,n.body)}}),e)})));return function(t){return e.apply(this,arguments)}}(),w=function(){var e=d(p().m((function e(t){var r,n;return p().w((function(e){for(;;)switch(e.n){case 0:if(!(r=(o=u.get("commercetools_cart"))?JSON.parse(o):void 0)){e.n=2;break}return e.n=1,t({query:"carts",method:"get",variables:{id:r}});case 1:n=e.v.body,e.n=4;break;case 2:return e.n=3,g(t);case 3:n=e.v;case 4:return n?h(n.id):b(),e.a(2,n)}var o}),e)})));return function(t){return e.apply(this,arguments)}}(),O=function(e,t){return e&&t?t in e?e[t]:Object.values(e)[0]:void 0},I=function(e){return e.filter((function(e){return null!=e}))},q=function(e){return"string"==typeof e?e:JSON.stringify(e)},k=function(e){return e?{value:e.centAmount/100,currencyCode:e.currencyCode}:{value:-1,currencyCode:"USD"}},j=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:q(t),hexColors:[t]}:{label:q(t)}}))};var t},C=function(e){var t,r,n,o,i,u,a=k(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:a,options:null!=(i=null==(u=e.attributes)?void 0:u.map((function(e){return j({name:e.name,value:e.value.key})})))?i:[],requiresShipping:!1,listPrice:a}},P=function(e,t){var r,n,o,i,u,a;return{id:e.id,name:null!=(r=O(e.name,t))?r:"",slug:O(e.slug,t),path:"/"+O(e.slug,t),description:null!=(n=O(e.description,t))?n:"",price:k(null!=(o=null==(i=e.masterVariant.prices)||null==(i=i.find((function(e){return"USD"===e.value.currencyCode})))?void 0:i.value)?o:null==(u=e.masterVariant.prices)||null==(u=u[0])?void 0:u.value),images:(a=I([].concat(e.masterVariant.images?e.masterVariant.images:[],e.variants.flatMap((function(e){return e.images})))),a.map((function(e){return f({url:e.url},e.label?{alt:e.label}:{},{width:e.dimensions.w,height:e.dimensions.h})}))),variants:[e.masterVariant].concat(e.variants).map(C),options:I([].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(q(t.value.key)):e.push({name:t.name,value:[q(t.value.key)]}),e}),[]).map(j)}},S=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=O(e.name,t))?r:"",path:"",quantity:e.quantity,discounts:[],variant:C(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:k(e.totalPrice).value,totalPrice:k(e.totalPrice).value,discounts:[]}},x=function(e,t){var r,n;return{id:e.id,name:null!=(r=O(e.name,t))?r:"",slug:null!=(n=O(e.slug,t))?n:"",path:"/"+O(e.slug,t)}},A=n.useCart,D={fetchOptions:{query:"cart",method:"get"},fetcher:function(e){return d(p().m((function t(){var r,n,o;return p().w((function(t){for(;;)switch(t.n){case 0:return r=e.fetch,n=e.provider,t.n=1,w(r);case 1:return t.a(2,(o=t.v)?S(o,n.locale):null)}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:f({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])}}},_={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return d(p().m((function t(){var r,n,o,i,u,a;return p().w((function(t){for(;;)switch(t.n){case 0:return n=e.input,o=e.fetch,i=e.provider,t.n=1,w(o);case 1:if(u=t.v,(!n.quantity||Number.isInteger(n.quantity)&&!(n.quantity<1))&&u){t.n=2;break}return t.a(2,void 0);case 2:return t.n=3,o({query:"carts",method:"post",variables:{id:u.id},body:{version:u.version,actions:[{action:"addLineItem",variantId:+n.variantId,productId:n.productId,quantity:null!=(r=n.quantity)?r:1}]}});case 3:return(a=t.v).body?h(a.body.id):b(),t.a(2,a.body?S(a.body,i.locale):void 0)}}),t)})))()},useHook:function(e){var t=e.fetch;return function(){var e=A().mutate;return o.useCallback(function(){var r=d(p().m((function r(n){var o;return p().w((function(r){for(;;)switch(r.n){case 0:return r.n=1,t({input:n});case 1:return o=r.v,r.n=2,e(o,!1);case 2:return r.a(2,o)}}),r)})));return function(e){return r.apply(this,arguments)}}(),[t,e])}}},V={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return d(p().m((function t(){var r,n,o,i,u;return p().w((function(t){for(;;)switch(t.n){case 0:return r=e.input.itemId,n=e.fetch,o=e.provider,t.n=1,w(n);case 1:if(i=t.v,r&&i){t.n=2;break}return t.a(2,void 0);case 2:return t.n=3,n({query:"carts",method:"post",variables:{id:i.id},body:{version:i.version,actions:[{action:"removeLineItem",lineItemId:r}]}});case 3:return(u=t.v).body?h(u.body.id):b(),t.a(2,S(u.body,o.locale))}}),t)})))()},useHook:function(e){var t=e.fetch;return function(e){void 0===e&&(e={});var r=e.item,i=A().mutate;return o.useCallback(function(){var e=d(p().m((function e(o){var u,a,c;return p().w((function(e){for(;;)switch(e.n){case 0:if(a=null!=(u=null==o?void 0:o.id)?u:null==r?void 0:r.id){e.n=1;break}throw new n.ValidationError({message:"Invalid input used for this operation"});case 1:return e.n=2,t({input:{itemId:a}});case 2:return c=e.v,e.n=3,i(c,!1);case 3:return e.a(2,c)}}),e)})));return function(t){return e.apply(this,arguments)}}(),[t,i])}}},E={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return d(p().m((function t(){var r,o,i,u,a,c,s,l;return p().w((function(t){for(;;)switch(t.n){case 0:if(i=(o=e.input).item,u=o.itemId,a=e.fetch,c=e.provider,!Number.isInteger(i.quantity)){t.n=2;break}if(!(i.quantity<1)){t.n=1;break}return t.a(2,null==V.fetcher?void 0:V.fetcher({options:V.fetchOptions,input:{itemId:u},fetch:a,provider:c}));case 1:t.n=3;break;case 2:if(!i.quantity){t.n=3;break}throw new n.ValidationError({message:"The item quantity has to be a valid integer"});case 3:return t.n=4,w(a);case 4:if(s=t.v,(!i.quantity||Number.isInteger(i.quantity)&&!(i.quantity<1))&&s){t.n=5;break}return t.a(2,void 0);case 5:return t.n=6,a({query:"carts",method:"post",variables:{id:s.id},body:{version:s.version,actions:[{action:"changeLineItemQuantity",lineItemId:u,quantity:null!=(r=i.quantity)?r:1}]}});case 6:return(l=t.v).body?h(l.body.id):b(),t.a(2,l.body?S(l.body,c.locale):void 0)}}),t)})))()},useHook:function(e){var t=e.fetch;return function(e){var r;void 0===e&&(e={});var i=e.item,u=A().mutate;return o.useCallback(a(function(){var e=d(p().m((function e(r){var o,a,c;return p().w((function(e){for(;;)switch(e.n){case 0:if((a=null!=(o=r.id)?o:null==i?void 0:i.id)&&null!=r.quantity){e.n=1;break}throw new n.ValidationError({message:"Invalid input used for this operation"});case 1:return e.n=2,t({input:{item:{quantity:r.quantity},itemId:a}});case 2:return c=e.v,e.n=3,u(c,!1);case 3:return e.a(2,c)}}),e)})));return function(t){return e.apply(this,arguments)}}(),null!=(r=e.wait)?r:500),[t,u])}}},F=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=d(p().m((function e(t){var n,o,i,u,a;return p().w((function(e){for(;;)switch(e.n){case 0:return n=t.method,o=t.variables,u=t.body,a=r,(i=t.query)&&(a=a[i]()),null!=o&&o.id&&(a=a.withId({ID:o.id})),null!=o&&o.search&&(a=a.search()),e.n=1,a[n]({body:u,queryArgs:f({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 1:return e.a(2,e.v)}}),e)})));return function(t){return e.apply(this,arguments)}}()},K={fetchOptions:{query:"productProjections",method:"get"},fetcher:function(e){return d(p().m((function t(){var r,n,o,i,u;return p().w((function(t){for(;;)switch(t.n){case 0:if(r=e.options,n=e.fetch,o=e.provider,i=e.input.id){t.n=1;break}return t.a(2,null);case 1:return t.n=2,n(f({},r,{variables:{id:i}}));case 2:return t.a(2,(u=t.v).body?P(u.body,o.locale):null)}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){return void 0===e&&(e={}),t({input:[["id",e.id]],swrOptions:f({revalidateOnFocus:!1},e.swrOptions)})}}},M={fetchOptions:{method:"get",query:"productProjections"},fetcher:function(e){return d(p().m((function t(){var r,n,o,i,u,a,c,s,l,d;return p().w((function(t){for(;;)switch(t.n){case 0:return o=e.options,i=e.fetch,u=e.provider,a=(n=e.input).search,c=n.categoryId,s=n.sort,l=n.count,t.n=1,i(f({},o,{variables:f({expand:["masterData.current"],sort:m(s),limit:l},a?{search:(r={},r["text."+(null==u?void 0:u.locale)]=a,r)}:{},c?{filters:'categories.id: subtree("'+c+'")'}:{})}));case 1:return t.a(2,{products:(d=t.v).body.results.map((function(e){return P(e,u.locale)})),found:d.body.count>0})}}),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:f({revalidateOnFocus:!1},e.swrOptions)})}}},N={fetchOptions:{query:""},fetcher:function(){return d(p().m((function e(){return p().w((function(e){for(;;)switch(e.n){case 0:return e.a(2,null)}}),e)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:f({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])}}},H={fetchOptions:{query:"categories",method:"get"},fetcher:function(e){return d(p().m((function t(){var r,n,o,i,u,a;return p().w((function(t){for(;;)switch(t.n){case 0:if(r=e.options,n=e.fetch,o=e.provider,i=e.input.categoryId){t.n=2;break}return t.n=1,n(f({},r));case 1:return t.a(2,(u=t.v).body?u.body.results.map((function(e){return x(e,o.locale)})):[]);case 2:return t.n=3,n(f({},r,{variables:f({},i?{id:i}:{})}));case 3:return t.a(2,(a=t.v).body?[x(a.body,o.locale)]:[]);case 4:return t.a(2)}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({input:[["categoryId",null==e?void 0:e.categoryId]],swrOptions:f({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])}}},G=function(e,t){return n.getCommerceProvider(function(e,t){return{locale:t,cartCookie:"commercetools_cart",cart:{useCart:D,useAddItem:_,useRemoveItem:V,useUpdateItem:E},fetcher:F(e),products:{useSearch:M,useProduct:K},site:{useCategories:H,useBrands:N}}}(e,t))},T=f({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 U(e){var t=e.children,o=e.projectKey,u=e.clientId,a=e.clientSecret,c=e.region,s=i.useMemo((function(){return{projectKey:o,clientId:u,clientSecret:a,region:c}}),[o,u,a,c]),l=r.usePlasmicQueryData(JSON.stringify({creds:s})+"locale",d(p().m((function e(){var t,r;return p().w((function(e){for(;;)switch(e.n){case 0:return t=F(s),e.n=1,t({method:"get"});case 1:return e.a(2,(r=e.v).body?r.body.languages[0]:void 0)}}),e)})))),f=l.data,v=l.error,m=l.isLoading,y=i.useMemo((function(){return G(s,null!=f?f:"")}),[s,f]);if(m)return null;if(v||!f)throw new Error(v?v.message:"Project language not found");return i.createElement(y,null,i.createElement(n.CartActionsProvider,{globalContextName:"plasmic-commerce-commercetools-provider"},t))}function L(e,r){!function(){e?e.registerGlobalContext.apply(e,arguments):t.apply(void 0,arguments)}(U,null!=r?r:T)}exports.CommerceProviderComponent=U,exports.commerceProviderMeta=T,exports.getCommerceProvider=G,exports.registerAll=function(e){L(e)},exports.registerCommerceProvider=L,exports.useCommerce=function(){return n.useCommerce()};
2
2
  //# sourceMappingURL=commerce-commercetools.cjs.production.min.js.map