@faststore/core 2.1.53 → 2.1.55

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.
Files changed (106) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +49 -49
  3. package/.next/cache/config.json +3 -3
  4. package/.next/cache/eslint/.cache_1gneedd +1 -1
  5. package/.next/cache/next-server.js.nft.json +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/next-server.js.nft.json +1 -1
  11. package/.next/prerender-manifest.json +1 -1
  12. package/.next/react-loadable-manifest.json +9 -9
  13. package/.next/routes-manifest.json +1 -1
  14. package/.next/server/chunks/107.js +56 -0
  15. package/.next/server/chunks/186.js +22 -23
  16. package/.next/server/chunks/{886.js → 188.js} +32 -33
  17. package/.next/server/chunks/289.js +4 -5
  18. package/.next/server/chunks/{502.js → 309.js} +76 -78
  19. package/.next/server/chunks/312.js +222 -231
  20. package/.next/server/chunks/350.js +1 -1
  21. package/.next/server/chunks/{721.js → 430.js} +23 -25
  22. package/.next/server/chunks/{269.js → 581.js} +132 -136
  23. package/.next/server/chunks/74.js +3049 -3078
  24. package/.next/server/chunks/{247.js → 744.js} +23 -24
  25. package/.next/server/chunks/{597.js → 751.js} +19 -20
  26. package/.next/server/chunks/{123.js → 90.js} +11 -12
  27. package/.next/server/chunks/907.js +334 -342
  28. package/.next/server/chunks/{253.js → 934.js} +37 -38
  29. package/.next/server/chunks/{81.js → 953.js} +55 -59
  30. package/.next/server/middleware-build-manifest.js +1 -1
  31. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  32. package/.next/server/pages/404.js +2 -2
  33. package/.next/server/pages/404.js.nft.json +1 -1
  34. package/.next/server/pages/500.js +2 -2
  35. package/.next/server/pages/500.js.nft.json +1 -1
  36. package/.next/server/pages/[...slug].js +7 -7
  37. package/.next/server/pages/[...slug].js.nft.json +1 -1
  38. package/.next/server/pages/[slug]/p.js +84 -86
  39. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  40. package/.next/server/pages/_app.js +2 -2
  41. package/.next/server/pages/_app.js.nft.json +1 -1
  42. package/.next/server/pages/account.js +1 -1
  43. package/.next/server/pages/account.js.nft.json +1 -1
  44. package/.next/server/pages/api/graphql.js +1 -1
  45. package/.next/server/pages/checkout.js +1 -1
  46. package/.next/server/pages/checkout.js.nft.json +1 -1
  47. package/.next/server/pages/en-US/404.html +2 -2
  48. package/.next/server/pages/en-US/500.html +2 -2
  49. package/.next/server/pages/en-US/account.html +2 -2
  50. package/.next/server/pages/en-US/checkout.html +2 -2
  51. package/.next/server/pages/en-US/login.html +2 -2
  52. package/.next/server/pages/en-US/s.html +2 -2
  53. package/.next/server/pages/en-US.html +2 -2
  54. package/.next/server/pages/index.js +3 -3
  55. package/.next/server/pages/index.js.nft.json +1 -1
  56. package/.next/server/pages/login.js +2 -2
  57. package/.next/server/pages/login.js.nft.json +1 -1
  58. package/.next/server/pages/s.js +3 -3
  59. package/.next/server/pages/s.js.nft.json +1 -1
  60. package/.next/server/pages-manifest.json +2 -2
  61. package/.next/static/chunks/{64.2f385ef39cd5877d.js → 27.37e4942c9236a071.js} +1 -1
  62. package/.next/static/chunks/309.548249b3b3588d3b.js +1 -0
  63. package/.next/static/chunks/33-7f26ec3a5ae7a227.js +1 -0
  64. package/.next/static/chunks/548-ab84e9e8b49413ab.js +1 -0
  65. package/.next/static/chunks/676.b7bc42f3e37ff88f.js +1 -0
  66. package/.next/static/chunks/686-78f207384adb0d83.js +1 -0
  67. package/.next/static/chunks/{738-a5ff304828f20cbf.js → 738-67a288ca3569cdbb.js} +1 -1
  68. package/.next/static/chunks/751.f9415d15cb5be269.js +1 -0
  69. package/.next/static/chunks/917-bf452887bdb70e03.js +1 -0
  70. package/.next/static/chunks/pages/404-7812758b206af5cc.js +1 -0
  71. package/.next/static/chunks/pages/500-0c1b954316d40621.js +1 -0
  72. package/.next/static/chunks/pages/{[...slug]-bcfaf0c5d60b57a0.js → [...slug]-fd9cc16734d8f161.js} +1 -1
  73. package/.next/static/chunks/pages/[slug]/p-5a83993d8ff855a6.js +1 -0
  74. package/.next/static/chunks/pages/_app-73e1a1982ec17ff6.js +1 -0
  75. package/.next/static/chunks/pages/account-ac4fa43a2d996db5.js +1 -0
  76. package/.next/static/chunks/pages/checkout-fa13dc49318df859.js +1 -0
  77. package/.next/static/chunks/pages/{index-bdbfb082027ed2b7.js → index-e8b556e0a22cf818.js} +1 -1
  78. package/.next/static/chunks/pages/login-5759fba9bb7ae351.js +1 -0
  79. package/.next/static/chunks/pages/s-a63dd94090d398be.js +1 -0
  80. package/.next/static/chunks/webpack-1d498edbf92d70ad.js +1 -0
  81. package/.next/static/eyFnbBbCBoWbp9h5XhZVV/_buildManifest.js +1 -0
  82. package/.next/trace +80 -80
  83. package/.turbo/turbo-build.log +6 -6
  84. package/cypress/integration/analytics.test.js +1 -5
  85. package/cypress/integration/cart.test.js +20 -14
  86. package/cypress/integration/search.test.js +1 -1
  87. package/package.json +4 -4
  88. package/.next/server/chunks/287.js +0 -58
  89. package/.next/static/chunks/209-d1d2eeaeefbc68f7.js +0 -1
  90. package/.next/static/chunks/495.0ecd099878b2a36d.js +0 -1
  91. package/.next/static/chunks/502.b14533723651e5a1.js +0 -1
  92. package/.next/static/chunks/548-6b23e7ad82cd22b9.js +0 -1
  93. package/.next/static/chunks/597.f8d0595b113c70af.js +0 -1
  94. package/.next/static/chunks/706-b3046536d4b7dd3f.js +0 -1
  95. package/.next/static/chunks/791-5b3d23f5b6100959.js +0 -1
  96. package/.next/static/chunks/pages/404-14d27e3706f3d2c3.js +0 -1
  97. package/.next/static/chunks/pages/500-250ccf5c9626e451.js +0 -1
  98. package/.next/static/chunks/pages/[slug]/p-44e66d729b2413fb.js +0 -1
  99. package/.next/static/chunks/pages/_app-9b6c4be3c7a42b65.js +0 -1
  100. package/.next/static/chunks/pages/account-d248acc931146694.js +0 -1
  101. package/.next/static/chunks/pages/checkout-97f6d6f36f041a6f.js +0 -1
  102. package/.next/static/chunks/pages/login-b1bdf30c951bb60d.js +0 -1
  103. package/.next/static/chunks/pages/s-aabfa5c08338974a.js +0 -1
  104. package/.next/static/chunks/webpack-63838fd23f69de45.js +0 -1
  105. package/.next/static/zNldw1SvMV6q0YSYCBqoy/_buildManifest.js +0 -1
  106. /package/.next/static/{zNldw1SvMV6q0YSYCBqoy → eyFnbBbCBoWbp9h5XhZVV}/_ssgManifest.js +0 -0
@@ -1,8 +1,8 @@
1
- exports.id = 721;
2
- exports.ids = [721];
1
+ exports.id = 430;
2
+ exports.ids = [430];
3
3
  exports.modules = {
4
4
 
5
- /***/ 47537:
5
+ /***/ 35645:
6
6
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
7
 
8
8
  "use strict";
@@ -16,14 +16,13 @@ __webpack_require__.d(__webpack_exports__, {
16
16
  var Image = __webpack_require__(79266);
17
17
  // EXTERNAL MODULE: external "react"
18
18
  var external_react_ = __webpack_require__(16689);
19
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
20
19
  ;// CONCATENATED MODULE: ../components/dist/organisms/Hero/Hero.js
21
20
 
22
21
  const HeroContext = (0,external_react_.createContext)(undefined);
23
22
  const Hero = (0,external_react_.forwardRef)(function Hero({ children, testId = 'fs-hero', variant = 'primary', colorVariant = 'main', ...otherProps }, ref) {
24
23
  const context = { variant, colorVariant };
25
- return (external_react_default().createElement(HeroContext.Provider, { value: context },
26
- external_react_default().createElement("article", { ref: ref, "data-fs-hero": true, "data-fs-hero-variant": variant, "data-fs-hero-color-variant": colorVariant, "data-testid": testId, ...otherProps }, children)));
24
+ return (external_react_.createElement(HeroContext.Provider, { value: context },
25
+ external_react_.createElement("article", { ref: ref, "data-fs-hero": true, "data-fs-hero-variant": variant, "data-fs-hero-color-variant": colorVariant, "data-testid": testId, ...otherProps }, children)));
27
26
  });
28
27
  function useHero() {
29
28
  const context = (0,external_react_.useContext)(HeroContext);
@@ -37,27 +36,27 @@ function useHero() {
37
36
  ;// CONCATENATED MODULE: ../components/dist/organisms/Hero/HeroImage.js
38
37
 
39
38
  const HeroImage = (0,external_react_.forwardRef)(function HeroImage({ children, testId = 'fs-hero-image', ...otherProps }, ref) {
40
- return (external_react_default().createElement("div", { ref: ref, "data-fs-hero-image": true, "data-testid": testId, ...otherProps }, children));
39
+ return (external_react_.createElement("div", { ref: ref, "data-fs-hero-image": true, "data-testid": testId, ...otherProps }, children));
41
40
  });
42
41
  /* harmony default export */ const Hero_HeroImage = (HeroImage);
43
42
  //# sourceMappingURL=HeroImage.js.map
44
43
  // EXTERNAL MODULE: ../components/dist/molecules/LinkButton/LinkButton.js
45
- var LinkButton = __webpack_require__(67703);
44
+ var LinkButton = __webpack_require__(46481);
46
45
  // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
47
- var Icon = __webpack_require__(25045);
46
+ var Icon = __webpack_require__(82185);
48
47
  ;// CONCATENATED MODULE: ../components/dist/organisms/Hero/HeroHeader.js
49
48
 
50
49
 
51
50
 
52
51
  const HeroHeader = (0,external_react_.forwardRef)(function HeroHeader({ icon, link, title, linkText, subtitle, children, testId = 'fs-hero-heading', ...otherProps }, ref) {
53
52
  const { variant, colorVariant } = useHero();
54
- return (external_react_default().createElement("header", { ref: ref, "data-fs-hero-heading": true, "data-testid": testId, ...otherProps },
55
- external_react_default().createElement("div", { "data-fs-hero-wrapper": true, "data-fs-content": "hero" },
56
- external_react_default().createElement("div", { "data-fs-hero-info": true },
57
- external_react_default().createElement("h1", { "data-fs-hero-title": true }, title),
58
- external_react_default().createElement("p", { "data-fs-hero-subtitle": true }, subtitle),
59
- !!link && (external_react_default().createElement(LinkButton/* default */.Z, { href: link, inverse: colorVariant === 'main', icon: external_react_default().createElement(Icon/* default */.Z, { name: "ArrowRight" }), iconPosition: "right" }, linkText))),
60
- !!icon && variant === 'secondary' && (external_react_default().createElement("span", { "data-fs-hero-icon": true }, icon)))));
53
+ return (external_react_.createElement("header", { ref: ref, "data-fs-hero-heading": true, "data-testid": testId, ...otherProps },
54
+ external_react_.createElement("div", { "data-fs-hero-wrapper": true, "data-fs-content": "hero" },
55
+ external_react_.createElement("div", { "data-fs-hero-info": true },
56
+ external_react_.createElement("h1", { "data-fs-hero-title": true }, title),
57
+ external_react_.createElement("p", { "data-fs-hero-subtitle": true }, subtitle),
58
+ !!link && (external_react_.createElement(LinkButton/* default */.Z, { href: link, inverse: colorVariant === 'main', icon: external_react_.createElement(Icon/* default */.Z, { name: "ArrowRight" }), iconPosition: "right" }, linkText))),
59
+ !!icon && variant === 'secondary' && (external_react_.createElement("span", { "data-fs-hero-icon": true }, icon)))));
61
60
  });
62
61
  /* harmony default export */ const Hero_HeroHeader = (HeroHeader);
63
62
  //# sourceMappingURL=HeroHeader.js.map
@@ -156,7 +155,7 @@ __webpack_require__.d(__webpack_exports__, {
156
155
  });
157
156
 
158
157
  // EXTERNAL MODULE: ./src/components/ui/Incentives/Incentives.tsx + 1 modules
159
- var Incentives = __webpack_require__(73477);
158
+ var Incentives = __webpack_require__(33571);
160
159
  // EXTERNAL MODULE: ./src/components/sections/Section/index.ts
161
160
  var Section = __webpack_require__(57067);
162
161
  // EXTERNAL MODULE: ./src/components/sections/Incentives/section.module.scss
@@ -268,9 +267,9 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
268
267
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
269
268
  /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19785);
270
269
  /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_intersection_observer__WEBPACK_IMPORTED_MODULE_1__);
271
- /* harmony import */ var src_components_product_ProductCard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(56475);
270
+ /* harmony import */ var src_components_product_ProductCard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(853);
272
271
  /* harmony import */ var src_components_skeletons_ProductTilesSkeleton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(40638);
273
- /* harmony import */ var src_components_ui_Tiles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65534);
272
+ /* harmony import */ var src_components_ui_Tiles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5984);
274
273
  /* harmony import */ var src_sdk_analytics_hooks_useViewItemListEvent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55184);
275
274
  /* harmony import */ var src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24867);
276
275
  /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(57067);
@@ -419,7 +418,7 @@ __webpack_require__.d(__webpack_exports__, {
419
418
  });
420
419
 
421
420
  // EXTERNAL MODULE: ./src/components/ui/Tiles/index.ts + 3 modules
422
- var Tiles = __webpack_require__(65534);
421
+ var Tiles = __webpack_require__(5984);
423
422
  // EXTERNAL MODULE: external "react/jsx-runtime"
424
423
  var jsx_runtime_ = __webpack_require__(20997);
425
424
  ;// CONCATENATED MODULE: ./src/components/skeletons/ProductTilesSkeleton/ProductTilesSkeleton.tsx
@@ -462,7 +461,7 @@ function ProductTilesSkeleton({
462
461
 
463
462
  /* harmony default export */ const ProductTilesSkeleton_ProductTilesSkeleton = (ProductTilesSkeleton);
464
463
  // EXTERNAL MODULE: ../components/dist/atoms/Skeleton/Skeleton.js
465
- var Skeleton = __webpack_require__(2928);
464
+ var Skeleton = __webpack_require__(78416);
466
465
  ;// CONCATENATED MODULE: ./src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/ProductTileSkeleton.tsx
467
466
 
468
467
 
@@ -535,7 +534,7 @@ function ProductTileSkeleton({
535
534
 
536
535
  /***/ }),
537
536
 
538
- /***/ 65534:
537
+ /***/ 5984:
539
538
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
540
539
 
541
540
  "use strict";
@@ -548,7 +547,6 @@ __webpack_require__.d(__webpack_exports__, {
548
547
 
549
548
  // EXTERNAL MODULE: external "react"
550
549
  var external_react_ = __webpack_require__(16689);
551
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
552
550
  ;// CONCATENATED MODULE: ../ui/dist/components/organisms/Tiles/Tiles.js
553
551
 
554
552
 
@@ -565,7 +563,7 @@ const Tiles = (0,external_react_.forwardRef)(function Tiles({ testId = 'store-ti
565
563
  : childrenCount === NUMBER_ITEMS_TO_EXPAND_FIRST_TWO
566
564
  ? 'expanded-first-two'
567
565
  : '';
568
- return (external_react_default().createElement("ul", { ref: ref, role: "list", "data-fs-tiles": true, "data-fs-tiles-variant": expandedClass, "data-fs-content": "tiles", "data-testid": testId, ...otherProps }, children));
566
+ return (external_react_.createElement("ul", { ref: ref, role: "list", "data-fs-tiles": true, "data-fs-tiles-variant": expandedClass, "data-fs-content": "tiles", "data-testid": testId, ...otherProps }, children));
569
567
  });
570
568
  /* harmony default export */ const Tiles_Tiles = (Tiles);
571
569
  //# sourceMappingURL=Tiles.js.map
@@ -602,7 +600,7 @@ const Tiles_Tiles_Tiles = _ref => {
602
600
  ;// CONCATENATED MODULE: ../ui/dist/components/organisms/Tiles/Tile.js
603
601
 
604
602
  const Tile = (0,external_react_.forwardRef)(function Tile({ testId = 'store-tile', children, ...otherProps }, ref) {
605
- return (external_react_default().createElement("li", { ref: ref, role: "listitem", "data-fs-tile": true, "data-testid": testId, ...otherProps }, children));
603
+ return (external_react_.createElement("li", { ref: ref, role: "listitem", "data-fs-tile": true, "data-testid": testId, ...otherProps }, children));
606
604
  });
607
605
  /* harmony default export */ const Tiles_Tile = (Tile);
608
606
  //# sourceMappingURL=Tile.js.map
@@ -1,118 +1,9 @@
1
1
  "use strict";
2
- exports.id = 269;
3
- exports.ids = [269];
2
+ exports.id = 581;
3
+ exports.ids = [581];
4
4
  exports.modules = {
5
5
 
6
- /***/ 2928:
7
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
-
9
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
11
- /* harmony export */ });
12
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
13
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
14
-
15
- const Skeleton = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Skeleton({ testId = 'fs-skeleton', loading = true, shimmer = true, children, size, border, borderRadius, ...otherProps }, ref) {
16
- const styles = {
17
- width: size.width,
18
- height: size.height,
19
- };
20
- return loading ? (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, "data-fs-skeleton": true, "data-testid": testId, "data-fs-skeleton-border": border ? border : null, style: borderRadius ? { ...styles, borderRadius: borderRadius } : styles, ...otherProps }, shimmer && react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-skeleton-shimmer": true }))) : (react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, children));
21
- });
22
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Skeleton);
23
- //# sourceMappingURL=Skeleton.js.map
24
-
25
- /***/ }),
26
-
27
- /***/ 89875:
28
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29
-
30
-
31
- // EXPORTS
32
- __webpack_require__.d(__webpack_exports__, {
33
- "Z": () => (/* binding */ DiscountBadge_DiscountBadge)
34
- });
35
-
36
- // EXTERNAL MODULE: external "react"
37
- var external_react_ = __webpack_require__(16689);
38
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
39
- // EXTERNAL MODULE: ../components/dist/atoms/Badge/Badge.js
40
- var Badge = __webpack_require__(10044);
41
- ;// CONCATENATED MODULE: ../components/dist/molecules/DiscountBadge/useDiscountPercent.js
42
-
43
- const useDiscountPercent = (listPrice, spotPrice) => {
44
- return (0,external_react_.useMemo)(() => {
45
- const diff = listPrice - spotPrice;
46
- const discount = (diff * 100) / listPrice;
47
- return Math.round(discount);
48
- }, [spotPrice, listPrice]);
49
- };
50
- //# sourceMappingURL=useDiscountPercent.js.map
51
- ;// CONCATENATED MODULE: ../components/dist/molecules/DiscountBadge/DiscountBadge.js
52
-
53
-
54
-
55
- const DiscountBadge = ({ listPrice, spotPrice, thresholdLow = 15, thresholdHigh = 40, size, testId = 'fs-discount-badge', }) => {
56
- const discountPercent = useDiscountPercent(listPrice, spotPrice);
57
- if (discountPercent === 0) {
58
- return external_react_default().createElement((external_react_default()).Fragment, null);
59
- }
60
- const discountVariant = discountPercent <= thresholdLow
61
- ? 'low'
62
- : discountPercent <= thresholdHigh
63
- ? 'medium'
64
- : 'high';
65
- return (external_react_default().createElement(Badge/* default */.Z, { "data-fs-discount-badge": true, "data-fs-discount-badge-variant": discountVariant, size: size, "data-testid": testId },
66
- discountPercent,
67
- "% off"));
68
- };
69
- /* harmony default export */ const DiscountBadge_DiscountBadge = (DiscountBadge);
70
- //# sourceMappingURL=DiscountBadge.js.map
71
-
72
- /***/ }),
73
-
74
- /***/ 40783:
75
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
76
-
77
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
78
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
79
- /* harmony export */ });
80
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
81
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
82
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25045);
83
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82765);
84
- /* harmony import */ var _atoms_List__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41329);
85
-
86
-
87
-
88
- const Rating = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Rating({ children, testId = 'fs-rating', length = 5, value = 0, icon, onChange, ...otherProps }, ref) {
89
- const [hover, setHover] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);
90
- const outlineProps = { 'data-fs-rating-icon-outline': true };
91
- const ratingIcon = react__WEBPACK_IMPORTED_MODULE_0___default().isValidElement(icon) ? icon : react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { name: "Star" });
92
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_atoms_List__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { ref: ref, "data-fs-rating": true, "data-fs-rating-actionable": typeof onChange === 'function', "data-testid": testId, ...otherProps }, Array.from({ length }).map((_, index) => {
93
- const tempIndex = index + 1;
94
- const fillCheck = () => {
95
- if (tempIndex <= (hover || value)) {
96
- return 'full';
97
- }
98
- if (tempIndex - value > 0 && tempIndex - value < 1) {
99
- return 'partial';
100
- }
101
- return 'empty';
102
- };
103
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", { key: `rating-${index}`, "data-fs-rating-item": fillCheck(), "data-testid": `${testId}-item` }, onChange ? (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, { "data-fs-rating-button": true, icon: ratingIcon, size: "small", "aria-label": "rate", onClick: () => {
104
- onChange(tempIndex);
105
- }, onMouseEnter: () => setHover(tempIndex), onMouseLeave: () => setHover(value) })) : (react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null,
106
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-rating-icon-wrapper": true }, ratingIcon),
107
- react__WEBPACK_IMPORTED_MODULE_0___default().isValidElement(icon) ? (react__WEBPACK_IMPORTED_MODULE_0___default().cloneElement(icon, outlineProps)) : (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { name: "Star", "data-fs-rating-icon-outline": true }))))));
108
- })));
109
- });
110
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Rating);
111
- //# sourceMappingURL=Rating.js.map
112
-
113
- /***/ }),
114
-
115
- /***/ 56475:
6
+ /***/ 853:
116
7
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
117
8
 
118
9
 
@@ -123,54 +14,53 @@ __webpack_require__.d(__webpack_exports__, {
123
14
 
124
15
  // EXTERNAL MODULE: external "react"
125
16
  var external_react_ = __webpack_require__(16689);
126
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
127
17
  ;// CONCATENATED MODULE: ../components/dist/molecules/ProductCard/ProductCard.js
128
18
 
129
19
  const ProductCard = (0,external_react_.forwardRef)(function ProductCard({ testId = 'fs-product-card', variant = 'default', bordered = false, outOfStock, children, ...otherProps }, ref) {
130
- return (external_react_default().createElement("article", { ref: ref, "data-fs-product-card": outOfStock ? 'out-of-stock' : '', "data-fs-product-card-variant": variant, "data-fs-product-card-bordered": bordered, "data-testid": testId, ...otherProps }, children));
20
+ return (external_react_.createElement("article", { ref: ref, "data-fs-product-card": outOfStock ? 'out-of-stock' : '', "data-fs-product-card-variant": variant, "data-fs-product-card-bordered": bordered, "data-testid": testId, ...otherProps }, children));
131
21
  });
132
22
  /* harmony default export */ const ProductCard_ProductCard = (ProductCard);
133
23
  //# sourceMappingURL=ProductCard.js.map
134
24
  ;// CONCATENATED MODULE: ../components/dist/molecules/ProductCard/ProductCardImage.js
135
25
 
136
26
  const ProductCardImage = (0,external_react_.forwardRef)(function ProductCardImage({ testId = 'fs-product-card-image', aspectRatio = 1, children, ...otherProps }, ref) {
137
- return (external_react_default().createElement("div", { ref: ref, "data-fs-product-card-image": true, "data-testid": testId, style: {
27
+ return (external_react_.createElement("div", { ref: ref, "data-fs-product-card-image": true, "data-testid": testId, style: {
138
28
  '--fs-product-card-image-aspect-ratio': aspectRatio
139
29
  }, ...otherProps }, children));
140
30
  });
141
31
  /* harmony default export */ const ProductCard_ProductCardImage = (ProductCardImage);
142
32
  //# sourceMappingURL=ProductCardImage.js.map
143
33
  // EXTERNAL MODULE: ../components/dist/atoms/Link/Link.js
144
- var Link = __webpack_require__(87865);
34
+ var Link = __webpack_require__(18595);
145
35
  // EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
146
- var Price = __webpack_require__(57549);
36
+ var Price = __webpack_require__(23556);
147
37
  // EXTERNAL MODULE: ../components/dist/molecules/Rating/Rating.js
148
- var Rating = __webpack_require__(40783);
38
+ var Rating = __webpack_require__(57092);
149
39
  // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
150
- var Icon = __webpack_require__(25045);
40
+ var Icon = __webpack_require__(82185);
151
41
  // EXTERNAL MODULE: ../components/dist/molecules/DiscountBadge/DiscountBadge.js + 1 modules
152
- var DiscountBadge = __webpack_require__(89875);
42
+ var DiscountBadge = __webpack_require__(5316);
153
43
  // EXTERNAL MODULE: ../components/dist/atoms/Badge/Badge.js
154
- var Badge = __webpack_require__(10044);
44
+ var Badge = __webpack_require__(87197);
155
45
  // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
156
- var Button = __webpack_require__(57578);
46
+ var Button = __webpack_require__(33815);
157
47
  ;// CONCATENATED MODULE: ../components/dist/molecules/ProductCard/ProductCardContent.js
158
48
 
159
49
 
160
50
  const ProductCardContent = (0,external_react_.forwardRef)(function CardContent({ testId = 'fs-product-card-content', title, linkProps, price, outOfStock, outOfStockLabel = 'Out of stock', ratingValue, showDiscountBadge, buttonLabel = 'Add', onButtonClick, children, ...otherProps }, ref) {
161
- return (external_react_default().createElement("section", { ref: ref, "data-fs-product-card-content": true, "data-fs-product-card-badge": showDiscountBadge, "data-testid": testId, ...otherProps },
162
- external_react_default().createElement("div", { "data-fs-product-card-heading": true },
163
- external_react_default().createElement("h3", { "data-fs-product-card-title": true },
164
- external_react_default().createElement(Link/* default */.Z, { ...linkProps, title: title },
165
- external_react_default().createElement("span", null, title))),
166
- external_react_default().createElement("div", { "data-fs-product-card-prices": true },
167
- external_react_default().createElement(Price/* default */.Z, { value: price?.listPrice ? price.listPrice : 0, formatter: price?.formatter, testId: "list-price", "data-value": price?.listPrice, variant: "listing", SRText: "Original price:" }),
168
- external_react_default().createElement(Price/* default */.Z, { value: price?.value ? price.value : 0, formatter: price?.formatter, testId: "price", "data-value": price?.value, variant: "spot", SRText: "Sale Price:" })),
169
- ratingValue && (external_react_default().createElement(Rating/* default */.Z, { value: ratingValue, icon: external_react_default().createElement(Icon/* default */.Z, { name: "Star" }) }))),
170
- showDiscountBadge && !outOfStock && (external_react_default().createElement(DiscountBadge/* default */.Z, { listPrice: price?.listPrice ? price.listPrice : 0, spotPrice: price?.value ? price.value : 0 })),
171
- outOfStock && external_react_default().createElement(Badge/* default */.Z, null, outOfStockLabel),
172
- onButtonClick && !outOfStock && (external_react_default().createElement("div", { "data-fs-product-card-actions": true },
173
- external_react_default().createElement(Button/* default */.Z, { variant: "primary", icon: external_react_default().createElement(Icon/* default */.Z, { name: "ShoppingCart" }), iconPosition: "left", size: "small", onClick: onButtonClick }, buttonLabel)))));
51
+ return (external_react_.createElement("section", { ref: ref, "data-fs-product-card-content": true, "data-fs-product-card-badge": showDiscountBadge, "data-testid": testId, ...otherProps },
52
+ external_react_.createElement("div", { "data-fs-product-card-heading": true },
53
+ external_react_.createElement("h3", { "data-fs-product-card-title": true },
54
+ external_react_.createElement(Link/* default */.Z, { ...linkProps, title: title },
55
+ external_react_.createElement("span", null, title))),
56
+ external_react_.createElement("div", { "data-fs-product-card-prices": true },
57
+ external_react_.createElement(Price/* default */.Z, { value: price?.listPrice ? price.listPrice : 0, formatter: price?.formatter, testId: "list-price", "data-value": price?.listPrice, variant: "listing", SRText: "Original price:" }),
58
+ external_react_.createElement(Price/* default */.Z, { value: price?.value ? price.value : 0, formatter: price?.formatter, testId: "price", "data-value": price?.value, variant: "spot", SRText: "Sale Price:" })),
59
+ ratingValue && (external_react_.createElement(Rating/* default */.Z, { value: ratingValue, icon: external_react_.createElement(Icon/* default */.Z, { name: "Star" }) }))),
60
+ showDiscountBadge && !outOfStock && (external_react_.createElement(DiscountBadge/* default */.Z, { listPrice: price?.listPrice ? price.listPrice : 0, spotPrice: price?.value ? price.value : 0 })),
61
+ outOfStock && external_react_.createElement(Badge/* default */.Z, null, outOfStockLabel),
62
+ onButtonClick && !outOfStock && (external_react_.createElement("div", { "data-fs-product-card-actions": true },
63
+ external_react_.createElement(Button/* default */.Z, { variant: "primary", icon: external_react_.createElement(Icon/* default */.Z, { name: "ShoppingCart" }), iconPosition: "left", size: "small", onClick: onButtonClick }, buttonLabel)))));
174
64
  });
175
65
  /* harmony default export */ const ProductCard_ProductCardContent = (ProductCardContent);
176
66
  //# sourceMappingURL=ProductCardContent.js.map
@@ -298,7 +188,7 @@ __webpack_require__.d(__webpack_exports__, {
298
188
  });
299
189
 
300
190
  // EXTERNAL MODULE: ../components/dist/atoms/Skeleton/Skeleton.js
301
- var Skeleton = __webpack_require__(2928);
191
+ var Skeleton = __webpack_require__(78416);
302
192
  // EXTERNAL MODULE: external "react/jsx-runtime"
303
193
  var jsx_runtime_ = __webpack_require__(20997);
304
194
  ;// CONCATENATED MODULE: ./src/components/skeletons/ProductCardSkeleton/ProductCardSkeleton.tsx
@@ -511,6 +401,112 @@ const useProductsQueryPrefetch = (variables, options) => {
511
401
  __webpack_async_result__();
512
402
  } catch(e) { __webpack_async_result__(e); } });
513
403
 
404
+ /***/ }),
405
+
406
+ /***/ 78416:
407
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
408
+
409
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
410
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
411
+ /* harmony export */ });
412
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
413
+
414
+ const Skeleton = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Skeleton({ testId = 'fs-skeleton', loading = true, shimmer = true, children, size, border, borderRadius, ...otherProps }, ref) {
415
+ const styles = {
416
+ width: size.width,
417
+ height: size.height,
418
+ };
419
+ return loading ? (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { ref: ref, "data-fs-skeleton": true, "data-testid": testId, "data-fs-skeleton-border": border ? border : null, style: borderRadius ? { ...styles, borderRadius: borderRadius } : styles, ...otherProps }, shimmer && react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { "data-fs-skeleton-shimmer": true }))) : (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, children));
420
+ });
421
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Skeleton);
422
+ //# sourceMappingURL=Skeleton.js.map
423
+
424
+ /***/ }),
425
+
426
+ /***/ 5316:
427
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
428
+
429
+
430
+ // EXPORTS
431
+ __webpack_require__.d(__webpack_exports__, {
432
+ "Z": () => (/* binding */ DiscountBadge_DiscountBadge)
433
+ });
434
+
435
+ // EXTERNAL MODULE: external "react"
436
+ var external_react_ = __webpack_require__(16689);
437
+ // EXTERNAL MODULE: ../components/dist/atoms/Badge/Badge.js
438
+ var Badge = __webpack_require__(87197);
439
+ ;// CONCATENATED MODULE: ../components/dist/molecules/DiscountBadge/useDiscountPercent.js
440
+
441
+ const useDiscountPercent = (listPrice, spotPrice) => {
442
+ return (0,external_react_.useMemo)(() => {
443
+ const diff = listPrice - spotPrice;
444
+ const discount = (diff * 100) / listPrice;
445
+ return Math.round(discount);
446
+ }, [spotPrice, listPrice]);
447
+ };
448
+ //# sourceMappingURL=useDiscountPercent.js.map
449
+ ;// CONCATENATED MODULE: ../components/dist/molecules/DiscountBadge/DiscountBadge.js
450
+
451
+
452
+
453
+ const DiscountBadge = ({ listPrice, spotPrice, thresholdLow = 15, thresholdHigh = 40, size, testId = 'fs-discount-badge', }) => {
454
+ const discountPercent = useDiscountPercent(listPrice, spotPrice);
455
+ if (discountPercent === 0) {
456
+ return external_react_.createElement(external_react_.Fragment, null);
457
+ }
458
+ const discountVariant = discountPercent <= thresholdLow
459
+ ? 'low'
460
+ : discountPercent <= thresholdHigh
461
+ ? 'medium'
462
+ : 'high';
463
+ return (external_react_.createElement(Badge/* default */.Z, { "data-fs-discount-badge": true, "data-fs-discount-badge-variant": discountVariant, size: size, "data-testid": testId },
464
+ discountPercent,
465
+ "% off"));
466
+ };
467
+ /* harmony default export */ const DiscountBadge_DiscountBadge = (DiscountBadge);
468
+ //# sourceMappingURL=DiscountBadge.js.map
469
+
470
+ /***/ }),
471
+
472
+ /***/ 57092:
473
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
474
+
475
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
476
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
477
+ /* harmony export */ });
478
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
479
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82185);
480
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(90518);
481
+ /* harmony import */ var _atoms_List__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58823);
482
+
483
+
484
+
485
+ const Rating = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Rating({ children, testId = 'fs-rating', length = 5, value = 0, icon, onChange, ...otherProps }, ref) {
486
+ const [hover, setHover] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);
487
+ const outlineProps = { 'data-fs-rating-icon-outline': true };
488
+ const ratingIcon = react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(icon) ? icon : react__WEBPACK_IMPORTED_MODULE_0__.createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { name: "Star" });
489
+ return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_atoms_List__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { ref: ref, "data-fs-rating": true, "data-fs-rating-actionable": typeof onChange === 'function', "data-testid": testId, ...otherProps }, Array.from({ length }).map((_, index) => {
490
+ const tempIndex = index + 1;
491
+ const fillCheck = () => {
492
+ if (tempIndex <= (hover || value)) {
493
+ return 'full';
494
+ }
495
+ if (tempIndex - value > 0 && tempIndex - value < 1) {
496
+ return 'partial';
497
+ }
498
+ return 'empty';
499
+ };
500
+ return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("li", { key: `rating-${index}`, "data-fs-rating-item": fillCheck(), "data-testid": `${testId}-item` }, onChange ? (react__WEBPACK_IMPORTED_MODULE_0__.createElement(___WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, { "data-fs-rating-button": true, icon: ratingIcon, size: "small", "aria-label": "rate", onClick: () => {
501
+ onChange(tempIndex);
502
+ }, onMouseEnter: () => setHover(tempIndex), onMouseLeave: () => setHover(value) })) : (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,
503
+ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { "data-fs-rating-icon-wrapper": true }, ratingIcon),
504
+ react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(icon) ? (react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(icon, outlineProps)) : (react__WEBPACK_IMPORTED_MODULE_0__.createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { name: "Star", "data-fs-rating-icon-outline": true }))))));
505
+ })));
506
+ });
507
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Rating);
508
+ //# sourceMappingURL=Rating.js.map
509
+
514
510
  /***/ })
515
511
 
516
512
  };