@plasmicpkgs/commerce-commercetools 0.0.111 → 0.0.113

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.
@@ -408,9 +408,8 @@ var removeCartCookie = function removeCartCookie() {
408
408
  return removeCookies(COMMERCETOOLS_CART_COOKIE);
409
409
  };
410
410
 
411
- var _ref;
412
- var createCart = function createCart(_x) {
413
- return (_ref = _ref || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
411
+ var createCart = /*#__PURE__*/function () {
412
+ var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
414
413
  var draft, cart;
415
414
  return _regeneratorRuntime().wrap(function _callee$(_context) {
416
415
  while (1) switch (_context.prev = _context.next) {
@@ -438,12 +437,14 @@ var createCart = function createCart(_x) {
438
437
  return _context.stop();
439
438
  }
440
439
  }, _callee);
441
- }))).apply(this, arguments);
442
- };
440
+ }));
441
+ return function createCart(_x) {
442
+ return _ref.apply(this, arguments);
443
+ };
444
+ }();
443
445
 
444
- var _ref$1;
445
- var getActiveCart = function getActiveCart(_x) {
446
- return (_ref$1 = _ref$1 || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
446
+ var getActiveCart = /*#__PURE__*/function () {
447
+ var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
447
448
  var cartId, activeCart;
448
449
  return _regeneratorRuntime().wrap(function _callee$(_context) {
449
450
  while (1) switch (_context.prev = _context.next) {
@@ -482,8 +483,11 @@ var getActiveCart = function getActiveCart(_x) {
482
483
  return _context.stop();
483
484
  }
484
485
  }, _callee);
485
- }))).apply(this, arguments);
486
- };
486
+ }));
487
+ return function getActiveCart(_x) {
488
+ return _ref.apply(this, arguments);
489
+ };
490
+ }();
487
491
 
488
492
  var getLocalizedString = function getLocalizedString(localizedString, locale) {
489
493
  return !localizedString || !locale ? undefined : locale in localizedString ? localizedString[locale] : Object.values(localizedString)[0];
@@ -860,11 +864,10 @@ var handler$3 = {
860
864
  useHook: function useHook(_ref2) {
861
865
  var fetch = _ref2.fetch;
862
866
  return function () {
863
- var _addItem;
864
867
  var _useCart = commerce.useCart(),
865
868
  mutate = _useCart.mutate;
866
- return React.useCallback(function addItem(_x) {
867
- return (_addItem = _addItem || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
869
+ return React.useCallback( /*#__PURE__*/function () {
870
+ var _addItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
868
871
  var data;
869
872
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
870
873
  while (1) switch (_context2.prev = _context2.next) {
@@ -884,8 +887,12 @@ var handler$3 = {
884
887
  return _context2.stop();
885
888
  }
886
889
  }, _callee2);
887
- }))).apply(this, arguments);
888
- }, [fetch, mutate]);
890
+ }));
891
+ function addItem(_x) {
892
+ return _addItem.apply(this, arguments);
893
+ }
894
+ return addItem;
895
+ }(), [fetch, mutate]);
889
896
  };
890
897
  }
891
898
  };
@@ -1018,13 +1025,12 @@ var initCommercetoolsSDKClient = function initCommercetoolsSDKClient(creds) {
1018
1025
  };
1019
1026
 
1020
1027
  var getFetcher = function getFetcher(creds) {
1021
- var _ref2;
1022
1028
  var client = initCommercetoolsSDKClient(creds);
1023
1029
  var apiRoot = platformSdk.createApiBuilderFromCtpClient(client).withProjectKey({
1024
1030
  projectKey: creds.projectKey
1025
1031
  });
1026
- return function (_x) {
1027
- return (_ref2 = _ref2 || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
1032
+ return /*#__PURE__*/function () {
1033
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
1028
1034
  var method, variables, query, body, queryBuilder;
1029
1035
  return _regeneratorRuntime().wrap(function _callee$(_context) {
1030
1036
  while (1) switch (_context.prev = _context.next) {
@@ -1063,8 +1069,11 @@ var getFetcher = function getFetcher(creds) {
1063
1069
  return _context.stop();
1064
1070
  }
1065
1071
  }, _callee);
1066
- }))).apply(this, arguments);
1067
- };
1072
+ }));
1073
+ return function (_x) {
1074
+ return _ref2.apply(this, arguments);
1075
+ };
1076
+ }();
1068
1077
  };
1069
1078
 
1070
1079
  var getCommercetoolsProvider = function getCommercetoolsProvider(creds, locale) {
@@ -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/product/use-search.tsx","../src/product/use-product.tsx","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/site/use-categories.tsx","../src/site/use-brands.tsx","../src/client.ts","../src/fetcher.ts","../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 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 { 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 { 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 { useCallback } from 'react'\nimport type { MutationHook } from '@plasmicpkgs/commerce';\nimport { useAddItem, UseAddItem } from '@plasmicpkgs/commerce';\nimport type { AddItemHook } from '../types/cart'\nimport useCart from './use-cart'\nimport { getActiveCart, normalizeCart, removeCartCookie, setCartId } from '../utils'\nimport { Cart, CartUpdate, ClientResponse } from '@commercetools/platform-sdk'\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 lineItem: CartUpdate = {\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 const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: 'carts',\n method: 'post',\n variables: {\n id: activeCart.id,\n },\n body: lineItem,\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 { 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 { 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 {\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 { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { getFetcher } from './fetcher'\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { COMMERCETOOLS_CART_COOKIE } from './const'\n\nexport interface CommercetoolsCredentials {\n projectKey: string;\n clientId: string;\n clientSecret: string;\n region: string;\n}\n\nexport const getCommercetoolsProvider = (creds: CommercetoolsCredentials, locale: string) => (\n {\n locale,\n cartCookie: COMMERCETOOLS_CART_COOKIE,\n cart: { useCart, useAddItem },\n fetcher: getFetcher(creds),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n }\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 React from \"react\";\nimport { getCommerceProvider } from \"./commercetools\";\nimport { getFetcher } from \"./fetcher\";\nimport { CommercetoolsCredentials } from \"./provider\";\nimport { Registerable } from \"./registerable\";\nimport {\n globalActionsRegistrations,\n CartActionsProvider,\n} from \"@plasmicpkgs/commerce\";\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 unstable__globalActions: globalActionsRegistrations as any,\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","_x","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_callee$","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","apply","arguments","getActiveCart","cartId","activeCart","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","dedup","concat","Set","currencyCode","money","price","centAmount","normalizeProductOption","option","__typename","displayName","Array","isArray","map","val","match","test","label","hexColors","normalizeProductImages","images","image","_extends","url","alt","width","dimensions","w","height","h","normalizeProductVariant","variant","_variant$prices$find$","_variant$prices","prices","find","_variant$prices2","sku","_variant$sku","_variant$attributes$m","_variant$attributes","attributes","attribute","key","requiresShipping","listPrice","normalizeProduct","product","_getLocalizedString","_getLocalizedString2","_product$masterVarian","_product$masterVarian2","_product$masterVarian3","slug","path","description","masterVariant","variants","flatMap","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeLineItem","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","input","provider","search","categoryId","count","expand","limit","_search","filters","response","products","results","found","useHook","_ref2","useData","brandId","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","_addItem","_callee2","_callee2$","_context2","categories","_response$data$length","initCommercetoolsSDKClient","creds","scopes","projectKey","authMiddlewareOptions","host","region","clientSecret","credentials","clientId","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","getFetcher","client","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","queryArgs","where","execute","getCommercetoolsProvider","cartCookie","useAddItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","unstable__globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","message","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/product/use-search.tsx","../src/product/use-product.tsx","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/site/use-categories.tsx","../src/site/use-brands.tsx","../src/client.ts","../src/fetcher.ts","../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 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 { 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 { 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 { useCallback } from 'react'\nimport type { MutationHook } from '@plasmicpkgs/commerce';\nimport { useAddItem, UseAddItem } from '@plasmicpkgs/commerce';\nimport type { AddItemHook } from '../types/cart'\nimport useCart from './use-cart'\nimport { getActiveCart, normalizeCart, removeCartCookie, setCartId } from '../utils'\nimport { Cart, CartUpdate, ClientResponse } from '@commercetools/platform-sdk'\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 lineItem: CartUpdate = {\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 const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: 'carts',\n method: 'post',\n variables: {\n id: activeCart.id,\n },\n body: lineItem,\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 { 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 { 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 {\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 { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { getFetcher } from './fetcher'\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { COMMERCETOOLS_CART_COOKIE } from './const'\n\nexport interface CommercetoolsCredentials {\n projectKey: string;\n clientId: string;\n clientSecret: string;\n region: string;\n}\n\nexport const getCommercetoolsProvider = (creds: CommercetoolsCredentials, locale: string) => (\n {\n locale,\n cartCookie: COMMERCETOOLS_CART_COOKIE,\n cart: { useCart, useAddItem },\n fetcher: getFetcher(creds),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n }\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 React from \"react\";\nimport { getCommerceProvider } from \"./commercetools\";\nimport { getFetcher } from \"./fetcher\";\nimport { CommercetoolsCredentials } from \"./provider\";\nimport { Registerable } from \"./registerable\";\nimport {\n globalActionsRegistrations,\n CartActionsProvider,\n} from \"@plasmicpkgs/commerce\";\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 unstable__globalActions: globalActionsRegistrations as any,\n importPath: \"@plasmicpkgs/commercetools\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { children, projectKey, clientId, clientSecret, region } = props;\n\n const creds = React.useMemo(\n () => ({ projectKey, clientId, clientSecret, region }),\n [projectKey, clientId, clientSecret, region]\n );\n\n const {\n data: locale,\n error,\n isLoading,\n } = usePlasmicQueryData(JSON.stringify({ creds }) + \"locale\", async () => {\n const fetcher = getFetcher(creds);\n const project: ClientResponse<Project> = await fetcher({ method: \"get\" });\n return project.body ? project.body.languages[0] : undefined;\n });\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(creds, locale ?? \"\"),\n [creds, locale]\n );\n\n if (isLoading) {\n return null;\n } else if (error || !locale) {\n throw new Error(error ? error.message : \"Project language not found\");\n }\n\n return (\n <CommerceProvider>\n <CartActionsProvider globalContextName={globalContextName}>\n {children}\n </CartActionsProvider>\n </CommerceProvider>\n );\n}\n\nexport function registerCommerceProvider(\n loader?: Registerable,\n customCommerceProviderMeta?: GlobalContextMeta<CommerceProviderProps>\n) {\n const doRegisterComponent: typeof registerGlobalContext = (...args) =>\n loader\n ? loader.registerGlobalContext(...args)\n : registerGlobalContext(...args);\n doRegisterComponent(\n CommerceProviderComponent,\n customCommerceProviderMeta ?? commerceProviderMeta\n );\n}\n","import { Registerable } from \"./registerable\";\nimport { registerCommerceProvider } from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\nexport * from \"./registerCommerceProvider\";\nexport * from \"./commercetools\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n"],"names":["getSortVariables","sort","isCategory","output","undefined","COMMERCETOOLS_COOKIE_EXPIRE","COMMERCETOOLS_CART_COOKIE","options","expires","sameSite","secure","getCookies","name","cookie","Cookies","get","JSON","parse","setCookies","value","set","stringify","removeCookies","remove","getCartId","setCartId","id","removeCartCookie","createCart","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_callee$","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","_x","apply","arguments","getActiveCart","cartId","activeCart","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","dedup","concat","Set","currencyCode","money","price","centAmount","normalizeProductOption","option","__typename","displayName","Array","isArray","map","val","match","test","label","hexColors","normalizeProductImages","images","image","_extends","url","alt","width","dimensions","w","height","h","normalizeProductVariant","variant","_variant$prices$find$","_variant$prices","prices","find","_variant$prices2","sku","_variant$sku","_variant$attributes$m","_variant$attributes","attributes","attribute","key","requiresShipping","listPrice","normalizeProduct","product","_getLocalizedString","_getLocalizedString2","_product$masterVarian","_product$masterVarian2","_product$masterVarian3","slug","path","description","masterVariant","variants","flatMap","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeLineItem","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","input","provider","search","categoryId","count","expand","limit","_search","filters","response","products","results","found","useHook","_ref2","useData","brandId","swrOptions","revalidateOnFocus","useMemo","create","isEmpty","_response$data$lineIt","_response$data","data","length","enumerable","Number","isInteger","version","actions","action","_item$quantity","updatedCart","_useCart","useCart","mutate","useCallback","_addItem","_callee2","_callee2$","_context2","addItem","categories","_response$data$length","initCommercetoolsSDKClient","creds","scopes","projectKey","authMiddlewareOptions","host","region","clientSecret","credentials","clientId","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","getFetcher","client","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","queryArgs","where","execute","getCommercetoolsProvider","cartCookie","useAddItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","unstable__globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","message","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("react"),o=e(n),a=require("@plasmicpkgs/commerce"),i=e(require("js-cookie")),u=require("@commercetools/platform-sdk"),c=require("@commercetools/sdk-client-v2");function s(){s=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function p(e,t,r,n){var a=Object.create((t&&t.prototype instanceof y?t:y).prototype),i=new S(n||[]);return o(a,"_invoke",{value:P(e,r,i)}),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=p;var d="suspendedStart",h="executing",v="completed",m={};function y(){}function g(){}function b(){}var w={};l(w,i,(function(){return this}));var x=Object.getPrototypeOf,O=x&&x(x(q([])));O&&O!==r&&n.call(O,i)&&(w=O);var k=b.prototype=y.prototype=Object.create(w);function j(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function I(e,t){function r(o,a,i,u){var c=f(e[o],e,a);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,i,u)}),(function(e){r("throw",e,i,u)})):t.resolve(l).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,u)}))}u(c.arg)}var a;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return a=a?a.then(o,o):o()}})}function P(t,r,n){var o=d;return function(a,i){if(o===h)throw new Error("Generator is already running");if(o===v){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var u=n.delegate;if(u){var c=C(u,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=h;var s=f(t,r,n);if("normal"===s.type){if(o=n.done?v:"suspendedYield",s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=v,n.method="throw",n.arg=s.arg)}}}function C(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,C(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var a=f(o,t.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,m;var i=a.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,m):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function L(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function q(t){if(t||""===t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(typeof t+" is not iterable")}return g.prototype=b,o(k,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:g,configurable:!0}),g.displayName=l(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,l(e,c,"GeneratorFunction")),e.prototype=Object.create(k),e},t.awrap=function(e){return{__await:e}},j(I.prototype),l(I.prototype,u,(function(){return this})),t.AsyncIterator=I,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new I(p(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},j(k),l(k,c,"Generator"),l(k,i,(function(){return this})),l(k,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=q,S.prototype={constructor:S,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return u.type="throw",u.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],u=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:q(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),m}},t}function l(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function p(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){l(a,n,o,i,u,"next",e)}function u(e){l(a,n,o,i,u,"throw",e)}i(void 0)}))}}function 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)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var d,h,v=function(e,t){var r=void 0;switch(e){case"price-asc":r="price asc";break;case"price-desc":r="price desc";break;case"trending-desc":r=void 0;break;case"latest-desc":r="createdAt desc"}return r},m={expires:30,sameSite:"none",secure:!0},y=function(){return(e=i.get("commercetools_cart"))?JSON.parse(e):void 0;var e},g=function(e){return i.set("commercetools_cart",JSON.stringify(e),m)},b=function(){return i.remove("commercetools_cart")},w=function(e){return(d=d||p(s().mark((function e(t){var r,n;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={currency:"USD",country:"US"},e.next=3,t({query:"carts",method:"post",body:r});case 3:return(n=e.sent).body?g(n.body.id):b(),e.abrupt("return",n.body);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)},x=function(e){return(h=h||p(s().mark((function e(t){var r,n;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=y())){e.next=7;break}return e.next=4,t({query:"carts",method:"get",variables:{id:r}});case 4:n=e.sent.body,e.next=10;break;case 7:return e.next=9,w(t);case 9:n=e.sent;case 10:return n?g(n.id):b(),e.abrupt("return",n);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)},O=function(e,t){return e&&t?t in e?e[t]:Object.values(e)[0]:void 0},k=function(e){return e.filter((function(e){return null!=e}))},j=function(e){return"string"==typeof e?e:JSON.stringify(e)},I=function(e){return e?{value:e.centAmount/100,currencyCode:e.currencyCode}:{value:-1,currencyCode:"USD"}},P=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:j(t),hexColors:[t]}:{label:j(t)}}))};var t},C=function(e){var t,r,n,o,a,i,u=I(null!=(t=null==(r=e.prices)||null==(r=r.find((function(e){return"USD"===e.value.currencyCode})))?void 0:r.value)?t:null==(n=e.prices)||null==(n=n[0])?void 0:n.value).value;return{id:""+e.id,name:""+e.id,sku:null!=(o=e.sku)?o:"",price:u,options:null!=(a=null==(i=e.attributes)?void 0:i.map((function(e){return P({name:e.name,value:e.value.key})})))?a:[],requiresShipping:!1,listPrice:u}},L=function(e,t){var r,n,o,a,i,u;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:I(null!=(o=null==(a=e.masterVariant.prices)||null==(a=a.find((function(e){return"USD"===e.value.currencyCode})))?void 0:a.value)?o:null==(i=e.masterVariant.prices)||null==(i=i[0])?void 0:i.value),images:(u=k([].concat(e.masterVariant.images?e.masterVariant.images:[],e.variants.flatMap((function(e){return e.images})))),u.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:k([].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(j(t.value.key)):e.push({name:t.name,value:[j(t.value.key)]}),e}),[]).map(P)}},E=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:I(e.totalPrice).value,totalPrice:I(e.totalPrice).value,discounts:[]}},S=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)}},q={fetchOptions:{method:"get",query:"productProjections"},fetcher:function(e){return p(s().mark((function t(){var r,n,o,a,i,u,c,l,p,d;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.options,a=e.fetch,i=e.provider,u=(n=e.input).search,c=n.categoryId,l=n.sort,p=n.count,t.next=4,a(f({},o,{variables:f({expand:["masterData.current"],sort:v(l),limit:p},u?{search:(r={},r["text."+(null==i?void 0:i.locale)]=u,r)}:{},c?{filters:'categories.id: subtree("'+c+'")'}:{})}));case 4:return t.abrupt("return",{products:(d=t.sent).body.results.map((function(e){return L(e,i.locale)})),found:d.body.count>0});case 6:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){return void 0===e&&(e={}),t({input:[["search",e.search],["categoryId",e.categoryId],["brandId",e.brandId],["sort",e.sort],["locale",e.locale],["count",e.count]],swrOptions:f({revalidateOnFocus:!1},e.swrOptions)})}}},_={fetchOptions:{query:"productProjections",method:"get"},fetcher:function(e){return p(s().mark((function t(){var r,n,o,a,i;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.options,n=e.fetch,o=e.provider,a=e.input.id){t.next=4;break}return t.abrupt("return",null);case 4:return t.next=6,n(f({},r,{variables:{id:a}}));case 6:return t.abrupt("return",(i=t.sent).body?L(i.body,o.locale):null);case 8:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){return void 0===e&&(e={}),t({input:[["id",e.id]],swrOptions:f({revalidateOnFocus:!1},e.swrOptions)})}}},A={fetchOptions:{query:"cart",method:"get"},fetcher:function(e){return p(s().mark((function t(){var r,n,o;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.fetch,n=e.provider,t.next=3,x(r);case 3:return t.abrupt("return",(o=t.sent)?E(o,n.locale):null);case 5:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:f({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return n.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])}}},N={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return p(s().mark((function t(){var r,n,o,a,i,u,c;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.input,o=e.fetch,a=e.provider,t.next=3,x(o);case 3:if(i=t.sent,(!n.quantity||Number.isInteger(n.quantity)&&!(n.quantity<1))&&i){t.next=6;break}return t.abrupt("return",void 0);case 6:return u={version:i.version,actions:[{action:"addLineItem",variantId:+n.variantId,productId:n.productId,quantity:null!=(r=n.quantity)?r:1}]},t.next=9,o({query:"carts",method:"post",variables:{id:i.id},body:u});case 9:return(c=t.sent).body?g(c.body.id):b(),t.abrupt("return",c.body?E(c.body,a.locale):void 0);case 12:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.fetch;return function(){var e,r=a.useCart().mutate;return n.useCallback((function(n){return(e=e||p(s().mark((function e(n){var o;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t({input:n});case 2:return o=e.sent,e.next=5,r(o,!1);case 5:return e.abrupt("return",o);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}),[t,r])}}},D={fetchOptions:{query:"categories",method:"get"},fetcher:function(e){return p(s().mark((function t(){var r,n,o,a,i,u;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.options,n=e.fetch,o=e.provider,a=e.input.categoryId){t.next=9;break}return t.next=5,n(f({},r));case 5:return t.abrupt("return",(i=t.sent).body?i.body.results.map((function(e){return S(e,o.locale)})):[]);case 9:return t.next=11,n(f({},r,{variables:f({},a?{id:a}:{})}));case 11:return t.abrupt("return",(u=t.sent).body?[S(u.body,o.locale)]:[]);case 13:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({input:[["categoryId",null==e?void 0:e.categoryId]],swrOptions:f({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return n.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])}}},F={fetchOptions:{query:""},fetcher:function(e){return p(s().mark((function e(){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null);case 2:case"end":return e.stop()}}),e)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:f({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return n.useMemo((function(){return Object.create(r,{isEmpty:{get:function(){var e,t;return(null!=(e=null==(t=r.data)?void 0:t.length)?e:0)<=0},enumerable:!0}})}),[r])}}},K=function(e){var t,r=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 c.ClientBuilder).withProjectKey(e.projectKey).withClientCredentialsFlow(t).withHttpMiddleware(r).build()}(e),n=u.createApiBuilderFromCtpClient(r).withProjectKey({projectKey:e.projectKey});return function(e){return(t=t||p(s().mark((function e(t){var r,o,a,i,u;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.method,o=t.variables,i=t.body,u=n,(a=t.query)&&(u=u[a]()),null!=o&&o.id&&(u=u.withId({ID:o.id})),null!=o&&o.search&&(u=u.search()),e.next=7,u[r]({body:i,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 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},M=function(e,t){return a.getCommerceProvider(function(e,t){return{locale:t,cartCookie:"commercetools_cart",cart:{useCart:A,useAddItem:N},fetcher:K(e),products:{useSearch:q,useProduct:_},site:{useCategories:D,useBrands:F}}}(e,t))},V={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"}},unstable__globalActions:a.globalActionsRegistrations,importPath:"@plasmicpkgs/commercetools",importName:"CommerceProviderComponent"};function G(e){var t=e.children,n=e.projectKey,i=e.clientId,u=e.clientSecret,c=e.region,l=o.useMemo((function(){return{projectKey:n,clientId:i,clientSecret:u,region:c}}),[n,i,u,c]),f=r.usePlasmicQueryData(JSON.stringify({creds:l})+"locale",p(s().mark((function e(){var t,r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=K(l),e.next=3,t({method:"get"});case 3:return e.abrupt("return",(r=e.sent).body?r.body.languages[0]:void 0);case 5:case"end":return e.stop()}}),e)})))),d=f.data,h=f.error,v=f.isLoading,m=o.useMemo((function(){return M(l,null!=d?d:"")}),[l,d]);if(v)return null;if(h||!d)throw new Error(h?h.message:"Project language not found");return o.createElement(m,null,o.createElement(a.CartActionsProvider,{globalContextName:"plasmic-commerce-commercetools-provider"},t))}function H(e,r){!function(){e?e.registerGlobalContext.apply(e,arguments):t.apply(void 0,arguments)}(G,null!=r?r:V)}exports.CommerceProviderComponent=G,exports.commerceProviderMeta=V,exports.getCommerceProvider=M,exports.registerAll=function(e){H(e)},exports.registerCommerceProvider=H,exports.useCommerce=function(){return a.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("react"),o=e(n),a=require("@plasmicpkgs/commerce"),i=e(require("js-cookie")),u=require("@commercetools/platform-sdk"),c=require("@commercetools/sdk-client-v2");function s(){s=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function f(e,t,r,n){var a=Object.create((t&&t.prototype instanceof y?t:y).prototype),i=new S(n||[]);return o(a,"_invoke",{value:P(e,r,i)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=f;var d="suspendedStart",h="executing",v="completed",m={};function y(){}function g(){}function b(){}var w={};l(w,i,(function(){return this}));var x=Object.getPrototypeOf,O=x&&x(x(q([])));O&&O!==r&&n.call(O,i)&&(w=O);var k=b.prototype=y.prototype=Object.create(w);function j(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function I(e,t){function r(o,a,i,u){var c=p(e[o],e,a);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,i,u)}),(function(e){r("throw",e,i,u)})):t.resolve(l).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,u)}))}u(c.arg)}var a;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return a=a?a.then(o,o):o()}})}function P(t,r,n){var o=d;return function(a,i){if(o===h)throw new Error("Generator is already running");if(o===v){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var u=n.delegate;if(u){var c=C(u,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=h;var s=p(t,r,n);if("normal"===s.type){if(o=n.done?v:"suspendedYield",s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=v,n.method="throw",n.arg=s.arg)}}}function C(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,C(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var a=p(o,t.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,m;var i=a.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,m):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function L(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function q(t){if(t||""===t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(typeof t+" is not iterable")}return g.prototype=b,o(k,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:g,configurable:!0}),g.displayName=l(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,l(e,c,"GeneratorFunction")),e.prototype=Object.create(k),e},t.awrap=function(e){return{__await:e}},j(I.prototype),l(I.prototype,u,(function(){return this})),t.AsyncIterator=I,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new I(f(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},j(k),l(k,c,"Generator"),l(k,i,(function(){return this})),l(k,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=q,S.prototype={constructor:S,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return u.type="throw",u.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],u=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:q(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),m}},t}function l(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function f(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){l(a,n,o,i,u,"next",e)}function u(e){l(a,n,o,i,u,"throw",e)}i(void 0)}))}}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var d=function(e,t){var r=void 0;switch(e){case"price-asc":r="price asc";break;case"price-desc":r="price desc";break;case"trending-desc":r=void 0;break;case"latest-desc":r="createdAt desc"}return r},h={expires:30,sameSite:"none",secure:!0},v=function(e){return i.set("commercetools_cart",JSON.stringify(e),h)},m=function(){return i.remove("commercetools_cart")},y=function(){var e=f(s().mark((function e(t){var r,n;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={currency:"USD",country:"US"},e.next=3,t({query:"carts",method:"post",body:r});case 3:return(n=e.sent).body?v(n.body.id):m(),e.abrupt("return",n.body);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),g=function(){var e=f(s().mark((function e(t){var r,n;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=(o=i.get("commercetools_cart"))?JSON.parse(o):void 0)){e.next=7;break}return e.next=4,t({query:"carts",method:"get",variables:{id:r}});case 4:n=e.sent.body,e.next=10;break;case 7:return e.next=9,y(t);case 9:n=e.sent;case 10:return n?v(n.id):m(),e.abrupt("return",n);case 12:case"end":return e.stop()}var o}),e)})));return function(t){return e.apply(this,arguments)}}(),b=function(e,t){return e&&t?t in e?e[t]:Object.values(e)[0]:void 0},w=function(e){return e.filter((function(e){return null!=e}))},x=function(e){return"string"==typeof e?e:JSON.stringify(e)},O=function(e){return e?{value:e.centAmount/100,currencyCode:e.currencyCode}:{value:-1,currencyCode:"USD"}},k=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:x(t),hexColors:[t]}:{label:x(t)}}))};var t},j=function(e){var t,r,n,o,a,i,u=O(null!=(t=null==(r=e.prices)||null==(r=r.find((function(e){return"USD"===e.value.currencyCode})))?void 0:r.value)?t:null==(n=e.prices)||null==(n=n[0])?void 0:n.value).value;return{id:""+e.id,name:""+e.id,sku:null!=(o=e.sku)?o:"",price:u,options:null!=(a=null==(i=e.attributes)?void 0:i.map((function(e){return k({name:e.name,value:e.value.key})})))?a:[],requiresShipping:!1,listPrice:u}},I=function(e,t){var r,n,o,a,i,u;return{id:e.id,name:null!=(r=b(e.name,t))?r:"",slug:b(e.slug,t),path:"/"+b(e.slug,t),description:null!=(n=b(e.description,t))?n:"",price:O(null!=(o=null==(a=e.masterVariant.prices)||null==(a=a.find((function(e){return"USD"===e.value.currencyCode})))?void 0:a.value)?o:null==(i=e.masterVariant.prices)||null==(i=i[0])?void 0:i.value),images:(u=w([].concat(e.masterVariant.images?e.masterVariant.images:[],e.variants.flatMap((function(e){return e.images})))),u.map((function(e){return p({url:e.url},e.label?{alt:e.label}:{},{width:e.dimensions.w,height:e.dimensions.h})}))),variants:[e.masterVariant].concat(e.variants).map(j),options:w([].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(x(t.value.key)):e.push({name:t.name,value:[x(t.value.key)]}),e}),[]).map(k)}},P=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=b(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:O(e.totalPrice).value,totalPrice:O(e.totalPrice).value,discounts:[]}},C=function(e,t){var r,n;return{id:e.id,name:null!=(r=b(e.name,t))?r:"",slug:null!=(n=b(e.slug,t))?n:"",path:"/"+b(e.slug,t)}},L={fetchOptions:{method:"get",query:"productProjections"},fetcher:function(e){return f(s().mark((function t(){var r,n,o,a,i,u,c,l,f,h;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.options,a=e.fetch,i=e.provider,u=(n=e.input).search,c=n.categoryId,l=n.sort,f=n.count,t.next=4,a(p({},o,{variables:p({expand:["masterData.current"],sort:d(l),limit:f},u?{search:(r={},r["text."+(null==i?void 0:i.locale)]=u,r)}:{},c?{filters:'categories.id: subtree("'+c+'")'}:{})}));case 4:return t.abrupt("return",{products:(h=t.sent).body.results.map((function(e){return I(e,i.locale)})),found:h.body.count>0});case 6:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){return void 0===e&&(e={}),t({input:[["search",e.search],["categoryId",e.categoryId],["brandId",e.brandId],["sort",e.sort],["locale",e.locale],["count",e.count]],swrOptions:p({revalidateOnFocus:!1},e.swrOptions)})}}},E={fetchOptions:{query:"productProjections",method:"get"},fetcher:function(e){return f(s().mark((function t(){var r,n,o,a,i;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.options,n=e.fetch,o=e.provider,a=e.input.id){t.next=4;break}return t.abrupt("return",null);case 4:return t.next=6,n(p({},r,{variables:{id:a}}));case 6:return t.abrupt("return",(i=t.sent).body?I(i.body,o.locale):null);case 8:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){return void 0===e&&(e={}),t({input:[["id",e.id]],swrOptions:p({revalidateOnFocus:!1},e.swrOptions)})}}},S={fetchOptions:{query:"cart",method:"get"},fetcher:function(e){return f(s().mark((function t(){var r,n,o;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.fetch,n=e.provider,t.next=3,g(r);case 3:return t.abrupt("return",(o=t.sent)?P(o,n.locale):null);case 5:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:p({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return n.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])}}},q={fetchOptions:{query:"cart",method:"post"},fetcher:function(e){return f(s().mark((function t(){var r,n,o,a,i,u,c;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.input,o=e.fetch,a=e.provider,t.next=3,g(o);case 3:if(i=t.sent,(!n.quantity||Number.isInteger(n.quantity)&&!(n.quantity<1))&&i){t.next=6;break}return t.abrupt("return",void 0);case 6:return u={version:i.version,actions:[{action:"addLineItem",variantId:+n.variantId,productId:n.productId,quantity:null!=(r=n.quantity)?r:1}]},t.next=9,o({query:"carts",method:"post",variables:{id:i.id},body:u});case 9:return(c=t.sent).body?v(c.body.id):m(),t.abrupt("return",c.body?P(c.body,a.locale):void 0);case 12:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.fetch;return function(){var e=a.useCart().mutate;return n.useCallback(function(){var r=f(s().mark((function r(n){var o;return s().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,t({input:n});case 2:return o=r.sent,r.next=5,e(o,!1);case 5:return r.abrupt("return",o);case 6:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),[t,e])}}},_={fetchOptions:{query:"categories",method:"get"},fetcher:function(e){return f(s().mark((function t(){var r,n,o,a,i,u;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.options,n=e.fetch,o=e.provider,a=e.input.categoryId){t.next=9;break}return t.next=5,n(p({},r));case 5:return t.abrupt("return",(i=t.sent).body?i.body.results.map((function(e){return C(e,o.locale)})):[]);case 9:return t.next=11,n(p({},r,{variables:p({},a?{id:a}:{})}));case 11:return t.abrupt("return",(u=t.sent).body?[C(u.body,o.locale)]:[]);case 13:case"end":return t.stop()}}),t)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({input:[["categoryId",null==e?void 0:e.categoryId]],swrOptions:p({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return n.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])}}},A={fetchOptions:{query:""},fetcher:function(e){return f(s().mark((function e(){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null);case 2:case"end":return e.stop()}}),e)})))()},useHook:function(e){var t=e.useData;return function(e){var r=t({swrOptions:p({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return n.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=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 c.ClientBuilder).withProjectKey(e.projectKey).withClientCredentialsFlow(t).withHttpMiddleware(r).build()}(e),r=u.createApiBuilderFromCtpClient(t).withProjectKey({projectKey:e.projectKey});return function(){var e=f(s().mark((function e(t){var n,o,a,i,u;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.method,o=t.variables,i=t.body,u=r,(a=t.query)&&(u=u[a]()),null!=o&&o.id&&(u=u.withId({ID:o.id})),null!=o&&o.search&&(u=u.search()),e.next=7,u[n]({body:i,queryArgs:p({expand:null==o?void 0:o.expand,limit:null==o?void 0:o.limit},null!=o&&o.sort?{sort:o.sort}:{},null!=o&&o.search?o.search:{},null!=o&&o.filters?{filter:o.filters}:{},null!=o&&o.where?{where:o.where}:{})}).execute();case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},D=function(e,t){return a.getCommerceProvider(function(e,t){return{locale:t,cartCookie:"commercetools_cart",cart:{useCart:S,useAddItem:q},fetcher:N(e),products:{useSearch:L,useProduct:E},site:{useCategories:_,useBrands:A}}}(e,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"}},unstable__globalActions:a.globalActionsRegistrations,importPath:"@plasmicpkgs/commercetools",importName:"CommerceProviderComponent"};function K(e){var t=e.children,n=e.projectKey,i=e.clientId,u=e.clientSecret,c=e.region,l=o.useMemo((function(){return{projectKey:n,clientId:i,clientSecret:u,region:c}}),[n,i,u,c]),p=r.usePlasmicQueryData(JSON.stringify({creds:l})+"locale",f(s().mark((function e(){var t,r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=N(l),e.next=3,t({method:"get"});case 3:return e.abrupt("return",(r=e.sent).body?r.body.languages[0]:void 0);case 5:case"end":return e.stop()}}),e)})))),d=p.data,h=p.error,v=p.isLoading,m=o.useMemo((function(){return D(l,null!=d?d:"")}),[l,d]);if(v)return null;if(h||!d)throw new Error(h?h.message:"Project language not found");return o.createElement(m,null,o.createElement(a.CartActionsProvider,{globalContextName:"plasmic-commerce-commercetools-provider"},t))}function M(e,r){!function(){e?e.registerGlobalContext.apply(e,arguments):t.apply(void 0,arguments)}(K,null!=r?r:F)}exports.CommerceProviderComponent=K,exports.commerceProviderMeta=F,exports.getCommerceProvider=D,exports.registerAll=function(e){M(e)},exports.registerCommerceProvider=M,exports.useCommerce=function(){return a.useCommerce()};
2
2
  //# sourceMappingURL=commerce-commercetools.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commerce-commercetools.cjs.production.min.js","sources":["../src/utils/get-sort-variables.ts","../src/utils/cookies.ts","../src/const.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/product/use-search.tsx","../src/product/use-product.tsx","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/site/use-categories.tsx","../src/site/use-brands.tsx","../src/fetcher.ts","../src/client.ts","../src/commercetools.tsx","../src/provider.ts","../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","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","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 { 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 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 { 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 { 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 { useCallback } from 'react'\nimport type { MutationHook } from '@plasmicpkgs/commerce';\nimport { useAddItem, UseAddItem } from '@plasmicpkgs/commerce';\nimport type { AddItemHook } from '../types/cart'\nimport useCart from './use-cart'\nimport { getActiveCart, normalizeCart, removeCartCookie, setCartId } from '../utils'\nimport { Cart, CartUpdate, ClientResponse } from '@commercetools/platform-sdk'\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 lineItem: CartUpdate = {\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 const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: 'carts',\n method: 'post',\n variables: {\n id: activeCart.id,\n },\n body: lineItem,\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 { 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 { 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 { 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 {\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 {\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 { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { getFetcher } from './fetcher'\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { COMMERCETOOLS_CART_COOKIE } from './const'\n\nexport interface CommercetoolsCredentials {\n projectKey: string;\n clientId: string;\n clientSecret: string;\n region: string;\n}\n\nexport const getCommercetoolsProvider = (creds: CommercetoolsCredentials, locale: string) => (\n {\n locale,\n cartCookie: COMMERCETOOLS_CART_COOKIE,\n cart: { useCart, useAddItem },\n fetcher: getFetcher(creds),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n }\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 { ClientResponse, Project } from \"@commercetools/platform-sdk\";\nimport { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport React from \"react\";\nimport { getCommerceProvider } from \"./commercetools\";\nimport { getFetcher } from \"./fetcher\";\nimport { CommercetoolsCredentials } from \"./provider\";\nimport { Registerable } from \"./registerable\";\nimport {\n globalActionsRegistrations,\n CartActionsProvider,\n} from \"@plasmicpkgs/commerce\";\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 unstable__globalActions: globalActionsRegistrations as any,\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","options","expires","sameSite","secure","getCartId","cookie","Cookies","get","JSON","parse","setCartId","id","set","stringify","removeCartCookie","remove","createCart","_x","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","apply","arguments","getActiveCart","cartId","activeCart","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","value","money","price","centAmount","currencyCode","normalizeProductOption","option","__typename","name","displayName","Array","isArray","concat","Set","map","val","match","test","label","hexColors","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","images","slug","path","description","masterVariant","variants","flatMap","image","_extends","url","alt","width","dimensions","w","height","h","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeLineItem","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","provider","search","input","categoryId","count","expand","limit","_search","filters","products","response","results","found","useHook","_ref2","useData","brandId","swrOptions","revalidateOnFocus","useMemo","create","isEmpty","_response$data$lineIt","_response$data","data","length","enumerable","Number","isInteger","version","actions","action","_item$quantity","updatedCart","mutate","useCart","useCallback","_addItem","_callee2","_context2","categories","_response$data$length","getFetcher","creds","client","authMiddlewareOptions","host","region","projectKey","clientSecret","credentials","clientId","scopes","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","initCommercetoolsSDKClient","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","queryArgs","where","execute","getCommerceProvider","getCoreCommerceProvider","cartCookie","useAddItem","useSearch","useProduct","site","useCategories","useBrands","getCommercetoolsProvider","commerceProviderMeta","props","type","defaultValue","unstable__globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","message","CartActionsProvider","globalContextName","registerCommerceProvider","loader","customCommerceProviderMeta","registerGlobalContext","doRegisterComponent","useCoreCommerce"],"mappings":"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"}
1
+ {"version":3,"file":"commerce-commercetools.cjs.production.min.js","sources":["../src/utils/get-sort-variables.ts","../src/utils/cookies.ts","../src/const.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/product/use-search.tsx","../src/product/use-product.tsx","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/site/use-categories.tsx","../src/site/use-brands.tsx","../src/fetcher.ts","../src/client.ts","../src/commercetools.tsx","../src/provider.ts","../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","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","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 { 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 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 { 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 { 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 { useCallback } from 'react'\nimport type { MutationHook } from '@plasmicpkgs/commerce';\nimport { useAddItem, UseAddItem } from '@plasmicpkgs/commerce';\nimport type { AddItemHook } from '../types/cart'\nimport useCart from './use-cart'\nimport { getActiveCart, normalizeCart, removeCartCookie, setCartId } from '../utils'\nimport { Cart, CartUpdate, ClientResponse } from '@commercetools/platform-sdk'\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 lineItem: CartUpdate = {\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 const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: 'carts',\n method: 'post',\n variables: {\n id: activeCart.id,\n },\n body: lineItem,\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 { 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 { 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 { 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 {\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 {\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 { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { getFetcher } from './fetcher'\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { COMMERCETOOLS_CART_COOKIE } from './const'\n\nexport interface CommercetoolsCredentials {\n projectKey: string;\n clientId: string;\n clientSecret: string;\n region: string;\n}\n\nexport const getCommercetoolsProvider = (creds: CommercetoolsCredentials, locale: string) => (\n {\n locale,\n cartCookie: COMMERCETOOLS_CART_COOKIE,\n cart: { useCart, useAddItem },\n fetcher: getFetcher(creds),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n }\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 { ClientResponse, Project } from \"@commercetools/platform-sdk\";\nimport { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport React from \"react\";\nimport { getCommerceProvider } from \"./commercetools\";\nimport { getFetcher } from \"./fetcher\";\nimport { CommercetoolsCredentials } from \"./provider\";\nimport { Registerable } from \"./registerable\";\nimport {\n globalActionsRegistrations,\n CartActionsProvider,\n} from \"@plasmicpkgs/commerce\";\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 unstable__globalActions: globalActionsRegistrations as any,\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","options","expires","sameSite","secure","setCartId","id","Cookies","set","JSON","stringify","removeCartCookie","remove","createCart","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","_x","apply","arguments","getActiveCart","cartId","activeCart","cookie","get","parse","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","value","money","price","centAmount","currencyCode","normalizeProductOption","option","__typename","name","displayName","Array","isArray","concat","Set","map","val","match","test","label","hexColors","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","images","slug","path","description","masterVariant","variants","flatMap","image","_extends","url","alt","width","dimensions","w","height","h","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeLineItem","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","provider","search","input","categoryId","count","expand","limit","_search","filters","products","response","results","found","useHook","_ref2","useData","brandId","swrOptions","revalidateOnFocus","useMemo","create","isEmpty","_response$data$lineIt","_response$data","data","length","enumerable","Number","isInteger","version","actions","action","_item$quantity","updatedCart","mutate","useCart","useCallback","_addItem","_callee2","_context2","categories","_response$data$length","getFetcher","creds","client","authMiddlewareOptions","host","region","projectKey","clientSecret","credentials","clientId","scopes","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","initCommercetoolsSDKClient","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","queryArgs","where","execute","getCommerceProvider","getCoreCommerceProvider","cartCookie","useAddItem","useSearch","useProduct","site","useCategories","useBrands","getCommercetoolsProvider","commerceProviderMeta","props","type","defaultValue","unstable__globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","message","CartActionsProvider","globalContextName","registerCommerceProvider","loader","customCommerceProviderMeta","registerGlobalContext","doRegisterComponent","useCoreCommerce"],"mappings":"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"}
@@ -401,9 +401,8 @@ var removeCartCookie = function removeCartCookie() {
401
401
  return removeCookies(COMMERCETOOLS_CART_COOKIE);
402
402
  };
403
403
 
404
- var _ref;
405
- var createCart = function createCart(_x) {
406
- return (_ref = _ref || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
404
+ var createCart = /*#__PURE__*/function () {
405
+ var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
407
406
  var draft, cart;
408
407
  return _regeneratorRuntime().wrap(function _callee$(_context) {
409
408
  while (1) switch (_context.prev = _context.next) {
@@ -431,12 +430,14 @@ var createCart = function createCart(_x) {
431
430
  return _context.stop();
432
431
  }
433
432
  }, _callee);
434
- }))).apply(this, arguments);
435
- };
433
+ }));
434
+ return function createCart(_x) {
435
+ return _ref.apply(this, arguments);
436
+ };
437
+ }();
436
438
 
437
- var _ref$1;
438
- var getActiveCart = function getActiveCart(_x) {
439
- return (_ref$1 = _ref$1 || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
439
+ var getActiveCart = /*#__PURE__*/function () {
440
+ var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
440
441
  var cartId, activeCart;
441
442
  return _regeneratorRuntime().wrap(function _callee$(_context) {
442
443
  while (1) switch (_context.prev = _context.next) {
@@ -475,8 +476,11 @@ var getActiveCart = function getActiveCart(_x) {
475
476
  return _context.stop();
476
477
  }
477
478
  }, _callee);
478
- }))).apply(this, arguments);
479
- };
479
+ }));
480
+ return function getActiveCart(_x) {
481
+ return _ref.apply(this, arguments);
482
+ };
483
+ }();
480
484
 
481
485
  var getLocalizedString = function getLocalizedString(localizedString, locale) {
482
486
  return !localizedString || !locale ? undefined : locale in localizedString ? localizedString[locale] : Object.values(localizedString)[0];
@@ -853,11 +857,10 @@ var handler$3 = {
853
857
  useHook: function useHook(_ref2) {
854
858
  var fetch = _ref2.fetch;
855
859
  return function () {
856
- var _addItem;
857
860
  var _useCart = useCart(),
858
861
  mutate = _useCart.mutate;
859
- return useCallback(function addItem(_x) {
860
- return (_addItem = _addItem || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
862
+ return useCallback( /*#__PURE__*/function () {
863
+ var _addItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
861
864
  var data;
862
865
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
863
866
  while (1) switch (_context2.prev = _context2.next) {
@@ -877,8 +880,12 @@ var handler$3 = {
877
880
  return _context2.stop();
878
881
  }
879
882
  }, _callee2);
880
- }))).apply(this, arguments);
881
- }, [fetch, mutate]);
883
+ }));
884
+ function addItem(_x) {
885
+ return _addItem.apply(this, arguments);
886
+ }
887
+ return addItem;
888
+ }(), [fetch, mutate]);
882
889
  };
883
890
  }
884
891
  };
@@ -1011,13 +1018,12 @@ var initCommercetoolsSDKClient = function initCommercetoolsSDKClient(creds) {
1011
1018
  };
1012
1019
 
1013
1020
  var getFetcher = function getFetcher(creds) {
1014
- var _ref2;
1015
1021
  var client = initCommercetoolsSDKClient(creds);
1016
1022
  var apiRoot = createApiBuilderFromCtpClient(client).withProjectKey({
1017
1023
  projectKey: creds.projectKey
1018
1024
  });
1019
- return function (_x) {
1020
- return (_ref2 = _ref2 || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
1025
+ return /*#__PURE__*/function () {
1026
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
1021
1027
  var method, variables, query, body, queryBuilder;
1022
1028
  return _regeneratorRuntime().wrap(function _callee$(_context) {
1023
1029
  while (1) switch (_context.prev = _context.next) {
@@ -1056,8 +1062,11 @@ var getFetcher = function getFetcher(creds) {
1056
1062
  return _context.stop();
1057
1063
  }
1058
1064
  }, _callee);
1059
- }))).apply(this, arguments);
1060
- };
1065
+ }));
1066
+ return function (_x) {
1067
+ return _ref2.apply(this, arguments);
1068
+ };
1069
+ }();
1061
1070
  };
1062
1071
 
1063
1072
  var getCommercetoolsProvider = function getCommercetoolsProvider(creds, locale) {
@@ -1 +1 @@
1
- {"version":3,"file":"commerce-commercetools.esm.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/product/use-search.tsx","../src/product/use-product.tsx","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/site/use-categories.tsx","../src/site/use-brands.tsx","../src/client.ts","../src/fetcher.ts","../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 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 { 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 { 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 { useCallback } from 'react'\nimport type { MutationHook } from '@plasmicpkgs/commerce';\nimport { useAddItem, UseAddItem } from '@plasmicpkgs/commerce';\nimport type { AddItemHook } from '../types/cart'\nimport useCart from './use-cart'\nimport { getActiveCart, normalizeCart, removeCartCookie, setCartId } from '../utils'\nimport { Cart, CartUpdate, ClientResponse } from '@commercetools/platform-sdk'\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 lineItem: CartUpdate = {\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 const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: 'carts',\n method: 'post',\n variables: {\n id: activeCart.id,\n },\n body: lineItem,\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 { 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 { 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 {\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 { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { getFetcher } from './fetcher'\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { COMMERCETOOLS_CART_COOKIE } from './const'\n\nexport interface CommercetoolsCredentials {\n projectKey: string;\n clientId: string;\n clientSecret: string;\n region: string;\n}\n\nexport const getCommercetoolsProvider = (creds: CommercetoolsCredentials, locale: string) => (\n {\n locale,\n cartCookie: COMMERCETOOLS_CART_COOKIE,\n cart: { useCart, useAddItem },\n fetcher: getFetcher(creds),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n }\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 React from \"react\";\nimport { getCommerceProvider } from \"./commercetools\";\nimport { getFetcher } from \"./fetcher\";\nimport { CommercetoolsCredentials } from \"./provider\";\nimport { Registerable } from \"./registerable\";\nimport {\n globalActionsRegistrations,\n CartActionsProvider,\n} from \"@plasmicpkgs/commerce\";\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 unstable__globalActions: globalActionsRegistrations as any,\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","_x","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_callee$","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","apply","arguments","getActiveCart","cartId","activeCart","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","dedup","concat","Set","currencyCode","money","price","centAmount","normalizeProductOption","option","__typename","displayName","Array","isArray","map","val","match","test","label","hexColors","normalizeProductImages","images","image","_extends","url","alt","width","dimensions","w","height","h","normalizeProductVariant","variant","_variant$prices$find$","_variant$prices","prices","find","_variant$prices2","sku","_variant$sku","_variant$attributes$m","_variant$attributes","attributes","attribute","key","requiresShipping","listPrice","normalizeProduct","product","_getLocalizedString","_getLocalizedString2","_product$masterVarian","_product$masterVarian2","_product$masterVarian3","slug","path","description","masterVariant","variants","flatMap","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeLineItem","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","input","provider","search","categoryId","count","expand","limit","_search","filters","response","products","results","found","useHook","_ref2","useData","brandId","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","_addItem","_callee2","_callee2$","_context2","categories","_response$data$length","initCommercetoolsSDKClient","creds","scopes","projectKey","authMiddlewareOptions","host","region","clientSecret","credentials","clientId","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","getFetcher","client","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","queryArgs","where","execute","getCommercetoolsProvider","cartCookie","useAddItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","unstable__globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","message","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
1
+ {"version":3,"file":"commerce-commercetools.esm.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/product/use-search.tsx","../src/product/use-product.tsx","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/site/use-categories.tsx","../src/site/use-brands.tsx","../src/client.ts","../src/fetcher.ts","../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 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 { 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 { 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 { useCallback } from 'react'\nimport type { MutationHook } from '@plasmicpkgs/commerce';\nimport { useAddItem, UseAddItem } from '@plasmicpkgs/commerce';\nimport type { AddItemHook } from '../types/cart'\nimport useCart from './use-cart'\nimport { getActiveCart, normalizeCart, removeCartCookie, setCartId } from '../utils'\nimport { Cart, CartUpdate, ClientResponse } from '@commercetools/platform-sdk'\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 lineItem: CartUpdate = {\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 const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: 'carts',\n method: 'post',\n variables: {\n id: activeCart.id,\n },\n body: lineItem,\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 { 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 { 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 {\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 { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { getFetcher } from './fetcher'\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { COMMERCETOOLS_CART_COOKIE } from './const'\n\nexport interface CommercetoolsCredentials {\n projectKey: string;\n clientId: string;\n clientSecret: string;\n region: string;\n}\n\nexport const getCommercetoolsProvider = (creds: CommercetoolsCredentials, locale: string) => (\n {\n locale,\n cartCookie: COMMERCETOOLS_CART_COOKIE,\n cart: { useCart, useAddItem },\n fetcher: getFetcher(creds),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n }\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 React from \"react\";\nimport { getCommerceProvider } from \"./commercetools\";\nimport { getFetcher } from \"./fetcher\";\nimport { CommercetoolsCredentials } from \"./provider\";\nimport { Registerable } from \"./registerable\";\nimport {\n globalActionsRegistrations,\n CartActionsProvider,\n} from \"@plasmicpkgs/commerce\";\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 unstable__globalActions: globalActionsRegistrations as any,\n importPath: \"@plasmicpkgs/commercetools\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { children, projectKey, clientId, clientSecret, region } = props;\n\n const creds = React.useMemo(\n () => ({ projectKey, clientId, clientSecret, region }),\n [projectKey, clientId, clientSecret, region]\n );\n\n const {\n data: locale,\n error,\n isLoading,\n } = usePlasmicQueryData(JSON.stringify({ creds }) + \"locale\", async () => {\n const fetcher = getFetcher(creds);\n const project: ClientResponse<Project> = await fetcher({ method: \"get\" });\n return project.body ? project.body.languages[0] : undefined;\n });\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(creds, locale ?? \"\"),\n [creds, locale]\n );\n\n if (isLoading) {\n return null;\n } else if (error || !locale) {\n throw new Error(error ? error.message : \"Project language not found\");\n }\n\n return (\n <CommerceProvider>\n <CartActionsProvider globalContextName={globalContextName}>\n {children}\n </CartActionsProvider>\n </CommerceProvider>\n );\n}\n\nexport function registerCommerceProvider(\n loader?: Registerable,\n customCommerceProviderMeta?: GlobalContextMeta<CommerceProviderProps>\n) {\n const doRegisterComponent: typeof registerGlobalContext = (...args) =>\n loader\n ? loader.registerGlobalContext(...args)\n : registerGlobalContext(...args);\n doRegisterComponent(\n CommerceProviderComponent,\n customCommerceProviderMeta ?? commerceProviderMeta\n );\n}\n","import { Registerable } from \"./registerable\";\nimport { registerCommerceProvider } from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\nexport * from \"./registerCommerceProvider\";\nexport * from \"./commercetools\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n"],"names":["getSortVariables","sort","isCategory","output","undefined","COMMERCETOOLS_COOKIE_EXPIRE","COMMERCETOOLS_CART_COOKIE","options","expires","sameSite","secure","getCookies","name","cookie","Cookies","get","JSON","parse","setCookies","value","set","stringify","removeCookies","remove","getCartId","setCartId","id","removeCartCookie","createCart","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_callee$","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","_x","apply","arguments","getActiveCart","cartId","activeCart","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","dedup","concat","Set","currencyCode","money","price","centAmount","normalizeProductOption","option","__typename","displayName","Array","isArray","map","val","match","test","label","hexColors","normalizeProductImages","images","image","_extends","url","alt","width","dimensions","w","height","h","normalizeProductVariant","variant","_variant$prices$find$","_variant$prices","prices","find","_variant$prices2","sku","_variant$sku","_variant$attributes$m","_variant$attributes","attributes","attribute","key","requiresShipping","listPrice","normalizeProduct","product","_getLocalizedString","_getLocalizedString2","_product$masterVarian","_product$masterVarian2","_product$masterVarian3","slug","path","description","masterVariant","variants","flatMap","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeLineItem","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","input","provider","search","categoryId","count","expand","limit","_search","filters","response","products","results","found","useHook","_ref2","useData","brandId","swrOptions","revalidateOnFocus","useMemo","create","isEmpty","_response$data$lineIt","_response$data","data","length","enumerable","Number","isInteger","version","actions","action","_item$quantity","updatedCart","_useCart","useCart","mutate","useCallback","_addItem","_callee2","_callee2$","_context2","addItem","categories","_response$data$length","initCommercetoolsSDKClient","creds","scopes","projectKey","authMiddlewareOptions","host","region","clientSecret","credentials","clientId","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","getFetcher","client","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","queryArgs","where","execute","getCommercetoolsProvider","cartCookie","useAddItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","unstable__globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","message","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/commerce-commercetools",
3
- "version": "0.0.111",
3
+ "version": "0.0.113",
4
4
  "description": "Plasmic registration calls for commercetools commerce provider",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "devDependencies": {
21
21
  "@plasmicapp/host": "1.0.151",
22
- "@plasmicapp/query": "0.1.68",
22
+ "@plasmicapp/query": "0.1.70",
23
23
  "@size-limit/preset-small-lib": "^4.11.0",
24
24
  "@types/js-cookie": "^3.0.1",
25
25
  "@types/node": "^14.0.26",
@@ -35,12 +35,12 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@commercetools/platform-sdk": "^2.8.0",
38
- "@plasmicpkgs/commerce": "0.0.163",
38
+ "@plasmicpkgs/commerce": "0.0.165",
39
39
  "@types/react": "^18.0.27",
40
40
  "qs": "^6.11.0"
41
41
  },
42
42
  "publishConfig": {
43
43
  "access": "public"
44
44
  },
45
- "gitHead": "dbe6519e32e754c106a17535505bd1ae7cff082d"
45
+ "gitHead": "388b5829f67de3782fe8afdad0d153b5c6d0aac0"
46
46
  }