@faststore/core 2.2.0-alpha.1 → 2.2.0-alpha.12
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +74 -75
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/eslint/.cache_1gneedd +1 -1
- package/.next/cache/next-server.js.nft.json +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +11 -8
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/{647.js → 117.js} +32 -35
- package/.next/server/chunks/183.js +1 -0
- package/.next/server/chunks/289.js +25 -27
- package/.next/server/chunks/312.js +53 -72
- package/.next/server/chunks/350.js +8 -8
- package/.next/server/chunks/{483.js → 37.js} +121 -162
- package/.next/server/chunks/386.js +200 -0
- package/.next/server/chunks/{753.js → 387.js} +8 -12
- package/.next/server/chunks/574.js +42 -23
- package/.next/server/chunks/576.js +1 -0
- package/.next/server/chunks/{530.js → 585.js} +65 -51
- package/.next/server/chunks/{186.js → 692.js} +6 -8
- package/.next/server/chunks/{112.js → 732.js} +282 -457
- package/.next/server/chunks/74.js +247 -345
- package/.next/server/chunks/825.js +38 -3
- package/.next/server/chunks/{71.js → 897.js} +174 -181
- package/.next/server/chunks/98.js +42 -23
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.js +13 -13
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js +14 -14
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +141 -184
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +242 -219
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js +3 -4
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js +17 -33
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/account.js +12 -12
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +15 -8
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/api/preview.js +2 -20
- package/.next/server/pages/checkout.js +12 -12
- package/.next/server/pages/checkout.js.nft.json +1 -1
- package/.next/server/pages/en-US/404.html +2 -2
- package/.next/server/pages/en-US/500.html +2 -2
- package/.next/server/pages/en-US/account.html +2 -2
- package/.next/server/pages/en-US/checkout.html +2 -2
- package/.next/server/pages/en-US/login.html +2 -2
- package/.next/server/pages/en-US/s.html +2 -2
- package/.next/server/pages/en-US.html +11 -2
- package/.next/server/pages/index.js +41 -48
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js +15 -15
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js +52 -52
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +2 -2
- package/.next/static/6R1hrzilfMwT81RW6cNqt/_buildManifest.js +1 -0
- package/.next/static/chunks/251.ffc4f3998ecb915a.js +1 -0
- package/.next/static/chunks/383-6217b37bd38ffd07.js +1 -0
- package/.next/static/chunks/386.d01e0db26c523f0f.js +1 -0
- package/.next/static/chunks/{574.d13dd0afe15cd635.js → 574.70612be06fd1365f.js} +1 -1
- package/.next/static/chunks/585.3350efefe61c9461.js +1 -0
- package/.next/static/chunks/635-666ee2cad2925bb7.js +1 -0
- package/.next/static/chunks/721-f1665b3f1d98b7a9.js +1 -0
- package/.next/static/chunks/722-d0cc87aacd616b5d.js +1 -0
- package/.next/static/chunks/783-ded9d8cda0d5c8d9.js +1 -0
- package/.next/static/chunks/{709.daf1eddebf1e7952.js → 800.851af48fe2ab4a4c.js} +1 -1
- package/.next/static/chunks/98.40c7e17d9de4eb8f.js +1 -0
- package/.next/static/chunks/988.afda042dd9ba11d1.js +1 -0
- package/.next/static/chunks/main-e4e873ee741162eb.js +1 -0
- package/.next/static/chunks/pages/{404-af78f7cd1d3c1f60.js → 404-6c674028b2f80cbb.js} +1 -1
- package/.next/static/chunks/pages/{500-f6346ca5f9dc4fef.js → 500-ff55de77265a7e43.js} +1 -1
- package/.next/static/chunks/pages/[...slug]-7f8dc13cc9542463.js +1 -0
- package/.next/static/chunks/pages/[slug]/p-2fb3fd9027f2923b.js +1 -0
- package/.next/static/chunks/pages/{_app-6d0e6ab9a4dd8106.js → _app-7db7de3d205714be.js} +1 -1
- package/.next/static/chunks/pages/{account-05bd79fb78365e88.js → account-b06035cba2c99604.js} +1 -1
- package/.next/static/chunks/pages/{checkout-c973786e68f25a39.js → checkout-f0c3e8d691cb8a54.js} +1 -1
- package/.next/static/chunks/pages/index-a141c747fcc197a1.js +1 -0
- package/.next/static/chunks/pages/{login-8deb9243376b6aa1.js → login-4e0e6cab7a07f1f3.js} +1 -1
- package/.next/static/chunks/pages/s-823f8e1cabbf63b3.js +1 -0
- package/.next/static/chunks/webpack-f3d0973d5a781e73.js +1 -0
- package/.next/static/css/6a7fdc5a21fbead5.css +1 -0
- package/.next/static/css/723835bce380750d.css +1 -0
- package/.next/static/css/8f93a4630936c20b.css +1 -0
- package/.next/static/css/9f79fa103f49bca1.css +1 -0
- package/.next/static/css/fd27ecc37832aa54.css +1 -0
- package/.next/trace +77 -80
- package/.turbo/turbo-build.log +24 -21
- package/.turbo/turbo-lint.log +3 -0
- package/.turbo/turbo-test.log +10 -10
- package/@generated/graphql/index.ts +38 -14
- package/@generated/graphql/persisted.json +6 -6
- package/README.md +3 -3
- package/cms/faststore/sections.json +24 -0
- package/cypress/global.js +8 -0
- package/cypress/integration/a11y.test.js +7 -24
- package/cypress/integration/analytics.test.js +78 -87
- package/cypress/integration/cart.test.js +4 -4
- package/cypress/integration/plp.test.js +6 -6
- package/cypress/integration/search.test.js +1 -1
- package/cypress/integration/seo.test.js +14 -14
- package/cypress.config.ts +19 -0
- package/faststore.config.js +1 -0
- package/index.ts +4 -0
- package/next.config.js +4 -0
- package/package.json +22 -18
- package/src/components/cart/CartSidebar/CartSidebar.tsx +41 -27
- package/src/components/product/NotAvailableButton/NotAvailableButton.tsx +13 -0
- package/src/components/product/NotAvailableButton/index.ts +1 -0
- package/src/components/product/ProductGrid/ProductGrid.tsx +2 -2
- package/src/components/search/Filter/Filter.tsx +1 -1
- package/src/components/search/Filter/FilterDesktop.tsx +1 -1
- package/src/components/search/Filter/FilterSlider.tsx +1 -1
- package/src/components/search/SearchInput/SearchInput.tsx +12 -1
- package/src/components/search/SearchTop/SearchTop.tsx +7 -1
- package/src/components/sections/CrossSellingShelf/CrossSellingShelf.tsx +0 -1
- package/src/components/sections/Newsletter/Overrides.tsx +4 -0
- package/src/components/sections/ProductDetails/Overrides.tsx +8 -4
- package/src/components/sections/ProductDetails/ProductDetails.tsx +26 -15
- package/src/components/sections/ProductTiles/ProductTiles.tsx +3 -2
- package/src/components/ui/ImageGallery/ImageGallery.tsx +13 -6
- package/src/components/ui/Newsletter/Newsletter.tsx +6 -44
- package/src/components/ui/Newsletter/NewsletterAddendum.tsx +86 -0
- package/src/components/ui/ProductDescription/ProductDescription.tsx +6 -1
- package/src/components/ui/ProductDetails/ProductDetailsSettings.tsx +97 -58
- package/src/components/ui/ProductGallery/ProductGallery.tsx +2 -2
- package/src/components/ui/ShippingSimulation/ShippingSimulation.tsx +12 -34
- package/src/customizations/fragments/{ClientProducts.ts → ClientManyProducts.ts} +1 -1
- package/src/customizations/fragments/ClientSearchSuggestions.ts +13 -0
- package/src/customizations/fragments/ClientShippingSimulation.ts +11 -0
- package/src/customizations/fragments/ClientTopSearchSuggestions.ts +13 -0
- package/src/customizations/fragments/{ServerProductPage.ts → ServerProduct.ts} +1 -1
- package/src/experimental/index.ts +36 -0
- package/src/pages/[...slug].tsx +5 -2
- package/src/pages/[slug]/p.tsx +7 -7
- package/src/sdk/analytics/index.tsx +1 -1
- package/src/sdk/analytics/platform/vtex/search.ts +53 -21
- package/src/sdk/analytics/types.ts +14 -0
- package/src/sdk/overrides/PageProvider.tsx +9 -5
- package/src/sdk/product/useLocalizedVariables.ts +2 -2
- package/src/sdk/product/usePageProductsQuery.ts +8 -8
- package/src/sdk/product/useProductGalleryQuery.ts +32 -3
- package/src/sdk/product/useProductsPrefetch.ts +4 -4
- package/src/sdk/product/useProductsQuery.ts +7 -7
- package/src/sdk/search/useSuggestions.ts +48 -16
- package/src/sdk/search/useTopSearch.ts +7 -12
- package/src/sdk/shipping/index.ts +6 -4
- package/src/{components/ui/ShippingSimulation → sdk/shipping}/useShippingSimulation.ts +33 -56
- package/src/server/generator/schema.ts +2 -1
- package/src/typings/overrides.ts +8 -2
- package/tsconfig.json +2 -1
- package/.next/static/chunks/148.3bb7e05cc5d1c1c4.js +0 -1
- package/.next/static/chunks/238-86838f629f3d0aa4.js +0 -1
- package/.next/static/chunks/243-ef9e49ef3df579c0.js +0 -1
- package/.next/static/chunks/530.848b014622932b93.js +0 -1
- package/.next/static/chunks/548-ab84e9e8b49413ab.js +0 -1
- package/.next/static/chunks/738-67a288ca3569cdbb.js +0 -1
- package/.next/static/chunks/932-33f45603c7d12a4b.js +0 -1
- package/.next/static/chunks/98.1632997dfd4d3a52.js +0 -1
- package/.next/static/chunks/988.d10040040cdfebbb.js +0 -1
- package/.next/static/chunks/main-fd466221927468fd.js +0 -1
- package/.next/static/chunks/pages/[...slug]-362204c7e0b533cf.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-885042c4b2b4f8ed.js +0 -1
- package/.next/static/chunks/pages/index-79b05b0071c02fff.js +0 -1
- package/.next/static/chunks/pages/s-e1bb00f8de6a386e.js +0 -1
- package/.next/static/chunks/webpack-88d120cefa1c4c09.js +0 -1
- package/.next/static/css/20e4a3a45cdd65f4.css +0 -1
- package/.next/static/css/4b7138899cd07c63.css +0 -1
- package/.next/static/css/e3b039e8f5daf95f.css +0 -1
- package/.next/static/css/f0e2d1b8832e935d.css +0 -1
- package/.next/static/wPqgZ8bYrPY473PZzuIX_/_buildManifest.js +0 -1
- package/cypress.json +0 -9
- package/generate.sh +0 -71
- /package/.next/static/{wPqgZ8bYrPY473PZzuIX_ → 6R1hrzilfMwT81RW6cNqt}/_ssgManifest.js +0 -0
- /package/src/{components/ui/ProductGallery → sdk/search}/useDelayedFacets.ts +0 -0
- /package/src/{components/ui/ProductGallery → sdk/search}/useDelayedPagination.ts +0 -0
- /package/src/{components/search/Filter → sdk/search}/useFilter.ts +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
exports.id =
|
|
2
|
-
exports.ids = [
|
|
1
|
+
exports.id = 732;
|
|
2
|
+
exports.ids = [732];
|
|
3
3
|
exports.modules = {
|
|
4
4
|
|
|
5
5
|
/***/ 6133:
|
|
@@ -283,7 +283,7 @@ function FilterFacetRange({ min, max, formatter, facetKey, onFacetChange, }) {
|
|
|
283
283
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
284
284
|
/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(783);
|
|
285
285
|
/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7734);
|
|
286
|
-
/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
286
|
+
/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5208);
|
|
287
287
|
|
|
288
288
|
|
|
289
289
|
function FilterFacets({ testId, label, index, children, type, }) {
|
|
@@ -296,200 +296,17 @@ function FilterFacets({ testId, label, index, children, type, }) {
|
|
|
296
296
|
|
|
297
297
|
/***/ }),
|
|
298
298
|
|
|
299
|
-
/***/
|
|
299
|
+
/***/ 9044:
|
|
300
300
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
301
301
|
|
|
302
302
|
"use strict";
|
|
303
|
-
// ESM COMPAT FLAG
|
|
304
|
-
__webpack_require__.r(__webpack_exports__);
|
|
305
303
|
|
|
306
304
|
// EXPORTS
|
|
307
305
|
__webpack_require__.d(__webpack_exports__, {
|
|
308
|
-
"
|
|
306
|
+
"Z": () => (/* binding */ Filter_Filter)
|
|
309
307
|
});
|
|
310
308
|
|
|
311
|
-
//
|
|
312
|
-
var useSearch = __webpack_require__(3221);
|
|
313
|
-
// EXTERNAL MODULE: external "react"
|
|
314
|
-
var external_react_ = __webpack_require__(6689);
|
|
315
|
-
var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
|
|
316
|
-
// EXTERNAL MODULE: ../components/dist/esm/hooks/useFadeEffect.js
|
|
317
|
-
var useFadeEffect = __webpack_require__(3666);
|
|
318
|
-
// EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
|
|
319
|
-
var UIProvider = __webpack_require__(6652);
|
|
320
|
-
// EXTERNAL MODULE: ../components/dist/esm/organisms/SlideOver/SlideOver.js
|
|
321
|
-
var SlideOver = __webpack_require__(7215);
|
|
322
|
-
// EXTERNAL MODULE: ../components/dist/esm/organisms/SlideOver/SlideOverHeader.js
|
|
323
|
-
var SlideOverHeader = __webpack_require__(5049);
|
|
324
|
-
// EXTERNAL MODULE: ../components/dist/esm/atoms/Button/Button.js
|
|
325
|
-
var Button = __webpack_require__(3339);
|
|
326
|
-
;// CONCATENATED MODULE: ../components/dist/esm/organisms/Filter/FilterSlider.js
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
function FilterSlider({ title, size, direction, children, applyBtnProps, clearBtnProps, overlayProps, onClose, ...otherProps }) {
|
|
330
|
-
const { fade, fadeOut } = (0,useFadeEffect/* useFadeEffect */.b)();
|
|
331
|
-
const { closeFilter } = (0,UIProvider/* useUI */.l)();
|
|
332
|
-
return (external_react_default().createElement(SlideOver/* default */.Z, { "data-fs-filter-slider": true, isOpen: true, fade: fade, onDismiss: fadeOut, size: size, direction: direction, onTransitionEnd: () => fade === 'out' && closeFilter(), overlayProps: overlayProps, ...otherProps },
|
|
333
|
-
external_react_default().createElement("div", { "data-fs-filter-slider-content": true },
|
|
334
|
-
external_react_default().createElement(SlideOverHeader/* default */.Z, { onClose: () => {
|
|
335
|
-
onClose();
|
|
336
|
-
fadeOut();
|
|
337
|
-
} },
|
|
338
|
-
external_react_default().createElement("h2", { "data-fs-filter-slider-title": true }, title)),
|
|
339
|
-
children),
|
|
340
|
-
external_react_default().createElement("footer", { "data-fs-filter-slider-footer": true },
|
|
341
|
-
external_react_default().createElement(Button/* default */.Z, { "data-fs-filter-slider-footer-button-clear": true, ...clearBtnProps }),
|
|
342
|
-
external_react_default().createElement(Button/* default */.Z, { "data-fs-filter-slider-footer-button-apply": true, "data-testid": "filter-slider-button-apply", ...applyBtnProps, onClick: (e) => {
|
|
343
|
-
applyBtnProps?.onClick?.(e);
|
|
344
|
-
fadeOut();
|
|
345
|
-
} }))));
|
|
346
|
-
}
|
|
347
|
-
/* harmony default export */ const Filter_FilterSlider = (FilterSlider);
|
|
348
|
-
//# sourceMappingURL=FilterSlider.js.map
|
|
349
|
-
// EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/Filter.js
|
|
350
|
-
var Filter = __webpack_require__(5699);
|
|
351
|
-
// EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacets.js
|
|
352
|
-
var FilterFacets = __webpack_require__(4199);
|
|
353
|
-
// EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacetBoolean.js
|
|
354
|
-
var FilterFacetBoolean = __webpack_require__(2815);
|
|
355
|
-
// EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacetBooleanItem.js + 1 modules
|
|
356
|
-
var FilterFacetBooleanItem = __webpack_require__(1305);
|
|
357
|
-
// EXTERNAL MODULE: ../components/dist/esm/organisms/Filter/FilterFacetRange.js + 2 modules
|
|
358
|
-
var FilterFacetRange = __webpack_require__(1355);
|
|
359
|
-
// EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
|
|
360
|
-
var useFormattedPrice = __webpack_require__(5346);
|
|
361
|
-
// EXTERNAL MODULE: ./src/components/search/Filter/section.module.scss
|
|
362
|
-
var section_module = __webpack_require__(5813);
|
|
363
|
-
var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
|
|
364
|
-
// EXTERNAL MODULE: external "react/jsx-runtime"
|
|
365
|
-
var jsx_runtime_ = __webpack_require__(997);
|
|
366
|
-
;// CONCATENATED MODULE: ./src/components/search/Filter/FilterSlider.tsx
|
|
367
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
368
|
-
|
|
369
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
370
|
-
|
|
371
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
function FilterSlider_FilterSlider({
|
|
381
|
-
facets,
|
|
382
|
-
testId,
|
|
383
|
-
dispatch,
|
|
384
|
-
expanded,
|
|
385
|
-
selected,
|
|
386
|
-
title,
|
|
387
|
-
clearButtonLabel,
|
|
388
|
-
applyButtonLabel
|
|
389
|
-
}) {
|
|
390
|
-
const {
|
|
391
|
-
resetInfiniteScroll,
|
|
392
|
-
setState,
|
|
393
|
-
state
|
|
394
|
-
} = (0,useSearch/* useSearch */.R)();
|
|
395
|
-
return /*#__PURE__*/jsx_runtime_.jsx(Filter_FilterSlider, {
|
|
396
|
-
overlayProps: {
|
|
397
|
-
className: `section ${(section_module_default()).section} section-filter-slider`
|
|
398
|
-
},
|
|
399
|
-
title: title,
|
|
400
|
-
size: "partial",
|
|
401
|
-
direction: "rightSide",
|
|
402
|
-
clearBtnProps: {
|
|
403
|
-
variant: 'secondary',
|
|
404
|
-
onClick: () => dispatch({
|
|
405
|
-
type: 'selectFacets',
|
|
406
|
-
payload: []
|
|
407
|
-
}),
|
|
408
|
-
children: clearButtonLabel ?? 'Clear All'
|
|
409
|
-
},
|
|
410
|
-
applyBtnProps: {
|
|
411
|
-
variant: 'primary',
|
|
412
|
-
onClick: () => {
|
|
413
|
-
resetInfiniteScroll(0);
|
|
414
|
-
setState(_objectSpread(_objectSpread({}, state), {}, {
|
|
415
|
-
selectedFacets: selected,
|
|
416
|
-
page: 0
|
|
417
|
-
}));
|
|
418
|
-
},
|
|
419
|
-
children: applyButtonLabel ?? 'Apply'
|
|
420
|
-
},
|
|
421
|
-
onClose: () => {
|
|
422
|
-
dispatch({
|
|
423
|
-
type: 'selectFacets',
|
|
424
|
-
payload: state.selectedFacets
|
|
425
|
-
});
|
|
426
|
-
},
|
|
427
|
-
children: /*#__PURE__*/jsx_runtime_.jsx(Filter/* default */.Z, {
|
|
428
|
-
testId: `mobile-${testId}`,
|
|
429
|
-
indicesExpanded: expanded,
|
|
430
|
-
onAccordionChange: index => dispatch({
|
|
431
|
-
type: 'toggleExpanded',
|
|
432
|
-
payload: index
|
|
433
|
-
}),
|
|
434
|
-
children: facets.map((facet, index) => {
|
|
435
|
-
const {
|
|
436
|
-
__typename: type,
|
|
437
|
-
label
|
|
438
|
-
} = facet;
|
|
439
|
-
const isExpanded = expanded.has(index);
|
|
440
|
-
return /*#__PURE__*/(0,jsx_runtime_.jsxs)(FilterFacets/* default */.Z, {
|
|
441
|
-
testId: `mobile-${testId}`,
|
|
442
|
-
index: index,
|
|
443
|
-
type: type,
|
|
444
|
-
label: label,
|
|
445
|
-
children: [type === 'StoreFacetBoolean' && isExpanded && /*#__PURE__*/jsx_runtime_.jsx(FilterFacetBoolean/* default */.Z, {
|
|
446
|
-
children: facet.values.map(item => /*#__PURE__*/jsx_runtime_.jsx(FilterFacetBooleanItem/* default */.Z, {
|
|
447
|
-
id: `${testId}-${facet.label}-${item.label}`,
|
|
448
|
-
testId: `mobile-${testId}`,
|
|
449
|
-
onFacetChange: facet => dispatch({
|
|
450
|
-
type: 'toggleFacet',
|
|
451
|
-
payload: facet
|
|
452
|
-
}),
|
|
453
|
-
selected: item.selected,
|
|
454
|
-
value: item.value,
|
|
455
|
-
quantity: item.quantity,
|
|
456
|
-
facetKey: facet.key,
|
|
457
|
-
label: item.label
|
|
458
|
-
}, `${testId}-${facet.label}-${item.label}`))
|
|
459
|
-
}), type === 'StoreFacetRange' && isExpanded && /*#__PURE__*/jsx_runtime_.jsx(FilterFacetRange/* default */.Z, {
|
|
460
|
-
facetKey: facet.key,
|
|
461
|
-
min: facet.min,
|
|
462
|
-
max: facet.max,
|
|
463
|
-
formatter: useFormattedPrice/* useFormattedPrice */.P,
|
|
464
|
-
onFacetChange: facet => dispatch({
|
|
465
|
-
type: 'setFacet',
|
|
466
|
-
payload: {
|
|
467
|
-
facet,
|
|
468
|
-
unique: true
|
|
469
|
-
}
|
|
470
|
-
})
|
|
471
|
-
})]
|
|
472
|
-
}, `${testId}-${label}-${index}`);
|
|
473
|
-
})
|
|
474
|
-
})
|
|
475
|
-
});
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
/* harmony default export */ const search_Filter_FilterSlider = (FilterSlider_FilterSlider);
|
|
479
|
-
|
|
480
|
-
/***/ }),
|
|
481
|
-
|
|
482
|
-
/***/ 6171:
|
|
483
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
484
|
-
|
|
485
|
-
"use strict";
|
|
486
|
-
|
|
487
|
-
// EXPORTS
|
|
488
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
489
|
-
"C": () => (/* reexport */ Filter_Filter)
|
|
490
|
-
});
|
|
491
|
-
|
|
492
|
-
// UNUSED EXPORTS: FilterSlider
|
|
309
|
+
// UNUSED EXPORTS: fragment
|
|
493
310
|
|
|
494
311
|
// EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
|
|
495
312
|
var UIProvider = __webpack_require__(6652);
|
|
@@ -499,7 +316,7 @@ var external_react_ = __webpack_require__(6689);
|
|
|
499
316
|
var facets = __webpack_require__(8492);
|
|
500
317
|
// EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
|
|
501
318
|
var useSearch = __webpack_require__(3221);
|
|
502
|
-
;// CONCATENATED MODULE: ./src/
|
|
319
|
+
;// CONCATENATED MODULE: ./src/sdk/search/useFilter.ts
|
|
503
320
|
const _excluded = ["value"];
|
|
504
321
|
|
|
505
322
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
@@ -676,22 +493,17 @@ function Filter({
|
|
|
676
493
|
|
|
677
494
|
const fragment = "unknown";
|
|
678
495
|
/* harmony default export */ const Filter_Filter = (Filter);
|
|
679
|
-
// EXTERNAL MODULE: ./src/components/search/Filter/FilterSlider.tsx + 1 modules
|
|
680
|
-
var FilterSlider = __webpack_require__(1386);
|
|
681
|
-
;// CONCATENATED MODULE: ./src/components/search/Filter/index.ts
|
|
682
|
-
|
|
683
|
-
|
|
684
496
|
|
|
685
497
|
/***/ }),
|
|
686
498
|
|
|
687
|
-
/***/
|
|
499
|
+
/***/ 8723:
|
|
688
500
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
689
501
|
|
|
690
502
|
"use strict";
|
|
691
503
|
|
|
692
504
|
// EXPORTS
|
|
693
505
|
__webpack_require__.d(__webpack_exports__, {
|
|
694
|
-
"Z": () => (/*
|
|
506
|
+
"Z": () => (/* binding */ Sort_Sort)
|
|
695
507
|
});
|
|
696
508
|
|
|
697
509
|
// EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
|
|
@@ -777,8 +589,6 @@ function Sort({
|
|
|
777
589
|
}
|
|
778
590
|
|
|
779
591
|
/* harmony default export */ const Sort_Sort = (Sort);
|
|
780
|
-
;// CONCATENATED MODULE: ./src/components/search/Sort/index.ts
|
|
781
|
-
|
|
782
592
|
|
|
783
593
|
/***/ }),
|
|
784
594
|
|
|
@@ -868,8 +678,8 @@ var Icon = __webpack_require__(2614);
|
|
|
868
678
|
var Skeleton = __webpack_require__(792);
|
|
869
679
|
// EXTERNAL MODULE: ../components/dist/esm/molecules/LinkButton/LinkButton.js
|
|
870
680
|
var LinkButton = __webpack_require__(3922);
|
|
871
|
-
// EXTERNAL MODULE: ./src/components/product/ProductCard/
|
|
872
|
-
var ProductCard = __webpack_require__(
|
|
681
|
+
// EXTERNAL MODULE: ./src/components/product/ProductCard/ProductCard.tsx + 3 modules
|
|
682
|
+
var ProductCard = __webpack_require__(8553);
|
|
873
683
|
// EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
|
|
874
684
|
var useSearch = __webpack_require__(3221);
|
|
875
685
|
// EXTERNAL MODULE: ../sdk/dist/search/facets.js
|
|
@@ -982,7 +792,7 @@ const override = {
|
|
|
982
792
|
|
|
983
793
|
|
|
984
794
|
|
|
985
|
-
const FilterSlider = /*#__PURE__*/(0,external_react_.lazy)(() =>
|
|
795
|
+
const FilterSlider = /*#__PURE__*/(0,external_react_.lazy)(() => __webpack_require__.e(/* import() */ 386).then(__webpack_require__.bind(__webpack_require__, 1386)));
|
|
986
796
|
|
|
987
797
|
|
|
988
798
|
const {
|
|
@@ -1022,17 +832,17 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1022
832
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1023
833
|
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1024
834
|
/* harmony export */ });
|
|
1025
|
-
/* harmony import */ var
|
|
1026
|
-
/* harmony import */ var
|
|
1027
|
-
/* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
1028
|
-
/* harmony import */ var
|
|
1029
|
-
/* harmony import */ var
|
|
1030
|
-
/* harmony import */ var
|
|
1031
|
-
/* harmony import */ var
|
|
1032
|
-
/* harmony import */ var
|
|
1033
|
-
/* harmony import */ var
|
|
1034
|
-
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([
|
|
1035
|
-
|
|
835
|
+
/* harmony import */ var src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2541);
|
|
836
|
+
/* harmony import */ var src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4061);
|
|
837
|
+
/* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3271);
|
|
838
|
+
/* harmony import */ var _EmptyGallery__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5878);
|
|
839
|
+
/* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4614);
|
|
840
|
+
/* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_3__);
|
|
841
|
+
/* harmony import */ var src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5953);
|
|
842
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
|
|
843
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
|
|
844
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__]);
|
|
845
|
+
src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
1036
846
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1037
847
|
|
|
1038
848
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -1049,24 +859,24 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
1049
859
|
|
|
1050
860
|
function ProductGallerySection(_ref) {
|
|
1051
861
|
let otherProps = Object.assign({}, _ref);
|
|
1052
|
-
const context = (0,
|
|
1053
|
-
const [title, searchTerm] = (0,
|
|
862
|
+
const context = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_1__/* .usePage */ .qt)();
|
|
863
|
+
const [title, searchTerm] = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_1__/* .isSearchPage */ .En)(context) ? [context?.data?.title, context?.data?.searchTerm] : (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_1__/* .isPLP */ .OJ)(context) ? [context?.data?.collection?.seo?.title] : [''];
|
|
1054
864
|
const totalCount = context?.data?.search?.products?.pageInfo?.totalCount ?? 0;
|
|
1055
865
|
|
|
1056
866
|
if (context?.data?.search?.products && totalCount === 0) {
|
|
1057
|
-
return /*#__PURE__*/
|
|
1058
|
-
className: `${(
|
|
1059
|
-
children: /*#__PURE__*/
|
|
867
|
+
return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Section__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
|
|
868
|
+
className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_3___default().section)} section-product-gallery`,
|
|
869
|
+
children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("section", {
|
|
1060
870
|
"data-testid": "product-gallery",
|
|
1061
871
|
"data-fs-product-listing": true,
|
|
1062
|
-
children: /*#__PURE__*/
|
|
872
|
+
children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyGallery__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {})
|
|
1063
873
|
})
|
|
1064
874
|
});
|
|
1065
875
|
}
|
|
1066
876
|
|
|
1067
|
-
return /*#__PURE__*/
|
|
1068
|
-
className: `${(
|
|
1069
|
-
children: /*#__PURE__*/
|
|
877
|
+
return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Section__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
|
|
878
|
+
className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_3___default().section)} section-product-gallery layout__section`,
|
|
879
|
+
children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_ui_ProductGallery_ProductGallery__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, _objectSpread({
|
|
1070
880
|
title: title,
|
|
1071
881
|
searchTerm: searchTerm,
|
|
1072
882
|
totalCount: totalCount
|
|
@@ -1075,44 +885,22 @@ function ProductGallerySection(_ref) {
|
|
|
1075
885
|
}
|
|
1076
886
|
|
|
1077
887
|
ProductGallerySection.displayName = 'ProductGallery';
|
|
1078
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,
|
|
888
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_6__/* .mark */ .B)(ProductGallerySection));
|
|
1079
889
|
__webpack_async_result__();
|
|
1080
890
|
} catch(e) { __webpack_async_result__(e); } });
|
|
1081
891
|
|
|
1082
892
|
/***/ }),
|
|
1083
893
|
|
|
1084
|
-
/***/
|
|
1085
|
-
/***/ ((
|
|
894
|
+
/***/ 1159:
|
|
895
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1086
896
|
|
|
1087
897
|
"use strict";
|
|
1088
|
-
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
1089
898
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1090
|
-
/* harmony export */ "Z": () => (
|
|
899
|
+
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1091
900
|
/* harmony export */ });
|
|
1092
|
-
/* harmony import */ var
|
|
1093
|
-
var
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
__webpack_async_result__();
|
|
1097
|
-
} catch(e) { __webpack_async_result__(e); } });
|
|
1098
|
-
|
|
1099
|
-
/***/ }),
|
|
1100
|
-
|
|
1101
|
-
/***/ 5473:
|
|
1102
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1103
|
-
|
|
1104
|
-
"use strict";
|
|
1105
|
-
|
|
1106
|
-
// EXPORTS
|
|
1107
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
1108
|
-
"Z": () => (/* reexport */ FilterSkeleton_FilterSkeleton)
|
|
1109
|
-
});
|
|
1110
|
-
|
|
1111
|
-
// EXTERNAL MODULE: ../components/dist/esm/atoms/Skeleton/Skeleton.js
|
|
1112
|
-
var Skeleton = __webpack_require__(792);
|
|
1113
|
-
// EXTERNAL MODULE: external "react/jsx-runtime"
|
|
1114
|
-
var jsx_runtime_ = __webpack_require__(997);
|
|
1115
|
-
;// CONCATENATED MODULE: ./src/components/skeletons/FilterSkeleton/FilterSkeleton.tsx
|
|
901
|
+
/* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(792);
|
|
902
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
|
|
903
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
|
|
1116
904
|
|
|
1117
905
|
|
|
1118
906
|
|
|
@@ -1122,31 +910,31 @@ function FilterSkeleton({
|
|
|
1122
910
|
children,
|
|
1123
911
|
loading = true
|
|
1124
912
|
}) {
|
|
1125
|
-
return loading ? /*#__PURE__*/(0,
|
|
913
|
+
return loading ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
|
|
1126
914
|
"data-fs-filter-skeleton": true,
|
|
1127
|
-
children: [/*#__PURE__*/
|
|
915
|
+
children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
|
|
1128
916
|
"data-fs-filter-skeleton-text": true,
|
|
1129
917
|
size: {
|
|
1130
918
|
width: '100%',
|
|
1131
919
|
height: '1.5rem'
|
|
1132
920
|
}
|
|
1133
|
-
}), /*#__PURE__*/(0,
|
|
921
|
+
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
|
|
1134
922
|
"data-fs-filter-skeleton-content": true,
|
|
1135
|
-
children: [/*#__PURE__*/
|
|
923
|
+
children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
|
|
1136
924
|
"data-fs-filter-skeleton-text": true,
|
|
1137
925
|
size: {
|
|
1138
926
|
width: '100%',
|
|
1139
927
|
height: '1.5rem'
|
|
1140
928
|
},
|
|
1141
929
|
shimmer: false
|
|
1142
|
-
}), /*#__PURE__*/
|
|
930
|
+
}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
|
|
1143
931
|
"data-fs-filter-skeleton-text": true,
|
|
1144
932
|
size: {
|
|
1145
933
|
width: '100%',
|
|
1146
934
|
height: '1.5rem'
|
|
1147
935
|
},
|
|
1148
936
|
shimmer: false
|
|
1149
|
-
}), /*#__PURE__*/
|
|
937
|
+
}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
|
|
1150
938
|
"data-fs-filter-skeleton-text": true,
|
|
1151
939
|
size: {
|
|
1152
940
|
width: '100%',
|
|
@@ -1155,34 +943,26 @@ function FilterSkeleton({
|
|
|
1155
943
|
shimmer: false
|
|
1156
944
|
})]
|
|
1157
945
|
})]
|
|
1158
|
-
}) : /*#__PURE__*/
|
|
946
|
+
}) : /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
|
|
1159
947
|
children: children
|
|
1160
948
|
});
|
|
1161
949
|
}
|
|
1162
950
|
|
|
1163
|
-
/* harmony default export */ const
|
|
1164
|
-
;// CONCATENATED MODULE: ./src/components/skeletons/FilterSkeleton/index.ts
|
|
1165
|
-
|
|
951
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FilterSkeleton);
|
|
1166
952
|
|
|
1167
953
|
/***/ }),
|
|
1168
954
|
|
|
1169
|
-
/***/
|
|
955
|
+
/***/ 1708:
|
|
1170
956
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1171
957
|
|
|
1172
958
|
"use strict";
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
var constants = __webpack_require__(8459);
|
|
1181
|
-
// EXTERNAL MODULE: ./src/components/skeletons/ProductCardSkeleton/index.ts + 1 modules
|
|
1182
|
-
var ProductCardSkeleton = __webpack_require__(3288);
|
|
1183
|
-
// EXTERNAL MODULE: external "react/jsx-runtime"
|
|
1184
|
-
var jsx_runtime_ = __webpack_require__(997);
|
|
1185
|
-
;// CONCATENATED MODULE: ./src/components/skeletons/ProductGridSkeleton/ProductGridSkeleton.tsx
|
|
959
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
960
|
+
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
961
|
+
/* harmony export */ });
|
|
962
|
+
/* harmony import */ var src_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8459);
|
|
963
|
+
/* harmony import */ var _ProductCardSkeleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6531);
|
|
964
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
|
|
965
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
|
|
1186
966
|
|
|
1187
967
|
|
|
1188
968
|
|
|
@@ -1193,24 +973,22 @@ function ProductGridSkeleton({
|
|
|
1193
973
|
aspectRatio,
|
|
1194
974
|
loading = true
|
|
1195
975
|
}) {
|
|
1196
|
-
return loading ? /*#__PURE__*/
|
|
976
|
+
return loading ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("ul", {
|
|
1197
977
|
"data-fs-product-grid": true,
|
|
1198
978
|
children: Array.from({
|
|
1199
|
-
length:
|
|
1200
|
-
}, (_, index) => /*#__PURE__*/
|
|
1201
|
-
children: /*#__PURE__*/
|
|
979
|
+
length: src_constants__WEBPACK_IMPORTED_MODULE_1__/* .ITEMS_PER_PAGE */ .g
|
|
980
|
+
}, (_, index) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("li", {
|
|
981
|
+
children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ProductCardSkeleton__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
|
|
1202
982
|
aspectRatio: aspectRatio,
|
|
1203
983
|
bordered: true
|
|
1204
984
|
})
|
|
1205
985
|
}, String(index)))
|
|
1206
|
-
}) : /*#__PURE__*/
|
|
986
|
+
}) : /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
|
|
1207
987
|
children: children
|
|
1208
988
|
});
|
|
1209
989
|
}
|
|
1210
990
|
|
|
1211
|
-
/* harmony default export */ const
|
|
1212
|
-
;// CONCATENATED MODULE: ./src/components/skeletons/ProductGridSkeleton/index.ts
|
|
1213
|
-
|
|
991
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProductGridSkeleton);
|
|
1214
992
|
|
|
1215
993
|
/***/ }),
|
|
1216
994
|
|
|
@@ -1222,25 +1000,25 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1222
1000
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1223
1001
|
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1224
1002
|
/* harmony export */ });
|
|
1225
|
-
/* harmony import */ var
|
|
1003
|
+
/* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3221);
|
|
1226
1004
|
/* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6641);
|
|
1227
1005
|
/* harmony import */ var next_seo__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_seo__WEBPACK_IMPORTED_MODULE_0__);
|
|
1228
1006
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689);
|
|
1229
1007
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
|
|
1230
|
-
/* harmony import */ var
|
|
1231
|
-
/* harmony import */ var
|
|
1232
|
-
/* harmony import */ var
|
|
1233
|
-
/* harmony import */ var
|
|
1234
|
-
/* harmony import */ var
|
|
1235
|
-
/* harmony import */ var
|
|
1236
|
-
/* harmony import */ var
|
|
1237
|
-
/* harmony import */ var
|
|
1238
|
-
/* harmony import */ var
|
|
1239
|
-
/* harmony import */ var
|
|
1240
|
-
/* harmony import */ var
|
|
1241
|
-
/* harmony import */ var
|
|
1242
|
-
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([
|
|
1243
|
-
|
|
1008
|
+
/* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6652);
|
|
1009
|
+
/* harmony import */ var src_components_search_Filter__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(9044);
|
|
1010
|
+
/* harmony import */ var src_components_search_Sort__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(8723);
|
|
1011
|
+
/* harmony import */ var src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(1159);
|
|
1012
|
+
/* harmony import */ var src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1708);
|
|
1013
|
+
/* harmony import */ var src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(217);
|
|
1014
|
+
/* harmony import */ var src_sdk_search_useDelayedFacets__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4891);
|
|
1015
|
+
/* harmony import */ var src_sdk_search_useDelayedPagination__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3332);
|
|
1016
|
+
/* harmony import */ var src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5953);
|
|
1017
|
+
/* harmony import */ var src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(4923);
|
|
1018
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(997);
|
|
1019
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
|
|
1020
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_9__]);
|
|
1021
|
+
src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_9__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
1244
1022
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1245
1023
|
|
|
1246
1024
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -1264,7 +1042,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
1264
1042
|
|
|
1265
1043
|
const ProductGalleryPage = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.lazy)(() => Promise.all(/* import() */[__webpack_require__.e(184), __webpack_require__.e(289)]).then(__webpack_require__.bind(__webpack_require__, 5289)));
|
|
1266
1044
|
|
|
1267
|
-
const GalleryPageSkeleton = /*#__PURE__*/
|
|
1045
|
+
const GalleryPageSkeleton = /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_skeletons_ProductGridSkeleton__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
|
|
1268
1046
|
loading: true
|
|
1269
1047
|
});
|
|
1270
1048
|
|
|
@@ -1282,130 +1060,130 @@ function ProductGallery({
|
|
|
1282
1060
|
}) {
|
|
1283
1061
|
const {
|
|
1284
1062
|
openFilter
|
|
1285
|
-
} = (0,
|
|
1063
|
+
} = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_4__/* .useUI */ .l)();
|
|
1286
1064
|
const {
|
|
1287
1065
|
pages,
|
|
1288
1066
|
addNextPage,
|
|
1289
1067
|
addPrevPage,
|
|
1290
1068
|
itemsPerPage
|
|
1291
|
-
} = (0,
|
|
1292
|
-
const context = (0,
|
|
1069
|
+
} = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_5__/* .useSearch */ .R)();
|
|
1070
|
+
const context = (0,src_sdk_overrides_PageProvider__WEBPACK_IMPORTED_MODULE_6__/* .usePage */ .qt)();
|
|
1293
1071
|
const data = context?.data;
|
|
1294
|
-
const facets = (0,
|
|
1072
|
+
const facets = (0,src_sdk_search_useDelayedFacets__WEBPACK_IMPORTED_MODULE_7__/* .useDelayedFacets */ .u)(data) ?? [];
|
|
1295
1073
|
const {
|
|
1296
1074
|
next,
|
|
1297
1075
|
prev
|
|
1298
|
-
} = (0,
|
|
1299
|
-
(0,
|
|
1300
|
-
(0,
|
|
1076
|
+
} = (0,src_sdk_search_useDelayedPagination__WEBPACK_IMPORTED_MODULE_8__/* .useDelayedPagination */ .g)(totalCount);
|
|
1077
|
+
(0,src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_9__/* .useProductsPrefetch */ .Fl)(prev ? prev.cursor : null);
|
|
1078
|
+
(0,src_sdk_product_useProductsPrefetch__WEBPACK_IMPORTED_MODULE_9__/* .useProductsPrefetch */ .Fl)(next ? next.cursor : null);
|
|
1301
1079
|
const hasFacets = Boolean(data?.search?.facets) && data.search.facets.length > 0;
|
|
1302
|
-
return /*#__PURE__*/(0,
|
|
1080
|
+
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("section", {
|
|
1303
1081
|
"data-testid": "product-gallery",
|
|
1304
1082
|
"data-fs-product-listing": true,
|
|
1305
|
-
children: [searchTerm && /*#__PURE__*/
|
|
1083
|
+
children: [searchTerm && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("header", {
|
|
1306
1084
|
"data-fs-product-listing-search-term": true,
|
|
1307
1085
|
"data-fs-content": "product-gallery",
|
|
1308
|
-
children: /*#__PURE__*/(0,
|
|
1309
|
-
children: [searchTermLabel, " ", /*#__PURE__*/
|
|
1086
|
+
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("h1", {
|
|
1087
|
+
children: [searchTermLabel, " ", /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("span", {
|
|
1310
1088
|
children: searchTerm
|
|
1311
1089
|
})]
|
|
1312
1090
|
})
|
|
1313
|
-
}), /*#__PURE__*/(0,
|
|
1091
|
+
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
|
|
1314
1092
|
"data-fs-product-listing-content-grid": true,
|
|
1315
1093
|
"data-fs-content": "product-gallery",
|
|
1316
|
-
children: [/*#__PURE__*/
|
|
1094
|
+
children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("div", {
|
|
1317
1095
|
"data-fs-product-listing-filters": true,
|
|
1318
|
-
children: /*#__PURE__*/
|
|
1096
|
+
children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_skeletons_FilterSkeleton__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
|
|
1319
1097
|
loading: facets?.length === 0,
|
|
1320
|
-
children: /*#__PURE__*/
|
|
1098
|
+
children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_search_Filter__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
|
|
1321
1099
|
facets: facets,
|
|
1322
1100
|
filter: filter
|
|
1323
1101
|
})
|
|
1324
1102
|
})
|
|
1325
|
-
}), /*#__PURE__*/
|
|
1103
|
+
}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("div", {
|
|
1326
1104
|
"data-fs-product-listing-results-count": true,
|
|
1327
1105
|
"data-count": totalCount,
|
|
1328
|
-
children: /*#__PURE__*/
|
|
1106
|
+
children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .ResultsCountSkeleton.Component */ .k.Component, _objectSpread(_objectSpread({
|
|
1329
1107
|
"data-fs-product-listing-results-count-skeleton": true,
|
|
1330
1108
|
size: {
|
|
1331
1109
|
width: '100%',
|
|
1332
1110
|
height: '1.5rem'
|
|
1333
1111
|
}
|
|
1334
|
-
},
|
|
1112
|
+
}, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .ResultsCountSkeleton.props */ .k.props), {}, {
|
|
1335
1113
|
// Dynamic props shouldn't be overridable
|
|
1336
1114
|
// This decision can be reviewed later if needed
|
|
1337
1115
|
loading: !data?.search,
|
|
1338
|
-
children: /*#__PURE__*/(0,
|
|
1116
|
+
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("h2", {
|
|
1339
1117
|
"data-testid": "total-product-count",
|
|
1340
1118
|
children: [totalCount, " ", totalCountLabel]
|
|
1341
1119
|
})
|
|
1342
1120
|
}))
|
|
1343
|
-
}), /*#__PURE__*/(0,
|
|
1121
|
+
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
|
|
1344
1122
|
"data-fs-product-listing-sort": true,
|
|
1345
|
-
children: [/*#__PURE__*/
|
|
1123
|
+
children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .SortSkeleton.Component */ .SZ.Component, _objectSpread(_objectSpread({
|
|
1346
1124
|
"data-fs-product-listing-sort-skeleton": true,
|
|
1347
1125
|
size: {
|
|
1348
1126
|
width: 'auto',
|
|
1349
1127
|
height: '1.5rem'
|
|
1350
1128
|
}
|
|
1351
|
-
},
|
|
1129
|
+
}, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .SortSkeleton.props */ .SZ.props), {}, {
|
|
1352
1130
|
// Dynamic props shouldn't be overridable
|
|
1353
1131
|
// This decision can be reviewed later if needed
|
|
1354
1132
|
loading: facets?.length === 0,
|
|
1355
|
-
children: /*#__PURE__*/
|
|
1133
|
+
children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_search_Sort__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
|
|
1356
1134
|
label: sortBySelector?.label,
|
|
1357
1135
|
options: sortBySelector?.options
|
|
1358
1136
|
})
|
|
1359
|
-
})), /*#__PURE__*/
|
|
1137
|
+
})), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterButtonSkeleton.Component */ .hZ.Component, _objectSpread(_objectSpread({
|
|
1360
1138
|
"data-fs-product-listing-filter-button-skeleton": true,
|
|
1361
1139
|
size: {
|
|
1362
1140
|
width: '6rem',
|
|
1363
1141
|
height: '1.5rem'
|
|
1364
1142
|
}
|
|
1365
|
-
},
|
|
1143
|
+
}, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterButtonSkeleton.props */ .hZ.props), {}, {
|
|
1366
1144
|
// Dynamic props shouldn't be overridable
|
|
1367
1145
|
// This decision can be reviewed later if needed
|
|
1368
1146
|
loading: facets?.length === 0,
|
|
1369
|
-
children: /*#__PURE__*/
|
|
1147
|
+
children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .MobileFilterButton.Component */ .$B.Component, _objectSpread(_objectSpread({
|
|
1370
1148
|
variant: "tertiary",
|
|
1371
1149
|
"data-testid": "open-filter-button",
|
|
1372
|
-
icon: /*#__PURE__*/
|
|
1150
|
+
icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterIcon.Component */ .k1.Component, _objectSpread(_objectSpread({
|
|
1373
1151
|
width: 16,
|
|
1374
1152
|
height: 16
|
|
1375
|
-
},
|
|
1376
|
-
name: filter?.mobileOnly?.filterButton?.icon?.icon ??
|
|
1377
|
-
"aria-label": filter?.mobileOnly?.filterButton?.icon?.alt ??
|
|
1153
|
+
}, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterIcon.props */ .k1.props), {}, {
|
|
1154
|
+
name: filter?.mobileOnly?.filterButton?.icon?.icon ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterIcon.props.name */ .k1.props.name,
|
|
1155
|
+
"aria-label": filter?.mobileOnly?.filterButton?.icon?.alt ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .FilterIcon.props["aria-label"] */ .k1.props["aria-label"]
|
|
1378
1156
|
})),
|
|
1379
1157
|
iconPosition: "left"
|
|
1380
|
-
},
|
|
1158
|
+
}, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .MobileFilterButton.props */ .$B.props), {}, {
|
|
1381
1159
|
// Dynamic props shouldn't be overridable
|
|
1382
1160
|
// This decision can be reviewed later if needed
|
|
1383
1161
|
onClick: openFilter,
|
|
1384
1162
|
children: filter?.mobileOnly?.filterButton?.label
|
|
1385
1163
|
}))
|
|
1386
1164
|
}))]
|
|
1387
|
-
}), /*#__PURE__*/(0,
|
|
1165
|
+
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
|
|
1388
1166
|
"data-fs-product-listing-results": true,
|
|
1389
|
-
children: [prev !== false && /*#__PURE__*/(0,
|
|
1167
|
+
children: [prev !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
|
|
1390
1168
|
"data-fs-product-listing-pagination": "top",
|
|
1391
|
-
children: [/*#__PURE__*/
|
|
1169
|
+
children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
|
|
1392
1170
|
additionalLinkTags: [{
|
|
1393
1171
|
rel: 'prev',
|
|
1394
1172
|
href: prev.link
|
|
1395
1173
|
}]
|
|
1396
|
-
}), /*#__PURE__*/
|
|
1174
|
+
}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .LinkButtonPrev.Component */ .Rm.Component, _objectSpread(_objectSpread({
|
|
1397
1175
|
rel: "prev",
|
|
1398
1176
|
variant: "secondary",
|
|
1399
1177
|
iconPosition: "left",
|
|
1400
|
-
icon: /*#__PURE__*/
|
|
1178
|
+
icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .PrevIcon.Component */ .gY.Component, _objectSpread(_objectSpread({
|
|
1401
1179
|
width: 16,
|
|
1402
1180
|
height: 16,
|
|
1403
1181
|
weight: "bold"
|
|
1404
|
-
},
|
|
1405
|
-
name: previousPageButton?.icon?.icon ??
|
|
1406
|
-
"aria-label": previousPageButton?.icon?.alt ?? previousPageButton?.label ??
|
|
1182
|
+
}, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .PrevIcon.props */ .gY.props), {}, {
|
|
1183
|
+
name: previousPageButton?.icon?.icon ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .PrevIcon.props.name */ .gY.props.name,
|
|
1184
|
+
"aria-label": previousPageButton?.icon?.alt ?? previousPageButton?.label ?? src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .PrevIcon.props["aria-label"] */ .gY.props["aria-label"]
|
|
1407
1185
|
}))
|
|
1408
|
-
},
|
|
1186
|
+
}, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .LinkButtonPrev.props */ .Rm.props), {}, {
|
|
1409
1187
|
// Dynamic props shouldn't be overridable
|
|
1410
1188
|
// This decision can be reviewed later if needed
|
|
1411
1189
|
onClick: e => {
|
|
@@ -1416,26 +1194,26 @@ function ProductGallery({
|
|
|
1416
1194
|
href: prev.link,
|
|
1417
1195
|
children: previousPageButton?.label
|
|
1418
1196
|
}))]
|
|
1419
|
-
}), hasFacets ? /*#__PURE__*/
|
|
1197
|
+
}), hasFacets ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(react__WEBPACK_IMPORTED_MODULE_1__.Suspense, {
|
|
1420
1198
|
fallback: GalleryPageSkeleton,
|
|
1421
|
-
children: pages.map(page => /*#__PURE__*/
|
|
1199
|
+
children: pages.map(page => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(ProductGalleryPage, {
|
|
1422
1200
|
page: page,
|
|
1423
1201
|
title: title,
|
|
1424
1202
|
productCard: productCard,
|
|
1425
1203
|
itemsPerPage: itemsPerPage
|
|
1426
1204
|
}, `gallery-page-${page}`))
|
|
1427
|
-
}) : GalleryPageSkeleton, next !== false && /*#__PURE__*/(0,
|
|
1205
|
+
}) : GalleryPageSkeleton, next !== false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
|
|
1428
1206
|
"data-fs-product-listing-pagination": "bottom",
|
|
1429
|
-
children: [/*#__PURE__*/
|
|
1207
|
+
children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(next_seo__WEBPACK_IMPORTED_MODULE_0__.NextSeo, {
|
|
1430
1208
|
additionalLinkTags: [{
|
|
1431
1209
|
rel: 'next',
|
|
1432
1210
|
href: next.link
|
|
1433
1211
|
}]
|
|
1434
|
-
}), /*#__PURE__*/
|
|
1212
|
+
}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .LinkButtonNext.Component */ .tu.Component, _objectSpread(_objectSpread({
|
|
1435
1213
|
testId: "show-more",
|
|
1436
1214
|
rel: "next",
|
|
1437
1215
|
variant: "secondary"
|
|
1438
|
-
},
|
|
1216
|
+
}, src_components_sections_ProductGallery_Overrides__WEBPACK_IMPORTED_MODULE_12__/* .LinkButtonNext.props */ .tu.props), {}, {
|
|
1439
1217
|
// Dynamic props shouldn't be overridable
|
|
1440
1218
|
// This decision can be reviewed later if needed
|
|
1441
1219
|
onClick: e => {
|
|
@@ -1458,90 +1236,6 @@ __webpack_async_result__();
|
|
|
1458
1236
|
|
|
1459
1237
|
/***/ }),
|
|
1460
1238
|
|
|
1461
|
-
/***/ 6341:
|
|
1462
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1463
|
-
|
|
1464
|
-
"use strict";
|
|
1465
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1466
|
-
/* harmony export */ "u": () => (/* binding */ useDelayedFacets)
|
|
1467
|
-
/* harmony export */ });
|
|
1468
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
1469
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1470
|
-
|
|
1471
|
-
const useDelayedFacets = data => {
|
|
1472
|
-
const facets = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]);
|
|
1473
|
-
return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
|
|
1474
|
-
if (data) {
|
|
1475
|
-
facets.current = data.search?.facets;
|
|
1476
|
-
}
|
|
1477
|
-
|
|
1478
|
-
return facets.current;
|
|
1479
|
-
}, [data, facets]);
|
|
1480
|
-
};
|
|
1481
|
-
|
|
1482
|
-
/***/ }),
|
|
1483
|
-
|
|
1484
|
-
/***/ 7184:
|
|
1485
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1486
|
-
|
|
1487
|
-
"use strict";
|
|
1488
|
-
|
|
1489
|
-
// EXPORTS
|
|
1490
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
1491
|
-
"g": () => (/* binding */ useDelayedPagination)
|
|
1492
|
-
});
|
|
1493
|
-
|
|
1494
|
-
// EXTERNAL MODULE: external "react"
|
|
1495
|
-
var external_react_ = __webpack_require__(6689);
|
|
1496
|
-
// EXTERNAL MODULE: ../sdk/dist/utils/format.js
|
|
1497
|
-
var format = __webpack_require__(2339);
|
|
1498
|
-
// EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
|
|
1499
|
-
var useSearch = __webpack_require__(3221);
|
|
1500
|
-
;// CONCATENATED MODULE: ../sdk/dist/search/usePagination.js
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
const getLink = (state) => {
|
|
1505
|
-
const { pathname, search } = (0,format/* default */.Z)(state);
|
|
1506
|
-
return `${pathname}${search}`;
|
|
1507
|
-
};
|
|
1508
|
-
const usePagination = (totalItems) => {
|
|
1509
|
-
const { pages, itemsPerPage, state } = (0,useSearch/* useSearch */.R)();
|
|
1510
|
-
const total = Math.ceil(totalItems / itemsPerPage);
|
|
1511
|
-
const next = Number(pages[pages.length - 1]) + 1;
|
|
1512
|
-
const prev = pages[0] - 1;
|
|
1513
|
-
return (0,external_react_.useMemo)(() => ({
|
|
1514
|
-
next: next < total && {
|
|
1515
|
-
cursor: next,
|
|
1516
|
-
link: getLink({ ...state, page: next }),
|
|
1517
|
-
},
|
|
1518
|
-
prev: prev > -1 && {
|
|
1519
|
-
cursor: prev,
|
|
1520
|
-
link: getLink({ ...state, page: prev }),
|
|
1521
|
-
},
|
|
1522
|
-
}), [next, prev, state, total]);
|
|
1523
|
-
};
|
|
1524
|
-
//# sourceMappingURL=usePagination.js.map
|
|
1525
|
-
;// CONCATENATED MODULE: ./src/components/ui/ProductGallery/useDelayedPagination.ts
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
const useDelayedPagination = totalCount => {
|
|
1529
|
-
const pagination = usePagination(totalCount);
|
|
1530
|
-
const {
|
|
1531
|
-
0: pag,
|
|
1532
|
-
1: setPag
|
|
1533
|
-
} = (0,external_react_.useState)(() => ({
|
|
1534
|
-
next: false,
|
|
1535
|
-
prev: false
|
|
1536
|
-
}));
|
|
1537
|
-
(0,external_react_.useEffect)(() => {
|
|
1538
|
-
setPag(pagination);
|
|
1539
|
-
}, [pagination]);
|
|
1540
|
-
return pag;
|
|
1541
|
-
};
|
|
1542
|
-
|
|
1543
|
-
/***/ }),
|
|
1544
|
-
|
|
1545
1239
|
/***/ 2953:
|
|
1546
1240
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
1547
1241
|
|
|
@@ -1594,13 +1288,13 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1594
1288
|
/* harmony export */ "__": () => (/* binding */ useGalleryPage)
|
|
1595
1289
|
/* harmony export */ });
|
|
1596
1290
|
/* unused harmony export query */
|
|
1597
|
-
/* harmony import */ var
|
|
1291
|
+
/* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3221);
|
|
1598
1292
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
1599
1293
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1600
|
-
/* harmony import */ var
|
|
1294
|
+
/* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7732);
|
|
1601
1295
|
/* harmony import */ var _useLocalizedVariables__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2523);
|
|
1602
|
-
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([
|
|
1603
|
-
|
|
1296
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__]);
|
|
1297
|
+
src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
1604
1298
|
|
|
1605
1299
|
|
|
1606
1300
|
|
|
@@ -1619,7 +1313,7 @@ const useGalleryPage = page => {
|
|
|
1619
1313
|
|
|
1620
1314
|
return useGalleryPageCallback(page);
|
|
1621
1315
|
};
|
|
1622
|
-
const query = "
|
|
1316
|
+
const query = "ClientManyProductsQuery";
|
|
1623
1317
|
|
|
1624
1318
|
const getKey = object => JSON.stringify(object);
|
|
1625
1319
|
/**
|
|
@@ -1643,7 +1337,7 @@ const useCreateUseGalleryPage = () => {
|
|
|
1643
1337
|
selectedFacets
|
|
1644
1338
|
},
|
|
1645
1339
|
itemsPerPage
|
|
1646
|
-
} = (0,
|
|
1340
|
+
} = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_1__/* .useSearch */ .R)();
|
|
1647
1341
|
const localizedVariables = (0,_useLocalizedVariables__WEBPACK_IMPORTED_MODULE_2__/* .useLocalizedVariables */ .y)({
|
|
1648
1342
|
first: itemsPerPage,
|
|
1649
1343
|
after: (itemsPerPage * page).toString(),
|
|
@@ -1654,7 +1348,7 @@ const useCreateUseGalleryPage = () => {
|
|
|
1654
1348
|
const hasSameVariables = pagesCache.current[page] === getKey(localizedVariables);
|
|
1655
1349
|
const {
|
|
1656
1350
|
data
|
|
1657
|
-
} = (0,
|
|
1351
|
+
} = (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_3__/* .useQuery */ .aM)(query, localizedVariables, {
|
|
1658
1352
|
fallbackData: null,
|
|
1659
1353
|
suspense: true,
|
|
1660
1354
|
doNotRun: hasSameVariables
|
|
@@ -1711,17 +1405,21 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1711
1405
|
/* harmony export */ "U": () => (/* binding */ useProductGalleryQuery)
|
|
1712
1406
|
/* harmony export */ });
|
|
1713
1407
|
/* unused harmony export query */
|
|
1714
|
-
/* harmony import */ var
|
|
1408
|
+
/* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1072);
|
|
1409
|
+
/* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7732);
|
|
1715
1410
|
/* harmony import */ var _useLocalizedVariables__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2523);
|
|
1716
|
-
var
|
|
1717
|
-
|
|
1411
|
+
/* harmony import */ var src_sdk_session__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7295);
|
|
1412
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__]);
|
|
1413
|
+
src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
1414
|
+
|
|
1415
|
+
|
|
1416
|
+
|
|
1718
1417
|
|
|
1719
1418
|
|
|
1720
1419
|
/**
|
|
1721
1420
|
* This query is run on the browser and contains
|
|
1722
1421
|
* the current search state of the user
|
|
1723
1422
|
*/
|
|
1724
|
-
|
|
1725
1423
|
const query = "ClientProductGalleryQuery";
|
|
1726
1424
|
const useProductGalleryQuery = ({
|
|
1727
1425
|
term,
|
|
@@ -1729,6 +1427,9 @@ const useProductGalleryQuery = ({
|
|
|
1729
1427
|
selectedFacets,
|
|
1730
1428
|
itemsPerPage
|
|
1731
1429
|
}) => {
|
|
1430
|
+
const {
|
|
1431
|
+
locale
|
|
1432
|
+
} = (0,src_sdk_session__WEBPACK_IMPORTED_MODULE_0__/* .useSession */ .kP)();
|
|
1732
1433
|
const localizedVariables = (0,_useLocalizedVariables__WEBPACK_IMPORTED_MODULE_1__/* .useLocalizedVariables */ .y)({
|
|
1733
1434
|
first: itemsPerPage,
|
|
1734
1435
|
after: '0',
|
|
@@ -1736,7 +1437,23 @@ const useProductGalleryQuery = ({
|
|
|
1736
1437
|
term: term ?? '',
|
|
1737
1438
|
selectedFacets
|
|
1738
1439
|
});
|
|
1739
|
-
return (0,
|
|
1440
|
+
return (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__/* .useQuery */ .aM)(query, localizedVariables, {
|
|
1441
|
+
onSuccess: data => {
|
|
1442
|
+
if (data && term) {
|
|
1443
|
+
(0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_3__/* .sendAnalyticsEvent */ ._)({
|
|
1444
|
+
name: 'intelligent_search_query',
|
|
1445
|
+
params: {
|
|
1446
|
+
locale,
|
|
1447
|
+
term,
|
|
1448
|
+
url: window.location.href,
|
|
1449
|
+
logicalOperator: data.search.metadata?.logicalOperator ?? 'and',
|
|
1450
|
+
isTermMisspelled: data.search.metadata?.isTermMisspelled ?? false,
|
|
1451
|
+
totalCount: data.search.products.pageInfo.totalCount
|
|
1452
|
+
}
|
|
1453
|
+
});
|
|
1454
|
+
}
|
|
1455
|
+
}
|
|
1456
|
+
});
|
|
1740
1457
|
};
|
|
1741
1458
|
__webpack_async_result__();
|
|
1742
1459
|
} catch(e) { __webpack_async_result__(e); } });
|
|
@@ -1756,10 +1473,10 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1756
1473
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
1757
1474
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1758
1475
|
/* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5941);
|
|
1759
|
-
/* harmony import */ var
|
|
1760
|
-
/* harmony import */ var
|
|
1761
|
-
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_1__,
|
|
1762
|
-
([swr__WEBPACK_IMPORTED_MODULE_1__,
|
|
1476
|
+
/* harmony import */ var _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2953);
|
|
1477
|
+
/* harmony import */ var _useLocalizedVariables__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2523);
|
|
1478
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_1__, _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__]);
|
|
1479
|
+
([swr__WEBPACK_IMPORTED_MODULE_1__, _graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
1763
1480
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1764
1481
|
|
|
1765
1482
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -1771,13 +1488,13 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
1771
1488
|
|
|
1772
1489
|
|
|
1773
1490
|
|
|
1774
|
-
const query = "
|
|
1491
|
+
const query = "ClientManyProductsQuery";
|
|
1775
1492
|
const useProductsQueryPrefetch = (variables, options) => {
|
|
1776
|
-
const localizedVariables = (0,
|
|
1493
|
+
const localizedVariables = (0,_useLocalizedVariables__WEBPACK_IMPORTED_MODULE_2__/* .useLocalizedVariables */ .y)(variables);
|
|
1777
1494
|
const {
|
|
1778
1495
|
cache
|
|
1779
1496
|
} = (0,swr__WEBPACK_IMPORTED_MODULE_1__.useSWRConfig)();
|
|
1780
|
-
return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => (0,
|
|
1497
|
+
return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => (0,_graphql_prefetchQuery__WEBPACK_IMPORTED_MODULE_3__/* .prefetchQuery */ .p)(query, localizedVariables, _objectSpread({
|
|
1781
1498
|
cache
|
|
1782
1499
|
}, options)), [localizedVariables, cache, options]);
|
|
1783
1500
|
};
|
|
@@ -1828,14 +1545,87 @@ const useApplySearchState = () => {
|
|
|
1828
1545
|
|
|
1829
1546
|
/***/ }),
|
|
1830
1547
|
|
|
1831
|
-
/***/
|
|
1832
|
-
/***/ ((
|
|
1548
|
+
/***/ 4891:
|
|
1549
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1833
1550
|
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1551
|
+
"use strict";
|
|
1552
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1553
|
+
/* harmony export */ "u": () => (/* binding */ useDelayedFacets)
|
|
1554
|
+
/* harmony export */ });
|
|
1555
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
1556
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
1557
|
+
|
|
1558
|
+
const useDelayedFacets = data => {
|
|
1559
|
+
const facets = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]);
|
|
1560
|
+
return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
|
|
1561
|
+
if (data) {
|
|
1562
|
+
facets.current = data.search?.facets;
|
|
1563
|
+
}
|
|
1564
|
+
|
|
1565
|
+
return facets.current;
|
|
1566
|
+
}, [data, facets]);
|
|
1837
1567
|
};
|
|
1838
1568
|
|
|
1569
|
+
/***/ }),
|
|
1570
|
+
|
|
1571
|
+
/***/ 3332:
|
|
1572
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1573
|
+
|
|
1574
|
+
"use strict";
|
|
1575
|
+
|
|
1576
|
+
// EXPORTS
|
|
1577
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
1578
|
+
"g": () => (/* binding */ useDelayedPagination)
|
|
1579
|
+
});
|
|
1580
|
+
|
|
1581
|
+
// EXTERNAL MODULE: external "react"
|
|
1582
|
+
var external_react_ = __webpack_require__(6689);
|
|
1583
|
+
// EXTERNAL MODULE: ../sdk/dist/utils/format.js
|
|
1584
|
+
var format = __webpack_require__(2339);
|
|
1585
|
+
// EXTERNAL MODULE: ../sdk/dist/search/useSearch.js + 1 modules
|
|
1586
|
+
var useSearch = __webpack_require__(3221);
|
|
1587
|
+
;// CONCATENATED MODULE: ../sdk/dist/search/usePagination.js
|
|
1588
|
+
|
|
1589
|
+
|
|
1590
|
+
|
|
1591
|
+
const getLink = (state) => {
|
|
1592
|
+
const { pathname, search } = (0,format/* default */.Z)(state);
|
|
1593
|
+
return `${pathname}${search}`;
|
|
1594
|
+
};
|
|
1595
|
+
const usePagination = (totalItems) => {
|
|
1596
|
+
const { pages, itemsPerPage, state } = (0,useSearch/* useSearch */.R)();
|
|
1597
|
+
const total = Math.ceil(totalItems / itemsPerPage);
|
|
1598
|
+
const next = Number(pages[pages.length - 1]) + 1;
|
|
1599
|
+
const prev = pages[0] - 1;
|
|
1600
|
+
return (0,external_react_.useMemo)(() => ({
|
|
1601
|
+
next: next < total && {
|
|
1602
|
+
cursor: next,
|
|
1603
|
+
link: getLink({ ...state, page: next }),
|
|
1604
|
+
},
|
|
1605
|
+
prev: prev > -1 && {
|
|
1606
|
+
cursor: prev,
|
|
1607
|
+
link: getLink({ ...state, page: prev }),
|
|
1608
|
+
},
|
|
1609
|
+
}), [next, prev, state, total]);
|
|
1610
|
+
};
|
|
1611
|
+
//# sourceMappingURL=usePagination.js.map
|
|
1612
|
+
;// CONCATENATED MODULE: ./src/sdk/search/useDelayedPagination.ts
|
|
1613
|
+
|
|
1614
|
+
|
|
1615
|
+
const useDelayedPagination = totalCount => {
|
|
1616
|
+
const pagination = usePagination(totalCount);
|
|
1617
|
+
const {
|
|
1618
|
+
0: pag,
|
|
1619
|
+
1: setPag
|
|
1620
|
+
} = (0,external_react_.useState)(() => ({
|
|
1621
|
+
next: false,
|
|
1622
|
+
prev: false
|
|
1623
|
+
}));
|
|
1624
|
+
(0,external_react_.useEffect)(() => {
|
|
1625
|
+
setPag(pagination);
|
|
1626
|
+
}, [pagination]);
|
|
1627
|
+
return pag;
|
|
1628
|
+
};
|
|
1839
1629
|
|
|
1840
1630
|
/***/ }),
|
|
1841
1631
|
|
|
@@ -1870,26 +1660,61 @@ var error = __webpack_require__(2254);
|
|
|
1870
1660
|
;// CONCATENATED MODULE: ../sdk/dist/search/useInfiniteSearchState.js
|
|
1871
1661
|
|
|
1872
1662
|
|
|
1663
|
+
// Save the array containing loaded pages before navigating away from the PLP
|
|
1664
|
+
function setPagesSessionStorage(pages) {
|
|
1665
|
+
try {
|
|
1666
|
+
// Uses the key to identify a PLP
|
|
1667
|
+
const stateKey = window.history.state?.key;
|
|
1668
|
+
if (!stateKey) {
|
|
1669
|
+
return;
|
|
1670
|
+
}
|
|
1671
|
+
const storageKey = `__fs_gallery_page_${stateKey}`;
|
|
1672
|
+
sessionStorage.setItem(storageKey, JSON.stringify(pages));
|
|
1673
|
+
}
|
|
1674
|
+
catch (_) {
|
|
1675
|
+
return;
|
|
1676
|
+
}
|
|
1677
|
+
}
|
|
1678
|
+
function getPagesFromSessionStorage() {
|
|
1679
|
+
try {
|
|
1680
|
+
const stateKey = window.history.state?.key;
|
|
1681
|
+
if (!stateKey) {
|
|
1682
|
+
return null;
|
|
1683
|
+
}
|
|
1684
|
+
const storageKey = `__fs_gallery_page_${stateKey}`;
|
|
1685
|
+
const item = sessionStorage.getItem(storageKey);
|
|
1686
|
+
return item ? JSON.parse(item) : null;
|
|
1687
|
+
}
|
|
1688
|
+
catch (_) {
|
|
1689
|
+
return null;
|
|
1690
|
+
}
|
|
1691
|
+
}
|
|
1873
1692
|
const reducer = (state, action) => {
|
|
1874
1693
|
switch (action.type) {
|
|
1875
1694
|
case 'addPrev': {
|
|
1876
1695
|
const prev = state[0] - 1;
|
|
1877
|
-
|
|
1696
|
+
const newState = [prev, ...state];
|
|
1697
|
+
setPagesSessionStorage(newState);
|
|
1698
|
+
return newState;
|
|
1878
1699
|
}
|
|
1879
1700
|
case 'addNext': {
|
|
1880
1701
|
const next = Number(state[state.length - 1]) + 1;
|
|
1881
|
-
|
|
1702
|
+
const newState = [...state, next];
|
|
1703
|
+
setPagesSessionStorage(newState);
|
|
1704
|
+
return newState;
|
|
1882
1705
|
}
|
|
1883
1706
|
case 'reset': {
|
|
1884
1707
|
const { payload } = action;
|
|
1885
|
-
|
|
1708
|
+
const newState = [payload];
|
|
1709
|
+
setPagesSessionStorage(newState);
|
|
1710
|
+
return newState;
|
|
1886
1711
|
}
|
|
1887
1712
|
default:
|
|
1888
1713
|
throw new error/* SDKError */.q('Unknown action for infinite search');
|
|
1889
1714
|
}
|
|
1890
1715
|
};
|
|
1891
1716
|
const useSearchInfiniteState = (initialPage) => {
|
|
1892
|
-
const [pages, dispatch] = (0,external_react_.useReducer)(reducer, undefined, () => [initialPage]);
|
|
1717
|
+
const [pages, dispatch] = (0,external_react_.useReducer)(reducer, undefined, () => getPagesFromSessionStorage() ?? [initialPage]);
|
|
1893
1718
|
const actions = (0,external_react_.useMemo)(() => ({
|
|
1894
1719
|
addPrevPage: () => dispatch({ type: 'addPrev' }),
|
|
1895
1720
|
addNextPage: () => dispatch({ type: 'addNext' }),
|