@faststore/core 2.0.72-alpha.0 → 2.0.74-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 (106) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +23 -23
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/next-server.js.nft.json +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/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/react-loadable-manifest.json +6 -6
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/312.js +140 -101
  16. package/.next/server/chunks/{528.js → 317.js} +8 -8
  17. package/.next/server/chunks/371.js +14 -27
  18. package/.next/server/chunks/{352.js → 377.js} +3 -79
  19. package/.next/server/chunks/650.js +3 -3
  20. package/.next/server/chunks/664.js +124 -0
  21. package/.next/server/chunks/953.js +36 -50
  22. package/.next/server/chunks/98.js +229 -87
  23. package/.next/server/middleware-build-manifest.js +1 -1
  24. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  25. package/.next/server/pages/404.js.nft.json +1 -1
  26. package/.next/server/pages/500.js.nft.json +1 -1
  27. package/.next/server/pages/[...slug].js +2 -2
  28. package/.next/server/pages/[...slug].js.nft.json +1 -1
  29. package/.next/server/pages/[slug]/p.js +62 -65
  30. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  31. package/.next/server/pages/_app.js +14 -42
  32. package/.next/server/pages/_app.js.nft.json +1 -1
  33. package/.next/server/pages/en-US/404.html +2 -2
  34. package/.next/server/pages/en-US/500.html +2 -2
  35. package/.next/server/pages/en-US/account.html +2 -2
  36. package/.next/server/pages/en-US/checkout.html +2 -2
  37. package/.next/server/pages/en-US/login.html +2 -2
  38. package/.next/server/pages/en-US/s.html +2 -2
  39. package/.next/server/pages/en-US.html +3 -3
  40. package/.next/server/pages/en-US.json +1 -1
  41. package/.next/server/pages/index.js +2 -2
  42. package/.next/server/pages/index.js.nft.json +1 -1
  43. package/.next/server/pages/s.js.nft.json +1 -1
  44. package/.next/server/pages-manifest.json +1 -1
  45. package/.next/static/{G3-BZ2q8Yidjo2K-piTay → M7OQ7A7JAyTrgvf0m1Ztu}/_buildManifest.js +1 -1
  46. package/.next/static/chunks/337-4b719ca7a86d8d8c.js +1 -0
  47. package/.next/static/chunks/650.807852d1c36bfe44.js +1 -0
  48. package/.next/static/chunks/791.e9be2b77d132c1b1.js +1 -0
  49. package/.next/static/chunks/953.77a48c854f628dcf.js +1 -0
  50. package/.next/static/chunks/pages/{[...slug]-320aee38665be1f9.js → [...slug]-9443b18a60d89746.js} +1 -1
  51. package/.next/static/chunks/pages/[slug]/p-cb8ef12f6449cf26.js +1 -0
  52. package/.next/static/chunks/pages/_app-286bcfa03a5e17a7.js +1 -0
  53. package/.next/static/chunks/pages/{index-d6f91f5ff8ab8b48.js → index-6717326cc207d674.js} +1 -1
  54. package/.next/static/chunks/webpack-8f397ae160440a8e.js +1 -0
  55. package/.next/static/css/430b8cafbf7c23c1.css +1 -0
  56. package/.next/static/css/9dd1d1084d254c66.css +1 -0
  57. package/.next/static/css/b2f16bd4b93e0aca.css +1 -0
  58. package/.next/static/css/d78f4c5305f398ac.css +1 -0
  59. package/.next/static/css/e1c24beb73906eed.css +1 -0
  60. package/.next/static/css/{1bc30e7e0de1217d.css → e63697a078fd522e.css} +1 -1
  61. package/.next/trace +64 -65
  62. package/.turbo/turbo-build.log +9 -9
  63. package/CHANGELOG.md +12 -0
  64. package/package.json +4 -5
  65. package/src/components/cart/CartSidebar/CartSidebar.stories.mdx +1 -15
  66. package/src/components/cart/CartSidebar/CartSidebar.tsx +11 -14
  67. package/src/components/cart/CartSidebar/cart-sidebar.module.scss +2 -16
  68. package/src/components/common/Navbar/NavbarSlider.tsx +8 -14
  69. package/src/components/common/Navbar/navbar-slider.module.scss +2 -9
  70. package/src/components/regionalization/RegionalizationModal/RegionalizationModalContent.tsx +1 -1
  71. package/src/components/search/Filter/FilterSlider.stories.mdx +0 -9
  72. package/src/components/search/Filter/FilterSlider.tsx +18 -20
  73. package/src/components/search/Filter/filter-slider.module.scss +2 -12
  74. package/src/components/search/SearchDropdown/SearchDropdown.tsx +2 -2
  75. package/src/components/search/SearchHistory/SearchHistory.tsx +17 -35
  76. package/src/components/search/SearchInput/SearchInput.stories.mdx +0 -4
  77. package/src/components/search/SearchInput/search-input.module.scss +9 -3
  78. package/src/components/search/SearchTop/SearchTop.tsx +32 -59
  79. package/src/components/search/search.module.scss +0 -14
  80. package/src/components/sections/Hero/Hero.tsx +4 -4
  81. package/src/components/sections/ProductDetails/ProductDetails.tsx +4 -5
  82. package/src/components/sections/ProductDetails/product-details.module.scss +1 -1
  83. package/src/components/ui/Gift/Gift.tsx +10 -33
  84. package/src/components/ui/ShippingSimulation/ShippingSimulation.tsx +2 -2
  85. package/.next/server/chunks/731.js +0 -282
  86. package/.next/static/chunks/158.b4898013c4a4f10c.js +0 -1
  87. package/.next/static/chunks/337-12ae3c3ff71e4dcf.js +0 -1
  88. package/.next/static/chunks/650.32d18858075fbe98.js +0 -1
  89. package/.next/static/chunks/953.b6387969c2dcdcae.js +0 -1
  90. package/.next/static/chunks/pages/[slug]/p-d64952a99f04e24d.js +0 -1
  91. package/.next/static/chunks/pages/_app-8bf35fcba4db8198.js +0 -1
  92. package/.next/static/chunks/webpack-1bf4acba8ca90a1e.js +0 -1
  93. package/.next/static/css/4d4cbc524ba58b0a.css +0 -1
  94. package/.next/static/css/5f6541bfaaa52b08.css +0 -1
  95. package/.next/static/css/8e980d3191396e67.css +0 -1
  96. package/.next/static/css/e8f44fcf61ab2e4a.css +0 -1
  97. package/.next/static/css/f03ffa52b8ad3e4c.css +0 -1
  98. package/src/components/ui/Price/Price.stories.mdx +0 -194
  99. package/src/components/ui/Price/Price.tsx +0 -31
  100. package/src/components/ui/Price/index.ts +0 -1
  101. package/src/components/ui/Price/price.module.scss +0 -27
  102. package/src/components/ui/SlideOver/SlideOver.stories.mdx +0 -283
  103. package/src/components/ui/SlideOver/SlideOver.tsx +0 -59
  104. package/src/components/ui/SlideOver/index.ts +0 -1
  105. package/src/components/ui/SlideOver/slide-over.module.scss +0 -63
  106. /package/.next/static/{G3-BZ2q8Yidjo2K-piTay → M7OQ7A7JAyTrgvf0m1Ztu}/_ssgManifest.js +0 -0
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
- exports.id = 528;
3
- exports.ids = [528];
2
+ exports.id = 317;
3
+ exports.ids = [317];
4
4
  exports.modules = {
5
5
 
6
- /***/ 4528:
6
+ /***/ 1317:
7
7
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
8
 
9
9
 
@@ -52,12 +52,12 @@ const ArrowRight = () => (external_react_default().createElement("svg", { xmlns:
52
52
  external_react_default().createElement("polyline", { points: "144 56 216 128 144 200", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "24" })));
53
53
  /* harmony default export */ const assets_ArrowRight = (ArrowRight);
54
54
  //# sourceMappingURL=ArrowRight.js.map
55
- ;// CONCATENATED MODULE: ../components/dist/organisms/Hero/HeroHeading.js
55
+ ;// CONCATENATED MODULE: ../components/dist/organisms/Hero/HeroHeader.js
56
56
 
57
57
 
58
58
 
59
59
 
60
- const HeroHeading = (0,external_react_.forwardRef)(function HeroHeading({ icon, link, title, linkText, subtitle, children, testId = 'fs-hero-heading', ...otherProps }, ref) {
60
+ const HeroHeader = (0,external_react_.forwardRef)(function HeroHeader({ icon, link, title, linkText, subtitle, children, testId = 'fs-hero-heading', ...otherProps }, ref) {
61
61
  const { variant, colorVariant } = useHero();
62
62
  return (external_react_default().createElement("header", { ref: ref, "data-fs-hero-heading": true, "data-testid": testId, ...otherProps },
63
63
  external_react_default().createElement("div", { "data-fs-hero-wrapper": true, className: "layout__content" },
@@ -67,8 +67,8 @@ const HeroHeading = (0,external_react_.forwardRef)(function HeroHeading({ icon,
67
67
  !!link && (external_react_default().createElement(LinkButton/* default */.Z, { href: link, inverse: colorVariant === 'main', icon: external_react_default().createElement(assets_ArrowRight, null), iconPosition: "right" }, linkText))),
68
68
  icon && variant === 'secondary' && (external_react_default().createElement(Icon/* default */.Z, { "data-fs-hero-icon": true, component: icon })))));
69
69
  });
70
- /* harmony default export */ const Hero_HeroHeading = (HeroHeading);
71
- //# sourceMappingURL=HeroHeading.js.map
70
+ /* harmony default export */ const Hero_HeroHeader = (HeroHeader);
71
+ //# sourceMappingURL=HeroHeader.js.map
72
72
  // EXTERNAL MODULE: ./src/components/ui/Image/index.ts + 3 modules
73
73
  var Image = __webpack_require__(2154);
74
74
  // EXTERNAL MODULE: ./src/components/sections/Section/index.ts + 1 modules
@@ -105,7 +105,7 @@ const Hero_Hero_Hero = ({
105
105
  height: 240,
106
106
  sizes: "(max-width: 768px) 70vw, 50vw"
107
107
  })
108
- }), /*#__PURE__*/jsx_runtime_.jsx(Hero_HeroHeading, {
108
+ }), /*#__PURE__*/jsx_runtime_.jsx(Hero_HeroHeader, {
109
109
  title: title,
110
110
  subtitle: subtitle,
111
111
  link: link,
@@ -278,14 +278,12 @@ function Facets({
278
278
  }
279
279
 
280
280
  /* harmony default export */ const Filter_Facets = (Facets);
281
- // EXTERNAL MODULE: ../components/dist/molecules/IconButton/IconButton.js
282
- var IconButton = __webpack_require__(2765);
281
+ // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOver.js
282
+ var SlideOver = __webpack_require__(1021);
283
+ // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOverHeader.js
284
+ var SlideOverHeader = __webpack_require__(9648);
283
285
  // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js + 1 modules
284
286
  var Button = __webpack_require__(4842);
285
- // EXTERNAL MODULE: ./src/components/ui/Icon/index.ts + 1 modules
286
- var Icon = __webpack_require__(2478);
287
- // EXTERNAL MODULE: ./src/components/ui/SlideOver/index.ts + 1 modules
288
- var SlideOver = __webpack_require__(5731);
289
287
  // EXTERNAL MODULE: ../components/dist/hooks/useFadeEffect.js
290
288
  var useFadeEffect = __webpack_require__(6074);
291
289
  // EXTERNAL MODULE: ./src/components/search/Filter/filter-slider.module.scss
@@ -307,8 +305,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
307
305
 
308
306
 
309
307
 
310
-
311
-
312
308
  function FilterSlider({
313
309
  facets,
314
310
  testId,
@@ -338,27 +334,18 @@ function FilterSlider({
338
334
  onTransitionEnd: () => fade === 'out' && closeFilter(),
339
335
  children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
340
336
  "data-fs-filter-slider-content": true,
341
- children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("header", {
342
- "data-fs-filter-slider-header": true,
343
- children: [/*#__PURE__*/jsx_runtime_.jsx("h2", {
337
+ children: [/*#__PURE__*/jsx_runtime_.jsx(SlideOverHeader/* default */.Z, {
338
+ onClose: () => {
339
+ dispatch({
340
+ type: 'selectFacets',
341
+ payload: state.selectedFacets
342
+ });
343
+ fadeOut();
344
+ },
345
+ children: /*#__PURE__*/jsx_runtime_.jsx("h2", {
344
346
  className: "text__lead",
345
347
  children: "Filters"
346
- }), /*#__PURE__*/jsx_runtime_.jsx(IconButton/* default */.Z, {
347
- "data-fs-filter-slider-header-icon": true,
348
- "aria-label": "Close Filters",
349
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
350
- name: "X",
351
- width: 32,
352
- height: 32
353
- }),
354
- onClick: () => {
355
- dispatch({
356
- type: 'selectFacets',
357
- payload: state.selectedFacets
358
- });
359
- fadeOut();
360
- }
361
- })]
348
+ })
362
349
  }), /*#__PURE__*/jsx_runtime_.jsx(Filter_Facets, {
363
350
  facets: facets,
364
351
  testId: `mobile-${testId}`,
@@ -1,11 +1,11 @@
1
- exports.id = 352;
2
- exports.ids = [352];
1
+ "use strict";
2
+ exports.id = 377;
3
+ exports.ids = [377];
3
4
  exports.modules = {
4
5
 
5
6
  /***/ 7377:
6
7
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
8
 
8
- "use strict";
9
9
 
10
10
  // EXPORTS
11
11
  __webpack_require__.d(__webpack_exports__, {
@@ -76,82 +76,6 @@ const QuantitySelector = ({ max, min = 1, initial, disabled = false, onChange, t
76
76
  /* harmony default export */ const QuantitySelector_QuantitySelector = (QuantitySelector);
77
77
  //# sourceMappingURL=QuantitySelector.js.map
78
78
 
79
- /***/ }),
80
-
81
- /***/ 7902:
82
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
83
-
84
- "use strict";
85
-
86
- // EXPORTS
87
- __webpack_require__.d(__webpack_exports__, {
88
- "Z": () => (/* reexport */ ui_Price_Price)
89
- });
90
-
91
- // EXTERNAL MODULE: ../components/dist/atoms/SROnly/SROnly.js
92
- var SROnly = __webpack_require__(2691);
93
- // EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
94
- var Price = __webpack_require__(7549);
95
- // EXTERNAL MODULE: external "react"
96
- var external_react_ = __webpack_require__(6689);
97
- // EXTERNAL MODULE: ./src/components/ui/Price/price.module.scss
98
- var price_module = __webpack_require__(9204);
99
- var price_module_default = /*#__PURE__*/__webpack_require__.n(price_module);
100
- // EXTERNAL MODULE: external "react/jsx-runtime"
101
- var jsx_runtime_ = __webpack_require__(997);
102
- ;// CONCATENATED MODULE: ./src/components/ui/Price/Price.tsx
103
- const _excluded = ["classes", "SRText"];
104
-
105
- 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; }
106
-
107
- 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; }
108
-
109
- 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; }
110
-
111
- 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; }
112
-
113
- 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; }
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
- function Price_Price(_ref) {
123
- let {
124
- classes = '',
125
- SRText
126
- } = _ref,
127
- props = _objectWithoutProperties(_ref, _excluded);
128
-
129
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
130
- children: [/*#__PURE__*/jsx_runtime_.jsx(SROnly/* default */.Z, {
131
- text: SRText
132
- }), /*#__PURE__*/jsx_runtime_.jsx(Price/* default */.Z, _objectSpread({
133
- "data-fs-price": true,
134
- className: `${(price_module_default()).fsPrice} ${classes}`
135
- }, props))]
136
- });
137
- }
138
-
139
- /* harmony default export */ const ui_Price_Price = (/*#__PURE__*/(0,external_react_.memo)(Price_Price));
140
- ;// CONCATENATED MODULE: ./src/components/ui/Price/index.ts
141
-
142
-
143
- /***/ }),
144
-
145
- /***/ 9204:
146
- /***/ ((module) => {
147
-
148
- // Exports
149
- module.exports = {
150
- "fs-price": "price_fs-price__7Y_0s",
151
- "fsPrice": "price_fs-price__7Y_0s"
152
- };
153
-
154
-
155
79
  /***/ })
156
80
 
157
81
  };
@@ -28,9 +28,9 @@ var IconButton = __webpack_require__(2765);
28
28
 
29
29
 
30
30
 
31
- const ModalHeader = ({ onClose, title, closeButtonProps = {}, description, }) => {
31
+ const ModalHeader = ({ onClose, title, closeBtnProps = {}, description, }) => {
32
32
  return (external_react_default().createElement("header", { "data-fs-modal-header": true },
33
- onClose && (external_react_default().createElement(IconButton/* default */.Z, { onClick: () => onClose?.(), "data-fs-modal-header-close-button": true, icon: external_react_default().createElement(X/* default */.Z, null), "aria-label": "Close modal", ...closeButtonProps })),
33
+ onClose && (external_react_default().createElement(IconButton/* default */.Z, { onClick: () => onClose?.(), "data-fs-modal-header-close-button": true, icon: external_react_default().createElement(X/* default */.Z, null), "aria-label": "Close modal", ...closeBtnProps })),
34
34
  external_react_default().createElement("p", { "data-fs-modal-header-title": true }, title),
35
35
  description && external_react_default().createElement("p", { "data-fs-modal-header-description": true }, description)));
36
36
  };
@@ -154,7 +154,7 @@ function RegionalizationModalContent({
154
154
  onClose: () => onClose(),
155
155
  title: "Set your location",
156
156
  description: "Prices, offers and availability may vary according to your location.",
157
- closeButtonProps: {
157
+ closeBtnProps: {
158
158
  'aria-label': 'Close Regionalization Modal'
159
159
  }
160
160
  }), /*#__PURE__*/(0,jsx_runtime_.jsxs)(Modal_ModalBody, {
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ exports.id = 664;
3
+ exports.ids = [664,143];
4
+ exports.modules = {
5
+
6
+ /***/ 3664:
7
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
+
9
+ __webpack_require__.r(__webpack_exports__);
10
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11
+ /* harmony export */ "default": () => (/* binding */ sendEvent)
12
+ /* harmony export */ });
13
+ /* harmony import */ var _search__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9143);
14
+
15
+ function sendEvent(event) {
16
+ // VTEX RC
17
+ window?.sendrc?.(event.name, event.params); // VTEX Intelligent Search
18
+
19
+ (0,_search__WEBPACK_IMPORTED_MODULE_0__["default"])(event);
20
+ }
21
+
22
+ /***/ }),
23
+
24
+ /***/ 9143:
25
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
26
+
27
+ __webpack_require__.r(__webpack_exports__);
28
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
29
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
30
+ /* harmony export */ });
31
+ /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7183);
32
+ /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_faststore_config__WEBPACK_IMPORTED_MODULE_0__);
33
+ 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; }
34
+
35
+ 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; }
36
+
37
+ 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; }
38
+
39
+ /**
40
+ * More info at: https://www.notion.so/vtexhandbook/Event-API-Documentation-48eee26730cf4d7f80f8fd7262231f84
41
+ */
42
+
43
+ const THIRTY_MINUTES_S = 30 * 60;
44
+ const ONE_YEAR_S = 365 * 24 * 3600;
45
+
46
+ const randomUUID = () => typeof crypto.randomUUID === 'function' ? crypto.randomUUID() : (Math.random() * 1e6).toFixed(0);
47
+
48
+ const createStorage = (key, expiresSecond) => {
49
+ const timelapsed = past => (Date.now() - past) / 1e3;
50
+
51
+ return () => {
52
+ const item = JSON.parse(localStorage.getItem(key) ?? 'null');
53
+ const isExpired = !item || timelapsed(item.createdAt) > expiresSecond;
54
+ const payload = isExpired ? randomUUID() : item.payload;
55
+
56
+ if (isExpired) {
57
+ const data = {
58
+ payload,
59
+ createdAt: Date.now()
60
+ };
61
+ localStorage.setItem(key, JSON.stringify(data));
62
+ }
63
+
64
+ return payload;
65
+ };
66
+ };
67
+
68
+ const user = {
69
+ anonymous: createStorage('vtex.search.anonymous', ONE_YEAR_S),
70
+ session: createStorage('vtex.search.session', THIRTY_MINUTES_S)
71
+ };
72
+
73
+ const sendEvent = options => fetch(`https://sp.vtex.com/event-api/v1/${(_faststore_config__WEBPACK_IMPORTED_MODULE_0___default().api.storeId)}/event`, {
74
+ method: 'POST',
75
+ body: JSON.stringify(_objectSpread(_objectSpread({}, options), {}, {
76
+ userAgent: navigator.userAgent,
77
+ anonymous: user.anonymous(),
78
+ session: user.session()
79
+ })),
80
+ headers: {
81
+ 'content-type': 'application/json'
82
+ }
83
+ });
84
+
85
+ const isFullTextSearch = url => typeof url.searchParams.get('q') === 'string' && /^\/s(\/)?$/g.test(url.pathname);
86
+
87
+ const handleEvent = event => {
88
+ if (event.name !== 'search_select_item') {
89
+ return;
90
+ }
91
+
92
+ const url = new URL(event.params.url);
93
+
94
+ if (!isFullTextSearch(url)) {
95
+ return;
96
+ }
97
+
98
+ for (const item of event.params.items ?? []) {
99
+ const productId = item.item_id ?? item.item_variant;
100
+ const position = item.index;
101
+
102
+ if (productId && position) {
103
+ sendEvent({
104
+ type: 'search.click',
105
+ productId,
106
+ position,
107
+ url: url.href,
108
+ text: url.searchParams.get('q') ?? '<empty>'
109
+ });
110
+ }
111
+ }
112
+ };
113
+
114
+ setInterval(() => sendEvent({
115
+ type: 'session.ping'
116
+ }), 60 * 1e3
117
+ /* One minute */
118
+ );
119
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (handleEvent);
120
+
121
+ /***/ })
122
+
123
+ };
124
+ ;
@@ -37,10 +37,12 @@ __webpack_require__.d(__webpack_exports__, {
37
37
 
38
38
  // EXTERNAL MODULE: ./node_modules/@faststore/sdk/dist/analytics/sendAnalyticsEvent.js
39
39
  var sendAnalyticsEvent = __webpack_require__(8460);
40
+ // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOver.js
41
+ var SlideOver = __webpack_require__(1021);
42
+ // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOverHeader.js
43
+ var SlideOverHeader = __webpack_require__(9648);
40
44
  // EXTERNAL MODULE: ../components/dist/atoms/Badge/Badge.js
41
45
  var Badge = __webpack_require__(44);
42
- // EXTERNAL MODULE: ../components/dist/molecules/IconButton/IconButton.js
43
- var IconButton = __webpack_require__(2765);
44
46
  // EXTERNAL MODULE: ../components/dist/molecules/Alert/Alert.js
45
47
  var Alert = __webpack_require__(6970);
46
48
  // EXTERNAL MODULE: ../components/dist/atoms/List/List.js
@@ -52,8 +54,6 @@ var external_react_ = __webpack_require__(6689);
52
54
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
53
55
  // EXTERNAL MODULE: ./src/components/ui/Icon/index.ts + 1 modules
54
56
  var Icon = __webpack_require__(2478);
55
- // EXTERNAL MODULE: ./src/components/ui/SlideOver/index.ts + 1 modules
56
- var SlideOver = __webpack_require__(5731);
57
57
  // EXTERNAL MODULE: ./src/sdk/cart/index.ts
58
58
  var sdk_cart = __webpack_require__(7566);
59
59
  // EXTERNAL MODULE: ./faststore.config.js
@@ -90,6 +90,8 @@ var UIProvider = __webpack_require__(395);
90
90
  var useFadeEffect = __webpack_require__(6074);
91
91
  // EXTERNAL MODULE: ../components/dist/assets/XCircle.js
92
92
  var XCircle = __webpack_require__(3417);
93
+ // EXTERNAL MODULE: ../components/dist/molecules/IconButton/IconButton.js
94
+ var IconButton = __webpack_require__(2765);
93
95
  // EXTERNAL MODULE: ../components/dist/molecules/QuantitySelector/QuantitySelector.js + 2 modules
94
96
  var QuantitySelector = __webpack_require__(7377);
95
97
  // EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
@@ -105,8 +107,8 @@ const CartItem = (0,external_react_.forwardRef)(function CartItem({ testId = 'fs
105
107
  external_react_default().createElement("div", { "data-fs-cart-item-actions": true },
106
108
  external_react_default().createElement(QuantitySelector/* default */.Z, { min: 1, initial: quantity, onChange: onQuantityChange }),
107
109
  external_react_default().createElement("span", { "data-fs-cart-item-prices": true },
108
- external_react_default().createElement(Price/* default */.Z, { value: price?.listPrice ? price.listPrice : 0, formatter: price?.formatter, variant: "listing" }),
109
- external_react_default().createElement(Price/* default */.Z, { value: price?.value ? price.value : 0, formatter: price?.formatter, variant: "spot" })))));
110
+ external_react_default().createElement(Price/* default */.Z, { value: price?.listPrice ? price.listPrice : 0, formatter: price?.formatter, variant: "listing", SRText: "Original price:" }),
111
+ external_react_default().createElement(Price/* default */.Z, { value: price?.value ? price.value : 0, formatter: price?.formatter, variant: "spot", SRText: "Price:" })))));
110
112
  });
111
113
  /* harmony default export */ const CartItem_CartItem = (CartItem);
112
114
  //# sourceMappingURL=CartItem.js.map
@@ -294,15 +296,21 @@ const GiftImage = (0,external_react_.forwardRef)(function GiftImage({ testId = '
294
296
  //# sourceMappingURL=GiftImage.js.map
295
297
  ;// CONCATENATED MODULE: ../components/dist/molecules/Gift/GiftContent.js
296
298
 
297
- const GiftContent = (0,external_react_.forwardRef)(function GiftContent({ testId = 'fs-gift-content', children, ...otherProps }, ref) {
298
- return (external_react_default().createElement("section", { ref: ref, "data-fs-gift-content": true, "data-testid": testId, ...otherProps }, children));
299
+
300
+ const GiftContent = (0,external_react_.forwardRef)(function GiftContent({ price, productName, titleMessage = 'Get a', badgeLabel = 'Free', testId = 'fs-gift-content', ...otherProps }, ref) {
301
+ return (external_react_default().createElement("section", { ref: ref, "data-fs-gift-content": true, "data-testid": testId, ...otherProps },
302
+ external_react_default().createElement("h3", { "data-fs-gift-product-title": true },
303
+ titleMessage,
304
+ " ",
305
+ productName),
306
+ external_react_default().createElement("span", { "data-fs-gift-product-summary": true },
307
+ external_react_default().createElement(Price/* default */.Z, { value: price?.listPrice ? price.listPrice : 0, formatter: price?.formatter, testId: "list-price", "data-value": price?.listPrice, variant: "listing", SRText: "Original price:" }),
308
+ external_react_default().createElement(Badge/* default */.Z, null, badgeLabel))));
299
309
  });
300
310
  /* harmony default export */ const Gift_GiftContent = (GiftContent);
301
311
  //# sourceMappingURL=GiftContent.js.map
302
- // EXTERNAL MODULE: ./src/components/ui/Price/index.ts + 1 modules
303
- var ui_Price = __webpack_require__(7902);
304
312
  ;// CONCATENATED MODULE: ./src/components/ui/Gift/Gift.tsx
305
- const _excluded = ["item", "titleMessage", "badgeLabel"];
313
+ const _excluded = ["item"];
306
314
 
307
315
  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; }
308
316
 
@@ -321,12 +329,9 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
321
329
 
322
330
 
323
331
 
324
-
325
332
  function Gift_Gift_Gift(_ref) {
326
333
  let {
327
- item,
328
- titleMessage = 'Get a',
329
- badgeLabel = 'Free'
334
+ item
330
335
  } = _ref,
331
336
  otherProps = _objectWithoutProperties(_ref, _excluded);
332
337
 
@@ -344,24 +349,13 @@ function Gift_Gift_Gift(_ref) {
344
349
  width: 89,
345
350
  height: 89
346
351
  })
347
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)(Gift_GiftContent, {
348
- children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("h3", {
349
- "data-fs-gift-product-title": true,
350
- children: [titleMessage, " ", item.itemOffered.isVariantOf.name]
351
- }), /*#__PURE__*/(0,jsx_runtime_.jsxs)("span", {
352
- "data-fs-gift-product-summary": true,
353
- children: [/*#__PURE__*/jsx_runtime_.jsx(ui_Price/* default */.Z, {
354
- value: item.price,
355
- formatter: useFormattedPrice/* useFormattedPrice */.P,
356
- testId: "list-price",
357
- "data-value": item.price,
358
- variant: "listing",
359
- classes: "text__legend",
360
- SRText: "Original price:"
361
- }), /*#__PURE__*/jsx_runtime_.jsx(Badge/* default */.Z, {
362
- children: badgeLabel
363
- })]
364
- })]
352
+ }), /*#__PURE__*/jsx_runtime_.jsx(Gift_GiftContent, {
353
+ productName: item.itemOffered.isVariantOf.name,
354
+ price: {
355
+ value: item.price,
356
+ listPrice: item.listPrice,
357
+ formatter: useFormattedPrice/* useFormattedPrice */.P
358
+ }
365
359
  })]
366
360
  }));
367
361
  }
@@ -482,7 +476,6 @@ function CartSidebar_defineProperty(obj, key, value) { if (key in obj) { Object.
482
476
 
483
477
 
484
478
 
485
-
486
479
  function CartSidebar() {
487
480
  const {
488
481
  currency
@@ -527,18 +520,21 @@ function CartSidebar() {
527
520
  }
528
521
  }); // eslint-disable-next-line react-hooks/exhaustive-deps
529
522
  }, []);
523
+ const closeBtnProps = {
524
+ testId: 'cart-sidebar-button-close'
525
+ };
530
526
  return /*#__PURE__*/(0,jsx_runtime_.jsxs)(SlideOver/* default */.Z, {
531
527
  fade: fade,
532
528
  isOpen: displayCart,
533
- onDismiss: fadeOut,
529
+ onDismiss: () => fadeOut(),
534
530
  size: "partial",
535
531
  direction: "rightSide",
536
532
  className: (cart_sidebar_module_default()).fsCartSidebar,
537
533
  onTransitionEnd: () => fade === 'out' && closeCart(),
538
- children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("header", {
539
- "data-fs-cart-sidebar-header": true,
540
- "data-testid": "cart-sidebar",
541
- children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
534
+ children: [/*#__PURE__*/jsx_runtime_.jsx(SlideOverHeader/* default */.Z, {
535
+ closeBtnProps: closeBtnProps,
536
+ onClose: fadeOut,
537
+ children: /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
542
538
  "data-fs-cart-sidebar-title": true,
543
539
  children: [/*#__PURE__*/jsx_runtime_.jsx("p", {
544
540
  "data-fs-cart-sidebar-title-text": true,
@@ -548,17 +544,7 @@ function CartSidebar() {
548
544
  variant: "info",
549
545
  children: totalItems
550
546
  })]
551
- }), /*#__PURE__*/jsx_runtime_.jsx(IconButton/* default */.Z, {
552
- "data-fs-cart-sidebar-close-button": true,
553
- "data-testid": "cart-sidebar-button-close",
554
- "aria-label": "Close Cart",
555
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
556
- name: "X",
557
- width: 32,
558
- height: 32
559
- }),
560
- onClick: fadeOut
561
- })]
547
+ })
562
548
  }), /*#__PURE__*/jsx_runtime_.jsx(Alert/* default */.Z, {
563
549
  icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
564
550
  name: "Truck"