@plasmicpkgs/commerce-commercetools 0.0.157 → 0.0.159
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.esm.js","sources":["../src/utils/get-sort-variables.ts","../src/const.ts","../src/utils/cookies.ts","../src/utils/cart-cookie.ts","../src/utils/cart-create.ts","../src/utils/cart-active.ts","../src/utils/localized-string.ts","../src/utils/common.ts","../src/utils/normalize.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-remove-item.tsx","../src/cart/use-update-item.tsx","../src/client.ts","../src/fetcher.ts","../src/product/use-product.tsx","../src/product/use-search.tsx","../src/site/use-brands.tsx","../src/site/use-categories.tsx","../src/provider.ts","../src/commercetools.tsx","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["const getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = undefined\n switch (sort) {\n case 'price-asc':\n output = 'price asc'\n break\n case 'price-desc':\n output = 'price desc'\n break\n case 'trending-desc': // default option\n output = undefined\n break\n case 'latest-desc':\n output = 'createdAt desc'\n break\n }\n return output\n}\n\nexport default getSortVariables\n","export const COMMERCETOOLS_COOKIE_EXPIRE = 30\n\nexport const COMMERCETOOLS_CART_COOKIE = 'commercetools_cart'\n\nexport const COMMERCETOOLS_CUSTOMER_COOKIE = 'commercetools_customer'\n\nexport const COMMERCETOOLS_WISHLIST_COOKIE = 'commercetools_wishlist'\n","import Cookies, { CookieAttributes } from 'js-cookie';\nimport { COMMERCETOOLS_COOKIE_EXPIRE } from '../const'\n\nconst options: CookieAttributes = {\n expires: COMMERCETOOLS_COOKIE_EXPIRE,\n sameSite: \"none\",\n secure: true\n}\n\nexport const getCookies = <T>(name: string) => {\n const cookie = Cookies.get(name);\n return cookie ? (JSON.parse(cookie) as T) : undefined\n}\n\nexport const setCookies = (name: string, value: any) => Cookies.set(name, JSON.stringify(value), options);\n\nexport const removeCookies = (name: string) => Cookies.remove(name);\n","import { COMMERCETOOLS_CART_COOKIE } from '../const'\nimport { getCookies, setCookies, removeCookies } from './cookies'\n\nexport const getCartId = () =>\n getCookies<string>(COMMERCETOOLS_CART_COOKIE)\n\nexport const setCartId = (id: string) =>\n setCookies(COMMERCETOOLS_CART_COOKIE, id)\n\nexport const removeCartCookie = () =>\n removeCookies(COMMERCETOOLS_CART_COOKIE)\n","import { Cart, CartDraft } from '@commercetools/platform-sdk'\nimport { ClientResponse } from '@commercetools/sdk-client-v2'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { removeCartCookie, setCartId } from './cart-cookie'\n\nconst createCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const draft: CartDraft = {\n currency: 'USD',\n country: 'US',\n }\n\n const cart = await fetch<ClientResponse<Cart>, CartDraft>({\n query: 'carts',\n method: 'post',\n body: draft,\n })\n\n if (!cart.body) {\n removeCartCookie()\n } else {\n setCartId(cart.body.id)\n }\n return cart.body\n}\n\nexport default createCart\n","import { Cart, ClientResponse } from '@commercetools/platform-sdk'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { getCartId, removeCartCookie, setCartId } from './cart-cookie'\nimport createCart from './cart-create'\n\nconst getActiveCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const cartId = getCartId()\n let activeCart\n if (cartId) {\n activeCart = (\n await fetch<ClientResponse<Cart>>({\n query: 'carts',\n method: 'get',\n variables: {\n id: cartId,\n },\n })\n ).body\n } else {\n activeCart = await createCart(fetch)\n }\n\n if (!activeCart) {\n removeCartCookie()\n } else {\n setCartId(activeCart.id)\n }\n return activeCart\n}\n\nexport default getActiveCart\n","const getLocalizedString = (\n localizedString: Record<string, string> | undefined,\n locale: string | undefined\n) =>\n !localizedString || !locale\n ? undefined\n : locale in localizedString\n ? localizedString[locale]\n : Object.values(localizedString)[0]\n\nexport default getLocalizedString\n","export const withoutNils = <T>(xs: Array<T | undefined | null>): T[] =>\n xs.filter((x): x is T => x != null)\n\nexport const dedup = <T>(xs: Array<T>): T[] => [...new Set(xs)]\n","import { Category } from '../types/site'\nimport {\n ProductProjection,\n Image,\n ProductVariant,\n Category as CommercetoolsCategory,\n Cart as CommercetoolsCart,\n LineItem as CommercetoolsLineItem,\n TypedMoney,\n Customer,\n ShoppingList,\n ProductData,\n} from '@commercetools/platform-sdk'\nimport { dedup, withoutNils } from './common'\nimport getLocalizedString from './localized-string'\nimport { Cart, LineItem } from '../types/cart'\nimport { Product, ProductOption } from '../types/product'\n\nconst currencyCode = 'USD'\n\nconst stringify = (value: any) =>\n typeof value === 'string' ? value : JSON.stringify(value)\n\nconst money = (price: TypedMoney | undefined) => {\n return price\n ? {\n value: price.centAmount / 100,\n currencyCode: price.currencyCode,\n }\n : {\n value: -1.0, // error\n currencyCode,\n }\n}\n\nconst normalizeProductOption = (option: {\n name: string\n value: string | string[]\n}): ProductOption => ({\n __typename: 'MultipleChoiceOption',\n id: option.name,\n displayName: option.name,\n values: dedup(\n Array.isArray(option.value) ? option.value : [option.value]\n ).map((val) => {\n if (\n option.name.match(/colou?r/gi) &&\n /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i.test(val)\n ) {\n return {\n label: stringify(val),\n hexColors: [val],\n }\n } else {\n return {\n label: stringify(val),\n }\n }\n }),\n})\n\nconst normalizeProductImages = (images: Image[]) =>\n images.map((image) => ({\n url: image.url,\n ...(image.label ? { alt: image.label } : {}),\n width: image.dimensions.w,\n height: image.dimensions.h,\n }))\n\nconst normalizeProductVariant = (variant: ProductVariant) => {\n const price = money(\n variant.prices?.find((price) => price.value.currencyCode === currencyCode)\n ?.value ?? variant.prices?.[0]?.value\n ).value\n\n return {\n id: `${variant.id}`,\n name: `${variant.id}`,\n sku: variant.sku ?? '',\n price,\n options:\n variant.attributes?.map((attribute) =>\n normalizeProductOption({\n name: attribute.name,\n value: attribute.value.key,\n })\n ) ?? [],\n requiresShipping: false,\n listPrice: price,\n }\n}\n\nexport const normalizeProduct = (\n product: ProductProjection | (ProductData & { id: string }),\n locale: string,\n): Product => ({\n id: product.id,\n name: getLocalizedString(product.name, locale) ?? \"\",\n slug: getLocalizedString(product.slug, locale),\n path: `/${getLocalizedString(product.slug, locale)}`,\n description: getLocalizedString(product.description, locale) ?? '',\n price: money(\n product.masterVariant.prices?.find(\n (price) => price.value.currencyCode === currencyCode\n )?.value ?? product.masterVariant.prices?.[0]?.value\n ),\n images: normalizeProductImages(\n withoutNils([\n ...(product.masterVariant.images ? product.masterVariant.images : []),\n ...product.variants.flatMap((variant) => variant.images),\n ])\n ),\n variants: [product.masterVariant, ...product.variants].map(\n normalizeProductVariant\n ),\n options: withoutNils([\n ...(product.masterVariant.attributes\n ? product.masterVariant.attributes\n : []),\n ...product.variants.flatMap((variant) => variant.attributes),\n ])\n .reduce(\n (groupedAttributes, attribute) => {\n const groupedAttribute = groupedAttributes.find(\n (gAttr) => gAttr.name === attribute.name\n )\n if (groupedAttribute) {\n groupedAttribute.value.push(stringify(attribute.value.key))\n } else {\n groupedAttributes.push({\n name: attribute.name,\n value: [stringify(attribute.value.key)],\n })\n }\n return groupedAttributes\n },\n [] as {\n name: string\n value: string[]\n }[]\n )\n .map(normalizeProductOption),\n})\n\nconst normalizeLineItem = (\n lineItem: CommercetoolsLineItem,\n locale: string,\n): LineItem => ({\n id: lineItem.id,\n variantId: `${lineItem.variant.id}`,\n productId: lineItem.productId,\n name: getLocalizedString(lineItem.name, locale) ?? \"\",\n path: '',\n quantity: lineItem.quantity,\n discounts: [],\n variant: normalizeProductVariant(lineItem.variant),\n options:\n lineItem.variant.attributes?.map((attribute) => ({\n id: attribute.name,\n name: attribute.name,\n value: attribute.value.key,\n })) ?? [],\n})\n\nexport const normalizeCart = (\n cart: CommercetoolsCart,\n locale: string,\n): Cart => ({\n id: cart.id,\n customerId: cart.customerId,\n email: cart.customerEmail,\n createdAt: cart.createdAt,\n currency: {\n code: currencyCode,\n },\n taxesIncluded: cart.taxMode !== 'Disabled',\n lineItems: cart.lineItems.map((item) => normalizeLineItem(item, locale)),\n lineItemsSubtotalPrice: 0,\n subtotalPrice: money(cart.totalPrice).value,\n totalPrice: money(cart.totalPrice).value,\n discounts: [],\n})\n\nexport const normalizeCategory = (\n category: CommercetoolsCategory,\n locale: string,\n): Category => ({\n id: category.id,\n name: getLocalizedString(category.name, locale) ?? \"\",\n slug: getLocalizedString(category.slug, locale) ?? \"\",\n path: `/${getLocalizedString(category.slug, locale)}`,\n})\n\nexport const normalizeCustomer = (customer: Customer) => ({\n firstName: customer.firstName,\n lastName: customer.lastName,\n email: customer.email,\n})\n\nexport const normalizeWishlist = (wishlist: ShoppingList) => ({\n items:\n wishlist.lineItems?.map((item) => ({\n id: item.id,\n product_id: item.productId,\n variant_id: item.variantId!,\n })) ?? [],\n})\n","import { 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 {\n AuthMiddlewareOptions,\n ClientBuilder,\n HttpMiddlewareOptions,\n } from '@commercetools/sdk-client-v2'\nimport { CommercetoolsCredentials } from './provider'\n\nconst initCommercetoolsSDKClient = (creds: CommercetoolsCredentials) => {\n const scopes = [`manage_project:${creds.projectKey}`]\n \n // Configure authMiddlewareOptions\n const authMiddlewareOptions: AuthMiddlewareOptions = {\n host: `https://auth.${creds.region}.commercetools.com`,\n projectKey: creds.clientSecret,\n credentials: {\n clientId: creds.clientId,\n clientSecret: creds.clientSecret,\n },\n scopes,\n fetch,\n }\n \n // Configure httpMiddlewareOptions\n const httpMiddlewareOptions: HttpMiddlewareOptions = {\n host: `https://api.${creds.region}.commercetools.com`,\n fetch,\n }\n \n // Export the ClientBuilder\n return new ClientBuilder()\n .withProjectKey(creds.projectKey)\n .withClientCredentialsFlow(authMiddlewareOptions)\n .withHttpMiddleware(httpMiddlewareOptions)\n .build()\n}\n \n export default initCommercetoolsSDKClient","import { Fetcher } from '@plasmicpkgs/commerce'\nimport { CommercetoolsCredentials } from './provider'\nimport { createApiBuilderFromCtpClient } from '@commercetools/platform-sdk'\nimport initCommercetoolsSDKClient from './client'\n\nexport const getFetcher: \n (creds: CommercetoolsCredentials) => Fetcher =\n (creds) => {\n const client = initCommercetoolsSDKClient(creds);\n const apiRoot = createApiBuilderFromCtpClient(client).withProjectKey({\n projectKey: creds.projectKey!,\n })\n return async ({\n method, variables, query, body\n }) => {\n let queryBuilder: any = apiRoot;\n if (query) {\n queryBuilder = queryBuilder[query]();\n } \n if (variables?.id) {\n queryBuilder = queryBuilder.withId({ ID: variables.id });\n }\n if (variables?.search) {\n queryBuilder = queryBuilder.search();\n }\n return await queryBuilder[method!]({\n body,\n queryArgs: {\n expand: variables?.expand,\n limit: variables?.limit,\n ...(variables?.sort ? { sort: variables.sort } : {}),\n ...(variables?.search ? variables.search : {}),\n ...(variables?.filters ? { filter: variables.filters } : {}),\n ...(variables?.where ? { where: variables.where } : {})\n },\n })\n .execute()\n }\n}\n","import { 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 { 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 {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from '@plasmicpkgs/commerce'\nimport { getCommercetoolsProvider, CommercetoolsProvider, CommercetoolsCredentials } from './provider'\n\nexport type { CommercetoolsProvider }\n\nexport const useCommerce = () => useCoreCommerce<CommercetoolsProvider>()\n\nexport const getCommerceProvider = (creds: CommercetoolsCredentials, locale: string) => \n getCoreCommerceProvider(getCommercetoolsProvider(creds, locale))\n\n","import { ClientResponse, Project } from \"@commercetools/platform-sdk\";\nimport { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport {\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","COMMERCETOOLS_COOKIE_EXPIRE","COMMERCETOOLS_CART_COOKIE","options","expires","sameSite","secure","getCookies","name","cookie","Cookies","get","JSON","parse","setCookies","value","set","stringify","removeCookies","remove","getCartId","setCartId","id","removeCartCookie","createCart","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_callee$","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","_x","apply","arguments","getActiveCart","cartId","activeCart","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","dedup","concat","Set","currencyCode","money","price","centAmount","normalizeProductOption","option","__typename","displayName","Array","isArray","map","val","match","test","label","hexColors","normalizeProductImages","images","image","_extends","url","alt","width","dimensions","w","height","h","normalizeProductVariant","variant","_variant$prices$find$","_variant$prices","prices","find","_variant$prices2","sku","_variant$sku","_variant$attributes$m","_variant$attributes","attributes","attribute","key","requiresShipping","listPrice","normalizeProduct","product","_getLocalizedString","_getLocalizedString2","_product$masterVarian","_product$masterVarian2","_product$masterVarian3","slug","path","description","masterVariant","variants","flatMap","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeLineItem","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","input","provider","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","_useCart","useCart","mutate","useCallback","_addItem","_callee2","_callee2$","_context2","addItem","itemId","lineItemId","ctx","_ctx","removeItem","_ref3","_input$id","ValidationError","message","_ref$input","removeItemHandler","debounce","_ctx$wait","wait","initCommercetoolsSDKClient","creds","scopes","projectKey","authMiddlewareOptions","host","region","clientSecret","credentials","clientId","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","getFetcher","client","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","search","queryArgs","expand","limit","filters","where","execute","categoryId","count","_search","products","results","found","brandId","_response$data$length","categories","getCommercetoolsProvider","cartCookie","useAddItem","useRemoveItem","useUpdateItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commerce-commercetools.esm.js","sources":["../src/utils/get-sort-variables.ts","../src/const.ts","../src/utils/cookies.ts","../src/utils/cart-cookie.ts","../src/utils/cart-create.ts","../src/utils/cart-active.ts","../src/utils/localized-string.ts","../src/utils/common.ts","../src/utils/normalize.ts","../src/cart/use-cart.tsx","../src/cart/use-add-item.tsx","../src/cart/use-remove-item.tsx","../src/cart/use-update-item.tsx","../src/client.ts","../src/fetcher.ts","../src/product/use-product.tsx","../src/product/use-search.tsx","../src/site/use-brands.tsx","../src/site/use-categories.tsx","../src/provider.ts","../src/commercetools.tsx","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["const getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = undefined\n switch (sort) {\n case 'price-asc':\n output = 'price asc'\n break\n case 'price-desc':\n output = 'price desc'\n break\n case 'trending-desc': // default option\n output = undefined\n break\n case 'latest-desc':\n output = 'createdAt desc'\n break\n }\n return output\n}\n\nexport default getSortVariables\n","export const COMMERCETOOLS_COOKIE_EXPIRE = 30\n\nexport const COMMERCETOOLS_CART_COOKIE = 'commercetools_cart'\n\nexport const COMMERCETOOLS_CUSTOMER_COOKIE = 'commercetools_customer'\n\nexport const COMMERCETOOLS_WISHLIST_COOKIE = 'commercetools_wishlist'\n","import Cookies, { CookieAttributes } from 'js-cookie';\nimport { COMMERCETOOLS_COOKIE_EXPIRE } from '../const'\n\nconst options: CookieAttributes = {\n expires: COMMERCETOOLS_COOKIE_EXPIRE,\n sameSite: \"none\",\n secure: true\n}\n\nexport const getCookies = <T>(name: string) => {\n const cookie = Cookies.get(name);\n return cookie ? (JSON.parse(cookie) as T) : undefined\n}\n\nexport const setCookies = (name: string, value: any) => Cookies.set(name, JSON.stringify(value), options);\n\nexport const removeCookies = (name: string) => Cookies.remove(name);\n","import { COMMERCETOOLS_CART_COOKIE } from '../const'\nimport { getCookies, setCookies, removeCookies } from './cookies'\n\nexport const getCartId = () =>\n getCookies<string>(COMMERCETOOLS_CART_COOKIE)\n\nexport const setCartId = (id: string) =>\n setCookies(COMMERCETOOLS_CART_COOKIE, id)\n\nexport const removeCartCookie = () =>\n removeCookies(COMMERCETOOLS_CART_COOKIE)\n","import { Cart, CartDraft } from '@commercetools/platform-sdk'\nimport { ClientResponse } from '@commercetools/sdk-client-v2'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { removeCartCookie, setCartId } from './cart-cookie'\n\nconst createCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const draft: CartDraft = {\n currency: 'USD',\n country: 'US',\n }\n\n const cart = await fetch<ClientResponse<Cart>, CartDraft>({\n query: 'carts',\n method: 'post',\n body: draft,\n })\n\n if (!cart.body) {\n removeCartCookie()\n } else {\n setCartId(cart.body.id)\n }\n return cart.body\n}\n\nexport default createCart\n","import { Cart, ClientResponse } from '@commercetools/platform-sdk'\nimport { FetcherOptions } from '@plasmicpkgs/commerce'\nimport { getCartId, removeCartCookie, setCartId } from './cart-cookie'\nimport createCart from './cart-create'\n\nconst getActiveCart = async (\n fetch: <T = any, B = Body>(options: FetcherOptions<B>) => Promise<T>\n) => {\n const cartId = getCartId()\n let activeCart\n if (cartId) {\n activeCart = (\n await fetch<ClientResponse<Cart>>({\n query: 'carts',\n method: 'get',\n variables: {\n id: cartId,\n },\n })\n ).body\n } else {\n activeCart = await createCart(fetch)\n }\n\n if (!activeCart) {\n removeCartCookie()\n } else {\n setCartId(activeCart.id)\n }\n return activeCart\n}\n\nexport default getActiveCart\n","const getLocalizedString = (\n localizedString: Record<string, string> | undefined,\n locale: string | undefined\n) =>\n !localizedString || !locale\n ? undefined\n : locale in localizedString\n ? localizedString[locale]\n : Object.values(localizedString)[0]\n\nexport default getLocalizedString\n","export const withoutNils = <T>(xs: Array<T | undefined | null>): T[] =>\n xs.filter((x): x is T => x != null)\n\nexport const dedup = <T>(xs: Array<T>): T[] => [...new Set(xs)]\n","import { Category } from '../types/site'\nimport {\n ProductProjection,\n Image,\n ProductVariant,\n Category as CommercetoolsCategory,\n Cart as CommercetoolsCart,\n LineItem as CommercetoolsLineItem,\n TypedMoney,\n Customer,\n ShoppingList,\n ProductData,\n} from '@commercetools/platform-sdk'\nimport { dedup, withoutNils } from './common'\nimport getLocalizedString from './localized-string'\nimport { Cart, LineItem } from '../types/cart'\nimport { Product, ProductOption } from '../types/product'\n\nconst currencyCode = 'USD'\n\nconst stringify = (value: any) =>\n typeof value === 'string' ? value : JSON.stringify(value)\n\nconst money = (price: TypedMoney | undefined) => {\n return price\n ? {\n value: price.centAmount / 100,\n currencyCode: price.currencyCode,\n }\n : {\n value: -1.0, // error\n currencyCode,\n }\n}\n\nconst normalizeProductOption = (option: {\n name: string\n value: string | string[]\n}): ProductOption => ({\n __typename: 'MultipleChoiceOption',\n id: option.name,\n displayName: option.name,\n values: dedup(\n Array.isArray(option.value) ? option.value : [option.value]\n ).map((val) => {\n if (\n option.name.match(/colou?r/gi) &&\n /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i.test(val)\n ) {\n return {\n label: stringify(val),\n hexColors: [val],\n }\n } else {\n return {\n label: stringify(val),\n }\n }\n }),\n})\n\nconst normalizeProductImages = (images: Image[]) =>\n images.map((image) => ({\n url: image.url,\n ...(image.label ? { alt: image.label } : {}),\n width: image.dimensions.w,\n height: image.dimensions.h,\n }))\n\nconst normalizeProductVariant = (variant: ProductVariant) => {\n const price = money(\n variant.prices?.find((price) => price.value.currencyCode === currencyCode)\n ?.value ?? variant.prices?.[0]?.value\n ).value\n\n return {\n id: `${variant.id}`,\n name: `${variant.id}`,\n sku: variant.sku ?? '',\n price,\n options:\n variant.attributes?.map((attribute) =>\n normalizeProductOption({\n name: attribute.name,\n value: attribute.value.key,\n })\n ) ?? [],\n requiresShipping: false,\n listPrice: price,\n }\n}\n\nexport const normalizeProduct = (\n product: ProductProjection | (ProductData & { id: string }),\n locale: string,\n): Product => ({\n id: product.id,\n name: getLocalizedString(product.name, locale) ?? \"\",\n slug: getLocalizedString(product.slug, locale),\n path: `/${getLocalizedString(product.slug, locale)}`,\n description: getLocalizedString(product.description, locale) ?? '',\n price: money(\n product.masterVariant.prices?.find(\n (price) => price.value.currencyCode === currencyCode\n )?.value ?? product.masterVariant.prices?.[0]?.value\n ),\n images: normalizeProductImages(\n withoutNils([\n ...(product.masterVariant.images ? product.masterVariant.images : []),\n ...product.variants.flatMap((variant) => variant.images),\n ])\n ),\n variants: [product.masterVariant, ...product.variants].map(\n normalizeProductVariant\n ),\n options: withoutNils([\n ...(product.masterVariant.attributes\n ? product.masterVariant.attributes\n : []),\n ...product.variants.flatMap((variant) => variant.attributes),\n ])\n .reduce(\n (groupedAttributes, attribute) => {\n const groupedAttribute = groupedAttributes.find(\n (gAttr) => gAttr.name === attribute.name\n )\n if (groupedAttribute) {\n groupedAttribute.value.push(stringify(attribute.value.key))\n } else {\n groupedAttributes.push({\n name: attribute.name,\n value: [stringify(attribute.value.key)],\n })\n }\n return groupedAttributes\n },\n [] as {\n name: string\n value: string[]\n }[]\n )\n .map(normalizeProductOption),\n})\n\nconst normalizeLineItem = (\n lineItem: CommercetoolsLineItem,\n locale: string,\n): LineItem => ({\n id: lineItem.id,\n variantId: `${lineItem.variant.id}`,\n productId: lineItem.productId,\n name: getLocalizedString(lineItem.name, locale) ?? \"\",\n path: '',\n quantity: lineItem.quantity,\n discounts: [],\n variant: normalizeProductVariant(lineItem.variant),\n options:\n lineItem.variant.attributes?.map((attribute) => ({\n id: attribute.name,\n name: attribute.name,\n value: attribute.value.key,\n })) ?? [],\n})\n\nexport const normalizeCart = (\n cart: CommercetoolsCart,\n locale: string,\n): Cart => ({\n id: cart.id,\n customerId: cart.customerId,\n email: cart.customerEmail,\n createdAt: cart.createdAt,\n currency: {\n code: currencyCode,\n },\n taxesIncluded: cart.taxMode !== 'Disabled',\n lineItems: cart.lineItems.map((item) => normalizeLineItem(item, locale)),\n lineItemsSubtotalPrice: 0,\n subtotalPrice: money(cart.totalPrice).value,\n totalPrice: money(cart.totalPrice).value,\n discounts: [],\n})\n\nexport const normalizeCategory = (\n category: CommercetoolsCategory,\n locale: string,\n): Category => ({\n id: category.id,\n name: getLocalizedString(category.name, locale) ?? \"\",\n slug: getLocalizedString(category.slug, locale) ?? \"\",\n path: `/${getLocalizedString(category.slug, locale)}`,\n})\n\nexport const normalizeCustomer = (customer: Customer) => ({\n firstName: customer.firstName,\n lastName: customer.lastName,\n email: customer.email,\n})\n\nexport const normalizeWishlist = (wishlist: ShoppingList) => ({\n items:\n wishlist.lineItems?.map((item) => ({\n id: item.id,\n product_id: item.productId,\n variant_id: item.variantId!,\n })) ?? [],\n})\n","import { 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 {\n AuthMiddlewareOptions,\n ClientBuilder,\n HttpMiddlewareOptions,\n } from '@commercetools/sdk-client-v2'\nimport { CommercetoolsCredentials } from './provider'\n\nconst initCommercetoolsSDKClient = (creds: CommercetoolsCredentials) => {\n const scopes = [`manage_project:${creds.projectKey}`]\n \n // Configure authMiddlewareOptions\n const authMiddlewareOptions: AuthMiddlewareOptions = {\n host: `https://auth.${creds.region}.commercetools.com`,\n projectKey: creds.clientSecret,\n credentials: {\n clientId: creds.clientId,\n clientSecret: creds.clientSecret,\n },\n scopes,\n fetch,\n }\n \n // Configure httpMiddlewareOptions\n const httpMiddlewareOptions: HttpMiddlewareOptions = {\n host: `https://api.${creds.region}.commercetools.com`,\n fetch,\n }\n \n // Export the ClientBuilder\n return new ClientBuilder()\n .withProjectKey(creds.projectKey)\n .withClientCredentialsFlow(authMiddlewareOptions)\n .withHttpMiddleware(httpMiddlewareOptions)\n .build()\n}\n \n export default initCommercetoolsSDKClient","import { Fetcher } from '@plasmicpkgs/commerce'\nimport { CommercetoolsCredentials } from './provider'\nimport { createApiBuilderFromCtpClient } from '@commercetools/platform-sdk'\nimport initCommercetoolsSDKClient from './client'\n\nexport const getFetcher: \n (creds: CommercetoolsCredentials) => Fetcher =\n (creds) => {\n const client = initCommercetoolsSDKClient(creds);\n const apiRoot = createApiBuilderFromCtpClient(client).withProjectKey({\n projectKey: creds.projectKey!,\n })\n return async ({\n method, variables, query, body\n }) => {\n let queryBuilder: any = apiRoot;\n if (query) {\n queryBuilder = queryBuilder[query]();\n } \n if (variables?.id) {\n queryBuilder = queryBuilder.withId({ ID: variables.id });\n }\n if (variables?.search) {\n queryBuilder = queryBuilder.search();\n }\n return await queryBuilder[method!]({\n body,\n queryArgs: {\n expand: variables?.expand,\n limit: variables?.limit,\n ...(variables?.sort ? { sort: variables.sort } : {}),\n ...(variables?.search ? variables.search : {}),\n ...(variables?.filters ? { filter: variables.filters } : {}),\n ...(variables?.where ? { where: variables.where } : {})\n },\n })\n .execute()\n }\n}\n","import { 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 { 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 {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from '@plasmicpkgs/commerce'\nimport { getCommercetoolsProvider, CommercetoolsProvider, CommercetoolsCredentials } from './provider'\n\nexport type { CommercetoolsProvider }\n\nexport const useCommerce = () => useCoreCommerce<CommercetoolsProvider>()\n\nexport const getCommerceProvider = (creds: CommercetoolsCredentials, locale: string) => \n getCoreCommerceProvider(getCommercetoolsProvider(creds, locale))\n\n","import { ClientResponse, Project } from \"@commercetools/platform-sdk\";\nimport { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport {\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","COMMERCETOOLS_COOKIE_EXPIRE","COMMERCETOOLS_CART_COOKIE","options","expires","sameSite","secure","getCookies","name","cookie","Cookies","get","JSON","parse","setCookies","value","set","stringify","removeCookies","remove","getCartId","setCartId","id","removeCartCookie","createCart","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetch","draft","cart","wrap","_callee$","_context","prev","next","currency","country","query","method","body","sent","abrupt","stop","_x","apply","arguments","getActiveCart","cartId","activeCart","variables","getLocalizedString","localizedString","locale","Object","values","withoutNils","xs","filter","x","dedup","concat","Set","currencyCode","money","price","centAmount","normalizeProductOption","option","__typename","displayName","Array","isArray","map","val","match","test","label","hexColors","normalizeProductImages","images","image","_extends","url","alt","width","dimensions","w","height","h","normalizeProductVariant","variant","_variant$prices$find$","_variant$prices","prices","find","_variant$prices2","sku","_variant$sku","_variant$attributes$m","_variant$attributes","attributes","attribute","key","requiresShipping","listPrice","normalizeProduct","product","_getLocalizedString","_getLocalizedString2","_product$masterVarian","_product$masterVarian2","_product$masterVarian3","slug","path","description","masterVariant","variants","flatMap","reduce","groupedAttributes","groupedAttribute","gAttr","push","normalizeLineItem","lineItem","_getLocalizedString3","_lineItem$variant$att","_lineItem$variant$att2","variantId","productId","quantity","discounts","normalizeCart","customerId","email","customerEmail","createdAt","code","taxesIncluded","taxMode","lineItems","item","lineItemsSubtotalPrice","subtotalPrice","totalPrice","normalizeCategory","category","_getLocalizedString4","_getLocalizedString5","handler","fetchOptions","fetcher","input","provider","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","_useCart","useCart","mutate","useCallback","_addItem","_callee2","_callee2$","_context2","addItem","itemId","lineItemId","ctx","_ctx","removeItem","_ref3","_input$id","ValidationError","message","_ref$input","removeItemHandler","debounce","_ctx$wait","wait","initCommercetoolsSDKClient","creds","scopes","projectKey","authMiddlewareOptions","host","region","clientSecret","credentials","clientId","httpMiddlewareOptions","ClientBuilder","withProjectKey","withClientCredentialsFlow","withHttpMiddleware","build","getFetcher","client","apiRoot","createApiBuilderFromCtpClient","queryBuilder","withId","ID","search","queryArgs","expand","limit","filters","where","execute","categoryId","count","_search","products","results","found","brandId","_response$data$length","categories","getCommercetoolsProvider","cartCookie","useAddItem","useRemoveItem","useUpdateItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","React","_usePlasmicQueryData","usePlasmicQueryData","project","languages","error","isLoading","CommerceProvider","Error","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/commerce-commercetools",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.159",
|
|
4
4
|
"description": "Plasmic registration calls for commercetools commerce provider",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"analyze": "size-limit --why"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@plasmicapp/host": "1.0.
|
|
21
|
+
"@plasmicapp/host": "1.0.212",
|
|
22
22
|
"@plasmicapp/query": "0.1.79",
|
|
23
23
|
"@size-limit/preset-small-lib": "^4.11.0",
|
|
24
24
|
"@types/debounce": "^1.2.4",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@commercetools/platform-sdk": "^2.8.0",
|
|
39
39
|
"@commercetools/sdk-client-v2": "^2.2.2",
|
|
40
40
|
"@commercetools/ts-sdk-apm": "^1.0.2",
|
|
41
|
-
"@plasmicpkgs/commerce": "0.0.
|
|
41
|
+
"@plasmicpkgs/commerce": "0.0.210",
|
|
42
42
|
"@types/react": "^18.0.27",
|
|
43
43
|
"debounce": "^2.0.0",
|
|
44
44
|
"js-cookie": "^3.0.5",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"publishConfig": {
|
|
48
48
|
"access": "public"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "e14716fd42ea79a35e4844d660f6d12aa97a9768"
|
|
51
51
|
}
|