@faststore/core 2.2.78 → 3.0.1

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 (252) hide show
  1. package/.babelrc.js +12 -0
  2. package/.next/BUILD_ID +1 -1
  3. package/.next/build-manifest.json +89 -89
  4. package/.next/cache/.tsbuildinfo +1 -1
  5. package/.next/cache/config.json +3 -3
  6. package/.next/cache/eslint/.cache_1gneedd +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/images-manifest.json +1 -1
  12. package/.next/next-minimal-server.js.nft.json +1 -0
  13. package/.next/next-server.js.nft.json +1 -1
  14. package/.next/prerender-manifest.js +1 -0
  15. package/.next/prerender-manifest.json +1 -1
  16. package/.next/react-loadable-manifest.json +17 -17
  17. package/.next/required-server-files.json +1 -1
  18. package/.next/routes-manifest.json +1 -1
  19. package/.next/server/chunks/119.js +1 -0
  20. package/.next/server/chunks/12.js +1 -0
  21. package/.next/server/chunks/187.js +1 -0
  22. package/.next/server/chunks/202.js +1 -0
  23. package/.next/server/chunks/24.js +1 -0
  24. package/.next/server/chunks/242.js +1 -0
  25. package/.next/server/chunks/247.js +1 -0
  26. package/.next/server/chunks/344.js +1 -0
  27. package/.next/server/chunks/404.js +1 -434
  28. package/.next/server/chunks/414.js +1 -0
  29. package/.next/server/chunks/484.js +1 -0
  30. package/.next/server/chunks/493.js +1 -0
  31. package/.next/server/chunks/498.js +1 -0
  32. package/.next/server/chunks/540.js +1 -0
  33. package/.next/server/chunks/57.js +1 -434
  34. package/.next/server/chunks/624.js +1 -0
  35. package/.next/server/chunks/640.js +6 -0
  36. package/.next/server/chunks/646.js +279 -0
  37. package/.next/server/chunks/659.js +9 -0
  38. package/.next/server/chunks/679.js +1 -0
  39. package/.next/server/chunks/693.js +1 -58
  40. package/.next/server/chunks/694.js +1 -0
  41. package/.next/server/chunks/779.js +1 -58
  42. package/.next/server/chunks/82.js +8 -0
  43. package/.next/server/chunks/857.js +1 -0
  44. package/.next/server/chunks/859.js +4 -957
  45. package/.next/server/chunks/881.js +1 -0
  46. package/.next/server/chunks/917.js +1 -0
  47. package/.next/server/chunks/936.js +1 -0
  48. package/.next/server/chunks/96.js +1 -0
  49. package/.next/server/chunks/997.js +1 -0
  50. package/.next/server/functions-config-manifest.json +1 -0
  51. package/.next/server/middleware-build-manifest.js +1 -1
  52. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  53. package/.next/server/next-font-manifest.js +1 -0
  54. package/.next/server/next-font-manifest.json +1 -0
  55. package/.next/server/pages/404.js +1 -391
  56. package/.next/server/pages/404.js.nft.json +1 -1
  57. package/.next/server/pages/500.js +1 -395
  58. package/.next/server/pages/500.js.nft.json +1 -1
  59. package/.next/server/pages/[...slug].js +1 -1071
  60. package/.next/server/pages/[...slug].js.nft.json +1 -1
  61. package/.next/server/pages/[slug]/p.js +1 -2315
  62. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  63. package/.next/server/pages/_app.js +1 -301
  64. package/.next/server/pages/_app.js.nft.json +1 -1
  65. package/.next/server/pages/_document.js +1 -363
  66. package/.next/server/pages/_document.js.nft.json +1 -1
  67. package/.next/server/pages/_error.js +1 -164
  68. package/.next/server/pages/_error.js.nft.json +1 -1
  69. package/.next/server/pages/account.js +1 -370
  70. package/.next/server/pages/account.js.nft.json +1 -1
  71. package/.next/server/pages/api/graphql.js +1 -3085
  72. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  73. package/.next/server/pages/api/health/live.js +1 -31
  74. package/.next/server/pages/api/health/live.js.nft.json +1 -1
  75. package/.next/server/pages/api/health/ready.js +1 -31
  76. package/.next/server/pages/api/health/ready.js.nft.json +1 -1
  77. package/.next/server/pages/api/preview.js +1 -137
  78. package/.next/server/pages/api/preview.js.nft.json +1 -1
  79. package/.next/server/pages/checkout.js +1 -370
  80. package/.next/server/pages/checkout.js.nft.json +1 -1
  81. package/.next/server/pages/en-US/404.html +2 -2
  82. package/.next/server/pages/en-US/404.json +1 -1
  83. package/.next/server/pages/en-US/500.html +2 -2
  84. package/.next/server/pages/en-US/500.json +1 -1
  85. package/.next/server/pages/en-US/account.html +2 -2
  86. package/.next/server/pages/en-US/checkout.html +2 -2
  87. package/.next/server/pages/en-US/login.html +2 -2
  88. package/.next/server/pages/en-US/login.json +1 -1
  89. package/.next/server/pages/en-US/s.html +2 -2
  90. package/.next/server/pages/en-US.html +4 -4
  91. package/.next/server/pages/en-US.json +1 -1
  92. package/.next/server/pages/index.js +1 -439
  93. package/.next/server/pages/index.js.nft.json +1 -1
  94. package/.next/server/pages/login.js +1 -382
  95. package/.next/server/pages/login.js.nft.json +1 -1
  96. package/.next/server/pages/s.js +1 -554
  97. package/.next/server/pages/s.js.nft.json +1 -1
  98. package/.next/server/pages-manifest.json +1 -18
  99. package/.next/server/webpack-api-runtime.js +1 -229
  100. package/.next/server/webpack-runtime.js +1 -229
  101. package/.next/static/Xf_-r26LvSZnfqjpm_a71/_buildManifest.js +1 -0
  102. package/.next/static/chunks/104-d42a7ff6c8b8dd89.js +1 -0
  103. package/.next/static/chunks/161-b39fe2f79ff7bc85.js +1 -0
  104. package/.next/static/chunks/202.c7d8a71173edecfb.js +1 -0
  105. package/.next/static/chunks/217.01bc0ad07edd6f1b.js +1 -0
  106. package/.next/static/chunks/247.52b3924429a474c6.js +1 -0
  107. package/.next/static/chunks/484.b82b73b1d8c37e02.js +1 -0
  108. package/.next/static/chunks/540.6c62d2536d42a1e0.js +1 -0
  109. package/.next/static/chunks/575-853fb8b1ba4ce8c4.js +14 -0
  110. package/.next/static/chunks/624.d3de62b4562a33f3.js +1 -0
  111. package/.next/static/chunks/629-b7b5ef6f15ecba9d.js +1 -0
  112. package/.next/static/chunks/65.da22595d53beae76.js +1 -0
  113. package/.next/static/chunks/758.b53ee01b506973e0.js +1 -0
  114. package/.next/static/chunks/857.d2299cfe995af21d.js +1 -0
  115. package/.next/static/chunks/framework-8e279965036b6169.js +33 -0
  116. package/.next/static/chunks/main-6f63f6746cc029db.js +1 -0
  117. package/.next/static/chunks/pages/404-1334d11ab8467b3d.js +1 -0
  118. package/.next/static/chunks/pages/500-449c5bd51f98423f.js +1 -0
  119. package/.next/static/chunks/pages/[...slug]-7c8ec664c28eca52.js +1 -0
  120. package/.next/static/chunks/pages/[slug]/p-a4f7d7c00fdf4157.js +1 -0
  121. package/.next/static/chunks/pages/_app-6516d0c2c7e0e686.js +68 -0
  122. package/.next/static/chunks/pages/_error-fbf331a03642b495.js +1 -0
  123. package/.next/static/chunks/pages/account-dbc5c028225cd1ac.js +1 -0
  124. package/.next/static/chunks/pages/checkout-29ae2c37eaf172e1.js +1 -0
  125. package/.next/static/chunks/pages/index-00798cca3b47590d.js +1 -0
  126. package/.next/static/chunks/pages/login-c4d2c856008df5ac.js +1 -0
  127. package/.next/static/chunks/pages/s-dacaed02ad104d73.js +1 -0
  128. package/.next/static/chunks/webpack-1c08d77cfe1b8585.js +1 -0
  129. package/.next/static/css/{021de9c7b050d301.css → 0d45c82d8887a269.css} +1 -1
  130. package/.next/static/css/{e772e7786bb4dee9.css → 211c7542af66d8b4.css} +1 -1
  131. package/.next/static/css/{df588bb98c0b0ca6.css → 2980acad3f8e1028.css} +1 -1
  132. package/.next/static/css/{510895065f32ed2f.css → 4c4d90eb8cb1d2b7.css} +1 -1
  133. package/.next/static/css/{938781cdc945862e.css → 821a5219786be653.css} +1 -1
  134. package/.next/static/css/{def381bf7c69fa2e.css → 96e3fddf695d6aa9.css} +1 -1
  135. package/.next/static/css/{6a7fdc5a21fbead5.css → b9d9ba1b04f3160d.css} +1 -1
  136. package/.next/static/css/{9558da13053ac066.css → cff9aafa16fccc9c.css} +1 -1
  137. package/.next/static/css/{7e897ebb936fac09.css → d586715f4f707df4.css} +1 -1
  138. package/.next/static/css/{cb7d1fcea42fab9c.css → e32410b31c666cb2.css} +1 -1
  139. package/.next/trace +91 -82
  140. package/.turbo/turbo-build.log +37 -42
  141. package/.turbo/turbo-lint.log +0 -3
  142. package/.turbo/turbo-test.log +9 -9
  143. package/@generated/gql.ts +196 -0
  144. package/@generated/{graphql/index.ts → graphql.ts} +718 -252
  145. package/@generated/index.ts +1 -0
  146. package/@generated/persisted-documents.json +13 -0
  147. package/api/index.ts +1 -1
  148. package/cms/faststore/content-types.json +18 -0
  149. package/cms/faststore/sections.json +73 -0
  150. package/codegen.ts +61 -0
  151. package/index.ts +1 -0
  152. package/jest.config.js +9 -1
  153. package/next.config.js +2 -0
  154. package/package.json +14 -10
  155. package/src/components/product/ProductCard/ProductCard.tsx +4 -4
  156. package/src/components/search/Filter/Filter.tsx +4 -3
  157. package/src/components/sections/EmptyState/DefaultComponents.ts +5 -0
  158. package/src/components/sections/EmptyState/EmptyState.tsx +91 -8
  159. package/src/components/sections/EmptyState/OverriddenDefaultEmptyState.ts +15 -0
  160. package/src/components/sections/ProductDetails/ProductDetails.tsx +6 -6
  161. package/src/components/ui/Image/Image.tsx +1 -1
  162. package/src/customizations/src/fragments/ClientManyProducts.ts +3 -3
  163. package/src/customizations/src/fragments/ClientProduct.ts +3 -3
  164. package/src/customizations/src/fragments/ClientProductGallery.ts +3 -3
  165. package/src/customizations/src/fragments/ClientSearchSuggestions.ts +3 -3
  166. package/src/customizations/src/fragments/ClientShippingSimulation.ts +3 -3
  167. package/src/customizations/src/fragments/ClientTopSearchSuggestions.ts +3 -3
  168. package/src/customizations/src/fragments/ServerCollectionPage.ts +3 -3
  169. package/src/customizations/src/fragments/ServerProduct.ts +3 -3
  170. package/src/pages/404.tsx +32 -30
  171. package/src/pages/500.tsx +32 -34
  172. package/src/pages/[...slug].tsx +4 -4
  173. package/src/pages/[slug]/p.tsx +7 -7
  174. package/src/pages/api/graphql.ts +10 -4
  175. package/src/pages/login.tsx +31 -8
  176. package/src/sdk/cart/index.ts +3 -3
  177. package/src/sdk/graphql/prefetchQuery.ts +4 -3
  178. package/src/sdk/graphql/request.ts +67 -8
  179. package/src/sdk/graphql/useLazyQuery.ts +4 -3
  180. package/src/sdk/graphql/useQuery.ts +7 -3
  181. package/src/sdk/newsletter/useNewsletter.ts +4 -4
  182. package/src/sdk/product/usePageProductsQuery.ts +3 -3
  183. package/src/sdk/product/useProductGalleryQuery.ts +10 -8
  184. package/src/sdk/product/useProductQuery.ts +3 -3
  185. package/src/sdk/product/useProductsPrefetch.ts +5 -3
  186. package/src/sdk/product/useProductsQuery.ts +3 -4
  187. package/src/sdk/search/useSuggestions.ts +3 -3
  188. package/src/sdk/search/useTopSearch.ts +3 -4
  189. package/src/sdk/session/index.ts +4 -4
  190. package/src/sdk/shipping/index.ts +3 -3
  191. package/src/server/generator/schema.ts +1 -1
  192. package/src/server/index.ts +11 -6
  193. package/src/typings/overrides.ts +3 -2
  194. package/test/server/index.test.ts +6 -1
  195. package/.babelrc +0 -4
  196. package/.next/cache/next-server.js.nft.json +0 -1
  197. package/.next/server/chunks/117.js +0 -427
  198. package/.next/server/chunks/177.js +0 -125
  199. package/.next/server/chunks/183.js +0 -122
  200. package/.next/server/chunks/184.js +0 -61
  201. package/.next/server/chunks/289.js +0 -243
  202. package/.next/server/chunks/312.js +0 -676
  203. package/.next/server/chunks/350.js +0 -2898
  204. package/.next/server/chunks/386.js +0 -200
  205. package/.next/server/chunks/574.js +0 -145
  206. package/.next/server/chunks/576.js +0 -122
  207. package/.next/server/chunks/585.js +0 -639
  208. package/.next/server/chunks/632.js +0 -514
  209. package/.next/server/chunks/661.js +0 -1451
  210. package/.next/server/chunks/676.js +0 -32
  211. package/.next/server/chunks/719.js +0 -84
  212. package/.next/server/chunks/74.js +0 -4152
  213. package/.next/server/chunks/825.js +0 -4074
  214. package/.next/server/chunks/854.js +0 -72
  215. package/.next/server/chunks/863.js +0 -111
  216. package/.next/server/chunks/898.js +0 -711
  217. package/.next/server/chunks/903.js +0 -1926
  218. package/.next/server/chunks/98.js +0 -163
  219. package/.next/server/chunks/988.js +0 -211
  220. package/.next/static/JJRI44e-3F3WVhD-DxmO2/_buildManifest.js +0 -1
  221. package/.next/static/chunks/223-cb77217cce52d45c.js +0 -1
  222. package/.next/static/chunks/251.11f5198fc8bef3a4.js +0 -1
  223. package/.next/static/chunks/386.d01e0db26c523f0f.js +0 -1
  224. package/.next/static/chunks/397-0d3aada1012cd78b.js +0 -1
  225. package/.next/static/chunks/574.70612be06fd1365f.js +0 -1
  226. package/.next/static/chunks/585.6561778b7763b79e.js +0 -1
  227. package/.next/static/chunks/651.7142f31ce1e052b3.js +0 -1
  228. package/.next/static/chunks/675-479a97aecebead97.js +0 -1
  229. package/.next/static/chunks/741.52f7fb873418346f.js +0 -1
  230. package/.next/static/chunks/800.5d92de2974baf641.js +0 -1
  231. package/.next/static/chunks/881-57643fb90f59e576.js +0 -1
  232. package/.next/static/chunks/98.40c7e17d9de4eb8f.js +0 -1
  233. package/.next/static/chunks/988.afda042dd9ba11d1.js +0 -1
  234. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +0 -1
  235. package/.next/static/chunks/main-e4e873ee741162eb.js +0 -1
  236. package/.next/static/chunks/pages/404-e106cb9a78182f5f.js +0 -1
  237. package/.next/static/chunks/pages/500-d28aa4a8ce88bddd.js +0 -1
  238. package/.next/static/chunks/pages/[...slug]-c4abcc133f85d9d0.js +0 -1
  239. package/.next/static/chunks/pages/[slug]/p-4a75b11857b82b5c.js +0 -1
  240. package/.next/static/chunks/pages/_app-30b9666307e4b3b1.js +0 -1
  241. package/.next/static/chunks/pages/_error-319451dea77827a6.js +0 -1
  242. package/.next/static/chunks/pages/account-bf9c88a9cac80d8a.js +0 -1
  243. package/.next/static/chunks/pages/checkout-6ca76c1e88a28ac4.js +0 -1
  244. package/.next/static/chunks/pages/index-629ba146ae5f0ecf.js +0 -1
  245. package/.next/static/chunks/pages/login-d2af0de13ea75848.js +0 -1
  246. package/.next/static/chunks/pages/s-d729254b91430d1c.js +0 -1
  247. package/.next/static/chunks/webpack-54ce04ec11860b0b.js +0 -1
  248. package/@generated/graphql/persisted.json +0 -13
  249. package/codegen.yml +0 -23
  250. package/src/components/sections/EmptyState/Overrides.tsx +0 -14
  251. package/.next/static/{JJRI44e-3F3WVhD-DxmO2 → Xf_-r26LvSZnfqjpm_a71}/_ssgManifest.js +0 -0
  252. package/@generated/{graphql/schema.graphql → schema.graphql} +508 -508
@@ -1,711 +0,0 @@
1
- exports.id = 898;
2
- exports.ids = [898];
3
- exports.modules = {
4
-
5
- /***/ 1635:
6
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
-
8
- "use strict";
9
-
10
- // EXPORTS
11
- __webpack_require__.d(__webpack_exports__, {
12
- "V": () => (/* binding */ OverriddenDefaultHero)
13
- });
14
-
15
- ;// CONCATENATED MODULE: ./src/customizations/src/components/overrides/Hero.tsx
16
- // This is an example of how it can be used on the starter.
17
- const SECTION = 'Hero';
18
- const override = {
19
- section: SECTION
20
- };
21
-
22
- // EXTERNAL MODULE: ./src/sdk/overrides/getOverriddenSection.tsx
23
- var getOverriddenSection = __webpack_require__(8788);
24
- // EXTERNAL MODULE: ./src/components/ui/Image/Image.tsx + 1 modules
25
- var Image = __webpack_require__(5731);
26
- // EXTERNAL MODULE: ./src/sdk/overrides/OverrideContext.tsx
27
- var OverrideContext = __webpack_require__(5522);
28
- // EXTERNAL MODULE: ./src/components/sections/Section/Section.tsx
29
- var Section = __webpack_require__(3271);
30
- // EXTERNAL MODULE: ./src/components/sections/Hero/section.module.scss
31
- var section_module = __webpack_require__(6717);
32
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
33
- // EXTERNAL MODULE: external "react"
34
- var external_react_ = __webpack_require__(6689);
35
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
36
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/Hero/Hero.js
37
-
38
- const HeroContext = (0,external_react_.createContext)(undefined);
39
- const Hero = (0,external_react_.forwardRef)(function Hero({ children, testId = 'fs-hero', variant = 'primary', colorVariant = 'main', ...otherProps }, ref) {
40
- const context = { variant, colorVariant };
41
- return (external_react_default().createElement(HeroContext.Provider, { value: context },
42
- external_react_default().createElement("article", { ref: ref, "data-fs-hero": true, "data-fs-hero-variant": variant, "data-fs-hero-color-variant": colorVariant, "data-testid": testId, ...otherProps }, children)));
43
- });
44
- function useHero() {
45
- const context = (0,external_react_.useContext)(HeroContext);
46
- if (context === undefined) {
47
- throw new Error('Do not use Hero components outside the Hero context.');
48
- }
49
- return context;
50
- }
51
- /* harmony default export */ const Hero_Hero = (Hero);
52
- //# sourceMappingURL=Hero.js.map
53
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/Hero/HeroImage.js
54
-
55
- const HeroImage = (0,external_react_.forwardRef)(function HeroImage({ children, testId = 'fs-hero-image', ...otherProps }, ref) {
56
- return (external_react_default().createElement("div", { ref: ref, "data-fs-hero-image": true, "data-testid": testId, ...otherProps }, children));
57
- });
58
- /* harmony default export */ const Hero_HeroImage = (HeroImage);
59
- //# sourceMappingURL=HeroImage.js.map
60
- // EXTERNAL MODULE: ../components/dist/esm/molecules/LinkButton/LinkButton.js
61
- var LinkButton = __webpack_require__(3922);
62
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
63
- var Icon = __webpack_require__(2614);
64
- ;// CONCATENATED MODULE: ../components/dist/esm/organisms/Hero/HeroHeader.js
65
-
66
-
67
-
68
- const HeroHeader = (0,external_react_.forwardRef)(function HeroHeader({ icon, link, title, linkText, linkTargetBlank, subtitle, children, testId = 'fs-hero-heading', ...otherProps }, ref) {
69
- const { variant, colorVariant } = useHero();
70
- return (external_react_default().createElement("header", { ref: ref, "data-fs-hero-heading": true, "data-testid": testId, ...otherProps },
71
- external_react_default().createElement("div", { "data-fs-hero-wrapper": true, "data-fs-content": "hero" },
72
- external_react_default().createElement("div", { "data-fs-hero-info": true },
73
- external_react_default().createElement("h1", { "data-fs-hero-title": true }, title),
74
- external_react_default().createElement("p", { "data-fs-hero-subtitle": true }, subtitle),
75
- !!link && (external_react_default().createElement(LinkButton/* default */.Z, { href: link, inverse: colorVariant === 'main', icon: external_react_default().createElement(Icon/* default */.Z, { name: "ArrowRight" }), iconPosition: "right", target: linkTargetBlank ? '_blank' : undefined }, linkText))),
76
- !!icon && variant === 'secondary' && (external_react_default().createElement("span", { "data-fs-hero-icon": true }, icon)))));
77
- });
78
- /* harmony default export */ const Hero_HeroHeader = (HeroHeader);
79
- //# sourceMappingURL=HeroHeader.js.map
80
- ;// CONCATENATED MODULE: ./src/components/sections/Hero/DefaultComponents.ts
81
-
82
- const HeroDefaultComponents = {
83
- Hero: Hero_Hero,
84
- HeroImage: Hero_HeroImage,
85
- HeroHeader: Hero_HeroHeader
86
- };
87
- // EXTERNAL MODULE: external "react/jsx-runtime"
88
- var jsx_runtime_ = __webpack_require__(997);
89
- ;// CONCATENATED MODULE: ./src/components/sections/Hero/Hero.tsx
90
- 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; }
91
-
92
- 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; }
93
-
94
- 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; }
95
-
96
-
97
-
98
-
99
-
100
-
101
-
102
-
103
-
104
-
105
- const Hero_Hero_Hero = ({
106
- link,
107
- title,
108
- subtitle,
109
- image,
110
- variant,
111
- colorVariant,
112
- icon
113
- }) => {
114
- const {
115
- Hero: HeroWrapper,
116
- HeroImage,
117
- HeroHeader
118
- } = (0,OverrideContext/* useOverrideComponents */.r3)();
119
- return /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
120
- className: `${(section_module_default()).section} section-hero`,
121
- children: /*#__PURE__*/(0,jsx_runtime_.jsxs)(HeroWrapper.Component, _objectSpread(_objectSpread({}, HeroWrapper.props), {}, {
122
- variant: variant ?? HeroWrapper.props.variant ?? 'primary',
123
- colorVariant: colorVariant ?? HeroWrapper.props.colorVariant ?? 'main',
124
- children: [/*#__PURE__*/jsx_runtime_.jsx(HeroImage.Component, _objectSpread(_objectSpread({}, HeroImage.props), {}, {
125
- children: /*#__PURE__*/jsx_runtime_.jsx(Image/* default */.Z, {
126
- loading: "eager",
127
- src: image.src,
128
- alt: image.alt,
129
- width: 360,
130
- height: 240,
131
- sizes: "(max-width: 360px) 50vw, (max-width: 768px) 90vw, 50vw"
132
- })
133
- })), /*#__PURE__*/jsx_runtime_.jsx(HeroHeader.Component, _objectSpread({
134
- title: title,
135
- subtitle: subtitle,
136
- link: link?.url,
137
- linkText: link?.text,
138
- linkTargetBlank: link?.linkTargetBlank,
139
- icon: icon
140
- }, HeroHeader.props))]
141
- }))
142
- });
143
- };
144
-
145
- const OverridableHero = (0,getOverriddenSection/* getOverridableSection */.B)('Hero', Hero_Hero_Hero, HeroDefaultComponents);
146
- /* harmony default export */ const sections_Hero_Hero = (OverridableHero);
147
- ;// CONCATENATED MODULE: ./src/components/sections/Hero/OverriddenDefaultHero.ts
148
- function OverriddenDefaultHero_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; }
149
-
150
- function OverriddenDefaultHero_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? OverriddenDefaultHero_ownKeys(Object(source), !0).forEach(function (key) { OverriddenDefaultHero_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : OverriddenDefaultHero_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
151
-
152
- function OverriddenDefaultHero_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; }
153
-
154
-
155
-
156
-
157
-
158
- /**
159
- * This component exists to support overrides 1.0
160
- *
161
- * This allows users to override the default Hero section present in the Headless CMS
162
- */
163
- const OverriddenDefaultHero = (0,getOverriddenSection/* getOverriddenSection */.v)(OverriddenDefaultHero_objectSpread(OverriddenDefaultHero_objectSpread({}, override), {}, {
164
- Section: sections_Hero_Hero
165
- }));
166
-
167
- /***/ }),
168
-
169
- /***/ 5247:
170
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
171
-
172
- "use strict";
173
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
174
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
175
- /* harmony export */ });
176
- /* harmony import */ var src_components_ui_Incentives_Incentives__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2411);
177
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3271);
178
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7952);
179
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_2__);
180
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
181
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
182
-
183
-
184
-
185
-
186
-
187
- function Incentives({
188
- incentives
189
- }) {
190
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Section__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
191
- className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_2___default().section)} section-incentives layout__section`,
192
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_ui_Incentives_Incentives__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
193
- incentives: incentives,
194
- colored: true
195
- })
196
- });
197
- }
198
-
199
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Incentives);
200
-
201
- /***/ }),
202
-
203
- /***/ 2432:
204
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
205
-
206
- "use strict";
207
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
208
- /* harmony export */ "B": () => (/* binding */ ProductShelfDefaultComponents)
209
- /* harmony export */ });
210
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6737);
211
- /* harmony import */ var src_components_product_ProductCard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8553);
212
- /* harmony import */ var src_components_ui_Carousel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8619);
213
-
214
-
215
-
216
- const ProductShelfDefaultComponents = {
217
- ProductShelf: _faststore_ui__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z,
218
- __experimentalCarousel: src_components_ui_Carousel__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z,
219
- __experimentalProductCard: src_components_product_ProductCard__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z
220
- };
221
-
222
- /***/ }),
223
-
224
- /***/ 8195:
225
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
226
-
227
- "use strict";
228
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
229
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
230
- /* harmony export */ "T": () => (/* binding */ OverriddenDefaultProductShelf)
231
- /* harmony export */ });
232
- /* harmony import */ var src_customizations_src_components_overrides_ProductShelf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2009);
233
- /* harmony import */ var src_sdk_overrides_getOverriddenSection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8788);
234
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8569);
235
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([___WEBPACK_IMPORTED_MODULE_2__]);
236
- ___WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
237
- 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; }
238
-
239
- 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; }
240
-
241
- 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; }
242
-
243
-
244
-
245
-
246
-
247
- /**
248
- * This component exists to support overrides 1.0
249
- *
250
- * This allows users to override the default ProductShelf section present in the Headless CMS
251
- */
252
- const OverriddenDefaultProductShelf = (0,src_sdk_overrides_getOverriddenSection__WEBPACK_IMPORTED_MODULE_0__/* .getOverriddenSection */ .v)(_objectSpread(_objectSpread({}, src_customizations_src_components_overrides_ProductShelf__WEBPACK_IMPORTED_MODULE_1__/* .override */ .K), {}, {
253
- Section: ___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z
254
- }));
255
- __webpack_async_result__();
256
- } catch(e) { __webpack_async_result__(e); } });
257
-
258
- /***/ }),
259
-
260
- /***/ 8569:
261
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
262
-
263
- "use strict";
264
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
265
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
266
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
267
- /* harmony export */ });
268
- /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9785);
269
- /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_intersection_observer__WEBPACK_IMPORTED_MODULE_0__);
270
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3271);
271
- /* harmony import */ var _components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7691);
272
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6627);
273
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_3__);
274
- /* harmony import */ var _DefaultComponents__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2432);
275
- /* harmony import */ var _sdk_overrides_getOverriddenSection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8788);
276
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(997);
277
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
278
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_4__]);
279
- _components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
280
- 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; }
281
-
282
- 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; }
283
-
284
- 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; }
285
-
286
-
287
-
288
-
289
-
290
-
291
-
292
-
293
-
294
- function ProductShelfSection(_ref) {
295
- let otherProps = Object.assign({}, _ref);
296
- const {
297
- ref,
298
- inView
299
- } = (0,react_intersection_observer__WEBPACK_IMPORTED_MODULE_0__.useInView)();
300
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(_Section__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
301
- className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_3___default().section)} section-product-shelf layout__section`,
302
- ref: ref,
303
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(_components_ui_ProductShelf__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, _objectSpread({
304
- inView: inView
305
- }, otherProps))
306
- });
307
- }
308
-
309
- const OverridableProductShelf = (0,_sdk_overrides_getOverriddenSection__WEBPACK_IMPORTED_MODULE_5__/* .getOverridableSection */ .B)('ProductShelf', ProductShelfSection, _DefaultComponents__WEBPACK_IMPORTED_MODULE_6__/* .ProductShelfDefaultComponents */ .B);
310
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OverridableProductShelf);
311
- __webpack_async_result__();
312
- } catch(e) { __webpack_async_result__(e); } });
313
-
314
- /***/ }),
315
-
316
- /***/ 2834:
317
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
318
-
319
- "use strict";
320
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
321
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
322
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
323
- /* harmony export */ });
324
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
325
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
326
- /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9785);
327
- /* harmony import */ var react_intersection_observer__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_intersection_observer__WEBPACK_IMPORTED_MODULE_1__);
328
- /* harmony import */ var src_components_product_ProductCard__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8553);
329
- /* harmony import */ var src_components_skeletons_ProductTilesSkeleton__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8860);
330
- /* harmony import */ var src_components_ui_Tiles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6971);
331
- /* harmony import */ var src_components_ui_Tiles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7901);
332
- /* harmony import */ var src_sdk_analytics_hooks_useViewItemListEvent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5184);
333
- /* harmony import */ var src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4867);
334
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3271);
335
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2366);
336
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_6__);
337
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(997);
338
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
339
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_3__]);
340
- src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
341
- const _excluded = ["title"];
342
-
343
- 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; }
344
-
345
- 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; }
346
-
347
-
348
-
349
-
350
-
351
-
352
-
353
-
354
-
355
-
356
-
357
-
358
- const NUMBER_ITEMS_TO_EXPAND_FIRST = 3;
359
- const NUMBER_ITEMS_TO_EXPAND_FIRST_TWO = 2;
360
-
361
- const getRatio = (products, idx) => {
362
- const expandsFirstTile = products === NUMBER_ITEMS_TO_EXPAND_FIRST && idx === 0;
363
- const expandsFirstTwoTile = products === NUMBER_ITEMS_TO_EXPAND_FIRST_TWO && (idx === 0 || idx === 1);
364
-
365
- if (expandsFirstTile || expandsFirstTwoTile) {
366
- return 5 / 3;
367
- }
368
-
369
- return 3 / 4;
370
- };
371
-
372
- const getSizes = (products, idx) => {
373
- const expandsFirstTile = products === NUMBER_ITEMS_TO_EXPAND_FIRST && idx === 0;
374
- const expandsFirstTwoTile = products === NUMBER_ITEMS_TO_EXPAND_FIRST_TWO && (idx === 0 || idx === 1);
375
-
376
- if (expandsFirstTile || expandsFirstTwoTile) {
377
- return {
378
- width: 594,
379
- height: 364
380
- };
381
- }
382
-
383
- return {
384
- width: 284,
385
- height: 364
386
- };
387
- };
388
-
389
- const ProductTiles = _ref => {
390
- let {
391
- title
392
- } = _ref,
393
- variables = _objectWithoutProperties(_ref, _excluded);
394
-
395
- const viewedOnce = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
396
- const {
397
- ref,
398
- inView
399
- } = (0,react_intersection_observer__WEBPACK_IMPORTED_MODULE_1__.useInView)();
400
- const data = (0,src_sdk_product_useProductsQuery__WEBPACK_IMPORTED_MODULE_3__/* .useProductsQuery */ .k)(variables);
401
- const products = data?.search?.products;
402
- const productEdges = products?.edges ?? [];
403
- const {
404
- sendViewItemListEvent
405
- } = (0,src_sdk_analytics_hooks_useViewItemListEvent__WEBPACK_IMPORTED_MODULE_4__/* .useViewItemListEvent */ .m)({
406
- products: productEdges,
407
- title,
408
- page: 0,
409
- pageSize: 0
410
- });
411
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
412
- if (inView && !viewedOnce.current && productEdges.length) {
413
- sendViewItemListEvent();
414
- viewedOnce.current = true;
415
- }
416
- }, [inView, productEdges.length, sendViewItemListEvent]);
417
-
418
- if (products?.edges.length === 0) {
419
- return null;
420
- }
421
-
422
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(_Section__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
423
- className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_6___default().section)} section-product-tiles layout__section`,
424
- ref: ref,
425
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx("h2", {
426
- className: "text__title-section layout__content",
427
- children: title
428
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_skeletons_ProductTilesSkeleton__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
429
- loading: !products,
430
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_ui_Tiles__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
431
- children: productEdges.map((product, idx) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_ui_Tiles__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
432
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_product_ProductCard__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
433
- "data-testid": "tile-card",
434
- product: product.node,
435
- index: idx + 1,
436
- variant: "wide",
437
- aspectRatio: getRatio(productEdges.length, idx),
438
- imgProps: getSizes(productEdges.length, idx)
439
- })
440
- }, product.node.id))
441
- })
442
- })]
443
- });
444
- };
445
-
446
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProductTiles);
447
- __webpack_async_result__();
448
- } catch(e) { __webpack_async_result__(e); } });
449
-
450
- /***/ }),
451
-
452
- /***/ 8860:
453
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
454
-
455
- "use strict";
456
-
457
- // EXPORTS
458
- __webpack_require__.d(__webpack_exports__, {
459
- "Z": () => (/* binding */ ProductTilesSkeleton_ProductTilesSkeleton)
460
- });
461
-
462
- // EXTERNAL MODULE: ./src/components/ui/Tiles/Tiles.tsx + 1 modules
463
- var Tiles = __webpack_require__(6971);
464
- // EXTERNAL MODULE: ../ui/dist/esm/components/organisms/Tiles/Tile.js
465
- var Tile = __webpack_require__(7901);
466
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Skeleton/Skeleton.js
467
- var Skeleton = __webpack_require__(792);
468
- // EXTERNAL MODULE: external "react/jsx-runtime"
469
- var jsx_runtime_ = __webpack_require__(997);
470
- ;// CONCATENATED MODULE: ./src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/ProductTileSkeleton.tsx
471
-
472
-
473
-
474
-
475
- function ProductTileSkeleton({
476
- index,
477
- aspectRatio = 1
478
- }) {
479
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
480
- "data-fs-product-tile-skeleton": true,
481
- "data-fs-product-tile-skeleton-index": index,
482
- children: [/*#__PURE__*/jsx_runtime_.jsx("div", {
483
- "data-fs-product-tile-skeleton-image": true,
484
- "data-fs-product-tile-skeleton-index": index,
485
- style: {
486
- '--fs-product-tile-skeleton-image-aspect-ratio': aspectRatio
487
- },
488
- children: /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
489
- size: {
490
- width: 'auto',
491
- height: '100%'
492
- },
493
- loading: true
494
- })
495
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
496
- "data-fs-product-tile-skeleton-content": true,
497
- "data-fs-product-tile-skeleton-index": index,
498
- children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
499
- "data-fs-product-tile-skeleton-heading": true,
500
- children: [/*#__PURE__*/jsx_runtime_.jsx("div", {
501
- "data-fs-product-tile-skeleton-text": true,
502
- "data-fs-product-tile-skeleton-index": index,
503
- children: /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
504
- size: {
505
- width: '70%',
506
- height: '1.5rem'
507
- }
508
- })
509
- }), /*#__PURE__*/jsx_runtime_.jsx("div", {
510
- "data-fs-product-tile-skeleton-price": true,
511
- children: /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
512
- size: {
513
- width: '60%',
514
- height: '1.5rem'
515
- }
516
- })
517
- })]
518
- }), /*#__PURE__*/jsx_runtime_.jsx("div", {
519
- "data-fs-product-tile-skeleton-badge": true,
520
- "data-fs-product-tile-skeleton-index": index,
521
- children: /*#__PURE__*/jsx_runtime_.jsx(Skeleton/* default */.Z, {
522
- size: {
523
- width: '6rem',
524
- height: '2rem'
525
- },
526
- border: "pill"
527
- })
528
- })]
529
- })]
530
- });
531
- }
532
-
533
- /* harmony default export */ const ProductTileSkeleton_ProductTileSkeleton = (ProductTileSkeleton);
534
- ;// CONCATENATED MODULE: ./src/components/skeletons/ProductTilesSkeleton/ProductTilesSkeleton.tsx
535
-
536
- // TODO: // Replace it when items number become dynamically defined
537
-
538
-
539
-
540
- const DEFAULT_ITEMS_NUMBER = 3;
541
- const DEFAULT_ITEMS_NUMBER_TWO = 2;
542
-
543
- const getRatio = (products, idx) => {
544
- const expandsFirstTile = products === DEFAULT_ITEMS_NUMBER && idx === 0;
545
- const expandsFirstTwoTile = products === DEFAULT_ITEMS_NUMBER_TWO && (idx === 0 || idx === 1);
546
-
547
- if (expandsFirstTile || expandsFirstTwoTile) {
548
- return 5 / 3;
549
- }
550
-
551
- return 3 / 4;
552
- };
553
-
554
- function ProductTilesSkeleton({
555
- children,
556
- loading = true
557
- }) {
558
- return loading ? /*#__PURE__*/jsx_runtime_.jsx(Tiles/* default */.Z, {
559
- children: Array.from({
560
- length: DEFAULT_ITEMS_NUMBER
561
- }, (_, index) => /*#__PURE__*/jsx_runtime_.jsx(Tile/* default */.Z, {
562
- children: /*#__PURE__*/jsx_runtime_.jsx(ProductTileSkeleton_ProductTileSkeleton, {
563
- index: index + 1,
564
- aspectRatio: getRatio(DEFAULT_ITEMS_NUMBER, index)
565
- })
566
- }, String(index)))
567
- }) : /*#__PURE__*/jsx_runtime_.jsx(jsx_runtime_.Fragment, {
568
- children: children
569
- });
570
- }
571
-
572
- /* harmony default export */ const ProductTilesSkeleton_ProductTilesSkeleton = (ProductTilesSkeleton);
573
-
574
- /***/ }),
575
-
576
- /***/ 6971:
577
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
578
-
579
- "use strict";
580
-
581
- // EXPORTS
582
- __webpack_require__.d(__webpack_exports__, {
583
- "Z": () => (/* binding */ ui_Tiles_Tiles)
584
- });
585
-
586
- // EXTERNAL MODULE: external "react"
587
- var external_react_ = __webpack_require__(6689);
588
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
589
- ;// CONCATENATED MODULE: ../ui/dist/esm/components/organisms/Tiles/Tiles.js
590
-
591
-
592
- const MIN_CHILDREN = 2;
593
- const MAX_CHILDREN = 4;
594
- const NUMBER_ITEMS_TO_EXPAND_FIRST_TWO = 2;
595
- const NUMBER_ITEMS_TO_EXPAND_FIRST = 3;
596
- const Tiles = (0,external_react_.forwardRef)(function Tiles({ testId = 'store-tiles', children, ...otherProps }, ref) {
597
- const childrenCount = external_react_.Children.count(children);
598
- if (false) {}
599
- if (false) {}
600
- const expandedClass = childrenCount === NUMBER_ITEMS_TO_EXPAND_FIRST
601
- ? 'expanded-first'
602
- : childrenCount === NUMBER_ITEMS_TO_EXPAND_FIRST_TWO
603
- ? 'expanded-first-two'
604
- : '';
605
- return (external_react_default().createElement("ul", { ref: ref, role: "list", "data-fs-tiles": true, "data-fs-tiles-variant": expandedClass, "data-fs-content": "tiles", "data-testid": testId, ...otherProps }, children));
606
- });
607
- /* harmony default export */ const Tiles_Tiles = (Tiles);
608
- //# sourceMappingURL=Tiles.js.map
609
- // EXTERNAL MODULE: external "react/jsx-runtime"
610
- var jsx_runtime_ = __webpack_require__(997);
611
- ;// CONCATENATED MODULE: ./src/components/ui/Tiles/Tiles.tsx
612
- const _excluded = ["children"];
613
-
614
- 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; }
615
-
616
- 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; }
617
-
618
- 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; }
619
-
620
- 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; }
621
-
622
- 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; }
623
-
624
-
625
-
626
-
627
- const Tiles_Tiles_Tiles = _ref => {
628
- let {
629
- children
630
- } = _ref,
631
- otherProps = _objectWithoutProperties(_ref, _excluded);
632
-
633
- return /*#__PURE__*/jsx_runtime_.jsx(Tiles_Tiles, _objectSpread(_objectSpread({}, otherProps), {}, {
634
- children: children
635
- }));
636
- };
637
-
638
- /* harmony default export */ const ui_Tiles_Tiles = (Tiles_Tiles_Tiles);
639
-
640
- /***/ }),
641
-
642
- /***/ 2009:
643
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
644
-
645
- "use strict";
646
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
647
- /* harmony export */ "K": () => (/* binding */ override)
648
- /* harmony export */ });
649
- // This is an example of how it can be used on the starter.
650
- const SECTION = 'ProductShelf';
651
- const override = {
652
- section: SECTION
653
- };
654
-
655
-
656
- /***/ }),
657
-
658
- /***/ 6717:
659
- /***/ ((module) => {
660
-
661
- // Exports
662
- module.exports = {
663
- "section": "section_section__WY2pp"
664
- };
665
-
666
-
667
- /***/ }),
668
-
669
- /***/ 7952:
670
- /***/ ((module) => {
671
-
672
- // Exports
673
- module.exports = {
674
- "section": "section_section__rUfAR"
675
- };
676
-
677
-
678
- /***/ }),
679
-
680
- /***/ 2366:
681
- /***/ ((module) => {
682
-
683
- // Exports
684
- module.exports = {
685
- "section": "section_section__hGuvG",
686
- "loading": "section_loading__GpWrl"
687
- };
688
-
689
-
690
- /***/ }),
691
-
692
- /***/ 7901:
693
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
694
-
695
- "use strict";
696
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
697
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
698
- /* harmony export */ });
699
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
700
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
701
-
702
- const Tile = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Tile({ testId = 'store-tile', children, ...otherProps }, ref) {
703
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", { ref: ref, role: "listitem", "data-fs-tile": true, "data-testid": testId, ...otherProps }, children));
704
- });
705
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Tile);
706
- //# sourceMappingURL=Tile.js.map
707
-
708
- /***/ })
709
-
710
- };
711
- ;