@faststore/core 2.0.99-alpha.0 → 2.0.100-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 (145) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/build-manifest.json +99 -0
  3. package/.next/cache/.tsbuildinfo +1 -0
  4. package/.next/cache/config.json +7 -0
  5. package/.next/cache/eslint/.cache_1gneedd +1 -0
  6. package/.next/cache/next-server.js.nft.json +1 -0
  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/export-marker.json +1 -0
  12. package/.next/images-manifest.json +1 -0
  13. package/.next/next-server.js.nft.json +1 -0
  14. package/.next/package.json +1 -0
  15. package/.next/prerender-manifest.json +1 -0
  16. package/.next/react-loadable-manifest.json +44 -0
  17. package/.next/required-server-files.json +1 -0
  18. package/.next/routes-manifest.json +1 -0
  19. package/.next/server/chunks/120.js +435 -0
  20. package/.next/server/chunks/123.js +58 -0
  21. package/.next/server/chunks/1394.js +3801 -0
  22. package/.next/server/chunks/1608.js +515 -0
  23. package/.next/server/chunks/2154.js +206 -0
  24. package/.next/server/chunks/247.js +61 -0
  25. package/.next/server/chunks/2914.js +95 -0
  26. package/.next/server/chunks/2922.js +7293 -0
  27. package/.next/server/chunks/3264.js +67 -0
  28. package/.next/server/chunks/3431.js +7241 -0
  29. package/.next/server/chunks/350.js +142 -0
  30. package/.next/server/chunks/3746.js +237 -0
  31. package/.next/server/chunks/3898.js +240 -0
  32. package/.next/server/chunks/4312.js +674 -0
  33. package/.next/server/chunks/4371.js +1473 -0
  34. package/.next/server/chunks/5098.js +124 -0
  35. package/.next/server/chunks/5576.js +72 -0
  36. package/.next/server/chunks/6280.js +322 -0
  37. package/.next/server/chunks/6465.js +91 -0
  38. package/.next/server/chunks/676.js +32 -0
  39. package/.next/server/chunks/6859.js +959 -0
  40. package/.next/server/chunks/6881.js +320 -0
  41. package/.next/server/chunks/6898.js +149 -0
  42. package/.next/server/chunks/7104.js +196 -0
  43. package/.next/server/chunks/7181.js +658 -0
  44. package/.next/server/chunks/7183.js +72 -0
  45. package/.next/server/chunks/7992.js +570 -0
  46. package/.next/server/chunks/8098.js +246 -0
  47. package/.next/server/chunks/810.js +432 -0
  48. package/.next/server/chunks/8287.js +58 -0
  49. package/.next/server/chunks/9143.js +106 -0
  50. package/.next/server/chunks/9152.js +213 -0
  51. package/.next/server/chunks/953.js +646 -0
  52. package/.next/server/chunks/9557.js +117 -0
  53. package/.next/server/chunks/9854.js +72 -0
  54. package/.next/server/chunks/font-manifest.json +1 -0
  55. package/.next/server/font-manifest.json +1 -0
  56. package/.next/server/middleware-build-manifest.js +1 -0
  57. package/.next/server/middleware-manifest.json +6 -0
  58. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  59. package/.next/server/pages/404.js.nft.json +1 -0
  60. package/.next/server/pages/500.js.nft.json +1 -0
  61. package/.next/server/pages/[...slug].js +671 -0
  62. package/.next/server/pages/[...slug].js.nft.json +1 -0
  63. package/.next/server/pages/[slug]/p.js +2393 -0
  64. package/.next/server/pages/[slug]/p.js.nft.json +1 -0
  65. package/.next/server/pages/_app.js +2369 -0
  66. package/.next/server/pages/_app.js.nft.json +1 -0
  67. package/.next/server/pages/_document.js +304 -0
  68. package/.next/server/pages/_document.js.nft.json +1 -0
  69. package/.next/server/pages/_error.js +164 -0
  70. package/.next/server/pages/_error.js.nft.json +1 -0
  71. package/.next/server/pages/account.js.nft.json +1 -0
  72. package/.next/server/pages/api/graphql.js +315 -0
  73. package/.next/server/pages/api/graphql.js.nft.json +1 -0
  74. package/.next/server/pages/api/preview.js +118 -0
  75. package/.next/server/pages/api/preview.js.nft.json +1 -0
  76. package/.next/server/pages/checkout.js.nft.json +1 -0
  77. package/.next/server/pages/en-US/404.html +81 -0
  78. package/.next/server/pages/en-US/500.html +81 -0
  79. package/.next/server/pages/en-US/account.html +81 -0
  80. package/.next/server/pages/en-US/checkout.html +81 -0
  81. package/.next/server/pages/en-US/login.html +81 -0
  82. package/.next/server/pages/en-US/s.html +81 -0
  83. package/.next/server/pages/en-US.html +81 -0
  84. package/.next/server/pages/en-US.json +1 -0
  85. package/.next/server/pages/index.js +428 -0
  86. package/.next/server/pages/index.js.nft.json +1 -0
  87. package/.next/server/pages/login.js.nft.json +1 -0
  88. package/.next/server/pages/s.js.nft.json +1 -0
  89. package/.next/server/pages-manifest.json +16 -0
  90. package/.next/server/webpack-api-runtime.js +229 -0
  91. package/.next/server/webpack-runtime.js +229 -0
  92. package/.next/static/_W6shnELbnMsH_iBfBVBe/_buildManifest.js +1 -0
  93. package/.next/static/_W6shnELbnMsH_iBfBVBe/_ssgManifest.js +1 -0
  94. package/.next/static/chunks/143.dd8a556e6957baa1.js +1 -0
  95. package/.next/static/chunks/152.57849458d8337a92.js +1 -0
  96. package/.next/static/chunks/264-25ec99bbaf5d02b4.js +1 -0
  97. package/.next/static/chunks/351-a4e28d64f48c5269.js +1 -0
  98. package/.next/static/chunks/608.59e69b83f35d9c44.js +1 -0
  99. package/.next/static/chunks/651.7142f31ce1e052b3.js +1 -0
  100. package/.next/static/chunks/686.6c345856d484363b.js +1 -0
  101. package/.next/static/chunks/741.52f7fb873418346f.js +1 -0
  102. package/.next/static/chunks/781-7df372b5b56e3f96.js +1 -0
  103. package/.next/static/chunks/843.e1d0f9260a52f32c.js +1 -0
  104. package/.next/static/chunks/98.97381d2021f86cd9.js +1 -0
  105. package/.next/static/chunks/996.64460309250b214c.js +1 -0
  106. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +1 -0
  107. package/.next/static/chunks/main-9746772201fe3ac1.js +1 -0
  108. package/.next/static/chunks/pages/404-ba608a2a9f0c420a.js +1 -0
  109. package/.next/static/chunks/pages/500-910883c20541d9ce.js +1 -0
  110. package/.next/static/chunks/pages/[...slug]-417e3b51bda1f5f3.js +1 -0
  111. package/.next/static/chunks/pages/[slug]/p-cbb4ca8d57bafa9f.js +1 -0
  112. package/.next/static/chunks/pages/_app-d757170e632a6003.js +1 -0
  113. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +1 -0
  114. package/.next/static/chunks/pages/account-b8fc5222ffe89b60.js +1 -0
  115. package/.next/static/chunks/pages/checkout-f8cb7cb22225ef9d.js +1 -0
  116. package/.next/static/chunks/pages/index-9ea3f7868f5ed138.js +1 -0
  117. package/.next/static/chunks/pages/login-33954810b200eca8.js +1 -0
  118. package/.next/static/chunks/pages/s-ba2868e14fedb65b.js +1 -0
  119. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +1 -0
  120. package/.next/static/chunks/webpack-65b155971f3eac57.js +1 -0
  121. package/.next/static/css/10db3bc7ecdf0556.css +1 -0
  122. package/.next/static/css/43d61b402f41569b.css +1 -0
  123. package/.next/static/css/4899c3cc356704f9.css +1 -0
  124. package/.next/static/css/6507cb48401e73a4.css +1 -0
  125. package/.next/static/css/8ea129ea90e49e98.css +1 -0
  126. package/.next/static/css/b2f16bd4b93e0aca.css +1 -0
  127. package/.next/static/css/db63ea05e98cb7e8.css +1 -0
  128. package/.next/static/css/ea60a7e6c07ee644.css +1 -0
  129. package/.next/static/media/brandless-neutral.76ddf63a.png +0 -0
  130. package/.next/trace +65 -0
  131. package/CHANGELOG.md +4 -0
  132. package/cms/sections.json +843 -40
  133. package/package.json +2 -2
  134. package/public/~partytown/debug/partytown-atomics.js +556 -0
  135. package/public/~partytown/debug/partytown-media.js +374 -0
  136. package/public/~partytown/debug/partytown-sandbox-sw.js +543 -0
  137. package/public/~partytown/debug/partytown-sw.js +59 -0
  138. package/public/~partytown/debug/partytown-ww-atomics.js +1789 -0
  139. package/public/~partytown/debug/partytown-ww-sw.js +1781 -0
  140. package/public/~partytown/debug/partytown.js +72 -0
  141. package/public/~partytown/partytown-atomics.js +2 -0
  142. package/public/~partytown/partytown-media.js +2 -0
  143. package/public/~partytown/partytown-sw.js +2 -0
  144. package/public/~partytown/partytown.js +2 -0
  145. package/src/components/sections/BannerText/BannerText.tsx +1 -0
@@ -0,0 +1,72 @@
1
+ exports.id = 7183;
2
+ exports.ids = [7183];
3
+ exports.modules = {
4
+
5
+ /***/ 7183:
6
+ /***/ ((module) => {
7
+
8
+ module.exports = {
9
+ seo: {
10
+ title: 'NextJSStore',
11
+ description: 'Fast Demo Store',
12
+ titleTemplate: '%s | FastStore',
13
+ author: 'Store Framework'
14
+ },
15
+ // Theming
16
+ theme: 'custom-theme',
17
+ // Ecommerce Platform
18
+ platform: 'vtex',
19
+ // Platform specific configs for API
20
+ api: {
21
+ storeId: 'storeframework',
22
+ workspace: 'master',
23
+ environment: 'vtexcommercestable',
24
+ hideUnavailableItems: true
25
+ },
26
+ // Default session
27
+ session: {
28
+ currency: {
29
+ code: 'USD',
30
+ symbol: '$'
31
+ },
32
+ locale: 'en-US',
33
+ channel: '{"salesChannel":"1","regionId":""}',
34
+ country: 'USA',
35
+ postalCode: null,
36
+ person: null
37
+ },
38
+ // Production URLs
39
+ storeUrl: 'https://vtexfaststore.com',
40
+ secureSubdomain: 'https://secure.vtexfaststore.com',
41
+ checkoutUrl: 'https://secure.vtexfaststore.com/checkout',
42
+ loginUrl: 'https://secure.vtexfaststore.com/api/io/login',
43
+ accountUrl: 'https://secure.vtexfaststore.com/api/io/account',
44
+ // Lighthouse CI
45
+ lighthouse: {
46
+ server: process.env.BASE_SITE_URL || 'http://localhost:3000',
47
+ pages: {
48
+ home: '/',
49
+ pdp: '/apple-magic-mouse/p',
50
+ collection: '/office'
51
+ }
52
+ },
53
+ // E2E CI
54
+ cypress: {
55
+ pages: {
56
+ home: '/',
57
+ pdp: '/apple-magic-mouse/p',
58
+ collection: '/office',
59
+ collection_filtered: '/office/?category-1=office&marca=acer&facets=category-1%2Cmarca',
60
+ search: '/s?q=orange'
61
+ }
62
+ },
63
+ analytics: {
64
+ // https://developers.google.com/tag-platform/tag-manager/web#standard_web_page_installation,
65
+ gtmContainerId: 'GTM-PGHZ95N'
66
+ }
67
+ };
68
+
69
+ /***/ })
70
+
71
+ };
72
+ ;
@@ -0,0 +1,570 @@
1
+ exports.id = 7992;
2
+ exports.ids = [7992];
3
+ exports.modules = {
4
+
5
+ /***/ 2659:
6
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
7
+
8
+ "use strict";
9
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
10
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
12
+ /* harmony export */ });
13
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7564);
14
+ /* harmony import */ var _SectionBoundary__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7429);
15
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(997);
16
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
17
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([chalk__WEBPACK_IMPORTED_MODULE_0__]);
18
+ chalk__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
19
+ 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; }
20
+
21
+ 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; }
22
+
23
+ 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; }
24
+
25
+
26
+
27
+
28
+
29
+
30
+ const RenderPageSections = ({
31
+ sections = [],
32
+ context,
33
+ components
34
+ }) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
35
+ children: sections.map(({
36
+ name,
37
+ data
38
+ }, index) => {
39
+ const Component = components[name];
40
+
41
+ if (!Component) {
42
+ // TODO: add a documentation link to help to do this
43
+ console.info(`${chalk__WEBPACK_IMPORTED_MODULE_0__["default"].yellow('warn')} - ${name} not found. Add a new component for this section or remove it from the CMS`);
44
+ return null;
45
+ }
46
+
47
+ return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_SectionBoundary__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
48
+ name: name,
49
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(Component, _objectSpread(_objectSpread({}, data), {}, {
50
+ context: context
51
+ }))
52
+ }, `cms-section-${index}`);
53
+ })
54
+ });
55
+
56
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RenderPageSections);
57
+ __webpack_async_result__();
58
+ } catch(e) { __webpack_async_result__(e); } });
59
+
60
+ /***/ }),
61
+
62
+ /***/ 7429:
63
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
64
+
65
+ "use strict";
66
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
67
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
68
+ /* harmony export */ });
69
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
70
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
71
+ 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; }
72
+
73
+
74
+
75
+ class SectionBoundary extends react__WEBPACK_IMPORTED_MODULE_0__.Component {
76
+ constructor(...args) {
77
+ super(...args);
78
+
79
+ _defineProperty(this, "state", {
80
+ hasError: false,
81
+ error: null
82
+ });
83
+ }
84
+
85
+ static getDerivedStateFromError(error) {
86
+ return {
87
+ hasError: true,
88
+ error
89
+ };
90
+ }
91
+
92
+ componentDidCatch(error, errorInfo) {
93
+ console.error(`Error while rendering section ${this.props.name} with:\n${error.message} ${errorInfo.componentStack}`); // TODO: Add fetch in here so we can know which sections are failing on our dashboard
94
+ }
95
+
96
+ render() {
97
+ if (this.state.hasError && true) {
98
+ return null;
99
+ }
100
+
101
+ return this.props.children;
102
+ }
103
+
104
+ }
105
+
106
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SectionBoundary);
107
+
108
+ /***/ }),
109
+
110
+ /***/ 7528:
111
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
112
+
113
+ "use strict";
114
+
115
+ // EXPORTS
116
+ __webpack_require__.d(__webpack_exports__, {
117
+ "Z": () => (/* reexport */ BannerText_BannerText)
118
+ });
119
+
120
+ // EXTERNAL MODULE: external "react"
121
+ var external_react_ = __webpack_require__(6689);
122
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
123
+ ;// CONCATENATED MODULE: ../ui/dist/components/molecules/Banner/Banner.js
124
+
125
+ const Banner = (0,external_react_.forwardRef)(function Banner({ testId = 'store-banner', children, variant = 'vertical', ...otherProps }, ref) {
126
+ return (external_react_default().createElement("article", { ref: ref, "data-fs-banner": variant, "data-testid": testId, ...otherProps }, children));
127
+ });
128
+ /* harmony default export */ const Banner_Banner = (Banner);
129
+ //# sourceMappingURL=Banner.js.map
130
+ ;// CONCATENATED MODULE: ../ui/dist/components/molecules/Banner/BannerContent.js
131
+
132
+ const BannerContent = (0,external_react_.forwardRef)(function BannerContent({ testId = 'store-banner-content', children, ...otherProps }, ref) {
133
+ return (external_react_default().createElement("div", { ref: ref, "data-banner-content": true, "data-testid": testId, ...otherProps }, children));
134
+ });
135
+ /* harmony default export */ const Banner_BannerContent = (BannerContent);
136
+ //# sourceMappingURL=BannerContent.js.map
137
+ ;// CONCATENATED MODULE: ../ui/dist/components/molecules/Banner/BannerLink.js
138
+
139
+ const BannerLink = (0,external_react_.forwardRef)(function BannerLink({ testId = 'store-banner-link', children, ...otherProps }, ref) {
140
+ return (external_react_default().createElement("div", { ref: ref, "data-banner-link": true, "data-testid": testId, ...otherProps }, children));
141
+ });
142
+ /* harmony default export */ const Banner_BannerLink = (BannerLink);
143
+ //# sourceMappingURL=BannerLink.js.map
144
+ // EXTERNAL MODULE: ../components/dist/molecules/LinkButton/LinkButton.js
145
+ var LinkButton = __webpack_require__(7703);
146
+ // EXTERNAL MODULE: ./src/components/sections/Section/index.ts + 1 modules
147
+ var Section = __webpack_require__(8879);
148
+ // EXTERNAL MODULE: ./src/components/sections/BannerText/banner-text.module.scss
149
+ var banner_text_module = __webpack_require__(1133);
150
+ var banner_text_module_default = /*#__PURE__*/__webpack_require__.n(banner_text_module);
151
+ // EXTERNAL MODULE: external "react/jsx-runtime"
152
+ var jsx_runtime_ = __webpack_require__(997);
153
+ ;// CONCATENATED MODULE: ./src/components/sections/BannerText/BannerText.tsx
154
+
155
+
156
+
157
+
158
+
159
+
160
+ // TODO: Change actionPath and actionLabel with Link
161
+ function BannerText({
162
+ title,
163
+ caption,
164
+ actionPath,
165
+ actionLabel,
166
+ variant = 'primary',
167
+ colorVariant = 'main'
168
+ }) {
169
+ return /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
170
+ className: "layout__section",
171
+ children: /*#__PURE__*/jsx_runtime_.jsx(Banner_Banner, {
172
+ className: (banner_text_module_default()).fsBannerText,
173
+ "data-fs-banner-text": true,
174
+ "data-fs-banner-text-variant": variant,
175
+ "data-fs-banner-text-color-variant": colorVariant,
176
+ children: /*#__PURE__*/(0,jsx_runtime_.jsxs)(Banner_BannerContent, {
177
+ "data-fs-banner-text-content": true,
178
+ className: "layout__content",
179
+ children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
180
+ "data-fs-banner-text-heading": true,
181
+ "data-fs-banner-text-color-variant": colorVariant,
182
+ children: [/*#__PURE__*/jsx_runtime_.jsx("h2", {
183
+ children: title
184
+ }), variant === 'secondary' && caption && /*#__PURE__*/jsx_runtime_.jsx("p", {
185
+ children: caption
186
+ })]
187
+ }), /*#__PURE__*/jsx_runtime_.jsx(Banner_BannerLink, {
188
+ "data-fs-banner-text-link": true,
189
+ children: /*#__PURE__*/jsx_runtime_.jsx(LinkButton/* default */.Z, {
190
+ href: actionPath,
191
+ variant: variant,
192
+ inverse: colorVariant === 'main',
193
+ children: actionLabel
194
+ })
195
+ })]
196
+ })
197
+ })
198
+ });
199
+ }
200
+
201
+ /* harmony default export */ const BannerText_BannerText = (BannerText);
202
+ ;// CONCATENATED MODULE: ./src/components/sections/BannerText/index.ts
203
+
204
+
205
+ /***/ }),
206
+
207
+ /***/ 8170:
208
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
209
+
210
+ "use strict";
211
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
212
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
213
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
214
+ /* harmony export */ });
215
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3906);
216
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8287);
217
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4842);
218
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
219
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
220
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(395);
221
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5045);
222
+ /* harmony import */ var src_components_ui_Link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1093);
223
+ /* harmony import */ var src_sdk_newsletter_useNewsletter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5822);
224
+ /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8879);
225
+ /* harmony import */ var _newsletter_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3639);
226
+ /* harmony import */ var _newsletter_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_newsletter_module_scss__WEBPACK_IMPORTED_MODULE_7__);
227
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(997);
228
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
229
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_newsletter_useNewsletter__WEBPACK_IMPORTED_MODULE_2__]);
230
+ src_sdk_newsletter_useNewsletter__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
231
+ const _excluded = ["title", "description", "card", "lite"];
232
+
233
+ 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; }
234
+
235
+ 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; }
236
+
237
+ 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; }
238
+
239
+ 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; }
240
+
241
+ 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; }
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+ const Newsletter = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Newsletter(_ref, ref) {
254
+ let {
255
+ title,
256
+ description,
257
+ card = false,
258
+ lite = false
259
+ } = _ref,
260
+ otherProps = _objectWithoutProperties(_ref, _excluded);
261
+
262
+ const {
263
+ subscribeUser,
264
+ loading,
265
+ data
266
+ } = (0,src_sdk_newsletter_useNewsletter__WEBPACK_IMPORTED_MODULE_2__/* .useNewsletter */ .u)();
267
+ const nameInputRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
268
+ const emailInputRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
269
+ const {
270
+ pushToast
271
+ } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_5__/* .useUI */ .l)();
272
+
273
+ const handleSubmit = event => {
274
+ event.preventDefault();
275
+ subscribeUser({
276
+ data: {
277
+ name: nameInputRef.current?.value ?? '',
278
+ email: emailInputRef.current?.value ?? ''
279
+ }
280
+ });
281
+
282
+ if (data?.subscribeToNewsletter?.id) {
283
+ pushToast({
284
+ title: 'Hooray!',
285
+ message: 'Thank for your subscription.',
286
+ status: 'INFO',
287
+ icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
288
+ name: "CircleWavyCheck",
289
+ width: 30,
290
+ height: 30
291
+ })
292
+ });
293
+ } else {
294
+ pushToast({
295
+ title: 'Oops.',
296
+ message: 'Something went wrong. Please Try again.',
297
+ status: 'ERROR',
298
+ icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
299
+ name: "CircleWavyWarning",
300
+ width: 30,
301
+ height: 30
302
+ })
303
+ });
304
+ }
305
+
306
+ const formElement = event.currentTarget;
307
+ formElement.reset();
308
+ };
309
+
310
+ return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_Section__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
311
+ "data-fs-newsletter": card ? 'card' : '',
312
+ className: `layout__section ${(_newsletter_module_scss__WEBPACK_IMPORTED_MODULE_7___default().fsNewsletter)}`,
313
+ children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, _objectSpread(_objectSpread({
314
+ "data-fs-newsletter-form": true,
315
+ ref: ref,
316
+ onSubmit: handleSubmit
317
+ }, otherProps), {}, {
318
+ className: "layout__content",
319
+ children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("header", {
320
+ "data-fs-newsletter-header": true,
321
+ children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("h3", {
322
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
323
+ name: "Envelop",
324
+ width: 32,
325
+ height: 32
326
+ }), title]
327
+ }), description && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("span", {
328
+ children: [" ", description]
329
+ })]
330
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx("div", {
331
+ "data-fs-newsletter-controls": true,
332
+ children: lite ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
333
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
334
+ inputRef: emailInputRef,
335
+ id: "newsletter-email",
336
+ label: "Your Email",
337
+ type: "email",
338
+ required: true,
339
+ actionable: true,
340
+ onSubmit: () => undefined,
341
+ onClear: () => undefined,
342
+ buttonActionText: "Subscribe",
343
+ displayClearButton: false
344
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("span", {
345
+ "data-fs-newsletter-addendum": true,
346
+ children: ["By subscribing to our newsletter you agree to to our", ' ', /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(src_components_ui_Link__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
347
+ href: "/",
348
+ inverse: true,
349
+ variant: "inline",
350
+ children: "Privacy Policy."
351
+ })]
352
+ })]
353
+ }) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
354
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
355
+ inputRef: nameInputRef,
356
+ id: "newsletter-name",
357
+ label: "Your Name",
358
+ required: true
359
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
360
+ inputRef: emailInputRef,
361
+ id: "newsletter-email",
362
+ label: "Your Email",
363
+ type: "email",
364
+ required: true
365
+ }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("span", {
366
+ "data-fs-newsletter-addendum": true,
367
+ children: ["By subscribing to our newsletter you agree to to our", ' ', /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(src_components_ui_Link__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
368
+ href: "/",
369
+ inverse: true,
370
+ variant: "inline",
371
+ children: "Privacy Policy."
372
+ })]
373
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
374
+ variant: "secondary",
375
+ inverse: true,
376
+ type: "submit",
377
+ children: loading ? 'Loading...' : 'Subscribe'
378
+ })]
379
+ })
380
+ })]
381
+ }))
382
+ });
383
+ });
384
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Newsletter);
385
+ __webpack_async_result__();
386
+ } catch(e) { __webpack_async_result__(e); } });
387
+
388
+ /***/ }),
389
+
390
+ /***/ 7191:
391
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
392
+
393
+ "use strict";
394
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
395
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
396
+ /* harmony export */ "Z": () => (/* reexport safe */ _Newsletter__WEBPACK_IMPORTED_MODULE_0__.Z)
397
+ /* harmony export */ });
398
+ /* harmony import */ var _Newsletter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8170);
399
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Newsletter__WEBPACK_IMPORTED_MODULE_0__]);
400
+ _Newsletter__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
401
+
402
+ __webpack_async_result__();
403
+ } catch(e) { __webpack_async_result__(e); } });
404
+
405
+ /***/ }),
406
+
407
+ /***/ 7410:
408
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
409
+
410
+ "use strict";
411
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
412
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
413
+ /* harmony export */ });
414
+ // eslint-disable-next-line import/no-anonymous-default-export
415
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({});
416
+
417
+ /***/ }),
418
+
419
+ /***/ 8597:
420
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
421
+
422
+ "use strict";
423
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
424
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
425
+ /* harmony export */ "t": () => (/* binding */ useLazyQuery)
426
+ /* harmony export */ });
427
+ /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5941);
428
+ /* harmony import */ var _request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(180);
429
+ /* harmony import */ var _useQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7732);
430
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_0__, _useQuery__WEBPACK_IMPORTED_MODULE_2__]);
431
+ ([swr__WEBPACK_IMPORTED_MODULE_0__, _useQuery__WEBPACK_IMPORTED_MODULE_2__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
432
+
433
+
434
+
435
+ const useLazyQuery = (operationName, variables, options) => {
436
+ const response = (0,swr__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_useQuery__WEBPACK_IMPORTED_MODULE_2__/* .getKey */ .km)(operationName, variables), () => null, _useQuery__WEBPACK_IMPORTED_MODULE_2__/* .DEFAULT_OPTIONS */ .WN);
437
+
438
+ const execute = async queryVariables => {
439
+ const data = await (0,_request__WEBPACK_IMPORTED_MODULE_1__/* .request */ .W)(operationName, queryVariables, options);
440
+ response.mutate(data, false);
441
+ };
442
+
443
+ return [execute, response];
444
+ };
445
+ __webpack_async_result__();
446
+ } catch(e) { __webpack_async_result__(e); } });
447
+
448
+ /***/ }),
449
+
450
+ /***/ 5822:
451
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
452
+
453
+ "use strict";
454
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
455
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
456
+ /* harmony export */ "u": () => (/* binding */ useNewsletter)
457
+ /* harmony export */ });
458
+ /* unused harmony export mutation */
459
+ /* harmony import */ var _graphql_useLazyQuery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8597);
460
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_graphql_useLazyQuery__WEBPACK_IMPORTED_MODULE_0__]);
461
+ _graphql_useLazyQuery__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
462
+
463
+ const mutation = "SubscribeToNewsletter";
464
+ const useNewsletter = () => {
465
+ const [subscribeUser, {
466
+ data,
467
+ error,
468
+ isValidating: loading
469
+ }] = (0,_graphql_useLazyQuery__WEBPACK_IMPORTED_MODULE_0__/* .useLazyQuery */ .t)(mutation, {
470
+ data: {
471
+ name: '',
472
+ email: ''
473
+ }
474
+ });
475
+ return {
476
+ subscribeUser,
477
+ data,
478
+ error,
479
+ loading
480
+ };
481
+ };
482
+ __webpack_async_result__();
483
+ } catch(e) { __webpack_async_result__(e); } });
484
+
485
+ /***/ }),
486
+
487
+ /***/ 5764:
488
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
489
+
490
+ "use strict";
491
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
492
+ /* harmony export */ "f": () => (/* binding */ getPage)
493
+ /* harmony export */ });
494
+ /* unused harmony export clientCMS */
495
+ /* harmony import */ var _vtex_client_cms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6676);
496
+ /* harmony import */ var _vtex_client_cms__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vtex_client_cms__WEBPACK_IMPORTED_MODULE_0__);
497
+ /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7183);
498
+ /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_faststore_config__WEBPACK_IMPORTED_MODULE_1__);
499
+
500
+
501
+ const clientCMS = new (_vtex_client_cms__WEBPACK_IMPORTED_MODULE_0___default())({
502
+ workspace: (_faststore_config__WEBPACK_IMPORTED_MODULE_1___default().api.workspace),
503
+ tenant: (_faststore_config__WEBPACK_IMPORTED_MODULE_1___default().api.storeId)
504
+ });
505
+
506
+ const isLocator = x => typeof x.contentType === 'string' && (typeof x.releaseId === 'string' || typeof x.documentId === 'string');
507
+
508
+ const getPage = async options => {
509
+ const result = await (isLocator(options) ? clientCMS.getCMSPage(options).then(page => ({
510
+ data: [page]
511
+ })) : clientCMS.getCMSPagesByContentType(options.contentType, options.filters));
512
+ const pages = result.data;
513
+
514
+ if (!pages[0]) {
515
+ throw new Error(`Missing content on the CMS for content type ${options.contentType}. Add content before proceeding. Context: ${JSON.stringify(options, null, 2)}`);
516
+ }
517
+
518
+ if (pages.length !== 1) {
519
+ throw new Error(`Multiple content defined on the CMS for content type ${options.contentType}. Remove duplicated content before proceeding. Context: ${JSON.stringify(options, null, 2)}`);
520
+ }
521
+
522
+ return pages[0];
523
+ };
524
+
525
+ /***/ }),
526
+
527
+ /***/ 1133:
528
+ /***/ ((module) => {
529
+
530
+ // Exports
531
+ module.exports = {
532
+ "fs-banner-text": "banner-text_fs-banner-text__65Ydx",
533
+ "fsBannerText": "banner-text_fs-banner-text__65Ydx"
534
+ };
535
+
536
+
537
+ /***/ }),
538
+
539
+ /***/ 3639:
540
+ /***/ ((module) => {
541
+
542
+ // Exports
543
+ module.exports = {
544
+ "fs-newsletter": "newsletter_fs-newsletter__W9mZZ",
545
+ "fsNewsletter": "newsletter_fs-newsletter__W9mZZ"
546
+ };
547
+
548
+
549
+ /***/ }),
550
+
551
+ /***/ 3906:
552
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
553
+
554
+ "use strict";
555
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
556
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
557
+ /* harmony export */ });
558
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
559
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
560
+
561
+ const Form = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Form({ testId = 'store-form', children, ...otherProps }, ref) {
562
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("form", { ref: ref, "data-fs-form": true, "data-testid": testId, ...otherProps }, children));
563
+ });
564
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Form);
565
+ //# sourceMappingURL=Form.js.map
566
+
567
+ /***/ })
568
+
569
+ };
570
+ ;