@faststore/core 2.0.83-alpha.0 → 2.0.87-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/.turbo/turbo-build.log +6 -7
  2. package/CHANGELOG.md +12 -0
  3. package/package.json +4 -4
  4. package/src/Layout.tsx +2 -2
  5. package/src/components/common/Toast/Toast.tsx +2 -4
  6. package/src/components/sections/Newsletter/Newsletter.tsx +5 -5
  7. package/src/components/sections/ProductDetails/ProductDetails.tsx +7 -5
  8. package/src/components/sections/ProductDetails/product-details.module.scss +0 -5
  9. package/src/components/ui/SkuSelector/Selectors.stories.mdx +5 -1
  10. package/src/components/ui/SkuSelector/Selectors.tsx +40 -54
  11. package/src/components/ui/SkuSelector/index.ts +0 -2
  12. package/src/sdk/cart/index.ts +2 -2
  13. package/.next/BUILD_ID +0 -1
  14. package/.next/build-manifest.json +0 -103
  15. package/.next/cache/.tsbuildinfo +0 -1
  16. package/.next/cache/config.json +0 -7
  17. package/.next/cache/eslint/.cache_1gneedd +0 -1
  18. package/.next/cache/next-server.js.nft.json +0 -1
  19. package/.next/cache/webpack/client-production/0.pack +0 -0
  20. package/.next/cache/webpack/client-production/index.pack +0 -0
  21. package/.next/cache/webpack/server-production/0.pack +0 -0
  22. package/.next/cache/webpack/server-production/index.pack +0 -0
  23. package/.next/export-marker.json +0 -1
  24. package/.next/images-manifest.json +0 -1
  25. package/.next/next-server.js.nft.json +0 -1
  26. package/.next/package.json +0 -1
  27. package/.next/prerender-manifest.json +0 -1
  28. package/.next/react-loadable-manifest.json +0 -52
  29. package/.next/required-server-files.json +0 -1
  30. package/.next/routes-manifest.json +0 -1
  31. package/.next/server/chunks/1317.js +0 -125
  32. package/.next/server/chunks/1394.js +0 -3801
  33. package/.next/server/chunks/1444.js +0 -464
  34. package/.next/server/chunks/1608.js +0 -515
  35. package/.next/server/chunks/2154.js +0 -206
  36. package/.next/server/chunks/2439.js +0 -175
  37. package/.next/server/chunks/247.js +0 -61
  38. package/.next/server/chunks/2914.js +0 -96
  39. package/.next/server/chunks/3264.js +0 -67
  40. package/.next/server/chunks/350.js +0 -120
  41. package/.next/server/chunks/3746.js +0 -237
  42. package/.next/server/chunks/3898.js +0 -240
  43. package/.next/server/chunks/4312.js +0 -712
  44. package/.next/server/chunks/4371.js +0 -1467
  45. package/.next/server/chunks/4849.js +0 -664
  46. package/.next/server/chunks/5098.js +0 -124
  47. package/.next/server/chunks/5576.js +0 -72
  48. package/.next/server/chunks/6280.js +0 -417
  49. package/.next/server/chunks/6307.js +0 -109
  50. package/.next/server/chunks/6465.js +0 -91
  51. package/.next/server/chunks/650.js +0 -216
  52. package/.next/server/chunks/676.js +0 -32
  53. package/.next/server/chunks/6859.js +0 -959
  54. package/.next/server/chunks/6881.js +0 -320
  55. package/.next/server/chunks/7104.js +0 -196
  56. package/.next/server/chunks/7183.js +0 -72
  57. package/.next/server/chunks/7377.js +0 -82
  58. package/.next/server/chunks/7732.js +0 -51
  59. package/.next/server/chunks/7992.js +0 -562
  60. package/.next/server/chunks/8098.js +0 -266
  61. package/.next/server/chunks/8287.js +0 -79
  62. package/.next/server/chunks/8872.js +0 -378
  63. package/.next/server/chunks/9143.js +0 -106
  64. package/.next/server/chunks/953.js +0 -674
  65. package/.next/server/chunks/9854.js +0 -72
  66. package/.next/server/chunks/font-manifest.json +0 -1
  67. package/.next/server/font-manifest.json +0 -1
  68. package/.next/server/middleware-build-manifest.js +0 -1
  69. package/.next/server/middleware-manifest.json +0 -6
  70. package/.next/server/middleware-react-loadable-manifest.js +0 -1
  71. package/.next/server/pages/404.js.nft.json +0 -1
  72. package/.next/server/pages/500.js.nft.json +0 -1
  73. package/.next/server/pages/[...slug].js +0 -633
  74. package/.next/server/pages/[...slug].js.nft.json +0 -1
  75. package/.next/server/pages/[slug]/p.js +0 -2586
  76. package/.next/server/pages/[slug]/p.js.nft.json +0 -1
  77. package/.next/server/pages/_app.js +0 -2082
  78. package/.next/server/pages/_app.js.nft.json +0 -1
  79. package/.next/server/pages/_document.js +0 -304
  80. package/.next/server/pages/_document.js.nft.json +0 -1
  81. package/.next/server/pages/_error.js +0 -164
  82. package/.next/server/pages/_error.js.nft.json +0 -1
  83. package/.next/server/pages/account.js.nft.json +0 -1
  84. package/.next/server/pages/api/graphql.js +0 -259
  85. package/.next/server/pages/api/graphql.js.nft.json +0 -1
  86. package/.next/server/pages/api/preview.js +0 -118
  87. package/.next/server/pages/api/preview.js.nft.json +0 -1
  88. package/.next/server/pages/checkout.js.nft.json +0 -1
  89. package/.next/server/pages/en-US/404.html +0 -81
  90. package/.next/server/pages/en-US/500.html +0 -81
  91. package/.next/server/pages/en-US/account.html +0 -81
  92. package/.next/server/pages/en-US/checkout.html +0 -81
  93. package/.next/server/pages/en-US/login.html +0 -81
  94. package/.next/server/pages/en-US/s.html +0 -81
  95. package/.next/server/pages/en-US.html +0 -81
  96. package/.next/server/pages/en-US.json +0 -1
  97. package/.next/server/pages/index.js +0 -428
  98. package/.next/server/pages/index.js.nft.json +0 -1
  99. package/.next/server/pages/login.js.nft.json +0 -1
  100. package/.next/server/pages/s.js.nft.json +0 -1
  101. package/.next/server/pages-manifest.json +0 -16
  102. package/.next/server/webpack-api-runtime.js +0 -229
  103. package/.next/server/webpack-runtime.js +0 -229
  104. package/.next/static/chunks/143.dd8a556e6957baa1.js +0 -1
  105. package/.next/static/chunks/153-a20e3f2da180607e.js +0 -1
  106. package/.next/static/chunks/29.8b3dad75b915d222.js +0 -1
  107. package/.next/static/chunks/307.10facde65af3066a.js +0 -1
  108. package/.next/static/chunks/337-cf283e91e431869b.js +0 -1
  109. package/.next/static/chunks/351-a4e28d64f48c5269.js +0 -1
  110. package/.next/static/chunks/380-efd3541ef85300d5.js +0 -1
  111. package/.next/static/chunks/608.59e69b83f35d9c44.js +0 -1
  112. package/.next/static/chunks/650.807852d1c36bfe44.js +0 -1
  113. package/.next/static/chunks/651.7142f31ce1e052b3.js +0 -1
  114. package/.next/static/chunks/686.41582b9e75eaba89.js +0 -1
  115. package/.next/static/chunks/741.52f7fb873418346f.js +0 -1
  116. package/.next/static/chunks/817-f2821b9a40663949.js +0 -1
  117. package/.next/static/chunks/843.fab5a00e170b4f11.js +0 -1
  118. package/.next/static/chunks/909.787de82e0ed9eea3.js +0 -1
  119. package/.next/static/chunks/98.97381d2021f86cd9.js +0 -1
  120. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +0 -1
  121. package/.next/static/chunks/main-9746772201fe3ac1.js +0 -1
  122. package/.next/static/chunks/pages/404-ba608a2a9f0c420a.js +0 -1
  123. package/.next/static/chunks/pages/500-910883c20541d9ce.js +0 -1
  124. package/.next/static/chunks/pages/[...slug]-51896262f6760bf1.js +0 -1
  125. package/.next/static/chunks/pages/[slug]/p-08c1f443f7d84d0d.js +0 -1
  126. package/.next/static/chunks/pages/_app-81a4a14c7f15c641.js +0 -1
  127. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +0 -1
  128. package/.next/static/chunks/pages/account-f19102933e6fd84c.js +0 -1
  129. package/.next/static/chunks/pages/checkout-f8cb7cb22225ef9d.js +0 -1
  130. package/.next/static/chunks/pages/index-912d65fde37706bb.js +0 -1
  131. package/.next/static/chunks/pages/login-0b9ea80d9fa0f91b.js +0 -1
  132. package/.next/static/chunks/pages/s-86fe1e3303388123.js +0 -1
  133. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  134. package/.next/static/chunks/webpack-1352532ac51c6a2d.js +0 -1
  135. package/.next/static/css/430b8cafbf7c23c1.css +0 -1
  136. package/.next/static/css/43d61b402f41569b.css +0 -1
  137. package/.next/static/css/4d7e7f156483493d.css +0 -1
  138. package/.next/static/css/6507cb48401e73a4.css +0 -1
  139. package/.next/static/css/9dd1d1084d254c66.css +0 -1
  140. package/.next/static/css/9e7c9877b9f78c63.css +0 -1
  141. package/.next/static/css/9e8d9784094a047f.css +0 -1
  142. package/.next/static/css/b2f16bd4b93e0aca.css +0 -1
  143. package/.next/static/css/bd743407c8049677.css +0 -1
  144. package/.next/static/dh7cD3fiozdMG3HhpxK6m/_buildManifest.js +0 -1
  145. package/.next/static/dh7cD3fiozdMG3HhpxK6m/_ssgManifest.js +0 -1
  146. package/.next/static/media/brandless-neutral.76ddf63a.png +0 -0
  147. package/.next/trace +0 -65
  148. package/public/~partytown/debug/partytown-atomics.js +0 -556
  149. package/public/~partytown/debug/partytown-media.js +0 -374
  150. package/public/~partytown/debug/partytown-sandbox-sw.js +0 -543
  151. package/public/~partytown/debug/partytown-sw.js +0 -59
  152. package/public/~partytown/debug/partytown-ww-atomics.js +0 -1789
  153. package/public/~partytown/debug/partytown-ww-sw.js +0 -1781
  154. package/public/~partytown/debug/partytown.js +0 -72
  155. package/public/~partytown/partytown-atomics.js +0 -2
  156. package/public/~partytown/partytown-media.js +0 -2
  157. package/public/~partytown/partytown-sw.js +0 -2
  158. package/public/~partytown/partytown.js +0 -2
  159. package/src/components/ui/SkuSelector/SkuSelector.stories.mdx +0 -345
  160. package/src/components/ui/SkuSelector/SkuSelector.tsx +0 -46
  161. package/src/components/ui/SkuSelector/sku-selector.module.scss +0 -172
  162. package/src/components/ui/SkuSelector/skuVariants.ts +0 -59
  163. package/src/components/ui/Toast/Toast.stories.mdx +0 -158
  164. package/src/components/ui/Toast/Toast.tsx +0 -56
  165. package/src/components/ui/Toast/index.ts +0 -1
  166. package/src/components/ui/Toast/toast.module.scss +0 -112
@@ -1,206 +0,0 @@
1
- "use strict";
2
- exports.id = 2154;
3
- exports.ids = [2154];
4
- exports.modules = {
5
-
6
- /***/ 2154:
7
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
-
9
-
10
- // EXPORTS
11
- __webpack_require__.d(__webpack_exports__, {
12
- "E": () => (/* reexport */ Image_Image)
13
- });
14
-
15
- // EXTERNAL MODULE: external "react"
16
- var external_react_ = __webpack_require__(6689);
17
- // EXTERNAL MODULE: ./node_modules/next/future/image.js
18
- var future_image = __webpack_require__(1608);
19
- var image_default = /*#__PURE__*/__webpack_require__.n(future_image);
20
- // EXTERNAL MODULE: ./faststore.config.js
21
- var faststore_config = __webpack_require__(7183);
22
- var faststore_config_default = /*#__PURE__*/__webpack_require__.n(faststore_config);
23
- ;// CONCATENATED MODULE: ./src/components/ui/Image/thumborUrlBuilder.ts
24
-
25
- const THUMBOR_SERVER = `https://${(faststore_config_default()).api.storeId}.vtexassets.com`;
26
-
27
- const cropSection = ({
28
- left,
29
- top,
30
- right,
31
- bottom
32
- }) => `${left}x${top}:${right}x${bottom}`;
33
-
34
- function filtersURIComponent(filters) {
35
- const elements = ['filters'];
36
- Object.keys(filters).forEach(name => {
37
- const parameters = filters[name];
38
- let stringParameters; // If we have several parameters, they were passed as an array
39
- // and now they need to be comma separated, otherwise there is just one to convert to a string
40
-
41
- if (Array.isArray(parameters)) {
42
- stringParameters = parameters.join(',');
43
- } // If true, we don't even need to do anything, we just have an empty string and insert ()
44
- // Ex: {grayscale: true} => grayscale()
45
- else if (parameters === true) {
46
- stringParameters = '';
47
- } else {
48
- stringParameters = String(parameters);
49
- }
50
-
51
- elements.push(`${name}(${stringParameters})`);
52
- });
53
- return elements.join(':');
54
- }
55
-
56
- const urlBuilder = (baseUrl, options) => {
57
- const preSizeComponents = [THUMBOR_SERVER, 'unsafe'];
58
- const postSizeComponents = []; // Add the trim parameter after unsafe if appliable
59
-
60
- options.trim && preSizeComponents.push('trim'); // Add the crop parameter if any
61
-
62
- options.manualCrop && preSizeComponents.push(cropSection(options.manualCrop)); // Add the fit-in parameter after crop if appliable
63
-
64
- options.fitIn && preSizeComponents.push('fit-in'); // Adds the horizontal alignement after the size
65
-
66
- postSizeComponents.push(options.horizontalAlign ?? 'center'); // Adds the vertical alignement after the size
67
-
68
- postSizeComponents.push(options.verticalAlign ?? 'middle'); // Adds the smart parameter if appliable
69
-
70
- options.smart && postSizeComponents.push('smart'); // Compile the filters and add them right before the URI
71
-
72
- const {
73
- filters
74
- } = options;
75
- filters && postSizeComponents.push(filtersURIComponent(filters)); // Finally, adds the real image uri
76
-
77
- postSizeComponents.push(encodeURIComponent(baseUrl));
78
- return (width, height) => {
79
- // Adds the final size parameter
80
- let finalSize = '';
81
-
82
- if (options.flipHorizontal) {
83
- finalSize += '-';
84
- }
85
-
86
- finalSize += `${width}x`;
87
-
88
- if (options.flipVertical) {
89
- finalSize += '-';
90
- }
91
-
92
- finalSize += `${height}`;
93
- return [...preSizeComponents, finalSize, ...postSizeComponents].join('/');
94
- };
95
- };
96
- ;// CONCATENATED MODULE: ./src/components/ui/Image/useImage.ts
97
- const _excluded = ["src", "width", "height", "options"];
98
-
99
- 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; }
100
-
101
- 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; }
102
-
103
- 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; }
104
-
105
- 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; }
106
-
107
- 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; }
108
-
109
-
110
-
111
- const FACTORS = [1, 2, 3];
112
- const LARGE_FACTOR = FACTORS[FACTORS.length - 1];
113
- const useImage = _ref => {
114
- let {
115
- src: baseUrl,
116
- width,
117
- height,
118
- options = {}
119
- } = _ref,
120
- rest = _objectWithoutProperties(_ref, _excluded);
121
-
122
- const {
123
- srcSet,
124
- src
125
- } = (0,external_react_.useMemo)(() => {
126
- const builder = urlBuilder(baseUrl, options);
127
- const srcs = FACTORS.map(factor => {
128
- const rescaledWidth = width * factor;
129
- return `${builder(rescaledWidth, height * factor)} ${rescaledWidth}w`;
130
- });
131
- return {
132
- src: builder(width * LARGE_FACTOR, height * LARGE_FACTOR),
133
- srcSet: srcs.join(', ')
134
- };
135
- }, [height, options, baseUrl, width]);
136
- return _objectSpread({
137
- src,
138
- srcSet,
139
- width: `${width}px`,
140
- height: `${height}px`
141
- }, rest);
142
- };
143
- // EXTERNAL MODULE: external "react/jsx-runtime"
144
- var jsx_runtime_ = __webpack_require__(997);
145
- ;// CONCATENATED MODULE: ./src/components/ui/Image/Image.tsx
146
- const Image_excluded = ["src", "width", "height", "quality"];
147
-
148
- function Image_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 Image_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? Image_ownKeys(Object(source), !0).forEach(function (key) { Image_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : Image_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
151
-
152
- function Image_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
- function Image_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Image_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; }
155
-
156
- function Image_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; }
157
-
158
-
159
-
160
- // Next loader function does not handle all props as height and options,
161
- // so we use the useImage hook to handle the custom thumbor loader (VTEX CDN) along with unoptimized prop
162
- // https://nextjs.org/docs/api-reference/next/image#loader
163
-
164
-
165
-
166
- function Image(_ref) {
167
- let {
168
- src,
169
- width,
170
- height,
171
- quality
172
- } = _ref,
173
- otherProps = Image_objectWithoutProperties(_ref, Image_excluded);
174
-
175
- const {
176
- src: thumborSrc,
177
- alt
178
- } = useImage(Image_objectSpread({
179
- src: String(src),
180
- width: Number(width),
181
- height: Number(height),
182
- options: quality ? {
183
- filters: {
184
- quality
185
- }
186
- } : undefined
187
- }, otherProps));
188
- return /*#__PURE__*/jsx_runtime_.jsx((image_default()), Image_objectSpread({
189
- "data-fs-image": true,
190
- unoptimized: true,
191
- src: thumborSrc,
192
- width: width,
193
- height: height,
194
- alt: alt
195
- }, otherProps));
196
- }
197
-
198
- Image.displayName = 'Image';
199
- /* harmony default export */ const Image_Image = (/*#__PURE__*/(0,external_react_.memo)(Image));
200
- ;// CONCATENATED MODULE: ./src/components/ui/Image/index.ts
201
-
202
-
203
- /***/ })
204
-
205
- };
206
- ;
@@ -1,175 +0,0 @@
1
- "use strict";
2
- exports.id = 2439;
3
- exports.ids = [2439];
4
- exports.modules = {
5
-
6
- /***/ 9739:
7
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
-
9
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
- /* harmony export */ "A": () => (/* binding */ useAccordion),
11
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
12
- /* harmony export */ });
13
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
14
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15
-
16
- const AccordionContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(undefined);
17
- const Accordion = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Accordion({ testId = 'fs-accordion', indices, onChange, children, ...otherProps }, ref) {
18
- 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 }));
19
- const context = {
20
- indices: new Set(indices),
21
- onChange,
22
- numberOfItems: childrenWithIndex.length,
23
- };
24
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(AccordionContext.Provider, { value: context },
25
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, "data-fs-accordion": true, role: "region", "data-testid": testId, ...otherProps }, childrenWithIndex)));
26
- });
27
- function useAccordion() {
28
- const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AccordionContext);
29
- if (context === undefined) {
30
- throw new Error('Do not use Accordion components outside the Accordion context.');
31
- }
32
- return context;
33
- }
34
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Accordion);
35
- //# sourceMappingURL=Accordion.js.map
36
-
37
- /***/ }),
38
-
39
- /***/ 7831:
40
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
41
-
42
-
43
- // EXPORTS
44
- __webpack_require__.d(__webpack_exports__, {
45
- "Z": () => (/* binding */ Accordion_AccordionButton)
46
- });
47
-
48
- // EXTERNAL MODULE: external "react"
49
- var external_react_ = __webpack_require__(6689);
50
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
51
- // EXTERNAL MODULE: ../components/dist/molecules/Accordion/Accordion.js
52
- var Accordion = __webpack_require__(9739);
53
- // EXTERNAL MODULE: ../components/dist/molecules/Accordion/AccordionItem.js
54
- var AccordionItem = __webpack_require__(5705);
55
- ;// CONCATENATED MODULE: ../components/dist/assets/MinusCircle.js
56
-
57
- // Icon from Phosphor Icons
58
- const MinusCircle = () => (external_react_default().createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 256 256", strokeWidth: "16", width: 24, height: 24 },
59
- external_react_default().createElement("rect", { width: "256", height: "256", fill: "none" }),
60
- external_react_default().createElement("circle", { cx: "128", cy: "128", r: "96", fill: "none", stroke: "currentColor", strokeMiterlimit: "10" }),
61
- external_react_default().createElement("line", { x1: "88", y1: "128", x2: "168", y2: "128", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" })));
62
- /* harmony default export */ const assets_MinusCircle = (MinusCircle);
63
- //# sourceMappingURL=MinusCircle.js.map
64
- ;// CONCATENATED MODULE: ../components/dist/assets/PlusCircle.js
65
-
66
- // Icon from Phosphor Icons
67
- const PlusCircle = () => (external_react_default().createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 256 256", strokeWidth: "16", width: 24, height: 24 },
68
- external_react_default().createElement("rect", { width: "256", height: "256", fill: "none" }),
69
- external_react_default().createElement("circle", { cx: "128", cy: "128", r: "96", fill: "none", stroke: "currentColor", strokeMiterlimit: "10" }),
70
- external_react_default().createElement("line", { x1: "88", y1: "128", x2: "168", y2: "128", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" }),
71
- external_react_default().createElement("line", { x1: "128", y1: "88", x2: "128", y2: "168", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" })));
72
- /* harmony default export */ const assets_PlusCircle = (PlusCircle);
73
- //# sourceMappingURL=PlusCircle.js.map
74
- // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js + 1 modules
75
- var Button = __webpack_require__(4842);
76
- ;// CONCATENATED MODULE: ../components/dist/molecules/Accordion/AccordionButton.js
77
-
78
-
79
-
80
-
81
- const AccordionButton = (0,external_react_.forwardRef)(function AccordionButton({ testId = 'fs-accordion-button', expandedIcon = external_react_default().createElement(assets_MinusCircle, { "data-icon": "expanded" }), collapsedIcon = external_react_default().createElement(assets_PlusCircle, { "data-icon": "collapsed" }), children, ...otherProps }, ref) {
82
- const { indices, onChange, numberOfItems } = (0,Accordion/* useAccordion */.A)();
83
- const { index, panel, button, prefixId } = (0,AccordionItem/* useAccordionItem */.D)();
84
- const onKeyDown = (event) => {
85
- if (!['ArrowDown', 'ArrowUp'].includes(event.key)) {
86
- return;
87
- }
88
- const getNext = () => {
89
- const next = Number(index) + 1 === numberOfItems ? 0 : Number(index) + 1;
90
- return document.getElementById(`${prefixId && `${prefixId}-`}button--${next}`);
91
- };
92
- const getPrevious = () => {
93
- const previous = Number(index) - 1 < 0 ? numberOfItems - 1 : Number(index) - 1;
94
- return document.getElementById(`${prefixId && `${prefixId}-`}button--${previous}`);
95
- };
96
- switch (event.key) {
97
- case 'ArrowDown':
98
- event.preventDefault();
99
- getNext()?.focus();
100
- break;
101
- case 'ArrowUp':
102
- event.preventDefault();
103
- getPrevious()?.focus();
104
- break;
105
- default:
106
- }
107
- };
108
- return (external_react_default().createElement(Button/* default */.Z, { ref: ref, id: button, "data-fs-accordion-button": true, "aria-expanded": indices.has(index), icon: indices.has(index) ? expandedIcon : collapsedIcon, iconPosition: "right", "aria-controls": panel, onKeyDown: onKeyDown, onClick: () => {
109
- onChange(index);
110
- }, "data-testid": testId, ...otherProps }, children));
111
- });
112
- /* harmony default export */ const Accordion_AccordionButton = (AccordionButton);
113
- //# sourceMappingURL=AccordionButton.js.map
114
-
115
- /***/ }),
116
-
117
- /***/ 5705:
118
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
119
-
120
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
121
- /* harmony export */ "D": () => (/* binding */ useAccordionItem),
122
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
123
- /* harmony export */ });
124
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
125
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
126
-
127
- const AccordionItemContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(undefined);
128
- const AccordionItem = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function AccordionItem({ prefixId = '', index = 0, as: MaybeComponent, children, testId = 'fs-accordion-item', ...otherProps }, ref) {
129
- const Component = MaybeComponent ?? 'div';
130
- const context = {
131
- index,
132
- prefixId,
133
- panel: `${prefixId && `${prefixId}-`}panel--${index}`,
134
- button: `${prefixId && `${prefixId}-`}button--${index}`,
135
- };
136
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(AccordionItemContext.Provider, { value: context },
137
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Component, { ref: ref, "data-fs-accordion-item": true, "data-testid": testId, ...otherProps }, children)));
138
- });
139
- function useAccordionItem() {
140
- const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(AccordionItemContext);
141
- if (context === undefined) {
142
- throw new Error('Do not use AccordionItem components outside the AccordionItem context.');
143
- }
144
- return context;
145
- }
146
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AccordionItem);
147
- //# sourceMappingURL=AccordionItem.js.map
148
-
149
- /***/ }),
150
-
151
- /***/ 331:
152
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
153
-
154
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
155
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
156
- /* harmony export */ });
157
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
158
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
159
- /* harmony import */ var _Accordion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9739);
160
- /* harmony import */ var _AccordionItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5705);
161
-
162
-
163
-
164
- const AccordionPanel = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function AccordionPanel({ testId = 'fs-accordion-panel', children, ...otherProps }, ref) {
165
- const { indices } = (0,_Accordion__WEBPACK_IMPORTED_MODULE_1__/* .useAccordion */ .A)();
166
- const { index, button, panel } = (0,_AccordionItem__WEBPACK_IMPORTED_MODULE_2__/* .useAccordionItem */ .D)();
167
- 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));
168
- });
169
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AccordionPanel);
170
- //# sourceMappingURL=AccordionPanel.js.map
171
-
172
- /***/ })
173
-
174
- };
175
- ;
@@ -1,61 +0,0 @@
1
- "use strict";
2
- exports.id = 247;
3
- exports.ids = [247];
4
- exports.modules = {
5
-
6
- /***/ 7549:
7
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
-
9
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
11
- /* harmony export */ });
12
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
13
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
14
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2691);
15
-
16
-
17
- const Price = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Price({ value, as: Component = 'span', variant = 'selling', testId = 'fs-price', formatter = (price) => price, SRText, ...otherProps }, ref) {
18
- const formattedPrice = formatter(value, variant);
19
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Component, { ref: ref, "data-fs-price": true, "data-fs-price-variant": variant, "data-testid": testId, ...otherProps },
20
- SRText && react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { text: SRText }),
21
- formattedPrice));
22
- });
23
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Price);
24
- //# sourceMappingURL=Price.js.map
25
-
26
- /***/ }),
27
-
28
- /***/ 5346:
29
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30
-
31
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32
- /* harmony export */ "P": () => (/* binding */ useFormattedPrice),
33
- /* harmony export */ "o": () => (/* binding */ usePriceFormatter)
34
- /* harmony export */ });
35
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
36
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
37
- /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5971);
38
-
39
-
40
- const usePriceFormatter = ({
41
- decimals
42
- } = {}) => {
43
- const {
44
- currency,
45
- locale
46
- } = (0,_session__WEBPACK_IMPORTED_MODULE_1__/* .useSession */ .kP)();
47
- return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(price => Intl.NumberFormat(locale, {
48
- style: 'currency',
49
- currency: currency.code,
50
- minimumFractionDigits: decimals ? 2 : 0
51
- }).format(price), [currency.code, locale, decimals]);
52
- };
53
- const useFormattedPrice = price => {
54
- const formatter = usePriceFormatter();
55
- return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => formatter(price), [formatter, price]);
56
- };
57
-
58
- /***/ })
59
-
60
- };
61
- ;
@@ -1,96 +0,0 @@
1
- exports.id = 2914;
2
- exports.ids = [2914];
3
- exports.modules = {
4
-
5
- /***/ 2914:
6
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
-
8
- "use strict";
9
-
10
- // EXPORTS
11
- __webpack_require__.d(__webpack_exports__, {
12
- "Z": () => (/* binding */ Incentives_Incentives)
13
- });
14
-
15
- // EXTERNAL MODULE: ../components/dist/atoms/List/List.js
16
- var List = __webpack_require__(1329);
17
- // EXTERNAL MODULE: external "react"
18
- var external_react_ = __webpack_require__(6689);
19
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
20
- ;// CONCATENATED MODULE: ../ui/dist/components/atoms/Incentive/Incentive.js
21
-
22
- const Incentive = (0,external_react_.forwardRef)(function Incentive({ testId = 'store-incentive', children, ...otherProps }, ref) {
23
- return (external_react_default().createElement("div", { ref: ref, "data-fs-incentive": true, "data-testid": testId, ...otherProps }, children));
24
- });
25
- /* harmony default export */ const Incentive_Incentive = (Incentive);
26
- //# sourceMappingURL=Incentive.js.map
27
- // EXTERNAL MODULE: ./src/components/ui/Icon/index.ts + 1 modules
28
- var Icon = __webpack_require__(2478);
29
- // EXTERNAL MODULE: ./src/components/sections/Incentives/incentives.module.scss
30
- var incentives_module = __webpack_require__(6415);
31
- var incentives_module_default = /*#__PURE__*/__webpack_require__.n(incentives_module);
32
- // EXTERNAL MODULE: external "react/jsx-runtime"
33
- var jsx_runtime_ = __webpack_require__(997);
34
- ;// CONCATENATED MODULE: ./src/components/sections/Incentives/Incentives.tsx
35
-
36
-
37
-
38
-
39
-
40
-
41
- function Incentives({
42
- incentives,
43
- variant = 'horizontal',
44
- colored = false
45
- }) {
46
- return /*#__PURE__*/jsx_runtime_.jsx("div", {
47
- "data-fs-incentives": true,
48
- "data-fs-incentives-colored": colored,
49
- "data-fs-incentives-variant": variant,
50
- className: (incentives_module_default()).fsIncentives,
51
- children: /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
52
- className: "layout__content",
53
- children: incentives.map((incentive, index) => /*#__PURE__*/jsx_runtime_.jsx("li", {
54
- children: /*#__PURE__*/(0,jsx_runtime_.jsxs)(Incentive_Incentive, {
55
- children: [/*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
56
- "data-fs-incentive-icon": true,
57
- name: incentive.icon,
58
- width: 32,
59
- height: 32
60
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
61
- "data-fs-incentive-content": true,
62
- children: [incentive.title && /*#__PURE__*/jsx_runtime_.jsx("p", {
63
- "data-fs-incentive-title": true,
64
- children: incentive.title
65
- }), /*#__PURE__*/jsx_runtime_.jsx("span", {
66
- "data-fs-incentive-description": true,
67
- children: incentive.firstLineText
68
- }), incentive.secondLineText && /*#__PURE__*/jsx_runtime_.jsx("span", {
69
- "data-fs-incentive-description": true,
70
- children: incentive.secondLineText
71
- })]
72
- })]
73
- })
74
- }, String(index)))
75
- })
76
- });
77
- }
78
-
79
- /* harmony default export */ const Incentives_Incentives = (Incentives);
80
-
81
- /***/ }),
82
-
83
- /***/ 6415:
84
- /***/ ((module) => {
85
-
86
- // Exports
87
- module.exports = {
88
- "fs-incentives": "incentives_fs-incentives__nlTSn",
89
- "fsIncentives": "incentives_fs-incentives__nlTSn"
90
- };
91
-
92
-
93
- /***/ })
94
-
95
- };
96
- ;
@@ -1,67 +0,0 @@
1
- "use strict";
2
- exports.id = 3264;
3
- exports.ids = [3264];
4
- exports.modules = {
5
-
6
- /***/ 3264:
7
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
-
9
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
- /* harmony export */ "X": () => (/* binding */ useSearchState),
11
- /* harmony export */ "j": () => (/* binding */ initialize)
12
- /* harmony export */ });
13
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
14
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15
- /* harmony import */ var _utils_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3364);
16
-
17
-
18
- const initialize = ({ sort = 'score_desc', selectedFacets = [], term = null, base = '/', page = 0, } = {}) => ({
19
- sort,
20
- selectedFacets,
21
- term,
22
- base: base.endsWith('/') ? base : `${base}/`,
23
- page,
24
- });
25
- 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;
26
- const useSearchState = (initialState, onChange) => {
27
- const state = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => initialize(initialState), [initialState]);
28
- return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({
29
- state,
30
- setState: (newState) => !equals(newState, state) && onChange((0,_utils_format__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(newState)),
31
- }), [onChange, state]);
32
- };
33
- //# sourceMappingURL=useSearchState.js.map
34
-
35
- /***/ }),
36
-
37
- /***/ 3364:
38
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
39
-
40
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
42
- /* harmony export */ });
43
- const format = (params) => {
44
- const url = new URL(params.base, 'http://localhost');
45
- const { page, selectedFacets, sort, term } = params;
46
- if (term !== null) {
47
- url.searchParams.set('q', term);
48
- }
49
- const facets = new Set();
50
- for (const facet of selectedFacets) {
51
- url.searchParams.append(facet.key, facet.value);
52
- facets.add(facet.key);
53
- }
54
- if (selectedFacets.length > 0) {
55
- url.searchParams.set('facets', Array.from(facets).join(','));
56
- }
57
- url.searchParams.set('sort', sort);
58
- url.searchParams.set('page', page.toString());
59
- return url;
60
- };
61
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (format);
62
- //# sourceMappingURL=format.js.map
63
-
64
- /***/ })
65
-
66
- };
67
- ;