@faststore/core 3.99.1 → 4.0.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. package/.turbo/turbo-generate.log +29 -0
  2. package/.turbo/turbo-test.log +47 -16
  3. package/@generated/cached-operations.json +24 -0
  4. package/@generated/gql.ts +134 -210
  5. package/@generated/graphql.ts +1628 -3037
  6. package/@generated/index.ts +1 -1
  7. package/@generated/persisted-documents.json +1 -1
  8. package/@generated/schema.graphql +1854 -1743
  9. package/CHANGELOG.md +11 -5
  10. package/README.md +2 -1
  11. package/api/index.ts +6 -7
  12. package/cms/faststore/base.jsonc +1 -1
  13. package/cms/faststore/components/cms_component__alert.jsonc +5 -1
  14. package/cms/faststore/components/cms_component__bannernewsletter.jsonc +5 -1
  15. package/cms/faststore/components/cms_component__bannertext.jsonc +5 -1
  16. package/cms/faststore/components/cms_component__breadcrumb.jsonc +16 -4
  17. package/cms/faststore/components/cms_component__cartsidebar.jsonc +21 -1
  18. package/cms/faststore/components/cms_component__children.jsonc +5 -1
  19. package/cms/faststore/components/cms_component__crosssellingshelf.jsonc +5 -1
  20. package/cms/faststore/components/cms_component__emptystate.jsonc +8 -3
  21. package/cms/faststore/components/cms_component__footer.jsonc +9 -3
  22. package/cms/faststore/components/cms_component__hero.jsonc +5 -1
  23. package/cms/faststore/components/cms_component__incentives.jsonc +5 -1
  24. package/cms/faststore/components/cms_component__navbar.jsonc +139 -1
  25. package/cms/faststore/components/cms_component__newsletter.jsonc +5 -1
  26. package/cms/faststore/components/cms_component__productdetails.jsonc +33 -1
  27. package/cms/faststore/components/cms_component__productgallery.jsonc +113 -15
  28. package/cms/faststore/components/cms_component__productshelf.jsonc +5 -1
  29. package/cms/faststore/components/cms_component__producttiles.jsonc +5 -1
  30. package/cms/faststore/components/cms_component__regionbar.jsonc +5 -1
  31. package/cms/faststore/components/cms_component__regionmodal.jsonc +5 -1
  32. package/cms/faststore/components/cms_component__regionpopover.jsonc +5 -1
  33. package/cms/faststore/components/cms_component__scrolltotopbutton.jsonc +29 -0
  34. package/cms/faststore/components/cms_component__search.jsonc +5 -1
  35. package/cms/faststore/content-types.json +115 -0
  36. package/cms/faststore/pages/cms_content_type__globalsections.jsonc +52 -0
  37. package/cms/faststore/pages/cms_content_type__home.jsonc +6 -0
  38. package/cms/faststore/pages/cms_content_type__landingpage.jsonc +8 -1
  39. package/cms/faststore/pages/cms_content_type__pdp.jsonc +6 -0
  40. package/cms/faststore/pages/cms_content_type__plp.jsonc +17 -0
  41. package/cms/faststore/pages/cms_content_type__search.jsonc +17 -0
  42. package/cms/faststore/schema.json +547 -43
  43. package/cms/faststore/sections.json +330 -21
  44. package/discovery.config.default.js +49 -3
  45. package/next-env.d.ts +2 -1
  46. package/next.config.js +48 -26
  47. package/package.json +47 -60
  48. package/public/icons.svg +5 -1
  49. package/scripts/i18n.js +76 -0
  50. package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawer.tsx +2 -1
  51. package/src/components/account/MyAccountDrawer/OrganizationDrawer/section.module.scss +25 -24
  52. package/src/components/account/MyAccountDrawer/ProfileSummary/profile-summary.scss +8 -6
  53. package/src/components/account/MyAccountLayout/styles.scss +16 -12
  54. package/src/components/account/MyAccountMenu/styles.scss +21 -22
  55. package/src/components/account/MyAccountUserDetails/styles.module.scss +4 -2
  56. package/src/components/account/components/MyAccountAccordion/styles.scss +4 -2
  57. package/src/components/account/components/MyAccountHeader/styles.scss +3 -1
  58. package/src/components/account/components/MyAccountTable/styles.scss +6 -4
  59. package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/section.module.scss +21 -19
  60. package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersTable/MyAccountListOrdersTable.tsx +3 -1
  61. package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersTable/styles.scss +5 -3
  62. package/src/components/account/orders/MyAccountListOrders/styles.module.scss +25 -22
  63. package/src/components/account/orders/MyAccountOrderDetails/MyAccountBudgetsCard/styles.scss +7 -5
  64. package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/styles.scss +7 -5
  65. package/src/components/account/orders/MyAccountOrderDetails/MyAccountMoreInformationCard/styles.scss +3 -1
  66. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActionModal/styles.module.scss +8 -6
  67. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActions/styles.scss +3 -1
  68. package/src/components/account/orders/MyAccountOrderDetails/MyAccountStatusCard/styles.scss +8 -6
  69. package/src/components/account/orders/MyAccountOrderDetails/section.module.scss +36 -43
  70. package/src/components/account/profile/profile.module.scss +3 -1
  71. package/src/components/account/section.module.scss +3 -1
  72. package/src/components/account/security/styles.module.scss +14 -8
  73. package/src/components/cart/CartSidebar/CartSidebar.tsx +10 -1
  74. package/src/components/cart/CartSidebar/section.module.scss +19 -17
  75. package/src/components/cart/EmptyCart/EmptyCart.tsx +12 -4
  76. package/src/components/cms/GlobalSections.tsx +12 -12
  77. package/src/components/cms/RenderSections.tsx +10 -2
  78. package/src/components/cms/plp/Components.ts +9 -0
  79. package/src/components/common/Alert/section.module.scss +10 -5
  80. package/src/components/common/PreviewTag/section.module.scss +48 -40
  81. package/src/components/common/Toast/section.module.scss +4 -2
  82. package/src/components/localization/LocalizationSelector/LocalizationSelector.tsx +320 -0
  83. package/src/components/localization/LocalizationSelector/index.ts +1 -0
  84. package/src/components/localization/LocalizationSelector/section.module.scss +18 -0
  85. package/src/components/localization/index.ts +1 -0
  86. package/src/components/navigation/Navbar/Navbar.tsx +49 -1
  87. package/src/components/navigation/NavbarSlider/NavbarSlider.tsx +19 -1
  88. package/src/components/navigation/NavbarSlider/section.module.scss +12 -10
  89. package/src/components/product/OutOfStock/OutOfStock.tsx +6 -1
  90. package/src/components/product/ProductCard/ProductCard.tsx +1 -1
  91. package/src/components/region/RegionModal/RegionModal.tsx +4 -1
  92. package/src/components/region/RegionModal/section.module.scss +10 -8
  93. package/src/components/region/RegionPopover/RegionPopover.tsx +6 -5
  94. package/src/components/region/RegionPopover/section.module.scss +9 -7
  95. package/src/components/region/RegionSlider/RegionSlider.tsx +5 -2
  96. package/src/components/region/RegionSlider/section.module.scss +16 -13
  97. package/src/components/search/Filter/FilterDeliveryMethodFacet.tsx +5 -5
  98. package/src/components/search/Filter/FilterDesktop.tsx +13 -4
  99. package/src/components/search/Filter/FilterSlider.tsx +18 -6
  100. package/src/components/search/Filter/section.module.scss +21 -19
  101. package/src/components/search/SearchDropdown/SearchDropdown.tsx +9 -7
  102. package/src/components/search/SearchHistory/SearchHistory.tsx +7 -2
  103. package/src/components/search/SearchInput/SearchInput.tsx +21 -8
  104. package/src/components/search/SearchProductItem/SearchProductItem.tsx +10 -3
  105. package/src/components/search/SearchTop/SearchTop.tsx +30 -24
  106. package/src/components/search/Sort/Sort.tsx +17 -19
  107. package/src/components/sections/Alert/Alert.tsx +6 -1
  108. package/src/components/sections/BannerNewsletter/section.module.scss +6 -4
  109. package/src/components/sections/BannerText/section.module.scss +5 -3
  110. package/src/components/sections/Breadcrumb/Breadcrumb.tsx +6 -2
  111. package/src/components/sections/Breadcrumb/section.module.scss +7 -5
  112. package/src/components/sections/EmptyState/section.module.scss +5 -3
  113. package/src/components/sections/Footer/Footer.tsx +1 -5
  114. package/src/components/sections/Footer/section.module.scss +10 -8
  115. package/src/components/sections/Hero/Hero.tsx +3 -1
  116. package/src/components/sections/Hero/section.module.scss +6 -4
  117. package/src/components/sections/Incentives/section.module.scss +5 -3
  118. package/src/components/sections/Navbar/Navbar.tsx +45 -0
  119. package/src/components/sections/Navbar/section.module.scss +34 -33
  120. package/src/components/sections/Newsletter/section.module.scss +10 -8
  121. package/src/components/sections/ProductDetails/ProductDetails.tsx +23 -1
  122. package/src/components/sections/ProductDetails/section.module.scss +32 -30
  123. package/src/components/sections/ProductGallery/EmptyGallery.tsx +13 -16
  124. package/src/components/sections/ProductGallery/section.module.scss +42 -39
  125. package/src/components/sections/ProductShelf/section.module.scss +22 -17
  126. package/src/components/sections/ProductTiles/section.module.scss +15 -13
  127. package/src/components/sections/RegionBar/section.module.scss +5 -3
  128. package/src/components/sections/ScrollToTopButton/ScrollToTopButton.tsx +4 -3
  129. package/src/components/sections/ScrollToTopButton/section.module.scss +4 -2
  130. package/src/components/templates/LandingPage/LandingPage.tsx +22 -16
  131. package/src/components/templates/ProductListingPage/ProductListing.tsx +1 -13
  132. package/src/components/templates/ProductListingPage/ProductListingPage.tsx +8 -3
  133. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +14 -11
  134. package/src/components/ui/Button/ButtonSignIn/ButtonSignIn.tsx +2 -1
  135. package/src/components/ui/Button/ButtonSignIn/ButtonSignInFallback/ButtonSignInFallback.tsx +3 -1
  136. package/src/components/ui/Link/Link.tsx +19 -2
  137. package/src/components/ui/LinkButton/LinkButton.tsx +28 -0
  138. package/src/components/ui/LinkButton/index.ts +2 -0
  139. package/src/components/ui/LocalizationButton/LocalizationButton.tsx +124 -0
  140. package/src/components/ui/LocalizationButton/index.ts +1 -0
  141. package/src/components/ui/PickupPoints/PickupPointCards.tsx +2 -4
  142. package/src/components/ui/ProductComparison/ProductComparisonSidebar.tsx +34 -17
  143. package/src/components/ui/ProductDescription/ProductDescription.tsx +8 -3
  144. package/src/components/ui/ProductDetails/AddToCartLoadingSkeleton.tsx +6 -2
  145. package/src/components/ui/ProductDetails/ProductDetailsSettings.tsx +17 -5
  146. package/src/components/ui/ProductGallery/ProductGallery.tsx +7 -3
  147. package/src/components/ui/ProductGallery/ProductGalleryPage.tsx +1 -3
  148. package/src/components/ui/ShippingSimulation/ShippingSimulation.tsx +6 -1
  149. package/src/customizations/src/styles/custom-mixins.scss +0 -2
  150. package/src/experimental/index.ts +26 -0
  151. package/src/experimental/myAccountServerSideProps.ts +11 -2
  152. package/src/experimental/searchServerSideFunctions/getServerSideProps.ts +13 -7
  153. package/src/experimental/searchServerSideFunctions/getStaticProps.ts +5 -4
  154. package/src/instrumentation.ts +20 -6
  155. package/src/pages/404.tsx +5 -4
  156. package/src/pages/500.tsx +5 -4
  157. package/src/pages/[...slug].tsx +7 -4
  158. package/src/pages/[slug]/p.tsx +26 -8
  159. package/src/pages/_app.tsx +9 -1
  160. package/src/pages/api/fs/logout.ts +3 -2
  161. package/src/pages/api/graphql.ts +7 -23
  162. package/src/pages/api/preview.ts +21 -8
  163. package/src/pages/checkout.tsx +15 -5
  164. package/src/pages/index.tsx +18 -9
  165. package/src/pages/login.tsx +5 -4
  166. package/src/pages/pvt/account/403.tsx +11 -2
  167. package/src/pages/pvt/account/404.tsx +13 -3
  168. package/src/pages/pvt/account/index.tsx +6 -4
  169. package/src/pages/pvt/account/orders/[id].tsx +11 -3
  170. package/src/pages/pvt/account/orders/index.tsx +11 -3
  171. package/src/pages/pvt/account/profile.tsx +11 -2
  172. package/src/pages/pvt/account/security.tsx +11 -2
  173. package/src/pages/pvt/account/user-details.tsx +11 -2
  174. package/src/pages/s.tsx +26 -6
  175. package/src/proxy.ts +154 -0
  176. package/src/sdk/account/refreshToken.ts +4 -4
  177. package/src/sdk/account/useReorder.ts +8 -2
  178. package/src/sdk/analytics/platform/vtex/search.ts +3 -2
  179. package/src/sdk/cart/redirectToCheckout.ts +14 -8
  180. package/src/sdk/cart/useCheckoutButton.ts +7 -1
  181. package/src/sdk/deliveryPromise/useDeliveryPromise.ts +10 -18
  182. package/src/sdk/graphql/request.ts +102 -50
  183. package/src/sdk/localization/bindingSelector.ts +91 -0
  184. package/src/sdk/localization/index.ts +4 -0
  185. package/src/sdk/localization/match-url.ts +64 -0
  186. package/src/sdk/localization/types.ts +31 -0
  187. package/src/sdk/localization/useBindingSelector.ts +183 -0
  188. package/src/sdk/localization/useLocaleValidation.ts +49 -0
  189. package/src/sdk/localization/useLocalizationConfig.tsx +160 -0
  190. package/src/sdk/offer/fetcher.ts +3 -2
  191. package/src/sdk/product/useLocalizedVariables.ts +1 -1
  192. package/src/sdk/product/usePageProductsQuery.ts +2 -2
  193. package/src/sdk/product/useProductGalleryQuery.ts +1 -2
  194. package/src/sdk/product/useProductLink.ts +3 -1
  195. package/src/sdk/search/formatSearchPath.ts +28 -3
  196. package/src/sdk/search/state.ts +22 -13
  197. package/src/sdk/search/useSearchBase.ts +10 -0
  198. package/src/sdk/search/useSearchHistory.ts +41 -7
  199. package/src/sdk/session/index.ts +21 -3
  200. package/src/sdk/shipping/useShippingSimulation.ts +10 -2
  201. package/src/sdk/tsconfig.json +6 -0
  202. package/src/sdk/ui/useLink.ts +48 -0
  203. package/src/server/cms/global.ts +40 -0
  204. package/src/server/cms/index.ts +18 -10
  205. package/src/server/cms/pdp.ts +1 -0
  206. package/src/server/cms/plp.ts +3 -0
  207. package/src/server/content/service.ts +36 -24
  208. package/src/server/content/types.ts +10 -3
  209. package/src/server/index.ts +27 -20
  210. package/src/server/options.ts +27 -2
  211. package/src/styles/global/index.scss +10 -7
  212. package/src/styles/main.scss +3 -3
  213. package/src/typings/locales.ts +41 -0
  214. package/src/utils/fetchProductGallerySSR.ts +3 -1
  215. package/src/utils/getBaseDomain.ts +2 -1
  216. package/src/utils/getRequestHostname.ts +26 -0
  217. package/src/utils/globalSettings.ts +11 -0
  218. package/src/utils/localization/bindingPaths.ts +337 -0
  219. package/src/utils/localization/validateLocaleForHostname.ts +69 -0
  220. package/src/utils/localization/withLocaleValidation.ts +36 -0
  221. package/src/utils/utilities.ts +22 -0
  222. package/test/pages/api/preview.test.ts +93 -0
  223. package/test/sdk/localization/bindingSelector.test.ts +246 -0
  224. package/test/sdk/localization/store-url.browser.test.ts +140 -0
  225. package/test/sdk/localization/store-url.test.ts +96 -0
  226. package/test/sdk/localization/useBindingSelector.test.tsx +219 -0
  227. package/test/sdk/search/useSearchHistory.test.ts +222 -0
  228. package/test/server/cms/index.test.ts +3 -4
  229. package/test/server/content/service.test.ts +98 -0
  230. package/test/server/index.test.ts +10 -22
  231. package/test/utils/cookieCacheBusting.test.ts +32 -24
  232. package/test/utils/getRequestHostname.test.ts +71 -0
  233. package/test/utils/localization/bindingPaths.test.ts +706 -0
  234. package/test/utils/match-url.test.ts +388 -0
  235. package/tsconfig.json +11 -3
  236. package/vitest.config.ts +61 -0
  237. package/.next/BUILD_ID +0 -1
  238. package/.next/build-manifest.json +0 -197
  239. package/.next/cache/.tsbuildinfo +0 -1
  240. package/.next/cache/config.json +0 -7
  241. package/.next/cache/webpack/client-production/0.pack +0 -0
  242. package/.next/cache/webpack/client-production/index.pack +0 -0
  243. package/.next/cache/webpack/edge-server-production/0.pack +0 -0
  244. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  245. package/.next/cache/webpack/server-production/0.pack +0 -0
  246. package/.next/cache/webpack/server-production/index.pack +0 -0
  247. package/.next/export-marker.json +0 -1
  248. package/.next/images-manifest.json +0 -1
  249. package/.next/next-minimal-server.js.nft.json +0 -1
  250. package/.next/next-server.js.nft.json +0 -1
  251. package/.next/package.json +0 -1
  252. package/.next/prerender-manifest.js +0 -1
  253. package/.next/prerender-manifest.json +0 -1
  254. package/.next/react-loadable-manifest.json +0 -478
  255. package/.next/required-server-files.json +0 -1
  256. package/.next/routes-manifest.json +0 -1
  257. package/.next/server/chunks/1280.js +0 -1
  258. package/.next/server/chunks/1454.js +0 -1
  259. package/.next/server/chunks/1554.js +0 -1
  260. package/.next/server/chunks/1607.js +0 -1
  261. package/.next/server/chunks/1780.js +0 -1
  262. package/.next/server/chunks/1917.js +0 -1
  263. package/.next/server/chunks/1972.js +0 -1
  264. package/.next/server/chunks/2230.js +0 -1
  265. package/.next/server/chunks/2249.js +0 -1
  266. package/.next/server/chunks/2430.js +0 -1
  267. package/.next/server/chunks/2445.js +0 -12
  268. package/.next/server/chunks/2570.js +0 -1
  269. package/.next/server/chunks/2792.js +0 -1
  270. package/.next/server/chunks/2903.js +0 -1
  271. package/.next/server/chunks/294.js +0 -1
  272. package/.next/server/chunks/2955.js +0 -1
  273. package/.next/server/chunks/3006.js +0 -1
  274. package/.next/server/chunks/3029.js +0 -1
  275. package/.next/server/chunks/3060.js +0 -1
  276. package/.next/server/chunks/3408.js +0 -1
  277. package/.next/server/chunks/3483.js +0 -1
  278. package/.next/server/chunks/3683.js +0 -1
  279. package/.next/server/chunks/3836.js +0 -1
  280. package/.next/server/chunks/3890.js +0 -494
  281. package/.next/server/chunks/3922.js +0 -1
  282. package/.next/server/chunks/3945.js +0 -1
  283. package/.next/server/chunks/3951.js +0 -7
  284. package/.next/server/chunks/416.js +0 -1
  285. package/.next/server/chunks/4194.js +0 -1
  286. package/.next/server/chunks/4365.js +0 -1
  287. package/.next/server/chunks/4451.js +0 -1
  288. package/.next/server/chunks/4803.js +0 -1
  289. package/.next/server/chunks/4913.js +0 -13
  290. package/.next/server/chunks/5402.js +0 -1
  291. package/.next/server/chunks/5723.js +0 -13
  292. package/.next/server/chunks/5796.js +0 -1
  293. package/.next/server/chunks/6393.js +0 -1
  294. package/.next/server/chunks/6457.js +0 -6
  295. package/.next/server/chunks/6698.js +0 -1
  296. package/.next/server/chunks/6804.js +0 -6
  297. package/.next/server/chunks/6886.js +0 -1
  298. package/.next/server/chunks/7098.js +0 -9
  299. package/.next/server/chunks/7169.js +0 -1
  300. package/.next/server/chunks/7228.js +0 -1
  301. package/.next/server/chunks/7275.js +0 -1
  302. package/.next/server/chunks/7371.js +0 -1
  303. package/.next/server/chunks/7692.js +0 -1
  304. package/.next/server/chunks/7799.js +0 -1
  305. package/.next/server/chunks/8068.js +0 -1
  306. package/.next/server/chunks/83.js +0 -1
  307. package/.next/server/chunks/831.js +0 -1
  308. package/.next/server/chunks/8563.js +0 -1
  309. package/.next/server/chunks/8569.js +0 -1
  310. package/.next/server/chunks/8687.js +0 -1
  311. package/.next/server/chunks/870.js +0 -1
  312. package/.next/server/chunks/8737.js +0 -1
  313. package/.next/server/chunks/8741.js +0 -1
  314. package/.next/server/chunks/9088.js +0 -1
  315. package/.next/server/chunks/9117.js +0 -1
  316. package/.next/server/chunks/9237.js +0 -1
  317. package/.next/server/chunks/948.js +0 -3
  318. package/.next/server/chunks/9563.js +0 -3
  319. package/.next/server/chunks/9570.js +0 -1
  320. package/.next/server/chunks/9740.js +0 -1
  321. package/.next/server/chunks/9853.js +0 -1
  322. package/.next/server/chunks/9984.js +0 -1
  323. package/.next/server/chunks/9985.js +0 -1
  324. package/.next/server/chunks/9990.js +0 -1
  325. package/.next/server/chunks/ButtonSignIn.js +0 -1
  326. package/.next/server/chunks/Dropdown.js +0 -1
  327. package/.next/server/chunks/DropdownButton.js +0 -1
  328. package/.next/server/chunks/DropdownItem.js +0 -1
  329. package/.next/server/chunks/DropdownMenu.js +0 -1
  330. package/.next/server/chunks/FilterSkeleton.js +0 -1
  331. package/.next/server/chunks/ScrollToTopButton.js +0 -1
  332. package/.next/server/chunks/UIBannerText.js +0 -1
  333. package/.next/server/chunks/UISKUMatrixSidebar.js +0 -1
  334. package/.next/server/chunks/font-manifest.json +0 -1
  335. package/.next/server/edge-instrumentation.js +0 -2
  336. package/.next/server/edge-instrumentation.js.map +0 -1
  337. package/.next/server/edge-runtime-webpack.js +0 -157
  338. package/.next/server/edge-runtime-webpack.js.map +0 -1
  339. package/.next/server/font-manifest.json +0 -1
  340. package/.next/server/functions-config-manifest.json +0 -1
  341. package/.next/server/instrumentation.js +0 -1
  342. package/.next/server/instrumentation.js.nft.json +0 -1
  343. package/.next/server/middleware-build-manifest.js +0 -1
  344. package/.next/server/middleware-manifest.json +0 -6
  345. package/.next/server/middleware-react-loadable-manifest.js +0 -1
  346. package/.next/server/next-font-manifest.js +0 -1
  347. package/.next/server/next-font-manifest.json +0 -1
  348. package/.next/server/pages/404.js +0 -1
  349. package/.next/server/pages/404.js.nft.json +0 -1
  350. package/.next/server/pages/500.js +0 -1
  351. package/.next/server/pages/500.js.nft.json +0 -1
  352. package/.next/server/pages/[...slug].js +0 -1
  353. package/.next/server/pages/[...slug].js.nft.json +0 -1
  354. package/.next/server/pages/[slug]/p.js +0 -1
  355. package/.next/server/pages/[slug]/p.js.nft.json +0 -1
  356. package/.next/server/pages/_app.js +0 -1
  357. package/.next/server/pages/_app.js.nft.json +0 -1
  358. package/.next/server/pages/_document.js +0 -1
  359. package/.next/server/pages/_document.js.nft.json +0 -1
  360. package/.next/server/pages/_error.js +0 -1
  361. package/.next/server/pages/_error.js.nft.json +0 -1
  362. package/.next/server/pages/api/fs/logout.js +0 -1
  363. package/.next/server/pages/api/fs/logout.js.nft.json +0 -1
  364. package/.next/server/pages/api/graphql.js +0 -3
  365. package/.next/server/pages/api/graphql.js.nft.json +0 -1
  366. package/.next/server/pages/api/health/live.js +0 -1
  367. package/.next/server/pages/api/health/live.js.nft.json +0 -1
  368. package/.next/server/pages/api/health/ready.js +0 -1
  369. package/.next/server/pages/api/health/ready.js.nft.json +0 -1
  370. package/.next/server/pages/api/preview.js +0 -1
  371. package/.next/server/pages/api/preview.js.nft.json +0 -1
  372. package/.next/server/pages/checkout.js +0 -1
  373. package/.next/server/pages/checkout.js.nft.json +0 -1
  374. package/.next/server/pages/en-US/404.html +0 -42
  375. package/.next/server/pages/en-US/404.json +0 -1
  376. package/.next/server/pages/en-US/500.html +0 -42
  377. package/.next/server/pages/en-US/500.json +0 -1
  378. package/.next/server/pages/en-US/checkout.html +0 -42
  379. package/.next/server/pages/en-US/checkout.json +0 -1
  380. package/.next/server/pages/en-US/login.html +0 -42
  381. package/.next/server/pages/en-US/login.json +0 -1
  382. package/.next/server/pages/en-US/s.html +0 -42
  383. package/.next/server/pages/en-US/s.json +0 -1
  384. package/.next/server/pages/en-US.html +0 -42
  385. package/.next/server/pages/en-US.json +0 -1
  386. package/.next/server/pages/index.js +0 -1
  387. package/.next/server/pages/index.js.nft.json +0 -1
  388. package/.next/server/pages/login.js +0 -1
  389. package/.next/server/pages/login.js.nft.json +0 -1
  390. package/.next/server/pages/pvt/account/403.js +0 -1
  391. package/.next/server/pages/pvt/account/403.js.nft.json +0 -1
  392. package/.next/server/pages/pvt/account/404.js +0 -1
  393. package/.next/server/pages/pvt/account/404.js.nft.json +0 -1
  394. package/.next/server/pages/pvt/account/[...unknown].js +0 -1
  395. package/.next/server/pages/pvt/account/[...unknown].js.nft.json +0 -1
  396. package/.next/server/pages/pvt/account/orders/[id].js +0 -1
  397. package/.next/server/pages/pvt/account/orders/[id].js.nft.json +0 -1
  398. package/.next/server/pages/pvt/account/orders.js +0 -1
  399. package/.next/server/pages/pvt/account/orders.js.nft.json +0 -1
  400. package/.next/server/pages/pvt/account/profile.js +0 -1
  401. package/.next/server/pages/pvt/account/profile.js.nft.json +0 -1
  402. package/.next/server/pages/pvt/account/security.js +0 -1
  403. package/.next/server/pages/pvt/account/security.js.nft.json +0 -1
  404. package/.next/server/pages/pvt/account/user-details.js +0 -1
  405. package/.next/server/pages/pvt/account/user-details.js.nft.json +0 -1
  406. package/.next/server/pages/pvt/account.js +0 -1
  407. package/.next/server/pages/pvt/account.js.nft.json +0 -1
  408. package/.next/server/pages/s.js +0 -1
  409. package/.next/server/pages/s.js.nft.json +0 -1
  410. package/.next/server/pages-manifest.json +0 -1
  411. package/.next/server/webpack-api-runtime.js +0 -1
  412. package/.next/server/webpack-runtime.js +0 -1
  413. package/.next/static/NAuY8lqaeBBZf9CMZuYI2/_buildManifest.js +0 -1
  414. package/.next/static/NAuY8lqaeBBZf9CMZuYI2/_ssgManifest.js +0 -1
  415. package/.next/static/chunks/227-f109b24190a008ab.js +0 -8
  416. package/.next/static/chunks/2284.185d834d9829b652.js +0 -1
  417. package/.next/static/chunks/2851.e68ed3c8d27a032a.js +0 -1
  418. package/.next/static/chunks/2927.5a79877943a6bf7c.js +0 -1
  419. package/.next/static/chunks/3155.7bc4c730a79d9ecb.js +0 -1
  420. package/.next/static/chunks/3166-0b30a3887c0c346d.js +0 -1
  421. package/.next/static/chunks/3399.017c5209b74b0d97.js +0 -1
  422. package/.next/static/chunks/3483.ef53d632a763da3f.js +0 -1
  423. package/.next/static/chunks/349.b3b38e1e9f719dda.js +0 -1
  424. package/.next/static/chunks/3802.5e8b0b689eacc0f8.js +0 -1
  425. package/.next/static/chunks/3836.620480018be48233.js +0 -1
  426. package/.next/static/chunks/4436.e7af66f0b654ee36.js +0 -1
  427. package/.next/static/chunks/4803.b1920b6e3a1a6304.js +0 -1
  428. package/.next/static/chunks/5796.4351370494d8b8b6.js +0 -1
  429. package/.next/static/chunks/6393.55f991b1a6bb4fe7.js +0 -1
  430. package/.next/static/chunks/6700.b23221a57514e737.js +0 -1
  431. package/.next/static/chunks/6789.960162355435a81d.js +0 -1
  432. package/.next/static/chunks/7191-befad64ba238a817.js +0 -1
  433. package/.next/static/chunks/7692.8d5bf4560341a2f6.js +0 -1
  434. package/.next/static/chunks/7861.7f9f1a124a43da30.js +0 -6
  435. package/.next/static/chunks/8068.43663fb64762f7b8.js +0 -1
  436. package/.next/static/chunks/83.e0c16f0299b364a5.js +0 -1
  437. package/.next/static/chunks/8325.dabe9aa22eaadeed.js +0 -1
  438. package/.next/static/chunks/8587.53c8ce185ed1a2cb.js +0 -1
  439. package/.next/static/chunks/9173-e89da04079c35360.js +0 -2
  440. package/.next/static/chunks/9237.7555603703f81bf7.js +0 -1
  441. package/.next/static/chunks/9298-1d1ed0a54133cb59.js +0 -28
  442. package/.next/static/chunks/9399.d116a7fd62024783.js +0 -1
  443. package/.next/static/chunks/941.3e2782ab9c490eb0.js +0 -1
  444. package/.next/static/chunks/9701.f9a0bfffba8807dc.js +0 -1
  445. package/.next/static/chunks/9909.787576b171184aa5.js +0 -1
  446. package/.next/static/chunks/9960.7ef77f8a8b046170.js +0 -1
  447. package/.next/static/chunks/9979.aedbc094bdc2c599.js +0 -1
  448. package/.next/static/chunks/BannerNewsletter.00328ad162109908.js +0 -1
  449. package/.next/static/chunks/BannerText.dbbec87cadb8a521.js +0 -1
  450. package/.next/static/chunks/ButtonSignIn.f6e210eaca873e48.js +0 -1
  451. package/.next/static/chunks/CartItem.b34e295377f6f94f.js +0 -1
  452. package/.next/static/chunks/CartSidebar.ac447d1ef6276da1.js +0 -1
  453. package/.next/static/chunks/Dropdown.38b48c749bad6b60.js +0 -1
  454. package/.next/static/chunks/DropdownButton.66fa6b25dddb3a07.js +0 -1
  455. package/.next/static/chunks/DropdownItem.38b8f5a07c7f422a.js +0 -1
  456. package/.next/static/chunks/DropdownMenu.48b11521a24c6efd.js +0 -1
  457. package/.next/static/chunks/EmptyCart.320e2f94a0d5e6b1.js +0 -1
  458. package/.next/static/chunks/FilterSkeleton.7ab99e28f92341c9.js +0 -1
  459. package/.next/static/chunks/Footer.166b02c2f13980c6.js +0 -1
  460. package/.next/static/chunks/Gift.c49ba26da2fbab5e.js +0 -1
  461. package/.next/static/chunks/Newsletter.fc406f6029057022.js +0 -1
  462. package/.next/static/chunks/OrderSummary.5957d69f990d9add.js +0 -1
  463. package/.next/static/chunks/PreviewTag.f4f0c8710a7bcad9.js +0 -1
  464. package/.next/static/chunks/ProductShelf.cc46f5cdeeaeaff6.js +0 -1
  465. package/.next/static/chunks/ProductTiles.9b804e51b0704d60.js +0 -1
  466. package/.next/static/chunks/RegionModal.319ad44250cb12d2.js +0 -1
  467. package/.next/static/chunks/RegionSlider.0e0e93369f4f9c92.js +0 -1
  468. package/.next/static/chunks/ScrollToTopButton.c15431f2e8bb93ef.js +0 -1
  469. package/.next/static/chunks/ShoppingAssistant.ba191eb4dbed67e5.js +0 -1
  470. package/.next/static/chunks/Toast.5f90f0436708be5e.js +0 -1
  471. package/.next/static/chunks/UIBannerText.7315b16af4457059.js +0 -1
  472. package/.next/static/chunks/UISKUMatrixSidebar.b4349b2682bbe183.js +0 -1
  473. package/.next/static/chunks/UIToast.19a8664c01a00d3a.js +0 -1
  474. package/.next/static/chunks/framework-d514426edf885c68.js +0 -33
  475. package/.next/static/chunks/main-ec03882c4375091d.js +0 -1
  476. package/.next/static/chunks/pages/404-e3dfbbac003b02a2.js +0 -1
  477. package/.next/static/chunks/pages/500-c7814e085081d7b8.js +0 -1
  478. package/.next/static/chunks/pages/[...slug]-dc8a395a43b081f1.js +0 -1
  479. package/.next/static/chunks/pages/[slug]/p-644f1132f5a0f736.js +0 -1
  480. package/.next/static/chunks/pages/_app-84aaff8a9d4de60e.js +0 -1
  481. package/.next/static/chunks/pages/_error-2b0148be56a716e9.js +0 -1
  482. package/.next/static/chunks/pages/checkout-2071467ad42dfb99.js +0 -1
  483. package/.next/static/chunks/pages/index-8774d5b4a8744eb2.js +0 -1
  484. package/.next/static/chunks/pages/login-e74747c9f9cb5b49.js +0 -1
  485. package/.next/static/chunks/pages/pvt/account/403-491e6b062487b30f.js +0 -1
  486. package/.next/static/chunks/pages/pvt/account/404-5ad472d9f2ee1980.js +0 -1
  487. package/.next/static/chunks/pages/pvt/account/[...unknown]-f80f645594d2740c.js +0 -1
  488. package/.next/static/chunks/pages/pvt/account/orders/[id]-64e42157c0974c48.js +0 -1
  489. package/.next/static/chunks/pages/pvt/account/orders-faab39f2aff05fae.js +0 -1
  490. package/.next/static/chunks/pages/pvt/account/profile-9672177ee2665bc0.js +0 -1
  491. package/.next/static/chunks/pages/pvt/account/security-03eb1ccab9a30563.js +0 -1
  492. package/.next/static/chunks/pages/pvt/account/user-details-7838e3f79781596c.js +0 -1
  493. package/.next/static/chunks/pages/pvt/account-65fefcc699344bdb.js +0 -1
  494. package/.next/static/chunks/pages/s-162ba789e6611175.js +0 -1
  495. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  496. package/.next/static/chunks/webpack-f621ff3e951d2982.js +0 -1
  497. package/.next/static/css/02259c549b2179f2.css +0 -1
  498. package/.next/static/css/02eaf202d3d11fd1.css +0 -1
  499. package/.next/static/css/033e241c58ba6fbb.css +0 -1
  500. package/.next/static/css/042d012bc1895b5c.css +0 -1
  501. package/.next/static/css/14176a4704ff97b2.css +0 -1
  502. package/.next/static/css/146a8678babc61bf.css +0 -1
  503. package/.next/static/css/16d65422bfa80f51.css +0 -1
  504. package/.next/static/css/1c4983f11b861ea0.css +0 -1
  505. package/.next/static/css/204754bbd8cc4bef.css +0 -1
  506. package/.next/static/css/24d91007fc96be10.css +0 -1
  507. package/.next/static/css/2980acad3f8e1028.css +0 -1
  508. package/.next/static/css/2c19433e38fd7533.css +0 -1
  509. package/.next/static/css/31380ebc6e671486.css +0 -1
  510. package/.next/static/css/42df884711219edb.css +0 -1
  511. package/.next/static/css/4f0597b0bf0ef2e1.css +0 -1
  512. package/.next/static/css/54cedf4b65e5863f.css +0 -1
  513. package/.next/static/css/6580147d7ab8fcca.css +0 -1
  514. package/.next/static/css/6819dddf2b1b5ea7.css +0 -1
  515. package/.next/static/css/7ef7762f412ed665.css +0 -1
  516. package/.next/static/css/82f3cd529b672812.css +0 -1
  517. package/.next/static/css/837662922091162f.css +0 -1
  518. package/.next/static/css/8e6ab59ace21e03b.css +0 -1
  519. package/.next/static/css/a852afa9be31e946.css +0 -1
  520. package/.next/static/css/b684b347c5cc6514.css +0 -1
  521. package/.next/static/css/bcdaef0a83277ef5.css +0 -1
  522. package/.next/static/css/c33615999008d3f9.css +0 -1
  523. package/.next/static/css/c34f6ea9953e2f63.css +0 -1
  524. package/.next/static/css/ea11d74a2848b093.css +0 -1
  525. package/.next/static/css/f16438bcf4508fb3.css +0 -1
  526. package/.next/static/css/f60366555f563deb.css +0 -1
  527. package/.next/trace +0 -143
  528. package/.turbo/turbo-build.log +0 -140
  529. package/jest.config.js +0 -17
  530. package/public/~partytown/debug/partytown-atomics.js +0 -556
  531. package/public/~partytown/debug/partytown-media.js +0 -374
  532. package/public/~partytown/debug/partytown-sandbox-sw.js +0 -543
  533. package/public/~partytown/debug/partytown-sw.js +0 -59
  534. package/public/~partytown/debug/partytown-ww-atomics.js +0 -1789
  535. package/public/~partytown/debug/partytown-ww-sw.js +0 -1781
  536. package/public/~partytown/debug/partytown.js +0 -72
  537. package/public/~partytown/partytown-atomics.js +0 -2
  538. package/public/~partytown/partytown-media.js +0 -2
  539. package/public/~partytown/partytown-sw.js +0 -2
  540. package/public/~partytown/partytown.js +0 -2
  541. package/src/middleware__DISABLED.ts +0 -65
  542. package/src/server/generator/generateGraphQLSchemaFile.ts +0 -3
  543. package/src/server/generator/schema.ts +0 -81
@@ -1,494 +0,0 @@
1
- exports.id=3890,exports.ids=[3890],exports.modules={25487:(e,t,r)=>{"use strict";r.d(t,{$G:()=>I,Ce:()=>C,D5:()=>y,Fs:()=>g,HZ:()=>P,M:()=>D,Pq:()=>x,Rb:()=>b,UZ:()=>d,Ud:()=>o,VA:()=>w,Yz:()=>c,Zp:()=>_,bi:()=>v,cD:()=>j,dO:()=>p,fh:()=>n,gN:()=>h,gU:()=>O,hM:()=>l,j9:()=>a,lZ:()=>T,pR:()=>k,pi:()=>i,rd:()=>m,sE:()=>s,vX:()=>u,vt:()=>f,wA:()=>S});let TypedDocumentString=class TypedDocumentString extends String{constructor(e,t){super(e),this.value=e,this.__meta__=t,function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"__apiType",void 0)}toString(){return this.value}};new TypedDocumentString(`
2
- fragment ProductSummary_product on StoreProduct {
3
- id: productID
4
- slug
5
- sku
6
- brand {
7
- brandName: name
8
- }
9
- name
10
- gtin
11
- unitMultiplier
12
- isVariantOf {
13
- productGroupID
14
- name
15
- skuVariants {
16
- allVariantsByName
17
- activeVariations
18
- slugsMap
19
- availableVariations
20
- }
21
- }
22
- image {
23
- url
24
- alternateName
25
- }
26
- brand {
27
- name
28
- }
29
- offers {
30
- lowPrice
31
- lowPriceWithTaxes
32
- offers {
33
- availability
34
- price
35
- listPrice
36
- listPriceWithTaxes
37
- priceWithTaxes
38
- quantity
39
- seller {
40
- identifier
41
- }
42
- }
43
- }
44
- additionalProperty {
45
- propertyID
46
- name
47
- value
48
- valueReference
49
- }
50
- hasSpecifications
51
- unitMultiplier
52
- isVariantOf {
53
- productGroupID
54
- name
55
- skuVariants {
56
- activeVariations
57
- slugsMap
58
- availableVariations
59
- allVariantProducts {
60
- name
61
- productID
62
- }
63
- }
64
- }
65
- advertisement {
66
- adId
67
- adResponseId
68
- }
69
- deliveryPromiseBadges {
70
- typeName
71
- }
72
- }
73
- `,{fragmentName:"ProductSummary_product"});let a=new TypedDocumentString(`
74
- fragment Filter_facets on StoreFacet {
75
- ... on StoreFacetRange {
76
- key
77
- label
78
- min {
79
- selected
80
- absolute
81
- }
82
- max {
83
- selected
84
- absolute
85
- }
86
- __typename
87
- }
88
- ... on StoreFacetBoolean {
89
- key
90
- label
91
- values {
92
- label
93
- value
94
- selected
95
- quantity
96
- }
97
- __typename
98
- }
99
- }
100
- `,{fragmentName:"Filter_facets"});new TypedDocumentString(`
101
- fragment CartProductItem on StoreProduct {
102
- sku
103
- name
104
- unitMultiplier
105
- image {
106
- url
107
- alternateName
108
- }
109
- brand {
110
- name
111
- }
112
- isVariantOf {
113
- productGroupID
114
- name
115
- skuVariants {
116
- activeVariations
117
- slugsMap
118
- availableVariations
119
- }
120
- }
121
- gtin
122
- additionalProperty {
123
- propertyID
124
- name
125
- value
126
- valueReference
127
- }
128
- }
129
- `,{fragmentName:"CartProductItem"}),new TypedDocumentString(`
130
- fragment ProductDetailsFragment_product on StoreProduct {
131
- id: productID
132
- sku
133
- name
134
- gtin
135
- description
136
- unitMultiplier
137
- isVariantOf {
138
- name
139
- productGroupID
140
- skuVariants {
141
- activeVariations
142
- slugsMap
143
- availableVariations
144
- allVariantProducts {
145
- name
146
- productID
147
- }
148
- }
149
- }
150
- image {
151
- url
152
- alternateName
153
- }
154
- brand {
155
- name
156
- }
157
- offers {
158
- lowPrice
159
- lowPriceWithTaxes
160
- offers {
161
- availability
162
- price
163
- priceWithTaxes
164
- listPrice
165
- listPriceWithTaxes
166
- quantity
167
- seller {
168
- identifier
169
- }
170
- }
171
- }
172
- additionalProperty {
173
- propertyID
174
- name
175
- value
176
- valueReference
177
- }
178
- ...CartProductItem
179
- }
180
- fragment CartProductItem on StoreProduct {
181
- sku
182
- name
183
- unitMultiplier
184
- image {
185
- url
186
- alternateName
187
- }
188
- brand {
189
- name
190
- }
191
- isVariantOf {
192
- productGroupID
193
- name
194
- skuVariants {
195
- activeVariations
196
- slugsMap
197
- availableVariations
198
- }
199
- }
200
- gtin
201
- additionalProperty {
202
- propertyID
203
- name
204
- value
205
- valueReference
206
- }
207
- }`,{fragmentName:"ProductDetailsFragment_product"}),new TypedDocumentString(`
208
- fragment ProductComparisonFragment_product on StoreProduct {
209
- id: productID
210
- sku
211
- slug
212
- name
213
- gtin
214
- description
215
- unitMultiplier
216
- isVariantOf {
217
- name
218
- productGroupID
219
- skuVariants {
220
- activeVariations
221
- slugsMap
222
- availableVariations
223
- allVariantProducts {
224
- name
225
- productID
226
- }
227
- }
228
- }
229
- image {
230
- url
231
- alternateName
232
- }
233
- brand {
234
- name
235
- }
236
- offers {
237
- lowPrice
238
- lowPriceWithTaxes
239
- offers {
240
- availability
241
- price
242
- priceWithTaxes
243
- listPrice
244
- quantity
245
- listPriceWithTaxes
246
- seller {
247
- identifier
248
- }
249
- }
250
- }
251
- additionalProperty {
252
- propertyID
253
- name
254
- value
255
- valueReference
256
- }
257
- advertisement {
258
- adId
259
- adResponseId
260
- }
261
- hasSpecifications
262
- skuSpecifications {
263
- field {
264
- id
265
- name
266
- originalName
267
- }
268
- values {
269
- name
270
- id
271
- fieldId
272
- originalName
273
- }
274
- }
275
- specificationGroups {
276
- name
277
- originalName
278
- specifications {
279
- name
280
- originalName
281
- values
282
- }
283
- }
284
- }
285
- `,{fragmentName:"ProductComparisonFragment_product"});let o=new TypedDocumentString(`
286
- fragment ProductSKUMatrixSidebarFragment_product on StoreProduct {
287
- id: productID
288
- isVariantOf {
289
- name
290
- productGroupID
291
- skuVariants {
292
- activeVariations
293
- slugsMap
294
- availableVariations
295
- allVariantProducts {
296
- sku
297
- name
298
- image {
299
- url
300
- alternateName
301
- }
302
- offers {
303
- highPrice
304
- lowPrice
305
- lowPriceWithTaxes
306
- offerCount
307
- priceCurrency
308
- offers {
309
- listPrice
310
- listPriceWithTaxes
311
- sellingPrice
312
- priceCurrency
313
- price
314
- priceWithTaxes
315
- priceValidUntil
316
- itemCondition
317
- availability
318
- quantity
319
- }
320
- }
321
- additionalProperty {
322
- propertyID
323
- value
324
- name
325
- valueReference
326
- }
327
- }
328
- }
329
- }
330
- }
331
- `,{fragmentName:"ProductSKUMatrixSidebarFragment_product"});new TypedDocumentString(`
332
- fragment ClientManyProducts on Query {
333
- search(
334
- first: $first
335
- after: $after
336
- sort: $sort
337
- term: $term
338
- selectedFacets: $selectedFacets
339
- sponsoredCount: $sponsoredCount
340
- ) {
341
- products {
342
- pageInfo {
343
- totalCount
344
- }
345
- }
346
- }
347
- }
348
- `,{fragmentName:"ClientManyProducts"}),new TypedDocumentString(`
349
- fragment ClientProduct on Query {
350
- product(locator: $locator) {
351
- id: productID
352
- }
353
- }
354
- `,{fragmentName:"ClientProduct"}),new TypedDocumentString(`
355
- fragment ClientProductGallery on Query {
356
- search(
357
- first: $first
358
- after: $after
359
- sort: $sort
360
- term: $term
361
- selectedFacets: $selectedFacets
362
- ) {
363
- products {
364
- pageInfo {
365
- totalCount
366
- }
367
- }
368
- }
369
- }
370
- `,{fragmentName:"ClientProductGallery"}),new TypedDocumentString(`
371
- fragment ClientSearchSuggestions on Query {
372
- search(first: 5, term: $term, selectedFacets: $selectedFacets) {
373
- suggestions {
374
- terms {
375
- value
376
- }
377
- }
378
- }
379
- }
380
- `,{fragmentName:"ClientSearchSuggestions"}),new TypedDocumentString(`
381
- fragment ClientShippingSimulation on Query {
382
- shipping(items: $items, postalCode: $postalCode, country: $country) {
383
- address {
384
- city
385
- }
386
- }
387
- }
388
- `,{fragmentName:"ClientShippingSimulation"}),new TypedDocumentString(`
389
- fragment ClientTopSearchSuggestions on Query {
390
- search(first: 5, term: $term, selectedFacets: $selectedFacets) {
391
- suggestions {
392
- terms {
393
- value
394
- }
395
- }
396
- }
397
- }
398
- `,{fragmentName:"ClientTopSearchSuggestions"}),new TypedDocumentString(`
399
- fragment ServerCollectionPage on Query {
400
- collection(slug: $slug) {
401
- id
402
- }
403
- }
404
- `,{fragmentName:"ServerCollectionPage"}),new TypedDocumentString(`
405
- fragment ServerProduct on Query {
406
- product(locator: $locator) {
407
- id: productID
408
- }
409
- }
410
- `,{fragmentName:"ServerProduct"});let n=new TypedDocumentString(`
411
- fragment UserOrderItemsFragment on UserOrderItems {
412
- id
413
- name
414
- quantity
415
- sellingPrice
416
- unitMultiplier
417
- measurementUnit
418
- imageUrl
419
- detailUrl
420
- refId
421
- rewardValue
422
- }
423
- `,{fragmentName:"UserOrderItemsFragment"});new TypedDocumentString(`
424
- fragment CartMessage on StoreCartMessage {
425
- text
426
- status
427
- }
428
- `,{fragmentName:"CartMessage"}),new TypedDocumentString(`
429
- fragment CartItem on StoreOffer {
430
- seller {
431
- identifier
432
- }
433
- quantity
434
- price
435
- priceWithTaxes
436
- listPrice
437
- listPriceWithTaxes
438
- isGift
439
- itemOffered {
440
- ...CartProductItem
441
- }
442
- }
443
- fragment CartProductItem on StoreProduct {
444
- sku
445
- name
446
- unitMultiplier
447
- image {
448
- url
449
- alternateName
450
- }
451
- brand {
452
- name
453
- }
454
- isVariantOf {
455
- productGroupID
456
- name
457
- skuVariants {
458
- activeVariations
459
- slugsMap
460
- availableVariations
461
- }
462
- }
463
- gtin
464
- additionalProperty {
465
- propertyID
466
- name
467
- value
468
- valueReference
469
- }
470
- }`,{fragmentName:"CartItem"}),new TypedDocumentString(`
471
- fragment SearchEvent_metadata on SearchMetadata {
472
- isTermMisspelled
473
- logicalOperator
474
- fuzzy
475
- }
476
- `,{fragmentName:"SearchEvent_metadata"});let i={__meta__:{operationName:"ServerAccountPageQuery",operationHash:"9baae331b75848a310fecb457e8c971ae27897ff"}},s={__meta__:{operationName:"ServerCollectionPageQuery",operationHash:"4b33c5c07f440dc7489e55619dc2211a13786e72"}},l={__meta__:{operationName:"ServerProductQuery",operationHash:"f03d0963fed159ac4bbe11f90ea09c635a66b68c"}},c={__meta__:{operationName:"ServerOrderDetailsQuery",operationHash:"bdf677bbccce12186a5ef15aebdce46585a99782"}},u={__meta__:{operationName:"ServerListOrdersQuery",operationHash:"70d06de1da9c11f10ebde31b66fd74eccd456af5"}},d={__meta__:{operationName:"ServerProfileQuery",operationHash:"672fe0f00b7b710b63fc6573c0a6b2ec54812b8f"}},p={__meta__:{operationName:"ServerSecurity",operationHash:"0890ba3456c40a426893b80b698df7a84cfdd6a1"}},f={__meta__:{operationName:"ServerUserDetailsQuery",operationHash:"e5eb7e46c685d0c7a2ec62c865bfb0a66f81d557"}},m={__meta__:{operationName:"CancelOrderMutation",operationHash:"e2b06da6840614d3c72768e56579b9d3b8e80802"}},g={__meta__:{operationName:"ProcessOrderAuthorizationMutation",operationHash:"8c25d37c8d6e7c20ab21bb8a4f4e6a2fe320ea8d"}},y={__meta__:{operationName:"ValidateCartMutation",operationHash:"32c15f8888ca34f223def7972b7f19090808435a"}},b={__meta__:{operationName:"ClientPickupPointsQuery",operationHash:"3fa04e88c811fcb5ece7206fd5aa745bdbc143a8"}},P={__meta__:{operationName:"SubscribeToNewsletter",operationHash:"feb7005103a859e2bc8cf2360d568806fd88deba"}},v={__meta__:{operationName:"ClientProductCountQuery",operationHash:"dc912e7272e3d9f5ced206837df87f544d39d0a5"}},h={__meta__:{operationName:"ClientAllVariantProductsQuery",operationHash:"4039e05f01a2fe449e20e8b82170d0ba94b1fbe9"}},S={__meta__:{operationName:"ClientProductQuery",operationHash:"3d65d8f0d279557542be9a361cb3ceb2008bad45"}},_={__meta__:{operationName:"ClientManyProductsQueryWithSearchId",operationHash:"23be1e1fcaf0bd2719a9324272c891c922045180"}},w={__meta__:{operationName:"ClientProductGalleryQuery",operationHash:"bfc40da32b60f9404a4adb96b0856e3fbb04b076"}},O={__meta__:{operationName:"ClientManyProductsQuery",operationHash:"e49027bc29aa10cbf7bbb0ed62239af8de1653f0"}},j={__meta__:{operationName:"ClientManyProductsSelectedQuery",operationHash:"b668777678c137b8c7004297df4d8b8f2b29ee06"}},k={__meta__:{operationName:"ClientProfileQuery",operationHash:"34ea14c0d4a57ddf9bc11e4be0cd2b5a6506d3d4"}},C={__meta__:{operationName:"ClientSearchSuggestionsQuery",operationHash:"1517112c3f6aa9e5031ed8cbad61d97973e0a5b7"}},D={__meta__:{operationName:"ClientTopSearchSuggestionsQuery",operationHash:"e2385b0f11726d0068f96548f57a8dd441c064e3"}},I={__meta__:{operationName:"ValidateSession",operationHash:"8c3a5999496e227f167e9dc79697e6c478d48a9e"}},x={__meta__:{operationName:"ClientShippingSimulationQuery",operationHash:"c35bad22f67f3eb34fea52bb49efa6b1da6b728d"}},T={__meta__:{operationName:"ServerManyProductsQuery",operationHash:"4b769cda49004c85d0d427c601eba36c37a52224"}}},45011:(e,t,r)=>{"use strict";r.d(t,{A:()=>c,Z:()=>l});var a=r(43412),o=r.n(a);let n=new Date().toISOString(),i=Date.now(),s={norobots:o().experimental.noRobots,dangerouslySetAllPagesToNoFollow:o().experimental.nofollow,dangerouslySetAllPagesToNoIndex:o().experimental.noindex,additionalMetaTags:[{name:"generated-at",content:n}]},l=s,c=i},97194:(e,t,r)=>{"use strict";r.d(t,{e:()=>useReloadAfterLogoutReturn,s:()=>setReloadAfterLogoutReturn});var a=r(16689),o=r(18622);let setReloadAfterLogoutReturn=()=>{if("undefined"!=typeof sessionStorage)try{sessionStorage.setItem(o.k,"1")}catch{}},useReloadAfterLogoutReturn=()=>{(0,a.useEffect)(()=>{},[])}},13890:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>_app});var a=r(16641),o=r(40968),n=r.n(o),i=r(33339),s=r(69029),l=r(16652),c=r(97194),u=r(43412),d=r.n(u),p=r(39729),f=r(36401),m=r(98132),g=r(20997);let y=d().experimental?.enableScriptsLogs===!0,vtex=function(){return(0,g.jsxs)(g.Fragment,{children:[g.jsx("script",{type:"text/partytown",dangerouslySetInnerHTML:{__html:`
477
- window.VTEX_METADATA = {account:'${d().api.storeId}', renderer: 'faststore'};
478
- window.sendrc=function(en,ed){window.NavigationCapture&&window.NavigationCapture.sendEvent(en,ed)};
479
- ${y?'window.sendrc=(function(orig){return function(en,ed){console.debug("%cvtex%c RC sendrc","'+m.Av+'","color:inherit",en,ed);return orig(en,ed)}})(window.sendrc);':""}
480
- `}},"vtexrc.js-init"),g.jsx("script",{type:"text/partytown",async:!0,src:"https://io2.vtex.com/rc/rc.js"},"vtexrc.js-script"),g.jsx("script",{type:"text/javascript",dangerouslySetInnerHTML:{__html:`
481
- (function(v,t,e,x,a,f,s){
482
- f=v.vtexaf=v.vtexaf||function(){(f.q=f.q||[]).push(arguments)}
483
- ${y?'f=(function(orig){return function(){console.debug("%cvtex%c AF","'+m.Av+'","color:inherit",arguments);return orig.apply(this, arguments)}})(f);v.vtexaf=f;':""}
484
- ;f.l=+new Date;s=t.createElement(e);s.async=!0;
485
- s.src=x;a=t.getElementsByTagName(e)[0];
486
- a.parentNode.insertBefore(s,a)
487
- })(window,document,'script','https://activity-flow.vtex.com/af/af.js');
488
- `}},"vtexaf-init"),g.jsx("script",{type:"text/javascript",dangerouslySetInnerHTML:{__html:`
489
- window.vtexaf('init', {
490
- account: '${d().api.storeId}',
491
- env: '${d().api.environment}',
492
- workspace: '${d().api.workspace}'
493
- });
494
- `}},"vtexaf-config")]})},b=d().analytics?.gtmContainerId,P="string"==typeof b,v="vtex"===d().platform,ThirdPartyScripts_ThirdPartyScripts=function(){return(0,g.jsxs)(g.Fragment,{children:[P&&g.jsx(f.Z,{containerId:b}),v&&g.jsx(vtex,{}),g.jsx(p.Z.ThirdPartyScripts,{})]})};var h=r(16689);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}let usePageViewEvent=e=>{let t=(0,h.useCallback)(()=>{Promise.all([r.e(6393),r.e(2792)]).then(r.bind(r,66393)).then(({sendAnalyticsEvent:t})=>{t({name:"page_view",params:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({page_title:document.title,page_location:location.href,send_page_view:!0},e)})})},[e]),a=(0,i.useRouter)(),o=(0,h.useRef)(null);return(0,h.useEffect)(()=>{o.current!==a.asPath&&(o.current=a.asPath,t())},[a.asPath,t]),{sendPageViewEvent:t}},src_Layout=function({children:e}){let t=(0,h.isValidElement)(e)?e.props:void 0;return usePageViewEvent(t),g.jsx(g.Fragment,{children:e})};var S=r(28529);function analytics_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}let analytics=()=>((0,S.W)(e=>{window.dataLayer.push({ecommerce:null});let t=e.isEcommerceEvent?{event:e.name,ecommerce:e.params}:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?analytics_ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):analytics_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({event:e.name},e.params);window.dataLayer.push(t),r(73982)(`./${d().platform}`).then(({default:t})=>{t(e)})}),null);var _=r(13028);let getReloads=()=>Number(window.sessionStorage.getItem("store:reloads")??"0"),setReloads=e=>window.sessionStorage.setItem("store:reloads",`${e}`),canRecover=()=>2>getReloads(),isFrameworkLevelError=e=>e?.name==="ChunkLoadError";let ErrorBoundary=class ErrorBoundary extends h.Component{constructor(...e){super(...e),function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){if(console.error(`React Error: ${e.message} ${t.componentStack}`),window.location.pathname.startsWith("/404")||window.location.pathname.startsWith("/500"))return;let r=encodeURIComponent(window.location.pathname),a=e?.extensions?.exception?.status===404;isFrameworkLevelError(e)&&canRecover()?(setReloads(getReloads()+1),window.location.reload()):a?window.location.href=`/404?from=${r}`:window.location.href=`/500?from=${r}&errorId=unknown`}render(){return this.state.hasError?null:this.props.children}};var w=r(97358),O=r(17552),j=r(45011);function _app_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _app_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_app_ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_app_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}r(45276);let _app=function({Component:e,pageProps:t}){(0,h.useEffect)(()=>{u.deliveryPromise.enabled&&setTimeout(()=>{let e=w.Qf.read();e.postalCode&&e.geoCoordinates||(0,O.ne)(e).then(async t=>{if(e===t||(e=w.Qf.read()).postalCode||e.geoCoordinates)return;let r=await (0,w.je)(t);w.Qf.set(r??t)})},m.YQ)},[]),(0,c.e)(),d().experimental?.scrollRestoration&&function(){let e=(0,i.useRouter)(),{resetInfiniteScroll:t}=(0,s.R)();(0,h.useEffect)(()=>{let r=!1;"scrollRestoration"in history&&(history.scrollRestoration="manual");let saveScrollPos=()=>{let e=window.history.state?.key;e&&sessionStorage.setItem(`__fs_scroll_${e}`,JSON.stringify({x:window.scrollX,y:window.scrollY}))},restoreScrollPos=async()=>{let e=window.history.state?.key;if(e){let t=sessionStorage.getItem(`__fs_scroll_${e}`);if(t){let{x:e,y:r}=await JSON.parse(t);setTimeout(()=>window.scrollTo(e,r),800)}}},onRouteChangeStart=e=>{!(r||e.includes(window.location.pathname))&&(saveScrollPos(),e.includes(window.location.pathname)||e.endsWith("/p")||t(0))};return e.beforePopState(()=>r=!0),e.events.on("routeChangeStart",onRouteChangeStart),window.addEventListener("popstate",restoreScrollPos),()=>{e.beforePopState(()=>!0),e.events.off("routeChangeStart",onRouteChangeStart),window.removeEventListener("popstate",restoreScrollPos),"scrollRestoration"in history&&(history.scrollRestoration="auto")}},[e])}();let r=(0,i.useRouter)(),{start:o}=(0,s.R)();return o(r.asPath,{itemsPerPage:m.gK}),(0,g.jsxs)(ErrorBoundary,{children:[(0,g.jsxs)(n(),{children:[" ",!process.env.DISABLE_3P_SCRIPTS&&g.jsx(ThirdPartyScripts_ThirdPartyScripts,{})]}),g.jsx(a.DefaultSeo,_app_objectSpread({},j.Z)),g.jsx(analytics,{}),g.jsx(l.ZP,{children:g.jsx(_.L,{children:g.jsx(src_Layout,{children:(0,h.createElement)(e,_app_objectSpread(_app_objectSpread({},t),{},{key:t?.key}))})})})]})}},38543:(e,t,r)=>{"use strict";r.d(t,{N:()=>isRefreshTokenSuccessful,z:()=>refreshTokenRequest});var a=r(43412),o=r.n(a),n=r(47881),i=r.n(n),s=r(4018);let l=`${o().storeUrl}/api/vtexid/refreshtoken/webstore`;async function fetchWithRetry(e,t,r=3){for(let a=0;a<r;a++)try{let r=await i()(e,t);if(200!==r.status)continue;let a=await r.json();return a}catch{}}let refreshTokenRequest=async()=>{let e={"content-type":"application/json",Host:`${(0,s.Y1)(o().storeUrl)}`};return await fetchWithRetry(l,{credentials:"include",headers:e,body:JSON.stringify({}),method:"POST"})},isRefreshTokenSuccessful=e=>e?.status?.toLowerCase?.()==="success"},71041:(e,t,r)=>{"use strict";r.d(t,{Et:()=>d,i8:()=>g,jD:()=>useCart});var a=r(25487),o=r(29380),n=r(16689),i=r(43412),s=r.n(i),l=r(57440),c=r(97358),u=r(50135);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let d=a.D5,isGift=e=>s().experimental?.useIsGiftFromOrderForm?e?.isGift??!1:0===e.price,getItemId=e=>[e.itemOffered.sku,e.seller.identifier,e.itemOffered.additionalProperty?.map(({propertyID:e})=>e).join("-")].filter(Boolean).join("::"),validateCart=async e=>{let{validateCart:t=null}=await (0,l.W)(d,{session:c.Qf.read(),cart:{order:{orderNumber:e.id,shouldSplitItem:e.shouldSplitItem,acceptedOffer:e.items.map(({price:e,listPrice:t,seller:r,quantity:a,itemOffered:o})=>({price:e,listPrice:t,seller:r,quantity:a,itemOffered:{sku:o.sku,image:o.image,name:o.name,additionalProperty:o.additionalProperty}}))}}});return t&&{id:t.order.orderNumber,items:t.order.acceptedOffer.map(e=>_objectSpread(_objectSpread({},e),{},{id:getItemId(e)})),messages:t.messages,shouldSplitItem:t.order.shouldSplitItem}},[p,f]=(0,u.d)(validateCart),m=(0,o.n)(s().cart,f),g=_objectSpread(_objectSpread({},m),{},{addItem:e=>{let t=_objectSpread(_objectSpread({},e),{},{id:getItemId(e)});m.addItem(t)}}),useCart=({useUnitMultiplier:e}={useUnitMultiplier:!1})=>{let t=(0,u.o)(g),r=(0,u.o)(p);return(0,n.useMemo)(()=>{let a=t.items.reduce((t,r)=>{t.total+=r.price*r.quantity,t.totalWithTaxes+=r.priceWithTaxes*r.quantity;let a=e?r.quantity*(r?.itemOffered?.unitMultiplier??1):r.quantity;return t.totalItems+=isGift(r)?0:a,t.subTotal+=r.listPrice*a,t.subTotalWithTaxes+=r.listPriceWithTaxes*a,t},{totalItems:0,total:0,subTotal:0,totalWithTaxes:0,subTotalWithTaxes:0});return _objectSpread(_objectSpread(_objectSpread({},t),a),{},{isValidating:r,messages:t.messages,gifts:t.items.filter(e=>isGift(e)),items:t.items.filter(e=>!isGift(e)),totalUniqueItems:t.items.length})},[t,r,e])}},13028:(e,t,r)=>{"use strict";r.d(t,{L:()=>DeliveryPromiseProvider,P:()=>useDeliveryPromiseContext});var a=r(12404),o=r.n(a),n=r(16689),i=r(97358),s=r(78209),l=r(25487),c=r(43412),u=r(57440);let d=l.Rb,getPickupPoints=async({geoCoordinates:e})=>{if(!c.deliveryPromise.enabled||!e)return[];let t=await (0,u.W)(d,{geoCoordinates:e??void 0});if(!t)return[];let r=t.pickupPoints?.pickupPointDistances?.filter(e=>e.isActive).map(e=>({id:e?.pickupId,name:e?.pickupName,totalItems:t.pickupPoints?.pickupPointDistances?.length??0,address:{street:e?.address?.street,number:e?.address?.number,postalCode:e?.address?.postalCode,city:e?.address?.city,state:e?.address?.state},distance:e?.distance}));return r};var p=r(52011),f=r(20997);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let m=(0,n.createContext)(void 0);function DeliveryPromiseProvider({children:e}){let{postalCode:t,geoCoordinates:r}=(0,i.kP)(),{0:a,1:l}=(0,n.useReducer)(s.pO,void 0,s.wL);(0,n.useEffect)(()=>{t&&a.shouldUpdatePickupPoints&&async function(){let e=await getPickupPoints({geoCoordinates:a.simulatePickupPoints&&a.pickupPointsSimulation?.geoCoordinates?a.pickupPointsSimulation.geoCoordinates:r});if(a.simulatePickupPoints){p.KL.set({pickupPointsSimulation:_objectSpread(_objectSpread({},a.pickupPointsSimulation),{},{pickupPoints:e}),shouldUpdatePickupPoints:!1,simulatePickupPoints:!1});return}if(0!==a.pickupPoints.length&&o()(a.pickupPoints,e))return;let t=e.some(({id:e})=>e===a.globalPickupPoint?.id);p.KL.set({globalPickupPoint:t?a.globalPickupPoint:null,defaultPickupPoint:null,pickupPoints:e,pickupPointsSimulation:s.sd,simulatePickupPoints:!1,shouldUpdatePickupPoints:!1})}()},[a.shouldUpdatePickupPoints,t]);let c=(0,n.useMemo)(()=>_objectSpread(_objectSpread({},a),{},{dispatchDeliveryPromiseAction:l}),[a]);return f.jsx(m.Provider,{value:c,children:e})}function useDeliveryPromiseContext(){let e=(0,n.useContext)(m);if(void 0===e)throw Error("Missing Delivery Promise context on React tree");return e}},78209:(e,t,r)=>{"use strict";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}r.d(t,{pO:()=>deliveryPromiseReducer,sd:()=>a,wL:()=>initializeDeliveryPromiseState});let a={pickupPoints:[],geoCoordinates:null},initializeDeliveryPromiseState=()=>({pickupPoints:[],defaultPickupPoint:null,globalPickupPoint:null,shouldUpdatePickupPoints:!1,simulatePickupPoints:!1,pickupPointsSimulation:a}),deliveryPromiseReducer=(e,t)=>{let{type:r}=t;switch(r){case"updatePickupPoints":{let{payload:r}=t;return _objectSpread(_objectSpread({},e),{},{defaultPickupPoint:null,globalPickupPoint:null,pickupPoints:r.pickupPoints,shouldUpdatePickupPoints:r.shouldUpdatePickupPoints})}case"onPostalCodeChange":if(t.payload){let{payload:{simulatePickupPoints:r,validatedSession:a}}=t;return _objectSpread(_objectSpread({},e),{},{simulatePickupPoints:r,pickupPointsSimulation:_objectSpread(_objectSpread({},e.pickupPointsSimulation),{},{geoCoordinates:a.geoCoordinates}),shouldUpdatePickupPoints:!0})}return _objectSpread(_objectSpread({},e),{},{pickupPointsSimulation:a,shouldUpdatePickupPoints:!0});case"changePickupPoint":{let{payload:r}=t;return _objectSpread(_objectSpread({},e),{},{defaultPickupPoint:r})}case"changeGlobalPickupPoint":{let{payload:r}=t;return _objectSpread(_objectSpread({},e),{},{globalPickupPoint:r})}case"updateDeliveryPromiseState":{let{payload:r}=t;return _objectSpread(_objectSpread({},e),r)}case"clearPickupPointsSimulation":return _objectSpread(_objectSpread({},e),{},{simulatePickupPoints:!1,pickupPointsSimulation:a});default:throw Error(`Action ${r} not implemented`)}}},52011:(e,t,r)=>{"use strict";r.d(t,{DX:()=>v,KL:()=>w,d:()=>b,gA:()=>m,sG:()=>f,yp:()=>g,z0:()=>useDeliveryPromise});var a=r(12404),o=r.n(a),n=r(16689),i=r(49578),s=r(69029),l=r(9664),c=r(97358),u=r(43412),d=r(13028),p=r(78209);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let f="pickupPoint",m="shipping",g="pickup-in-point",y="all-delivery-methods",b="pickup-all",P="all-delivery-options",v="delivery-options",h="dynamic-estimate",S="in-stock",_=(0,i.M)({pickupPoints:[],defaultPickupPoint:null,globalPickupPoint:null,shouldUpdatePickupPoints:!1,pickupPointsSimulation:void 0,simulatePickupPoints:!1},"fs::deliveryPromise"),w=_objectSpread(_objectSpread({},_),{},{set:e=>{let t=_.read(),r=_objectSpread(_objectSpread({},t),e);o()(t,r)||_.set(r)}});function useDeliveryPromise({allFacets:e,selectedFilterFacets:t,deliveryPromiseSettings:r,fallbackToFirstPickupPoint:a=!0,deliveryPromiseBadges:o}={}){let{postalCode:i}=(0,c.kP)(),{state:b,setState:_}=(0,s.R)(),{pickupPoints:j,defaultPickupPoint:k,globalPickupPoint:C,pickupPointsSimulation:D,dispatchDeliveryPromiseAction:I,shouldUpdatePickupPoints:x}=(0,d.P)(),T=u.deliveryPromise.enabled,E=r?.deliveryOptions?.enabled??!0,R=r?.inStock?.enabled??!1,N=(0,n.useMemo)(()=>t??b.selectedFacets,[t,b.selectedFacets]),F=(0,n.useMemo)(()=>N.find(({key:e})=>e===f)?.value,[N]);(0,n.useEffect)(()=>{let e=[w.subscribe(e=>{I({type:"updateDeliveryPromiseState",payload:e})})];return()=>{e.forEach(e=>e())}},[]),(0,n.useEffect)(()=>{0!==j.length&&w.set({defaultPickupPoint:M(F)})},[j,F]),(0,n.useEffect)(()=>{let e=N.some(({key:e})=>e===m),t=!!C&&!e;t&&_({selectedFacets:(0,l.a2)(N,[{key:m,value:g},{key:f,value:C.id}],!0),page:0})},[]);let M=(0,n.useCallback)(e=>{if(!j?.length)return;let t=j?.find(({id:t})=>t===e)??k??C;return a&&!t?j[0]:t},[j,k,C]),A=(0,n.useMemo)(()=>({value:g,label:k?.name??k?.address.street,selected:N?.some(({key:e,value:t})=>t===g||e===f),quantity:k?.totalItems}),[k,N]),L=(0,n.useMemo)(()=>({key:S,label:S,__typename:"StoreFacetBoolean",values:[{value:"true",label:r?.inStock?.label??"In-stock only",selected:N.some(({key:e,value:t})=>e===S&&"true"===t),quantity:null}]}),[r,N]),{0:V,1:$}=(0,n.useMemo)(()=>[{value:y,label:r?.deliveryMethods?.allDeliveryMethods??"All delivery methods",selected:!N.some(({key:e})=>e===m)||N?.some(({key:e,value:t})=>e===m&&t===y),quantity:0},{value:P,label:r?.deliveryOptions?.allDeliveryOptions??"All delivery options",selected:!N.some(({key:e})=>e===v)||N?.some(({key:e,value:t})=>e===v&&t===P),quantity:0}],[N,r,A]),U=(0,n.useCallback)(({facet:e=null,facets:t=[],filterDispatch:r})=>{var a;let o=!0,n=t?.length!==0?t:[e],i=N;if(e?.value===g?n.push({key:f,value:k?.id}):(o="string"==typeof(a=e?.key)&&O.some(e=>e===a),i=i.filter(({key:e})=>e!==f),n.concat(i)),r){r({type:"toggleFacets",payload:{unique:o,facets:n}});return}_({selectedFacets:(0,l.a2)(i,n,o),page:0})},[N,k]),B=(0,n.useMemo)(()=>{if(!e)return[];if(!T||!i)return e.filter(({key:e})=>e!==m&&e!==v&&e!==h);let t=e.filter(({key:e})=>e!==h).filter(({key:e})=>!!E||e!==v);return R&&!t.find(({key:e})=>e===S)&&t.find(({key:e})=>e===m)&&t.push(L),t.map(e=>{if("StoreFacetBoolean"!==e.__typename)return e;if(e.key===v)return e.values=withUniqueFacet(e.values,$),e;if(e.key!==m)return e;e.values=withUniqueFacet(e.values,V);let t=e.values.findIndex(e=>e?.value===g);if(-1===t||k)-1===t&&k?e.values.push(A):e.values[t]&&e.values[t]?.label!==A.label&&(e.values[t]=A);else{let r=N.find(({key:e})=>e===m);if(r){let e=N.filter(({key:e,value:t})=>t===g||e===f);e.length?U({facets:e}):U({facet:r})}e.values=e.values.filter((e,r)=>r!==t)}return e.values=e.values.sort((e,t)=>(e.value??"").localeCompare(t.value??"")),e}).sort((e,t)=>{let getPriority=e=>e===m?0:e===v?1:e===S?2:3;return getPriority(e.key)-getPriority(t.key)})},[V,A,e,k,C,j,N,U,F]),K=(0,n.useCallback)(({simulatePickupPoints:e=!1,validatedSession:t=null}={})=>{let r={country:t?.country,postalCode:t?.postalCode,geoCoordinates:t?.geoCoordinates};I(_objectSpread({type:"onPostalCodeChange"},e?{payload:{simulatePickupPoints:e,validatedSession:_objectSpread({},r)}}:void 0))},[]),q=(0,n.useCallback)(()=>w.set({pickupPointsSimulation:p.sd}),[]),W={[m]:r?.deliveryMethods?.title??"Delivery",[v]:r?.deliveryOptions?.title??"Delivery Option",[S]:r?.inStock?.title??"Availability"};function getBadgeLabel(e,t){let a={delivery:{available:r?.deliveryPromiseBadges?.delivery??"Available for shipping",unavailable:r?.deliveryPromiseBadges?.deliveryUnavailable??"Unavailable for shipping"},"pickup-in-point":{available:r?.deliveryPromiseBadges?.pickupInPoint??"Available for pickup",unavailable:r?.deliveryPromiseBadges?.pickupInPointUnavailable??"Unavailable for pickup"}};return a[e]?t?a[e].available:a[e].unavailable:e}let Q=function(){if(!o||0===o.length)return[];let e=[],t=o?.map(e=>e.typeName),r=t?.includes("delivery"),a=t?.includes("pickup-in-point");return r?e.push({label:getBadgeLabel("delivery",!0),availability:!0}):e.push({label:getBadgeLabel("delivery",!1),availability:!1}),a?e.push({label:getBadgeLabel("pickup-in-point",!0),availability:!0}):e.push({label:getBadgeLabel("pickup-in-point",!1),availability:!1}),e}(),H=!!i&&T&&(r?.deliveryPromiseBadges?.enabled??!0)&&Q.length>0;return{mandatory:u.deliveryPromise.mandatory,isEnabled:T,pickupPoints:j,defaultPickupPoint:k,selectedPickupPointFacet:F,pickupPointsSimulation:D,clearPickupPointsSimulation:q,fetchingPickupPoints:x,changePickupPoint:e=>{w.set({defaultPickupPoint:e})},globalPickupPoint:C,changeGlobalPickupPoint:e=>{w.set({globalPickupPoint:e})},pickupPointByID:M,facets:B,onPostalCodeChange:K,onDeliveryFacetChange:U,labelsMap:W,isPickupAllEnabled:j?.length>0&&(r?.deliveryMethods?.pickupAll?.enabled??!1),shouldDisplayDeliveryButton:T&&!i,shouldDisplayDeliveryPromiseBadges:H,badges:Q}}function withUniqueFacet(e,t){return[t,...e.filter(e=>e.value!==t.value)]}let O=["shipping","pickupPoint","delivery-options"]},57440:(e,t,r)=>{"use strict";r.d(t,{W:()=>request});var a=r(69115);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let o={POST:{"Content-Type":"application/json"}},request=async(e,t,r)=>{let o=(0,a.so)(),{data:n,errors:i}=await baseRequest("/api/graphql",_objectSpread(_objectSpread({},r),{},{variables:t,operation:e,value:o}));if(i?.length)throw i[0];return n},baseRequest=async(e,{operation:t,variables:r,fetchOptions:a,value:n})=>{let{operationName:i,operationHash:s}=t.__meta__,l=a?.method!==void 0?a.method.toUpperCase():i.endsWith("Query")?"GET":"POST",c=new URLSearchParams(_objectSpread(_objectSpread({operationName:i,operationHash:s},"GET"===l&&{variables:JSON.stringify(r)}),"GET"===l&&n&&{v:n})),u="POST"===l?JSON.stringify({operationName:i,operationHash:s,variables:r}):void 0,d=`${e}?${c.toString()}`,p=await fetch(d,_objectSpread(_objectSpread({method:l,body:u},a),{},{headers:_objectSpread(_objectSpread({},o[l]),a?.headers)}));if(!p.ok){let e=p.statusText;return{errors:[{status:p.status,message:e}],data:void 0}}return p.json()}},97358:(e,t,r)=>{"use strict";r.d(t,{Qf:()=>O,TP:()=>logoutAndClearSession,je:()=>validateSession,kP:()=>useSession});var a=r(25487),o=r(88987),n=r(16689),i=r(12404),s=r.n(i),l=r(43412),c=r.n(l),u=r(38543),d=r(71041),p=r(57440),f=r(50135),m=r(17552),g=r(18622);let y=["isSessionReady","isValidating"],b=["channel"],P=["hasOnlyDefaultSalesChannel"];function _objectWithoutProperties(e,t){if(null==e)return{};var r,a,o=function(e,t){if(null==e)return{};var r,a,o={},n=Object.keys(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)r=n[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let isLocalEnvironment=()=>!1,isReloadAfterLogoutPending=()=>{try{return"undefined"!=typeof sessionStorage&&!!sessionStorage.getItem(g.k)}catch{return!1}},v=a.$G;async function handleRefreshToken(e){let t=await (0,u.z)();return(0,u.N)(t)?_objectSpread(_objectSpread({},e),{},{refreshAfter:String(Math.floor(new Date(t?.refreshAfter).getTime()/1e3))}):(await logoutAndClearSession(e),null)}let validateSession=async e=>{if(isReloadAfterLogoutPending())return null;if(!isLocalEnvironment()&&c().experimental?.refreshToken&&function(e){return!!e.refreshAfter&&Math.floor(Date.now()/1e3)>Number(e.refreshAfter)}(e)){let t=await handleRefreshToken(e);if(!t)return null;e=t}if(c().deliveryPromise?.enabled&&(!e.postalCode||e.postalCode===c().session.postalCode)){if(e.b2b&&e.b2b?.savedPostalCode)O.set(_objectSpread(_objectSpread({},e),{},{postalCode:e.b2b.savedPostalCode}));else{let t=await (0,m.Ph)(e);t&&O.set(t)}}try{if(!e)return null;let t=e,{isSessionReady:r,isValidating:a}=t,o=_objectWithoutProperties(t,y),n=await (0,p.W)(v,{session:o,search:window.location.search});return n.validateSession}catch(r){let t=!isLocalEnvironment()&&r?.status===401&&c().experimental?.refreshToken;if(t){let t=await handleRefreshToken(e);t&&O.set(t)}}},[h,S,_]=(0,f.d)(validateSession),w=(0,o.S)(c().session,S),O=_objectSpread(_objectSpread({},w),{},{set:e=>{!0!==s()(e,w.read())&&(w.set(e),d.i8.set(d.i8.read()))}});async function logoutAndClearSession(e){try{await fetch("/api/fs/logout",{method:"POST"})}catch(e){console.error("Failed to call logout endpoint:",e)}O.set(_objectSpread(_objectSpread({},e),{},{person:null,b2b:null,refreshAfter:null}))}let useSession=({filter:e}={filter:!0})=>{let t=O.read()??O.readInitial(),r=(0,f.o)(O),a=(0,f.o)(h),o=(0,f.o)(_),{isSessionReady:i}=useSessionReady({isValidating:a,hasValidated:o}),s=r??t,{channel:l}=s,c=_objectWithoutProperties(s,b);if(e){let e=JSON.parse(l),{hasOnlyDefaultSalesChannel:t}=e,r=_objectWithoutProperties(e,P);l=JSON.stringify(r)}return(0,n.useMemo)(()=>_objectSpread(_objectSpread({},c),{},{channel:l,isValidating:a,isSessionReady:i}),[a,c,l,i])},useSessionReady=({isValidating:e,hasValidated:t})=>{let{0:r,1:a}=(0,n.useState)(()=>!1);return(0,n.useEffect)(()=>{if(!e&&t){a(!0);try{sessionStorage.setItem(g.l,"true")}catch{}}},[e,t]),{isSessionReady:r}}},18622:(e,t,r)=>{"use strict";r.d(t,{k:()=>a,l:()=>o});let a="faststore_reload_after_logout_return",o="faststore_session_ready"},50135:(e,t,r)=>{"use strict";r.d(t,{d:()=>createValidationStore,o:()=>useStore});var a=r(73365),o=r(16689);let useStore=e=>(0,o.useSyncExternalStore)(e.subscribe,e.read,e.readInitial),createValidationStore=e=>{let t=(0,a.M)(!1),r=(0,a.M)(!1),onValidate=async a=>{try{return t.set(!0),await e(a)}finally{t.set(!1),r.set(!0)}};return[t,onValidate,r]}},17552:(e,t,r)=>{"use strict";let a,o;r.d(t,{ne:()=>getNavigatorGeolocation,Ph:()=>getPostalCode,MS:()=>useCheckRegionState});var n=r(25487),i=r(57440);let s=n.pR,getAddresses=async e=>{let t=await (0,i.W)(s,{id:e});return t.profile.addresses},getSavedAddress=async e=>{let t=await getAddresses(e);return t?t[0]:null};var l=r(43412),c=r.n(l),u=r(97358),d=r(16689),p=r(16652);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let set=(e,t)=>t&&Object.keys(t).length?_objectSpread(_objectSpread({},e),t):e,getUserSavedAddress=async e=>{if(a)return set(e,a);let t=e?.person;if(!t?.id)return Promise.resolve(e);let{city:r,country:o,geoCoordinate:n,postalCode:i}=await getSavedAddress(t.id)??{};return set(e,a={city:r,country:o,geoCoordinates:{latitude:n?.[1]??null,longitude:n?.[0]??null},postalCode:i})},getNavigatorGeolocation=e=>new Promise(t=>o?t(set(e,{geoCoordinates:o})):navigator&&"geolocation"in navigator?navigator.geolocation.getCurrentPosition(({coords:{latitude:r,longitude:a}})=>t(set(e,{geoCoordinates:o={latitude:r,longitude:a}})),r=>(console.warn("Failed to get navigator location: ",r),t(e)),{timeout:18e4}):e),getPostalCode=async e=>{let t=await getUserSavedAddress(e);if(t!==e)return t;let r=c().session?.postalCode??null;return set(e,{postalCode:r})},{deliveryPromise:f,session:m}=c(),useCheckRegionState=e=>{let{0:t,1:r}=(0,d.useState)("closed"),{openModal:a,openPopover:o,modal:n,closePopover:i}=(0,p.l8)();return(0,d.useEffect)(()=>{if(f.enabled)return u.Qf.subscribe(e=>{if(f.mandatory&&!e?.postalCode&&!n)return a();r(t=>{let r=function(e){let t=!!m.postalCode&&m.postalCode===e?.postalCode,r=!t&&(e?.postalCode||f.mandatory)?"closed":"open";return r}(e);return t!==r?r:t})})},[n]),(0,d.useEffect)(()=>{if("closed"===t){i();return}e&&o({isOpen:!0,triggerRef:e})},[e,t]),{openModal:a,openPopover:o,regionPopoverState:t}}},69115:(e,t,r)=>{"use strict";r.d(t,{so:()=>getClientCacheBustingValue}),r(97358);let a="faststore_person_id",o="faststore_postal_code",n="faststore_cache_bust_last_value",getPersonId=()=>null,getPostalCode=()=>null,getStoredPersonId=()=>{if("undefined"==typeof sessionStorage)return null;try{return sessionStorage.getItem(a)}catch{return null}},getStoredPostalCode=()=>{if("undefined"==typeof sessionStorage)return null;try{return sessionStorage.getItem(o)}catch{return null}},storePersonId=e=>{if("undefined"!=typeof sessionStorage)try{null===e?sessionStorage.removeItem(a):sessionStorage.setItem(a,e)}catch{}},storePostalCode=e=>{if("undefined"!=typeof sessionStorage)try{null===e?sessionStorage.removeItem(o):sessionStorage.setItem(o,e)}catch{}},getLastValue=()=>{if("undefined"==typeof sessionStorage)return null;try{return sessionStorage.getItem(n)}catch{return null}},storeLastValue=e=>{if("undefined"!=typeof sessionStorage)try{sessionStorage.setItem(n,e)}catch{}},clearCacheBustingStorage=()=>{if("undefined"!=typeof sessionStorage)try{sessionStorage.removeItem(a),sessionStorage.removeItem(o),sessionStorage.removeItem(n)}catch{}},buildValue=(e,t)=>{let r=Date.now().toString();return[r,e,t].filter(Boolean).join("::")},getClientCacheBustingValue=()=>{let e=getPersonId(),t=getPostalCode();if(!e&&!t)return clearCacheBustingStorage(),null;let r=getStoredPersonId(),a=getStoredPostalCode();if(e!==r||t!==a){storePersonId(e),storePostalCode(t);let r=buildValue(e,t);return storeLastValue(r),r}let o=getLastValue();if(o)return o;let n=buildValue(e,t);return storeLastValue(n),n}},4018:(e,t,r)=>{"use strict";function textToKebabCase(e){let t=e.replace(/[^\w\s]/gi,"-");return(t=(t=t.replace(/\s+/g,"-")).toLowerCase())??""}function textToTitleCase(e){return e?e.replace(/\S+/g,e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()):""}function camelCaseToTitle(e){if(!e)return"";let t=e.replace(/([a-z])([A-Z])/g,"$1 $2");return t.charAt(0).toUpperCase()+t.slice(1)}function extractStatusFromError(e){if(e?.extensions?.status)return e.extensions.status;if(!e?.message)return;let t=e.message.match(/{.*}$/);if(t)try{let e=JSON.parse(t[0]);if(e.status)return e.status;if(e.message){let t=JSON.parse(e.message);return t.status}}catch{console.error("Failed to parse error message:",t[0])}}function sanitizeHost(e){return e?e.replace(/^https?:\/\//,""):""}r.d(t,{B5:()=>textToKebabCase,E2:()=>extractStatusFromError,GZ:()=>buildFormData,Y1:()=>sanitizeHost,_W:()=>textToTitleCase,gi:()=>camelCaseToTitle,qo:()=>toArray,sS:()=>formatFileSize,y4:()=>formatFileName});let buildFormData=e=>{let t=new FormData;return Object.keys(e).forEach(r=>{let a=e[r];t.append(r,null===a?"":String(a))}),t},toArray=e=>Array.isArray(e)?e:e?[e]:[];function formatFileName(e){let t=e.lastIndexOf("."),r=-1!==t?e.slice(t):"";if(e.length<=30)return e;let a=-1!==t?e.slice(0,t):e,o=30-r.length;if(o<=0)return e.slice(0,30);if(o<=3)return`${a.slice(0,o)}${r}`;let n=Math.floor((o-3)/2),i=a.slice(0,n),s=a.slice(-(o-3-n)),l=`${i}...${s}`;return`${l}${r}`}let formatFileSize=e=>{if(e<=0)return"0 Bytes";let t=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],r=Math.min(Math.floor(Math.log(e)/Math.log(1024)),t.length-1);return`${Number.parseFloat((e/1024**r).toFixed(2))} ${t[r]}`}},45276:()=>{},16652:(e,t,r)=>{"use strict";r.d(t,{ZP:()=>__WEBPACK_DEFAULT_EXPORT__,gK:()=>n,l8:()=>useUI});var a=r(16689),o=r.n(a);let n={setLocation:"setLocation",changeLocation:"changeLocation",changePickupPoint:"changePickupPoint",globalChangePickupPoint:"globalChangePickupPoint"},reducer=(e,t)=>{let{type:r}=t;switch(r){case"open":{let{payload:r}=t;return document.body.classList.add("no-scroll"),{...e,[r]:!0}}case"close":{let{payload:r}=t;return document.body.classList.remove("no-scroll"),{...e,[r]:!1}}case"pushToast":{let r=e.toasts.some(e=>e.message===t.payload.message&&e.status===t.payload.status);if(r)return e;return{...e,toasts:[...e.toasts,t.payload]}}case"popToast":return{...e,toasts:e.toasts.slice(1)};case"openPopover":return{...e,popover:{isOpen:!0,triggerRef:t.payload.triggerRef}};case"closePopover":return{...e,popover:{isOpen:!1,triggerRef:void 0}};case"openRegionSlider":return document.body.classList.add("no-scroll"),{...e,regionSlider:{type:t.payload,isOpen:!0}};case"closeRegionSlider":return e.filter||document.body.classList.remove("no-scroll"),{...e,regionSlider:{type:"none",isOpen:!1}};default:throw Error(`Action ${r} not implemented`)}},initializer=()=>({cart:!1,modal:!1,navbar:!1,filter:!1,toasts:[],popover:{isOpen:!1,triggerRef:void 0},regionSlider:{type:"none",isOpen:!1}}),i=(0,a.createContext)(void 0);function useUI(){let e=(0,a.useContext)(i);if(void 0===e)throw Error("Missing UI context on React tree");return e}let __WEBPACK_DEFAULT_EXPORT__=function({children:e}){let[t,r]=(0,a.useReducer)(reducer,void 0,initializer),n=(0,a.useMemo)(()=>({openFilter:()=>r({type:"open",payload:"filter"}),closeFilter:()=>r({type:"close",payload:"filter"}),openNavbar:()=>r({type:"open",payload:"navbar"}),closeNavbar:()=>r({type:"close",payload:"navbar"}),openCart:()=>r({type:"open",payload:"cart"}),closeCart:()=>r({type:"close",payload:"cart"}),openModal:()=>r({type:"open",payload:"modal"}),closeModal:()=>r({type:"close",payload:"modal"}),pushToast:e=>r({type:"pushToast",payload:e}),popToast:()=>r({type:"popToast"}),openPopover:e=>r({type:"openPopover",payload:e}),closePopover:()=>r({type:"closePopover"}),openRegionSlider:e=>r({type:"openRegionSlider",payload:e}),closeRegionSlider:()=>r({type:"closeRegionSlider"})}),[]),s=(0,a.useMemo)(()=>({...t,...n}),[n,t]);return o().createElement(i.Provider,{value:s},e)}},73982:(e,t,r)=>{var a={"./vtex":[7692,4365,7692],"./vtex/":[7692,4365,7692],"./vtex/index":[7692,4365,7692],"./vtex/index.ts":[7692,4365,7692],"./vtex/rc":[38068,8068],"./vtex/rc.ts":[38068,8068],"./vtex/search":[4365,4365],"./vtex/search.ts":[4365,4365]};function webpackAsyncContext(e){if(!r.o(a,e))return Promise.resolve().then(()=>{var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=a[e],o=t[0];return Promise.all(t.slice(1).map(r.e)).then(()=>r(o))}webpackAsyncContext.keys=()=>Object.keys(a),webpackAsyncContext.id=73982,e.exports=webpackAsyncContext},28529:(e,t,r)=>{"use strict";r.d(t,{W:()=>useAnalyticsEvent});var a=r(16689),o=r(14950);let useAnalyticsEvent=e=>{let t=(0,a.useCallback)(t=>{try{if(t.data.name!==o.vi)return;e((0,o.Wg)(t.data))}catch(e){console.error("Something went wrong while running Analytics handler")}},[e]);(0,a.useEffect)(()=>(window.addEventListener("message",t),()=>window.removeEventListener("message",t)),[t])}},14950:(e,t,r)=>{"use strict";r.d(t,{Mi:()=>a,Wg:()=>unwrap,re:()=>wrap,vi:()=>o});let a="store:",o="AnalyticsEvent",wrap=e=>({name:o,isEcommerceEvent:e.isEcommerceEvent??!0,params:{...e,name:`${a}${e.name}`}}),unwrap=e=>({...e.params,isEcommerceEvent:e.isEcommerceEvent??!0,name:e.params.name.slice(a.length,e.params.name.length)})},29380:(e,t,r)=>{"use strict";r.d(t,{n:()=>createCartStore});var a=r(12254),o=r(49578);let createCartStore=(e,t,r="fs::cart")=>{let n=(0,o.M)(e,r,t),getItem=e=>n.read().items.find(t=>t.id===e);return{...n,getItem,addItem:e=>{if(!e.id)throw new a.q("You must provide an `id` for items");if(e.quantity<0)throw new a.q("Item quantity needs to be higher than zero");let t=n.read(),r=getItem(e.id),o=r?{...e,quantity:r.quantity+e.quantity}:e;n.set({...t,items:r?t.items.map(e=>e===r?o:e):[...t.items,o]})},updateItemQuantity:(e,t)=>{let r=n.read(),o=getItem(e);if(!o)throw new a.q(`Item with id not found: ${e}`);let i={...o,quantity:t};n.set({...r,items:r.items.map(e=>e===o?i:e).filter(e=>e.quantity>0)})},removeItem:e=>{let t=n.read(),r=getItem(e);n.set({...t,items:t.items.filter(e=>e!==r)})},emptyCart:()=>n.set({...n.read(),items:[]}),inCart:e=>!!getItem(e),isEmpty:()=>0===n.read().items.length}}},9664:(e,t,r)=>{"use strict";r.d(t,{Ru:()=>removeFacet,a2:()=>toggleFacets,uL:()=>setFacet,wB:()=>toggleFacet,wb:()=>isSearchSort});var a=r(12254);let o=new Set(["price_desc","price_asc","orders_desc","name_desc","name_asc","release_desc","discount_desc","score_desc"]),isSearchSort=e=>o.has(e),removeFacet=(e,t)=>{let{value:r}=t,o=e.findIndex(e=>e.value===r);if(o<0)throw new a.q(`Cannot remove ${r} from search params`);return e.filter((e,t)=>t!==o)},setFacet=(e,t,r)=>{if(!0===r){let r=e.findIndex(e=>e.key===t.key);if(r>-1)return e.map((e,a)=>a===r?t:e)}return[...e,t]},toggleFacet=(e,t,r)=>{let a=e.find(e=>e.key===t.key&&e.value===t.value);return void 0!==a?removeFacet(e,t):setFacet(e,t,r)},toggleFacets=(e,t,r)=>t.reduce((e,t)=>toggleFacet(e,t,r),e)},86878:(e,t,r)=>{"use strict";r.d(t,{j:()=>initialize,X:()=>c});var a=r(43778),o=r(26142),n=r(72339),i=r(12404),s=r.n(i);let initialize=({sort:e="score_desc",selectedFacets:t=[],term:r=null,base:a="/",page:o=0,passThrough:n=new URLSearchParams}={})=>({sort:e,selectedFacets:t,term:r,base:a,page:o,passThrough:n}),l=(0,a.U)((e,t)=>({state:initialize(),setState:r=>{let a=t().state,o={...a,...r};!1===s()(a,o)&&e({state:o})},appendFacet:t=>e(e=>({state:{...e.state,selectedFacets:[...e.state.selectedFacets.filter(e=>!t.some(t=>t.key===e.key)),...t]}})),itemsPerPage:0,setItemsPerPage:t=>e({itemsPerPage:t}),pages:function(){try{let e=window.location.pathname.replace(/\W/g,"_");if(!e)return null;let t=getSessionStorageKey(e),r=sessionStorage.getItem(t);return r?JSON.parse(r):null}catch(e){return null}}()??[0],addPrevPage:()=>{let{pages:r}=t(),a=r[0]-1,o=[a,...r];setPagesSessionStorage(o),e({pages:o})},addNextPage:()=>{let{pages:r}=t(),a=Number(r.at(-1))+1,o=[...r,a];setPagesSessionStorage(o),e({pages:o})},resetInfiniteScroll:t=>{let r=[t];setPagesSessionStorage(r),e({pages:r})},parseURL:r=>{let a=(0,o.Q)(r),i=(0,n.Z)(t().state);(0,n.Z)(a).href!==i.href&&e({state:a})},serializedState:()=>(0,n.Z)(t().state),initialized:!1,reset:()=>{e({state:{...initialize({base:t().state.base})}})},start:(r,a)=>{t().initialized||e(e=>({initialized:!0,state:initialize({...e.state,...a,...(0,o.Q)(new URL(r,"http://localhost"))}),itemsPerPage:a.itemsPerPage??e.itemsPerPage,pages:a.pages??e.pages}))}})),c=(e=>{for(let t of(e.use={},Object.keys(e.getState())))e.use[t]=()=>e(e=>e[t]);return e})(l),getSessionStorageKey=e=>`__fs_gallery_page_${e}`;function setPagesSessionStorage(e){try{let t=window.location.pathname.replace(/\W/g,"_");if(!t)return;let r=getSessionStorageKey(t);sessionStorage.setItem(r,JSON.stringify(e))}catch(e){return}}},26142:(e,t,r)=>{"use strict";r.d(t,{Q:()=>parse});var a=r(12254),o=r(9664),n=r(86878);let parse=({pathname:e,searchParams:t})=>{let r=(0,n.j)({base:e,term:t.get("q")??null,sort:t.get("sort")??void 0,page:Number(t.get("page")??0)});if(!(0,o.wb)(r.sort))throw new a.q(`Uknown sorting option ${r.sort}`);let i=t.get("facets")?.split(",")??[];for(let e of i){let a=t.getAll(e);for(let t of a)r.selectedFacets=(0,o.uL)(r.selectedFacets,{key:e,value:t})}return r.passThrough=function(e,t){let r=new URLSearchParams,a=new Set(t),o=Array.from(e.entries());for(let[e,t]of o)a.has(e)||r.append(e,t);return r}(t,["q","sort","page","facets",...i]),r}},69029:(e,t,r)=>{"use strict";r.d(t,{R:()=>useSearch});var a=r(86878);let useSearch=()=>{let e=(0,a.X)();return e}},88987:(e,t,r)=>{"use strict";r.d(t,{S:()=>createSessionStore});var a=r(49578);let createSessionStore=(e,t,r="fs::session")=>(0,a.M)(e,r,t)},73365:(e,t,r)=>{"use strict";r.d(t,{M:()=>createStore});let createStore=e=>{let t=new Set,r=new Set,a=e;return{set:e=>{a=e,r.forEach(e=>e()),r.clear(),t.forEach(t=>{let a=t(e);"function"==typeof a&&r.add(a)})},read:()=>a,readInitial:()=>e,subscribe:e=>(t.add(e),()=>{t.delete(e)})}}},49578:(e,t,r)=>{"use strict";r.d(t,{M:()=>createStore});var a=r(74375),o=r(25214),n=r(78901),i=r(68956),s=r(73365);let identity=e=>e,createStore=(e,t,r)=>(0,i.q)([t?(0,n.r)(t):identity,t?(0,a.R)(t):identity,r?(0,o.A)(r):identity],(0,s.M)(e))},25214:(e,t,r)=>{"use strict";r.d(t,{A:()=>optimistic});let trivial=async()=>null,optimistic=(e=trivial)=>{let t=Promise.resolve();return r=>(r.subscribe(a=>{let o=!1,handler=async()=>{if(o)return;let t=await e(a);o||null==t||r.set(t)};return t=t.then(handler).catch(e=>{console.error("Error in optimistic validation:",e)}),()=>{o=!0}}),r)}},74375:(e,t,r)=>{"use strict";r.d(t,{R:()=>persisted});var a=r(83430);let getIDB=async e=>{try{return await (0,a.get)(e)}catch(e){return}},setIDB=async(e,t)=>{try{await (0,a.set)(e,t)}catch(e){}},debounce=(e,t)=>{let r;return(...a)=>{clearTimeout(r),r=setTimeout(()=>{e(...a)},t)}},persisted=e=>t=>{let r=!1,hydrateFromIDB=async()=>{let a=await getIDB(e);"undefined"!=typeof document&&t.set(a??t.readInitial()),r=!0};hydrateFromIDB();let syncFromIDB=async()=>{let r=await getIDB(e);"undefined"!=typeof document&&void 0!==r&&t.set(r)},a=debounce(syncFromIDB,100);return globalThis.addEventListener?.("focus",()=>a()),globalThis.document?.addEventListener("visibilitychange",()=>"visible"===document.visibilityState&&a()),t.subscribe(t=>{r&&setIDB(e,t)}),t}},78901:(e,t,r)=>{"use strict";r.d(t,{r:()=>singleton}),globalThis.faststore_sdk_stores=globalThis.faststore_sdk_stores??new Map;let singleton=e=>t=>{let r=globalThis.faststore_sdk_stores;return r.has(e)||r.set(e,t),r.get(e)}},68956:(e,t,r)=>{"use strict";r.d(t,{q:()=>compose});let compose=(e,t)=>e.reduce((e,t)=>t(e),t)},12254:(e,t,r)=>{"use strict";r.d(t,{q:()=>SDKError});let SDKError=class SDKError extends Error{constructor(e){super(`[sdk]: ${e}`)}}},72339:(e,t,r)=>{"use strict";r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=e=>{let t=new URL(e.base,"http://localhost"),{page:r,selectedFacets:a,sort:o,term:n,passThrough:i}=e;null!==n&&t.searchParams.set("q",n);let s=new Set;for(let e of a)t.searchParams.append(e.key,e.value),s.add(e.key);if(a.length>0&&t.searchParams.set("facets",Array.from(s).join(",")),t.searchParams.set("sort",o),t.searchParams.set("page",r.toString()),i)for(let[e,r]of i.entries())t.searchParams.append(e,r);return t}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=3922,exports.ids=[3922],exports.modules={13922:(t,e,a)=>{a.d(e,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var n=a(16689),r=a.n(n);let __WEBPACK_DEFAULT_EXPORT__=function({icon:t,inverse:e,children:a,disabled:s,iconPosition:u,size:o="regular",variant:l="primary",testId:d="fs-link-button",...i}){let f=(0,n.useRef)(null);return r().createElement("a",{ref:f,"data-fs-button":!0,"data-fs-link-button":!0,"data-fs-button-size":o,"data-fs-button-variant":l,"data-fs-button-inverse":e,"data-fs-button-disabled":s,onFocus:function(t){t.preventDefault(),s&&f.current?.blur()},"data-testid":d,...i},r().createElement("div",{"data-fs-button-wrapper":!0},!!t&&"left"===u&&r().createElement("span",{"data-fs-button-icon":!0},t),a&&r().createElement("span",null,a),!!t&&"right"===u&&r().createElement("span",{"data-fs-button-icon":!0},t)))}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=3945,exports.ids=[3945],exports.modules={3155:(e,t,a)=>{a.r(t),a.d(t,{default:()=>__WEBPACK_DEFAULT_EXPORT__,fragment:()=>_});var s=a(25487),d=a(69029),l=a(9664),i=a(16652),n=a(15699),c=a(64199),r=a(83339),o=a(2614),y=a(52815),p=a(26174),x=a(32230),u=a(70643),h=a(52011),v=a(3303),f=a(2430),m=a(20997);let _=s.j9,__WEBPACK_DEFAULT_EXPORT__=function({facets:e,testId:t,dispatch:a,expanded:s,title:_}){let b=(0,v.T)(),{deliveryPromise:k}=b??{},{resetInfiniteScroll:F,state:g,setState:j}=(0,d.R)(),{openRegionSlider:$}=(0,i.l8)(),{facets:Z,labelsMap:E,isPickupAllEnabled:L,shouldDisplayDeliveryButton:A,onDeliveryFacetChange:C}=(0,h.z0)({allFacets:e,selectedFilterFacets:g.selectedFacets,deliveryPromiseSettings:k});return m.jsx(m.Fragment,{children:(0,m.jsxs)(n.Z,{testId:`desktop-${t}`,title:_,indicesExpanded:s,onAccordionChange:e=>a({type:"toggleExpanded",payload:e}),children:[A&&m.jsx(c.Z,{testId:t,index:0,type:"",label:E[h.gA]??"Delivery",description:k?.deliveryMethods?.description,children:m.jsx(r.Z,{"data-fs-filter-list-delivery-button":!0,variant:"secondary",onClick:()=>$(i.gK.setLocation),icon:m.jsx(o.Z,{name:"MapPin"}),children:k?.deliveryMethods?.setLocationButtonLabel??"Set Location"})},`${t}-delivery-unset`),Z.map((e,a)=>{let d=A?a+1:a,{__typename:i,label:n}=e,r=s.has(d),o=e.key===h.gA,v=e.key===h.DX,_=E[e.key]??n;return(0,m.jsxs)(c.Z,{testId:t,index:d,type:i,label:_,description:o?k?.deliveryMethods?.description:void 0,children:["StoreFacetBoolean"===i&&r&&m.jsx(y.Z,{children:e.values.map(a=>(a.value!==h.d||L)&&m.jsx(p.Z,{id:`${t}-${e.label}-${a.value}`,testId:t,onFacetChange:e=>{C({facet:e}),F(0)},selected:a.selected,value:a.value,quantity:a.quantity,facetKey:e.key,label:o?m.jsx(f.Z,{item:a,deliveryMethods:k?.deliveryMethods}):a.label,type:o||v?"radio":"checkbox"},`${t}-${e.label}-${a.value}`))}),"StoreFacetRange"===i&&r&&m.jsx(x.Z,{facetKey:e.key,min:e.min,max:e.max,formatter:"price"===e.key.toLowerCase()?u.P:void 0,onFacetChange:e=>{j({selectedFacets:(0,l.uL)(g.selectedFacets,e,!0),page:0}),F(0)}})]},`${t}-${_}-${d}`)})]})})}},82740:(e,t,a)=>{a.d(t,{Z:()=>i});var s=a(16689),d=a.n(s);let l=(0,s.forwardRef)(function({testId:e="fs-checkbox",partial:t,...a},s){return d().createElement("input",{ref:s,"data-fs-checkbox":!0,"data-testid":e,"data-fs-checkbox-partial":t,type:"checkbox",...a})}),i=l}};
@@ -1,7 +0,0 @@
1
- exports.id=3951,exports.ids=[3951],exports.modules={38038:e=>{e.exports={seo:{title:"FastStore Starter",description:"Fast Demo Store",titleTemplate:"%s | FastStore",author:"Store Framework",name:"FastStore",publisherId:"",plp:{titleTemplate:"%s | FastStore PLP",descriptionTemplate:"%s products on FastStore Product Listing Page"},pdp:{titleTemplate:"%s | FastStore PDP",descriptionTemplate:"%s products on FastStore Product Detail Page",minPriceAmountFractionDigits:void 0},search:{titleTemplate:"%s | Search results",descriptionTemplate:"%s Search results description",noIndex:!0,noFollow:!0,bodyH1:"Showing results for:"}},theme:"custom-theme",platform:"vtex",api:{storeId:"storeframework",workspace:"master",subDomainPrefix:["www"],environment:"vtexcommercestable",hideUnavailableItems:!1,showSponsored:!1,incrementAddress:!0,enableUnavailableItemsOnCart:!1},session:{currency:{code:"USD",symbol:"$"},locale:"en-US",channel:'{"salesChannel":"1","regionId":"","hasOnlyDefaultSalesChannel":"true"}',country:"USA",deliveryMode:null,addressType:null,city:null,postalCode:null,geoCoordinates:null,b2b:null,person:null,marketingData:{utmCampaign:"",utmMedium:"",utmSource:"",utmiCampaign:"",utmiPart:"",utmiPage:""},refreshAfter:null},cart:{id:"",items:[],messages:[],shouldSplitItem:!0},storeUrl:"https://homebrewqa.fast.store",secureSubdomain:"https://homebrewqa.fast.store",checkoutUrl:"https://homebrewqa.fast.store/checkout",loginUrl:"https://homebrewqa.fast.store/api/io/login",accountUrl:"https://homebrewqa.fast.store/api/io/account",previewRedirects:{home:"/",plp:"/office",search:"/s?q=headphone",pdp:"/apple-magic-mouse/p",500:"/500",404:"/404"},lighthouse:{server:process.env.BASE_SITE_URL||"http://localhost:3000",pages:{home:"/",pdp:"/4k-philips-monitor-99988213/p",collection:"/office"}},cypress:{pages:{home:"/",pdp:"/4k-philips-monitor-99988213/p",collection:"/office",collection_2:"/technology",collection_filtered:"/office/?category-1=office&marca=acer&facets=category-1%2Cmarca",search:"/s?q=orange"}},analytics:{gtmContainerId:"GTM-PGHZ95N"},cms:{data:process.env.CMS_DATA},contentSource:{type:"CMS"},deliveryPromise:{enabled:!1,mandatory:!1},experimental:{cypressVersion:12,enableCypressExtension:!1,enableScriptsLogs:!1,noRobots:!1,noindex:!1,nofollow:!1,preact:!1,enableRedirects:!1,enableSearchSSR:!1,enableFaststoreMyAccount:!1,useIsGiftFromOrderForm:!1,graphqlCacheControl:{maxAge:0,staleWhileRevalidate:3600},refreshToken:!1,scrollRestoration:!1,transpilePackages:[]},direction:"ltr"}},43412:(e,t,r)=>{let o=r(38038),n=r(2512),s=r(56330),a=s(o,n);e.exports=a},36401:(e,t,r)=>{"use strict";r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__,v:()=>i});var o=r(98132),n=r(43412),s=r.n(n),a=r(20997);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let c=s().experimental?.enableScriptsLogs===!0,i="gtm_debug",useSnippet=e=>{let t=e.dataLayerName??"dataLayer";return`${e.partytownScript?"!":""}window.location.search.includes('${i}=')&&
2
- (function(w,d,s,l,i){w[l]=w[l]||[];
3
- ${c?`w[l].push=(function(orig){return function(){console.debug("%cvtex%c GTM dataLayer.push","${o.Av}","color:inherit",arguments);return orig.apply(this, arguments);}})(w[l].push);`:""}
4
- w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});
5
- var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
6
- 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
7
- })(window,document,'script',${JSON.stringify(t)},${JSON.stringify(e.containerId)});`},__WEBPACK_DEFAULT_EXPORT__=function(e){return(0,a.jsxs)(a.Fragment,{children:[a.jsx("script",{type:"text/partytown",dangerouslySetInnerHTML:{__html:useSnippet(_objectSpread(_objectSpread({},e),{},{partytownScript:!0}))}},"gtm.partytown"),a.jsx("script",{type:"text/javascript",dangerouslySetInnerHTML:{__html:useSnippet(_objectSpread(_objectSpread({},e),{},{partytownScript:!1}))}},"gtm")]})}},98132:(e,t,r)=>{"use strict";r.d(t,{Av:()=>a,KS:()=>n,YQ:()=>s,gK:()=>o});let o=12,n=5,s=3e3,a="background:#C4144F;color:#fff;padding:2px 4px;border-radius:2px"},2512:e=>{e.exports={}},39729:(e,t,r)=>{"use strict";r.d(t,{Q:()=>c,Z:()=>i});var o=r(20997);let fonts_WebFonts=function(){return o.jsx(o.Fragment,{})},n={components:{WebFonts:fonts_WebFonts}},s={components:{ThirdPartyScripts:()=>o.jsx(o.Fragment,{})}};function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let a=_objectSpread(_objectSpread(_objectSpread(_objectSpread({WebFonts:fonts_WebFonts},s.components),n.components),n.components),s.components),c=a.WebFonts,i=a}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=416,exports.ids=[416],exports.modules={6476:(e,t,a)=>{a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var l=a(16689),r=a.n(l),n=a(83339);let __WEBPACK_DEFAULT_EXPORT__=function({testId:e="fs-buy-button",icon:t,children:a,...l}){return r().createElement(n.Z,{"data-fs-buy-button":!0,icon:t,iconPosition:"left","data-testid":e,...l},a)}},8212:(e,t,a)=>{a.d(t,{Z:()=>s});var l=a(16689),r=a.n(l),n=a(13024);let i=(0,l.forwardRef)(function({title:e,label:t,refTag:a="Ref.: ",refNumber:l,testId:i="fs-product-title",ratingValue:s,...o},c){return r().createElement("header",{ref:c,"data-fs-product-title":!0,"data-testid":i,...o},r().createElement("div",{"data-fs-product-title-header":!0},e,!!t&&t),(l||s)&&r().createElement("div",{"data-fs-product-title-addendum":!0},s&&r().createElement(n.Z,{value:s}),l&&r().createElement(r().Fragment,null,a," ",l)))}),s=i},5136:(e,t,a)=>{a.d(t,{Z:()=>c});var l=a(16689),r=a.n(l),n=a(31953),i=a(40727),s=a(55450);let getImageName=e=>{let t=new URL(e).pathname,a=t.split("/").slice(-1)[0];return a},useDefineVariant=(e,t)=>(0,l.useMemo)(()=>{if(t)return t;let a=e.every(e=>e.hexColor);if(a)return"color";let l=e[0]?.src&&getImageName(e[0].src);if(l&&1===e.length)return"image";let r=e.every(e=>{if(!e.src)return!0;let t=getImageName(e.src);return t===l});return r?"label":"image"},[e,t]),useSkuSlug=(e,t,a,r)=>{let n=(0,l.useCallback)(l=>{if(r)return{getItemHrefProp:r};let n=`/${function(e,t,a){let l=Object.entries(t).flat().join("-");if(l in e)return e[l];let r=Object.keys(e),n=`${a}-${t[a]}`,i=r.filter(e=>e.includes(n)),s=i.length>1?function(e,t){let[a,l]=t.split("-");return e.find(e=>{let t=function(e){let t={},a=e.split("-");for(let e=0;e<a.length;e+=2){let l=a[e].trim(),r=a[e+1]?a[e+1].trim():"";t[l]=r}return t}(e);return t[a]===l})}(i,n):i[0];return e[s??r[0]]}(t,{...e,[a]:l.value},a)}/p`;return n},[e,r,t,a]);return{getItemHref:n}},ImageComponentFallback=({src:e,alt:t,...a})=>r().createElement("img",{src:e,alt:t,...a}),o=(0,l.forwardRef)(function({availableVariations:e,skuPropertyName:t,testId:a,activeVariations:l,linkProps:o,slugsMap:c,getItemHref:m,ImageComponent:u=ImageComponentFallback,variant:d,...f},g){let E=l[t],p=e[t],h=useDefineVariant(p,d),{getItemHref:_}=useSkuSlug(l,c,t,m);return r().createElement("div",{ref:g,"data-fs-sku-selector":!0,"data-testid":a,"data-fs-sku-selector-variant":h,...f},t&&r().createElement(n.Z,{"data-fs-sku-selector-title":!0},t,": ",r().createElement("strong",null,E)),r().createElement("ul",{"data-fs-sku-selector-list":!0},p.map((e,a)=>r().createElement("li",{key:String(a),title:e.label,"data-fs-sku-selector-option":!0,"data-fs-sku-selector-disabled":e.disabled,"data-fs-sku-selector-checked":e.value===l[t]},r().createElement(i.Z,{"data-fs-sku-selector-option-link":!0,href:_(e),...o},r().createElement(s.Z,{text:e.label})),"label"===h&&r().createElement("span",null,e.value),"image"===h&&u&&r().createElement("span",null,r().createElement(u,{src:e.src??"",alt:e.alt??"","data-fs-sku-selector-option-image":!0})),"color"===h&&r().createElement("span",null,r().createElement("div",{"data-fs-sku-selector-option-color":!0,title:e.value,style:{"--data-fs-sku-selector-option-color-bkg-color":e.hexColor}}))))))}),c=o},165:(e,t,a)=>{a.d(t,{Z:()=>s});var l=a(16689),r=a.n(l),n=a(68778);let i=(0,l.forwardRef)(function({images:e,children:t,ImageComponent:a,selectedImageIdx:l,setSelectedImageIdx:i,testId:s="fs-image-gallery",...o},c){let m=e.length>1;return r().createElement("section",{ref:c,"data-fs-image-gallery":m?"with-selector":"without-selector","data-testid":s,...o},t,m&&r().createElement(n.Z,{images:e,onSelect:i,currentImageIdx:l,ImageComponent:a}))}),s=i},68778:(e,t,a)=>{a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var l=a(16689),r=a.n(l),n=a(19785),i=a(37041),s=a(2614),o=a(83339);let moveScroll=(e,t)=>{e&&(e.scrollHeight>e.clientHeight?(e.style.overflow="auto",window.requestAnimationFrame(()=>e.scrollTo({top:t,behavior:"smooth"})),setTimeout(()=>e.style.overflow="hidden",2e3)):e.scrollLeft+=t)},hasScroll=e=>!!e&&(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth),__WEBPACK_DEFAULT_EXPORT__=function({images:e,onSelect:t,ImageComponent:a,currentImageIdx:c,testId:m="fs-image-gallery-selector","aria-label":u="Product Images",navigationButtonLeftAriaLabel:d="Backward slide image selector",navigationButtonRightAriaLabel:f="Forward slide image selector"}){let g=(0,l.useRef)(null),E=hasScroll(g.current),[p,h]=(0,l.useState)(!0),[_,k]=(0,l.useState)(!0),v=(0,l.useCallback)((t,a)=>{0===t&&h(a),t===e.length-1&&k(a)},[e.length]);return r().createElement("section",{"data-fs-image-gallery-selector":!0,"data-testid":m,"aria-label":u},E&&!p&&r().createElement("div",{"data-fs-image-gallery-selector-control":!0},r().createElement(i.Z,{"data-fs-image-gallery-selector-control-button":!0,"aria-label":d,icon:r().createElement(s.Z,{name:"ArrowLeft"}),onClick:()=>moveScroll(g.current,-400)})),r().createElement("div",{"data-fs-image-gallery-selector-elements":!0,ref:g},e.map((l,i)=>r().createElement(n.InView,{key:i,onChange:e=>v(i,e)},r().createElement(o.Z,{key:i,"aria-label":`${l.alternateName} - Image ${i+1} of ${e.length}`,onClick:()=>t(i),"data-fs-image-gallery-selector-thumbnail":i===c?"selected":"true"},r().createElement(a,{url:l.url??"",loading:0===i?"eager":"lazy",alternateName:l.alternateName??""}))))),E&&!_&&r().createElement("div",{"data-fs-image-gallery-selector-control":!0},r().createElement(i.Z,{"data-fs-image-gallery-selector-control-button":!0,"aria-label":f,icon:r().createElement(s.Z,{name:"ArrowLeft"}),onClick:()=>moveScroll(g.current,400)})))}},11431:(e,t,a)=>{a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var l=a(16689),r=a.n(l);let __WEBPACK_DEFAULT_EXPORT__=({children:e})=>r().createElement(r().Fragment,null,e)},98878:(e,t,a)=>{a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var l=a(16689),r=a.n(l),n=a(93779),i=a(40727),s=a(2614),o=a(97336),c=a(9336),m=a(44236),u=a(84256),d=a(99767);let __WEBPACK_DEFAULT_EXPORT__=function({testId:e="fs-shipping-simulation",formatter:t,title:a="Shipping",inputLabel:l="Postal Code",optionsLabel:f="Shipping options",idkPostalCodeLinkProps:g,onInput:E,onSubmit:p,onClear:h,location:_,options:k=[],displayClearButton:v=!1,errorMessage:b,postalCode:Z,...y}){let C=!!k&&k.length>0;return r().createElement("section",{"data-fs-shipping-simulation":!0,"data-fs-shipping-simulation-empty":C?"false":"true","data-testid":e,...y},r().createElement("h2",{"data-fs-shipping-simulation-title":!0},a),r().createElement(n.Z,{actionable:!0,error:b,id:`${e}-input-field`,label:l,value:Z,onInput:e=>E?.(e),onSubmit:()=>p?.(),onClear:()=>h?.(),displayClearButton:v}),r().createElement(i.Z,{href:"/","data-fs-shipping-simulation-link":!0,size:"small",...g},g?.children??r().createElement(r().Fragment,null,"I don't know my Postal Code",r().createElement(s.Z,{name:"ArrowSquareOut",width:20,height:20}))),C&&r().createElement(r().Fragment,null,r().createElement("header",{"data-fs-shipping-simulation-header":!0},r().createElement("h3",{"data-fs-shipping-simulation-subtitle":!0},f),r().createElement("p",{"data-fs-shipping-simulation-location":!0},_)),r().createElement(o.Z,null,r().createElement(c.Z,null,k.map(e=>r().createElement(m.Z,{key:e.carrier},r().createElement(u.Z,{align:"left"},r().createElement("p",{"data-fs-shipping-simulation-option-carrier":!0},e.carrier),r().createElement("span",{"data-fs-shipping-simulation-option-estimate":!0},e.localizedEstimates)),r().createElement(u.Z,{align:"right"},e.price&&r().createElement(d.Z,{formatter:t,value:e.price,SRText:"price"}))))))))}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=4194,exports.ids=[4194],exports.modules={14194:(e,t,r)=>{r.d(t,{C:()=>p});let o={section:"EmptyState"};var n=r(91716),c=r(41780);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var o;o=r[t],t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let p=(0,n.v)(_objectSpread(_objectSpread(_objectSpread({},o),o),{},{Section:c.Z}))}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=4365,exports.ids=[4365],exports.modules={4365:(e,t,r)=>{r.r(t),r.d(t,{default:()=>search});var a=r(98132),o=r(43412),s=r.n(o);let getBaseDomain=e=>{if(e[0]===e[1])return`.${new URL(s().storeUrl).hostname}`;let t=e.map(e=>{try{let t=new URL(e).hostname,r=s().api.subDomainPrefix||[],a=RegExp(`^(${["www",...r].join("|")})\\.`);return t.replace(a,"")}catch{return""}}),r=t.map(e=>e.split(".").reverse()),a=Math.min(...r.map(e=>e.length)),o=[];for(let e=0;e<a;e++){let t=new Set(r.map(t=>t[e]));if(1===t.size)o.push(r[0][e]);else break}if(o.length<2){let t=`No common domain found for URLs: ${e.join(", ")}`;return console.warn(`${t}. Please check the Production URLs in the discovery.config file.`),""}return"."+o.reverse().join(".")};var n=r(26725);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let i=s().experimental?.enableScriptsLogs===!0,randomUUID=()=>"function"==typeof crypto.randomUUID?crypto.randomUUID().replaceAll("-",""):(1e6*Math.random()).toFixed(0),createOrRefreshCookie=(e,t)=>{let r=s().secureSubdomain?getBaseDomain([s().storeUrl,s().secureSubdomain]):`.${new URL(s().storeUrl).hostname}`;return()=>{let a=(0,n.ej)(e),o=void 0===a;return o&&(a=randomUUID()),document.cookie=`${e}=${a}; max-age=${t}; domain=${r}; path=/;`,a}},c={anonymous:createOrRefreshCookie("vtex-search-anonymous",31536e3),session:createOrRefreshCookie("vtex-search-session",1800)},sendEvent=e=>{let t=_objectSpread(_objectSpread({},e),{},{userAgent:navigator.userAgent,anonymous:c.anonymous(),session:c.session()});return i&&console.debug("%cvtex%c Search Event",a.Av,"color:inherit",t),fetch(`https://sp.vtex.com/event-api/v1/${s().api.storeId}/event`,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json"}})},isFullTextSearch=e=>"string"==typeof e.searchParams.get("q")&&/^\/s(\/)?$/g.test(e.pathname);setInterval(()=>sendEvent({type:"session.ping"}),6e4);let search=e=>{switch(e.name){case"search_select_item":{let t=new URL(e.params.url);if(!isFullTextSearch(t))return;for(let r of e.params.items??[]){let e=r.item_id??r.item_variant,a=r.index;e&&a&&sendEvent({type:"search.click",productId:e,position:a,url:t.href,text:t.searchParams.get("q")??"<empty>"})}break}case"intelligent_search_query":sendEvent({type:"search.query",url:e.params.url,text:e.params.term,misspelled:e.params.isTermMisspelled,match:e.params.totalCount,operator:e.params.logicalOperator,locale:e.params.locale});break;case"intelligent_search_autocomplete_query":sendEvent({type:"search.autocomplete.query",url:e.params.url,text:e.params.term,misspelled:e.params.isTermMisspelled,match:e.params.totalCount,operator:e.params.logicalOperator,locale:e.params.locale});break;case"intelligent_search_autocomplete_click":sendEvent(_objectSpread(_objectSpread({text:e.params.term,url:e.params.url??"",productId:e.params.productId??""},e.params.position&&{position:e.params.position}),{},{type:"search.autocomplete.click"}))}}},26725:(e,t,r)=>{function getCookie(e){let t=decodeURIComponent(document.cookie),r=t.split(";");for(let t of r){let[r,a]=t.trim().split("=");if(r===e)return a}}function parseJwt(e){return e?JSON.parse(Buffer.from(e.split(".")[1],"base64").toString()):null}r.d(t,{aj:()=>parseJwt,ej:()=>getCookie}),r(84802)}};