@plasmicpkgs/commerce-saleor 0.0.125 → 0.0.128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commerce-saleor.cjs.development.js +69 -50
- package/dist/commerce-saleor.cjs.development.js.map +1 -1
- package/dist/commerce-saleor.cjs.production.min.js +1 -1
- package/dist/commerce-saleor.cjs.production.min.js.map +1 -1
- package/dist/commerce-saleor.esm.js +69 -50
- package/dist/commerce-saleor.esm.js.map +1 -1
- package/package.json +4 -4
|
@@ -409,7 +409,6 @@ var getSortVariables = function getSortVariables(sort, isCategory) {
|
|
|
409
409
|
return output;
|
|
410
410
|
};
|
|
411
411
|
|
|
412
|
-
var _getAsyncError, _ref;
|
|
413
412
|
function getError(errors, status) {
|
|
414
413
|
var _errors;
|
|
415
414
|
errors = (_errors = errors) != null ? _errors : [{
|
|
@@ -421,58 +420,65 @@ function getError(errors, status) {
|
|
|
421
420
|
});
|
|
422
421
|
}
|
|
423
422
|
function getAsyncError(_x) {
|
|
424
|
-
return
|
|
423
|
+
return _getAsyncError.apply(this, arguments);
|
|
424
|
+
}
|
|
425
|
+
function _getAsyncError() {
|
|
426
|
+
_getAsyncError = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(res) {
|
|
425
427
|
var data;
|
|
426
|
-
return _regeneratorRuntime().wrap(function
|
|
427
|
-
while (1) switch (
|
|
428
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
429
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
428
430
|
case 0:
|
|
429
|
-
|
|
431
|
+
_context2.next = 2;
|
|
430
432
|
return res.json();
|
|
431
433
|
case 2:
|
|
432
|
-
data =
|
|
433
|
-
return
|
|
434
|
+
data = _context2.sent;
|
|
435
|
+
return _context2.abrupt("return", getError(data.errors, res.status));
|
|
434
436
|
case 4:
|
|
435
437
|
case "end":
|
|
436
|
-
return
|
|
438
|
+
return _context2.stop();
|
|
437
439
|
}
|
|
438
|
-
},
|
|
439
|
-
}))
|
|
440
|
+
}, _callee2);
|
|
441
|
+
}));
|
|
442
|
+
return _getAsyncError.apply(this, arguments);
|
|
440
443
|
}
|
|
441
|
-
var handleFetchResponse = function
|
|
442
|
-
|
|
444
|
+
var handleFetchResponse = /*#__PURE__*/function () {
|
|
445
|
+
var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(res) {
|
|
443
446
|
var _yield$res$json, data, errors;
|
|
444
|
-
return _regeneratorRuntime().wrap(function
|
|
445
|
-
while (1) switch (
|
|
447
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
448
|
+
while (1) switch (_context.prev = _context.next) {
|
|
446
449
|
case 0:
|
|
447
450
|
if (!res.ok) {
|
|
448
|
-
|
|
451
|
+
_context.next = 9;
|
|
449
452
|
break;
|
|
450
453
|
}
|
|
451
|
-
|
|
454
|
+
_context.next = 3;
|
|
452
455
|
return res.json();
|
|
453
456
|
case 3:
|
|
454
|
-
_yield$res$json =
|
|
457
|
+
_yield$res$json = _context.sent;
|
|
455
458
|
data = _yield$res$json.data;
|
|
456
459
|
errors = _yield$res$json.errors;
|
|
457
460
|
if (!(errors && errors.length)) {
|
|
458
|
-
|
|
461
|
+
_context.next = 8;
|
|
459
462
|
break;
|
|
460
463
|
}
|
|
461
464
|
throw getError(errors, res.status);
|
|
462
465
|
case 8:
|
|
463
|
-
return
|
|
466
|
+
return _context.abrupt("return", data);
|
|
464
467
|
case 9:
|
|
465
|
-
|
|
468
|
+
_context.next = 11;
|
|
466
469
|
return getAsyncError(res);
|
|
467
470
|
case 11:
|
|
468
|
-
throw
|
|
471
|
+
throw _context.sent;
|
|
469
472
|
case 12:
|
|
470
473
|
case "end":
|
|
471
|
-
return
|
|
474
|
+
return _context.stop();
|
|
472
475
|
}
|
|
473
|
-
},
|
|
474
|
-
}))
|
|
475
|
-
|
|
476
|
+
}, _callee);
|
|
477
|
+
}));
|
|
478
|
+
return function handleFetchResponse(_x2) {
|
|
479
|
+
return _ref.apply(this, arguments);
|
|
480
|
+
};
|
|
481
|
+
}();
|
|
476
482
|
|
|
477
483
|
var getSearchVariables = function getSearchVariables(_ref) {
|
|
478
484
|
var search = _ref.search,
|
|
@@ -544,9 +550,8 @@ var CheckoutLineUpdate = /* GraphQL */"\n mutation CheckoutLineUpdate($checkout
|
|
|
544
550
|
*/
|
|
545
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";
|
|
546
552
|
|
|
547
|
-
var
|
|
548
|
-
var
|
|
549
|
-
return (_ref$1 = _ref$1 || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
|
|
553
|
+
var checkoutCreate = /*#__PURE__*/function () {
|
|
554
|
+
var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetch) {
|
|
550
555
|
var _data$checkoutCreate;
|
|
551
556
|
var data, checkout, checkoutId, checkoutToken, value, options;
|
|
552
557
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -576,8 +581,11 @@ var checkoutCreate = function checkoutCreate(_x) {
|
|
|
576
581
|
return _context.stop();
|
|
577
582
|
}
|
|
578
583
|
}, _callee);
|
|
579
|
-
}))
|
|
580
|
-
|
|
584
|
+
}));
|
|
585
|
+
return function checkoutCreate(_x) {
|
|
586
|
+
return _ref.apply(this, arguments);
|
|
587
|
+
};
|
|
588
|
+
}();
|
|
581
589
|
|
|
582
590
|
var _excluded = ["id", "name", "media", "variants", "description", "slug", "pricing"];
|
|
583
591
|
/* eslint-disable */
|
|
@@ -935,11 +943,10 @@ var handler$1 = {
|
|
|
935
943
|
useHook: function useHook(_ref2) {
|
|
936
944
|
var fetch = _ref2.fetch;
|
|
937
945
|
return function () {
|
|
938
|
-
var _addItem;
|
|
939
946
|
var _useCart = commerce.useCart(),
|
|
940
947
|
mutate = _useCart.mutate;
|
|
941
|
-
return React.useCallback(function
|
|
942
|
-
|
|
948
|
+
return React.useCallback( /*#__PURE__*/function () {
|
|
949
|
+
var _addItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
|
|
943
950
|
var data;
|
|
944
951
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
945
952
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -969,8 +976,12 @@ var handler$1 = {
|
|
|
969
976
|
return _context2.stop();
|
|
970
977
|
}
|
|
971
978
|
}, _callee2);
|
|
972
|
-
}))
|
|
973
|
-
|
|
979
|
+
}));
|
|
980
|
+
function addItem(_x) {
|
|
981
|
+
return _addItem.apply(this, arguments);
|
|
982
|
+
}
|
|
983
|
+
return addItem;
|
|
984
|
+
}(), [fetch, mutate]);
|
|
974
985
|
};
|
|
975
986
|
}
|
|
976
987
|
};
|
|
@@ -1006,11 +1017,10 @@ var handler$2 = {
|
|
|
1006
1017
|
useHook: function useHook(_ref2) {
|
|
1007
1018
|
var fetch = _ref2.fetch;
|
|
1008
1019
|
return function () {
|
|
1009
|
-
var _removeItem;
|
|
1010
1020
|
var _useCart = commerce.useCart(),
|
|
1011
1021
|
mutate = _useCart.mutate;
|
|
1012
|
-
return React.useCallback(function
|
|
1013
|
-
|
|
1022
|
+
return React.useCallback( /*#__PURE__*/function () {
|
|
1023
|
+
var _removeItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
|
|
1014
1024
|
var data;
|
|
1015
1025
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1016
1026
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -1032,8 +1042,12 @@ var handler$2 = {
|
|
|
1032
1042
|
return _context2.stop();
|
|
1033
1043
|
}
|
|
1034
1044
|
}, _callee2);
|
|
1035
|
-
}))
|
|
1036
|
-
|
|
1045
|
+
}));
|
|
1046
|
+
function removeItem(_x) {
|
|
1047
|
+
return _removeItem.apply(this, arguments);
|
|
1048
|
+
}
|
|
1049
|
+
return removeItem;
|
|
1050
|
+
}(), [fetch, mutate]);
|
|
1037
1051
|
};
|
|
1038
1052
|
}
|
|
1039
1053
|
};
|
|
@@ -1101,7 +1115,7 @@ var handler$3 = {
|
|
|
1101
1115
|
useHook: function useHook(_ref2) {
|
|
1102
1116
|
var fetch = _ref2.fetch;
|
|
1103
1117
|
return function (ctx) {
|
|
1104
|
-
var
|
|
1118
|
+
var _ctx$wait;
|
|
1105
1119
|
if (ctx === void 0) {
|
|
1106
1120
|
ctx = {};
|
|
1107
1121
|
}
|
|
@@ -1109,8 +1123,8 @@ var handler$3 = {
|
|
|
1109
1123
|
item = _ctx.item;
|
|
1110
1124
|
var _useCart = commerce.useCart(),
|
|
1111
1125
|
mutate = _useCart.mutate;
|
|
1112
|
-
return React.useCallback(debounce(function (
|
|
1113
|
-
|
|
1126
|
+
return React.useCallback(debounce( /*#__PURE__*/function () {
|
|
1127
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(input) {
|
|
1114
1128
|
var _input$id;
|
|
1115
1129
|
var itemId, data;
|
|
1116
1130
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
@@ -1145,8 +1159,11 @@ var handler$3 = {
|
|
|
1145
1159
|
return _context2.stop();
|
|
1146
1160
|
}
|
|
1147
1161
|
}, _callee2);
|
|
1148
|
-
}))
|
|
1149
|
-
|
|
1162
|
+
}));
|
|
1163
|
+
return function (_x) {
|
|
1164
|
+
return _ref3.apply(this, arguments);
|
|
1165
|
+
};
|
|
1166
|
+
}(), (_ctx$wait = ctx.wait) != null ? _ctx$wait : 500), [fetch, mutate]);
|
|
1150
1167
|
};
|
|
1151
1168
|
}
|
|
1152
1169
|
};
|
|
@@ -1394,9 +1411,8 @@ var handler$7 = {
|
|
|
1394
1411
|
|
|
1395
1412
|
var _excluded$1 = ["locale"];
|
|
1396
1413
|
var getFetcher = function getFetcher(saleorApiUrl) {
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
return (_ref2 = _ref2 || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
1414
|
+
return /*#__PURE__*/function () {
|
|
1415
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
1400
1416
|
var _ref$url, url, _ref$method, method, query, variables, _ref3, vars, token;
|
|
1401
1417
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1402
1418
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -1425,8 +1441,11 @@ var getFetcher = function getFetcher(saleorApiUrl) {
|
|
|
1425
1441
|
return _context.stop();
|
|
1426
1442
|
}
|
|
1427
1443
|
}, _callee);
|
|
1428
|
-
}))
|
|
1429
|
-
|
|
1444
|
+
}));
|
|
1445
|
+
return function (_x) {
|
|
1446
|
+
return _ref2.apply(this, arguments);
|
|
1447
|
+
};
|
|
1448
|
+
}();
|
|
1430
1449
|
};
|
|
1431
1450
|
|
|
1432
1451
|
/*
|
|
@@ -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 React from \"react\";\nimport { Registerable } from \"./registerable\";\nimport { getCommerceProvider } from \"./saleor\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\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 unstable__globalActions: globalActionsRegistrations as any,\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","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","data","wrap","_callee$","_context","prev","next","json","sent","abrupt","stop","apply","arguments","handleFetchResponse","_x2","_ref","_callee2","_yield$res$json","_callee2$","_context2","ok","length","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","unstable__globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","CommerceProvider","React","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commerce-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 React from \"react\";\nimport { Registerable } from \"./registerable\";\nimport { getCommerceProvider } from \"./saleor\";\nimport {\n CartActionsProvider,\n globalActionsRegistrations,\n} from \"@plasmicpkgs/commerce\";\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 unstable__globalActions: globalActionsRegistrations as any,\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","unstable__globalActions","globalActionsRegistrations","importPath","importName","CommerceProviderComponent","children","CommerceProvider","React","CartActionsProvider","registerCommerceProvider","loader","customCommerceProviderMeta","doRegisterComponent","registerGlobalContext","registerAll"],"mappings":"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"}
|