@plasmicpkgs/commerce-local 0.0.163 → 0.0.165

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.
@@ -2610,9 +2610,8 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
2610
2610
  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2611
2611
  }
2612
2612
 
2613
- var _ref;
2614
- var fetcher = function fetcher() {
2615
- return (_ref = _ref || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
2613
+ var fetcher = /*#__PURE__*/function () {
2614
+ var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
2616
2615
  var res, _yield$res$json, data;
2617
2616
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2618
2617
  while (1) switch (_context.prev = _context.next) {
@@ -2639,8 +2638,11 @@ var fetcher = function fetcher() {
2639
2638
  return _context.stop();
2640
2639
  }
2641
2640
  }, _callee);
2642
- }))).apply(this, arguments);
2643
- };
2641
+ }));
2642
+ return function fetcher() {
2643
+ return _ref.apply(this, arguments);
2644
+ };
2645
+ }();
2644
2646
 
2645
2647
  var LOCAL_CART_OBJ = "localCartObj";
2646
2648
  var LOCAL_CART_ID = "localCartId";
@@ -2781,11 +2783,10 @@ var handler$1 = {
2781
2783
  useHook: function useHook(_ref2) {
2782
2784
  var fetch = _ref2.fetch;
2783
2785
  return function () {
2784
- var _addItem;
2785
2786
  var _useCart = commerce.useCart(),
2786
2787
  mutate = _useCart.mutate;
2787
- return React.useCallback(function addItem(_x) {
2788
- return (_addItem = _addItem || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
2788
+ return React.useCallback( /*#__PURE__*/function () {
2789
+ var _addItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
2789
2790
  var data;
2790
2791
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
2791
2792
  while (1) switch (_context2.prev = _context2.next) {
@@ -2805,8 +2806,12 @@ var handler$1 = {
2805
2806
  return _context2.stop();
2806
2807
  }
2807
2808
  }, _callee2);
2808
- }))).apply(this, arguments);
2809
- }, [fetch, mutate]);
2809
+ }));
2810
+ function addItem(_x) {
2811
+ return _addItem.apply(this, arguments);
2812
+ }
2813
+ return addItem;
2814
+ }(), [fetch, mutate]);
2810
2815
  };
2811
2816
  }
2812
2817
  };
@@ -2829,9 +2834,8 @@ var handler$2 = {
2829
2834
  },
2830
2835
  useHook: function useHook(_ref2) {
2831
2836
  return function () {
2832
- var _addItem;
2833
- return function addItem() {
2834
- return (_addItem = _addItem || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
2837
+ return /*#__PURE__*/function () {
2838
+ var _addItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
2835
2839
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
2836
2840
  while (1) switch (_context2.prev = _context2.next) {
2837
2841
  case 0:
@@ -2841,8 +2845,12 @@ var handler$2 = {
2841
2845
  return _context2.stop();
2842
2846
  }
2843
2847
  }, _callee2);
2844
- }))).apply(this, arguments);
2845
- };
2848
+ }));
2849
+ function addItem() {
2850
+ return _addItem.apply(this, arguments);
2851
+ }
2852
+ return addItem;
2853
+ }();
2846
2854
  };
2847
2855
  }
2848
2856
  };
@@ -2865,9 +2873,8 @@ var handler$3 = {
2865
2873
  },
2866
2874
  useHook: function useHook(_ref2) {
2867
2875
  return function () {
2868
- var _removeItem;
2869
- return function removeItem(_x) {
2870
- return (_removeItem = _removeItem || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
2876
+ return /*#__PURE__*/function () {
2877
+ var _removeItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
2871
2878
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
2872
2879
  while (1) switch (_context2.prev = _context2.next) {
2873
2880
  case 0:
@@ -2877,8 +2884,12 @@ var handler$3 = {
2877
2884
  return _context2.stop();
2878
2885
  }
2879
2886
  }, _callee2);
2880
- }))).apply(this, arguments);
2881
- };
2887
+ }));
2888
+ function removeItem(_x) {
2889
+ return _removeItem.apply(this, arguments);
2890
+ }
2891
+ return removeItem;
2892
+ }();
2882
2893
  };
2883
2894
  }
2884
2895
  };
@@ -1 +1 @@
1
- {"version":3,"file":"commerce-local.cjs.development.js","sources":["../src/fetcher.ts","../src/const.ts","../src/utils/cart.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-update-item.tsx","../src/cart/use-remove-item.tsx","../src/utils/sort-product.ts","../src/product/use-search.tsx","../src/product/use-product.tsx","../src/site/use-categories.ts","../src/site/use-brands.ts","../src/provider.ts","../src/local.ts","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["import { Fetcher } from '@plasmicpkgs/commerce';\n\nexport const fetcher: Fetcher = async () => {\n console.log('FETCHER')\n const res = await fetch('./data.json')\n if (res.ok) {\n const { data } = await res.json()\n return data\n }\n throw res\n}\n","export const LOCAL_CART_OBJ = \"localCartObj\";\n\nexport const LOCAL_CART_ID = \"localCartId\";\n","import { CartType } from \"@plasmicpkgs/commerce\";\nimport Cookies from \"js-cookie\";\nimport { LOCAL_CART_ID, LOCAL_CART_OBJ } from \"../const\";\n\nconst options: Cookies.CookieAttributes = {\n sameSite: \"none\",\n secure: true,\n};\n\nexport const createCart: () => CartType.Cart = () => {\n const cart = {\n id: \"\",\n createdAt: \"\",\n currency: { code: \"USD\" },\n taxesIncluded: false,\n lineItems: [],\n lineItemsSubtotalPrice: 0,\n subtotalPrice: 0,\n totalPrice: 0,\n };\n\n const cartId = Date.now().toString();\n\n Cookies.set(LOCAL_CART_ID, cartId);\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: cartId,\n cart,\n })\n );\n\n return cart;\n};\n\nexport const getCart: (cartId?: string) => CartType.Cart = (\n cartId?: string\n) => {\n cartId = cartId ?? Cookies.get(LOCAL_CART_ID);\n const cartStr = Cookies.get(LOCAL_CART_OBJ);\n const cart = cartStr ? JSON.parse(cartStr) : undefined;\n\n if (!cart || cart.id !== cartId) {\n return createCart();\n } else {\n return cart.cart;\n }\n};\n\nexport const cartUpdate = (newCart: CartType.Cart) => {\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: Cookies.get(LOCAL_CART_ID),\n cart: newCart,\n })\n );\n\n return newCart;\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Before: just returned an empty cart.\n - Now: Read cart from local storage.\n*/\nimport { SWRHook, useCart, UseCart } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { getCart } from \"../utils/cart\";\n\nexport default useCart as UseCart<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-cart\",\n },\n async fetcher({ input, options, fetch }) {\n return getCart(input.cartId);\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Implemented a local cart\n - The items are added to local storage.\n*/\nimport {\n CommerceError,\n MutationHook,\n useAddItem,\n UseAddItem,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport data from \"../data.json\";\nimport { cartUpdate, getCart } from \"../utils/cart\";\nimport useCart from \"./use-cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: \"use-add-item\",\n },\n async fetcher({ input: item, options, fetch }) {\n if (\n item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)\n ) {\n throw new CommerceError({\n message: \"The item quantity has to be a valid integer greater than 0\",\n });\n }\n\n const lineItem = {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n };\n\n const cart = getCart();\n for (const product of data.products) {\n const variant = (product.variants as any[]).find(\n (variant) => variant.id === item.variantId\n );\n if (variant) {\n cart.totalPrice += variant.price * (item.quantity ?? 1);\n cart.currency.code = product.price.currencyCode;\n const currentLineItem = cart.lineItems.find(\n (item) => item.variantId === lineItem.variantId\n );\n if (!currentLineItem) {\n cart.lineItems.push(lineItem as any);\n } else {\n currentLineItem.quantity += lineItem.quantity;\n }\n }\n }\n\n return cartUpdate(cart);\n },\n useHook: ({ fetch }) => () => {\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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport { useUpdateItem,\n UseUpdateItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useUpdateItem as UseUpdateItem<any>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function addItem() {\n return {}\n }\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport {useRemoveItem,\n UseRemoveItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function removeItem(input) {\n return {}\n }\n },\n}\n","import data from \"../data.json\";\n\nexport const sortProduct = (\n a: typeof data.products[0],\n b: typeof data.products[0],\n sortKey: string\n) => {\n switch (sortKey) {\n case \"price-asc\":\n return a.price.value < b.price.value ? -1 : 1;\n case \"price-desc\":\n return a.price.value < b.price.value ? 1 : -1;\n case \"trending-desc\":\n return a.id.localeCompare(b.id);\n case \"latest-desc\":\n return a.id.localeCompare(b.id) * -1;\n default:\n return 0;\n }\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nimport { sortProduct } from \"../utils/sort-product\";\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-search\",\n },\n async fetcher({ input, options, fetch }) {\n const { search, categoryId, brandId, sort, count } = input;\n\n let products = data.products;\n\n if (categoryId) {\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n products = data.products.filter((product) =>\n category?.products?.includes(product.id)\n );\n }\n\n if (brandId) {\n products = products.filter(\n (product) =>\n product.vendor.replace(/\\s+/g, \"-\").toLowerCase() ===\n `${brandId}`.toLowerCase()\n );\n }\n\n if (search) {\n products = products.filter(\n (product) =>\n product.name.toLowerCase().includes(`${search}`.toLowerCase()) ||\n product.slug.toLowerCase().includes(`${search}`.toLowerCase())\n );\n }\n\n if (sort) {\n products = products.sort((a, b) => sortProduct(a, b, sort));\n }\n\n return {\n products: products.slice(0, count),\n found: products.length > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"prefixSearch\", input.prefixSearch],\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, useProduct, UseProduct } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nexport default useProduct as UseProduct<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-product\",\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n\n return (\n data.products.find((product) =>\n [product.id, product.slug].includes(id)\n ) ?? null\n );\n },\n useHook: ({ useData }) => (input = {}) => {\n return useData({\n input: [[\"id\", input.id]],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook, useCategories, UseCategories } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-categories\",\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n if (!categoryId) {\n return data.categories;\n }\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n return category ? [category] : [];\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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, useBrands, UseBrands } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useBrands as UseBrands<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-brands\",\n },\n async fetcher({ input, options, fetch }) {\n const vendorsStrings = data.products.map((product) => product.vendor);\n return Array.from(new Set(vendorsStrings).values()).map((v) => {\n const id = v.replace(/\\s+/g, \"-\").toLowerCase();\n return {\n entityId: id,\n name: v,\n path: `brands/${id}`,\n };\n });\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Removed authentication, customer and wishlist hooks\n*/\nimport { fetcher } from './fetcher'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { LOCAL_CART_ID } from './const'\nexport const localProvider = {\n locale: 'en-us',\n cartCookie: LOCAL_CART_ID,\n fetcher: fetcher,\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n}\n\nexport type LocalProvider = typeof localProvider\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Add export data\n*/\nexport * from \"./registerable\";\nexport { localProvider, data };\nexport type { LocalProvider };\nimport {\n getCommerceProvider,\n useCommerce as useCoreCommerce,\n} from \"@plasmicpkgs/commerce\";\nimport data from \"./data.json\";\nimport { localProvider, LocalProvider } from \"./provider\";\n\nexport const CommerceProvider = getCommerceProvider(localProvider);\n\nexport const useCommerce = () => useCoreCommerce<LocalProvider>();\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport { CommerceProvider } from \"./local\";\nimport { Registerable } from \"./registerable\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n}\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: \"plasmic-commerce-local-provider\",\n displayName: \"Local Provider\",\n props: {},\n importPath: \"@plasmicpkgs/commerce-local\",\n importName: \"CommerceProviderComponent\",\n};\n\nfunction CommerceProviderComponent(props: CommerceProviderProps) {\n return <CommerceProvider>{props.children}</CommerceProvider>;\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\";\n\nexport * from \"./local\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n\nexport { registerCommerceProvider };"],"names":["fetcher","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","_yield$res$json","data","wrap","_callee$","_context","prev","next","console","log","fetch","sent","ok","json","abrupt","stop","apply","arguments","LOCAL_CART_OBJ","LOCAL_CART_ID","createCart","cart","id","createdAt","currency","code","taxesIncluded","lineItems","lineItemsSubtotalPrice","subtotalPrice","totalPrice","cartId","Date","now","toString","Cookies","set","JSON","stringify","getCart","_cartId","get","cartStr","parse","undefined","cartUpdate","newCart","handler","fetchOptions","query","input","options","useHook","_ref2","useData","response","swrOptions","_extends","revalidateOnFocus","React","useMemo","Object","create","isEmpty","_response$data$lineIt","_response$data","length","enumerable","item","quantity","Number","isInteger","CommerceError","message","lineItem","variantId","_item$quantity","_iterator","_createForOfIteratorHelperLoose","products","_step","done","product","value","variant","variants","find","price","_item$quantity2","currencyCode","currentLineItem","push","_useCart","useCart","mutate","useCallback","addItem","_x","_addItem","_callee2","_callee2$","_context2","removeItem","_removeItem","sortProduct","a","b","sortKey","localeCompare","search","categoryId","brandId","sort","count","category","categories","filter","_category$products","includes","vendor","replace","toLowerCase","name","slug","slice","found","prefixSearch","locale","_data$products$find","_response$data$length","vendorsStrings","map","Array","from","Set","values","v","entityId","path","localProvider","cartCookie","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","CommerceProvider","getCommerceProvider","useCommerce","useCoreCommerce","commerceProviderMeta","displayName","props","importPath","importName","CommerceProviderComponent","children","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"commerce-local.cjs.development.js","sources":["../src/fetcher.ts","../src/const.ts","../src/utils/cart.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-update-item.tsx","../src/cart/use-remove-item.tsx","../src/utils/sort-product.ts","../src/product/use-search.tsx","../src/product/use-product.tsx","../src/site/use-categories.ts","../src/site/use-brands.ts","../src/provider.ts","../src/local.ts","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["import { Fetcher } from '@plasmicpkgs/commerce';\n\nexport const fetcher: Fetcher = async () => {\n console.log('FETCHER')\n const res = await fetch('./data.json')\n if (res.ok) {\n const { data } = await res.json()\n return data\n }\n throw res\n}\n","export const LOCAL_CART_OBJ = \"localCartObj\";\n\nexport const LOCAL_CART_ID = \"localCartId\";\n","import { CartType } from \"@plasmicpkgs/commerce\";\nimport Cookies from \"js-cookie\";\nimport { LOCAL_CART_ID, LOCAL_CART_OBJ } from \"../const\";\n\nconst options: Cookies.CookieAttributes = {\n sameSite: \"none\",\n secure: true,\n};\n\nexport const createCart: () => CartType.Cart = () => {\n const cart = {\n id: \"\",\n createdAt: \"\",\n currency: { code: \"USD\" },\n taxesIncluded: false,\n lineItems: [],\n lineItemsSubtotalPrice: 0,\n subtotalPrice: 0,\n totalPrice: 0,\n };\n\n const cartId = Date.now().toString();\n\n Cookies.set(LOCAL_CART_ID, cartId);\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: cartId,\n cart,\n })\n );\n\n return cart;\n};\n\nexport const getCart: (cartId?: string) => CartType.Cart = (\n cartId?: string\n) => {\n cartId = cartId ?? Cookies.get(LOCAL_CART_ID);\n const cartStr = Cookies.get(LOCAL_CART_OBJ);\n const cart = cartStr ? JSON.parse(cartStr) : undefined;\n\n if (!cart || cart.id !== cartId) {\n return createCart();\n } else {\n return cart.cart;\n }\n};\n\nexport const cartUpdate = (newCart: CartType.Cart) => {\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: Cookies.get(LOCAL_CART_ID),\n cart: newCart,\n })\n );\n\n return newCart;\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Before: just returned an empty cart.\n - Now: Read cart from local storage.\n*/\nimport { SWRHook, useCart, UseCart } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { getCart } from \"../utils/cart\";\n\nexport default useCart as UseCart<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-cart\",\n },\n async fetcher({ input, options, fetch }) {\n return getCart(input.cartId);\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Implemented a local cart\n - The items are added to local storage.\n*/\nimport {\n CommerceError,\n MutationHook,\n useAddItem,\n UseAddItem,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport data from \"../data.json\";\nimport { cartUpdate, getCart } from \"../utils/cart\";\nimport useCart from \"./use-cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: \"use-add-item\",\n },\n async fetcher({ input: item, options, fetch }) {\n if (\n item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)\n ) {\n throw new CommerceError({\n message: \"The item quantity has to be a valid integer greater than 0\",\n });\n }\n\n const lineItem = {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n };\n\n const cart = getCart();\n for (const product of data.products) {\n const variant = (product.variants as any[]).find(\n (variant) => variant.id === item.variantId\n );\n if (variant) {\n cart.totalPrice += variant.price * (item.quantity ?? 1);\n cart.currency.code = product.price.currencyCode;\n const currentLineItem = cart.lineItems.find(\n (item) => item.variantId === lineItem.variantId\n );\n if (!currentLineItem) {\n cart.lineItems.push(lineItem as any);\n } else {\n currentLineItem.quantity += lineItem.quantity;\n }\n }\n }\n\n return cartUpdate(cart);\n },\n useHook: ({ fetch }) => () => {\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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport { useUpdateItem,\n UseUpdateItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useUpdateItem as UseUpdateItem<any>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function addItem() {\n return {}\n }\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport {useRemoveItem,\n UseRemoveItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function removeItem(input) {\n return {}\n }\n },\n}\n","import data from \"../data.json\";\n\nexport const sortProduct = (\n a: typeof data.products[0],\n b: typeof data.products[0],\n sortKey: string\n) => {\n switch (sortKey) {\n case \"price-asc\":\n return a.price.value < b.price.value ? -1 : 1;\n case \"price-desc\":\n return a.price.value < b.price.value ? 1 : -1;\n case \"trending-desc\":\n return a.id.localeCompare(b.id);\n case \"latest-desc\":\n return a.id.localeCompare(b.id) * -1;\n default:\n return 0;\n }\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nimport { sortProduct } from \"../utils/sort-product\";\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-search\",\n },\n async fetcher({ input, options, fetch }) {\n const { search, categoryId, brandId, sort, count } = input;\n\n let products = data.products;\n\n if (categoryId) {\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n products = data.products.filter((product) =>\n category?.products?.includes(product.id)\n );\n }\n\n if (brandId) {\n products = products.filter(\n (product) =>\n product.vendor.replace(/\\s+/g, \"-\").toLowerCase() ===\n `${brandId}`.toLowerCase()\n );\n }\n\n if (search) {\n products = products.filter(\n (product) =>\n product.name.toLowerCase().includes(`${search}`.toLowerCase()) ||\n product.slug.toLowerCase().includes(`${search}`.toLowerCase())\n );\n }\n\n if (sort) {\n products = products.sort((a, b) => sortProduct(a, b, sort));\n }\n\n return {\n products: products.slice(0, count),\n found: products.length > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"prefixSearch\", input.prefixSearch],\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, useProduct, UseProduct } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nexport default useProduct as UseProduct<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-product\",\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n\n return (\n data.products.find((product) =>\n [product.id, product.slug].includes(id)\n ) ?? null\n );\n },\n useHook: ({ useData }) => (input = {}) => {\n return useData({\n input: [[\"id\", input.id]],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook, useCategories, UseCategories } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-categories\",\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n if (!categoryId) {\n return data.categories;\n }\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n return category ? [category] : [];\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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, useBrands, UseBrands } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useBrands as UseBrands<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-brands\",\n },\n async fetcher({ input, options, fetch }) {\n const vendorsStrings = data.products.map((product) => product.vendor);\n return Array.from(new Set(vendorsStrings).values()).map((v) => {\n const id = v.replace(/\\s+/g, \"-\").toLowerCase();\n return {\n entityId: id,\n name: v,\n path: `brands/${id}`,\n };\n });\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Removed authentication, customer and wishlist hooks\n*/\nimport { fetcher } from './fetcher'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { LOCAL_CART_ID } from './const'\nexport const localProvider = {\n locale: 'en-us',\n cartCookie: LOCAL_CART_ID,\n fetcher: fetcher,\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n}\n\nexport type LocalProvider = typeof localProvider\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Add export data\n*/\nexport * from \"./registerable\";\nexport { localProvider, data };\nexport type { LocalProvider };\nimport {\n getCommerceProvider,\n useCommerce as useCoreCommerce,\n} from \"@plasmicpkgs/commerce\";\nimport data from \"./data.json\";\nimport { localProvider, LocalProvider } from \"./provider\";\n\nexport const CommerceProvider = getCommerceProvider(localProvider);\n\nexport const useCommerce = () => useCoreCommerce<LocalProvider>();\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport { CommerceProvider } from \"./local\";\nimport { Registerable } from \"./registerable\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n}\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: \"plasmic-commerce-local-provider\",\n displayName: \"Local Provider\",\n props: {},\n importPath: \"@plasmicpkgs/commerce-local\",\n importName: \"CommerceProviderComponent\",\n};\n\nfunction CommerceProviderComponent(props: CommerceProviderProps) {\n return <CommerceProvider>{props.children}</CommerceProvider>;\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\";\n\nexport * from \"./local\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n\nexport { registerCommerceProvider };"],"names":["fetcher","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","_yield$res$json","data","wrap","_callee$","_context","prev","next","console","log","fetch","sent","ok","json","abrupt","stop","apply","arguments","LOCAL_CART_OBJ","LOCAL_CART_ID","createCart","cart","id","createdAt","currency","code","taxesIncluded","lineItems","lineItemsSubtotalPrice","subtotalPrice","totalPrice","cartId","Date","now","toString","Cookies","set","JSON","stringify","getCart","_cartId","get","cartStr","parse","undefined","cartUpdate","newCart","handler","fetchOptions","query","input","options","useHook","_ref2","useData","response","swrOptions","_extends","revalidateOnFocus","React","useMemo","Object","create","isEmpty","_response$data$lineIt","_response$data","length","enumerable","item","quantity","Number","isInteger","CommerceError","message","lineItem","variantId","_item$quantity","_iterator","_createForOfIteratorHelperLoose","products","_step","done","product","value","variant","variants","find","price","_item$quantity2","currencyCode","currentLineItem","push","_useCart","useCart","mutate","useCallback","_addItem","_callee2","_callee2$","_context2","addItem","_x","_removeItem","removeItem","sortProduct","a","b","sortKey","localeCompare","search","categoryId","brandId","sort","count","category","categories","filter","_category$products","includes","vendor","replace","toLowerCase","name","slug","slice","found","prefixSearch","locale","_data$products$find","_response$data$length","vendorsStrings","map","Array","from","Set","values","v","entityId","path","localProvider","cartCookie","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","CommerceProvider","getCommerceProvider","useCommerce","useCoreCommerce","commerceProviderMeta","displayName","props","importPath","importName","CommerceProviderComponent","children","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 i,t=e(require("@plasmicapp/host/registerGlobalContext")),a=require("react"),l=e(a),r=require("@plasmicpkgs/commerce"),n=e(require("js-cookie")),o={categories:[{id:"id::270412710052",name:"New Arrivals",slug:"clothes",path:"/clothes",isEmpty:!1,products:["id::5447323812004","id::5447324270756","id::5447324729508","id::5447325024420","id::6621772644516"]},{id:"id::271211167908",name:"Featured",slug:"featured",path:"/featured",isEmpty:!1,products:["id::5447323156644","id::5447323812004","id::6621772644516"]}],products:[{id:"id::5447322697892",name:"Special Edition T-Shirt",vendor:"ACME",path:"/conf-shirt",slug:"conf-shirt",price:{value:50,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/conf-shirt-0.png",altText:null,width:958,height:1e3},{url:"https://static1.plasmic.app/commerce/conf-shirt-1.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/conf-shirt-2.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/conf-shirt-3.png",altText:null,width:1e3,height:1e3}],variants:[{id:"id::40047332688036",name:"Black / S",sku:"",price:200,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40047332688036",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40047332688036",displayName:"size",values:[{label:"S"}]}]},{id:"id::40009056387236",name:"Black / M",sku:"",price:200,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40009056387236",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40009056387236",displayName:"size",values:[{label:"M"}]}]},{id:"id::40064229212324",name:"Black / L",sku:"",price:200,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40064229212324",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40064229212324",displayName:"size",values:[{label:"L"}]}]},{id:"id::40073451602084",name:"Black / XL",sku:"",price:50,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40073451602084",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40073451602084",displayName:"size",values:[{label:"XL"}]}]},{id:"id::40073450061988",name:"Black / XXL",sku:"",price:50,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40073450061988",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40073450061988",displayName:"size",values:[{label:"XXL"}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940501311652",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::6940501278884",displayName:"size",values:[{label:"S"},{label:"M"},{label:"L"},{label:"XL"},{label:"XXL"}]}],description:"Show off your love for Next.js and Vercel with this unique, limited edition t-shirt. This design is part of a limited run, numbered drop at the June 2021 Next.js Conf. It features a unique, handcrafted triangle design. Get it while supplies last – only 200 of these shirts will be made! All proceeds will be donated to charity.",descriptionHtml:'<p><meta charset="utf-8"><span>Show off your love for Next.js and Vercel with this unique, </span><strong>limited edition</strong><span> t-shirt. This design is part of a limited run, numbered drop at the June 2021 Next.js Conf. It features a unique, handcrafted triangle design. Get it while supplies last – only 200 of these shirts will be made! </span><strong>All proceeds will be donated to charity.</strong></p>'},{id:"id::5447323156644",name:"Quarter Zip",vendor:"ACME",path:"/quarter-zip",slug:"quarter-zip",price:{value:90,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/quarter-zip-0.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/quarter-zip-1.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/quarter-zip-2.png",altText:null,width:1e3,height:1e3}],variants:[{id:"id::40065999569060",name:"Black / S",sku:"",price:90,listPrice:20,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40065999569060",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40065999569060",displayName:"size",values:[{label:"S"}]}]},{id:"id::40008984756388",name:"Black / M",sku:"",price:90,listPrice:20,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40008984756388",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40008984756388",displayName:"size",values:[{label:"M"}]}]},{id:"id::40065122828452",name:"Black / L",sku:"",price:90,listPrice:20,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40065122828452",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40065122828452",displayName:"size",values:[{label:"L"}]}]},{id:"id::40065123713188",name:"Black / XL",sku:"",price:90,listPrice:20,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40065123713188",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40065123713188",displayName:"size",values:[{label:"XL"}]}]},{id:"id::40065125286052",name:"Black / XXL",sku:"",price:90,listPrice:20,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40065125286052",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40065125286052",displayName:"size",values:[{label:"XXL"}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940501835940",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::6940501803172",displayName:"size",values:[{label:"S"},{label:"M"},{label:"L"},{label:"XL"},{label:"XXL"}]}],description:"Show off your love for Next.js and Vercel with this unique, limited edition quarter zip. This design is part of a limited run, numbered drop at the June 2021 Next.js Conf. It features a unique, handcrafted triangle design. Get it while supplies last – only 200 of these shirts will be made! All proceeds will be donated to charity.",descriptionHtml:"<p>Show off your love for Next.js and Vercel with this unique, <strong>limited edition</strong> quarter zip. This design is part of a limited run, numbered drop at the June 2021 Next.js Conf. It features a unique, handcrafted triangle design. Get it while supplies last – only 200 of these shirts will be made! <strong>All proceeds will be donated to charity.</strong></p>"},{id:"id::5447323812004",name:"Sticker",vendor:"ACME",path:"/sticker",slug:"sticker",price:{value:0,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/sticker-0.png",altText:null,width:900,height:900}],variants:[{id:"id::40008892580004",name:"Gradient",sku:"",price:0,listPrice:60,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40008892580004",displayName:"color",values:[{label:"Gradient"}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940502524068",displayName:"color",values:[{label:"Gradient"}]}],description:"Wafer cupcake candy macaroon bonbon candy canes cheesecake candy. Donut chupa chups sesame snaps candy chocolate cake chocolate cake danish. Tart cotton candy gummies cotton candy sweet roll. Wafer pie chocolate cake. Caramels toffee gummies. Liquorice sweet oat cake chocolate candy canes toffee bear claw. Chocolate cupcake wafer. Halvah soufflé halvah. Dessert pastry toffee apple pie chocolate cake lemon drops. Tart carrot cake wafer halvah tiramisu fruitcake.",descriptionHtml:'<p><meta charset="utf-8">Wafer cupcake candy macaroon bonbon candy canes cheesecake candy. Donut chupa chups sesame snaps candy chocolate cake chocolate cake danish. Tart cotton candy gummies cotton candy sweet roll. Wafer pie chocolate cake. Caramels toffee gummies. Liquorice sweet oat cake chocolate candy canes toffee bear claw. Chocolate cupcake wafer. Halvah soufflé halvah. Dessert pastry toffee apple pie chocolate cake lemon drops. Tart carrot cake wafer halvah tiramisu fruitcake.<br></p>'},{id:"id::5447324270756",name:"Bomber Jacket",vendor:"Next.js",path:"/bomber-jacket",slug:"bomber-jacket",price:{value:635.99,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/bomber-jacket-0.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/bomber-jacket-1.png",altText:null,width:1e3,height:1e3}],variants:[{id:"id::40046243905700",name:"L / Black",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046243905700",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046243905700",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]}]},{id:"id::40046243938468",name:"L / DarkOliveGreen",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046243938468",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046243938468",displayName:"color",values:[{label:"DarkOliveGreen",hexColors:["#556B2F"]}]}]},{id:"id::40046243971236",name:"XL / Black",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046243971236",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046243971236",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]}]},{id:"id::40046244004004",name:"XL / DarkOliveGreen",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046244004004",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046244004004",displayName:"color",values:[{label:"DarkOliveGreen",hexColors:["#556B2F"]}]}]},{id:"id::40046244036772",name:"XXL / Black",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046244036772",displayName:"size",values:[{label:"XXL"}]},{__typename:"MultipleChoiceOption",id:"id::40046244036772",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]}]},{id:"id::40046244069540",name:"XXL / DarkOliveGreen",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046244069540",displayName:"size",values:[{label:"XXL"}]},{__typename:"MultipleChoiceOption",id:"id::40046244069540",displayName:"color",values:[{label:"DarkOliveGreen",hexColors:["#556B2F"]}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940503015588",displayName:"size",values:[{label:"L"},{label:"XL"},{label:"XXL"}]},{__typename:"MultipleChoiceOption",id:"id::8655769764004",displayName:"color",values:[{label:"Black",hexColors:["#000000"]},{label:"DarkOliveGreen",hexColors:["#556B2F"]}]}],description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.",descriptionHtml:"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.</p>"},{id:"id::5447324729508",name:"Short Sleeve T-Shirt",vendor:"Next.js",path:"/short-sleeve-t-shirt",slug:"short-sleeve-t-shirt",price:{value:35,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/short-sleeve-t-shirt-0.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/short-sleeve-t-shirt-1.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/short-sleeve-t-shirt-2.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/short-sleeve-t-shirt-3.png",altText:null,width:1e3,height:1e3}],variants:[{id:"id::35180690669732",name:"M / gray",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::35180690669732",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::35180690669732",displayName:"color",values:[{label:"gray",hexColors:["#808080"]}]}]},{id:"id::35180690702500",name:"L / gray",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::35180690702500",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::35180690702500",displayName:"color",values:[{label:"gray",hexColors:["#808080"]}]}]},{id:"id::35180690735268",name:"XL / gray",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::35180690735268",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::35180690735268",displayName:"color",values:[{label:"gray",hexColors:["#808080"]}]}]},{id:"id::40046203437220",name:"M / beige",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046203437220",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046203437220",displayName:"color",values:[{label:"beige",hexColors:["#F5F5DC"]}]}]},{id:"id::40046207369380",name:"L / beige",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046207369380",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046207369380",displayName:"color",values:[{label:"beige",hexColors:["#F5F5DC"]}]}]},{id:"id::40046207729828",name:"XL / beige",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046207729828",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046207729828",displayName:"color",values:[{label:"beige",hexColors:["#F5F5DC"]}]}]},{id:"id::40046212612260",name:"M / white",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046212612260",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046212612260",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046212907172",name:"L / white",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046212907172",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046212907172",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046213300388",name:"XL / white",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046213300388",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046213300388",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046214742180",name:"M / DarkTurquoise",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046214742180",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046214742180",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046218346660",name:"L / DarkTurquoise",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046218346660",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046218346660",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046220214436",name:"XL / DarkTurquoise",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046220214436",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046220214436",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940503474340",displayName:"size",values:[{label:"M"},{label:"L"},{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::8655761178788",displayName:"color",values:[{label:"gray",hexColors:["#808080"]},{label:"beige",hexColors:["#F5F5DC"]},{label:"white",hexColors:["#FFFFFF"]},{label:"DarkTurquoise",hexColors:["#00CED1"]}]}],description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.",descriptionHtml:"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.</p>"},{id:"id::5447325024420",name:"New Short Sleeve T-Shirt",vendor:"Next.js",path:"/new-short-sleeve-t-shirt",slug:"new-short-sleeve-t-shirt",price:{value:25,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/new-short-sleeve-t-shirt-0.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/new-short-sleeve-t-shirt-1.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/new-short-sleeve-t-shirt-2.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/new-short-sleeve-t-shirt-3.png",altText:null,width:1e3,height:1e3}],variants:[{id:"id::40046230962340",name:"XS / white",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046230962340",displayName:"size",values:[{label:"XS"}]},{__typename:"MultipleChoiceOption",id:"id::40046230962340",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046230995108",name:"XS / grey",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046230995108",displayName:"size",values:[{label:"XS"}]},{__typename:"MultipleChoiceOption",id:"id::40046230995108",displayName:"color",values:[{label:"grey",hexColors:["#808080"]}]}]},{id:"id::40046231027876",name:"XS / DarkTurquoise",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231027876",displayName:"size",values:[{label:"XS"}]},{__typename:"MultipleChoiceOption",id:"id::40046231027876",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046231060644",name:"XS / LightSalmon",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231060644",displayName:"size",values:[{label:"XS"}]},{__typename:"MultipleChoiceOption",id:"id::40046231060644",displayName:"color",values:[{label:"LightSalmon",hexColors:["#FFA07A"]}]}]},{id:"id::40046231093412",name:"S / white",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231093412",displayName:"size",values:[{label:"S"}]},{__typename:"MultipleChoiceOption",id:"id::40046231093412",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046231126180",name:"S / grey",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231126180",displayName:"size",values:[{label:"S"}]},{__typename:"MultipleChoiceOption",id:"id::40046231126180",displayName:"color",values:[{label:"grey",hexColors:["#808080"]}]}]},{id:"id::40046231158948",name:"S / DarkTurquoise",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231158948",displayName:"size",values:[{label:"S"}]},{__typename:"MultipleChoiceOption",id:"id::40046231158948",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046231191716",name:"S / LightSalmon",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231191716",displayName:"size",values:[{label:"S"}]},{__typename:"MultipleChoiceOption",id:"id::40046231191716",displayName:"color",values:[{label:"LightSalmon",hexColors:["#FFA07A"]}]}]},{id:"id::40046231224484",name:"M / white",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231224484",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046231224484",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046231257252",name:"M / grey",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231257252",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046231257252",displayName:"color",values:[{label:"grey",hexColors:["#808080"]}]}]},{id:"id::40046231290020",name:"M / DarkTurquoise",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231290020",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046231290020",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046231322788",name:"M / LightSalmon",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231322788",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046231322788",displayName:"color",values:[{label:"LightSalmon",hexColors:["#FFA07A"]}]}]},{id:"id::40046231355556",name:"L / white",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231355556",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046231355556",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046231388324",name:"L / grey",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231388324",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046231388324",displayName:"color",values:[{label:"grey",hexColors:["#808080"]}]}]},{id:"id::40046231421092",name:"L / DarkTurquoise",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231421092",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046231421092",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046231453860",name:"L / LightSalmon",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231453860",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046231453860",displayName:"color",values:[{label:"LightSalmon",hexColors:["#FFA07A"]}]}]},{id:"id::40046231486628",name:"XL / white",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231486628",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046231486628",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046231519396",name:"XL / grey",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231519396",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046231519396",displayName:"color",values:[{label:"grey",hexColors:["#808080"]}]}]},{id:"id::40046231552164",name:"XL / DarkTurquoise",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231552164",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046231552164",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046231584932",name:"XL / LightSalmon",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231584932",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046231584932",displayName:"color",values:[{label:"LightSalmon",hexColors:["#FFA07A"]}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940503769252",displayName:"size",values:[{label:"XS"},{label:"S"},{label:"M"},{label:"L"},{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::8655765471396",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]},{label:"grey",hexColors:["#808080"]},{label:"DarkTurquoise",hexColors:["#00CED1"]},{label:"LightSalmon",hexColors:["#FFA07A"]}]}],description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.",descriptionHtml:"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.<br></p>"},{id:"id::6621772644516",name:"ACME Cup",vendor:"ACME",path:"/acme-cup",slug:"acme-cup",price:{value:25,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/acme-cup-0.png",altText:null,width:2048,height:2048},{url:"https://static1.plasmic.app/commerce/acme-cup-1.png",altText:null,width:2048,height:2048}],variants:[{id:"id::40064679805092",name:"White",sku:"200",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40064679805092",displayName:"color",values:[{label:"White",hexColors:["#FFFFFF"]}]}]},{id:"id::40064679837860",name:"Black",sku:"201",price:25,listPrice:null,requiresShipping:!0,availableForSale:!1,options:[{__typename:"MultipleChoiceOption",id:"id::40064679837860",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::8505918849188",displayName:"color",values:[{label:"White",hexColors:["#FFFFFF"]},{label:"Black",hexColors:["#000000"]}]}],description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.",descriptionHtml:'<meta charset="utf-8"><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.</span>'}]};function s(){s=function(){return i};var e,i={},t=Object.prototype,a=t.hasOwnProperty,l=Object.defineProperty||function(e,i,t){e[i]=t.value},r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";function p(e,i,t){return Object.defineProperty(e,i,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[i]}try{p({},"")}catch(e){p=function(e,i,t){return e[i]=t}}function c(e,i,t,a){var r=Object.create((i&&i.prototype instanceof f?i:f).prototype),n=new L(a||[]);return l(r,"_invoke",{value:F(e,t,n)}),r}function d(e,i,t){try{return{type:"normal",arg:e.call(i,t)}}catch(e){return{type:"throw",arg:e}}}i.wrap=c;var m="suspendedStart",h="executing",y="completed",v={};function f(){}function g(){}function b(){}var C={};p(C,n,(function(){return this}));var _=Object.getPrototypeOf,S=_&&_(_(q([])));S&&S!==t&&a.call(S,n)&&(C=S);var k=b.prototype=f.prototype=Object.create(C);function w(e){["next","throw","return"].forEach((function(i){p(e,i,(function(e){return this._invoke(i,e)}))}))}function O(e,i){function t(l,r,n,o){var s=d(e[l],e,r);if("throw"!==s.type){var u=s.arg,p=u.value;return p&&"object"==typeof p&&a.call(p,"__await")?i.resolve(p.__await).then((function(e){t("next",e,n,o)}),(function(e){t("throw",e,n,o)})):i.resolve(p).then((function(e){u.value=e,n(u)}),(function(e){return t("throw",e,n,o)}))}o(s.arg)}var r;l(this,"_invoke",{value:function(e,a){function l(){return new i((function(i,l){t(e,a,i,l)}))}return r=r?r.then(l,l):l()}})}function F(i,t,a){var l=m;return function(r,n){if(l===h)throw new Error("Generator is already running");if(l===y){if("throw"===r)throw n;return{value:e,done:!0}}for(a.method=r,a.arg=n;;){var o=a.delegate;if(o){var s=x(o,a);if(s){if(s===v)continue;return s}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(l===m)throw l=y,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);l=h;var u=d(i,t,a);if("normal"===u.type){if(l=a.done?y:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:a.done}}"throw"===u.type&&(l=y,a.method="throw",a.arg=u.arg)}}}function x(i,t){var a=t.method,l=i.iterator[a];if(l===e)return t.delegate=null,"throw"===a&&i.iterator.return&&(t.method="return",t.arg=e,x(i,t),"throw"===t.method)||"return"!==a&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+a+"' method")),v;var r=d(l,i.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,v;var n=r.arg;return n?n.done?(t[i.resultName]=n.value,t.next=i.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,v):n:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,v)}function M(e){var i={tryLoc:e[0]};1 in e&&(i.catchLoc=e[1]),2 in e&&(i.finallyLoc=e[2],i.afterLoc=e[3]),this.tryEntries.push(i)}function N(e){var i=e.completion||{};i.type="normal",delete i.arg,e.completion=i}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(M,this),this.reset(!0)}function q(i){if(i||""===i){var t=i[n];if(t)return t.call(i);if("function"==typeof i.next)return i;if(!isNaN(i.length)){var l=-1,r=function t(){for(;++l<i.length;)if(a.call(i,l))return t.value=i[l],t.done=!1,t;return t.value=e,t.done=!0,t};return r.next=r}}throw new TypeError(typeof i+" is not iterable")}return g.prototype=b,l(k,"constructor",{value:b,configurable:!0}),l(b,"constructor",{value:g,configurable:!0}),g.displayName=p(b,u,"GeneratorFunction"),i.isGeneratorFunction=function(e){var i="function"==typeof e&&e.constructor;return!!i&&(i===g||"GeneratorFunction"===(i.displayName||i.name))},i.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,p(e,u,"GeneratorFunction")),e.prototype=Object.create(k),e},i.awrap=function(e){return{__await:e}},w(O.prototype),p(O.prototype,o,(function(){return this})),i.AsyncIterator=O,i.async=function(e,t,a,l,r){void 0===r&&(r=Promise);var n=new O(c(e,t,a,l),r);return i.isGeneratorFunction(t)?n:n.next().then((function(e){return e.done?e.value:n.next()}))},w(k),p(k,u,"Generator"),p(k,n,(function(){return this})),p(k,"toString",(function(){return"[object Generator]"})),i.keys=function(e){var i=Object(e),t=[];for(var a in i)t.push(a);return t.reverse(),function e(){for(;t.length;){var a=t.pop();if(a in i)return e.value=a,e.done=!1,e}return e.done=!0,e}},i.values=q,L.prototype={constructor:L,reset:function(i){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(N),!i)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(i){if(this.done)throw i;var t=this;function l(a,l){return o.type="throw",o.arg=i,t.next=a,l&&(t.method="next",t.arg=e),!!l}for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r],o=n.completion;if("root"===n.tryLoc)return l("end");if(n.tryLoc<=this.prev){var s=a.call(n,"catchLoc"),u=a.call(n,"finallyLoc");if(s&&u){if(this.prev<n.catchLoc)return l(n.catchLoc,!0);if(this.prev<n.finallyLoc)return l(n.finallyLoc)}else if(s){if(this.prev<n.catchLoc)return l(n.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return l(n.finallyLoc)}}}},abrupt:function(e,i){for(var t=this.tryEntries.length-1;t>=0;--t){var l=this.tryEntries[t];if(l.tryLoc<=this.prev&&a.call(l,"finallyLoc")&&this.prev<l.finallyLoc){var r=l;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=i&&i<=r.finallyLoc&&(r=null);var n=r?r.completion:{};return n.type=e,n.arg=i,r?(this.method="next",this.next=r.finallyLoc,v):this.complete(n)},complete:function(e,i){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&&i&&(this.next=i),v},finish:function(e){for(var i=this.tryEntries.length-1;i>=0;--i){var t=this.tryEntries[i];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),N(t),v}},catch:function(e){for(var i=this.tryEntries.length-1;i>=0;--i){var t=this.tryEntries[i];if(t.tryLoc===e){var a=t.completion;if("throw"===a.type){var l=a.arg;N(t)}return l}}throw new Error("illegal catch attempt")},delegateYield:function(i,t,a){return this.delegate={iterator:q(i),resultName:t,nextLoc:a},"next"===this.method&&(this.arg=e),v}},i}function u(e,i,t,a,l,r,n){try{var o=e[r](n),s=o.value}catch(e){return void t(e)}o.done?i(s):Promise.resolve(s).then(a,l)}function p(e){return function(){var i=this,t=arguments;return new Promise((function(a,l){var r=e.apply(i,t);function n(e){u(r,a,l,n,o,"next",e)}function o(e){u(r,a,l,n,o,"throw",e)}n(void 0)}))}}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var i=1;i<arguments.length;i++){var t=arguments[i];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}function d(e,i){(null==i||i>e.length)&&(i=e.length);for(var t=0,a=new Array(i);t<i;t++)a[t]=e[t];return a}function m(e,i){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,i){if(e){if("string"==typeof e)return d(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?d(e,void 0):void 0}}(e))||i&&e&&"number"==typeof e.length){t&&(e=t);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h=function(e){var i;e=null!=(i=e)?i:n.get("localCartId");var t=n.get("localCartObj"),a=t?JSON.parse(t):void 0;return a&&a.id===e?a.cart:function(){var e={id:"",createdAt:"",currency:{code:"USD"},taxesIncluded:!1,lineItems:[],lineItemsSubtotalPrice:0,subtotalPrice:0,totalPrice:0},i=Date.now().toString();return n.set("localCartId",i),n.set("localCartObj",JSON.stringify({id:i,cart:e})),e}()},y=function(e,i,t){switch(t){case"price-asc":return e.price.value<i.price.value?-1:1;case"price-desc":return e.price.value<i.price.value?1:-1;case"trending-desc":return e.id.localeCompare(i.id);case"latest-desc":return-1*e.id.localeCompare(i.id);default:return 0}},v={locale:"en-us",cartCookie:"localCartId",fetcher:function(){return(i=i||p(s().mark((function e(){var i;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("FETCHER"),e.next=3,fetch("./data.json");case 3:if(!(i=e.sent).ok){e.next=10;break}return e.next=7,i.json();case 7:return e.abrupt("return",e.sent.data);case 10:throw i;case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)},cart:{useCart:{fetchOptions:{query:"use-cart"},fetcher:function(e){return p(s().mark((function i(){return s().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",h(e.input.cartId));case 2:case"end":return i.stop()}}),i)})))()},useHook:function(e){var i=e.useData;return function(e){var t=i({swrOptions:c({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return l.useMemo((function(){return Object.create(t,{isEmpty:{get:function(){var e,i;return(null!=(e=null==(i=t.data)?void 0:i.lineItems.length)?e:0)<=0},enumerable:!0}})}),[t])}}},useAddItem:{fetchOptions:{query:"use-add-item"},fetcher:function(e){return p(s().mark((function i(){var t,a,l,u,p,c,d,y,v,f;return s().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(!(a=e.input).quantity||Number.isInteger(a.quantity)&&!(a.quantity<1)){i.next=3;break}throw new r.CommerceError({message:"The item quantity has to be a valid integer greater than 0"});case 3:for(l={variantId:a.variantId,quantity:null!=(t=a.quantity)?t:1},u=h(),p=m(o.products);!(c=p()).done;)(y=(d=c.value).variants.find((function(e){return e.id===a.variantId})))&&(u.totalPrice+=y.price*(null!=(v=a.quantity)?v:1),u.currency.code=d.price.currencyCode,(f=u.lineItems.find((function(e){return e.variantId===l.variantId})))?f.quantity+=l.quantity:u.lineItems.push(l));return i.abrupt("return",(s=u,n.set("localCartObj",JSON.stringify({id:n.get("localCartId"),cart:s})),s));case 7:case"end":return i.stop()}var s}),i)})))()},useHook:function(e){var i=e.fetch;return function(){var e,t=r.useCart().mutate;return a.useCallback((function(a){return(e=e||p(s().mark((function e(a){var l;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i({input:a});case 2:return l=e.sent,e.next=5,t(l,!1);case 5:return e.abrupt("return",l);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}),[i,t])}}},useUpdateItem:{fetchOptions:{query:""},fetcher:function(e){return p(s().mark((function e(){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case 1:case"end":return e.stop()}}),e)})))()},useHook:function(e){return function(){var e;return function(){return(e=e||p(s().mark((function e(){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{});case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}}}},useRemoveItem:{fetchOptions:{query:""},fetcher:function(e){return p(s().mark((function e(){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case 1:case"end":return e.stop()}}),e)})))()},useHook:function(e){return function(){var e;return function(i){return(e=e||p(s().mark((function e(i){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{});case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}}}}},products:{useSearch:{fetchOptions:{query:"use-search"},fetcher:function(e){return p(s().mark((function i(){var t,a,l,r,n,u,p,c;return s().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return a=(t=e.input).search,r=t.brandId,n=t.sort,u=t.count,p=o.products,(l=t.categoryId)&&(c=o.categories.find((function(e){return e.id===l})),p=o.products.filter((function(e){var i;return null==c||null==(i=c.products)?void 0:i.includes(e.id)}))),r&&(p=p.filter((function(e){return e.vendor.replace(/\s+/g,"-").toLowerCase()===(""+r).toLowerCase()}))),a&&(p=p.filter((function(e){return e.name.toLowerCase().includes((""+a).toLowerCase())||e.slug.toLowerCase().includes((""+a).toLowerCase())}))),n&&(p=p.sort((function(e,i){return y(e,i,n)}))),i.abrupt("return",{products:p.slice(0,u),found:p.length>0});case 8:case"end":return i.stop()}}),i)})))()},useHook:function(e){var i=e.useData;return function(e){return void 0===e&&(e={}),i({input:[["search",e.search],["prefixSearch",e.prefixSearch],["categoryId",e.categoryId],["brandId",e.brandId],["sort",e.sort],["locale",e.locale],["count",e.count]],swrOptions:c({revalidateOnFocus:!1},e.swrOptions)})}}},useProduct:{fetchOptions:{query:"use-product"},fetcher:function(e){return p(s().mark((function i(){var t,a;return s().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return a=e.input.id,i.abrupt("return",null!=(t=o.products.find((function(e){return[e.id,e.slug].includes(a)})))?t:null);case 3:case"end":return i.stop()}}),i)})))()},useHook:function(e){var i=e.useData;return function(e){return void 0===e&&(e={}),i({input:[["id",e.id]],swrOptions:c({revalidateOnFocus:!1},e.swrOptions)})}}}},site:{useCategories:{fetchOptions:{query:"use-categories"},fetcher:function(e){return p(s().mark((function i(){var t,a;return s().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(t=e.input.categoryId){i.next=4;break}return i.abrupt("return",o.categories);case 4:return a=o.categories.find((function(e){return e.id===t})),i.abrupt("return",a?[a]:[]);case 6:case"end":return i.stop()}}),i)})))()},useHook:function(e){var i=e.useData;return function(e){var t=i({input:[["categoryId",null==e?void 0:e.categoryId]],swrOptions:c({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return l.useMemo((function(){return Object.create(t,{isEmpty:{get:function(){var e,i;return(null!=(e=null==(i=t.data)?void 0:i.length)?e:0)<=0},enumerable:!0}})}),[t])}}},useBrands:{fetchOptions:{query:"use-brands"},fetcher:function(e){return p(s().mark((function e(){var i;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=o.products.map((function(e){return e.vendor})),e.abrupt("return",Array.from(new Set(i).values()).map((function(e){var i=e.replace(/\s+/g,"-").toLowerCase();return{entityId:i,name:e,path:"brands/"+i}})));case 3:case"end":return e.stop()}}),e)})))()},useHook:function(e){var i=e.useData;return function(e){var t=i({swrOptions:c({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return l.useMemo((function(){return Object.create(t,{isEmpty:{get:function(){var e,i;return(null!=(e=null==(i=t.data)?void 0:i.length)?e:0)<=0},enumerable:!0}})}),[t])}}}}},f=r.getCommerceProvider(v),g={name:"plasmic-commerce-local-provider",displayName:"Local Provider",props:{},importPath:"@plasmicpkgs/commerce-local",importName:"CommerceProviderComponent"};function b(e){return l.createElement(f,null,e.children)}function C(e,i){!function(){e?e.registerGlobalContext.apply(e,arguments):t.apply(void 0,arguments)}(b,null!=i?i:g)}exports.CommerceProvider=f,exports.data=o,exports.localProvider=v,exports.registerAll=function(e){C(e)},exports.registerCommerceProvider=C,exports.useCommerce=function(){return r.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 i=e(require("@plasmicapp/host/registerGlobalContext")),t=require("react"),a=e(t),l=require("@plasmicpkgs/commerce"),r=e(require("js-cookie")),n={categories:[{id:"id::270412710052",name:"New Arrivals",slug:"clothes",path:"/clothes",isEmpty:!1,products:["id::5447323812004","id::5447324270756","id::5447324729508","id::5447325024420","id::6621772644516"]},{id:"id::271211167908",name:"Featured",slug:"featured",path:"/featured",isEmpty:!1,products:["id::5447323156644","id::5447323812004","id::6621772644516"]}],products:[{id:"id::5447322697892",name:"Special Edition T-Shirt",vendor:"ACME",path:"/conf-shirt",slug:"conf-shirt",price:{value:50,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/conf-shirt-0.png",altText:null,width:958,height:1e3},{url:"https://static1.plasmic.app/commerce/conf-shirt-1.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/conf-shirt-2.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/conf-shirt-3.png",altText:null,width:1e3,height:1e3}],variants:[{id:"id::40047332688036",name:"Black / S",sku:"",price:200,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40047332688036",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40047332688036",displayName:"size",values:[{label:"S"}]}]},{id:"id::40009056387236",name:"Black / M",sku:"",price:200,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40009056387236",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40009056387236",displayName:"size",values:[{label:"M"}]}]},{id:"id::40064229212324",name:"Black / L",sku:"",price:200,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40064229212324",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40064229212324",displayName:"size",values:[{label:"L"}]}]},{id:"id::40073451602084",name:"Black / XL",sku:"",price:50,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40073451602084",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40073451602084",displayName:"size",values:[{label:"XL"}]}]},{id:"id::40073450061988",name:"Black / XXL",sku:"",price:50,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40073450061988",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40073450061988",displayName:"size",values:[{label:"XXL"}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940501311652",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::6940501278884",displayName:"size",values:[{label:"S"},{label:"M"},{label:"L"},{label:"XL"},{label:"XXL"}]}],description:"Show off your love for Next.js and Vercel with this unique, limited edition t-shirt. This design is part of a limited run, numbered drop at the June 2021 Next.js Conf. It features a unique, handcrafted triangle design. Get it while supplies last – only 200 of these shirts will be made! All proceeds will be donated to charity.",descriptionHtml:'<p><meta charset="utf-8"><span>Show off your love for Next.js and Vercel with this unique, </span><strong>limited edition</strong><span> t-shirt. This design is part of a limited run, numbered drop at the June 2021 Next.js Conf. It features a unique, handcrafted triangle design. Get it while supplies last – only 200 of these shirts will be made! </span><strong>All proceeds will be donated to charity.</strong></p>'},{id:"id::5447323156644",name:"Quarter Zip",vendor:"ACME",path:"/quarter-zip",slug:"quarter-zip",price:{value:90,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/quarter-zip-0.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/quarter-zip-1.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/quarter-zip-2.png",altText:null,width:1e3,height:1e3}],variants:[{id:"id::40065999569060",name:"Black / S",sku:"",price:90,listPrice:20,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40065999569060",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40065999569060",displayName:"size",values:[{label:"S"}]}]},{id:"id::40008984756388",name:"Black / M",sku:"",price:90,listPrice:20,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40008984756388",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40008984756388",displayName:"size",values:[{label:"M"}]}]},{id:"id::40065122828452",name:"Black / L",sku:"",price:90,listPrice:20,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40065122828452",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40065122828452",displayName:"size",values:[{label:"L"}]}]},{id:"id::40065123713188",name:"Black / XL",sku:"",price:90,listPrice:20,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40065123713188",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40065123713188",displayName:"size",values:[{label:"XL"}]}]},{id:"id::40065125286052",name:"Black / XXL",sku:"",price:90,listPrice:20,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40065125286052",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::40065125286052",displayName:"size",values:[{label:"XXL"}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940501835940",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]},{__typename:"MultipleChoiceOption",id:"id::6940501803172",displayName:"size",values:[{label:"S"},{label:"M"},{label:"L"},{label:"XL"},{label:"XXL"}]}],description:"Show off your love for Next.js and Vercel with this unique, limited edition quarter zip. This design is part of a limited run, numbered drop at the June 2021 Next.js Conf. It features a unique, handcrafted triangle design. Get it while supplies last – only 200 of these shirts will be made! All proceeds will be donated to charity.",descriptionHtml:"<p>Show off your love for Next.js and Vercel with this unique, <strong>limited edition</strong> quarter zip. This design is part of a limited run, numbered drop at the June 2021 Next.js Conf. It features a unique, handcrafted triangle design. Get it while supplies last – only 200 of these shirts will be made! <strong>All proceeds will be donated to charity.</strong></p>"},{id:"id::5447323812004",name:"Sticker",vendor:"ACME",path:"/sticker",slug:"sticker",price:{value:0,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/sticker-0.png",altText:null,width:900,height:900}],variants:[{id:"id::40008892580004",name:"Gradient",sku:"",price:0,listPrice:60,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40008892580004",displayName:"color",values:[{label:"Gradient"}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940502524068",displayName:"color",values:[{label:"Gradient"}]}],description:"Wafer cupcake candy macaroon bonbon candy canes cheesecake candy. Donut chupa chups sesame snaps candy chocolate cake chocolate cake danish. Tart cotton candy gummies cotton candy sweet roll. Wafer pie chocolate cake. Caramels toffee gummies. Liquorice sweet oat cake chocolate candy canes toffee bear claw. Chocolate cupcake wafer. Halvah soufflé halvah. Dessert pastry toffee apple pie chocolate cake lemon drops. Tart carrot cake wafer halvah tiramisu fruitcake.",descriptionHtml:'<p><meta charset="utf-8">Wafer cupcake candy macaroon bonbon candy canes cheesecake candy. Donut chupa chups sesame snaps candy chocolate cake chocolate cake danish. Tart cotton candy gummies cotton candy sweet roll. Wafer pie chocolate cake. Caramels toffee gummies. Liquorice sweet oat cake chocolate candy canes toffee bear claw. Chocolate cupcake wafer. Halvah soufflé halvah. Dessert pastry toffee apple pie chocolate cake lemon drops. Tart carrot cake wafer halvah tiramisu fruitcake.<br></p>'},{id:"id::5447324270756",name:"Bomber Jacket",vendor:"Next.js",path:"/bomber-jacket",slug:"bomber-jacket",price:{value:635.99,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/bomber-jacket-0.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/bomber-jacket-1.png",altText:null,width:1e3,height:1e3}],variants:[{id:"id::40046243905700",name:"L / Black",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046243905700",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046243905700",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]}]},{id:"id::40046243938468",name:"L / DarkOliveGreen",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046243938468",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046243938468",displayName:"color",values:[{label:"DarkOliveGreen",hexColors:["#556B2F"]}]}]},{id:"id::40046243971236",name:"XL / Black",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046243971236",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046243971236",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]}]},{id:"id::40046244004004",name:"XL / DarkOliveGreen",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046244004004",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046244004004",displayName:"color",values:[{label:"DarkOliveGreen",hexColors:["#556B2F"]}]}]},{id:"id::40046244036772",name:"XXL / Black",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046244036772",displayName:"size",values:[{label:"XXL"}]},{__typename:"MultipleChoiceOption",id:"id::40046244036772",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]}]},{id:"id::40046244069540",name:"XXL / DarkOliveGreen",sku:"",price:635.99,listPrice:5200,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046244069540",displayName:"size",values:[{label:"XXL"}]},{__typename:"MultipleChoiceOption",id:"id::40046244069540",displayName:"color",values:[{label:"DarkOliveGreen",hexColors:["#556B2F"]}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940503015588",displayName:"size",values:[{label:"L"},{label:"XL"},{label:"XXL"}]},{__typename:"MultipleChoiceOption",id:"id::8655769764004",displayName:"color",values:[{label:"Black",hexColors:["#000000"]},{label:"DarkOliveGreen",hexColors:["#556B2F"]}]}],description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.",descriptionHtml:"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.</p>"},{id:"id::5447324729508",name:"Short Sleeve T-Shirt",vendor:"Next.js",path:"/short-sleeve-t-shirt",slug:"short-sleeve-t-shirt",price:{value:35,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/short-sleeve-t-shirt-0.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/short-sleeve-t-shirt-1.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/short-sleeve-t-shirt-2.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/short-sleeve-t-shirt-3.png",altText:null,width:1e3,height:1e3}],variants:[{id:"id::35180690669732",name:"M / gray",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::35180690669732",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::35180690669732",displayName:"color",values:[{label:"gray",hexColors:["#808080"]}]}]},{id:"id::35180690702500",name:"L / gray",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::35180690702500",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::35180690702500",displayName:"color",values:[{label:"gray",hexColors:["#808080"]}]}]},{id:"id::35180690735268",name:"XL / gray",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::35180690735268",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::35180690735268",displayName:"color",values:[{label:"gray",hexColors:["#808080"]}]}]},{id:"id::40046203437220",name:"M / beige",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046203437220",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046203437220",displayName:"color",values:[{label:"beige",hexColors:["#F5F5DC"]}]}]},{id:"id::40046207369380",name:"L / beige",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046207369380",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046207369380",displayName:"color",values:[{label:"beige",hexColors:["#F5F5DC"]}]}]},{id:"id::40046207729828",name:"XL / beige",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046207729828",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046207729828",displayName:"color",values:[{label:"beige",hexColors:["#F5F5DC"]}]}]},{id:"id::40046212612260",name:"M / white",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046212612260",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046212612260",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046212907172",name:"L / white",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046212907172",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046212907172",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046213300388",name:"XL / white",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046213300388",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046213300388",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046214742180",name:"M / DarkTurquoise",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046214742180",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046214742180",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046218346660",name:"L / DarkTurquoise",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046218346660",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046218346660",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046220214436",name:"XL / DarkTurquoise",sku:"",price:35,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046220214436",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046220214436",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940503474340",displayName:"size",values:[{label:"M"},{label:"L"},{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::8655761178788",displayName:"color",values:[{label:"gray",hexColors:["#808080"]},{label:"beige",hexColors:["#F5F5DC"]},{label:"white",hexColors:["#FFFFFF"]},{label:"DarkTurquoise",hexColors:["#00CED1"]}]}],description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.",descriptionHtml:"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.</p>"},{id:"id::5447325024420",name:"New Short Sleeve T-Shirt",vendor:"Next.js",path:"/new-short-sleeve-t-shirt",slug:"new-short-sleeve-t-shirt",price:{value:25,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/new-short-sleeve-t-shirt-0.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/new-short-sleeve-t-shirt-1.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/new-short-sleeve-t-shirt-2.png",altText:null,width:1e3,height:1e3},{url:"https://static1.plasmic.app/commerce/new-short-sleeve-t-shirt-3.png",altText:null,width:1e3,height:1e3}],variants:[{id:"id::40046230962340",name:"XS / white",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046230962340",displayName:"size",values:[{label:"XS"}]},{__typename:"MultipleChoiceOption",id:"id::40046230962340",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046230995108",name:"XS / grey",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046230995108",displayName:"size",values:[{label:"XS"}]},{__typename:"MultipleChoiceOption",id:"id::40046230995108",displayName:"color",values:[{label:"grey",hexColors:["#808080"]}]}]},{id:"id::40046231027876",name:"XS / DarkTurquoise",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231027876",displayName:"size",values:[{label:"XS"}]},{__typename:"MultipleChoiceOption",id:"id::40046231027876",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046231060644",name:"XS / LightSalmon",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231060644",displayName:"size",values:[{label:"XS"}]},{__typename:"MultipleChoiceOption",id:"id::40046231060644",displayName:"color",values:[{label:"LightSalmon",hexColors:["#FFA07A"]}]}]},{id:"id::40046231093412",name:"S / white",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231093412",displayName:"size",values:[{label:"S"}]},{__typename:"MultipleChoiceOption",id:"id::40046231093412",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046231126180",name:"S / grey",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231126180",displayName:"size",values:[{label:"S"}]},{__typename:"MultipleChoiceOption",id:"id::40046231126180",displayName:"color",values:[{label:"grey",hexColors:["#808080"]}]}]},{id:"id::40046231158948",name:"S / DarkTurquoise",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231158948",displayName:"size",values:[{label:"S"}]},{__typename:"MultipleChoiceOption",id:"id::40046231158948",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046231191716",name:"S / LightSalmon",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231191716",displayName:"size",values:[{label:"S"}]},{__typename:"MultipleChoiceOption",id:"id::40046231191716",displayName:"color",values:[{label:"LightSalmon",hexColors:["#FFA07A"]}]}]},{id:"id::40046231224484",name:"M / white",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231224484",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046231224484",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046231257252",name:"M / grey",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231257252",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046231257252",displayName:"color",values:[{label:"grey",hexColors:["#808080"]}]}]},{id:"id::40046231290020",name:"M / DarkTurquoise",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231290020",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046231290020",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046231322788",name:"M / LightSalmon",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231322788",displayName:"size",values:[{label:"M"}]},{__typename:"MultipleChoiceOption",id:"id::40046231322788",displayName:"color",values:[{label:"LightSalmon",hexColors:["#FFA07A"]}]}]},{id:"id::40046231355556",name:"L / white",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231355556",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046231355556",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046231388324",name:"L / grey",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231388324",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046231388324",displayName:"color",values:[{label:"grey",hexColors:["#808080"]}]}]},{id:"id::40046231421092",name:"L / DarkTurquoise",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231421092",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046231421092",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046231453860",name:"L / LightSalmon",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231453860",displayName:"size",values:[{label:"L"}]},{__typename:"MultipleChoiceOption",id:"id::40046231453860",displayName:"color",values:[{label:"LightSalmon",hexColors:["#FFA07A"]}]}]},{id:"id::40046231486628",name:"XL / white",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231486628",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046231486628",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]}]}]},{id:"id::40046231519396",name:"XL / grey",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231519396",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046231519396",displayName:"color",values:[{label:"grey",hexColors:["#808080"]}]}]},{id:"id::40046231552164",name:"XL / DarkTurquoise",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231552164",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046231552164",displayName:"color",values:[{label:"DarkTurquoise",hexColors:["#00CED1"]}]}]},{id:"id::40046231584932",name:"XL / LightSalmon",sku:"",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40046231584932",displayName:"size",values:[{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::40046231584932",displayName:"color",values:[{label:"LightSalmon",hexColors:["#FFA07A"]}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::6940503769252",displayName:"size",values:[{label:"XS"},{label:"S"},{label:"M"},{label:"L"},{label:"XL"}]},{__typename:"MultipleChoiceOption",id:"id::8655765471396",displayName:"color",values:[{label:"white",hexColors:["#FFFFFF"]},{label:"grey",hexColors:["#808080"]},{label:"DarkTurquoise",hexColors:["#00CED1"]},{label:"LightSalmon",hexColors:["#FFA07A"]}]}],description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.",descriptionHtml:"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.<br></p>"},{id:"id::6621772644516",name:"ACME Cup",vendor:"ACME",path:"/acme-cup",slug:"acme-cup",price:{value:25,currencyCode:"USD"},images:[{url:"https://static1.plasmic.app/commerce/acme-cup-0.png",altText:null,width:2048,height:2048},{url:"https://static1.plasmic.app/commerce/acme-cup-1.png",altText:null,width:2048,height:2048}],variants:[{id:"id::40064679805092",name:"White",sku:"200",price:25,listPrice:null,requiresShipping:!0,availableForSale:!0,options:[{__typename:"MultipleChoiceOption",id:"id::40064679805092",displayName:"color",values:[{label:"White",hexColors:["#FFFFFF"]}]}]},{id:"id::40064679837860",name:"Black",sku:"201",price:25,listPrice:null,requiresShipping:!0,availableForSale:!1,options:[{__typename:"MultipleChoiceOption",id:"id::40064679837860",displayName:"color",values:[{label:"Black",hexColors:["#000000"]}]}]}],options:[{__typename:"MultipleChoiceOption",id:"id::8505918849188",displayName:"color",values:[{label:"White",hexColors:["#FFFFFF"]},{label:"Black",hexColors:["#000000"]}]}],description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.",descriptionHtml:'<meta charset="utf-8"><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.</span>'}]};function o(){o=function(){return i};var e,i={},t=Object.prototype,a=t.hasOwnProperty,l=Object.defineProperty||function(e,i,t){e[i]=t.value},r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",s=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";function p(e,i,t){return Object.defineProperty(e,i,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[i]}try{p({},"")}catch(e){p=function(e,i,t){return e[i]=t}}function c(e,i,t,a){var r=Object.create((i&&i.prototype instanceof f?i:f).prototype),n=new L(a||[]);return l(r,"_invoke",{value:F(e,t,n)}),r}function d(e,i,t){try{return{type:"normal",arg:e.call(i,t)}}catch(e){return{type:"throw",arg:e}}}i.wrap=c;var m="suspendedStart",h="executing",y="completed",v={};function f(){}function g(){}function b(){}var C={};p(C,n,(function(){return this}));var _=Object.getPrototypeOf,S=_&&_(_(q([])));S&&S!==t&&a.call(S,n)&&(C=S);var k=b.prototype=f.prototype=Object.create(C);function w(e){["next","throw","return"].forEach((function(i){p(e,i,(function(e){return this._invoke(i,e)}))}))}function O(e,i){function t(l,r,n,o){var s=d(e[l],e,r);if("throw"!==s.type){var u=s.arg,p=u.value;return p&&"object"==typeof p&&a.call(p,"__await")?i.resolve(p.__await).then((function(e){t("next",e,n,o)}),(function(e){t("throw",e,n,o)})):i.resolve(p).then((function(e){u.value=e,n(u)}),(function(e){return t("throw",e,n,o)}))}o(s.arg)}var r;l(this,"_invoke",{value:function(e,a){function l(){return new i((function(i,l){t(e,a,i,l)}))}return r=r?r.then(l,l):l()}})}function F(i,t,a){var l=m;return function(r,n){if(l===h)throw new Error("Generator is already running");if(l===y){if("throw"===r)throw n;return{value:e,done:!0}}for(a.method=r,a.arg=n;;){var o=a.delegate;if(o){var s=x(o,a);if(s){if(s===v)continue;return s}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(l===m)throw l=y,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);l=h;var u=d(i,t,a);if("normal"===u.type){if(l=a.done?y:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:a.done}}"throw"===u.type&&(l=y,a.method="throw",a.arg=u.arg)}}}function x(i,t){var a=t.method,l=i.iterator[a];if(l===e)return t.delegate=null,"throw"===a&&i.iterator.return&&(t.method="return",t.arg=e,x(i,t),"throw"===t.method)||"return"!==a&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+a+"' method")),v;var r=d(l,i.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,v;var n=r.arg;return n?n.done?(t[i.resultName]=n.value,t.next=i.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,v):n:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,v)}function M(e){var i={tryLoc:e[0]};1 in e&&(i.catchLoc=e[1]),2 in e&&(i.finallyLoc=e[2],i.afterLoc=e[3]),this.tryEntries.push(i)}function N(e){var i=e.completion||{};i.type="normal",delete i.arg,e.completion=i}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(M,this),this.reset(!0)}function q(i){if(i||""===i){var t=i[n];if(t)return t.call(i);if("function"==typeof i.next)return i;if(!isNaN(i.length)){var l=-1,r=function t(){for(;++l<i.length;)if(a.call(i,l))return t.value=i[l],t.done=!1,t;return t.value=e,t.done=!0,t};return r.next=r}}throw new TypeError(typeof i+" is not iterable")}return g.prototype=b,l(k,"constructor",{value:b,configurable:!0}),l(b,"constructor",{value:g,configurable:!0}),g.displayName=p(b,u,"GeneratorFunction"),i.isGeneratorFunction=function(e){var i="function"==typeof e&&e.constructor;return!!i&&(i===g||"GeneratorFunction"===(i.displayName||i.name))},i.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,p(e,u,"GeneratorFunction")),e.prototype=Object.create(k),e},i.awrap=function(e){return{__await:e}},w(O.prototype),p(O.prototype,s,(function(){return this})),i.AsyncIterator=O,i.async=function(e,t,a,l,r){void 0===r&&(r=Promise);var n=new O(c(e,t,a,l),r);return i.isGeneratorFunction(t)?n:n.next().then((function(e){return e.done?e.value:n.next()}))},w(k),p(k,u,"Generator"),p(k,n,(function(){return this})),p(k,"toString",(function(){return"[object Generator]"})),i.keys=function(e){var i=Object(e),t=[];for(var a in i)t.push(a);return t.reverse(),function e(){for(;t.length;){var a=t.pop();if(a in i)return e.value=a,e.done=!1,e}return e.done=!0,e}},i.values=q,L.prototype={constructor:L,reset:function(i){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(N),!i)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(i){if(this.done)throw i;var t=this;function l(a,l){return o.type="throw",o.arg=i,t.next=a,l&&(t.method="next",t.arg=e),!!l}for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r],o=n.completion;if("root"===n.tryLoc)return l("end");if(n.tryLoc<=this.prev){var s=a.call(n,"catchLoc"),u=a.call(n,"finallyLoc");if(s&&u){if(this.prev<n.catchLoc)return l(n.catchLoc,!0);if(this.prev<n.finallyLoc)return l(n.finallyLoc)}else if(s){if(this.prev<n.catchLoc)return l(n.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return l(n.finallyLoc)}}}},abrupt:function(e,i){for(var t=this.tryEntries.length-1;t>=0;--t){var l=this.tryEntries[t];if(l.tryLoc<=this.prev&&a.call(l,"finallyLoc")&&this.prev<l.finallyLoc){var r=l;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=i&&i<=r.finallyLoc&&(r=null);var n=r?r.completion:{};return n.type=e,n.arg=i,r?(this.method="next",this.next=r.finallyLoc,v):this.complete(n)},complete:function(e,i){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&&i&&(this.next=i),v},finish:function(e){for(var i=this.tryEntries.length-1;i>=0;--i){var t=this.tryEntries[i];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),N(t),v}},catch:function(e){for(var i=this.tryEntries.length-1;i>=0;--i){var t=this.tryEntries[i];if(t.tryLoc===e){var a=t.completion;if("throw"===a.type){var l=a.arg;N(t)}return l}}throw new Error("illegal catch attempt")},delegateYield:function(i,t,a){return this.delegate={iterator:q(i),resultName:t,nextLoc:a},"next"===this.method&&(this.arg=e),v}},i}function s(e,i,t,a,l,r,n){try{var o=e[r](n),s=o.value}catch(e){return void t(e)}o.done?i(s):Promise.resolve(s).then(a,l)}function u(e){return function(){var i=this,t=arguments;return new Promise((function(a,l){var r=e.apply(i,t);function n(e){s(r,a,l,n,o,"next",e)}function o(e){s(r,a,l,n,o,"throw",e)}n(void 0)}))}}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var i=1;i<arguments.length;i++){var t=arguments[i];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}function c(e,i){(null==i||i>e.length)&&(i=e.length);for(var t=0,a=new Array(i);t<i;t++)a[t]=e[t];return a}function d(e,i){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,i){if(e){if("string"==typeof e)return c(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?c(e,void 0):void 0}}(e))||i&&e&&"number"==typeof e.length){t&&(e=t);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var m=function(e){var i;e=null!=(i=e)?i:r.get("localCartId");var t=r.get("localCartObj"),a=t?JSON.parse(t):void 0;return a&&a.id===e?a.cart:function(){var e={id:"",createdAt:"",currency:{code:"USD"},taxesIncluded:!1,lineItems:[],lineItemsSubtotalPrice:0,subtotalPrice:0,totalPrice:0},i=Date.now().toString();return r.set("localCartId",i),r.set("localCartObj",JSON.stringify({id:i,cart:e})),e}()},h=function(e,i,t){switch(t){case"price-asc":return e.price.value<i.price.value?-1:1;case"price-desc":return e.price.value<i.price.value?1:-1;case"trending-desc":return e.id.localeCompare(i.id);case"latest-desc":return-1*e.id.localeCompare(i.id);default:return 0}},y={locale:"en-us",cartCookie:"localCartId",fetcher:function(){var e=u(o().mark((function e(){var i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("FETCHER"),e.next=3,fetch("./data.json");case 3:if(!(i=e.sent).ok){e.next=10;break}return e.next=7,i.json();case 7:return e.abrupt("return",e.sent.data);case 10:throw i;case 11:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),cart:{useCart:{fetchOptions:{query:"use-cart"},fetcher:function(e){return u(o().mark((function i(){return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",m(e.input.cartId));case 2:case"end":return i.stop()}}),i)})))()},useHook:function(e){var i=e.useData;return function(e){var t=i({swrOptions:p({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return a.useMemo((function(){return Object.create(t,{isEmpty:{get:function(){var e,i;return(null!=(e=null==(i=t.data)?void 0:i.lineItems.length)?e:0)<=0},enumerable:!0}})}),[t])}}},useAddItem:{fetchOptions:{query:"use-add-item"},fetcher:function(e){return u(o().mark((function i(){var t,a,s,u,p,c,h,y,v,f;return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(!(a=e.input).quantity||Number.isInteger(a.quantity)&&!(a.quantity<1)){i.next=3;break}throw new l.CommerceError({message:"The item quantity has to be a valid integer greater than 0"});case 3:for(s={variantId:a.variantId,quantity:null!=(t=a.quantity)?t:1},u=m(),p=d(n.products);!(c=p()).done;)(y=(h=c.value).variants.find((function(e){return e.id===a.variantId})))&&(u.totalPrice+=y.price*(null!=(v=a.quantity)?v:1),u.currency.code=h.price.currencyCode,(f=u.lineItems.find((function(e){return e.variantId===s.variantId})))?f.quantity+=s.quantity:u.lineItems.push(s));return i.abrupt("return",(o=u,r.set("localCartObj",JSON.stringify({id:r.get("localCartId"),cart:o})),o));case 7:case"end":return i.stop()}var o}),i)})))()},useHook:function(e){var i=e.fetch;return function(){var e=l.useCart().mutate;return t.useCallback(function(){var t=u(o().mark((function t(a){var l;return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,i({input:a});case 2:return l=t.sent,t.next=5,e(l,!1);case 5:return t.abrupt("return",l);case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),[i,e])}}},useUpdateItem:{fetchOptions:{query:""},fetcher:function(e){return u(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case 1:case"end":return e.stop()}}),e)})))()},useHook:function(e){return function(){return function(){var e=u(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{});case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()}}},useRemoveItem:{fetchOptions:{query:""},fetcher:function(e){return u(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case 1:case"end":return e.stop()}}),e)})))()},useHook:function(e){return function(){return function(){var e=u(o().mark((function e(i){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{});case 1:case"end":return e.stop()}}),e)})));return function(i){return e.apply(this,arguments)}}()}}}},products:{useSearch:{fetchOptions:{query:"use-search"},fetcher:function(e){return u(o().mark((function i(){var t,a,l,r,s,u,p,c;return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return a=(t=e.input).search,r=t.brandId,s=t.sort,u=t.count,p=n.products,(l=t.categoryId)&&(c=n.categories.find((function(e){return e.id===l})),p=n.products.filter((function(e){var i;return null==c||null==(i=c.products)?void 0:i.includes(e.id)}))),r&&(p=p.filter((function(e){return e.vendor.replace(/\s+/g,"-").toLowerCase()===(""+r).toLowerCase()}))),a&&(p=p.filter((function(e){return e.name.toLowerCase().includes((""+a).toLowerCase())||e.slug.toLowerCase().includes((""+a).toLowerCase())}))),s&&(p=p.sort((function(e,i){return h(e,i,s)}))),i.abrupt("return",{products:p.slice(0,u),found:p.length>0});case 8:case"end":return i.stop()}}),i)})))()},useHook:function(e){var i=e.useData;return function(e){return void 0===e&&(e={}),i({input:[["search",e.search],["prefixSearch",e.prefixSearch],["categoryId",e.categoryId],["brandId",e.brandId],["sort",e.sort],["locale",e.locale],["count",e.count]],swrOptions:p({revalidateOnFocus:!1},e.swrOptions)})}}},useProduct:{fetchOptions:{query:"use-product"},fetcher:function(e){return u(o().mark((function i(){var t,a;return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return a=e.input.id,i.abrupt("return",null!=(t=n.products.find((function(e){return[e.id,e.slug].includes(a)})))?t:null);case 3:case"end":return i.stop()}}),i)})))()},useHook:function(e){var i=e.useData;return function(e){return void 0===e&&(e={}),i({input:[["id",e.id]],swrOptions:p({revalidateOnFocus:!1},e.swrOptions)})}}}},site:{useCategories:{fetchOptions:{query:"use-categories"},fetcher:function(e){return u(o().mark((function i(){var t,a;return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(t=e.input.categoryId){i.next=4;break}return i.abrupt("return",n.categories);case 4:return a=n.categories.find((function(e){return e.id===t})),i.abrupt("return",a?[a]:[]);case 6:case"end":return i.stop()}}),i)})))()},useHook:function(e){var i=e.useData;return function(e){var t=i({input:[["categoryId",null==e?void 0:e.categoryId]],swrOptions:p({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return a.useMemo((function(){return Object.create(t,{isEmpty:{get:function(){var e,i;return(null!=(e=null==(i=t.data)?void 0:i.length)?e:0)<=0},enumerable:!0}})}),[t])}}},useBrands:{fetchOptions:{query:"use-brands"},fetcher:function(e){return u(o().mark((function e(){var i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=n.products.map((function(e){return e.vendor})),e.abrupt("return",Array.from(new Set(i).values()).map((function(e){var i=e.replace(/\s+/g,"-").toLowerCase();return{entityId:i,name:e,path:"brands/"+i}})));case 3:case"end":return e.stop()}}),e)})))()},useHook:function(e){var i=e.useData;return function(e){var t=i({swrOptions:p({revalidateOnFocus:!1},null==e?void 0:e.swrOptions)});return a.useMemo((function(){return Object.create(t,{isEmpty:{get:function(){var e,i;return(null!=(e=null==(i=t.data)?void 0:i.length)?e:0)<=0},enumerable:!0}})}),[t])}}}}},v=l.getCommerceProvider(y),f={name:"plasmic-commerce-local-provider",displayName:"Local Provider",props:{},importPath:"@plasmicpkgs/commerce-local",importName:"CommerceProviderComponent"};function g(e){return a.createElement(v,null,e.children)}function b(e,t){!function(){e?e.registerGlobalContext.apply(e,arguments):i.apply(void 0,arguments)}(g,null!=t?t:f)}exports.CommerceProvider=v,exports.data=n,exports.localProvider=y,exports.registerAll=function(e){b(e)},exports.registerCommerceProvider=b,exports.useCommerce=function(){return l.useCommerce()};
2
2
  //# sourceMappingURL=commerce-local.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commerce-local.cjs.production.min.js","sources":["../src/fetcher.ts","../src/utils/cart.ts","../src/const.ts","../src/utils/sort-product.ts","../src/provider.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-update-item.tsx","../src/cart/use-remove-item.tsx","../src/product/use-search.tsx","../src/product/use-product.tsx","../src/site/use-categories.ts","../src/site/use-brands.ts","../src/local.ts","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["import { Fetcher } from '@plasmicpkgs/commerce';\n\nexport const fetcher: Fetcher = async () => {\n console.log('FETCHER')\n const res = await fetch('./data.json')\n if (res.ok) {\n const { data } = await res.json()\n return data\n }\n throw res\n}\n","import { CartType } from \"@plasmicpkgs/commerce\";\nimport Cookies from \"js-cookie\";\nimport { LOCAL_CART_ID, LOCAL_CART_OBJ } from \"../const\";\n\nconst options: Cookies.CookieAttributes = {\n sameSite: \"none\",\n secure: true,\n};\n\nexport const createCart: () => CartType.Cart = () => {\n const cart = {\n id: \"\",\n createdAt: \"\",\n currency: { code: \"USD\" },\n taxesIncluded: false,\n lineItems: [],\n lineItemsSubtotalPrice: 0,\n subtotalPrice: 0,\n totalPrice: 0,\n };\n\n const cartId = Date.now().toString();\n\n Cookies.set(LOCAL_CART_ID, cartId);\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: cartId,\n cart,\n })\n );\n\n return cart;\n};\n\nexport const getCart: (cartId?: string) => CartType.Cart = (\n cartId?: string\n) => {\n cartId = cartId ?? Cookies.get(LOCAL_CART_ID);\n const cartStr = Cookies.get(LOCAL_CART_OBJ);\n const cart = cartStr ? JSON.parse(cartStr) : undefined;\n\n if (!cart || cart.id !== cartId) {\n return createCart();\n } else {\n return cart.cart;\n }\n};\n\nexport const cartUpdate = (newCart: CartType.Cart) => {\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: Cookies.get(LOCAL_CART_ID),\n cart: newCart,\n })\n );\n\n return newCart;\n};\n","export const LOCAL_CART_OBJ = \"localCartObj\";\n\nexport const LOCAL_CART_ID = \"localCartId\";\n","import data from \"../data.json\";\n\nexport const sortProduct = (\n a: typeof data.products[0],\n b: typeof data.products[0],\n sortKey: string\n) => {\n switch (sortKey) {\n case \"price-asc\":\n return a.price.value < b.price.value ? -1 : 1;\n case \"price-desc\":\n return a.price.value < b.price.value ? 1 : -1;\n case \"trending-desc\":\n return a.id.localeCompare(b.id);\n case \"latest-desc\":\n return a.id.localeCompare(b.id) * -1;\n default:\n return 0;\n }\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Removed authentication, customer and wishlist hooks\n*/\nimport { fetcher } from './fetcher'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { LOCAL_CART_ID } from './const'\nexport const localProvider = {\n locale: 'en-us',\n cartCookie: LOCAL_CART_ID,\n fetcher: fetcher,\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n}\n\nexport type LocalProvider = typeof localProvider\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Before: just returned an empty cart.\n - Now: Read cart from local storage.\n*/\nimport { SWRHook, useCart, UseCart } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { getCart } from \"../utils/cart\";\n\nexport default useCart as UseCart<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-cart\",\n },\n async fetcher({ input, options, fetch }) {\n return getCart(input.cartId);\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Implemented a local cart\n - The items are added to local storage.\n*/\nimport {\n CommerceError,\n MutationHook,\n useAddItem,\n UseAddItem,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport data from \"../data.json\";\nimport { cartUpdate, getCart } from \"../utils/cart\";\nimport useCart from \"./use-cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: \"use-add-item\",\n },\n async fetcher({ input: item, options, fetch }) {\n if (\n item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)\n ) {\n throw new CommerceError({\n message: \"The item quantity has to be a valid integer greater than 0\",\n });\n }\n\n const lineItem = {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n };\n\n const cart = getCart();\n for (const product of data.products) {\n const variant = (product.variants as any[]).find(\n (variant) => variant.id === item.variantId\n );\n if (variant) {\n cart.totalPrice += variant.price * (item.quantity ?? 1);\n cart.currency.code = product.price.currencyCode;\n const currentLineItem = cart.lineItems.find(\n (item) => item.variantId === lineItem.variantId\n );\n if (!currentLineItem) {\n cart.lineItems.push(lineItem as any);\n } else {\n currentLineItem.quantity += lineItem.quantity;\n }\n }\n }\n\n return cartUpdate(cart);\n },\n useHook: ({ fetch }) => () => {\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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport { useUpdateItem,\n UseUpdateItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useUpdateItem as UseUpdateItem<any>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function addItem() {\n return {}\n }\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport {useRemoveItem,\n UseRemoveItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function removeItem(input) {\n return {}\n }\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nimport { sortProduct } from \"../utils/sort-product\";\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-search\",\n },\n async fetcher({ input, options, fetch }) {\n const { search, categoryId, brandId, sort, count } = input;\n\n let products = data.products;\n\n if (categoryId) {\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n products = data.products.filter((product) =>\n category?.products?.includes(product.id)\n );\n }\n\n if (brandId) {\n products = products.filter(\n (product) =>\n product.vendor.replace(/\\s+/g, \"-\").toLowerCase() ===\n `${brandId}`.toLowerCase()\n );\n }\n\n if (search) {\n products = products.filter(\n (product) =>\n product.name.toLowerCase().includes(`${search}`.toLowerCase()) ||\n product.slug.toLowerCase().includes(`${search}`.toLowerCase())\n );\n }\n\n if (sort) {\n products = products.sort((a, b) => sortProduct(a, b, sort));\n }\n\n return {\n products: products.slice(0, count),\n found: products.length > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"prefixSearch\", input.prefixSearch],\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, useProduct, UseProduct } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nexport default useProduct as UseProduct<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-product\",\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n\n return (\n data.products.find((product) =>\n [product.id, product.slug].includes(id)\n ) ?? null\n );\n },\n useHook: ({ useData }) => (input = {}) => {\n return useData({\n input: [[\"id\", input.id]],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook, useCategories, UseCategories } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-categories\",\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n if (!categoryId) {\n return data.categories;\n }\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n return category ? [category] : [];\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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, useBrands, UseBrands } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useBrands as UseBrands<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-brands\",\n },\n async fetcher({ input, options, fetch }) {\n const vendorsStrings = data.products.map((product) => product.vendor);\n return Array.from(new Set(vendorsStrings).values()).map((v) => {\n const id = v.replace(/\\s+/g, \"-\").toLowerCase();\n return {\n entityId: id,\n name: v,\n path: `brands/${id}`,\n };\n });\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Add export data\n*/\nexport * from \"./registerable\";\nexport { localProvider, data };\nexport type { LocalProvider };\nimport {\n getCommerceProvider,\n useCommerce as useCoreCommerce,\n} from \"@plasmicpkgs/commerce\";\nimport data from \"./data.json\";\nimport { localProvider, LocalProvider } from \"./provider\";\n\nexport const CommerceProvider = getCommerceProvider(localProvider);\n\nexport const useCommerce = () => useCoreCommerce<LocalProvider>();\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport { CommerceProvider } from \"./local\";\nimport { Registerable } from \"./registerable\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n}\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: \"plasmic-commerce-local-provider\",\n displayName: \"Local Provider\",\n props: {},\n importPath: \"@plasmicpkgs/commerce-local\",\n importName: \"CommerceProviderComponent\",\n};\n\nfunction CommerceProviderComponent(props: CommerceProviderProps) {\n return <CommerceProvider>{props.children}</CommerceProvider>;\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\";\n\nexport * from \"./local\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n\nexport { registerCommerceProvider };"],"names":["getCart","cartId","_cartId","Cookies","get","cartStr","cart","JSON","parse","undefined","id","createdAt","currency","code","taxesIncluded","lineItems","lineItemsSubtotalPrice","subtotalPrice","totalPrice","Date","now","toString","set","stringify","createCart","sortProduct","a","b","sortKey","price","value","localeCompare","localProvider","locale","cartCookie","fetcher","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_context","prev","next","console","log","fetch","sent","ok","json","abrupt","data","stop","apply","arguments","useCart","fetchOptions","query","input","useHook","_ref2","useData","response","swrOptions","_extends","revalidateOnFocus","React","useMemo","Object","create","isEmpty","_response$data$lineIt","_response$data","length","enumerable","useAddItem","item","quantity","Number","isInteger","CommerceError","message","lineItem","variantId","_item$quantity","_iterator","_createForOfIteratorHelperLoose","products","_step","done","variant","product","variants","find","_item$quantity2","currencyCode","currentLineItem","push","newCart","mutate","useCallback","_x","_addItem","_callee2","_context2","useUpdateItem","useRemoveItem","_removeItem","useSearch","search","brandId","sort","count","categoryId","category","categories","filter","_category$products","includes","vendor","replace","toLowerCase","name","slug","slice","found","prefixSearch","useProduct","_data$products$find","site","useCategories","_response$data$length","useBrands","vendorsStrings","map","Array","from","Set","values","v","entityId","path","CommerceProvider","getCommerceProvider","commerceProviderMeta","displayName","props","importPath","importName","CommerceProviderComponent","children","registerCommerceProvider","loader","customCommerceProviderMeta","registerGlobalContext","doRegisterComponent","useCoreCommerce"],"mappings":"8npCAEO,ICiCMA,EAA8C,SACzDC,SAEAA,SAAMC,EAAGD,GAAMC,EAAIC,EAAQC,ICpCA,eDqC3B,IAAMC,EAAUF,EAAQC,ICvCI,gBDwCtBE,EAAOD,EAAUE,KAAKC,MAAMH,QAAWI,EAE7C,OAAKH,GAAQA,EAAKI,KAAOT,EAGhBK,EAAKA,KApC+B,WAC7C,IAAMA,EAAO,CACXI,GAAI,GACJC,UAAW,GACXC,SAAU,CAAEC,KAAM,OAClBC,eAAe,EACfC,UAAW,GACXC,uBAAwB,EACxBC,cAAe,EACfC,WAAY,GAGRjB,EAASkB,KAAKC,MAAMC,WAW1B,OATAlB,EAAQmB,ICrBmB,cDqBArB,GAC3BE,EAAQmB,ICxBoB,eD0B1Bf,KAAKgB,UAAU,CACbb,GAAIT,EACJK,KAAAA,KAIGA,EAWEkB,IEzCEC,EAAc,SACzBC,EACAC,EACAC,GAEA,OAAQA,GACN,IAAK,YACH,OAAOF,EAAEG,MAAMC,MAAQH,EAAEE,MAAMC,OAAS,EAAI,EAC9C,IAAK,aACH,OAAOJ,EAAEG,MAAMC,MAAQH,EAAEE,MAAMC,MAAQ,GAAK,EAC9C,IAAK,gBACH,OAAOJ,EAAEhB,GAAGqB,cAAcJ,EAAEjB,IAC9B,IAAK,cACH,OAAmC,EAA5BgB,EAAEhB,GAAGqB,cAAcJ,EAAEjB,IAC9B,QACE,OAAO,ICHAsB,EAAgB,CAC3BC,OAAQ,QACRC,WFd2B,cEe3BC,mBJfkB,OAAAC,EAAAA,GAAAC,EAAAC,IAAAC,MAAY,SAAAC,IAAA,IAAAC,EAAA,OAAAH,IAAAI,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACR,OAAtBC,QAAQC,IAAI,WAAUJ,EAAAE,OACJG,MAAM,eAAc,OAA7B,KAAHP,EAAGE,EAAAM,MACDC,IAAEP,EAAAE,QAAA,MAAA,OAAAF,EAAAE,OACeJ,EAAIU,OAAM,OAArB,OAAAR,EAAAS,gBAAqBT,EAAAM,KAAzBI,MACG,QAAA,MAEPZ,EAAG,QAAA,UAAA,OAAAE,EAAAW,UAAAd,QACVe,WAAAC,YIQClD,KAAM,CAAEmD,QCN2B,CACnCC,aAAc,CACZC,MAAO,YAEHxB,iBAAOC,oGAAwB,OAAAO,EAAAS,gBAC5BpD,EADYoC,EAALwB,MACO3D,SAAO,OAAA,UAAA,OAAA0C,EAAAW,UAAAd,UAE9BqB,QAAS,SAAAC,GAAA,IAAGC,EAAOD,EAAPC,QAAO,OAAO,SAACH,GACzB,IAAMI,EAAWD,EAAQ,CACvBE,WAAUC,GAAIC,mBAAmB,SAAUP,SAAAA,EAAOK,cAEpD,OAAOG,EAAMC,SACX,WAAA,OACEC,OAAOC,OAAOP,EAAU,CACtBQ,QAAS,CACPpE,uBACE,cAAOqE,SAAAC,EAACV,EAASX,aAATqB,EAAe3D,UAAU4D,QAAMF,EAAI,IAAM,GAEnDG,YAAY,OAGlB,CAACZ,ODfYa,WEAuB,CACxCnB,aAAc,CACZC,MAAO,gBAEHxB,iBAAOC,4HAA8B,KAApB0C,EAAI1C,EAAXwB,OAEPmB,UACHC,OAAOC,UAAUH,EAAKC,aAAaD,EAAKC,SAAY,IAAEpC,EAAAE,OAAA,MAAA,MAElD,IAAIqC,gBAAc,CACtBC,QAAS,+DACT,OASJ,IANMC,EAAW,CACfC,UAAWP,EAAKO,UAChBN,gBAAQO,EAAER,EAAKC,UAAQO,EAAI,GAGvBhF,EAAON,IACbuF,EAAAC,EAAsBnC,EAAKoC,YAAQC,EAAAH,KAAAI,OAC3BC,GADGC,EAAOH,EAAA5D,OACSgE,SAAmBC,MAC1C,SAACH,GAAO,OAAKA,EAAQlF,KAAOoE,EAAKO,gBAGjC/E,EAAKY,YAAc0E,EAAQ/D,cAAKmE,EAAIlB,EAAKC,UAAQiB,EAAI,GACrD1F,EAAKM,SAASC,KAAOgF,EAAQhE,MAAMoE,cAC7BC,EAAkB5F,EAAKS,UAAUgF,MACrC,SAACjB,GAAI,OAAKA,EAAKO,YAAcD,EAASC,cAKtCa,EAAgBnB,UAAYK,EAASL,SAFrCzE,EAAKS,UAAUoF,KAAKf,IAKzB,OAAAzC,EAAAS,iBLLsBgD,EKOL9F,ELNpBH,EAAQmB,IClDoB,eDoD1Bf,KAAKgB,UAAU,CACbb,GAAIP,EAAQC,ICnDW,eDoDvBE,KAAM8F,KAIHA,IKFkB,OAAA,UAAA,OAAAzD,EAAAW,OLPD,IAAC8C,IKOA5D,UAEzBqB,QAAS,SAAAC,GAAA,IAAGd,EAAKc,EAALd,MAAK,OAAO,iBACdqD,EAAW5C,YAAX4C,OACR,OAAOC,wBACiBC,GAAA,OAAAC,EAAAA,GAAAnE,EAAAC,IAAAC,MAAtB,SAAAkE,EAAuB7C,GAAK,IAAAP,EAAA,OAAAf,IAAAI,eAAAgE,GAAA,cAAAA,EAAA9D,KAAA8D,EAAA7D,MAAA,OAAA,OAAA6D,EAAA7D,OACPG,EAAM,CAAEY,MAAAA,IAAQ,OAAzB,OAAJP,EAAIqD,EAAAzD,KAAAyD,EAAA7D,OACJwD,EAAOhD,GAAM,GAAM,OAAA,OAAAqD,EAAAtD,gBAClBC,GAAI,OAAA,UAAA,OAAAqD,EAAApD,UAAAmD,QACZlD,WAAAC,aACD,CAACR,EAAOqD,OFhDiBM,cGPW,CACxCjD,aAAc,CACZC,MAAO,IAEHxB,iBAAOC,oGAAwB,OAAA,UAAA,OAAAO,EAAAW,UAAAd,UACrCqB,QACE,SAAAC,GAAQ,OACR,iBACE,kBAA6B,OAAA0C,EAAAA,GAAAnE,EAAAC,IAAAC,MAAtB,SAAAkE,IAAA,OAAAnE,IAAAI,eAAAgE,GAAA,cAAAA,EAAA9D,KAAA8D,EAAA7D,MAAA,OAAA,OAAA6D,EAAAtD,gBACE,IAAE,OAAA,UAAA,OAAAsD,EAAApD,UAAAmD,QACVlD,WAAAC,eHHuCoD,cIPJ,CACxClD,aAAc,CACZC,MAAO,IAEHxB,iBAAOC,oGAAwB,OAAA,UAAA,OAAAO,EAAAW,UAAAd,UACrCqB,QACE,SAAAC,GAAQ,OACR,iBACE,gBAAgCyC,GAAA,OAAAM,EAAAA,GAAAxE,EAAAC,IAAAC,MAAzB,SAAAkE,EAA0B7C,GAAK,OAAAtB,IAAAI,eAAAgE,GAAA,cAAAA,EAAA9D,KAAA8D,EAAA7D,MAAA,OAAA,OAAA6D,EAAAtD,gBAC7B,IAAE,OAAA,UAAA,OAAAsD,EAAApD,UAAAmD,QACVlD,WAAAC,gBJFLiC,SAAU,CAAEqB,UKTuB,CACnCpD,aAAc,CACZC,MAAO,cAEHxB,iBAAOC,wHAgCV,OA/BO2E,GADMnD,EAAKxB,EAALwB,OACNmD,OAAoBC,EAAyBpD,EAAzBoD,QAASC,EAAgBrD,EAAhBqD,KAAMC,EAAUtD,EAAVsD,MAEvCzB,EAAWpC,EAAKoC,UAFJ0B,EAAqCvD,EAArCuD,cAKRC,EAAW/D,EAAKgE,WAAWtB,MAC/B,SAACqB,GAAQ,OAAKA,EAAS1G,KAAOyG,KAEhC1B,EAAWpC,EAAKoC,SAAS6B,QAAO,SAACzB,GAAO,IAAA0B,EAAA,aACtCH,UAAQG,EAARH,EAAU3B,iBAAV8B,EAAoBC,SAAS3B,EAAQnF,QAIrCsG,IACFvB,EAAWA,EAAS6B,QAClB,SAACzB,GAAO,OACNA,EAAQ4B,OAAOC,QAAQ,OAAQ,KAAKC,oBACjCX,GAAUW,kBAIfZ,IACFtB,EAAWA,EAAS6B,QAClB,SAACzB,GAAO,OACNA,EAAQ+B,KAAKD,cAAcH,aAAYT,GAASY,gBAChD9B,EAAQgC,KAAKF,cAAcH,aAAYT,GAASY,mBAIlDV,IACFxB,EAAWA,EAASwB,MAAK,SAACvF,EAAGC,GAAC,OAAKF,EAAYC,EAAGC,EAAGsF,OACtDtE,EAAAS,gBAEM,CACLqC,SAAUA,EAASqC,MAAM,EAAGZ,GAC5Ba,MAAOtC,EAASd,OAAS,IAC1B,OAAA,UAAA,OAAAhC,EAAAW,UAAAd,UAEHqB,QACE,SAAAC,GAAA,IAAGC,EAAOD,EAAPC,QAAO,OACV,SAACH,GACC,gBADDA,IAAAA,EAAQ,IACAG,EAAQ,CACbH,MAAO,CACL,CAAC,SAAUA,EAAMmD,QACjB,CAAC,eAAgBnD,EAAMoE,cACvB,CAAC,aAAcpE,EAAMuD,YACrB,CAAC,UAAWvD,EAAMoD,SAClB,CAAC,OAAQpD,EAAMqD,MACf,CAAC,SAAUrD,EAAM3B,QACjB,CAAC,QAAS2B,EAAMsD,QAElBjD,WAAUC,GACRC,mBAAmB,GAChBP,EAAMK,iBLjDMgE,WMfY,CACnCvE,aAAc,CACZC,MAAO,eAEHxB,iBAAOC,4GACD,OAAF1B,EADW0B,EAALwB,MACNlD,GAAEiC,EAAAS,uBAAA8E,EAGR7E,EAAKoC,SAASM,MAAK,SAACF,GAAO,MACzB,CAACA,EAAQnF,GAAImF,EAAQgC,MAAML,SAAS9G,OACrCwH,EAAI,MAAI,OAAA,UAAA,OAAAvF,EAAAW,UAAAd,UAGbqB,QAAS,SAAAC,GAAA,IAAGC,EAAOD,EAAPC,QAAO,OAAO,SAACH,GACzB,gBADyBA,IAAAA,EAAQ,IAC1BG,EAAQ,CACbH,MAAO,CAAC,CAAC,KAAMA,EAAMlD,KACrBuD,WAAUC,GACRC,mBAAmB,GAChBP,EAAMK,kBNFfkE,KAAM,CAAEC,cOf2B,CACnC1E,aAAc,CACZC,MAAO,kBAEHxB,iBAAOC,4GACO,GAAV+E,EADW/E,EAALwB,MACNuD,YACOxE,EAAAE,OAAA,MAAA,OAAAF,EAAAS,gBACNC,EAAKgE,YAAU,OAIvB,OAFKD,EAAW/D,EAAKgE,WAAWtB,MAC/B,SAACqB,GAAQ,OAAKA,EAAS1G,KAAOyG,KAC/BxE,EAAAS,gBACMgE,EAAW,CAACA,GAAY,IAAE,OAAA,UAAA,OAAAzE,EAAAW,UAAAd,UAEnCqB,QAAS,SAAAC,GAAA,IAAGC,EAAOD,EAAPC,QAAO,OAAO,SAACH,GACzB,IAAMI,EAAWD,EAAQ,CACvBH,MAAO,CAAC,CAAC,mBAAcA,SAAAA,EAAOuD,aAC9BlD,WAAUC,GAAIC,mBAAmB,SAAUP,SAAAA,EAAOK,cAEpD,OAAOG,EAAMC,SACX,WAAA,OACEC,OAAOC,OAAOP,EAAU,CACtBQ,QAAS,CACPpE,uBACE,cAAOiI,SAAA3D,EAACV,EAASX,aAATqB,EAAeC,QAAM0D,EAAI,IAAM,GAEzCzD,YAAY,OAGlB,CAACZ,OPdkBsE,UQfY,CACnC5E,aAAc,CACZC,MAAO,cAEHxB,iBAAOC,0GAC0D,OAA/DmG,EAAiBlF,EAAKoC,SAAS+C,KAAI,SAAC3C,GAAO,OAAKA,EAAQ4B,UAAO9E,EAAAS,gBAC9DqF,MAAMC,KAAK,IAAIC,IAAIJ,GAAgBK,UAAUJ,KAAI,SAACK,GACvD,IAAMnI,EAAKmI,EAAEnB,QAAQ,OAAQ,KAAKC,cAClC,MAAO,CACLmB,SAAUpI,EACVkH,KAAMiB,EACNE,eAAgBrI,OAElB,OAAA,UAAA,OAAAiC,EAAAW,UAAAd,UAEJqB,QAAS,SAAAC,GAAA,IAAGC,EAAOD,EAAPC,QAAO,OAAO,SAACH,GACzB,IAAMI,EAAWD,EAAQ,CACvBE,WAAUC,GAAIC,mBAAmB,SAAUP,SAAAA,EAAOK,cAEpD,OAAOG,EAAMC,SACX,WAAA,OACEC,OAAOC,OAAOP,EAAU,CACtBQ,QAAS,CACPpE,uBACE,cAAOiI,SAAA3D,EAACV,EAASX,aAATqB,EAAeC,QAAM0D,EAAI,IAAM,GAEzCzD,YAAY,OAGlB,CAACZ,SCpBMgF,EAAmBC,sBAAoBjH,GCJvCkH,EAAiE,CAC5EtB,KAAM,kCACNuB,YAAa,iBACbC,MAAO,GACPC,WAAY,8BACZC,WAAY,6BAGd,SAASC,EAA0BH,GACjC,OAAOhF,gBAAC4E,OAAkBI,EAAMI,mBAGlBC,EACdC,EACAC,IAE0D,WACxDD,EACIA,EAAOE,sBAAqBrG,MAA5BmG,EAAMlG,WACNoG,EAAqBrG,aAAAC,WAC3BqG,CACEN,QACAI,EAAAA,EAA8BT,kGC1BNQ,GAC1BD,EAAyBC,2DFSA,WAAH,OAASI"}
1
+ {"version":3,"file":"commerce-local.cjs.production.min.js","sources":["../src/fetcher.ts","../src/utils/cart.ts","../src/const.ts","../src/utils/sort-product.ts","../src/provider.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-update-item.tsx","../src/cart/use-remove-item.tsx","../src/product/use-search.tsx","../src/product/use-product.tsx","../src/site/use-categories.ts","../src/site/use-brands.ts","../src/local.ts","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["import { Fetcher } from '@plasmicpkgs/commerce';\n\nexport const fetcher: Fetcher = async () => {\n console.log('FETCHER')\n const res = await fetch('./data.json')\n if (res.ok) {\n const { data } = await res.json()\n return data\n }\n throw res\n}\n","import { CartType } from \"@plasmicpkgs/commerce\";\nimport Cookies from \"js-cookie\";\nimport { LOCAL_CART_ID, LOCAL_CART_OBJ } from \"../const\";\n\nconst options: Cookies.CookieAttributes = {\n sameSite: \"none\",\n secure: true,\n};\n\nexport const createCart: () => CartType.Cart = () => {\n const cart = {\n id: \"\",\n createdAt: \"\",\n currency: { code: \"USD\" },\n taxesIncluded: false,\n lineItems: [],\n lineItemsSubtotalPrice: 0,\n subtotalPrice: 0,\n totalPrice: 0,\n };\n\n const cartId = Date.now().toString();\n\n Cookies.set(LOCAL_CART_ID, cartId);\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: cartId,\n cart,\n })\n );\n\n return cart;\n};\n\nexport const getCart: (cartId?: string) => CartType.Cart = (\n cartId?: string\n) => {\n cartId = cartId ?? Cookies.get(LOCAL_CART_ID);\n const cartStr = Cookies.get(LOCAL_CART_OBJ);\n const cart = cartStr ? JSON.parse(cartStr) : undefined;\n\n if (!cart || cart.id !== cartId) {\n return createCart();\n } else {\n return cart.cart;\n }\n};\n\nexport const cartUpdate = (newCart: CartType.Cart) => {\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: Cookies.get(LOCAL_CART_ID),\n cart: newCart,\n })\n );\n\n return newCart;\n};\n","export const LOCAL_CART_OBJ = \"localCartObj\";\n\nexport const LOCAL_CART_ID = \"localCartId\";\n","import data from \"../data.json\";\n\nexport const sortProduct = (\n a: typeof data.products[0],\n b: typeof data.products[0],\n sortKey: string\n) => {\n switch (sortKey) {\n case \"price-asc\":\n return a.price.value < b.price.value ? -1 : 1;\n case \"price-desc\":\n return a.price.value < b.price.value ? 1 : -1;\n case \"trending-desc\":\n return a.id.localeCompare(b.id);\n case \"latest-desc\":\n return a.id.localeCompare(b.id) * -1;\n default:\n return 0;\n }\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Removed authentication, customer and wishlist hooks\n*/\nimport { fetcher } from './fetcher'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { LOCAL_CART_ID } from './const'\nexport const localProvider = {\n locale: 'en-us',\n cartCookie: LOCAL_CART_ID,\n fetcher: fetcher,\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n}\n\nexport type LocalProvider = typeof localProvider\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Before: just returned an empty cart.\n - Now: Read cart from local storage.\n*/\nimport { SWRHook, useCart, UseCart } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { getCart } from \"../utils/cart\";\n\nexport default useCart as UseCart<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-cart\",\n },\n async fetcher({ input, options, fetch }) {\n return getCart(input.cartId);\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Implemented a local cart\n - The items are added to local storage.\n*/\nimport {\n CommerceError,\n MutationHook,\n useAddItem,\n UseAddItem,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport data from \"../data.json\";\nimport { cartUpdate, getCart } from \"../utils/cart\";\nimport useCart from \"./use-cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: \"use-add-item\",\n },\n async fetcher({ input: item, options, fetch }) {\n if (\n item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)\n ) {\n throw new CommerceError({\n message: \"The item quantity has to be a valid integer greater than 0\",\n });\n }\n\n const lineItem = {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n };\n\n const cart = getCart();\n for (const product of data.products) {\n const variant = (product.variants as any[]).find(\n (variant) => variant.id === item.variantId\n );\n if (variant) {\n cart.totalPrice += variant.price * (item.quantity ?? 1);\n cart.currency.code = product.price.currencyCode;\n const currentLineItem = cart.lineItems.find(\n (item) => item.variantId === lineItem.variantId\n );\n if (!currentLineItem) {\n cart.lineItems.push(lineItem as any);\n } else {\n currentLineItem.quantity += lineItem.quantity;\n }\n }\n }\n\n return cartUpdate(cart);\n },\n useHook: ({ fetch }) => () => {\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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport { useUpdateItem,\n UseUpdateItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useUpdateItem as UseUpdateItem<any>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function addItem() {\n return {}\n }\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport {useRemoveItem,\n UseRemoveItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function removeItem(input) {\n return {}\n }\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nimport { sortProduct } from \"../utils/sort-product\";\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-search\",\n },\n async fetcher({ input, options, fetch }) {\n const { search, categoryId, brandId, sort, count } = input;\n\n let products = data.products;\n\n if (categoryId) {\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n products = data.products.filter((product) =>\n category?.products?.includes(product.id)\n );\n }\n\n if (brandId) {\n products = products.filter(\n (product) =>\n product.vendor.replace(/\\s+/g, \"-\").toLowerCase() ===\n `${brandId}`.toLowerCase()\n );\n }\n\n if (search) {\n products = products.filter(\n (product) =>\n product.name.toLowerCase().includes(`${search}`.toLowerCase()) ||\n product.slug.toLowerCase().includes(`${search}`.toLowerCase())\n );\n }\n\n if (sort) {\n products = products.sort((a, b) => sortProduct(a, b, sort));\n }\n\n return {\n products: products.slice(0, count),\n found: products.length > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"prefixSearch\", input.prefixSearch],\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, useProduct, UseProduct } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nexport default useProduct as UseProduct<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-product\",\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n\n return (\n data.products.find((product) =>\n [product.id, product.slug].includes(id)\n ) ?? null\n );\n },\n useHook: ({ useData }) => (input = {}) => {\n return useData({\n input: [[\"id\", input.id]],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook, useCategories, UseCategories } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-categories\",\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n if (!categoryId) {\n return data.categories;\n }\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n return category ? [category] : [];\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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, useBrands, UseBrands } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useBrands as UseBrands<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-brands\",\n },\n async fetcher({ input, options, fetch }) {\n const vendorsStrings = data.products.map((product) => product.vendor);\n return Array.from(new Set(vendorsStrings).values()).map((v) => {\n const id = v.replace(/\\s+/g, \"-\").toLowerCase();\n return {\n entityId: id,\n name: v,\n path: `brands/${id}`,\n };\n });\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Add export data\n*/\nexport * from \"./registerable\";\nexport { localProvider, data };\nexport type { LocalProvider };\nimport {\n getCommerceProvider,\n useCommerce as useCoreCommerce,\n} from \"@plasmicpkgs/commerce\";\nimport data from \"./data.json\";\nimport { localProvider, LocalProvider } from \"./provider\";\n\nexport const CommerceProvider = getCommerceProvider(localProvider);\n\nexport const useCommerce = () => useCoreCommerce<LocalProvider>();\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport { CommerceProvider } from \"./local\";\nimport { Registerable } from \"./registerable\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n}\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: \"plasmic-commerce-local-provider\",\n displayName: \"Local Provider\",\n props: {},\n importPath: \"@plasmicpkgs/commerce-local\",\n importName: \"CommerceProviderComponent\",\n};\n\nfunction CommerceProviderComponent(props: CommerceProviderProps) {\n return <CommerceProvider>{props.children}</CommerceProvider>;\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\";\n\nexport * from \"./local\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n\nexport { registerCommerceProvider };"],"names":["getCart","cartId","_cartId","Cookies","get","cartStr","cart","JSON","parse","undefined","id","createdAt","currency","code","taxesIncluded","lineItems","lineItemsSubtotalPrice","subtotalPrice","totalPrice","Date","now","toString","set","stringify","createCart","sortProduct","a","b","sortKey","price","value","localeCompare","localProvider","locale","cartCookie","fetcher","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_context","prev","next","console","log","fetch","sent","ok","json","abrupt","data","stop","apply","arguments","useCart","fetchOptions","query","input","useHook","_ref2","useData","response","swrOptions","_extends","revalidateOnFocus","React","useMemo","Object","create","isEmpty","_response$data$lineIt","_response$data","length","enumerable","useAddItem","item","quantity","Number","isInteger","CommerceError","message","lineItem","variantId","_item$quantity","_iterator","_createForOfIteratorHelperLoose","products","_step","done","variant","product","variants","find","_item$quantity2","currencyCode","currentLineItem","push","newCart","mutate","useCallback","_addItem","_callee2","_context2","_x","useUpdateItem","useRemoveItem","_removeItem","useSearch","search","brandId","sort","count","categoryId","category","categories","filter","_category$products","includes","vendor","replace","toLowerCase","name","slug","slice","found","prefixSearch","useProduct","_data$products$find","site","useCategories","_response$data$length","useBrands","vendorsStrings","map","Array","from","Set","values","v","entityId","path","CommerceProvider","getCommerceProvider","commerceProviderMeta","displayName","props","importPath","importName","CommerceProviderComponent","children","registerCommerceProvider","loader","customCommerceProviderMeta","registerGlobalContext","doRegisterComponent","useCoreCommerce"],"mappings":"4npCAEO,ICiCMA,EAA8C,SACzDC,SAEAA,SAAMC,EAAGD,GAAMC,EAAIC,EAAQC,ICpCA,eDqC3B,IAAMC,EAAUF,EAAQC,ICvCI,gBDwCtBE,EAAOD,EAAUE,KAAKC,MAAMH,QAAWI,EAE7C,OAAKH,GAAQA,EAAKI,KAAOT,EAGhBK,EAAKA,KApC+B,WAC7C,IAAMA,EAAO,CACXI,GAAI,GACJC,UAAW,GACXC,SAAU,CAAEC,KAAM,OAClBC,eAAe,EACfC,UAAW,GACXC,uBAAwB,EACxBC,cAAe,EACfC,WAAY,GAGRjB,EAASkB,KAAKC,MAAMC,WAW1B,OATAlB,EAAQmB,ICrBmB,cDqBArB,GAC3BE,EAAQmB,ICxBoB,eD0B1Bf,KAAKgB,UAAU,CACbb,GAAIT,EACJK,KAAAA,KAIGA,EAWEkB,IEzCEC,EAAc,SACzBC,EACAC,EACAC,GAEA,OAAQA,GACN,IAAK,YACH,OAAOF,EAAEG,MAAMC,MAAQH,EAAEE,MAAMC,OAAS,EAAI,EAC9C,IAAK,aACH,OAAOJ,EAAEG,MAAMC,MAAQH,EAAEE,MAAMC,MAAQ,GAAK,EAC9C,IAAK,gBACH,OAAOJ,EAAEhB,GAAGqB,cAAcJ,EAAEjB,IAC9B,IAAK,cACH,OAAmC,EAA5BgB,EAAEhB,GAAGqB,cAAcJ,EAAEjB,IAC9B,QACE,OAAO,ICHAsB,EAAgB,CAC3BC,OAAQ,QACRC,WFd2B,cEe3BC,mBJfkB,IAAAC,EAAAC,EAAAC,IAAAC,MAAY,SAAAC,IAAA,IAAAC,EAAA,OAAAH,IAAAI,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACR,OAAtBC,QAAQC,IAAI,WAAUJ,EAAAE,OACJG,MAAM,eAAc,OAA7B,KAAHP,EAAGE,EAAAM,MACDC,IAAEP,EAAAE,QAAA,MAAA,OAAAF,EAAAE,OACeJ,EAAIU,OAAM,OAArB,OAAAR,EAAAS,gBAAqBT,EAAAM,KAAzBI,MACG,QAAA,MAEPZ,EAAG,QAAA,UAAA,OAAAE,EAAAW,UAAAd,OACV,kBARmB,OAAAJ,EAAAmB,WAAAC,eIgBlBlD,KAAM,CAAEmD,QCN2B,CACnCC,aAAc,CACZC,MAAO,YAEHxB,iBAAOC,oGAAwB,OAAAO,EAAAS,gBAC5BpD,EADYoC,EAALwB,MACO3D,SAAO,OAAA,UAAA,OAAA0C,EAAAW,UAAAd,UAE9BqB,QAAS,SAAAC,GAAA,IAAGC,EAAOD,EAAPC,QAAO,OAAO,SAACH,GACzB,IAAMI,EAAWD,EAAQ,CACvBE,WAAUC,GAAIC,mBAAmB,SAAUP,SAAAA,EAAOK,cAEpD,OAAOG,EAAMC,SACX,WAAA,OACEC,OAAOC,OAAOP,EAAU,CACtBQ,QAAS,CACPpE,uBACE,cAAOqE,SAAAC,EAACV,EAASX,aAATqB,EAAe3D,UAAU4D,QAAMF,EAAI,IAAM,GAEnDG,YAAY,OAGlB,CAACZ,ODfYa,WEAuB,CACxCnB,aAAc,CACZC,MAAO,gBAEHxB,iBAAOC,4HAA8B,KAApB0C,EAAI1C,EAAXwB,OAEPmB,UACHC,OAAOC,UAAUH,EAAKC,aAAaD,EAAKC,SAAY,IAAEpC,EAAAE,OAAA,MAAA,MAElD,IAAIqC,gBAAc,CACtBC,QAAS,+DACT,OASJ,IANMC,EAAW,CACfC,UAAWP,EAAKO,UAChBN,gBAAQO,EAAER,EAAKC,UAAQO,EAAI,GAGvBhF,EAAON,IACbuF,EAAAC,EAAsBnC,EAAKoC,YAAQC,EAAAH,KAAAI,OAC3BC,GADGC,EAAOH,EAAA5D,OACSgE,SAAmBC,MAC1C,SAACH,GAAO,OAAKA,EAAQlF,KAAOoE,EAAKO,gBAGjC/E,EAAKY,YAAc0E,EAAQ/D,cAAKmE,EAAIlB,EAAKC,UAAQiB,EAAI,GACrD1F,EAAKM,SAASC,KAAOgF,EAAQhE,MAAMoE,cAC7BC,EAAkB5F,EAAKS,UAAUgF,MACrC,SAACjB,GAAI,OAAKA,EAAKO,YAAcD,EAASC,cAKtCa,EAAgBnB,UAAYK,EAASL,SAFrCzE,EAAKS,UAAUoF,KAAKf,IAKzB,OAAAzC,EAAAS,iBLLsBgD,EKOL9F,ELNpBH,EAAQmB,IClDoB,eDoD1Bf,KAAKgB,UAAU,CACbb,GAAIP,EAAQC,ICnDW,eDoDvBE,KAAM8F,KAIHA,IKFkB,OAAA,UAAA,OAAAzD,EAAAW,OLPD,IAAC8C,IKOA5D,UAEzBqB,QAAS,SAAAC,GAAA,IAAGd,EAAKc,EAALd,MAAK,OAAO,WACtB,IAAQqD,EAAW5C,YAAX4C,OACR,OAAOC,yBAAW,IAAAC,EAAAlE,EAAAC,IAAAC,MAChB,SAAAiE,EAAuB5C,GAAK,IAAAP,EAAA,OAAAf,IAAAI,eAAA+D,GAAA,cAAAA,EAAA7D,KAAA6D,EAAA5D,MAAA,OAAA,OAAA4D,EAAA5D,OACPG,EAAM,CAAEY,MAAAA,IAAQ,OAAzB,OAAJP,EAAIoD,EAAAxD,KAAAwD,EAAA5D,OACJwD,EAAOhD,GAAM,GAAM,OAAA,OAAAoD,EAAArD,gBAClBC,GAAI,OAAA,UAAA,OAAAoD,EAAAnD,UAAAkD,OAHS,OAIrB,SAJqBE,GAAA,OAAAH,EAAAhD,WAAAC,eAKtB,CAACR,EAAOqD,OFhDiBM,cGPW,CACxCjD,aAAc,CACZC,MAAO,IAEHxB,iBAAOC,oGAAwB,OAAA,UAAA,OAAAO,EAAAW,UAAAd,UACrCqB,QACE,SAAAC,GAAQ,OACR,WACE,kBAAA,IAAAyC,EAAAlE,EAAAC,IAAAC,MAAO,SAAAiE,IAAA,OAAAlE,IAAAI,eAAA+D,GAAA,cAAAA,EAAA7D,KAAA6D,EAAA5D,MAAA,OAAA,OAAA4D,EAAArD,gBACE,IAAE,OAAA,UAAA,OAAAqD,EAAAnD,UAAAkD,OADkB,OAE5B,WAF4B,OAAAD,EAAAhD,WAAAC,kBHDWoD,cIPJ,CACxClD,aAAc,CACZC,MAAO,IAEHxB,iBAAOC,oGAAwB,OAAA,UAAA,OAAAO,EAAAW,UAAAd,UACrCqB,QACE,SAAAC,GAAQ,OACR,WACE,kBAAA,IAAA+C,EAAAxE,EAAAC,IAAAC,MAAO,SAAAiE,EAA0B5C,GAAK,OAAAtB,IAAAI,eAAA+D,GAAA,cAAAA,EAAA7D,KAAA6D,EAAA5D,MAAA,OAAA,OAAA4D,EAAArD,gBAC7B,IAAE,OAAA,UAAA,OAAAqD,EAAAnD,UAAAkD,OADqB,OAE/B,SAF+BE,GAAA,OAAAG,EAAAtD,WAAAC,mBJApCiC,SAAU,CAAEqB,UKTuB,CACnCpD,aAAc,CACZC,MAAO,cAEHxB,iBAAOC,wHAgCV,OA/BO2E,GADMnD,EAAKxB,EAALwB,OACNmD,OAAoBC,EAAyBpD,EAAzBoD,QAASC,EAAgBrD,EAAhBqD,KAAMC,EAAUtD,EAAVsD,MAEvCzB,EAAWpC,EAAKoC,UAFJ0B,EAAqCvD,EAArCuD,cAKRC,EAAW/D,EAAKgE,WAAWtB,MAC/B,SAACqB,GAAQ,OAAKA,EAAS1G,KAAOyG,KAEhC1B,EAAWpC,EAAKoC,SAAS6B,QAAO,SAACzB,GAAO,IAAA0B,EAAA,aACtCH,UAAQG,EAARH,EAAU3B,iBAAV8B,EAAoBC,SAAS3B,EAAQnF,QAIrCsG,IACFvB,EAAWA,EAAS6B,QAClB,SAACzB,GAAO,OACNA,EAAQ4B,OAAOC,QAAQ,OAAQ,KAAKC,oBACjCX,GAAUW,kBAIfZ,IACFtB,EAAWA,EAAS6B,QAClB,SAACzB,GAAO,OACNA,EAAQ+B,KAAKD,cAAcH,aAAYT,GAASY,gBAChD9B,EAAQgC,KAAKF,cAAcH,aAAYT,GAASY,mBAIlDV,IACFxB,EAAWA,EAASwB,MAAK,SAACvF,EAAGC,GAAC,OAAKF,EAAYC,EAAGC,EAAGsF,OACtDtE,EAAAS,gBAEM,CACLqC,SAAUA,EAASqC,MAAM,EAAGZ,GAC5Ba,MAAOtC,EAASd,OAAS,IAC1B,OAAA,UAAA,OAAAhC,EAAAW,UAAAd,UAEHqB,QACE,SAAAC,GAAA,IAAGC,EAAOD,EAAPC,QAAO,OACV,SAACH,GACC,gBADDA,IAAAA,EAAQ,IACAG,EAAQ,CACbH,MAAO,CACL,CAAC,SAAUA,EAAMmD,QACjB,CAAC,eAAgBnD,EAAMoE,cACvB,CAAC,aAAcpE,EAAMuD,YACrB,CAAC,UAAWvD,EAAMoD,SAClB,CAAC,OAAQpD,EAAMqD,MACf,CAAC,SAAUrD,EAAM3B,QACjB,CAAC,QAAS2B,EAAMsD,QAElBjD,WAAUC,GACRC,mBAAmB,GAChBP,EAAMK,iBLjDMgE,WMfY,CACnCvE,aAAc,CACZC,MAAO,eAEHxB,iBAAOC,4GACD,OAAF1B,EADW0B,EAALwB,MACNlD,GAAEiC,EAAAS,uBAAA8E,EAGR7E,EAAKoC,SAASM,MAAK,SAACF,GAAO,MACzB,CAACA,EAAQnF,GAAImF,EAAQgC,MAAML,SAAS9G,OACrCwH,EAAI,MAAI,OAAA,UAAA,OAAAvF,EAAAW,UAAAd,UAGbqB,QAAS,SAAAC,GAAA,IAAGC,EAAOD,EAAPC,QAAO,OAAO,SAACH,GACzB,gBADyBA,IAAAA,EAAQ,IAC1BG,EAAQ,CACbH,MAAO,CAAC,CAAC,KAAMA,EAAMlD,KACrBuD,WAAUC,GACRC,mBAAmB,GAChBP,EAAMK,kBNFfkE,KAAM,CAAEC,cOf2B,CACnC1E,aAAc,CACZC,MAAO,kBAEHxB,iBAAOC,4GACO,GAAV+E,EADW/E,EAALwB,MACNuD,YACOxE,EAAAE,OAAA,MAAA,OAAAF,EAAAS,gBACNC,EAAKgE,YAAU,OAIvB,OAFKD,EAAW/D,EAAKgE,WAAWtB,MAC/B,SAACqB,GAAQ,OAAKA,EAAS1G,KAAOyG,KAC/BxE,EAAAS,gBACMgE,EAAW,CAACA,GAAY,IAAE,OAAA,UAAA,OAAAzE,EAAAW,UAAAd,UAEnCqB,QAAS,SAAAC,GAAA,IAAGC,EAAOD,EAAPC,QAAO,OAAO,SAACH,GACzB,IAAMI,EAAWD,EAAQ,CACvBH,MAAO,CAAC,CAAC,mBAAcA,SAAAA,EAAOuD,aAC9BlD,WAAUC,GAAIC,mBAAmB,SAAUP,SAAAA,EAAOK,cAEpD,OAAOG,EAAMC,SACX,WAAA,OACEC,OAAOC,OAAOP,EAAU,CACtBQ,QAAS,CACPpE,uBACE,cAAOiI,SAAA3D,EAACV,EAASX,aAATqB,EAAeC,QAAM0D,EAAI,IAAM,GAEzCzD,YAAY,OAGlB,CAACZ,OPdkBsE,UQfY,CACnC5E,aAAc,CACZC,MAAO,cAEHxB,iBAAOC,0GAC0D,OAA/DmG,EAAiBlF,EAAKoC,SAAS+C,KAAI,SAAC3C,GAAO,OAAKA,EAAQ4B,UAAO9E,EAAAS,gBAC9DqF,MAAMC,KAAK,IAAIC,IAAIJ,GAAgBK,UAAUJ,KAAI,SAACK,GACvD,IAAMnI,EAAKmI,EAAEnB,QAAQ,OAAQ,KAAKC,cAClC,MAAO,CACLmB,SAAUpI,EACVkH,KAAMiB,EACNE,eAAgBrI,OAElB,OAAA,UAAA,OAAAiC,EAAAW,UAAAd,UAEJqB,QAAS,SAAAC,GAAA,IAAGC,EAAOD,EAAPC,QAAO,OAAO,SAACH,GACzB,IAAMI,EAAWD,EAAQ,CACvBE,WAAUC,GAAIC,mBAAmB,SAAUP,SAAAA,EAAOK,cAEpD,OAAOG,EAAMC,SACX,WAAA,OACEC,OAAOC,OAAOP,EAAU,CACtBQ,QAAS,CACPpE,uBACE,cAAOiI,SAAA3D,EAACV,EAASX,aAATqB,EAAeC,QAAM0D,EAAI,IAAM,GAEzCzD,YAAY,OAGlB,CAACZ,SCpBMgF,EAAmBC,sBAAoBjH,GCJvCkH,EAAiE,CAC5EtB,KAAM,kCACNuB,YAAa,iBACbC,MAAO,GACPC,WAAY,8BACZC,WAAY,6BAGd,SAASC,EAA0BH,GACjC,OAAOhF,gBAAC4E,OAAkBI,EAAMI,mBAGlBC,EACdC,EACAC,IAE0D,WACxDD,EACIA,EAAOE,sBAAqBrG,MAA5BmG,EAAMlG,WACNoG,EAAqBrG,aAAAC,WAC3BqG,CACEN,QACAI,EAAAA,EAA8BT,kGC1BNQ,GAC1BD,EAAyBC,2DFSA,WAAH,OAASI"}
@@ -2603,9 +2603,8 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
2603
2603
  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2604
2604
  }
2605
2605
 
2606
- var _ref;
2607
- var fetcher = function fetcher() {
2608
- return (_ref = _ref || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
2606
+ var fetcher = /*#__PURE__*/function () {
2607
+ var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
2609
2608
  var res, _yield$res$json, data;
2610
2609
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2611
2610
  while (1) switch (_context.prev = _context.next) {
@@ -2632,8 +2631,11 @@ var fetcher = function fetcher() {
2632
2631
  return _context.stop();
2633
2632
  }
2634
2633
  }, _callee);
2635
- }))).apply(this, arguments);
2636
- };
2634
+ }));
2635
+ return function fetcher() {
2636
+ return _ref.apply(this, arguments);
2637
+ };
2638
+ }();
2637
2639
 
2638
2640
  var LOCAL_CART_OBJ = "localCartObj";
2639
2641
  var LOCAL_CART_ID = "localCartId";
@@ -2774,11 +2776,10 @@ var handler$1 = {
2774
2776
  useHook: function useHook(_ref2) {
2775
2777
  var fetch = _ref2.fetch;
2776
2778
  return function () {
2777
- var _addItem;
2778
2779
  var _useCart = useCart(),
2779
2780
  mutate = _useCart.mutate;
2780
- return useCallback(function addItem(_x) {
2781
- return (_addItem = _addItem || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
2781
+ return useCallback( /*#__PURE__*/function () {
2782
+ var _addItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
2782
2783
  var data;
2783
2784
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
2784
2785
  while (1) switch (_context2.prev = _context2.next) {
@@ -2798,8 +2799,12 @@ var handler$1 = {
2798
2799
  return _context2.stop();
2799
2800
  }
2800
2801
  }, _callee2);
2801
- }))).apply(this, arguments);
2802
- }, [fetch, mutate]);
2802
+ }));
2803
+ function addItem(_x) {
2804
+ return _addItem.apply(this, arguments);
2805
+ }
2806
+ return addItem;
2807
+ }(), [fetch, mutate]);
2803
2808
  };
2804
2809
  }
2805
2810
  };
@@ -2822,9 +2827,8 @@ var handler$2 = {
2822
2827
  },
2823
2828
  useHook: function useHook(_ref2) {
2824
2829
  return function () {
2825
- var _addItem;
2826
- return function addItem() {
2827
- return (_addItem = _addItem || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
2830
+ return /*#__PURE__*/function () {
2831
+ var _addItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
2828
2832
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
2829
2833
  while (1) switch (_context2.prev = _context2.next) {
2830
2834
  case 0:
@@ -2834,8 +2838,12 @@ var handler$2 = {
2834
2838
  return _context2.stop();
2835
2839
  }
2836
2840
  }, _callee2);
2837
- }))).apply(this, arguments);
2838
- };
2841
+ }));
2842
+ function addItem() {
2843
+ return _addItem.apply(this, arguments);
2844
+ }
2845
+ return addItem;
2846
+ }();
2839
2847
  };
2840
2848
  }
2841
2849
  };
@@ -2858,9 +2866,8 @@ var handler$3 = {
2858
2866
  },
2859
2867
  useHook: function useHook(_ref2) {
2860
2868
  return function () {
2861
- var _removeItem;
2862
- return function removeItem(_x) {
2863
- return (_removeItem = _removeItem || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
2869
+ return /*#__PURE__*/function () {
2870
+ var _removeItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
2864
2871
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
2865
2872
  while (1) switch (_context2.prev = _context2.next) {
2866
2873
  case 0:
@@ -2870,8 +2877,12 @@ var handler$3 = {
2870
2877
  return _context2.stop();
2871
2878
  }
2872
2879
  }, _callee2);
2873
- }))).apply(this, arguments);
2874
- };
2880
+ }));
2881
+ function removeItem(_x) {
2882
+ return _removeItem.apply(this, arguments);
2883
+ }
2884
+ return removeItem;
2885
+ }();
2875
2886
  };
2876
2887
  }
2877
2888
  };
@@ -1 +1 @@
1
- {"version":3,"file":"commerce-local.esm.js","sources":["../src/fetcher.ts","../src/const.ts","../src/utils/cart.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-update-item.tsx","../src/cart/use-remove-item.tsx","../src/utils/sort-product.ts","../src/product/use-search.tsx","../src/product/use-product.tsx","../src/site/use-categories.ts","../src/site/use-brands.ts","../src/provider.ts","../src/local.ts","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["import { Fetcher } from '@plasmicpkgs/commerce';\n\nexport const fetcher: Fetcher = async () => {\n console.log('FETCHER')\n const res = await fetch('./data.json')\n if (res.ok) {\n const { data } = await res.json()\n return data\n }\n throw res\n}\n","export const LOCAL_CART_OBJ = \"localCartObj\";\n\nexport const LOCAL_CART_ID = \"localCartId\";\n","import { CartType } from \"@plasmicpkgs/commerce\";\nimport Cookies from \"js-cookie\";\nimport { LOCAL_CART_ID, LOCAL_CART_OBJ } from \"../const\";\n\nconst options: Cookies.CookieAttributes = {\n sameSite: \"none\",\n secure: true,\n};\n\nexport const createCart: () => CartType.Cart = () => {\n const cart = {\n id: \"\",\n createdAt: \"\",\n currency: { code: \"USD\" },\n taxesIncluded: false,\n lineItems: [],\n lineItemsSubtotalPrice: 0,\n subtotalPrice: 0,\n totalPrice: 0,\n };\n\n const cartId = Date.now().toString();\n\n Cookies.set(LOCAL_CART_ID, cartId);\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: cartId,\n cart,\n })\n );\n\n return cart;\n};\n\nexport const getCart: (cartId?: string) => CartType.Cart = (\n cartId?: string\n) => {\n cartId = cartId ?? Cookies.get(LOCAL_CART_ID);\n const cartStr = Cookies.get(LOCAL_CART_OBJ);\n const cart = cartStr ? JSON.parse(cartStr) : undefined;\n\n if (!cart || cart.id !== cartId) {\n return createCart();\n } else {\n return cart.cart;\n }\n};\n\nexport const cartUpdate = (newCart: CartType.Cart) => {\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: Cookies.get(LOCAL_CART_ID),\n cart: newCart,\n })\n );\n\n return newCart;\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Before: just returned an empty cart.\n - Now: Read cart from local storage.\n*/\nimport { SWRHook, useCart, UseCart } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { getCart } from \"../utils/cart\";\n\nexport default useCart as UseCart<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-cart\",\n },\n async fetcher({ input, options, fetch }) {\n return getCart(input.cartId);\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Implemented a local cart\n - The items are added to local storage.\n*/\nimport {\n CommerceError,\n MutationHook,\n useAddItem,\n UseAddItem,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport data from \"../data.json\";\nimport { cartUpdate, getCart } from \"../utils/cart\";\nimport useCart from \"./use-cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: \"use-add-item\",\n },\n async fetcher({ input: item, options, fetch }) {\n if (\n item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)\n ) {\n throw new CommerceError({\n message: \"The item quantity has to be a valid integer greater than 0\",\n });\n }\n\n const lineItem = {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n };\n\n const cart = getCart();\n for (const product of data.products) {\n const variant = (product.variants as any[]).find(\n (variant) => variant.id === item.variantId\n );\n if (variant) {\n cart.totalPrice += variant.price * (item.quantity ?? 1);\n cart.currency.code = product.price.currencyCode;\n const currentLineItem = cart.lineItems.find(\n (item) => item.variantId === lineItem.variantId\n );\n if (!currentLineItem) {\n cart.lineItems.push(lineItem as any);\n } else {\n currentLineItem.quantity += lineItem.quantity;\n }\n }\n }\n\n return cartUpdate(cart);\n },\n useHook: ({ fetch }) => () => {\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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport { useUpdateItem,\n UseUpdateItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useUpdateItem as UseUpdateItem<any>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function addItem() {\n return {}\n }\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport {useRemoveItem,\n UseRemoveItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function removeItem(input) {\n return {}\n }\n },\n}\n","import data from \"../data.json\";\n\nexport const sortProduct = (\n a: typeof data.products[0],\n b: typeof data.products[0],\n sortKey: string\n) => {\n switch (sortKey) {\n case \"price-asc\":\n return a.price.value < b.price.value ? -1 : 1;\n case \"price-desc\":\n return a.price.value < b.price.value ? 1 : -1;\n case \"trending-desc\":\n return a.id.localeCompare(b.id);\n case \"latest-desc\":\n return a.id.localeCompare(b.id) * -1;\n default:\n return 0;\n }\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nimport { sortProduct } from \"../utils/sort-product\";\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-search\",\n },\n async fetcher({ input, options, fetch }) {\n const { search, categoryId, brandId, sort, count } = input;\n\n let products = data.products;\n\n if (categoryId) {\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n products = data.products.filter((product) =>\n category?.products?.includes(product.id)\n );\n }\n\n if (brandId) {\n products = products.filter(\n (product) =>\n product.vendor.replace(/\\s+/g, \"-\").toLowerCase() ===\n `${brandId}`.toLowerCase()\n );\n }\n\n if (search) {\n products = products.filter(\n (product) =>\n product.name.toLowerCase().includes(`${search}`.toLowerCase()) ||\n product.slug.toLowerCase().includes(`${search}`.toLowerCase())\n );\n }\n\n if (sort) {\n products = products.sort((a, b) => sortProduct(a, b, sort));\n }\n\n return {\n products: products.slice(0, count),\n found: products.length > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"prefixSearch\", input.prefixSearch],\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, useProduct, UseProduct } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nexport default useProduct as UseProduct<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-product\",\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n\n return (\n data.products.find((product) =>\n [product.id, product.slug].includes(id)\n ) ?? null\n );\n },\n useHook: ({ useData }) => (input = {}) => {\n return useData({\n input: [[\"id\", input.id]],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook, useCategories, UseCategories } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-categories\",\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n if (!categoryId) {\n return data.categories;\n }\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n return category ? [category] : [];\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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, useBrands, UseBrands } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useBrands as UseBrands<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-brands\",\n },\n async fetcher({ input, options, fetch }) {\n const vendorsStrings = data.products.map((product) => product.vendor);\n return Array.from(new Set(vendorsStrings).values()).map((v) => {\n const id = v.replace(/\\s+/g, \"-\").toLowerCase();\n return {\n entityId: id,\n name: v,\n path: `brands/${id}`,\n };\n });\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Removed authentication, customer and wishlist hooks\n*/\nimport { fetcher } from './fetcher'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { LOCAL_CART_ID } from './const'\nexport const localProvider = {\n locale: 'en-us',\n cartCookie: LOCAL_CART_ID,\n fetcher: fetcher,\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n}\n\nexport type LocalProvider = typeof localProvider\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Add export data\n*/\nexport * from \"./registerable\";\nexport { localProvider, data };\nexport type { LocalProvider };\nimport {\n getCommerceProvider,\n useCommerce as useCoreCommerce,\n} from \"@plasmicpkgs/commerce\";\nimport data from \"./data.json\";\nimport { localProvider, LocalProvider } from \"./provider\";\n\nexport const CommerceProvider = getCommerceProvider(localProvider);\n\nexport const useCommerce = () => useCoreCommerce<LocalProvider>();\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport { CommerceProvider } from \"./local\";\nimport { Registerable } from \"./registerable\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n}\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: \"plasmic-commerce-local-provider\",\n displayName: \"Local Provider\",\n props: {},\n importPath: \"@plasmicpkgs/commerce-local\",\n importName: \"CommerceProviderComponent\",\n};\n\nfunction CommerceProviderComponent(props: CommerceProviderProps) {\n return <CommerceProvider>{props.children}</CommerceProvider>;\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\";\n\nexport * from \"./local\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n\nexport { registerCommerceProvider };"],"names":["fetcher","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","_yield$res$json","data","wrap","_callee$","_context","prev","next","console","log","fetch","sent","ok","json","abrupt","stop","apply","arguments","LOCAL_CART_OBJ","LOCAL_CART_ID","createCart","cart","id","createdAt","currency","code","taxesIncluded","lineItems","lineItemsSubtotalPrice","subtotalPrice","totalPrice","cartId","Date","now","toString","Cookies","set","JSON","stringify","getCart","_cartId","get","cartStr","parse","undefined","cartUpdate","newCart","handler","fetchOptions","query","input","options","useHook","_ref2","useData","response","swrOptions","_extends","revalidateOnFocus","React","useMemo","Object","create","isEmpty","_response$data$lineIt","_response$data","length","enumerable","item","quantity","Number","isInteger","CommerceError","message","lineItem","variantId","_item$quantity","_iterator","_createForOfIteratorHelperLoose","products","_step","done","product","value","variant","variants","find","price","_item$quantity2","currencyCode","currentLineItem","push","_useCart","useCart","mutate","useCallback","addItem","_x","_addItem","_callee2","_callee2$","_context2","removeItem","_removeItem","sortProduct","a","b","sortKey","localeCompare","search","categoryId","brandId","sort","count","category","categories","filter","_category$products","includes","vendor","replace","toLowerCase","name","slug","slice","found","prefixSearch","locale","_data$products$find","_response$data$length","vendorsStrings","map","Array","from","Set","values","v","entityId","path","localProvider","cartCookie","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","CommerceProvider","getCommerceProvider","useCommerce","useCoreCommerce","commerceProviderMeta","displayName","props","importPath","importName","CommerceProviderComponent","children","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"commerce-local.esm.js","sources":["../src/fetcher.ts","../src/const.ts","../src/utils/cart.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-update-item.tsx","../src/cart/use-remove-item.tsx","../src/utils/sort-product.ts","../src/product/use-search.tsx","../src/product/use-product.tsx","../src/site/use-categories.ts","../src/site/use-brands.ts","../src/provider.ts","../src/local.ts","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["import { Fetcher } from '@plasmicpkgs/commerce';\n\nexport const fetcher: Fetcher = async () => {\n console.log('FETCHER')\n const res = await fetch('./data.json')\n if (res.ok) {\n const { data } = await res.json()\n return data\n }\n throw res\n}\n","export const LOCAL_CART_OBJ = \"localCartObj\";\n\nexport const LOCAL_CART_ID = \"localCartId\";\n","import { CartType } from \"@plasmicpkgs/commerce\";\nimport Cookies from \"js-cookie\";\nimport { LOCAL_CART_ID, LOCAL_CART_OBJ } from \"../const\";\n\nconst options: Cookies.CookieAttributes = {\n sameSite: \"none\",\n secure: true,\n};\n\nexport const createCart: () => CartType.Cart = () => {\n const cart = {\n id: \"\",\n createdAt: \"\",\n currency: { code: \"USD\" },\n taxesIncluded: false,\n lineItems: [],\n lineItemsSubtotalPrice: 0,\n subtotalPrice: 0,\n totalPrice: 0,\n };\n\n const cartId = Date.now().toString();\n\n Cookies.set(LOCAL_CART_ID, cartId);\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: cartId,\n cart,\n })\n );\n\n return cart;\n};\n\nexport const getCart: (cartId?: string) => CartType.Cart = (\n cartId?: string\n) => {\n cartId = cartId ?? Cookies.get(LOCAL_CART_ID);\n const cartStr = Cookies.get(LOCAL_CART_OBJ);\n const cart = cartStr ? JSON.parse(cartStr) : undefined;\n\n if (!cart || cart.id !== cartId) {\n return createCart();\n } else {\n return cart.cart;\n }\n};\n\nexport const cartUpdate = (newCart: CartType.Cart) => {\n Cookies.set(\n LOCAL_CART_OBJ,\n JSON.stringify({\n id: Cookies.get(LOCAL_CART_ID),\n cart: newCart,\n })\n );\n\n return newCart;\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Before: just returned an empty cart.\n - Now: Read cart from local storage.\n*/\nimport { SWRHook, useCart, UseCart } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { getCart } from \"../utils/cart\";\n\nexport default useCart as UseCart<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-cart\",\n },\n async fetcher({ input, options, fetch }) {\n return getCart(input.cartId);\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes:\n - Implemented a local cart\n - The items are added to local storage.\n*/\nimport {\n CommerceError,\n MutationHook,\n useAddItem,\n UseAddItem,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport data from \"../data.json\";\nimport { cartUpdate, getCart } from \"../utils/cart\";\nimport useCart from \"./use-cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: \"use-add-item\",\n },\n async fetcher({ input: item, options, fetch }) {\n if (\n item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)\n ) {\n throw new CommerceError({\n message: \"The item quantity has to be a valid integer greater than 0\",\n });\n }\n\n const lineItem = {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n };\n\n const cart = getCart();\n for (const product of data.products) {\n const variant = (product.variants as any[]).find(\n (variant) => variant.id === item.variantId\n );\n if (variant) {\n cart.totalPrice += variant.price * (item.quantity ?? 1);\n cart.currency.code = product.price.currencyCode;\n const currentLineItem = cart.lineItems.find(\n (item) => item.variantId === lineItem.variantId\n );\n if (!currentLineItem) {\n cart.lineItems.push(lineItem as any);\n } else {\n currentLineItem.quantity += lineItem.quantity;\n }\n }\n }\n\n return cartUpdate(cart);\n },\n useHook: ({ fetch }) => () => {\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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport { useUpdateItem,\n UseUpdateItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useUpdateItem as UseUpdateItem<any>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function addItem() {\n return {}\n }\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { MutationHook } from '@plasmicpkgs/commerce'\nimport {useRemoveItem,\n UseRemoveItem,\n} from '@plasmicpkgs/commerce'\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>\n\nexport const handler: MutationHook<any> = {\n fetchOptions: {\n query: '',\n },\n async fetcher({ input, options, fetch }) {},\n useHook:\n ({ fetch }) =>\n () => {\n return async function removeItem(input) {\n return {}\n }\n },\n}\n","import data from \"../data.json\";\n\nexport const sortProduct = (\n a: typeof data.products[0],\n b: typeof data.products[0],\n sortKey: string\n) => {\n switch (sortKey) {\n case \"price-asc\":\n return a.price.value < b.price.value ? -1 : 1;\n case \"price-desc\":\n return a.price.value < b.price.value ? 1 : -1;\n case \"trending-desc\":\n return a.id.localeCompare(b.id);\n case \"latest-desc\":\n return a.id.localeCompare(b.id) * -1;\n default:\n return 0;\n }\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: None\n*/\nimport { SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nimport { sortProduct } from \"../utils/sort-product\";\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-search\",\n },\n async fetcher({ input, options, fetch }) {\n const { search, categoryId, brandId, sort, count } = input;\n\n let products = data.products;\n\n if (categoryId) {\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n products = data.products.filter((product) =>\n category?.products?.includes(product.id)\n );\n }\n\n if (brandId) {\n products = products.filter(\n (product) =>\n product.vendor.replace(/\\s+/g, \"-\").toLowerCase() ===\n `${brandId}`.toLowerCase()\n );\n }\n\n if (search) {\n products = products.filter(\n (product) =>\n product.name.toLowerCase().includes(`${search}`.toLowerCase()) ||\n product.slug.toLowerCase().includes(`${search}`.toLowerCase())\n );\n }\n\n if (sort) {\n products = products.sort((a, b) => sortProduct(a, b, sort));\n }\n\n return {\n products: products.slice(0, count),\n found: products.length > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"prefixSearch\", input.prefixSearch],\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, useProduct, UseProduct } from \"@plasmicpkgs/commerce\";\nimport data from \"../data.json\";\nexport default useProduct as UseProduct<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-product\",\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n\n return (\n data.products.find((product) =>\n [product.id, product.slug].includes(id)\n ) ?? null\n );\n },\n useHook: ({ useData }) => (input = {}) => {\n return useData({\n input: [[\"id\", input.id]],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook, useCategories, UseCategories } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-categories\",\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n if (!categoryId) {\n return data.categories;\n }\n const category = data.categories.find(\n (category) => category.id === categoryId\n );\n return category ? [category] : [];\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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, useBrands, UseBrands } from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport data from \"../data.json\";\nexport default useBrands as UseBrands<typeof handler>;\n\nexport const handler: SWRHook<any> = {\n fetchOptions: {\n query: \"use-brands\",\n },\n async fetcher({ input, options, fetch }) {\n const vendorsStrings = data.products.map((product) => product.vendor);\n return Array.from(new Set(vendorsStrings).values()).map((v) => {\n const id = v.replace(/\\s+/g, \"-\").toLowerCase();\n return {\n entityId: id,\n name: v,\n path: `brands/${id}`,\n };\n });\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return React.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","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Removed authentication, customer and wishlist hooks\n*/\nimport { fetcher } from './fetcher'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { LOCAL_CART_ID } from './const'\nexport const localProvider = {\n locale: 'en-us',\n cartCookie: LOCAL_CART_ID,\n fetcher: fetcher,\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n}\n\nexport type LocalProvider = typeof localProvider\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/local/src\n Changes: Add export data\n*/\nexport * from \"./registerable\";\nexport { localProvider, data };\nexport type { LocalProvider };\nimport {\n getCommerceProvider,\n useCommerce as useCoreCommerce,\n} from \"@plasmicpkgs/commerce\";\nimport data from \"./data.json\";\nimport { localProvider, LocalProvider } from \"./provider\";\n\nexport const CommerceProvider = getCommerceProvider(localProvider);\n\nexport const useCommerce = () => useCoreCommerce<LocalProvider>();\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport { CommerceProvider } from \"./local\";\nimport { Registerable } from \"./registerable\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n}\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: \"plasmic-commerce-local-provider\",\n displayName: \"Local Provider\",\n props: {},\n importPath: \"@plasmicpkgs/commerce-local\",\n importName: \"CommerceProviderComponent\",\n};\n\nfunction CommerceProviderComponent(props: CommerceProviderProps) {\n return <CommerceProvider>{props.children}</CommerceProvider>;\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\";\n\nexport * from \"./local\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n\nexport { registerCommerceProvider };"],"names":["fetcher","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","_yield$res$json","data","wrap","_callee$","_context","prev","next","console","log","fetch","sent","ok","json","abrupt","stop","apply","arguments","LOCAL_CART_OBJ","LOCAL_CART_ID","createCart","cart","id","createdAt","currency","code","taxesIncluded","lineItems","lineItemsSubtotalPrice","subtotalPrice","totalPrice","cartId","Date","now","toString","Cookies","set","JSON","stringify","getCart","_cartId","get","cartStr","parse","undefined","cartUpdate","newCart","handler","fetchOptions","query","input","options","useHook","_ref2","useData","response","swrOptions","_extends","revalidateOnFocus","React","useMemo","Object","create","isEmpty","_response$data$lineIt","_response$data","length","enumerable","item","quantity","Number","isInteger","CommerceError","message","lineItem","variantId","_item$quantity","_iterator","_createForOfIteratorHelperLoose","products","_step","done","product","value","variant","variants","find","price","_item$quantity2","currencyCode","currentLineItem","push","_useCart","useCart","mutate","useCallback","_addItem","_callee2","_callee2$","_context2","addItem","_x","_removeItem","removeItem","sortProduct","a","b","sortKey","localeCompare","search","categoryId","brandId","sort","count","category","categories","filter","_category$products","includes","vendor","replace","toLowerCase","name","slug","slice","found","prefixSearch","locale","_data$products$find","_response$data$length","vendorsStrings","map","Array","from","Set","values","v","entityId","path","localProvider","cartCookie","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","CommerceProvider","getCommerceProvider","useCommerce","useCoreCommerce","commerceProviderMeta","displayName","props","importPath","importName","CommerceProviderComponent","children","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-local",
3
- "version": "0.0.163",
3
+ "version": "0.0.165",
4
4
  "description": "Plasmic registration calls for local provider components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "analyze": "size-limit --why"
19
19
  },
20
20
  "devDependencies": {
21
- "@plasmicapp/host": "1.0.166",
21
+ "@plasmicapp/host": "1.0.168",
22
22
  "@size-limit/preset-small-lib": "^4.11.0",
23
23
  "@types/js-cookie": "^3.0.1",
24
24
  "@types/node": "^14.0.26",
@@ -33,8 +33,8 @@
33
33
  "react": ">=16.8.0"
34
34
  },
35
35
  "dependencies": {
36
- "@plasmicpkgs/commerce": "0.0.163",
36
+ "@plasmicpkgs/commerce": "0.0.165",
37
37
  "@types/react": "^18.0.27"
38
38
  },
39
- "gitHead": "dbe6519e32e754c106a17535505bd1ae7cff082d"
39
+ "gitHead": "388b5829f67de3782fe8afdad0d153b5c6d0aac0"
40
40
  }