@plasmicpkgs/commerce-swell 0.0.171 → 0.0.174

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.
@@ -628,9 +628,8 @@ function normalizeCategory(_ref7) {
628
628
  };
629
629
  }
630
630
 
631
- var _ref;
632
- var handleFetchResponse = function handleFetchResponse(_x) {
633
- return (_ref = _ref || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(res) {
631
+ var handleFetchResponse = /*#__PURE__*/function () {
632
+ var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(res) {
634
633
  return _regeneratorRuntime().wrap(function _callee$(_context) {
635
634
  while (1) switch (_context.prev = _context.next) {
636
635
  case 0:
@@ -652,8 +651,11 @@ var handleFetchResponse = function handleFetchResponse(_x) {
652
651
  return _context.stop();
653
652
  }
654
653
  }, _callee);
655
- }))).apply(this, arguments);
656
- };
654
+ }));
655
+ return function handleFetchResponse(_x) {
656
+ return _ref.apply(this, arguments);
657
+ };
658
+ }();
657
659
 
658
660
  /*
659
661
  Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src
@@ -676,9 +678,8 @@ var checkoutToCart = function checkoutToCart(checkoutPayload) {
676
678
  return normalizeCart(checkoutPayload);
677
679
  };
678
680
 
679
- var _ref$1;
680
- var checkoutCreate = function checkoutCreate(_x) {
681
- return (_ref$1 = _ref$1 || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
681
+ var checkoutCreate = /*#__PURE__*/function () {
682
+ var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
682
683
  var cart, checkoutUrl, options;
683
684
  return _regeneratorRuntime().wrap(function _callee$(_context) {
684
685
  while (1) switch (_context.prev = _context.next) {
@@ -716,8 +717,11 @@ var checkoutCreate = function checkoutCreate(_x) {
716
717
  return _context.stop();
717
718
  }
718
719
  }, _callee);
719
- }))).apply(this, arguments);
720
- };
720
+ }));
721
+ return function checkoutCreate(_x) {
722
+ return _ref.apply(this, arguments);
723
+ };
724
+ }();
721
725
 
722
726
  var handler = {
723
727
  fetchOptions: {
@@ -811,11 +815,10 @@ var handler$1 = {
811
815
  useHook: function useHook(_ref2) {
812
816
  var fetch = _ref2.fetch;
813
817
  return function () {
814
- var _addItem;
815
818
  var _useCart = commerce.useCart(),
816
819
  mutate = _useCart.mutate;
817
- return React.useCallback(function addItem(_x) {
818
- return (_addItem = _addItem || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
820
+ return React.useCallback( /*#__PURE__*/function () {
821
+ var _addItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
819
822
  var data;
820
823
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
821
824
  while (1) switch (_context2.prev = _context2.next) {
@@ -835,8 +838,12 @@ var handler$1 = {
835
838
  return _context2.stop();
836
839
  }
837
840
  }, _callee2);
838
- }))).apply(this, arguments);
839
- }, [fetch, mutate]);
841
+ }));
842
+ function addItem(_x) {
843
+ return _addItem.apply(this, arguments);
844
+ }
845
+ return addItem;
846
+ }(), [fetch, mutate]);
840
847
  };
841
848
  }
842
849
  };
@@ -870,11 +877,10 @@ var handler$2 = {
870
877
  useHook: function useHook(_ref2) {
871
878
  var fetch = _ref2.fetch;
872
879
  return function () {
873
- var _removeItem;
874
880
  var _useCart = commerce.useCart(),
875
881
  mutate = _useCart.mutate;
876
- return React.useCallback(function removeItem(_x) {
877
- return (_removeItem = _removeItem || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
882
+ return React.useCallback( /*#__PURE__*/function () {
883
+ var _removeItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
878
884
  var data;
879
885
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
880
886
  while (1) switch (_context2.prev = _context2.next) {
@@ -896,8 +902,12 @@ var handler$2 = {
896
902
  return _context2.stop();
897
903
  }
898
904
  }, _callee2);
899
- }))).apply(this, arguments);
900
- }, [fetch, mutate]);
905
+ }));
906
+ function removeItem(_x) {
907
+ return _removeItem.apply(this, arguments);
908
+ }
909
+ return removeItem;
910
+ }(), [fetch, mutate]);
901
911
  };
902
912
  }
903
913
  };
@@ -960,7 +970,7 @@ var handler$3 = {
960
970
  useHook: function useHook(_ref2) {
961
971
  var fetch = _ref2.fetch;
962
972
  return function (ctx) {
963
- var _ref3, _ctx$wait;
973
+ var _ctx$wait;
964
974
  if (ctx === void 0) {
965
975
  ctx = {};
966
976
  }
@@ -968,8 +978,8 @@ var handler$3 = {
968
978
  item = _ctx.item;
969
979
  var _useCart = commerce.useCart(),
970
980
  mutate = _useCart.mutate;
971
- return React.useCallback(debounce(function (_x) {
972
- return (_ref3 = _ref3 || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
981
+ return React.useCallback(debounce( /*#__PURE__*/function () {
982
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
973
983
  var _input$id;
974
984
  var itemId, data;
975
985
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
@@ -1004,8 +1014,11 @@ var handler$3 = {
1004
1014
  return _context2.stop();
1005
1015
  }
1006
1016
  }, _callee2);
1007
- }))).apply(this, arguments);
1008
- }, (_ctx$wait = ctx.wait) != null ? _ctx$wait : 500), [fetch, mutate]);
1017
+ }));
1018
+ return function (_x) {
1019
+ return _ref3.apply(this, arguments);
1020
+ };
1021
+ }(), (_ctx$wait = ctx.wait) != null ? _ctx$wait : 500), [fetch, mutate]);
1009
1022
  };
1010
1023
  }
1011
1024
  };
@@ -1181,7 +1194,7 @@ var handler$6 = {
1181
1194
  fetcher: function fetcher(_ref) {
1182
1195
  return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
1183
1196
  var _data$results;
1184
- var input, options, fetch, addIsEmptyField, categoryId, data, categories, _ref2, normalizedCategories, _loop, _iterator, _step;
1197
+ var input, options, fetch, addIsEmptyField, categoryId, data, categories, normalizedCategories, _loop, _iterator, _step;
1185
1198
  return _regeneratorRuntime().wrap(function _callee2$(_context3) {
1186
1199
  while (1) switch (_context3.prev = _context3.next) {
1187
1200
  case 0:
@@ -1204,8 +1217,8 @@ var handler$6 = {
1204
1217
  break;
1205
1218
  }
1206
1219
  _context3.next = 9;
1207
- return Promise.all(categories.map(function (_x) {
1208
- return (_ref2 = _ref2 || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(category) {
1220
+ return Promise.all(categories.map( /*#__PURE__*/function () {
1221
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(category) {
1209
1222
  return _regeneratorRuntime().wrap(function _callee$(_context) {
1210
1223
  while (1) switch (_context.prev = _context.next) {
1211
1224
  case 0:
@@ -1232,8 +1245,11 @@ var handler$6 = {
1232
1245
  return _context.stop();
1233
1246
  }
1234
1247
  }, _callee);
1235
- }))).apply(this, arguments);
1236
- }));
1248
+ }));
1249
+ return function (_x) {
1250
+ return _ref2.apply(this, arguments);
1251
+ };
1252
+ }()));
1237
1253
  case 9:
1238
1254
  categories = _context3.sent;
1239
1255
  case 10:
@@ -1377,16 +1393,14 @@ var handler$7 = {
1377
1393
  }
1378
1394
  };
1379
1395
 
1380
- var _ref2;
1381
- var fetcher = function fetcher(_x) {
1382
- return (_ref2 = _ref2 || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref) {
1383
- var _callSwell;
1384
- var _ref$method, method, variables, query, callSwell;
1396
+ var fetcher = /*#__PURE__*/function () {
1397
+ var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref) {
1398
+ var _ref$method, method, variables, query, callSwell, _callSwell;
1385
1399
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
1386
1400
  while (1) switch (_context2.prev = _context2.next) {
1387
1401
  case 0:
1388
- callSwell = function _callSwell2() {
1389
- return (_callSwell = _callSwell || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
1402
+ _callSwell = function _callSwell3() {
1403
+ _callSwell = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
1390
1404
  var arg1, arg2, response, _response;
1391
1405
  return _regeneratorRuntime().wrap(function _callee$(_context) {
1392
1406
  while (1) switch (_context.prev = _context.next) {
@@ -1413,28 +1427,35 @@ var fetcher = function fetcher(_x) {
1413
1427
  return _context.stop();
1414
1428
  }
1415
1429
  }, _callee);
1416
- }))).apply(this, arguments);
1430
+ }));
1431
+ return _callSwell.apply(this, arguments);
1432
+ };
1433
+ callSwell = function _callSwell2() {
1434
+ return _callSwell.apply(this, arguments);
1417
1435
  };
1418
1436
  _ref$method = _ref.method, method = _ref$method === void 0 ? 'get' : _ref$method, variables = _ref.variables, query = _ref.query;
1419
1437
  if (!(query && query in swell__default)) {
1420
- _context2.next = 8;
1438
+ _context2.next = 9;
1421
1439
  break;
1422
1440
  }
1423
- _context2.next = 5;
1441
+ _context2.next = 6;
1424
1442
  return callSwell();
1425
- case 5:
1443
+ case 6:
1426
1444
  return _context2.abrupt("return", _context2.sent);
1427
- case 8:
1445
+ case 9:
1428
1446
  throw new commerce.CommerceError({
1429
1447
  message: 'Invalid query argument!'
1430
1448
  });
1431
- case 9:
1449
+ case 10:
1432
1450
  case "end":
1433
1451
  return _context2.stop();
1434
1452
  }
1435
1453
  }, _callee2);
1436
- }))).apply(this, arguments);
1437
- };
1454
+ }));
1455
+ return function fetcher(_x) {
1456
+ return _ref2.apply(this, arguments);
1457
+ };
1458
+ }();
1438
1459
 
1439
1460
  /*
1440
1461
  Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src
@@ -1 +1 @@
1
- {"version":3,"file":"commerce-swell.cjs.development.js","sources":["../src/const.ts","../src/utils/normalize.ts","../src/utils/handle-fetch-response.ts","../src/utils/get-checkout-id.ts","../src/cart/utils/checkout-to-cart.ts","../src/cart/utils/checkout-create.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-remove-item.tsx","../src/cart/use-update-item.tsx","../src/utils/common.ts","../src/utils/category-tree.ts","../src/product/use-search.tsx","../src/product/use-product.tsx","../src/site/use-categories.ts","../src/site/use-brands.ts","../src/fetcher.ts","../src/provider.ts","../src/swell.ts","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: Removed store id and public key\n*/\nexport const SWELL_CHECKOUT_ID_COOKIE = 'SWELL_checkoutId'\n\nexport const SWELL_CHECKOUT_URL_COOKIE = 'swell_checkoutUrl'\n\nexport const SWELL_CUSTOMER_TOKEN_COOKIE = 'swell_customerToken'\n\nexport const SWELL_COOKIE_EXPIRE = 30\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: Added \"Default Variant\" to default title when there's no product variant\n*/\nimport { MoneyV2 } from \"../schema\";\nimport type {\n Cart,\n CartLineItem,\n LineItem,\n ProductOptionValue,\n SwellCart,\n SwellImage,\n SwellProduct,\n SwellProductOptionValue,\n SwellVariant,\n} from \"../types\";\nimport { Product, ProductOption } from \"../types/product\";\nimport { Category, SwellCategoryChildren } from \"../types/site\";\n\nconst money = ({ amount, currencyCode }: MoneyV2) => {\n return {\n value: +amount,\n currencyCode,\n };\n};\n\ntype swellProductOption = {\n id: string;\n name: string;\n values: any[];\n};\n\ntype normalizedProductOption = {\n id: string;\n displayName: string;\n values: ProductOptionValue[];\n};\n\nconst normalizeProductOption = ({\n id,\n name: displayName = \"\",\n values = [],\n}: swellProductOption): ProductOption => {\n let returnValues = values.map((value) => {\n let output: any = {\n label: value.name,\n // id: value?.id || id,\n };\n if (displayName.match(/colou?r/gi)) {\n output = {\n ...output,\n hexColors: [value.name],\n };\n }\n return output;\n });\n return {\n __typename: \"MultipleChoiceOption\",\n id,\n displayName,\n values: returnValues,\n };\n};\n\nconst normalizeProductImages = (images: SwellImage[]) => {\n if (!images || images.length < 1) {\n return [{ url: \"/\" }];\n }\n return images?.map(({ file, ...rest }: SwellImage) => ({\n url: file?.url + \"\",\n height: Number(file?.height),\n width: Number(file?.width),\n ...rest,\n }));\n};\n\nconst normalizeProductVariants = (\n variants: SwellVariant[],\n productOptions: swellProductOption[]\n) => {\n return variants?.map(\n ({ id, name, price, option_value_ids: optionValueIds = [] }) => {\n const values = name\n .split(\",\")\n .map((i) => ({ name: i.trim(), label: i.trim() }));\n\n const options = optionValueIds.map((id) => {\n const matchingOption = productOptions.find((option) => {\n return option.values.find(\n (value: SwellProductOptionValue) => value.id == id\n );\n });\n return normalizeProductOption({\n id,\n name: matchingOption?.name ?? \"\",\n values,\n });\n });\n\n return {\n id,\n name,\n // sku: sku ?? id,\n price: price ?? undefined,\n // listPrice: price ?? null,\n // requiresShipping: true,\n options,\n };\n }\n );\n};\n\nexport function normalizeProduct(swellProduct: SwellProduct): Product {\n const {\n id,\n name,\n description,\n images,\n options,\n slug,\n variants,\n price: value,\n currency: currencyCode,\n } = swellProduct;\n // ProductView accesses variants for each product\n const emptyVariants = [{ options: [], id, name: \"Default variant\" }];\n\n const productOptions = options\n ? options.map((o) => normalizeProductOption(o))\n : [];\n const productVariants = variants\n ? normalizeProductVariants(variants.results, options)\n : [];\n\n const productImages = normalizeProductImages(images);\n const product = {\n ...swellProduct,\n description,\n id,\n vendor: \"\",\n path: `/${slug}`,\n images: productImages,\n variants:\n productVariants && productVariants.length\n ? productVariants\n : emptyVariants,\n options: productOptions,\n price: {\n value,\n currencyCode,\n },\n };\n return product;\n}\n\nexport function normalizeCart({\n id,\n account_id,\n date_created,\n currency,\n tax_included_total,\n items,\n sub_total,\n grand_total,\n discounts,\n}: SwellCart) {\n const cart: Cart = {\n id: id,\n customerId: account_id + \"\",\n email: \"\",\n createdAt: date_created,\n currency: { code: currency },\n taxesIncluded: tax_included_total > 0,\n lineItems: items?.map(normalizeLineItem) ?? [],\n lineItemsSubtotalPrice: +sub_total,\n subtotalPrice: +sub_total,\n totalPrice: grand_total,\n discounts: discounts?.map((discount) => ({ value: discount.amount })),\n };\n return cart;\n}\n/*\nexport function normalizeCustomer(customer: SwellCustomer): Customer {\n const { first_name: firstName, last_name: lastName } = customer\n return {\n ...customer,\n firstName,\n lastName,\n }\n}\n*/\nfunction normalizeLineItem({\n id,\n product,\n price,\n variant,\n quantity,\n}: CartLineItem): LineItem {\n const item = {\n id,\n variantId: variant?.id,\n productId: product.id ?? \"\",\n name: product?.name ?? \"\",\n quantity,\n variant: {\n id: variant?.id ?? \"\",\n sku: variant?.sku ?? \"\",\n name: variant?.name!,\n image: {\n url:\n product?.images && product.images.length > 0\n ? product?.images[0].file.url\n : \"/\",\n },\n requiresShipping: false,\n price: price,\n listPrice: price,\n },\n path: \"\",\n discounts: [],\n options: [\n {\n value: variant?.name,\n },\n ],\n };\n return item;\n}\n\nexport function normalizeChildren(children: SwellCategoryChildren) {\n return children?.results.map((ch) => ch.id);\n}\n\nexport function normalizeCategory({\n id,\n name,\n slug,\n products,\n images,\n depth,\n children,\n parent_id,\n}: any): Category {\n return {\n id,\n name,\n slug,\n path: `/${slug}`,\n isEmpty: products?.length === 0,\n images: images?.map((image: any) => ({\n url: image.file.url,\n })),\n depth,\n children: normalizeChildren(children),\n parentId: parent_id,\n };\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport { CommerceError } from '@plasmicpkgs/commerce'\n\ntype SwellFetchResponse = {\n error: {\n message: string\n code?: string\n }\n}\n\nconst handleFetchResponse = async (res: SwellFetchResponse) => {\n if (res) {\n if (res.error) {\n throw new CommerceError(res.error)\n }\n return res\n }\n return null;\n}\n\nexport default handleFetchResponse\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport Cookies from 'js-cookie'\nimport { SWELL_CHECKOUT_ID_COOKIE } from '../const'\n\nconst getCheckoutId = (id?: string) => {\n return id ?? Cookies.get(SWELL_CHECKOUT_ID_COOKIE)\n}\n\nexport default getCheckoutId\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport { CommerceError } from '@plasmicpkgs/commerce'\nimport { CartType } from '@plasmicpkgs/commerce'\n\nimport {\n CheckoutLineItemsAddPayload,\n CheckoutLineItemsRemovePayload,\n CheckoutLineItemsUpdatePayload,\n Maybe,\n} from '../../schema'\nimport { normalizeCart } from '../../utils'\nexport type CheckoutPayload =\n | CheckoutLineItemsAddPayload\n | CheckoutLineItemsUpdatePayload\n | CheckoutLineItemsRemovePayload\n\nconst checkoutToCart = (checkoutPayload?: Maybe<CheckoutPayload>): CartType.Cart => {\n if (!checkoutPayload) {\n throw new CommerceError({\n message: 'Invalid response from Swell',\n })\n }\n return normalizeCart(checkoutPayload as any)\n}\n\nexport default checkoutToCart\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes:\n - Added sameSite and secure to the cookie options to allow third-party cookies.\n\t We need this to make work on the studio\n*/\nimport { SWELL_CHECKOUT_URL_COOKIE, SWELL_COOKIE_EXPIRE } from '../../const'\n\nimport Cookies from 'js-cookie'\n\nexport const checkoutCreate = async (fetch: any) => {\n const cart = await fetch({\n query: 'cart',\n method: 'get',\n })\n\n if (!cart) {\n await fetch({\n query: 'cart',\n method: 'setItems',\n variables: [[]],\n })\n }\n\n const checkoutUrl = cart?.checkout_url\n const options: Cookies.CookieAttributes = {\n expires: SWELL_COOKIE_EXPIRE,\n sameSite: \"none\",\n secure: true\n }\n if (checkoutUrl) {\n Cookies.set(SWELL_CHECKOUT_URL_COOKIE, checkoutUrl, options)\n }\n\n return cart\n}\n\nexport default checkoutCreate\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport { useCart, UseCart } from '@plasmicpkgs/commerce'\nimport { SWRHook } from '@plasmicpkgs/commerce'\nimport { useMemo } from 'react'\nimport { normalizeCart } from '../utils/normalize'\nimport { checkoutCreate, checkoutToCart } from './utils'\nimport type { CartType } from '@plasmicpkgs/commerce'\n\nexport default useCart as UseCart<typeof handler>\n\ntype GetCartHook = CartType.GetCartHook;\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: 'cart',\n method: 'get',\n },\n async fetcher({ fetch }) {\n const cart = await checkoutCreate(fetch)\n\n return cart ? normalizeCart(cart) : null\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.lineItems.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport type { MutationHook } from '@plasmicpkgs/commerce'\nimport { CommerceError } from '@plasmicpkgs/commerce'\nimport { useAddItem, UseAddItem } from '@plasmicpkgs/commerce'\nimport useCart from './use-cart'\nimport { checkoutToCart } from './utils'\nimport { getCheckoutId } from '../utils'\nimport { useCallback } from 'react'\nimport { AddItemHook } from '../types/cart'\n\nexport default useAddItem as UseAddItem<typeof handler>\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: {\n query: 'cart',\n method: 'addItem',\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 const variables: {\n product_id: string | undefined\n variant_id?: string\n checkoutId?: string\n quantity?: number\n } = {\n checkoutId: getCheckoutId(),\n product_id: item.productId,\n quantity: item.quantity,\n }\n if (item.productId !== item.variantId) {\n variables.variant_id = item.variantId\n }\n\n const response = await fetch({\n ...options,\n variables,\n })\n\n return checkoutToCart(response) as any\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart()\n\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/swell/src\n Changes: None\n*/\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\n\nimport { CartType, useRemoveItem, UseRemoveItem } from \"@plasmicpkgs/commerce\";\nimport useCart from \"./use-cart\";\nimport { checkoutToCart } from \"./utils\";\n\ntype Cart = CartType.Cart;\ntype LineItem = CartType.LineItem;\ntype RemoveItemHook = CartType.RemoveItemHook;\n\nexport type RemoveItemFn<T = any> = T extends LineItem\n ? (input?: RemoveItemActionInput<T>) => Promise<Cart | null | undefined>\n : (input: RemoveItemActionInput<T>) => Promise<Cart | null>;\n\nexport type RemoveItemActionInput<T = any> = T extends LineItem\n ? Partial<RemoveItemHook[\"actionInput\"]>\n : RemoveItemHook[\"actionInput\"];\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: {\n query: \"cart\",\n method: \"removeItem\",\n },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n }: HookFetcherContext<RemoveItemHook>) {\n const response = await fetch({ ...options, variables: [itemId] });\n\n return checkoutToCart(response);\n },\n useHook: ({ fetch }: MutationHookContext<RemoveItemHook>) => () => {\n const { mutate } = useCart();\n\n return useCallback(\n async function removeItem(input: { id: string }) {\n const data = await fetch({ input: { itemId: input.id } });\n await mutate(data, false);\n\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport { ValidationError } from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\n// import useUpdateItem, {\n// UpdateItemInput as UpdateItemInputBase,\n// UseUpdateItem,\n// } from '@vercel/commerce/cart/use-update-item'\nimport { CartType, useUpdateItem, UseUpdateItem } from \"@plasmicpkgs/commerce\";\nimport { UpdateItemHook } from \"../types/cart\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\nimport { checkoutToCart } from \"./utils\";\n// export type UpdateItemInput<T = any> = T extends LineItem\n// ? Partial<UpdateItemInputBase<LineItem>>\n// : UpdateItemInputBase<LineItem>\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\ntype CartItemBody = CartType.CartItemBody;\ntype LineItem = CartType.LineItem;\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport const handler = {\n fetchOptions: {\n query: \"cart\",\n method: \"updateItem\",\n },\n async fetcher({\n input: { itemId, item },\n options,\n fetch,\n }: HookFetcherContext<UpdateItemHook>) {\n if (Number.isInteger(item.quantity)) {\n // Also allow the update hook to remove an item if the quantity is lower than 1\n if (item.quantity! < 1) {\n return removeItemHandler.fetcher({\n options: removeItemHandler.fetchOptions,\n input: { itemId },\n fetch,\n });\n }\n } else if (item.quantity) {\n throw new ValidationError({\n message: \"The item quantity has to be a valid integer\",\n });\n }\n const response = await fetch({\n ...options,\n variables: [itemId, { quantity: item.quantity }],\n });\n\n return checkoutToCart(response);\n },\n useHook:\n ({ fetch }: MutationHookContext<UpdateItemHook>) =>\n <T extends LineItem | undefined = undefined>(\n ctx: {\n item?: T;\n wait?: number;\n } = {}\n ) => {\n const { item } = ctx;\n const { mutate, data: cartData } = useCart() as any;\n\n return useCallback(\n debounce(async (input: UpdateItemActionInput) => {\n const itemId = input.id ?? item?.id;\n if (!itemId) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","export function ensure<T>(x: T | null | undefined, msg = \"\"): T {\n if (x === null || x === undefined) {\n debugger;\n throw new Error(\n `Value must not be undefined or null${msg ? `- ${msg}` : \"\"}`\n );\n } else {\n return x;\n }\n}\n\nexport const ensureNoNilFields = (\n o: Record<string, any>\n): Record<string, any> =>\n Object.fromEntries(Object.entries(o).filter(([k, v]) => v != null));\n","import { Category } from \"../types/site\";\nimport { ensure } from \"./common\";\n\nexport const walkCategoryTree = (\n category?: Category,\n categories?: Category[]\n) => {\n if (!category || !categories) {\n return [];\n }\n\n const queue: Category[] = [category];\n const result: Category[] = [];\n while (queue.length > 0) {\n const curr = ensure(queue.shift());\n result.push(curr);\n queue.push(\n ...(curr.children?.map((child) =>\n ensure(\n categories.find((category) => category.id === child),\n \"The child category must always exist in the categories list\"\n )\n ) ?? [])\n );\n }\n return result;\n};\n\nexport const topologicalSortForCategoryTree = (categories: Category[]) => {\n return categories\n .filter((category) => !category.parentId)\n .flatMap((category) => walkCategoryTree(category, categories));\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: Added count as a parameter to input\n*/\nimport type { SearchProductsHook } from \"@plasmicpkgs/commerce\";\nimport {\n HookSWRInput,\n SWRHook,\n useSearch,\n UseSearch,\n} from \"@plasmicpkgs/commerce\";\nimport { SwellProduct } from \"../types\";\nimport { Category } from \"../types/site\";\nimport { normalizeProduct } from \"../utils\";\nimport { walkCategoryTree } from \"../utils/category-tree\";\nimport { ensureNoNilFields } from \"../utils/common\";\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: string;\n brandId?: string;\n sort?: string;\n count?: number;\n includeSubCategories?: boolean;\n categories?: Category[];\n};\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n query: \"products\",\n method: \"list\",\n },\n async fetcher({ input, options, fetch }) {\n const sortMap = new Map([\n [\"latest-desc\", \"\"],\n [\"price-asc\", \"price asc\"],\n [\"price-desc\", \"price desc\"],\n [\"trending-desc\", \"popularity\"],\n ]);\n const {\n categoryId,\n includeSubCategories,\n categories,\n brandId,\n search,\n sort = \"latest-desc\",\n count,\n } = input;\n const mappedSort = sortMap.get(sort);\n\n const includedCategories = includeSubCategories\n ? walkCategoryTree(\n categories?.find((category) => category.id === categoryId),\n categories\n )\n : undefined;\n\n const { results: products } = await fetch({\n query: options.query,\n method: options.method,\n variables: ensureNoNilFields({\n category: !includeSubCategories ? categoryId : undefined,\n brand: brandId,\n search,\n sort: mappedSort,\n expand: [\"variants\"],\n limit: count,\n $filters: {\n ...(includeSubCategories\n ? { category: includedCategories?.map((c) => c.id) }\n : {}),\n },\n }),\n });\n\n return {\n products: products.map((product: SwellProduct) =>\n normalizeProduct(product)\n ),\n found: products.length > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"includeSubCategories\", input.includeSubCategories],\n [\"categories\", input.categories],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"count\", input.count],\n ] as HookSWRInput,\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { GetProductHook, SWRHook, UseProduct, useProduct } from '@plasmicpkgs/commerce'\nimport { normalizeProduct } from '../utils'\nimport { SwellProduct } from '../types'\n\nexport type GetProductInput = {\n id?: string;\n}\n\nexport default useProduct as UseProduct<typeof handler>\n\nexport const handler: SWRHook<GetProductHook> = {\n fetchOptions: {\n query: 'products',\n method: 'get',\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n const product = await fetch({\n query: options.query,\n method: options.method,\n variables: [id],\n });\n if (!product) {\n return null;\n }\n return normalizeProduct(product);\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n ['id', input.id],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n })\n },\n}\n","import {\n SiteTypes,\n SWRHook,\n useCategories,\n UseCategories,\n} from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { Category } from \"../types/site\";\nimport { normalizeCategory } from \"../utils\";\nimport { topologicalSortForCategoryTree } from \"../utils/category-tree\";\nimport { ensureNoNilFields } from \"../utils/common\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\ntype GetCategoriesHook = SiteTypes.GetCategoriesHook;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: \"categories\",\n method: \"get\",\n },\n async fetcher({ input, options, fetch }) {\n const { addIsEmptyField, categoryId } = input;\n\n const data = await fetch({\n query: options.query,\n method: options.method,\n variables: ensureNoNilFields({\n expand: [\"children\", \"parent_id\"],\n id: categoryId,\n }),\n });\n\n let categories = data?.results ?? [];\n if (addIsEmptyField) {\n categories = await Promise.all(\n categories.map(async (category: any) => ({\n ...category,\n products: (\n await fetch({\n query: \"products\",\n method: \"list\",\n variables: ensureNoNilFields({\n limit: 1,\n category: category.id,\n }),\n })\n ).results,\n }))\n );\n }\n\n const normalizedCategories: Category[] = !categoryId\n ? topologicalSortForCategoryTree(categories.map(normalizeCategory))\n : categories.map(normalizeCategory);\n\n for (const category of normalizedCategories) {\n category.depth =\n (normalizedCategories.find((c) => c.id === category.parentId)?.depth ??\n -1) + 1;\n }\n return normalizedCategories;\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [\n [\"addIsEmptyField\", input?.addIsEmptyField],\n [\"categoryId\", input?.categoryId],\n ],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","import {\n SiteTypes,\n SWRHook,\n useBrands,\n UseBrands,\n} from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\n\nexport default useBrands as UseBrands<typeof handler>;\n\ntype GetBrandsHook = SiteTypes.GetBrandsHook;\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: \"attributes\",\n method: \"get\",\n },\n async fetcher({ fetch }) {\n const vendors: [string] =\n (\n await fetch({\n query: \"attributes\",\n method: \"get\",\n variables: \"brand\",\n })\n )?.values ?? [];\n return Array.from(new Set(vendors).values()).map((v) => ({\n entityId: v,\n name: v,\n path: `brands/${v}`,\n }));\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { CommerceError } from '@plasmicpkgs/commerce'\nimport { handleFetchResponse } from './utils'\nimport swell from './provider'\n\nconst fetcher: Fetcher = async ({ method = 'get', variables, query }) => {\n async function callSwell() {\n if (Array.isArray(variables)) {\n const arg1 = variables[0]\n const arg2 = variables[1]\n const response = await swell[query!][method](arg1, arg2)\n return handleFetchResponse(response)\n } else {\n const response = await swell[query!][method](variables)\n return handleFetchResponse(response)\n }\n }\n\n if (query && query in swell) {\n return await callSwell()\n } else {\n throw new CommerceError({ message: 'Invalid query argument!' })\n }\n}\n\nexport default fetcher\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: Added storeId and publicKey parameters\n*/\n// @ts-ignore\nimport swell, { init } from \"swell-js\";\n\nimport { CommerceExtraFeatures, Provider } from \"@plasmicpkgs/commerce\";\nimport { SWELL_CHECKOUT_ID_COOKIE } from \"./const\";\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 fetcher from \"./fetcher\";\nimport { Fetcher } from \"@plasmicpkgs/commerce\";\n\nexport const getSwellProvider = (storeId: string, publicKey: string) => {\n init(storeId, publicKey);\n\n return {\n locale: \"en-us\",\n cartCookie: SWELL_CHECKOUT_ID_COOKIE,\n swell,\n fetcher,\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands },\n extraFeatures: {\n includeSubCategories: true,\n },\n };\n};\n\nexport type SwellProvider = {\n locale: string;\n cartCookie: string;\n fetcher: Fetcher;\n cart: {\n useCart: typeof useCart;\n useAddItem: typeof useAddItem;\n useUpdateItem: typeof useUpdateItem;\n useRemoveItem: typeof useRemoveItem;\n };\n products: {\n useSearch: typeof useSearch;\n };\n site: {\n useCategories: typeof useCategories;\n useBrands: typeof useBrands;\n };\n extraFeatures: CommerceExtraFeatures;\n swell: any;\n};\n\nexport default swell as any;\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport {\n CommerceAPIConfig,\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from '@plasmicpkgs/commerce'\nimport { SWELL_CHECKOUT_ID_COOKIE, SWELL_COOKIE_EXPIRE, SWELL_CUSTOMER_TOKEN_COOKIE } from './const'\nimport { getSwellProvider, SwellProvider } from './provider'\nimport fetchApi from './utils/fetch-swell-api'\n\nexport type { SwellProvider }\n\nexport const getCommerceProvider = (storeId: string, publicKey: string) => \n getCoreCommerceProvider(getSwellProvider(storeId, publicKey))\n\nexport const useCommerce = () => useCoreCommerce<SwellProvider>()\n\n\nexport interface SwellConfig extends CommerceAPIConfig {\n fetch: any\n}\n\nconst config: SwellConfig = {\n locale: 'en-US',\n commerceUrl: '',\n apiToken: ''!,\n cartCookie: SWELL_CHECKOUT_ID_COOKIE,\n cartCookieMaxAge: SWELL_COOKIE_EXPIRE,\n fetch: fetchApi,\n customerCookie: SWELL_CUSTOMER_TOKEN_COOKIE,\n}\n","import { GlobalActionsProvider, GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\nimport { getCommerceProvider } from \"./swell\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n storeId: string;\n publicKey: string;\n}\n\nconst globalContextName = \"plasmic-commerce-swell-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: \"plasmic-commerce-swell-provider\",\n displayName: \"Swell Provider\",\n props: {\n storeId: {\n type: \"string\",\n defaultValue: \"plasmic-sandbox\",\n },\n publicKey: {\n type: \"string\",\n defaultValue: \"pk_QaZeGhtpQaVbNQnWJdRlE1abE6Ezf9U9\",\n },\n },\n unstable__globalActions: globalActionsRegistrations as any,\n description: `Get your store ID and public storefront API key from the Swell admin UI under Developer > API Keys.\n\n[Watch how to use this integration](https://www.youtube.com/watch?v=b2mgOTbP2_8).`,\n importPath: \"@plasmicpkgs/commerce-swell\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { storeId, publicKey, children } = props;\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(storeId, publicKey),\n [storeId, publicKey]\n );\n\n return (\n <CommerceProvider>\n <CartActionsProvider globalContextName={globalContextName}>\n {children}\n </CartActionsProvider>\n </CommerceProvider>\n );\n}\n\nexport function registerCommerceProvider(\n loader?: Registerable,\n customCommerceProviderMeta?: GlobalContextMeta<CommerceProviderProps>\n) {\n const doRegisterComponent: typeof registerGlobalContext = (...args) =>\n loader\n ? loader.registerGlobalContext(...args)\n : registerGlobalContext(...args);\n doRegisterComponent(\n CommerceProviderComponent,\n customCommerceProviderMeta ?? commerceProviderMeta\n );\n}\n","import { Registerable } from \"./registerable\";\nimport { registerCommerceProvider } from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\nexport * from \"./registerCommerceProvider\";\nexport * from \"./swell\";\nexport { registerCommerceProvider };\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n"],"names":["SWELL_CHECKOUT_ID_COOKIE","SWELL_CHECKOUT_URL_COOKIE","SWELL_COOKIE_EXPIRE","normalizeProductOption","_ref2","id","_ref2$name","name","displayName","_ref2$values","values","returnValues","map","value","output","label","match","_extends","hexColors","__typename","normalizeProductImages","images","length","url","_ref3","file","rest","_objectWithoutPropertiesLoose","_excluded","height","Number","width","normalizeProductVariants","variants","productOptions","_ref4","price","_ref4$option_value_id","option_value_ids","optionValueIds","split","i","trim","options","matchingOption","find","option","_matchingOption$name","undefined","normalizeProduct","swellProduct","description","slug","currencyCode","currency","emptyVariants","o","productVariants","results","productImages","product","vendor","path","normalizeCart","_ref5","account_id","date_created","tax_included_total","items","sub_total","grand_total","discounts","cart","customerId","email","createdAt","code","taxesIncluded","lineItems","_items$map","normalizeLineItem","lineItemsSubtotalPrice","subtotalPrice","totalPrice","discount","amount","_ref6","variant","quantity","item","variantId","productId","_product$id","_product$name","_variant$id","sku","_variant$sku","image","requiresShipping","listPrice","normalizeChildren","children","ch","normalizeCategory","_ref7","products","depth","parent_id","isEmpty","parentId","handleFetchResponse","_x","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_callee$","_context","prev","next","error","CommerceError","abrupt","stop","apply","arguments","getCheckoutId","Cookies","get","checkoutToCart","checkoutPayload","message","checkoutCreate","fetch","checkoutUrl","query","method","sent","variables","checkout_url","expires","sameSite","secure","set","handler","fetchOptions","fetcher","useHook","useData","input","response","swrOptions","revalidateOnFocus","useMemo","Object","create","_response$data$lineIt","_response$data","data","enumerable","isInteger","checkoutId","product_id","variant_id","_useCart","useCart","mutate","useCallback","addItem","_addItem","_callee2","_callee2$","_context2","itemId","removeItem","_removeItem","_ref$input","removeItemHandler","ValidationError","ctx","_ctx","debounce","_input$id","_ctx$wait","wait","ensure","x","msg","Error","ensureNoNilFields","fromEntries","entries","filter","v","walkCategoryTree","category","categories","queue","result","_curr$children$map","_curr$children","curr","shift","push","child","topologicalSortForCategoryTree","flatMap","sortMap","Map","categoryId","includeSubCategories","brandId","search","_input$sort","sort","count","mappedSort","includedCategories","brand","expand","limit","$filters","c","_yield$fetch","found","addIsEmptyField","_context3","_data$results","Promise","all","t0","t1","t2","t3","t4","normalizedCategories","_loop","_normalizedCategories","_normalizedCategories2","_loop$","_step","_iterator","_createForOfIteratorHelperLoose","done","delegateYield","_response$data$length","_yield$fetch$values","vendors","Array","from","Set","entityId","_callSwell","_ref$method","callSwell","_callSwell2","arg1","arg2","_response","isArray","swell","getSwellProvider","storeId","publicKey","init","locale","cartCookie","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","extraFeatures","getCommerceProvider","getCoreCommerceProvider","useCommerce","useCoreCommerce","globalContextName","commerceProviderMeta","props","type","defaultValue","unstable__globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","CommerceProvider","React","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
1
+ {"version":3,"file":"commerce-swell.cjs.development.js","sources":["../src/const.ts","../src/utils/normalize.ts","../src/utils/handle-fetch-response.ts","../src/utils/get-checkout-id.ts","../src/cart/utils/checkout-to-cart.ts","../src/cart/utils/checkout-create.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-remove-item.tsx","../src/cart/use-update-item.tsx","../src/utils/common.ts","../src/utils/category-tree.ts","../src/product/use-search.tsx","../src/product/use-product.tsx","../src/site/use-categories.ts","../src/site/use-brands.ts","../src/fetcher.ts","../src/provider.ts","../src/swell.ts","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: Removed store id and public key\n*/\nexport const SWELL_CHECKOUT_ID_COOKIE = 'SWELL_checkoutId'\n\nexport const SWELL_CHECKOUT_URL_COOKIE = 'swell_checkoutUrl'\n\nexport const SWELL_CUSTOMER_TOKEN_COOKIE = 'swell_customerToken'\n\nexport const SWELL_COOKIE_EXPIRE = 30\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: Added \"Default Variant\" to default title when there's no product variant\n*/\nimport { MoneyV2 } from \"../schema\";\nimport type {\n Cart,\n CartLineItem,\n LineItem,\n ProductOptionValue,\n SwellCart,\n SwellImage,\n SwellProduct,\n SwellProductOptionValue,\n SwellVariant,\n} from \"../types\";\nimport { Product, ProductOption } from \"../types/product\";\nimport { Category, SwellCategoryChildren } from \"../types/site\";\n\nconst money = ({ amount, currencyCode }: MoneyV2) => {\n return {\n value: +amount,\n currencyCode,\n };\n};\n\ntype swellProductOption = {\n id: string;\n name: string;\n values: any[];\n};\n\ntype normalizedProductOption = {\n id: string;\n displayName: string;\n values: ProductOptionValue[];\n};\n\nconst normalizeProductOption = ({\n id,\n name: displayName = \"\",\n values = [],\n}: swellProductOption): ProductOption => {\n let returnValues = values.map((value) => {\n let output: any = {\n label: value.name,\n // id: value?.id || id,\n };\n if (displayName.match(/colou?r/gi)) {\n output = {\n ...output,\n hexColors: [value.name],\n };\n }\n return output;\n });\n return {\n __typename: \"MultipleChoiceOption\",\n id,\n displayName,\n values: returnValues,\n };\n};\n\nconst normalizeProductImages = (images: SwellImage[]) => {\n if (!images || images.length < 1) {\n return [{ url: \"/\" }];\n }\n return images?.map(({ file, ...rest }: SwellImage) => ({\n url: file?.url + \"\",\n height: Number(file?.height),\n width: Number(file?.width),\n ...rest,\n }));\n};\n\nconst normalizeProductVariants = (\n variants: SwellVariant[],\n productOptions: swellProductOption[]\n) => {\n return variants?.map(\n ({ id, name, price, option_value_ids: optionValueIds = [] }) => {\n const values = name\n .split(\",\")\n .map((i) => ({ name: i.trim(), label: i.trim() }));\n\n const options = optionValueIds.map((id) => {\n const matchingOption = productOptions.find((option) => {\n return option.values.find(\n (value: SwellProductOptionValue) => value.id == id\n );\n });\n return normalizeProductOption({\n id,\n name: matchingOption?.name ?? \"\",\n values,\n });\n });\n\n return {\n id,\n name,\n // sku: sku ?? id,\n price: price ?? undefined,\n // listPrice: price ?? null,\n // requiresShipping: true,\n options,\n };\n }\n );\n};\n\nexport function normalizeProduct(swellProduct: SwellProduct): Product {\n const {\n id,\n name,\n description,\n images,\n options,\n slug,\n variants,\n price: value,\n currency: currencyCode,\n } = swellProduct;\n // ProductView accesses variants for each product\n const emptyVariants = [{ options: [], id, name: \"Default variant\" }];\n\n const productOptions = options\n ? options.map((o) => normalizeProductOption(o))\n : [];\n const productVariants = variants\n ? normalizeProductVariants(variants.results, options)\n : [];\n\n const productImages = normalizeProductImages(images);\n const product = {\n ...swellProduct,\n description,\n id,\n vendor: \"\",\n path: `/${slug}`,\n images: productImages,\n variants:\n productVariants && productVariants.length\n ? productVariants\n : emptyVariants,\n options: productOptions,\n price: {\n value,\n currencyCode,\n },\n };\n return product;\n}\n\nexport function normalizeCart({\n id,\n account_id,\n date_created,\n currency,\n tax_included_total,\n items,\n sub_total,\n grand_total,\n discounts,\n}: SwellCart) {\n const cart: Cart = {\n id: id,\n customerId: account_id + \"\",\n email: \"\",\n createdAt: date_created,\n currency: { code: currency },\n taxesIncluded: tax_included_total > 0,\n lineItems: items?.map(normalizeLineItem) ?? [],\n lineItemsSubtotalPrice: +sub_total,\n subtotalPrice: +sub_total,\n totalPrice: grand_total,\n discounts: discounts?.map((discount) => ({ value: discount.amount })),\n };\n return cart;\n}\n/*\nexport function normalizeCustomer(customer: SwellCustomer): Customer {\n const { first_name: firstName, last_name: lastName } = customer\n return {\n ...customer,\n firstName,\n lastName,\n }\n}\n*/\nfunction normalizeLineItem({\n id,\n product,\n price,\n variant,\n quantity,\n}: CartLineItem): LineItem {\n const item = {\n id,\n variantId: variant?.id,\n productId: product.id ?? \"\",\n name: product?.name ?? \"\",\n quantity,\n variant: {\n id: variant?.id ?? \"\",\n sku: variant?.sku ?? \"\",\n name: variant?.name!,\n image: {\n url:\n product?.images && product.images.length > 0\n ? product?.images[0].file.url\n : \"/\",\n },\n requiresShipping: false,\n price: price,\n listPrice: price,\n },\n path: \"\",\n discounts: [],\n options: [\n {\n value: variant?.name,\n },\n ],\n };\n return item;\n}\n\nexport function normalizeChildren(children: SwellCategoryChildren) {\n return children?.results.map((ch) => ch.id);\n}\n\nexport function normalizeCategory({\n id,\n name,\n slug,\n products,\n images,\n depth,\n children,\n parent_id,\n}: any): Category {\n return {\n id,\n name,\n slug,\n path: `/${slug}`,\n isEmpty: products?.length === 0,\n images: images?.map((image: any) => ({\n url: image.file.url,\n })),\n depth,\n children: normalizeChildren(children),\n parentId: parent_id,\n };\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport { CommerceError } from '@plasmicpkgs/commerce'\n\ntype SwellFetchResponse = {\n error: {\n message: string\n code?: string\n }\n}\n\nconst handleFetchResponse = async (res: SwellFetchResponse) => {\n if (res) {\n if (res.error) {\n throw new CommerceError(res.error)\n }\n return res\n }\n return null;\n}\n\nexport default handleFetchResponse\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport Cookies from 'js-cookie'\nimport { SWELL_CHECKOUT_ID_COOKIE } from '../const'\n\nconst getCheckoutId = (id?: string) => {\n return id ?? Cookies.get(SWELL_CHECKOUT_ID_COOKIE)\n}\n\nexport default getCheckoutId\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport { CommerceError } from '@plasmicpkgs/commerce'\nimport { CartType } from '@plasmicpkgs/commerce'\n\nimport {\n CheckoutLineItemsAddPayload,\n CheckoutLineItemsRemovePayload,\n CheckoutLineItemsUpdatePayload,\n Maybe,\n} from '../../schema'\nimport { normalizeCart } from '../../utils'\nexport type CheckoutPayload =\n | CheckoutLineItemsAddPayload\n | CheckoutLineItemsUpdatePayload\n | CheckoutLineItemsRemovePayload\n\nconst checkoutToCart = (checkoutPayload?: Maybe<CheckoutPayload>): CartType.Cart => {\n if (!checkoutPayload) {\n throw new CommerceError({\n message: 'Invalid response from Swell',\n })\n }\n return normalizeCart(checkoutPayload as any)\n}\n\nexport default checkoutToCart\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes:\n - Added sameSite and secure to the cookie options to allow third-party cookies.\n\t We need this to make work on the studio\n*/\nimport { SWELL_CHECKOUT_URL_COOKIE, SWELL_COOKIE_EXPIRE } from '../../const'\n\nimport Cookies from 'js-cookie'\n\nexport const checkoutCreate = async (fetch: any) => {\n const cart = await fetch({\n query: 'cart',\n method: 'get',\n })\n\n if (!cart) {\n await fetch({\n query: 'cart',\n method: 'setItems',\n variables: [[]],\n })\n }\n\n const checkoutUrl = cart?.checkout_url\n const options: Cookies.CookieAttributes = {\n expires: SWELL_COOKIE_EXPIRE,\n sameSite: \"none\",\n secure: true\n }\n if (checkoutUrl) {\n Cookies.set(SWELL_CHECKOUT_URL_COOKIE, checkoutUrl, options)\n }\n\n return cart\n}\n\nexport default checkoutCreate\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport { useCart, UseCart } from '@plasmicpkgs/commerce'\nimport { SWRHook } from '@plasmicpkgs/commerce'\nimport { useMemo } from 'react'\nimport { normalizeCart } from '../utils/normalize'\nimport { checkoutCreate, checkoutToCart } from './utils'\nimport type { CartType } from '@plasmicpkgs/commerce'\n\nexport default useCart as UseCart<typeof handler>\n\ntype GetCartHook = CartType.GetCartHook;\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: 'cart',\n method: 'get',\n },\n async fetcher({ fetch }) {\n const cart = await checkoutCreate(fetch)\n\n return cart ? normalizeCart(cart) : null\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.lineItems.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport type { MutationHook } from '@plasmicpkgs/commerce'\nimport { CommerceError } from '@plasmicpkgs/commerce'\nimport { useAddItem, UseAddItem } from '@plasmicpkgs/commerce'\nimport useCart from './use-cart'\nimport { checkoutToCart } from './utils'\nimport { getCheckoutId } from '../utils'\nimport { useCallback } from 'react'\nimport { AddItemHook } from '../types/cart'\n\nexport default useAddItem as UseAddItem<typeof handler>\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: {\n query: 'cart',\n method: 'addItem',\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 const variables: {\n product_id: string | undefined\n variant_id?: string\n checkoutId?: string\n quantity?: number\n } = {\n checkoutId: getCheckoutId(),\n product_id: item.productId,\n quantity: item.quantity,\n }\n if (item.productId !== item.variantId) {\n variables.variant_id = item.variantId\n }\n\n const response = await fetch({\n ...options,\n variables,\n })\n\n return checkoutToCart(response) as any\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart()\n\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/swell/src\n Changes: None\n*/\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\n\nimport { CartType, useRemoveItem, UseRemoveItem } from \"@plasmicpkgs/commerce\";\nimport useCart from \"./use-cart\";\nimport { checkoutToCart } from \"./utils\";\n\ntype Cart = CartType.Cart;\ntype LineItem = CartType.LineItem;\ntype RemoveItemHook = CartType.RemoveItemHook;\n\nexport type RemoveItemFn<T = any> = T extends LineItem\n ? (input?: RemoveItemActionInput<T>) => Promise<Cart | null | undefined>\n : (input: RemoveItemActionInput<T>) => Promise<Cart | null>;\n\nexport type RemoveItemActionInput<T = any> = T extends LineItem\n ? Partial<RemoveItemHook[\"actionInput\"]>\n : RemoveItemHook[\"actionInput\"];\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: {\n query: \"cart\",\n method: \"removeItem\",\n },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n }: HookFetcherContext<RemoveItemHook>) {\n const response = await fetch({ ...options, variables: [itemId] });\n\n return checkoutToCart(response);\n },\n useHook: ({ fetch }: MutationHookContext<RemoveItemHook>) => () => {\n const { mutate } = useCart();\n\n return useCallback(\n async function removeItem(input: { id: string }) {\n const data = await fetch({ input: { itemId: input.id } });\n await mutate(data, false);\n\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport { ValidationError } from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\n// import useUpdateItem, {\n// UpdateItemInput as UpdateItemInputBase,\n// UseUpdateItem,\n// } from '@vercel/commerce/cart/use-update-item'\nimport { CartType, useUpdateItem, UseUpdateItem } from \"@plasmicpkgs/commerce\";\nimport { UpdateItemHook } from \"../types/cart\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\nimport { checkoutToCart } from \"./utils\";\n// export type UpdateItemInput<T = any> = T extends LineItem\n// ? Partial<UpdateItemInputBase<LineItem>>\n// : UpdateItemInputBase<LineItem>\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\ntype CartItemBody = CartType.CartItemBody;\ntype LineItem = CartType.LineItem;\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport const handler = {\n fetchOptions: {\n query: \"cart\",\n method: \"updateItem\",\n },\n async fetcher({\n input: { itemId, item },\n options,\n fetch,\n }: HookFetcherContext<UpdateItemHook>) {\n if (Number.isInteger(item.quantity)) {\n // Also allow the update hook to remove an item if the quantity is lower than 1\n if (item.quantity! < 1) {\n return removeItemHandler.fetcher({\n options: removeItemHandler.fetchOptions,\n input: { itemId },\n fetch,\n });\n }\n } else if (item.quantity) {\n throw new ValidationError({\n message: \"The item quantity has to be a valid integer\",\n });\n }\n const response = await fetch({\n ...options,\n variables: [itemId, { quantity: item.quantity }],\n });\n\n return checkoutToCart(response);\n },\n useHook:\n ({ fetch }: MutationHookContext<UpdateItemHook>) =>\n <T extends LineItem | undefined = undefined>(\n ctx: {\n item?: T;\n wait?: number;\n } = {}\n ) => {\n const { item } = ctx;\n const { mutate, data: cartData } = useCart() as any;\n\n return useCallback(\n debounce(async (input: UpdateItemActionInput) => {\n const itemId = input.id ?? item?.id;\n if (!itemId) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","export function ensure<T>(x: T | null | undefined, msg = \"\"): T {\n if (x === null || x === undefined) {\n debugger;\n throw new Error(\n `Value must not be undefined or null${msg ? `- ${msg}` : \"\"}`\n );\n } else {\n return x;\n }\n}\n\nexport const ensureNoNilFields = (\n o: Record<string, any>\n): Record<string, any> =>\n Object.fromEntries(Object.entries(o).filter(([k, v]) => v != null));\n","import { Category } from \"../types/site\";\nimport { ensure } from \"./common\";\n\nexport const walkCategoryTree = (\n category?: Category,\n categories?: Category[]\n) => {\n if (!category || !categories) {\n return [];\n }\n\n const queue: Category[] = [category];\n const result: Category[] = [];\n while (queue.length > 0) {\n const curr = ensure(queue.shift());\n result.push(curr);\n queue.push(\n ...(curr.children?.map((child) =>\n ensure(\n categories.find((category) => category.id === child),\n \"The child category must always exist in the categories list\"\n )\n ) ?? [])\n );\n }\n return result;\n};\n\nexport const topologicalSortForCategoryTree = (categories: Category[]) => {\n return categories\n .filter((category) => !category.parentId)\n .flatMap((category) => walkCategoryTree(category, categories));\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: Added count as a parameter to input\n*/\nimport type { SearchProductsHook } from \"@plasmicpkgs/commerce\";\nimport {\n HookSWRInput,\n SWRHook,\n useSearch,\n UseSearch,\n} from \"@plasmicpkgs/commerce\";\nimport { SwellProduct } from \"../types\";\nimport { Category } from \"../types/site\";\nimport { normalizeProduct } from \"../utils\";\nimport { walkCategoryTree } from \"../utils/category-tree\";\nimport { ensureNoNilFields } from \"../utils/common\";\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: string;\n brandId?: string;\n sort?: string;\n count?: number;\n includeSubCategories?: boolean;\n categories?: Category[];\n};\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n query: \"products\",\n method: \"list\",\n },\n async fetcher({ input, options, fetch }) {\n const sortMap = new Map([\n [\"latest-desc\", \"\"],\n [\"price-asc\", \"price asc\"],\n [\"price-desc\", \"price desc\"],\n [\"trending-desc\", \"popularity\"],\n ]);\n const {\n categoryId,\n includeSubCategories,\n categories,\n brandId,\n search,\n sort = \"latest-desc\",\n count,\n } = input;\n const mappedSort = sortMap.get(sort);\n\n const includedCategories = includeSubCategories\n ? walkCategoryTree(\n categories?.find((category) => category.id === categoryId),\n categories\n )\n : undefined;\n\n const { results: products } = await fetch({\n query: options.query,\n method: options.method,\n variables: ensureNoNilFields({\n category: !includeSubCategories ? categoryId : undefined,\n brand: brandId,\n search,\n sort: mappedSort,\n expand: [\"variants\"],\n limit: count,\n $filters: {\n ...(includeSubCategories\n ? { category: includedCategories?.map((c) => c.id) }\n : {}),\n },\n }),\n });\n\n return {\n products: products.map((product: SwellProduct) =>\n normalizeProduct(product)\n ),\n found: products.length > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"includeSubCategories\", input.includeSubCategories],\n [\"categories\", input.categories],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"count\", input.count],\n ] as HookSWRInput,\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { GetProductHook, SWRHook, UseProduct, useProduct } from '@plasmicpkgs/commerce'\nimport { normalizeProduct } from '../utils'\nimport { SwellProduct } from '../types'\n\nexport type GetProductInput = {\n id?: string;\n}\n\nexport default useProduct as UseProduct<typeof handler>\n\nexport const handler: SWRHook<GetProductHook> = {\n fetchOptions: {\n query: 'products',\n method: 'get',\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n const product = await fetch({\n query: options.query,\n method: options.method,\n variables: [id],\n });\n if (!product) {\n return null;\n }\n return normalizeProduct(product);\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n ['id', input.id],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n })\n },\n}\n","import {\n SiteTypes,\n SWRHook,\n useCategories,\n UseCategories,\n} from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { Category } from \"../types/site\";\nimport { normalizeCategory } from \"../utils\";\nimport { topologicalSortForCategoryTree } from \"../utils/category-tree\";\nimport { ensureNoNilFields } from \"../utils/common\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\ntype GetCategoriesHook = SiteTypes.GetCategoriesHook;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: \"categories\",\n method: \"get\",\n },\n async fetcher({ input, options, fetch }) {\n const { addIsEmptyField, categoryId } = input;\n\n const data = await fetch({\n query: options.query,\n method: options.method,\n variables: ensureNoNilFields({\n expand: [\"children\", \"parent_id\"],\n id: categoryId,\n }),\n });\n\n let categories = data?.results ?? [];\n if (addIsEmptyField) {\n categories = await Promise.all(\n categories.map(async (category: any) => ({\n ...category,\n products: (\n await fetch({\n query: \"products\",\n method: \"list\",\n variables: ensureNoNilFields({\n limit: 1,\n category: category.id,\n }),\n })\n ).results,\n }))\n );\n }\n\n const normalizedCategories: Category[] = !categoryId\n ? topologicalSortForCategoryTree(categories.map(normalizeCategory))\n : categories.map(normalizeCategory);\n\n for (const category of normalizedCategories) {\n category.depth =\n (normalizedCategories.find((c) => c.id === category.parentId)?.depth ??\n -1) + 1;\n }\n return normalizedCategories;\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [\n [\"addIsEmptyField\", input?.addIsEmptyField],\n [\"categoryId\", input?.categoryId],\n ],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","import {\n SiteTypes,\n SWRHook,\n useBrands,\n UseBrands,\n} from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\n\nexport default useBrands as UseBrands<typeof handler>;\n\ntype GetBrandsHook = SiteTypes.GetBrandsHook;\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: \"attributes\",\n method: \"get\",\n },\n async fetcher({ fetch }) {\n const vendors: [string] =\n (\n await fetch({\n query: \"attributes\",\n method: \"get\",\n variables: \"brand\",\n })\n )?.values ?? [];\n return Array.from(new Set(vendors).values()).map((v) => ({\n entityId: v,\n name: v,\n path: `brands/${v}`,\n }));\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { CommerceError } from '@plasmicpkgs/commerce'\nimport { handleFetchResponse } from './utils'\nimport swell from './provider'\n\nconst fetcher: Fetcher = async ({ method = 'get', variables, query }) => {\n async function callSwell() {\n if (Array.isArray(variables)) {\n const arg1 = variables[0]\n const arg2 = variables[1]\n const response = await swell[query!][method](arg1, arg2)\n return handleFetchResponse(response)\n } else {\n const response = await swell[query!][method](variables)\n return handleFetchResponse(response)\n }\n }\n\n if (query && query in swell) {\n return await callSwell()\n } else {\n throw new CommerceError({ message: 'Invalid query argument!' })\n }\n}\n\nexport default fetcher\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: Added storeId and publicKey parameters\n*/\n// @ts-ignore\nimport swell, { init } from \"swell-js\";\n\nimport { CommerceExtraFeatures, Provider } from \"@plasmicpkgs/commerce\";\nimport { SWELL_CHECKOUT_ID_COOKIE } from \"./const\";\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 fetcher from \"./fetcher\";\nimport { Fetcher } from \"@plasmicpkgs/commerce\";\n\nexport const getSwellProvider = (storeId: string, publicKey: string) => {\n init(storeId, publicKey);\n\n return {\n locale: \"en-us\",\n cartCookie: SWELL_CHECKOUT_ID_COOKIE,\n swell,\n fetcher,\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands },\n extraFeatures: {\n includeSubCategories: true,\n },\n };\n};\n\nexport type SwellProvider = {\n locale: string;\n cartCookie: string;\n fetcher: Fetcher;\n cart: {\n useCart: typeof useCart;\n useAddItem: typeof useAddItem;\n useUpdateItem: typeof useUpdateItem;\n useRemoveItem: typeof useRemoveItem;\n };\n products: {\n useSearch: typeof useSearch;\n };\n site: {\n useCategories: typeof useCategories;\n useBrands: typeof useBrands;\n };\n extraFeatures: CommerceExtraFeatures;\n swell: any;\n};\n\nexport default swell as any;\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/swell/src\n Changes: None\n*/\nimport {\n CommerceAPIConfig,\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from '@plasmicpkgs/commerce'\nimport { SWELL_CHECKOUT_ID_COOKIE, SWELL_COOKIE_EXPIRE, SWELL_CUSTOMER_TOKEN_COOKIE } from './const'\nimport { getSwellProvider, SwellProvider } from './provider'\nimport fetchApi from './utils/fetch-swell-api'\n\nexport type { SwellProvider }\n\nexport const getCommerceProvider = (storeId: string, publicKey: string) => \n getCoreCommerceProvider(getSwellProvider(storeId, publicKey))\n\nexport const useCommerce = () => useCoreCommerce<SwellProvider>()\n\n\nexport interface SwellConfig extends CommerceAPIConfig {\n fetch: any\n}\n\nconst config: SwellConfig = {\n locale: 'en-US',\n commerceUrl: '',\n apiToken: ''!,\n cartCookie: SWELL_CHECKOUT_ID_COOKIE,\n cartCookieMaxAge: SWELL_COOKIE_EXPIRE,\n fetch: fetchApi,\n customerCookie: SWELL_CUSTOMER_TOKEN_COOKIE,\n}\n","import { GlobalActionsProvider, GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\nimport { getCommerceProvider } from \"./swell\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n storeId: string;\n publicKey: string;\n}\n\nconst globalContextName = \"plasmic-commerce-swell-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: \"plasmic-commerce-swell-provider\",\n displayName: \"Swell Provider\",\n props: {\n storeId: {\n type: \"string\",\n defaultValue: \"plasmic-sandbox\",\n },\n publicKey: {\n type: \"string\",\n defaultValue: \"pk_QaZeGhtpQaVbNQnWJdRlE1abE6Ezf9U9\",\n },\n },\n unstable__globalActions: globalActionsRegistrations as any,\n description: `Get your store ID and public storefront API key from the Swell admin UI under Developer > API Keys.\n\n[Watch how to use this integration](https://www.youtube.com/watch?v=b2mgOTbP2_8).`,\n importPath: \"@plasmicpkgs/commerce-swell\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { storeId, publicKey, children } = props;\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(storeId, publicKey),\n [storeId, publicKey]\n );\n\n return (\n <CommerceProvider>\n <CartActionsProvider globalContextName={globalContextName}>\n {children}\n </CartActionsProvider>\n </CommerceProvider>\n );\n}\n\nexport function registerCommerceProvider(\n loader?: Registerable,\n customCommerceProviderMeta?: GlobalContextMeta<CommerceProviderProps>\n) {\n const doRegisterComponent: typeof registerGlobalContext = (...args) =>\n loader\n ? loader.registerGlobalContext(...args)\n : registerGlobalContext(...args);\n doRegisterComponent(\n CommerceProviderComponent,\n customCommerceProviderMeta ?? commerceProviderMeta\n );\n}\n","import { Registerable } from \"./registerable\";\nimport { registerCommerceProvider } from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\nexport * from \"./registerCommerceProvider\";\nexport * from \"./swell\";\nexport { registerCommerceProvider };\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n"],"names":["SWELL_CHECKOUT_ID_COOKIE","SWELL_CHECKOUT_URL_COOKIE","SWELL_COOKIE_EXPIRE","normalizeProductOption","_ref2","id","_ref2$name","name","displayName","_ref2$values","values","returnValues","map","value","output","label","match","_extends","hexColors","__typename","normalizeProductImages","images","length","url","_ref3","file","rest","_objectWithoutPropertiesLoose","_excluded","height","Number","width","normalizeProductVariants","variants","productOptions","_ref4","price","_ref4$option_value_id","option_value_ids","optionValueIds","split","i","trim","options","matchingOption","find","option","_matchingOption$name","undefined","normalizeProduct","swellProduct","description","slug","currencyCode","currency","emptyVariants","o","productVariants","results","productImages","product","vendor","path","normalizeCart","_ref5","account_id","date_created","tax_included_total","items","sub_total","grand_total","discounts","cart","customerId","email","createdAt","code","taxesIncluded","lineItems","_items$map","normalizeLineItem","lineItemsSubtotalPrice","subtotalPrice","totalPrice","discount","amount","_ref6","variant","quantity","item","variantId","productId","_product$id","_product$name","_variant$id","sku","_variant$sku","image","requiresShipping","listPrice","normalizeChildren","children","ch","normalizeCategory","_ref7","products","depth","parent_id","isEmpty","parentId","handleFetchResponse","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_callee$","_context","prev","next","error","CommerceError","abrupt","stop","_x","apply","arguments","getCheckoutId","Cookies","get","checkoutToCart","checkoutPayload","message","checkoutCreate","fetch","checkoutUrl","query","method","sent","variables","checkout_url","expires","sameSite","secure","set","handler","fetchOptions","fetcher","useHook","useData","input","response","swrOptions","revalidateOnFocus","useMemo","Object","create","_response$data$lineIt","_response$data","data","enumerable","isInteger","checkoutId","product_id","variant_id","_useCart","useCart","mutate","useCallback","_addItem","_callee2","_callee2$","_context2","addItem","itemId","_removeItem","removeItem","_ref$input","removeItemHandler","ValidationError","ctx","_ctx","debounce","_input$id","_ctx$wait","wait","ensure","x","msg","Error","ensureNoNilFields","fromEntries","entries","filter","v","walkCategoryTree","category","categories","queue","result","_curr$children$map","_curr$children","curr","shift","push","child","topologicalSortForCategoryTree","flatMap","sortMap","Map","categoryId","includeSubCategories","brandId","search","_input$sort","sort","count","mappedSort","includedCategories","brand","expand","limit","$filters","c","_yield$fetch","found","addIsEmptyField","_context3","_data$results","Promise","all","t0","t1","t2","t3","t4","normalizedCategories","_loop","_normalizedCategories","_normalizedCategories2","_loop$","_step","_iterator","_createForOfIteratorHelperLoose","done","delegateYield","_response$data$length","_yield$fetch$values","vendors","Array","from","Set","entityId","_ref$method","callSwell","_callSwell","_callSwell3","arg1","arg2","_response","isArray","swell","_callSwell2","getSwellProvider","storeId","publicKey","init","locale","cartCookie","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","extraFeatures","getCommerceProvider","getCoreCommerceProvider","useCommerce","useCoreCommerce","globalContextName","commerceProviderMeta","props","type","defaultValue","unstable__globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","CommerceProvider","React","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}