@faststore/core 2.0.173-alpha.0 → 2.0.175-alpha.0

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 (183) hide show
  1. package/.turbo/turbo-build.log +9 -9
  2. package/CHANGELOG.md +6 -0
  3. package/package.json +4 -4
  4. package/src/components/navigation/Navbar/Navbar.tsx +37 -29
  5. package/src/components/navigation/NavbarLinks/NavbarLinks.tsx +9 -9
  6. package/src/components/navigation/NavbarSlider/NavbarSlider.tsx +23 -18
  7. package/src/components/sections/Alert/Alert.tsx +0 -1
  8. package/src/components/sections/BannerNewsletter/BannerNewsletter.tsx +13 -9
  9. package/src/components/sections/BannerNewsletter/section.module.scss +1 -1
  10. package/src/components/sections/BannerText/BannerText.tsx +31 -20
  11. package/src/components/sections/BannerText/Overrides.tsx +30 -0
  12. package/src/components/sections/BannerText/section.module.scss +1 -1
  13. package/src/components/sections/Breadcrumb/Overrides.tsx +27 -0
  14. package/src/components/sections/Hero/Hero.tsx +19 -13
  15. package/src/components/sections/Hero/Overrides.tsx +32 -0
  16. package/src/components/sections/Navbar/Navbar.tsx +6 -6
  17. package/src/components/sections/Navbar/Overrides.tsx +48 -0
  18. package/src/components/sections/ProductDetails/Overrides.tsx +13 -4
  19. package/src/components/sections/ProductDetails/ProductDetails.tsx +7 -7
  20. package/src/components/sections/ProductShelf/Overrides.tsx +34 -0
  21. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +14 -5
  22. package/src/components/ui/ProductDetails/ProductDetailsSettings.tsx +9 -8
  23. package/src/components/ui/ProductShelf/ProductShelf.tsx +26 -17
  24. package/src/components/ui/ShippingSimulation/ShippingSimulation.tsx +6 -5
  25. package/src/components/ui/SkuSelector/Selectors.tsx +6 -2
  26. package/src/customizations/components/CustomComponent.tsx +9 -0
  27. package/src/customizations/components/overrides/BannerText.tsx +15 -0
  28. package/src/customizations/components/overrides/Breadcrumb.tsx +15 -0
  29. package/src/customizations/components/overrides/Hero.tsx +16 -0
  30. package/src/customizations/components/overrides/Navbar.tsx +24 -0
  31. package/src/customizations/components/overrides/ProductDetails.tsx +6 -4
  32. package/src/customizations/components/overrides/ProductShelf.tsx +11 -5
  33. package/src/typings/overrides.d.ts +54 -17
  34. package/.next/BUILD_ID +0 -1
  35. package/.next/build-manifest.json +0 -123
  36. package/.next/cache/.tsbuildinfo +0 -1
  37. package/.next/cache/config.json +0 -7
  38. package/.next/cache/eslint/.cache_1gneedd +0 -1
  39. package/.next/cache/next-server.js.nft.json +0 -1
  40. package/.next/cache/webpack/client-production/0.pack +0 -0
  41. package/.next/cache/webpack/client-production/index.pack +0 -0
  42. package/.next/cache/webpack/server-production/0.pack +0 -0
  43. package/.next/cache/webpack/server-production/index.pack +0 -0
  44. package/.next/export-marker.json +0 -1
  45. package/.next/images-manifest.json +0 -1
  46. package/.next/next-server.js.nft.json +0 -1
  47. package/.next/package.json +0 -1
  48. package/.next/prerender-manifest.json +0 -1
  49. package/.next/react-loadable-manifest.json +0 -44
  50. package/.next/required-server-files.json +0 -1
  51. package/.next/routes-manifest.json +0 -1
  52. package/.next/server/chunks/123.js +0 -58
  53. package/.next/server/chunks/143.js +0 -106
  54. package/.next/server/chunks/183.js +0 -90
  55. package/.next/server/chunks/205.js +0 -692
  56. package/.next/server/chunks/247.js +0 -61
  57. package/.next/server/chunks/280.js +0 -324
  58. package/.next/server/chunks/287.js +0 -58
  59. package/.next/server/chunks/289.js +0 -229
  60. package/.next/server/chunks/312.js +0 -697
  61. package/.next/server/chunks/350.js +0 -143
  62. package/.next/server/chunks/368.js +0 -253
  63. package/.next/server/chunks/487.js +0 -9142
  64. package/.next/server/chunks/502.js +0 -626
  65. package/.next/server/chunks/576.js +0 -90
  66. package/.next/server/chunks/597.js +0 -211
  67. package/.next/server/chunks/650.js +0 -9142
  68. package/.next/server/chunks/676.js +0 -32
  69. package/.next/server/chunks/701.js +0 -87
  70. package/.next/server/chunks/74.js +0 -3819
  71. package/.next/server/chunks/82.js +0 -371
  72. package/.next/server/chunks/825.js +0 -4039
  73. package/.next/server/chunks/854.js +0 -72
  74. package/.next/server/chunks/859.js +0 -959
  75. package/.next/server/chunks/874.js +0 -487
  76. package/.next/server/chunks/886.js +0 -120
  77. package/.next/server/chunks/907.js +0 -1803
  78. package/.next/server/chunks/970.js +0 -200
  79. package/.next/server/chunks/98.js +0 -124
  80. package/.next/server/chunks/font-manifest.json +0 -1
  81. package/.next/server/font-manifest.json +0 -1
  82. package/.next/server/middleware-build-manifest.js +0 -1
  83. package/.next/server/middleware-manifest.json +0 -6
  84. package/.next/server/middleware-react-loadable-manifest.js +0 -1
  85. package/.next/server/pages/404.js +0 -393
  86. package/.next/server/pages/404.js.nft.json +0 -1
  87. package/.next/server/pages/500.js +0 -395
  88. package/.next/server/pages/500.js.nft.json +0 -1
  89. package/.next/server/pages/[...slug].js +0 -786
  90. package/.next/server/pages/[...slug].js.nft.json +0 -1
  91. package/.next/server/pages/[slug]/p.js +0 -2532
  92. package/.next/server/pages/[slug]/p.js.nft.json +0 -1
  93. package/.next/server/pages/_app.js +0 -281
  94. package/.next/server/pages/_app.js.nft.json +0 -1
  95. package/.next/server/pages/_document.js +0 -340
  96. package/.next/server/pages/_document.js.nft.json +0 -1
  97. package/.next/server/pages/_error.js +0 -164
  98. package/.next/server/pages/_error.js.nft.json +0 -1
  99. package/.next/server/pages/account.js +0 -370
  100. package/.next/server/pages/account.js.nft.json +0 -1
  101. package/.next/server/pages/api/graphql.js +0 -365
  102. package/.next/server/pages/api/graphql.js.nft.json +0 -1
  103. package/.next/server/pages/api/preview.js +0 -119
  104. package/.next/server/pages/api/preview.js.nft.json +0 -1
  105. package/.next/server/pages/checkout.js +0 -370
  106. package/.next/server/pages/checkout.js.nft.json +0 -1
  107. package/.next/server/pages/en-US/404.html +0 -81
  108. package/.next/server/pages/en-US/404.json +0 -1
  109. package/.next/server/pages/en-US/500.html +0 -81
  110. package/.next/server/pages/en-US/500.json +0 -1
  111. package/.next/server/pages/en-US/account.html +0 -81
  112. package/.next/server/pages/en-US/account.json +0 -1
  113. package/.next/server/pages/en-US/checkout.html +0 -81
  114. package/.next/server/pages/en-US/checkout.json +0 -1
  115. package/.next/server/pages/en-US/login.html +0 -81
  116. package/.next/server/pages/en-US/login.json +0 -1
  117. package/.next/server/pages/en-US/s.html +0 -81
  118. package/.next/server/pages/en-US/s.json +0 -1
  119. package/.next/server/pages/en-US.html +0 -81
  120. package/.next/server/pages/en-US.json +0 -1
  121. package/.next/server/pages/index.js +0 -966
  122. package/.next/server/pages/index.js.nft.json +0 -1
  123. package/.next/server/pages/login.js +0 -375
  124. package/.next/server/pages/login.js.nft.json +0 -1
  125. package/.next/server/pages/s.js +0 -473
  126. package/.next/server/pages/s.js.nft.json +0 -1
  127. package/.next/server/pages-manifest.json +0 -16
  128. package/.next/server/webpack-api-runtime.js +0 -229
  129. package/.next/server/webpack-runtime.js +0 -229
  130. package/.next/static/PhpKjbrX2m-wtpeOa39bI/_buildManifest.js +0 -1
  131. package/.next/static/PhpKjbrX2m-wtpeOa39bI/_ssgManifest.js +0 -1
  132. package/.next/static/chunks/0-82274e07cb857231.js +0 -1
  133. package/.next/static/chunks/143.dd8a556e6957baa1.js +0 -1
  134. package/.next/static/chunks/240-8e66b2892f9d8c40.js +0 -1
  135. package/.next/static/chunks/460-08f41a79ff49f7be.js +0 -1
  136. package/.next/static/chunks/495.0ecd099878b2a36d.js +0 -1
  137. package/.next/static/chunks/502.ec90d1859d393d34.js +0 -1
  138. package/.next/static/chunks/597.f8d0595b113c70af.js +0 -1
  139. package/.next/static/chunks/64.ebbe1d2b40f980c7.js +0 -1
  140. package/.next/static/chunks/651.7142f31ce1e052b3.js +0 -1
  141. package/.next/static/chunks/671-b9052a742f78868a.js +0 -1
  142. package/.next/static/chunks/741.52f7fb873418346f.js +0 -1
  143. package/.next/static/chunks/98.97381d2021f86cd9.js +0 -1
  144. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +0 -1
  145. package/.next/static/chunks/main-fd466221927468fd.js +0 -1
  146. package/.next/static/chunks/pages/404-1d46047d84c70397.js +0 -1
  147. package/.next/static/chunks/pages/500-e0780a8c9c2b95b9.js +0 -1
  148. package/.next/static/chunks/pages/[...slug]-790467346ef6ea71.js +0 -1
  149. package/.next/static/chunks/pages/[slug]/p-cacfd98badcab1cc.js +0 -1
  150. package/.next/static/chunks/pages/_app-79d333aa6001a806.js +0 -1
  151. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +0 -1
  152. package/.next/static/chunks/pages/account-e2c5451023a787be.js +0 -1
  153. package/.next/static/chunks/pages/checkout-4f9386de28fa9bab.js +0 -1
  154. package/.next/static/chunks/pages/index-eed785c65060e408.js +0 -1
  155. package/.next/static/chunks/pages/login-2e426ab5bd8af906.js +0 -1
  156. package/.next/static/chunks/pages/s-8dbc6ab055ffb6b3.js +0 -1
  157. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  158. package/.next/static/chunks/webpack-d62f6560695a4b1b.js +0 -1
  159. package/.next/static/css/13a4da555ff5e3be.css +0 -1
  160. package/.next/static/css/23a9d5dfc051ec6e.css +0 -1
  161. package/.next/static/css/287f5ba239375052.css +0 -1
  162. package/.next/static/css/2e00f7ba49c754b3.css +0 -1
  163. package/.next/static/css/6e41f1b6078c14c1.css +0 -1
  164. package/.next/static/css/7d822a137c54a781.css +0 -1
  165. package/.next/static/css/c6f97f692b2efad9.css +0 -1
  166. package/.next/static/css/d4a0d9df8c6df555.css +0 -1
  167. package/.next/static/css/e02cdad8fc000339.css +0 -1
  168. package/.next/static/css/e2dad288b79896b9.css +0 -1
  169. package/.next/trace +0 -71
  170. package/public/~partytown/debug/partytown-atomics.js +0 -556
  171. package/public/~partytown/debug/partytown-media.js +0 -374
  172. package/public/~partytown/debug/partytown-sandbox-sw.js +0 -543
  173. package/public/~partytown/debug/partytown-sw.js +0 -59
  174. package/public/~partytown/debug/partytown-ww-atomics.js +0 -1789
  175. package/public/~partytown/debug/partytown-ww-sw.js +0 -1781
  176. package/public/~partytown/debug/partytown.js +0 -72
  177. package/public/~partytown/partytown-atomics.js +0 -2
  178. package/public/~partytown/partytown-media.js +0 -2
  179. package/public/~partytown/partytown-sw.js +0 -2
  180. package/public/~partytown/partytown.js +0 -2
  181. package/src/components/ui/BannerText/BannerText.tsx +0 -69
  182. package/src/components/ui/BannerText/index.ts +0 -2
  183. package/src/components/ui/ProductShelf/Overrides.tsx +0 -10
@@ -1,3819 +0,0 @@
1
- exports.id = 74;
2
- exports.ids = [74];
3
- exports.modules = {
4
-
5
- /***/ 10044:
6
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
-
8
- "use strict";
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 Badge = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Badge({ testId = 'fs-badge', size = 'small', variant = 'neutral', counter = false, 'aria-label': ariaLabel, children, ...otherProps }, ref) {
16
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, "data-fs-badge": true, "aria-label": ariaLabel, "data-fs-badge-variant": counter ? null : variant, "data-fs-badge-size": size, "data-fs-badge-counter": counter, "data-testid": testId, ...otherProps },
17
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-badge-wrapper": true }, children)));
18
- });
19
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Badge);
20
- //# sourceMappingURL=Badge.js.map
21
-
22
- /***/ }),
23
-
24
- /***/ 57578:
25
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
26
-
27
- "use strict";
28
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
30
- /* harmony export */ });
31
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
32
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
33
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12709);
34
-
35
-
36
- const Button = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Button({ children, variant, inverse, size = 'regular', testId = 'fs-button', loading, loadingLabel, icon, iconPosition = 'left', disabled, ...otherProps }, ref) {
37
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", { ref: ref, "data-fs-button": true, "data-fs-button-inverse": inverse, "data-fs-button-size": size, "data-fs-button-loading": loading, "data-fs-button-variant": variant, disabled: disabled, "data-testid": testId, ...otherProps },
38
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-button-wrapper": true },
39
- loading && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", { "data-fs-button-loading-label": true },
40
- loadingLabel,
41
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { variant: variant === 'primary' && !inverse ? 'light' : 'dark' }))),
42
- !!icon && iconPosition === 'left' && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-button-icon": true }, icon)),
43
- children && react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, children),
44
- !!icon && iconPosition === 'right' && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-button-icon": true }, icon)))));
45
- });
46
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Button);
47
- //# sourceMappingURL=Button.js.map
48
-
49
- /***/ }),
50
-
51
- /***/ 25045:
52
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
53
-
54
- "use strict";
55
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
56
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
57
- /* harmony export */ });
58
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
59
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
60
-
61
- const mapWeightToValue = {
62
- bold: 24,
63
- regular: 16,
64
- light: 12,
65
- thin: 8,
66
- };
67
- const Icon = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Icon({ testId = 'fs-icon', name, weight = 'regular', ...otherProps }, ref) {
68
- const { width, height } = otherProps;
69
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", { ref: ref, "data-fs-icon": true, "data-testid": testId, width: width ?? 24, height: height ?? 24, strokeWidth: mapWeightToValue[weight], ...otherProps },
70
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("use", { href: `/icons.svg#${name}` })));
71
- });
72
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Icon);
73
- //# sourceMappingURL=Icon.js.map
74
-
75
- /***/ }),
76
-
77
- /***/ 875:
78
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
79
-
80
- "use strict";
81
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
82
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
83
- /* harmony export */ });
84
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
85
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
86
-
87
- const Input = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Input({ testId = 'fs-input', ...otherProps }, ref) {
88
- return react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", { ref: ref, "data-fs-input": true, "data-testid": testId, ...otherProps });
89
- });
90
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Input);
91
- //# sourceMappingURL=Input.js.map
92
-
93
- /***/ }),
94
-
95
- /***/ 87865:
96
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
97
-
98
- "use strict";
99
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
100
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
101
- /* harmony export */ });
102
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
103
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
104
-
105
- const Link = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Link({ as, children, variant = 'default', size = 'regular', inverse, testId = 'fs-link', ...otherProps }, ref) {
106
- const Component = as ?? 'a';
107
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Component, { ref: ref, "data-fs-link": true, "data-fs-link-variant": variant, "data-fs-link-inverse": inverse, "data-fs-link-size": size, "data-testid": testId, ...otherProps }, children));
108
- });
109
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Link);
110
- //# sourceMappingURL=Link.js.map
111
-
112
- /***/ }),
113
-
114
- /***/ 41329:
115
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
116
-
117
- "use strict";
118
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
119
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
120
- /* harmony export */ });
121
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
122
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
123
-
124
- const List = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function List({ as, marker, testId = 'fs-list', ...otherProps }, ref) {
125
- const Component = as ?? 'ul';
126
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Component, { ref: ref, role: "list", "data-fs-list": true, "data-fs-list-marker": marker, "data-testid": testId, ...otherProps }));
127
- });
128
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (List);
129
- //# sourceMappingURL=List.js.map
130
-
131
- /***/ }),
132
-
133
- /***/ 12709:
134
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
135
-
136
- "use strict";
137
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
138
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
139
- /* harmony export */ });
140
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
141
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
142
-
143
- const Loader = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Loader({ variant = 'dark', testId = 'fs-loader', ...otherProps }, ref) {
144
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { ref: ref, "data-fs-loader": true, "data-fs-loader-variant": variant, "data-testid": testId, ...otherProps },
145
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-loader-item": true }),
146
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-loader-item": true }),
147
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-loader-item": true })));
148
- });
149
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Loader);
150
- //# sourceMappingURL=Loader.js.map
151
-
152
- /***/ }),
153
-
154
- /***/ 82691:
155
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
156
-
157
- "use strict";
158
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
159
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
160
- /* harmony export */ });
161
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
162
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
163
-
164
- function SROnly({ text, as }) {
165
- const Component = as ?? 'span';
166
- return react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Component, { "data-fs-sr-only": true }, text);
167
- }
168
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SROnly);
169
- //# sourceMappingURL=SROnly.js.map
170
-
171
- /***/ }),
172
-
173
- /***/ 6074:
174
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
175
-
176
- "use strict";
177
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
178
- /* harmony export */ "b": () => (/* binding */ useFadeEffect)
179
- /* harmony export */ });
180
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
181
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
182
-
183
- const useFadeEffect = () => {
184
- const [fade, setFade] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('out');
185
- const fadeOut = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => setFade('out'), []);
186
- const fadeIn = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => setFade('in'), []);
187
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
188
- fadeIn();
189
- return () => {
190
- fadeOut();
191
- };
192
- }, [fadeIn, fadeOut]);
193
- return {
194
- fade,
195
- fadeIn,
196
- fadeOut,
197
- };
198
- };
199
- //# sourceMappingURL=useFadeEffect.js.map
200
-
201
- /***/ }),
202
-
203
- /***/ 74933:
204
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
205
-
206
- "use strict";
207
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
208
- /* harmony export */ "C": () => (/* binding */ useScrollDirection)
209
- /* harmony export */ });
210
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
211
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
212
-
213
- const useScrollDirection = () => {
214
- const [scrollDirection, setScrollDirection] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('');
215
- const [isPending, startTransition] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useTransition)();
216
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
217
- let lastScrollY = window.scrollY;
218
- const updateScrollDirection = () => {
219
- const { scrollY } = window;
220
- const direction = scrollY > lastScrollY ? 'down' : 'up';
221
- if (!isPending &&
222
- direction !== scrollDirection &&
223
- (scrollY - lastScrollY > 10 || scrollY - lastScrollY < -10)) {
224
- startTransition(() => setScrollDirection(direction));
225
- }
226
- lastScrollY = scrollY > 0 ? scrollY : 0;
227
- };
228
- window.addEventListener('scroll', updateScrollDirection);
229
- return () => window.removeEventListener('scroll', updateScrollDirection);
230
- }, [isPending, scrollDirection]);
231
- return scrollDirection;
232
- };
233
- //# sourceMappingURL=useScrollDirection.js.map
234
-
235
- /***/ }),
236
-
237
- /***/ 39739:
238
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
239
-
240
- "use strict";
241
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
242
- /* harmony export */ "A": () => (/* binding */ useAccordion),
243
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
244
- /* harmony export */ });
245
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
246
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
247
-
248
- const AccordionContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(undefined);
249
- const Accordion = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Accordion({ testId = 'fs-accordion', indices, onChange, children, ...otherProps }, ref) {
250
- const childrenWithIndex = react__WEBPACK_IMPORTED_MODULE_0___default().Children.map(children, (child, index) => (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(child, { index: child.props.index ?? index }));
251
- const context = {
252
- indices: new Set(indices),
253
- onChange,
254
- numberOfItems: childrenWithIndex.length,
255
- };
256
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(AccordionContext.Provider, { value: context },
257
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, "data-fs-accordion": true, role: "region", "data-testid": testId, ...otherProps }, childrenWithIndex)));
258
- });
259
- function useAccordion() {
260
- const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AccordionContext);
261
- if (context === undefined) {
262
- throw new Error('Do not use Accordion components outside the Accordion context.');
263
- }
264
- return context;
265
- }
266
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Accordion);
267
- //# sourceMappingURL=Accordion.js.map
268
-
269
- /***/ }),
270
-
271
- /***/ 47743:
272
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
273
-
274
- "use strict";
275
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
276
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
277
- /* harmony export */ });
278
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
279
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
280
- /* harmony import */ var _Accordion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39739);
281
- /* harmony import */ var _AccordionItem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60997);
282
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25045);
283
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(57578);
284
-
285
-
286
-
287
-
288
- const AccordionButton = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function AccordionButton({ testId = 'fs-accordion-button', expandedIcon = react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { name: "MinusCircle", "data-icon": "expanded" }), collapsedIcon = react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { name: "PlusCircle", "data-icon": "collapsed" }), children, ...otherProps }, ref) {
289
- const { indices, onChange, numberOfItems } = (0,_Accordion__WEBPACK_IMPORTED_MODULE_2__/* .useAccordion */ .A)();
290
- const { index, panel, button, prefixId } = (0,_AccordionItem__WEBPACK_IMPORTED_MODULE_3__/* .useAccordionItem */ .D)();
291
- const onKeyDown = (event) => {
292
- if (!['ArrowDown', 'ArrowUp'].includes(event.key)) {
293
- return;
294
- }
295
- const getNext = () => {
296
- const next = Number(index) + 1 === numberOfItems ? 0 : Number(index) + 1;
297
- return document.getElementById(`${prefixId && `${prefixId}-`}button--${next}`);
298
- };
299
- const getPrevious = () => {
300
- const previous = Number(index) - 1 < 0 ? numberOfItems - 1 : Number(index) - 1;
301
- return document.getElementById(`${prefixId && `${prefixId}-`}button--${previous}`);
302
- };
303
- switch (event.key) {
304
- case 'ArrowDown':
305
- event.preventDefault();
306
- getNext()?.focus();
307
- break;
308
- case 'ArrowUp':
309
- event.preventDefault();
310
- getPrevious()?.focus();
311
- break;
312
- default:
313
- }
314
- };
315
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, { ref: ref, id: button, variant: "tertiary", "data-fs-accordion-button": true, "aria-expanded": indices.has(index), icon: indices.has(index) ? expandedIcon : collapsedIcon, iconPosition: "right", "aria-controls": panel, onKeyDown: onKeyDown, onClick: () => {
316
- onChange(index);
317
- }, "data-testid": testId, ...otherProps }, children));
318
- });
319
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AccordionButton);
320
- //# sourceMappingURL=AccordionButton.js.map
321
-
322
- /***/ }),
323
-
324
- /***/ 60997:
325
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
326
-
327
- "use strict";
328
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
329
- /* harmony export */ "D": () => (/* binding */ useAccordionItem),
330
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
331
- /* harmony export */ });
332
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
333
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
334
-
335
- const AccordionItemContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(undefined);
336
- const AccordionItem = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function AccordionItem({ prefixId = '', index = 0, as: MaybeComponent, children, testId = 'fs-accordion-item', ...otherProps }, ref) {
337
- const Component = MaybeComponent ?? 'div';
338
- const context = {
339
- index,
340
- prefixId,
341
- panel: `${prefixId && `${prefixId}-`}panel--${index}`,
342
- button: `${prefixId && `${prefixId}-`}button--${index}`,
343
- };
344
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(AccordionItemContext.Provider, { value: context },
345
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Component, { ref: ref, "data-fs-accordion-item": true, "data-testid": testId, ...otherProps }, children)));
346
- });
347
- function useAccordionItem() {
348
- const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AccordionItemContext);
349
- if (context === undefined) {
350
- throw new Error('Do not use AccordionItem components outside the AccordionItem context.');
351
- }
352
- return context;
353
- }
354
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AccordionItem);
355
- //# sourceMappingURL=AccordionItem.js.map
356
-
357
- /***/ }),
358
-
359
- /***/ 20331:
360
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
361
-
362
- "use strict";
363
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
364
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
365
- /* harmony export */ });
366
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
367
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
368
- /* harmony import */ var _Accordion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39739);
369
- /* harmony import */ var _AccordionItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60997);
370
-
371
-
372
-
373
- const AccordionPanel = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function AccordionPanel({ testId = 'fs-accordion-panel', children, ...otherProps }, ref) {
374
- const { indices } = (0,_Accordion__WEBPACK_IMPORTED_MODULE_1__/* .useAccordion */ .A)();
375
- const { index, button, panel } = (0,_AccordionItem__WEBPACK_IMPORTED_MODULE_2__/* .useAccordionItem */ .D)();
376
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, id: panel, "data-fs-accordion-panel": true, "aria-labelledby": button, role: "region", hidden: !indices.has(index), "data-testid": testId, ...otherProps }, children));
377
- });
378
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AccordionPanel);
379
- //# sourceMappingURL=AccordionPanel.js.map
380
-
381
- /***/ }),
382
-
383
- /***/ 16970:
384
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
385
-
386
- "use strict";
387
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
388
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
389
- /* harmony export */ });
390
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
391
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
392
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87865);
393
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82765);
394
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25045);
395
-
396
-
397
- const Alert = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Alert({ testId = 'fs-alert', children, icon, dismissible, link, onClose, ...otherProps }, ref) {
398
- const handleClose = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((event) => {
399
- if (event.defaultPrevented) {
400
- return;
401
- }
402
- onClose?.(event);
403
- }, [onClose]);
404
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, role: "alert", "data-fs-alert": true, "data-testid": testId, "data-fs-alert-dismissible": dismissible, ...otherProps },
405
- !!icon && icon,
406
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", { "data-fs-alert-content": true }, children),
407
- link && react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { "data-fs-alert-link": true, variant: "inline", ...link }),
408
- dismissible && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { "data-fs-alert-button": true, size: "small", "aria-label": "Close", icon: react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, { name: "X" }), onClick: handleClose }))));
409
- });
410
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Alert);
411
- //# sourceMappingURL=Alert.js.map
412
-
413
- /***/ }),
414
-
415
- /***/ 82765:
416
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
417
-
418
- "use strict";
419
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
420
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
421
- /* harmony export */ });
422
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
423
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
424
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57578);
425
-
426
-
427
- const IconButton = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function IconButton({ icon, children, testId = 'fs-icon-button', 'aria-label': ariaLabel, size = 'regular', variant, ...otherProps }, ref) {
428
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { ref: ref, "data-fs-button": true, "data-fs-icon-button": true, variant: variant ?? 'tertiary', icon: icon, "aria-label": ariaLabel, testId: testId, size: size, ...otherProps }, children));
429
- });
430
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (IconButton);
431
- //# sourceMappingURL=IconButton.js.map
432
-
433
- /***/ }),
434
-
435
- /***/ 67703:
436
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
437
-
438
- "use strict";
439
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
440
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
441
- /* harmony export */ });
442
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
443
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
444
-
445
- function LinkButton({ icon, inverse, children, disabled, iconPosition, size = 'regular', variant = 'primary', testId = 'fs-link-button', ...otherProps }) {
446
- const linkRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
447
- function onFocus(e) {
448
- e.preventDefault();
449
- if (disabled) {
450
- linkRef.current?.blur();
451
- }
452
- }
453
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", { ref: linkRef, "data-fs-button": true, "data-fs-link-button": true, "data-fs-button-size": size, "data-fs-button-variant": variant, "data-fs-button-inverse": inverse, "data-fs-button-disabled": disabled, onFocus: onFocus, "data-testid": testId, ...otherProps },
454
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-button-wrapper": true },
455
- !!icon && iconPosition === 'left' && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-button-icon": true }, icon)),
456
- children && react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, children),
457
- !!icon && iconPosition === 'right' && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-button-icon": true }, icon)))));
458
- }
459
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LinkButton);
460
- //# sourceMappingURL=LinkButton.js.map
461
-
462
- /***/ }),
463
-
464
- /***/ 59600:
465
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
466
-
467
- "use strict";
468
-
469
- // EXPORTS
470
- __webpack_require__.d(__webpack_exports__, {
471
- "Z": () => (/* binding */ Modal_Modal)
472
- });
473
-
474
- // EXTERNAL MODULE: external "react"
475
- var external_react_ = __webpack_require__(16689);
476
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
477
- // EXTERNAL MODULE: external "react-dom"
478
- var external_react_dom_ = __webpack_require__(66405);
479
- ;// CONCATENATED MODULE: ../components/dist/atoms/Overlay/Overlay.js
480
-
481
- const Overlay = (0,external_react_.forwardRef)(function Overlay({ testId = 'fs-overlay', ...otherProps }, ref) {
482
- return (external_react_default().createElement("div", { ref: ref, "data-fs-overlay": true, role: "presentation", "data-testid": testId, ...otherProps }));
483
- });
484
- /* harmony default export */ const Overlay_Overlay = (Overlay);
485
- //# sourceMappingURL=Overlay.js.map
486
- // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
487
- var UIProvider = __webpack_require__(90395);
488
- // EXTERNAL MODULE: ../components/dist/hooks/useFadeEffect.js
489
- var useFadeEffect = __webpack_require__(6074);
490
- // EXTERNAL MODULE: external "tabbable"
491
- var external_tabbable_ = __webpack_require__(73823);
492
- ;// CONCATENATED MODULE: ../components/dist/hooks/useTrapFocus.js
493
-
494
-
495
- /*
496
- * Element that will maintain the focus inside trapFocusRef, focus the first element,
497
- * and focus back on the element that was in focus when useTrapFocus was triggered.
498
- *
499
- * Inspired by Reakit useTrapFocus https://github.com/reakit/reakit/blob/a211d94da9f3b683182568a56479b91afb1b85ae/packages/reakit/src/Dialog/__utils/useFocusTrap.ts
500
- */
501
- const useTrapFocus = ({ trapFocusRef, beforeElementRef, afterElementRef, }) => {
502
- const tabbableNodesRef = (0,external_react_.useRef)();
503
- const nodeToRestoreRef = (0,external_react_.useRef)(document.hasFocus() ? document.activeElement : null);
504
- // Focus back on the element that was focused when useTrapFocus is triggered.
505
- (0,external_react_.useEffect)(() => {
506
- const nodeToRestore = nodeToRestoreRef.current;
507
- return () => {
508
- nodeToRestore?.focus();
509
- };
510
- }, [nodeToRestoreRef]);
511
- // Set focus on first tabbable element
512
- (0,external_react_.useEffect)(() => {
513
- if (!trapFocusRef.current) {
514
- return;
515
- }
516
- if (!tabbableNodesRef.current) {
517
- tabbableNodesRef.current = (0,external_tabbable_.tabbable)(trapFocusRef.current);
518
- }
519
- const [firstTabbable] = tabbableNodesRef.current;
520
- if (!firstTabbable) {
521
- trapFocusRef.current.focus();
522
- return;
523
- }
524
- firstTabbable.focus();
525
- }, [trapFocusRef]);
526
- // Handle loop focus. Set keydown and focusin event listeners
527
- (0,external_react_.useEffect)(() => {
528
- if (!trapFocusRef.current ||
529
- !beforeElementRef.current ||
530
- !afterElementRef.current) {
531
- return;
532
- }
533
- const beforeElement = beforeElementRef.current;
534
- const afterElement = afterElementRef.current;
535
- const trapFocus = trapFocusRef.current;
536
- const handleLoopFocus = (nativeEvent) => {
537
- if (!document.hasFocus()) {
538
- return;
539
- }
540
- tabbableNodesRef.current = (0,external_tabbable_.tabbable)(trapFocusRef.current);
541
- if (!tabbableNodesRef.current.length) {
542
- trapFocus.focus();
543
- }
544
- /*
545
- * Handle loop focus from beforeElementRef. This node can only be focused if the user press shift tab.
546
- * It will focus the last element of the trapFocusRef.
547
- */
548
- if (nativeEvent.target === beforeElement) {
549
- tabbableNodesRef.current[tabbableNodesRef.current.length - 1]?.focus();
550
- }
551
- /*
552
- * Handle loop focus from afterElementRef. This node can only be focused if the user press tab.
553
- * It will focus the first element of the trapFocusRef.
554
- */
555
- if (nativeEvent.target === afterElement) {
556
- tabbableNodesRef.current[0]?.focus();
557
- }
558
- };
559
- beforeElement?.addEventListener('focusin', handleLoopFocus);
560
- afterElement?.addEventListener('focusin', handleLoopFocus);
561
- return () => {
562
- beforeElement?.removeEventListener('focusin', handleLoopFocus);
563
- afterElement?.removeEventListener('focusin', handleLoopFocus);
564
- };
565
- }, [tabbableNodesRef, afterElementRef, beforeElementRef, trapFocusRef]);
566
- };
567
- //# sourceMappingURL=useTrapFocus.js.map
568
- ;// CONCATENATED MODULE: ../components/dist/molecules/Modal/ModalContent.js
569
-
570
-
571
- const ModalContentPure = ({ beforeElementRef, trapFocusRef, afterElementRef, testId = 'store-modal-content', children, ...otherProps }) => {
572
- return (external_react_default().createElement((external_react_default()).Fragment, null,
573
- external_react_default().createElement("div", { ref: beforeElementRef, "data-testid": "beforeElement", tabIndex: 0, "aria-hidden": "true" }),
574
- external_react_default().createElement("div", { "data-fs-modal-content": true, "data-testid": testId, ref: trapFocusRef, "aria-modal": "true", role: "dialog", tabIndex: -1, ...otherProps }, children),
575
- external_react_default().createElement("div", { ref: afterElementRef, "data-testid": "afterElement", tabIndex: 0, "aria-hidden": "true" })));
576
- };
577
- const ModalContent = ({ children, ...otherProps }) => {
578
- const trapFocusRef = (0,external_react_.useRef)(null);
579
- const beforeElementRef = (0,external_react_.useRef)(null);
580
- const afterElementRef = (0,external_react_.useRef)(null);
581
- useTrapFocus({
582
- beforeElementRef,
583
- trapFocusRef,
584
- afterElementRef,
585
- });
586
- return (external_react_default().createElement(ModalContentPure, { ...otherProps, trapFocusRef: trapFocusRef, beforeElementRef: beforeElementRef, afterElementRef: afterElementRef, onClick: (event) => {
587
- event.stopPropagation();
588
- } }, children));
589
- };
590
- /* harmony default export */ const Modal_ModalContent = (ModalContent);
591
- //# sourceMappingURL=ModalContent.js.map
592
- ;// CONCATENATED MODULE: ../components/dist/molecules/Modal/Modal.js
593
-
594
-
595
-
596
-
597
-
598
- /*
599
- * This component is based on @reach/dialog.
600
- * https://github.com/reach/reach-ui/blob/main/packages/dialog/src/index.tsx
601
- * https://reach.tech/dialog
602
- */
603
- const Modal = ({ children, testId = 'fs-modal', isOpen = true, onDismiss, overlayProps, ...otherProps }) => {
604
- const { closeModal } = (0,UIProvider/* useUI */.l)();
605
- const { fade, fadeOut, fadeIn } = (0,useFadeEffect/* useFadeEffect */.b)();
606
- const handleBackdropClick = (event) => {
607
- if (event.defaultPrevented) {
608
- return;
609
- }
610
- event.stopPropagation();
611
- fadeOut?.();
612
- onDismiss?.();
613
- };
614
- const handleBackdropKeyDown = (event) => {
615
- if (event.key !== 'Escape' || event.defaultPrevented) {
616
- return;
617
- }
618
- event.stopPropagation();
619
- fadeOut?.();
620
- onDismiss?.();
621
- };
622
- return isOpen
623
- ? (0,external_react_dom_.createPortal)(external_react_default().createElement(Overlay_Overlay, { onClick: handleBackdropClick, onKeyDown: handleBackdropKeyDown, ...overlayProps },
624
- external_react_default().createElement(Modal_ModalContent, { onTransitionEnd: () => fade === 'out' && closeModal(), "data-fs-modal": true, "data-fs-modal-state": fade, testId: testId, ...otherProps }, typeof children === 'function'
625
- ? children({ fade, fadeOut, fadeIn })
626
- : children)), document.body)
627
- : null;
628
- };
629
- /* harmony default export */ const Modal_Modal = (Modal);
630
- //# sourceMappingURL=Modal.js.map
631
-
632
- /***/ }),
633
-
634
- /***/ 447:
635
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
636
-
637
- "use strict";
638
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
639
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
640
- /* harmony export */ });
641
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
642
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
643
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(875);
644
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82765);
645
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25045);
646
-
647
-
648
- const SearchInputField = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function SearchInputField({ onSubmit, buttonIcon, 'aria-label': ariaLabel = 'search', testId = 'fs-search-input', buttonProps, ...otherProps }, ref) {
649
- const inputRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
650
- const formRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
651
- const handleSubmit = (event) => {
652
- event.preventDefault();
653
- if (inputRef.current?.value !== '') {
654
- onSubmit(inputRef.current.value);
655
- }
656
- };
657
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle)(ref, () => ({
658
- inputRef: inputRef.current,
659
- formRef: formRef.current,
660
- }));
661
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("form", { ref: formRef, "data-fs-search-input-field": true, "data-testid": testId, onSubmit: handleSubmit, role: "search" },
662
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { ref: inputRef, "aria-label": ariaLabel, "data-fs-search-input-field-input": true, ...otherProps }),
663
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { type: "submit", "aria-label": "Submit Search", icon: buttonIcon ?? react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, { name: "MagnifyingGlass" }), size: "small", ...buttonProps })));
664
- });
665
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchInputField);
666
- //# sourceMappingURL=SearchInputField.js.map
667
-
668
- /***/ }),
669
-
670
- /***/ 78907:
671
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
672
-
673
- "use strict";
674
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
675
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__),
676
- /* harmony export */ "c": () => (/* binding */ SearchContext)
677
- /* harmony export */ });
678
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
679
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
680
-
681
-
682
- const SearchContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);
683
- function SearchProvider({ onSearchSelection, children, term, terms, products, isLoading, }) {
684
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(SearchContext.Provider, { value: { onSearchSelection, term, terms, products, isLoading } }, children));
685
- }
686
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchProvider);
687
- //# sourceMappingURL=SearchProvider.js.map
688
-
689
- /***/ }),
690
-
691
- /***/ 71852:
692
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
693
-
694
- "use strict";
695
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
696
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
697
- /* harmony export */ });
698
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
699
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
700
-
701
- const Navbar = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Navbar({ children, scrollDirection, testId = 'fs-navbar', ...otherProps }, ref) {
702
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("header", { "data-fs-navbar": true, role: "banner", ref: ref, "data-testid": testId, "data-fs-navbar-scroll": scrollDirection, ...otherProps }, children));
703
- });
704
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Navbar);
705
- //# sourceMappingURL=Navbar.js.map
706
-
707
- /***/ }),
708
-
709
- /***/ 33563:
710
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
711
-
712
- "use strict";
713
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
714
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
715
- /* harmony export */ });
716
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
717
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
718
-
719
- const NavbarButtons = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function NavbarButtons({ children, searchExpanded, testId = 'fs-navbar-buttons', ...otherProps }, ref) {
720
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-navbar-buttons": true, ref: ref, "data-testid": testId, "data-fs-navbar-search-expanded": searchExpanded, ...otherProps }, children));
721
- });
722
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NavbarButtons);
723
- //# sourceMappingURL=NavbarButtons.js.map
724
-
725
- /***/ }),
726
-
727
- /***/ 74360:
728
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
729
-
730
- "use strict";
731
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
732
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
733
- /* harmony export */ });
734
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
735
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
736
-
737
- const NavbarHeader = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function NavbarHeader({ children, testId = 'fs-navbar-header', ...otherProps }, ref) {
738
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", { "data-fs-navbar-header": true, ref: ref, "data-testid": testId, ...otherProps }, children));
739
- });
740
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NavbarHeader);
741
- //# sourceMappingURL=NavbarHeader.js.map
742
-
743
- /***/ }),
744
-
745
- /***/ 48204:
746
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
747
-
748
- "use strict";
749
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
750
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
751
- /* harmony export */ });
752
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
753
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
754
-
755
- const NavbarRow = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function NavbarRow({ children, testId = 'fs-navbar-row', ...otherProps }, ref) {
756
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-navbar-row": true, ref: ref, "data-testid": testId, ...otherProps }, children));
757
- });
758
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NavbarRow);
759
- //# sourceMappingURL=NavbarRow.js.map
760
-
761
- /***/ }),
762
-
763
- /***/ 36399:
764
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
765
-
766
- "use strict";
767
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
768
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
769
- /* harmony export */ });
770
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
771
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
772
- /* harmony import */ var _molecules_SearchProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78907);
773
-
774
-
775
- const SearchInput = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function SearchInput({ children, visibleDropdown = false, testId = 'fs-search-input', isLoading, products, term, terms, onSearchSelection, ...otherProps }, ref) {
776
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, "data-fs-search-input": true, "data-fs-search-input-dropdown-visible": visibleDropdown, "data-testid": testId, ...otherProps },
777
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_molecules_SearchProvider__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { onSearchSelection: onSearchSelection, isLoading: isLoading, term: term, products: products, terms: terms }, children)));
778
- });
779
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchInput);
780
- //# sourceMappingURL=SearchInput.js.map
781
-
782
- /***/ }),
783
-
784
- /***/ 31021:
785
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
786
-
787
- "use strict";
788
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
789
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
790
- /* harmony export */ });
791
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
792
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
793
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59600);
794
-
795
-
796
- function SlideOver({ testId = 'fs-slide-over', isOpen, direction = 'leftSide', size = 'full', fade = 'out', children, overlayProps, onDismiss, ...otherProps }) {
797
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { "data-fs-modal": null, "data-fs-slide-over": true, "data-fs-slide-over-direction": direction, "data-fs-slide-over-size": size, "data-fs-slide-over-state": fade, isOpen: isOpen, onDismiss: onDismiss, testId: testId, overlayProps: overlayProps, ...otherProps }, children));
798
- }
799
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SlideOver);
800
- //# sourceMappingURL=SlideOver.js.map
801
-
802
- /***/ }),
803
-
804
- /***/ 89648:
805
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
806
-
807
- "use strict";
808
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
809
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
810
- /* harmony export */ });
811
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
812
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
813
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82765);
814
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25045);
815
-
816
-
817
- const SlideOverHeader = ({ children, closeBtnProps = {}, onClose, ...otherProps }) => {
818
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("header", { "data-fs-slide-over-header": true, ...otherProps },
819
- children,
820
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { "data-fs-slide-over-header-icon": true, "aria-label": "Close", icon: react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { name: "X" }), onClick: onClose, ...closeBtnProps })));
821
- };
822
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SlideOverHeader);
823
- //# sourceMappingURL=SlideOverHeader.js.map
824
-
825
- /***/ }),
826
-
827
- /***/ 91419:
828
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
829
-
830
- "use strict";
831
-
832
- // EXPORTS
833
- __webpack_require__.d(__webpack_exports__, {
834
- "Z": () => (/* reexport */ CartToggle_CartToggle)
835
- });
836
-
837
- // EXTERNAL MODULE: ../components/dist/molecules/IconButton/IconButton.js
838
- var IconButton = __webpack_require__(82765);
839
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
840
- var Icon = __webpack_require__(25045);
841
- // EXTERNAL MODULE: ../components/dist/atoms/Badge/Badge.js
842
- var Badge = __webpack_require__(10044);
843
- // EXTERNAL MODULE: external "react"
844
- var external_react_ = __webpack_require__(16689);
845
- // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
846
- var UIProvider = __webpack_require__(90395);
847
- // EXTERNAL MODULE: ./src/sdk/cart/index.ts + 1 modules
848
- var cart = __webpack_require__(46073);
849
- ;// CONCATENATED MODULE: ./src/sdk/cart/useCartToggleButton.ts
850
-
851
-
852
-
853
- const useCartToggleButton = () => {
854
- const {
855
- totalItems
856
- } = (0,cart/* useCart */.jD)();
857
- const {
858
- cart: displayCart,
859
- openCart,
860
- closeCart
861
- } = (0,UIProvider/* useUI */.l)();
862
- const onClick = (0,external_react_.useCallback)(() => {
863
- if (displayCart) {
864
- closeCart();
865
- } else {
866
- openCart();
867
- }
868
- }, [closeCart, displayCart, openCart]);
869
- return {
870
- onClick,
871
- 'data-testid': 'cart-toggle',
872
- 'data-items': totalItems
873
- };
874
- };
875
- // EXTERNAL MODULE: external "react/jsx-runtime"
876
- var jsx_runtime_ = __webpack_require__(20997);
877
- ;// CONCATENATED MODULE: ./src/components/cart/CartToggle/CartToggle.tsx
878
- 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; }
879
-
880
- 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; }
881
-
882
- 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; }
883
-
884
-
885
-
886
-
887
-
888
- function CartToggle({
889
- alt,
890
- icon
891
- }) {
892
- const btnProps = useCartToggleButton();
893
- const totalItems = btnProps['data-items'];
894
- return /*#__PURE__*/jsx_runtime_.jsx(IconButton/* default */.Z, _objectSpread(_objectSpread({
895
- "data-fs-cart-toggle": true,
896
- "aria-label": alt,
897
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
898
- name: icon,
899
- width: 32,
900
- height: 32
901
- })
902
- }, btnProps), {}, {
903
- children: /*#__PURE__*/jsx_runtime_.jsx(Badge/* default */.Z, {
904
- counter: true,
905
- children: totalItems
906
- })
907
- }));
908
- }
909
-
910
- /* harmony default export */ const CartToggle_CartToggle = (CartToggle);
911
- ;// CONCATENATED MODULE: ./src/components/cart/CartToggle/index.ts
912
-
913
-
914
- /***/ }),
915
-
916
- /***/ 4074:
917
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
918
-
919
- "use strict";
920
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
921
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
922
- /* harmony export */ "Tc": () => (/* binding */ getGlobalSectionsData),
923
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__)
924
- /* harmony export */ });
925
- /* unused harmony export GLOBAL_SECTIONS_CONTENT_TYPE */
926
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
927
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
928
- /* harmony import */ var src_customizations_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20859);
929
- /* harmony import */ var src_server_cms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15764);
930
- /* harmony import */ var src_components_common_Toast__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17568);
931
- /* harmony import */ var _RenderSections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82224);
932
- /* harmony import */ var src_components_sections_Alert__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(72706);
933
- /* harmony import */ var src_components_sections_Footer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(84725);
934
- /* harmony import */ var src_components_sections_Navbar__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(81868);
935
- /* harmony import */ var src_components_sections_RegionBar__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(88968);
936
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20997);
937
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__);
938
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_RenderSections__WEBPACK_IMPORTED_MODULE_4__, src_components_sections_Navbar__WEBPACK_IMPORTED_MODULE_7__]);
939
- ([_RenderSections__WEBPACK_IMPORTED_MODULE_4__, src_components_sections_Navbar__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
940
- const _excluded = ["children"];
941
-
942
- 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; }
943
-
944
- 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; }
945
-
946
- 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; }
947
-
948
- 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; }
949
-
950
- 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; }
951
-
952
-
953
-
954
-
955
-
956
-
957
-
958
-
959
-
960
-
961
-
962
-
963
- const RegionModal = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.lazy)(() => Promise.all(/* import() */[__webpack_require__.e(287), __webpack_require__.e(597)]).then(__webpack_require__.bind(__webpack_require__, 1597)));
964
- const CartSidebar = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.lazy)(() => Promise.all(/* import() */[__webpack_require__.e(247), __webpack_require__.e(123), __webpack_require__.e(502)]).then(__webpack_require__.bind(__webpack_require__, 42502)));
965
- const GLOBAL_SECTIONS_CONTENT_TYPE = 'globalSections';
966
-
967
- /* A list of components that can be used in the CMS. */
968
- const COMPONENTS = _objectSpread({
969
- Alert: src_components_sections_Alert__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z,
970
- Navbar: src_components_sections_Navbar__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z,
971
- RegionBar: src_components_sections_RegionBar__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z,
972
- RegionModal,
973
- CartSidebar,
974
- Footer: src_components_sections_Footer__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z
975
- }, src_customizations_components__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z);
976
-
977
- function GlobalSections(_ref) {
978
- let {
979
- children
980
- } = _ref,
981
- otherProps = _objectWithoutProperties(_ref, _excluded);
982
-
983
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_RenderSections__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, _objectSpread(_objectSpread({
984
- components: COMPONENTS
985
- }, otherProps), {}, {
986
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_common_Toast__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx("main", {
987
- children: children
988
- })]
989
- }));
990
- }
991
-
992
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GlobalSections);
993
- const getGlobalSectionsData = async previewData => {
994
- const {
995
- sections
996
- } = await (0,src_server_cms__WEBPACK_IMPORTED_MODULE_2__/* .getPage */ .f)(_objectSpread(_objectSpread({}, previewData?.contentType === GLOBAL_SECTIONS_CONTENT_TYPE ? previewData : {
997
- filters: {
998
- 'settings.seo.slug': '/'
999
- }
1000
- }), {}, {
1001
- contentType: GLOBAL_SECTIONS_CONTENT_TYPE
1002
- }));
1003
- return {
1004
- sections
1005
- };
1006
- };
1007
- __webpack_async_result__();
1008
- } catch(e) { __webpack_async_result__(e); } });
1009
-
1010
- /***/ }),
1011
-
1012
- /***/ 82224:
1013
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
1014
-
1015
- "use strict";
1016
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1017
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1018
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1019
- /* harmony export */ });
1020
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(97564);
1021
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
1022
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1023
- /* harmony import */ var _SectionBoundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(47429);
1024
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20997);
1025
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);
1026
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([chalk__WEBPACK_IMPORTED_MODULE_0__]);
1027
- chalk__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1028
- const _excluded = ["children", "sections"];
1029
-
1030
- 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; }
1031
-
1032
- 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; }
1033
-
1034
- 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; }
1035
-
1036
- 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; }
1037
-
1038
- 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; }
1039
-
1040
-
1041
-
1042
-
1043
-
1044
-
1045
-
1046
-
1047
- const useDividedSections = sections => {
1048
- return (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => {
1049
- const indexChildren = sections.findIndex(({
1050
- name
1051
- }) => name === 'Children');
1052
- const hasChildren = indexChildren > -1;
1053
- return _objectSpread({
1054
- hasChildren,
1055
- firstSections: hasChildren ? sections.slice(0, indexChildren) : sections
1056
- }, hasChildren && {
1057
- lastSections: sections.slice(indexChildren + 1)
1058
- });
1059
- }, [sections]);
1060
- };
1061
-
1062
- const RenderSectionsBase = ({
1063
- sections = [],
1064
- context,
1065
- components
1066
- }) => {
1067
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.Fragment, {
1068
- children: sections.map(({
1069
- name,
1070
- data
1071
- }, index) => {
1072
- const Component = components[name];
1073
-
1074
- if (!Component) {
1075
- // TODO: add a documentation link to help to do this
1076
- console.info(`${chalk__WEBPACK_IMPORTED_MODULE_0__["default"].yellow('warn')} - ${name} not found. Add a new component for this section or remove it from the CMS`);
1077
- return null;
1078
- }
1079
-
1080
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx(_SectionBoundary__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
1081
- name: name,
1082
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx(Component, _objectSpread(_objectSpread({}, data), {}, {
1083
- context: context
1084
- }))
1085
- }, `cms-section-${index}`);
1086
- })
1087
- });
1088
- };
1089
-
1090
- function RenderSections(_ref) {
1091
- let {
1092
- children,
1093
- sections
1094
- } = _ref,
1095
- otherProps = _objectWithoutProperties(_ref, _excluded);
1096
-
1097
- const {
1098
- hasChildren,
1099
- firstSections,
1100
- lastSections
1101
- } = useDividedSections(sections);
1102
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.Fragment, {
1103
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx(RenderSectionsBase, _objectSpread({
1104
- sections: firstSections
1105
- }, otherProps)), children, hasChildren && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx(RenderSectionsBase, _objectSpread({
1106
- sections: lastSections
1107
- }, otherProps))]
1108
- });
1109
- }
1110
-
1111
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RenderSections);
1112
- __webpack_async_result__();
1113
- } catch(e) { __webpack_async_result__(e); } });
1114
-
1115
- /***/ }),
1116
-
1117
- /***/ 47429:
1118
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1119
-
1120
- "use strict";
1121
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1122
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1123
- /* harmony export */ });
1124
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
1125
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1126
- 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; }
1127
-
1128
-
1129
-
1130
- class SectionBoundary extends react__WEBPACK_IMPORTED_MODULE_0__.Component {
1131
- constructor(...args) {
1132
- super(...args);
1133
-
1134
- _defineProperty(this, "state", {
1135
- hasError: false,
1136
- error: null
1137
- });
1138
- }
1139
-
1140
- static getDerivedStateFromError(error) {
1141
- return {
1142
- hasError: true,
1143
- error
1144
- };
1145
- }
1146
-
1147
- componentDidCatch(error, errorInfo) {
1148
- console.error(`Error while rendering section ${this.props.name} with:\n${error.message} ${errorInfo.componentStack}`); // TODO: Add fetch in here so we can know which sections are failing on our dashboard
1149
- }
1150
-
1151
- render() {
1152
- if (this.state.hasError && true) {
1153
- return null;
1154
- }
1155
-
1156
- return this.props.children;
1157
- }
1158
-
1159
- }
1160
-
1161
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SectionBoundary);
1162
-
1163
- /***/ }),
1164
-
1165
- /***/ 17568:
1166
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1167
-
1168
- "use strict";
1169
-
1170
- // EXPORTS
1171
- __webpack_require__.d(__webpack_exports__, {
1172
- "Z": () => (/* reexport */ common_Toast_Toast)
1173
- });
1174
-
1175
- // EXTERNAL MODULE: external "react"
1176
- var external_react_ = __webpack_require__(16689);
1177
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1178
- // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
1179
- var UIProvider = __webpack_require__(90395);
1180
- ;// CONCATENATED MODULE: ../components/dist/molecules/Toast/Toast.js
1181
-
1182
-
1183
- function Toast() {
1184
- const { toasts, popToast } = (0,UIProvider/* useUI */.l)();
1185
- const toast = toasts[toasts.length - 1];
1186
- const timeoutRef = (0,external_react_.useRef)();
1187
- const [visible, setVisible] = (0,external_react_.useState)(false);
1188
- (0,external_react_.useEffect)(() => {
1189
- if (!toast) {
1190
- return undefined;
1191
- }
1192
- const timeout = setTimeout(() => setVisible(true), 10);
1193
- return () => clearTimeout(timeout);
1194
- }, [toast]);
1195
- (0,external_react_.useEffect)(() => {
1196
- timeoutRef.current = setTimeout(() => setVisible(false), 6e3);
1197
- return () => timeoutRef.current && clearTimeout(timeoutRef.current);
1198
- }, [toast]);
1199
- if (toast === undefined) {
1200
- return null;
1201
- }
1202
- return (external_react_default().createElement("div", { role: "status", "data-fs-toast": true, "data-fs-toast-visible": visible, onTransitionEnd: () => !visible && popToast() },
1203
- toast.icon && (external_react_default().createElement("div", { "data-fs-toast-icon-container": true }, !!toast.icon && toast.icon)),
1204
- external_react_default().createElement("div", { "data-fs-toast-content": true },
1205
- toast.title && external_react_default().createElement("p", { "data-fs-toast-title": true }, toast.title),
1206
- external_react_default().createElement("p", { "data-fs-toast-message": true }, toast.message))));
1207
- }
1208
- /* harmony default export */ const Toast_Toast = (Toast);
1209
- //# sourceMappingURL=Toast.js.map
1210
- // EXTERNAL MODULE: ./src/components/sections/Section/Section.tsx
1211
- var Section = __webpack_require__(13271);
1212
- // EXTERNAL MODULE: ./src/sdk/cart/index.ts + 1 modules
1213
- var cart = __webpack_require__(46073);
1214
- // EXTERNAL MODULE: ./src/components/common/Toast/section.module.scss
1215
- var section_module = __webpack_require__(91276);
1216
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
1217
- // EXTERNAL MODULE: external "react/jsx-runtime"
1218
- var jsx_runtime_ = __webpack_require__(20997);
1219
- ;// CONCATENATED MODULE: ./src/components/common/Toast/Toast.tsx
1220
-
1221
-
1222
-
1223
-
1224
-
1225
-
1226
-
1227
-
1228
- function Toast_Toast_Toast() {
1229
- const {
1230
- toasts,
1231
- pushToast
1232
- } = (0,UIProvider/* useUI */.l)();
1233
- const {
1234
- messages
1235
- } = (0,cart/* useCart */.jD)();
1236
- /**
1237
- * Send cart notifications to toast in case the cart
1238
- * returns warnings
1239
- */
1240
-
1241
- (0,external_react_.useEffect)(() => {
1242
- if (!messages) {
1243
- return;
1244
- }
1245
-
1246
- messages.forEach(message => pushToast({
1247
- message: message.text,
1248
- status: message.status
1249
- }));
1250
- }, [messages, pushToast]);
1251
- return /*#__PURE__*/jsx_runtime_.jsx(jsx_runtime_.Fragment, {
1252
- children: toasts.length > 0 && /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
1253
- className: `${(section_module_default()).section} section-toast`,
1254
- children: /*#__PURE__*/jsx_runtime_.jsx(Toast_Toast, {})
1255
- })
1256
- });
1257
- }
1258
-
1259
- /* harmony default export */ const common_Toast_Toast = (Toast_Toast_Toast);
1260
- ;// CONCATENATED MODULE: ./src/components/common/Toast/index.ts
1261
-
1262
-
1263
- /***/ }),
1264
-
1265
- /***/ 42024:
1266
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
1267
-
1268
- "use strict";
1269
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1270
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1271
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1272
- /* harmony export */ });
1273
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
1274
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1275
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(74933);
1276
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(90395);
1277
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(71852);
1278
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(74360);
1279
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(48204);
1280
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(82765);
1281
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(25045);
1282
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(33563);
1283
- /* harmony import */ var src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82541);
1284
- /* harmony import */ var src_components_cart_CartToggle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91419);
1285
- /* harmony import */ var src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60475);
1286
- /* harmony import */ var src_components_ui_Link__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51093);
1287
- /* harmony import */ var src_components_ui_Logo__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(25811);
1288
- /* harmony import */ var src_components_ui_Button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(57758);
1289
- /* harmony import */ var _NavbarLinks__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(86769);
1290
- /* harmony import */ var _NavbarSlider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(90793);
1291
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20997);
1292
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__);
1293
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_3__]);
1294
- src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1295
- 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; }
1296
-
1297
- 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; }
1298
-
1299
- 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; }
1300
-
1301
-
1302
-
1303
-
1304
-
1305
-
1306
-
1307
-
1308
-
1309
-
1310
-
1311
-
1312
-
1313
-
1314
-
1315
- function Navbar({
1316
- cart,
1317
- logo,
1318
- searchInput,
1319
- home,
1320
- links,
1321
- signIn,
1322
- region,
1323
- home: {
1324
- label: homeLabel
1325
- },
1326
- signIn: {
1327
- button: signInButton
1328
- },
1329
- menu: {
1330
- icon: {
1331
- icon: menuIcon,
1332
- alt: menuIconAlt
1333
- }
1334
- }
1335
- }) {
1336
- const scrollDirection = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_10__/* .useScrollDirection */ .C)();
1337
- const {
1338
- openNavbar,
1339
- navbar: displayNavbar
1340
- } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_11__/* .useUI */ .l)();
1341
- const searchMobileRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
1342
- const {
1343
- 0: searchExpanded,
1344
- 1: setSearchExpanded
1345
- } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
1346
-
1347
- const handlerExpandSearch = () => {
1348
- setSearchExpanded(true);
1349
- searchMobileRef.current?.inputRef?.focus();
1350
- };
1351
-
1352
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
1353
- scrollDirection: scrollDirection,
1354
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
1355
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
1356
- className: "layout__content",
1357
- children: [!searchExpanded && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment, {
1358
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
1359
- "data-fs-navbar-button-menu": true,
1360
- onClick: openNavbar,
1361
- "aria-label": menuIconAlt,
1362
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {
1363
- name: menuIcon,
1364
- width: 32,
1365
- height: 32
1366
- })
1367
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_ui_Link__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
1368
- href: "/",
1369
- "data-fs-navbar-logo": true,
1370
- prefetch: false,
1371
- title: homeLabel,
1372
- "aria-label": homeLabel,
1373
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_ui_Logo__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, _objectSpread({}, logo))
1374
- })]
1375
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
1376
- sort: searchInput?.sort
1377
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z, {
1378
- searchExpanded: searchExpanded,
1379
- children: [searchExpanded && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
1380
- "data-fs-button-collapse": true,
1381
- "aria-label": "Collapse search bar",
1382
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {
1383
- name: "CaretLeft",
1384
- width: 32,
1385
- height: 32
1386
- }),
1387
- onClick: () => {
1388
- setSearchExpanded(false);
1389
- searchMobileRef.current?.resetSearchInput();
1390
- }
1391
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
1392
- placeholder: "",
1393
- ref: searchMobileRef,
1394
- testId: "store-input-mobile",
1395
- buttonTestId: "store-input-mobile-button",
1396
- onSearchClick: handlerExpandSearch,
1397
- sort: searchInput?.sort,
1398
- hidden: !searchExpanded,
1399
- "aria-hidden": !searchExpanded
1400
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_ui_Button__WEBPACK_IMPORTED_MODULE_6__/* .ButtonSignIn */ .p, _objectSpread({}, signInButton)), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_cart_CartToggle__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, _objectSpread({}, cart))]
1401
- })]
1402
- })
1403
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_NavbarLinks__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
1404
- links: links,
1405
- region: region,
1406
- className: "hidden-mobile"
1407
- }), displayNavbar && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_NavbarSlider__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
1408
- home: home,
1409
- logo: logo,
1410
- links: links,
1411
- signIn: signIn,
1412
- region: region
1413
- })]
1414
- });
1415
- }
1416
-
1417
- Navbar.displayName = 'Navbar';
1418
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_1__/* .mark */ .B)(Navbar));
1419
- __webpack_async_result__();
1420
- } catch(e) { __webpack_async_result__(e); } });
1421
-
1422
- /***/ }),
1423
-
1424
- /***/ 3583:
1425
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
1426
-
1427
- "use strict";
1428
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1429
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1430
- /* harmony export */ "Z": () => (/* reexport safe */ _Navbar__WEBPACK_IMPORTED_MODULE_0__.Z)
1431
- /* harmony export */ });
1432
- /* harmony import */ var _Navbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42024);
1433
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Navbar__WEBPACK_IMPORTED_MODULE_0__]);
1434
- _Navbar__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1435
-
1436
- __webpack_async_result__();
1437
- } catch(e) { __webpack_async_result__(e); } });
1438
-
1439
- /***/ }),
1440
-
1441
- /***/ 86769:
1442
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1443
-
1444
- "use strict";
1445
-
1446
- // EXPORTS
1447
- __webpack_require__.d(__webpack_exports__, {
1448
- "Z": () => (/* reexport */ navigation_NavbarLinks_NavbarLinks)
1449
- });
1450
-
1451
- // EXTERNAL MODULE: external "react"
1452
- var external_react_ = __webpack_require__(16689);
1453
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1454
- ;// CONCATENATED MODULE: ../components/dist/molecules/NavbarLinks/NavbarLinks.js
1455
-
1456
- const NavbarLinks = (0,external_react_.forwardRef)(function NavbarLinks({ children, testId = 'fs-navbar-links', ...otherProps }, ref) {
1457
- return (external_react_default().createElement("nav", { "data-fs-navbar-links": true, ref: ref, "data-testid": testId, ...otherProps }, children));
1458
- });
1459
- /* harmony default export */ const NavbarLinks_NavbarLinks = (NavbarLinks);
1460
- //# sourceMappingURL=NavbarLinks.js.map
1461
- // EXTERNAL MODULE: ../components/dist/atoms/List/List.js
1462
- var List = __webpack_require__(41329);
1463
- ;// CONCATENATED MODULE: ../components/dist/molecules/NavbarLinks/NavbarLinksList.js
1464
-
1465
-
1466
- const NavbarLinksList = (0,external_react_.forwardRef)(function NavbarLinksList({ children, testId = 'fs-navbar-links-list', ...otherProps }, ref) {
1467
- return (external_react_default().createElement(List/* default */.Z, { "data-fs-navbar-links-list": true, ref: ref, "data-testid": testId, ...otherProps }, children));
1468
- });
1469
- /* harmony default export */ const NavbarLinks_NavbarLinksList = (NavbarLinksList);
1470
- //# sourceMappingURL=NavbarLinksList.js.map
1471
- ;// CONCATENATED MODULE: ../components/dist/molecules/NavbarLinks/NavbarLinksListItem.js
1472
-
1473
- const NavbarLinksListItem = (0,external_react_.forwardRef)(function NavbarLinksListItem({ children, testId = 'fs-navbar-links-list-item', ...otherProps }, ref) {
1474
- return (external_react_default().createElement("li", { "data-fs-navbar-links-list-item": true, ref: ref, "data-testid": testId, ...otherProps }, children));
1475
- });
1476
- /* harmony default export */ const NavbarLinks_NavbarLinksListItem = (NavbarLinksListItem);
1477
- //# sourceMappingURL=NavbarLinksListItem.js.map
1478
- // EXTERNAL MODULE: ./src/components/ui/Link/index.ts + 1 modules
1479
- var Link = __webpack_require__(51093);
1480
- // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
1481
- var Button = __webpack_require__(57578);
1482
- // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
1483
- var UIProvider = __webpack_require__(90395);
1484
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
1485
- var Icon = __webpack_require__(25045);
1486
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
1487
- var session = __webpack_require__(97295);
1488
- // EXTERNAL MODULE: external "react/jsx-runtime"
1489
- var jsx_runtime_ = __webpack_require__(20997);
1490
- ;// CONCATENATED MODULE: ./src/components/region/RegionButton/RegionButton.tsx
1491
-
1492
-
1493
-
1494
-
1495
-
1496
- function RegionButton({
1497
- icon,
1498
- label
1499
- }) {
1500
- const {
1501
- openModal
1502
- } = (0,UIProvider/* useUI */.l)();
1503
- const {
1504
- postalCode
1505
- } = (0,session/* useSession */.kP)();
1506
- return /*#__PURE__*/jsx_runtime_.jsx(Button/* default */.Z, {
1507
- variant: "tertiary",
1508
- size: "small",
1509
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
1510
- name: icon,
1511
- width: 18,
1512
- height: 18,
1513
- weight: "bold"
1514
- }),
1515
- iconPosition: "left",
1516
- onClick: openModal,
1517
- children: postalCode ?? label
1518
- });
1519
- }
1520
-
1521
- /* harmony default export */ const RegionButton_RegionButton = (RegionButton);
1522
- ;// CONCATENATED MODULE: ./src/components/region/RegionButton/index.ts
1523
-
1524
- // EXTERNAL MODULE: ./src/sdk/tests/mark.tsx
1525
- var mark = __webpack_require__(82541);
1526
- ;// CONCATENATED MODULE: ./src/components/navigation/NavbarLinks/NavbarLinks.tsx
1527
- const _excluded = ["links", "onClickLink", "region"];
1528
-
1529
- 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; }
1530
-
1531
- 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; }
1532
-
1533
- 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; }
1534
-
1535
- 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; }
1536
-
1537
- 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; }
1538
-
1539
-
1540
-
1541
-
1542
-
1543
-
1544
-
1545
-
1546
- function NavbarLinks_NavbarLinks_NavbarLinks(_ref) {
1547
- let {
1548
- links,
1549
- onClickLink,
1550
- region: {
1551
- icon: regionIcon,
1552
- label: regionLabel,
1553
- shouldDisplayRegion
1554
- }
1555
- } = _ref,
1556
- otherProps = _objectWithoutProperties(_ref, _excluded);
1557
-
1558
- return /*#__PURE__*/jsx_runtime_.jsx(NavbarLinks_NavbarLinks, _objectSpread(_objectSpread({}, otherProps), {}, {
1559
- children: /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
1560
- className: "layout__content",
1561
- children: [shouldDisplayRegion && /*#__PURE__*/jsx_runtime_.jsx(RegionButton_RegionButton, {
1562
- icon: regionIcon,
1563
- label: regionLabel
1564
- }), /*#__PURE__*/jsx_runtime_.jsx(NavbarLinks_NavbarLinksList, {
1565
- children: links.map(({
1566
- url,
1567
- text
1568
- }) => /*#__PURE__*/jsx_runtime_.jsx(NavbarLinks_NavbarLinksListItem, {
1569
- children: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
1570
- variant: "display",
1571
- href: url,
1572
- onClick: onClickLink,
1573
- children: text
1574
- })
1575
- }, text))
1576
- })]
1577
- })
1578
- }));
1579
- }
1580
-
1581
- /* harmony default export */ const navigation_NavbarLinks_NavbarLinks = ((0,mark/* mark */.B)(NavbarLinks_NavbarLinks_NavbarLinks));
1582
- ;// CONCATENATED MODULE: ./src/components/navigation/NavbarLinks/index.ts
1583
-
1584
-
1585
- /***/ }),
1586
-
1587
- /***/ 90793:
1588
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1589
-
1590
- "use strict";
1591
-
1592
- // EXPORTS
1593
- __webpack_require__.d(__webpack_exports__, {
1594
- "Z": () => (/* reexport */ navigation_NavbarSlider_NavbarSlider)
1595
- });
1596
-
1597
- // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
1598
- var UIProvider = __webpack_require__(90395);
1599
- // EXTERNAL MODULE: ../components/dist/hooks/useFadeEffect.js
1600
- var useFadeEffect = __webpack_require__(6074);
1601
- // EXTERNAL MODULE: external "react"
1602
- var external_react_ = __webpack_require__(16689);
1603
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1604
- // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOver.js
1605
- var SlideOver = __webpack_require__(31021);
1606
- ;// CONCATENATED MODULE: ../components/dist/organisms/NavbarSlider/NavbarSlider.js
1607
-
1608
-
1609
- function NavbarSlider({ children, size = 'full', isOpen = true, direction = 'leftSide', testId = 'fs-navbar-slider', ...otherProps }) {
1610
- return (external_react_default().createElement(SlideOver/* default */.Z, { "data-fs-navbar-slider": true, size: "full", isOpen: isOpen, direction: "leftSide", "data-testid": testId, ...otherProps }, children));
1611
- }
1612
- /* harmony default export */ const NavbarSlider_NavbarSlider = (NavbarSlider);
1613
- //# sourceMappingURL=NavbarSlider.js.map
1614
- // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOverHeader.js
1615
- var SlideOverHeader = __webpack_require__(89648);
1616
- ;// CONCATENATED MODULE: ../components/dist/organisms/NavbarSlider/NavbarSliderHeader.js
1617
-
1618
-
1619
- function NavbarSliderHeader({ children, testId = 'fs-navbar-slider-header', ...otherProps }) {
1620
- return (external_react_default().createElement(SlideOverHeader/* default */.Z, { "data-fs-navbar-slider-header": true, "data-testid": testId, ...otherProps }, children));
1621
- }
1622
- /* harmony default export */ const NavbarSlider_NavbarSliderHeader = (NavbarSliderHeader);
1623
- //# sourceMappingURL=NavbarSliderHeader.js.map
1624
- ;// CONCATENATED MODULE: ../components/dist/organisms/NavbarSlider/NavbarSliderContent.js
1625
-
1626
- const NavbarSliderContent = (0,external_react_.forwardRef)(function NavbarSliderContent({ children, testId = 'fs-navbar-slider-content', ...otherProps }, ref) {
1627
- return (external_react_default().createElement("div", { "data-fs-navbar-slider-content": true, ref: ref, "data-testid": testId, ...otherProps }, children));
1628
- });
1629
- /* harmony default export */ const NavbarSlider_NavbarSliderContent = (NavbarSliderContent);
1630
- //# sourceMappingURL=NavbarSliderContent.js.map
1631
- ;// CONCATENATED MODULE: ../components/dist/organisms/NavbarSlider/NavbarSliderFooter.js
1632
-
1633
- const NavbarSliderFooter = (0,external_react_.forwardRef)(function NavbarSliderFooter({ children, testId = 'fs-navbar-slider-footer', ...otherProps }, ref) {
1634
- return (external_react_default().createElement("footer", { "data-fs-navbar-slider-footer": true, ref: ref, "data-testid": testId, ...otherProps }, children));
1635
- });
1636
- /* harmony default export */ const NavbarSlider_NavbarSliderFooter = (NavbarSliderFooter);
1637
- //# sourceMappingURL=NavbarSliderFooter.js.map
1638
- // EXTERNAL MODULE: ./src/components/ui/Button/index.ts + 4 modules
1639
- var Button = __webpack_require__(57758);
1640
- // EXTERNAL MODULE: ./src/components/ui/Link/index.ts + 1 modules
1641
- var Link = __webpack_require__(51093);
1642
- // EXTERNAL MODULE: ./src/components/ui/Logo/index.ts + 1 modules
1643
- var Logo = __webpack_require__(25811);
1644
- // EXTERNAL MODULE: ./src/sdk/tests/mark.tsx
1645
- var mark = __webpack_require__(82541);
1646
- // EXTERNAL MODULE: ./src/components/navigation/NavbarLinks/index.ts + 6 modules
1647
- var NavbarLinks = __webpack_require__(86769);
1648
- // EXTERNAL MODULE: ./src/components/sections/Navbar/section.module.scss
1649
- var section_module = __webpack_require__(96837);
1650
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
1651
- // EXTERNAL MODULE: external "react/jsx-runtime"
1652
- var jsx_runtime_ = __webpack_require__(20997);
1653
- ;// CONCATENATED MODULE: ./src/components/navigation/NavbarSlider/NavbarSlider.tsx
1654
- 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; }
1655
-
1656
- 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; }
1657
-
1658
- 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; }
1659
-
1660
-
1661
-
1662
-
1663
-
1664
-
1665
-
1666
-
1667
-
1668
-
1669
-
1670
- function NavbarSlider_NavbarSlider_NavbarSlider({
1671
- logo,
1672
- links,
1673
- region,
1674
- home: {
1675
- label: homeLabel
1676
- },
1677
- signIn: {
1678
- button: signInButton
1679
- }
1680
- }) {
1681
- const {
1682
- closeNavbar
1683
- } = (0,UIProvider/* useUI */.l)();
1684
- const {
1685
- fade,
1686
- fadeOut
1687
- } = (0,useFadeEffect/* useFadeEffect */.b)();
1688
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(NavbarSlider_NavbarSlider, {
1689
- fade: fade,
1690
- onDismiss: fadeOut,
1691
- overlayProps: {
1692
- className: `section ${(section_module_default()).section} section-navbar-slider`
1693
- },
1694
- onTransitionEnd: () => fade === 'out' && closeNavbar(),
1695
- children: [/*#__PURE__*/jsx_runtime_.jsx(NavbarSlider_NavbarSliderHeader, {
1696
- onClose: fadeOut,
1697
- children: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
1698
- href: "/",
1699
- onClick: fadeOut,
1700
- title: homeLabel,
1701
- "aria-label": homeLabel,
1702
- "data-fs-navbar-slider-logo": true,
1703
- children: /*#__PURE__*/jsx_runtime_.jsx(Logo/* default */.Z, _objectSpread({}, logo))
1704
- })
1705
- }), /*#__PURE__*/jsx_runtime_.jsx(NavbarSlider_NavbarSliderContent, {
1706
- children: /*#__PURE__*/jsx_runtime_.jsx(NavbarLinks/* default */.Z, {
1707
- onClickLink: fadeOut,
1708
- links: links,
1709
- region: region
1710
- })
1711
- }), /*#__PURE__*/jsx_runtime_.jsx(NavbarSlider_NavbarSliderFooter, {
1712
- children: /*#__PURE__*/jsx_runtime_.jsx(Button/* ButtonSignIn */.p, _objectSpread({}, signInButton))
1713
- })]
1714
- });
1715
- }
1716
-
1717
- /* harmony default export */ const navigation_NavbarSlider_NavbarSlider = ((0,mark/* mark */.B)(NavbarSlider_NavbarSlider_NavbarSlider));
1718
- ;// CONCATENATED MODULE: ./src/components/navigation/NavbarSlider/index.ts
1719
-
1720
-
1721
- /***/ }),
1722
-
1723
- /***/ 79471:
1724
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
1725
-
1726
- "use strict";
1727
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1728
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1729
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1730
- /* harmony export */ });
1731
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(71072);
1732
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(36399);
1733
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(447);
1734
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71853);
1735
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_0__);
1736
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
1737
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1738
- /* harmony import */ var src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(25882);
1739
- /* harmony import */ var src_sdk_search_useSearchHistory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(75098);
1740
- /* harmony import */ var src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(86344);
1741
- /* harmony import */ var src_sdk_ui_useOnClickOutside__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13669);
1742
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20997);
1743
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
1744
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_3__]);
1745
- src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1746
- const _excluded = ["onSearchClick", "buttonTestId", "containerStyle", "sort"];
1747
-
1748
- 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; }
1749
-
1750
- 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; }
1751
-
1752
- 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; }
1753
-
1754
- 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; }
1755
-
1756
- 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; }
1757
-
1758
-
1759
-
1760
-
1761
-
1762
-
1763
-
1764
-
1765
-
1766
-
1767
-
1768
- const SearchDropdown = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.lazy)(() => Promise.all(/* import() */[__webpack_require__.e(247), __webpack_require__.e(854), __webpack_require__.e(312)]).then(__webpack_require__.bind(__webpack_require__, 14312)));
1769
-
1770
- const sendAnalytics = async term => {
1771
- (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_6__/* .sendAnalyticsEvent */ ._)({
1772
- name: 'search',
1773
- params: {
1774
- search_term: term
1775
- }
1776
- });
1777
- };
1778
-
1779
- const SearchInput = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function SearchInput(_ref, ref) {
1780
- let {
1781
- onSearchClick,
1782
- buttonTestId = 'fs-search-button',
1783
- containerStyle,
1784
- sort
1785
- } = _ref,
1786
- otherProps = _objectWithoutProperties(_ref, _excluded);
1787
-
1788
- const {
1789
- 0: searchQuery,
1790
- 1: setSearchQuery
1791
- } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('');
1792
- const searchQueryDeferred = (0,react__WEBPACK_IMPORTED_MODULE_1__.useDeferredValue)(searchQuery);
1793
- const {
1794
- 0: searchDropdownVisible,
1795
- 1: setSearchDropdownVisible
1796
- } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
1797
- const searchRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
1798
- const {
1799
- addToSearchHistory
1800
- } = (0,src_sdk_search_useSearchHistory__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)();
1801
- const router = (0,next_router__WEBPACK_IMPORTED_MODULE_0__.useRouter)();
1802
- (0,react__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle)(ref, () => ({
1803
- resetSearchInput: () => setSearchQuery('')
1804
- }));
1805
-
1806
- const onSearchSelection = (term, path) => {
1807
- addToSearchHistory({
1808
- term,
1809
- path
1810
- });
1811
- sendAnalytics(term);
1812
- setSearchDropdownVisible(false);
1813
- setSearchQuery(term);
1814
- };
1815
-
1816
- (0,src_sdk_ui_useOnClickOutside__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(searchRef, () => setSearchDropdownVisible(false));
1817
- const {
1818
- terms,
1819
- products,
1820
- isLoading
1821
- } = (0,src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(searchQueryDeferred);
1822
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
1823
- ref: searchRef,
1824
- visibleDropdown: searchDropdownVisible,
1825
- onSearchSelection: onSearchSelection,
1826
- term: searchQueryDeferred,
1827
- terms: terms,
1828
- products: products,
1829
- isLoading: isLoading,
1830
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, _objectSpread({
1831
- ref: ref,
1832
- buttonProps: {
1833
- onClick: onSearchClick,
1834
- testId: buttonTestId
1835
- },
1836
- placeholder: "Search everything at the store",
1837
- onChange: e => setSearchQuery(e.target.value),
1838
- onSubmit: term => {
1839
- const path = (0,src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_9__/* .formatSearchPath */ .u)({
1840
- term,
1841
- sort: sort
1842
- });
1843
- onSearchSelection(term, path);
1844
- router.push(path);
1845
- },
1846
- onFocus: () => setSearchDropdownVisible(true),
1847
- value: searchQuery
1848
- }, otherProps)), searchDropdownVisible && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(react__WEBPACK_IMPORTED_MODULE_1__.Suspense, {
1849
- fallback: null,
1850
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(SearchDropdown, {
1851
- sort: sort
1852
- })
1853
- })]
1854
- });
1855
- });
1856
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchInput);
1857
- __webpack_async_result__();
1858
- } catch(e) { __webpack_async_result__(e); } });
1859
-
1860
- /***/ }),
1861
-
1862
- /***/ 60475:
1863
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
1864
-
1865
- "use strict";
1866
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1867
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1868
- /* harmony export */ "Z": () => (/* reexport safe */ _SearchInput__WEBPACK_IMPORTED_MODULE_0__.Z)
1869
- /* harmony export */ });
1870
- /* harmony import */ var _SearchInput__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79471);
1871
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_SearchInput__WEBPACK_IMPORTED_MODULE_0__]);
1872
- _SearchInput__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1873
-
1874
- __webpack_async_result__();
1875
- } catch(e) { __webpack_async_result__(e); } });
1876
-
1877
- /***/ }),
1878
-
1879
- /***/ 72706:
1880
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1881
-
1882
- "use strict";
1883
-
1884
- // EXPORTS
1885
- __webpack_require__.d(__webpack_exports__, {
1886
- "Z": () => (/* reexport */ sections_Alert_Alert)
1887
- });
1888
-
1889
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
1890
- var Icon = __webpack_require__(25045);
1891
- // EXTERNAL MODULE: external "react"
1892
- var external_react_ = __webpack_require__(16689);
1893
- // EXTERNAL MODULE: ../components/dist/molecules/Alert/Alert.js
1894
- var Alert = __webpack_require__(16970);
1895
- // EXTERNAL MODULE: ./src/sdk/tests/mark.tsx
1896
- var mark = __webpack_require__(82541);
1897
- // EXTERNAL MODULE: ./src/components/sections/Section/Section.tsx
1898
- var Section = __webpack_require__(13271);
1899
- // EXTERNAL MODULE: ./src/components/common/Alert/section.module.scss
1900
- var section_module = __webpack_require__(77651);
1901
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
1902
- // EXTERNAL MODULE: external "react/jsx-runtime"
1903
- var jsx_runtime_ = __webpack_require__(20997);
1904
- ;// CONCATENATED MODULE: ./src/components/common/Alert/Alert.tsx
1905
- const _excluded = ["content", "children"];
1906
-
1907
- 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; }
1908
-
1909
- 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; }
1910
-
1911
- 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; }
1912
-
1913
- 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; }
1914
-
1915
- 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; }
1916
-
1917
-
1918
-
1919
-
1920
-
1921
-
1922
-
1923
-
1924
- function Alert_Alert(_ref) {
1925
- let {
1926
- content,
1927
- children
1928
- } = _ref,
1929
- otherProps = _objectWithoutProperties(_ref, _excluded);
1930
-
1931
- const {
1932
- 0: displayAlert,
1933
- 1: setDisplayAlert
1934
- } = (0,external_react_.useState)(true);
1935
- const onAlertClose = (0,external_react_.useCallback)(() => setDisplayAlert(false), [setDisplayAlert]);
1936
-
1937
- if (displayAlert === false) {
1938
- return null;
1939
- }
1940
-
1941
- return /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
1942
- className: `${(section_module_default()).section} section-alert`,
1943
- children: /*#__PURE__*/jsx_runtime_.jsx(Alert/* default */.Z, _objectSpread(_objectSpread({
1944
- onClose: onAlertClose
1945
- }, otherProps), {}, {
1946
- children: content ?? children
1947
- }))
1948
- });
1949
- }
1950
-
1951
- Alert_Alert.displayName = 'Alert';
1952
- /* harmony default export */ const common_Alert_Alert = ((0,mark/* mark */.B)(Alert_Alert));
1953
- ;// CONCATENATED MODULE: ./src/components/common/Alert/index.ts
1954
-
1955
- ;// CONCATENATED MODULE: ./src/components/sections/Alert/Alert.tsx
1956
-
1957
-
1958
-
1959
-
1960
- // TODO: Change actionPath and actionLabel with Link
1961
- function Alert_Alert_Alert({
1962
- icon,
1963
- content,
1964
- link,
1965
- dismissible
1966
- }) {
1967
- return /*#__PURE__*/jsx_runtime_.jsx(common_Alert_Alert, {
1968
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
1969
- name: icon
1970
- }),
1971
- link: {
1972
- children: link?.text,
1973
- href: link?.to,
1974
- target: '_self'
1975
- },
1976
- dismissible: dismissible,
1977
- children: content
1978
- });
1979
- }
1980
-
1981
- /* harmony default export */ const sections_Alert_Alert = (Alert_Alert_Alert);
1982
- ;// CONCATENATED MODULE: ./src/components/sections/Alert/index.ts
1983
-
1984
-
1985
- /***/ }),
1986
-
1987
- /***/ 84725:
1988
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1989
-
1990
- "use strict";
1991
-
1992
- // EXPORTS
1993
- __webpack_require__.d(__webpack_exports__, {
1994
- "Z": () => (/* reexport */ sections_Footer_Footer)
1995
- });
1996
-
1997
- // EXTERNAL MODULE: external "react"
1998
- var external_react_ = __webpack_require__(16689);
1999
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
2000
- // EXTERNAL MODULE: ../components/dist/atoms/List/List.js
2001
- var List = __webpack_require__(41329);
2002
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
2003
- var Icon = __webpack_require__(25045);
2004
- // EXTERNAL MODULE: ../components/dist/atoms/SROnly/SROnly.js
2005
- var SROnly = __webpack_require__(82691);
2006
- ;// CONCATENATED MODULE: ../components/dist/organisms/PaymentMethods/PaymentMethods.js
2007
-
2008
-
2009
- const PaymentMethods = (0,external_react_.forwardRef)(function PaymentMethods({ testId = 'fs-payment-methods', title, 'aria-label': ariaLabel = 'Payment Methods', flagList, ...otherProps }, ref) {
2010
- return (external_react_default().createElement("div", { ref: ref, "data-fs-payment-methods": true, "data-testid": testId, ...otherProps },
2011
- !!title && external_react_default().createElement("div", { "data-fs-payment-methods-title": true }, title),
2012
- external_react_default().createElement(List/* default */.Z, { "data-fs-payment-methods-flags": true, "aria-label": title ? undefined : ariaLabel }, flagList.map(({ alt: text, icon: { icon } }, index) => (external_react_default().createElement("li", { "data-fs-payment-methods-flag": true, key: `fs-payment-method-${index}-${text}` },
2013
- external_react_default().createElement(Icon/* default */.Z, { width: 32, height: 22.5, name: icon }),
2014
- text && external_react_default().createElement(SROnly/* default */.Z, { text: text })))))));
2015
- });
2016
- /* harmony default export */ const PaymentMethods_PaymentMethods = (PaymentMethods);
2017
- //# sourceMappingURL=PaymentMethods.js.map
2018
- // EXTERNAL MODULE: ./src/sdk/tests/mark.tsx
2019
- var mark = __webpack_require__(82541);
2020
- // EXTERNAL MODULE: external "react/jsx-runtime"
2021
- var jsx_runtime_ = __webpack_require__(20997);
2022
- ;// CONCATENATED MODULE: ./src/components/common/Footer/Footer.tsx
2023
-
2024
-
2025
- function FooterInfo({
2026
- children
2027
- }) {
2028
- return /*#__PURE__*/jsx_runtime_.jsx("div", {
2029
- "data-fs-footer-info": true,
2030
- className: "layout__content",
2031
- children: children
2032
- });
2033
- }
2034
- function FooterNavigation({
2035
- children
2036
- }) {
2037
- return /*#__PURE__*/jsx_runtime_.jsx("div", {
2038
- "data-fs-footer-navigation": true,
2039
- className: "layout__content",
2040
- children: children
2041
- });
2042
- }
2043
- function Footer({
2044
- children
2045
- }) {
2046
- return /*#__PURE__*/jsx_runtime_.jsx("div", {
2047
- "data-fs-footer": true,
2048
- "data-fs-footer-social": true,
2049
- "data-fs-footer-incentives": true,
2050
- "data-fs-footer-payment-methods": true,
2051
- className: "layout__content-full",
2052
- children: children
2053
- });
2054
- }
2055
- Footer.displayName = 'Footer';
2056
- /* harmony default export */ const Footer_Footer = ((0,mark/* mark */.B)(Footer));
2057
- // EXTERNAL MODULE: ../components/dist/molecules/Accordion/Accordion.js
2058
- var Accordion = __webpack_require__(39739);
2059
- // EXTERNAL MODULE: ../components/dist/molecules/Accordion/AccordionItem.js
2060
- var AccordionItem = __webpack_require__(60997);
2061
- // EXTERNAL MODULE: ../components/dist/molecules/Accordion/AccordionButton.js
2062
- var AccordionButton = __webpack_require__(47743);
2063
- // EXTERNAL MODULE: ../components/dist/molecules/Accordion/AccordionPanel.js
2064
- var AccordionPanel = __webpack_require__(20331);
2065
- // EXTERNAL MODULE: ./src/components/ui/Link/index.ts + 1 modules
2066
- var Link = __webpack_require__(51093);
2067
- ;// CONCATENATED MODULE: ./src/components/common/Footer/FooterLinks.tsx
2068
-
2069
-
2070
-
2071
-
2072
-
2073
-
2074
- function Links({
2075
- items
2076
- }) {
2077
- return /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
2078
- children: items.map(item => /*#__PURE__*/jsx_runtime_.jsx("li", {
2079
- children: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
2080
- variant: "display",
2081
- size: "small",
2082
- href: item.url,
2083
- children: item.text
2084
- })
2085
- }, item.text))
2086
- });
2087
- }
2088
-
2089
- function FooterLinks({
2090
- links
2091
- }) {
2092
- const {
2093
- 0: indicesExpanded,
2094
- 1: setIndicesExpanded
2095
- } = (0,external_react_.useState)(new Set([]));
2096
-
2097
- const onChange = index => {
2098
- if (indicesExpanded.has(index)) {
2099
- indicesExpanded.delete(index);
2100
- setIndicesExpanded(new Set(indicesExpanded));
2101
- } else {
2102
- setIndicesExpanded(new Set(indicesExpanded.add(index)));
2103
- }
2104
- };
2105
-
2106
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)("section", {
2107
- "data-fs-footer": true,
2108
- "data-fs-footer-links": true,
2109
- children: [/*#__PURE__*/jsx_runtime_.jsx("div", {
2110
- className: "display-mobile",
2111
- children: /*#__PURE__*/jsx_runtime_.jsx(Accordion/* default */.Z, {
2112
- indices: indicesExpanded,
2113
- onChange: onChange,
2114
- children: links.map(({
2115
- sectionTitle,
2116
- items
2117
- }) => /*#__PURE__*/(0,jsx_runtime_.jsxs)(AccordionItem/* default */.Z, {
2118
- children: [/*#__PURE__*/jsx_runtime_.jsx(AccordionButton/* default */.Z, {
2119
- children: sectionTitle
2120
- }), /*#__PURE__*/jsx_runtime_.jsx(AccordionPanel/* default */.Z, {
2121
- children: /*#__PURE__*/jsx_runtime_.jsx(Links, {
2122
- items: items
2123
- })
2124
- })]
2125
- }, sectionTitle))
2126
- })
2127
- }), /*#__PURE__*/jsx_runtime_.jsx("div", {
2128
- className: "hidden-mobile",
2129
- children: /*#__PURE__*/jsx_runtime_.jsx("nav", {
2130
- "data-fs-footer-links-columns": true,
2131
- children: links.map(({
2132
- sectionTitle,
2133
- items
2134
- }) => /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
2135
- children: [/*#__PURE__*/jsx_runtime_.jsx("p", {
2136
- "data-fs-footer-links-title": true,
2137
- children: sectionTitle
2138
- }), /*#__PURE__*/jsx_runtime_.jsx(Links, {
2139
- items: items
2140
- })]
2141
- }, sectionTitle))
2142
- })
2143
- })]
2144
- });
2145
- }
2146
-
2147
- /* harmony default export */ const Footer_FooterLinks = (FooterLinks);
2148
- ;// CONCATENATED MODULE: ./src/components/common/Footer/FooterSocial.tsx
2149
-
2150
-
2151
-
2152
-
2153
-
2154
- function FooterSocial({
2155
- title,
2156
- links
2157
- }) {
2158
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)("section", {
2159
- "data-fs-footer-social": true,
2160
- children: [/*#__PURE__*/jsx_runtime_.jsx("p", {
2161
- "data-fs-footer-social-title": true,
2162
- children: title
2163
- }), /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
2164
- children: links.map(({
2165
- icon: {
2166
- icon
2167
- },
2168
- url
2169
- }) => /*#__PURE__*/jsx_runtime_.jsx("li", {
2170
- children: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
2171
- href: url,
2172
- title: icon,
2173
- size: "small",
2174
- target: "_blank",
2175
- variant: "display",
2176
- rel: "noopener noreferrer",
2177
- children: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
2178
- name: icon
2179
- })
2180
- })
2181
- }, icon))
2182
- })]
2183
- });
2184
- }
2185
-
2186
- /* harmony default export */ const Footer_FooterSocial = (FooterSocial);
2187
- ;// CONCATENATED MODULE: ./src/components/common/Footer/index.ts
2188
-
2189
-
2190
-
2191
-
2192
- // EXTERNAL MODULE: ./src/components/ui/Logo/index.ts + 1 modules
2193
- var Logo = __webpack_require__(25811);
2194
- // EXTERNAL MODULE: ./src/components/ui/Incentives/Incentives.tsx + 1 modules
2195
- var Incentives = __webpack_require__(73477);
2196
- ;// CONCATENATED MODULE: ./src/components/ui/Incentives/index.ts
2197
-
2198
- // EXTERNAL MODULE: ./src/components/sections/Footer/section.module.scss
2199
- var section_module = __webpack_require__(75977);
2200
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
2201
- ;// CONCATENATED MODULE: ./src/components/sections/Footer/Footer.tsx
2202
-
2203
-
2204
-
2205
-
2206
-
2207
-
2208
-
2209
-
2210
- const Footer_Footer_Footer = ({
2211
- incentives,
2212
- footerLinks,
2213
- footerSocial,
2214
- footerSocial: {
2215
- title: footerSocialTitle
2216
- },
2217
- logo: {
2218
- src: logoSrc,
2219
- alt: logoAlt
2220
- },
2221
- copyrightInfo,
2222
- acceptedPaymentMethods: {
2223
- showPaymentMethods,
2224
- title: acceptedPaymentMethodsTitle,
2225
- paymentMethods
2226
- }
2227
- }) => {
2228
- return /*#__PURE__*/jsx_runtime_.jsx("footer", {
2229
- className: `section ${(section_module_default()).section} section-footer`,
2230
- children: /*#__PURE__*/(0,jsx_runtime_.jsxs)(Footer_Footer, {
2231
- children: [/*#__PURE__*/jsx_runtime_.jsx(Incentives/* default */.Z, {
2232
- incentives: incentives
2233
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)(FooterNavigation, {
2234
- children: [/*#__PURE__*/jsx_runtime_.jsx(Footer_FooterLinks, {
2235
- links: footerLinks
2236
- }), /*#__PURE__*/jsx_runtime_.jsx(Footer_FooterSocial, {
2237
- title: footerSocialTitle,
2238
- links: footerSocial.socialLinks
2239
- })]
2240
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)(FooterInfo, {
2241
- children: [/*#__PURE__*/jsx_runtime_.jsx(Logo/* default */.Z, {
2242
- alt: logoAlt,
2243
- src: logoSrc
2244
- }), showPaymentMethods && /*#__PURE__*/jsx_runtime_.jsx(PaymentMethods_PaymentMethods, {
2245
- flagList: paymentMethods,
2246
- title: /*#__PURE__*/jsx_runtime_.jsx("p", {
2247
- children: acceptedPaymentMethodsTitle
2248
- })
2249
- }), /*#__PURE__*/jsx_runtime_.jsx("div", {
2250
- "data-fs-footer-copyright": true,
2251
- className: "text__legend",
2252
- children: /*#__PURE__*/jsx_runtime_.jsx("p", {
2253
- children: copyrightInfo
2254
- })
2255
- })]
2256
- })]
2257
- })
2258
- });
2259
- };
2260
-
2261
- /* harmony default export */ const sections_Footer_Footer = (Footer_Footer_Footer);
2262
- ;// CONCATENATED MODULE: ./src/components/sections/Footer/index.ts
2263
-
2264
-
2265
- /***/ }),
2266
-
2267
- /***/ 46696:
2268
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
2269
-
2270
- "use strict";
2271
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
2272
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2273
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
2274
- /* harmony export */ });
2275
- /* harmony import */ var _navigation_Navbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3583);
2276
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57067);
2277
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(96837);
2278
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_3__);
2279
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20997);
2280
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
2281
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_navigation_Navbar__WEBPACK_IMPORTED_MODULE_0__]);
2282
- _navigation_Navbar__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
2283
-
2284
-
2285
-
2286
-
2287
-
2288
- function Navbar({
2289
- logo,
2290
- searchInput,
2291
- cartIcon,
2292
- signInButton,
2293
- navigation: {
2294
- menu,
2295
- home,
2296
- pageLinks,
2297
- regionalization: {
2298
- label: regionLabel,
2299
- icon: {
2300
- icon: regionIcon
2301
- },
2302
- enabled: shouldDisplayRegion
2303
- }
2304
- }
2305
- }) {
2306
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_Section__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
2307
- className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_3___default().section)} section-navbar`,
2308
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_navigation_Navbar__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z, {
2309
- home: home,
2310
- menu: menu,
2311
- logo: logo,
2312
- searchInput: searchInput,
2313
- cart: cartIcon,
2314
- links: pageLinks,
2315
- signIn: {
2316
- button: signInButton
2317
- },
2318
- region: {
2319
- icon: regionIcon,
2320
- label: regionLabel,
2321
- shouldDisplayRegion
2322
- }
2323
- })
2324
- });
2325
- }
2326
-
2327
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Navbar);
2328
- __webpack_async_result__();
2329
- } catch(e) { __webpack_async_result__(e); } });
2330
-
2331
- /***/ }),
2332
-
2333
- /***/ 81868:
2334
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
2335
-
2336
- "use strict";
2337
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
2338
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2339
- /* harmony export */ "Z": () => (/* reexport safe */ _Navbar__WEBPACK_IMPORTED_MODULE_0__.Z)
2340
- /* harmony export */ });
2341
- /* harmony import */ var _Navbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(46696);
2342
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Navbar__WEBPACK_IMPORTED_MODULE_0__]);
2343
- _Navbar__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
2344
-
2345
- __webpack_async_result__();
2346
- } catch(e) { __webpack_async_result__(e); } });
2347
-
2348
- /***/ }),
2349
-
2350
- /***/ 88968:
2351
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2352
-
2353
- "use strict";
2354
-
2355
- // EXPORTS
2356
- __webpack_require__.d(__webpack_exports__, {
2357
- "Z": () => (/* reexport */ sections_RegionBar_RegionBar)
2358
- });
2359
-
2360
- // EXTERNAL MODULE: external "react"
2361
- var external_react_ = __webpack_require__(16689);
2362
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
2363
- // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
2364
- var Button = __webpack_require__(57578);
2365
- ;// CONCATENATED MODULE: ../components/dist/molecules/RegionBar/RegionBar.js
2366
-
2367
-
2368
- const RegionBar = (0,external_react_.forwardRef)(function RegionBar({ postalCode, icon, label, editLabel, buttonIcon, onButtonClick, ...otherProps }, ref) {
2369
- return (external_react_default().createElement("div", { ref: ref, "data-fs-region-bar": true, ...otherProps },
2370
- external_react_default().createElement(Button/* default */.Z, { variant: "tertiary", iconPosition: "right", onClick: onButtonClick, icon: buttonIcon },
2371
- !!icon && icon,
2372
- postalCode ? (external_react_default().createElement((external_react_default()).Fragment, null,
2373
- external_react_default().createElement("span", { "data-fs-region-bar-postal-code": true }, postalCode),
2374
- !!editLabel && external_react_default().createElement("span", { "data-fs-region-bar-cta": true }, editLabel))) : (external_react_default().createElement("span", { "data-fs-region-bar-message": true }, label)))));
2375
- });
2376
- /* harmony default export */ const RegionBar_RegionBar = (RegionBar);
2377
- //# sourceMappingURL=RegionBar.js.map
2378
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
2379
- var Icon = __webpack_require__(25045);
2380
- // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
2381
- var UIProvider = __webpack_require__(90395);
2382
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
2383
- var session = __webpack_require__(97295);
2384
- // EXTERNAL MODULE: external "react/jsx-runtime"
2385
- var jsx_runtime_ = __webpack_require__(20997);
2386
- ;// CONCATENATED MODULE: ./src/components/region/RegionBar/RegionBar.tsx
2387
- const _excluded = ["icon", "buttonIcon"];
2388
-
2389
- 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; }
2390
-
2391
- 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; }
2392
-
2393
- 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; }
2394
-
2395
- 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; }
2396
-
2397
- 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; }
2398
-
2399
-
2400
-
2401
-
2402
-
2403
-
2404
- function RegionBar_RegionBar_RegionBar(_ref) {
2405
- let {
2406
- icon: {
2407
- icon: locationIcon,
2408
- alt: locationIconAlt
2409
- },
2410
- buttonIcon: {
2411
- icon: buttonIcon,
2412
- alt: buttonIconAlt
2413
- }
2414
- } = _ref,
2415
- otherProps = _objectWithoutProperties(_ref, _excluded);
2416
-
2417
- const {
2418
- openModal
2419
- } = (0,UIProvider/* useUI */.l)();
2420
- const {
2421
- postalCode
2422
- } = (0,session/* useSession */.kP)();
2423
- return /*#__PURE__*/jsx_runtime_.jsx(RegionBar_RegionBar, _objectSpread({
2424
- onButtonClick: openModal,
2425
- postalCode: postalCode,
2426
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
2427
- name: locationIcon,
2428
- "aria-label": locationIconAlt
2429
- }),
2430
- buttonIcon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
2431
- name: buttonIcon,
2432
- "aria-label": buttonIconAlt
2433
- })
2434
- }, otherProps));
2435
- }
2436
-
2437
- /* harmony default export */ const region_RegionBar_RegionBar = (RegionBar_RegionBar_RegionBar);
2438
- // EXTERNAL MODULE: ./src/components/sections/Section/Section.tsx
2439
- var Section = __webpack_require__(13271);
2440
- // EXTERNAL MODULE: ./src/components/sections/RegionBar/section.module.scss
2441
- var section_module = __webpack_require__(53472);
2442
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
2443
- ;// CONCATENATED MODULE: ./src/components/sections/RegionBar/RegionBar.tsx
2444
- const RegionBar_excluded = ["className"];
2445
-
2446
- function RegionBar_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; }
2447
-
2448
- function RegionBar_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? RegionBar_ownKeys(Object(source), !0).forEach(function (key) { RegionBar_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : RegionBar_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2449
-
2450
- function RegionBar_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; }
2451
-
2452
- function RegionBar_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = RegionBar_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; }
2453
-
2454
- function RegionBar_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; }
2455
-
2456
-
2457
-
2458
-
2459
-
2460
-
2461
- function RegionBarSection(_ref) {
2462
- let {
2463
- className = 'display-mobile'
2464
- } = _ref,
2465
- otherProps = RegionBar_objectWithoutProperties(_ref, RegionBar_excluded);
2466
-
2467
- return /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
2468
- className: `${(section_module_default()).section} section-region-bar ${className}`,
2469
- children: /*#__PURE__*/jsx_runtime_.jsx(region_RegionBar_RegionBar, RegionBar_objectSpread({}, otherProps))
2470
- });
2471
- }
2472
-
2473
- /* harmony default export */ const sections_RegionBar_RegionBar = (RegionBarSection);
2474
- ;// CONCATENATED MODULE: ./src/components/sections/RegionBar/index.ts
2475
-
2476
-
2477
- /***/ }),
2478
-
2479
- /***/ 13271:
2480
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2481
-
2482
- "use strict";
2483
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2484
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
2485
- /* harmony export */ });
2486
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
2487
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2488
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20997);
2489
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
2490
- const _excluded = ["as", "className"];
2491
-
2492
- 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; }
2493
-
2494
- 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; }
2495
-
2496
- 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; }
2497
-
2498
- 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; }
2499
-
2500
- 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; }
2501
-
2502
-
2503
-
2504
- const Section = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Section(_ref, ref) {
2505
- let {
2506
- as,
2507
- className = ''
2508
- } = _ref,
2509
- otherProps = _objectWithoutProperties(_ref, _excluded);
2510
-
2511
- const Component = as ?? 'section';
2512
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(Component, _objectSpread({
2513
- ref: ref,
2514
- className: `section ${className}`
2515
- }, otherProps));
2516
- });
2517
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Section);
2518
-
2519
- /***/ }),
2520
-
2521
- /***/ 57067:
2522
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2523
-
2524
- "use strict";
2525
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2526
- /* harmony export */ "Z": () => (/* reexport safe */ _Section__WEBPACK_IMPORTED_MODULE_0__.Z)
2527
- /* harmony export */ });
2528
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13271);
2529
-
2530
-
2531
- /***/ }),
2532
-
2533
- /***/ 57758:
2534
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2535
-
2536
- "use strict";
2537
-
2538
- // EXPORTS
2539
- __webpack_require__.d(__webpack_exports__, {
2540
- "p": () => (/* reexport */ ButtonSignIn_ButtonSignIn)
2541
- });
2542
-
2543
- // UNUSED EXPORTS: ButtonSignInFallback
2544
-
2545
- // EXTERNAL MODULE: ../components/dist/molecules/LinkButton/LinkButton.js
2546
- var LinkButton_LinkButton = __webpack_require__(67703);
2547
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
2548
- var Icon_Icon = __webpack_require__(25045);
2549
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
2550
- var session = __webpack_require__(97295);
2551
- // EXTERNAL MODULE: ./src/sdk/cart/index.ts + 1 modules
2552
- var cart = __webpack_require__(46073);
2553
- // EXTERNAL MODULE: external "react/jsx-runtime"
2554
- var jsx_runtime_ = __webpack_require__(20997);
2555
- ;// CONCATENATED MODULE: ./src/components/ui/Button/ButtonSignIn/ButtonSignIn.tsx
2556
-
2557
-
2558
-
2559
-
2560
-
2561
- const ButtonSignIn = ({
2562
- label,
2563
- myAccountLabel,
2564
- icon: {
2565
- alt,
2566
- icon
2567
- }
2568
- }) => {
2569
- const {
2570
- id
2571
- } = (0,cart/* useCart */.jD)();
2572
- const {
2573
- person
2574
- } = (0,session/* useSession */.kP)();
2575
- return /*#__PURE__*/jsx_runtime_.jsx(LinkButton_LinkButton/* default */.Z, {
2576
- "data-fs-button-signin-link": true,
2577
- href: person?.id ? `/account?orderFormId=${id}` : `/login?orderFormId=${id}`,
2578
- className: "text__title-mini",
2579
- "aria-label": alt,
2580
- variant: "tertiary",
2581
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon_Icon/* default */.Z, {
2582
- name: icon,
2583
- width: 18,
2584
- height: 18,
2585
- weight: "bold"
2586
- }),
2587
- iconPosition: "left",
2588
- children: person?.id ? myAccountLabel : label
2589
- });
2590
- };
2591
-
2592
- /* harmony default export */ const ButtonSignIn_ButtonSignIn = (ButtonSignIn);
2593
- ;// CONCATENATED MODULE: ./src/components/ui/Button/ButtonSignIn/index.ts
2594
-
2595
- ;// CONCATENATED MODULE: ./src/components/ui/Button/ButtonSignIn/ButtonSignInFallback/ButtonSignInFallback.tsx
2596
-
2597
-
2598
-
2599
- function ButtonSignInFallback() {
2600
- return /*#__PURE__*/_jsx(LinkButton, {
2601
- "data-fs-button-signin-link": true,
2602
- href: "/login",
2603
- className: "text__title-mini",
2604
- variant: "tertiary",
2605
- icon: /*#__PURE__*/_jsx(Icon, {
2606
- name: "User",
2607
- width: 18,
2608
- height: 18,
2609
- weight: "bold"
2610
- }),
2611
- iconPosition: "left",
2612
- children: /*#__PURE__*/_jsx("span", {
2613
- children: 'Sign In'
2614
- })
2615
- });
2616
- }
2617
-
2618
- /* harmony default export */ const ButtonSignInFallback_ButtonSignInFallback = ((/* unused pure expression or super */ null && (ButtonSignInFallback)));
2619
- ;// CONCATENATED MODULE: ./src/components/ui/Button/ButtonSignIn/ButtonSignInFallback/index.ts
2620
-
2621
- ;// CONCATENATED MODULE: ./src/components/ui/Button/index.ts
2622
-
2623
-
2624
-
2625
- /***/ }),
2626
-
2627
- /***/ 79266:
2628
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2629
-
2630
- "use strict";
2631
-
2632
- // EXPORTS
2633
- __webpack_require__.d(__webpack_exports__, {
2634
- "E": () => (/* reexport */ Image_Image)
2635
- });
2636
-
2637
- // EXTERNAL MODULE: external "react"
2638
- var external_react_ = __webpack_require__(16689);
2639
- // EXTERNAL MODULE: ./node_modules/next/future/image.js
2640
- var future_image = __webpack_require__(61608);
2641
- var image_default = /*#__PURE__*/__webpack_require__.n(future_image);
2642
- // EXTERNAL MODULE: ./faststore.config.js
2643
- var faststore_config = __webpack_require__(97183);
2644
- var faststore_config_default = /*#__PURE__*/__webpack_require__.n(faststore_config);
2645
- ;// CONCATENATED MODULE: ./src/components/ui/Image/loader.ts
2646
-
2647
- const THUMBOR_SERVER = `https://${(faststore_config_default()).api.storeId}.vtexassets.com`;
2648
- function customImageLoader({
2649
- src,
2650
- width,
2651
- quality
2652
- }) {
2653
- const preSizeComponents = [THUMBOR_SERVER, 'unsafe']; // proportional to the width, enter a height of 0,
2654
-
2655
- const height = 0;
2656
- const finalSize = `${width}x${height}`;
2657
- const postSizeComponents = ['center', 'middle'];
2658
- quality && postSizeComponents.push(`filters:quality(${quality || 80})`);
2659
- postSizeComponents.push(encodeURIComponent(src));
2660
- return [...preSizeComponents, finalSize, ...postSizeComponents].join('/');
2661
- }
2662
- // EXTERNAL MODULE: external "react/jsx-runtime"
2663
- var jsx_runtime_ = __webpack_require__(20997);
2664
- ;// CONCATENATED MODULE: ./src/components/ui/Image/Image.tsx
2665
- const _excluded = ["loading"];
2666
-
2667
- 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; }
2668
-
2669
- 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; }
2670
-
2671
- 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; }
2672
-
2673
- 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; }
2674
-
2675
- 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; }
2676
-
2677
-
2678
-
2679
-
2680
-
2681
-
2682
- // Next loader function does not handle all props as height and options
2683
- // so we use a custom loader to handle images using thumbor server with VTEX CDN
2684
- // https://nextjs.org/docs/api-reference/next/image#loader
2685
- function Image(_ref) {
2686
- let {
2687
- loading = 'lazy'
2688
- } = _ref,
2689
- otherProps = _objectWithoutProperties(_ref, _excluded);
2690
-
2691
- return /*#__PURE__*/jsx_runtime_.jsx((image_default()), _objectSpread({
2692
- "data-fs-image": true,
2693
- loader: customImageLoader,
2694
- loading: loading,
2695
- priority: loading === 'eager'
2696
- }, otherProps));
2697
- }
2698
-
2699
- Image.displayName = 'Image';
2700
- /* harmony default export */ const Image_Image = (/*#__PURE__*/(0,external_react_.memo)(Image));
2701
- ;// CONCATENATED MODULE: ./src/components/ui/Image/index.ts
2702
-
2703
-
2704
- /***/ }),
2705
-
2706
- /***/ 73477:
2707
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2708
-
2709
- "use strict";
2710
-
2711
- // EXPORTS
2712
- __webpack_require__.d(__webpack_exports__, {
2713
- "Z": () => (/* binding */ Incentives_Incentives)
2714
- });
2715
-
2716
- // EXTERNAL MODULE: ../components/dist/atoms/List/List.js
2717
- var List = __webpack_require__(41329);
2718
- // EXTERNAL MODULE: external "react"
2719
- var external_react_ = __webpack_require__(16689);
2720
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
2721
- ;// CONCATENATED MODULE: ../ui/dist/components/atoms/Incentive/Incentive.js
2722
-
2723
- const Incentive = (0,external_react_.forwardRef)(function Incentive({ testId = 'store-incentive', children, ...otherProps }, ref) {
2724
- return (external_react_default().createElement("div", { ref: ref, "data-fs-incentive": true, "data-testid": testId, ...otherProps }, children));
2725
- });
2726
- /* harmony default export */ const Incentive_Incentive = (Incentive);
2727
- //# sourceMappingURL=Incentive.js.map
2728
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
2729
- var Icon = __webpack_require__(25045);
2730
- // EXTERNAL MODULE: external "react/jsx-runtime"
2731
- var jsx_runtime_ = __webpack_require__(20997);
2732
- ;// CONCATENATED MODULE: ./src/components/ui/Incentives/Incentives.tsx
2733
-
2734
-
2735
-
2736
-
2737
- function Incentives({
2738
- incentives,
2739
- variant = 'horizontal',
2740
- colored = false
2741
- }) {
2742
- return /*#__PURE__*/jsx_runtime_.jsx("div", {
2743
- "data-fs-incentives": true,
2744
- "data-fs-incentives-colored": colored,
2745
- "data-fs-incentives-variant": variant,
2746
- children: /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
2747
- className: "layout__content",
2748
- children: incentives.map((incentive, index) => /*#__PURE__*/jsx_runtime_.jsx("li", {
2749
- role: "listitem",
2750
- children: /*#__PURE__*/(0,jsx_runtime_.jsxs)(Incentive_Incentive, {
2751
- tabIndex: 0,
2752
- children: [/*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
2753
- "data-fs-incentive-icon": true,
2754
- "aria-label": incentive.alt,
2755
- name: incentive.icon,
2756
- width: 32,
2757
- height: 32
2758
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
2759
- "data-fs-incentive-content": true,
2760
- children: [/*#__PURE__*/jsx_runtime_.jsx("p", {
2761
- "data-fs-incentive-title": true,
2762
- children: incentive.title
2763
- }), /*#__PURE__*/jsx_runtime_.jsx("span", {
2764
- "data-fs-incentive-description": true,
2765
- children: incentive.firstLineText
2766
- }), incentive.secondLineText && /*#__PURE__*/jsx_runtime_.jsx("span", {
2767
- "data-fs-incentive-description": true,
2768
- children: incentive.secondLineText
2769
- })]
2770
- })]
2771
- })
2772
- }, String(index)))
2773
- })
2774
- });
2775
- }
2776
-
2777
- /* harmony default export */ const Incentives_Incentives = (Incentives);
2778
-
2779
- /***/ }),
2780
-
2781
- /***/ 51093:
2782
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2783
-
2784
- "use strict";
2785
-
2786
- // EXPORTS
2787
- __webpack_require__.d(__webpack_exports__, {
2788
- "Z": () => (/* reexport */ ui_Link_Link)
2789
- });
2790
-
2791
- // EXTERNAL MODULE: external "react"
2792
- var external_react_ = __webpack_require__(16689);
2793
- // EXTERNAL MODULE: ./node_modules/next/link.js
2794
- var next_link = __webpack_require__(41664);
2795
- var link_default = /*#__PURE__*/__webpack_require__.n(next_link);
2796
- // EXTERNAL MODULE: ../components/dist/atoms/Link/Link.js
2797
- var Link_Link = __webpack_require__(87865);
2798
- // EXTERNAL MODULE: external "react/jsx-runtime"
2799
- var jsx_runtime_ = __webpack_require__(20997);
2800
- ;// CONCATENATED MODULE: ./src/components/ui/Link/Link.tsx
2801
- const _excluded = ["href", "inverse", "children", "variant"];
2802
-
2803
- 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; }
2804
-
2805
- 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; }
2806
-
2807
- 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; }
2808
-
2809
- 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; }
2810
-
2811
- 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; }
2812
-
2813
-
2814
-
2815
-
2816
-
2817
-
2818
- const Link = /*#__PURE__*/(0,external_react_.forwardRef)(function Link(_ref, ref) {
2819
- let {
2820
- href,
2821
- inverse,
2822
- children,
2823
- variant = 'default'
2824
- } = _ref,
2825
- otherProps = _objectWithoutProperties(_ref, _excluded);
2826
-
2827
- const isInternalLink = (0,external_react_.useMemo)(() => href[0] === '/' && href[1] !== '/', [href]);
2828
-
2829
- if (isInternalLink) {
2830
- return /*#__PURE__*/jsx_runtime_.jsx(Link_Link/* default */.Z, _objectSpread(_objectSpread({
2831
- as: (link_default()),
2832
- ref: ref,
2833
- variant: variant,
2834
- inverse: inverse,
2835
- passHref: true,
2836
- href: href,
2837
- legacyBehavior: false
2838
- }, otherProps), {}, {
2839
- children: /*#__PURE__*/jsx_runtime_.jsx(jsx_runtime_.Fragment, {
2840
- children: children
2841
- })
2842
- }));
2843
- }
2844
-
2845
- return /*#__PURE__*/jsx_runtime_.jsx(Link_Link/* default */.Z, _objectSpread(_objectSpread({
2846
- ref: ref,
2847
- href: href,
2848
- variant: variant,
2849
- inverse: inverse
2850
- }, otherProps), {}, {
2851
- children: children
2852
- }));
2853
- });
2854
- /* harmony default export */ const ui_Link_Link = (Link);
2855
- ;// CONCATENATED MODULE: ./src/components/ui/Link/index.ts
2856
-
2857
-
2858
- /***/ }),
2859
-
2860
- /***/ 25811:
2861
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2862
-
2863
- "use strict";
2864
-
2865
- // EXPORTS
2866
- __webpack_require__.d(__webpack_exports__, {
2867
- "Z": () => (/* reexport */ Logo_Logo)
2868
- });
2869
-
2870
- // EXTERNAL MODULE: ./src/components/ui/Image/index.ts + 2 modules
2871
- var Image = __webpack_require__(79266);
2872
- // EXTERNAL MODULE: external "react/jsx-runtime"
2873
- var jsx_runtime_ = __webpack_require__(20997);
2874
- ;// CONCATENATED MODULE: ./src/components/ui/Logo/Logo.tsx
2875
-
2876
-
2877
-
2878
- function Logo({
2879
- alt,
2880
- src,
2881
- loading = 'lazy'
2882
- }) {
2883
- return /*#__PURE__*/jsx_runtime_.jsx("div", {
2884
- "data-fs-logo": true,
2885
- children: /*#__PURE__*/jsx_runtime_.jsx(Image/* Image */.E, {
2886
- alt: alt,
2887
- src: src,
2888
- width: 0,
2889
- height: 0,
2890
- sizes: "15vw",
2891
- loading: loading,
2892
- style: {
2893
- width: '100%',
2894
- height: 'auto'
2895
- }
2896
- })
2897
- });
2898
- }
2899
-
2900
- /* harmony default export */ const Logo_Logo = (Logo);
2901
- ;// CONCATENATED MODULE: ./src/components/ui/Logo/index.ts
2902
-
2903
-
2904
- /***/ }),
2905
-
2906
- /***/ 20859:
2907
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2908
-
2909
- "use strict";
2910
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2911
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
2912
- /* harmony export */ });
2913
- // eslint-disable-next-line import/no-anonymous-default-export
2914
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({});
2915
-
2916
- /***/ }),
2917
-
2918
- /***/ 46073:
2919
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2920
-
2921
- "use strict";
2922
-
2923
- // EXPORTS
2924
- __webpack_require__.d(__webpack_exports__, {
2925
- "i8": () => (/* binding */ cartStore),
2926
- "jD": () => (/* binding */ useCart)
2927
- });
2928
-
2929
- // UNUSED EXPORTS: ValidateCartMutation
2930
-
2931
- // EXTERNAL MODULE: ../sdk/dist/utils/error.js
2932
- var error = __webpack_require__(12254);
2933
- // EXTERNAL MODULE: ../sdk/dist/store/composed.js + 4 modules
2934
- var composed = __webpack_require__(38283);
2935
- ;// CONCATENATED MODULE: ../sdk/dist/cart/index.js
2936
-
2937
-
2938
- const createCartStore = (defaultCart, onValidate, namespace = "fs::cart") => {
2939
- const store = (0,composed/* createStore */.M)(defaultCart, namespace, onValidate);
2940
- const addItem = (item) => {
2941
- if (!item.id) {
2942
- throw new error/* SDKError */.q("You must provide an `id` for items");
2943
- }
2944
- if (item.quantity < 0) {
2945
- throw new error/* SDKError */.q("Item quantity needs to be higher than zero");
2946
- }
2947
- const cart = store.read();
2948
- const currentItem = getItem(item.id);
2949
- const newItem = currentItem
2950
- ? {
2951
- ...item,
2952
- quantity: currentItem.quantity + item.quantity,
2953
- }
2954
- : item;
2955
- store.set({
2956
- ...cart,
2957
- items: currentItem
2958
- ? cart.items.map((item) => item === currentItem ? newItem : item)
2959
- : [...cart.items, newItem],
2960
- });
2961
- };
2962
- const updateItemQuantity = (id, quantity) => {
2963
- const cart = store.read();
2964
- const currentItem = getItem(id);
2965
- if (!currentItem) {
2966
- throw new error/* SDKError */.q(`Item with id not found: ${id}`);
2967
- }
2968
- const newItem = {
2969
- ...currentItem,
2970
- quantity,
2971
- };
2972
- store.set({
2973
- ...cart,
2974
- items: cart.items
2975
- .map((item) => item === currentItem ? newItem : item) // update item quantity
2976
- .filter((item) => item.quantity > 0), // remove items if quantity is <= 0
2977
- });
2978
- };
2979
- const removeItem = (id) => {
2980
- const cart = store.read();
2981
- const removed = getItem(id);
2982
- store.set({
2983
- ...cart,
2984
- items: cart.items.filter((item) => item !== removed),
2985
- });
2986
- };
2987
- const emptyCart = () => store.set({ ...store.read(), items: [] });
2988
- const getItem = (id) => store.read().items.find((item) => item.id === id);
2989
- const inCart = (id) => Boolean(getItem(id));
2990
- const isEmpty = () => store.read().items.length === 0;
2991
- return {
2992
- ...store,
2993
- getItem,
2994
- addItem,
2995
- updateItemQuantity,
2996
- removeItem,
2997
- emptyCart,
2998
- inCart,
2999
- isEmpty,
3000
- };
3001
- };
3002
- //# sourceMappingURL=index.js.map
3003
- // EXTERNAL MODULE: external "react"
3004
- var external_react_ = __webpack_require__(16689);
3005
- // EXTERNAL MODULE: ./faststore.config.js
3006
- var faststore_config = __webpack_require__(97183);
3007
- var faststore_config_default = /*#__PURE__*/__webpack_require__.n(faststore_config);
3008
- // EXTERNAL MODULE: ./src/sdk/graphql/request.ts
3009
- var request = __webpack_require__(180);
3010
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
3011
- var session = __webpack_require__(97295);
3012
- // EXTERNAL MODULE: ./src/sdk/useStore.ts
3013
- var useStore = __webpack_require__(33818);
3014
- ;// CONCATENATED MODULE: ./src/sdk/cart/index.ts
3015
- 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; }
3016
-
3017
- 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; }
3018
-
3019
- 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; }
3020
-
3021
-
3022
-
3023
-
3024
-
3025
-
3026
-
3027
- const ValidateCartMutation = "ValidateCartMutation";
3028
-
3029
- const isGift = item => item.price === 0;
3030
-
3031
- const getItemId = item => [item.itemOffered.sku, item.seller.identifier, item.itemOffered.additionalProperty?.map(({
3032
- propertyID
3033
- }) => propertyID).join('-')].filter(Boolean).join('::');
3034
-
3035
- const validateCart = async cart => {
3036
- const {
3037
- validateCart: validated = null
3038
- } = await (0,request/* request */.W)(ValidateCartMutation, {
3039
- session: session/* sessionStore.read */.Qf.read(),
3040
- cart: {
3041
- order: {
3042
- orderNumber: cart.id,
3043
- shouldSplitItem: cart.shouldSplitItem,
3044
- acceptedOffer: cart.items.map(({
3045
- price,
3046
- listPrice,
3047
- seller,
3048
- quantity,
3049
- itemOffered
3050
- }) => ({
3051
- price,
3052
- listPrice,
3053
- seller,
3054
- quantity,
3055
- itemOffered: {
3056
- sku: itemOffered.sku,
3057
- image: itemOffered.image,
3058
- name: itemOffered.name,
3059
- additionalProperty: itemOffered.additionalProperty
3060
- }
3061
- }))
3062
- }
3063
- }
3064
- });
3065
- return validated && {
3066
- id: validated.order.orderNumber,
3067
- items: validated.order.acceptedOffer.map(item => _objectSpread(_objectSpread({}, item), {}, {
3068
- id: getItemId(item)
3069
- })),
3070
- messages: validated.messages
3071
- };
3072
- };
3073
-
3074
- const [validationStore, onValidate] = (0,useStore/* createValidationStore */.d)(validateCart);
3075
- const defaultCartStore = createCartStore((faststore_config_default()).cart, onValidate);
3076
- const cartStore = _objectSpread(_objectSpread({}, defaultCartStore), {}, {
3077
- addItem: item => {
3078
- const cartItem = _objectSpread(_objectSpread({}, item), {}, {
3079
- id: getItemId(item)
3080
- });
3081
-
3082
- defaultCartStore.addItem(cartItem);
3083
- }
3084
- });
3085
- const useCart = () => {
3086
- const cart = (0,useStore/* useStore */.o)(cartStore);
3087
- const isValidating = (0,useStore/* useStore */.o)(validationStore);
3088
- return (0,external_react_.useMemo)(() => _objectSpread(_objectSpread({}, cart), {}, {
3089
- isValidating,
3090
- messages: cart.messages,
3091
- gifts: cart.items.filter(item => isGift(item)),
3092
- items: cart.items.filter(item => !isGift(item)),
3093
- totalUniqueItems: cart.items.length,
3094
- totalItems: cart.items.reduce((acc, curr) => acc + (isGift(curr) ? 0 : curr.quantity), 0),
3095
- total: cart.items.reduce((acc, curr) => acc + curr.price * curr.quantity, 0),
3096
- subTotal: cart.items.reduce((acc, curr) => acc + curr.listPrice * curr.quantity, 0)
3097
- }), [cart, isValidating]);
3098
- };
3099
-
3100
- /***/ }),
3101
-
3102
- /***/ 180:
3103
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3104
-
3105
- "use strict";
3106
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3107
- /* harmony export */ "W": () => (/* binding */ request)
3108
- /* harmony export */ });
3109
- /* harmony import */ var _faststore_graphql_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35490);
3110
- /* harmony import */ var _faststore_graphql_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_faststore_graphql_utils__WEBPACK_IMPORTED_MODULE_0__);
3111
- 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; }
3112
-
3113
- 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; }
3114
-
3115
- 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; }
3116
-
3117
-
3118
- const request = async (operationName, variables, options) => {
3119
- const {
3120
- data,
3121
- errors
3122
- } = await (0,_faststore_graphql_utils__WEBPACK_IMPORTED_MODULE_0__.request)('/api/graphql', _objectSpread(_objectSpread({}, options), {}, {
3123
- variables,
3124
- operationName
3125
- }));
3126
-
3127
- if (errors?.length) {
3128
- throw errors[0];
3129
- }
3130
-
3131
- return data;
3132
- };
3133
-
3134
- /***/ }),
3135
-
3136
- /***/ 77732:
3137
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
3138
-
3139
- "use strict";
3140
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
3141
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3142
- /* harmony export */ "WN": () => (/* binding */ DEFAULT_OPTIONS),
3143
- /* harmony export */ "aM": () => (/* binding */ useQuery),
3144
- /* harmony export */ "km": () => (/* binding */ getKey)
3145
- /* harmony export */ });
3146
- /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15941);
3147
- /* harmony import */ var _request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(180);
3148
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_0__]);
3149
- swr__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
3150
- 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; }
3151
-
3152
- 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; }
3153
-
3154
- 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; }
3155
-
3156
-
3157
-
3158
- const getKey = (operationName, variables) => `${operationName}::${JSON.stringify(variables)}`;
3159
- const DEFAULT_OPTIONS = {
3160
- errorRetryCount: 3,
3161
- refreshWhenHidden: false,
3162
- refreshWhenOffline: false,
3163
- revalidateOnFocus: false,
3164
- revalidateOnReconnect: false,
3165
- shouldRetryOnError: true
3166
- };
3167
- const useQuery = (operationName, variables, options) => (0,swr__WEBPACK_IMPORTED_MODULE_0__["default"])(getKey(operationName, variables), _objectSpread(_objectSpread({
3168
- fetcher: () => {
3169
- return new Promise(resolve => {
3170
- setTimeout(async () => {
3171
- resolve(await (0,_request__WEBPACK_IMPORTED_MODULE_1__/* .request */ .W)(operationName, variables, options));
3172
- });
3173
- });
3174
- }
3175
- }, DEFAULT_OPTIONS), options));
3176
- __webpack_async_result__();
3177
- } catch(e) { __webpack_async_result__(e); } });
3178
-
3179
- /***/ }),
3180
-
3181
- /***/ 25882:
3182
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3183
-
3184
- "use strict";
3185
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3186
- /* harmony export */ "u": () => (/* binding */ formatSearchPath)
3187
- /* harmony export */ });
3188
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(72339);
3189
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12524);
3190
-
3191
- const formatSearchPath = ({
3192
- term,
3193
- sort
3194
- }) => {
3195
- const {
3196
- pathname,
3197
- search
3198
- } = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)((0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_1__/* .initialize */ .j)({
3199
- term,
3200
- sort,
3201
- base: '/s'
3202
- }));
3203
- return `${pathname}${search}`;
3204
- };
3205
-
3206
- /***/ }),
3207
-
3208
- /***/ 75098:
3209
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3210
-
3211
- "use strict";
3212
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3213
- /* harmony export */ "Z": () => (/* binding */ useSearchHistory)
3214
- /* harmony export */ });
3215
- /* unused harmony export searchHistoryStore */
3216
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38283);
3217
- /* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33818);
3218
-
3219
-
3220
- const searchHistoryStore = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_1__/* .createStore */ .M)([], `fs::searchHistory`);
3221
- const MAX_HISTORY_SIZE = 4;
3222
- function useSearchHistory(maxHistorySize = MAX_HISTORY_SIZE) {
3223
- const searchHistory = (0,_useStore__WEBPACK_IMPORTED_MODULE_0__/* .useStore */ .o)(searchHistoryStore);
3224
-
3225
- function addToSearchHistory(newHistory) {
3226
- const set = new Set();
3227
- const newHistoryArray = [newHistory, ...searchHistory].slice(0, maxHistorySize).filter(item => !set.has(item.term) && set.add(item.term), set);
3228
- searchHistoryStore.set(newHistoryArray);
3229
- }
3230
-
3231
- function clearSearchHistory() {
3232
- searchHistoryStore.set([]);
3233
- }
3234
-
3235
- return {
3236
- searchHistory,
3237
- addToSearchHistory,
3238
- clearSearchHistory
3239
- };
3240
- }
3241
-
3242
- /***/ }),
3243
-
3244
- /***/ 86344:
3245
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
3246
-
3247
- "use strict";
3248
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
3249
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3250
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
3251
- /* harmony export */ });
3252
- /* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(77732);
3253
- /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97295);
3254
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__]);
3255
- src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
3256
-
3257
-
3258
- const MAX_SUGGESTIONS = 5;
3259
- const query = "SearchSuggestionsQuery";
3260
-
3261
- function useSuggestions(term, limit = MAX_SUGGESTIONS) {
3262
- const {
3263
- channel,
3264
- locale
3265
- } = (0,_session__WEBPACK_IMPORTED_MODULE_1__/* .useSession */ .kP)();
3266
- const {
3267
- data,
3268
- error
3269
- } = (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__/* .useQuery */ .aM)(query, {
3270
- term,
3271
- selectedFacets: [{
3272
- key: 'channel',
3273
- value: channel ?? ''
3274
- }, {
3275
- key: 'locale',
3276
- value: locale
3277
- }]
3278
- });
3279
- return {
3280
- terms: (data?.search.suggestions.terms ?? []).slice(0, limit),
3281
- products: (data?.search.suggestions.products ?? []).slice(0, limit),
3282
- isLoading: !error && !data
3283
- };
3284
- }
3285
-
3286
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useSuggestions);
3287
- __webpack_async_result__();
3288
- } catch(e) { __webpack_async_result__(e); } });
3289
-
3290
- /***/ }),
3291
-
3292
- /***/ 97295:
3293
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3294
-
3295
- "use strict";
3296
-
3297
- // EXPORTS
3298
- __webpack_require__.d(__webpack_exports__, {
3299
- "Qf": () => (/* binding */ sessionStore),
3300
- "kP": () => (/* binding */ useSession),
3301
- "je": () => (/* binding */ validateSession)
3302
- });
3303
-
3304
- // UNUSED EXPORTS: mutation
3305
-
3306
- // EXTERNAL MODULE: ../sdk/dist/store/composed.js + 4 modules
3307
- var composed = __webpack_require__(38283);
3308
- ;// CONCATENATED MODULE: ../sdk/dist/session/index.js
3309
-
3310
- const createSessionStore = (defaultSession, onValidate, namespace = 'fs::session') => (0,composed/* createStore */.M)(defaultSession, namespace, onValidate);
3311
- //# sourceMappingURL=index.js.map
3312
- // EXTERNAL MODULE: external "react"
3313
- var external_react_ = __webpack_require__(16689);
3314
- // EXTERNAL MODULE: ./faststore.config.js
3315
- var faststore_config = __webpack_require__(97183);
3316
- var faststore_config_default = /*#__PURE__*/__webpack_require__.n(faststore_config);
3317
- // EXTERNAL MODULE: ./src/sdk/cart/index.ts + 1 modules
3318
- var cart = __webpack_require__(46073);
3319
- // EXTERNAL MODULE: ./src/sdk/graphql/request.ts
3320
- var request = __webpack_require__(180);
3321
- // EXTERNAL MODULE: ./src/sdk/useStore.ts
3322
- var useStore = __webpack_require__(33818);
3323
- ;// CONCATENATED MODULE: ./src/sdk/session/index.ts
3324
- 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; }
3325
-
3326
- 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; }
3327
-
3328
- 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; }
3329
-
3330
-
3331
-
3332
-
3333
-
3334
-
3335
-
3336
- const mutation = "ValidateSession";
3337
- const validateSession = async session => {
3338
- const data = await (0,request/* request */.W)(mutation, {
3339
- session,
3340
- search: window.location.search
3341
- });
3342
- return data.validateSession;
3343
- };
3344
- const [validationStore, onValidate] = (0,useStore/* createValidationStore */.d)(validateSession);
3345
- const defaultStore = createSessionStore((faststore_config_default()).session, onValidate);
3346
- const sessionStore = _objectSpread(_objectSpread({}, defaultStore), {}, {
3347
- set: val => {
3348
- defaultStore.set(val); // Trigger cart revalidation when session changes
3349
-
3350
- cart/* cartStore.set */.i8.set(cart/* cartStore.read */.i8.read());
3351
- }
3352
- });
3353
- const useSession = () => {
3354
- const session = (0,useStore/* useStore */.o)(sessionStore);
3355
- const isValidating = (0,useStore/* useStore */.o)(validationStore);
3356
- return (0,external_react_.useMemo)(() => _objectSpread(_objectSpread({}, session), {}, {
3357
- isValidating
3358
- }), [isValidating, session]);
3359
- };
3360
-
3361
- /***/ }),
3362
-
3363
- /***/ 82541:
3364
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3365
-
3366
- "use strict";
3367
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3368
- /* harmony export */ "B": () => (/* binding */ mark)
3369
- /* harmony export */ });
3370
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
3371
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
3372
- 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; }
3373
-
3374
- 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; }
3375
-
3376
- 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; }
3377
-
3378
-
3379
- const mark = Component => function marked(props) {
3380
- if (false) {}
3381
-
3382
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(Component, _objectSpread({}, props));
3383
- };
3384
-
3385
- /***/ }),
3386
-
3387
- /***/ 13669:
3388
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3389
-
3390
- "use strict";
3391
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3392
- /* harmony export */ "Z": () => (/* binding */ useOnClickOutside)
3393
- /* harmony export */ });
3394
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
3395
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3396
-
3397
- function useOnClickOutside(ref, handler) {
3398
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
3399
- const listener = event => {
3400
- if (!ref.current || ref.current.contains(event.target)) {
3401
- return;
3402
- }
3403
-
3404
- handler(event);
3405
- };
3406
-
3407
- document.addEventListener('mousedown', listener);
3408
- document.addEventListener('touchstart', listener);
3409
- return () => {
3410
- document.removeEventListener('mousedown', listener);
3411
- document.removeEventListener('touchstart', listener);
3412
- };
3413
- },
3414
- /**
3415
- * Add ref and handler to effect dependencies.
3416
- * It's worth noting that because passed in handler is a new
3417
- * function on every render that will cause this effect
3418
- * callback/cleanup to run every render. It's not a big deal
3419
- * but to optimize you can wrap handler in useCallback before
3420
- * passing it into this hook.
3421
- */
3422
- [ref, handler]);
3423
- }
3424
-
3425
- /***/ }),
3426
-
3427
- /***/ 33818:
3428
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3429
-
3430
- "use strict";
3431
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3432
- /* harmony export */ "d": () => (/* binding */ createValidationStore),
3433
- /* harmony export */ "o": () => (/* binding */ useStore)
3434
- /* harmony export */ });
3435
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73365);
3436
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
3437
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3438
-
3439
-
3440
- const useStore = store => (0,react__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStore)(store.subscribe, store.read, store.readInitial);
3441
- const createValidationStore = cb => {
3442
- const store = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_1__/* .createStore */ .M)(false);
3443
-
3444
- const onValidate = async val => {
3445
- try {
3446
- store.set(true);
3447
- return await cb(val);
3448
- } finally {
3449
- store.set(false);
3450
- }
3451
- };
3452
-
3453
- return [store, onValidate];
3454
- };
3455
-
3456
- /***/ }),
3457
-
3458
- /***/ 15764:
3459
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3460
-
3461
- "use strict";
3462
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3463
- /* harmony export */ "f": () => (/* binding */ getPage)
3464
- /* harmony export */ });
3465
- /* unused harmony export clientCMS */
3466
- /* harmony import */ var _vtex_client_cms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16676);
3467
- /* harmony import */ var _vtex_client_cms__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vtex_client_cms__WEBPACK_IMPORTED_MODULE_0__);
3468
- /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97183);
3469
- /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_faststore_config__WEBPACK_IMPORTED_MODULE_1__);
3470
-
3471
-
3472
- const clientCMS = new (_vtex_client_cms__WEBPACK_IMPORTED_MODULE_0___default())({
3473
- workspace: (_faststore_config__WEBPACK_IMPORTED_MODULE_1___default().api.workspace),
3474
- tenant: (_faststore_config__WEBPACK_IMPORTED_MODULE_1___default().api.storeId)
3475
- });
3476
-
3477
- const isLocator = x => typeof x.contentType === 'string' && (typeof x.releaseId === 'string' || typeof x.documentId === 'string');
3478
-
3479
- const getPage = async options => {
3480
- const result = await (isLocator(options) ? clientCMS.getCMSPage(options).then(page => ({
3481
- data: [page]
3482
- })) : clientCMS.getCMSPagesByContentType(options.contentType, options.filters));
3483
- const pages = result.data;
3484
-
3485
- if (!pages[0]) {
3486
- throw new Error(`Missing content on the CMS for content type ${options.contentType}. Add content before proceeding. Context: ${JSON.stringify(options, null, 2)}`);
3487
- }
3488
-
3489
- if (pages.length !== 1) {
3490
- throw new Error(`Multiple content defined on the CMS for content type ${options.contentType}. Remove duplicated content before proceeding. Context: ${JSON.stringify(options, null, 2)}`);
3491
- }
3492
-
3493
- return pages[0];
3494
- };
3495
-
3496
- /***/ }),
3497
-
3498
- /***/ 77651:
3499
- /***/ ((module) => {
3500
-
3501
- // Exports
3502
- module.exports = {
3503
- "section": "section_section__YiggP"
3504
- };
3505
-
3506
-
3507
- /***/ }),
3508
-
3509
- /***/ 91276:
3510
- /***/ ((module) => {
3511
-
3512
- // Exports
3513
- module.exports = {
3514
- "section": "section_section__Qi4Hq"
3515
- };
3516
-
3517
-
3518
- /***/ }),
3519
-
3520
- /***/ 75977:
3521
- /***/ ((module) => {
3522
-
3523
- // Exports
3524
- module.exports = {
3525
- "section": "section_section__Ox_hX"
3526
- };
3527
-
3528
-
3529
- /***/ }),
3530
-
3531
- /***/ 96837:
3532
- /***/ ((module) => {
3533
-
3534
- // Exports
3535
- module.exports = {
3536
- "section": "section_section__dPVmH"
3537
- };
3538
-
3539
-
3540
- /***/ }),
3541
-
3542
- /***/ 53472:
3543
- /***/ ((module) => {
3544
-
3545
- // Exports
3546
- module.exports = {
3547
- "section": "section_section__RNxUN"
3548
- };
3549
-
3550
-
3551
- /***/ }),
3552
-
3553
- /***/ 71072:
3554
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3555
-
3556
- "use strict";
3557
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3558
- /* harmony export */ "_": () => (/* binding */ sendAnalyticsEvent)
3559
- /* harmony export */ });
3560
- /* harmony import */ var _wrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(14950);
3561
-
3562
- const sendAnalyticsEvent = (event) => {
3563
- try {
3564
- window.postMessage((0,_wrap__WEBPACK_IMPORTED_MODULE_0__/* .wrap */ .re)(event), window.origin);
3565
- }
3566
- catch (e) {
3567
- // IE and Edge have a bug on postMessage inside promises.
3568
- // Ignoring for now, will try to find a workaround that
3569
- // makes postMessage work on those browsers.
3570
- // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14719328/
3571
- console.error(e);
3572
- }
3573
- };
3574
- //# sourceMappingURL=sendAnalyticsEvent.js.map
3575
-
3576
- /***/ }),
3577
-
3578
- /***/ 12524:
3579
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3580
-
3581
- "use strict";
3582
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3583
- /* harmony export */ "X": () => (/* binding */ useSearchState),
3584
- /* harmony export */ "j": () => (/* binding */ initialize)
3585
- /* harmony export */ });
3586
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
3587
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3588
- /* harmony import */ var _utils_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(72339);
3589
-
3590
-
3591
- const initialize = ({ sort = 'score_desc', selectedFacets = [], term = null, base = '/', page = 0, } = {}) => ({
3592
- sort,
3593
- selectedFacets,
3594
- term,
3595
- base: base.endsWith('/') ? base : `${base}/`,
3596
- page,
3597
- });
3598
- const equals = (s1, s2) => (0,_utils_format__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(s1).href === (0,_utils_format__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(s2).href;
3599
- const useSearchState = (initialState, onChange) => {
3600
- const state = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => initialize(initialState), [initialState]);
3601
- return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({
3602
- state,
3603
- setState: (newState) => !equals(newState, state) && onChange((0,_utils_format__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(newState)),
3604
- }), [onChange, state]);
3605
- };
3606
- //# sourceMappingURL=useSearchState.js.map
3607
-
3608
- /***/ }),
3609
-
3610
- /***/ 73365:
3611
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3612
-
3613
- "use strict";
3614
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3615
- /* harmony export */ "M": () => (/* binding */ createStore)
3616
- /* harmony export */ });
3617
- /**
3618
- * Creates a new Suspense ready Store
3619
- */
3620
- const createStore = (initialValue) => {
3621
- const subscribers = new Set();
3622
- const cancelations = new Set();
3623
- let value = initialValue;
3624
- const read = () => value;
3625
- const readInitial = () => initialValue;
3626
- const set = (val) => {
3627
- value = val;
3628
- // Cancel previous, dangling operations
3629
- cancelations.forEach((cancel) => cancel());
3630
- cancelations.clear();
3631
- // Broadcast subscribers
3632
- subscribers.forEach((sub) => {
3633
- const cancel = sub(val);
3634
- if (typeof cancel === "function") {
3635
- cancelations.add(cancel);
3636
- }
3637
- });
3638
- };
3639
- const subscribe = (sub) => {
3640
- subscribers.add(sub);
3641
- return () => {
3642
- subscribers.delete(sub);
3643
- };
3644
- };
3645
- return {
3646
- set,
3647
- read,
3648
- readInitial,
3649
- subscribe,
3650
- };
3651
- };
3652
- //# sourceMappingURL=base.js.map
3653
-
3654
- /***/ }),
3655
-
3656
- /***/ 38283:
3657
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3658
-
3659
- "use strict";
3660
-
3661
- // EXPORTS
3662
- __webpack_require__.d(__webpack_exports__, {
3663
- "M": () => (/* binding */ createStore)
3664
- });
3665
-
3666
- // EXTERNAL MODULE: external "idb-keyval"
3667
- var external_idb_keyval_ = __webpack_require__(83430);
3668
- ;// CONCATENATED MODULE: ../sdk/dist/store/persisted.js
3669
- /**
3670
- * Safe IDB storage interface. These try..catch are useful because
3671
- * some browsers may block access to these APIs due to security policies
3672
- *
3673
- * Also, the stored value is lazy-loaded to avoid hydration mismatch
3674
- * between server/browser. When state is 'hydrated', the value in the heap
3675
- * is the same as the value in IDB
3676
- */
3677
-
3678
- const getIDB = async (key) => {
3679
- try {
3680
- return await (0,external_idb_keyval_.get)(key);
3681
- }
3682
- catch (err) {
3683
- return;
3684
- }
3685
- };
3686
- const setIDB = async (key, value) => {
3687
- try {
3688
- await (0,external_idb_keyval_.set)(key, value);
3689
- }
3690
- catch (err) {
3691
- /** noop */
3692
- }
3693
- };
3694
- const persisted = (key) => (store) => {
3695
- const handler = async () => {
3696
- const payload = await getIDB(key);
3697
- if (typeof document !== 'undefined') {
3698
- store.set(payload ?? store.readInitial());
3699
- }
3700
- };
3701
- handler();
3702
- globalThis.addEventListener?.("focus", () => handler());
3703
- globalThis.document?.addEventListener("visibilitychange", () => document.visibilityState === "visible" && handler());
3704
- store.subscribe((value) => {
3705
- setIDB(key, value);
3706
- });
3707
- return store;
3708
- };
3709
- //# sourceMappingURL=persisted.js.map
3710
- ;// CONCATENATED MODULE: ../sdk/dist/store/optimistic.js
3711
- const trivial = async () => null;
3712
- const optimistic = (onValidate = trivial) => {
3713
- let queue = Promise.resolve();
3714
- return (store) => {
3715
- store.subscribe((value) => {
3716
- let cancel = false;
3717
- const handler = async () => {
3718
- if (cancel) {
3719
- return;
3720
- }
3721
- const validated = await onValidate(value);
3722
- if (!cancel && validated !== null) {
3723
- store.set(validated);
3724
- }
3725
- };
3726
- queue = queue.then(handler);
3727
- return () => {
3728
- cancel = true;
3729
- };
3730
- });
3731
- return store;
3732
- };
3733
- };
3734
- //# sourceMappingURL=optimistic.js.map
3735
- ;// CONCATENATED MODULE: ../sdk/dist/store/singleton.js
3736
- /**
3737
- * Some stores, like cart/session states require to be singletons
3738
- * for their correct behavior. This creator helps on this
3739
- */
3740
- globalThis.faststore_sdk_stores = globalThis.faststore_sdk_stores ?? new Map();
3741
- const singleton = (key) => (store) => {
3742
- const stores = globalThis.faststore_sdk_stores;
3743
- if (!stores.has(key)) {
3744
- stores.set(key, store);
3745
- }
3746
- return stores.get(key);
3747
- };
3748
- //# sourceMappingURL=singleton.js.map
3749
- ;// CONCATENATED MODULE: ../sdk/dist/utils/compose.js
3750
- const compose = (pipeline, value) => pipeline.reduce((acc, curr) => curr(acc), value);
3751
- //# sourceMappingURL=compose.js.map
3752
- // EXTERNAL MODULE: ../sdk/dist/store/base.js
3753
- var base = __webpack_require__(73365);
3754
- ;// CONCATENATED MODULE: ../sdk/dist/store/composed.js
3755
-
3756
-
3757
-
3758
-
3759
-
3760
- const identity = (x) => x;
3761
- const createStore = (initialValue, namespace, onValidate) => {
3762
- return compose([
3763
- namespace ? singleton(namespace) : identity,
3764
- namespace ? persisted(namespace) : identity,
3765
- onValidate ? optimistic(onValidate) : identity,
3766
- ], (0,base/* createStore */.M)(initialValue));
3767
- };
3768
- //# sourceMappingURL=composed.js.map
3769
-
3770
- /***/ }),
3771
-
3772
- /***/ 12254:
3773
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3774
-
3775
- "use strict";
3776
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3777
- /* harmony export */ "q": () => (/* binding */ SDKError)
3778
- /* harmony export */ });
3779
- class SDKError extends Error {
3780
- constructor(message) {
3781
- super(`[sdk]: ${message}`);
3782
- }
3783
- }
3784
- //# sourceMappingURL=error.js.map
3785
-
3786
- /***/ }),
3787
-
3788
- /***/ 72339:
3789
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3790
-
3791
- "use strict";
3792
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3793
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
3794
- /* harmony export */ });
3795
- const format = (params) => {
3796
- const url = new URL(params.base, 'http://localhost');
3797
- const { page, selectedFacets, sort, term } = params;
3798
- if (term !== null) {
3799
- url.searchParams.set('q', term);
3800
- }
3801
- const facets = new Set();
3802
- for (const facet of selectedFacets) {
3803
- url.searchParams.append(facet.key, facet.value);
3804
- facets.add(facet.key);
3805
- }
3806
- if (selectedFacets.length > 0) {
3807
- url.searchParams.set('facets', Array.from(facets).join(','));
3808
- }
3809
- url.searchParams.set('sort', sort);
3810
- url.searchParams.set('page', page.toString());
3811
- return url;
3812
- };
3813
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (format);
3814
- //# sourceMappingURL=format.js.map
3815
-
3816
- /***/ })
3817
-
3818
- };
3819
- ;