@plasmicpkgs/commerce-saleor 0.0.170 → 0.0.172
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.
|
@@ -423,7 +423,7 @@ function getAsyncError(_x) {
|
|
|
423
423
|
return _getAsyncError.apply(this, arguments);
|
|
424
424
|
}
|
|
425
425
|
function _getAsyncError() {
|
|
426
|
-
_getAsyncError = _asyncToGenerator(
|
|
426
|
+
_getAsyncError = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(res) {
|
|
427
427
|
var data;
|
|
428
428
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
429
429
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -442,7 +442,7 @@ function _getAsyncError() {
|
|
|
442
442
|
return _getAsyncError.apply(this, arguments);
|
|
443
443
|
}
|
|
444
444
|
var handleFetchResponse = /*#__PURE__*/function () {
|
|
445
|
-
var _ref = /*#__PURE__*/_asyncToGenerator(
|
|
445
|
+
var _ref = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(res) {
|
|
446
446
|
var _yield$res$json, data, errors;
|
|
447
447
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
448
448
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -551,7 +551,7 @@ var CheckoutLineUpdate = /* GraphQL */"\n mutation CheckoutLineUpdate($checkout
|
|
|
551
551
|
var CheckoutLineDelete = /* GraphQL */"\n mutation CheckoutLineDelete($checkoutId: ID!, $lineId: ID!) {\n checkoutLineDelete(checkoutId: $checkoutId, lineId: $lineId) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n " + CheckoutDetails + "\n";
|
|
552
552
|
|
|
553
553
|
var checkoutCreate = /*#__PURE__*/function () {
|
|
554
|
-
var _ref = /*#__PURE__*/_asyncToGenerator(
|
|
554
|
+
var _ref = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
|
|
555
555
|
var _data$checkoutCreate;
|
|
556
556
|
var data, checkout, checkoutId, checkoutToken, value, options;
|
|
557
557
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -837,7 +837,7 @@ var handler = {
|
|
|
837
837
|
query: CheckoutOne
|
|
838
838
|
},
|
|
839
839
|
fetcher: function fetcher(_ref) {
|
|
840
|
-
return _asyncToGenerator(
|
|
840
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
841
841
|
var _checkout;
|
|
842
842
|
var checkoutId, options, fetch, checkout, _checkoutId, data;
|
|
843
843
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -904,7 +904,7 @@ var handler$1 = {
|
|
|
904
904
|
query: CheckoutLineAdd
|
|
905
905
|
},
|
|
906
906
|
fetcher: function fetcher(_ref) {
|
|
907
|
-
return _asyncToGenerator(
|
|
907
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
908
908
|
var _item$quantity;
|
|
909
909
|
var item, options, fetch, _yield$fetch, checkoutLinesAdd;
|
|
910
910
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -945,8 +945,8 @@ var handler$1 = {
|
|
|
945
945
|
return function () {
|
|
946
946
|
var _useCart = commerce.useCart(),
|
|
947
947
|
mutate = _useCart.mutate;
|
|
948
|
-
return React.useCallback(
|
|
949
|
-
var _addItem = _asyncToGenerator(
|
|
948
|
+
return React.useCallback(/*#__PURE__*/function () {
|
|
949
|
+
var _addItem = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
|
|
950
950
|
var data;
|
|
951
951
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
952
952
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -991,7 +991,7 @@ var handler$2 = {
|
|
|
991
991
|
query: CheckoutLineDelete
|
|
992
992
|
},
|
|
993
993
|
fetcher: function fetcher(_ref) {
|
|
994
|
-
return _asyncToGenerator(
|
|
994
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
995
995
|
var itemId, options, fetch, data;
|
|
996
996
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
997
997
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1019,8 +1019,8 @@ var handler$2 = {
|
|
|
1019
1019
|
return function () {
|
|
1020
1020
|
var _useCart = commerce.useCart(),
|
|
1021
1021
|
mutate = _useCart.mutate;
|
|
1022
|
-
return React.useCallback(
|
|
1023
|
-
var _removeItem = _asyncToGenerator(
|
|
1022
|
+
return React.useCallback(/*#__PURE__*/function () {
|
|
1023
|
+
var _removeItem = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
|
|
1024
1024
|
var data;
|
|
1025
1025
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1026
1026
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -1057,7 +1057,7 @@ var handler$3 = {
|
|
|
1057
1057
|
query: CheckoutLineUpdate
|
|
1058
1058
|
},
|
|
1059
1059
|
fetcher: function fetcher(_ref) {
|
|
1060
|
-
return _asyncToGenerator(
|
|
1060
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1061
1061
|
var _ref$input, itemId, item, options, fetch, checkoutId, _yield$fetch, checkoutLinesUpdate;
|
|
1062
1062
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1063
1063
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1123,8 +1123,8 @@ var handler$3 = {
|
|
|
1123
1123
|
item = _ctx.item;
|
|
1124
1124
|
var _useCart = commerce.useCart(),
|
|
1125
1125
|
mutate = _useCart.mutate;
|
|
1126
|
-
return React.useCallback(debounce(
|
|
1127
|
-
var _ref3 = _asyncToGenerator(
|
|
1126
|
+
return React.useCallback(debounce(/*#__PURE__*/function () {
|
|
1127
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
|
|
1128
1128
|
var _input$id;
|
|
1129
1129
|
var itemId, data;
|
|
1130
1130
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
@@ -1173,7 +1173,7 @@ var handler$4 = {
|
|
|
1173
1173
|
query: CollectionMany
|
|
1174
1174
|
},
|
|
1175
1175
|
fetcher: function fetcher(_ref) {
|
|
1176
|
-
return _asyncToGenerator(
|
|
1176
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1177
1177
|
var input, fetch, categoryId, _data$collections$edg, _data$collections, data, _data;
|
|
1178
1178
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1179
1179
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1244,7 +1244,7 @@ var handler$5 = {
|
|
|
1244
1244
|
query: getAllProductVendors
|
|
1245
1245
|
},
|
|
1246
1246
|
fetcher: function fetcher(_ref) {
|
|
1247
|
-
return _asyncToGenerator(
|
|
1247
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1248
1248
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1249
1249
|
while (1) switch (_context.prev = _context.next) {
|
|
1250
1250
|
case 0:
|
|
@@ -1284,7 +1284,7 @@ var handler$6 = {
|
|
|
1284
1284
|
query: ProductMany
|
|
1285
1285
|
},
|
|
1286
1286
|
fetcher: function fetcher(_ref) {
|
|
1287
|
-
return _asyncToGenerator(
|
|
1287
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1288
1288
|
var input, options, fetch, categoryId, brandId, data, edges, _data$collection$prod, _data$collection, _data$products$edges, _data$products;
|
|
1289
1289
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1290
1290
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1348,7 +1348,7 @@ var handler$7 = {
|
|
|
1348
1348
|
query: ProductOneById
|
|
1349
1349
|
},
|
|
1350
1350
|
fetcher: function fetcher(_ref) {
|
|
1351
|
-
return _asyncToGenerator(
|
|
1351
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1352
1352
|
var input, fetch, id, data, response;
|
|
1353
1353
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1354
1354
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1412,7 +1412,7 @@ var handler$7 = {
|
|
|
1412
1412
|
var _excluded$1 = ["locale"];
|
|
1413
1413
|
var getFetcher = function getFetcher(saleorApiUrl) {
|
|
1414
1414
|
return /*#__PURE__*/function () {
|
|
1415
|
-
var _ref2 = _asyncToGenerator(
|
|
1415
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
1416
1416
|
var _ref$url, url, _ref$method, method, query, variables, _ref3, vars, token;
|
|
1417
1417
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1418
1418
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commerce-saleor.cjs.development.js","sources":["../src/const.ts","../src/utils/get-sort-variables.ts","../src/utils/handle-fetch-response.ts","../src/utils/get-search-variables.ts","../src/utils/get-checkout-id.ts","../src/utils/fragments/product.ts","../src/utils/fragments/checkout-details.ts","../src/utils/mutations/checkout-create.ts","../src/utils/mutations/checkout-line-add.ts","../src/utils/mutations/checkout-line-update.ts","../src/utils/mutations/checkout-line-remove.ts","../src/utils/checkout-create.ts","../src/utils/normalize.ts","../src/utils/throw-user-errors.ts","../src/utils/checkout-to-cart.ts","../src/utils/customer-token.ts","../src/utils/queries/collection-many.ts","../src/utils/queries/product-one-by-slug.ts","../src/utils/queries/product-many.ts","../src/utils/queries/collection-one.ts","../src/utils/queries/checkout-one.ts","../src/utils/queries/get-all-product-vendors-query.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/site/use-categories.tsx","../src/site/use-brands.tsx","../src/product/use-search.tsx","../src/utils/queries/product-one-by-id.ts","../src/product/use-product.tsx","../src/fetcher.ts","../src/provider.ts","../src/saleor.tsx","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: Removed api_url \n*/\n\nexport const API_CHANNEL = 'default-channel'\nexport const CHECKOUT_ID_COOKIE = 'saleor.CheckoutID'\nexport const SALEOR_TOKEN = 'saleor.Token'\nexport const SALEOR_CRSF_TOKEN = 'saleor.CSRFToken'\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = {}\n switch (sort) {\n case 'price-asc':\n output = {\n field: 'PRICE',\n direction: 'ASC',\n }\n break\n case 'price-desc':\n output = {\n field: 'PRICE',\n direction: 'DESC',\n }\n break\n case 'trending-desc': //default\n output = {} \n break\n case 'latest-desc':\n output = {\n field: 'DATE',\n direction: 'DESC',\n }\n break\n }\n return output\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { FetcherError } from '@plasmicpkgs/commerce';\n\nexport function getError(errors: any[], status: number) {\n errors = errors ?? [{ message: 'Failed to fetch Saleor API' }]\n return new FetcherError({ errors, status })\n}\n\nexport async function getAsyncError(res: Response) {\n const data = await res.json()\n return getError(data.errors, res.status)\n}\n\nconst handleFetchResponse = async (res: Response) => {\n if (res.ok) {\n const { data, errors } = await res.json()\n\n if (errors && errors.length) {\n throw getError(errors, res.status)\n }\n\n return data\n }\n\n throw await getAsyncError(res)\n}\n\nexport default handleFetchResponse\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { getSortVariables } from './get-sort-variables'\nimport type { SearchProductsInput } from '../product/use-search'\n\nexport const getSearchVariables = ({ brandId, search, categoryId, sort, count }: SearchProductsInput) => {\n const sortBy = {\n field: 'NAME',\n direction: 'ASC',\n ...getSortVariables(sort, !!categoryId),\n channel: 'default-channel',\n }\n return {\n categoryId,\n filter: { search },\n sortBy,\n first: count\n }\n}\n\nexport default getSearchVariables\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport Cookies from 'js-cookie'\nimport { CHECKOUT_ID_COOKIE } from '../const'\n\nconst getCheckoutId = (id?: string) => {\n const r = Cookies.get(CHECKOUT_ID_COOKIE)?.split(':') || []\n return { checkoutId: r[0], checkoutToken: r[1] }\n}\n\nexport default getCheckoutId\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const ProductConnection = /* GraphQL */ `\n fragment ProductConnection on ProductCountableConnection {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n name\n description\n slug\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n media {\n url\n alt\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nexport const CheckoutDetails = /* GraphQL */ `\n fragment CheckoutDetails on Checkout {\n id\n token\n created\n totalPrice {\n currency\n gross {\n amount\n }\n }\n subtotalPrice {\n currency\n gross {\n amount\n }\n }\n\n lines {\n id\n variant {\n id\n name\n sku\n product {\n name\n slug\n id\n }\n media {\n url\n }\n pricing {\n price {\n gross {\n amount\n }\n }\n }\n }\n quantity\n totalPrice {\n currency\n gross {\n amount\n }\n }\n }\n }\n`;\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutCreate = /* GraphQL */ `\n mutation CheckoutCreate {\n checkoutCreate(input: { email: \"customer@example.com\", lines: [], channel: \"default-channel\" }) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineAdd = /* GraphQL */ `\n mutation CheckoutLineAdd($checkoutId: ID!, $lineItems: [CheckoutLineInput!]!) {\n checkoutLinesAdd(checkoutId: $checkoutId, lines: $lineItems) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineUpdate = /* GraphQL */ `\n mutation CheckoutLineUpdate($checkoutId: ID!, $lineItems: [CheckoutLineInput!]!) {\n checkoutLinesUpdate(checkoutId: $checkoutId, lines: $lineItems) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineDelete = /* GraphQL */ `\n mutation CheckoutLineDelete($checkoutId: ID!, $lineId: ID!) {\n checkoutLineDelete(checkoutId: $checkoutId, lineId: $lineId) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","import Cookies from 'js-cookie'\n\nimport * as mutation from './mutations'\nimport { CheckoutCreate } from '../schema'\nimport { CHECKOUT_ID_COOKIE } from '../const'\n\nexport const checkoutCreate = async (fetch: any): Promise<CheckoutCreate> => {\n const data = await fetch({ query: mutation.CheckoutCreate })\n const checkout = data.checkoutCreate?.checkout\n const checkoutId = checkout?.id\n const checkoutToken = checkout?.token\n\n const value = `${checkoutId}:${checkoutToken}`\n\n if (checkoutId) {\n const options: Cookies.CookieAttributes = {\n expires: 60 * 60 * 24 * 30,\n sameSite: \"none\",\n secure: true,\n }\n Cookies.set(CHECKOUT_ID_COOKIE, value, options)\n }\n\n return checkout\n}\n\nexport default checkoutCreate","/* eslint-disable */\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport { Product } from \"@plasmicpkgs/commerce\";\n\nimport {\n Product as SaleorProduct,\n Checkout,\n CheckoutLine,\n Money,\n ProductVariant,\n Collection,\n} from \"../schema\";\nimport { Category } from \"../types/site\";\nimport type { Cart, LineItem } from \"../types\";\n\n// TODO: Check nextjs-commerce bug if no images are added for a product\nconst placeholderImg = \"/product-img-placeholder.svg\";\n\nconst money = ({ amount, currency }: Money) => {\n return {\n value: +amount,\n currencyCode: currency || \"USD\",\n };\n};\n\nconst normalizeProductOptions = (options: ProductVariant[]) => {\n return options\n ?.map((option) => option?.attributes)\n .flat(1)\n .reduce<any>((acc, x) => {\n if (\n acc.find(({ displayName }: any) => displayName === x.attribute.name)\n ) {\n return acc.map((opt: any) => {\n return opt.displayName === x.attribute.name\n ? {\n ...opt,\n values: [\n ...opt.values,\n ...x.values.map((value: any) => ({\n label: value?.name,\n })),\n ],\n }\n : opt;\n });\n }\n\n return acc.concat({\n __typename: \"MultipleChoiceOption\",\n displayName: x.attribute.name,\n variant: \"size\",\n values: x.values.map((value: any) => ({\n label: value?.name,\n })),\n });\n }, []);\n};\n\nconst normalizeProductVariants = (variants: ProductVariant[]) => {\n return variants?.map((variant) => {\n const { id, sku, name, pricing } = variant;\n const price = pricing?.price?.net && money(pricing.price.net)?.value;\n\n return {\n id,\n name,\n sku: sku ?? id,\n price,\n listPrice: price,\n requiresShipping: true,\n options: normalizeProductOptions([variant]),\n };\n });\n};\n\nexport function normalizeProduct(productNode: SaleorProduct): Product {\n const {\n id,\n name,\n media = [],\n variants,\n description,\n slug,\n pricing,\n ...rest\n } = productNode;\n\n const product = {\n id,\n name,\n vendor: \"\",\n description: description\n ? JSON.parse(description)?.blocks[0]?.data.text\n : \"\",\n path: `/${slug}`,\n slug: slug?.replace(/^\\/+|\\/+$/g, \"\"),\n price: (pricing?.priceRange?.start?.net &&\n money(pricing.priceRange.start.net)) || {\n value: 0,\n currencyCode: \"USD\",\n },\n // TODO: Check nextjs-commerce bug if no images are added for a product\n images: media?.length ? media : [{ url: placeholderImg }],\n variants:\n variants && variants.length > 0\n ? normalizeProductVariants(variants as ProductVariant[])\n : [],\n options:\n variants && variants.length > 0\n ? normalizeProductOptions(variants as ProductVariant[])\n : [],\n ...rest,\n };\n\n return product as Product;\n}\n\nexport function normalizeCart(checkout: Checkout): Cart {\n const lines = checkout.lines as CheckoutLine[];\n const lineItems: LineItem[] =\n lines.length > 0 ? lines?.map<LineItem>(normalizeLineItem) : [];\n\n return {\n id: checkout.id,\n customerId: \"\",\n email: \"\",\n createdAt: checkout.created,\n currency: {\n code: checkout.totalPrice?.currency!,\n },\n taxesIncluded: false,\n lineItems,\n lineItemsSubtotalPrice: checkout.subtotalPrice?.gross?.amount!,\n subtotalPrice: checkout.subtotalPrice?.gross?.amount!,\n totalPrice: checkout.totalPrice?.gross.amount!,\n discounts: [],\n };\n}\n\nfunction normalizeLineItem({ id, variant, quantity }: CheckoutLine): LineItem {\n return {\n id,\n variantId: String(variant?.id),\n productId: String(variant?.product?.id),\n name: `${variant.product.name}`,\n quantity,\n variant: {\n id: String(variant?.id),\n sku: variant?.sku ?? \"\",\n name: variant?.name!,\n image: {\n url: variant?.media![0] ? variant?.media![0].url : placeholderImg,\n },\n requiresShipping: false,\n price: variant?.pricing?.price?.gross.amount!,\n listPrice: 0,\n },\n path: String(variant?.product?.slug),\n discounts: [],\n options: [],\n };\n}\nexport const normalizeCategory = ({\n name,\n slug,\n id,\n}: Collection): Category => ({\n id,\n name,\n slug,\n path: `/${slug}`,\n});\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { ValidationError } from '@plasmicpkgs/commerce';\nimport { CheckoutError, CheckoutErrorCode, AppError, AccountError, AccountErrorCode } from '../schema'\n\nexport type UserErrors = Array<CheckoutError | AccountError | AppError>\n\nexport type UserErrorCode = CheckoutErrorCode | AccountErrorCode | null | undefined\n\nexport const throwUserErrors = (errors?: UserErrors) => {\n if (errors && errors.length) {\n throw new ValidationError({\n errors: errors.map(({ code, message }) => ({\n code: code ?? 'validation_error',\n message: message || '',\n })),\n })\n }\n}\n\nexport default throwUserErrors\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { Cart } from '../types'\nimport { CommerceError } from '@plasmicpkgs/commerce'\n\nimport {\n CheckoutLinesAdd,\n CheckoutLinesUpdate,\n CheckoutCreate,\n CheckoutError,\n Checkout,\n Maybe,\n CheckoutLineDelete,\n} from '../schema'\n\nimport { normalizeCart } from './normalize'\nimport throwUserErrors from './throw-user-errors'\n\nexport type CheckoutQuery = {\n checkout: Checkout\n errors?: Array<CheckoutError>\n}\n\nexport type CheckoutPayload =\n | CheckoutLinesAdd\n | CheckoutLinesUpdate\n | CheckoutCreate\n | CheckoutQuery\n | CheckoutLineDelete\n\nconst checkoutToCart = (checkoutPayload?: Maybe<CheckoutPayload>): Cart | undefined => {\n if (!checkoutPayload) {\n throw new CommerceError({\n message: 'Missing checkout payload from response',\n })\n }\n\n const checkout = checkoutPayload?.checkout\n if (checkoutPayload?.errors?.length === 1 && checkoutPayload.errors[0].code === \"PRODUCT_UNAVAILABLE_FOR_PURCHASE\") {\n console.error(checkoutPayload.errors[0]);\n return undefined;\n }\n\n if (checkoutPayload?.errors) {\n throwUserErrors(checkoutPayload?.errors)\n }\n\n if (!checkout) {\n throw new CommerceError({\n message: 'Missing checkout object from response',\n })\n }\n\n return normalizeCart(checkout)\n}\n\nexport default checkoutToCart\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport Cookies, { CookieAttributes } from 'js-cookie'\nimport * as Const from '../const'\n\nexport const getToken = () => Cookies.get(Const.SALEOR_TOKEN)\nexport const setToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.SALEOR_TOKEN, token, options)\n}\n\nexport const getCSRFToken = () => Cookies.get(Const.SALEOR_CRSF_TOKEN)\nexport const setCSRFToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.SALEOR_CRSF_TOKEN, token, options)\n}\n\nexport const getCheckoutToken = () => Cookies.get(Const.CHECKOUT_ID_COOKIE)\nexport const setCheckoutToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.CHECKOUT_ID_COOKIE, token, options)\n}\n\nconst setCookie = (name: string, token?: string, options?: CookieAttributes) => {\n if (!token) {\n Cookies.remove(name)\n } else {\n Cookies.set(name, token, options ?? { expires: 60 * 60 * 24 * 30 })\n }\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const CollectionMany = /* GraphQL */ `\n query CollectionMany( $channel: String = \"default-channel\") {\n collections(first:100, channel: $channel) {\n edges {\n node {\n id\n name\n slug\n }\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const ProductOneBySlug = /* GraphQL */ `\n query ProductOneBySlug($slug: String!, $channel: String = \"default-channel\") {\n product(slug: $slug, channel: $channel) {\n id\n slug\n name\n description\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n media {\n url\n alt\n }\n }\n }\n`\n\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const ProductMany = /* GraphQL */ `\n query ProductMany(\n $first: Int = 100\n $filter: ProductFilterInput\n $sortBy: ProductOrder\n $channel: String = \"default-channel\"\n ) {\n products(first: $first, channel: $channel, filter: $filter, sortBy: $sortBy) {\n ...ProductConnection\n }\n }\n ${fragment.ProductConnection}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CollectionOne = /* GraphQL */ `\n query getProductsFromCollection($categoryId: ID!, $first: Int = 100, $channel: String = \"default-channel\") {\n collection(id: $categoryId, channel: $channel) {\n id\n name\n slug\n products(first: $first) {\n ...ProductConnection\n }\n }\n }\n ${fragment.ProductConnection}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\n\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutOne = /* GraphQL */ `\n query CheckoutOne($checkoutId: UUID!) {\n checkout(token: $checkoutId) {\n ... on Checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const getAllProductVendors = /* GraphQL */ `\n query getAllProductVendors($cursor: String, $channel: String = \"default-channel\") {\n products(first:100,channel: $channel, after: $cursor) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n slug\n }\n cursor\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\n\nimport { useMemo } from \"react\";\nimport { useCart as useCommerceCart, UseCart } from \"@plasmicpkgs/commerce\";\n\nimport { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { checkoutCreate, checkoutToCart, getCheckoutId } from \"../utils\";\nimport * as query from \"../utils/queries\";\nimport { GetCartHook } from \"../types/cart\";\n\nexport default useCommerceCart as UseCart<typeof handler>;\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: query.CheckoutOne,\n },\n async fetcher({ input: { cartId: checkoutId }, options, fetch }) {\n let checkout;\n\n if (checkoutId) {\n const checkoutId = getCheckoutId().checkoutToken;\n const data = await fetch({\n ...options,\n variables: { checkoutId },\n });\n\n checkout = data;\n }\n\n if (checkout?.completedAt || !checkoutId) {\n checkout = await checkoutCreate(fetch);\n }\n\n return checkoutToCart(checkout);\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.lineItems.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\nimport { useCallback } from \"react\";\nimport type { MutationHook } from \"@plasmicpkgs/commerce\";\nimport { CommerceError } from \"@plasmicpkgs/commerce\";\nimport { useAddItem, UseAddItem } from \"@plasmicpkgs/commerce\";\nimport useCart from \"./use-cart\";\n\nimport * as mutation from \"../utils/mutations\";\n\nimport { getCheckoutId, checkoutToCart } from \"../utils\";\n\nimport { Mutation, MutationCheckoutLinesAddArgs } from \"../schema\";\nimport { AddItemHook } from \"../types/cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: { query: mutation.CheckoutLineAdd },\n async fetcher({ input: item, options, fetch }) {\n if (\n item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)\n ) {\n throw new CommerceError({\n message: \"The item quantity has to be a valid integer greater than 0\",\n });\n }\n\n const { checkoutLinesAdd } = await fetch<\n Mutation,\n MutationCheckoutLinesAddArgs\n >({\n ...options,\n variables: {\n checkoutId: getCheckoutId().checkoutId,\n lineItems: [\n {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n\n return checkoutToCart(checkoutLinesAdd);\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart();\n\n return useCallback(\n async function addItem(input) {\n const data = await fetch({ input });\n if (data) {\n await mutate(data, false);\n } else {\n await mutate();\n }\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport { useRemoveItem, UseRemoveItem } from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport { Mutation, MutationCheckoutLineDeleteArgs } from \"../schema\";\nimport { LineItem, RemoveItemHook } from \"../types/cart\";\nimport { checkoutToCart, getCheckoutId } from \"../utils\";\nimport * as mutation from \"../utils/mutations\";\nimport useCart from \"./use-cart\";\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: { query: mutation.CheckoutLineDelete },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n }: HookFetcherContext<RemoveItemHook>) {\n const data = await fetch<Mutation, MutationCheckoutLineDeleteArgs>({\n ...options,\n variables: {\n checkoutId: getCheckoutId().checkoutId,\n lineId: itemId,\n },\n });\n return checkoutToCart(data.checkoutLineDelete);\n },\n useHook: ({ fetch }: MutationHookContext<RemoveItemHook>) => <\n T extends LineItem | undefined = undefined\n >() => {\n const { mutate } = useCart();\n\n return useCallback(\n async function removeItem(input: { id: string }) {\n const data = await fetch({ input: { itemId: input.id } });\n await mutate(data, false);\n\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport {\n useUpdateItem,\n UseUpdateItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\n\nimport { Mutation, MutationCheckoutLinesUpdateArgs } from \"../schema\";\nimport type { LineItem } from \"../types/cart\";\nimport { checkoutToCart, getCheckoutId } from \"../utils\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\n\nimport * as mutation from \"../utils/mutations\";\n\nimport type { UpdateItemHook } from \"../types/cart\";\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: { query: mutation.CheckoutLineUpdate },\n async fetcher({\n input: { itemId, item },\n options,\n fetch,\n }: HookFetcherContext<UpdateItemHook>) {\n if (Number.isInteger(item.quantity)) {\n // Also allow the update hook to remove an item if the quantity is lower than 1\n if (item.quantity! < 1) {\n return removeItemHandler.fetcher({\n options: removeItemHandler.fetchOptions,\n input: { itemId },\n fetch,\n });\n }\n } else if (item.quantity) {\n throw new ValidationError({\n message: \"The item quantity has to be a valid integer\",\n });\n }\n\n const checkoutId = getCheckoutId().checkoutId;\n const { checkoutLinesUpdate } = await fetch<\n Mutation,\n MutationCheckoutLinesUpdateArgs\n >({\n ...options,\n variables: {\n checkoutId,\n lineItems: [\n {\n itemId,\n quantity: item.quantity,\n },\n ],\n },\n });\n\n return checkoutToCart(checkoutLinesUpdate);\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) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { UseCategories, useCategories } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { CollectionCountableEdge } from \"../schema\";\nimport { GetCategoriesHook } from \"../types/site\";\nimport { CollectionMany, CollectionOne, normalizeCategory } from \"../utils\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: CollectionMany,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n if (!categoryId) {\n const data = await fetch({\n query: CollectionMany,\n variables: {\n first: 250,\n },\n })\n\n return (\n data.collections?.edges?.map(({ node }: CollectionCountableEdge) =>\n normalizeCategory(node)\n ) ?? []\n );\n } else {\n const data = await fetch({\n query: CollectionOne,\n variables: { categoryId },\n });\n return !!data?.collection ? [normalizeCategory(data?.collection)] : [];\n }\n },\n useHook:\n ({ useData }) =>\n (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};","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { UseBrands, useBrands } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport {\n GetAllProductPathsQuery,\n GetAllProductPathsQueryVariables,\n} from \"../schema\";\nimport { GetBrandsHook } from \"../types/site\";\nimport { getAllProductVendors } from \"../utils\";\n\nexport default useBrands as UseBrands<typeof handler>;\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: getAllProductVendors,\n },\n async fetcher({ input, options, fetch }) {\n return []; // brands it's not available on saleor\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\n\nimport { Product, SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\n\nimport { ProductCountableEdge } from \"../schema\";\nimport { getSearchVariables, normalizeProduct } from \"../utils\";\n\nimport { SearchProductsHook } from \"@plasmicpkgs/commerce\";\nimport * as query from \"../utils/queries\";\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: string | number;\n brandId?: string | number;\n sort?: string;\n count?: number;\n};\n\nexport type SearchProductsData = {\n products: Product[];\n found: boolean;\n};\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n query: query.ProductMany,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId, brandId } = input;\n\n const data = await fetch({\n query: categoryId ? query.CollectionOne : options.query,\n method: options?.method,\n variables: getSearchVariables(input),\n });\n\n let edges;\n\n if (categoryId) {\n edges = data.collection?.products?.edges ?? [];\n // FIXME @zaiste, no `vendor` in Saleor\n // if (brandId) {\n // edges = edges.filter(\n // ({ node: { vendor } }: ProductCountableEdge) =>\n // vendor.replace(/\\s+/g, '-').toLowerCase() === brandId\n // )\n // }\n } else {\n edges = data.products?.edges ?? [];\n }\n\n return {\n products: edges.map(({ node }: ProductCountableEdge) =>\n normalizeProduct(node)\n ),\n found: !!edges.length,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"count\", input.count],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","export const ProductOneById = /* GraphQL */ `\n query ProductOneById($id: ID!, $channel: String = \"default-channel\") {\n product(id: $id, channel: $channel) {\n\n slug\n name\n description\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n media {\n url\n alt\n }\n }\n }`","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { useProduct, UseProduct } from \"@plasmicpkgs/commerce\";\n\nimport { normalizeProduct } from \"../utils\";\nimport type { GetProductHook } from \"@plasmicpkgs/commerce\";\n\nimport { ProductOneById } from \"../utils/queries/product-one-by-id\";\nimport { ProductOneBySlug } from '../utils/queries/product-one-by-slug';\n\nexport type GetProductInput = {\n id?: string;\n slug?: string\n};\n\nexport default useProduct as UseProduct<typeof handler>;\n\nexport const handler: SWRHook<GetProductHook> = {\n fetchOptions: {\n query: ProductOneById,\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n if (!id) {\n return null;\n }\n const data = await fetch({\n query: ProductOneById,\n variables: { id },\n });\n if (!data.product) {\n const response = await fetch({\n query: ProductOneBySlug,\n variables: { slug: id }\n })\n return response.product ? normalizeProduct(response.product) : null;\n }\n return data.product ? normalizeProduct(data.product) : null;\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [[\"id\", input.id]],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: \n - Before: The saleor_api_url was defined at build time. \n So this file just implemented a fetcher with these parameters defined.\n - Now: The saleor_api_url is defined at runtime. \n So we have to get the fetcher using these parameters.\n*/\n\n\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { getToken, handleFetchResponse } from './utils'\n\nexport const getFetcher:\n (saleorApiUrl: string) => Fetcher =\n (saleorApiUrl) => {\n return async ({\n url = saleorApiUrl,\n method = 'POST',\n query,\n variables,\n }) => {\n const { locale, ...vars } = variables ?? {}\n const token = getToken()\n return handleFetchResponse(\n await fetch(url, {\n method,\n body: JSON.stringify({ query, variables: vars }),\n headers: {\n Authorization: `JWT ${token}`,\n 'Content-Type': 'application/json',\n },\n })\n )\n }\n }\n\n\n\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:\n - Removed customer and auth hooks.\n - Added saleor_api_url parameters.\n*/\n\nimport { CHECKOUT_ID_COOKIE } from './const'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { getFetcher } from './fetcher'\n\nexport const getSaleorProvider = (saleorApiUrl: string,) => ({\n locale: 'en-us',\n cartCookie: CHECKOUT_ID_COOKIE,\n fetcher: getFetcher(saleorApiUrl),\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n})\n\n\n\n\n\nexport type SaleorProvider = {\n locale: string;\n cartCookie: string;\n fetcher: Fetcher;\n cart: {\n useCart: typeof useCart;\n useAddItem: typeof useAddItem;\n useUpdateItem: typeof useUpdateItem;\n useRemoveItem: typeof useRemoveItem\n };\n products: {\n useSearch: typeof useSearch\n useProduct: typeof useProduct\n };\n site: {\n useCategories: typeof useCategories\n useBrands: typeof useBrands\n }\n}","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: \n - Added saleor_api_url parameter.\n*/\nimport {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from \"@plasmicpkgs/commerce\";\nimport { getSaleorProvider, SaleorProvider } from \"./provider\";\n\nexport type { SaleorProvider };\n\nexport const useCommerce = () => useCoreCommerce<SaleorProvider>();\nexport const getCommerceProvider = (saleorApiUrl: string) =>\n getCoreCommerceProvider(getSaleorProvider(saleorApiUrl));\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\nimport { getCommerceProvider } from \"./saleor\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n saleorApiUrl: string;\n}\n\nconst globalContextName = \"plasmic-commerce-saleor-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: globalContextName,\n displayName: \"Saleor Provider\",\n props: {\n saleorApiUrl: {\n type: \"string\",\n defaultValue: \"https://vercel.saleor.cloud/graphql/\",\n },\n },\n ...{ globalActions: globalActionsRegistrations },\n importPath: \"@plasmicpkgs/commerce-saleor\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { saleorApiUrl, children } = props;\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(saleorApiUrl),\n [saleorApiUrl]\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 {\n registerCommerceProvider,\n CommerceProviderComponent,\n} from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\n\nexport * from \"./saleor\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n\nexport { registerCommerceProvider, CommerceProviderComponent };\n"],"names":["CHECKOUT_ID_COOKIE","SALEOR_TOKEN","getSortVariables","sort","isCategory","output","field","direction","getError","errors","status","_errors","message","FetcherError","getAsyncError","_x","_getAsyncError","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","res","data","wrap","_callee2$","_context2","prev","next","json","sent","abrupt","stop","handleFetchResponse","_ref","_callee","_yield$res$json","_callee$","_context","ok","length","_x2","getSearchVariables","search","categoryId","count","sortBy","_extends","channel","filter","first","getCheckoutId","id","r","_Cookies$get","Cookies","get","split","checkoutId","checkoutToken","ProductConnection","CheckoutDetails","CheckoutCreate","fragment","CheckoutLineAdd","CheckoutLineUpdate","CheckoutLineDelete","checkoutCreate","fetch","_data$checkoutCreate","checkout","value","options","query","mutation","token","expires","sameSite","secure","set","placeholderImg","money","amount","currency","currencyCode","normalizeProductOptions","map","option","attributes","flat","reduce","acc","x","find","_ref2","displayName","attribute","name","opt","values","concat","label","__typename","variant","normalizeProductVariants","variants","sku","pricing","price","_pricing$price","net","_money","listPrice","requiresShipping","normalizeProduct","productNode","_productNode$media","media","description","slug","rest","_objectWithoutPropertiesLoose","_excluded","product","vendor","_JSON$parse","JSON","parse","blocks","text","path","replace","_pricing$priceRange","priceRange","start","images","url","normalizeCart","lines","lineItems","normalizeLineItem","customerId","email","createdAt","created","code","_checkout$totalPrice","totalPrice","taxesIncluded","lineItemsSubtotalPrice","_checkout$subtotalPri","subtotalPrice","gross","_checkout$subtotalPri2","_checkout$totalPrice2","discounts","_ref3","quantity","variantId","String","productId","_variant$product","_variant$sku","image","_variant$pricing","_variant$product2","normalizeCategory","_ref4","throwUserErrors","ValidationError","checkoutToCart","checkoutPayload","CommerceError","_checkoutPayload$erro","console","error","undefined","getToken","Const","CollectionMany","ProductOneBySlug","ProductMany","CollectionOne","CheckoutOne","getAllProductVendors","handler","fetchOptions","fetcher","input","cartId","variables","_checkout","completedAt","useHook","useData","response","swrOptions","revalidateOnFocus","useMemo","Object","create","isEmpty","_response$data$lineIt","_response$data","enumerable","item","Number","isInteger","_item$quantity","_yield$fetch","checkoutLinesAdd","_useCart","useCart","mutate","useCallback","_addItem","addItem","itemId","lineId","checkoutLineDelete","_removeItem","removeItem","_ref$input","removeItemHandler","checkoutLinesUpdate","ctx","_ctx","debounce","_input$id","_ctx$wait","wait","_data$collections$edg","_data$collections","collections","edges","node","collection","_response$data$length","brandId","method","_data$collection$prod","_data$collection","products","_data$products$edges","_data$products","found","ProductOneById","getFetcher","saleorApiUrl","_ref$url","_ref$method","locale","vars","t0","body","stringify","headers","Authorization","t1","getSaleorProvider","cartCookie","cart","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","CommerceProvider","React","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commerce-saleor.cjs.development.js","sources":["../src/const.ts","../src/utils/get-sort-variables.ts","../src/utils/handle-fetch-response.ts","../src/utils/get-search-variables.ts","../src/utils/get-checkout-id.ts","../src/utils/fragments/product.ts","../src/utils/fragments/checkout-details.ts","../src/utils/mutations/checkout-create.ts","../src/utils/mutations/checkout-line-add.ts","../src/utils/mutations/checkout-line-update.ts","../src/utils/mutations/checkout-line-remove.ts","../src/utils/checkout-create.ts","../src/utils/normalize.ts","../src/utils/throw-user-errors.ts","../src/utils/checkout-to-cart.ts","../src/utils/customer-token.ts","../src/utils/queries/collection-many.ts","../src/utils/queries/product-one-by-slug.ts","../src/utils/queries/product-many.ts","../src/utils/queries/collection-one.ts","../src/utils/queries/checkout-one.ts","../src/utils/queries/get-all-product-vendors-query.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/site/use-categories.tsx","../src/site/use-brands.tsx","../src/product/use-search.tsx","../src/utils/queries/product-one-by-id.ts","../src/product/use-product.tsx","../src/fetcher.ts","../src/provider.ts","../src/saleor.tsx","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: Removed api_url \n*/\n\nexport const API_CHANNEL = 'default-channel'\nexport const CHECKOUT_ID_COOKIE = 'saleor.CheckoutID'\nexport const SALEOR_TOKEN = 'saleor.Token'\nexport const SALEOR_CRSF_TOKEN = 'saleor.CSRFToken'\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = {}\n switch (sort) {\n case 'price-asc':\n output = {\n field: 'PRICE',\n direction: 'ASC',\n }\n break\n case 'price-desc':\n output = {\n field: 'PRICE',\n direction: 'DESC',\n }\n break\n case 'trending-desc': //default\n output = {} \n break\n case 'latest-desc':\n output = {\n field: 'DATE',\n direction: 'DESC',\n }\n break\n }\n return output\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { FetcherError } from '@plasmicpkgs/commerce';\n\nexport function getError(errors: any[], status: number) {\n errors = errors ?? [{ message: 'Failed to fetch Saleor API' }]\n return new FetcherError({ errors, status })\n}\n\nexport async function getAsyncError(res: Response) {\n const data = await res.json()\n return getError(data.errors, res.status)\n}\n\nconst handleFetchResponse = async (res: Response) => {\n if (res.ok) {\n const { data, errors } = await res.json()\n\n if (errors && errors.length) {\n throw getError(errors, res.status)\n }\n\n return data\n }\n\n throw await getAsyncError(res)\n}\n\nexport default handleFetchResponse\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { getSortVariables } from './get-sort-variables'\nimport type { SearchProductsInput } from '../product/use-search'\n\nexport const getSearchVariables = ({ brandId, search, categoryId, sort, count }: SearchProductsInput) => {\n const sortBy = {\n field: 'NAME',\n direction: 'ASC',\n ...getSortVariables(sort, !!categoryId),\n channel: 'default-channel',\n }\n return {\n categoryId,\n filter: { search },\n sortBy,\n first: count\n }\n}\n\nexport default getSearchVariables\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport Cookies from 'js-cookie'\nimport { CHECKOUT_ID_COOKIE } from '../const'\n\nconst getCheckoutId = (id?: string) => {\n const r = Cookies.get(CHECKOUT_ID_COOKIE)?.split(':') || []\n return { checkoutId: r[0], checkoutToken: r[1] }\n}\n\nexport default getCheckoutId\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const ProductConnection = /* GraphQL */ `\n fragment ProductConnection on ProductCountableConnection {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n name\n description\n slug\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n media {\n url\n alt\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nexport const CheckoutDetails = /* GraphQL */ `\n fragment CheckoutDetails on Checkout {\n id\n token\n created\n totalPrice {\n currency\n gross {\n amount\n }\n }\n subtotalPrice {\n currency\n gross {\n amount\n }\n }\n\n lines {\n id\n variant {\n id\n name\n sku\n product {\n name\n slug\n id\n }\n media {\n url\n }\n pricing {\n price {\n gross {\n amount\n }\n }\n }\n }\n quantity\n totalPrice {\n currency\n gross {\n amount\n }\n }\n }\n }\n`;\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutCreate = /* GraphQL */ `\n mutation CheckoutCreate {\n checkoutCreate(input: { email: \"customer@example.com\", lines: [], channel: \"default-channel\" }) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineAdd = /* GraphQL */ `\n mutation CheckoutLineAdd($checkoutId: ID!, $lineItems: [CheckoutLineInput!]!) {\n checkoutLinesAdd(checkoutId: $checkoutId, lines: $lineItems) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineUpdate = /* GraphQL */ `\n mutation CheckoutLineUpdate($checkoutId: ID!, $lineItems: [CheckoutLineInput!]!) {\n checkoutLinesUpdate(checkoutId: $checkoutId, lines: $lineItems) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineDelete = /* GraphQL */ `\n mutation CheckoutLineDelete($checkoutId: ID!, $lineId: ID!) {\n checkoutLineDelete(checkoutId: $checkoutId, lineId: $lineId) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","import Cookies from 'js-cookie'\n\nimport * as mutation from './mutations'\nimport { CheckoutCreate } from '../schema'\nimport { CHECKOUT_ID_COOKIE } from '../const'\n\nexport const checkoutCreate = async (fetch: any): Promise<CheckoutCreate> => {\n const data = await fetch({ query: mutation.CheckoutCreate })\n const checkout = data.checkoutCreate?.checkout\n const checkoutId = checkout?.id\n const checkoutToken = checkout?.token\n\n const value = `${checkoutId}:${checkoutToken}`\n\n if (checkoutId) {\n const options: Cookies.CookieAttributes = {\n expires: 60 * 60 * 24 * 30,\n sameSite: \"none\",\n secure: true,\n }\n Cookies.set(CHECKOUT_ID_COOKIE, value, options)\n }\n\n return checkout\n}\n\nexport default checkoutCreate","/* eslint-disable */\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport { Product } from \"@plasmicpkgs/commerce\";\n\nimport {\n Product as SaleorProduct,\n Checkout,\n CheckoutLine,\n Money,\n ProductVariant,\n Collection,\n} from \"../schema\";\nimport { Category } from \"../types/site\";\nimport type { Cart, LineItem } from \"../types\";\n\n// TODO: Check nextjs-commerce bug if no images are added for a product\nconst placeholderImg = \"/product-img-placeholder.svg\";\n\nconst money = ({ amount, currency }: Money) => {\n return {\n value: +amount,\n currencyCode: currency || \"USD\",\n };\n};\n\nconst normalizeProductOptions = (options: ProductVariant[]) => {\n return options\n ?.map((option) => option?.attributes)\n .flat(1)\n .reduce<any>((acc, x) => {\n if (\n acc.find(({ displayName }: any) => displayName === x.attribute.name)\n ) {\n return acc.map((opt: any) => {\n return opt.displayName === x.attribute.name\n ? {\n ...opt,\n values: [\n ...opt.values,\n ...x.values.map((value: any) => ({\n label: value?.name,\n })),\n ],\n }\n : opt;\n });\n }\n\n return acc.concat({\n __typename: \"MultipleChoiceOption\",\n displayName: x.attribute.name,\n variant: \"size\",\n values: x.values.map((value: any) => ({\n label: value?.name,\n })),\n });\n }, []);\n};\n\nconst normalizeProductVariants = (variants: ProductVariant[]) => {\n return variants?.map((variant) => {\n const { id, sku, name, pricing } = variant;\n const price = pricing?.price?.net && money(pricing.price.net)?.value;\n\n return {\n id,\n name,\n sku: sku ?? id,\n price,\n listPrice: price,\n requiresShipping: true,\n options: normalizeProductOptions([variant]),\n };\n });\n};\n\nexport function normalizeProduct(productNode: SaleorProduct): Product {\n const {\n id,\n name,\n media = [],\n variants,\n description,\n slug,\n pricing,\n ...rest\n } = productNode;\n\n const product = {\n id,\n name,\n vendor: \"\",\n description: description\n ? JSON.parse(description)?.blocks[0]?.data.text\n : \"\",\n path: `/${slug}`,\n slug: slug?.replace(/^\\/+|\\/+$/g, \"\"),\n price: (pricing?.priceRange?.start?.net &&\n money(pricing.priceRange.start.net)) || {\n value: 0,\n currencyCode: \"USD\",\n },\n // TODO: Check nextjs-commerce bug if no images are added for a product\n images: media?.length ? media : [{ url: placeholderImg }],\n variants:\n variants && variants.length > 0\n ? normalizeProductVariants(variants as ProductVariant[])\n : [],\n options:\n variants && variants.length > 0\n ? normalizeProductOptions(variants as ProductVariant[])\n : [],\n ...rest,\n };\n\n return product as Product;\n}\n\nexport function normalizeCart(checkout: Checkout): Cart {\n const lines = checkout.lines as CheckoutLine[];\n const lineItems: LineItem[] =\n lines.length > 0 ? lines?.map<LineItem>(normalizeLineItem) : [];\n\n return {\n id: checkout.id,\n customerId: \"\",\n email: \"\",\n createdAt: checkout.created,\n currency: {\n code: checkout.totalPrice?.currency!,\n },\n taxesIncluded: false,\n lineItems,\n lineItemsSubtotalPrice: checkout.subtotalPrice?.gross?.amount!,\n subtotalPrice: checkout.subtotalPrice?.gross?.amount!,\n totalPrice: checkout.totalPrice?.gross.amount!,\n discounts: [],\n };\n}\n\nfunction normalizeLineItem({ id, variant, quantity }: CheckoutLine): LineItem {\n return {\n id,\n variantId: String(variant?.id),\n productId: String(variant?.product?.id),\n name: `${variant.product.name}`,\n quantity,\n variant: {\n id: String(variant?.id),\n sku: variant?.sku ?? \"\",\n name: variant?.name!,\n image: {\n url: variant?.media![0] ? variant?.media![0].url : placeholderImg,\n },\n requiresShipping: false,\n price: variant?.pricing?.price?.gross.amount!,\n listPrice: 0,\n },\n path: String(variant?.product?.slug),\n discounts: [],\n options: [],\n };\n}\nexport const normalizeCategory = ({\n name,\n slug,\n id,\n}: Collection): Category => ({\n id,\n name,\n slug,\n path: `/${slug}`,\n});\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { ValidationError } from '@plasmicpkgs/commerce';\nimport { CheckoutError, CheckoutErrorCode, AppError, AccountError, AccountErrorCode } from '../schema'\n\nexport type UserErrors = Array<CheckoutError | AccountError | AppError>\n\nexport type UserErrorCode = CheckoutErrorCode | AccountErrorCode | null | undefined\n\nexport const throwUserErrors = (errors?: UserErrors) => {\n if (errors && errors.length) {\n throw new ValidationError({\n errors: errors.map(({ code, message }) => ({\n code: code ?? 'validation_error',\n message: message || '',\n })),\n })\n }\n}\n\nexport default throwUserErrors\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { Cart } from '../types'\nimport { CommerceError } from '@plasmicpkgs/commerce'\n\nimport {\n CheckoutLinesAdd,\n CheckoutLinesUpdate,\n CheckoutCreate,\n CheckoutError,\n Checkout,\n Maybe,\n CheckoutLineDelete,\n} from '../schema'\n\nimport { normalizeCart } from './normalize'\nimport throwUserErrors from './throw-user-errors'\n\nexport type CheckoutQuery = {\n checkout: Checkout\n errors?: Array<CheckoutError>\n}\n\nexport type CheckoutPayload =\n | CheckoutLinesAdd\n | CheckoutLinesUpdate\n | CheckoutCreate\n | CheckoutQuery\n | CheckoutLineDelete\n\nconst checkoutToCart = (checkoutPayload?: Maybe<CheckoutPayload>): Cart | undefined => {\n if (!checkoutPayload) {\n throw new CommerceError({\n message: 'Missing checkout payload from response',\n })\n }\n\n const checkout = checkoutPayload?.checkout\n if (checkoutPayload?.errors?.length === 1 && checkoutPayload.errors[0].code === \"PRODUCT_UNAVAILABLE_FOR_PURCHASE\") {\n console.error(checkoutPayload.errors[0]);\n return undefined;\n }\n\n if (checkoutPayload?.errors) {\n throwUserErrors(checkoutPayload?.errors)\n }\n\n if (!checkout) {\n throw new CommerceError({\n message: 'Missing checkout object from response',\n })\n }\n\n return normalizeCart(checkout)\n}\n\nexport default checkoutToCart\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport Cookies, { CookieAttributes } from 'js-cookie'\nimport * as Const from '../const'\n\nexport const getToken = () => Cookies.get(Const.SALEOR_TOKEN)\nexport const setToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.SALEOR_TOKEN, token, options)\n}\n\nexport const getCSRFToken = () => Cookies.get(Const.SALEOR_CRSF_TOKEN)\nexport const setCSRFToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.SALEOR_CRSF_TOKEN, token, options)\n}\n\nexport const getCheckoutToken = () => Cookies.get(Const.CHECKOUT_ID_COOKIE)\nexport const setCheckoutToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.CHECKOUT_ID_COOKIE, token, options)\n}\n\nconst setCookie = (name: string, token?: string, options?: CookieAttributes) => {\n if (!token) {\n Cookies.remove(name)\n } else {\n Cookies.set(name, token, options ?? { expires: 60 * 60 * 24 * 30 })\n }\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const CollectionMany = /* GraphQL */ `\n query CollectionMany( $channel: String = \"default-channel\") {\n collections(first:100, channel: $channel) {\n edges {\n node {\n id\n name\n slug\n }\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const ProductOneBySlug = /* GraphQL */ `\n query ProductOneBySlug($slug: String!, $channel: String = \"default-channel\") {\n product(slug: $slug, channel: $channel) {\n id\n slug\n name\n description\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n media {\n url\n alt\n }\n }\n }\n`\n\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const ProductMany = /* GraphQL */ `\n query ProductMany(\n $first: Int = 100\n $filter: ProductFilterInput\n $sortBy: ProductOrder\n $channel: String = \"default-channel\"\n ) {\n products(first: $first, channel: $channel, filter: $filter, sortBy: $sortBy) {\n ...ProductConnection\n }\n }\n ${fragment.ProductConnection}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CollectionOne = /* GraphQL */ `\n query getProductsFromCollection($categoryId: ID!, $first: Int = 100, $channel: String = \"default-channel\") {\n collection(id: $categoryId, channel: $channel) {\n id\n name\n slug\n products(first: $first) {\n ...ProductConnection\n }\n }\n }\n ${fragment.ProductConnection}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\n\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutOne = /* GraphQL */ `\n query CheckoutOne($checkoutId: UUID!) {\n checkout(token: $checkoutId) {\n ... on Checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const getAllProductVendors = /* GraphQL */ `\n query getAllProductVendors($cursor: String, $channel: String = \"default-channel\") {\n products(first:100,channel: $channel, after: $cursor) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n slug\n }\n cursor\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\n\nimport { useMemo } from \"react\";\nimport { useCart as useCommerceCart, UseCart } from \"@plasmicpkgs/commerce\";\n\nimport { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { checkoutCreate, checkoutToCart, getCheckoutId } from \"../utils\";\nimport * as query from \"../utils/queries\";\nimport { GetCartHook } from \"../types/cart\";\n\nexport default useCommerceCart as UseCart<typeof handler>;\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: query.CheckoutOne,\n },\n async fetcher({ input: { cartId: checkoutId }, options, fetch }) {\n let checkout;\n\n if (checkoutId) {\n const checkoutId = getCheckoutId().checkoutToken;\n const data = await fetch({\n ...options,\n variables: { checkoutId },\n });\n\n checkout = data;\n }\n\n if (checkout?.completedAt || !checkoutId) {\n checkout = await checkoutCreate(fetch);\n }\n\n return checkoutToCart(checkout);\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.lineItems.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\nimport { useCallback } from \"react\";\nimport type { MutationHook } from \"@plasmicpkgs/commerce\";\nimport { CommerceError } from \"@plasmicpkgs/commerce\";\nimport { useAddItem, UseAddItem } from \"@plasmicpkgs/commerce\";\nimport useCart from \"./use-cart\";\n\nimport * as mutation from \"../utils/mutations\";\n\nimport { getCheckoutId, checkoutToCart } from \"../utils\";\n\nimport { Mutation, MutationCheckoutLinesAddArgs } from \"../schema\";\nimport { AddItemHook } from \"../types/cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: { query: mutation.CheckoutLineAdd },\n async fetcher({ input: item, options, fetch }) {\n if (\n item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)\n ) {\n throw new CommerceError({\n message: \"The item quantity has to be a valid integer greater than 0\",\n });\n }\n\n const { checkoutLinesAdd } = await fetch<\n Mutation,\n MutationCheckoutLinesAddArgs\n >({\n ...options,\n variables: {\n checkoutId: getCheckoutId().checkoutId,\n lineItems: [\n {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n\n return checkoutToCart(checkoutLinesAdd);\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart();\n\n return useCallback(\n async function addItem(input) {\n const data = await fetch({ input });\n if (data) {\n await mutate(data, false);\n } else {\n await mutate();\n }\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport { useRemoveItem, UseRemoveItem } from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport { Mutation, MutationCheckoutLineDeleteArgs } from \"../schema\";\nimport { LineItem, RemoveItemHook } from \"../types/cart\";\nimport { checkoutToCart, getCheckoutId } from \"../utils\";\nimport * as mutation from \"../utils/mutations\";\nimport useCart from \"./use-cart\";\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: { query: mutation.CheckoutLineDelete },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n }: HookFetcherContext<RemoveItemHook>) {\n const data = await fetch<Mutation, MutationCheckoutLineDeleteArgs>({\n ...options,\n variables: {\n checkoutId: getCheckoutId().checkoutId,\n lineId: itemId,\n },\n });\n return checkoutToCart(data.checkoutLineDelete);\n },\n useHook: ({ fetch }: MutationHookContext<RemoveItemHook>) => <\n T extends LineItem | undefined = undefined\n >() => {\n const { mutate } = useCart();\n\n return useCallback(\n async function removeItem(input: { id: string }) {\n const data = await fetch({ input: { itemId: input.id } });\n await mutate(data, false);\n\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport {\n useUpdateItem,\n UseUpdateItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\n\nimport { Mutation, MutationCheckoutLinesUpdateArgs } from \"../schema\";\nimport type { LineItem } from \"../types/cart\";\nimport { checkoutToCart, getCheckoutId } from \"../utils\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\n\nimport * as mutation from \"../utils/mutations\";\n\nimport type { UpdateItemHook } from \"../types/cart\";\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: { query: mutation.CheckoutLineUpdate },\n async fetcher({\n input: { itemId, item },\n options,\n fetch,\n }: HookFetcherContext<UpdateItemHook>) {\n if (Number.isInteger(item.quantity)) {\n // Also allow the update hook to remove an item if the quantity is lower than 1\n if (item.quantity! < 1) {\n return removeItemHandler.fetcher({\n options: removeItemHandler.fetchOptions,\n input: { itemId },\n fetch,\n });\n }\n } else if (item.quantity) {\n throw new ValidationError({\n message: \"The item quantity has to be a valid integer\",\n });\n }\n\n const checkoutId = getCheckoutId().checkoutId;\n const { checkoutLinesUpdate } = await fetch<\n Mutation,\n MutationCheckoutLinesUpdateArgs\n >({\n ...options,\n variables: {\n checkoutId,\n lineItems: [\n {\n itemId,\n quantity: item.quantity,\n },\n ],\n },\n });\n\n return checkoutToCart(checkoutLinesUpdate);\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) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { UseCategories, useCategories } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { CollectionCountableEdge } from \"../schema\";\nimport { GetCategoriesHook } from \"../types/site\";\nimport { CollectionMany, CollectionOne, normalizeCategory } from \"../utils\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: CollectionMany,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n if (!categoryId) {\n const data = await fetch({\n query: CollectionMany,\n variables: {\n first: 250,\n },\n })\n\n return (\n data.collections?.edges?.map(({ node }: CollectionCountableEdge) =>\n normalizeCategory(node)\n ) ?? []\n );\n } else {\n const data = await fetch({\n query: CollectionOne,\n variables: { categoryId },\n });\n return !!data?.collection ? [normalizeCategory(data?.collection)] : [];\n }\n },\n useHook:\n ({ useData }) =>\n (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};","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { UseBrands, useBrands } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport {\n GetAllProductPathsQuery,\n GetAllProductPathsQueryVariables,\n} from \"../schema\";\nimport { GetBrandsHook } from \"../types/site\";\nimport { getAllProductVendors } from \"../utils\";\n\nexport default useBrands as UseBrands<typeof handler>;\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: getAllProductVendors,\n },\n async fetcher({ input, options, fetch }) {\n return []; // brands it's not available on saleor\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\n\nimport { Product, SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\n\nimport { ProductCountableEdge } from \"../schema\";\nimport { getSearchVariables, normalizeProduct } from \"../utils\";\n\nimport { SearchProductsHook } from \"@plasmicpkgs/commerce\";\nimport * as query from \"../utils/queries\";\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: string | number;\n brandId?: string | number;\n sort?: string;\n count?: number;\n};\n\nexport type SearchProductsData = {\n products: Product[];\n found: boolean;\n};\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n query: query.ProductMany,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId, brandId } = input;\n\n const data = await fetch({\n query: categoryId ? query.CollectionOne : options.query,\n method: options?.method,\n variables: getSearchVariables(input),\n });\n\n let edges;\n\n if (categoryId) {\n edges = data.collection?.products?.edges ?? [];\n // FIXME @zaiste, no `vendor` in Saleor\n // if (brandId) {\n // edges = edges.filter(\n // ({ node: { vendor } }: ProductCountableEdge) =>\n // vendor.replace(/\\s+/g, '-').toLowerCase() === brandId\n // )\n // }\n } else {\n edges = data.products?.edges ?? [];\n }\n\n return {\n products: edges.map(({ node }: ProductCountableEdge) =>\n normalizeProduct(node)\n ),\n found: !!edges.length,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"count\", input.count],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","export const ProductOneById = /* GraphQL */ `\n query ProductOneById($id: ID!, $channel: String = \"default-channel\") {\n product(id: $id, channel: $channel) {\n\n slug\n name\n description\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n media {\n url\n alt\n }\n }\n }`","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { useProduct, UseProduct } from \"@plasmicpkgs/commerce\";\n\nimport { normalizeProduct } from \"../utils\";\nimport type { GetProductHook } from \"@plasmicpkgs/commerce\";\n\nimport { ProductOneById } from \"../utils/queries/product-one-by-id\";\nimport { ProductOneBySlug } from '../utils/queries/product-one-by-slug';\n\nexport type GetProductInput = {\n id?: string;\n slug?: string\n};\n\nexport default useProduct as UseProduct<typeof handler>;\n\nexport const handler: SWRHook<GetProductHook> = {\n fetchOptions: {\n query: ProductOneById,\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n if (!id) {\n return null;\n }\n const data = await fetch({\n query: ProductOneById,\n variables: { id },\n });\n if (!data.product) {\n const response = await fetch({\n query: ProductOneBySlug,\n variables: { slug: id }\n })\n return response.product ? normalizeProduct(response.product) : null;\n }\n return data.product ? normalizeProduct(data.product) : null;\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [[\"id\", input.id]],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: \n - Before: The saleor_api_url was defined at build time. \n So this file just implemented a fetcher with these parameters defined.\n - Now: The saleor_api_url is defined at runtime. \n So we have to get the fetcher using these parameters.\n*/\n\n\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { getToken, handleFetchResponse } from './utils'\n\nexport const getFetcher:\n (saleorApiUrl: string) => Fetcher =\n (saleorApiUrl) => {\n return async ({\n url = saleorApiUrl,\n method = 'POST',\n query,\n variables,\n }) => {\n const { locale, ...vars } = variables ?? {}\n const token = getToken()\n return handleFetchResponse(\n await fetch(url, {\n method,\n body: JSON.stringify({ query, variables: vars }),\n headers: {\n Authorization: `JWT ${token}`,\n 'Content-Type': 'application/json',\n },\n })\n )\n }\n }\n\n\n\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:\n - Removed customer and auth hooks.\n - Added saleor_api_url parameters.\n*/\n\nimport { CHECKOUT_ID_COOKIE } from './const'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { getFetcher } from './fetcher'\n\nexport const getSaleorProvider = (saleorApiUrl: string,) => ({\n locale: 'en-us',\n cartCookie: CHECKOUT_ID_COOKIE,\n fetcher: getFetcher(saleorApiUrl),\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n})\n\n\n\n\n\nexport type SaleorProvider = {\n locale: string;\n cartCookie: string;\n fetcher: Fetcher;\n cart: {\n useCart: typeof useCart;\n useAddItem: typeof useAddItem;\n useUpdateItem: typeof useUpdateItem;\n useRemoveItem: typeof useRemoveItem\n };\n products: {\n useSearch: typeof useSearch\n useProduct: typeof useProduct\n };\n site: {\n useCategories: typeof useCategories\n useBrands: typeof useBrands\n }\n}","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: \n - Added saleor_api_url parameter.\n*/\nimport {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from \"@plasmicpkgs/commerce\";\nimport { getSaleorProvider, SaleorProvider } from \"./provider\";\n\nexport type { SaleorProvider };\n\nexport const useCommerce = () => useCoreCommerce<SaleorProvider>();\nexport const getCommerceProvider = (saleorApiUrl: string) =>\n getCoreCommerceProvider(getSaleorProvider(saleorApiUrl));\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\nimport { getCommerceProvider } from \"./saleor\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n saleorApiUrl: string;\n}\n\nconst globalContextName = \"plasmic-commerce-saleor-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: globalContextName,\n displayName: \"Saleor Provider\",\n props: {\n saleorApiUrl: {\n type: \"string\",\n defaultValue: \"https://vercel.saleor.cloud/graphql/\",\n },\n },\n ...{ globalActions: globalActionsRegistrations },\n importPath: \"@plasmicpkgs/commerce-saleor\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { saleorApiUrl, children } = props;\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(saleorApiUrl),\n [saleorApiUrl]\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 {\n registerCommerceProvider,\n CommerceProviderComponent,\n} from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\n\nexport * from \"./saleor\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n\nexport { registerCommerceProvider, CommerceProviderComponent };\n"],"names":["CHECKOUT_ID_COOKIE","SALEOR_TOKEN","getSortVariables","sort","isCategory","output","field","direction","getError","errors","status","_errors","message","FetcherError","getAsyncError","_x","_getAsyncError","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","res","data","wrap","_callee2$","_context2","prev","next","json","sent","abrupt","stop","handleFetchResponse","_ref","_callee","_yield$res$json","_callee$","_context","ok","length","_x2","getSearchVariables","search","categoryId","count","sortBy","_extends","channel","filter","first","getCheckoutId","id","r","_Cookies$get","Cookies","get","split","checkoutId","checkoutToken","ProductConnection","CheckoutDetails","CheckoutCreate","fragment","CheckoutLineAdd","CheckoutLineUpdate","CheckoutLineDelete","checkoutCreate","fetch","_data$checkoutCreate","checkout","value","options","query","mutation","token","expires","sameSite","secure","set","placeholderImg","money","amount","currency","currencyCode","normalizeProductOptions","map","option","attributes","flat","reduce","acc","x","find","_ref2","displayName","attribute","name","opt","values","concat","label","__typename","variant","normalizeProductVariants","variants","sku","pricing","price","_pricing$price","net","_money","listPrice","requiresShipping","normalizeProduct","productNode","_productNode$media","media","description","slug","rest","_objectWithoutPropertiesLoose","_excluded","product","vendor","_JSON$parse","JSON","parse","blocks","text","path","replace","_pricing$priceRange","priceRange","start","images","url","normalizeCart","lines","lineItems","normalizeLineItem","customerId","email","createdAt","created","code","_checkout$totalPrice","totalPrice","taxesIncluded","lineItemsSubtotalPrice","_checkout$subtotalPri","subtotalPrice","gross","_checkout$subtotalPri2","_checkout$totalPrice2","discounts","_ref3","quantity","variantId","String","productId","_variant$product","_variant$sku","image","_variant$pricing","_variant$product2","normalizeCategory","_ref4","throwUserErrors","ValidationError","checkoutToCart","checkoutPayload","CommerceError","_checkoutPayload$erro","console","error","undefined","getToken","Const","CollectionMany","ProductOneBySlug","ProductMany","CollectionOne","CheckoutOne","getAllProductVendors","handler","fetchOptions","fetcher","input","cartId","variables","_checkout","completedAt","useHook","useData","response","swrOptions","revalidateOnFocus","useMemo","Object","create","isEmpty","_response$data$lineIt","_response$data","enumerable","item","Number","isInteger","_item$quantity","_yield$fetch","checkoutLinesAdd","_useCart","useCart","mutate","useCallback","_addItem","addItem","itemId","lineId","checkoutLineDelete","_removeItem","removeItem","_ref$input","removeItemHandler","checkoutLinesUpdate","ctx","_ctx","debounce","_input$id","_ctx$wait","wait","_data$collections$edg","_data$collections","collections","edges","node","collection","_response$data$length","brandId","method","_data$collection$prod","_data$collection","products","_data$products$edges","_data$products","found","ProductOneById","getFetcher","saleorApiUrl","_ref$url","_ref$method","locale","vars","t0","body","stringify","headers","Authorization","t1","getSaleorProvider","cartCookie","cart","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","CommerceProvider","React","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
|
|
@@ -416,7 +416,7 @@ function getAsyncError(_x) {
|
|
|
416
416
|
return _getAsyncError.apply(this, arguments);
|
|
417
417
|
}
|
|
418
418
|
function _getAsyncError() {
|
|
419
|
-
_getAsyncError = _asyncToGenerator(
|
|
419
|
+
_getAsyncError = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(res) {
|
|
420
420
|
var data;
|
|
421
421
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
422
422
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -435,7 +435,7 @@ function _getAsyncError() {
|
|
|
435
435
|
return _getAsyncError.apply(this, arguments);
|
|
436
436
|
}
|
|
437
437
|
var handleFetchResponse = /*#__PURE__*/function () {
|
|
438
|
-
var _ref = /*#__PURE__*/_asyncToGenerator(
|
|
438
|
+
var _ref = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(res) {
|
|
439
439
|
var _yield$res$json, data, errors;
|
|
440
440
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
441
441
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -544,7 +544,7 @@ var CheckoutLineUpdate = /* GraphQL */"\n mutation CheckoutLineUpdate($checkout
|
|
|
544
544
|
var CheckoutLineDelete = /* GraphQL */"\n mutation CheckoutLineDelete($checkoutId: ID!, $lineId: ID!) {\n checkoutLineDelete(checkoutId: $checkoutId, lineId: $lineId) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n " + CheckoutDetails + "\n";
|
|
545
545
|
|
|
546
546
|
var checkoutCreate = /*#__PURE__*/function () {
|
|
547
|
-
var _ref = /*#__PURE__*/_asyncToGenerator(
|
|
547
|
+
var _ref = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
|
|
548
548
|
var _data$checkoutCreate;
|
|
549
549
|
var data, checkout, checkoutId, checkoutToken, value, options;
|
|
550
550
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -830,7 +830,7 @@ var handler = {
|
|
|
830
830
|
query: CheckoutOne
|
|
831
831
|
},
|
|
832
832
|
fetcher: function fetcher(_ref) {
|
|
833
|
-
return _asyncToGenerator(
|
|
833
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
834
834
|
var _checkout;
|
|
835
835
|
var checkoutId, options, fetch, checkout, _checkoutId, data;
|
|
836
836
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -897,7 +897,7 @@ var handler$1 = {
|
|
|
897
897
|
query: CheckoutLineAdd
|
|
898
898
|
},
|
|
899
899
|
fetcher: function fetcher(_ref) {
|
|
900
|
-
return _asyncToGenerator(
|
|
900
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
901
901
|
var _item$quantity;
|
|
902
902
|
var item, options, fetch, _yield$fetch, checkoutLinesAdd;
|
|
903
903
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -938,8 +938,8 @@ var handler$1 = {
|
|
|
938
938
|
return function () {
|
|
939
939
|
var _useCart = useCart(),
|
|
940
940
|
mutate = _useCart.mutate;
|
|
941
|
-
return useCallback(
|
|
942
|
-
var _addItem = _asyncToGenerator(
|
|
941
|
+
return useCallback(/*#__PURE__*/function () {
|
|
942
|
+
var _addItem = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
|
|
943
943
|
var data;
|
|
944
944
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
945
945
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -984,7 +984,7 @@ var handler$2 = {
|
|
|
984
984
|
query: CheckoutLineDelete
|
|
985
985
|
},
|
|
986
986
|
fetcher: function fetcher(_ref) {
|
|
987
|
-
return _asyncToGenerator(
|
|
987
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
988
988
|
var itemId, options, fetch, data;
|
|
989
989
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
990
990
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1012,8 +1012,8 @@ var handler$2 = {
|
|
|
1012
1012
|
return function () {
|
|
1013
1013
|
var _useCart = useCart(),
|
|
1014
1014
|
mutate = _useCart.mutate;
|
|
1015
|
-
return useCallback(
|
|
1016
|
-
var _removeItem = _asyncToGenerator(
|
|
1015
|
+
return useCallback(/*#__PURE__*/function () {
|
|
1016
|
+
var _removeItem = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
|
|
1017
1017
|
var data;
|
|
1018
1018
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1019
1019
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -1050,7 +1050,7 @@ var handler$3 = {
|
|
|
1050
1050
|
query: CheckoutLineUpdate
|
|
1051
1051
|
},
|
|
1052
1052
|
fetcher: function fetcher(_ref) {
|
|
1053
|
-
return _asyncToGenerator(
|
|
1053
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1054
1054
|
var _ref$input, itemId, item, options, fetch, checkoutId, _yield$fetch, checkoutLinesUpdate;
|
|
1055
1055
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1056
1056
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1116,8 +1116,8 @@ var handler$3 = {
|
|
|
1116
1116
|
item = _ctx.item;
|
|
1117
1117
|
var _useCart = useCart(),
|
|
1118
1118
|
mutate = _useCart.mutate;
|
|
1119
|
-
return useCallback(debounce(
|
|
1120
|
-
var _ref3 = _asyncToGenerator(
|
|
1119
|
+
return useCallback(debounce(/*#__PURE__*/function () {
|
|
1120
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
|
|
1121
1121
|
var _input$id;
|
|
1122
1122
|
var itemId, data;
|
|
1123
1123
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
@@ -1166,7 +1166,7 @@ var handler$4 = {
|
|
|
1166
1166
|
query: CollectionMany
|
|
1167
1167
|
},
|
|
1168
1168
|
fetcher: function fetcher(_ref) {
|
|
1169
|
-
return _asyncToGenerator(
|
|
1169
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1170
1170
|
var input, fetch, categoryId, _data$collections$edg, _data$collections, data, _data;
|
|
1171
1171
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1172
1172
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1237,7 +1237,7 @@ var handler$5 = {
|
|
|
1237
1237
|
query: getAllProductVendors
|
|
1238
1238
|
},
|
|
1239
1239
|
fetcher: function fetcher(_ref) {
|
|
1240
|
-
return _asyncToGenerator(
|
|
1240
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1241
1241
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1242
1242
|
while (1) switch (_context.prev = _context.next) {
|
|
1243
1243
|
case 0:
|
|
@@ -1277,7 +1277,7 @@ var handler$6 = {
|
|
|
1277
1277
|
query: ProductMany
|
|
1278
1278
|
},
|
|
1279
1279
|
fetcher: function fetcher(_ref) {
|
|
1280
|
-
return _asyncToGenerator(
|
|
1280
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1281
1281
|
var input, options, fetch, categoryId, brandId, data, edges, _data$collection$prod, _data$collection, _data$products$edges, _data$products;
|
|
1282
1282
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1283
1283
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1341,7 +1341,7 @@ var handler$7 = {
|
|
|
1341
1341
|
query: ProductOneById
|
|
1342
1342
|
},
|
|
1343
1343
|
fetcher: function fetcher(_ref) {
|
|
1344
|
-
return _asyncToGenerator(
|
|
1344
|
+
return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
1345
1345
|
var input, fetch, id, data, response;
|
|
1346
1346
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1347
1347
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1405,7 +1405,7 @@ var handler$7 = {
|
|
|
1405
1405
|
var _excluded$1 = ["locale"];
|
|
1406
1406
|
var getFetcher = function getFetcher(saleorApiUrl) {
|
|
1407
1407
|
return /*#__PURE__*/function () {
|
|
1408
|
-
var _ref2 = _asyncToGenerator(
|
|
1408
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
1409
1409
|
var _ref$url, url, _ref$method, method, query, variables, _ref3, vars, token;
|
|
1410
1410
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1411
1411
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commerce-saleor.esm.js","sources":["../src/const.ts","../src/utils/get-sort-variables.ts","../src/utils/handle-fetch-response.ts","../src/utils/get-search-variables.ts","../src/utils/get-checkout-id.ts","../src/utils/fragments/product.ts","../src/utils/fragments/checkout-details.ts","../src/utils/mutations/checkout-create.ts","../src/utils/mutations/checkout-line-add.ts","../src/utils/mutations/checkout-line-update.ts","../src/utils/mutations/checkout-line-remove.ts","../src/utils/checkout-create.ts","../src/utils/normalize.ts","../src/utils/throw-user-errors.ts","../src/utils/checkout-to-cart.ts","../src/utils/customer-token.ts","../src/utils/queries/collection-many.ts","../src/utils/queries/product-one-by-slug.ts","../src/utils/queries/product-many.ts","../src/utils/queries/collection-one.ts","../src/utils/queries/checkout-one.ts","../src/utils/queries/get-all-product-vendors-query.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/site/use-categories.tsx","../src/site/use-brands.tsx","../src/product/use-search.tsx","../src/utils/queries/product-one-by-id.ts","../src/product/use-product.tsx","../src/fetcher.ts","../src/provider.ts","../src/saleor.tsx","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: Removed api_url \n*/\n\nexport const API_CHANNEL = 'default-channel'\nexport const CHECKOUT_ID_COOKIE = 'saleor.CheckoutID'\nexport const SALEOR_TOKEN = 'saleor.Token'\nexport const SALEOR_CRSF_TOKEN = 'saleor.CSRFToken'\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = {}\n switch (sort) {\n case 'price-asc':\n output = {\n field: 'PRICE',\n direction: 'ASC',\n }\n break\n case 'price-desc':\n output = {\n field: 'PRICE',\n direction: 'DESC',\n }\n break\n case 'trending-desc': //default\n output = {} \n break\n case 'latest-desc':\n output = {\n field: 'DATE',\n direction: 'DESC',\n }\n break\n }\n return output\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { FetcherError } from '@plasmicpkgs/commerce';\n\nexport function getError(errors: any[], status: number) {\n errors = errors ?? [{ message: 'Failed to fetch Saleor API' }]\n return new FetcherError({ errors, status })\n}\n\nexport async function getAsyncError(res: Response) {\n const data = await res.json()\n return getError(data.errors, res.status)\n}\n\nconst handleFetchResponse = async (res: Response) => {\n if (res.ok) {\n const { data, errors } = await res.json()\n\n if (errors && errors.length) {\n throw getError(errors, res.status)\n }\n\n return data\n }\n\n throw await getAsyncError(res)\n}\n\nexport default handleFetchResponse\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { getSortVariables } from './get-sort-variables'\nimport type { SearchProductsInput } from '../product/use-search'\n\nexport const getSearchVariables = ({ brandId, search, categoryId, sort, count }: SearchProductsInput) => {\n const sortBy = {\n field: 'NAME',\n direction: 'ASC',\n ...getSortVariables(sort, !!categoryId),\n channel: 'default-channel',\n }\n return {\n categoryId,\n filter: { search },\n sortBy,\n first: count\n }\n}\n\nexport default getSearchVariables\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport Cookies from 'js-cookie'\nimport { CHECKOUT_ID_COOKIE } from '../const'\n\nconst getCheckoutId = (id?: string) => {\n const r = Cookies.get(CHECKOUT_ID_COOKIE)?.split(':') || []\n return { checkoutId: r[0], checkoutToken: r[1] }\n}\n\nexport default getCheckoutId\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const ProductConnection = /* GraphQL */ `\n fragment ProductConnection on ProductCountableConnection {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n name\n description\n slug\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n media {\n url\n alt\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nexport const CheckoutDetails = /* GraphQL */ `\n fragment CheckoutDetails on Checkout {\n id\n token\n created\n totalPrice {\n currency\n gross {\n amount\n }\n }\n subtotalPrice {\n currency\n gross {\n amount\n }\n }\n\n lines {\n id\n variant {\n id\n name\n sku\n product {\n name\n slug\n id\n }\n media {\n url\n }\n pricing {\n price {\n gross {\n amount\n }\n }\n }\n }\n quantity\n totalPrice {\n currency\n gross {\n amount\n }\n }\n }\n }\n`;\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutCreate = /* GraphQL */ `\n mutation CheckoutCreate {\n checkoutCreate(input: { email: \"customer@example.com\", lines: [], channel: \"default-channel\" }) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineAdd = /* GraphQL */ `\n mutation CheckoutLineAdd($checkoutId: ID!, $lineItems: [CheckoutLineInput!]!) {\n checkoutLinesAdd(checkoutId: $checkoutId, lines: $lineItems) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineUpdate = /* GraphQL */ `\n mutation CheckoutLineUpdate($checkoutId: ID!, $lineItems: [CheckoutLineInput!]!) {\n checkoutLinesUpdate(checkoutId: $checkoutId, lines: $lineItems) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineDelete = /* GraphQL */ `\n mutation CheckoutLineDelete($checkoutId: ID!, $lineId: ID!) {\n checkoutLineDelete(checkoutId: $checkoutId, lineId: $lineId) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","import Cookies from 'js-cookie'\n\nimport * as mutation from './mutations'\nimport { CheckoutCreate } from '../schema'\nimport { CHECKOUT_ID_COOKIE } from '../const'\n\nexport const checkoutCreate = async (fetch: any): Promise<CheckoutCreate> => {\n const data = await fetch({ query: mutation.CheckoutCreate })\n const checkout = data.checkoutCreate?.checkout\n const checkoutId = checkout?.id\n const checkoutToken = checkout?.token\n\n const value = `${checkoutId}:${checkoutToken}`\n\n if (checkoutId) {\n const options: Cookies.CookieAttributes = {\n expires: 60 * 60 * 24 * 30,\n sameSite: \"none\",\n secure: true,\n }\n Cookies.set(CHECKOUT_ID_COOKIE, value, options)\n }\n\n return checkout\n}\n\nexport default checkoutCreate","/* eslint-disable */\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport { Product } from \"@plasmicpkgs/commerce\";\n\nimport {\n Product as SaleorProduct,\n Checkout,\n CheckoutLine,\n Money,\n ProductVariant,\n Collection,\n} from \"../schema\";\nimport { Category } from \"../types/site\";\nimport type { Cart, LineItem } from \"../types\";\n\n// TODO: Check nextjs-commerce bug if no images are added for a product\nconst placeholderImg = \"/product-img-placeholder.svg\";\n\nconst money = ({ amount, currency }: Money) => {\n return {\n value: +amount,\n currencyCode: currency || \"USD\",\n };\n};\n\nconst normalizeProductOptions = (options: ProductVariant[]) => {\n return options\n ?.map((option) => option?.attributes)\n .flat(1)\n .reduce<any>((acc, x) => {\n if (\n acc.find(({ displayName }: any) => displayName === x.attribute.name)\n ) {\n return acc.map((opt: any) => {\n return opt.displayName === x.attribute.name\n ? {\n ...opt,\n values: [\n ...opt.values,\n ...x.values.map((value: any) => ({\n label: value?.name,\n })),\n ],\n }\n : opt;\n });\n }\n\n return acc.concat({\n __typename: \"MultipleChoiceOption\",\n displayName: x.attribute.name,\n variant: \"size\",\n values: x.values.map((value: any) => ({\n label: value?.name,\n })),\n });\n }, []);\n};\n\nconst normalizeProductVariants = (variants: ProductVariant[]) => {\n return variants?.map((variant) => {\n const { id, sku, name, pricing } = variant;\n const price = pricing?.price?.net && money(pricing.price.net)?.value;\n\n return {\n id,\n name,\n sku: sku ?? id,\n price,\n listPrice: price,\n requiresShipping: true,\n options: normalizeProductOptions([variant]),\n };\n });\n};\n\nexport function normalizeProduct(productNode: SaleorProduct): Product {\n const {\n id,\n name,\n media = [],\n variants,\n description,\n slug,\n pricing,\n ...rest\n } = productNode;\n\n const product = {\n id,\n name,\n vendor: \"\",\n description: description\n ? JSON.parse(description)?.blocks[0]?.data.text\n : \"\",\n path: `/${slug}`,\n slug: slug?.replace(/^\\/+|\\/+$/g, \"\"),\n price: (pricing?.priceRange?.start?.net &&\n money(pricing.priceRange.start.net)) || {\n value: 0,\n currencyCode: \"USD\",\n },\n // TODO: Check nextjs-commerce bug if no images are added for a product\n images: media?.length ? media : [{ url: placeholderImg }],\n variants:\n variants && variants.length > 0\n ? normalizeProductVariants(variants as ProductVariant[])\n : [],\n options:\n variants && variants.length > 0\n ? normalizeProductOptions(variants as ProductVariant[])\n : [],\n ...rest,\n };\n\n return product as Product;\n}\n\nexport function normalizeCart(checkout: Checkout): Cart {\n const lines = checkout.lines as CheckoutLine[];\n const lineItems: LineItem[] =\n lines.length > 0 ? lines?.map<LineItem>(normalizeLineItem) : [];\n\n return {\n id: checkout.id,\n customerId: \"\",\n email: \"\",\n createdAt: checkout.created,\n currency: {\n code: checkout.totalPrice?.currency!,\n },\n taxesIncluded: false,\n lineItems,\n lineItemsSubtotalPrice: checkout.subtotalPrice?.gross?.amount!,\n subtotalPrice: checkout.subtotalPrice?.gross?.amount!,\n totalPrice: checkout.totalPrice?.gross.amount!,\n discounts: [],\n };\n}\n\nfunction normalizeLineItem({ id, variant, quantity }: CheckoutLine): LineItem {\n return {\n id,\n variantId: String(variant?.id),\n productId: String(variant?.product?.id),\n name: `${variant.product.name}`,\n quantity,\n variant: {\n id: String(variant?.id),\n sku: variant?.sku ?? \"\",\n name: variant?.name!,\n image: {\n url: variant?.media![0] ? variant?.media![0].url : placeholderImg,\n },\n requiresShipping: false,\n price: variant?.pricing?.price?.gross.amount!,\n listPrice: 0,\n },\n path: String(variant?.product?.slug),\n discounts: [],\n options: [],\n };\n}\nexport const normalizeCategory = ({\n name,\n slug,\n id,\n}: Collection): Category => ({\n id,\n name,\n slug,\n path: `/${slug}`,\n});\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { ValidationError } from '@plasmicpkgs/commerce';\nimport { CheckoutError, CheckoutErrorCode, AppError, AccountError, AccountErrorCode } from '../schema'\n\nexport type UserErrors = Array<CheckoutError | AccountError | AppError>\n\nexport type UserErrorCode = CheckoutErrorCode | AccountErrorCode | null | undefined\n\nexport const throwUserErrors = (errors?: UserErrors) => {\n if (errors && errors.length) {\n throw new ValidationError({\n errors: errors.map(({ code, message }) => ({\n code: code ?? 'validation_error',\n message: message || '',\n })),\n })\n }\n}\n\nexport default throwUserErrors\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { Cart } from '../types'\nimport { CommerceError } from '@plasmicpkgs/commerce'\n\nimport {\n CheckoutLinesAdd,\n CheckoutLinesUpdate,\n CheckoutCreate,\n CheckoutError,\n Checkout,\n Maybe,\n CheckoutLineDelete,\n} from '../schema'\n\nimport { normalizeCart } from './normalize'\nimport throwUserErrors from './throw-user-errors'\n\nexport type CheckoutQuery = {\n checkout: Checkout\n errors?: Array<CheckoutError>\n}\n\nexport type CheckoutPayload =\n | CheckoutLinesAdd\n | CheckoutLinesUpdate\n | CheckoutCreate\n | CheckoutQuery\n | CheckoutLineDelete\n\nconst checkoutToCart = (checkoutPayload?: Maybe<CheckoutPayload>): Cart | undefined => {\n if (!checkoutPayload) {\n throw new CommerceError({\n message: 'Missing checkout payload from response',\n })\n }\n\n const checkout = checkoutPayload?.checkout\n if (checkoutPayload?.errors?.length === 1 && checkoutPayload.errors[0].code === \"PRODUCT_UNAVAILABLE_FOR_PURCHASE\") {\n console.error(checkoutPayload.errors[0]);\n return undefined;\n }\n\n if (checkoutPayload?.errors) {\n throwUserErrors(checkoutPayload?.errors)\n }\n\n if (!checkout) {\n throw new CommerceError({\n message: 'Missing checkout object from response',\n })\n }\n\n return normalizeCart(checkout)\n}\n\nexport default checkoutToCart\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport Cookies, { CookieAttributes } from 'js-cookie'\nimport * as Const from '../const'\n\nexport const getToken = () => Cookies.get(Const.SALEOR_TOKEN)\nexport const setToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.SALEOR_TOKEN, token, options)\n}\n\nexport const getCSRFToken = () => Cookies.get(Const.SALEOR_CRSF_TOKEN)\nexport const setCSRFToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.SALEOR_CRSF_TOKEN, token, options)\n}\n\nexport const getCheckoutToken = () => Cookies.get(Const.CHECKOUT_ID_COOKIE)\nexport const setCheckoutToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.CHECKOUT_ID_COOKIE, token, options)\n}\n\nconst setCookie = (name: string, token?: string, options?: CookieAttributes) => {\n if (!token) {\n Cookies.remove(name)\n } else {\n Cookies.set(name, token, options ?? { expires: 60 * 60 * 24 * 30 })\n }\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const CollectionMany = /* GraphQL */ `\n query CollectionMany( $channel: String = \"default-channel\") {\n collections(first:100, channel: $channel) {\n edges {\n node {\n id\n name\n slug\n }\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const ProductOneBySlug = /* GraphQL */ `\n query ProductOneBySlug($slug: String!, $channel: String = \"default-channel\") {\n product(slug: $slug, channel: $channel) {\n id\n slug\n name\n description\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n media {\n url\n alt\n }\n }\n }\n`\n\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const ProductMany = /* GraphQL */ `\n query ProductMany(\n $first: Int = 100\n $filter: ProductFilterInput\n $sortBy: ProductOrder\n $channel: String = \"default-channel\"\n ) {\n products(first: $first, channel: $channel, filter: $filter, sortBy: $sortBy) {\n ...ProductConnection\n }\n }\n ${fragment.ProductConnection}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CollectionOne = /* GraphQL */ `\n query getProductsFromCollection($categoryId: ID!, $first: Int = 100, $channel: String = \"default-channel\") {\n collection(id: $categoryId, channel: $channel) {\n id\n name\n slug\n products(first: $first) {\n ...ProductConnection\n }\n }\n }\n ${fragment.ProductConnection}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\n\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutOne = /* GraphQL */ `\n query CheckoutOne($checkoutId: UUID!) {\n checkout(token: $checkoutId) {\n ... on Checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const getAllProductVendors = /* GraphQL */ `\n query getAllProductVendors($cursor: String, $channel: String = \"default-channel\") {\n products(first:100,channel: $channel, after: $cursor) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n slug\n }\n cursor\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\n\nimport { useMemo } from \"react\";\nimport { useCart as useCommerceCart, UseCart } from \"@plasmicpkgs/commerce\";\n\nimport { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { checkoutCreate, checkoutToCart, getCheckoutId } from \"../utils\";\nimport * as query from \"../utils/queries\";\nimport { GetCartHook } from \"../types/cart\";\n\nexport default useCommerceCart as UseCart<typeof handler>;\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: query.CheckoutOne,\n },\n async fetcher({ input: { cartId: checkoutId }, options, fetch }) {\n let checkout;\n\n if (checkoutId) {\n const checkoutId = getCheckoutId().checkoutToken;\n const data = await fetch({\n ...options,\n variables: { checkoutId },\n });\n\n checkout = data;\n }\n\n if (checkout?.completedAt || !checkoutId) {\n checkout = await checkoutCreate(fetch);\n }\n\n return checkoutToCart(checkout);\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.lineItems.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\nimport { useCallback } from \"react\";\nimport type { MutationHook } from \"@plasmicpkgs/commerce\";\nimport { CommerceError } from \"@plasmicpkgs/commerce\";\nimport { useAddItem, UseAddItem } from \"@plasmicpkgs/commerce\";\nimport useCart from \"./use-cart\";\n\nimport * as mutation from \"../utils/mutations\";\n\nimport { getCheckoutId, checkoutToCart } from \"../utils\";\n\nimport { Mutation, MutationCheckoutLinesAddArgs } from \"../schema\";\nimport { AddItemHook } from \"../types/cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: { query: mutation.CheckoutLineAdd },\n async fetcher({ input: item, options, fetch }) {\n if (\n item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)\n ) {\n throw new CommerceError({\n message: \"The item quantity has to be a valid integer greater than 0\",\n });\n }\n\n const { checkoutLinesAdd } = await fetch<\n Mutation,\n MutationCheckoutLinesAddArgs\n >({\n ...options,\n variables: {\n checkoutId: getCheckoutId().checkoutId,\n lineItems: [\n {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n\n return checkoutToCart(checkoutLinesAdd);\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart();\n\n return useCallback(\n async function addItem(input) {\n const data = await fetch({ input });\n if (data) {\n await mutate(data, false);\n } else {\n await mutate();\n }\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport { useRemoveItem, UseRemoveItem } from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport { Mutation, MutationCheckoutLineDeleteArgs } from \"../schema\";\nimport { LineItem, RemoveItemHook } from \"../types/cart\";\nimport { checkoutToCart, getCheckoutId } from \"../utils\";\nimport * as mutation from \"../utils/mutations\";\nimport useCart from \"./use-cart\";\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: { query: mutation.CheckoutLineDelete },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n }: HookFetcherContext<RemoveItemHook>) {\n const data = await fetch<Mutation, MutationCheckoutLineDeleteArgs>({\n ...options,\n variables: {\n checkoutId: getCheckoutId().checkoutId,\n lineId: itemId,\n },\n });\n return checkoutToCart(data.checkoutLineDelete);\n },\n useHook: ({ fetch }: MutationHookContext<RemoveItemHook>) => <\n T extends LineItem | undefined = undefined\n >() => {\n const { mutate } = useCart();\n\n return useCallback(\n async function removeItem(input: { id: string }) {\n const data = await fetch({ input: { itemId: input.id } });\n await mutate(data, false);\n\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport {\n useUpdateItem,\n UseUpdateItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\n\nimport { Mutation, MutationCheckoutLinesUpdateArgs } from \"../schema\";\nimport type { LineItem } from \"../types/cart\";\nimport { checkoutToCart, getCheckoutId } from \"../utils\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\n\nimport * as mutation from \"../utils/mutations\";\n\nimport type { UpdateItemHook } from \"../types/cart\";\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: { query: mutation.CheckoutLineUpdate },\n async fetcher({\n input: { itemId, item },\n options,\n fetch,\n }: HookFetcherContext<UpdateItemHook>) {\n if (Number.isInteger(item.quantity)) {\n // Also allow the update hook to remove an item if the quantity is lower than 1\n if (item.quantity! < 1) {\n return removeItemHandler.fetcher({\n options: removeItemHandler.fetchOptions,\n input: { itemId },\n fetch,\n });\n }\n } else if (item.quantity) {\n throw new ValidationError({\n message: \"The item quantity has to be a valid integer\",\n });\n }\n\n const checkoutId = getCheckoutId().checkoutId;\n const { checkoutLinesUpdate } = await fetch<\n Mutation,\n MutationCheckoutLinesUpdateArgs\n >({\n ...options,\n variables: {\n checkoutId,\n lineItems: [\n {\n itemId,\n quantity: item.quantity,\n },\n ],\n },\n });\n\n return checkoutToCart(checkoutLinesUpdate);\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) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { UseCategories, useCategories } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { CollectionCountableEdge } from \"../schema\";\nimport { GetCategoriesHook } from \"../types/site\";\nimport { CollectionMany, CollectionOne, normalizeCategory } from \"../utils\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: CollectionMany,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n if (!categoryId) {\n const data = await fetch({\n query: CollectionMany,\n variables: {\n first: 250,\n },\n })\n\n return (\n data.collections?.edges?.map(({ node }: CollectionCountableEdge) =>\n normalizeCategory(node)\n ) ?? []\n );\n } else {\n const data = await fetch({\n query: CollectionOne,\n variables: { categoryId },\n });\n return !!data?.collection ? [normalizeCategory(data?.collection)] : [];\n }\n },\n useHook:\n ({ useData }) =>\n (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};","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { UseBrands, useBrands } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport {\n GetAllProductPathsQuery,\n GetAllProductPathsQueryVariables,\n} from \"../schema\";\nimport { GetBrandsHook } from \"../types/site\";\nimport { getAllProductVendors } from \"../utils\";\n\nexport default useBrands as UseBrands<typeof handler>;\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: getAllProductVendors,\n },\n async fetcher({ input, options, fetch }) {\n return []; // brands it's not available on saleor\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\n\nimport { Product, SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\n\nimport { ProductCountableEdge } from \"../schema\";\nimport { getSearchVariables, normalizeProduct } from \"../utils\";\n\nimport { SearchProductsHook } from \"@plasmicpkgs/commerce\";\nimport * as query from \"../utils/queries\";\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: string | number;\n brandId?: string | number;\n sort?: string;\n count?: number;\n};\n\nexport type SearchProductsData = {\n products: Product[];\n found: boolean;\n};\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n query: query.ProductMany,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId, brandId } = input;\n\n const data = await fetch({\n query: categoryId ? query.CollectionOne : options.query,\n method: options?.method,\n variables: getSearchVariables(input),\n });\n\n let edges;\n\n if (categoryId) {\n edges = data.collection?.products?.edges ?? [];\n // FIXME @zaiste, no `vendor` in Saleor\n // if (brandId) {\n // edges = edges.filter(\n // ({ node: { vendor } }: ProductCountableEdge) =>\n // vendor.replace(/\\s+/g, '-').toLowerCase() === brandId\n // )\n // }\n } else {\n edges = data.products?.edges ?? [];\n }\n\n return {\n products: edges.map(({ node }: ProductCountableEdge) =>\n normalizeProduct(node)\n ),\n found: !!edges.length,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"count\", input.count],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","export const ProductOneById = /* GraphQL */ `\n query ProductOneById($id: ID!, $channel: String = \"default-channel\") {\n product(id: $id, channel: $channel) {\n\n slug\n name\n description\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n media {\n url\n alt\n }\n }\n }`","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { useProduct, UseProduct } from \"@plasmicpkgs/commerce\";\n\nimport { normalizeProduct } from \"../utils\";\nimport type { GetProductHook } from \"@plasmicpkgs/commerce\";\n\nimport { ProductOneById } from \"../utils/queries/product-one-by-id\";\nimport { ProductOneBySlug } from '../utils/queries/product-one-by-slug';\n\nexport type GetProductInput = {\n id?: string;\n slug?: string\n};\n\nexport default useProduct as UseProduct<typeof handler>;\n\nexport const handler: SWRHook<GetProductHook> = {\n fetchOptions: {\n query: ProductOneById,\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n if (!id) {\n return null;\n }\n const data = await fetch({\n query: ProductOneById,\n variables: { id },\n });\n if (!data.product) {\n const response = await fetch({\n query: ProductOneBySlug,\n variables: { slug: id }\n })\n return response.product ? normalizeProduct(response.product) : null;\n }\n return data.product ? normalizeProduct(data.product) : null;\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [[\"id\", input.id]],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: \n - Before: The saleor_api_url was defined at build time. \n So this file just implemented a fetcher with these parameters defined.\n - Now: The saleor_api_url is defined at runtime. \n So we have to get the fetcher using these parameters.\n*/\n\n\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { getToken, handleFetchResponse } from './utils'\n\nexport const getFetcher:\n (saleorApiUrl: string) => Fetcher =\n (saleorApiUrl) => {\n return async ({\n url = saleorApiUrl,\n method = 'POST',\n query,\n variables,\n }) => {\n const { locale, ...vars } = variables ?? {}\n const token = getToken()\n return handleFetchResponse(\n await fetch(url, {\n method,\n body: JSON.stringify({ query, variables: vars }),\n headers: {\n Authorization: `JWT ${token}`,\n 'Content-Type': 'application/json',\n },\n })\n )\n }\n }\n\n\n\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:\n - Removed customer and auth hooks.\n - Added saleor_api_url parameters.\n*/\n\nimport { CHECKOUT_ID_COOKIE } from './const'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { getFetcher } from './fetcher'\n\nexport const getSaleorProvider = (saleorApiUrl: string,) => ({\n locale: 'en-us',\n cartCookie: CHECKOUT_ID_COOKIE,\n fetcher: getFetcher(saleorApiUrl),\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n})\n\n\n\n\n\nexport type SaleorProvider = {\n locale: string;\n cartCookie: string;\n fetcher: Fetcher;\n cart: {\n useCart: typeof useCart;\n useAddItem: typeof useAddItem;\n useUpdateItem: typeof useUpdateItem;\n useRemoveItem: typeof useRemoveItem\n };\n products: {\n useSearch: typeof useSearch\n useProduct: typeof useProduct\n };\n site: {\n useCategories: typeof useCategories\n useBrands: typeof useBrands\n }\n}","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: \n - Added saleor_api_url parameter.\n*/\nimport {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from \"@plasmicpkgs/commerce\";\nimport { getSaleorProvider, SaleorProvider } from \"./provider\";\n\nexport type { SaleorProvider };\n\nexport const useCommerce = () => useCoreCommerce<SaleorProvider>();\nexport const getCommerceProvider = (saleorApiUrl: string) =>\n getCoreCommerceProvider(getSaleorProvider(saleorApiUrl));\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\nimport { getCommerceProvider } from \"./saleor\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n saleorApiUrl: string;\n}\n\nconst globalContextName = \"plasmic-commerce-saleor-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: globalContextName,\n displayName: \"Saleor Provider\",\n props: {\n saleorApiUrl: {\n type: \"string\",\n defaultValue: \"https://vercel.saleor.cloud/graphql/\",\n },\n },\n ...{ globalActions: globalActionsRegistrations },\n importPath: \"@plasmicpkgs/commerce-saleor\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { saleorApiUrl, children } = props;\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(saleorApiUrl),\n [saleorApiUrl]\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 {\n registerCommerceProvider,\n CommerceProviderComponent,\n} from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\n\nexport * from \"./saleor\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n\nexport { registerCommerceProvider, CommerceProviderComponent };\n"],"names":["CHECKOUT_ID_COOKIE","SALEOR_TOKEN","getSortVariables","sort","isCategory","output","field","direction","getError","errors","status","_errors","message","FetcherError","getAsyncError","_x","_getAsyncError","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","res","data","wrap","_callee2$","_context2","prev","next","json","sent","abrupt","stop","handleFetchResponse","_ref","_callee","_yield$res$json","_callee$","_context","ok","length","_x2","getSearchVariables","search","categoryId","count","sortBy","_extends","channel","filter","first","getCheckoutId","id","r","_Cookies$get","Cookies","get","split","checkoutId","checkoutToken","ProductConnection","CheckoutDetails","CheckoutCreate","fragment","CheckoutLineAdd","CheckoutLineUpdate","CheckoutLineDelete","checkoutCreate","fetch","_data$checkoutCreate","checkout","value","options","query","mutation","token","expires","sameSite","secure","set","placeholderImg","money","amount","currency","currencyCode","normalizeProductOptions","map","option","attributes","flat","reduce","acc","x","find","_ref2","displayName","attribute","name","opt","values","concat","label","__typename","variant","normalizeProductVariants","variants","sku","pricing","price","_pricing$price","net","_money","listPrice","requiresShipping","normalizeProduct","productNode","_productNode$media","media","description","slug","rest","_objectWithoutPropertiesLoose","_excluded","product","vendor","_JSON$parse","JSON","parse","blocks","text","path","replace","_pricing$priceRange","priceRange","start","images","url","normalizeCart","lines","lineItems","normalizeLineItem","customerId","email","createdAt","created","code","_checkout$totalPrice","totalPrice","taxesIncluded","lineItemsSubtotalPrice","_checkout$subtotalPri","subtotalPrice","gross","_checkout$subtotalPri2","_checkout$totalPrice2","discounts","_ref3","quantity","variantId","String","productId","_variant$product","_variant$sku","image","_variant$pricing","_variant$product2","normalizeCategory","_ref4","throwUserErrors","ValidationError","checkoutToCart","checkoutPayload","CommerceError","_checkoutPayload$erro","console","error","undefined","getToken","Const","CollectionMany","ProductOneBySlug","ProductMany","CollectionOne","CheckoutOne","getAllProductVendors","handler","fetchOptions","fetcher","input","cartId","variables","_checkout","completedAt","useHook","useData","response","swrOptions","revalidateOnFocus","useMemo","Object","create","isEmpty","_response$data$lineIt","_response$data","enumerable","item","Number","isInteger","_item$quantity","_yield$fetch","checkoutLinesAdd","_useCart","useCart","mutate","useCallback","_addItem","addItem","itemId","lineId","checkoutLineDelete","_removeItem","removeItem","_ref$input","removeItemHandler","checkoutLinesUpdate","ctx","_ctx","debounce","_input$id","_ctx$wait","wait","_data$collections$edg","_data$collections","collections","edges","node","collection","_response$data$length","brandId","method","_data$collection$prod","_data$collection","products","_data$products$edges","_data$products","found","ProductOneById","getFetcher","saleorApiUrl","_ref$url","_ref$method","locale","vars","t0","body","stringify","headers","Authorization","t1","getSaleorProvider","cartCookie","cart","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","CommerceProvider","React","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commerce-saleor.esm.js","sources":["../src/const.ts","../src/utils/get-sort-variables.ts","../src/utils/handle-fetch-response.ts","../src/utils/get-search-variables.ts","../src/utils/get-checkout-id.ts","../src/utils/fragments/product.ts","../src/utils/fragments/checkout-details.ts","../src/utils/mutations/checkout-create.ts","../src/utils/mutations/checkout-line-add.ts","../src/utils/mutations/checkout-line-update.ts","../src/utils/mutations/checkout-line-remove.ts","../src/utils/checkout-create.ts","../src/utils/normalize.ts","../src/utils/throw-user-errors.ts","../src/utils/checkout-to-cart.ts","../src/utils/customer-token.ts","../src/utils/queries/collection-many.ts","../src/utils/queries/product-one-by-slug.ts","../src/utils/queries/product-many.ts","../src/utils/queries/collection-one.ts","../src/utils/queries/checkout-one.ts","../src/utils/queries/get-all-product-vendors-query.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/site/use-categories.tsx","../src/site/use-brands.tsx","../src/product/use-search.tsx","../src/utils/queries/product-one-by-id.ts","../src/product/use-product.tsx","../src/fetcher.ts","../src/provider.ts","../src/saleor.tsx","../src/registerCommerceProvider.tsx","../src/index.tsx"],"sourcesContent":["/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: Removed api_url \n*/\n\nexport const API_CHANNEL = 'default-channel'\nexport const CHECKOUT_ID_COOKIE = 'saleor.CheckoutID'\nexport const SALEOR_TOKEN = 'saleor.Token'\nexport const SALEOR_CRSF_TOKEN = 'saleor.CSRFToken'\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const getSortVariables = (sort?: string, isCategory: boolean = false) => {\n let output = {}\n switch (sort) {\n case 'price-asc':\n output = {\n field: 'PRICE',\n direction: 'ASC',\n }\n break\n case 'price-desc':\n output = {\n field: 'PRICE',\n direction: 'DESC',\n }\n break\n case 'trending-desc': //default\n output = {} \n break\n case 'latest-desc':\n output = {\n field: 'DATE',\n direction: 'DESC',\n }\n break\n }\n return output\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { FetcherError } from '@plasmicpkgs/commerce';\n\nexport function getError(errors: any[], status: number) {\n errors = errors ?? [{ message: 'Failed to fetch Saleor API' }]\n return new FetcherError({ errors, status })\n}\n\nexport async function getAsyncError(res: Response) {\n const data = await res.json()\n return getError(data.errors, res.status)\n}\n\nconst handleFetchResponse = async (res: Response) => {\n if (res.ok) {\n const { data, errors } = await res.json()\n\n if (errors && errors.length) {\n throw getError(errors, res.status)\n }\n\n return data\n }\n\n throw await getAsyncError(res)\n}\n\nexport default handleFetchResponse\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { getSortVariables } from './get-sort-variables'\nimport type { SearchProductsInput } from '../product/use-search'\n\nexport const getSearchVariables = ({ brandId, search, categoryId, sort, count }: SearchProductsInput) => {\n const sortBy = {\n field: 'NAME',\n direction: 'ASC',\n ...getSortVariables(sort, !!categoryId),\n channel: 'default-channel',\n }\n return {\n categoryId,\n filter: { search },\n sortBy,\n first: count\n }\n}\n\nexport default getSearchVariables\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport Cookies from 'js-cookie'\nimport { CHECKOUT_ID_COOKIE } from '../const'\n\nconst getCheckoutId = (id?: string) => {\n const r = Cookies.get(CHECKOUT_ID_COOKIE)?.split(':') || []\n return { checkoutId: r[0], checkoutToken: r[1] }\n}\n\nexport default getCheckoutId\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const ProductConnection = /* GraphQL */ `\n fragment ProductConnection on ProductCountableConnection {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n name\n description\n slug\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n media {\n url\n alt\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nexport const CheckoutDetails = /* GraphQL */ `\n fragment CheckoutDetails on Checkout {\n id\n token\n created\n totalPrice {\n currency\n gross {\n amount\n }\n }\n subtotalPrice {\n currency\n gross {\n amount\n }\n }\n\n lines {\n id\n variant {\n id\n name\n sku\n product {\n name\n slug\n id\n }\n media {\n url\n }\n pricing {\n price {\n gross {\n amount\n }\n }\n }\n }\n quantity\n totalPrice {\n currency\n gross {\n amount\n }\n }\n }\n }\n`;\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutCreate = /* GraphQL */ `\n mutation CheckoutCreate {\n checkoutCreate(input: { email: \"customer@example.com\", lines: [], channel: \"default-channel\" }) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineAdd = /* GraphQL */ `\n mutation CheckoutLineAdd($checkoutId: ID!, $lineItems: [CheckoutLineInput!]!) {\n checkoutLinesAdd(checkoutId: $checkoutId, lines: $lineItems) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineUpdate = /* GraphQL */ `\n mutation CheckoutLineUpdate($checkoutId: ID!, $lineItems: [CheckoutLineInput!]!) {\n checkoutLinesUpdate(checkoutId: $checkoutId, lines: $lineItems) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutLineDelete = /* GraphQL */ `\n mutation CheckoutLineDelete($checkoutId: ID!, $lineId: ID!) {\n checkoutLineDelete(checkoutId: $checkoutId, lineId: $lineId) {\n errors {\n code\n field\n message\n }\n checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","import Cookies from 'js-cookie'\n\nimport * as mutation from './mutations'\nimport { CheckoutCreate } from '../schema'\nimport { CHECKOUT_ID_COOKIE } from '../const'\n\nexport const checkoutCreate = async (fetch: any): Promise<CheckoutCreate> => {\n const data = await fetch({ query: mutation.CheckoutCreate })\n const checkout = data.checkoutCreate?.checkout\n const checkoutId = checkout?.id\n const checkoutToken = checkout?.token\n\n const value = `${checkoutId}:${checkoutToken}`\n\n if (checkoutId) {\n const options: Cookies.CookieAttributes = {\n expires: 60 * 60 * 24 * 30,\n sameSite: \"none\",\n secure: true,\n }\n Cookies.set(CHECKOUT_ID_COOKIE, value, options)\n }\n\n return checkout\n}\n\nexport default checkoutCreate","/* eslint-disable */\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport { Product } from \"@plasmicpkgs/commerce\";\n\nimport {\n Product as SaleorProduct,\n Checkout,\n CheckoutLine,\n Money,\n ProductVariant,\n Collection,\n} from \"../schema\";\nimport { Category } from \"../types/site\";\nimport type { Cart, LineItem } from \"../types\";\n\n// TODO: Check nextjs-commerce bug if no images are added for a product\nconst placeholderImg = \"/product-img-placeholder.svg\";\n\nconst money = ({ amount, currency }: Money) => {\n return {\n value: +amount,\n currencyCode: currency || \"USD\",\n };\n};\n\nconst normalizeProductOptions = (options: ProductVariant[]) => {\n return options\n ?.map((option) => option?.attributes)\n .flat(1)\n .reduce<any>((acc, x) => {\n if (\n acc.find(({ displayName }: any) => displayName === x.attribute.name)\n ) {\n return acc.map((opt: any) => {\n return opt.displayName === x.attribute.name\n ? {\n ...opt,\n values: [\n ...opt.values,\n ...x.values.map((value: any) => ({\n label: value?.name,\n })),\n ],\n }\n : opt;\n });\n }\n\n return acc.concat({\n __typename: \"MultipleChoiceOption\",\n displayName: x.attribute.name,\n variant: \"size\",\n values: x.values.map((value: any) => ({\n label: value?.name,\n })),\n });\n }, []);\n};\n\nconst normalizeProductVariants = (variants: ProductVariant[]) => {\n return variants?.map((variant) => {\n const { id, sku, name, pricing } = variant;\n const price = pricing?.price?.net && money(pricing.price.net)?.value;\n\n return {\n id,\n name,\n sku: sku ?? id,\n price,\n listPrice: price,\n requiresShipping: true,\n options: normalizeProductOptions([variant]),\n };\n });\n};\n\nexport function normalizeProduct(productNode: SaleorProduct): Product {\n const {\n id,\n name,\n media = [],\n variants,\n description,\n slug,\n pricing,\n ...rest\n } = productNode;\n\n const product = {\n id,\n name,\n vendor: \"\",\n description: description\n ? JSON.parse(description)?.blocks[0]?.data.text\n : \"\",\n path: `/${slug}`,\n slug: slug?.replace(/^\\/+|\\/+$/g, \"\"),\n price: (pricing?.priceRange?.start?.net &&\n money(pricing.priceRange.start.net)) || {\n value: 0,\n currencyCode: \"USD\",\n },\n // TODO: Check nextjs-commerce bug if no images are added for a product\n images: media?.length ? media : [{ url: placeholderImg }],\n variants:\n variants && variants.length > 0\n ? normalizeProductVariants(variants as ProductVariant[])\n : [],\n options:\n variants && variants.length > 0\n ? normalizeProductOptions(variants as ProductVariant[])\n : [],\n ...rest,\n };\n\n return product as Product;\n}\n\nexport function normalizeCart(checkout: Checkout): Cart {\n const lines = checkout.lines as CheckoutLine[];\n const lineItems: LineItem[] =\n lines.length > 0 ? lines?.map<LineItem>(normalizeLineItem) : [];\n\n return {\n id: checkout.id,\n customerId: \"\",\n email: \"\",\n createdAt: checkout.created,\n currency: {\n code: checkout.totalPrice?.currency!,\n },\n taxesIncluded: false,\n lineItems,\n lineItemsSubtotalPrice: checkout.subtotalPrice?.gross?.amount!,\n subtotalPrice: checkout.subtotalPrice?.gross?.amount!,\n totalPrice: checkout.totalPrice?.gross.amount!,\n discounts: [],\n };\n}\n\nfunction normalizeLineItem({ id, variant, quantity }: CheckoutLine): LineItem {\n return {\n id,\n variantId: String(variant?.id),\n productId: String(variant?.product?.id),\n name: `${variant.product.name}`,\n quantity,\n variant: {\n id: String(variant?.id),\n sku: variant?.sku ?? \"\",\n name: variant?.name!,\n image: {\n url: variant?.media![0] ? variant?.media![0].url : placeholderImg,\n },\n requiresShipping: false,\n price: variant?.pricing?.price?.gross.amount!,\n listPrice: 0,\n },\n path: String(variant?.product?.slug),\n discounts: [],\n options: [],\n };\n}\nexport const normalizeCategory = ({\n name,\n slug,\n id,\n}: Collection): Category => ({\n id,\n name,\n slug,\n path: `/${slug}`,\n});\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { ValidationError } from '@plasmicpkgs/commerce';\nimport { CheckoutError, CheckoutErrorCode, AppError, AccountError, AccountErrorCode } from '../schema'\n\nexport type UserErrors = Array<CheckoutError | AccountError | AppError>\n\nexport type UserErrorCode = CheckoutErrorCode | AccountErrorCode | null | undefined\n\nexport const throwUserErrors = (errors?: UserErrors) => {\n if (errors && errors.length) {\n throw new ValidationError({\n errors: errors.map(({ code, message }) => ({\n code: code ?? 'validation_error',\n message: message || '',\n })),\n })\n }\n}\n\nexport default throwUserErrors\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport { Cart } from '../types'\nimport { CommerceError } from '@plasmicpkgs/commerce'\n\nimport {\n CheckoutLinesAdd,\n CheckoutLinesUpdate,\n CheckoutCreate,\n CheckoutError,\n Checkout,\n Maybe,\n CheckoutLineDelete,\n} from '../schema'\n\nimport { normalizeCart } from './normalize'\nimport throwUserErrors from './throw-user-errors'\n\nexport type CheckoutQuery = {\n checkout: Checkout\n errors?: Array<CheckoutError>\n}\n\nexport type CheckoutPayload =\n | CheckoutLinesAdd\n | CheckoutLinesUpdate\n | CheckoutCreate\n | CheckoutQuery\n | CheckoutLineDelete\n\nconst checkoutToCart = (checkoutPayload?: Maybe<CheckoutPayload>): Cart | undefined => {\n if (!checkoutPayload) {\n throw new CommerceError({\n message: 'Missing checkout payload from response',\n })\n }\n\n const checkout = checkoutPayload?.checkout\n if (checkoutPayload?.errors?.length === 1 && checkoutPayload.errors[0].code === \"PRODUCT_UNAVAILABLE_FOR_PURCHASE\") {\n console.error(checkoutPayload.errors[0]);\n return undefined;\n }\n\n if (checkoutPayload?.errors) {\n throwUserErrors(checkoutPayload?.errors)\n }\n\n if (!checkout) {\n throw new CommerceError({\n message: 'Missing checkout object from response',\n })\n }\n\n return normalizeCart(checkout)\n}\n\nexport default checkoutToCart\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport Cookies, { CookieAttributes } from 'js-cookie'\nimport * as Const from '../const'\n\nexport const getToken = () => Cookies.get(Const.SALEOR_TOKEN)\nexport const setToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.SALEOR_TOKEN, token, options)\n}\n\nexport const getCSRFToken = () => Cookies.get(Const.SALEOR_CRSF_TOKEN)\nexport const setCSRFToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.SALEOR_CRSF_TOKEN, token, options)\n}\n\nexport const getCheckoutToken = () => Cookies.get(Const.CHECKOUT_ID_COOKIE)\nexport const setCheckoutToken = (token?: string, options?: CookieAttributes) => {\n setCookie(Const.CHECKOUT_ID_COOKIE, token, options)\n}\n\nconst setCookie = (name: string, token?: string, options?: CookieAttributes) => {\n if (!token) {\n Cookies.remove(name)\n } else {\n Cookies.set(name, token, options ?? { expires: 60 * 60 * 24 * 30 })\n }\n}\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const CollectionMany = /* GraphQL */ `\n query CollectionMany( $channel: String = \"default-channel\") {\n collections(first:100, channel: $channel) {\n edges {\n node {\n id\n name\n slug\n }\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const ProductOneBySlug = /* GraphQL */ `\n query ProductOneBySlug($slug: String!, $channel: String = \"default-channel\") {\n product(slug: $slug, channel: $channel) {\n id\n slug\n name\n description\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n media {\n url\n alt\n }\n }\n }\n`\n\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const ProductMany = /* GraphQL */ `\n query ProductMany(\n $first: Int = 100\n $filter: ProductFilterInput\n $sortBy: ProductOrder\n $channel: String = \"default-channel\"\n ) {\n products(first: $first, channel: $channel, filter: $filter, sortBy: $sortBy) {\n ...ProductConnection\n }\n }\n ${fragment.ProductConnection}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nimport * as fragment from '../fragments'\n\nexport const CollectionOne = /* GraphQL */ `\n query getProductsFromCollection($categoryId: ID!, $first: Int = 100, $channel: String = \"default-channel\") {\n collection(id: $categoryId, channel: $channel) {\n id\n name\n slug\n products(first: $first) {\n ...ProductConnection\n }\n }\n }\n ${fragment.ProductConnection}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\n\n\nimport * as fragment from '../fragments'\n\nexport const CheckoutOne = /* GraphQL */ `\n query CheckoutOne($checkoutId: UUID!) {\n checkout(token: $checkoutId) {\n ... on Checkout {\n ...CheckoutDetails\n }\n }\n }\n ${fragment.CheckoutDetails}\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None \n*/\n\nexport const getAllProductVendors = /* GraphQL */ `\n query getAllProductVendors($cursor: String, $channel: String = \"default-channel\") {\n products(first:100,channel: $channel, after: $cursor) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n slug\n }\n cursor\n }\n }\n }\n`\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\n\nimport { useMemo } from \"react\";\nimport { useCart as useCommerceCart, UseCart } from \"@plasmicpkgs/commerce\";\n\nimport { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { checkoutCreate, checkoutToCart, getCheckoutId } from \"../utils\";\nimport * as query from \"../utils/queries\";\nimport { GetCartHook } from \"../types/cart\";\n\nexport default useCommerceCart as UseCart<typeof handler>;\n\nexport const handler: SWRHook<GetCartHook> = {\n fetchOptions: {\n query: query.CheckoutOne,\n },\n async fetcher({ input: { cartId: checkoutId }, options, fetch }) {\n let checkout;\n\n if (checkoutId) {\n const checkoutId = getCheckoutId().checkoutToken;\n const data = await fetch({\n ...options,\n variables: { checkoutId },\n });\n\n checkout = data;\n }\n\n if (checkout?.completedAt || !checkoutId) {\n checkout = await checkoutCreate(fetch);\n }\n\n return checkoutToCart(checkout);\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.lineItems.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\nimport { useCallback } from \"react\";\nimport type { MutationHook } from \"@plasmicpkgs/commerce\";\nimport { CommerceError } from \"@plasmicpkgs/commerce\";\nimport { useAddItem, UseAddItem } from \"@plasmicpkgs/commerce\";\nimport useCart from \"./use-cart\";\n\nimport * as mutation from \"../utils/mutations\";\n\nimport { getCheckoutId, checkoutToCart } from \"../utils\";\n\nimport { Mutation, MutationCheckoutLinesAddArgs } from \"../schema\";\nimport { AddItemHook } from \"../types/cart\";\n\nexport default useAddItem as UseAddItem<typeof handler>;\n\nexport const handler: MutationHook<AddItemHook> = {\n fetchOptions: { query: mutation.CheckoutLineAdd },\n async fetcher({ input: item, options, fetch }) {\n if (\n item.quantity &&\n (!Number.isInteger(item.quantity) || item.quantity! < 1)\n ) {\n throw new CommerceError({\n message: \"The item quantity has to be a valid integer greater than 0\",\n });\n }\n\n const { checkoutLinesAdd } = await fetch<\n Mutation,\n MutationCheckoutLinesAddArgs\n >({\n ...options,\n variables: {\n checkoutId: getCheckoutId().checkoutId,\n lineItems: [\n {\n variantId: item.variantId,\n quantity: item.quantity ?? 1,\n },\n ],\n },\n });\n\n return checkoutToCart(checkoutLinesAdd);\n },\n useHook:\n ({ fetch }) =>\n () => {\n const { mutate } = useCart();\n\n return useCallback(\n async function addItem(input) {\n const data = await fetch({ input });\n if (data) {\n await mutate(data, false);\n } else {\n await mutate();\n }\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport { useRemoveItem, UseRemoveItem } from \"@plasmicpkgs/commerce\";\nimport { useCallback } from \"react\";\nimport { Mutation, MutationCheckoutLineDeleteArgs } from \"../schema\";\nimport { LineItem, RemoveItemHook } from \"../types/cart\";\nimport { checkoutToCart, getCheckoutId } from \"../utils\";\nimport * as mutation from \"../utils/mutations\";\nimport useCart from \"./use-cart\";\n\nexport default useRemoveItem as UseRemoveItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: { query: mutation.CheckoutLineDelete },\n async fetcher({\n input: { itemId },\n options,\n fetch,\n }: HookFetcherContext<RemoveItemHook>) {\n const data = await fetch<Mutation, MutationCheckoutLineDeleteArgs>({\n ...options,\n variables: {\n checkoutId: getCheckoutId().checkoutId,\n lineId: itemId,\n },\n });\n return checkoutToCart(data.checkoutLineDelete);\n },\n useHook: ({ fetch }: MutationHookContext<RemoveItemHook>) => <\n T extends LineItem | undefined = undefined\n >() => {\n const { mutate } = useCart();\n\n return useCallback(\n async function removeItem(input: { id: string }) {\n const data = await fetch({ input: { itemId: input.id } });\n await mutate(data, false);\n\n return data;\n },\n [fetch, mutate]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: None\n*/\n\nimport type {\n HookFetcherContext,\n MutationHookContext,\n} from \"@plasmicpkgs/commerce\";\nimport {\n useUpdateItem,\n UseUpdateItem,\n ValidationError,\n} from \"@plasmicpkgs/commerce\";\nimport debounce from \"debounce\";\nimport { useCallback } from \"react\";\n\nimport { Mutation, MutationCheckoutLinesUpdateArgs } from \"../schema\";\nimport type { LineItem } from \"../types/cart\";\nimport { checkoutToCart, getCheckoutId } from \"../utils\";\nimport useCart from \"./use-cart\";\nimport { handler as removeItemHandler } from \"./use-remove-item\";\n\nimport * as mutation from \"../utils/mutations\";\n\nimport type { UpdateItemHook } from \"../types/cart\";\n\nexport type UpdateItemActionInput<T = any> = T extends LineItem\n ? Partial<UpdateItemHook[\"actionInput\"]>\n : UpdateItemHook[\"actionInput\"];\n\nexport default useUpdateItem as UseUpdateItem<typeof handler>;\n\nexport const handler = {\n fetchOptions: { query: mutation.CheckoutLineUpdate },\n async fetcher({\n input: { itemId, item },\n options,\n fetch,\n }: HookFetcherContext<UpdateItemHook>) {\n if (Number.isInteger(item.quantity)) {\n // Also allow the update hook to remove an item if the quantity is lower than 1\n if (item.quantity! < 1) {\n return removeItemHandler.fetcher({\n options: removeItemHandler.fetchOptions,\n input: { itemId },\n fetch,\n });\n }\n } else if (item.quantity) {\n throw new ValidationError({\n message: \"The item quantity has to be a valid integer\",\n });\n }\n\n const checkoutId = getCheckoutId().checkoutId;\n const { checkoutLinesUpdate } = await fetch<\n Mutation,\n MutationCheckoutLinesUpdateArgs\n >({\n ...options,\n variables: {\n checkoutId,\n lineItems: [\n {\n itemId,\n quantity: item.quantity,\n },\n ],\n },\n });\n\n return checkoutToCart(checkoutLinesUpdate);\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) {\n throw new ValidationError({\n message: \"Invalid input used for this operation\",\n });\n }\n\n const data = await fetch({\n input: {\n item: {\n quantity: input.quantity,\n },\n itemId,\n },\n });\n await mutate(data, false);\n return data;\n }, ctx.wait ?? 500),\n [fetch, mutate]\n );\n },\n};\n","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { UseCategories, useCategories } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport { CollectionCountableEdge } from \"../schema\";\nimport { GetCategoriesHook } from \"../types/site\";\nimport { CollectionMany, CollectionOne, normalizeCategory } from \"../utils\";\n\nexport default useCategories as UseCategories<typeof handler>;\n\nexport const handler: SWRHook<GetCategoriesHook> = {\n fetchOptions: {\n query: CollectionMany,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId } = input;\n if (!categoryId) {\n const data = await fetch({\n query: CollectionMany,\n variables: {\n first: 250,\n },\n })\n\n return (\n data.collections?.edges?.map(({ node }: CollectionCountableEdge) =>\n normalizeCategory(node)\n ) ?? []\n );\n } else {\n const data = await fetch({\n query: CollectionOne,\n variables: { categoryId },\n });\n return !!data?.collection ? [normalizeCategory(data?.collection)] : [];\n }\n },\n useHook:\n ({ useData }) =>\n (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};","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { UseBrands, useBrands } from \"@plasmicpkgs/commerce\";\nimport { useMemo } from \"react\";\nimport {\n GetAllProductPathsQuery,\n GetAllProductPathsQueryVariables,\n} from \"../schema\";\nimport { GetBrandsHook } from \"../types/site\";\nimport { getAllProductVendors } from \"../utils\";\n\nexport default useBrands as UseBrands<typeof handler>;\n\nexport const handler: SWRHook<GetBrandsHook> = {\n fetchOptions: {\n query: getAllProductVendors,\n },\n async fetcher({ input, options, fetch }) {\n return []; // brands it's not available on saleor\n },\n useHook:\n ({ useData }) =>\n (input) => {\n const response = useData({\n swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },\n });\n return useMemo(\n () =>\n Object.create(response, {\n isEmpty: {\n get() {\n return (response.data?.length ?? 0) <= 0;\n },\n enumerable: true,\n },\n }),\n [response]\n );\n },\n};\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:None\n*/\n\nimport { Product, SWRHook, useSearch, UseSearch } from \"@plasmicpkgs/commerce\";\n\nimport { ProductCountableEdge } from \"../schema\";\nimport { getSearchVariables, normalizeProduct } from \"../utils\";\n\nimport { SearchProductsHook } from \"@plasmicpkgs/commerce\";\nimport * as query from \"../utils/queries\";\n\nconst useSearchTyped: UseSearch<typeof handler> = useSearch;\nexport default useSearchTyped;\n\nexport type SearchProductsInput = {\n search?: string;\n categoryId?: string | number;\n brandId?: string | number;\n sort?: string;\n count?: number;\n};\n\nexport type SearchProductsData = {\n products: Product[];\n found: boolean;\n};\n\nexport const handler: SWRHook<SearchProductsHook> = {\n fetchOptions: {\n query: query.ProductMany,\n },\n async fetcher({ input, options, fetch }) {\n const { categoryId, brandId } = input;\n\n const data = await fetch({\n query: categoryId ? query.CollectionOne : options.query,\n method: options?.method,\n variables: getSearchVariables(input),\n });\n\n let edges;\n\n if (categoryId) {\n edges = data.collection?.products?.edges ?? [];\n // FIXME @zaiste, no `vendor` in Saleor\n // if (brandId) {\n // edges = edges.filter(\n // ({ node: { vendor } }: ProductCountableEdge) =>\n // vendor.replace(/\\s+/g, '-').toLowerCase() === brandId\n // )\n // }\n } else {\n edges = data.products?.edges ?? [];\n }\n\n return {\n products: edges.map(({ node }: ProductCountableEdge) =>\n normalizeProduct(node)\n ),\n found: !!edges.length,\n };\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [\n [\"search\", input.search],\n [\"categoryId\", input.categoryId],\n [\"brandId\", input.brandId],\n [\"sort\", input.sort],\n [\"count\", input.count],\n ],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","export const ProductOneById = /* GraphQL */ `\n query ProductOneById($id: ID!, $channel: String = \"default-channel\") {\n product(id: $id, channel: $channel) {\n\n slug\n name\n description\n pricing {\n priceRange {\n start {\n net {\n amount\n }\n }\n }\n }\n variants {\n id\n name\n attributes {\n attribute {\n name\n }\n values {\n name\n }\n }\n pricing {\n price {\n net {\n amount\n currency\n }\n }\n }\n }\n media {\n url\n alt\n }\n }\n }`","import { SWRHook } from \"@plasmicpkgs/commerce\";\nimport { useProduct, UseProduct } from \"@plasmicpkgs/commerce\";\n\nimport { normalizeProduct } from \"../utils\";\nimport type { GetProductHook } from \"@plasmicpkgs/commerce\";\n\nimport { ProductOneById } from \"../utils/queries/product-one-by-id\";\nimport { ProductOneBySlug } from '../utils/queries/product-one-by-slug';\n\nexport type GetProductInput = {\n id?: string;\n slug?: string\n};\n\nexport default useProduct as UseProduct<typeof handler>;\n\nexport const handler: SWRHook<GetProductHook> = {\n fetchOptions: {\n query: ProductOneById,\n },\n async fetcher({ input, options, fetch }) {\n const { id } = input;\n if (!id) {\n return null;\n }\n const data = await fetch({\n query: ProductOneById,\n variables: { id },\n });\n if (!data.product) {\n const response = await fetch({\n query: ProductOneBySlug,\n variables: { slug: id }\n })\n return response.product ? normalizeProduct(response.product) : null;\n }\n return data.product ? normalizeProduct(data.product) : null;\n },\n useHook:\n ({ useData }) =>\n (input = {}) => {\n return useData({\n input: [[\"id\", input.id]],\n swrOptions: {\n revalidateOnFocus: false,\n ...input.swrOptions,\n },\n });\n },\n};\n","\n/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: \n - Before: The saleor_api_url was defined at build time. \n So this file just implemented a fetcher with these parameters defined.\n - Now: The saleor_api_url is defined at runtime. \n So we have to get the fetcher using these parameters.\n*/\n\n\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { getToken, handleFetchResponse } from './utils'\n\nexport const getFetcher:\n (saleorApiUrl: string) => Fetcher =\n (saleorApiUrl) => {\n return async ({\n url = saleorApiUrl,\n method = 'POST',\n query,\n variables,\n }) => {\n const { locale, ...vars } = variables ?? {}\n const token = getToken()\n return handleFetchResponse(\n await fetch(url, {\n method,\n body: JSON.stringify({ query, variables: vars }),\n headers: {\n Authorization: `JWT ${token}`,\n 'Content-Type': 'application/json',\n },\n })\n )\n }\n }\n\n\n\n","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes:\n - Removed customer and auth hooks.\n - Added saleor_api_url parameters.\n*/\n\nimport { CHECKOUT_ID_COOKIE } from './const'\nimport { handler as useCart } from './cart/use-cart'\nimport { handler as useAddItem } from './cart/use-add-item'\nimport { handler as useUpdateItem } from './cart/use-update-item'\nimport { handler as useRemoveItem } from './cart/use-remove-item'\nimport { handler as useCategories } from './site/use-categories'\nimport { handler as useBrands } from './site/use-brands'\nimport { handler as useSearch } from './product/use-search'\nimport { handler as useProduct } from './product/use-product'\nimport { Fetcher } from '@plasmicpkgs/commerce'\nimport { getFetcher } from './fetcher'\n\nexport const getSaleorProvider = (saleorApiUrl: string,) => ({\n locale: 'en-us',\n cartCookie: CHECKOUT_ID_COOKIE,\n fetcher: getFetcher(saleorApiUrl),\n cart: { useCart, useAddItem, useUpdateItem, useRemoveItem },\n products: { useSearch, useProduct },\n site: { useCategories, useBrands }\n})\n\n\n\n\n\nexport type SaleorProvider = {\n locale: string;\n cartCookie: string;\n fetcher: Fetcher;\n cart: {\n useCart: typeof useCart;\n useAddItem: typeof useAddItem;\n useUpdateItem: typeof useUpdateItem;\n useRemoveItem: typeof useRemoveItem\n };\n products: {\n useSearch: typeof useSearch\n useProduct: typeof useProduct\n };\n site: {\n useCategories: typeof useCategories\n useBrands: typeof useBrands\n }\n}","/*\n Forked from https://github.com/vercel/commerce/tree/main/packages/saleor/src\n Changes: \n - Added saleor_api_url parameter.\n*/\nimport {\n getCommerceProvider as getCoreCommerceProvider,\n useCommerce as useCoreCommerce,\n} from \"@plasmicpkgs/commerce\";\nimport { getSaleorProvider, SaleorProvider } from \"./provider\";\n\nexport type { SaleorProvider };\n\nexport const useCommerce = () => useCoreCommerce<SaleorProvider>();\nexport const getCommerceProvider = (saleorApiUrl: string) =>\n getCoreCommerceProvider(getSaleorProvider(saleorApiUrl));\n","import { GlobalContextMeta } from \"@plasmicapp/host\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\nimport { getCommerceProvider } from \"./saleor\";\n\ninterface CommerceProviderProps {\n children?: React.ReactNode;\n saleorApiUrl: string;\n}\n\nconst globalContextName = \"plasmic-commerce-saleor-provider\";\n\nexport const commerceProviderMeta: GlobalContextMeta<CommerceProviderProps> = {\n name: globalContextName,\n displayName: \"Saleor Provider\",\n props: {\n saleorApiUrl: {\n type: \"string\",\n defaultValue: \"https://vercel.saleor.cloud/graphql/\",\n },\n },\n ...{ globalActions: globalActionsRegistrations },\n importPath: \"@plasmicpkgs/commerce-saleor\",\n importName: \"CommerceProviderComponent\",\n};\n\nexport function CommerceProviderComponent(props: CommerceProviderProps) {\n const { saleorApiUrl, children } = props;\n\n const CommerceProvider = React.useMemo(\n () => getCommerceProvider(saleorApiUrl),\n [saleorApiUrl]\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 {\n registerCommerceProvider,\n CommerceProviderComponent,\n} from \"./registerCommerceProvider\";\nexport * from \"./registerable\";\n\nexport * from \"./saleor\";\n\nexport function registerAll(loader?: Registerable) {\n registerCommerceProvider(loader);\n}\n\nexport { registerCommerceProvider, CommerceProviderComponent };\n"],"names":["CHECKOUT_ID_COOKIE","SALEOR_TOKEN","getSortVariables","sort","isCategory","output","field","direction","getError","errors","status","_errors","message","FetcherError","getAsyncError","_x","_getAsyncError","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","res","data","wrap","_callee2$","_context2","prev","next","json","sent","abrupt","stop","handleFetchResponse","_ref","_callee","_yield$res$json","_callee$","_context","ok","length","_x2","getSearchVariables","search","categoryId","count","sortBy","_extends","channel","filter","first","getCheckoutId","id","r","_Cookies$get","Cookies","get","split","checkoutId","checkoutToken","ProductConnection","CheckoutDetails","CheckoutCreate","fragment","CheckoutLineAdd","CheckoutLineUpdate","CheckoutLineDelete","checkoutCreate","fetch","_data$checkoutCreate","checkout","value","options","query","mutation","token","expires","sameSite","secure","set","placeholderImg","money","amount","currency","currencyCode","normalizeProductOptions","map","option","attributes","flat","reduce","acc","x","find","_ref2","displayName","attribute","name","opt","values","concat","label","__typename","variant","normalizeProductVariants","variants","sku","pricing","price","_pricing$price","net","_money","listPrice","requiresShipping","normalizeProduct","productNode","_productNode$media","media","description","slug","rest","_objectWithoutPropertiesLoose","_excluded","product","vendor","_JSON$parse","JSON","parse","blocks","text","path","replace","_pricing$priceRange","priceRange","start","images","url","normalizeCart","lines","lineItems","normalizeLineItem","customerId","email","createdAt","created","code","_checkout$totalPrice","totalPrice","taxesIncluded","lineItemsSubtotalPrice","_checkout$subtotalPri","subtotalPrice","gross","_checkout$subtotalPri2","_checkout$totalPrice2","discounts","_ref3","quantity","variantId","String","productId","_variant$product","_variant$sku","image","_variant$pricing","_variant$product2","normalizeCategory","_ref4","throwUserErrors","ValidationError","checkoutToCart","checkoutPayload","CommerceError","_checkoutPayload$erro","console","error","undefined","getToken","Const","CollectionMany","ProductOneBySlug","ProductMany","CollectionOne","CheckoutOne","getAllProductVendors","handler","fetchOptions","fetcher","input","cartId","variables","_checkout","completedAt","useHook","useData","response","swrOptions","revalidateOnFocus","useMemo","Object","create","isEmpty","_response$data$lineIt","_response$data","enumerable","item","Number","isInteger","_item$quantity","_yield$fetch","checkoutLinesAdd","_useCart","useCart","mutate","useCallback","_addItem","addItem","itemId","lineId","checkoutLineDelete","_removeItem","removeItem","_ref$input","removeItemHandler","checkoutLinesUpdate","ctx","_ctx","debounce","_input$id","_ctx$wait","wait","_data$collections$edg","_data$collections","collections","edges","node","collection","_response$data$length","brandId","method","_data$collection$prod","_data$collection","products","_data$products$edges","_data$products","found","ProductOneById","getFetcher","saleorApiUrl","_ref$url","_ref$method","locale","vars","t0","body","stringify","headers","Authorization","t1","getSaleorProvider","cartCookie","cart","useAddItem","useUpdateItem","useRemoveItem","useSearch","useProduct","site","useCategories","useBrands","useCommerce","useCoreCommerce","getCommerceProvider","getCoreCommerceProvider","globalContextName","commerceProviderMeta","props","type","defaultValue","globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","CommerceProvider","React","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/commerce-saleor",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.172",
|
|
4
4
|
"description": "Plasmic registration calls for saleor 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
|
"dependencies": {
|
|
21
|
-
"@plasmicpkgs/commerce": "0.0.
|
|
21
|
+
"@plasmicpkgs/commerce": "0.0.208",
|
|
22
22
|
"debounce": "^1.2.1",
|
|
23
23
|
"js-cookie": "^3.0.5"
|
|
24
24
|
},
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"react": ">=16.8.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@plasmicapp/host": "1.0.
|
|
30
|
+
"@plasmicapp/host": "1.0.210",
|
|
31
31
|
"@size-limit/preset-small-lib": "^7.0.8",
|
|
32
32
|
"@types/debounce": "^1.2.1",
|
|
33
33
|
"@types/js-cookie": "^3.0.5",
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"publishConfig": {
|
|
44
44
|
"access": "public"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "7f923856013e0efa4eb893fa16c2f48bd4edc9c3"
|
|
47
47
|
}
|