@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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +49 -49
- 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 +9 -9
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/107.js +56 -0
- package/.next/server/chunks/186.js +22 -23
- package/.next/server/chunks/{886.js → 188.js} +32 -33
- package/.next/server/chunks/289.js +4 -5
- package/.next/server/chunks/{502.js → 309.js} +76 -78
- package/.next/server/chunks/312.js +222 -231
- package/.next/server/chunks/350.js +1 -1
- package/.next/server/chunks/{721.js → 430.js} +23 -25
- package/.next/server/chunks/{269.js → 581.js} +132 -136
- package/.next/server/chunks/74.js +3049 -3078
- package/.next/server/chunks/{247.js → 744.js} +23 -24
- package/.next/server/chunks/{597.js → 751.js} +19 -20
- package/.next/server/chunks/{123.js → 90.js} +11 -12
- package/.next/server/chunks/907.js +334 -342
- package/.next/server/chunks/{253.js → 934.js} +37 -38
- package/.next/server/chunks/{81.js → 953.js} +55 -59
- 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 +2 -2
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js +2 -2
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +7 -7
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +84 -86
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js +2 -2
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/account.js +1 -1
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +1 -1
- package/.next/server/pages/checkout.js +1 -1
- 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 +2 -2
- package/.next/server/pages/index.js +3 -3
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js +2 -2
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js +3 -3
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +2 -2
- package/.next/static/chunks/{64.2f385ef39cd5877d.js → 27.37e4942c9236a071.js} +1 -1
- package/.next/static/chunks/309.548249b3b3588d3b.js +1 -0
- package/.next/static/chunks/33-7f26ec3a5ae7a227.js +1 -0
- package/.next/static/chunks/548-ab84e9e8b49413ab.js +1 -0
- package/.next/static/chunks/676.b7bc42f3e37ff88f.js +1 -0
- package/.next/static/chunks/686-78f207384adb0d83.js +1 -0
- package/.next/static/chunks/{738-a5ff304828f20cbf.js → 738-67a288ca3569cdbb.js} +1 -1
- package/.next/static/chunks/751.f9415d15cb5be269.js +1 -0
- package/.next/static/chunks/917-bf452887bdb70e03.js +1 -0
- package/.next/static/chunks/pages/404-7812758b206af5cc.js +1 -0
- package/.next/static/chunks/pages/500-0c1b954316d40621.js +1 -0
- package/.next/static/chunks/pages/{[...slug]-bcfaf0c5d60b57a0.js → [...slug]-fd9cc16734d8f161.js} +1 -1
- package/.next/static/chunks/pages/[slug]/p-5a83993d8ff855a6.js +1 -0
- package/.next/static/chunks/pages/_app-73e1a1982ec17ff6.js +1 -0
- package/.next/static/chunks/pages/account-ac4fa43a2d996db5.js +1 -0
- package/.next/static/chunks/pages/checkout-fa13dc49318df859.js +1 -0
- package/.next/static/chunks/pages/{index-bdbfb082027ed2b7.js → index-e8b556e0a22cf818.js} +1 -1
- package/.next/static/chunks/pages/login-5759fba9bb7ae351.js +1 -0
- package/.next/static/chunks/pages/s-a63dd94090d398be.js +1 -0
- package/.next/static/chunks/webpack-1d498edbf92d70ad.js +1 -0
- package/.next/static/eyFnbBbCBoWbp9h5XhZVV/_buildManifest.js +1 -0
- package/.next/trace +80 -80
- package/.turbo/turbo-build.log +6 -6
- package/cypress/integration/analytics.test.js +1 -5
- package/cypress/integration/cart.test.js +20 -14
- package/cypress/integration/search.test.js +1 -1
- package/package.json +4 -4
- package/.next/server/chunks/287.js +0 -58
- package/.next/static/chunks/209-d1d2eeaeefbc68f7.js +0 -1
- package/.next/static/chunks/495.0ecd099878b2a36d.js +0 -1
- package/.next/static/chunks/502.b14533723651e5a1.js +0 -1
- package/.next/static/chunks/548-6b23e7ad82cd22b9.js +0 -1
- package/.next/static/chunks/597.f8d0595b113c70af.js +0 -1
- package/.next/static/chunks/706-b3046536d4b7dd3f.js +0 -1
- package/.next/static/chunks/791-5b3d23f5b6100959.js +0 -1
- package/.next/static/chunks/pages/404-14d27e3706f3d2c3.js +0 -1
- package/.next/static/chunks/pages/500-250ccf5c9626e451.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-44e66d729b2413fb.js +0 -1
- package/.next/static/chunks/pages/_app-9b6c4be3c7a42b65.js +0 -1
- package/.next/static/chunks/pages/account-d248acc931146694.js +0 -1
- package/.next/static/chunks/pages/checkout-97f6d6f36f041a6f.js +0 -1
- package/.next/static/chunks/pages/login-b1bdf30c951bb60d.js +0 -1
- package/.next/static/chunks/pages/s-aabfa5c08338974a.js +0 -1
- package/.next/static/chunks/webpack-63838fd23f69de45.js +0 -1
- package/.next/static/zNldw1SvMV6q0YSYCBqoy/_buildManifest.js +0 -1
- /package/.next/static/{zNldw1SvMV6q0YSYCBqoy → eyFnbBbCBoWbp9h5XhZVV}/_ssgManifest.js +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
exports.id =
|
|
2
|
-
exports.ids = [
|
|
1
|
+
exports.id = 430;
|
|
2
|
+
exports.ids = [430];
|
|
3
3
|
exports.modules = {
|
|
4
4
|
|
|
5
|
-
/***/
|
|
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 (
|
|
26
|
-
|
|
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 (
|
|
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__(
|
|
44
|
+
var LinkButton = __webpack_require__(46481);
|
|
46
45
|
// EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
|
|
47
|
-
var Icon = __webpack_require__(
|
|
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 (
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
!!link && (
|
|
60
|
-
!!icon && variant === 'secondary' && (
|
|
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__(
|
|
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__(
|
|
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__(
|
|
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__(
|
|
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__(
|
|
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
|
-
/***/
|
|
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 (
|
|
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 (
|
|
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 =
|
|
3
|
-
exports.ids = [
|
|
2
|
+
exports.id = 581;
|
|
3
|
+
exports.ids = [581];
|
|
4
4
|
exports.modules = {
|
|
5
5
|
|
|
6
|
-
/***/
|
|
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 (
|
|
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 (
|
|
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__(
|
|
34
|
+
var Link = __webpack_require__(18595);
|
|
145
35
|
// EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
|
|
146
|
-
var Price = __webpack_require__(
|
|
36
|
+
var Price = __webpack_require__(23556);
|
|
147
37
|
// EXTERNAL MODULE: ../components/dist/molecules/Rating/Rating.js
|
|
148
|
-
var Rating = __webpack_require__(
|
|
38
|
+
var Rating = __webpack_require__(57092);
|
|
149
39
|
// EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
|
|
150
|
-
var Icon = __webpack_require__(
|
|
40
|
+
var Icon = __webpack_require__(82185);
|
|
151
41
|
// EXTERNAL MODULE: ../components/dist/molecules/DiscountBadge/DiscountBadge.js + 1 modules
|
|
152
|
-
var DiscountBadge = __webpack_require__(
|
|
42
|
+
var DiscountBadge = __webpack_require__(5316);
|
|
153
43
|
// EXTERNAL MODULE: ../components/dist/atoms/Badge/Badge.js
|
|
154
|
-
var Badge = __webpack_require__(
|
|
44
|
+
var Badge = __webpack_require__(87197);
|
|
155
45
|
// EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
|
|
156
|
-
var Button = __webpack_require__(
|
|
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 (
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
ratingValue && (
|
|
170
|
-
showDiscountBadge && !outOfStock && (
|
|
171
|
-
outOfStock &&
|
|
172
|
-
onButtonClick && !outOfStock && (
|
|
173
|
-
|
|
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__(
|
|
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
|
};
|