@faststore/core 3.0.17 → 3.0.21
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 +90 -89
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/eslint/.cache_abdhua +1 -0
- package/.next/cache/next-server.js.nft.json +1 -0
- package/.next/cache/webpack/client-development/0.pack +0 -0
- package/.next/cache/webpack/client-development/1.pack +0 -0
- package/.next/cache/webpack/client-development/2.pack +0 -0
- package/.next/cache/webpack/client-development/index.pack +0 -0
- package/.next/cache/webpack/client-development/index.pack.old +0 -0
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/1.pack +0 -0
- package/.next/cache/webpack/client-production/2.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/.next/cache/webpack/server-development/0.pack +0 -0
- package/.next/cache/webpack/server-development/1.pack +0 -0
- package/.next/cache/webpack/server-development/2.pack +0 -0
- package/.next/cache/webpack/server-development/3.pack +0 -0
- package/.next/cache/webpack/server-development/4.pack +0 -0
- package/.next/cache/webpack/server-development/index.pack +0 -0
- package/.next/cache/webpack/server-development/index.pack.old +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/1.pack +0 -0
- package/.next/cache/webpack/server-production/2.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/.next/images-manifest.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +18 -18
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/117.js +430 -0
- package/.next/server/chunks/177.js +125 -0
- package/.next/server/chunks/183.js +122 -0
- package/.next/server/chunks/184.js +61 -0
- package/.next/server/chunks/289.js +240 -0
- package/.next/server/chunks/312.js +678 -0
- package/.next/server/chunks/350.js +2834 -0
- package/.next/server/chunks/386.js +200 -0
- package/.next/server/chunks/390.js +550 -0
- package/.next/server/chunks/398.js +611 -0
- package/.next/server/chunks/404.js +434 -1
- package/.next/server/chunks/53.js +61 -0
- package/.next/server/chunks/57.js +434 -1
- package/.next/server/chunks/574.js +145 -0
- package/.next/server/chunks/576.js +122 -0
- package/.next/server/chunks/585.js +640 -0
- package/.next/server/chunks/676.js +32 -0
- package/.next/server/chunks/693.js +58 -1
- package/.next/server/chunks/732.js +1881 -0
- package/.next/server/chunks/74.js +4066 -0
- package/.next/server/chunks/779.js +58 -1
- package/.next/server/chunks/825.js +4074 -0
- package/.next/server/chunks/854.js +72 -0
- package/.next/server/chunks/859.js +957 -4
- package/.next/server/chunks/863.js +111 -0
- package/.next/server/chunks/979.js +1305 -0
- package/.next/server/chunks/98.js +163 -0
- package/.next/server/chunks/988.js +211 -0
- 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 +391 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js +395 -1
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +1076 -1
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +2265 -1
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js +301 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js +363 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js +164 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/account.js +370 -1
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +2999 -1
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/api/health/live.js +31 -1
- package/.next/server/pages/api/health/live.js.nft.json +1 -1
- package/.next/server/pages/api/health/ready.js +31 -1
- package/.next/server/pages/api/health/ready.js.nft.json +1 -1
- package/.next/server/pages/api/preview.js +137 -1
- package/.next/server/pages/api/preview.js.nft.json +1 -1
- package/.next/server/pages/checkout.js +370 -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/404.json +1 -1
- package/.next/server/pages/en-US/500.html +2 -2
- package/.next/server/pages/en-US/500.json +1 -1
- package/.next/server/pages/en-US/account.html +2 -2
- package/.next/server/pages/en-US/account.json +1 -1
- package/.next/server/pages/en-US/checkout.html +2 -2
- package/.next/server/pages/en-US/checkout.json +1 -1
- package/.next/server/pages/en-US/login.html +2 -2
- package/.next/server/pages/en-US/login.json +1 -1
- package/.next/server/pages/en-US/s.html +2 -2
- package/.next/server/pages/en-US/s.json +1 -1
- package/.next/server/pages/en-US.html +5 -5
- package/.next/server/pages/en-US.json +1 -1
- package/.next/server/pages/index.js +439 -1
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js +382 -1
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js +554 -1
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +18 -1
- package/.next/server/webpack-api-runtime.js +229 -1
- package/.next/server/webpack-runtime.js +229 -1
- package/.next/static/HI-kc1kjNIbFyFsZCeDEA/_buildManifest.js +1 -0
- package/.next/static/chunks/223-cb77217cce52d45c.js +1 -0
- package/.next/static/chunks/251.1c79f06f2a2814b1.js +1 -0
- package/.next/static/chunks/386.d01e0db26c523f0f.js +1 -0
- package/.next/static/chunks/400-d4daabcd57b2ea80.js +1 -0
- package/.next/static/chunks/469-7259b855711d4ad3.js +1 -0
- package/.next/static/chunks/574.70612be06fd1365f.js +1 -0
- package/.next/static/chunks/585.4c5d40fc6a72a611.js +1 -0
- package/.next/static/chunks/651.7142f31ce1e052b3.js +1 -0
- package/.next/static/chunks/741.52f7fb873418346f.js +1 -0
- package/.next/static/chunks/783-fbcb7a3216c40744.js +1 -0
- package/.next/static/chunks/800.ee4f8b9622001e8c.js +1 -0
- package/.next/static/chunks/98.40c7e17d9de4eb8f.js +1 -0
- package/.next/static/chunks/988.afda042dd9ba11d1.js +1 -0
- package/.next/static/chunks/framework-dfd14d7ce6600b03.js +1 -0
- package/.next/static/chunks/main-e4e873ee741162eb.js +1 -0
- package/.next/static/chunks/pages/404-2240f0b22db2d370.js +1 -0
- package/.next/static/chunks/pages/500-c0580e3299329874.js +1 -0
- package/.next/static/chunks/pages/[...slug]-3eed3497c887fae5.js +1 -0
- package/.next/static/chunks/pages/[slug]/p-e1df08570f34a0d8.js +1 -0
- package/.next/static/chunks/pages/_app-30b9666307e4b3b1.js +1 -0
- package/.next/static/chunks/pages/_error-319451dea77827a6.js +1 -0
- package/.next/static/chunks/pages/account-b35bcbef719765f3.js +1 -0
- package/.next/static/chunks/pages/checkout-55bd56ade4408cbe.js +1 -0
- package/.next/static/chunks/pages/index-2506749e45c335bf.js +1 -0
- package/.next/static/chunks/pages/login-3f94bff1503b4fdc.js +1 -0
- package/.next/static/chunks/pages/s-2374cff2e39ed624.js +1 -0
- package/.next/static/chunks/webpack-af94306e71c4459d.js +1 -0
- package/.next/static/css/29868543c76bc6fd.css +1 -0
- package/.next/static/css/527e334fa69cf40a.css +1 -0
- package/.next/static/css/{b9d9ba1b04f3160d.css → 6a7fdc5a21fbead5.css} +1 -1
- package/.next/static/css/723835bce380750d.css +1 -0
- package/.next/static/css/{d586715f4f707df4.css → a2eefb25a4608343.css} +1 -1
- package/.next/static/css/{e32410b31c666cb2.css → cb7d1fcea42fab9c.css} +1 -1
- package/.next/static/css/d7bbfbd552f407e9.css +1 -0
- package/.next/static/css/{2980acad3f8e1028.css → df588bb98c0b0ca6.css} +1 -1
- package/.next/static/css/dfbdb0f27fd64782.css +1 -0
- package/.next/static/css/e84fc497732ea596.css +1 -0
- package/.next/trace +80 -91
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-dev.log +45 -0
- package/@generated/gql.ts +4 -4
- package/@generated/graphql.ts +54 -12
- package/package.json +3 -3
- package/src/components/product/ProductCard/ProductCard.tsx +7 -0
- package/src/components/sections/ProductDetails/ProductDetails.tsx +7 -0
- package/.next/cache/config.json +0 -7
- package/.next/cache/eslint/.cache_1gneedd +0 -1
- package/.next/next-minimal-server.js.nft.json +0 -1
- package/.next/prerender-manifest.js +0 -1
- package/.next/server/chunks/119.js +0 -1
- package/.next/server/chunks/12.js +0 -1
- package/.next/server/chunks/187.js +0 -1
- package/.next/server/chunks/202.js +0 -1
- package/.next/server/chunks/24.js +0 -1
- package/.next/server/chunks/242.js +0 -1
- package/.next/server/chunks/247.js +0 -1
- package/.next/server/chunks/344.js +0 -1
- package/.next/server/chunks/414.js +0 -1
- package/.next/server/chunks/484.js +0 -1
- package/.next/server/chunks/493.js +0 -1
- package/.next/server/chunks/498.js +0 -1
- package/.next/server/chunks/540.js +0 -1
- package/.next/server/chunks/624.js +0 -1
- package/.next/server/chunks/640.js +0 -6
- package/.next/server/chunks/646.js +0 -280
- package/.next/server/chunks/659.js +0 -9
- package/.next/server/chunks/679.js +0 -1
- package/.next/server/chunks/694.js +0 -1
- package/.next/server/chunks/82.js +0 -8
- package/.next/server/chunks/857.js +0 -1
- package/.next/server/chunks/881.js +0 -1
- package/.next/server/chunks/917.js +0 -1
- package/.next/server/chunks/936.js +0 -1
- package/.next/server/chunks/96.js +0 -1
- package/.next/server/chunks/997.js +0 -1
- package/.next/server/functions-config-manifest.json +0 -1
- package/.next/server/next-font-manifest.js +0 -1
- package/.next/server/next-font-manifest.json +0 -1
- package/.next/static/GuDWclSYmL3r-NEqsUOG2/_buildManifest.js +0 -1
- package/.next/static/chunks/104-4f83b1d87ad36358.js +0 -1
- package/.next/static/chunks/161-b39fe2f79ff7bc85.js +0 -1
- package/.next/static/chunks/202.c7d8a71173edecfb.js +0 -1
- package/.next/static/chunks/217.01bc0ad07edd6f1b.js +0 -1
- package/.next/static/chunks/247.6f1391104a867395.js +0 -1
- package/.next/static/chunks/484.b82b73b1d8c37e02.js +0 -1
- package/.next/static/chunks/540.6c62d2536d42a1e0.js +0 -1
- package/.next/static/chunks/575-853fb8b1ba4ce8c4.js +0 -14
- package/.next/static/chunks/624.d3de62b4562a33f3.js +0 -1
- package/.next/static/chunks/629-c74f247bd29420a5.js +0 -1
- package/.next/static/chunks/65.da22595d53beae76.js +0 -1
- package/.next/static/chunks/758.b53ee01b506973e0.js +0 -1
- package/.next/static/chunks/857.d2299cfe995af21d.js +0 -1
- package/.next/static/chunks/framework-8e279965036b6169.js +0 -33
- package/.next/static/chunks/main-6f63f6746cc029db.js +0 -1
- package/.next/static/chunks/pages/404-1334d11ab8467b3d.js +0 -1
- package/.next/static/chunks/pages/500-449c5bd51f98423f.js +0 -1
- package/.next/static/chunks/pages/[...slug]-bcaf61b01157d8cb.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-5fb8fe2c80ec1608.js +0 -1
- package/.next/static/chunks/pages/_app-ad8623e78bc5b766.js +0 -68
- package/.next/static/chunks/pages/_error-fbf331a03642b495.js +0 -1
- package/.next/static/chunks/pages/account-dbc5c028225cd1ac.js +0 -1
- package/.next/static/chunks/pages/checkout-29ae2c37eaf172e1.js +0 -1
- package/.next/static/chunks/pages/index-cd109119d65df8e3.js +0 -1
- package/.next/static/chunks/pages/login-c4d2c856008df5ac.js +0 -1
- package/.next/static/chunks/pages/s-26e475975386c51a.js +0 -1
- package/.next/static/chunks/webpack-b4a2fdf4ef127bb7.js +0 -1
- package/.next/static/css/0d45c82d8887a269.css +0 -1
- package/.next/static/css/211c7542af66d8b4.css +0 -1
- package/.next/static/css/4c4d90eb8cb1d2b7.css +0 -1
- package/.next/static/css/821a5219786be653.css +0 -1
- package/.next/static/css/96e3fddf695d6aa9.css +0 -1
- package/.next/static/css/cff9aafa16fccc9c.css +0 -1
- package/.turbo/turbo-lint.log +0 -2
- package/.turbo/turbo-test.log +0 -23
- package/@generated/graphql/persisted.json +0 -13
- package/@generated/graphql/schema.graphql +0 -1053
- package/@generated/persisted-documents.json +0 -13
- package/@generated/schema.graphql +0 -1055
- /package/.next/static/{GuDWclSYmL3r-NEqsUOG2 → HI-kc1kjNIbFyFsZCeDEA}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,550 @@
|
|
|
1
|
+
exports.id = 390;
|
|
2
|
+
exports.ids = [390];
|
|
3
|
+
exports.modules = {
|
|
4
|
+
|
|
5
|
+
/***/ 2390:
|
|
6
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7
|
+
|
|
8
|
+
"use strict";
|
|
9
|
+
|
|
10
|
+
// EXPORTS
|
|
11
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
12
|
+
"Z": () => (/* binding */ sections_Breadcrumb_Breadcrumb)
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// EXTERNAL MODULE: external "react"
|
|
16
|
+
var external_react_ = __webpack_require__(6689);
|
|
17
|
+
var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
|
|
18
|
+
// EXTERNAL MODULE: ./src/components/ui/Link/Link.tsx
|
|
19
|
+
var Link = __webpack_require__(7058);
|
|
20
|
+
// EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
|
|
21
|
+
var Icon = __webpack_require__(2614);
|
|
22
|
+
// EXTERNAL MODULE: ../components/dist/esm/atoms/Link/Link.js
|
|
23
|
+
var Link_Link = __webpack_require__(727);
|
|
24
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Dropdown/contexts/DropdownContext.js
|
|
25
|
+
|
|
26
|
+
const defaultState = {
|
|
27
|
+
isOpen: false,
|
|
28
|
+
dropdownButtonRef: null,
|
|
29
|
+
selectedDropdownItemIndexRef: null,
|
|
30
|
+
dropdownItemsRef: null,
|
|
31
|
+
id: 'fs-dropdown',
|
|
32
|
+
};
|
|
33
|
+
const DropdownContext = (0,external_react_.createContext)(defaultState);
|
|
34
|
+
/* harmony default export */ const contexts_DropdownContext = (DropdownContext);
|
|
35
|
+
//# sourceMappingURL=DropdownContext.js.map
|
|
36
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Dropdown/Dropdown.js
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
const Dropdown = ({ children, isOpen: isOpenDefault = false, onDismiss, id = 'fs-dropdown', }) => {
|
|
40
|
+
const [isOpen, setIsOpen] = (0,external_react_.useState)(isOpenDefault);
|
|
41
|
+
const dropdownItemsRef = (0,external_react_.useRef)([]);
|
|
42
|
+
const selectedDropdownItemIndexRef = (0,external_react_.useRef)(0);
|
|
43
|
+
const dropdownButtonRef = (0,external_react_.useRef)(null);
|
|
44
|
+
const close = (0,external_react_.useCallback)(() => {
|
|
45
|
+
setIsOpen(false);
|
|
46
|
+
onDismiss?.();
|
|
47
|
+
}, [onDismiss]);
|
|
48
|
+
const open = () => {
|
|
49
|
+
setIsOpen(true);
|
|
50
|
+
};
|
|
51
|
+
const toggle = (0,external_react_.useCallback)(() => {
|
|
52
|
+
setIsOpen((old) => {
|
|
53
|
+
if (old) {
|
|
54
|
+
onDismiss?.();
|
|
55
|
+
dropdownButtonRef.current?.focus();
|
|
56
|
+
}
|
|
57
|
+
return !old;
|
|
58
|
+
});
|
|
59
|
+
}, [onDismiss]);
|
|
60
|
+
(0,external_react_.useEffect)(() => {
|
|
61
|
+
setIsOpen(isOpenDefault);
|
|
62
|
+
}, [isOpenDefault]);
|
|
63
|
+
(0,external_react_.useEffect)(() => {
|
|
64
|
+
isOpen && dropdownItemsRef?.current[0]?.focus();
|
|
65
|
+
}, [isOpen]);
|
|
66
|
+
(0,external_react_.useEffect)(() => {
|
|
67
|
+
let firstClick = true;
|
|
68
|
+
const event = (e) => {
|
|
69
|
+
const someItemWasClicked = dropdownItemsRef?.current.some((item) => e.target === item);
|
|
70
|
+
if (firstClick) {
|
|
71
|
+
firstClick = false;
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
!someItemWasClicked && close();
|
|
75
|
+
};
|
|
76
|
+
if (isOpen) {
|
|
77
|
+
document.addEventListener('click', event);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
document.removeEventListener('click', event);
|
|
81
|
+
}
|
|
82
|
+
return () => {
|
|
83
|
+
document.removeEventListener('click', event);
|
|
84
|
+
};
|
|
85
|
+
}, [close, isOpen]);
|
|
86
|
+
const value = (0,external_react_.useMemo)(() => {
|
|
87
|
+
return {
|
|
88
|
+
isOpen,
|
|
89
|
+
close,
|
|
90
|
+
open,
|
|
91
|
+
toggle,
|
|
92
|
+
dropdownButtonRef,
|
|
93
|
+
onDismiss,
|
|
94
|
+
selectedDropdownItemIndexRef,
|
|
95
|
+
dropdownItemsRef,
|
|
96
|
+
id,
|
|
97
|
+
};
|
|
98
|
+
}, [close, id, isOpen, onDismiss, toggle]);
|
|
99
|
+
return (external_react_default().createElement(contexts_DropdownContext.Provider, { value: value }, children));
|
|
100
|
+
};
|
|
101
|
+
/* harmony default export */ const Dropdown_Dropdown = (Dropdown);
|
|
102
|
+
//# sourceMappingURL=Dropdown.js.map
|
|
103
|
+
// EXTERNAL MODULE: ../components/dist/esm/atoms/Button/Button.js
|
|
104
|
+
var Button = __webpack_require__(3339);
|
|
105
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Dropdown/hooks/useDropdown.js
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Hook to use the Dropdown context.
|
|
110
|
+
* @returns Dropdown context.
|
|
111
|
+
*/
|
|
112
|
+
const useDropdown = () => {
|
|
113
|
+
const context = (0,external_react_.useContext)(contexts_DropdownContext);
|
|
114
|
+
if (context === undefined) {
|
|
115
|
+
throw new Error('Do not use useDropdown hook outside the Dropdown context.');
|
|
116
|
+
}
|
|
117
|
+
return context;
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=useDropdown.js.map
|
|
120
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Dropdown/DropdownButton.js
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
const DropdownButton = (0,external_react_.forwardRef)(function DropdownButton({ testId = 'fs-dropdown-button', 'aria-label': ariaLabel, children, ...otherProps }, ref) {
|
|
125
|
+
const { toggle, dropdownButtonRef, isOpen, id } = useDropdown();
|
|
126
|
+
(0,external_react_.useImperativeHandle)(ref, () => dropdownButtonRef.current, [
|
|
127
|
+
dropdownButtonRef,
|
|
128
|
+
]);
|
|
129
|
+
return (external_react_default().createElement(Button/* default */.Z, { "data-fs-dropdown-button": true, onClick: toggle, "data-testid": testId, ref: dropdownButtonRef, "aria-label": ariaLabel, "aria-expanded": isOpen, "aria-haspopup": "menu", "aria-controls": id, variant: "tertiary", ...otherProps }, children));
|
|
130
|
+
});
|
|
131
|
+
/* harmony default export */ const Dropdown_DropdownButton = (DropdownButton);
|
|
132
|
+
//# sourceMappingURL=DropdownButton.js.map
|
|
133
|
+
// EXTERNAL MODULE: external "react-dom"
|
|
134
|
+
var external_react_dom_ = __webpack_require__(6405);
|
|
135
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Dropdown/hooks/useDropdownPosition.js
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Hook used to find the DropdownMenu position in relation to DropdownButton
|
|
139
|
+
* @returns Style with positions.
|
|
140
|
+
*/
|
|
141
|
+
const useDropdownPosition = () => {
|
|
142
|
+
const { dropdownButtonRef } = useDropdown();
|
|
143
|
+
// Necessary to use this component in SSR
|
|
144
|
+
const isBrowser = typeof window !== 'undefined';
|
|
145
|
+
const buttonRect = dropdownButtonRef?.current?.getBoundingClientRect();
|
|
146
|
+
const topLevel = buttonRect?.top ?? 0;
|
|
147
|
+
const topOffset = buttonRect?.height ?? 0;
|
|
148
|
+
const leftLevel = buttonRect?.left ?? 0;
|
|
149
|
+
// The scroll properties fix the position of DropdownMenu when the scroll is activated.
|
|
150
|
+
const scrollTop = isBrowser ? document?.documentElement?.scrollTop : 0;
|
|
151
|
+
const scrollLeft = isBrowser ? document?.documentElement?.scrollLeft : 0;
|
|
152
|
+
const topPosition = topLevel + topOffset + scrollTop;
|
|
153
|
+
const leftPosition = leftLevel + scrollLeft;
|
|
154
|
+
return {
|
|
155
|
+
position: 'absolute',
|
|
156
|
+
top: topPosition,
|
|
157
|
+
left: leftPosition,
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
//# sourceMappingURL=useDropdownPosition.js.map
|
|
161
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Dropdown/DropdownMenu.js
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
/*
|
|
167
|
+
* This component is based on @reach/dialog.
|
|
168
|
+
* https://github.com/reach/reach-ui/blob/main/packages/dialog/src/index.tsx
|
|
169
|
+
* https://reach.tech/dialog
|
|
170
|
+
*/
|
|
171
|
+
const DropdownMenu = ({ children, testId = 'fs-dropdown-menu', size = 'regular', style, ...otherProps }) => {
|
|
172
|
+
const { isOpen, close, dropdownItemsRef, selectedDropdownItemIndexRef, dropdownButtonRef, id } = useDropdown();
|
|
173
|
+
const dropdownPosition = useDropdownPosition();
|
|
174
|
+
const childrenLength = external_react_default().Children.toArray(children).length;
|
|
175
|
+
const handleDownPress = () => {
|
|
176
|
+
if (selectedDropdownItemIndexRef.current < childrenLength - 1) {
|
|
177
|
+
selectedDropdownItemIndexRef.current++;
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
selectedDropdownItemIndexRef.current = 0;
|
|
181
|
+
}
|
|
182
|
+
dropdownItemsRef?.current[selectedDropdownItemIndexRef.current]?.focus();
|
|
183
|
+
};
|
|
184
|
+
const handleUpPress = () => {
|
|
185
|
+
if (selectedDropdownItemIndexRef.current > 0) {
|
|
186
|
+
selectedDropdownItemIndexRef.current--;
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
selectedDropdownItemIndexRef.current = childrenLength - 1;
|
|
190
|
+
}
|
|
191
|
+
dropdownItemsRef?.current[selectedDropdownItemIndexRef.current]?.focus();
|
|
192
|
+
};
|
|
193
|
+
const handleHomePress = () => {
|
|
194
|
+
selectedDropdownItemIndexRef.current = 0;
|
|
195
|
+
dropdownItemsRef?.current[selectedDropdownItemIndexRef.current]?.focus();
|
|
196
|
+
};
|
|
197
|
+
const handleEndPress = () => {
|
|
198
|
+
selectedDropdownItemIndexRef.current = childrenLength - 1;
|
|
199
|
+
dropdownItemsRef?.current[selectedDropdownItemIndexRef.current]?.focus();
|
|
200
|
+
};
|
|
201
|
+
const handleEscapePress = () => {
|
|
202
|
+
close?.();
|
|
203
|
+
dropdownButtonRef?.current?.focus();
|
|
204
|
+
};
|
|
205
|
+
const handleBackdropKeyDown = (event) => {
|
|
206
|
+
if (event.defaultPrevented || event.key === 'Enter') {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
event.preventDefault();
|
|
210
|
+
event.key === 'Escape' && handleEscapePress();
|
|
211
|
+
event.key === 'ArrowDown' && handleDownPress();
|
|
212
|
+
event.key === 'ArrowUp' && handleUpPress();
|
|
213
|
+
event.key === 'Home' && handleHomePress();
|
|
214
|
+
event.key === 'End' && handleEndPress();
|
|
215
|
+
event.stopPropagation();
|
|
216
|
+
};
|
|
217
|
+
const clearChildrenReferences = () => {
|
|
218
|
+
dropdownItemsRef.current = [];
|
|
219
|
+
return null;
|
|
220
|
+
};
|
|
221
|
+
return isOpen
|
|
222
|
+
? (0,external_react_dom_.createPortal)(external_react_default().createElement("div", { role: "presentation", "data-fs-dropdown-overlay": true, onKeyDown: handleBackdropKeyDown, "data-testid": `${testId}-overlay` },
|
|
223
|
+
external_react_default().createElement("div", { role: "menu", "aria-orientation": "vertical", "data-fs-dropdown-menu": true, "data-fs-dropdown-menu-size": size, "data-testid": testId, style: { ...dropdownPosition, ...style }, id: id, ...otherProps }, children)), document.body)
|
|
224
|
+
: clearChildrenReferences();
|
|
225
|
+
};
|
|
226
|
+
/* harmony default export */ const Dropdown_DropdownMenu = (DropdownMenu);
|
|
227
|
+
//# sourceMappingURL=DropdownMenu.js.map
|
|
228
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Dropdown/DropdownItem.js
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
const DropdownItem = (0,external_react_.forwardRef)(function Button({ children, icon, onClick, testId = 'fs-dropdown-item', ...otherProps }, ref) {
|
|
232
|
+
const { dropdownItemsRef, selectedDropdownItemIndexRef, close } = useDropdown();
|
|
233
|
+
const [dropdownItemIndex, setDropdownItemIndex] = (0,external_react_.useState)(0);
|
|
234
|
+
const dropdownItemRef = (0,external_react_.useRef)();
|
|
235
|
+
const addToRefs = (el) => {
|
|
236
|
+
if (el && !dropdownItemsRef?.current.includes(el)) {
|
|
237
|
+
dropdownItemsRef?.current.push(el);
|
|
238
|
+
setDropdownItemIndex(dropdownItemsRef?.current.findIndex((element) => element === el) ?? 0);
|
|
239
|
+
}
|
|
240
|
+
dropdownItemRef.current = el;
|
|
241
|
+
};
|
|
242
|
+
const onFocusItem = () => {
|
|
243
|
+
selectedDropdownItemIndexRef.current = dropdownItemIndex;
|
|
244
|
+
dropdownItemsRef?.current[selectedDropdownItemIndexRef.current]?.focus();
|
|
245
|
+
};
|
|
246
|
+
const handleOnClickItem = (event) => {
|
|
247
|
+
onClick?.(event);
|
|
248
|
+
close?.();
|
|
249
|
+
};
|
|
250
|
+
(0,external_react_.useImperativeHandle)(ref, () => dropdownItemRef.current, []);
|
|
251
|
+
return (external_react_default().createElement("button", { "data-fs-dropdown-item": true, "data-testid": testId, ref: addToRefs, onFocus: onFocusItem, onMouseEnter: onFocusItem, onClick: handleOnClickItem, role: "menuitem", tabIndex: -1, "data-index": dropdownItemIndex, ...otherProps },
|
|
252
|
+
!!icon && icon,
|
|
253
|
+
children));
|
|
254
|
+
});
|
|
255
|
+
/* harmony default export */ const Dropdown_DropdownItem = (DropdownItem);
|
|
256
|
+
//# sourceMappingURL=DropdownItem.js.map
|
|
257
|
+
// EXTERNAL MODULE: ../components/dist/esm/atoms/List/List.js
|
|
258
|
+
var List = __webpack_require__(4564);
|
|
259
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Breadcrumb/Divider.js
|
|
260
|
+
|
|
261
|
+
const Divider = ({ divider, testId }) => {
|
|
262
|
+
const props = {
|
|
263
|
+
'data-fs-breadcrumb-divider': true,
|
|
264
|
+
'aria-hidden': true,
|
|
265
|
+
'data-testid': `${testId}-divider`,
|
|
266
|
+
};
|
|
267
|
+
if (external_react_default().isValidElement(divider)) {
|
|
268
|
+
return external_react_default().cloneElement(divider, props);
|
|
269
|
+
}
|
|
270
|
+
return external_react_default().createElement("span", { ...props }, divider ?? '/');
|
|
271
|
+
};
|
|
272
|
+
/* harmony default export */ const Breadcrumb_Divider = (Divider);
|
|
273
|
+
//# sourceMappingURL=Divider.js.map
|
|
274
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Breadcrumb/ListItem.js
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
const ListItem = ({ children, isLastItem, divider, testId }) => {
|
|
278
|
+
const props = {
|
|
279
|
+
'data-testid': `${testId}-item`,
|
|
280
|
+
'data-fs-breadcrumb-item': isLastItem ? 'current' : true,
|
|
281
|
+
'aria-current': isLastItem ? 'page' : undefined,
|
|
282
|
+
};
|
|
283
|
+
if (!external_react_default().isValidElement(children)) {
|
|
284
|
+
return (external_react_default().createElement("li", { "data-fs-breadcrumb-list-item": true },
|
|
285
|
+
external_react_default().createElement("span", { ...props },
|
|
286
|
+
children,
|
|
287
|
+
isLastItem ? null : external_react_default().createElement(Breadcrumb_Divider, { divider: divider, testId: testId }))));
|
|
288
|
+
}
|
|
289
|
+
return (external_react_default().createElement("li", { "data-fs-breadcrumb-list-item": true },
|
|
290
|
+
external_react_default().cloneElement(children, props),
|
|
291
|
+
isLastItem ? null : external_react_default().createElement(Breadcrumb_Divider, { divider: divider, testId: testId })));
|
|
292
|
+
};
|
|
293
|
+
/* harmony default export */ const Breadcrumb_ListItem = (ListItem);
|
|
294
|
+
//# sourceMappingURL=ListItem.js.map
|
|
295
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Breadcrumb/BreadcrumbPure.js
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
const BreadcrumbPure = (0,external_react_.forwardRef)(function BreadcrumbPure({ children, divider: rawDivider = '', testId = 'fs-breadcrumb', ...otherProps }, ref) {
|
|
300
|
+
return (external_react_default().createElement("nav", { "aria-label": "Breadcrumb", role: "navigation", ref: ref, "data-fs-breadcrumb": true, "data-testid": testId, ...otherProps },
|
|
301
|
+
external_react_default().createElement(List/* default */.Z, { as: "ol", "data-fs-breadcrumb-list": true, "data-fs-content": "breadcrumb" }, external_react_default().Children.toArray(children).map((child, index, childrenArray) => {
|
|
302
|
+
const isLastItem = index === childrenArray.length - 1;
|
|
303
|
+
return (external_react_default().createElement(Breadcrumb_ListItem, { isLastItem: isLastItem, divider: rawDivider, key: `breadcrumb-${index}`, testId: testId }, child));
|
|
304
|
+
}))));
|
|
305
|
+
});
|
|
306
|
+
/* harmony default export */ const Breadcrumb_BreadcrumbPure = (BreadcrumbPure);
|
|
307
|
+
//# sourceMappingURL=BreadcrumbPure.js.map
|
|
308
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Breadcrumb/BreadcrumbBase.js
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
const BreadcrumbBase = (0,external_react_.forwardRef)(function BreadcrumbBase({ children, divider: rawDivider = '', testId = 'fs-breadcrumb', breadcrumbList, isDesktop = false, renderLink, homeLink, dropdownButtonIcon = external_react_default().createElement(Icon/* default */.Z, { name: "DotsThree" }), collapsedItemsIcon = (external_react_default().createElement(Icon/* default */.Z, { "data-fs-dropdown-item-icon": true, name: "ArrowElbowDownRight" })), ...otherProps }, ref) {
|
|
315
|
+
const firstItem = isDesktop ? breadcrumbList[0] : null;
|
|
316
|
+
const mediumItems = isDesktop
|
|
317
|
+
? breadcrumbList.slice(1, -2)
|
|
318
|
+
: breadcrumbList.slice(0, -2);
|
|
319
|
+
const lastItems = breadcrumbList.slice(-2);
|
|
320
|
+
const collapseBreadcrumb = breadcrumbList.length > 4;
|
|
321
|
+
const breadcrumbLink = (0,external_react_.useCallback)((renderLinkProps) => {
|
|
322
|
+
const breadcrumbItem = renderLink?.(renderLinkProps);
|
|
323
|
+
const itemProps = renderLinkProps.collapsed
|
|
324
|
+
? {
|
|
325
|
+
'data-fs-breadcrumb-dropdown-link': true,
|
|
326
|
+
}
|
|
327
|
+
: {
|
|
328
|
+
'data-fs-breadcrumb-link': true,
|
|
329
|
+
};
|
|
330
|
+
return breadcrumbItem ? ((0,external_react_.cloneElement)(breadcrumbItem, {
|
|
331
|
+
...itemProps,
|
|
332
|
+
key: renderLinkProps.itemProps.position,
|
|
333
|
+
})) : (external_react_default().createElement(Link_Link/* default */.Z, { ...itemProps, href: renderLinkProps.itemProps.item, key: renderLinkProps.itemProps.position }, renderLinkProps.itemProps.name));
|
|
334
|
+
}, [renderLink]);
|
|
335
|
+
return (external_react_default().createElement(Breadcrumb_BreadcrumbPure, { ref: ref, "data-fs-breadcrumb-is-desktop": isDesktop, ...otherProps },
|
|
336
|
+
homeLink,
|
|
337
|
+
!collapseBreadcrumb &&
|
|
338
|
+
breadcrumbList.map((item, index) => {
|
|
339
|
+
return breadcrumbList.length === index + 1 ? (external_react_default().createElement("span", { key: String(item.position) }, item.name)) : (breadcrumbLink({ itemProps: item, collapsed: false }));
|
|
340
|
+
}),
|
|
341
|
+
collapseBreadcrumb &&
|
|
342
|
+
firstItem &&
|
|
343
|
+
breadcrumbLink({ itemProps: firstItem, collapsed: false }),
|
|
344
|
+
collapseBreadcrumb && (external_react_default().createElement(Dropdown_Dropdown, null,
|
|
345
|
+
external_react_default().createElement(Dropdown_DropdownButton, { "aria-label": "View More", "data-fs-breadcrumb-dropdown-button": true, size: "small" }, dropdownButtonIcon),
|
|
346
|
+
external_react_default().createElement(Dropdown_DropdownMenu, { "data-fs-breadcrumb-dropdown-menu": true }, mediumItems.map((item) => (external_react_default().createElement(Dropdown_DropdownItem, { "data-fs-breadcrumb-dropdown-item": true, key: String(item.position), icon: collapsedItemsIcon }, breadcrumbLink({ itemProps: item, collapsed: true }))))))),
|
|
347
|
+
collapseBreadcrumb &&
|
|
348
|
+
lastItems.map((item, index) => {
|
|
349
|
+
return lastItems.length === index + 1 ? (external_react_default().createElement("span", { key: String(item.position) }, item.name)) : (breadcrumbLink({ itemProps: item, collapsed: false }));
|
|
350
|
+
})));
|
|
351
|
+
});
|
|
352
|
+
/* harmony default export */ const Breadcrumb_BreadcrumbBase = (BreadcrumbBase);
|
|
353
|
+
//# sourceMappingURL=BreadcrumbBase.js.map
|
|
354
|
+
;// CONCATENATED MODULE: ../components/dist/esm/molecules/Breadcrumb/Breadcrumb.js
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
const Breadcrumb = ({ breadcrumbList, ...otherProps }) => (external_react_default().createElement((external_react_default()).Fragment, null,
|
|
358
|
+
external_react_default().createElement(Breadcrumb_BreadcrumbBase, { breadcrumbList: breadcrumbList, ...otherProps }),
|
|
359
|
+
external_react_default().createElement(Breadcrumb_BreadcrumbBase, { breadcrumbList: breadcrumbList, isDesktop: true, ...otherProps })));
|
|
360
|
+
/* harmony default export */ const Breadcrumb_Breadcrumb = (Breadcrumb);
|
|
361
|
+
//# sourceMappingURL=Breadcrumb.js.map
|
|
362
|
+
// EXTERNAL MODULE: ./src/sdk/overrides/overrides.ts
|
|
363
|
+
var overrides = __webpack_require__(7506);
|
|
364
|
+
;// CONCATENATED MODULE: ./src/customizations/src/components/overrides/Breadcrumb.tsx
|
|
365
|
+
// This is an example of how it can be used on the starter.
|
|
366
|
+
const SECTION = 'Breadcrumb';
|
|
367
|
+
const override = {
|
|
368
|
+
section: SECTION
|
|
369
|
+
};
|
|
370
|
+
|
|
371
|
+
;// CONCATENATED MODULE: ./src/components/sections/Breadcrumb/Overrides.tsx
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
const {
|
|
376
|
+
Breadcrumb: Overrides_Breadcrumb,
|
|
377
|
+
Icon: Overrides_Icon
|
|
378
|
+
} = (0,overrides/* getSectionOverrides */.f)({
|
|
379
|
+
Breadcrumb: Breadcrumb_Breadcrumb,
|
|
380
|
+
Icon: Icon/* default */.Z
|
|
381
|
+
}, override);
|
|
382
|
+
|
|
383
|
+
// EXTERNAL MODULE: external "react/jsx-runtime"
|
|
384
|
+
var jsx_runtime_ = __webpack_require__(997);
|
|
385
|
+
;// CONCATENATED MODULE: ./src/components/ui/Breadcrumb/Breadcrumb.tsx
|
|
386
|
+
const _excluded = ["icon", "alt"];
|
|
387
|
+
|
|
388
|
+
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; }
|
|
389
|
+
|
|
390
|
+
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; }
|
|
391
|
+
|
|
392
|
+
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; }
|
|
393
|
+
|
|
394
|
+
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; }
|
|
395
|
+
|
|
396
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
const Breadcrumb_Breadcrumb_Breadcrumb = _ref => {
|
|
404
|
+
let {
|
|
405
|
+
icon = Overrides_Icon.props.name ?? 'Home',
|
|
406
|
+
alt = 'Go to homepage'
|
|
407
|
+
} = _ref,
|
|
408
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
409
|
+
|
|
410
|
+
return /*#__PURE__*/jsx_runtime_.jsx(Overrides_Breadcrumb.Component, _objectSpread(_objectSpread({
|
|
411
|
+
homeLink: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
|
|
412
|
+
"data-fs-breadcrumb-link": true,
|
|
413
|
+
"data-fs-breadcrumb-link-home": true,
|
|
414
|
+
"aria-label": alt,
|
|
415
|
+
href: "/",
|
|
416
|
+
prefetch: false,
|
|
417
|
+
children: /*#__PURE__*/jsx_runtime_.jsx(Overrides_Icon.Component, _objectSpread(_objectSpread({
|
|
418
|
+
width: 18,
|
|
419
|
+
height: 18,
|
|
420
|
+
weight: "bold"
|
|
421
|
+
}, Overrides_Icon.props), {}, {
|
|
422
|
+
name: icon
|
|
423
|
+
}))
|
|
424
|
+
}),
|
|
425
|
+
renderLink: ({
|
|
426
|
+
itemProps: {
|
|
427
|
+
item: link,
|
|
428
|
+
name
|
|
429
|
+
}
|
|
430
|
+
}) => /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
|
|
431
|
+
"data-fs-breadcrumb-link": true,
|
|
432
|
+
href: link,
|
|
433
|
+
prefetch: false,
|
|
434
|
+
children: name
|
|
435
|
+
})
|
|
436
|
+
}, Overrides_Breadcrumb.props), otherProps));
|
|
437
|
+
};
|
|
438
|
+
|
|
439
|
+
/* harmony default export */ const ui_Breadcrumb_Breadcrumb = (/*#__PURE__*/(0,external_react_.memo)(Breadcrumb_Breadcrumb_Breadcrumb));
|
|
440
|
+
// EXTERNAL MODULE: ./src/components/sections/Section/Section.tsx
|
|
441
|
+
var Section = __webpack_require__(3271);
|
|
442
|
+
// EXTERNAL MODULE: ./src/components/sections/Breadcrumb/section.module.scss
|
|
443
|
+
var section_module = __webpack_require__(5000);
|
|
444
|
+
var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
|
|
445
|
+
// EXTERNAL MODULE: ./src/sdk/overrides/PageProvider.tsx
|
|
446
|
+
var PageProvider = __webpack_require__(5953);
|
|
447
|
+
;// CONCATENATED MODULE: ./src/components/sections/Breadcrumb/Breadcrumb.tsx
|
|
448
|
+
function Breadcrumb_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; }
|
|
449
|
+
|
|
450
|
+
function Breadcrumb_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? Breadcrumb_ownKeys(Object(source), !0).forEach(function (key) { Breadcrumb_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : Breadcrumb_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
451
|
+
|
|
452
|
+
function Breadcrumb_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; }
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
function BreadcrumbSection(_ref) {
|
|
462
|
+
let otherProps = Object.assign({}, _ref);
|
|
463
|
+
const context = (0,PageProvider/* usePage */.qt)();
|
|
464
|
+
const title = (0,PageProvider/* isPLP */.OJ)(context) ? context?.data?.collection?.seo?.title : 'All Products';
|
|
465
|
+
const fallback = [{
|
|
466
|
+
item: '/',
|
|
467
|
+
name: title,
|
|
468
|
+
position: 1
|
|
469
|
+
}];
|
|
470
|
+
const breadcrumbList = (0,PageProvider/* isPDP */.tS)(context) ? context?.data?.product?.breadcrumbList?.itemListElement : (0,PageProvider/* isPLP */.OJ)(context) ? context?.data?.collection?.breadcrumbList?.itemListElement : fallback;
|
|
471
|
+
return /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
|
|
472
|
+
className: `${(section_module_default()).section} section-breadcrumb`,
|
|
473
|
+
children: /*#__PURE__*/jsx_runtime_.jsx(ui_Breadcrumb_Breadcrumb, Breadcrumb_objectSpread({
|
|
474
|
+
breadcrumbList: breadcrumbList
|
|
475
|
+
}, otherProps))
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/* harmony default export */ const sections_Breadcrumb_Breadcrumb = (/*#__PURE__*/(0,external_react_.memo)(BreadcrumbSection));
|
|
480
|
+
|
|
481
|
+
/***/ }),
|
|
482
|
+
|
|
483
|
+
/***/ 5953:
|
|
484
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
485
|
+
|
|
486
|
+
"use strict";
|
|
487
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
488
|
+
/* harmony export */ "En": () => (/* binding */ isSearchPage),
|
|
489
|
+
/* harmony export */ "OJ": () => (/* binding */ isPLP),
|
|
490
|
+
/* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
|
|
491
|
+
/* harmony export */ "al": () => (/* binding */ usePDP),
|
|
492
|
+
/* harmony export */ "qt": () => (/* binding */ usePage),
|
|
493
|
+
/* harmony export */ "tS": () => (/* binding */ isPDP)
|
|
494
|
+
/* harmony export */ });
|
|
495
|
+
/* unused harmony exports usePLP, useSearchPage */
|
|
496
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
497
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
498
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(997);
|
|
499
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
const isPDP = x => x?.data?.product?.sku != undefined && x?.data?.product?.sku != null;
|
|
503
|
+
const isPLP = x => x?.data?.collection?.seo != undefined && x?.data?.collection?.seo != null && x?.data?.collection?.sku == undefined;
|
|
504
|
+
const isSearchPage = x => x === undefined || x?.data?.title != undefined || x?.data?.searchTerm != undefined;
|
|
505
|
+
const PageContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);
|
|
506
|
+
|
|
507
|
+
function PageProvider({
|
|
508
|
+
context,
|
|
509
|
+
children
|
|
510
|
+
}) {
|
|
511
|
+
const value = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({
|
|
512
|
+
context
|
|
513
|
+
}), [context]);
|
|
514
|
+
return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(PageContext.Provider, {
|
|
515
|
+
value: value,
|
|
516
|
+
children: children
|
|
517
|
+
});
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
function usePage() {
|
|
521
|
+
const {
|
|
522
|
+
context
|
|
523
|
+
} = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(PageContext);
|
|
524
|
+
|
|
525
|
+
if (context == null) {
|
|
526
|
+
throw new Error('Missing Overrides context on React tree');
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
return context;
|
|
530
|
+
}
|
|
531
|
+
const usePDP = () => usePage();
|
|
532
|
+
const usePLP = () => usePage();
|
|
533
|
+
const useSearchPage = () => usePage();
|
|
534
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageProvider);
|
|
535
|
+
|
|
536
|
+
/***/ }),
|
|
537
|
+
|
|
538
|
+
/***/ 5000:
|
|
539
|
+
/***/ ((module) => {
|
|
540
|
+
|
|
541
|
+
// Exports
|
|
542
|
+
module.exports = {
|
|
543
|
+
"section": "section_section__hRV9B"
|
|
544
|
+
};
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
/***/ })
|
|
548
|
+
|
|
549
|
+
};
|
|
550
|
+
;
|