@faststore/core 3.0.21 → 3.0.22

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 (265) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +89 -90
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/eslint/.cache_ybd91x +1 -0
  5. package/.next/cache/webpack/client-development/0.pack.gz +0 -0
  6. package/.next/cache/webpack/client-development/1.pack.gz +0 -0
  7. package/.next/cache/webpack/client-development/10.pack.gz +0 -0
  8. package/.next/cache/webpack/client-development/11.pack.gz +0 -0
  9. package/.next/cache/webpack/client-development/2.pack.gz +0 -0
  10. package/.next/cache/webpack/client-development/3.pack.gz +0 -0
  11. package/.next/cache/webpack/client-development/4.pack.gz +0 -0
  12. package/.next/cache/webpack/client-development/5.pack.gz +0 -0
  13. package/.next/cache/webpack/client-development/6.pack.gz +0 -0
  14. package/.next/cache/webpack/client-development/7.pack.gz +0 -0
  15. package/.next/cache/webpack/client-development/8.pack.gz +0 -0
  16. package/.next/cache/webpack/client-development/9.pack.gz +0 -0
  17. package/.next/cache/webpack/client-development/index.pack.gz +0 -0
  18. package/.next/cache/webpack/client-development/index.pack.gz.old +0 -0
  19. package/.next/cache/webpack/client-production/0.pack +0 -0
  20. package/.next/cache/webpack/client-production/1.pack +0 -0
  21. package/.next/cache/webpack/client-production/10.pack +0 -0
  22. package/.next/cache/webpack/client-production/2.pack +0 -0
  23. package/.next/cache/webpack/client-production/3.pack +0 -0
  24. package/.next/cache/webpack/client-production/4.pack +0 -0
  25. package/.next/cache/webpack/client-production/5.pack +0 -0
  26. package/.next/cache/webpack/client-production/6.pack +0 -0
  27. package/.next/cache/webpack/client-production/7.pack +0 -0
  28. package/.next/cache/webpack/client-production/8.pack +0 -0
  29. package/.next/cache/webpack/client-production/9.pack +0 -0
  30. package/.next/cache/webpack/client-production/index.pack +0 -0
  31. package/.next/cache/webpack/client-production/index.pack.old +0 -0
  32. package/.next/cache/webpack/server-development/0.pack.gz +0 -0
  33. package/.next/cache/webpack/server-development/1.pack.gz +0 -0
  34. package/.next/cache/webpack/server-development/10.pack.gz +0 -0
  35. package/.next/cache/webpack/server-development/11.pack.gz +0 -0
  36. package/.next/cache/webpack/server-development/12.pack.gz +0 -0
  37. package/.next/cache/webpack/server-development/2.pack.gz +0 -0
  38. package/.next/cache/webpack/server-development/3.pack.gz +0 -0
  39. package/.next/cache/webpack/server-development/4.pack.gz +0 -0
  40. package/.next/cache/webpack/server-development/5.pack.gz +0 -0
  41. package/.next/cache/webpack/server-development/6.pack.gz +0 -0
  42. package/.next/cache/webpack/server-development/7.pack.gz +0 -0
  43. package/.next/cache/webpack/server-development/8.pack.gz +0 -0
  44. package/.next/cache/webpack/server-development/9.pack.gz +0 -0
  45. package/.next/cache/webpack/server-development/index.pack.gz +0 -0
  46. package/.next/cache/webpack/server-development/index.pack.gz.old +0 -0
  47. package/.next/cache/webpack/server-production/0.pack +0 -0
  48. package/.next/cache/webpack/server-production/1.pack +0 -0
  49. package/.next/cache/webpack/server-production/2.pack +0 -0
  50. package/.next/cache/webpack/server-production/3.pack +0 -0
  51. package/.next/cache/webpack/server-production/4.pack +0 -0
  52. package/.next/cache/webpack/server-production/5.pack +0 -0
  53. package/.next/cache/webpack/server-production/6.pack +0 -0
  54. package/.next/cache/webpack/server-production/7.pack +0 -0
  55. package/.next/cache/webpack/server-production/index.pack +0 -0
  56. package/.next/cache/webpack/server-production/index.pack.old +0 -0
  57. package/.next/images-manifest.json +1 -1
  58. package/.next/next-minimal-server.js.nft.json +1 -0
  59. package/.next/next-server.js.nft.json +1 -1
  60. package/.next/prerender-manifest.js +1 -0
  61. package/.next/prerender-manifest.json +1 -1
  62. package/.next/react-loadable-manifest.json +18 -18
  63. package/.next/required-server-files.json +1 -1
  64. package/.next/routes-manifest.json +1 -1
  65. package/.next/server/chunks/119.js +1 -0
  66. package/.next/server/chunks/12.js +1 -0
  67. package/.next/server/chunks/187.js +1 -0
  68. package/.next/server/chunks/202.js +1 -0
  69. package/.next/server/chunks/24.js +1 -0
  70. package/.next/server/chunks/242.js +1 -0
  71. package/.next/server/chunks/247.js +1 -0
  72. package/.next/server/chunks/344.js +1 -0
  73. package/.next/server/chunks/404.js +1 -434
  74. package/.next/server/chunks/414.js +1 -0
  75. package/.next/server/chunks/484.js +1 -0
  76. package/.next/server/chunks/493.js +1 -0
  77. package/.next/server/chunks/498.js +1 -0
  78. package/.next/server/chunks/540.js +1 -0
  79. package/.next/server/chunks/57.js +1 -434
  80. package/.next/server/chunks/624.js +1 -0
  81. package/.next/server/chunks/640.js +6 -0
  82. package/.next/server/chunks/646.js +292 -0
  83. package/.next/server/chunks/659.js +9 -0
  84. package/.next/server/chunks/679.js +1 -0
  85. package/.next/server/chunks/693.js +1 -58
  86. package/.next/server/chunks/694.js +1 -0
  87. package/.next/server/chunks/779.js +1 -58
  88. package/.next/server/chunks/82.js +8 -0
  89. package/.next/server/chunks/857.js +1 -0
  90. package/.next/server/chunks/859.js +4 -957
  91. package/.next/server/chunks/881.js +1 -0
  92. package/.next/server/chunks/917.js +1 -0
  93. package/.next/server/chunks/936.js +1 -0
  94. package/.next/server/chunks/96.js +1 -0
  95. package/.next/server/chunks/997.js +1 -0
  96. package/.next/server/functions-config-manifest.json +1 -0
  97. package/.next/server/middleware-build-manifest.js +1 -1
  98. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  99. package/.next/server/next-font-manifest.js +1 -0
  100. package/.next/server/next-font-manifest.json +1 -0
  101. package/.next/server/pages/404.js +1 -391
  102. package/.next/server/pages/404.js.nft.json +1 -1
  103. package/.next/server/pages/500.js +1 -395
  104. package/.next/server/pages/500.js.nft.json +1 -1
  105. package/.next/server/pages/[...slug].js +1 -1076
  106. package/.next/server/pages/[...slug].js.nft.json +1 -1
  107. package/.next/server/pages/[slug]/p.js +1 -2265
  108. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  109. package/.next/server/pages/_app.js +1 -301
  110. package/.next/server/pages/_app.js.nft.json +1 -1
  111. package/.next/server/pages/_document.js +1 -363
  112. package/.next/server/pages/_document.js.nft.json +1 -1
  113. package/.next/server/pages/_error.js +1 -164
  114. package/.next/server/pages/_error.js.nft.json +1 -1
  115. package/.next/server/pages/account.js +1 -370
  116. package/.next/server/pages/account.js.nft.json +1 -1
  117. package/.next/server/pages/api/graphql.js +1 -2999
  118. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  119. package/.next/server/pages/api/health/live.js +1 -31
  120. package/.next/server/pages/api/health/live.js.nft.json +1 -1
  121. package/.next/server/pages/api/health/ready.js +1 -31
  122. package/.next/server/pages/api/health/ready.js.nft.json +1 -1
  123. package/.next/server/pages/api/preview.js +1 -137
  124. package/.next/server/pages/api/preview.js.nft.json +1 -1
  125. package/.next/server/pages/checkout.js +1 -370
  126. package/.next/server/pages/checkout.js.nft.json +1 -1
  127. package/.next/server/pages/en-US/404.html +2 -2
  128. package/.next/server/pages/en-US/404.json +1 -1
  129. package/.next/server/pages/en-US/500.html +2 -2
  130. package/.next/server/pages/en-US/500.json +1 -1
  131. package/.next/server/pages/en-US/account.html +2 -2
  132. package/.next/server/pages/en-US/account.json +1 -1
  133. package/.next/server/pages/en-US/checkout.html +2 -2
  134. package/.next/server/pages/en-US/checkout.json +1 -1
  135. package/.next/server/pages/en-US/login.html +2 -2
  136. package/.next/server/pages/en-US/login.json +1 -1
  137. package/.next/server/pages/en-US/s.html +2 -2
  138. package/.next/server/pages/en-US/s.json +1 -1
  139. package/.next/server/pages/en-US.html +5 -5
  140. package/.next/server/pages/en-US.json +1 -1
  141. package/.next/server/pages/index.js +1 -439
  142. package/.next/server/pages/index.js.nft.json +1 -1
  143. package/.next/server/pages/login.js +1 -382
  144. package/.next/server/pages/login.js.nft.json +1 -1
  145. package/.next/server/pages/s.js +1 -554
  146. package/.next/server/pages/s.js.nft.json +1 -1
  147. package/.next/server/pages-manifest.json +1 -18
  148. package/.next/server/webpack-api-runtime.js +1 -229
  149. package/.next/server/webpack-runtime.js +1 -229
  150. package/.next/static/KHfUTI2LyBArHphiJspvQ/_buildManifest.js +1 -0
  151. package/.next/static/chunks/104-407fa6e31258582b.js +1 -0
  152. package/.next/static/chunks/161-b39fe2f79ff7bc85.js +1 -0
  153. package/.next/static/chunks/202.c7d8a71173edecfb.js +1 -0
  154. package/.next/static/chunks/217.01bc0ad07edd6f1b.js +1 -0
  155. package/.next/static/chunks/247.6f1391104a867395.js +1 -0
  156. package/.next/static/chunks/484.b82b73b1d8c37e02.js +1 -0
  157. package/.next/static/chunks/540.6c62d2536d42a1e0.js +1 -0
  158. package/.next/static/chunks/575-853fb8b1ba4ce8c4.js +14 -0
  159. package/.next/static/chunks/624.d3de62b4562a33f3.js +1 -0
  160. package/.next/static/chunks/629-c74f247bd29420a5.js +1 -0
  161. package/.next/static/chunks/65.da22595d53beae76.js +1 -0
  162. package/.next/static/chunks/758.b53ee01b506973e0.js +1 -0
  163. package/.next/static/chunks/857.d2299cfe995af21d.js +1 -0
  164. package/.next/static/chunks/framework-8e279965036b6169.js +33 -0
  165. package/.next/static/chunks/main-6f63f6746cc029db.js +1 -0
  166. package/.next/static/chunks/pages/404-1334d11ab8467b3d.js +1 -0
  167. package/.next/static/chunks/pages/500-449c5bd51f98423f.js +1 -0
  168. package/.next/static/chunks/pages/[...slug]-bcaf61b01157d8cb.js +1 -0
  169. package/.next/static/chunks/pages/[slug]/p-5fb8fe2c80ec1608.js +1 -0
  170. package/.next/static/chunks/pages/_app-ad8623e78bc5b766.js +68 -0
  171. package/.next/static/chunks/pages/_error-fbf331a03642b495.js +1 -0
  172. package/.next/static/chunks/pages/account-dbc5c028225cd1ac.js +1 -0
  173. package/.next/static/chunks/pages/checkout-29ae2c37eaf172e1.js +1 -0
  174. package/.next/static/chunks/pages/index-cd109119d65df8e3.js +1 -0
  175. package/.next/static/chunks/pages/login-c4d2c856008df5ac.js +1 -0
  176. package/.next/static/chunks/pages/s-26e475975386c51a.js +1 -0
  177. package/.next/static/chunks/webpack-f3be21bc483182aa.js +1 -0
  178. package/.next/static/css/0d45c82d8887a269.css +1 -0
  179. package/.next/static/css/211c7542af66d8b4.css +1 -0
  180. package/.next/static/css/{df588bb98c0b0ca6.css → 2980acad3f8e1028.css} +1 -1
  181. package/.next/static/css/4c4d90eb8cb1d2b7.css +1 -0
  182. package/.next/static/css/821a5219786be653.css +1 -0
  183. package/.next/static/css/96e3fddf695d6aa9.css +1 -0
  184. package/.next/static/css/{6a7fdc5a21fbead5.css → b9d9ba1b04f3160d.css} +1 -1
  185. package/.next/static/css/cff9aafa16fccc9c.css +1 -0
  186. package/.next/static/css/{a2eefb25a4608343.css → d586715f4f707df4.css} +1 -1
  187. package/.next/static/css/{cb7d1fcea42fab9c.css → e32410b31c666cb2.css} +1 -1
  188. package/.next/trace +6 -80
  189. package/@generated/persisted-documents.json +13 -0
  190. package/@generated/schema.graphql +1067 -0
  191. package/package.json +3 -4
  192. package/.next/cache/eslint/.cache_abdhua +0 -1
  193. package/.next/cache/next-server.js.nft.json +0 -1
  194. package/.next/cache/webpack/client-development/0.pack +0 -0
  195. package/.next/cache/webpack/client-development/1.pack +0 -0
  196. package/.next/cache/webpack/client-development/2.pack +0 -0
  197. package/.next/cache/webpack/client-development/index.pack +0 -0
  198. package/.next/cache/webpack/client-development/index.pack.old +0 -0
  199. package/.next/cache/webpack/server-development/0.pack +0 -0
  200. package/.next/cache/webpack/server-development/1.pack +0 -0
  201. package/.next/cache/webpack/server-development/2.pack +0 -0
  202. package/.next/cache/webpack/server-development/3.pack +0 -0
  203. package/.next/cache/webpack/server-development/4.pack +0 -0
  204. package/.next/cache/webpack/server-development/index.pack +0 -0
  205. package/.next/cache/webpack/server-development/index.pack.old +0 -0
  206. package/.next/server/chunks/117.js +0 -430
  207. package/.next/server/chunks/177.js +0 -125
  208. package/.next/server/chunks/183.js +0 -122
  209. package/.next/server/chunks/184.js +0 -61
  210. package/.next/server/chunks/289.js +0 -240
  211. package/.next/server/chunks/312.js +0 -678
  212. package/.next/server/chunks/350.js +0 -2834
  213. package/.next/server/chunks/386.js +0 -200
  214. package/.next/server/chunks/390.js +0 -550
  215. package/.next/server/chunks/398.js +0 -611
  216. package/.next/server/chunks/53.js +0 -61
  217. package/.next/server/chunks/574.js +0 -145
  218. package/.next/server/chunks/576.js +0 -122
  219. package/.next/server/chunks/585.js +0 -640
  220. package/.next/server/chunks/676.js +0 -32
  221. package/.next/server/chunks/732.js +0 -1881
  222. package/.next/server/chunks/74.js +0 -4066
  223. package/.next/server/chunks/825.js +0 -4074
  224. package/.next/server/chunks/854.js +0 -72
  225. package/.next/server/chunks/863.js +0 -111
  226. package/.next/server/chunks/979.js +0 -1305
  227. package/.next/server/chunks/98.js +0 -163
  228. package/.next/server/chunks/988.js +0 -211
  229. package/.next/static/HI-kc1kjNIbFyFsZCeDEA/_buildManifest.js +0 -1
  230. package/.next/static/chunks/223-cb77217cce52d45c.js +0 -1
  231. package/.next/static/chunks/251.1c79f06f2a2814b1.js +0 -1
  232. package/.next/static/chunks/386.d01e0db26c523f0f.js +0 -1
  233. package/.next/static/chunks/400-d4daabcd57b2ea80.js +0 -1
  234. package/.next/static/chunks/469-7259b855711d4ad3.js +0 -1
  235. package/.next/static/chunks/574.70612be06fd1365f.js +0 -1
  236. package/.next/static/chunks/585.4c5d40fc6a72a611.js +0 -1
  237. package/.next/static/chunks/651.7142f31ce1e052b3.js +0 -1
  238. package/.next/static/chunks/741.52f7fb873418346f.js +0 -1
  239. package/.next/static/chunks/783-fbcb7a3216c40744.js +0 -1
  240. package/.next/static/chunks/800.ee4f8b9622001e8c.js +0 -1
  241. package/.next/static/chunks/98.40c7e17d9de4eb8f.js +0 -1
  242. package/.next/static/chunks/988.afda042dd9ba11d1.js +0 -1
  243. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +0 -1
  244. package/.next/static/chunks/main-e4e873ee741162eb.js +0 -1
  245. package/.next/static/chunks/pages/404-2240f0b22db2d370.js +0 -1
  246. package/.next/static/chunks/pages/500-c0580e3299329874.js +0 -1
  247. package/.next/static/chunks/pages/[...slug]-3eed3497c887fae5.js +0 -1
  248. package/.next/static/chunks/pages/[slug]/p-e1df08570f34a0d8.js +0 -1
  249. package/.next/static/chunks/pages/_app-30b9666307e4b3b1.js +0 -1
  250. package/.next/static/chunks/pages/_error-319451dea77827a6.js +0 -1
  251. package/.next/static/chunks/pages/account-b35bcbef719765f3.js +0 -1
  252. package/.next/static/chunks/pages/checkout-55bd56ade4408cbe.js +0 -1
  253. package/.next/static/chunks/pages/index-2506749e45c335bf.js +0 -1
  254. package/.next/static/chunks/pages/login-3f94bff1503b4fdc.js +0 -1
  255. package/.next/static/chunks/pages/s-2374cff2e39ed624.js +0 -1
  256. package/.next/static/chunks/webpack-af94306e71c4459d.js +0 -1
  257. package/.next/static/css/29868543c76bc6fd.css +0 -1
  258. package/.next/static/css/527e334fa69cf40a.css +0 -1
  259. package/.next/static/css/723835bce380750d.css +0 -1
  260. package/.next/static/css/d7bbfbd552f407e9.css +0 -1
  261. package/.next/static/css/dfbdb0f27fd64782.css +0 -1
  262. package/.next/static/css/e84fc497732ea596.css +0 -1
  263. package/.turbo/turbo-build.log +0 -65
  264. package/.turbo/turbo-dev.log +0 -45
  265. /package/.next/static/{HI-kc1kjNIbFyFsZCeDEA → KHfUTI2LyBArHphiJspvQ}/_ssgManifest.js +0 -0
@@ -1,4066 +0,0 @@
1
- exports.id = 74;
2
- exports.ids = [74];
3
- exports.modules = {
4
-
5
- /***/ 276:
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__(6689);
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
- /***/ 3339:
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__(6689);
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__(1667);
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
- /***/ 2614:
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__(6689);
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
- /***/ 2256:
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__(6689);
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
- /***/ 727:
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__(6689);
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
- /***/ 4564:
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__(6689);
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
- /***/ 1667:
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__(6689);
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({ testId = 'fs-loader', variant = 'dark', ...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
- /***/ 5450:
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__(6689);
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
- /***/ 3666:
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__(6689);
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
- /***/ 1037:
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__(6689);
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
- /***/ 1516:
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__(6689);
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
- /***/ 7734:
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__(6689);
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__(1516);
281
- /* harmony import */ var _AccordionItem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(783);
282
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2614);
283
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3339);
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
- /***/ 783:
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__(6689);
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
- /***/ 7583:
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__(6689);
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__(1516);
369
- /* harmony import */ var _AccordionItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(783);
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
- /***/ 8138:
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__(6689);
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__(727);
393
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7041);
394
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2614);
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-fs-alert-dismissible": dismissible, "data-fs-content": "alert", "data-testid": testId, ...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
- /***/ 7041:
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__(6689);
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__(3339);
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
- /***/ 3922:
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__(6689);
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
- /***/ 3543:
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__(6689);
476
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
477
- // EXTERNAL MODULE: external "react-dom"
478
- var external_react_dom_ = __webpack_require__(6405);
479
- ;// CONCATENATED MODULE: ../components/dist/esm/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/esm/hooks/UIProvider.js
487
- var UIProvider = __webpack_require__(6652);
488
- // EXTERNAL MODULE: ../components/dist/esm/hooks/useFadeEffect.js
489
- var useFadeEffect = __webpack_require__(3666);
490
- // EXTERNAL MODULE: external "tabbable"
491
- var external_tabbable_ = __webpack_require__(3823);
492
- ;// CONCATENATED MODULE: ../components/dist/esm/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/esm/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/esm/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
- /***/ 6396:
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__(6689);
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__(2256);
644
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7041);
645
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2614);
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
- /***/ 101:
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__(6689);
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
- /***/ 7683:
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__(6689);
699
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
700
- /* harmony import */ var _molecules_SearchProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(101);
701
-
702
-
703
- 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) {
704
- 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 },
705
- 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)));
706
- });
707
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchInput);
708
- //# sourceMappingURL=SearchInput.js.map
709
-
710
- /***/ }),
711
-
712
- /***/ 7215:
713
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
714
-
715
- "use strict";
716
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
717
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
718
- /* harmony export */ });
719
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
720
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
721
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3543);
722
-
723
-
724
- function SlideOver({ testId = 'fs-slide-over', isOpen, direction = 'leftSide', size = 'full', fade = 'out', children, overlayProps, onDismiss, ...otherProps }) {
725
- 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));
726
- }
727
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SlideOver);
728
- //# sourceMappingURL=SlideOver.js.map
729
-
730
- /***/ }),
731
-
732
- /***/ 5049:
733
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
734
-
735
- "use strict";
736
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
737
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
738
- /* harmony export */ });
739
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
740
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
741
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7041);
742
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2614);
743
-
744
-
745
- const SlideOverHeader = ({ children, closeBtnProps = {}, onClose, ...otherProps }) => {
746
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("header", { "data-fs-slide-over-header": true, ...otherProps },
747
- children,
748
- 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 })));
749
- };
750
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SlideOverHeader);
751
- //# sourceMappingURL=SlideOverHeader.js.map
752
-
753
- /***/ }),
754
-
755
- /***/ 8014:
756
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
757
-
758
- "use strict";
759
-
760
- // EXPORTS
761
- __webpack_require__.d(__webpack_exports__, {
762
- "Z": () => (/* binding */ CartToggle_CartToggle)
763
- });
764
-
765
- // EXTERNAL MODULE: ../components/dist/esm/molecules/IconButton/IconButton.js
766
- var IconButton = __webpack_require__(7041);
767
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
768
- var Icon = __webpack_require__(2614);
769
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Badge/Badge.js
770
- var Badge = __webpack_require__(276);
771
- // EXTERNAL MODULE: external "react"
772
- var external_react_ = __webpack_require__(6689);
773
- // EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
774
- var UIProvider = __webpack_require__(6652);
775
- // EXTERNAL MODULE: ./src/sdk/cart/index.ts + 1 modules
776
- var cart = __webpack_require__(6073);
777
- ;// CONCATENATED MODULE: ./src/sdk/cart/useCartToggleButton.ts
778
-
779
-
780
-
781
- const useCartToggleButton = () => {
782
- const {
783
- totalItems
784
- } = (0,cart/* useCart */.jD)();
785
- const {
786
- cart: displayCart,
787
- openCart,
788
- closeCart
789
- } = (0,UIProvider/* useUI */.l)();
790
- const onClick = (0,external_react_.useCallback)(() => {
791
- if (displayCart) {
792
- closeCart();
793
- } else {
794
- openCart();
795
- }
796
- }, [closeCart, displayCart, openCart]);
797
- return {
798
- onClick,
799
- 'data-testid': 'cart-toggle',
800
- 'data-items': totalItems
801
- };
802
- };
803
- // EXTERNAL MODULE: external "react/jsx-runtime"
804
- var jsx_runtime_ = __webpack_require__(997);
805
- ;// CONCATENATED MODULE: ./src/components/cart/CartToggle/CartToggle.tsx
806
- 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; }
807
-
808
- 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; }
809
-
810
- 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; }
811
-
812
-
813
-
814
-
815
-
816
- function CartToggle({
817
- alt,
818
- icon
819
- }) {
820
- const btnProps = useCartToggleButton();
821
- const totalItems = btnProps['data-items'];
822
- return /*#__PURE__*/jsx_runtime_.jsx(IconButton/* default */.Z, _objectSpread(_objectSpread({
823
- "data-fs-cart-toggle": true,
824
- "aria-label": alt,
825
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
826
- name: icon,
827
- width: 32,
828
- height: 32
829
- })
830
- }, btnProps), {}, {
831
- children: /*#__PURE__*/jsx_runtime_.jsx(Badge/* default */.Z, {
832
- counter: true,
833
- children: totalItems
834
- })
835
- }));
836
- }
837
-
838
- /* harmony default export */ const CartToggle_CartToggle = (CartToggle);
839
-
840
- /***/ }),
841
-
842
- /***/ 4074:
843
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
844
-
845
- "use strict";
846
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
847
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
848
- /* harmony export */ "Tc": () => (/* binding */ getGlobalSectionsData),
849
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__)
850
- /* harmony export */ });
851
- /* unused harmony export GLOBAL_SECTIONS_CONTENT_TYPE */
852
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
853
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
854
- /* harmony import */ var src_customizations_src_components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3276);
855
- /* harmony import */ var src_server_cms__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(9497);
856
- /* harmony import */ var src_components_common_Toast__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3746);
857
- /* harmony import */ var _RenderSections__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2224);
858
- /* harmony import */ var src_components_sections_Alert_OverriddenDefaultAlert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8529);
859
- /* harmony import */ var src_components_sections_Footer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11);
860
- /* harmony import */ var src_components_sections_Navbar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6696);
861
- /* harmony import */ var src_components_sections_RegionBar__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3830);
862
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(997);
863
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
864
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_sections_Navbar__WEBPACK_IMPORTED_MODULE_3__, _RenderSections__WEBPACK_IMPORTED_MODULE_7__]);
865
- ([src_components_sections_Navbar__WEBPACK_IMPORTED_MODULE_3__, _RenderSections__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
866
- const _excluded = ["children"];
867
-
868
- 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; }
869
-
870
- 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; }
871
-
872
- 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; }
873
-
874
- 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; }
875
-
876
- 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; }
877
-
878
-
879
-
880
-
881
-
882
-
883
-
884
-
885
-
886
-
887
-
888
-
889
- const RegionModal = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.lazy)(() => Promise.all(/* import() */[__webpack_require__.e(779), __webpack_require__.e(988)]).then(__webpack_require__.bind(__webpack_require__, 5988)));
890
- const CartSidebar = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.lazy)(() => Promise.all(/* import() */[__webpack_require__.e(53), __webpack_require__.e(693), __webpack_require__.e(585)]).then(__webpack_require__.bind(__webpack_require__, 6585)));
891
- const GLOBAL_SECTIONS_CONTENT_TYPE = 'globalSections';
892
-
893
- /* A list of components that can be used in the CMS. */
894
- const COMPONENTS = _objectSpread({
895
- Alert: src_components_sections_Alert_OverriddenDefaultAlert__WEBPACK_IMPORTED_MODULE_2__/* .OverriddenDefaultAlert */ .N,
896
- Navbar: src_components_sections_Navbar__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z,
897
- RegionBar: src_components_sections_RegionBar__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z,
898
- RegionModal,
899
- CartSidebar,
900
- Footer: src_components_sections_Footer__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z
901
- }, src_customizations_src_components__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z);
902
-
903
- function GlobalSections(_ref) {
904
- let {
905
- children
906
- } = _ref,
907
- otherProps = _objectWithoutProperties(_ref, _excluded);
908
-
909
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_RenderSections__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, _objectSpread(_objectSpread({
910
- components: COMPONENTS
911
- }, otherProps), {}, {
912
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_common_Toast__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx("main", {
913
- children: children
914
- })]
915
- }));
916
- }
917
-
918
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GlobalSections);
919
- const getGlobalSectionsData = async previewData => {
920
- const {
921
- sections
922
- } = await (0,src_server_cms__WEBPACK_IMPORTED_MODULE_9__/* .getPage */ .f)(_objectSpread(_objectSpread({}, previewData?.contentType === GLOBAL_SECTIONS_CONTENT_TYPE && previewData), {}, {
923
- contentType: GLOBAL_SECTIONS_CONTENT_TYPE
924
- }));
925
- return {
926
- sections
927
- };
928
- };
929
- __webpack_async_result__();
930
- } catch(e) { __webpack_async_result__(e); } });
931
-
932
- /***/ }),
933
-
934
- /***/ 2224:
935
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
936
-
937
- "use strict";
938
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
939
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
940
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
941
- /* harmony export */ });
942
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7564);
943
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689);
944
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
945
- /* harmony import */ var _SectionBoundary__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7429);
946
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(997);
947
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
948
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([chalk__WEBPACK_IMPORTED_MODULE_0__]);
949
- chalk__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
950
- const _excluded = ["children", "sections"];
951
-
952
- 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; }
953
-
954
- 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; }
955
-
956
- 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; }
957
-
958
- 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; }
959
-
960
- 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; }
961
-
962
-
963
-
964
-
965
-
966
-
967
-
968
-
969
- const useDividedSections = sections => {
970
- return (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => {
971
- const indexChildren = sections.findIndex(({
972
- name
973
- }) => name === 'Children');
974
- const hasChildren = indexChildren > -1;
975
- return _objectSpread({
976
- hasChildren,
977
- firstSections: hasChildren ? sections.slice(0, indexChildren) : sections
978
- }, hasChildren && {
979
- lastSections: sections.slice(indexChildren + 1)
980
- });
981
- }, [sections]);
982
- };
983
-
984
- const RenderSectionsBase = ({
985
- sections = [],
986
- components
987
- }) => {
988
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
989
- children: sections.map(({
990
- name,
991
- data
992
- }, index) => {
993
- const Component = components[name];
994
-
995
- if (!Component) {
996
- // TODO: add a documentation link to help to do this
997
- 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`);
998
- return null;
999
- }
1000
-
1001
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_SectionBoundary__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
1002
- name: name,
1003
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(Component, _objectSpread({}, data))
1004
- }, `cms-section-${index}`);
1005
- })
1006
- });
1007
- };
1008
-
1009
- function RenderSections(_ref) {
1010
- let {
1011
- children,
1012
- sections
1013
- } = _ref,
1014
- otherProps = _objectWithoutProperties(_ref, _excluded);
1015
-
1016
- const {
1017
- hasChildren,
1018
- firstSections,
1019
- lastSections
1020
- } = useDividedSections(sections);
1021
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
1022
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(RenderSectionsBase, _objectSpread({
1023
- sections: firstSections
1024
- }, otherProps)), children, hasChildren && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(RenderSectionsBase, _objectSpread({
1025
- sections: lastSections
1026
- }, otherProps))]
1027
- });
1028
- }
1029
-
1030
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.memo)(RenderSections));
1031
- __webpack_async_result__();
1032
- } catch(e) { __webpack_async_result__(e); } });
1033
-
1034
- /***/ }),
1035
-
1036
- /***/ 7429:
1037
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1038
-
1039
- "use strict";
1040
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1041
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1042
- /* harmony export */ });
1043
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
1044
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1045
- 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; }
1046
-
1047
-
1048
-
1049
- class SectionBoundary extends react__WEBPACK_IMPORTED_MODULE_0__.Component {
1050
- constructor(...args) {
1051
- super(...args);
1052
-
1053
- _defineProperty(this, "state", {
1054
- hasError: false,
1055
- error: null
1056
- });
1057
- }
1058
-
1059
- static getDerivedStateFromError(error) {
1060
- return {
1061
- hasError: true,
1062
- error
1063
- };
1064
- }
1065
-
1066
- componentDidCatch(error, errorInfo) {
1067
- 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
1068
- }
1069
-
1070
- render() {
1071
- if (this.state.hasError && true) {
1072
- return null;
1073
- }
1074
-
1075
- return this.props.children;
1076
- }
1077
-
1078
- }
1079
-
1080
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SectionBoundary);
1081
-
1082
- /***/ }),
1083
-
1084
- /***/ 3746:
1085
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1086
-
1087
- "use strict";
1088
-
1089
- // EXPORTS
1090
- __webpack_require__.d(__webpack_exports__, {
1091
- "Z": () => (/* binding */ common_Toast_Toast)
1092
- });
1093
-
1094
- // EXTERNAL MODULE: external "react"
1095
- var external_react_ = __webpack_require__(6689);
1096
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1097
- // EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
1098
- var UIProvider = __webpack_require__(6652);
1099
- ;// CONCATENATED MODULE: ../components/dist/esm/molecules/Toast/Toast.js
1100
-
1101
-
1102
- function Toast() {
1103
- const { toasts, popToast } = (0,UIProvider/* useUI */.l)();
1104
- const toast = toasts[toasts.length - 1];
1105
- const timeoutRef = (0,external_react_.useRef)();
1106
- const [visible, setVisible] = (0,external_react_.useState)(false);
1107
- (0,external_react_.useEffect)(() => {
1108
- if (!toast) {
1109
- return undefined;
1110
- }
1111
- const timeout = setTimeout(() => setVisible(true), 10);
1112
- return () => clearTimeout(timeout);
1113
- }, [toast]);
1114
- (0,external_react_.useEffect)(() => {
1115
- timeoutRef.current = setTimeout(() => setVisible(false), 6e3);
1116
- return () => timeoutRef.current && clearTimeout(timeoutRef.current);
1117
- }, [toast]);
1118
- if (toast === undefined) {
1119
- return null;
1120
- }
1121
- return (external_react_default().createElement("div", { role: "status", "data-fs-toast": true, "data-fs-toast-visible": visible, onTransitionEnd: () => !visible && popToast() },
1122
- toast.icon && (external_react_default().createElement("div", { "data-fs-toast-icon-container": true }, !!toast.icon && toast.icon)),
1123
- external_react_default().createElement("div", { "data-fs-toast-content": true },
1124
- toast.title && external_react_default().createElement("p", { "data-fs-toast-title": true }, toast.title),
1125
- external_react_default().createElement("p", { "data-fs-toast-message": true }, toast.message))));
1126
- }
1127
- /* harmony default export */ const Toast_Toast = (Toast);
1128
- //# sourceMappingURL=Toast.js.map
1129
- // EXTERNAL MODULE: ./src/components/sections/Section/Section.tsx
1130
- var Section = __webpack_require__(3271);
1131
- // EXTERNAL MODULE: ./src/sdk/cart/index.ts + 1 modules
1132
- var cart = __webpack_require__(6073);
1133
- // EXTERNAL MODULE: ./src/components/common/Toast/section.module.scss
1134
- var section_module = __webpack_require__(1276);
1135
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
1136
- // EXTERNAL MODULE: external "react/jsx-runtime"
1137
- var jsx_runtime_ = __webpack_require__(997);
1138
- ;// CONCATENATED MODULE: ./src/components/common/Toast/Toast.tsx
1139
-
1140
-
1141
-
1142
-
1143
-
1144
-
1145
-
1146
-
1147
- function Toast_Toast_Toast() {
1148
- const {
1149
- toasts,
1150
- pushToast
1151
- } = (0,UIProvider/* useUI */.l)();
1152
- const {
1153
- messages
1154
- } = (0,cart/* useCart */.jD)();
1155
- /**
1156
- * Send cart notifications to toast in case the cart
1157
- * returns warnings
1158
- */
1159
-
1160
- (0,external_react_.useEffect)(() => {
1161
- if (!messages) {
1162
- return;
1163
- }
1164
-
1165
- messages.forEach(message => pushToast({
1166
- message: message.text,
1167
- status: message.status
1168
- }));
1169
- }, [messages, pushToast]);
1170
- return /*#__PURE__*/jsx_runtime_.jsx(jsx_runtime_.Fragment, {
1171
- children: toasts.length > 0 && /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
1172
- className: `${(section_module_default()).section} section-toast`,
1173
- children: /*#__PURE__*/jsx_runtime_.jsx(Toast_Toast, {})
1174
- })
1175
- });
1176
- }
1177
-
1178
- /* harmony default export */ const common_Toast_Toast = (Toast_Toast_Toast);
1179
-
1180
- /***/ }),
1181
-
1182
- /***/ 2024:
1183
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
1184
-
1185
- "use strict";
1186
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1187
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1188
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1189
- /* harmony export */ });
1190
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
1191
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1192
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1037);
1193
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6652);
1194
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2614);
1195
- /* harmony import */ var src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(2541);
1196
- /* harmony import */ var src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9471);
1197
- /* harmony import */ var src_components_navigation_NavbarLinks__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8032);
1198
- /* harmony import */ var src_components_navigation_NavbarSlider__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(6264);
1199
- /* harmony import */ var src_components_cart_CartToggle__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8014);
1200
- /* harmony import */ var src_components_ui_Logo__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2837);
1201
- /* harmony import */ var src_components_ui_Link__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7058);
1202
- /* harmony import */ var src_components_ui_Button__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2016);
1203
- /* harmony import */ var src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4283);
1204
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(997);
1205
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
1206
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_8__]);
1207
- src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_8__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1208
- 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; }
1209
-
1210
- 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; }
1211
-
1212
- 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; }
1213
-
1214
-
1215
-
1216
-
1217
-
1218
-
1219
-
1220
-
1221
-
1222
-
1223
-
1224
-
1225
-
1226
-
1227
-
1228
-
1229
- function Navbar({
1230
- cart,
1231
- logo,
1232
- searchInput,
1233
- home,
1234
- links,
1235
- signIn,
1236
- region,
1237
- home: {
1238
- label: homeLabel
1239
- },
1240
- signIn: {
1241
- button: signInButton
1242
- },
1243
- menu: {
1244
- icon: {
1245
- icon: menuIcon,
1246
- alt: menuIconAlt = src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .IconButton.props["aria-label"] */ .hU.props["aria-label"]
1247
- }
1248
- }
1249
- }) {
1250
- const scrollDirection = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_3__/* .useScrollDirection */ .C)();
1251
- const {
1252
- openNavbar,
1253
- navbar: displayNavbar
1254
- } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_4__/* .useUI */ .l)();
1255
- const searchMobileRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
1256
- const {
1257
- 0: searchExpanded,
1258
- 1: setSearchExpanded
1259
- } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
1260
- const handlerExpandSearch = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
1261
- setSearchExpanded(true);
1262
- searchMobileRef.current?.inputRef?.focus();
1263
- }, []);
1264
- const handleCollapseSearch = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
1265
- setSearchExpanded(false);
1266
- searchMobileRef.current?.resetSearchInput();
1267
- }, []);
1268
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .Navbar.Component */ .wp.Component, _objectSpread(_objectSpread({
1269
- scrollDirection: scrollDirection
1270
- }, src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .Navbar.props */ .wp.props), {}, {
1271
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .NavbarHeader.Component */ .fs.Component, _objectSpread(_objectSpread({}, src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .NavbarHeader.props */ .fs.props), {}, {
1272
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .NavbarRow.Component */ .JA.Component, _objectSpread(_objectSpread({}, src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .NavbarRow.props */ .JA.props), {}, {
1273
- children: [!searchExpanded && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
1274
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .IconButton.Component */ .hU.Component, _objectSpread(_objectSpread({
1275
- "data-fs-navbar-button-menu": true,
1276
- onClick: openNavbar,
1277
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
1278
- name: menuIcon,
1279
- width: 32,
1280
- height: 32
1281
- })
1282
- }, src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .IconButton.props */ .hU.props), {}, {
1283
- "aria-label": menuIconAlt
1284
- })), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_ui_Link__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
1285
- "data-fs-navbar-logo": true,
1286
- href: logo.link ? logo.link.url : '/',
1287
- title: logo.link ? logo.link.title : homeLabel,
1288
- prefetch: false,
1289
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_ui_Logo__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
1290
- src: logo.src,
1291
- alt: logo.alt
1292
- })
1293
- })]
1294
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
1295
- sort: searchInput?.sort
1296
- }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .NavbarButtons.Component */ .Dh.Component, _objectSpread(_objectSpread({
1297
- searchExpanded: searchExpanded
1298
- }, src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .NavbarButtons.props */ .Dh.props), {}, {
1299
- children: [searchExpanded && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .IconButton.Component */ .hU.Component, _objectSpread(_objectSpread({
1300
- "data-fs-button-collapse": true,
1301
- "aria-label": "Collapse search bar",
1302
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
1303
- name: "CaretLeft",
1304
- width: 32,
1305
- height: 32
1306
- })
1307
- }, src_components_sections_Navbar_Overrides__WEBPACK_IMPORTED_MODULE_2__/* .IconButton.props */ .hU.props), {}, {
1308
- // Dynamic props, shouldn't be overridable
1309
- // This decision can be reviewed later if needed
1310
- onClick: handleCollapseSearch
1311
- })), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
1312
- placeholder: "",
1313
- ref: searchMobileRef,
1314
- testId: "store-input-mobile",
1315
- buttonTestId: "store-input-mobile-button",
1316
- onSearchClick: handlerExpandSearch,
1317
- sort: searchInput?.sort,
1318
- hidden: !searchExpanded,
1319
- "aria-hidden": !searchExpanded
1320
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_ui_Button__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, _objectSpread({}, signInButton)), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_cart_CartToggle__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, _objectSpread({}, cart))]
1321
- }))]
1322
- }))
1323
- })), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_navigation_NavbarLinks__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
1324
- links: links,
1325
- region: region,
1326
- className: "hidden-mobile"
1327
- }), displayNavbar && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(src_components_navigation_NavbarSlider__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
1328
- home: home,
1329
- logo: logo,
1330
- links: links,
1331
- signIn: signIn,
1332
- region: region
1333
- })]
1334
- }));
1335
- }
1336
-
1337
- Navbar.displayName = 'Navbar';
1338
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_13__/* .mark */ .B)(Navbar));
1339
- __webpack_async_result__();
1340
- } catch(e) { __webpack_async_result__(e); } });
1341
-
1342
- /***/ }),
1343
-
1344
- /***/ 8032:
1345
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1346
-
1347
- "use strict";
1348
-
1349
- // EXPORTS
1350
- __webpack_require__.d(__webpack_exports__, {
1351
- "Z": () => (/* binding */ NavbarLinks_NavbarLinks)
1352
- });
1353
-
1354
- // EXTERNAL MODULE: external "react"
1355
- var external_react_ = __webpack_require__(6689);
1356
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1357
- ;// CONCATENATED MODULE: ../components/dist/esm/molecules/NavbarLinks/NavbarLinksListItem.js
1358
-
1359
- const NavbarLinksListItem = (0,external_react_.forwardRef)(function NavbarLinksListItem({ children, testId = 'fs-navbar-links-list-item', ...otherProps }, ref) {
1360
- return (external_react_default().createElement("li", { "data-fs-navbar-links-list-item": true, ref: ref, "data-testid": testId, ...otherProps }, children));
1361
- });
1362
- /* harmony default export */ const NavbarLinks_NavbarLinksListItem = (NavbarLinksListItem);
1363
- //# sourceMappingURL=NavbarLinksListItem.js.map
1364
- // EXTERNAL MODULE: ./src/components/ui/Link/Link.tsx
1365
- var Link = __webpack_require__(7058);
1366
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Button/Button.js
1367
- var Button = __webpack_require__(3339);
1368
- // EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
1369
- var UIProvider = __webpack_require__(6652);
1370
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
1371
- var Icon = __webpack_require__(2614);
1372
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
1373
- var session = __webpack_require__(7295);
1374
- // EXTERNAL MODULE: external "react/jsx-runtime"
1375
- var jsx_runtime_ = __webpack_require__(997);
1376
- ;// CONCATENATED MODULE: ./src/components/region/RegionButton/RegionButton.tsx
1377
-
1378
-
1379
-
1380
-
1381
-
1382
- function RegionButton({
1383
- icon,
1384
- label
1385
- }) {
1386
- const {
1387
- openModal
1388
- } = (0,UIProvider/* useUI */.l)();
1389
- const {
1390
- postalCode
1391
- } = (0,session/* useSession */.kP)();
1392
- return /*#__PURE__*/jsx_runtime_.jsx(Button/* default */.Z, {
1393
- variant: "tertiary",
1394
- size: "small",
1395
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
1396
- name: icon,
1397
- width: 18,
1398
- height: 18,
1399
- weight: "bold"
1400
- }),
1401
- iconPosition: "left",
1402
- onClick: openModal,
1403
- children: postalCode ?? label
1404
- });
1405
- }
1406
-
1407
- /* harmony default export */ const RegionButton_RegionButton = (RegionButton);
1408
- // EXTERNAL MODULE: ./src/sdk/tests/mark.tsx
1409
- var mark = __webpack_require__(2541);
1410
- // EXTERNAL MODULE: ./src/components/sections/Navbar/Overrides.tsx + 11 modules
1411
- var Overrides = __webpack_require__(4283);
1412
- ;// CONCATENATED MODULE: ./src/components/navigation/NavbarLinks/NavbarLinks.tsx
1413
- const _excluded = ["links", "onClickLink", "region"];
1414
-
1415
- 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; }
1416
-
1417
- 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; }
1418
-
1419
- 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; }
1420
-
1421
- 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; }
1422
-
1423
- 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; }
1424
-
1425
-
1426
-
1427
-
1428
-
1429
-
1430
-
1431
-
1432
-
1433
- function NavbarLinks(_ref) {
1434
- let {
1435
- links,
1436
- onClickLink,
1437
- region: {
1438
- icon: regionIcon,
1439
- label: regionLabel,
1440
- shouldDisplayRegion
1441
- }
1442
- } = _ref,
1443
- otherProps = _objectWithoutProperties(_ref, _excluded);
1444
-
1445
- return /*#__PURE__*/jsx_runtime_.jsx(Overrides/* NavbarLinks.Component */.re.Component, _objectSpread(_objectSpread(_objectSpread({}, otherProps), Overrides/* NavbarLinks.props */.re.props), {}, {
1446
- children: /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
1447
- "data-fs-navbar-links-wrapper": true,
1448
- "data-fs-content": "navbar",
1449
- children: [shouldDisplayRegion && /*#__PURE__*/jsx_runtime_.jsx(RegionButton_RegionButton, {
1450
- icon: regionIcon,
1451
- label: regionLabel
1452
- }), /*#__PURE__*/jsx_runtime_.jsx(Overrides/* NavbarLinksList.Component */.iy.Component, _objectSpread(_objectSpread({}, Overrides/* NavbarLinksList.props */.iy.props), {}, {
1453
- children: links.map(({
1454
- url,
1455
- text
1456
- }) => /*#__PURE__*/jsx_runtime_.jsx(NavbarLinks_NavbarLinksListItem, {
1457
- children: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
1458
- variant: "display",
1459
- href: url,
1460
- prefetch: false,
1461
- onClick: onClickLink,
1462
- children: text
1463
- })
1464
- }, text))
1465
- }))]
1466
- })
1467
- }));
1468
- }
1469
-
1470
- /* harmony default export */ const NavbarLinks_NavbarLinks = ((0,mark/* mark */.B)(NavbarLinks));
1471
-
1472
- /***/ }),
1473
-
1474
- /***/ 6264:
1475
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1476
-
1477
- "use strict";
1478
-
1479
- // EXPORTS
1480
- __webpack_require__.d(__webpack_exports__, {
1481
- "Z": () => (/* binding */ NavbarSlider_NavbarSlider)
1482
- });
1483
-
1484
- // EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
1485
- var UIProvider = __webpack_require__(6652);
1486
- // EXTERNAL MODULE: ../components/dist/esm/hooks/useFadeEffect.js
1487
- var useFadeEffect = __webpack_require__(3666);
1488
- // EXTERNAL MODULE: external "react"
1489
- var external_react_ = __webpack_require__(6689);
1490
- // EXTERNAL MODULE: ../components/dist/esm/molecules/LinkButton/LinkButton.js
1491
- var LinkButton = __webpack_require__(3922);
1492
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
1493
- var Icon = __webpack_require__(2614);
1494
- // EXTERNAL MODULE: external "react/jsx-runtime"
1495
- var jsx_runtime_ = __webpack_require__(997);
1496
- ;// CONCATENATED MODULE: ./src/components/ui/Button/ButtonSignIn/ButtonSignInFallback/ButtonSignInFallback.tsx
1497
-
1498
-
1499
-
1500
- function ButtonSignInFallback() {
1501
- return /*#__PURE__*/jsx_runtime_.jsx(LinkButton/* default */.Z, {
1502
- "data-fs-button-signin-link": true,
1503
- href: "/login",
1504
- className: "text__title-mini",
1505
- variant: "tertiary",
1506
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
1507
- name: "User",
1508
- width: 18,
1509
- height: 18,
1510
- weight: "bold"
1511
- }),
1512
- iconPosition: "left",
1513
- children: /*#__PURE__*/jsx_runtime_.jsx("span", {
1514
- children: 'Sign In'
1515
- })
1516
- });
1517
- }
1518
-
1519
- /* harmony default export */ const ButtonSignInFallback_ButtonSignInFallback = (ButtonSignInFallback);
1520
- // EXTERNAL MODULE: ./src/components/ui/Button/ButtonSignIn/ButtonSignIn.tsx
1521
- var ButtonSignIn = __webpack_require__(2016);
1522
- // EXTERNAL MODULE: ./src/components/ui/Link/Link.tsx
1523
- var Link = __webpack_require__(7058);
1524
- // EXTERNAL MODULE: ./src/components/navigation/NavbarLinks/NavbarLinks.tsx + 2 modules
1525
- var NavbarLinks = __webpack_require__(8032);
1526
- // EXTERNAL MODULE: ./src/components/ui/Logo/Logo.tsx
1527
- var Logo = __webpack_require__(2837);
1528
- // EXTERNAL MODULE: ./src/sdk/tests/mark.tsx
1529
- var mark = __webpack_require__(2541);
1530
- // EXTERNAL MODULE: ./src/components/navigation/NavbarSlider/section.module.scss
1531
- var section_module = __webpack_require__(261);
1532
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
1533
- // EXTERNAL MODULE: ./src/components/sections/Navbar/Overrides.tsx + 11 modules
1534
- var Overrides = __webpack_require__(4283);
1535
- ;// CONCATENATED MODULE: ./src/components/navigation/NavbarSlider/NavbarSlider.tsx
1536
- 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; }
1537
-
1538
- 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; }
1539
-
1540
- 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; }
1541
-
1542
-
1543
-
1544
-
1545
-
1546
-
1547
-
1548
-
1549
-
1550
-
1551
-
1552
-
1553
-
1554
- function NavbarSlider({
1555
- logo,
1556
- links,
1557
- region,
1558
- home: {
1559
- label: homeLabel
1560
- },
1561
- signIn: {
1562
- button: signInButton
1563
- }
1564
- }) {
1565
- const {
1566
- closeNavbar
1567
- } = (0,UIProvider/* useUI */.l)();
1568
- const {
1569
- fade,
1570
- fadeOut
1571
- } = (0,useFadeEffect/* useFadeEffect */.b)();
1572
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(Overrides/* NavbarSlider.Component */.XF.Component, _objectSpread(_objectSpread({
1573
- fade: fade,
1574
- onDismiss: fadeOut,
1575
- overlayProps: {
1576
- className: `section ${(section_module_default()).section} section-navbar-slider`
1577
- },
1578
- onTransitionEnd: () => fade === 'out' && closeNavbar()
1579
- }, Overrides/* NavbarSlider.props */.XF.props), {}, {
1580
- children: [/*#__PURE__*/jsx_runtime_.jsx(Overrides/* NavbarSliderHeader.Component */.Bl.Component, _objectSpread(_objectSpread({
1581
- onClose: fadeOut
1582
- }, Overrides/* NavbarSlider.props */.XF.props), {}, {
1583
- children: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
1584
- "data-fs-navbar-slider-logo": true,
1585
- href: logo.link ? logo.link.url : '/',
1586
- title: logo.link ? logo.link.title : homeLabel,
1587
- onClick: fadeOut,
1588
- children: /*#__PURE__*/jsx_runtime_.jsx(Logo/* default */.Z, {
1589
- alt: logo.alt,
1590
- src: logo.src
1591
- })
1592
- })
1593
- })), /*#__PURE__*/jsx_runtime_.jsx(Overrides/* NavbarSliderContent.Component */.Ko.Component, _objectSpread(_objectSpread({}, Overrides/* NavbarSliderContent.props */.Ko.props), {}, {
1594
- children: /*#__PURE__*/jsx_runtime_.jsx(NavbarLinks/* default */.Z, {
1595
- onClickLink: fadeOut,
1596
- links: links,
1597
- region: region
1598
- })
1599
- })), /*#__PURE__*/jsx_runtime_.jsx(Overrides/* NavbarSliderFooter.Component */.$6.Component, _objectSpread(_objectSpread({}, Overrides/* NavbarSliderFooter.props */.$6.props), {}, {
1600
- children: /*#__PURE__*/jsx_runtime_.jsx(external_react_.Suspense, {
1601
- fallback: /*#__PURE__*/jsx_runtime_.jsx(ButtonSignInFallback_ButtonSignInFallback, {}),
1602
- children: /*#__PURE__*/jsx_runtime_.jsx(ButtonSignIn/* default */.Z, _objectSpread({}, signInButton))
1603
- })
1604
- }))]
1605
- }));
1606
- }
1607
-
1608
- /* harmony default export */ const NavbarSlider_NavbarSlider = ((0,mark/* mark */.B)(NavbarSlider));
1609
-
1610
- /***/ }),
1611
-
1612
- /***/ 9471:
1613
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
1614
-
1615
- "use strict";
1616
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1617
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1618
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1619
- /* harmony export */ });
1620
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1072);
1621
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7683);
1622
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6396);
1623
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1853);
1624
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_0__);
1625
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689);
1626
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1627
- /* harmony import */ var src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5882);
1628
- /* harmony import */ var src_sdk_search_useSearchHistory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5098);
1629
- /* harmony import */ var src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6344);
1630
- /* harmony import */ var src_sdk_ui_useOnClickOutside__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3669);
1631
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(997);
1632
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
1633
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_6__]);
1634
- src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_6__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1635
- const _excluded = ["onSearchClick", "buttonTestId", "containerStyle", "sort"];
1636
-
1637
- 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; }
1638
-
1639
- 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; }
1640
-
1641
- 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; }
1642
-
1643
- 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; }
1644
-
1645
- 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; }
1646
-
1647
-
1648
-
1649
-
1650
-
1651
-
1652
-
1653
-
1654
-
1655
-
1656
-
1657
- const SearchDropdown = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.lazy)(() => Promise.all(/* import() */[__webpack_require__.e(53), __webpack_require__.e(854), __webpack_require__.e(312)]).then(__webpack_require__.bind(__webpack_require__, 4312)));
1658
- const MAX_SUGGESTIONS = 5;
1659
-
1660
- const sendAnalytics = async term => {
1661
- (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_3__/* .sendAnalyticsEvent */ ._)({
1662
- name: 'search',
1663
- params: {
1664
- search_term: term
1665
- }
1666
- });
1667
- };
1668
-
1669
- const SearchInput = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function SearchInput(_ref, ref) {
1670
- let {
1671
- onSearchClick,
1672
- buttonTestId = 'fs-search-button',
1673
- containerStyle,
1674
- sort
1675
- } = _ref,
1676
- otherProps = _objectWithoutProperties(_ref, _excluded);
1677
-
1678
- const {
1679
- 0: searchQuery,
1680
- 1: setSearchQuery
1681
- } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('');
1682
- const searchQueryDeferred = (0,react__WEBPACK_IMPORTED_MODULE_1__.useDeferredValue)(searchQuery);
1683
- const {
1684
- 0: searchDropdownVisible,
1685
- 1: setSearchDropdownVisible
1686
- } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
1687
- const searchRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
1688
- const {
1689
- addToSearchHistory
1690
- } = (0,src_sdk_search_useSearchHistory__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)();
1691
- const router = (0,next_router__WEBPACK_IMPORTED_MODULE_0__.useRouter)();
1692
- (0,react__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle)(ref, () => ({
1693
- resetSearchInput: () => setSearchQuery('')
1694
- }));
1695
-
1696
- const onSearchSelection = (term, path) => {
1697
- addToSearchHistory({
1698
- term,
1699
- path
1700
- });
1701
- sendAnalytics(term);
1702
- setSearchDropdownVisible(false);
1703
- setSearchQuery(term);
1704
- };
1705
-
1706
- (0,src_sdk_ui_useOnClickOutside__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(searchRef, () => setSearchDropdownVisible(false));
1707
- const {
1708
- data,
1709
- error
1710
- } = (0,src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(searchQueryDeferred);
1711
- const terms = (data?.search.suggestions.terms ?? []).slice(0, MAX_SUGGESTIONS);
1712
- const products = (data?.search.suggestions.products ?? []).slice(0, MAX_SUGGESTIONS);
1713
- const isLoading = !error && !data;
1714
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
1715
- ref: searchRef,
1716
- visibleDropdown: searchDropdownVisible,
1717
- onSearchSelection: onSearchSelection,
1718
- term: searchQueryDeferred,
1719
- terms: terms,
1720
- products: products,
1721
- isLoading: isLoading,
1722
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, _objectSpread({
1723
- ref: ref,
1724
- buttonProps: {
1725
- onClick: onSearchClick,
1726
- testId: buttonTestId
1727
- },
1728
- placeholder: "Search everything at the store",
1729
- onChange: e => setSearchQuery(e.target.value),
1730
- onSubmit: term => {
1731
- const path = (0,src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_9__/* .formatSearchPath */ .u)({
1732
- term,
1733
- sort: sort
1734
- });
1735
- onSearchSelection(term, path);
1736
- router.push(path);
1737
- },
1738
- onFocus: () => setSearchDropdownVisible(true),
1739
- value: searchQuery
1740
- }, otherProps)), searchDropdownVisible && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(react__WEBPACK_IMPORTED_MODULE_1__.Suspense, {
1741
- fallback: null,
1742
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(SearchDropdown, {
1743
- sort: sort
1744
- })
1745
- })]
1746
- });
1747
- });
1748
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchInput);
1749
- __webpack_async_result__();
1750
- } catch(e) { __webpack_async_result__(e); } });
1751
-
1752
- /***/ }),
1753
-
1754
- /***/ 8529:
1755
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1756
-
1757
- "use strict";
1758
-
1759
- // EXPORTS
1760
- __webpack_require__.d(__webpack_exports__, {
1761
- "N": () => (/* binding */ OverriddenDefaultAlert)
1762
- });
1763
-
1764
- ;// CONCATENATED MODULE: ./src/customizations/src/components/overrides/Alert.tsx
1765
- // This is an example of how it can be used on the starter.
1766
- const SECTION = 'Alert';
1767
- const override = {
1768
- section: SECTION
1769
- };
1770
-
1771
- // EXTERNAL MODULE: ./src/sdk/overrides/OverrideContext.tsx
1772
- var OverrideContext = __webpack_require__(5522);
1773
- // EXTERNAL MODULE: external "react"
1774
- var external_react_ = __webpack_require__(6689);
1775
- // EXTERNAL MODULE: ./src/sdk/tests/mark.tsx
1776
- var mark = __webpack_require__(2541);
1777
- // EXTERNAL MODULE: ./src/components/sections/Section/Section.tsx
1778
- var Section = __webpack_require__(3271);
1779
- // EXTERNAL MODULE: ./src/components/common/Alert/section.module.scss
1780
- var section_module = __webpack_require__(7651);
1781
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
1782
- // EXTERNAL MODULE: external "react/jsx-runtime"
1783
- var jsx_runtime_ = __webpack_require__(997);
1784
- ;// CONCATENATED MODULE: ./src/components/common/Alert/Alert.tsx
1785
- const _excluded = ["content", "children"];
1786
-
1787
- 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; }
1788
-
1789
- 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; }
1790
-
1791
- 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; }
1792
-
1793
- 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; }
1794
-
1795
- 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; }
1796
-
1797
-
1798
-
1799
-
1800
-
1801
-
1802
-
1803
-
1804
- function Alert(_ref) {
1805
- let {
1806
- content,
1807
- children
1808
- } = _ref,
1809
- otherProps = _objectWithoutProperties(_ref, _excluded);
1810
-
1811
- const {
1812
- Alert: AlertWrapper
1813
- } = (0,OverrideContext/* useOverrideComponents */.r3)();
1814
- const {
1815
- 0: displayAlert,
1816
- 1: setDisplayAlert
1817
- } = (0,external_react_.useState)(true);
1818
- const onAlertClose = (0,external_react_.useCallback)(() => setDisplayAlert(false), [setDisplayAlert]);
1819
-
1820
- if (displayAlert === false) {
1821
- return null;
1822
- }
1823
-
1824
- return /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
1825
- className: `${(section_module_default()).section} section-alert`,
1826
- children: /*#__PURE__*/jsx_runtime_.jsx(AlertWrapper.Component, _objectSpread(_objectSpread({}, otherProps), {}, {
1827
- // Dynamic props, shouldn't be overridable
1828
- // This decision can be reviewed later if needed
1829
- onClose: onAlertClose,
1830
- children: content ?? children
1831
- }))
1832
- });
1833
- }
1834
-
1835
- Alert.displayName = 'Alert';
1836
- /* harmony default export */ const Alert_Alert = ((0,mark/* mark */.B)(Alert));
1837
- ;// CONCATENATED MODULE: ./src/components/sections/Alert/Alert.tsx
1838
- function Alert_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; }
1839
-
1840
- function Alert_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? Alert_ownKeys(Object(source), !0).forEach(function (key) { Alert_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : Alert_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1841
-
1842
- function Alert_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; }
1843
-
1844
-
1845
-
1846
-
1847
-
1848
- // TODO: Change actionPath and actionLabel with Link
1849
- function Alert_Alert_Alert({
1850
- icon,
1851
- content,
1852
- link: {
1853
- text,
1854
- to
1855
- },
1856
- dismissible
1857
- }) {
1858
- const {
1859
- Alert: AlertWrapper,
1860
- Icon
1861
- } = (0,OverrideContext/* useOverrideComponents */.r3)();
1862
- return /*#__PURE__*/jsx_runtime_.jsx(Alert_Alert, Alert_objectSpread(Alert_objectSpread({
1863
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon.Component, Alert_objectSpread(Alert_objectSpread({}, Icon.props), {}, {
1864
- name: icon ?? Icon.props.name
1865
- }))
1866
- }, AlertWrapper.props), {}, {
1867
- link: Alert_objectSpread(Alert_objectSpread({}, AlertWrapper.props.link ?? {}), {}, {
1868
- children: text ?? AlertWrapper.props.link?.children,
1869
- href: to ?? AlertWrapper.props.link?.href,
1870
- target: AlertWrapper.props.link?.target ?? '_self'
1871
- }),
1872
- dismissible: dismissible ?? AlertWrapper.props.dismissible,
1873
- children: content
1874
- }));
1875
- }
1876
-
1877
- /* harmony default export */ const sections_Alert_Alert = (Alert_Alert_Alert);
1878
- // EXTERNAL MODULE: ../components/dist/esm/molecules/Alert/Alert.js
1879
- var molecules_Alert_Alert = __webpack_require__(8138);
1880
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
1881
- var Icon = __webpack_require__(2614);
1882
- ;// CONCATENATED MODULE: ./src/components/sections/Alert/DefaultComponents.ts
1883
-
1884
- const AlertDefaultComponents = {
1885
- Alert: molecules_Alert_Alert/* default */.Z,
1886
- Icon: Icon/* default */.Z
1887
- };
1888
- ;// CONCATENATED MODULE: ./src/sdk/overrides/sections.tsx
1889
-
1890
-
1891
- const Sections = {
1892
- Alert: sections_Alert_Alert
1893
- };
1894
- const DefaultComponents = {
1895
- Alert: AlertDefaultComponents
1896
- };
1897
- // EXTERNAL MODULE: ./src/sdk/overrides/overrides.ts
1898
- var overrides = __webpack_require__(7506);
1899
- ;// CONCATENATED MODULE: ./src/sdk/overrides/getOverriddenSection.tsx
1900
- function getOverriddenSection_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; }
1901
-
1902
- function getOverriddenSection_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? getOverriddenSection_ownKeys(Object(source), !0).forEach(function (key) { getOverriddenSection_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : getOverriddenSection_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1903
-
1904
- function getOverriddenSection_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; }
1905
-
1906
-
1907
-
1908
-
1909
-
1910
-
1911
- /**
1912
- * This function adds OverrideContext to the tree. It is essential for the compatible sections
1913
- * to consume the components it provides.
1914
- */
1915
- function createOverriddenSection({
1916
- Section,
1917
- sectionOverrides,
1918
- className
1919
- }) {
1920
- const overrideContextValue = {
1921
- className,
1922
- components: sectionOverrides
1923
- };
1924
- return function OverriddenSection(props) {
1925
- return /*#__PURE__*/jsx_runtime_.jsx(OverrideContext/* OverrideProvider */.Ju, {
1926
- value: overrideContextValue,
1927
- children: /*#__PURE__*/jsx_runtime_.jsx(Section, getOverriddenSection_objectSpread({}, props))
1928
- });
1929
- };
1930
- }
1931
- /**
1932
- * Accepts override options and returns a React component for the overridden section.
1933
- * The overridden section is based on the options specified in the override definition.
1934
- *
1935
- * @param override An object containing override options.
1936
- * @returns The overridden section of choice
1937
- * @see https://www.faststore.dev/docs/building-sections/overriding-components-and-props
1938
- */
1939
-
1940
-
1941
- function getOverriddenSection(override) {
1942
- const defaultComponents = DefaultComponents[override.section];
1943
-
1944
- if (!defaultComponents) {
1945
- throw new Error(`Section ${override.section} does not exist. Please provide a valid section name to override.`);
1946
- }
1947
-
1948
- const sectionOverrides = (0,overrides/* getSectionOverrides */.f)(defaultComponents, override);
1949
- return createOverriddenSection({
1950
- Section: Sections[override.section],
1951
- sectionOverrides: sectionOverrides,
1952
- className: override.className
1953
- });
1954
- }
1955
- ;// CONCATENATED MODULE: ./src/components/sections/Alert/OverriddenDefaultAlert.ts
1956
-
1957
-
1958
-
1959
- /**
1960
- * This component exists to support overrides 1.0
1961
- *
1962
- * This allows users to override the default Alert section present in the Headless CMS
1963
- */
1964
- const OverriddenDefaultAlert = getOverriddenSection(override);
1965
-
1966
- /***/ }),
1967
-
1968
- /***/ 11:
1969
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1970
-
1971
- "use strict";
1972
-
1973
- // EXPORTS
1974
- __webpack_require__.d(__webpack_exports__, {
1975
- "Z": () => (/* binding */ sections_Footer_Footer)
1976
- });
1977
-
1978
- // EXTERNAL MODULE: external "react"
1979
- var external_react_ = __webpack_require__(6689);
1980
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1981
- // EXTERNAL MODULE: ../components/dist/esm/atoms/List/List.js
1982
- var List = __webpack_require__(4564);
1983
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
1984
- var Icon = __webpack_require__(2614);
1985
- // EXTERNAL MODULE: ../components/dist/esm/atoms/SROnly/SROnly.js
1986
- var SROnly = __webpack_require__(5450);
1987
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/PaymentMethods/PaymentMethods.js
1988
-
1989
-
1990
- const PaymentMethods = (0,external_react_.forwardRef)(function PaymentMethods({ testId = 'fs-payment-methods', title, 'aria-label': ariaLabel = 'Payment Methods', flagList, ...otherProps }, ref) {
1991
- return (external_react_default().createElement("div", { ref: ref, "data-fs-payment-methods": true, "data-testid": testId, ...otherProps },
1992
- !!title && external_react_default().createElement("div", { "data-fs-payment-methods-title": true }, title),
1993
- 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}` },
1994
- external_react_default().createElement(Icon/* default */.Z, { width: 32, height: 22.5, name: icon }),
1995
- text && external_react_default().createElement(SROnly/* default */.Z, { text: text })))))));
1996
- });
1997
- /* harmony default export */ const PaymentMethods_PaymentMethods = (PaymentMethods);
1998
- //# sourceMappingURL=PaymentMethods.js.map
1999
- // EXTERNAL MODULE: ./src/components/sections/Section/Section.tsx
2000
- var Section = __webpack_require__(3271);
2001
- // EXTERNAL MODULE: ./src/sdk/tests/mark.tsx
2002
- var mark = __webpack_require__(2541);
2003
- // EXTERNAL MODULE: external "react/jsx-runtime"
2004
- var jsx_runtime_ = __webpack_require__(997);
2005
- ;// CONCATENATED MODULE: ./src/components/common/Footer/Footer.tsx
2006
-
2007
-
2008
- function FooterInfo({
2009
- children
2010
- }) {
2011
- return /*#__PURE__*/jsx_runtime_.jsx("div", {
2012
- "data-fs-footer-info": true,
2013
- children: children
2014
- });
2015
- }
2016
- function FooterNavigation({
2017
- children
2018
- }) {
2019
- return /*#__PURE__*/jsx_runtime_.jsx("div", {
2020
- "data-fs-footer-navigation": true,
2021
- children: children
2022
- });
2023
- }
2024
- function Footer({
2025
- children
2026
- }) {
2027
- return /*#__PURE__*/jsx_runtime_.jsx("footer", {
2028
- "data-fs-footer": true,
2029
- "data-fs-footer-social": true,
2030
- "data-fs-footer-incentives": true,
2031
- "data-fs-footer-payment-methods": true,
2032
- children: /*#__PURE__*/jsx_runtime_.jsx("div", {
2033
- "data-fs-content": "footer",
2034
- children: children
2035
- })
2036
- });
2037
- }
2038
- Footer.displayName = 'Footer';
2039
- /* harmony default export */ const Footer_Footer = ((0,mark/* mark */.B)(Footer));
2040
- // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/Accordion.js
2041
- var Accordion = __webpack_require__(1516);
2042
- // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/AccordionItem.js
2043
- var AccordionItem = __webpack_require__(783);
2044
- // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/AccordionButton.js
2045
- var AccordionButton = __webpack_require__(7734);
2046
- // EXTERNAL MODULE: ../components/dist/esm/molecules/Accordion/AccordionPanel.js
2047
- var AccordionPanel = __webpack_require__(7583);
2048
- // EXTERNAL MODULE: ./src/components/ui/Link/Link.tsx
2049
- var Link = __webpack_require__(7058);
2050
- ;// CONCATENATED MODULE: ./src/components/common/Footer/FooterLinks.tsx
2051
-
2052
-
2053
-
2054
-
2055
-
2056
-
2057
- function Links({
2058
- items
2059
- }) {
2060
- return /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
2061
- children: items.map(item => /*#__PURE__*/jsx_runtime_.jsx("li", {
2062
- children: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
2063
- variant: "display",
2064
- size: "small",
2065
- href: item.url,
2066
- children: item.text
2067
- })
2068
- }, item.text))
2069
- });
2070
- }
2071
-
2072
- function FooterLinks({
2073
- links
2074
- }) {
2075
- const {
2076
- 0: indicesExpanded,
2077
- 1: setIndicesExpanded
2078
- } = (0,external_react_.useState)(new Set([]));
2079
-
2080
- const onChange = index => {
2081
- if (indicesExpanded.has(index)) {
2082
- indicesExpanded.delete(index);
2083
- setIndicesExpanded(new Set(indicesExpanded));
2084
- } else {
2085
- setIndicesExpanded(new Set(indicesExpanded.add(index)));
2086
- }
2087
- };
2088
-
2089
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)("section", {
2090
- "data-fs-footer": true,
2091
- "data-fs-footer-links": true,
2092
- children: [/*#__PURE__*/jsx_runtime_.jsx("div", {
2093
- className: "display-mobile",
2094
- children: /*#__PURE__*/jsx_runtime_.jsx(Accordion/* default */.Z, {
2095
- indices: indicesExpanded,
2096
- onChange: onChange,
2097
- children: links.map(({
2098
- sectionTitle,
2099
- items
2100
- }) => /*#__PURE__*/(0,jsx_runtime_.jsxs)(AccordionItem/* default */.Z, {
2101
- children: [/*#__PURE__*/jsx_runtime_.jsx(AccordionButton/* default */.Z, {
2102
- children: sectionTitle
2103
- }), /*#__PURE__*/jsx_runtime_.jsx(AccordionPanel/* default */.Z, {
2104
- children: /*#__PURE__*/jsx_runtime_.jsx(Links, {
2105
- items: items
2106
- })
2107
- })]
2108
- }, sectionTitle))
2109
- })
2110
- }), /*#__PURE__*/jsx_runtime_.jsx("div", {
2111
- className: "hidden-mobile",
2112
- children: /*#__PURE__*/jsx_runtime_.jsx("nav", {
2113
- "data-fs-footer-links-columns": true,
2114
- children: links.map(({
2115
- sectionTitle,
2116
- items
2117
- }) => /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
2118
- children: [/*#__PURE__*/jsx_runtime_.jsx("p", {
2119
- "data-fs-footer-links-title": true,
2120
- children: sectionTitle
2121
- }), /*#__PURE__*/jsx_runtime_.jsx(Links, {
2122
- items: items
2123
- })]
2124
- }, sectionTitle))
2125
- })
2126
- })]
2127
- });
2128
- }
2129
-
2130
- /* harmony default export */ const Footer_FooterLinks = (FooterLinks);
2131
- ;// CONCATENATED MODULE: ./src/components/common/Footer/FooterSocial.tsx
2132
-
2133
-
2134
-
2135
-
2136
-
2137
- function FooterSocial({
2138
- title,
2139
- links
2140
- }) {
2141
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)("section", {
2142
- "data-fs-footer-social": true,
2143
- children: [/*#__PURE__*/jsx_runtime_.jsx("p", {
2144
- "data-fs-footer-social-title": true,
2145
- children: title
2146
- }), /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
2147
- children: links.map(({
2148
- icon: {
2149
- icon
2150
- },
2151
- url
2152
- }) => /*#__PURE__*/jsx_runtime_.jsx("li", {
2153
- children: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
2154
- href: url,
2155
- title: icon,
2156
- size: "small",
2157
- target: "_blank",
2158
- variant: "display",
2159
- rel: "noopener noreferrer",
2160
- children: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
2161
- name: icon
2162
- })
2163
- })
2164
- }, icon))
2165
- })]
2166
- });
2167
- }
2168
-
2169
- /* harmony default export */ const Footer_FooterSocial = (FooterSocial);
2170
- // EXTERNAL MODULE: ./src/components/ui/Logo/Logo.tsx
2171
- var Logo = __webpack_require__(2837);
2172
- // EXTERNAL MODULE: ./src/components/ui/Incentives/Incentives.tsx + 1 modules
2173
- var Incentives = __webpack_require__(2411);
2174
- // EXTERNAL MODULE: ./src/components/sections/Footer/section.module.scss
2175
- var section_module = __webpack_require__(5977);
2176
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
2177
- ;// CONCATENATED MODULE: ./src/components/sections/Footer/Footer.tsx
2178
-
2179
-
2180
-
2181
-
2182
-
2183
-
2184
-
2185
-
2186
-
2187
-
2188
- const Footer_Footer_Footer = ({
2189
- incentives,
2190
- footerLinks,
2191
- footerSocial,
2192
- footerSocial: {
2193
- title: footerSocialTitle
2194
- },
2195
- logo: {
2196
- src: logoSrc,
2197
- alt: logoAlt,
2198
- link: logoLink
2199
- },
2200
- copyrightInfo,
2201
- acceptedPaymentMethods: {
2202
- showPaymentMethods,
2203
- title: acceptedPaymentMethodsTitle,
2204
- paymentMethods
2205
- }
2206
- }) => {
2207
- const homeLabel = 'Go to Home';
2208
- return /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
2209
- className: `section ${(section_module_default()).section} section-footer`,
2210
- children: /*#__PURE__*/(0,jsx_runtime_.jsxs)(Footer_Footer, {
2211
- children: [/*#__PURE__*/jsx_runtime_.jsx(Incentives/* default */.Z, {
2212
- incentives: incentives
2213
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)(FooterNavigation, {
2214
- children: [/*#__PURE__*/jsx_runtime_.jsx(Footer_FooterLinks, {
2215
- links: footerLinks
2216
- }), /*#__PURE__*/jsx_runtime_.jsx(Footer_FooterSocial, {
2217
- title: footerSocialTitle,
2218
- links: footerSocial.socialLinks
2219
- })]
2220
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)(FooterInfo, {
2221
- children: [/*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
2222
- href: logoLink ? logoLink.url : '/',
2223
- title: logoLink ? logoLink.title : homeLabel,
2224
- children: /*#__PURE__*/jsx_runtime_.jsx(Logo/* default */.Z, {
2225
- alt: logoAlt,
2226
- src: logoSrc
2227
- })
2228
- }), showPaymentMethods && /*#__PURE__*/jsx_runtime_.jsx(PaymentMethods_PaymentMethods, {
2229
- flagList: paymentMethods,
2230
- title: /*#__PURE__*/jsx_runtime_.jsx("p", {
2231
- children: acceptedPaymentMethodsTitle
2232
- })
2233
- }), /*#__PURE__*/jsx_runtime_.jsx("div", {
2234
- "data-fs-footer-copyright": true,
2235
- className: "text__legend",
2236
- children: /*#__PURE__*/jsx_runtime_.jsx("p", {
2237
- children: copyrightInfo
2238
- })
2239
- })]
2240
- })]
2241
- })
2242
- });
2243
- };
2244
-
2245
- /* harmony default export */ const sections_Footer_Footer = (Footer_Footer_Footer);
2246
-
2247
- /***/ }),
2248
-
2249
- /***/ 6696:
2250
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
2251
-
2252
- "use strict";
2253
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
2254
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2255
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
2256
- /* harmony export */ });
2257
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3271);
2258
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6837);
2259
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_2__);
2260
- /* harmony import */ var src_components_navigation_Navbar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2024);
2261
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
2262
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
2263
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_navigation_Navbar__WEBPACK_IMPORTED_MODULE_3__]);
2264
- src_components_navigation_Navbar__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
2265
-
2266
-
2267
-
2268
-
2269
-
2270
- function NavbarSection({
2271
- logo,
2272
- searchInput,
2273
- cartIcon,
2274
- signInButton,
2275
- navigation: {
2276
- menu,
2277
- home,
2278
- pageLinks,
2279
- regionalization: {
2280
- label: regionLabel,
2281
- icon: {
2282
- icon: regionIcon
2283
- },
2284
- enabled: shouldDisplayRegion
2285
- }
2286
- }
2287
- }) {
2288
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Section__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
2289
- className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_2___default().section)} section-navbar`,
2290
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_navigation_Navbar__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
2291
- home: home,
2292
- menu: menu,
2293
- logo: logo,
2294
- searchInput: searchInput,
2295
- cart: cartIcon,
2296
- links: pageLinks,
2297
- signIn: {
2298
- button: signInButton
2299
- },
2300
- region: {
2301
- icon: regionIcon,
2302
- label: regionLabel,
2303
- shouldDisplayRegion
2304
- }
2305
- })
2306
- });
2307
- }
2308
-
2309
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NavbarSection);
2310
- __webpack_async_result__();
2311
- } catch(e) { __webpack_async_result__(e); } });
2312
-
2313
- /***/ }),
2314
-
2315
- /***/ 4283:
2316
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2317
-
2318
- "use strict";
2319
-
2320
- // EXPORTS
2321
- __webpack_require__.d(__webpack_exports__, {
2322
- "hU": () => (/* binding */ Overrides_IconButton),
2323
- "wp": () => (/* binding */ Overrides_Navbar),
2324
- "Dh": () => (/* binding */ Overrides_NavbarButtons),
2325
- "fs": () => (/* binding */ Overrides_NavbarHeader),
2326
- "re": () => (/* binding */ Overrides_NavbarLinks),
2327
- "iy": () => (/* binding */ Overrides_NavbarLinksList),
2328
- "JA": () => (/* binding */ Overrides_NavbarRow),
2329
- "XF": () => (/* binding */ Overrides_NavbarSlider),
2330
- "Ko": () => (/* binding */ Overrides_NavbarSliderContent),
2331
- "$6": () => (/* binding */ Overrides_NavbarSliderFooter),
2332
- "Bl": () => (/* binding */ Overrides_NavbarSliderHeader)
2333
- });
2334
-
2335
- // EXTERNAL MODULE: external "react"
2336
- var external_react_ = __webpack_require__(6689);
2337
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
2338
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/Navbar/Navbar.js
2339
-
2340
- const Navbar = (0,external_react_.forwardRef)(function Navbar({ children, scrollDirection, testId = 'fs-navbar', ...otherProps }, ref) {
2341
- return (external_react_default().createElement("header", { "data-fs-navbar": true, role: "banner", "data-fs-navbar-scroll": scrollDirection, ref: ref, "data-testid": testId, ...otherProps }, children));
2342
- });
2343
- /* harmony default export */ const Navbar_Navbar = (Navbar);
2344
- //# sourceMappingURL=Navbar.js.map
2345
- ;// CONCATENATED MODULE: ../components/dist/esm/molecules/NavbarLinks/NavbarLinks.js
2346
-
2347
- const NavbarLinks = (0,external_react_.forwardRef)(function NavbarLinks({ children, testId = 'fs-navbar-links', ...otherProps }, ref) {
2348
- return (external_react_default().createElement("nav", { "data-fs-navbar-links": true, ref: ref, "data-testid": testId, ...otherProps }, children));
2349
- });
2350
- /* harmony default export */ const NavbarLinks_NavbarLinks = (NavbarLinks);
2351
- //# sourceMappingURL=NavbarLinks.js.map
2352
- // EXTERNAL MODULE: ../components/dist/esm/atoms/List/List.js
2353
- var List = __webpack_require__(4564);
2354
- ;// CONCATENATED MODULE: ../components/dist/esm/molecules/NavbarLinks/NavbarLinksList.js
2355
-
2356
-
2357
- const NavbarLinksList = (0,external_react_.forwardRef)(function NavbarLinksList({ children, testId = 'fs-navbar-links-list', ...otherProps }, ref) {
2358
- return (external_react_default().createElement(List/* default */.Z, { "data-fs-navbar-links-list": true, ref: ref, "data-testid": testId, ...otherProps }, children));
2359
- });
2360
- /* harmony default export */ const NavbarLinks_NavbarLinksList = (NavbarLinksList);
2361
- //# sourceMappingURL=NavbarLinksList.js.map
2362
- // EXTERNAL MODULE: ../components/dist/esm/organisms/SlideOver/SlideOver.js
2363
- var SlideOver = __webpack_require__(7215);
2364
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/NavbarSlider/NavbarSlider.js
2365
-
2366
-
2367
- function NavbarSlider({ children, size = 'full', isOpen = true, direction = 'leftSide', testId = 'fs-navbar-slider', ...otherProps }) {
2368
- return (external_react_default().createElement(SlideOver/* default */.Z, { "data-fs-navbar-slider": true, size: size, isOpen: isOpen, direction: direction, "data-testid": testId, ...otherProps }, children));
2369
- }
2370
- /* harmony default export */ const NavbarSlider_NavbarSlider = (NavbarSlider);
2371
- //# sourceMappingURL=NavbarSlider.js.map
2372
- // EXTERNAL MODULE: ../components/dist/esm/organisms/SlideOver/SlideOverHeader.js
2373
- var SlideOverHeader = __webpack_require__(5049);
2374
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/NavbarSlider/NavbarSliderHeader.js
2375
-
2376
-
2377
- function NavbarSliderHeader({ children, testId = 'fs-navbar-slider-header', ...otherProps }) {
2378
- return (external_react_default().createElement(SlideOverHeader/* default */.Z, { "data-fs-navbar-slider-header": true, "data-testid": testId, ...otherProps }, children));
2379
- }
2380
- /* harmony default export */ const NavbarSlider_NavbarSliderHeader = (NavbarSliderHeader);
2381
- //# sourceMappingURL=NavbarSliderHeader.js.map
2382
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/NavbarSlider/NavbarSliderContent.js
2383
-
2384
- const NavbarSliderContent = (0,external_react_.forwardRef)(function NavbarSliderContent({ children, testId = 'fs-navbar-slider-content', ...otherProps }, ref) {
2385
- return (external_react_default().createElement("div", { "data-fs-navbar-slider-content": true, ref: ref, "data-testid": testId, ...otherProps }, children));
2386
- });
2387
- /* harmony default export */ const NavbarSlider_NavbarSliderContent = (NavbarSliderContent);
2388
- //# sourceMappingURL=NavbarSliderContent.js.map
2389
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/NavbarSlider/NavbarSliderFooter.js
2390
-
2391
- const NavbarSliderFooter = (0,external_react_.forwardRef)(function NavbarSliderFooter({ children, testId = 'fs-navbar-slider-footer', ...otherProps }, ref) {
2392
- return (external_react_default().createElement("footer", { "data-fs-navbar-slider-footer": true, ref: ref, "data-testid": testId, ...otherProps }, children));
2393
- });
2394
- /* harmony default export */ const NavbarSlider_NavbarSliderFooter = (NavbarSliderFooter);
2395
- //# sourceMappingURL=NavbarSliderFooter.js.map
2396
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/Navbar/NavbarHeader.js
2397
-
2398
- const NavbarHeader = (0,external_react_.forwardRef)(function NavbarHeader({ children, testId = 'fs-navbar-header', ...otherProps }, ref) {
2399
- return (external_react_default().createElement("section", { "data-fs-navbar-header": true, ref: ref, "data-testid": testId, ...otherProps }, children));
2400
- });
2401
- /* harmony default export */ const Navbar_NavbarHeader = (NavbarHeader);
2402
- //# sourceMappingURL=NavbarHeader.js.map
2403
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/Navbar/NavbarRow.js
2404
-
2405
- const NavbarRow = (0,external_react_.forwardRef)(function NavbarRow({ children, testId = 'fs-navbar-row', ...otherProps }, ref) {
2406
- return (external_react_default().createElement("div", { "data-fs-navbar-row": true, "data-fs-content": "navbar", ref: ref, "data-testid": testId, ...otherProps }, children));
2407
- });
2408
- /* harmony default export */ const Navbar_NavbarRow = (NavbarRow);
2409
- //# sourceMappingURL=NavbarRow.js.map
2410
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/Navbar/NavbarButtons.js
2411
-
2412
- const NavbarButtons = (0,external_react_.forwardRef)(function NavbarButtons({ children, searchExpanded, testId = 'fs-navbar-buttons', ...otherProps }, ref) {
2413
- return (external_react_default().createElement("div", { "data-fs-navbar-buttons": true, ref: ref, "data-testid": testId, "data-fs-navbar-search-expanded": searchExpanded, ...otherProps }, children));
2414
- });
2415
- /* harmony default export */ const Navbar_NavbarButtons = (NavbarButtons);
2416
- //# sourceMappingURL=NavbarButtons.js.map
2417
- // EXTERNAL MODULE: ../components/dist/esm/molecules/IconButton/IconButton.js
2418
- var IconButton = __webpack_require__(7041);
2419
- // EXTERNAL MODULE: ./src/sdk/overrides/overrides.ts
2420
- var overrides = __webpack_require__(7506);
2421
- ;// CONCATENATED MODULE: ./src/customizations/src/components/overrides/Navbar.tsx
2422
- // This is an example of how it can be used on the starter.
2423
- const SECTION = 'Navbar';
2424
- const override = {
2425
- section: SECTION
2426
- };
2427
-
2428
- ;// CONCATENATED MODULE: ./src/components/sections/Navbar/Overrides.tsx
2429
-
2430
-
2431
-
2432
- const {
2433
- Navbar: Overrides_Navbar,
2434
- NavbarLinks: Overrides_NavbarLinks,
2435
- NavbarLinksList: Overrides_NavbarLinksList,
2436
- NavbarSlider: Overrides_NavbarSlider,
2437
- NavbarSliderHeader: Overrides_NavbarSliderHeader,
2438
- NavbarSliderContent: Overrides_NavbarSliderContent,
2439
- NavbarSliderFooter: Overrides_NavbarSliderFooter,
2440
- NavbarHeader: Overrides_NavbarHeader,
2441
- NavbarRow: Overrides_NavbarRow,
2442
- NavbarButtons: Overrides_NavbarButtons,
2443
- IconButton: Overrides_IconButton
2444
- } = (0,overrides/* getSectionOverrides */.f)({
2445
- Navbar: Navbar_Navbar,
2446
- NavbarLinks: NavbarLinks_NavbarLinks,
2447
- NavbarLinksList: NavbarLinks_NavbarLinksList,
2448
- NavbarSlider: NavbarSlider_NavbarSlider,
2449
- NavbarSliderHeader: NavbarSlider_NavbarSliderHeader,
2450
- NavbarSliderContent: NavbarSlider_NavbarSliderContent,
2451
- NavbarSliderFooter: NavbarSlider_NavbarSliderFooter,
2452
- NavbarHeader: Navbar_NavbarHeader,
2453
- NavbarRow: Navbar_NavbarRow,
2454
- NavbarButtons: Navbar_NavbarButtons,
2455
- IconButton: IconButton/* default */.Z
2456
- }, override);
2457
-
2458
-
2459
- /***/ }),
2460
-
2461
- /***/ 3830:
2462
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2463
-
2464
- "use strict";
2465
-
2466
- // EXPORTS
2467
- __webpack_require__.d(__webpack_exports__, {
2468
- "Z": () => (/* binding */ sections_RegionBar_RegionBar)
2469
- });
2470
-
2471
- // EXTERNAL MODULE: ../components/dist/esm/hooks/UIProvider.js
2472
- var UIProvider = __webpack_require__(6652);
2473
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
2474
- var session = __webpack_require__(7295);
2475
- // EXTERNAL MODULE: external "react"
2476
- var external_react_ = __webpack_require__(6689);
2477
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
2478
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Button/Button.js
2479
- var Button = __webpack_require__(3339);
2480
- ;// CONCATENATED MODULE: ../components/dist/esm/molecules/RegionBar/RegionBar.js
2481
-
2482
-
2483
- const RegionBar = (0,external_react_.forwardRef)(function RegionBar({ postalCode, icon, label, editLabel, buttonIcon, onButtonClick, ...otherProps }, ref) {
2484
- return (external_react_default().createElement("div", { ref: ref, "data-fs-region-bar": true, ...otherProps },
2485
- external_react_default().createElement(Button/* default */.Z, { variant: "tertiary", iconPosition: "right", onClick: onButtonClick, icon: buttonIcon },
2486
- !!icon && icon,
2487
- postalCode ? (external_react_default().createElement((external_react_default()).Fragment, null,
2488
- external_react_default().createElement("span", { "data-fs-region-bar-postal-code": true }, postalCode),
2489
- !!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)))));
2490
- });
2491
- /* harmony default export */ const RegionBar_RegionBar = (RegionBar);
2492
- //# sourceMappingURL=RegionBar.js.map
2493
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
2494
- var Icon = __webpack_require__(2614);
2495
- // EXTERNAL MODULE: ./src/sdk/overrides/overrides.ts
2496
- var overrides = __webpack_require__(7506);
2497
- ;// CONCATENATED MODULE: ./src/customizations/src/components/overrides/RegionBar.tsx
2498
- // This is an example of how it can be used on the starter.
2499
- const SECTION = 'RegionBar';
2500
- const override = {
2501
- section: SECTION
2502
- };
2503
-
2504
- ;// CONCATENATED MODULE: ./src/components/sections/RegionBar/Overrides.tsx
2505
-
2506
-
2507
-
2508
- const {
2509
- RegionBar: Overrides_RegionBar,
2510
- LocationIcon,
2511
- ButtonIcon
2512
- } = (0,overrides/* getSectionOverrides */.f)({
2513
- RegionBar: RegionBar_RegionBar,
2514
- LocationIcon: Icon/* default */.Z,
2515
- ButtonIcon: Icon/* default */.Z
2516
- }, override);
2517
-
2518
- // EXTERNAL MODULE: external "react/jsx-runtime"
2519
- var jsx_runtime_ = __webpack_require__(997);
2520
- ;// CONCATENATED MODULE: ./src/components/region/RegionBar/RegionBar.tsx
2521
- const _excluded = ["icon", "buttonIcon", "label", "editLabel"];
2522
-
2523
- 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; }
2524
-
2525
- 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; }
2526
-
2527
- 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; }
2528
-
2529
- 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; }
2530
-
2531
- 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; }
2532
-
2533
-
2534
-
2535
-
2536
-
2537
-
2538
- function RegionBar_RegionBar_RegionBar(_ref) {
2539
- let {
2540
- icon: {
2541
- icon: locationIcon = LocationIcon.props.name,
2542
- alt: locationIconAlt = LocationIcon.props["aria-label"]
2543
- },
2544
- buttonIcon: {
2545
- icon: buttonIcon = ButtonIcon.props.name,
2546
- alt: buttonIconAlt = ButtonIcon.props["aria-label"]
2547
- },
2548
- label = Overrides_RegionBar.props.label,
2549
- editLabel = Overrides_RegionBar.props.editLabel
2550
- } = _ref,
2551
- otherProps = _objectWithoutProperties(_ref, _excluded);
2552
-
2553
- const {
2554
- openModal
2555
- } = (0,UIProvider/* useUI */.l)();
2556
- const {
2557
- postalCode
2558
- } = (0,session/* useSession */.kP)();
2559
- return /*#__PURE__*/jsx_runtime_.jsx(Overrides_RegionBar.Component, _objectSpread(_objectSpread({
2560
- icon: /*#__PURE__*/jsx_runtime_.jsx(LocationIcon.Component, _objectSpread(_objectSpread({}, LocationIcon.props), {}, {
2561
- name: locationIcon,
2562
- "aria-label": locationIconAlt
2563
- })),
2564
- buttonIcon: /*#__PURE__*/jsx_runtime_.jsx(ButtonIcon.Component, _objectSpread(_objectSpread({}, ButtonIcon.props), {}, {
2565
- name: buttonIcon,
2566
- "aria-label": buttonIconAlt
2567
- }))
2568
- }, Overrides_RegionBar.props), {}, {
2569
- label: label,
2570
- editLabel: editLabel // Dynamic props shouldn't be overridable
2571
- // This decision can be reviewed later if needed
2572
- ,
2573
- onButtonClick: openModal,
2574
- postalCode: postalCode
2575
- }, otherProps));
2576
- }
2577
-
2578
- /* harmony default export */ const region_RegionBar_RegionBar = (RegionBar_RegionBar_RegionBar);
2579
- // EXTERNAL MODULE: ./src/components/sections/Section/Section.tsx
2580
- var Section = __webpack_require__(3271);
2581
- // EXTERNAL MODULE: ./src/components/sections/RegionBar/section.module.scss
2582
- var section_module = __webpack_require__(3472);
2583
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
2584
- ;// CONCATENATED MODULE: ./src/components/sections/RegionBar/RegionBar.tsx
2585
- const RegionBar_excluded = ["className"];
2586
-
2587
- 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; }
2588
-
2589
- 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; }
2590
-
2591
- 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; }
2592
-
2593
- 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; }
2594
-
2595
- 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; }
2596
-
2597
-
2598
-
2599
-
2600
-
2601
-
2602
- function RegionBarSection(_ref) {
2603
- let {
2604
- className = 'display-mobile'
2605
- } = _ref,
2606
- otherProps = RegionBar_objectWithoutProperties(_ref, RegionBar_excluded);
2607
-
2608
- return /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
2609
- className: `${(section_module_default()).section} section-region-bar ${className}`,
2610
- children: /*#__PURE__*/jsx_runtime_.jsx(region_RegionBar_RegionBar, RegionBar_objectSpread({}, otherProps))
2611
- });
2612
- }
2613
-
2614
- /* harmony default export */ const sections_RegionBar_RegionBar = (RegionBarSection);
2615
-
2616
- /***/ }),
2617
-
2618
- /***/ 3271:
2619
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2620
-
2621
- "use strict";
2622
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2623
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
2624
- /* harmony export */ });
2625
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
2626
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2627
- /* harmony import */ var src_sdk_overrides_OverrideContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5522);
2628
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(997);
2629
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
2630
- const _excluded = ["as", "className"];
2631
-
2632
- 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; }
2633
-
2634
- 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; }
2635
-
2636
- 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; }
2637
-
2638
- 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; }
2639
-
2640
- 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; }
2641
-
2642
-
2643
-
2644
-
2645
- const Section = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Section(_ref, ref) {
2646
- let {
2647
- as,
2648
- className = ''
2649
- } = _ref,
2650
- otherProps = _objectWithoutProperties(_ref, _excluded);
2651
-
2652
- const overrideClassName = (0,src_sdk_overrides_OverrideContext__WEBPACK_IMPORTED_MODULE_2__/* .useOverrideClassName */ .WB)() ?? '';
2653
- const Component = as ?? 'section';
2654
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(Component, _objectSpread({
2655
- ref: ref,
2656
- className: `section ${className} ${overrideClassName}`.trim()
2657
- }, otherProps));
2658
- });
2659
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Section);
2660
-
2661
- /***/ }),
2662
-
2663
- /***/ 2016:
2664
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2665
-
2666
- "use strict";
2667
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2668
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
2669
- /* harmony export */ });
2670
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3922);
2671
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2614);
2672
- /* harmony import */ var src_sdk_session__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7295);
2673
- /* harmony import */ var _sdk_cart_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
2674
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
2675
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
2676
-
2677
-
2678
-
2679
-
2680
-
2681
- const ButtonSignIn = ({
2682
- label,
2683
- myAccountLabel,
2684
- icon: {
2685
- alt,
2686
- icon
2687
- }
2688
- }) => {
2689
- const {
2690
- id
2691
- } = (0,_sdk_cart_index__WEBPACK_IMPORTED_MODULE_1__/* .useCart */ .jD)();
2692
- const {
2693
- person
2694
- } = (0,src_sdk_session__WEBPACK_IMPORTED_MODULE_2__/* .useSession */ .kP)();
2695
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
2696
- "data-fs-button-signin-link": true,
2697
- href: person?.id ? `/account?orderFormId=${id}` : `/login?orderFormId=${id}`,
2698
- className: "text__title-mini",
2699
- "aria-label": alt,
2700
- variant: "tertiary",
2701
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
2702
- name: icon,
2703
- width: 18,
2704
- height: 18,
2705
- weight: "bold"
2706
- }),
2707
- iconPosition: "left",
2708
- children: person?.id ? myAccountLabel : label
2709
- });
2710
- };
2711
-
2712
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ButtonSignIn);
2713
-
2714
- /***/ }),
2715
-
2716
- /***/ 5731:
2717
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2718
-
2719
- "use strict";
2720
-
2721
- // EXPORTS
2722
- __webpack_require__.d(__webpack_exports__, {
2723
- "Z": () => (/* binding */ Image_Image)
2724
- });
2725
-
2726
- // EXTERNAL MODULE: external "react"
2727
- var external_react_ = __webpack_require__(6689);
2728
- // EXTERNAL MODULE: ./node_modules/next/future/image.js
2729
- var future_image = __webpack_require__(1608);
2730
- var image_default = /*#__PURE__*/__webpack_require__.n(future_image);
2731
- // EXTERNAL MODULE: ./faststore.config.js
2732
- var faststore_config = __webpack_require__(7183);
2733
- var faststore_config_default = /*#__PURE__*/__webpack_require__.n(faststore_config);
2734
- ;// CONCATENATED MODULE: ./src/components/ui/Image/loader.ts
2735
-
2736
- const THUMBOR_SERVER = `https://${(faststore_config_default()).api.storeId}.vtexassets.com`;
2737
- function customImageLoader({
2738
- src,
2739
- width,
2740
- quality
2741
- }) {
2742
- const preSizeComponents = [THUMBOR_SERVER, 'unsafe']; // proportional to the width, enter a height of 0,
2743
-
2744
- const height = 0;
2745
- const finalSize = `${width}x${height}`;
2746
- const postSizeComponents = ['center', 'middle'];
2747
- quality && postSizeComponents.push(`filters:quality(${quality || 80})`);
2748
- postSizeComponents.push(encodeURIComponent(src));
2749
- return [...preSizeComponents, finalSize, ...postSizeComponents].join('/');
2750
- }
2751
- // EXTERNAL MODULE: external "react/jsx-runtime"
2752
- var jsx_runtime_ = __webpack_require__(997);
2753
- ;// CONCATENATED MODULE: ./src/components/ui/Image/Image.tsx
2754
- const _excluded = ["loading"];
2755
-
2756
- 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; }
2757
-
2758
- 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; }
2759
-
2760
- 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; }
2761
-
2762
- 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; }
2763
-
2764
- 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; }
2765
-
2766
-
2767
-
2768
-
2769
-
2770
-
2771
- // Next loader function does not handle all props as height and options
2772
- // so we use a custom loader to handle images using thumbor server with VTEX CDN
2773
- // https://nextjs.org/docs/api-reference/next/image#loader
2774
- function Image(_ref) {
2775
- let {
2776
- loading = 'lazy'
2777
- } = _ref,
2778
- otherProps = _objectWithoutProperties(_ref, _excluded);
2779
-
2780
- return /*#__PURE__*/jsx_runtime_.jsx((image_default()), _objectSpread({
2781
- "data-fs-image": true,
2782
- loader: customImageLoader,
2783
- loading: loading,
2784
- priority: loading === 'eager'
2785
- }, otherProps));
2786
- }
2787
-
2788
- Image.displayName = 'Image';
2789
- /* harmony default export */ const Image_Image = (/*#__PURE__*/(0,external_react_.memo)(Image));
2790
-
2791
- /***/ }),
2792
-
2793
- /***/ 2411:
2794
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2795
-
2796
- "use strict";
2797
-
2798
- // EXPORTS
2799
- __webpack_require__.d(__webpack_exports__, {
2800
- "Z": () => (/* binding */ Incentives_Incentives)
2801
- });
2802
-
2803
- // EXTERNAL MODULE: ../components/dist/esm/atoms/List/List.js
2804
- var List = __webpack_require__(4564);
2805
- // EXTERNAL MODULE: external "react"
2806
- var external_react_ = __webpack_require__(6689);
2807
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
2808
- ;// CONCATENATED MODULE: ../ui/dist/esm/components/atoms/Incentive/Incentive.js
2809
-
2810
- const Incentive = (0,external_react_.forwardRef)(function Incentive({ testId = 'store-incentive', children, ...otherProps }, ref) {
2811
- return (external_react_default().createElement("div", { ref: ref, "data-fs-incentive": true, "data-testid": testId, ...otherProps }, children));
2812
- });
2813
- /* harmony default export */ const Incentive_Incentive = (Incentive);
2814
- //# sourceMappingURL=Incentive.js.map
2815
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
2816
- var Icon = __webpack_require__(2614);
2817
- // EXTERNAL MODULE: external "react/jsx-runtime"
2818
- var jsx_runtime_ = __webpack_require__(997);
2819
- ;// CONCATENATED MODULE: ./src/components/ui/Incentives/Incentives.tsx
2820
-
2821
-
2822
-
2823
-
2824
- function Incentives({
2825
- incentives,
2826
- variant = 'horizontal',
2827
- colored = false
2828
- }) {
2829
- return /*#__PURE__*/jsx_runtime_.jsx("div", {
2830
- "data-fs-incentives": true,
2831
- "data-fs-incentives-colored": colored,
2832
- "data-fs-incentives-variant": variant,
2833
- children: /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
2834
- "data-fs-content": "incentives",
2835
- children: incentives.map((incentive, index) => /*#__PURE__*/jsx_runtime_.jsx("li", {
2836
- role: "listitem",
2837
- children: /*#__PURE__*/(0,jsx_runtime_.jsxs)(Incentive_Incentive, {
2838
- tabIndex: 0,
2839
- children: [/*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
2840
- "data-fs-incentive-icon": true,
2841
- "aria-label": incentive.alt,
2842
- name: incentive.icon,
2843
- width: 32,
2844
- height: 32
2845
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
2846
- "data-fs-incentive-content": true,
2847
- children: [/*#__PURE__*/jsx_runtime_.jsx("p", {
2848
- "data-fs-incentive-title": true,
2849
- children: incentive.title
2850
- }), /*#__PURE__*/jsx_runtime_.jsx("span", {
2851
- "data-fs-incentive-description": true,
2852
- children: incentive.firstLineText
2853
- }), incentive.secondLineText && /*#__PURE__*/jsx_runtime_.jsx("span", {
2854
- "data-fs-incentive-description": true,
2855
- children: incentive.secondLineText
2856
- })]
2857
- })]
2858
- })
2859
- }, String(index)))
2860
- })
2861
- });
2862
- }
2863
-
2864
- /* harmony default export */ const Incentives_Incentives = (Incentives);
2865
-
2866
- /***/ }),
2867
-
2868
- /***/ 7058:
2869
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2870
-
2871
- "use strict";
2872
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2873
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
2874
- /* harmony export */ });
2875
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
2876
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2877
- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1664);
2878
- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);
2879
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(727);
2880
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(997);
2881
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
2882
- const _excluded = ["href", "inverse", "children", "variant"];
2883
-
2884
- 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; }
2885
-
2886
- 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; }
2887
-
2888
- 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; }
2889
-
2890
- 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; }
2891
-
2892
- 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; }
2893
-
2894
-
2895
-
2896
-
2897
-
2898
- const Link = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Link(_ref, ref) {
2899
- let {
2900
- href,
2901
- inverse,
2902
- children,
2903
- variant = 'default'
2904
- } = _ref,
2905
- otherProps = _objectWithoutProperties(_ref, _excluded);
2906
-
2907
- const isInternalLink = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => href[0] === '/' && href[1] !== '/', [href]);
2908
-
2909
- if (isInternalLink) {
2910
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, _objectSpread(_objectSpread({
2911
- as: (next_link__WEBPACK_IMPORTED_MODULE_1___default()),
2912
- ref: ref,
2913
- variant: variant,
2914
- inverse: inverse,
2915
- passHref: true,
2916
- href: href,
2917
- legacyBehavior: false
2918
- }, otherProps), {}, {
2919
- children: children
2920
- }));
2921
- }
2922
-
2923
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, _objectSpread(_objectSpread({
2924
- ref: ref,
2925
- href: href,
2926
- variant: variant,
2927
- inverse: inverse
2928
- }, otherProps), {}, {
2929
- children: children
2930
- }));
2931
- });
2932
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Link);
2933
-
2934
- /***/ }),
2935
-
2936
- /***/ 2837:
2937
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2938
-
2939
- "use strict";
2940
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2941
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
2942
- /* harmony export */ });
2943
- /* harmony import */ var src_components_ui_Image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5731);
2944
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
2945
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
2946
-
2947
-
2948
-
2949
- function Logo({
2950
- alt,
2951
- src,
2952
- loading = 'lazy'
2953
- }) {
2954
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
2955
- "data-fs-logo": true,
2956
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_ui_Image__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
2957
- alt: alt,
2958
- src: src,
2959
- width: 0,
2960
- height: 0,
2961
- sizes: "15vw",
2962
- loading: loading,
2963
- style: {
2964
- width: '100%',
2965
- height: 'auto'
2966
- }
2967
- })
2968
- });
2969
- }
2970
-
2971
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Logo);
2972
-
2973
- /***/ }),
2974
-
2975
- /***/ 3276:
2976
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2977
-
2978
- "use strict";
2979
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2980
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
2981
- /* harmony export */ });
2982
- // eslint-disable-next-line import/no-anonymous-default-export
2983
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({});
2984
-
2985
- /***/ }),
2986
-
2987
- /***/ 6073:
2988
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2989
-
2990
- "use strict";
2991
-
2992
- // EXPORTS
2993
- __webpack_require__.d(__webpack_exports__, {
2994
- "i8": () => (/* binding */ cartStore),
2995
- "jD": () => (/* binding */ useCart)
2996
- });
2997
-
2998
- // UNUSED EXPORTS: ValidateCartMutation
2999
-
3000
- // EXTERNAL MODULE: ../sdk/dist/utils/error.js
3001
- var error = __webpack_require__(2254);
3002
- // EXTERNAL MODULE: ../sdk/dist/store/composed.js + 4 modules
3003
- var composed = __webpack_require__(8283);
3004
- ;// CONCATENATED MODULE: ../sdk/dist/cart/index.js
3005
-
3006
-
3007
- const createCartStore = (defaultCart, onValidate, namespace = "fs::cart") => {
3008
- const store = (0,composed/* createStore */.M)(defaultCart, namespace, onValidate);
3009
- const addItem = (item) => {
3010
- if (!item.id) {
3011
- throw new error/* SDKError */.q("You must provide an `id` for items");
3012
- }
3013
- if (item.quantity < 0) {
3014
- throw new error/* SDKError */.q("Item quantity needs to be higher than zero");
3015
- }
3016
- const cart = store.read();
3017
- const currentItem = getItem(item.id);
3018
- const newItem = currentItem
3019
- ? {
3020
- ...item,
3021
- quantity: currentItem.quantity + item.quantity,
3022
- }
3023
- : item;
3024
- store.set({
3025
- ...cart,
3026
- items: currentItem
3027
- ? cart.items.map((item) => item === currentItem ? newItem : item)
3028
- : [...cart.items, newItem],
3029
- });
3030
- };
3031
- const updateItemQuantity = (id, quantity) => {
3032
- const cart = store.read();
3033
- const currentItem = getItem(id);
3034
- if (!currentItem) {
3035
- throw new error/* SDKError */.q(`Item with id not found: ${id}`);
3036
- }
3037
- const newItem = {
3038
- ...currentItem,
3039
- quantity,
3040
- };
3041
- store.set({
3042
- ...cart,
3043
- items: cart.items
3044
- .map((item) => item === currentItem ? newItem : item) // update item quantity
3045
- .filter((item) => item.quantity > 0), // remove items if quantity is <= 0
3046
- });
3047
- };
3048
- const removeItem = (id) => {
3049
- const cart = store.read();
3050
- const removed = getItem(id);
3051
- store.set({
3052
- ...cart,
3053
- items: cart.items.filter((item) => item !== removed),
3054
- });
3055
- };
3056
- const emptyCart = () => store.set({ ...store.read(), items: [] });
3057
- const getItem = (id) => store.read().items.find((item) => item.id === id);
3058
- const inCart = (id) => Boolean(getItem(id));
3059
- const isEmpty = () => store.read().items.length === 0;
3060
- return {
3061
- ...store,
3062
- getItem,
3063
- addItem,
3064
- updateItemQuantity,
3065
- removeItem,
3066
- emptyCart,
3067
- inCart,
3068
- isEmpty,
3069
- };
3070
- };
3071
- //# sourceMappingURL=index.js.map
3072
- // EXTERNAL MODULE: external "react"
3073
- var external_react_ = __webpack_require__(6689);
3074
- // EXTERNAL MODULE: ./faststore.config.js
3075
- var faststore_config = __webpack_require__(7183);
3076
- var faststore_config_default = /*#__PURE__*/__webpack_require__.n(faststore_config);
3077
- // EXTERNAL MODULE: ./src/sdk/graphql/request.ts
3078
- var request = __webpack_require__(180);
3079
- // EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
3080
- var session = __webpack_require__(7295);
3081
- // EXTERNAL MODULE: ./src/sdk/useStore.ts
3082
- var useStore = __webpack_require__(3818);
3083
- ;// CONCATENATED MODULE: ./src/sdk/cart/index.ts
3084
- 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; }
3085
-
3086
- 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; }
3087
-
3088
- 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; }
3089
-
3090
-
3091
-
3092
-
3093
-
3094
-
3095
-
3096
- const ValidateCartMutation = "ValidateCartMutation";
3097
-
3098
- const isGift = item => item.price === 0;
3099
-
3100
- const getItemId = item => [item.itemOffered.sku, item.seller.identifier, item.itemOffered.additionalProperty?.map(({
3101
- propertyID
3102
- }) => propertyID).join('-')].filter(Boolean).join('::');
3103
-
3104
- const validateCart = async cart => {
3105
- const {
3106
- validateCart: validated = null
3107
- } = await (0,request/* request */.W)(ValidateCartMutation, {
3108
- session: session/* sessionStore.read */.Qf.read(),
3109
- cart: {
3110
- order: {
3111
- orderNumber: cart.id,
3112
- shouldSplitItem: cart.shouldSplitItem,
3113
- acceptedOffer: cart.items.map(({
3114
- price,
3115
- listPrice,
3116
- seller,
3117
- quantity,
3118
- itemOffered
3119
- }) => ({
3120
- price,
3121
- listPrice,
3122
- seller,
3123
- quantity,
3124
- itemOffered: {
3125
- sku: itemOffered.sku,
3126
- image: itemOffered.image,
3127
- name: itemOffered.name,
3128
- additionalProperty: itemOffered.additionalProperty
3129
- }
3130
- }))
3131
- }
3132
- }
3133
- });
3134
- return validated && {
3135
- id: validated.order.orderNumber,
3136
- items: validated.order.acceptedOffer.map(item => _objectSpread(_objectSpread({}, item), {}, {
3137
- id: getItemId(item)
3138
- })),
3139
- messages: validated.messages
3140
- };
3141
- };
3142
-
3143
- const [validationStore, onValidate] = (0,useStore/* createValidationStore */.d)(validateCart);
3144
- const defaultCartStore = createCartStore((faststore_config_default()).cart, onValidate);
3145
- const cartStore = _objectSpread(_objectSpread({}, defaultCartStore), {}, {
3146
- addItem: item => {
3147
- const cartItem = _objectSpread(_objectSpread({}, item), {}, {
3148
- id: getItemId(item)
3149
- });
3150
-
3151
- defaultCartStore.addItem(cartItem);
3152
- }
3153
- });
3154
- const useCart = () => {
3155
- const cart = (0,useStore/* useStore */.o)(cartStore);
3156
- const isValidating = (0,useStore/* useStore */.o)(validationStore);
3157
- return (0,external_react_.useMemo)(() => _objectSpread(_objectSpread({}, cart), {}, {
3158
- isValidating,
3159
- messages: cart.messages,
3160
- gifts: cart.items.filter(item => isGift(item)),
3161
- items: cart.items.filter(item => !isGift(item)),
3162
- totalUniqueItems: cart.items.length,
3163
- totalItems: cart.items.reduce((acc, curr) => acc + (isGift(curr) ? 0 : curr.quantity), 0),
3164
- total: cart.items.reduce((acc, curr) => acc + curr.price * curr.quantity, 0),
3165
- subTotal: cart.items.reduce((acc, curr) => acc + curr.listPrice * curr.quantity, 0)
3166
- }), [cart, isValidating]);
3167
- };
3168
-
3169
- /***/ }),
3170
-
3171
- /***/ 3025:
3172
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3173
-
3174
- "use strict";
3175
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3176
- /* harmony export */ "Z": () => (/* binding */ MissingContentError)
3177
- /* harmony export */ });
3178
- class MissingContentError extends Error {
3179
- constructor(options) {
3180
- super(`Missing content on the CMS for content type ${options.contentType}. Add content before proceeding. Context: ${JSON.stringify(options, null, 2)}`);
3181
- }
3182
-
3183
- }
3184
-
3185
- /***/ }),
3186
-
3187
- /***/ 180:
3188
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3189
-
3190
- "use strict";
3191
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3192
- /* harmony export */ "W": () => (/* binding */ request)
3193
- /* harmony export */ });
3194
- /* harmony import */ var _faststore_graphql_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5307);
3195
- 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; }
3196
-
3197
- 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; }
3198
-
3199
- 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; }
3200
-
3201
-
3202
- const request = async (operationName, variables, options) => {
3203
- const {
3204
- data,
3205
- errors
3206
- } = await (0,_faststore_graphql_utils__WEBPACK_IMPORTED_MODULE_0__/* .request */ .WY)('/api/graphql', _objectSpread(_objectSpread({}, options), {}, {
3207
- variables,
3208
- operationName
3209
- }));
3210
-
3211
- if (errors?.length) {
3212
- throw errors[0];
3213
- }
3214
-
3215
- return data;
3216
- };
3217
-
3218
- /***/ }),
3219
-
3220
- /***/ 7732:
3221
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
3222
-
3223
- "use strict";
3224
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
3225
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3226
- /* harmony export */ "WN": () => (/* binding */ DEFAULT_OPTIONS),
3227
- /* harmony export */ "aM": () => (/* binding */ useQuery),
3228
- /* harmony export */ "km": () => (/* binding */ getKey)
3229
- /* harmony export */ });
3230
- /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5941);
3231
- /* harmony import */ var _request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(180);
3232
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_0__]);
3233
- swr__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
3234
- 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; }
3235
-
3236
- 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; }
3237
-
3238
- 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; }
3239
-
3240
-
3241
-
3242
- const getKey = (operationName, variables) => `${operationName}::${JSON.stringify(variables)}`;
3243
- const DEFAULT_OPTIONS = {
3244
- errorRetryCount: 3,
3245
- refreshWhenHidden: false,
3246
- refreshWhenOffline: false,
3247
- revalidateOnFocus: false,
3248
- revalidateOnReconnect: false,
3249
- shouldRetryOnError: true
3250
- };
3251
- const useQuery = (operationName, variables, options) => (0,swr__WEBPACK_IMPORTED_MODULE_0__["default"])(() => options?.doNotRun ? null : getKey(operationName, variables), _objectSpread(_objectSpread({
3252
- fetcher: () => {
3253
- return new Promise(resolve => {
3254
- setTimeout(async () => {
3255
- resolve(await (0,_request__WEBPACK_IMPORTED_MODULE_1__/* .request */ .W)(operationName, variables, options));
3256
- });
3257
- });
3258
- }
3259
- }, DEFAULT_OPTIONS), options));
3260
- __webpack_async_result__();
3261
- } catch(e) { __webpack_async_result__(e); } });
3262
-
3263
- /***/ }),
3264
-
3265
- /***/ 5522:
3266
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3267
-
3268
- "use strict";
3269
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3270
- /* harmony export */ "Ju": () => (/* binding */ OverrideProvider),
3271
- /* harmony export */ "WB": () => (/* binding */ useOverrideClassName),
3272
- /* harmony export */ "r3": () => (/* binding */ useOverrideComponents)
3273
- /* harmony export */ });
3274
- /* unused harmony export useOverrideContext */
3275
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
3276
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3277
-
3278
- const OverrideContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);
3279
- const OverrideProvider = OverrideContext.Provider;
3280
- const useOverrideContext = () => useContext(OverrideContext);
3281
- const useOverrideComponents = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(OverrideContext).components;
3282
- const useOverrideClassName = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(OverrideContext)?.className;
3283
-
3284
- /***/ }),
3285
-
3286
- /***/ 7506:
3287
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3288
-
3289
- "use strict";
3290
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3291
- /* harmony export */ "f": () => (/* binding */ getSectionOverrides)
3292
- /* harmony export */ });
3293
- function getSectionOverrides(defaultComponents, override) {
3294
- const overriddenComponents = {};
3295
- Object.entries(defaultComponents).forEach(([key, value]) => {
3296
- const componentOverride = override.components?.[key];
3297
-
3298
- if (!componentOverride) {
3299
- overriddenComponents[key] = {
3300
- Component: value,
3301
- props: {}
3302
- };
3303
- return;
3304
- }
3305
-
3306
- if (componentOverride.Component && componentOverride.props) {
3307
- console.warn(`Mixed use of Component and props overrides detected. Defaulting to Component override: component ${key} in the ${override.section} section.`);
3308
- }
3309
-
3310
- if (componentOverride.Component) {
3311
- overriddenComponents[key] = {
3312
- Component: componentOverride.Component,
3313
- props: {}
3314
- };
3315
- } else {
3316
- overriddenComponents[key] = {
3317
- Component: value,
3318
- props: componentOverride.props ?? {}
3319
- };
3320
- }
3321
- });
3322
- return overriddenComponents;
3323
- }
3324
-
3325
- /***/ }),
3326
-
3327
- /***/ 5882:
3328
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3329
-
3330
- "use strict";
3331
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3332
- /* harmony export */ "u": () => (/* binding */ formatSearchPath)
3333
- /* harmony export */ });
3334
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2339);
3335
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2524);
3336
-
3337
- const formatSearchPath = ({
3338
- term,
3339
- sort
3340
- }) => {
3341
- const {
3342
- pathname,
3343
- search
3344
- } = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)((0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_1__/* .initialize */ .j)({
3345
- term,
3346
- sort,
3347
- base: '/s'
3348
- }));
3349
- return `${pathname}${search}`;
3350
- };
3351
-
3352
- /***/ }),
3353
-
3354
- /***/ 5098:
3355
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3356
-
3357
- "use strict";
3358
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3359
- /* harmony export */ "Z": () => (/* binding */ useSearchHistory)
3360
- /* harmony export */ });
3361
- /* unused harmony export searchHistoryStore */
3362
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8283);
3363
- /* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3818);
3364
-
3365
-
3366
- const searchHistoryStore = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_0__/* .createStore */ .M)([], `fs::searchHistory`);
3367
- const MAX_HISTORY_SIZE = 4;
3368
- function useSearchHistory(maxHistorySize = MAX_HISTORY_SIZE) {
3369
- const searchHistory = (0,_useStore__WEBPACK_IMPORTED_MODULE_1__/* .useStore */ .o)(searchHistoryStore);
3370
-
3371
- function addToSearchHistory(newHistory) {
3372
- const set = new Set();
3373
- const newHistoryArray = [newHistory, ...searchHistory].slice(0, maxHistorySize).filter(item => !set.has(item.term) && set.add(item.term), set);
3374
- searchHistoryStore.set(newHistoryArray);
3375
- }
3376
-
3377
- function clearSearchHistory() {
3378
- searchHistoryStore.set([]);
3379
- }
3380
-
3381
- return {
3382
- searchHistory,
3383
- addToSearchHistory,
3384
- clearSearchHistory
3385
- };
3386
- }
3387
-
3388
- /***/ }),
3389
-
3390
- /***/ 6344:
3391
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
3392
-
3393
- "use strict";
3394
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
3395
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3396
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
3397
- /* harmony export */ });
3398
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
3399
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3400
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1072);
3401
- /* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7732);
3402
- /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7295);
3403
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__]);
3404
- src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
3405
-
3406
-
3407
-
3408
-
3409
- const query = "ClientSearchSuggestionsQuery";
3410
-
3411
- function useSuggestions(term) {
3412
- const {
3413
- channel,
3414
- locale
3415
- } = (0,_session__WEBPACK_IMPORTED_MODULE_1__/* .useSession */ .kP)();
3416
- const variables = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({
3417
- term,
3418
- selectedFacets: [{
3419
- key: 'channel',
3420
- value: channel ?? ''
3421
- }, {
3422
- key: 'locale',
3423
- value: locale
3424
- }]
3425
- }), [term, locale, channel]);
3426
- const {
3427
- data,
3428
- error
3429
- } = (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_2__/* .useQuery */ .aM)(query, variables, {
3430
- onSuccess: callbackData => {
3431
- if (callbackData && term) {
3432
- (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_3__/* .sendAnalyticsEvent */ ._)({
3433
- name: 'intelligent_search_query',
3434
- params: {
3435
- locale,
3436
- term,
3437
- url: window.location.href,
3438
- logicalOperator: callbackData.search.metadata?.logicalOperator ?? 'and',
3439
- isTermMisspelled: callbackData.search.metadata?.isTermMisspelled ?? false,
3440
- totalCount: callbackData.search.products.pageInfo.totalCount
3441
- }
3442
- });
3443
- }
3444
- }
3445
- });
3446
- return {
3447
- data,
3448
- error
3449
- };
3450
- }
3451
-
3452
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useSuggestions);
3453
- __webpack_async_result__();
3454
- } catch(e) { __webpack_async_result__(e); } });
3455
-
3456
- /***/ }),
3457
-
3458
- /***/ 7295:
3459
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3460
-
3461
- "use strict";
3462
-
3463
- // EXPORTS
3464
- __webpack_require__.d(__webpack_exports__, {
3465
- "Qf": () => (/* binding */ sessionStore),
3466
- "kP": () => (/* binding */ useSession),
3467
- "je": () => (/* binding */ validateSession)
3468
- });
3469
-
3470
- // UNUSED EXPORTS: mutation
3471
-
3472
- // EXTERNAL MODULE: ../sdk/dist/store/composed.js + 4 modules
3473
- var composed = __webpack_require__(8283);
3474
- ;// CONCATENATED MODULE: ../sdk/dist/session/index.js
3475
-
3476
- const createSessionStore = (defaultSession, onValidate, namespace = 'fs::session') => (0,composed/* createStore */.M)(defaultSession, namespace, onValidate);
3477
- //# sourceMappingURL=index.js.map
3478
- // EXTERNAL MODULE: external "react"
3479
- var external_react_ = __webpack_require__(6689);
3480
- // EXTERNAL MODULE: ./faststore.config.js
3481
- var faststore_config = __webpack_require__(7183);
3482
- var faststore_config_default = /*#__PURE__*/__webpack_require__.n(faststore_config);
3483
- // EXTERNAL MODULE: ./src/sdk/cart/index.ts + 1 modules
3484
- var cart = __webpack_require__(6073);
3485
- // EXTERNAL MODULE: ./src/sdk/graphql/request.ts
3486
- var request = __webpack_require__(180);
3487
- // EXTERNAL MODULE: ./src/sdk/useStore.ts
3488
- var useStore = __webpack_require__(3818);
3489
- ;// CONCATENATED MODULE: ./src/sdk/session/index.ts
3490
- 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; }
3491
-
3492
- 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; }
3493
-
3494
- 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; }
3495
-
3496
-
3497
-
3498
-
3499
-
3500
-
3501
-
3502
- const mutation = "ValidateSession";
3503
- const validateSession = async session => {
3504
- const data = await (0,request/* request */.W)(mutation, {
3505
- session,
3506
- search: window.location.search
3507
- });
3508
- return data.validateSession;
3509
- };
3510
- const [validationStore, onValidate] = (0,useStore/* createValidationStore */.d)(validateSession);
3511
- const defaultStore = createSessionStore((faststore_config_default()).session, onValidate);
3512
- const sessionStore = _objectSpread(_objectSpread({}, defaultStore), {}, {
3513
- set: val => {
3514
- defaultStore.set(val); // Trigger cart revalidation when session changes
3515
-
3516
- cart/* cartStore.set */.i8.set(cart/* cartStore.read */.i8.read());
3517
- }
3518
- });
3519
- const useSession = () => {
3520
- const session = (0,useStore/* useStore */.o)(sessionStore);
3521
- const isValidating = (0,useStore/* useStore */.o)(validationStore);
3522
- return (0,external_react_.useMemo)(() => _objectSpread(_objectSpread({}, session), {}, {
3523
- isValidating
3524
- }), [isValidating, session]);
3525
- };
3526
-
3527
- /***/ }),
3528
-
3529
- /***/ 2541:
3530
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3531
-
3532
- "use strict";
3533
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3534
- /* harmony export */ "B": () => (/* binding */ mark)
3535
- /* harmony export */ });
3536
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
3537
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
3538
- 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; }
3539
-
3540
- 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; }
3541
-
3542
- 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; }
3543
-
3544
-
3545
- const mark = Component => function marked(props) {
3546
- if (false) {}
3547
-
3548
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(Component, _objectSpread({}, props));
3549
- };
3550
-
3551
- /***/ }),
3552
-
3553
- /***/ 3669:
3554
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3555
-
3556
- "use strict";
3557
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3558
- /* harmony export */ "Z": () => (/* binding */ useOnClickOutside)
3559
- /* harmony export */ });
3560
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
3561
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3562
-
3563
- function useOnClickOutside(ref, handler) {
3564
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
3565
- const listener = event => {
3566
- if (!ref.current || ref.current.contains(event.target)) {
3567
- return;
3568
- }
3569
-
3570
- handler(event);
3571
- };
3572
-
3573
- document.addEventListener('mousedown', listener);
3574
- document.addEventListener('touchstart', listener);
3575
- return () => {
3576
- document.removeEventListener('mousedown', listener);
3577
- document.removeEventListener('touchstart', listener);
3578
- };
3579
- },
3580
- /**
3581
- * Add ref and handler to effect dependencies.
3582
- * It's worth noting that because passed in handler is a new
3583
- * function on every render that will cause this effect
3584
- * callback/cleanup to run every render. It's not a big deal
3585
- * but to optimize you can wrap handler in useCallback before
3586
- * passing it into this hook.
3587
- */
3588
- [ref, handler]);
3589
- }
3590
-
3591
- /***/ }),
3592
-
3593
- /***/ 3818:
3594
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3595
-
3596
- "use strict";
3597
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3598
- /* harmony export */ "d": () => (/* binding */ createValidationStore),
3599
- /* harmony export */ "o": () => (/* binding */ useStore)
3600
- /* harmony export */ });
3601
- /* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3365);
3602
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
3603
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3604
-
3605
-
3606
- const useStore = store => (0,react__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStore)(store.subscribe, store.read, store.readInitial);
3607
- const createValidationStore = cb => {
3608
- const store = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_1__/* .createStore */ .M)(false);
3609
-
3610
- const onValidate = async val => {
3611
- try {
3612
- store.set(true);
3613
- return await cb(val);
3614
- } finally {
3615
- store.set(false);
3616
- }
3617
- };
3618
-
3619
- return [store, onValidate];
3620
- };
3621
-
3622
- /***/ }),
3623
-
3624
- /***/ 9497:
3625
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3626
-
3627
- "use strict";
3628
-
3629
- // EXPORTS
3630
- __webpack_require__.d(__webpack_exports__, {
3631
- "f": () => (/* binding */ getPage)
3632
- });
3633
-
3634
- // UNUSED EXPORTS: clientCMS
3635
-
3636
- // EXTERNAL MODULE: external "@vtex/client-cms"
3637
- var client_cms_ = __webpack_require__(6676);
3638
- var client_cms_default = /*#__PURE__*/__webpack_require__.n(client_cms_);
3639
- // EXTERNAL MODULE: ./faststore.config.js
3640
- var faststore_config = __webpack_require__(7183);
3641
- var faststore_config_default = /*#__PURE__*/__webpack_require__.n(faststore_config);
3642
- ;// CONCATENATED MODULE: ./src/sdk/error/MultipleContentError/MultipleContentError.ts
3643
- class MultipleContentError extends Error {
3644
- constructor(options) {
3645
- super(`Multiple content defined on the CMS for content type ${options.contentType}. Remove duplicated content before proceeding. Context: ${JSON.stringify(options, null, 2)}`);
3646
- }
3647
-
3648
- }
3649
- // EXTERNAL MODULE: ./src/sdk/error/MissingContentError/MissingContentError.ts
3650
- var MissingContentError = __webpack_require__(3025);
3651
- ;// CONCATENATED MODULE: ./src/server/cms.ts
3652
-
3653
-
3654
-
3655
-
3656
- const clientCMS = new (client_cms_default())({
3657
- workspace: (faststore_config_default()).api.workspace,
3658
- tenant: (faststore_config_default()).api.storeId
3659
- });
3660
-
3661
- const isLocator = x => typeof x.contentType === 'string' && (typeof x.releaseId === 'string' || typeof x.documentId === 'string');
3662
-
3663
- const getPage = async options => {
3664
- const result = await (isLocator(options) ? clientCMS.getCMSPage(options).then(page => ({
3665
- data: [page]
3666
- })) : clientCMS.getCMSPagesByContentType(options.contentType, options.filters));
3667
- const pages = result.data;
3668
-
3669
- if (!pages[0]) {
3670
- throw new MissingContentError/* default */.Z(options);
3671
- }
3672
-
3673
- if (pages.length !== 1) {
3674
- throw new MultipleContentError(options);
3675
- }
3676
-
3677
- return pages[0];
3678
- };
3679
-
3680
- /***/ }),
3681
-
3682
- /***/ 7651:
3683
- /***/ ((module) => {
3684
-
3685
- // Exports
3686
- module.exports = {
3687
- "section": "section_section__YiggP"
3688
- };
3689
-
3690
-
3691
- /***/ }),
3692
-
3693
- /***/ 1276:
3694
- /***/ ((module) => {
3695
-
3696
- // Exports
3697
- module.exports = {
3698
- "section": "section_section__Qi4Hq"
3699
- };
3700
-
3701
-
3702
- /***/ }),
3703
-
3704
- /***/ 261:
3705
- /***/ ((module) => {
3706
-
3707
- // Exports
3708
- module.exports = {
3709
- "section": "section_section__bLR5s"
3710
- };
3711
-
3712
-
3713
- /***/ }),
3714
-
3715
- /***/ 5977:
3716
- /***/ ((module) => {
3717
-
3718
- // Exports
3719
- module.exports = {
3720
- "section": "section_section__Ox_hX"
3721
- };
3722
-
3723
-
3724
- /***/ }),
3725
-
3726
- /***/ 6837:
3727
- /***/ ((module) => {
3728
-
3729
- // Exports
3730
- module.exports = {
3731
- "section": "section_section__dPVmH"
3732
- };
3733
-
3734
-
3735
- /***/ }),
3736
-
3737
- /***/ 3472:
3738
- /***/ ((module) => {
3739
-
3740
- // Exports
3741
- module.exports = {
3742
- "section": "section_section__RNxUN"
3743
- };
3744
-
3745
-
3746
- /***/ }),
3747
-
3748
- /***/ 5307:
3749
- /***/ ((__unused_webpack_module, exports) => {
3750
-
3751
- "use strict";
3752
- var __webpack_unused_export__;
3753
-
3754
- __webpack_unused_export__ = ({ value: true });
3755
- exports.WY = __webpack_unused_export__ = void 0;
3756
- const gql = (_) => {
3757
- throw new Error(`[graphql-utils]: This should have been removed by the babel plugin. Please make sure the babel plugin is configured correctly`);
3758
- };
3759
- __webpack_unused_export__ = gql;
3760
- const DEFAULT_HEADERS_BY_VERB = {
3761
- POST: {
3762
- 'Content-Type': 'application/json',
3763
- },
3764
- };
3765
- const request = async (endpoint, { operationName, variables, fetchOptions }) => {
3766
- // Uses method from fetchOptions.
3767
- // If no one is passed, figure out with via heuristic
3768
- const method = fetchOptions?.method !== undefined
3769
- ? fetchOptions.method.toUpperCase()
3770
- : operationName.endsWith('Query')
3771
- ? 'GET'
3772
- : 'POST';
3773
- const params = new URLSearchParams({
3774
- operationName,
3775
- ...(method === 'GET' && { variables: JSON.stringify(variables) }),
3776
- });
3777
- const body = method === 'POST'
3778
- ? JSON.stringify({
3779
- operationName,
3780
- variables,
3781
- })
3782
- : undefined;
3783
- const url = `${endpoint}?${params.toString()}`;
3784
- const response = await fetch(url, {
3785
- method,
3786
- body,
3787
- ...fetchOptions,
3788
- headers: {
3789
- ...DEFAULT_HEADERS_BY_VERB[method],
3790
- ...fetchOptions?.headers,
3791
- },
3792
- });
3793
- return response.json();
3794
- };
3795
- exports.WY = request;
3796
- //# sourceMappingURL=index.js.map
3797
-
3798
- /***/ }),
3799
-
3800
- /***/ 1072:
3801
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3802
-
3803
- "use strict";
3804
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3805
- /* harmony export */ "_": () => (/* binding */ sendAnalyticsEvent)
3806
- /* harmony export */ });
3807
- /* harmony import */ var _wrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4950);
3808
-
3809
- const sendAnalyticsEvent = (event) => {
3810
- try {
3811
- window.postMessage((0,_wrap__WEBPACK_IMPORTED_MODULE_0__/* .wrap */ .re)(event), window.origin);
3812
- }
3813
- catch (e) {
3814
- // IE and Edge have a bug on postMessage inside promises.
3815
- // Ignoring for now, will try to find a workaround that
3816
- // makes postMessage work on those browsers.
3817
- // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14719328/
3818
- console.error(e);
3819
- }
3820
- };
3821
- //# sourceMappingURL=sendAnalyticsEvent.js.map
3822
-
3823
- /***/ }),
3824
-
3825
- /***/ 2524:
3826
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3827
-
3828
- "use strict";
3829
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3830
- /* harmony export */ "X": () => (/* binding */ useSearchState),
3831
- /* harmony export */ "j": () => (/* binding */ initialize)
3832
- /* harmony export */ });
3833
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
3834
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3835
- /* harmony import */ var _utils_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2339);
3836
-
3837
-
3838
- const initialize = ({ sort = 'score_desc', selectedFacets = [], term = null, base = '/', page = 0, } = {}) => ({
3839
- sort,
3840
- selectedFacets,
3841
- term,
3842
- base: base.endsWith('/') ? base : `${base}/`,
3843
- page,
3844
- });
3845
- 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;
3846
- const useSearchState = (initialState, onChange) => {
3847
- const state = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => initialize(initialState), [initialState]);
3848
- return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({
3849
- state,
3850
- setState: (newState) => !equals(newState, state) && onChange((0,_utils_format__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(newState)),
3851
- }), [onChange, state]);
3852
- };
3853
- //# sourceMappingURL=useSearchState.js.map
3854
-
3855
- /***/ }),
3856
-
3857
- /***/ 3365:
3858
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3859
-
3860
- "use strict";
3861
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3862
- /* harmony export */ "M": () => (/* binding */ createStore)
3863
- /* harmony export */ });
3864
- /**
3865
- * Creates a new Suspense ready Store
3866
- */
3867
- const createStore = (initialValue) => {
3868
- const subscribers = new Set();
3869
- const cancelations = new Set();
3870
- let value = initialValue;
3871
- const read = () => value;
3872
- const readInitial = () => initialValue;
3873
- const set = (val) => {
3874
- value = val;
3875
- // Cancel previous, dangling operations
3876
- cancelations.forEach((cancel) => cancel());
3877
- cancelations.clear();
3878
- // Broadcast subscribers
3879
- subscribers.forEach((sub) => {
3880
- const cancel = sub(val);
3881
- if (typeof cancel === "function") {
3882
- cancelations.add(cancel);
3883
- }
3884
- });
3885
- };
3886
- const subscribe = (sub) => {
3887
- subscribers.add(sub);
3888
- return () => {
3889
- subscribers.delete(sub);
3890
- };
3891
- };
3892
- return {
3893
- set,
3894
- read,
3895
- readInitial,
3896
- subscribe,
3897
- };
3898
- };
3899
- //# sourceMappingURL=base.js.map
3900
-
3901
- /***/ }),
3902
-
3903
- /***/ 8283:
3904
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3905
-
3906
- "use strict";
3907
-
3908
- // EXPORTS
3909
- __webpack_require__.d(__webpack_exports__, {
3910
- "M": () => (/* binding */ createStore)
3911
- });
3912
-
3913
- // EXTERNAL MODULE: external "idb-keyval"
3914
- var external_idb_keyval_ = __webpack_require__(3430);
3915
- ;// CONCATENATED MODULE: ../sdk/dist/store/persisted.js
3916
- /**
3917
- * Safe IDB storage interface. These try..catch are useful because
3918
- * some browsers may block access to these APIs due to security policies
3919
- *
3920
- * Also, the stored value is lazy-loaded to avoid hydration mismatch
3921
- * between server/browser. When state is 'hydrated', the value in the heap
3922
- * is the same as the value in IDB
3923
- */
3924
-
3925
- const getIDB = async (key) => {
3926
- try {
3927
- return await (0,external_idb_keyval_.get)(key);
3928
- }
3929
- catch (err) {
3930
- return;
3931
- }
3932
- };
3933
- const setIDB = async (key, value) => {
3934
- try {
3935
- await (0,external_idb_keyval_.set)(key, value);
3936
- }
3937
- catch (err) {
3938
- /** noop */
3939
- }
3940
- };
3941
- const persisted = (key) => (store) => {
3942
- const handler = async () => {
3943
- const payload = await getIDB(key);
3944
- if (typeof document !== 'undefined') {
3945
- store.set(payload ?? store.readInitial());
3946
- }
3947
- };
3948
- handler();
3949
- globalThis.addEventListener?.("focus", () => handler());
3950
- globalThis.document?.addEventListener("visibilitychange", () => document.visibilityState === "visible" && handler());
3951
- store.subscribe((value) => {
3952
- setIDB(key, value);
3953
- });
3954
- return store;
3955
- };
3956
- //# sourceMappingURL=persisted.js.map
3957
- ;// CONCATENATED MODULE: ../sdk/dist/store/optimistic.js
3958
- const trivial = async () => null;
3959
- const optimistic = (onValidate = trivial) => {
3960
- let queue = Promise.resolve();
3961
- return (store) => {
3962
- store.subscribe((value) => {
3963
- let cancel = false;
3964
- const handler = async () => {
3965
- if (cancel) {
3966
- return;
3967
- }
3968
- const validated = await onValidate(value);
3969
- if (!cancel && validated !== null) {
3970
- store.set(validated);
3971
- }
3972
- };
3973
- queue = queue.then(handler);
3974
- return () => {
3975
- cancel = true;
3976
- };
3977
- });
3978
- return store;
3979
- };
3980
- };
3981
- //# sourceMappingURL=optimistic.js.map
3982
- ;// CONCATENATED MODULE: ../sdk/dist/store/singleton.js
3983
- /**
3984
- * Some stores, like cart/session states require to be singletons
3985
- * for their correct behavior. This creator helps on this
3986
- */
3987
- globalThis.faststore_sdk_stores = globalThis.faststore_sdk_stores ?? new Map();
3988
- const singleton = (key) => (store) => {
3989
- const stores = globalThis.faststore_sdk_stores;
3990
- if (!stores.has(key)) {
3991
- stores.set(key, store);
3992
- }
3993
- return stores.get(key);
3994
- };
3995
- //# sourceMappingURL=singleton.js.map
3996
- ;// CONCATENATED MODULE: ../sdk/dist/utils/compose.js
3997
- const compose = (pipeline, value) => pipeline.reduce((acc, curr) => curr(acc), value);
3998
- //# sourceMappingURL=compose.js.map
3999
- // EXTERNAL MODULE: ../sdk/dist/store/base.js
4000
- var base = __webpack_require__(3365);
4001
- ;// CONCATENATED MODULE: ../sdk/dist/store/composed.js
4002
-
4003
-
4004
-
4005
-
4006
-
4007
- const identity = (x) => x;
4008
- const createStore = (initialValue, namespace, onValidate) => {
4009
- return compose([
4010
- namespace ? singleton(namespace) : identity,
4011
- namespace ? persisted(namespace) : identity,
4012
- onValidate ? optimistic(onValidate) : identity,
4013
- ], (0,base/* createStore */.M)(initialValue));
4014
- };
4015
- //# sourceMappingURL=composed.js.map
4016
-
4017
- /***/ }),
4018
-
4019
- /***/ 2254:
4020
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4021
-
4022
- "use strict";
4023
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4024
- /* harmony export */ "q": () => (/* binding */ SDKError)
4025
- /* harmony export */ });
4026
- class SDKError extends Error {
4027
- constructor(message) {
4028
- super(`[sdk]: ${message}`);
4029
- }
4030
- }
4031
- //# sourceMappingURL=error.js.map
4032
-
4033
- /***/ }),
4034
-
4035
- /***/ 2339:
4036
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4037
-
4038
- "use strict";
4039
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4040
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
4041
- /* harmony export */ });
4042
- const format = (params) => {
4043
- const url = new URL(params.base, 'http://localhost');
4044
- const { page, selectedFacets, sort, term } = params;
4045
- if (term !== null) {
4046
- url.searchParams.set('q', term);
4047
- }
4048
- const facets = new Set();
4049
- for (const facet of selectedFacets) {
4050
- url.searchParams.append(facet.key, facet.value);
4051
- facets.add(facet.key);
4052
- }
4053
- if (selectedFacets.length > 0) {
4054
- url.searchParams.set('facets', Array.from(facets).join(','));
4055
- }
4056
- url.searchParams.set('sort', sort);
4057
- url.searchParams.set('page', page.toString());
4058
- return url;
4059
- };
4060
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (format);
4061
- //# sourceMappingURL=format.js.map
4062
-
4063
- /***/ })
4064
-
4065
- };
4066
- ;