@plasmicpkgs/commerce-shopify 0.0.188 → 0.0.190

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.
@@ -1,13 +1,5 @@
1
1
  import { SWRHook } from '@plasmicpkgs/commerce';
2
2
  import { GetCartHook } from '../types/cart';
3
- declare const _default: (input?: {
4
- swrOptions?: Partial<import("swr/dist/types").PublicConfiguration<import("@plasmicpkgs/commerce/dist/types/cart").Cart | null | undefined, import("@plasmicpkgs/commerce").CommerceError, import("@plasmicpkgs/commerce").HookFetcher<import("@plasmicpkgs/commerce/dist/types/cart").Cart | null | undefined, {
5
- cartId?: string | undefined;
6
- }, any>>> | undefined;
7
- } | undefined) => import("swr").SWRResponse<import("@plasmicpkgs/commerce/dist/types/cart").Cart | null | undefined, import("@plasmicpkgs/commerce").CommerceError> & {
8
- isLoading: boolean;
9
- } & {
10
- isEmpty: boolean;
11
- };
3
+ declare const _default;
12
4
  export default _default;
13
5
  export declare const handler: SWRHook<GetCartHook>;
@@ -5,20 +5,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
6
 
7
7
  var registerGlobalContext = _interopDefault(require('@plasmicapp/host/registerGlobalContext'));
8
+ var commerce = require('@plasmicpkgs/commerce');
8
9
  var React = require('react');
9
10
  var React__default = _interopDefault(React);
10
- var commerce = require('@plasmicpkgs/commerce');
11
11
  var Cookies = _interopDefault(require('js-cookie'));
12
12
  var debounce = _interopDefault(require('debounce'));
13
13
 
14
- /*
15
- Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src
16
- Changes: Removed store domain and api token
17
- */
18
- var SHOPIFY_CHECKOUT_ID_COOKIE = 'shopify_checkoutId';
19
- var SHOPIFY_CHECKOUT_URL_COOKIE = 'shopify_checkoutUrl';
20
- var SHOPIFY_COOKIE_EXPIRE = 30;
21
-
22
14
  function _regeneratorRuntime() {
23
15
  _regeneratorRuntime = function () {
24
16
  return e;
@@ -377,6 +369,14 @@ function _objectWithoutPropertiesLoose(source, excluded) {
377
369
  return target;
378
370
  }
379
371
 
372
+ /*
373
+ Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src
374
+ Changes: Removed store domain and api token
375
+ */
376
+ var SHOPIFY_CHECKOUT_ID_COOKIE = 'shopify_checkoutId';
377
+ var SHOPIFY_CHECKOUT_URL_COOKIE = 'shopify_checkoutUrl';
378
+ var SHOPIFY_COOKIE_EXPIRE = 30;
379
+
380
380
  function getError(errors, status) {
381
381
  var _errors;
382
382
  errors = (_errors = errors) != null ? _errors : [{
@@ -1747,7 +1747,7 @@ var getCommerceProvider = function getCommerceProvider(storeDomain, accessToken)
1747
1747
  };
1748
1748
 
1749
1749
  var globalContextName = "plasmic-commerce-shopify-provider";
1750
- var commerceProviderMeta = {
1750
+ var commerceProviderMeta = /*#__PURE__*/_extends({
1751
1751
  name: globalContextName,
1752
1752
  displayName: "Shopify Provider",
1753
1753
  props: {
@@ -1759,12 +1759,14 @@ var commerceProviderMeta = {
1759
1759
  type: "string",
1760
1760
  defaultValue: "ef7d41c7bf7e1c214074d0d3047bcd7b"
1761
1761
  }
1762
- },
1763
- unstable__globalActions: commerce.globalActionsRegistrations,
1762
+ }
1763
+ }, {
1764
+ globalActions: commerce.globalActionsRegistrations
1765
+ }, {
1764
1766
  description: "Your store domain usually looks like **storename.myshopify.com**.\n\nFor your access token, get it by following [this video](https://www.youtube.com/watch?v=wB_6cM7tdv4).\n\nSee also the [getting started video](https://www.youtube.com/watch?v=1OJ_gXmta2Q).",
1765
1767
  importPath: "@plasmicpkgs/commerce-shopify",
1766
1768
  importName: "CommerceProviderComponent"
1767
- };
1769
+ });
1768
1770
  function CommerceProviderComponent(props) {
1769
1771
  var storeDomain = props.storeDomain,
1770
1772
  accessToken = props.accessToken,
@@ -1 +1 @@
1
- {"version":3,"file":"commerce-shopify.cjs.development.js","sources":["../src/const.ts","../src/utils/handle-fetch-response.ts","../src/utils/get-sort-variables.ts","../src/utils/get-search-variables.ts","../src/utils/get-checkout-id.ts","../src/utils/queries/get-checkout-query.ts","../src/utils/mutations/checkout-create.ts","../src/utils/checkout-create.ts","../src/utils/colors.ts","../src/utils/normalize.ts","../src/utils/throw-user-errors.ts","../src/utils/checkout-to-cart.ts","../src/utils/queries/get-collection-query.ts","../src/utils/queries/get-all-collections-query.ts","../src/utils/queries/get-product-query.ts","../src/utils/queries/get-all-products-query.ts","../src/utils/queries/get-all-product-vendors-query.ts","../src/utils/queries/get-collection-products-query.ts","../src/utils/mutations/checkout-line-item-add.ts","../src/utils/mutations/checkout-line-item-update.ts","../src/utils/mutations/checkout-line-item-remove.ts","../src/product/use-search.tsx","../src/product/use-product.tsx","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-remove-item.tsx","../src/cart/use-update-item.tsx","../src/site/use-categories.tsx","../src/site/use-brands.tsx","../src/fetcher.ts","../src/provider.ts","../src/shopify.tsx","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: Removed store domain and api token\n*/\nexport const SHOPIFY_CHECKOUT_ID_COOKIE = 'shopify_checkoutId'\n\nexport const SHOPIFY_CHECKOUT_URL_COOKIE = 'shopify_checkoutUrl'\n\nexport const SHOPIFY_CUSTOMER_TOKEN_COOKIE = 'shopify_customerToken'\n\nexport const SHOPIFY_COOKIE_EXPIRE = 30\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { FetcherError } from '@plasmicpkgs/commerce'\n\nexport function getError(errors: any[] | null, status: number) {\n errors = errors ?? [{ message: 'Failed to fetch Shopify API' }]\n return new FetcherError({ errors, status })\n}\n\nexport async function getAsyncError(res: Response) {\n const data = await res.json()\n return getError(data.errors, res.status)\n}\n\nconst handleFetchResponse = async (res: Response) => {\n if (res.ok) {\n const { data, errors } = await res.json()\n\n if (errors && errors.length) {\n throw getError(errors, res.status)\n }\n\n return data\n }\n\n throw await getAsyncError(res)\n}\n\nexport default handleFetchResponse\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nconst getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = {}\n switch (sort) {\n case 'price-asc':\n output = {\n sortKey: 'PRICE',\n reverse: false,\n }\n break\n case 'price-desc':\n output = {\n sortKey: 'PRICE',\n reverse: true,\n }\n break\n case 'trending-desc':\n output = {\n sortKey: 'BEST_SELLING',\n reverse: false,\n }\n break\n case 'latest-desc':\n output = {\n sortKey: isCategory ? 'CREATED' : 'CREATED_AT',\n reverse: true,\n }\n break\n }\n return output\n}\n\nexport default getSortVariables\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes:\n - Added count as a parameter\n*/\nimport { SearchProductsBody } from \"@plasmicpkgs/commerce\";\nimport getSortVariables from \"./get-sort-variables\";\n\nexport const getSearchVariables = ({\n brandId,\n search,\n categoryId,\n sort,\n locale,\n count,\n}: SearchProductsBody) => {\n let query = \"\";\n\n const searchQuery = `${search}*`;\n if (search) {\n query += `product_type:${searchQuery} OR title:${searchQuery} OR tag:${searchQuery}`;\n }\n\n if (brandId) {\n query += `${search ? \"AND \" : \"\"}vendor:${brandId}`;\n }\n\n return {\n categoryId,\n query,\n ...getSortVariables(sort, !!categoryId),\n ...(locale && {\n locale,\n }),\n first: count,\n };\n};\n\nexport default getSearchVariables;\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport Cookies from 'js-cookie'\nimport { SHOPIFY_CHECKOUT_ID_COOKIE } from '../const'\n\nconst getCheckoutId = (id?: string) => {\n return id ?? Cookies.get(SHOPIFY_CHECKOUT_ID_COOKIE);\n}\n\nexport default getCheckoutId\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nexport const checkoutDetailsFragment = /* GraphQL */ `\n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n`;\n\nconst getCheckoutQuery = /* GraphQL */ `\n query getCheckout($checkoutId: ID!) {\n node(id: $checkoutId) {\n ...checkoutDetails\n }\n }\n ${checkoutDetailsFragment}\n`;\nexport default getCheckoutQuery;\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { checkoutDetailsFragment } from '../queries/get-checkout-query'\n\nconst checkoutCreateMutation = /* GraphQL */ `\n mutation checkoutCreate($input: CheckoutCreateInput = {}) {\n checkoutCreate(input: $input) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n ${checkoutDetailsFragment}\n`\nexport default checkoutCreateMutation\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/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 Cookies from 'js-cookie'\n\nimport {\n SHOPIFY_CHECKOUT_ID_COOKIE,\n SHOPIFY_CHECKOUT_URL_COOKIE,\n SHOPIFY_COOKIE_EXPIRE,\n} from '../const'\n\nimport checkoutCreateMutation from './mutations/checkout-create'\nimport {\n CheckoutCreatePayload,\n CheckoutLineItemInput,\n Mutation,\n MutationCheckoutCreateArgs,\n} from '../schema'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\n\nexport const checkoutCreate = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>,\n lineItems: CheckoutLineItemInput[]\n): Promise<CheckoutCreatePayload> => {\n const { checkoutCreate } = await fetch<Mutation, MutationCheckoutCreateArgs>({\n query: checkoutCreateMutation,\n variables: {\n input: { lineItems },\n },\n })\n\n const checkout = checkoutCreate?.checkout\n if (checkout) {\n const checkoutId = checkout?.id\n const options: Cookies.CookieAttributes = {\n expires: SHOPIFY_COOKIE_EXPIRE,\n sameSite: \"none\",\n secure: true\n }\n Cookies.set(SHOPIFY_CHECKOUT_ID_COOKIE, checkoutId, options);\n if (checkout?.webUrl) {\n Cookies.set(SHOPIFY_CHECKOUT_URL_COOKIE, checkout.webUrl, options)\n }\n }\n\n return checkoutCreate!\n}\n\nexport default checkoutCreate\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nexport const colorMap: Record<string, string> = {\n aliceblue: '#F0F8FF',\n antiquewhite: '#FAEBD7',\n aqua: '#00FFFF',\n aquamarine: '#7FFFD4',\n azure: '#F0FFFF',\n beige: '#F5F5DC',\n bisque: '#FFE4C4',\n black: '#000000',\n blanchedalmond: '#FFEBCD',\n blue: '#0000FF',\n blueviolet: '#8A2BE2',\n brown: '#A52A2A',\n burlywood: '#DEB887',\n burgandy: '#800020',\n burgundy: '#800020',\n cadetblue: '#5F9EA0',\n chartreuse: '#7FFF00',\n chocolate: '#D2691E',\n coral: '#FF7F50',\n cornflowerblue: '#6495ED',\n cornsilk: '#FFF8DC',\n crimson: '#DC143C',\n cyan: '#00FFFF',\n darkblue: '#00008B',\n darkcyan: '#008B8B',\n darkgoldenrod: '#B8860B',\n darkgray: '#A9A9A9',\n darkgreen: '#006400',\n darkgrey: '#A9A9A9',\n darkkhaki: '#BDB76B',\n darkmagenta: '#8B008B',\n darkolivegreen: '#556B2F',\n darkorange: '#FF8C00',\n darkorchid: '#9932CC',\n darkred: '#8B0000',\n darksalmon: '#E9967A',\n darkseagreen: '#8FBC8F',\n darkslateblue: '#483D8B',\n darkslategray: '#2F4F4F',\n darkslategrey: '#2F4F4F',\n darkturquoise: '#00CED1',\n darkviolet: '#9400D3',\n deeppink: '#FF1493',\n deepskyblue: '#00BFFF',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1E90FF',\n firebrick: '#B22222',\n floralwhite: '#FFFAF0',\n forestgreen: '#228B22',\n fuchsia: '#FF00FF',\n gainsboro: '#DCDCDC',\n ghostwhite: '#F8F8FF',\n gold: '#FFD700',\n goldenrod: '#DAA520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#ADFF2F',\n grey: '#808080',\n honeydew: '#F0FFF0',\n hotpink: '#FF69B4',\n indianred: '#CD5C5C',\n indigo: '#4B0082',\n ivory: '#FFFFF0',\n khaki: '#F0E68C',\n lavender: '#E6E6FA',\n lavenderblush: '#FFF0F5',\n lawngreen: '#7CFC00',\n lemonchiffon: '#FFFACD',\n lightblue: '#ADD8E6',\n lightcoral: '#F08080',\n lightcyan: '#E0FFFF',\n lightgoldenrodyellow: '#FAFAD2',\n lightgray: '#D3D3D3',\n lightgreen: '#90EE90',\n lightgrey: '#D3D3D3',\n lightpink: '#FFB6C1',\n lightsalmon: '#FFA07A',\n lightseagreen: '#20B2AA',\n lightskyblue: '#87CEFA',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#B0C4DE',\n lightyellow: '#FFFFE0',\n lime: '#00FF00',\n limegreen: '#32CD32',\n linen: '#FAF0E6',\n magenta: '#FF00FF',\n maroon: '#800000',\n mediumaquamarine: '#66CDAA',\n mediumblue: '#0000CD',\n mediumorchid: '#BA55D3',\n mediumpurple: '#9370DB',\n mediumseagreen: '#3CB371',\n mediumslateblue: '#7B68EE',\n mediumspringgreen: '#00FA9A',\n mediumturquoise: '#48D1CC',\n mediumvioletred: '#C71585',\n midnightblue: '#191970',\n mintcream: '#F5FFFA',\n mistyrose: '#FFE4E1',\n moccasin: '#FFE4B5',\n navajowhite: '#FFDEAD',\n navy: '#000080',\n oldlace: '#FDF5E6',\n olive: '#808000',\n olivedrab: '#6B8E23',\n orange: '#FFA500',\n orangered: '#FF4500',\n orchid: '#DA70D6',\n palegoldenrod: '#EEE8AA',\n palegreen: '#98FB98',\n paleturquoise: '#AFEEEE',\n palevioletred: '#DB7093',\n papayawhip: '#FFEFD5',\n peachpuff: '#FFDAB9',\n peru: '#CD853F',\n pink: '#FFC0CB',\n plum: '#DDA0DD',\n powderblue: '#B0E0E6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#FF0000',\n rosybrown: '#BC8F8F',\n royalblue: '#4169E1',\n saddlebrown: '#8B4513',\n salmon: '#FA8072',\n sandybrown: '#F4A460',\n seagreen: '#2E8B57',\n seashell: '#FFF5EE',\n sienna: '#A0522D',\n silver: '#C0C0C0',\n skyblue: '#87CEEB',\n slateblue: '#6A5ACD',\n slategray: '#708090',\n slategrey: '#708090',\n spacegrey: '#65737e',\n spacegray: '#65737e',\n snow: '#FFFAFA',\n springgreen: '#00FF7F',\n steelblue: '#4682B4',\n tan: '#D2B48C',\n teal: '#008080',\n thistle: '#D8BFD8',\n tomato: '#FF6347',\n turquoise: '#40E0D0',\n violet: '#EE82EE',\n wheat: '#F5DEB3',\n white: '#FFFFFF',\n whitesmoke: '#F5F5F5',\n yellow: '#FFFF00',\n yellowgreen: '#9ACD32',\n}\n","/* eslint-disable */\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes:\n - When a product doesn't have a variant, Shopify sets the default variant title as \"Default Title\"\n Changed to \"Default Variant\" to have the same default title as the Swell provider.\n*/\nimport type { Page } from \"../types/page\";\nimport type { Product } from \"@plasmicpkgs/commerce\";\nimport type { Cart, LineItem } from \"../types/cart\";\n\nimport {\n Product as ShopifyProduct,\n Checkout,\n CheckoutLineItemEdge,\n SelectedOption,\n Image,\n ImageConnection,\n ProductVariantConnection,\n MoneyV2,\n ProductOption,\n Page as ShopifyPage,\n PageEdge,\n Collection,\n} from \"../schema\";\nimport { colorMap } from \"./colors\";\nimport { Category } from \"../types/site\";\n\nconst money = ({ amount, currencyCode }: MoneyV2) => {\n return {\n value: +amount,\n currencyCode,\n };\n};\n\nconst isDefaultOption = (selectedOption: SelectedOption) =>\n selectedOption.name === \"Title\";\n\nconst normalizeProductOption = ({\n id,\n name: displayName,\n values,\n}: ProductOption) => {\n return {\n __typename: \"MultipleChoiceOption\",\n id,\n displayName: displayName.toLowerCase(),\n values: values.map((value) => {\n let output: any = {\n label: value,\n };\n if (displayName.match(/colou?r/gi)) {\n const mapedColor = colorMap[value.toLowerCase().replace(/ /g, \"\")];\n if (mapedColor) {\n output = {\n ...output,\n hexColors: [mapedColor],\n };\n }\n }\n return output;\n }),\n };\n};\n\nconst normalizeImage = ({ originalSrc: url, ...rest }: Image) => ({\n url,\n ...rest,\n});\n\nconst normalizeProductImages = ({ edges }: ImageConnection) =>\n edges?.map(({ node }) => normalizeImage(node));\n\nconst normalizeProductVariants = ({ edges }: ProductVariantConnection) => {\n return edges?.map(\n ({\n node: {\n id,\n selectedOptions,\n sku,\n title,\n priceV2,\n compareAtPriceV2,\n requiresShipping,\n availableForSale,\n },\n }) => {\n return {\n id,\n name: selectedOptions.some((o) => !isDefaultOption(o))\n ? title\n : \"Default variant\",\n sku: sku ?? id,\n price: +priceV2.amount,\n listPrice: +compareAtPriceV2?.amount,\n requiresShipping,\n availableForSale,\n options: selectedOptions.map(({ name, value }: SelectedOption) => {\n const options = normalizeProductOption({\n id,\n name,\n values: [value],\n });\n\n return options;\n }),\n };\n }\n );\n};\n\nexport function normalizeProduct({\n id,\n title: name,\n vendor,\n images,\n variants,\n description,\n descriptionHtml,\n handle,\n priceRange,\n options,\n metafields,\n ...rest\n}: any): Product {\n return {\n id,\n name,\n vendor,\n path: `/${handle}`,\n slug: handle?.replace(/^\\/+|\\/+$/g, \"\"),\n price: money(priceRange?.minVariantPrice),\n images: normalizeProductImages(images),\n variants: variants ? normalizeProductVariants(variants) : [],\n options: options\n ? options\n .filter((o: any) => !isDefaultOption(o)) // By default Shopify adds a 'Title' name when there's only one option. We don't need it. https://community.shopify.com/c/Shopify-APIs-SDKs/Adding-new-product-variant-is-automatically-adding-quot-Default/td-p/358095\n .map((o: any) => normalizeProductOption(o))\n : [],\n ...(description && { description }),\n ...(descriptionHtml && { descriptionHtml }),\n ...rest,\n };\n}\n\nexport function normalizeCart(checkout: any): Cart {\n return {\n id: checkout.id,\n url: checkout.webUrl,\n customerId: \"\",\n email: \"\",\n createdAt: checkout.createdAt,\n currency: {\n code: checkout.totalPriceV2?.currencyCode,\n },\n taxesIncluded: checkout.taxesIncluded,\n lineItems: checkout.lineItems?.edges.map(normalizeLineItem),\n lineItemsSubtotalPrice: +checkout.subtotalPriceV2?.amount,\n subtotalPrice: +checkout.subtotalPriceV2?.amount,\n totalPrice: +checkout.totalPriceV2?.amount,\n discounts: [],\n };\n}\n\nfunction normalizeLineItem({\n node: { id, title, variant, quantity },\n}: CheckoutLineItemEdge): LineItem {\n return {\n id,\n variantId: String(variant?.id),\n productId: String(variant?.product.id),\n name: `${title}`,\n quantity,\n variant: {\n id: String(variant?.id),\n sku: variant?.sku ?? \"\",\n name: variant?.title!,\n image: {\n url: variant?.image?.originalSrc || \"/product-img-placeholder.svg\",\n },\n requiresShipping: variant?.requiresShipping ?? false,\n price: variant?.priceV2?.amount,\n listPrice: variant?.compareAtPriceV2?.amount,\n },\n path: String(variant?.product?.handle),\n discounts: [],\n options: variant?.title == \"Default Title\" ? [] : variant?.selectedOptions,\n };\n}\n/*\nexport const normalizePage = (\n { title: name, handle, ...page }: ShopifyPage,\n locale: string = 'en-US'\n): Page => ({\n ...page,\n url: `/${locale}/${handle}`,\n name,\n})\n\nexport const normalizePages = (edges: PageEdge[], locale?: string): Page[] =>\n edges?.map((edge) => normalizePage(edge.node, locale))\n*/\nexport const normalizeCategory = ({\n title: name,\n handle,\n id,\n products,\n image,\n}: Collection): Category => ({\n id,\n name,\n slug: handle,\n path: `/${handle}`,\n isEmpty: products.edges.length === 0,\n images: image ? [normalizeImage(image)] : undefined,\n});\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { ValidationError } from '@plasmicpkgs/commerce'\n\nimport {\n CheckoutErrorCode,\n CheckoutUserError,\n CustomerErrorCode,\n CustomerUserError,\n} from '../schema'\n\nexport type UserErrors = Array<CheckoutUserError | CustomerUserError>\n\nexport type UserErrorCode =\n | CustomerErrorCode\n | CheckoutErrorCode\n | null\n | undefined\n\nconst getCustomMessage = (code: UserErrorCode, message: string) => {\n switch (code) {\n case 'UNIDENTIFIED_CUSTOMER':\n message = 'Cannot find an account that matches the provided credentials'\n break\n }\n return message\n}\n\nexport const throwUserErrors = (errors?: UserErrors) => {\n if (errors && errors.length) {\n throw new ValidationError({\n errors: errors.map(({ code, message }) => ({\n code: code ?? 'validation_error',\n message: getCustomMessage(code, message),\n })),\n })\n }\n}\n\nexport default throwUserErrors\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport type { Cart } from '../types/cart'\nimport { CommerceError } from '@plasmicpkgs/commerce'\n\nimport {\n CheckoutLineItemsAddPayload,\n CheckoutLineItemsRemovePayload,\n CheckoutLineItemsUpdatePayload,\n CheckoutCreatePayload,\n CheckoutUserError,\n Checkout,\n Maybe,\n} from '../schema'\n\nimport { normalizeCart } from './normalize'\nimport throwUserErrors from './throw-user-errors'\n\nexport type CheckoutQuery = {\n checkout: Checkout\n checkoutUserErrors?: Array<CheckoutUserError>\n}\n\nexport type CheckoutPayload =\n | CheckoutLineItemsAddPayload\n | CheckoutLineItemsUpdatePayload\n | CheckoutLineItemsRemovePayload\n | CheckoutCreatePayload\n | CheckoutQuery\n\nconst checkoutToCart = (checkoutPayload?: Maybe<CheckoutPayload>): Cart => {\n throwUserErrors(checkoutPayload?.checkoutUserErrors)\n\n if (!checkoutPayload?.checkout) {\n throw new CommerceError({\n message: 'Missing checkout object from response',\n })\n }\n\n return normalizeCart(checkoutPayload?.checkout)\n}\n\nexport default checkoutToCart\n","export const simpleProductConnection = `\nfragment simpleProductConnection on ProductConnection {\n edges {\n node {\n id\n }\n }\n}\n`;\n\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes:\n - Fetch image.\n*/\nexport const collectionFieldsFragment = `\n fragment collectionFieldsFragment on Collection {\n id\n title\n handle\n image {\n originalSrc\n altText\n width\n height\n }\n products(first: $first) {\n ...simpleProductConnection\n }\n }\n ${simpleProductConnection}\n`;\n\nexport const getCollectionQueryById = /* GraphQL */ `\n query getSiteCollection($id: ID, $handle: String, $first: Int = 1) {\n collection(id: $id, handle: $handle) {\n ...collectionFieldsFragment\n }\n }\n ${collectionFieldsFragment}\n`;\n","import { collectionFieldsFragment } from \"./get-collection-query\"\n\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nconst getSiteCollectionsQuery = /* GraphQL */ `\n query getSiteCollections($first: Int!) {\n collections(first: $first) {\n edges {\n node {\n ...collectionFieldsFragment\n }\n }\n }\n }\n\n ${collectionFieldsFragment}\n`\nexport default getSiteCollectionsQuery\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: Added query by product id\n*/\n\nconst productFieldsFragment = `\n fragment productFields on Product {\n id\n handle\n availableForSale\n title\n productType\n vendor\n description\n descriptionHtml\n options {\n id\n name\n values\n }\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n`\n\nexport const getProductQueryBySlug = /* GraphQL */ `\n query getProductBySlug($slug: String!) {\n productByHandle(handle: $slug) {\n ...productFields\n }\n }\n\n ${productFieldsFragment}\n`\n\n\nexport const getProductQueryById = /* GraphQL */ `\n query getProductById($id: ID!) {\n product(id: $id) {\n ...productFields\n }\n }\n\n ${productFieldsFragment}\n`\n\nexport default getProductQueryBySlug;","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: \n - Added variants info to the query\n*/\nexport const productConnectionFragment = /* GraphQL */ `\n fragment productConnection on ProductConnection {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n handle\n title\n vendor\n handle\n description\n descriptionHtml\n priceRange {\n minVariantPrice {\n amount\n currencyCode\n }\n }\n options {\n id\n name\n values\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n }\n }\n`\n\nconst getAllProductsQuery = /* GraphQL */ `\n query getAllProducts(\n $first: Int = 250\n $query: String = \"\"\n $sortKey: ProductSortKeys = RELEVANCE\n $reverse: Boolean = false\n ) {\n products(\n first: $first\n sortKey: $sortKey\n reverse: $reverse\n query: $query\n ) {\n ...productConnection\n }\n }\n\n ${productConnectionFragment}\n`\nexport default getAllProductsQuery\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nconst getAllProductVendors = /* GraphQL */ `\n query getAllProductVendors($first: Int = 250, $cursor: String) {\n products(first: $first, after: $cursor) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n vendor\n }\n cursor\n }\n }\n }\n`\nexport default getAllProductVendors\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { productConnectionFragment } from './get-all-products-query'\n\nconst getCollectionProductsQuery = /* GraphQL */ `\n query getProductsFromCollection(\n $categoryId: ID!\n $first: Int = 250\n $sortKey: ProductCollectionSortKeys = RELEVANCE\n $reverse: Boolean = false\n ) {\n node(id: $categoryId) {\n id\n ... on Collection {\n products(first: $first, sortKey: $sortKey, reverse: $reverse) {\n ...productConnection\n }\n }\n }\n }\n ${productConnectionFragment}\n`\nexport default getCollectionProductsQuery\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { checkoutDetailsFragment } from '../queries/get-checkout-query'\n\nconst checkoutLineItemAddMutation = /* GraphQL */ `\n mutation checkoutLineItemAdd(\n $checkoutId: ID!\n $lineItems: [CheckoutLineItemInput!]!\n ) {\n checkoutLineItemsAdd(checkoutId: $checkoutId, lineItems: $lineItems) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n ${checkoutDetailsFragment}\n`\nexport default checkoutLineItemAddMutation\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { checkoutDetailsFragment } from '../queries/get-checkout-query'\n\nconst checkoutLineItemUpdateMutation = /* GraphQL */ `\n mutation checkoutLineItemUpdate(\n $checkoutId: ID!\n $lineItems: [CheckoutLineItemUpdateInput!]!\n ) {\n checkoutLineItemsUpdate(checkoutId: $checkoutId, lineItems: $lineItems) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n ${checkoutDetailsFragment}\n`\nexport default checkoutLineItemUpdateMutation\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { checkoutDetailsFragment } from '../queries/get-checkout-query'\n\nconst checkoutLineItemRemoveMutation = /* GraphQL */ `\n mutation checkoutLineItemRemove($checkoutId: ID!, $lineItemIds: [ID!]!) {\n checkoutLineItemsRemove(\n checkoutId: $checkoutId\n lineItemIds: $lineItemIds\n ) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n ${checkoutDetailsFragment}\n`\nexport default checkoutLineItemRemoveMutation\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes:\n - Added count as a parameter to input\n*/\nimport { SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\n\nimport {\n CollectionEdge,\n GetAllProductsQuery,\n GetProductsFromCollectionQueryVariables,\n Product as ShopifyProduct,\n ProductEdge,\n} from \"../schema\";\n\nimport {\n getAllProductsQuery,\n getCollectionProductsQuery,\n getSearchVariables,\n normalizeProduct,\n} from \"../utils\";\n\nimport type { SearchProductsHook } from \"@plasmicpkgs/commerce\";\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: number;\n brandId?: number;\n sort?: string;\n locale?: string;\n count?: number;\n};\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n query: getAllProductsQuery,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId, brandId } = input;\n const method = options?.method;\n const variables = getSearchVariables(input);\n let products;\n\n // change the query to getCollectionProductsQuery when categoryId is set\n if (categoryId) {\n const data = await fetch<\n CollectionEdge,\n GetProductsFromCollectionQueryVariables\n >({\n query: getCollectionProductsQuery,\n method,\n variables: {\n ...variables,\n first: undefined,\n },\n });\n // filter on client when brandId & categoryId are set since is not available on collection product query\n products = brandId\n ? data.node?.products?.edges\n ?.filter(\n ({ node: { vendor } }: ProductEdge) =>\n vendor.replace(/\\s+/g, \"-\").toLowerCase() ===\n `${brandId}`.toLowerCase()\n )\n .slice(0, input.count)\n : data.node?.products?.edges.slice(0, input.count);\n } else {\n const data = await fetch<GetAllProductsQuery>({\n query: options.query,\n method,\n variables,\n });\n products = data.products?.edges;\n }\n\n return {\n products: products?.map(({ node }) =>\n normalizeProduct(node as ShopifyProduct)\n ),\n found: !!products?.length,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"locale\", input.locale],\n [\"count\", input.count],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { useProduct, UseProduct } from '@plasmicpkgs/commerce'\n\nimport {\n GetProductByIdQuery,\n GetProductBySlugQuery,\n} from '../schema'\n\nimport {\n getProductQuery,\n normalizeProduct,\n} from '../utils'\n\nimport type { GetProductHook } from '@plasmicpkgs/commerce'\nimport { getProductQueryById } from '../utils/queries/get-product-query'\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: getProductQuery,\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input\n if (!id) {\n return null\n }\n\n let product = null;\n if (id.startsWith(\"gid://shopify\")) {\n const data = await fetch<GetProductByIdQuery>({\n query: getProductQueryById,\n variables: { id }\n });\n product = data.product;\n } else {\n const data = await fetch<GetProductBySlugQuery>({\n query: options.query,\n variables: { slug: id }\n });\n\n if (data.productByHandle) {\n product = data.productByHandle;\n }\n }\n\n return product ? normalizeProduct(product) : null;\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n ['id', input.id],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n })\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { useMemo } from 'react'\nimport { useCart as useCommerceCart, UseCart } from '@plasmicpkgs/commerce'\n\nimport { SWRHook } from '@plasmicpkgs/commerce'\nimport { checkoutToCart } from '../utils'\nimport getCheckoutQuery from '../utils/queries/get-checkout-query'\nimport { GetCartHook } from '../types/cart'\nimport Cookies from 'js-cookie'\n\nimport {\n SHOPIFY_CHECKOUT_ID_COOKIE,\n SHOPIFY_CHECKOUT_URL_COOKIE,\n} from '../const'\n\nexport default useCommerceCart as UseCart<typeof handler>\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: getCheckoutQuery,\n },\n async fetcher({ input: { cartId }, options, fetch }) {\n if (cartId) {\n const { node: checkout } = await fetch({\n ...options,\n variables: {\n checkoutId: cartId,\n },\n })\n if (checkout?.completedAt) {\n Cookies.remove(SHOPIFY_CHECKOUT_ID_COOKIE)\n Cookies.remove(SHOPIFY_CHECKOUT_URL_COOKIE)\n return null\n } else {\n return checkoutToCart({\n checkout,\n })\n }\n }\n return null\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.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/shopify/src\n Changes: None\n*/\nimport { useCallback } from 'react'\nimport type { MutationHook } from '@plasmicpkgs/commerce';\nimport { CommerceError } from '@plasmicpkgs/commerce';\nimport { useAddItem, UseAddItem } from '@plasmicpkgs/commerce';\nimport type { AddItemHook } from '../types/cart'\nimport useCart from './use-cart'\n\nimport {\n checkoutLineItemAddMutation,\n getCheckoutId,\n checkoutToCart,\n checkoutCreate,\n} from '../utils'\nimport { Mutation, MutationCheckoutLineItemsAddArgs } from '../schema'\n\nexport default useAddItem as UseAddItem<typeof handler>\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: {\n query: checkoutLineItemAddMutation,\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 lineItems = [\n {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n },\n ]\n\n let checkoutId = getCheckoutId()\n if (!checkoutId) {\n return checkoutToCart(await checkoutCreate(fetch, lineItems))\n } else {\n const { checkoutLineItemsAdd } = await fetch<\n Mutation,\n MutationCheckoutLineItemsAddArgs\n >({\n ...options,\n variables: {\n checkoutId,\n lineItems,\n },\n })\n return checkoutToCart(checkoutLineItemsAdd)\n }\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart()\n return useCallback(\n async function addItem(input) {\n const data = await fetch({ input })\n await mutate(data, false)\n return data\n },\n [fetch, mutate]\n )\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { useCallback } from 'react'\nimport type {\n MutationHookContext,\n HookFetcherContext,\n} from '@plasmicpkgs/commerce'\nimport { ValidationError } from '@plasmicpkgs/commerce'\nimport { useRemoveItem, \n UseRemoveItem,\n} from '@plasmicpkgs/commerce'\nimport type { Cart, LineItem, RemoveItemHook } from '../types/cart'\nimport useCart from './use-cart'\n\nexport type RemoveItemFn<T = any> = T extends LineItem\n ? (input?: RemoveItemActionInput<T>) => Promise<Cart | null | undefined>\n : (input: RemoveItemActionInput<T>) => Promise<Cart | null>\n\nexport type RemoveItemActionInput<T = any> = T extends LineItem\n ? Partial<RemoveItemHook['actionInput']>\n : RemoveItemHook['actionInput']\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>\n\nimport {\n checkoutLineItemRemoveMutation,\n getCheckoutId,\n checkoutToCart,\n} from '../utils'\n\nimport { Mutation, MutationCheckoutLineItemsRemoveArgs } from '../schema'\n\nexport const handler = {\n fetchOptions: {\n query: checkoutLineItemRemoveMutation,\n },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n }: HookFetcherContext<RemoveItemHook>) {\n const data = await fetch<Mutation, MutationCheckoutLineItemsRemoveArgs>({\n ...options,\n variables: { checkoutId: getCheckoutId(), lineItemIds: [itemId] },\n })\n return checkoutToCart(data.checkoutLineItemsRemove)\n },\n useHook:\n ({ fetch }: MutationHookContext<RemoveItemHook>) =>\n <T extends LineItem | undefined = undefined>(ctx: { item?: T } = {}) => {\n const { item } = ctx\n const { mutate } = useCart()\n const removeItem: RemoveItemFn<LineItem> = async (input) => {\n const itemId = input?.id ?? item?.id\n\n if (!itemId) {\n throw new ValidationError({\n message: 'Invalid input used for this operation',\n })\n }\n\n const data = await fetch({ input: { itemId } })\n await mutate(data, false)\n return data\n }\n\n return useCallback(removeItem as RemoveItemFn<T>, [fetch, mutate])\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport {\n useUpdateItem,\n UseUpdateItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\n\nimport { Mutation, MutationCheckoutLineItemsUpdateArgs } from \"../schema\";\nimport type { LineItem, UpdateItemHook } from \"../types/cart\";\nimport {\n checkoutLineItemUpdateMutation,\n checkoutToCart,\n getCheckoutId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: {\n query: checkoutLineItemUpdateMutation,\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 { checkoutLineItemsUpdate } = await fetch<\n Mutation,\n MutationCheckoutLineItemsUpdateArgs\n >({\n ...options,\n variables: {\n checkoutId: getCheckoutId(),\n lineItems: [\n {\n id: itemId,\n quantity: item.quantity,\n },\n ],\n },\n });\n\n return checkoutToCart(checkoutLineItemsUpdate);\n },\n useHook:\n ({ fetch }: MutationHookContext<UpdateItemHook>) =>\n <T extends LineItem | undefined = undefined>(\n ctx: {\n item?: T;\n wait?: number;\n } = {}\n ) => {\n const { item } = ctx;\n const { mutate } = useCart() as any;\n\n return useCallback(\n debounce(async (input: UpdateItemActionInput<T>) => {\n const itemId = input.id ?? item?.id;\n if (!itemId || input.quantity == null) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","import { SWRHook, UseCategories, useCategories } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { CollectionEdge } from \"../schema\";\nimport { GetCategoriesHook } from \"../types/site\";\nimport { getSiteCollectionsQuery, normalizeCategory } from \"../utils\";\nimport { getCollectionQueryById } from \"../utils/queries/get-collection-query\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: getSiteCollectionsQuery,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n\n if (!categoryId) {\n const data = await fetch({\n query: options.query,\n variables: {\n first: 250,\n },\n });\n return (\n data?.collections?.edges?.map(({ node }: CollectionEdge) =>\n normalizeCategory(node)\n ) ?? []\n );\n } else {\n const data = await fetch({\n query: getCollectionQueryById,\n variables: {\n ...(categoryId.startsWith(\"gid://\")\n ? { id: categoryId }\n : { handle: categoryId }),\n },\n });\n return !!data?.collection ? [normalizeCategory(data?.collection)] : [];\n }\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { UseBrands, useBrands } from '@plasmicpkgs/commerce'\nimport { useMemo } from \"react\";\nimport { CollectionEdge, GetAllProductVendorsQuery, GetAllProductVendorsQueryVariables } from \"../schema\";\nimport { GetBrandsHook } from \"../types/site\"\nimport { getAllProductVendors, normalizeCategory } from \"../utils\"\n\nexport default useBrands as UseBrands<typeof handler>\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: getAllProductVendors,\n },\n async fetcher({ input, options, fetch }) {\n const data = await fetch<\n GetAllProductVendorsQuery,\n GetAllProductVendorsQueryVariables\n >({\n query: getAllProductVendors,\n variables: {\n first: 250,\n },\n });\n\n let vendorsStrings = data.products.edges.map(({ node: { vendor } }) => 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:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: \n - Before: The storeDomain and accessToken were defined at build time. \n So this file just implemented a fetcher with these parameters defined.\n - Now: The storeDomain and accessToken are defined at runtime. \n So we have to get the fetcher using these parameters.\n*/\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { handleFetchResponse } from './utils'\n\nexport const getFetcher: \n (storeDomain: string, accessToken: string) => Fetcher =\n (storeDomain, accessToken) => {\n return async ({\n url = `https://${storeDomain}/api/2022-04/graphql.json`,\n method = 'POST',\n variables,\n query,\n }) => {\n const { locale, ...vars } = variables ?? {}\n return handleFetchResponse(\n await fetch(url, {\n method,\n body: JSON.stringify({ query, variables: vars }),\n headers: {\n 'X-Shopify-Storefront-Access-Token': accessToken,\n 'Content-Type': 'application/json',\n ...(locale && {\n 'Accept-Language': locale,\n }),\n },\n })\n )\n }\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes:\n - Removed authentication, customer and wishlist hooks.\n - Added storeDomain and accessToken parameters.\n*/\nimport { SHOPIFY_CHECKOUT_ID_COOKIE } from './const'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { getFetcher } from './fetcher'\nimport { Fetcher } from '@plasmicpkgs/commerce'\n\nexport const getShopifyProvider = (storeDomain: string, accessToken: string) => (\n {\n locale: 'en-us',\n cartCookie: SHOPIFY_CHECKOUT_ID_COOKIE,\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n fetcher: getFetcher(storeDomain, accessToken),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n }\n)\n\nexport type ShopifyProvider = {\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 useProduct: typeof useProduct\n };\n site: {\n useCategories: typeof useCategories\n useBrands: typeof useBrands\n }\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: \n - Added storeDomain and accessToken parameters.\n*/\nimport {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from '@plasmicpkgs/commerce'\nimport { getShopifyProvider, ShopifyProvider } from './provider'\n\nexport type { ShopifyProvider }\n\nexport const useCommerce = () => useCoreCommerce<ShopifyProvider>()\n\nexport const getCommerceProvider = (storeDomain: string, accessToken: string) => \n getCoreCommerceProvider(getShopifyProvider(storeDomain, accessToken))\n\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\nimport { getCommerceProvider } from \"./shopify\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n storeDomain: string;\n accessToken: string;\n}\n\nconst globalContextName = \"plasmic-commerce-shopify-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: globalContextName,\n displayName: \"Shopify Provider\",\n props: {\n storeDomain: {\n type: \"string\",\n defaultValue: \"next-js-store.myshopify.com\",\n },\n accessToken: {\n type: \"string\",\n defaultValue: \"ef7d41c7bf7e1c214074d0d3047bcd7b\",\n },\n },\n unstable__globalActions: globalActionsRegistrations as any,\n description: `Your store domain usually looks like **storename.myshopify.com**.\n\nFor your access token, get it by following [this video](https://www.youtube.com/watch?v=wB_6cM7tdv4).\n\nSee also the [getting started video](https://www.youtube.com/watch?v=1OJ_gXmta2Q).`,\n importPath: \"@plasmicpkgs/commerce-shopify\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { storeDomain, accessToken, children } = props;\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(storeDomain, accessToken),\n [storeDomain, accessToken]\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 \"./shopify\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n"],"names":["SHOPIFY_CHECKOUT_ID_COOKIE","SHOPIFY_CHECKOUT_URL_COOKIE","SHOPIFY_COOKIE_EXPIRE","getError","errors","status","_errors","message","FetcherError","getAsyncError","_x","_getAsyncError","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","res","data","wrap","_callee2$","_context2","prev","next","json","sent","abrupt","stop","handleFetchResponse","_ref","_callee","_yield$res$json","_callee$","_context","ok","length","_x2","getSortVariables","sort","isCategory","output","sortKey","reverse","getSearchVariables","brandId","search","categoryId","locale","count","query","searchQuery","_extends","first","getCheckoutId","id","Cookies","get","checkoutDetailsFragment","getCheckoutQuery","checkoutCreateMutation","checkoutCreate","fetch","lineItems","_yield$fetch","checkout","checkoutId","options","variables","input","expires","sameSite","secure","set","webUrl","colorMap","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burgandy","burgundy","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","spacegrey","spacegray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","money","amount","currencyCode","value","isDefaultOption","selectedOption","name","normalizeProductOption","_ref2","displayName","values","__typename","toLowerCase","map","label","match","mapedColor","replace","hexColors","normalizeImage","_ref3","url","originalSrc","rest","_objectWithoutPropertiesLoose","_excluded","normalizeProductImages","_ref4","edges","_ref5","node","normalizeProductVariants","_ref6","_ref7","_ref7$node","selectedOptions","sku","title","priceV2","compareAtPriceV2","requiresShipping","availableForSale","some","o","price","listPrice","_ref8","normalizeProduct","_ref9","vendor","images","variants","description","descriptionHtml","handle","priceRange","metafields","_excluded2","path","slug","minVariantPrice","filter","normalizeCart","customerId","email","createdAt","currency","code","_checkout$totalPriceV","totalPriceV2","taxesIncluded","_checkout$lineItems","normalizeLineItem","lineItemsSubtotalPrice","_checkout$subtotalPri","subtotalPriceV2","subtotalPrice","_checkout$subtotalPri2","totalPrice","_checkout$totalPriceV2","discounts","_ref10","_ref10$node","variant","quantity","variantId","String","productId","product","_variant$sku","image","_variant$image","_variant$requiresShip","_variant$priceV","_variant$compareAtPri","_variant$product","normalizeCategory","_ref11","products","isEmpty","undefined","getCustomMessage","throwUserErrors","ValidationError","checkoutToCart","checkoutPayload","checkoutUserErrors","CommerceError","simpleProductConnection","collectionFieldsFragment","getCollectionQueryById","getSiteCollectionsQuery","productFieldsFragment","getProductQueryBySlug","getProductQueryById","productConnectionFragment","getAllProductsQuery","getAllProductVendors","getCollectionProductsQuery","checkoutLineItemAddMutation","checkoutLineItemUpdateMutation","checkoutLineItemRemoveMutation","handler","fetchOptions","fetcher","method","_data$node","slice","_data$node2","_data$products","_products","found","_products2","useHook","useData","swrOptions","revalidateOnFocus","getProductQuery","startsWith","productByHandle","cartId","completedAt","remove","response","useMemo","Object","create","_response$data$lineIt","_response$data","enumerable","item","Number","isInteger","_item$quantity","t0","t1","checkoutLineItemsAdd","_useCart","useCart","mutate","useCallback","_addItem","addItem","itemId","lineItemIds","checkoutLineItemsRemove","ctx","_ctx","removeItem","_input$id","_ref$input","removeItemHandler","checkoutLineItemsUpdate","debounce","_ctx$wait","wait","_data$collections$edg","_data$collections","collections","collection","_response$data$length","vendorsStrings","Array","from","Set","v","entityId","getFetcher","storeDomain","accessToken","_ref$url","_ref$method","vars","body","JSON","stringify","headers","getShopifyProvider","cartCookie","cart","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","unstable__globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","CommerceProvider","React","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
1
+ {"version":3,"file":"commerce-shopify.cjs.development.js","sources":["../src/const.ts","../src/utils/handle-fetch-response.ts","../src/utils/get-sort-variables.ts","../src/utils/get-search-variables.ts","../src/utils/get-checkout-id.ts","../src/utils/queries/get-checkout-query.ts","../src/utils/mutations/checkout-create.ts","../src/utils/checkout-create.ts","../src/utils/colors.ts","../src/utils/normalize.ts","../src/utils/throw-user-errors.ts","../src/utils/checkout-to-cart.ts","../src/utils/queries/get-collection-query.ts","../src/utils/queries/get-all-collections-query.ts","../src/utils/queries/get-product-query.ts","../src/utils/queries/get-all-products-query.ts","../src/utils/queries/get-all-product-vendors-query.ts","../src/utils/queries/get-collection-products-query.ts","../src/utils/mutations/checkout-line-item-add.ts","../src/utils/mutations/checkout-line-item-update.ts","../src/utils/mutations/checkout-line-item-remove.ts","../src/product/use-search.tsx","../src/product/use-product.tsx","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-remove-item.tsx","../src/cart/use-update-item.tsx","../src/site/use-categories.tsx","../src/site/use-brands.tsx","../src/fetcher.ts","../src/provider.ts","../src/shopify.tsx","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: Removed store domain and api token\n*/\nexport const SHOPIFY_CHECKOUT_ID_COOKIE = 'shopify_checkoutId'\n\nexport const SHOPIFY_CHECKOUT_URL_COOKIE = 'shopify_checkoutUrl'\n\nexport const SHOPIFY_CUSTOMER_TOKEN_COOKIE = 'shopify_customerToken'\n\nexport const SHOPIFY_COOKIE_EXPIRE = 30\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { FetcherError } from '@plasmicpkgs/commerce'\n\nexport function getError(errors: any[] | null, status: number) {\n errors = errors ?? [{ message: 'Failed to fetch Shopify API' }]\n return new FetcherError({ errors, status })\n}\n\nexport async function getAsyncError(res: Response) {\n const data = await res.json()\n return getError(data.errors, res.status)\n}\n\nconst handleFetchResponse = async (res: Response) => {\n if (res.ok) {\n const { data, errors } = await res.json()\n\n if (errors && errors.length) {\n throw getError(errors, res.status)\n }\n\n return data\n }\n\n throw await getAsyncError(res)\n}\n\nexport default handleFetchResponse\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nconst getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = {}\n switch (sort) {\n case 'price-asc':\n output = {\n sortKey: 'PRICE',\n reverse: false,\n }\n break\n case 'price-desc':\n output = {\n sortKey: 'PRICE',\n reverse: true,\n }\n break\n case 'trending-desc':\n output = {\n sortKey: 'BEST_SELLING',\n reverse: false,\n }\n break\n case 'latest-desc':\n output = {\n sortKey: isCategory ? 'CREATED' : 'CREATED_AT',\n reverse: true,\n }\n break\n }\n return output\n}\n\nexport default getSortVariables\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes:\n - Added count as a parameter\n*/\nimport { SearchProductsBody } from \"@plasmicpkgs/commerce\";\nimport getSortVariables from \"./get-sort-variables\";\n\nexport const getSearchVariables = ({\n brandId,\n search,\n categoryId,\n sort,\n locale,\n count,\n}: SearchProductsBody) => {\n let query = \"\";\n\n const searchQuery = `${search}*`;\n if (search) {\n query += `product_type:${searchQuery} OR title:${searchQuery} OR tag:${searchQuery}`;\n }\n\n if (brandId) {\n query += `${search ? \"AND \" : \"\"}vendor:${brandId}`;\n }\n\n return {\n categoryId,\n query,\n ...getSortVariables(sort, !!categoryId),\n ...(locale && {\n locale,\n }),\n first: count,\n };\n};\n\nexport default getSearchVariables;\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport Cookies from 'js-cookie'\nimport { SHOPIFY_CHECKOUT_ID_COOKIE } from '../const'\n\nconst getCheckoutId = (id?: string) => {\n return id ?? Cookies.get(SHOPIFY_CHECKOUT_ID_COOKIE);\n}\n\nexport default getCheckoutId\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nexport const checkoutDetailsFragment = /* GraphQL */ `\n fragment checkoutDetails on Checkout {\n id\n webUrl\n subtotalPriceV2 {\n amount\n currencyCode\n }\n totalTaxV2 {\n amount\n currencyCode\n }\n totalPriceV2 {\n amount\n currencyCode\n }\n completedAt\n createdAt\n taxesIncluded\n lineItems(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n variant {\n id\n sku\n title\n selectedOptions {\n name\n value\n }\n image {\n originalSrc\n altText\n width\n height\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n id\n handle\n }\n }\n quantity\n }\n }\n }\n }\n`;\n\nconst getCheckoutQuery = /* GraphQL */ `\n query getCheckout($checkoutId: ID!) {\n node(id: $checkoutId) {\n ...checkoutDetails\n }\n }\n ${checkoutDetailsFragment}\n`;\nexport default getCheckoutQuery;\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { checkoutDetailsFragment } from '../queries/get-checkout-query'\n\nconst checkoutCreateMutation = /* GraphQL */ `\n mutation checkoutCreate($input: CheckoutCreateInput = {}) {\n checkoutCreate(input: $input) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n ${checkoutDetailsFragment}\n`\nexport default checkoutCreateMutation\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/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 Cookies from 'js-cookie'\n\nimport {\n SHOPIFY_CHECKOUT_ID_COOKIE,\n SHOPIFY_CHECKOUT_URL_COOKIE,\n SHOPIFY_COOKIE_EXPIRE,\n} from '../const'\n\nimport checkoutCreateMutation from './mutations/checkout-create'\nimport {\n CheckoutCreatePayload,\n CheckoutLineItemInput,\n Mutation,\n MutationCheckoutCreateArgs,\n} from '../schema'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\n\nexport const checkoutCreate = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>,\n lineItems: CheckoutLineItemInput[]\n): Promise<CheckoutCreatePayload> => {\n const { checkoutCreate } = await fetch<Mutation, MutationCheckoutCreateArgs>({\n query: checkoutCreateMutation,\n variables: {\n input: { lineItems },\n },\n })\n\n const checkout = checkoutCreate?.checkout\n if (checkout) {\n const checkoutId = checkout?.id\n const options: Cookies.CookieAttributes = {\n expires: SHOPIFY_COOKIE_EXPIRE,\n sameSite: \"none\",\n secure: true\n }\n Cookies.set(SHOPIFY_CHECKOUT_ID_COOKIE, checkoutId, options);\n if (checkout?.webUrl) {\n Cookies.set(SHOPIFY_CHECKOUT_URL_COOKIE, checkout.webUrl, options)\n }\n }\n\n return checkoutCreate!\n}\n\nexport default checkoutCreate\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nexport const colorMap: Record<string, string> = {\n aliceblue: '#F0F8FF',\n antiquewhite: '#FAEBD7',\n aqua: '#00FFFF',\n aquamarine: '#7FFFD4',\n azure: '#F0FFFF',\n beige: '#F5F5DC',\n bisque: '#FFE4C4',\n black: '#000000',\n blanchedalmond: '#FFEBCD',\n blue: '#0000FF',\n blueviolet: '#8A2BE2',\n brown: '#A52A2A',\n burlywood: '#DEB887',\n burgandy: '#800020',\n burgundy: '#800020',\n cadetblue: '#5F9EA0',\n chartreuse: '#7FFF00',\n chocolate: '#D2691E',\n coral: '#FF7F50',\n cornflowerblue: '#6495ED',\n cornsilk: '#FFF8DC',\n crimson: '#DC143C',\n cyan: '#00FFFF',\n darkblue: '#00008B',\n darkcyan: '#008B8B',\n darkgoldenrod: '#B8860B',\n darkgray: '#A9A9A9',\n darkgreen: '#006400',\n darkgrey: '#A9A9A9',\n darkkhaki: '#BDB76B',\n darkmagenta: '#8B008B',\n darkolivegreen: '#556B2F',\n darkorange: '#FF8C00',\n darkorchid: '#9932CC',\n darkred: '#8B0000',\n darksalmon: '#E9967A',\n darkseagreen: '#8FBC8F',\n darkslateblue: '#483D8B',\n darkslategray: '#2F4F4F',\n darkslategrey: '#2F4F4F',\n darkturquoise: '#00CED1',\n darkviolet: '#9400D3',\n deeppink: '#FF1493',\n deepskyblue: '#00BFFF',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1E90FF',\n firebrick: '#B22222',\n floralwhite: '#FFFAF0',\n forestgreen: '#228B22',\n fuchsia: '#FF00FF',\n gainsboro: '#DCDCDC',\n ghostwhite: '#F8F8FF',\n gold: '#FFD700',\n goldenrod: '#DAA520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#ADFF2F',\n grey: '#808080',\n honeydew: '#F0FFF0',\n hotpink: '#FF69B4',\n indianred: '#CD5C5C',\n indigo: '#4B0082',\n ivory: '#FFFFF0',\n khaki: '#F0E68C',\n lavender: '#E6E6FA',\n lavenderblush: '#FFF0F5',\n lawngreen: '#7CFC00',\n lemonchiffon: '#FFFACD',\n lightblue: '#ADD8E6',\n lightcoral: '#F08080',\n lightcyan: '#E0FFFF',\n lightgoldenrodyellow: '#FAFAD2',\n lightgray: '#D3D3D3',\n lightgreen: '#90EE90',\n lightgrey: '#D3D3D3',\n lightpink: '#FFB6C1',\n lightsalmon: '#FFA07A',\n lightseagreen: '#20B2AA',\n lightskyblue: '#87CEFA',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#B0C4DE',\n lightyellow: '#FFFFE0',\n lime: '#00FF00',\n limegreen: '#32CD32',\n linen: '#FAF0E6',\n magenta: '#FF00FF',\n maroon: '#800000',\n mediumaquamarine: '#66CDAA',\n mediumblue: '#0000CD',\n mediumorchid: '#BA55D3',\n mediumpurple: '#9370DB',\n mediumseagreen: '#3CB371',\n mediumslateblue: '#7B68EE',\n mediumspringgreen: '#00FA9A',\n mediumturquoise: '#48D1CC',\n mediumvioletred: '#C71585',\n midnightblue: '#191970',\n mintcream: '#F5FFFA',\n mistyrose: '#FFE4E1',\n moccasin: '#FFE4B5',\n navajowhite: '#FFDEAD',\n navy: '#000080',\n oldlace: '#FDF5E6',\n olive: '#808000',\n olivedrab: '#6B8E23',\n orange: '#FFA500',\n orangered: '#FF4500',\n orchid: '#DA70D6',\n palegoldenrod: '#EEE8AA',\n palegreen: '#98FB98',\n paleturquoise: '#AFEEEE',\n palevioletred: '#DB7093',\n papayawhip: '#FFEFD5',\n peachpuff: '#FFDAB9',\n peru: '#CD853F',\n pink: '#FFC0CB',\n plum: '#DDA0DD',\n powderblue: '#B0E0E6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#FF0000',\n rosybrown: '#BC8F8F',\n royalblue: '#4169E1',\n saddlebrown: '#8B4513',\n salmon: '#FA8072',\n sandybrown: '#F4A460',\n seagreen: '#2E8B57',\n seashell: '#FFF5EE',\n sienna: '#A0522D',\n silver: '#C0C0C0',\n skyblue: '#87CEEB',\n slateblue: '#6A5ACD',\n slategray: '#708090',\n slategrey: '#708090',\n spacegrey: '#65737e',\n spacegray: '#65737e',\n snow: '#FFFAFA',\n springgreen: '#00FF7F',\n steelblue: '#4682B4',\n tan: '#D2B48C',\n teal: '#008080',\n thistle: '#D8BFD8',\n tomato: '#FF6347',\n turquoise: '#40E0D0',\n violet: '#EE82EE',\n wheat: '#F5DEB3',\n white: '#FFFFFF',\n whitesmoke: '#F5F5F5',\n yellow: '#FFFF00',\n yellowgreen: '#9ACD32',\n}\n","/* eslint-disable */\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes:\n - When a product doesn't have a variant, Shopify sets the default variant title as \"Default Title\"\n Changed to \"Default Variant\" to have the same default title as the Swell provider.\n*/\nimport type { Page } from \"../types/page\";\nimport type { Product } from \"@plasmicpkgs/commerce\";\nimport type { Cart, LineItem } from \"../types/cart\";\n\nimport {\n Product as ShopifyProduct,\n Checkout,\n CheckoutLineItemEdge,\n SelectedOption,\n Image,\n ImageConnection,\n ProductVariantConnection,\n MoneyV2,\n ProductOption,\n Page as ShopifyPage,\n PageEdge,\n Collection,\n} from \"../schema\";\nimport { colorMap } from \"./colors\";\nimport { Category } from \"../types/site\";\n\nconst money = ({ amount, currencyCode }: MoneyV2) => {\n return {\n value: +amount,\n currencyCode,\n };\n};\n\nconst isDefaultOption = (selectedOption: SelectedOption) =>\n selectedOption.name === \"Title\";\n\nconst normalizeProductOption = ({\n id,\n name: displayName,\n values,\n}: ProductOption) => {\n return {\n __typename: \"MultipleChoiceOption\",\n id,\n displayName: displayName.toLowerCase(),\n values: values.map((value) => {\n let output: any = {\n label: value,\n };\n if (displayName.match(/colou?r/gi)) {\n const mapedColor = colorMap[value.toLowerCase().replace(/ /g, \"\")];\n if (mapedColor) {\n output = {\n ...output,\n hexColors: [mapedColor],\n };\n }\n }\n return output;\n }),\n };\n};\n\nconst normalizeImage = ({ originalSrc: url, ...rest }: Image) => ({\n url,\n ...rest,\n});\n\nconst normalizeProductImages = ({ edges }: ImageConnection) =>\n edges?.map(({ node }) => normalizeImage(node));\n\nconst normalizeProductVariants = ({ edges }: ProductVariantConnection) => {\n return edges?.map(\n ({\n node: {\n id,\n selectedOptions,\n sku,\n title,\n priceV2,\n compareAtPriceV2,\n requiresShipping,\n availableForSale,\n },\n }) => {\n return {\n id,\n name: selectedOptions.some((o) => !isDefaultOption(o))\n ? title\n : \"Default variant\",\n sku: sku ?? id,\n price: +priceV2.amount,\n listPrice: +compareAtPriceV2?.amount,\n requiresShipping,\n availableForSale,\n options: selectedOptions.map(({ name, value }: SelectedOption) => {\n const options = normalizeProductOption({\n id,\n name,\n values: [value],\n });\n\n return options;\n }),\n };\n }\n );\n};\n\nexport function normalizeProduct({\n id,\n title: name,\n vendor,\n images,\n variants,\n description,\n descriptionHtml,\n handle,\n priceRange,\n options,\n metafields,\n ...rest\n}: any): Product {\n return {\n id,\n name,\n vendor,\n path: `/${handle}`,\n slug: handle?.replace(/^\\/+|\\/+$/g, \"\"),\n price: money(priceRange?.minVariantPrice),\n images: normalizeProductImages(images),\n variants: variants ? normalizeProductVariants(variants) : [],\n options: options\n ? options\n .filter((o: any) => !isDefaultOption(o)) // By default Shopify adds a 'Title' name when there's only one option. We don't need it. https://community.shopify.com/c/Shopify-APIs-SDKs/Adding-new-product-variant-is-automatically-adding-quot-Default/td-p/358095\n .map((o: any) => normalizeProductOption(o))\n : [],\n ...(description && { description }),\n ...(descriptionHtml && { descriptionHtml }),\n ...rest,\n };\n}\n\nexport function normalizeCart(checkout: any): Cart {\n return {\n id: checkout.id,\n url: checkout.webUrl,\n customerId: \"\",\n email: \"\",\n createdAt: checkout.createdAt,\n currency: {\n code: checkout.totalPriceV2?.currencyCode,\n },\n taxesIncluded: checkout.taxesIncluded,\n lineItems: checkout.lineItems?.edges.map(normalizeLineItem),\n lineItemsSubtotalPrice: +checkout.subtotalPriceV2?.amount,\n subtotalPrice: +checkout.subtotalPriceV2?.amount,\n totalPrice: +checkout.totalPriceV2?.amount,\n discounts: [],\n };\n}\n\nfunction normalizeLineItem({\n node: { id, title, variant, quantity },\n}: CheckoutLineItemEdge): LineItem {\n return {\n id,\n variantId: String(variant?.id),\n productId: String(variant?.product.id),\n name: `${title}`,\n quantity,\n variant: {\n id: String(variant?.id),\n sku: variant?.sku ?? \"\",\n name: variant?.title!,\n image: {\n url: variant?.image?.originalSrc || \"/product-img-placeholder.svg\",\n },\n requiresShipping: variant?.requiresShipping ?? false,\n price: variant?.priceV2?.amount,\n listPrice: variant?.compareAtPriceV2?.amount,\n },\n path: String(variant?.product?.handle),\n discounts: [],\n options: variant?.title == \"Default Title\" ? [] : variant?.selectedOptions,\n };\n}\n/*\nexport const normalizePage = (\n { title: name, handle, ...page }: ShopifyPage,\n locale: string = 'en-US'\n): Page => ({\n ...page,\n url: `/${locale}/${handle}`,\n name,\n})\n\nexport const normalizePages = (edges: PageEdge[], locale?: string): Page[] =>\n edges?.map((edge) => normalizePage(edge.node, locale))\n*/\nexport const normalizeCategory = ({\n title: name,\n handle,\n id,\n products,\n image,\n}: Collection): Category => ({\n id,\n name,\n slug: handle,\n path: `/${handle}`,\n isEmpty: products.edges.length === 0,\n images: image ? [normalizeImage(image)] : undefined,\n});\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { ValidationError } from '@plasmicpkgs/commerce'\n\nimport {\n CheckoutErrorCode,\n CheckoutUserError,\n CustomerErrorCode,\n CustomerUserError,\n} from '../schema'\n\nexport type UserErrors = Array<CheckoutUserError | CustomerUserError>\n\nexport type UserErrorCode =\n | CustomerErrorCode\n | CheckoutErrorCode\n | null\n | undefined\n\nconst getCustomMessage = (code: UserErrorCode, message: string) => {\n switch (code) {\n case 'UNIDENTIFIED_CUSTOMER':\n message = 'Cannot find an account that matches the provided credentials'\n break\n }\n return message\n}\n\nexport const throwUserErrors = (errors?: UserErrors) => {\n if (errors && errors.length) {\n throw new ValidationError({\n errors: errors.map(({ code, message }) => ({\n code: code ?? 'validation_error',\n message: getCustomMessage(code, message),\n })),\n })\n }\n}\n\nexport default throwUserErrors\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport type { Cart } from '../types/cart'\nimport { CommerceError } from '@plasmicpkgs/commerce'\n\nimport {\n CheckoutLineItemsAddPayload,\n CheckoutLineItemsRemovePayload,\n CheckoutLineItemsUpdatePayload,\n CheckoutCreatePayload,\n CheckoutUserError,\n Checkout,\n Maybe,\n} from '../schema'\n\nimport { normalizeCart } from './normalize'\nimport throwUserErrors from './throw-user-errors'\n\nexport type CheckoutQuery = {\n checkout: Checkout\n checkoutUserErrors?: Array<CheckoutUserError>\n}\n\nexport type CheckoutPayload =\n | CheckoutLineItemsAddPayload\n | CheckoutLineItemsUpdatePayload\n | CheckoutLineItemsRemovePayload\n | CheckoutCreatePayload\n | CheckoutQuery\n\nconst checkoutToCart = (checkoutPayload?: Maybe<CheckoutPayload>): Cart => {\n throwUserErrors(checkoutPayload?.checkoutUserErrors)\n\n if (!checkoutPayload?.checkout) {\n throw new CommerceError({\n message: 'Missing checkout object from response',\n })\n }\n\n return normalizeCart(checkoutPayload?.checkout)\n}\n\nexport default checkoutToCart\n","export const simpleProductConnection = `\nfragment simpleProductConnection on ProductConnection {\n edges {\n node {\n id\n }\n }\n}\n`;\n\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes:\n - Fetch image.\n*/\nexport const collectionFieldsFragment = `\n fragment collectionFieldsFragment on Collection {\n id\n title\n handle\n image {\n originalSrc\n altText\n width\n height\n }\n products(first: $first) {\n ...simpleProductConnection\n }\n }\n ${simpleProductConnection}\n`;\n\nexport const getCollectionQueryById = /* GraphQL */ `\n query getSiteCollection($id: ID, $handle: String, $first: Int = 1) {\n collection(id: $id, handle: $handle) {\n ...collectionFieldsFragment\n }\n }\n ${collectionFieldsFragment}\n`;\n","import { collectionFieldsFragment } from \"./get-collection-query\"\n\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nconst getSiteCollectionsQuery = /* GraphQL */ `\n query getSiteCollections($first: Int!) {\n collections(first: $first) {\n edges {\n node {\n ...collectionFieldsFragment\n }\n }\n }\n }\n\n ${collectionFieldsFragment}\n`\nexport default getSiteCollectionsQuery\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: Added query by product id\n*/\n\nconst productFieldsFragment = `\n fragment productFields on Product {\n id\n handle\n availableForSale\n title\n productType\n vendor\n description\n descriptionHtml\n options {\n id\n name\n values\n }\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n`\n\nexport const getProductQueryBySlug = /* GraphQL */ `\n query getProductBySlug($slug: String!) {\n productByHandle(handle: $slug) {\n ...productFields\n }\n }\n\n ${productFieldsFragment}\n`\n\n\nexport const getProductQueryById = /* GraphQL */ `\n query getProductById($id: ID!) {\n product(id: $id) {\n ...productFields\n }\n }\n\n ${productFieldsFragment}\n`\n\nexport default getProductQueryBySlug;","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: \n - Added variants info to the query\n*/\nexport const productConnectionFragment = /* GraphQL */ `\n fragment productConnection on ProductConnection {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n handle\n title\n vendor\n handle\n description\n descriptionHtml\n priceRange {\n minVariantPrice {\n amount\n currencyCode\n }\n }\n options {\n id\n name\n values\n }\n variants(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n title\n sku\n availableForSale\n requiresShipping\n selectedOptions {\n name\n value\n }\n priceV2 {\n amount\n currencyCode\n }\n compareAtPriceV2 {\n amount\n currencyCode\n }\n }\n }\n }\n images(first: 250) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n originalSrc\n altText\n width\n height\n }\n }\n }\n }\n }\n }\n`\n\nconst getAllProductsQuery = /* GraphQL */ `\n query getAllProducts(\n $first: Int = 250\n $query: String = \"\"\n $sortKey: ProductSortKeys = RELEVANCE\n $reverse: Boolean = false\n ) {\n products(\n first: $first\n sortKey: $sortKey\n reverse: $reverse\n query: $query\n ) {\n ...productConnection\n }\n }\n\n ${productConnectionFragment}\n`\nexport default getAllProductsQuery\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nconst getAllProductVendors = /* GraphQL */ `\n query getAllProductVendors($first: Int = 250, $cursor: String) {\n products(first: $first, after: $cursor) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n vendor\n }\n cursor\n }\n }\n }\n`\nexport default getAllProductVendors\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { productConnectionFragment } from './get-all-products-query'\n\nconst getCollectionProductsQuery = /* GraphQL */ `\n query getProductsFromCollection(\n $categoryId: ID!\n $first: Int = 250\n $sortKey: ProductCollectionSortKeys = RELEVANCE\n $reverse: Boolean = false\n ) {\n node(id: $categoryId) {\n id\n ... on Collection {\n products(first: $first, sortKey: $sortKey, reverse: $reverse) {\n ...productConnection\n }\n }\n }\n }\n ${productConnectionFragment}\n`\nexport default getCollectionProductsQuery\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { checkoutDetailsFragment } from '../queries/get-checkout-query'\n\nconst checkoutLineItemAddMutation = /* GraphQL */ `\n mutation checkoutLineItemAdd(\n $checkoutId: ID!\n $lineItems: [CheckoutLineItemInput!]!\n ) {\n checkoutLineItemsAdd(checkoutId: $checkoutId, lineItems: $lineItems) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n ${checkoutDetailsFragment}\n`\nexport default checkoutLineItemAddMutation\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { checkoutDetailsFragment } from '../queries/get-checkout-query'\n\nconst checkoutLineItemUpdateMutation = /* GraphQL */ `\n mutation checkoutLineItemUpdate(\n $checkoutId: ID!\n $lineItems: [CheckoutLineItemUpdateInput!]!\n ) {\n checkoutLineItemsUpdate(checkoutId: $checkoutId, lineItems: $lineItems) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n\n ${checkoutDetailsFragment}\n`\nexport default checkoutLineItemUpdateMutation\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { checkoutDetailsFragment } from '../queries/get-checkout-query'\n\nconst checkoutLineItemRemoveMutation = /* GraphQL */ `\n mutation checkoutLineItemRemove($checkoutId: ID!, $lineItemIds: [ID!]!) {\n checkoutLineItemsRemove(\n checkoutId: $checkoutId\n lineItemIds: $lineItemIds\n ) {\n checkoutUserErrors {\n code\n field\n message\n }\n checkout {\n ...checkoutDetails\n }\n }\n }\n ${checkoutDetailsFragment}\n`\nexport default checkoutLineItemRemoveMutation\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes:\n - Added count as a parameter to input\n*/\nimport { SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\n\nimport {\n CollectionEdge,\n GetAllProductsQuery,\n GetProductsFromCollectionQueryVariables,\n Product as ShopifyProduct,\n ProductEdge,\n} from \"../schema\";\n\nimport {\n getAllProductsQuery,\n getCollectionProductsQuery,\n getSearchVariables,\n normalizeProduct,\n} from \"../utils\";\n\nimport type { SearchProductsHook } from \"@plasmicpkgs/commerce\";\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: number;\n brandId?: number;\n sort?: string;\n locale?: string;\n count?: number;\n};\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n query: getAllProductsQuery,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId, brandId } = input;\n const method = options?.method;\n const variables = getSearchVariables(input);\n let products;\n\n // change the query to getCollectionProductsQuery when categoryId is set\n if (categoryId) {\n const data = await fetch<\n CollectionEdge,\n GetProductsFromCollectionQueryVariables\n >({\n query: getCollectionProductsQuery,\n method,\n variables: {\n ...variables,\n first: undefined,\n },\n });\n // filter on client when brandId & categoryId are set since is not available on collection product query\n products = brandId\n ? data.node?.products?.edges\n ?.filter(\n ({ node: { vendor } }: ProductEdge) =>\n vendor.replace(/\\s+/g, \"-\").toLowerCase() ===\n `${brandId}`.toLowerCase()\n )\n .slice(0, input.count)\n : data.node?.products?.edges.slice(0, input.count);\n } else {\n const data = await fetch<GetAllProductsQuery>({\n query: options.query,\n method,\n variables,\n });\n products = data.products?.edges;\n }\n\n return {\n products: products?.map(({ node }) =>\n normalizeProduct(node as ShopifyProduct)\n ),\n found: !!products?.length,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"locale\", input.locale],\n [\"count\", input.count],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { useProduct, UseProduct } from '@plasmicpkgs/commerce'\n\nimport {\n GetProductByIdQuery,\n GetProductBySlugQuery,\n} from '../schema'\n\nimport {\n getProductQuery,\n normalizeProduct,\n} from '../utils'\n\nimport type { GetProductHook } from '@plasmicpkgs/commerce'\nimport { getProductQueryById } from '../utils/queries/get-product-query'\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: getProductQuery,\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input\n if (!id) {\n return null\n }\n\n let product = null;\n if (id.startsWith(\"gid://shopify\")) {\n const data = await fetch<GetProductByIdQuery>({\n query: getProductQueryById,\n variables: { id }\n });\n product = data.product;\n } else {\n const data = await fetch<GetProductBySlugQuery>({\n query: options.query,\n variables: { slug: id }\n });\n\n if (data.productByHandle) {\n product = data.productByHandle;\n }\n }\n\n return product ? normalizeProduct(product) : null;\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n ['id', input.id],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n })\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { useMemo } from 'react'\nimport { useCart as useCommerceCart, UseCart } from '@plasmicpkgs/commerce'\n\nimport { SWRHook } from '@plasmicpkgs/commerce'\nimport { checkoutToCart } from '../utils'\nimport getCheckoutQuery from '../utils/queries/get-checkout-query'\nimport { GetCartHook } from '../types/cart'\nimport Cookies from 'js-cookie'\n\nimport {\n SHOPIFY_CHECKOUT_ID_COOKIE,\n SHOPIFY_CHECKOUT_URL_COOKIE,\n} from '../const'\n\nexport default useCommerceCart as UseCart<typeof handler>\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: getCheckoutQuery,\n },\n async fetcher({ input: { cartId }, options, fetch }) {\n if (cartId) {\n const { node: checkout } = await fetch({\n ...options,\n variables: {\n checkoutId: cartId,\n },\n })\n if (checkout?.completedAt) {\n Cookies.remove(SHOPIFY_CHECKOUT_ID_COOKIE)\n Cookies.remove(SHOPIFY_CHECKOUT_URL_COOKIE)\n return null\n } else {\n return checkoutToCart({\n checkout,\n })\n }\n }\n return null\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.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/shopify/src\n Changes: None\n*/\nimport { useCallback } from 'react'\nimport type { MutationHook } from '@plasmicpkgs/commerce';\nimport { CommerceError } from '@plasmicpkgs/commerce';\nimport { useAddItem, UseAddItem } from '@plasmicpkgs/commerce';\nimport type { AddItemHook } from '../types/cart'\nimport useCart from './use-cart'\n\nimport {\n checkoutLineItemAddMutation,\n getCheckoutId,\n checkoutToCart,\n checkoutCreate,\n} from '../utils'\nimport { Mutation, MutationCheckoutLineItemsAddArgs } from '../schema'\n\nexport default useAddItem as UseAddItem<typeof handler>\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: {\n query: checkoutLineItemAddMutation,\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 lineItems = [\n {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n },\n ]\n\n let checkoutId = getCheckoutId()\n if (!checkoutId) {\n return checkoutToCart(await checkoutCreate(fetch, lineItems))\n } else {\n const { checkoutLineItemsAdd } = await fetch<\n Mutation,\n MutationCheckoutLineItemsAddArgs\n >({\n ...options,\n variables: {\n checkoutId,\n lineItems,\n },\n })\n return checkoutToCart(checkoutLineItemsAdd)\n }\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart()\n return useCallback(\n async function addItem(input) {\n const data = await fetch({ input })\n await mutate(data, false)\n return data\n },\n [fetch, mutate]\n )\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport { useCallback } from 'react'\nimport type {\n MutationHookContext,\n HookFetcherContext,\n} from '@plasmicpkgs/commerce'\nimport { ValidationError } from '@plasmicpkgs/commerce'\nimport { useRemoveItem, \n UseRemoveItem,\n} from '@plasmicpkgs/commerce'\nimport type { Cart, LineItem, RemoveItemHook } from '../types/cart'\nimport useCart from './use-cart'\n\nexport type RemoveItemFn<T = any> = T extends LineItem\n ? (input?: RemoveItemActionInput<T>) => Promise<Cart | null | undefined>\n : (input: RemoveItemActionInput<T>) => Promise<Cart | null>\n\nexport type RemoveItemActionInput<T = any> = T extends LineItem\n ? Partial<RemoveItemHook['actionInput']>\n : RemoveItemHook['actionInput']\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>\n\nimport {\n checkoutLineItemRemoveMutation,\n getCheckoutId,\n checkoutToCart,\n} from '../utils'\n\nimport { Mutation, MutationCheckoutLineItemsRemoveArgs } from '../schema'\n\nexport const handler = {\n fetchOptions: {\n query: checkoutLineItemRemoveMutation,\n },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n }: HookFetcherContext<RemoveItemHook>) {\n const data = await fetch<Mutation, MutationCheckoutLineItemsRemoveArgs>({\n ...options,\n variables: { checkoutId: getCheckoutId(), lineItemIds: [itemId] },\n })\n return checkoutToCart(data.checkoutLineItemsRemove)\n },\n useHook:\n ({ fetch }: MutationHookContext<RemoveItemHook>) =>\n <T extends LineItem | undefined = undefined>(ctx: { item?: T } = {}) => {\n const { item } = ctx\n const { mutate } = useCart()\n const removeItem: RemoveItemFn<LineItem> = async (input) => {\n const itemId = input?.id ?? item?.id\n\n if (!itemId) {\n throw new ValidationError({\n message: 'Invalid input used for this operation',\n })\n }\n\n const data = await fetch({ input: { itemId } })\n await mutate(data, false)\n return data\n }\n\n return useCallback(removeItem as RemoveItemFn<T>, [fetch, mutate])\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: None\n*/\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport {\n useUpdateItem,\n UseUpdateItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\n\nimport { Mutation, MutationCheckoutLineItemsUpdateArgs } from \"../schema\";\nimport type { LineItem, UpdateItemHook } from \"../types/cart\";\nimport {\n checkoutLineItemUpdateMutation,\n checkoutToCart,\n getCheckoutId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: {\n query: checkoutLineItemUpdateMutation,\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 { checkoutLineItemsUpdate } = await fetch<\n Mutation,\n MutationCheckoutLineItemsUpdateArgs\n >({\n ...options,\n variables: {\n checkoutId: getCheckoutId(),\n lineItems: [\n {\n id: itemId,\n quantity: item.quantity,\n },\n ],\n },\n });\n\n return checkoutToCart(checkoutLineItemsUpdate);\n },\n useHook:\n ({ fetch }: MutationHookContext<UpdateItemHook>) =>\n <T extends LineItem | undefined = undefined>(\n ctx: {\n item?: T;\n wait?: number;\n } = {}\n ) => {\n const { item } = ctx;\n const { mutate } = useCart() as any;\n\n return useCallback(\n debounce(async (input: UpdateItemActionInput<T>) => {\n const itemId = input.id ?? item?.id;\n if (!itemId || input.quantity == null) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","import { SWRHook, UseCategories, useCategories } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { CollectionEdge } from \"../schema\";\nimport { GetCategoriesHook } from \"../types/site\";\nimport { getSiteCollectionsQuery, normalizeCategory } from \"../utils\";\nimport { getCollectionQueryById } from \"../utils/queries/get-collection-query\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: getSiteCollectionsQuery,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n\n if (!categoryId) {\n const data = await fetch({\n query: options.query,\n variables: {\n first: 250,\n },\n });\n return (\n data?.collections?.edges?.map(({ node }: CollectionEdge) =>\n normalizeCategory(node)\n ) ?? []\n );\n } else {\n const data = await fetch({\n query: getCollectionQueryById,\n variables: {\n ...(categoryId.startsWith(\"gid://\")\n ? { id: categoryId }\n : { handle: categoryId }),\n },\n });\n return !!data?.collection ? [normalizeCategory(data?.collection)] : [];\n }\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { UseBrands, useBrands } from '@plasmicpkgs/commerce'\nimport { useMemo } from \"react\";\nimport { CollectionEdge, GetAllProductVendorsQuery, GetAllProductVendorsQueryVariables } from \"../schema\";\nimport { GetBrandsHook } from \"../types/site\"\nimport { getAllProductVendors, normalizeCategory } from \"../utils\"\n\nexport default useBrands as UseBrands<typeof handler>\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: getAllProductVendors,\n },\n async fetcher({ input, options, fetch }) {\n const data = await fetch<\n GetAllProductVendorsQuery,\n GetAllProductVendorsQueryVariables\n >({\n query: getAllProductVendors,\n variables: {\n first: 250,\n },\n });\n\n let vendorsStrings = data.products.edges.map(({ node: { vendor } }) => 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:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: \n - Before: The storeDomain and accessToken were defined at build time. \n So this file just implemented a fetcher with these parameters defined.\n - Now: The storeDomain and accessToken are defined at runtime. \n So we have to get the fetcher using these parameters.\n*/\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { handleFetchResponse } from './utils'\n\nexport const getFetcher: \n (storeDomain: string, accessToken: string) => Fetcher =\n (storeDomain, accessToken) => {\n return async ({\n url = `https://${storeDomain}/api/2022-04/graphql.json`,\n method = 'POST',\n variables,\n query,\n }) => {\n const { locale, ...vars } = variables ?? {}\n return handleFetchResponse(\n await fetch(url, {\n method,\n body: JSON.stringify({ query, variables: vars }),\n headers: {\n 'X-Shopify-Storefront-Access-Token': accessToken,\n 'Content-Type': 'application/json',\n ...(locale && {\n 'Accept-Language': locale,\n }),\n },\n })\n )\n }\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes:\n - Removed authentication, customer and wishlist hooks.\n - Added storeDomain and accessToken parameters.\n*/\nimport { SHOPIFY_CHECKOUT_ID_COOKIE } from './const'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { getFetcher } from './fetcher'\nimport { Fetcher } from '@plasmicpkgs/commerce'\n\nexport const getShopifyProvider = (storeDomain: string, accessToken: string) => (\n {\n locale: 'en-us',\n cartCookie: SHOPIFY_CHECKOUT_ID_COOKIE,\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n fetcher: getFetcher(storeDomain, accessToken),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n }\n)\n\nexport type ShopifyProvider = {\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 useProduct: typeof useProduct\n };\n site: {\n useCategories: typeof useCategories\n useBrands: typeof useBrands\n }\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/shopify/src\n Changes: \n - Added storeDomain and accessToken parameters.\n*/\nimport {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from '@plasmicpkgs/commerce'\nimport { getShopifyProvider, ShopifyProvider } from './provider'\n\nexport type { ShopifyProvider }\n\nexport const useCommerce = () => useCoreCommerce<ShopifyProvider>()\n\nexport const getCommerceProvider = (storeDomain: string, accessToken: string) => \n getCoreCommerceProvider(getShopifyProvider(storeDomain, accessToken))\n\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\nimport { getCommerceProvider } from \"./shopify\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n storeDomain: string;\n accessToken: string;\n}\n\nconst globalContextName = \"plasmic-commerce-shopify-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: globalContextName,\n displayName: \"Shopify Provider\",\n props: {\n storeDomain: {\n type: \"string\",\n defaultValue: \"next-js-store.myshopify.com\",\n },\n accessToken: {\n type: \"string\",\n defaultValue: \"ef7d41c7bf7e1c214074d0d3047bcd7b\",\n },\n },\n ...{ globalActions: globalActionsRegistrations },\n description: `Your store domain usually looks like **storename.myshopify.com**.\n\nFor your access token, get it by following [this video](https://www.youtube.com/watch?v=wB_6cM7tdv4).\n\nSee also the [getting started video](https://www.youtube.com/watch?v=1OJ_gXmta2Q).`,\n importPath: \"@plasmicpkgs/commerce-shopify\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { storeDomain, accessToken, children } = props;\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(storeDomain, accessToken),\n [storeDomain, accessToken]\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 \"./shopify\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n"],"names":["SHOPIFY_CHECKOUT_ID_COOKIE","SHOPIFY_CHECKOUT_URL_COOKIE","SHOPIFY_COOKIE_EXPIRE","getError","errors","status","_errors","message","FetcherError","getAsyncError","_x","_getAsyncError","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","res","data","wrap","_callee2$","_context2","prev","next","json","sent","abrupt","stop","handleFetchResponse","_ref","_callee","_yield$res$json","_callee$","_context","ok","length","_x2","getSortVariables","sort","isCategory","output","sortKey","reverse","getSearchVariables","brandId","search","categoryId","locale","count","query","searchQuery","_extends","first","getCheckoutId","id","Cookies","get","checkoutDetailsFragment","getCheckoutQuery","checkoutCreateMutation","checkoutCreate","fetch","lineItems","_yield$fetch","checkout","checkoutId","options","variables","input","expires","sameSite","secure","set","webUrl","colorMap","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burgandy","burgundy","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","spacegrey","spacegray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","money","amount","currencyCode","value","isDefaultOption","selectedOption","name","normalizeProductOption","_ref2","displayName","values","__typename","toLowerCase","map","label","match","mapedColor","replace","hexColors","normalizeImage","_ref3","url","originalSrc","rest","_objectWithoutPropertiesLoose","_excluded","normalizeProductImages","_ref4","edges","_ref5","node","normalizeProductVariants","_ref6","_ref7","_ref7$node","selectedOptions","sku","title","priceV2","compareAtPriceV2","requiresShipping","availableForSale","some","o","price","listPrice","_ref8","normalizeProduct","_ref9","vendor","images","variants","description","descriptionHtml","handle","priceRange","metafields","_excluded2","path","slug","minVariantPrice","filter","normalizeCart","customerId","email","createdAt","currency","code","_checkout$totalPriceV","totalPriceV2","taxesIncluded","_checkout$lineItems","normalizeLineItem","lineItemsSubtotalPrice","_checkout$subtotalPri","subtotalPriceV2","subtotalPrice","_checkout$subtotalPri2","totalPrice","_checkout$totalPriceV2","discounts","_ref10","_ref10$node","variant","quantity","variantId","String","productId","product","_variant$sku","image","_variant$image","_variant$requiresShip","_variant$priceV","_variant$compareAtPri","_variant$product","normalizeCategory","_ref11","products","isEmpty","undefined","getCustomMessage","throwUserErrors","ValidationError","checkoutToCart","checkoutPayload","checkoutUserErrors","CommerceError","simpleProductConnection","collectionFieldsFragment","getCollectionQueryById","getSiteCollectionsQuery","productFieldsFragment","getProductQueryBySlug","getProductQueryById","productConnectionFragment","getAllProductsQuery","getAllProductVendors","getCollectionProductsQuery","checkoutLineItemAddMutation","checkoutLineItemUpdateMutation","checkoutLineItemRemoveMutation","handler","fetchOptions","fetcher","method","_data$node","slice","_data$node2","_data$products","_products","found","_products2","useHook","useData","swrOptions","revalidateOnFocus","getProductQuery","startsWith","productByHandle","cartId","completedAt","remove","response","useMemo","Object","create","_response$data$lineIt","_response$data","enumerable","item","Number","isInteger","_item$quantity","t0","t1","checkoutLineItemsAdd","_useCart","useCart","mutate","useCallback","_addItem","addItem","itemId","lineItemIds","checkoutLineItemsRemove","ctx","_ctx","removeItem","_input$id","_ref$input","removeItemHandler","checkoutLineItemsUpdate","debounce","_ctx$wait","wait","_data$collections$edg","_data$collections","collections","collection","_response$data$length","vendorsStrings","Array","from","Set","v","entityId","getFetcher","storeDomain","accessToken","_ref$url","_ref$method","vars","body","JSON","stringify","headers","getShopifyProvider","cartCookie","cart","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","CommerceProvider","React","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}