@faststore/core 3.98.0-dev.0 → 3.98.0-dev.10

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 (378) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +124 -123
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/webpack/client-production/0.pack +0 -0
  6. package/.next/cache/webpack/client-production/index.pack +0 -0
  7. package/.next/cache/webpack/server-production/0.pack +0 -0
  8. package/.next/cache/webpack/server-production/index.pack +0 -0
  9. package/.next/next-minimal-server.js.nft.json +1 -1
  10. package/.next/next-server.js.nft.json +1 -1
  11. package/.next/prerender-manifest.js +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/react-loadable-manifest.json +167 -163
  14. package/.next/required-server-files.json +1 -1
  15. package/.next/routes-manifest.json +1 -1
  16. package/.next/server/chunks/{5796.js → 1027.js} +1 -1
  17. package/.next/server/chunks/1197.js +1 -0
  18. package/.next/server/chunks/{3483.js → 1313.js} +1 -1
  19. package/.next/server/chunks/1419.js +1 -0
  20. package/.next/server/chunks/1576.js +1 -0
  21. package/.next/server/chunks/{7275.js → 1588.js} +1 -1
  22. package/.next/server/chunks/1741.js +3 -0
  23. package/.next/server/chunks/221.js +1 -0
  24. package/.next/server/chunks/2259.js +9 -0
  25. package/.next/server/chunks/2513.js +1 -0
  26. package/.next/server/chunks/2955.js +1 -0
  27. package/.next/server/chunks/3114.js +1 -0
  28. package/.next/server/chunks/3327.js +1 -0
  29. package/.next/server/chunks/3488.js +1 -0
  30. package/.next/server/chunks/{1917.js → 3513.js} +1 -1
  31. package/.next/server/chunks/3683.js +1 -0
  32. package/.next/server/chunks/{8563.js → 3724.js} +1 -1
  33. package/.next/server/chunks/3977.js +1 -0
  34. package/.next/server/chunks/426.js +1 -0
  35. package/.next/server/chunks/4573.js +1 -0
  36. package/.next/server/chunks/4681.js +1 -0
  37. package/.next/server/chunks/5133.js +3 -0
  38. package/.next/server/chunks/5212.js +7 -0
  39. package/.next/server/chunks/5608.js +1 -0
  40. package/.next/server/chunks/5628.js +12 -0
  41. package/.next/server/chunks/{1607.js → 5764.js} +1 -1
  42. package/.next/server/chunks/{9740.js → 6259.js} +1 -1
  43. package/.next/server/chunks/6698.js +1 -1
  44. package/.next/server/chunks/689.js +1 -0
  45. package/.next/server/chunks/6952.js +1 -0
  46. package/.next/server/chunks/7121.js +1 -0
  47. package/.next/server/chunks/7371.js +1 -1
  48. package/.next/server/chunks/7417.js +1 -0
  49. package/.next/server/chunks/{1280.js → 7722.js} +1 -1
  50. package/.next/server/chunks/7796.js +1 -0
  51. package/.next/server/chunks/7956.js +1 -0
  52. package/.next/server/chunks/{6804.js → 7976.js} +3 -3
  53. package/.next/server/chunks/{9985.js → 8146.js} +1 -1
  54. package/.next/server/chunks/8290.js +1 -0
  55. package/.next/server/chunks/8376.js +13 -0
  56. package/.next/server/chunks/8466.js +6 -0
  57. package/.next/server/chunks/8569.js +1 -1
  58. package/.next/server/chunks/8659.js +1 -0
  59. package/.next/server/chunks/8741.js +1 -0
  60. package/.next/server/chunks/8971.js +493 -0
  61. package/.next/server/chunks/9088.js +1 -1
  62. package/.next/server/chunks/9237.js +1 -1
  63. package/.next/server/chunks/9374.js +13 -0
  64. package/.next/server/chunks/{8068.js → 9425.js} +1 -1
  65. package/.next/server/chunks/{UINavbarSlider.js → 9984.js} +1 -1
  66. package/.next/server/chunks/9986.js +1 -0
  67. package/.next/server/chunks/ButtonSignIn.js +1 -1
  68. package/.next/server/chunks/FilterSkeleton.js +1 -1
  69. package/.next/server/chunks/ScrollToTopButton.js +1 -1
  70. package/.next/server/chunks/UIBannerText.js +1 -1
  71. package/.next/server/chunks/UISKUMatrixSidebar.js +1 -1
  72. package/.next/server/functions-config-manifest.json +1 -1
  73. package/.next/server/middleware-build-manifest.js +1 -1
  74. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  75. package/.next/server/pages/404.js +1 -1
  76. package/.next/server/pages/404.js.nft.json +1 -1
  77. package/.next/server/pages/500.js +1 -1
  78. package/.next/server/pages/500.js.nft.json +1 -1
  79. package/.next/server/pages/[...slug].js +1 -1
  80. package/.next/server/pages/[...slug].js.nft.json +1 -1
  81. package/.next/server/pages/[slug]/p.js +1 -1
  82. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  83. package/.next/server/pages/_app.js +1 -1
  84. package/.next/server/pages/_app.js.nft.json +1 -1
  85. package/.next/server/pages/_document.js +1 -1
  86. package/.next/server/pages/_document.js.nft.json +1 -1
  87. package/.next/server/pages/_error.js +1 -1
  88. package/.next/server/pages/_error.js.nft.json +1 -1
  89. package/.next/server/pages/api/fs/logout.js +1 -1
  90. package/.next/server/pages/api/fs/logout.js.nft.json +1 -1
  91. package/.next/server/pages/api/graphql.js +3 -3
  92. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  93. package/.next/server/pages/api/health/live.js +1 -1
  94. package/.next/server/pages/api/health/live.js.nft.json +1 -1
  95. package/.next/server/pages/api/health/ready.js +1 -1
  96. package/.next/server/pages/api/health/ready.js.nft.json +1 -1
  97. package/.next/server/pages/api/preview.js +1 -1
  98. package/.next/server/pages/api/preview.js.nft.json +1 -1
  99. package/.next/server/pages/checkout.js +1 -1
  100. package/.next/server/pages/checkout.js.nft.json +1 -1
  101. package/.next/server/pages/en-US/404.html +2 -2
  102. package/.next/server/pages/en-US/404.json +1 -1
  103. package/.next/server/pages/en-US/500.html +2 -2
  104. package/.next/server/pages/en-US/500.json +1 -1
  105. package/.next/server/pages/en-US/checkout.html +2 -2
  106. package/.next/server/pages/en-US/checkout.json +1 -1
  107. package/.next/server/pages/en-US/login.html +2 -2
  108. package/.next/server/pages/en-US/login.json +1 -1
  109. package/.next/server/pages/en-US/s.html +2 -2
  110. package/.next/server/pages/en-US/s.json +1 -1
  111. package/.next/server/pages/en-US.html +2 -2
  112. package/.next/server/pages/en-US.json +1 -1
  113. package/.next/server/pages/index.js +1 -1
  114. package/.next/server/pages/index.js.nft.json +1 -1
  115. package/.next/server/pages/login.js +1 -1
  116. package/.next/server/pages/login.js.nft.json +1 -1
  117. package/.next/server/pages/pvt/account/403.js +1 -1
  118. package/.next/server/pages/pvt/account/403.js.nft.json +1 -1
  119. package/.next/server/pages/pvt/account/404.js +1 -1
  120. package/.next/server/pages/pvt/account/404.js.nft.json +1 -1
  121. package/.next/server/pages/pvt/account/[...unknown].js +1 -1
  122. package/.next/server/pages/pvt/account/[...unknown].js.nft.json +1 -1
  123. package/.next/server/pages/pvt/account/orders/[id].js +1 -1
  124. package/.next/server/pages/pvt/account/orders/[id].js.nft.json +1 -1
  125. package/.next/server/pages/pvt/account/orders.js +1 -1
  126. package/.next/server/pages/pvt/account/orders.js.nft.json +1 -1
  127. package/.next/server/pages/pvt/account/profile.js +1 -1
  128. package/.next/server/pages/pvt/account/profile.js.nft.json +1 -1
  129. package/.next/server/pages/pvt/account/security.js +1 -1
  130. package/.next/server/pages/pvt/account/security.js.nft.json +1 -1
  131. package/.next/server/pages/pvt/account/user-details.js +1 -1
  132. package/.next/server/pages/pvt/account/user-details.js.nft.json +1 -1
  133. package/.next/server/pages/pvt/account.js +1 -1
  134. package/.next/server/pages/pvt/account.js.nft.json +1 -1
  135. package/.next/server/pages/s.js +1 -1
  136. package/.next/server/pages/s.js.nft.json +1 -1
  137. package/.next/server/pages-manifest.json +1 -1
  138. package/.next/server/webpack-runtime.js +1 -1
  139. package/.next/static/Xu5Fn6_Qwp_x6LicEI8BU/_buildManifest.js +1 -0
  140. package/.next/static/chunks/{5796.4351370494d8b8b6.js → 1027.f17a7c96c17ce487.js} +1 -1
  141. package/.next/static/chunks/1313.bba028de90630608.js +1 -0
  142. package/.next/static/chunks/1756.89b7f413bb26ba74.js +1 -0
  143. package/.next/static/chunks/{8325.dabe9aa22eaadeed.js → 1911.fb72de1df3c3715c.js} +1 -1
  144. package/.next/static/chunks/2221-f8edfdaa4839bdf0.js +2 -0
  145. package/.next/static/chunks/2564.273fd8b0db75b1c4.js +1 -0
  146. package/.next/static/chunks/2811.cf089090a8b79215.js +1 -0
  147. package/.next/static/chunks/346.2840f007e6d1054c.js +1 -0
  148. package/.next/static/chunks/3496.bcb4d219501a8b6b.js +1 -0
  149. package/.next/static/chunks/3753-74460a0793c0a75c.js +8 -0
  150. package/.next/static/chunks/3802.1e0df8a20802da16.js +1 -0
  151. package/.next/static/chunks/3883-ebdbb60b50a90c59.js +28 -0
  152. package/.next/static/chunks/4436.9b2b6e1c3f79424d.js +1 -0
  153. package/.next/static/chunks/4681.318feb830c746e3b.js +1 -0
  154. package/.next/static/chunks/484.9fdcaa9ffd8dac08.js +1 -0
  155. package/.next/static/chunks/6218.e8ba8bf8602ec880.js +1 -0
  156. package/.next/static/chunks/{6393.e4b26fee060438d6.js → 6393.f5f13a004beeef40.js} +1 -1
  157. package/.next/static/chunks/6656-efc464f20ffeaa51.js +1 -0
  158. package/.next/static/chunks/6797-ff5656c8624c4265.js +1 -0
  159. package/.next/static/chunks/6943.6bc97e925b54493d.js +1 -0
  160. package/.next/static/chunks/7417.55a6e20779dd3702.js +1 -0
  161. package/.next/static/chunks/7534.ee76e63d58ddd222.js +1 -0
  162. package/.next/static/chunks/7796.a30626656a270831.js +1 -0
  163. package/.next/static/chunks/9105.354374e349da85cb.js +1 -0
  164. package/.next/static/chunks/9222.04daf7868c957e52.js +1 -0
  165. package/.next/static/chunks/{9237.7555603703f81bf7.js → 9237.2d7e1a4978875414.js} +1 -1
  166. package/.next/static/chunks/9399.199f217093e4af1e.js +1 -0
  167. package/.next/static/chunks/{8068.43663fb64762f7b8.js → 9425.9d8b3da847111f21.js} +1 -1
  168. package/.next/static/chunks/9701.f9a0bfffba8807dc.js +1 -0
  169. package/.next/static/chunks/BannerNewsletter.b5770016d20acfd2.js +1 -0
  170. package/.next/static/chunks/{BannerText.4061ccfc191e6b96.js → BannerText.5ba50fbe683158ec.js} +1 -1
  171. package/.next/static/chunks/{ButtonSignIn.f6e210eaca873e48.js → ButtonSignIn.639d8dfc65ded368.js} +1 -1
  172. package/.next/static/chunks/CartItem.3c2ceb3a4ee542bc.js +1 -0
  173. package/.next/static/chunks/CartSidebar.89b0dd6237c025ec.js +1 -0
  174. package/.next/static/chunks/{EmptyCart.320e2f94a0d5e6b1.js → EmptyCart.aa60d42ae8eb5264.js} +1 -1
  175. package/.next/static/chunks/{FilterSkeleton.7ab99e28f92341c9.js → FilterSkeleton.8f1b651c40e06f0b.js} +1 -1
  176. package/.next/static/chunks/Footer.cd83c4dc0252494a.js +1 -0
  177. package/.next/static/chunks/Gift.4c97f836f82d5ebe.js +1 -0
  178. package/.next/static/chunks/Newsletter.bdec43379ca9191a.js +1 -0
  179. package/.next/static/chunks/OrderSummary.994b7314f2d004af.js +1 -0
  180. package/.next/static/chunks/PreviewTag.696854f6690e1b9e.js +1 -0
  181. package/.next/static/chunks/ProductShelf.fe1f19bc68859695.js +1 -0
  182. package/.next/static/chunks/ProductTiles.2c63ae178a75d5b6.js +1 -0
  183. package/.next/static/chunks/{RegionModal.a7be32d2d7832ba4.js → RegionModal.fbbdd54ee2422522.js} +1 -1
  184. package/.next/static/chunks/RegionSlider.49e558b340a5506a.js +1 -0
  185. package/.next/static/chunks/{ScrollToTopButton.c15431f2e8bb93ef.js → ScrollToTopButton.55e3a1233d04b8eb.js} +1 -1
  186. package/.next/static/chunks/ShoppingAssistant.8772fe90bd678202.js +1 -0
  187. package/.next/static/chunks/Toast.f083d9966a9a181e.js +1 -0
  188. package/.next/static/chunks/UISKUMatrixSidebar.01f8f5222dcdf80f.js +1 -0
  189. package/.next/static/chunks/main-edeb2c6a5c48bb3f.js +1 -0
  190. package/.next/static/chunks/pages/404-1e8f91fa1bca3ab8.js +1 -0
  191. package/.next/static/chunks/pages/500-f21feacbb9810e94.js +1 -0
  192. package/.next/static/chunks/pages/[...slug]-400781188d59cfd6.js +1 -0
  193. package/.next/static/chunks/pages/[slug]/p-f324b592d1c566b9.js +1 -0
  194. package/.next/static/chunks/pages/_app-735c745509e1e8d6.js +1 -0
  195. package/.next/static/chunks/pages/{_error-2b0148be56a716e9.js → _error-464097ff69347627.js} +1 -1
  196. package/.next/static/chunks/pages/checkout-6076b4baf0ca1aa6.js +1 -0
  197. package/.next/static/chunks/pages/index-3266ece2e885bb3a.js +1 -0
  198. package/.next/static/chunks/pages/login-add3b376f68ce39a.js +1 -0
  199. package/.next/static/chunks/pages/pvt/account/403-d44b70591d2c86dc.js +1 -0
  200. package/.next/static/chunks/pages/pvt/account/404-646fb609f579101e.js +1 -0
  201. package/.next/static/chunks/pages/pvt/account/[...unknown]-3fb3963ca3d77c0b.js +1 -0
  202. package/.next/static/chunks/pages/pvt/account/orders/[id]-cda2266c9693d552.js +1 -0
  203. package/.next/static/chunks/pages/pvt/account/orders-ec545a2679db206e.js +1 -0
  204. package/.next/static/chunks/pages/pvt/account/profile-27164b37098c553f.js +1 -0
  205. package/.next/static/chunks/pages/pvt/account/security-4bd3e75771a120ec.js +1 -0
  206. package/.next/static/chunks/pages/pvt/account/user-details-a48a44dfdc07c1e9.js +1 -0
  207. package/.next/static/chunks/pages/pvt/account-5a6dcae3b380b672.js +1 -0
  208. package/.next/static/chunks/pages/s-0fe527a651dd5989.js +1 -0
  209. package/.next/static/chunks/webpack-d3e4f545845241c4.js +1 -0
  210. package/.next/static/css/094ad5cc00c74e64.css +1 -0
  211. package/.next/static/css/{b684b347c5cc6514.css → 1154064b68a7f35e.css} +1 -1
  212. package/.next/static/css/1b7e34d448a42825.css +1 -0
  213. package/.next/static/css/23857075311e4d06.css +1 -0
  214. package/.next/static/css/482e6fa149885bc2.css +1 -0
  215. package/.next/static/css/4b2af1aaeb961465.css +1 -0
  216. package/.next/static/css/{837662922091162f.css → 52ab64b6a2b14e3e.css} +1 -1
  217. package/.next/static/css/5cd37b7508dd5190.css +1 -0
  218. package/.next/static/css/72f154a00f1cf621.css +1 -0
  219. package/.next/static/css/8a513f4b536b0ab0.css +1 -0
  220. package/.next/static/css/9b4c21dcd3bc4a17.css +1 -0
  221. package/.next/static/css/d0930b8076866831.css +1 -0
  222. package/.next/static/css/e028eb9f46d42611.css +1 -0
  223. package/.next/static/css/e68c313e4ce2fd1b.css +1 -0
  224. package/.next/static/css/f16438bcf4508fb3.css +1 -0
  225. package/.next/trace +142 -140
  226. package/.turbo/turbo-build.log +45 -65
  227. package/.turbo/turbo-test.log +6 -6
  228. package/@generated/gql.ts +22 -14
  229. package/@generated/graphql.ts +148 -55
  230. package/@generated/persisted-documents.json +5 -4
  231. package/@generated/schema.graphql +4 -0
  232. package/CHANGELOG.md +60 -4
  233. package/cms/faststore/base.jsonc +3 -3
  234. package/cms/faststore/components/cms_component__productshelf.jsonc +2 -2
  235. package/cms/faststore/components/cms_component__producttiles.jsonc +2 -2
  236. package/cms/faststore/schema.json +2510 -2482
  237. package/cms/faststore/sections.json +485 -4
  238. package/cypress/tsconfig.json +7 -0
  239. package/discovery.config.default.js +2 -0
  240. package/jest.config.js +3 -0
  241. package/next.config.js +4 -0
  242. package/package.json +8 -7
  243. package/public/icons.svg +62 -0
  244. package/src/components/ThirdPartyScripts/index.ts +1 -0
  245. package/src/components/ThirdPartyScripts/useShoppingAssistant.tsx +30 -0
  246. package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawer.tsx +27 -18
  247. package/src/components/account/MyAccountDrawer/OrganizationDrawer/useReloadAfterLogoutReturn.ts +75 -0
  248. package/src/components/cms/global/Components.ts +8 -0
  249. package/src/components/product/ProductGrid/ProductGrid.tsx +26 -1
  250. package/src/components/search/SearchDropdown/SearchDropdown.tsx +11 -2
  251. package/src/components/search/SearchInput/SearchInput.tsx +492 -5
  252. package/src/components/sections/Navbar/Navbar.tsx +67 -0
  253. package/src/components/sections/Navbar/section.module.scss +3 -0
  254. package/src/components/sections/ProductDetails/ProductDetails.tsx +1 -0
  255. package/src/components/sections/ShoppingAssistant/ShoppingAssistant.tsx +24 -0
  256. package/src/components/sections/ShoppingAssistant/index.ts +1 -0
  257. package/src/components/sections/ShoppingAssistant/section.module.scss +5 -0
  258. package/src/components/templates/ProductListingPage/ProductListing.tsx +1 -1
  259. package/src/components/ui/ProductGallery/ProductGalleryPage.tsx +17 -0
  260. package/src/pages/[slug]/p.tsx +2 -0
  261. package/src/pages/_app.tsx +2 -0
  262. package/src/sdk/graphql/request.ts +1 -1
  263. package/src/sdk/graphql/useQuery.ts +23 -6
  264. package/src/sdk/product/convertProductToQuickOrder.ts +85 -0
  265. package/src/sdk/product/useBulkProductsQuery.ts +128 -0
  266. package/src/sdk/product/usePageProductsQuery.ts +11 -9
  267. package/src/sdk/search/useSuggestions.ts +1 -0
  268. package/src/styles/global/index.scss +2 -1
  269. package/src/utils/cookieCacheBusting.ts +35 -41
  270. package/src/utils/utilities.ts +62 -0
  271. package/test/tsconfig.json +7 -0
  272. package/test/utils/cookieCacheBusting.test.ts +54 -47
  273. package/.next/server/chunks/1554.js +0 -1
  274. package/.next/server/chunks/1780.js +0 -1
  275. package/.next/server/chunks/2249.js +0 -1
  276. package/.next/server/chunks/2430.js +0 -1
  277. package/.next/server/chunks/2445.js +0 -12
  278. package/.next/server/chunks/2570.js +0 -1
  279. package/.next/server/chunks/294.js +0 -1
  280. package/.next/server/chunks/3029.js +0 -1
  281. package/.next/server/chunks/3836.js +0 -1
  282. package/.next/server/chunks/3890.js +0 -492
  283. package/.next/server/chunks/3945.js +0 -1
  284. package/.next/server/chunks/3951.js +0 -7
  285. package/.next/server/chunks/4194.js +0 -1
  286. package/.next/server/chunks/4365.js +0 -1
  287. package/.next/server/chunks/4803.js +0 -1
  288. package/.next/server/chunks/4913.js +0 -13
  289. package/.next/server/chunks/5683.js +0 -1
  290. package/.next/server/chunks/5723.js +0 -13
  291. package/.next/server/chunks/6789.js +0 -1
  292. package/.next/server/chunks/6886.js +0 -1
  293. package/.next/server/chunks/7098.js +0 -9
  294. package/.next/server/chunks/7692.js +0 -1
  295. package/.next/server/chunks/772.js +0 -6
  296. package/.next/server/chunks/7799.js +0 -1
  297. package/.next/server/chunks/83.js +0 -1
  298. package/.next/server/chunks/8307.js +0 -1
  299. package/.next/server/chunks/8482.js +0 -1
  300. package/.next/server/chunks/8598.js +0 -1
  301. package/.next/server/chunks/8687.js +0 -1
  302. package/.next/server/chunks/870.js +0 -1
  303. package/.next/server/chunks/9117.js +0 -1
  304. package/.next/server/chunks/948.js +0 -2
  305. package/.next/server/chunks/9563.js +0 -3
  306. package/.next/server/chunks/9853.js +0 -1
  307. package/.next/server/chunks/9990.js +0 -1
  308. package/.next/static/bRIIH80orCsnMQY0jzRSl/_buildManifest.js +0 -1
  309. package/.next/static/chunks/1208-9118a8f14ecf05c8.js +0 -8
  310. package/.next/static/chunks/1841.a1b15f2c88e02d32.js +0 -1
  311. package/.next/static/chunks/2284.dffe7b0e5a5bfb4a.js +0 -1
  312. package/.next/static/chunks/2500.d6beb5af6ee00a9e.js +0 -1
  313. package/.next/static/chunks/2851.e68ed3c8d27a032a.js +0 -1
  314. package/.next/static/chunks/3155.7bc4c730a79d9ecb.js +0 -1
  315. package/.next/static/chunks/3399.3e1f685c992c345b.js +0 -1
  316. package/.next/static/chunks/3483.ef53d632a763da3f.js +0 -1
  317. package/.next/static/chunks/349.235b18ceb82aa256.js +0 -1
  318. package/.next/static/chunks/3836.612763339fc4c64c.js +0 -1
  319. package/.next/static/chunks/4803.9822f0b7e469b933.js +0 -1
  320. package/.next/static/chunks/5859.3bc094416cffd966.js +0 -1
  321. package/.next/static/chunks/6031-b0b111f48a7d504d.js +0 -28
  322. package/.next/static/chunks/6700.a72869377e81146c.js +0 -1
  323. package/.next/static/chunks/6789.960162355435a81d.js +0 -1
  324. package/.next/static/chunks/7191-5ede6e7ef625ea77.js +0 -1
  325. package/.next/static/chunks/7522-9010743f5d7e8aca.js +0 -1
  326. package/.next/static/chunks/7692.8d5bf4560341a2f6.js +0 -1
  327. package/.next/static/chunks/83.98ce246c274ee7e4.js +0 -1
  328. package/.next/static/chunks/9173-ab3c4d9d8f978c4b.js +0 -1
  329. package/.next/static/chunks/9399.48251a278809f7d3.js +0 -1
  330. package/.next/static/chunks/941.3e2782ab9c490eb0.js +0 -1
  331. package/.next/static/chunks/9465.e09b81f7e6195587.js +0 -1
  332. package/.next/static/chunks/9701.b0e8741551995fbb.js +0 -1
  333. package/.next/static/chunks/9909.787576b171184aa5.js +0 -1
  334. package/.next/static/chunks/BannerNewsletter.90d4a98c15a35cea.js +0 -1
  335. package/.next/static/chunks/CartItem.092df07db9e8b271.js +0 -1
  336. package/.next/static/chunks/CartSidebar.f0c16e2bc6f96e9e.js +0 -1
  337. package/.next/static/chunks/Footer.63a7682a81a96f8e.js +0 -1
  338. package/.next/static/chunks/Gift.08db4da8c89cacf1.js +0 -1
  339. package/.next/static/chunks/Newsletter.dbf35a8ea6d2067e.js +0 -1
  340. package/.next/static/chunks/OrderSummary.f9adad5622605046.js +0 -1
  341. package/.next/static/chunks/PreviewTag.f4f0c8710a7bcad9.js +0 -1
  342. package/.next/static/chunks/ProductShelf.7ebce1c763b4508e.js +0 -1
  343. package/.next/static/chunks/ProductTiles.18f55314e61957f4.js +0 -1
  344. package/.next/static/chunks/RegionSlider.b4dd4e7c0483966d.js +0 -1
  345. package/.next/static/chunks/Toast.2e9b26159af29889.js +0 -1
  346. package/.next/static/chunks/UISKUMatrixSidebar.87ba393b7d738e99.js +0 -1
  347. package/.next/static/chunks/main-ec03882c4375091d.js +0 -1
  348. package/.next/static/chunks/pages/404-4b3f1e22c77f849a.js +0 -1
  349. package/.next/static/chunks/pages/500-bb2de0c11524b2b8.js +0 -1
  350. package/.next/static/chunks/pages/[...slug]-3579b3b8b8309552.js +0 -1
  351. package/.next/static/chunks/pages/[slug]/p-7ac98274c47b0ff4.js +0 -1
  352. package/.next/static/chunks/pages/_app-1595678557980d65.js +0 -1
  353. package/.next/static/chunks/pages/checkout-dc07d72b3514c83d.js +0 -1
  354. package/.next/static/chunks/pages/index-1f8bf0fb351b90f4.js +0 -1
  355. package/.next/static/chunks/pages/login-e97ef92769456bf6.js +0 -1
  356. package/.next/static/chunks/pages/pvt/account/403-91597100f8956385.js +0 -1
  357. package/.next/static/chunks/pages/pvt/account/404-c68124bed7cb7c48.js +0 -1
  358. package/.next/static/chunks/pages/pvt/account/[...unknown]-f80f645594d2740c.js +0 -1
  359. package/.next/static/chunks/pages/pvt/account/orders/[id]-e03ebb0393ac92a2.js +0 -1
  360. package/.next/static/chunks/pages/pvt/account/orders-12a215899ae6f3eb.js +0 -1
  361. package/.next/static/chunks/pages/pvt/account/profile-b6cdbf02d4682544.js +0 -1
  362. package/.next/static/chunks/pages/pvt/account/security-e6289a40e745d3c4.js +0 -1
  363. package/.next/static/chunks/pages/pvt/account/user-details-fba1822e52e7de26.js +0 -1
  364. package/.next/static/chunks/pages/pvt/account-65fefcc699344bdb.js +0 -1
  365. package/.next/static/chunks/pages/s-41cffb20de1d2617.js +0 -1
  366. package/.next/static/chunks/webpack-345c083b2f1f8bb9.js +0 -1
  367. package/.next/static/css/05c399956ff24b77.css +0 -1
  368. package/.next/static/css/08d03445f1797608.css +0 -1
  369. package/.next/static/css/0f070d03aacd9cc5.css +0 -1
  370. package/.next/static/css/0fae3d432331aae9.css +0 -1
  371. package/.next/static/css/0fc6b2ff69142c6a.css +0 -1
  372. package/.next/static/css/31380ebc6e671486.css +0 -1
  373. package/.next/static/css/40a294d0a24ad01d.css +0 -1
  374. package/.next/static/css/47f1b4e8de15d314.css +0 -1
  375. package/.next/static/css/973dd40d4773e8cd.css +0 -1
  376. package/.next/static/css/9d403a1bee48c9fc.css +0 -1
  377. package/.next/static/css/a6a4ebbe01adbbad.css +0 -1
  378. /package/.next/static/{bRIIH80orCsnMQY0jzRSl → Xu5Fn6_Qwp_x6LicEI8BU}/_ssgManifest.js +0 -0
@@ -108,3 +108,65 @@ export const buildFormData = (
108
108
 
109
109
  export const toArray = <T>(x: T[] | T | undefined) =>
110
110
  Array.isArray(x) ? x : x ? [x] : []
111
+
112
+ /**
113
+ * Formats the file name to a more user-friendly version.
114
+ * @param fileName - The original file name.
115
+ * @returns The formatted file name.
116
+ * @example
117
+ * formatFileName('smartphoneX5-23-256gb-black-edition-2023.csv')
118
+ * // Returns: 'smartphoneX5-23...ck-edition-2023.csv'
119
+ */
120
+ export function formatFileName(fileName: string): string {
121
+ const maxLength = 30
122
+ const extensionIndex = fileName.lastIndexOf('.')
123
+ const extension = extensionIndex !== -1 ? fileName.slice(extensionIndex) : ''
124
+
125
+ if (fileName.length <= maxLength) {
126
+ return fileName
127
+ }
128
+
129
+ const nameWithoutExtension =
130
+ extensionIndex !== -1 ? fileName.slice(0, extensionIndex) : fileName
131
+
132
+ const availableBase = maxLength - extension.length
133
+
134
+ if (availableBase <= 0) {
135
+ // Extension alone exceeds maxLength; truncate from the end of the full name
136
+ return fileName.slice(0, maxLength)
137
+ }
138
+
139
+ const ellipsis = '...'
140
+ if (availableBase <= ellipsis.length) {
141
+ return `${nameWithoutExtension.slice(0, availableBase)}${extension}`
142
+ }
143
+
144
+ const half = Math.floor((availableBase - ellipsis.length) / 2)
145
+ const start = nameWithoutExtension.slice(0, half)
146
+ const end = nameWithoutExtension.slice(
147
+ -(availableBase - ellipsis.length - half)
148
+ )
149
+ const truncatedNameWithoutExtension = `${start}${ellipsis}${end}`
150
+
151
+ return `${truncatedNameWithoutExtension}${extension}`
152
+ }
153
+
154
+ /**
155
+ * Formats a file size in bytes to a human-readable string.
156
+ * @param bytes - The file size in bytes.
157
+ * @returns The formatted file size string.
158
+ * @example
159
+ * formatFileSize(2048) // Returns: '2 KB'
160
+ */
161
+ export const formatFileSize = (bytes: number): string => {
162
+ if (bytes <= 0) return '0 Bytes'
163
+
164
+ const k = 1024
165
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
166
+ const i = Math.min(
167
+ Math.floor(Math.log(bytes) / Math.log(k)),
168
+ sizes.length - 1
169
+ )
170
+
171
+ return `${Number.parseFloat((bytes / k ** i).toFixed(2))} ${sizes[i]}`
172
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "compilerOptions": {
4
+ "types": ["jest"]
5
+ },
6
+ "include": ["**/*.ts", "**/*.tsx"]
7
+ }
@@ -2,120 +2,127 @@
2
2
  * @jest-environment jsdom
3
3
  */
4
4
 
5
- jest.mock('discovery.config', () => ({
6
- __esModule: true,
7
- default: {
8
- api: {
9
- storeId: 'store',
10
- },
5
+ const mockRead = jest.fn()
6
+ const mockReadInitial = jest.fn()
7
+
8
+ jest.mock('src/sdk/session', () => ({
9
+ sessionStore: {
10
+ read: () => mockRead(),
11
+ readInitial: () => mockReadInitial(),
11
12
  },
12
13
  }))
13
14
 
14
15
  import {
15
16
  getClientCacheBustingValue,
16
- STORAGE_KEY_AUTH_COOKIE_VALUE,
17
+ STORAGE_KEY_PERSON_ID,
17
18
  STORAGE_KEY_CACHE_BUST_LAST_VALUE,
18
19
  } from '../../src/utils/cookieCacheBusting'
19
20
 
20
- const setAuthCookie = (value: string) => {
21
- document.cookie = `VtexIdclientAutCookie_store=${value}; path=/`
21
+ const setSessionPerson = (personId: string) => {
22
+ const session = { person: { id: personId } }
23
+ mockRead.mockReturnValue(session)
24
+ mockReadInitial.mockReturnValue(session)
22
25
  }
23
26
 
24
- const clearAllCookies = () => {
25
- const cookies = document.cookie
26
- .split(';')
27
- .map((c) => c.trim())
28
- .filter(Boolean)
29
-
30
- for (const cookie of cookies) {
31
- const [name] = cookie.split('=')
32
- document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`
33
- }
27
+ const clearSessionPerson = () => {
28
+ mockRead.mockReturnValue(null)
29
+ mockReadInitial.mockReturnValue(null)
34
30
  }
35
31
 
36
32
  describe('cookieCacheBusting', () => {
37
33
  beforeEach(() => {
38
- clearAllCookies()
39
- sessionStorage.clear()
40
34
  jest.restoreAllMocks()
35
+ sessionStorage.clear()
36
+ clearSessionPerson()
41
37
  })
42
38
 
43
- it('should clear storage and return null when auth cookie is missing', () => {
39
+ it('should clear storage and return null when user is not logged in (no person?.id)', () => {
44
40
  const removeItemSpy = jest.spyOn(Storage.prototype, 'removeItem')
45
41
 
46
42
  const result = getClientCacheBustingValue()
47
43
 
48
44
  expect(result).toBeNull()
49
- expect(removeItemSpy).toHaveBeenCalledWith(STORAGE_KEY_AUTH_COOKIE_VALUE)
45
+ expect(removeItemSpy).toHaveBeenCalledWith(STORAGE_KEY_PERSON_ID)
50
46
  expect(removeItemSpy).toHaveBeenCalledWith(
51
47
  STORAGE_KEY_CACHE_BUST_LAST_VALUE
52
48
  )
53
49
  })
54
50
 
55
- it('should return a new timestamp and persist values when auth cookie changed', () => {
56
- setAuthCookie('token-1')
51
+ it('should return a new timestamp and persist values when auth state changed (login)', () => {
52
+ setSessionPerson('user-id-1')
57
53
 
58
54
  const nowSpy = jest.spyOn(Date, 'now').mockReturnValue(1700000000000)
59
55
  const setItemSpy = jest.spyOn(Storage.prototype, 'setItem')
60
56
 
61
57
  const result = getClientCacheBustingValue()
62
58
 
63
- expect(result).toBe('1700000000000')
59
+ expect(result).toBe('1700000000000::user-id-1')
64
60
  expect(nowSpy).toHaveBeenCalled()
65
- expect(setItemSpy).toHaveBeenCalledWith(
66
- STORAGE_KEY_AUTH_COOKIE_VALUE,
67
- 'token-1'
68
- )
61
+ expect(setItemSpy).toHaveBeenCalledWith(STORAGE_KEY_PERSON_ID, 'user-id-1')
69
62
  expect(setItemSpy).toHaveBeenCalledWith(
70
63
  STORAGE_KEY_CACHE_BUST_LAST_VALUE,
71
- '1700000000000'
64
+ '1700000000000::user-id-1'
72
65
  )
73
66
  })
74
67
 
75
- it('should return last cached value when auth cookie is the same and last value exists', () => {
76
- setAuthCookie('token-1')
77
- sessionStorage.setItem(STORAGE_KEY_AUTH_COOKIE_VALUE, 'token-1')
78
- sessionStorage.setItem(STORAGE_KEY_CACHE_BUST_LAST_VALUE, 'prev')
68
+ it('should return last cached value when auth state is the same and last value exists', () => {
69
+ setSessionPerson('user-id-1')
70
+ sessionStorage.setItem(STORAGE_KEY_PERSON_ID, 'user-id-1')
71
+ sessionStorage.setItem(
72
+ STORAGE_KEY_CACHE_BUST_LAST_VALUE,
73
+ '1700000000000::user-id-1'
74
+ )
79
75
 
80
76
  const nowSpy = jest.spyOn(Date, 'now')
81
77
  const setItemSpy = jest.spyOn(Storage.prototype, 'setItem')
82
78
 
83
79
  const result = getClientCacheBustingValue()
84
80
 
85
- expect(result).toBe('prev')
81
+ expect(result).toBe('1700000000000::user-id-1')
86
82
  expect(nowSpy).not.toHaveBeenCalled()
87
83
  expect(setItemSpy).not.toHaveBeenCalled()
88
84
  })
89
85
 
90
- it('should create and persist a new last value when auth cookie is the same but last value is missing', () => {
91
- setAuthCookie('token-1')
92
- sessionStorage.setItem(STORAGE_KEY_AUTH_COOKIE_VALUE, 'token-1')
86
+ it('should create and persist a new last value when auth state is the same but last value is missing', () => {
87
+ setSessionPerson('user-id-1')
88
+ sessionStorage.setItem(STORAGE_KEY_PERSON_ID, 'user-id-1')
93
89
 
94
90
  const nowSpy = jest.spyOn(Date, 'now').mockReturnValue(1700000000123)
95
91
  const setItemSpy = jest.spyOn(Storage.prototype, 'setItem')
96
92
 
97
93
  const result = getClientCacheBustingValue()
98
94
 
99
- expect(result).toBe('1700000000123')
95
+ expect(result).toBe('1700000000123::user-id-1')
100
96
  expect(nowSpy).toHaveBeenCalled()
101
97
  expect(setItemSpy).toHaveBeenCalledWith(
102
98
  STORAGE_KEY_CACHE_BUST_LAST_VALUE,
103
- '1700000000123'
99
+ '1700000000123::user-id-1'
104
100
  )
105
101
  expect(setItemSpy).not.toHaveBeenCalledWith(
106
- STORAGE_KEY_AUTH_COOKIE_VALUE,
107
- 'token-1'
102
+ STORAGE_KEY_PERSON_ID,
103
+ 'user-id-1'
108
104
  )
109
105
  })
110
106
 
111
- it('should keep "=" characters in cookie value', () => {
112
- setAuthCookie('a=b=c')
107
+ it('should detect user change and return new timestamp', () => {
108
+ setSessionPerson('user-id-1')
109
+ sessionStorage.setItem(STORAGE_KEY_PERSON_ID, 'user-id-1')
110
+ sessionStorage.setItem(
111
+ STORAGE_KEY_CACHE_BUST_LAST_VALUE,
112
+ '1700000000000::user-id-1'
113
+ )
114
+
115
+ // Simulate user switch (e.g. re-login with different account)
116
+ setSessionPerson('user-id-2')
113
117
 
114
118
  jest.spyOn(Date, 'now').mockReturnValue(1700000000456)
115
119
 
116
120
  const result = getClientCacheBustingValue()
117
121
 
118
- expect(result).toBe('1700000000456')
119
- expect(sessionStorage.getItem(STORAGE_KEY_AUTH_COOKIE_VALUE)).toBe('a=b=c')
122
+ expect(result).toBe('1700000000456::user-id-2')
123
+ expect(sessionStorage.getItem(STORAGE_KEY_PERSON_ID)).toBe('user-id-2')
124
+ expect(sessionStorage.getItem(STORAGE_KEY_CACHE_BUST_LAST_VALUE)).toBe(
125
+ '1700000000456::user-id-2'
126
+ )
120
127
  })
121
128
  })
@@ -1 +0,0 @@
1
- exports.id=1554,exports.ids=[1554],exports.modules={73358:(e,t)=>{"use strict";function isInAmpMode(e){let{ampFirst:t=!1,hybrid:n=!1,hasQuery:r=!1}=void 0===e?{}:e;return t||n&&r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return isInAmpMode}})},31554:(e,t,n)=>{"use strict";function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{defaultHead:function(){return defaultHead},default:function(){return _default}});let r=n(55248),o=n(60112),a=o._(n(16689)),l=r._(n(99086)),u=n(65369),d=n(80266),i=n(73358);function defaultHead(e){void 0===e&&(e=!1);let t=[a.default.createElement("meta",{charSet:"utf-8"})];return e||t.push(a.default.createElement("meta",{name:"viewport",content:"width=device-width"})),t}function onlyReactElement(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===a.default.Fragment?e.concat(a.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}n(98629);let c=["name","httpEquiv","charSet","itemProp"];function reduceComponents(e,t){let{inAmpMode:n}=t;return e.reduce(onlyReactElement,[]).reverse().concat(defaultHead(n).reverse()).filter(function(){let e=new Set,t=new Set,n=new Set,r={};return o=>{let a=!0,l=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){l=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?a=!1:t.add(o.type);break;case"meta":for(let e=0,t=c.length;e<t;e++){let t=c[e];if(o.props.hasOwnProperty(t)){if("charSet"===t)n.has(t)?a=!1:n.add(t);else{let e=o.props[t],n=r[t]||new Set;("name"!==t||!l)&&n.has(e)?a=!1:(n.add(e),r[t]=n)}}}}return a}}()).reverse().map((e,t)=>{let r=e.key||t;if(!n&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},e.props||{});return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,a.default.cloneElement(e,t)}return a.default.cloneElement(e,{key:r})})}let _default=function(e){let{children:t}=e,n=(0,a.useContext)(u.AmpStateContext),r=(0,a.useContext)(d.HeadManagerContext);return a.default.createElement(l.default,{reduceComponentsToState:reduceComponents,headManager:r,inAmpMode:(0,i.isInAmpMode)(n)},t)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},99086:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return SideEffect}});let r=n(16689),useClientOnlyLayoutEffect=()=>{},useClientOnlyEffect=()=>{};function SideEffect(e){var t;let{headManager:n,reduceComponentsToState:o}=e;function emitChange(){if(n&&n.mountedInstances){let t=r.Children.toArray(Array.from(n.mountedInstances).filter(Boolean));n.updateHead(o(t,e))}}return null==n||null==(t=n.mountedInstances)||t.add(e.children),emitChange(),useClientOnlyLayoutEffect(()=>{var t;return null==n||null==(t=n.mountedInstances)||t.add(e.children),()=>{var t;null==n||null==(t=n.mountedInstances)||t.delete(e.children)}}),useClientOnlyLayoutEffect(()=>(n&&(n._pendingUpdate=emitChange),()=>{n&&(n._pendingUpdate=emitChange)})),useClientOnlyEffect(()=>(n&&n._pendingUpdate&&(n._pendingUpdate(),n._pendingUpdate=null),()=>{n&&n._pendingUpdate&&(n._pendingUpdate(),n._pendingUpdate=null)})),null}},98629:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return warnOnce}});let warnOnce=e=>{}},65369:(e,t,n)=>{"use strict";e.exports=n(21314).vendored.contexts.AmpContext}};
@@ -1 +0,0 @@
1
- exports.id=1780,exports.ids=[1780],exports.modules={41780:(t,e,r)=>{"use strict";r.d(e,{Z:()=>f});var o=r(33339),n=r(2614),a=r(83982),s=r(29746),c=r(41325),i=r(27791),p=r.n(i),l=r(6133);let d={EmptyState:l.Z};var m=r(91716),y=r(20997);function ownKeys(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)}return r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(r),!0).forEach(function(e){var o;o=r[e],e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}let useErrorState=()=>{let t=(0,o.useRouter)(),{query:{errorId:e,fromUrl:r},pathname:n,asPath:a}=t;return{errorId:e,fromUrl:r??a??n}};function EmptyState_EmptyState({title:t,titleIcon:e,children:r,subtitle:o,errorState:i,showLoader:l=!1}){let{EmptyState:d}=(0,s.r3)(),{errorId:m,fromUrl:u}=useErrorState(),f=e?.icon?y.jsx(n.Z,{name:e?.icon,"aria-label":e?.alt,width:56,height:56,weight:"thin"}):d.props.titleIcon;return y.jsx(c.Z,{className:`${p().section} section-empty-state`,children:(0,y.jsxs)(d.Component,_objectSpread(_objectSpread({bkgColor:"light"},d.props),{},{title:t??d.props.title,titleIcon:f,children:[!!o&&y.jsx("h2",{children:o}),!!i?.errorId?.show&&y.jsx("p",{children:`${i?.errorId?.description} ${m}`}),!!i?.fromUrl?.show&&y.jsx("p",{children:`${i?.fromUrl?.description} ${u}`}),l&&y.jsx(a.Z,{}),r]}))})}EmptyState_EmptyState.$componentKey="EmptyState";let u=(0,m.B)("EmptyState",EmptyState_EmptyState,d),f=u},27791:t=>{t.exports={section:"section_section__KG_b8",load:"section_load__DKeod"}},6133:(t,e,r)=>{"use strict";r.d(e,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var o=r(16689),n=r.n(o);let __WEBPACK_DEFAULT_EXPORT__=function({testId:t="fs-empty-state",title:e,titleIcon:r,variant:o="default",bkgColor:a="default",children:s,...c}){return n().createElement("section",{"data-fs-empty-state":!0,"data-fs-empty-state-variant":o,"data-fs-empty-state-bkg-color":a,"data-fs-content":"empty-state","data-testid":t,...c},e&&n().createElement("header",{"data-fs-empty-state-title":!0},r&&n().createElement(n().Fragment,null,r),n().createElement("p",null,e)),s)}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=2249,exports.ids=[2249],exports.modules={64312:(e,t)=>{Object.defineProperty(t,"l",{enumerable:!0,get:function(){return function hoist(e,t){return t in e?e[t]:"then"in e&&"function"==typeof e.then?e.then(e=>hoist(e,t)):"function"==typeof e&&"default"===t?e:void 0}}})},44708:(e,t)=>{var n;Object.defineProperty(t,"x",{enumerable:!0,get:function(){return n}}),function(e){e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE"}(n||(n={}))},59820:(e,t,n)=>{e.exports=n(20145)}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=2430,exports.ids=[2430],exports.modules={2430:(e,i,l)=>{l.d(i,{Z:()=>FilterDeliveryMethodFacet});var t=l(16652),a=l(83339),r=l(97358),n=l(4018),c=l(20997);function FilterDeliveryMethodFacet({item:e,deliveryMethods:i}){let{city:l,postalCode:p}=r.Qf.read(),{openRegionSlider:s}=(0,t.l8)(),u=l?`${(0,n._W)(l)}, ${p}`:p,o={delivery:i?.delivery??"Shipping to","pickup-in-point":i?.pickupInPoint??"Pickup at","pickup-nearby":i?.pickupNearby??"Pickup Nearby","pickup-all":i?.pickupAll?.label??"Pickup Anywhere"};return"delivery"===e.value?(0,c.jsxs)(c.Fragment,{children:[o[e.value],c.jsx(a.Z,{"data-fs-filter-list-item-button":!0,size:"small",onClick:()=>{s(t.gK.changeLocation)},children:u})]}):"pickup-in-point"===e.value?(0,c.jsxs)(c.Fragment,{children:[o[e.value],c.jsx(a.Z,{"data-fs-filter-list-item-button":!0,size:"small",onClick:()=>{s(t.gK.changePickupPoint)},children:e.label})]}):c.jsx(c.Fragment,{children:o[e.value]??e.label})}}};
@@ -1,12 +0,0 @@
1
- "use strict";exports.id=2445,exports.ids=[2445],exports.modules={42445:(t,e,r)=>{r.r(e),r.d(e,{default:()=>__WEBPACK_DEFAULT_EXPORT__});var s=r(6804),n=r(43412),a=r.n(n),o=r(36401),i=r(39729),l=r(20997);let __WEBPACK_DEFAULT_EXPORT__=function(){let t=a().direction||"ltr",e=a().analytics?.gtmContainerId,r="vtex"===a().platform,n=a().experimental?.enableScriptsLogs===!0,p=[];return r&&p.push("sendrc"),(0,l.jsxs)(s.Html,{dir:t,children:[(0,l.jsxs)(s.Head,{children:[l.jsx("link",{rel:"preconnect",href:`https://${a().api.storeId}.vtexassets.com`}),l.jsx("link",{rel:"dns-prefetch",href:`https://${a().api.storeId}.vtexassets.com`}),l.jsx("meta",{name:"storefront",content:"fast_store"}),l.jsx(i.Q,{}),l.jsx("script",{dangerouslySetInnerHTML:{__html:`var partytown={
2
- debug:${n},
3
- logCalls:${n},
4
- forward:[...${JSON.stringify(p)},!window.location.search.includes('${o.v}=')&&${"string"==typeof e}?'dataLayer.push':null].filter(Boolean)
5
- }`}}),l.jsx("script",{dangerouslySetInnerHTML:{__html:`
6
- if (window.self === window.top) {
7
- var partytownScript = document.createElement('script');
8
- partytownScript.async = true;
9
- partytownScript.src = '/~partytown/partytown.js';
10
- document.head.appendChild(partytownScript);
11
- }
12
- `}})]}),(0,l.jsxs)("body",{className:"theme",children:[l.jsx(s.Main,{}),l.jsx(s.NextScript,{})]})]})}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=2570,exports.ids=[2570],exports.modules={2562:(e,a,n)=>{n.d(a,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var r=n(15759),l=n(20997);let __WEBPACK_DEFAULT_EXPORT__=function({status:e,statusFallback:a}){return l.jsx("span",{"data-fs-my-account-badge":!0,"data-fs-my-account-badge-variant":function({status:e}){return r._y[e]?.variant||"neutral"}({status:e}),children:r._y[e]?.label||a||"-"})}},96896:(e,a,n)=>{n.d(a,{p:()=>useFormatPrice});var r=n(97358),l=n(16689);let useFormatPrice=()=>{let{locale:e}=(0,r.kP)();return(0,l.useCallback)((a,n)=>new Intl.NumberFormat(e,{style:"currency",currency:n,minimumFractionDigits:2}).format(a/100),[e])}},15759:(e,a,n)=>{n.d(a,{BX:()=>i,JU:()=>groupOrderStatusByLabel,_y:()=>r,j4:()=>l});let r={created:{variant:"success",label:"Order Placed"},creating:{variant:"success",label:"Order Placed"},"on-order-completed":{variant:"success",label:"Order Placed"},"on-order-completed-ffm":{variant:"success",label:"Order Placed"},"order-accepted":{variant:"success",label:"Order Placed"},"order-created":{variant:"success",label:"Order Placed"},"waiting-for-seller-confirmation":{variant:"success",label:"Order Placed"},"waiting-for-authorization":{variant:"warning",label:"Pending approval"},"waiting-for-confirmation":{variant:"warning",label:"Pending approval"},"approving-transaction":{variant:"warning",label:"Payment Pending"},"notify-payment":{variant:"warning",label:"Payment Pending"},"payment-pending":{variant:"warning",label:"Payment Pending"},"payment-approved":{variant:"success",label:"Payment Approved"},"approve-payment":{variant:"success",label:"Payment Approved"},"payment-denied":{variant:"neutral",label:"Payment Denied"},"authorize-fulfillment":{variant:"success",label:"Ready for Delivery"},handling:{variant:"success",label:"Ready for Delivery"},invoice:{variant:"success",label:"Ready for Delivery"},"invoice-after-cancellation-deny":{variant:"success",label:"Ready for Delivery"},invoicing:{variant:"success",label:"Ready for Delivery"},packing:{variant:"success",label:"Ready for Delivery"},picking:{variant:"success",label:"Ready for Delivery"},"ready-for-handling":{variant:"success",label:"Ready for Delivery"},"ready-for-invoicing":{variant:"success",label:"Ready for Delivery"},"ready-for-packing":{variant:"success",label:"Ready for Delivery"},"ready-for-picking":{variant:"success",label:"Ready for Delivery"},"release-to-fulfillment":{variant:"success",label:"Ready for Delivery"},"start-handling":{variant:"success",label:"Ready for Delivery"},"waiting-ffmt-authorization":{variant:"success",label:"Ready for Delivery"},"waiting-for-fulfillment":{variant:"success",label:"Ready for Delivery"},"window-to-cancel":{variant:"success",label:"Ready for Delivery"},invoiced:{variant:"success",label:"Invoiced"},"accepting-cancel":{variant:"neutral",label:"Cancellation Requested"},cancel:{variant:"neutral",label:"Cancellation Requested"},canceling:{variant:"neutral",label:"Cancellation Requested"},"cancellation-requested":{variant:"neutral",label:"Cancellation Requested"},"cancellation-requested-with-ack":{variant:"neutral",label:"Cancellation Requested"},"request-cancel":{variant:"neutral",label:"Cancellation Requested"},"waiting-for-seller-decision":{variant:"neutral",label:"Cancellation Requested"},canceled:{variant:"neutral",label:"Canceled"}},groupOrderStatusByLabel=()=>{let e={};for(let[a,n]of Object.entries(r)){let{label:r}=n,l=r.toLowerCase();e[l]||(e[l]=[]),e[l].push(a)}return e},l=["Order Placed","Pending approval","Payment Pending","Payment Approved","Payment Denied","Ready for Delivery","Invoiced","Cancellation Requested","Canceled"],i={"order placed":"Order Placed","pending approval":"Pending approval","payment pending":"Payment Pending","payment approved":"Payment Approved","payment denied":"Payment Denied","ready for delivery":"Ready for Delivery",invoiced:"Invoiced","cancellation requested":"Cancellation Requested",canceled:"Canceled"}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=294,exports.ids=[294],exports.modules={26039:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var _=r(39237),i=r(60679),s=r(20997);let __WEBPACK_DEFAULT_EXPORT__=function({id:e,testId:t,children:r,itemsPerPage:d,variant:l="scroll",infiniteMode:n=!1}){let{loading:o,isTablet:a,isMobile:u}=(0,i.Z)();return o?null:s.jsx(_.Z,{id:e,testId:t,variant:l,infiniteMode:n,itemsPerPage:a||u?1.6:d,children:r})}},294:(e,t,r)=>{r.r(t),r.d(t,{default:()=>_.Z});var _=r(26039)}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=3029,exports.ids=[3029],exports.modules={3029:(t,a,e)=>{e.a(t,async(t,s)=>{try{e.r(a),e.d(a,{default:()=>r.Z,getLandingPageBySlug:()=>r.X});var r=e(36574),d=t([r]);r=(d.then?(await d)():d)[0],s()}catch(t){s(t)}})}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=3836,exports.ids=[3836,6789],exports.modules={80839:(e,r,t)=>{t.d(r,{Z:()=>g});var o=t(55402),a=t(38394),n=t(65167),i=t(50547),s=t(16689),c=t(82331),l=t.n(c),d=t(11213),u=t(52011),p=t(70643),b=t(78563),f=t(3303),m=t(20997);let O=["product","index","bordered","variant","aspectRatio","imgProps","ratingValue","buttonLabel","onButtonClick","showDiscountBadge","taxesConfiguration","sponsoredLabel","enableCompareCheckbox","compareLabel"];function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){var o;o=t[r],r in e?Object.defineProperty(e,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[r]=o}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}let g=(0,s.memo)(function(e){let{product:r,index:t,bordered:c=!0,variant:g="default",aspectRatio:j=1,imgProps:y,ratingValue:h,buttonLabel:P="Add",onButtonClick:v,showDiscountBadge:x=!0,taxesConfiguration:w,sponsoredLabel:S,enableCompareCheckbox:k=!1,compareLabel:D}=e,F=function(e,r){if(null==e)return{};var t,o,a=function(e,r){if(null==e)return{};var t,o,a={},n=Object.keys(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)t=n[o],!(r.indexOf(t)>=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}(e,O),{sku:Z,isVariantOf:{name:B},image:[C],advertisement:L,offers:{lowPrice:T,lowPriceWithTaxes:_,offers:[{listPrice:I,availability:z,listPriceWithTaxes:E}]},deliveryPromiseBadges:K}=r,{deliveryPromise:M}=(0,f.T)()??{},{badges:N,shouldDisplayDeliveryPromiseBadges:R}=(0,u.z0)({deliveryPromiseBadges:K,deliveryPromiseSettings:M}),V=_objectSpread(_objectSpread({},(0,b.w)({product:r,selectedOffer:0,index:t})),{},{as:l(),passHref:!0,legacyBehavior:!1,prefetch:!1}),W=(0,s.useMemo)(()=>"https://schema.org/InStock"!==z,[z]),A=w?.usePriceWithTaxes?_:T,H=w?.usePriceWithTaxes?E:I,$=L?{"data-van-res-id":L.adResponseId,"data-van-aid":L.adId,"data-van-prod-name":B}:{};return(0,m.jsxs)(m.Fragment,{children:[k&&m.jsx(o.Z,{label:D,product:r,id:r.id}),(0,m.jsxs)(a.Z,_objectSpread(_objectSpread(_objectSpread({outOfStock:W,bordered:c,variant:g,"data-fs-product-card-sku":Z},$),F),{},{children:[m.jsx(n.Z,{aspectRatio:j,children:m.jsx(d.Z,{src:C.url,alt:C.alternateName,sizes:`${y?.sizes??"(max-width: 768px) 40vw, 30vw"}`,width:y?.width??360,height:Math.round((Number(y?.height)||360)/j),loading:y?.loading})}),m.jsx(i.Z,{title:B,price:{value:A,listPrice:H,formatter:p.P},ratingValue:h,outOfStock:W,onButtonClick:v,linkProps:V,showDiscountBadge:A<=H&&x,includeTaxes:w?.usePriceWithTaxes,includeTaxesLabel:w?.taxesLabel,sponsored:!!L,sponsoredLabel:S,deliveryPromiseBadges:R&&N})]}))]})})},33836:(e,r,t)=>{t.r(r),t.d(r,{default:()=>o.Z});var o=t(80839)},70643:(e,r,t)=>{t.d(r,{P:()=>useFormattedPrice});var o=t(16689),a=t(97358);let usePriceFormatter=({decimals:e}={})=>{let{currency:r,locale:t}=(0,a.kP)();return(0,o.useCallback)(o=>Intl.NumberFormat(t,{style:"currency",currency:r.code,minimumFractionDigits:e?2:0}).format(o),[r.code,t,e])},useFormattedPrice=e=>{let r=usePriceFormatter();return(0,o.useMemo)(()=>r(e),[r,e])}}};