@plasmicpkgs/commerce-commercetools 0.0.158 → 0.0.160
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.
- package/dist/commerce-commercetools.cjs.development.js +37 -47
- package/dist/commerce-commercetools.cjs.development.js.map +1 -1
- package/dist/commerce-commercetools.cjs.production.min.js +1 -1
- package/dist/commerce-commercetools.cjs.production.min.js.map +1 -1
- package/dist/commerce-commercetools.esm.js +37 -47
- package/dist/commerce-commercetools.esm.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commerce-commercetools.cjs.production.min.js","sources":["../src/utils/get-sort-variables.ts","../src/utils/cookies.ts","../src/const.ts","../src/utils/cart-cookie.ts","../src/utils/cart-create.ts","../src/utils/cart-active.ts","../src/utils/localized-string.ts","../src/utils/common.ts","../src/utils/normalize.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-remove-item.tsx","../src/cart/use-update-item.tsx","../src/fetcher.ts","../src/client.ts","../src/product/use-product.tsx","../src/product/use-search.tsx","../src/site/use-brands.tsx","../src/site/use-categories.tsx","../src/commercetools.tsx","../src/provider.ts","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["const getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = undefined\n switch (sort) {\n case 'price-asc':\n output = 'price asc'\n break\n case 'price-desc':\n output = 'price desc'\n break\n case 'trending-desc': // default option\n output = undefined\n break\n case 'latest-desc':\n output = 'createdAt desc'\n break\n }\n return output\n}\n\nexport default getSortVariables\n","import Cookies, { CookieAttributes } from 'js-cookie';\nimport { COMMERCETOOLS_COOKIE_EXPIRE } from '../const'\n\nconst options: CookieAttributes = {\n expires: COMMERCETOOLS_COOKIE_EXPIRE,\n sameSite: \"none\",\n secure: true\n}\n\nexport const getCookies = <T>(name: string) => {\n const cookie = Cookies.get(name);\n return cookie ? (JSON.parse(cookie) as T) : undefined\n}\n\nexport const setCookies = (name: string, value: any) => Cookies.set(name, JSON.stringify(value), options);\n\nexport const removeCookies = (name: string) => Cookies.remove(name);\n","export const COMMERCETOOLS_COOKIE_EXPIRE = 30\n\nexport const COMMERCETOOLS_CART_COOKIE = 'commercetools_cart'\n\nexport const COMMERCETOOLS_CUSTOMER_COOKIE = 'commercetools_customer'\n\nexport const COMMERCETOOLS_WISHLIST_COOKIE = 'commercetools_wishlist'\n","import { COMMERCETOOLS_CART_COOKIE } from '../const'\nimport { getCookies, setCookies, removeCookies } from './cookies'\n\nexport const getCartId = () =>\n getCookies<string>(COMMERCETOOLS_CART_COOKIE)\n\nexport const setCartId = (id: string) =>\n setCookies(COMMERCETOOLS_CART_COOKIE, id)\n\nexport const removeCartCookie = () =>\n removeCookies(COMMERCETOOLS_CART_COOKIE)\n","import { Cart, CartDraft } from '@commercetools/platform-sdk'\nimport { ClientResponse } from '@commercetools/sdk-client-v2'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { removeCartCookie, setCartId } from './cart-cookie'\n\nconst createCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const draft: CartDraft = {\n currency: 'USD',\n country: 'US',\n }\n\n const cart = await fetch<ClientResponse<Cart>, CartDraft>({\n query: 'carts',\n method: 'post',\n body: draft,\n })\n\n if (!cart.body) {\n removeCartCookie()\n } else {\n setCartId(cart.body.id)\n }\n return cart.body\n}\n\nexport default createCart\n","import { Cart, ClientResponse } from '@commercetools/platform-sdk'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { getCartId, removeCartCookie, setCartId } from './cart-cookie'\nimport createCart from './cart-create'\n\nconst getActiveCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const cartId = getCartId()\n let activeCart\n if (cartId) {\n activeCart = (\n await fetch<ClientResponse<Cart>>({\n query: 'carts',\n method: 'get',\n variables: {\n id: cartId,\n },\n })\n ).body\n } else {\n activeCart = await createCart(fetch)\n }\n\n if (!activeCart) {\n removeCartCookie()\n } else {\n setCartId(activeCart.id)\n }\n return activeCart\n}\n\nexport default getActiveCart\n","const getLocalizedString = (\n localizedString: Record<string, string> | undefined,\n locale: string | undefined\n) =>\n !localizedString || !locale\n ? undefined\n : locale in localizedString\n ? localizedString[locale]\n : Object.values(localizedString)[0]\n\nexport default getLocalizedString\n","export const withoutNils = <T>(xs: Array<T | undefined | null>): T[] =>\n xs.filter((x): x is T => x != null)\n\nexport const dedup = <T>(xs: Array<T>): T[] => [...new Set(xs)]\n","import { Category } from '../types/site'\nimport {\n ProductProjection,\n Image,\n ProductVariant,\n Category as CommercetoolsCategory,\n Cart as CommercetoolsCart,\n LineItem as CommercetoolsLineItem,\n TypedMoney,\n Customer,\n ShoppingList,\n ProductData,\n} from '@commercetools/platform-sdk'\nimport { dedup, withoutNils } from './common'\nimport getLocalizedString from './localized-string'\nimport { Cart, LineItem } from '../types/cart'\nimport { Product, ProductOption } from '../types/product'\n\nconst currencyCode = 'USD'\n\nconst stringify = (value: any) =>\n typeof value === 'string' ? value : JSON.stringify(value)\n\nconst money = (price: TypedMoney | undefined) => {\n return price\n ? {\n value: price.centAmount / 100,\n currencyCode: price.currencyCode,\n }\n : {\n value: -1.0, // error\n currencyCode,\n }\n}\n\nconst normalizeProductOption = (option: {\n name: string\n value: string | string[]\n}): ProductOption => ({\n __typename: 'MultipleChoiceOption',\n id: option.name,\n displayName: option.name,\n values: dedup(\n Array.isArray(option.value) ? option.value : [option.value]\n ).map((val) => {\n if (\n option.name.match(/colou?r/gi) &&\n /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i.test(val)\n ) {\n return {\n label: stringify(val),\n hexColors: [val],\n }\n } else {\n return {\n label: stringify(val),\n }\n }\n }),\n})\n\nconst normalizeProductImages = (images: Image[]) =>\n images.map((image) => ({\n url: image.url,\n ...(image.label ? { alt: image.label } : {}),\n width: image.dimensions.w,\n height: image.dimensions.h,\n }))\n\nconst normalizeProductVariant = (variant: ProductVariant) => {\n const price = money(\n variant.prices?.find((price) => price.value.currencyCode === currencyCode)\n ?.value ?? variant.prices?.[0]?.value\n ).value\n\n return {\n id: `${variant.id}`,\n name: `${variant.id}`,\n sku: variant.sku ?? '',\n price,\n options:\n variant.attributes?.map((attribute) =>\n normalizeProductOption({\n name: attribute.name,\n value: attribute.value.key,\n })\n ) ?? [],\n requiresShipping: false,\n listPrice: price,\n }\n}\n\nexport const normalizeProduct = (\n product: ProductProjection | (ProductData & { id: string }),\n locale: string,\n): Product => ({\n id: product.id,\n name: getLocalizedString(product.name, locale) ?? \"\",\n slug: getLocalizedString(product.slug, locale),\n path: `/${getLocalizedString(product.slug, locale)}`,\n description: getLocalizedString(product.description, locale) ?? '',\n price: money(\n product.masterVariant.prices?.find(\n (price) => price.value.currencyCode === currencyCode\n )?.value ?? product.masterVariant.prices?.[0]?.value\n ),\n images: normalizeProductImages(\n withoutNils([\n ...(product.masterVariant.images ? product.masterVariant.images : []),\n ...product.variants.flatMap((variant) => variant.images),\n ])\n ),\n variants: [product.masterVariant, ...product.variants].map(\n normalizeProductVariant\n ),\n options: withoutNils([\n ...(product.masterVariant.attributes\n ? product.masterVariant.attributes\n : []),\n ...product.variants.flatMap((variant) => variant.attributes),\n ])\n .reduce(\n (groupedAttributes, attribute) => {\n const groupedAttribute = groupedAttributes.find(\n (gAttr) => gAttr.name === attribute.name\n )\n if (groupedAttribute) {\n groupedAttribute.value.push(stringify(attribute.value.key))\n } else {\n groupedAttributes.push({\n name: attribute.name,\n value: [stringify(attribute.value.key)],\n })\n }\n return groupedAttributes\n },\n [] as {\n name: string\n value: string[]\n }[]\n )\n .map(normalizeProductOption),\n})\n\nconst normalizeLineItem = (\n lineItem: CommercetoolsLineItem,\n locale: string,\n): LineItem => ({\n id: lineItem.id,\n variantId: `${lineItem.variant.id}`,\n productId: lineItem.productId,\n name: getLocalizedString(lineItem.name, locale) ?? \"\",\n path: '',\n quantity: lineItem.quantity,\n discounts: [],\n variant: normalizeProductVariant(lineItem.variant),\n options:\n lineItem.variant.attributes?.map((attribute) => ({\n id: attribute.name,\n name: attribute.name,\n value: attribute.value.key,\n })) ?? [],\n})\n\nexport const normalizeCart = (\n cart: CommercetoolsCart,\n locale: string,\n): Cart => ({\n id: cart.id,\n customerId: cart.customerId,\n email: cart.customerEmail,\n createdAt: cart.createdAt,\n currency: {\n code: currencyCode,\n },\n taxesIncluded: cart.taxMode !== 'Disabled',\n lineItems: cart.lineItems.map((item) => normalizeLineItem(item, locale)),\n lineItemsSubtotalPrice: 0,\n subtotalPrice: money(cart.totalPrice).value,\n totalPrice: money(cart.totalPrice).value,\n discounts: [],\n})\n\nexport const normalizeCategory = (\n category: CommercetoolsCategory,\n locale: string,\n): Category => ({\n id: category.id,\n name: getLocalizedString(category.name, locale) ?? \"\",\n slug: getLocalizedString(category.slug, locale) ?? \"\",\n path: `/${getLocalizedString(category.slug, locale)}`,\n})\n\nexport const normalizeCustomer = (customer: Customer) => ({\n firstName: customer.firstName,\n lastName: customer.lastName,\n email: customer.email,\n})\n\nexport const normalizeWishlist = (wishlist: ShoppingList) => ({\n items:\n wishlist.lineItems?.map((item) => ({\n id: item.id,\n product_id: item.productId,\n variant_id: item.variantId!,\n })) ?? [],\n})\n","import { useMemo } from 'react'\nimport { useCart as useCommerceCart, UseCart } from '@plasmicpkgs/commerce'\nimport { SWRHook } from '@plasmicpkgs/commerce'\nimport { getActiveCart, normalizeCart } from '../utils'\nimport { GetCartHook } from '../types/cart'\n\nexport default useCommerceCart as UseCart<typeof handler>\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"get\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const activeCart = await getActiveCart(fetch);\n return activeCart ? normalizeCart(activeCart, provider!.locale) : null;\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.lineItems.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","import { Cart, CartUpdate, ClientResponse } from \"@commercetools/platform-sdk\";\nimport type { MutationHook } from \"@plasmicpkgs/commerce\";\nimport { useAddItem, UseAddItem } from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport type { AddItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({ input: item, options, fetch, provider }) {\n const activeCart = await getActiveCart(fetch);\n if (\n (item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)) ||\n !activeCart\n ) {\n return undefined;\n }\n const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"addLineItem\",\n variantId: +item.variantId,\n productId: item.productId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return updatedCart.body\n ? normalizeCart(updatedCart.body, provider!.locale)\n : undefined;\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart();\n return useCallback(\n async function addItem(input) {\n const data = await fetch({ input });\n await mutate(data, false);\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","import {\n Cart as CommerceToolsCart,\n CartUpdate,\n ClientResponse,\n} from \"@commercetools/platform-sdk\";\nimport type {\n HookFetcherContext,\n MutationHook,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport {\n UseRemoveItem,\n useRemoveItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport type { Cart, LineItem, RemoveItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\n\nexport type RemoveItemFn<T = any> = T extends LineItem\n ? (input?: RemoveItemActionInput<T>) => Promise<Cart | null | undefined>\n : (input: RemoveItemActionInput<T>) => Promise<Cart | null>;\n\nexport type RemoveItemActionInput<T = any> = T extends LineItem\n ? Partial<RemoveItemHook[\"actionInput\"]>\n : RemoveItemHook[\"actionInput\"];\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>;\n\nexport const handler: MutationHook<RemoveItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n provider,\n }: HookFetcherContext<RemoveItemHook>) {\n const activeCart = await getActiveCart(fetch);\n if (!itemId || !activeCart) {\n return undefined;\n }\n const updatedCart = await fetch<\n ClientResponse<CommerceToolsCart>,\n CartUpdate\n >({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"removeLineItem\",\n lineItemId: itemId,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return normalizeCart(updatedCart.body, provider!.locale);\n },\n useHook:\n ({ fetch }: MutationHookContext<RemoveItemHook>) =>\n <T extends LineItem | undefined = undefined>(ctx: { item?: T } = {}) => {\n const { item } = ctx;\n const { mutate } = useCart();\n const removeItem: RemoveItemFn<LineItem> = async (input) => {\n const itemId = input?.id ?? item?.id;\n\n if (!itemId) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({ input: { itemId } });\n await mutate(data, false);\n return data;\n };\n\n return useCallback(removeItem as RemoveItemFn<T>, [fetch, mutate]);\n },\n};\n","import { Cart, CartUpdate, ClientResponse } from \"@commercetools/platform-sdk\";\nimport type { MutationHook, MutationHookContext } from \"@plasmicpkgs/commerce\";\nimport {\n useUpdateItem,\n UseUpdateItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\nimport type { LineItem, UpdateItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\nexport const handler: MutationHook<UpdateItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({ input: { item, itemId }, options, fetch, provider }) {\n if (Number.isInteger(item.quantity)) {\n // Also allow the update hook to remove an item if the quantity is lower than 1\n if (item.quantity! < 1) {\n return removeItemHandler.fetcher?.({\n options: removeItemHandler.fetchOptions,\n input: { itemId },\n fetch,\n provider,\n });\n }\n } else if (item.quantity) {\n throw new ValidationError({\n message: \"The item quantity has to be a valid integer\",\n });\n }\n\n const activeCart = await getActiveCart(fetch);\n if (\n (item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)) ||\n !activeCart\n ) {\n return undefined;\n }\n const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"changeLineItemQuantity\",\n lineItemId: itemId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return updatedCart.body\n ? normalizeCart(updatedCart.body, provider!.locale)\n : undefined;\n },\n useHook:\n ({ fetch }: MutationHookContext<UpdateItemHook>) =>\n <T extends LineItem | undefined = undefined>(\n ctx: {\n item?: T;\n wait?: number;\n } = {}\n ) => {\n const { item } = ctx;\n const { mutate } = useCart() as any;\n\n return useCallback(\n debounce(async (input: UpdateItemActionInput<T>) => {\n const itemId = input.id ?? item?.id;\n if (!itemId || input.quantity == null) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","import { Fetcher } from '@plasmicpkgs/commerce'\nimport { CommercetoolsCredentials } from './provider'\nimport { createApiBuilderFromCtpClient } from '@commercetools/platform-sdk'\nimport initCommercetoolsSDKClient from './client'\n\nexport const getFetcher: \n (creds: CommercetoolsCredentials) => Fetcher =\n (creds) => {\n const client = initCommercetoolsSDKClient(creds);\n const apiRoot = createApiBuilderFromCtpClient(client).withProjectKey({\n projectKey: creds.projectKey!,\n })\n return async ({\n method, variables, query, body\n }) => {\n let queryBuilder: any = apiRoot;\n if (query) {\n queryBuilder = queryBuilder[query]();\n } \n if (variables?.id) {\n queryBuilder = queryBuilder.withId({ ID: variables.id });\n }\n if (variables?.search) {\n queryBuilder = queryBuilder.search();\n }\n return await queryBuilder[method!]({\n body,\n queryArgs: {\n expand: variables?.expand,\n limit: variables?.limit,\n ...(variables?.sort ? { sort: variables.sort } : {}),\n ...(variables?.search ? variables.search : {}),\n ...(variables?.filters ? { filter: variables.filters } : {}),\n ...(variables?.where ? { where: variables.where } : {})\n },\n })\n .execute()\n }\n}\n","import {\n AuthMiddlewareOptions,\n ClientBuilder,\n HttpMiddlewareOptions,\n } from '@commercetools/sdk-client-v2'\nimport { CommercetoolsCredentials } from './provider'\n\nconst initCommercetoolsSDKClient = (creds: CommercetoolsCredentials) => {\n const scopes = [`manage_project:${creds.projectKey}`]\n \n // Configure authMiddlewareOptions\n const authMiddlewareOptions: AuthMiddlewareOptions = {\n host: `https://auth.${creds.region}.commercetools.com`,\n projectKey: creds.clientSecret,\n credentials: {\n clientId: creds.clientId,\n clientSecret: creds.clientSecret,\n },\n scopes,\n fetch,\n }\n \n // Configure httpMiddlewareOptions\n const httpMiddlewareOptions: HttpMiddlewareOptions = {\n host: `https://api.${creds.region}.commercetools.com`,\n fetch,\n }\n \n // Export the ClientBuilder\n return new ClientBuilder()\n .withProjectKey(creds.projectKey)\n .withClientCredentialsFlow(authMiddlewareOptions)\n .withHttpMiddleware(httpMiddlewareOptions)\n .build()\n}\n \n export default initCommercetoolsSDKClient","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { useProduct, UseProduct } from '@plasmicpkgs/commerce'\nimport {\n Product,\n ProductProjection,\n ClientResponse,\n} from '@commercetools/platform-sdk'\nimport { normalizeProduct } from '../utils'\nimport type { GetProductHook } from '@plasmicpkgs/commerce'\n\nexport type GetProductInput = {\n id?: string\n}\n\nexport default useProduct as UseProduct<typeof handler>\n\nexport const handler: SWRHook<GetProductHook> = {\n fetchOptions: {\n query: \"productProjections\",\n method: \"get\"\n },\n async fetcher({ input, options, fetch, provider }) {\n const { id } = input\n if (!id) {\n return null\n }\n\n const product = await fetch<ClientResponse<ProductProjection>>({\n ...options,\n variables: {\n id\n },\n });\n return product.body \n ? normalizeProduct(product.body, provider!.locale)\n : null\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n ['id', input.id],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n })\n },\n}\n","import {\n ClientResponse,\n ProductProjectionPagedQueryResponse,\n} from \"@commercetools/platform-sdk\";\nimport { useSearch } from \"@plasmicpkgs/commerce\";\nimport { getSortVariables, normalizeProduct } from \"../utils\";\n\nimport type {\n SearchProductsHook,\n SWRHook,\n UseSearch,\n} from \"@plasmicpkgs/commerce\";\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: number;\n brandId?: number;\n sort?: string;\n locale?: string;\n count?: number;\n};\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n method: \"get\",\n query: \"productProjections\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const { search, categoryId, sort, count } = input;\n const response = await fetch<\n ClientResponse<ProductProjectionPagedQueryResponse>\n >({\n ...options,\n variables: {\n expand: [\"masterData.current\"],\n sort: getSortVariables(sort),\n limit: count,\n ...(search\n ? // eslint-disable-next-line\n { search: { [`text.${provider?.locale!}`]: search } }\n : {}),\n ...(categoryId\n ? { filters: `categories.id: subtree(\"${categoryId}\")` }\n : {}),\n },\n });\n return {\n products: response.body.results.map((product) =>\n normalizeProduct(product, provider!.locale)\n ),\n found: response.body.count > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"locale\", input.locale],\n [\"count\", input.count],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { UseBrands, useBrands } from '@plasmicpkgs/commerce'\nimport { useMemo } from \"react\";\nimport { GetBrandsHook } from \"../types/site\"\n\nexport default useBrands as UseBrands<typeof handler>\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: \"\"\n },\n async fetcher({ input, options, fetch }) {\n return null;\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","import { SWRHook, UseCategories, useCategories } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { GetCategoriesHook } from \"../types/site\";\nimport {\n ClientResponse,\n Category,\n CategoryPagedQueryResponse,\n} from '@commercetools/platform-sdk'\nimport { normalizeCategory } from \"../utils\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: \"categories\",\n method: \"get\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const { categoryId } = input;\n if (!categoryId) {\n const categories = await fetch<ClientResponse<CategoryPagedQueryResponse>>({\n ...options\n })\n return categories.body ? categories.body.results.map((category) => normalizeCategory(category, provider!.locale)) : [];\n } else {\n const category = await fetch<ClientResponse<Category>>({\n ...options,\n variables: {\n ...(categoryId ? { id: categoryId } : { })\n }\n })\n return category.body ? [normalizeCategory(category.body, provider!.locale)] : [];\n }\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","import {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from '@plasmicpkgs/commerce'\nimport { getCommercetoolsProvider, CommercetoolsProvider, CommercetoolsCredentials } from './provider'\n\nexport type { CommercetoolsProvider }\n\nexport const useCommerce = () => useCoreCommerce<CommercetoolsProvider>()\n\nexport const getCommerceProvider = (creds: CommercetoolsCredentials, locale: string) => \n getCoreCommerceProvider(getCommercetoolsProvider(creds, locale))\n\n","import { Fetcher } from \"@plasmicpkgs/commerce\";\nimport { handler as useAddItem } from \"./cart/use-add-item\";\nimport { handler as useCart } from \"./cart/use-cart\";\nimport { handler as useRemoveItem } from \"./cart/use-remove-item\";\nimport { handler as useUpdateItem } from \"./cart/use-update-item\";\nimport { COMMERCETOOLS_CART_COOKIE } from \"./const\";\nimport { getFetcher } from \"./fetcher\";\nimport { handler as useProduct } from \"./product/use-product\";\nimport { handler as useSearch } from \"./product/use-search\";\nimport { handler as useBrands } from \"./site/use-brands\";\nimport { handler as useCategories } from \"./site/use-categories\";\n\nexport interface CommercetoolsCredentials {\n projectKey: string;\n clientId: string;\n clientSecret: string;\n region: string;\n}\n\nexport const getCommercetoolsProvider = (\n creds: CommercetoolsCredentials,\n locale: string\n) => ({\n locale,\n cartCookie: COMMERCETOOLS_CART_COOKIE,\n cart: { useCart, useAddItem, useRemoveItem, useUpdateItem },\n fetcher: getFetcher(creds),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands },\n});\n\nexport type CommercetoolsProvider = {\n locale: string;\n cartCookie: string;\n fetcher: Fetcher;\n cart: {\n useCart: typeof useCart;\n useAddItem: typeof useAddItem;\n };\n products: {\n useSearch: typeof useSearch;\n useProduct: typeof useProduct;\n };\n site: {\n useCategories: typeof useCategories;\n useBrands: typeof useBrands;\n };\n};\n","import { ClientResponse, Project } from \"@commercetools/platform-sdk\";\nimport { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { getCommerceProvider } from \"./commercetools\";\nimport { getFetcher } from \"./fetcher\";\nimport { CommercetoolsCredentials } from \"./provider\";\nimport { Registerable } from \"./registerable\";\n\ninterface CommerceProviderProps extends CommercetoolsCredentials {\n children?: React.ReactNode;\n}\n\nconst globalContextName = \"plasmic-commerce-commercetools-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: globalContextName,\n displayName: \"Commercetools Provider\",\n props: {\n projectKey: {\n type: \"string\",\n defaultValue: \"plasmic-demo\",\n },\n clientId: {\n type: \"string\",\n defaultValue: \"B4hmK61xvz5LvdSDtsFmcflM\",\n },\n clientSecret: {\n type: \"string\",\n defaultValue: \"KhzjcjSu1Oul4aomSmOsLZOCZKbvfHqx\",\n },\n region: {\n type: \"choice\",\n options: [\n \"us-central1.gcp\",\n \"us-east-2.aws\",\n \"europe-west1.gcp\",\n \"eu-central-1.aws\",\n \"australia-southeast1.gcp\",\n ],\n defaultValue: \"us-central1.gcp\",\n },\n },\n ...{ globalActions: globalActionsRegistrations },\n importPath: \"@plasmicpkgs/commercetools\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { children, projectKey, clientId, clientSecret, region } = props;\n\n const creds = React.useMemo(\n () => ({ projectKey, clientId, clientSecret, region }),\n [projectKey, clientId, clientSecret, region]\n );\n\n const {\n data: locale,\n error,\n isLoading,\n } = usePlasmicQueryData(JSON.stringify({ creds }) + \"locale\", async () => {\n const fetcher = getFetcher(creds);\n const project: ClientResponse<Project> = await fetcher({ method: \"get\" });\n return project.body ? project.body.languages[0] : undefined;\n });\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(creds, locale ?? \"\"),\n [creds, locale]\n );\n\n if (isLoading) {\n return null;\n } else if (error || !locale) {\n throw new Error(error ? error.message : \"Project language not found\");\n }\n\n return (\n <CommerceProvider>\n <CartActionsProvider globalContextName={globalContextName}>\n {children}\n </CartActionsProvider>\n </CommerceProvider>\n );\n}\n\nexport function registerCommerceProvider(\n loader?: Registerable,\n customCommerceProviderMeta?: GlobalContextMeta<CommerceProviderProps>\n) {\n const doRegisterComponent: typeof registerGlobalContext = (...args) =>\n loader\n ? loader.registerGlobalContext(...args)\n : registerGlobalContext(...args);\n doRegisterComponent(\n CommerceProviderComponent,\n customCommerceProviderMeta ?? commerceProviderMeta\n );\n}\n","import { Registerable } from \"./registerable\";\nimport { registerCommerceProvider } from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\nexport * from \"./registerCommerceProvider\";\nexport * from \"./commercetools\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n"],"names":["getSortVariables","sort","isCategory","output","undefined","options","expires","sameSite","secure","setCartId","id","Cookies","set","JSON","stringify","removeCartCookie","remove","createCart","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","_x","apply","arguments","getActiveCart","cartId","activeCart","cookie","get","parse","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","value","money","price","centAmount","currencyCode","normalizeProductOption","option","__typename","name","displayName","Array","isArray","concat","Set","map","val","match","test","label","hexColors","normalizeProductVariant","variant","_variant$prices$find$","_variant$prices","prices","find","_variant$prices2","sku","_variant$sku","_variant$attributes$m","_variant$attributes","attributes","attribute","key","requiresShipping","listPrice","normalizeProduct","product","_getLocalizedString","_getLocalizedString2","_product$masterVarian","_product$masterVarian2","_product$masterVarian3","images","slug","path","description","masterVariant","variants","flatMap","image","_extends","url","alt","width","dimensions","w","height","h","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeLineItem","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","input","provider","useHook","_ref2","useData","response","swrOptions","revalidateOnFocus","useMemo","create","isEmpty","_response$data$lineIt","_response$data","data","length","enumerable","Number","isInteger","version","actions","action","_item$quantity","updatedCart","mutate","useCart","useCallback","_addItem","_callee2","_context2","itemId","lineItemId","ctx","_ref3","_input$id","ValidationError","message","_ref$input","removeItemHandler","debounce","_ctx$wait","wait","getFetcher","creds","client","authMiddlewareOptions","host","region","projectKey","clientSecret","credentials","clientId","scopes","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","initCommercetoolsSDKClient","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","search","queryArgs","expand","limit","filters","where","execute","categoryId","count","_search","products","results","found","brandId","_response$data$length","categories","getCommerceProvider","getCoreCommerceProvider","cartCookie","useAddItem","useRemoveItem","useUpdateItem","useSearch","useProduct","site","useCategories","useBrands","getCommercetoolsProvider","commerceProviderMeta","props","type","defaultValue","globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","CartActionsProvider","globalContextName","registerCommerceProvider","loader","customCommerceProviderMeta","registerGlobalContext","doRegisterComponent","useCoreCommerce"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commerce-commercetools.cjs.production.min.js","sources":["../src/utils/get-sort-variables.ts","../src/utils/cookies.ts","../src/const.ts","../src/utils/cart-cookie.ts","../src/utils/cart-create.ts","../src/utils/cart-active.ts","../src/utils/localized-string.ts","../src/utils/common.ts","../src/utils/normalize.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-remove-item.tsx","../src/cart/use-update-item.tsx","../src/fetcher.ts","../src/client.ts","../src/product/use-product.tsx","../src/product/use-search.tsx","../src/site/use-brands.tsx","../src/site/use-categories.tsx","../src/commercetools.tsx","../src/provider.ts","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["const getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = undefined\n switch (sort) {\n case 'price-asc':\n output = 'price asc'\n break\n case 'price-desc':\n output = 'price desc'\n break\n case 'trending-desc': // default option\n output = undefined\n break\n case 'latest-desc':\n output = 'createdAt desc'\n break\n }\n return output\n}\n\nexport default getSortVariables\n","import Cookies, { CookieAttributes } from 'js-cookie';\nimport { COMMERCETOOLS_COOKIE_EXPIRE } from '../const'\n\nconst options: CookieAttributes = {\n expires: COMMERCETOOLS_COOKIE_EXPIRE,\n sameSite: \"none\",\n secure: true\n}\n\nexport const getCookies = <T>(name: string) => {\n const cookie = Cookies.get(name);\n return cookie ? (JSON.parse(cookie) as T) : undefined\n}\n\nexport const setCookies = (name: string, value: any) => Cookies.set(name, JSON.stringify(value), options);\n\nexport const removeCookies = (name: string) => Cookies.remove(name);\n","export const COMMERCETOOLS_COOKIE_EXPIRE = 30\n\nexport const COMMERCETOOLS_CART_COOKIE = 'commercetools_cart'\n\nexport const COMMERCETOOLS_CUSTOMER_COOKIE = 'commercetools_customer'\n\nexport const COMMERCETOOLS_WISHLIST_COOKIE = 'commercetools_wishlist'\n","import { COMMERCETOOLS_CART_COOKIE } from '../const'\nimport { getCookies, setCookies, removeCookies } from './cookies'\n\nexport const getCartId = () =>\n getCookies<string>(COMMERCETOOLS_CART_COOKIE)\n\nexport const setCartId = (id: string) =>\n setCookies(COMMERCETOOLS_CART_COOKIE, id)\n\nexport const removeCartCookie = () =>\n removeCookies(COMMERCETOOLS_CART_COOKIE)\n","import { Cart, CartDraft } from '@commercetools/platform-sdk'\nimport { ClientResponse } from '@commercetools/sdk-client-v2'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { removeCartCookie, setCartId } from './cart-cookie'\n\nconst createCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const draft: CartDraft = {\n currency: 'USD',\n country: 'US',\n }\n\n const cart = await fetch<ClientResponse<Cart>, CartDraft>({\n query: 'carts',\n method: 'post',\n body: draft,\n })\n\n if (!cart.body) {\n removeCartCookie()\n } else {\n setCartId(cart.body.id)\n }\n return cart.body\n}\n\nexport default createCart\n","import { Cart, ClientResponse } from '@commercetools/platform-sdk'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { getCartId, removeCartCookie, setCartId } from './cart-cookie'\nimport createCart from './cart-create'\n\nconst getActiveCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const cartId = getCartId()\n let activeCart\n if (cartId) {\n activeCart = (\n await fetch<ClientResponse<Cart>>({\n query: 'carts',\n method: 'get',\n variables: {\n id: cartId,\n },\n })\n ).body\n } else {\n activeCart = await createCart(fetch)\n }\n\n if (!activeCart) {\n removeCartCookie()\n } else {\n setCartId(activeCart.id)\n }\n return activeCart\n}\n\nexport default getActiveCart\n","const getLocalizedString = (\n localizedString: Record<string, string> | undefined,\n locale: string | undefined\n) =>\n !localizedString || !locale\n ? undefined\n : locale in localizedString\n ? localizedString[locale]\n : Object.values(localizedString)[0]\n\nexport default getLocalizedString\n","export const withoutNils = <T>(xs: Array<T | undefined | null>): T[] =>\n xs.filter((x): x is T => x != null)\n\nexport const dedup = <T>(xs: Array<T>): T[] => [...new Set(xs)]\n","import { Category } from '../types/site'\nimport {\n ProductProjection,\n Image,\n ProductVariant,\n Category as CommercetoolsCategory,\n Cart as CommercetoolsCart,\n LineItem as CommercetoolsLineItem,\n TypedMoney,\n Customer,\n ShoppingList,\n ProductData,\n} from '@commercetools/platform-sdk'\nimport { dedup, withoutNils } from './common'\nimport getLocalizedString from './localized-string'\nimport { Cart, LineItem } from '../types/cart'\nimport { Product, ProductOption } from '../types/product'\n\nconst currencyCode = 'USD'\n\nconst stringify = (value: any) =>\n typeof value === 'string' ? value : JSON.stringify(value)\n\nconst money = (price: TypedMoney | undefined) => {\n return price\n ? {\n value: price.centAmount / 100,\n currencyCode: price.currencyCode,\n }\n : {\n value: -1.0, // error\n currencyCode,\n }\n}\n\nconst normalizeProductOption = (option: {\n name: string\n value: string | string[]\n}): ProductOption => ({\n __typename: 'MultipleChoiceOption',\n id: option.name,\n displayName: option.name,\n values: dedup(\n Array.isArray(option.value) ? option.value : [option.value]\n ).map((val) => {\n if (\n option.name.match(/colou?r/gi) &&\n /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i.test(val)\n ) {\n return {\n label: stringify(val),\n hexColors: [val],\n }\n } else {\n return {\n label: stringify(val),\n }\n }\n }),\n})\n\nconst normalizeProductImages = (images: Image[]) =>\n images.map((image) => ({\n url: image.url,\n ...(image.label ? { alt: image.label } : {}),\n width: image.dimensions.w,\n height: image.dimensions.h,\n }))\n\nconst normalizeProductVariant = (variant: ProductVariant) => {\n const price = money(\n variant.prices?.find((price) => price.value.currencyCode === currencyCode)\n ?.value ?? variant.prices?.[0]?.value\n ).value\n\n return {\n id: `${variant.id}`,\n name: `${variant.id}`,\n sku: variant.sku ?? '',\n price,\n options:\n variant.attributes?.map((attribute) =>\n normalizeProductOption({\n name: attribute.name,\n value: attribute.value.key,\n })\n ) ?? [],\n requiresShipping: false,\n listPrice: price,\n }\n}\n\nexport const normalizeProduct = (\n product: ProductProjection | (ProductData & { id: string }),\n locale: string,\n): Product => ({\n id: product.id,\n name: getLocalizedString(product.name, locale) ?? \"\",\n slug: getLocalizedString(product.slug, locale),\n path: `/${getLocalizedString(product.slug, locale)}`,\n description: getLocalizedString(product.description, locale) ?? '',\n price: money(\n product.masterVariant.prices?.find(\n (price) => price.value.currencyCode === currencyCode\n )?.value ?? product.masterVariant.prices?.[0]?.value\n ),\n images: normalizeProductImages(\n withoutNils([\n ...(product.masterVariant.images ? product.masterVariant.images : []),\n ...product.variants.flatMap((variant) => variant.images),\n ])\n ),\n variants: [product.masterVariant, ...product.variants].map(\n normalizeProductVariant\n ),\n options: withoutNils([\n ...(product.masterVariant.attributes\n ? product.masterVariant.attributes\n : []),\n ...product.variants.flatMap((variant) => variant.attributes),\n ])\n .reduce(\n (groupedAttributes, attribute) => {\n const groupedAttribute = groupedAttributes.find(\n (gAttr) => gAttr.name === attribute.name\n )\n if (groupedAttribute) {\n groupedAttribute.value.push(stringify(attribute.value.key))\n } else {\n groupedAttributes.push({\n name: attribute.name,\n value: [stringify(attribute.value.key)],\n })\n }\n return groupedAttributes\n },\n [] as {\n name: string\n value: string[]\n }[]\n )\n .map(normalizeProductOption),\n})\n\nconst normalizeLineItem = (\n lineItem: CommercetoolsLineItem,\n locale: string,\n): LineItem => ({\n id: lineItem.id,\n variantId: `${lineItem.variant.id}`,\n productId: lineItem.productId,\n name: getLocalizedString(lineItem.name, locale) ?? \"\",\n path: '',\n quantity: lineItem.quantity,\n discounts: [],\n variant: normalizeProductVariant(lineItem.variant),\n options:\n lineItem.variant.attributes?.map((attribute) => ({\n id: attribute.name,\n name: attribute.name,\n value: attribute.value.key,\n })) ?? [],\n})\n\nexport const normalizeCart = (\n cart: CommercetoolsCart,\n locale: string,\n): Cart => ({\n id: cart.id,\n customerId: cart.customerId,\n email: cart.customerEmail,\n createdAt: cart.createdAt,\n currency: {\n code: currencyCode,\n },\n taxesIncluded: cart.taxMode !== 'Disabled',\n lineItems: cart.lineItems.map((item) => normalizeLineItem(item, locale)),\n lineItemsSubtotalPrice: 0,\n subtotalPrice: money(cart.totalPrice).value,\n totalPrice: money(cart.totalPrice).value,\n discounts: [],\n})\n\nexport const normalizeCategory = (\n category: CommercetoolsCategory,\n locale: string,\n): Category => ({\n id: category.id,\n name: getLocalizedString(category.name, locale) ?? \"\",\n slug: getLocalizedString(category.slug, locale) ?? \"\",\n path: `/${getLocalizedString(category.slug, locale)}`,\n})\n\nexport const normalizeCustomer = (customer: Customer) => ({\n firstName: customer.firstName,\n lastName: customer.lastName,\n email: customer.email,\n})\n\nexport const normalizeWishlist = (wishlist: ShoppingList) => ({\n items:\n wishlist.lineItems?.map((item) => ({\n id: item.id,\n product_id: item.productId,\n variant_id: item.variantId!,\n })) ?? [],\n})\n","import { useMemo } from 'react'\nimport { useCart as useCommerceCart, UseCart } from '@plasmicpkgs/commerce'\nimport { SWRHook } from '@plasmicpkgs/commerce'\nimport { getActiveCart, normalizeCart } from '../utils'\nimport { GetCartHook } from '../types/cart'\n\nexport default useCommerceCart as UseCart<typeof handler>\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"get\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const activeCart = await getActiveCart(fetch);\n return activeCart ? normalizeCart(activeCart, provider!.locale) : null;\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.lineItems.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","import { Cart, CartUpdate, ClientResponse } from \"@commercetools/platform-sdk\";\nimport type { MutationHook } from \"@plasmicpkgs/commerce\";\nimport { useAddItem, UseAddItem } from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport type { AddItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({ input: item, options, fetch, provider }) {\n const activeCart = await getActiveCart(fetch);\n if (\n (item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)) ||\n !activeCart\n ) {\n return undefined;\n }\n const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"addLineItem\",\n variantId: +item.variantId,\n productId: item.productId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return updatedCart.body\n ? normalizeCart(updatedCart.body, provider!.locale)\n : undefined;\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart();\n return useCallback(\n async function addItem(input) {\n const data = await fetch({ input });\n await mutate(data, false);\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","import {\n Cart as CommerceToolsCart,\n CartUpdate,\n ClientResponse,\n} from \"@commercetools/platform-sdk\";\nimport type {\n HookFetcherContext,\n MutationHook,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport {\n UseRemoveItem,\n useRemoveItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport type { Cart, LineItem, RemoveItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\n\nexport type RemoveItemFn<T = any> = T extends LineItem\n ? (input?: RemoveItemActionInput<T>) => Promise<Cart | null | undefined>\n : (input: RemoveItemActionInput<T>) => Promise<Cart | null>;\n\nexport type RemoveItemActionInput<T = any> = T extends LineItem\n ? Partial<RemoveItemHook[\"actionInput\"]>\n : RemoveItemHook[\"actionInput\"];\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>;\n\nexport const handler: MutationHook<RemoveItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n provider,\n }: HookFetcherContext<RemoveItemHook>) {\n const activeCart = await getActiveCart(fetch);\n if (!itemId || !activeCart) {\n return undefined;\n }\n const updatedCart = await fetch<\n ClientResponse<CommerceToolsCart>,\n CartUpdate\n >({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"removeLineItem\",\n lineItemId: itemId,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return normalizeCart(updatedCart.body, provider!.locale);\n },\n useHook:\n ({ fetch }: MutationHookContext<RemoveItemHook>) =>\n <T extends LineItem | undefined = undefined>(ctx: { item?: T } = {}) => {\n const { item } = ctx;\n const { mutate } = useCart();\n const removeItem: RemoveItemFn<LineItem> = async (input) => {\n const itemId = input?.id ?? item?.id;\n\n if (!itemId) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({ input: { itemId } });\n await mutate(data, false);\n return data;\n };\n\n return useCallback(removeItem as RemoveItemFn<T>, [fetch, mutate]);\n },\n};\n","import { Cart, CartUpdate, ClientResponse } from \"@commercetools/platform-sdk\";\nimport type { MutationHook, MutationHookContext } from \"@plasmicpkgs/commerce\";\nimport {\n useUpdateItem,\n UseUpdateItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\nimport type { LineItem, UpdateItemHook } from \"../types/cart\";\nimport {\n getActiveCart,\n normalizeCart,\n removeCartCookie,\n setCartId,\n} from \"../utils\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\nexport const handler: MutationHook<UpdateItemHook> = {\n fetchOptions: {\n query: \"cart\",\n method: \"post\",\n },\n async fetcher({ input: { item, itemId }, options, fetch, provider }) {\n if (Number.isInteger(item.quantity)) {\n // Also allow the update hook to remove an item if the quantity is lower than 1\n if (item.quantity! < 1) {\n return removeItemHandler.fetcher?.({\n options: removeItemHandler.fetchOptions,\n input: { itemId },\n fetch,\n provider,\n });\n }\n } else if (item.quantity) {\n throw new ValidationError({\n message: \"The item quantity has to be a valid integer\",\n });\n }\n\n const activeCart = await getActiveCart(fetch);\n if (\n (item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)) ||\n !activeCart\n ) {\n return undefined;\n }\n const updatedCart = await fetch<ClientResponse<Cart>, CartUpdate>({\n query: \"carts\",\n method: \"post\",\n variables: {\n id: activeCart.id,\n },\n body: {\n version: activeCart.version,\n actions: [\n {\n action: \"changeLineItemQuantity\",\n lineItemId: itemId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n if (updatedCart.body) {\n setCartId(updatedCart.body.id);\n } else {\n removeCartCookie();\n }\n return updatedCart.body\n ? normalizeCart(updatedCart.body, provider!.locale)\n : undefined;\n },\n useHook:\n ({ fetch }: MutationHookContext<UpdateItemHook>) =>\n <T extends LineItem | undefined = undefined>(\n ctx: {\n item?: T;\n wait?: number;\n } = {}\n ) => {\n const { item } = ctx;\n const { mutate } = useCart() as any;\n\n return useCallback(\n debounce(async (input: UpdateItemActionInput<T>) => {\n const itemId = input.id ?? item?.id;\n if (!itemId || input.quantity == null) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","import { Fetcher } from '@plasmicpkgs/commerce'\nimport { CommercetoolsCredentials } from './provider'\nimport { createApiBuilderFromCtpClient } from '@commercetools/platform-sdk'\nimport initCommercetoolsSDKClient from './client'\n\nexport const getFetcher: \n (creds: CommercetoolsCredentials) => Fetcher =\n (creds) => {\n const client = initCommercetoolsSDKClient(creds);\n const apiRoot = createApiBuilderFromCtpClient(client).withProjectKey({\n projectKey: creds.projectKey!,\n })\n return async ({\n method, variables, query, body\n }) => {\n let queryBuilder: any = apiRoot;\n if (query) {\n queryBuilder = queryBuilder[query]();\n } \n if (variables?.id) {\n queryBuilder = queryBuilder.withId({ ID: variables.id });\n }\n if (variables?.search) {\n queryBuilder = queryBuilder.search();\n }\n return await queryBuilder[method!]({\n body,\n queryArgs: {\n expand: variables?.expand,\n limit: variables?.limit,\n ...(variables?.sort ? { sort: variables.sort } : {}),\n ...(variables?.search ? variables.search : {}),\n ...(variables?.filters ? { filter: variables.filters } : {}),\n ...(variables?.where ? { where: variables.where } : {})\n },\n })\n .execute()\n }\n}\n","import {\n AuthMiddlewareOptions,\n ClientBuilder,\n HttpMiddlewareOptions,\n } from '@commercetools/sdk-client-v2'\nimport { CommercetoolsCredentials } from './provider'\n\nconst initCommercetoolsSDKClient = (creds: CommercetoolsCredentials) => {\n const scopes = [`manage_project:${creds.projectKey}`]\n \n // Configure authMiddlewareOptions\n const authMiddlewareOptions: AuthMiddlewareOptions = {\n host: `https://auth.${creds.region}.commercetools.com`,\n projectKey: creds.clientSecret,\n credentials: {\n clientId: creds.clientId,\n clientSecret: creds.clientSecret,\n },\n scopes,\n fetch,\n }\n \n // Configure httpMiddlewareOptions\n const httpMiddlewareOptions: HttpMiddlewareOptions = {\n host: `https://api.${creds.region}.commercetools.com`,\n fetch,\n }\n \n // Export the ClientBuilder\n return new ClientBuilder()\n .withProjectKey(creds.projectKey)\n .withClientCredentialsFlow(authMiddlewareOptions)\n .withHttpMiddleware(httpMiddlewareOptions)\n .build()\n}\n \n export default initCommercetoolsSDKClient","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { useProduct, UseProduct } from '@plasmicpkgs/commerce'\nimport {\n Product,\n ProductProjection,\n ClientResponse,\n} from '@commercetools/platform-sdk'\nimport { normalizeProduct } from '../utils'\nimport type { GetProductHook } from '@plasmicpkgs/commerce'\n\nexport type GetProductInput = {\n id?: string\n}\n\nexport default useProduct as UseProduct<typeof handler>\n\nexport const handler: SWRHook<GetProductHook> = {\n fetchOptions: {\n query: \"productProjections\",\n method: \"get\"\n },\n async fetcher({ input, options, fetch, provider }) {\n const { id } = input\n if (!id) {\n return null\n }\n\n const product = await fetch<ClientResponse<ProductProjection>>({\n ...options,\n variables: {\n id\n },\n });\n return product.body \n ? normalizeProduct(product.body, provider!.locale)\n : null\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n ['id', input.id],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n })\n },\n}\n","import {\n ClientResponse,\n ProductProjectionPagedQueryResponse,\n} from \"@commercetools/platform-sdk\";\nimport { useSearch } from \"@plasmicpkgs/commerce\";\nimport { getSortVariables, normalizeProduct } from \"../utils\";\n\nimport type {\n SearchProductsHook,\n SWRHook,\n UseSearch,\n} from \"@plasmicpkgs/commerce\";\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: number;\n brandId?: number;\n sort?: string;\n locale?: string;\n count?: number;\n};\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n method: \"get\",\n query: \"productProjections\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const { search, categoryId, sort, count } = input;\n const response = await fetch<\n ClientResponse<ProductProjectionPagedQueryResponse>\n >({\n ...options,\n variables: {\n expand: [\"masterData.current\"],\n sort: getSortVariables(sort),\n limit: count,\n ...(search\n ? // eslint-disable-next-line\n { search: { [`text.${provider?.locale!}`]: search } }\n : {}),\n ...(categoryId\n ? { filters: `categories.id: subtree(\"${categoryId}\")` }\n : {}),\n },\n });\n return {\n products: response.body.results.map((product) =>\n normalizeProduct(product, provider!.locale)\n ),\n found: response.body.count > 0,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"locale\", input.locale],\n [\"count\", input.count],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","import { SWRHook } from '@plasmicpkgs/commerce'\nimport { UseBrands, useBrands } from '@plasmicpkgs/commerce'\nimport { useMemo } from \"react\";\nimport { GetBrandsHook } from \"../types/site\"\n\nexport default useBrands as UseBrands<typeof handler>\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: \"\"\n },\n async fetcher({ input, options, fetch }) {\n return null;\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n })\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0\n },\n enumerable: true,\n },\n }),\n [response]\n )\n },\n}\n","import { SWRHook, UseCategories, useCategories } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { GetCategoriesHook } from \"../types/site\";\nimport {\n ClientResponse,\n Category,\n CategoryPagedQueryResponse,\n} from '@commercetools/platform-sdk'\nimport { normalizeCategory } from \"../utils\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: \"categories\",\n method: \"get\",\n },\n async fetcher({ input, options, fetch, provider }) {\n const { categoryId } = input;\n if (!categoryId) {\n const categories = await fetch<ClientResponse<CategoryPagedQueryResponse>>({\n ...options\n })\n return categories.body ? categories.body.results.map((category) => normalizeCategory(category, provider!.locale)) : [];\n } else {\n const category = await fetch<ClientResponse<Category>>({\n ...options,\n variables: {\n ...(categoryId ? { id: categoryId } : { })\n }\n })\n return category.body ? [normalizeCategory(category.body, provider!.locale)] : [];\n }\n },\n useHook: ({ useData }) => (input) => {\n const response = useData({\n input: [[\"categoryId\", input?.categoryId]],\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","import {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from '@plasmicpkgs/commerce'\nimport { getCommercetoolsProvider, CommercetoolsProvider, CommercetoolsCredentials } from './provider'\n\nexport type { CommercetoolsProvider }\n\nexport const useCommerce = () => useCoreCommerce<CommercetoolsProvider>()\n\nexport const getCommerceProvider = (creds: CommercetoolsCredentials, locale: string) => \n getCoreCommerceProvider(getCommercetoolsProvider(creds, locale))\n\n","import { Fetcher } from \"@plasmicpkgs/commerce\";\nimport { handler as useAddItem } from \"./cart/use-add-item\";\nimport { handler as useCart } from \"./cart/use-cart\";\nimport { handler as useRemoveItem } from \"./cart/use-remove-item\";\nimport { handler as useUpdateItem } from \"./cart/use-update-item\";\nimport { COMMERCETOOLS_CART_COOKIE } from \"./const\";\nimport { getFetcher } from \"./fetcher\";\nimport { handler as useProduct } from \"./product/use-product\";\nimport { handler as useSearch } from \"./product/use-search\";\nimport { handler as useBrands } from \"./site/use-brands\";\nimport { handler as useCategories } from \"./site/use-categories\";\n\nexport interface CommercetoolsCredentials {\n projectKey: string;\n clientId: string;\n clientSecret: string;\n region: string;\n}\n\nexport const getCommercetoolsProvider = (\n creds: CommercetoolsCredentials,\n locale: string\n) => ({\n locale,\n cartCookie: COMMERCETOOLS_CART_COOKIE,\n cart: { useCart, useAddItem, useRemoveItem, useUpdateItem },\n fetcher: getFetcher(creds),\n products: { useSearch, useProduct },\n site: { useCategories, useBrands },\n});\n\nexport type CommercetoolsProvider = {\n locale: string;\n cartCookie: string;\n fetcher: Fetcher;\n cart: {\n useCart: typeof useCart;\n useAddItem: typeof useAddItem;\n };\n products: {\n useSearch: typeof useSearch;\n useProduct: typeof useProduct;\n };\n site: {\n useCategories: typeof useCategories;\n useBrands: typeof useBrands;\n };\n};\n","import { ClientResponse, Project } from \"@commercetools/platform-sdk\";\nimport { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { getCommerceProvider } from \"./commercetools\";\nimport { getFetcher } from \"./fetcher\";\nimport { CommercetoolsCredentials } from \"./provider\";\nimport { Registerable } from \"./registerable\";\n\ninterface CommerceProviderProps extends CommercetoolsCredentials {\n children?: React.ReactNode;\n}\n\nconst globalContextName = \"plasmic-commerce-commercetools-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: globalContextName,\n displayName: \"Commercetools Provider\",\n props: {\n projectKey: {\n type: \"string\",\n defaultValue: \"plasmic-demo\",\n },\n clientId: {\n type: \"string\",\n defaultValue: \"B4hmK61xvz5LvdSDtsFmcflM\",\n },\n clientSecret: {\n type: \"string\",\n defaultValue: \"KhzjcjSu1Oul4aomSmOsLZOCZKbvfHqx\",\n },\n region: {\n type: \"choice\",\n options: [\n \"us-central1.gcp\",\n \"us-east-2.aws\",\n \"europe-west1.gcp\",\n \"eu-central-1.aws\",\n \"australia-southeast1.gcp\",\n ],\n defaultValue: \"us-central1.gcp\",\n },\n },\n ...{ globalActions: globalActionsRegistrations },\n importPath: \"@plasmicpkgs/commercetools\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { children, projectKey, clientId, clientSecret, region } = props;\n\n const creds = React.useMemo(\n () => ({ projectKey, clientId, clientSecret, region }),\n [projectKey, clientId, clientSecret, region]\n );\n\n const {\n data: locale,\n error,\n isLoading,\n } = usePlasmicQueryData(JSON.stringify({ creds }) + \"locale\", async () => {\n const fetcher = getFetcher(creds);\n const project: ClientResponse<Project> = await fetcher({ method: \"get\" });\n return project.body ? project.body.languages[0] : undefined;\n });\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(creds, locale ?? \"\"),\n [creds, locale]\n );\n\n if (isLoading) {\n return null;\n } else if (error || !locale) {\n throw new Error(error ? error.message : \"Project language not found\");\n }\n\n return (\n <CommerceProvider>\n <CartActionsProvider globalContextName={globalContextName}>\n {children}\n </CartActionsProvider>\n </CommerceProvider>\n );\n}\n\nexport function registerCommerceProvider(\n loader?: Registerable,\n customCommerceProviderMeta?: GlobalContextMeta<CommerceProviderProps>\n) {\n const doRegisterComponent: typeof registerGlobalContext = (...args) =>\n loader\n ? loader.registerGlobalContext(...args)\n : registerGlobalContext(...args);\n doRegisterComponent(\n CommerceProviderComponent,\n customCommerceProviderMeta ?? commerceProviderMeta\n );\n}\n","import { Registerable } from \"./registerable\";\nimport { registerCommerceProvider } from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\nexport * from \"./registerCommerceProvider\";\nexport * from \"./commercetools\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n"],"names":["getSortVariables","sort","isCategory","output","undefined","options","expires","sameSite","secure","setCartId","id","Cookies","set","JSON","stringify","removeCartCookie","remove","createCart","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","_x","apply","arguments","getActiveCart","cartId","activeCart","cookie","get","parse","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","value","money","price","centAmount","currencyCode","normalizeProductOption","option","__typename","name","displayName","Array","isArray","concat","Set","map","val","match","test","label","hexColors","normalizeProductVariant","variant","_variant$prices$find$","_variant$prices","prices","find","_variant$prices2","sku","_variant$sku","_variant$attributes$m","_variant$attributes","attributes","attribute","key","requiresShipping","listPrice","normalizeProduct","product","_getLocalizedString","_getLocalizedString2","_product$masterVarian","_product$masterVarian2","_product$masterVarian3","images","slug","path","description","masterVariant","variants","flatMap","image","_extends","url","alt","width","dimensions","w","height","h","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeLineItem","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","input","provider","useHook","_ref2","useData","response","swrOptions","revalidateOnFocus","useMemo","create","isEmpty","_response$data$lineIt","_response$data","data","length","enumerable","Number","isInteger","version","actions","action","_item$quantity","updatedCart","mutate","useCart","useCallback","_addItem","_callee2","_context2","itemId","lineItemId","ctx","_ref3","_input$id","ValidationError","message","_ref$input","removeItemHandler","debounce","_ctx$wait","wait","getFetcher","creds","client","authMiddlewareOptions","host","region","projectKey","clientSecret","credentials","clientId","scopes","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","initCommercetoolsSDKClient","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","search","queryArgs","expand","limit","filters","where","execute","categoryId","count","_search","products","results","found","brandId","_response$data$length","categories","getCommerceProvider","getCoreCommerceProvider","cartCookie","useAddItem","useRemoveItem","useUpdateItem","useSearch","useProduct","site","useCategories","useBrands","getCommercetoolsProvider","commerceProviderMeta","props","type","defaultValue","globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","CartActionsProvider","globalContextName","registerCommerceProvider","loader","customCommerceProviderMeta","registerGlobalContext","doRegisterComponent","useCoreCommerce"],"mappings":"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"}
|
|
@@ -7,6 +7,40 @@ import debounce from 'debounce';
|
|
|
7
7
|
import { createApiBuilderFromCtpClient } from '@commercetools/platform-sdk';
|
|
8
8
|
import { ClientBuilder } from '@commercetools/sdk-client-v2';
|
|
9
9
|
|
|
10
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
11
|
+
try {
|
|
12
|
+
var i = n[a](c),
|
|
13
|
+
u = i.value;
|
|
14
|
+
} catch (n) {
|
|
15
|
+
return void e(n);
|
|
16
|
+
}
|
|
17
|
+
i.done ? t(u) : Promise.resolve(u).then(r, o);
|
|
18
|
+
}
|
|
19
|
+
function _asyncToGenerator(n) {
|
|
20
|
+
return function () {
|
|
21
|
+
var t = this,
|
|
22
|
+
e = arguments;
|
|
23
|
+
return new Promise(function (r, o) {
|
|
24
|
+
var a = n.apply(t, e);
|
|
25
|
+
function _next(n) {
|
|
26
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
|
|
27
|
+
}
|
|
28
|
+
function _throw(n) {
|
|
29
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
|
|
30
|
+
}
|
|
31
|
+
_next(void 0);
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function _extends() {
|
|
36
|
+
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
37
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
38
|
+
var t = arguments[e];
|
|
39
|
+
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
40
|
+
}
|
|
41
|
+
return n;
|
|
42
|
+
}, _extends.apply(null, arguments);
|
|
43
|
+
}
|
|
10
44
|
function _regeneratorRuntime() {
|
|
11
45
|
_regeneratorRuntime = function () {
|
|
12
46
|
return e;
|
|
@@ -115,7 +149,7 @@ function _regeneratorRuntime() {
|
|
|
115
149
|
function makeInvokeMethod(e, r, n) {
|
|
116
150
|
var o = h;
|
|
117
151
|
return function (i, a) {
|
|
118
|
-
if (o === f) throw
|
|
152
|
+
if (o === f) throw Error("Generator is already running");
|
|
119
153
|
if (o === s) {
|
|
120
154
|
if ("throw" === i) throw a;
|
|
121
155
|
return {
|
|
@@ -257,7 +291,7 @@ function _regeneratorRuntime() {
|
|
|
257
291
|
} else if (c) {
|
|
258
292
|
if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
|
|
259
293
|
} else {
|
|
260
|
-
if (!u) throw
|
|
294
|
+
if (!u) throw Error("try statement without catch or finally");
|
|
261
295
|
if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
|
|
262
296
|
}
|
|
263
297
|
}
|
|
@@ -297,7 +331,7 @@ function _regeneratorRuntime() {
|
|
|
297
331
|
return o;
|
|
298
332
|
}
|
|
299
333
|
}
|
|
300
|
-
throw
|
|
334
|
+
throw Error("illegal catch attempt");
|
|
301
335
|
},
|
|
302
336
|
delegateYield: function (e, r, n) {
|
|
303
337
|
return this.delegate = {
|
|
@@ -308,50 +342,6 @@ function _regeneratorRuntime() {
|
|
|
308
342
|
}
|
|
309
343
|
}, e;
|
|
310
344
|
}
|
|
311
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
312
|
-
try {
|
|
313
|
-
var info = gen[key](arg);
|
|
314
|
-
var value = info.value;
|
|
315
|
-
} catch (error) {
|
|
316
|
-
reject(error);
|
|
317
|
-
return;
|
|
318
|
-
}
|
|
319
|
-
if (info.done) {
|
|
320
|
-
resolve(value);
|
|
321
|
-
} else {
|
|
322
|
-
Promise.resolve(value).then(_next, _throw);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
function _asyncToGenerator(fn) {
|
|
326
|
-
return function () {
|
|
327
|
-
var self = this,
|
|
328
|
-
args = arguments;
|
|
329
|
-
return new Promise(function (resolve, reject) {
|
|
330
|
-
var gen = fn.apply(self, args);
|
|
331
|
-
function _next(value) {
|
|
332
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
333
|
-
}
|
|
334
|
-
function _throw(err) {
|
|
335
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
336
|
-
}
|
|
337
|
-
_next(undefined);
|
|
338
|
-
});
|
|
339
|
-
};
|
|
340
|
-
}
|
|
341
|
-
function _extends() {
|
|
342
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
343
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
344
|
-
var source = arguments[i];
|
|
345
|
-
for (var key in source) {
|
|
346
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
347
|
-
target[key] = source[key];
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
return target;
|
|
352
|
-
};
|
|
353
|
-
return _extends.apply(this, arguments);
|
|
354
|
-
}
|
|
355
345
|
|
|
356
346
|
var getSortVariables = function getSortVariables(sort, isCategory) {
|
|
357
347
|
var output = undefined;
|