@faststore/core 3.44.2 → 3.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +122 -57
  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/prerender-manifest.js +1 -1
  10. package/.next/prerender-manifest.json +1 -1
  11. package/.next/react-loadable-manifest.json +65 -73
  12. package/.next/routes-manifest.json +1 -1
  13. package/.next/server/chunks/129.js +1 -0
  14. package/.next/server/chunks/1506.js +1 -1
  15. package/.next/server/chunks/1999.js +1 -0
  16. package/.next/server/chunks/2091.js +1 -0
  17. package/.next/server/chunks/2230.js +1 -0
  18. package/.next/server/chunks/2773.js +1 -0
  19. package/.next/server/chunks/2880.js +1 -1
  20. package/.next/server/chunks/3006.js +1 -0
  21. package/.next/server/chunks/4289.js +2 -2
  22. package/.next/server/chunks/4559.js +16 -3
  23. package/.next/server/chunks/4746.js +1 -1
  24. package/.next/server/chunks/5636.js +2 -0
  25. package/.next/server/chunks/5772.js +1 -0
  26. package/.next/server/chunks/6594.js +1 -1
  27. package/.next/server/chunks/674.js +1 -1
  28. package/.next/server/chunks/7228.js +1 -1
  29. package/.next/server/chunks/8038.js +1 -0
  30. package/.next/server/chunks/804.js +1 -1
  31. package/.next/server/chunks/8307.js +1 -0
  32. package/.next/server/chunks/831.js +1 -1
  33. package/.next/server/chunks/8562.js +1 -1
  34. package/.next/server/chunks/8646.js +1 -1
  35. package/.next/server/chunks/9559.js +9 -0
  36. package/.next/server/chunks/9664.js +1 -0
  37. package/.next/server/chunks/UIBannerText.js +1 -1
  38. package/.next/server/functions-config-manifest.json +1 -1
  39. package/.next/server/middleware-build-manifest.js +1 -1
  40. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  41. package/.next/server/pages/404.js +1 -1
  42. package/.next/server/pages/404.js.nft.json +1 -1
  43. package/.next/server/pages/500.js +1 -1
  44. package/.next/server/pages/500.js.nft.json +1 -1
  45. package/.next/server/pages/[...slug].js +1 -1
  46. package/.next/server/pages/[...slug].js.nft.json +1 -1
  47. package/.next/server/pages/[slug]/p.js +1 -1
  48. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  49. package/.next/server/pages/_app.js.nft.json +1 -1
  50. package/.next/server/pages/_document.js.nft.json +1 -1
  51. package/.next/server/pages/_error.js.nft.json +1 -1
  52. package/.next/server/pages/account/403.js +1 -0
  53. package/.next/server/pages/account/403.js.nft.json +1 -0
  54. package/.next/server/pages/account/404.js +1 -0
  55. package/.next/server/pages/account/404.js.nft.json +1 -0
  56. package/.next/server/pages/account/[...unknown].js +1 -0
  57. package/.next/server/pages/account/[...unknown].js.nft.json +1 -0
  58. package/.next/server/pages/account/orders/[id].js +1 -0
  59. package/.next/server/pages/account/orders/[id].js.nft.json +1 -0
  60. package/.next/server/pages/account/orders.js +1 -0
  61. package/.next/server/pages/account/orders.js.nft.json +1 -0
  62. package/.next/server/pages/account/profile.js +1 -1
  63. package/.next/server/pages/account/profile.js.nft.json +1 -1
  64. package/.next/server/pages/account/security.js +1 -0
  65. package/.next/server/pages/account/security.js.nft.json +1 -0
  66. package/.next/server/pages/account/user-details.js +1 -0
  67. package/.next/server/pages/account/user-details.js.nft.json +1 -0
  68. package/.next/server/pages/account.js +1 -1
  69. package/.next/server/pages/account.js.nft.json +1 -1
  70. package/.next/server/pages/api/graphql.js +2 -2
  71. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  72. package/.next/server/pages/api/health/live.js.nft.json +1 -1
  73. package/.next/server/pages/api/health/ready.js.nft.json +1 -1
  74. package/.next/server/pages/api/preview.js.nft.json +1 -1
  75. package/.next/server/pages/checkout.js +1 -1
  76. package/.next/server/pages/checkout.js.nft.json +1 -1
  77. package/.next/server/pages/en-US/404.html +2 -2
  78. package/.next/server/pages/en-US/500.html +2 -2
  79. package/.next/server/pages/en-US/account/403.html +28 -0
  80. package/.next/server/pages/en-US/account/403.json +1 -0
  81. package/.next/server/pages/en-US/account/404.html +28 -0
  82. package/.next/server/pages/en-US/account/404.json +1 -0
  83. package/.next/server/pages/en-US/checkout.html +2 -2
  84. package/.next/server/pages/en-US/login.html +2 -2
  85. package/.next/server/pages/en-US/s.html +2 -2
  86. package/.next/server/pages/en-US.html +2 -2
  87. package/.next/server/pages/index.js +1 -1
  88. package/.next/server/pages/index.js.nft.json +1 -1
  89. package/.next/server/pages/login.js +1 -1
  90. package/.next/server/pages/login.js.nft.json +1 -1
  91. package/.next/server/pages/s.js +1 -1
  92. package/.next/server/pages/s.js.nft.json +1 -1
  93. package/.next/server/pages-manifest.json +1 -1
  94. package/.next/static/chunks/4349-e6912711a345e5b6.js +1 -0
  95. package/.next/static/chunks/4625-a77d5db94b3a2b8f.js +1 -0
  96. package/.next/static/chunks/4746.f94ab461c31311bb.js +1 -0
  97. package/.next/static/chunks/4774.0450cb0efbfe76f4.js +1 -0
  98. package/.next/static/chunks/5836.92639eae2107d7af.js +1 -0
  99. package/.next/static/chunks/630.a3bf6c7cd8c945e1.js +6 -0
  100. package/.next/static/chunks/6335-1380989b5cc84425.js +1 -0
  101. package/.next/static/chunks/{2004.a778e11dd3802b72.js → 6410.bd3fa399df59cc80.js} +1 -1
  102. package/.next/static/chunks/6536.be112cd4a3efe253.js +1 -0
  103. package/.next/static/chunks/6867.27c1cb57ed76dd02.js +1 -0
  104. package/.next/static/chunks/7498-9b4ed9d4a65914cc.js +1 -0
  105. package/.next/static/chunks/7959.df78bb2e81b8d29c.js +1 -0
  106. package/.next/static/chunks/{9.89f24163370f3a22.js → 9.1db9e34673fbd5c9.js} +1 -1
  107. package/.next/static/chunks/9540.19d844fec8517602.js +1 -0
  108. package/.next/static/chunks/{1418-e86227bcf9a5d486.js → 9770-6f30493e3f7ab51b.js} +3 -3
  109. package/.next/static/chunks/BannerNewsletter.3031c9944928c34a.js +1 -0
  110. package/.next/static/chunks/BannerText.ca4ae220fed6bdd6.js +1 -0
  111. package/.next/static/chunks/CartSidebar.3d23093834f2c79a.js +1 -0
  112. package/.next/static/chunks/{Dropdown.7fe839c5ffce4687.js → Dropdown.534482865327310f.js} +1 -1
  113. package/.next/static/chunks/{DropdownButton.3991a37657e1d194.js → DropdownButton.90e7cb14e5866e74.js} +1 -1
  114. package/.next/static/chunks/{DropdownItem.0b3c39f881ca0832.js → DropdownItem.e74df13f69f8c3aa.js} +1 -1
  115. package/.next/static/chunks/{DropdownMenu.943b2d11ffa50ff6.js → DropdownMenu.56cde48e9fbbefe5.js} +1 -1
  116. package/.next/static/chunks/{Footer.1f83637df0884013.js → Footer.4bb5645e731073e7.js} +1 -1
  117. package/.next/static/chunks/Newsletter.f87cd1eca34af5e1.js +1 -0
  118. package/.next/static/chunks/ProductShelf.9b64813b3d1f4c9a.js +1 -0
  119. package/.next/static/chunks/ProductTiles.ebf02b46a32f5a53.js +1 -0
  120. package/.next/static/chunks/RegionModal.cdf4facd086a88e0.js +1 -0
  121. package/.next/static/chunks/Toast.fbfeced8149ed940.js +1 -0
  122. package/.next/static/chunks/{UIBannerText.45cf608e46cde628.js → UIBannerText.ef0582cb5cb01720.js} +1 -1
  123. package/.next/static/chunks/UISKUMatrixSidebar.64a50464062c77e9.js +1 -0
  124. package/.next/static/chunks/UIToast.22fea5cca8ee2b21.js +1 -0
  125. package/.next/static/chunks/pages/{404-6300c433469b7262.js → 404-e89b928faf6b9125.js} +1 -1
  126. package/.next/static/chunks/pages/{500-2d1dd344c8a8827f.js → 500-604704ba70e1e80a.js} +1 -1
  127. package/.next/static/chunks/pages/[...slug]-f80d7d8c8c7948a4.js +1 -0
  128. package/.next/static/chunks/pages/[slug]/p-748d6a1dbe59a2c8.js +1 -0
  129. package/.next/static/chunks/pages/_app-e5a4d3ef47f1b5c3.js +1 -0
  130. package/.next/static/chunks/pages/account/403-e4e6145815eeef01.js +1 -0
  131. package/.next/static/chunks/pages/account/404-ecfebfad41d655e9.js +1 -0
  132. package/.next/static/chunks/pages/account/[...unknown]-b233f92b64bd80cb.js +1 -0
  133. package/.next/static/chunks/pages/account/orders/[id]-8ab11c6c528911e9.js +1 -0
  134. package/.next/static/chunks/pages/account/orders-41bc5ef76c592a64.js +1 -0
  135. package/.next/static/chunks/pages/account/profile-2f501aabce910508.js +1 -0
  136. package/.next/static/chunks/pages/account/security-10e9e41318110950.js +1 -0
  137. package/.next/static/chunks/pages/account/user-details-5a7f30c290c25ec9.js +1 -0
  138. package/.next/static/chunks/pages/{checkout-93b647fc45454d97.js → checkout-cf3d3c3669a5e50b.js} +1 -1
  139. package/.next/static/chunks/pages/{index-07bc320fc045538c.js → index-e79b4e1ce52a8ea0.js} +1 -1
  140. package/.next/static/chunks/pages/{login-2454f1cd309c27d2.js → login-013b1f7a2b4bb9e0.js} +1 -1
  141. package/.next/static/chunks/pages/s-deeb7a0bdb02aaa9.js +1 -0
  142. package/.next/static/chunks/webpack-889c9cccd383a436.js +1 -0
  143. package/.next/static/css/2557aa3eaecf6ef0.css +1 -0
  144. package/.next/static/css/{b8945ac5f5327c34.css → 25ded555cb9a704f.css} +1 -1
  145. package/.next/static/css/5347dbc8b71de47d.css +1 -0
  146. package/.next/static/css/84d35f475d0dc928.css +1 -0
  147. package/.next/static/css/9d1abf05f9ffaf8f.css +1 -0
  148. package/.next/static/css/b7bba8fce075688b.css +1 -0
  149. package/.next/static/ptJ56QsnBqlWtpbKOLiri/_buildManifest.js +1 -0
  150. package/.next/static/ptJ56QsnBqlWtpbKOLiri/_ssgManifest.js +1 -0
  151. package/.next/trace +129 -112
  152. package/.turbo/turbo-build.log +40 -30
  153. package/.turbo/turbo-test.log +5 -5
  154. package/@generated/gql.ts +34 -2
  155. package/@generated/graphql.ts +1569 -2
  156. package/@generated/persisted-documents.json +4 -1
  157. package/@generated/schema.graphql +750 -0
  158. package/CHANGELOG.md +12 -0
  159. package/discovery.config.default.js +1 -1
  160. package/package.json +7 -8
  161. package/public/icons.svg +106 -0
  162. package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawer.tsx +68 -0
  163. package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawerBody.tsx +21 -0
  164. package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawerHeader.tsx +39 -0
  165. package/src/components/account/MyAccountDrawer/OrganizationDrawer/index.ts +3 -0
  166. package/src/components/account/MyAccountDrawer/OrganizationDrawer/section.module.scss +125 -0
  167. package/src/components/account/MyAccountDrawer/OrganizationSignInButton/OrganizationSignInButton.tsx +50 -0
  168. package/src/components/account/MyAccountDrawer/OrganizationSignInButton/index.ts +1 -0
  169. package/src/components/account/MyAccountDrawer/ProfileSummary/ProfileSummary.tsx +69 -0
  170. package/src/components/account/MyAccountDrawer/ProfileSummary/profile-summary.scss +128 -0
  171. package/src/components/account/MyAccountLayout/MyAccountLayout.tsx +2 -2
  172. package/src/components/account/MyAccountLayout/styles.scss +8 -4
  173. package/src/components/account/MyAccountMenu/styles.scss +3 -2
  174. package/src/components/account/components/BottomSheet/BottomSheet.tsx +58 -0
  175. package/src/components/account/components/BottomSheet/styles.scss +35 -0
  176. package/src/components/account/components/MyAccountAccordion/MyAccountAccordion.tsx +13 -0
  177. package/src/components/account/components/MyAccountAccordion/MyAccountAccordionButton.tsx +35 -0
  178. package/src/components/account/components/MyAccountAccordion/MyAccountAccordionItem.tsx +21 -0
  179. package/src/components/account/components/MyAccountAccordion/MyAccountAccordionPanel.tsx +16 -0
  180. package/src/components/account/components/MyAccountAccordion/index.ts +4 -0
  181. package/src/components/account/components/MyAccountAccordion/styles.scss +88 -0
  182. package/src/components/account/components/MyAccountCard/MyAccountCard.tsx +13 -0
  183. package/src/components/account/components/MyAccountCard/index.ts +1 -0
  184. package/src/components/account/components/MyAccountCard/styles.scss +23 -0
  185. package/src/components/account/components/MyAccountStatusBadge/MyAccountStatusBadge.tsx +28 -0
  186. package/src/components/account/components/MyAccountStatusBadge/index.ts +1 -0
  187. package/src/components/account/components/MyAccountStatusBadge/styles.scss +54 -0
  188. package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetDateRange/MyAccountFilterFacetDateRange.tsx +113 -0
  189. package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetDateRange/index.ts +2 -0
  190. package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetDateRange/styles.scss +43 -0
  191. package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterSlider.tsx +209 -0
  192. package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/index.ts +1 -0
  193. package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/section.module.scss +24 -0
  194. package/src/components/account/orders/MyAccountListOrders/MyAccountListOrders.tsx +296 -0
  195. package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersEmptyState/MyAccountListOrdersEmptyState.tsx +20 -0
  196. package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersEmptyState/index.ts +1 -0
  197. package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersEmptyState/styles.scss +43 -0
  198. package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersTable/MyAccountListOrdersTable.tsx +210 -0
  199. package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersTable/index.ts +1 -0
  200. package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersTable/styles.scss +153 -0
  201. package/src/components/account/orders/MyAccountListOrders/MyAccountSelectedTags/MyAccountSelectedTags.tsx +119 -0
  202. package/src/components/account/orders/MyAccountListOrders/MyAccountSelectedTags/index.ts +1 -0
  203. package/src/components/account/orders/MyAccountListOrders/MyAccountSelectedTags/styles.scss +69 -0
  204. package/src/components/account/orders/MyAccountListOrders/index.ts +1 -0
  205. package/src/components/account/orders/MyAccountListOrders/styles.module.scss +100 -0
  206. package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryCard/MyAccountDeliveryCard.tsx +47 -0
  207. package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryCard/index.ts +1 -0
  208. package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryCard/styles.scss +44 -0
  209. package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/MyAccountDeliveryOptionAccordion.tsx +93 -0
  210. package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/MyAccountDeliveryOptionAccordionDeliveryInfo.tsx +86 -0
  211. package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/MyAccountDeliveryOptionAccordionProducts.tsx +74 -0
  212. package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/index.ts +6 -0
  213. package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/styles.scss +193 -0
  214. package/src/components/account/orders/MyAccountOrderDetails/MyAccountMoreInformationCard/MyAccountMoreInformationCard.tsx +31 -0
  215. package/src/components/account/orders/MyAccountOrderDetails/MyAccountMoreInformationCard/index.ts +1 -0
  216. package/src/components/account/orders/MyAccountOrderDetails/MyAccountMoreInformationCard/styles.scss +22 -0
  217. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActionModal/MyAccountOrderActionModal.tsx +121 -0
  218. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActionModal/index.ts +2 -0
  219. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActionModal/styles.module.scss +40 -0
  220. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActionModal/useOrderActionModal.ts +38 -0
  221. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActions/MyAccountOrderActions.tsx +154 -0
  222. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActions/index.ts +1 -0
  223. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActions/styles.scss +33 -0
  224. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderDetails.tsx +106 -0
  225. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderedByCard/MyAccountOrderedByCard.tsx +54 -0
  226. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderedByCard/index.ts +1 -0
  227. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderedByCard/styles.scss +65 -0
  228. package/src/components/account/orders/MyAccountOrderDetails/MyAccountPaymentCard/MyAccountPaymentCard.tsx +157 -0
  229. package/src/components/account/orders/MyAccountOrderDetails/MyAccountPaymentCard/MyAccountPaymentFlagsIcon.tsx +106 -0
  230. package/src/components/account/orders/MyAccountOrderDetails/MyAccountPaymentCard/index.ts +1 -0
  231. package/src/components/account/orders/MyAccountOrderDetails/MyAccountPaymentCard/styles.scss +76 -0
  232. package/src/components/account/orders/MyAccountOrderDetails/MyAccountStatusCard/MyAccountStatusCard.tsx +276 -0
  233. package/src/components/account/orders/MyAccountOrderDetails/MyAccountStatusCard/index.ts +1 -0
  234. package/src/components/account/orders/MyAccountOrderDetails/MyAccountStatusCard/styles.scss +205 -0
  235. package/src/components/account/orders/MyAccountOrderDetails/MyAccountStatusCard/useConnectorPositioning.ts +74 -0
  236. package/src/components/account/orders/MyAccountOrderDetails/MyAccountSummaryCard/MyAccountSummaryCard.tsx +92 -0
  237. package/src/components/account/orders/MyAccountOrderDetails/MyAccountSummaryCard/index.ts +1 -0
  238. package/src/components/account/orders/MyAccountOrderDetails/MyAccountSummaryCard/styles.scss +45 -0
  239. package/src/components/account/orders/MyAccountOrderDetails/index.ts +1 -0
  240. package/src/components/account/orders/MyAccountOrderDetails/section.module.scss +114 -0
  241. package/src/components/account/utils/useFormatPrice.ts +18 -0
  242. package/src/components/cms/RenderSections.tsx +1 -1
  243. package/src/components/navigation/Navbar/Navbar.tsx +16 -1
  244. package/src/components/navigation/NavbarSlider/NavbarSlider.tsx +18 -3
  245. package/src/customizations/src/myAccount/extensions/orders/[id]/after.tsx +7 -0
  246. package/src/customizations/src/myAccount/extensions/orders/[id]/before.tsx +7 -0
  247. package/src/customizations/src/myAccount/extensions/orders/after.tsx +7 -0
  248. package/src/customizations/src/myAccount/extensions/orders/before.tsx +7 -0
  249. package/src/customizations/src/myAccount/extensions/profile/after.tsx +7 -0
  250. package/src/customizations/src/myAccount/extensions/profile/before.tsx +7 -0
  251. package/src/customizations/src/myAccount/extensions/security/after.tsx +7 -0
  252. package/src/customizations/src/myAccount/extensions/security/before.tsx +7 -0
  253. package/src/customizations/src/myAccount/extensions/user-details/after.tsx +7 -0
  254. package/src/customizations/src/myAccount/extensions/user-details/before.tsx +7 -0
  255. package/src/experimental/myAccountSeverSideProps.ts +12 -1
  256. package/src/pages/account/403.tsx +103 -0
  257. package/src/pages/account/404.tsx +95 -0
  258. package/src/pages/account/[...unknown].tsx +39 -0
  259. package/src/pages/account/index.tsx +8 -16
  260. package/src/pages/account/orders/[id].tsx +764 -0
  261. package/src/pages/account/orders/index.tsx +273 -0
  262. package/src/pages/account/orders/styles.module.scss +35 -0
  263. package/src/pages/account/profile.tsx +62 -17
  264. package/src/pages/account/security.tsx +94 -0
  265. package/src/pages/account/user-details.tsx +94 -0
  266. package/src/sdk/account/getMyAccountRoutes.ts +13 -12
  267. package/src/sdk/account/useApproveOrder.ts +53 -0
  268. package/src/sdk/account/useCancelOrder.ts +34 -0
  269. package/src/sdk/account/useDebounce.ts +23 -0
  270. package/src/sdk/account/useRejectOrder.ts +53 -0
  271. package/src/sdk/search/useMyAccountFilter.ts +157 -0
  272. package/src/sdk/session/index.ts +9 -0
  273. package/src/utils/myAccountRedirect.tsx +36 -0
  274. package/src/utils/userOrderStatus.ts +141 -0
  275. package/src/utils/utilities.ts +35 -3
  276. package/test/server/index.test.ts +9 -1
  277. package/.next/server/chunks/1246.js +0 -1
  278. package/.next/server/chunks/2443.js +0 -1
  279. package/.next/server/chunks/4725.js +0 -1
  280. package/.next/server/chunks/563.js +0 -1
  281. package/.next/server/chunks/6968.js +0 -10
  282. package/.next/server/chunks/7468.js +0 -1
  283. package/.next/server/chunks/8355.js +0 -1
  284. package/.next/static/chunks/1173.ca14a5bc4e1264f4.js +0 -1
  285. package/.next/static/chunks/2206.44239ce81a09bc17.js +0 -1
  286. package/.next/static/chunks/4349-87a956a73b97519c.js +0 -1
  287. package/.next/static/chunks/4625-553d20c86b0ca577.js +0 -1
  288. package/.next/static/chunks/4746.2e16ec0663a3873f.js +0 -1
  289. package/.next/static/chunks/4774.8e70c01dcd0ed4b3.js +0 -1
  290. package/.next/static/chunks/4865.4017be0f8e7c8cf0.js +0 -1
  291. package/.next/static/chunks/5259-90f7ef92cf24e49a.js +0 -1
  292. package/.next/static/chunks/5836.48126b7866819f9e.js +0 -1
  293. package/.next/static/chunks/630.13d3dd939b789798.js +0 -6
  294. package/.next/static/chunks/6335-6eb4ff84af184b88.js +0 -1
  295. package/.next/static/chunks/6536.d5260107222db13c.js +0 -1
  296. package/.next/static/chunks/7498-72289e704e7c7056.js +0 -1
  297. package/.next/static/chunks/7959.7c721505286572c0.js +0 -1
  298. package/.next/static/chunks/BannerNewsletter.8982f42e60ed8828.js +0 -1
  299. package/.next/static/chunks/BannerText.5b250db1cf67e44f.js +0 -1
  300. package/.next/static/chunks/CartSidebar.aa9e43be37034654.js +0 -1
  301. package/.next/static/chunks/Newsletter.9db4df2d4fb33227.js +0 -1
  302. package/.next/static/chunks/ProductShelf.9cea36116836c161.js +0 -1
  303. package/.next/static/chunks/ProductTiles.059a4a6360e1d4ea.js +0 -1
  304. package/.next/static/chunks/RegionModal.4594b707a1092551.js +0 -1
  305. package/.next/static/chunks/Toast.01d4ac8bf14c1be5.js +0 -1
  306. package/.next/static/chunks/UIButton.3186f933c0ecfb31.js +0 -1
  307. package/.next/static/chunks/UISKUMatrixSidebar.9ac3980a60cfc358.js +0 -1
  308. package/.next/static/chunks/UIToast.221eb10681d2f642.js +0 -1
  309. package/.next/static/chunks/pages/[...slug]-c1a62d58f5940747.js +0 -1
  310. package/.next/static/chunks/pages/[slug]/p-555dc09a5e78260e.js +0 -1
  311. package/.next/static/chunks/pages/_app-d5641120092ee13b.js +0 -1
  312. package/.next/static/chunks/pages/account/profile-23b2e9fbbd95a30b.js +0 -1
  313. package/.next/static/chunks/pages/s-9901e6857f517b8b.js +0 -1
  314. package/.next/static/chunks/webpack-f338de6955d58a39.js +0 -1
  315. package/.next/static/css/249b9deaabc0d32d.css +0 -1
  316. package/.next/static/t5v5T1mAjzrYWEKaMk8mu/_buildManifest.js +0 -1
  317. package/.next/static/t5v5T1mAjzrYWEKaMk8mu/_ssgManifest.js +0 -1
@@ -0,0 +1,34 @@
1
+ import { gql } from '@generated'
2
+ import type {
3
+ CancelOrderMutationMutation as Mutation,
4
+ CancelOrderMutationMutationVariables as Variables,
5
+ } from '../../../@generated/graphql'
6
+ import { useLazyQuery } from '../graphql/useLazyQuery'
7
+
8
+ export const mutation = gql(`
9
+ mutation CancelOrderMutation($data: IUserOrderCancel!) {
10
+ cancelOrder(data: $data) {
11
+ data
12
+ }
13
+ }
14
+ `)
15
+
16
+ export const useCancelOrder = () => {
17
+ const [cancelOrder, { data, error, isValidating: loading }] = useLazyQuery<
18
+ Mutation,
19
+ Variables
20
+ >(mutation, {
21
+ data: {
22
+ orderId: '',
23
+ reason: '',
24
+ customerEmail: '',
25
+ },
26
+ })
27
+
28
+ return {
29
+ cancelOrder,
30
+ data,
31
+ error,
32
+ loading,
33
+ }
34
+ }
@@ -0,0 +1,23 @@
1
+ import { useEffect, useState } from 'react'
2
+
3
+ export const useDebounce = (
4
+ callback: (value: string) => void,
5
+ delay: number,
6
+ initialValue: string
7
+ ) => {
8
+ const [debouncedValue, setDebouncedValue] = useState<string>(initialValue)
9
+
10
+ useEffect(() => {
11
+ if (debouncedValue === initialValue) return
12
+
13
+ const handler = setTimeout(() => {
14
+ callback(debouncedValue)
15
+ }, delay)
16
+
17
+ return () => {
18
+ clearTimeout(handler)
19
+ }
20
+ }, [debouncedValue])
21
+
22
+ return setDebouncedValue
23
+ }
@@ -0,0 +1,53 @@
1
+ import { useState } from 'react'
2
+
3
+ interface RejectOrderVariables {
4
+ data: {
5
+ orderId: string
6
+ customerEmail?: string
7
+ }
8
+ }
9
+
10
+ export const useRejectOrder = () => {
11
+ const [data, setData] = useState<any>(null)
12
+ const [error, setError] = useState<Error | null>(null)
13
+ const [loading, setLoading] = useState(false)
14
+
15
+ const rejectOrder = async (variables: RejectOrderVariables) => {
16
+ setLoading(true)
17
+
18
+ try {
19
+ await new Promise((resolve) => setTimeout(resolve, 800))
20
+
21
+ const shouldSucceed = Math.random() > 0.9
22
+
23
+ if (!shouldSucceed) {
24
+ throw new Error('Failed to reject order')
25
+ }
26
+
27
+ const mockResponse = {
28
+ data: {
29
+ success: true,
30
+ orderId: variables.data.orderId,
31
+ },
32
+ }
33
+
34
+ setData(mockResponse)
35
+ setLoading(false)
36
+
37
+ return mockResponse
38
+ } catch (err) {
39
+ const error =
40
+ err instanceof Error ? err : new Error('Failed to reject order')
41
+ setError(error)
42
+ setLoading(false)
43
+ throw error
44
+ }
45
+ }
46
+
47
+ return {
48
+ rejectOrder,
49
+ data,
50
+ error,
51
+ loading,
52
+ }
53
+ }
@@ -0,0 +1,157 @@
1
+ import { setFacet, toggleFacet } from '@faststore/sdk'
2
+ import { useMemo, useReducer } from 'react'
3
+
4
+ export type SelectedFacet = {
5
+ key: string
6
+ value: string
7
+ }
8
+
9
+ interface State {
10
+ expanded: Set<number>
11
+ selected: SelectedFacet[]
12
+ }
13
+
14
+ type Action =
15
+ | {
16
+ type: 'toggleExpanded'
17
+ payload: number
18
+ }
19
+ | {
20
+ type: 'selectFacets'
21
+ payload: SelectedFacet[]
22
+ }
23
+ | {
24
+ type: 'toggleFacet'
25
+ payload: SelectedFacet
26
+ }
27
+ | {
28
+ type: 'setFacet'
29
+ payload: { facet: SelectedFacet; unique?: boolean }
30
+ }
31
+
32
+ export type MyAccountFilter_Facets_StoreFacetBoolean_Fragment = {
33
+ __typename: 'StoreFacetBoolean'
34
+ key: string
35
+ label: string
36
+ values: Array<{
37
+ label: string
38
+ value: string
39
+ selected: boolean
40
+ quantity: number
41
+ }>
42
+ }
43
+
44
+ export type MyAccountFilter_Facets_StoreFacetRange_Fragment = {
45
+ __typename: 'StoreFacetRange'
46
+ key: string
47
+ label: string
48
+ from: string
49
+ to: string
50
+ }
51
+
52
+ export type MyAccountFilter_FacetsFragment =
53
+ | MyAccountFilter_Facets_StoreFacetBoolean_Fragment
54
+ | MyAccountFilter_Facets_StoreFacetRange_Fragment
55
+
56
+ const reducer = (state: State, action: Action) => {
57
+ const { expanded, selected } = state
58
+ const { type, payload } = action
59
+
60
+ switch (type) {
61
+ case 'toggleExpanded': {
62
+ if (expanded.has(payload)) {
63
+ expanded.delete(payload)
64
+ } else {
65
+ expanded.add(payload)
66
+ }
67
+
68
+ return {
69
+ ...state,
70
+ expanded: new Set(expanded),
71
+ }
72
+ }
73
+
74
+ case 'selectFacets': {
75
+ if (payload !== selected) {
76
+ return {
77
+ ...state,
78
+ selected: payload,
79
+ }
80
+ }
81
+
82
+ break
83
+ }
84
+
85
+ case 'toggleFacet': {
86
+ return {
87
+ ...state,
88
+ selected: toggleFacet(state.selected, payload),
89
+ }
90
+ }
91
+
92
+ case 'setFacet': {
93
+ return {
94
+ ...state,
95
+ selected: setFacet(state.selected, payload.facet, payload.unique),
96
+ }
97
+ }
98
+
99
+ default:
100
+ throw new Error(`Action ${type} not implemented`)
101
+ }
102
+
103
+ return state
104
+ }
105
+
106
+ export const useMyAccountFilter = ({
107
+ allFacets,
108
+ selectedFacets,
109
+ }: {
110
+ allFacets: MyAccountFilter_FacetsFragment[]
111
+ selectedFacets: SelectedFacet[]
112
+ }) => {
113
+ const [{ selected, expanded }, dispatch] = useReducer(reducer, null, () => ({
114
+ expanded: new Set([0, 1]),
115
+ selected: selectedFacets as SelectedFacet[],
116
+ }))
117
+
118
+ const selectedMap = useMemo(
119
+ () =>
120
+ selected.reduce(
121
+ (acc, facet) => {
122
+ if (!acc.has(facet.key)) {
123
+ acc.set(facet.key, new Map())
124
+ }
125
+
126
+ acc.get(facet.key)?.set(facet.value, facet)
127
+
128
+ return acc
129
+ },
130
+ new Map() as Map<string, Map<string, SelectedFacet>>
131
+ ),
132
+ [selected]
133
+ )
134
+
135
+ const facets = useMemo(
136
+ () =>
137
+ allFacets.map((facet) => {
138
+ if (facet.__typename === 'StoreFacetBoolean') {
139
+ return {
140
+ ...facet,
141
+ values: facet.values.map(({ value, ...rest }) => ({
142
+ ...rest,
143
+ value: value.toLowerCase(),
144
+ selected: Boolean(
145
+ selectedMap.get(facet.key)?.has(value.toLowerCase())
146
+ ),
147
+ })),
148
+ }
149
+ }
150
+
151
+ return facet
152
+ }),
153
+ [allFacets, selectedMap]
154
+ )
155
+
156
+ return { facets, selected, expanded, dispatch }
157
+ }
@@ -46,6 +46,15 @@ export const mutation = gql(`
46
46
  }
47
47
  b2b {
48
48
  customerId
49
+ isRepresentative
50
+ unitName
51
+ unitId
52
+ isCorporate
53
+ corporateName
54
+ firstName
55
+ lastName
56
+ userName
57
+ userEmail
49
58
  }
50
59
  marketingData {
51
60
  utmCampaign
@@ -0,0 +1,36 @@
1
+ import storeConfig from 'discovery.config'
2
+ import type { ParsedUrlQuery } from 'querystring'
3
+
4
+ /**
5
+ * Check if the Faststore My Account feature flag is enabled.
6
+ * If not, redirect to the legacy My Account URL with the query parameters.
7
+ *
8
+ * @param {ParsedUrlQuery} query - The query parameters from the request.
9
+ * @returns {Object} - An object containing the feature flag status and redirect information.
10
+ */
11
+ export function getMyAccountRedirect({ query }: { query: ParsedUrlQuery }): {
12
+ isFaststoreMyAccountEnabled: boolean
13
+ redirect: { destination: string; permanent: boolean } | null
14
+ } {
15
+ const isFaststoreMyAccountEnabled =
16
+ storeConfig.experimental?.enableFaststoreMyAccount
17
+
18
+ if (!isFaststoreMyAccountEnabled) {
19
+ const searchParams = new URLSearchParams()
20
+
21
+ for (const key in query) {
22
+ const value = query[key]
23
+ const values = Array.isArray(value) ? value : [value]
24
+ values.forEach((v) => v && searchParams.append(key, v))
25
+ }
26
+
27
+ const redirect = {
28
+ destination: `${storeConfig.accountUrl}${searchParams.toString().length > 0 ? '?' + searchParams.toString() : ''}`,
29
+ permanent: false,
30
+ }
31
+
32
+ return { isFaststoreMyAccountEnabled, redirect }
33
+ }
34
+
35
+ return { isFaststoreMyAccountEnabled, redirect: null }
36
+ }
@@ -0,0 +1,141 @@
1
+ export const orderStatusMap = {
2
+ // Order Placed
3
+ created: { variant: 'success', label: 'Order Placed' },
4
+ creating: { variant: 'success', label: 'Order Placed' },
5
+ 'on-order-completed': { variant: 'success', label: 'Order Placed' },
6
+ 'on-order-completed-ffm': { variant: 'success', label: 'Order Placed' },
7
+ 'order-accepted': { variant: 'success', label: 'Order Placed' },
8
+ 'order-created': { variant: 'success', label: 'Order Placed' },
9
+ 'waiting-for-seller-confirmation': {
10
+ variant: 'success',
11
+ label: 'Order Placed',
12
+ },
13
+
14
+ // Approval Pending
15
+ 'waiting-for-confirmation': { variant: 'warning', label: 'Approval Pending' },
16
+
17
+ // Payment Pending
18
+ 'approving-transaction': { variant: 'warning', label: 'Payment Pending' },
19
+ 'notify-payment': { variant: 'warning', label: 'Payment Pending' },
20
+ 'payment-pending': { variant: 'warning', label: 'Payment Pending' },
21
+
22
+ // Payment Approved
23
+ 'payment-approved': { variant: 'success', label: 'Payment Approved' },
24
+ 'approve-payment': { variant: 'success', label: 'Payment Approved' },
25
+
26
+ // Payment Denied
27
+ 'payment-denied': { variant: 'neutral', label: 'Payment Denied' },
28
+
29
+ // Ready for Delivery
30
+ 'authorize-fulfillment': { variant: 'success', label: 'Ready for Delivery' },
31
+ handling: { variant: 'success', label: 'Ready for Delivery' },
32
+ invoice: { variant: 'success', label: 'Ready for Delivery' },
33
+ 'invoice-after-cancellation-deny': {
34
+ variant: 'success',
35
+ label: 'Ready for Delivery',
36
+ },
37
+ invoicing: { variant: 'success', label: 'Ready for Delivery' },
38
+ packing: { variant: 'success', label: 'Ready for Delivery' },
39
+ picking: { variant: 'success', label: 'Ready for Delivery' },
40
+ 'ready-for-handling': { variant: 'success', label: 'Ready for Delivery' },
41
+ 'ready-for-invoicing': { variant: 'success', label: 'Ready for Delivery' },
42
+ 'ready-for-packing': { variant: 'success', label: 'Ready for Delivery' },
43
+ 'ready-for-picking': { variant: 'success', label: 'Ready for Delivery' },
44
+ 'release-to-fulfillment': { variant: 'success', label: 'Ready for Delivery' },
45
+ 'start-handling': { variant: 'success', label: 'Ready for Delivery' },
46
+ 'waiting-ffmt-authorization': {
47
+ variant: 'success',
48
+ label: 'Ready for Delivery',
49
+ },
50
+ 'waiting-for-fulfillment': {
51
+ variant: 'success',
52
+ label: 'Ready for Delivery',
53
+ },
54
+ 'window-to-cancel': { variant: 'success', label: 'Ready for Delivery' },
55
+
56
+ // Invoiced
57
+ invoiced: { variant: 'success', label: 'Invoiced' },
58
+
59
+ // Cancellation Requested
60
+ 'accepting-cancel': { variant: 'neutral', label: 'Cancellation Requested' },
61
+ cancel: { variant: 'neutral', label: 'Cancellation Requested' },
62
+ canceling: { variant: 'neutral', label: 'Cancellation Requested' },
63
+ 'cancellation-requested': {
64
+ variant: 'neutral',
65
+ label: 'Cancellation Requested',
66
+ },
67
+ 'cancellation-requested-with-ack': {
68
+ variant: 'neutral',
69
+ label: 'Cancellation Requested',
70
+ },
71
+ 'request-cancel': { variant: 'neutral', label: 'Cancellation Requested' },
72
+ 'waiting-for-seller-decision': {
73
+ variant: 'neutral',
74
+ label: 'Cancellation Requested',
75
+ },
76
+
77
+ // Canceled
78
+ canceled: { variant: 'neutral', label: 'Canceled' },
79
+
80
+ // Status not mapped yet
81
+ // waiting-for-manual-authorization
82
+ // authorizing
83
+ // processing
84
+ // replaced
85
+ // waiting-for-authorization
86
+ // waiting-for-manual-authorization
87
+ // waiting-for-mkt-authorization
88
+ // window-to-change-payment
89
+ // window-to-change-seller
90
+ // end
91
+ }
92
+
93
+ export type OrderStatusMapValue = {
94
+ variant: 'success' | 'warning' | 'neutral'
95
+ label: string
96
+ }
97
+
98
+ export type OrderStatusKey = keyof typeof orderStatusMap
99
+ export type OrderStatusVariant =
100
+ (typeof orderStatusMap)[OrderStatusKey]['variant']
101
+
102
+ export const groupOrderStatusByLabel = (): Record<string, string[]> => {
103
+ const groupedStatus: Record<string, string[]> = {}
104
+
105
+ for (const [key, value] of Object.entries(orderStatusMap)) {
106
+ const { label } = value
107
+ const labelLower = label.toLowerCase()
108
+
109
+ if (!groupedStatus[labelLower]) {
110
+ groupedStatus[labelLower] = []
111
+ }
112
+
113
+ groupedStatus[labelLower].push(key)
114
+ }
115
+
116
+ return groupedStatus
117
+ }
118
+
119
+ export const FastStoreOrderStatus = [
120
+ 'Order Placed',
121
+ 'Approval Pending',
122
+ 'Payment Pending',
123
+ 'Payment Approved',
124
+ 'Payment Denied',
125
+ 'Ready for Delivery',
126
+ 'Invoiced',
127
+ 'Cancellation Requested',
128
+ 'Canceled',
129
+ ]
130
+
131
+ export const FastStoreOrderStatusWithLabels = {
132
+ 'order placed': 'Order Placed',
133
+ 'approval pending': 'Approval Pending',
134
+ 'payment pending': 'Payment Pending',
135
+ 'payment approved': 'Payment Approved',
136
+ 'payment denied': 'Payment Denied',
137
+ 'ready for delivery': 'Ready for Delivery',
138
+ invoiced: 'Invoiced',
139
+ 'cancellation requested': 'Cancellation Requested',
140
+ canceled: 'Canceled',
141
+ }
@@ -1,4 +1,12 @@
1
- // Input "Example Text!". Output: example-text
1
+ /**
2
+ * @description Converts a string to kebab case.
3
+ * @param text - The string to convert.
4
+ * @returns The string in kebab case.
5
+ * @example
6
+ * ```ts
7
+ * textToKebabCase("Example Text!") // example-text
8
+ * ```
9
+ */
2
10
  export function textToKebabCase(text: string): string {
3
11
  // Replace spaces and special characters with hyphens
4
12
  let kebabCase = text.replace(/[^\w\s]/gi, '-')
@@ -12,10 +20,34 @@ export function textToKebabCase(text: string): string {
12
20
  return kebabCase ?? ''
13
21
  }
14
22
 
15
- // Input "EXAMPLE text!". Output: "Example Text!"
16
- export function textToTitleCase(text: string): string {
23
+ /**
24
+ * @description Converts a string to title case.
25
+ * @param text - The string to convert.
26
+ * @returns The string in title case.
27
+ * @example
28
+ * ```ts
29
+ * textToTitleCase("EXAMPLE text!") // Example Text!
30
+ * ```
31
+ */
32
+ export function textToTitleCase(text: string | undefined): string {
33
+ if (!text) return ''
17
34
  return text.replace(
18
35
  /\S+/g,
19
36
  (word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()
20
37
  )
21
38
  }
39
+
40
+ /**
41
+ * @description Converts a camel case string to title case.
42
+ * @param str - The camel case string to convert.
43
+ * @returns The string in title case.
44
+ * @example
45
+ * ```ts
46
+ * camelCaseToTitle("exampleText") // Example Text
47
+ * ```
48
+ */
49
+ export function camelCaseToTitle(str: string): string {
50
+ if (!str) return ''
51
+ const withSpaces = str.replace(/([a-z])([A-Z])/g, '$1 $2')
52
+ return withSpaces.charAt(0).toUpperCase() + withSpaces.slice(1)
53
+ }
@@ -60,6 +60,7 @@ const TYPES = [
60
60
  'PickupAddress',
61
61
  'MessageInfo',
62
62
  'MessageFields',
63
+ 'UserOrder',
63
64
  ]
64
65
 
65
66
  const QUERIES = [
@@ -73,9 +74,16 @@ const QUERIES = [
73
74
  'sellers',
74
75
  'profile',
75
76
  'productCount',
77
+ 'userOrder',
78
+ 'listUserOrders',
76
79
  ]
77
80
 
78
- const MUTATIONS = ['validateCart', 'validateSession', 'subscribeToNewsletter']
81
+ const MUTATIONS = [
82
+ 'validateCart',
83
+ 'validateSession',
84
+ 'subscribeToNewsletter',
85
+ 'cancelOrder',
86
+ ]
79
87
 
80
88
  describe('FastStore GraphQL Layer', () => {
81
89
  describe('@faststore/api', () => {
@@ -1 +0,0 @@
1
- "use strict";exports.id=1246,exports.ids=[1246],exports.modules={21246:(e,t)=>{var n='input,select,textarea,a[href],button,[tabindex]:not(slot),audio[controls],video[controls],[contenteditable]:not([contenteditable="false"]),details>summary:first-of-type,details',a="undefined"==typeof Element,r=a?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,o=!a&&Element.prototype.getRootNode?function(e){return e.getRootNode()}:function(e){return e.ownerDocument},getCandidates=function(e,t,a){var o=Array.prototype.slice.apply(e.querySelectorAll(n));return t&&r.call(e,n)&&o.unshift(e),o=o.filter(a)},getCandidatesIteratively=function getCandidatesIteratively(e,t,a){for(var o=[],i=Array.from(e);i.length;){var d=i.shift();if("SLOT"===d.tagName){var s=d.assignedElements(),l=getCandidatesIteratively(s.length?s:d.children,!0,a);a.flatten?o.push.apply(o,l):o.push({scope:d,candidates:l})}else{r.call(d,n)&&a.filter(d)&&(t||!e.includes(d))&&o.push(d);var u=d.shadowRoot||"function"==typeof a.getShadowRoot&&a.getShadowRoot(d),c=!a.shadowRootFilter||a.shadowRootFilter(d);if(u&&c){var f=getCandidatesIteratively(!0===u?d.children:u.children,!0,a);a.flatten?o.push.apply(o,f):o.push({scope:d,candidates:f})}else i.unshift.apply(i,d.children)}}return o},getTabindex=function(e,t){return e.tabIndex<0&&(t||/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||e.isContentEditable)&&isNaN(parseInt(e.getAttribute("tabindex"),10))?0:e.tabIndex},sortOrderedTabbables=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},isInput=function(e){return"INPUT"===e.tagName},getCheckedRadio=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]},isTabbableRadio=function(e){if(!e.name)return!0;var t,n=e.form||o(e),queryRadios=function(e){return n.querySelectorAll('input[type="radio"][name="'+e+'"]')};if("undefined"!=typeof window&&void 0!==window.CSS&&"function"==typeof window.CSS.escape)t=queryRadios(window.CSS.escape(e.name));else try{t=queryRadios(e.name)}catch(e){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",e.message),!1}var a=getCheckedRadio(t,e.form);return!a||a===e},isZeroArea=function(e){var t=e.getBoundingClientRect(),n=t.width,a=t.height;return 0===n&&0===a},isHidden=function(e,t){var n=t.displayCheck,a=t.getShadowRoot;if("hidden"===getComputedStyle(e).visibility)return!0;var i=r.call(e,"details>summary:first-of-type")?e.parentElement:e;if(r.call(i,"details:not([open]) *"))return!0;var d=o(e).host,s=(null==d?void 0:d.ownerDocument.contains(d))||e.ownerDocument.contains(e);if(n&&"full"!==n){if("non-zero-area"===n)return isZeroArea(e)}else{if("function"==typeof a){for(var l=e;e;){var u=e.parentElement,c=o(e);if(u&&!u.shadowRoot&&!0===a(u))return isZeroArea(e);e=e.assignedSlot?e.assignedSlot:u||c===e.ownerDocument?u:c.host}e=l}if(s)return!e.getClientRects().length}return!1},isDisabledFromFieldset=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(var n=0;n<t.children.length;n++){var a=t.children.item(n);if("LEGEND"===a.tagName)return!!r.call(t,"fieldset[disabled] *")||!a.contains(e)}return!0}t=t.parentElement}return!1},isNodeMatchingSelectorTabbable=function(e,t){var n,a,r;return!(isInput(n=t)&&"radio"===n.type&&!isTabbableRadio(n)||0>getTabindex(t))&&(a=e,!((r=t).disabled||isInput(r)&&"hidden"===r.type||isHidden(r,a)||"DETAILS"===r.tagName&&Array.prototype.slice.apply(r.children).some(function(e){return"SUMMARY"===e.tagName})||isDisabledFromFieldset(r)))},isValidShadowRootTabbable=function(e){var t=parseInt(e.getAttribute("tabindex"),10);return!!isNaN(t)||t>=0},sortByOrder=function sortByOrder(e){var t=[],n=[];return e.forEach(function(e,a){var r=!!e.scope,o=r?e.scope:e,i=getTabindex(o,r),d=r?sortByOrder(e.candidates):o;0===i?r?t.push.apply(t,d):t.push(o):n.push({documentOrder:a,tabIndex:i,item:e,isScope:r,content:d})}),n.sort(sortOrderedTabbables).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)};t.ht=function(e,t){return sortByOrder((t=t||{}).getShadowRoot?getCandidatesIteratively([e],t.includeContainer,{filter:isNodeMatchingSelectorTabbable.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:isValidShadowRootTabbable}):getCandidates(e,t.includeContainer,isNodeMatchingSelectorTabbable.bind(null,t)))}}};
@@ -1 +0,0 @@
1
- exports.id=2443,exports.ids=[2443],exports.modules={70946:(e,n,t)=>{"use strict";t.d(n,{Z:()=>sections_Incentives_Incentives});var i=t(94564),s=t(42659),c=t(2614),o=t(20997);let Incentives_Incentives=function({incentives:e,variant:n="horizontal",colored:t=!1,label:a}){return o.jsx("section",{"data-fs-incentives":!0,"data-fs-incentives-colored":t,"data-fs-incentives-variant":n,"aria-label":`Incentives List ${a}`,children:o.jsx(i.Z,{"data-fs-content":"incentives",children:e.map((e,n)=>o.jsx("li",{role:"listitem",children:(0,o.jsxs)(s.Z,{tabIndex:0,children:[o.jsx(c.Z,{"data-fs-incentive-icon":!0,"aria-label":e.alt,name:e.icon,width:32,height:32}),(0,o.jsxs)("section",{"data-fs-incentive-content":!0,children:[o.jsx("p",{"data-fs-incentive-title":!0,children:e.title}),o.jsx("span",{"data-fs-incentive-description":!0,children:e.firstLineText}),e.secondLineText&&o.jsx("span",{"data-fs-incentive-description":!0,children:e.secondLineText})]})]})},String(n)))})})};var a=t(69836),r=t(51392),d=t.n(r);let sections_Incentives_Incentives=function({incentives:e,label:n}){return o.jsx(a.Z,{className:`${d().section} section-incentives layout__section`,children:o.jsx(Incentives_Incentives,{incentives:e,colored:!0,label:n??""})})}},81118:(e,n,t)=>{"use strict";t.d(n,{V:()=>getDynamicContent});let i={};async function getDynamicContent({pageType:e}){try{let n=i[e];if(!n)return console.warn(`Warning: Dynamic Content not found for the page: ${e}. Refer to the Dynamic Content documentation at https://developers.vtex.com/docs/guides/faststore/dynamic-content-overview for mapping the page and the corresponding data-fetching function.`),null;let{data:t,errors:s=[]}=await n();return s.length>0&&console.error(...s),t}catch(e){return console.error("Error while fetching Dynamic Content:",e),console.warn("Refer to the Dynamic Content documentation at https://developers.vtex.com/docs/guides/faststore/dynamic-content-overview for mapping the page and the corresponding data-fetching function."),null}}},51392:e=>{e.exports={section:"section_section__jnQ3q"}},42659:(e,n,t)=>{"use strict";t.d(n,{Z:()=>o});var i=t(16689),s=t.n(i);let c=(0,i.forwardRef)(function({testId:e="store-incentive",children:n,...t},i){return s().createElement("section",{ref:i,"data-fs-incentive":!0,"data-testid":e,...t},n)}),o=c}};
@@ -1 +0,0 @@
1
- exports.id=4725,exports.ids=[4725],exports.modules={4844:(e,t,r)=>{"use strict";r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var n=r(69029),a=r(66335),o=r(20997);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}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 n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):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={price_desc:"Price, descending",price_asc:"Price, ascending",orders_desc:"Top sales",name_asc:"Name, A-Z",name_desc:"Name, Z-A",release_desc:"Release date",discount_desc:"Discount",score_desc:"Relevance"},s=Object.keys(c),__WEBPACK_DEFAULT_EXPORT__=function({label:e="Sort by",options:t=c}){let{state:r,setState:l}=(0,n.R)(),i=Object.keys(t).reduce((e,r)=>(e[r]=t[r]??c[r],e),{});return o.jsx(a.Z,{id:"sort-select",className:"sort / text__title-mini-alt",label:e,options:i,onChange:e=>{let t=s[e.target.selectedIndex];l(_objectSpread(_objectSpread({},r),{},{sort:t,page:0}))},value:r.sort,testId:"search-sort"})}},48421:(e,t,r)=>{"use strict";r.d(t,{h:()=>b});var n=r(83339),a=r(2614),o=r(10792),c=r(13922),s=r(67281),l=r.n(s);let i=l()(()=>Promise.all([r.e(9088),r.e(2295),r.e(8562),r.e(3684)]).then(r.bind(r,93684)),{loadableGenerated:{modules:["../components/sections/ProductGallery/DefaultComponents.ts -> src/components/product/ProductCard"]}}),u=l()(()=>r.e(9130).then(r.bind(r,19130)),{loadableGenerated:{modules:["../components/sections/ProductGallery/DefaultComponents.ts -> ./EmptyGallery"]}}),p=l()(()=>Promise.all([r.e(7228),r.e(7468),r.e(563)]).then(r.bind(r,90009)),{loadableGenerated:{modules:["../components/sections/ProductGallery/DefaultComponents.ts -> src/components/search/Filter/FilterDesktop"]}}),d=l()(()=>r.e(4746).then(r.bind(r,44746)),{loadableGenerated:{modules:["../components/sections/ProductGallery/DefaultComponents.ts -> src/components/search/Filter/FilterSlider"]}}),b={MobileFilterButton:n.Z,FilterIcon:a.Z,PrevIcon:a.Z,ResultsCountSkeleton:o.Z,SortSkeleton:o.Z,FilterButtonSkeleton:o.Z,LinkButtonPrev:c.Z,LinkButtonNext:c.Z,__experimentalFilterDesktop:p,__experimentalFilterSlider:d,__experimentalProductCard:i,__experimentalEmptyGallery:u}},19673:(e,t,r)=>{"use strict";r.a(e,async(e,n)=>{try{r.d(t,{f:()=>l});var a=r(46981),o=r(7264),c=r(89490),s=e([c]);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}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 n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}c=(s.then?(await s)():s)[0];let l=(0,o.v)(_objectSpread(_objectSpread(_objectSpread({},a.K),a.K),{},{Section:c.Z}));n()}catch(e){n(e)}})},89490:(e,t,r)=>{"use strict";r.a(e,async(e,n)=>{try{r.d(t,{Z:()=>j});var a=r(89633),o=r(69836),c=r(11196),s=r.n(c),l=r(26999),i=r(46220),u=r(7264),p=r(48421),d=r(20997),b=e([a]);a=(b.then?(await b)():b)[0];let f=["emptyGallery"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}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 n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):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 y=(0,u.B)("ProductGallery",function(e){let{emptyGallery:t}=e,r=function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,f),{__experimentalEmptyGallery:n}=(0,i.r3)(),c=(0,l.qt)(),[u,p]=(0,l.En)(c)?[c?.data?.title,c?.data?.searchTerm]:(0,l.OJ)(c)?[c?.data?.collection?.seo?.title]:[""],b=c?.data?.search?.products?.pageInfo?.totalCount??0;return c?.data?.search?.products&&0===b?d.jsx(o.Z,{className:`${s().section} section-product-gallery`,children:d.jsx("section",{"data-testid":"product-gallery","data-fs-product-listing":!0,children:d.jsx(n.Component,_objectSpread({},t))})}):d.jsx(o.Z,{className:`${s().section} section-product-gallery layout__section`,children:d.jsx(a.Z,_objectSpread({title:u,searchTerm:p,totalCount:b},r))})},p.h),j=y;n()}catch(e){n(e)}})},53125:(e,t,r)=>{"use strict";r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var n=r(72218),a=r(30938),o=r(20997);let __WEBPACK_DEFAULT_EXPORT__=function({children:e,aspectRatio:t,loading:r=!0}){return r?o.jsx("ul",{"data-fs-product-grid":!0,children:Array.from({length:n.gK},(e,r)=>o.jsx("li",{children:o.jsx(a.Z,{aspectRatio:t,bordered:!0})},String(r)))}):o.jsx(o.Fragment,{children:e})}},89633:(e,t,r)=>{"use strict";r.a(e,async(e,n)=>{try{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var a=r(69029),o=r(16641),c=r(16689),s=r(16652),l=r(4844),i=r(53125),u=r(67281),p=r.n(u),d=r(46220),b=r(26999),f=r(58074),y=r(40594),j=r(11736),O=r(93458),h=r(36259),g=r(20997),m=e([f]);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}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 n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}f=(m.then?(await m)():m)[0];let P=(0,c.lazy)(()=>r.e(674).then(r.bind(r,60674))),_=p()(()=>r.e(866).then(r.bind(r,92316)),{loadableGenerated:{modules:["../components/ui/ProductGallery/ProductGallery.tsx -> src/components/skeletons/FilterSkeleton"]}}),w=g.jsx(i.Z,{loading:!0}),__WEBPACK_DEFAULT_EXPORT__=function({title:e,searchTerm:t,totalCount:r,searchTermLabel:n,totalCountLabel:i,filter:u,previousPageButton:p,loadMorePageButton:m,sortBySelector:S,productCard:v}){let{FilterButtonSkeleton:x,FilterIcon:D,LinkButtonNext:k,LinkButtonPrev:E,MobileFilterButton:C,PrevIcon:F,ResultsCountSkeleton:K,SortSkeleton:R,__experimentalFilterDesktop:G,__experimentalFilterSlider:T}=(0,d.r3)(),{openFilter:Z,filter:B}=(0,s.l)(),{pages:A,addNextPage:z,addPrevPage:L,itemsPerPage:M}=(0,a.R)(),U=(0,b.qt)(),N=U?.data,I=(0,y.u)(N)??[],{next:V,prev:W}=(0,j.g)(r),{isDesktop:Q}=(0,h.Z)();(0,f.Fl)(W?W.cursor:null),(0,f.Fl)(V?V.cursor:null);let X=!!N?.search?.facets,$=!!N?.search?.products,q=(0,O.L)(I);return(0,g.jsxs)("section",{"data-testid":"product-gallery","data-fs-product-listing":!0,children:[t&&g.jsx("header",{"data-fs-product-listing-search-term":!0,"data-fs-content":"product-gallery",children:(0,g.jsxs)("h1",{children:[n," ",g.jsx("span",{children:t})]})}),(0,g.jsxs)("div",{"data-fs-product-listing-content-grid":!0,"data-fs-content":"product-gallery",children:[Q&&g.jsx("div",{"data-fs-product-listing-filters":!0,children:g.jsx(_,{loading:!X,children:X&&I?.length>0&&g.jsx("div",{className:"hidden-mobile",children:g.jsx(G.Component,_objectSpread(_objectSpread(_objectSpread({},G.props),q),{},{title:u?.title}))})})}),!Q&&B&&g.jsx("div",{"data-fs-product-listing-filters":!0,children:g.jsx(T.Component,_objectSpread(_objectSpread(_objectSpread({},T.props),q),{},{title:u?.title,clearButtonLabel:u?.mobileOnly?.clearButtonLabel,applyButtonLabel:u?.mobileOnly?.applyButtonLabel}))}),g.jsx("div",{"data-fs-product-listing-results-count":!0,"data-count":r,children:g.jsx(K.Component,_objectSpread(_objectSpread({"data-fs-product-listing-results-count-skeleton":!0,size:{width:"100%",height:"1.5rem"}},K.props),{},{loading:!$,children:(0,g.jsxs)("h2",{"data-testid":"total-product-count",children:[r," ",i]})}))}),(0,g.jsxs)("div",{"data-fs-product-listing-sort":!0,children:[g.jsx(R.Component,_objectSpread(_objectSpread({"data-fs-product-listing-sort-skeleton":!0,size:{width:"auto",height:"1.5rem"}},R.props),{},{loading:!$,children:g.jsx(l.Z,{label:S?.label,options:S?.options})})),g.jsx(x.Component,_objectSpread(_objectSpread({"data-fs-product-listing-filter-button-skeleton":!0,size:{width:"6rem",height:"1.5rem"}},x.props),{},{loading:!X,children:X&&I?.length>0&&g.jsx(C.Component,_objectSpread(_objectSpread({variant:"tertiary","data-testid":"open-filter-button",icon:g.jsx(D.Component,_objectSpread(_objectSpread({width:16,height:16},D.props),{},{name:u?.mobileOnly?.filterButton?.icon?.icon??D.props.name,"aria-label":u?.mobileOnly?.filterButton?.icon?.alt??D.props["aria-label"]})),iconPosition:"left"},C.props),{},{onClick:Z,children:u?.mobileOnly?.filterButton?.label}))}))]}),(0,g.jsxs)("div",{"data-fs-product-listing-results":!0,children:[!1!==W&&(0,g.jsxs)("div",{"data-fs-product-listing-pagination":"top",children:[g.jsx(o.NextSeo,{additionalLinkTags:[{rel:"prev",href:W.link}]}),g.jsx(E.Component,_objectSpread(_objectSpread({rel:"prev",variant:"secondary",iconPosition:"left",icon:g.jsx(F.Component,_objectSpread(_objectSpread({width:16,height:16,weight:"bold"},F.props),{},{name:p?.icon?.icon??F.props.name,"aria-label":p?.icon?.alt??p?.label??F.props["aria-label"]}))},E.props),{},{onClick:e=>{e.currentTarget.blur(),e.preventDefault(),L()},href:W.link,children:p?.label}))]}),$?g.jsx(c.Suspense,{fallback:w,children:A.map(t=>g.jsx(P,{page:t,title:e,productCard:v,itemsPerPage:M,firstPage:A[0]},`gallery-page-${t}`))}):w,!1!==V&&(0,g.jsxs)("div",{"data-fs-product-listing-pagination":"bottom",children:[g.jsx(o.NextSeo,{additionalLinkTags:[{rel:"next",href:V.link}]}),g.jsx(k.Component,_objectSpread(_objectSpread({testId:"show-more",rel:"next",variant:"secondary"},k.props),{},{onClick:e=>{e.currentTarget.blur(),e.preventDefault(),z()},href:V.link,children:m?.label}))]})]})]})]})};n()}catch(e){n(e)}})},46981:(e,t,r)=>{"use strict";r.d(t,{K:()=>n});let n={section:"ProductGallery"}},64821:(e,t,r)=>{"use strict";r.a(e,async(e,n)=>{try{r.d(t,{p:()=>prefetchQuery});var a=r(15941),o=r(14750),c=r(98385),s=e([a,c]);[a,c]=s.then?(await s)():s;let l=["cache"],prefetchQuery=(e,t,r)=>{let{cache:n}=r,s=function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(r,l),i=(0,c.km)(e.__meta__.operationName,t);n.get(i)||(0,a.mutate)(i,(0,o.W)(e,t,s))};n()}catch(e){n(e)}})},94308:(e,t,r)=>{"use strict";r.a(e,async(e,n)=>{try{r.d(t,{Bj:()=>f,Y_:()=>useCreateUseGalleryPage,__:()=>useGalleryPage});var a=r(21921),o=r(69029),c=r(12404),s=r.n(c),l=r(16689),i=r(98385),u=r(96532),p=r(6616),d=r(65157),b=e([i]);i=(b.then?(await b)():b)[0];let f=(0,l.createContext)(e=>({data:null})),useGalleryPage=e=>{let t=(0,l.useContext)(f);if(!t)throw Error("Missing UseGalleryPageContext on React tree");return t(e)},y=a.gU,getKey=e=>JSON.stringify(e),useCreateUseGalleryPage=e=>{let t=e?.initialPages?.search?[e.initialPages]:[],r=e?.serverManyProductsVariables?[getKey(e.serverManyProductsVariables)]:[],{0:n,1:a}=(0,l.useState)(t),c=(0,l.useRef)(t),b=(0,l.useRef)(r),f=(0,l.useCallback)(function(e){let{state:{sort:t,term:r,selectedFacets:n},itemsPerPage:f}=(0,o.R)(),j=(0,p.y)({first:f,after:(f*e).toString(),sort:t,term:r??"",selectedFacets:n}),O=s()(b.current[e],getKey(j)),h=(0,d.r)({page:e,generatedBuildTime:u.A}),g=!O||h,{data:m}=(0,i.aM)(y,j,{fallbackData:null,suspense:!0,doNotRun:!g}),P=null!==m;if(P){b.current[e]=getKey(j);let t=[...c.current];t[e]=m,c.current=t}return(0,l.useEffect)(()=>{P&&a(t=>{let r=[...t];return r[e]=m,r})},[m,e,P]),(0,l.useMemo)(()=>O?{data:c.current[e]}:{data:m},[O,m,e])},[]);return(0,l.useMemo)(()=>({pages:n,useGalleryPage:f}),[n,f])};n()}catch(e){n(e)}})},66641:(e,t,r)=>{"use strict";r.a(e,async(e,n)=>{try{r.d(t,{UO:()=>useProductGalleryQuery});var a=r(21921),o=r(98385),c=r(16827),s=r(6616),l=r(69029),i=e([o]);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}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 n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}o=(i.then?(await i)():i)[0];let u=a.VA,findFacetValue=(e,t)=>{let r=e.find(({key:e})=>e===t);return r?.value??null},useProductGalleryQuery=({term:e,sort:t,selectedFacets:n,itemsPerPage:a})=>{let{locale:i}=(0,c.kP)(),{state:p,setState:d}=(0,l.R)(),b=(0,s.y)({first:a,after:"0",sort:t,term:e??"",selectedFacets:n}),f=(0,o.aM)(u,b,{onSuccess:t=>{let a=t.search.metadata?.fuzzy,o=t.search.metadata?.logicalOperator,c=new URLSearchParams(window.location.search),s=c.has("fuzzy"),l=c.has("operator"),u=t&&e&&a&&o&&s&&l;u&&r.e(1153).then(r.bind(r,81153)).then(({sendAnalyticsEvent:r})=>{r({name:"intelligent_search_query",params:{locale:i,term:e,url:window.location.href,logicalOperator:o??"and",isTermMisspelled:t.search.metadata?.isTermMisspelled??!1,totalCount:t.search.products.pageInfo.totalCount}})}),function({selectedFacets:e,updatedFuzzyFacetValue:t,updatedOperatorFacetValue:r,setState:n,state:a}){let o=findFacetValue(e,"fuzzy"),c=findFacetValue(e,"operator");if(t&&t!==o||r&&r!==c){let s=e.filter(e=>"fuzzy"!==e.key&&"operator"!==e.key);n(_objectSpread(_objectSpread({},a),{},{selectedFacets:[...s,{key:"fuzzy",value:t??o??"auto"},{key:"operator",value:r??c??"and"}]}))}}({selectedFacets:n,updatedFuzzyFacetValue:a,updatedOperatorFacetValue:o,setState:d,state:p})}}),y=findFacetValue(n,"fuzzy"),j=findFacetValue(n,"operator"),O=!f.error&&(!y||!j);return O?_objectSpread(_objectSpread({},f),{},{isValidating:!0,data:null}):f};n()}catch(e){n(e)}})},58074:(e,t,r)=>{"use strict";r.a(e,async(e,n)=>{try{r.d(t,{Fl:()=>useProductsPrefetch});var a=r(21921),o=r(69029),c=r(16689),s=r(15941),l=r(64821),i=r(6616),u=e([s,l]);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}[s,l]=u.then?(await u)():u;let p=a.gU,useProductsQueryPrefetch=(e,t)=>{let r=(0,i.y)(e),{cache:n}=(0,s.useSWRConfig)();return(0,c.useCallback)(()=>(0,l.p)(p,r,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 n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({cache:n},t)),[r,n,t])},useProductsPrefetch=e=>{let{itemsPerPage:t,state:{sort:r,term:n,selectedFacets:a}}=(0,o.R)(),s=useProductsQueryPrefetch({first:t,after:(t*(e??0)).toString(),sort:r,term:n??"",selectedFacets:a});(0,c.useEffect)(()=>{null!==e&&s()},[e,s])};n()}catch(e){n(e)}})},65157:(e,t,r)=>{"use strict";r.d(t,{r:()=>useShouldFetchFirstPage});var n=r(16689);function hasTimeElapsed({timestamp:e,period:t=3e5}){return Date.now()-e>t}function useShouldFetchFirstPage({page:e,generatedBuildTime:t}){if(0!==e)return!1;let r=(0,n.useRef)(),a=hasTimeElapsed({timestamp:t,period:3e5}),o=void 0===r.current,c=!o&&hasTimeElapsed({timestamp:r.current,period:3e5});return!!a&&(!!o||!!c)&&(r.current=Date.now(),!0)}},33095:(e,t,r)=>{"use strict";r.d(t,{j:()=>useApplySearchState});var n=r(16689),a=r(74444);let useApplySearchState=()=>{let e=(0,a.useRouter)();return(0,n.useCallback)(t=>{let r=`${t.pathname}${t.search}`;return t.searchParams.has("fuzzy")&&t.searchParams.has("operator")?e.replace(r):e.push(r)},[e])}},40594:(e,t,r)=>{"use strict";r.d(t,{u:()=>useDelayedFacets});var n=r(16689);let useDelayedFacets=e=>{let t=(0,n.useRef)([]);return(0,n.useMemo)(()=>(e&&(t.current=e.search?.facets),t.current),[e,t])}},11736:(e,t,r)=>{"use strict";r.d(t,{g:()=>useDelayedPagination});var n=r(91341),a=r(16689);let useDelayedPagination=e=>{let t=(0,n.h)(e),{0:r,1:o}=(0,a.useState)(()=>({next:!1,prev:!1}));return(0,a.useEffect)(()=>{o(t)},[t]),r}},93458:(e,t,r)=>{"use strict";r.d(t,{L:()=>useFilter});var n=r(9664),a=r(69029),o=r(16689);let c=["value"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}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 n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):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 reducer=(e,t)=>{let{expanded:r,selected:a}=e,{type:o,payload:c}=t;switch(o){case"toggleExpanded":return r.has(c)?r.delete(c):r.add(c),_objectSpread(_objectSpread({},e),{},{expanded:new Set(r)});case"selectFacets":if(c!==a)return _objectSpread(_objectSpread({},e),{},{selected:c});break;case"toggleFacet":return _objectSpread(_objectSpread({},e),{},{selected:(0,n.wB)(e.selected,c)});case"setFacet":return _objectSpread(_objectSpread({},e),{},{selected:(0,n.uL)(e.selected,c.facet,c.unique)});default:throw Error(`Action ${o} not implemented`)}return e},useFilter=e=>{let{state:{selectedFacets:t}}=(0,a.R)(),{0:{selected:r,expanded:n},1:s}=(0,o.useReducer)(reducer,null,()=>({expanded:new Set([]),selected:t})),l=(0,o.useMemo)(()=>r.reduce((e,t)=>(e.has(t.key)||e.set(t.key,new Map),e.get(t.key)?.set(t.value,t),e),new Map),[r]),i=(0,o.useMemo)(()=>e.map(e=>"StoreFacetBoolean"===e.__typename?_objectSpread(_objectSpread({},e),{},{values:e.values.map(t=>{let{value:r}=t;return _objectSpread(_objectSpread({},function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(t,c)),{},{value:r,selected:!!l.get(e.key)?.has(r)})})}):e),[e,l]);return(0,o.useEffect)(()=>{s({type:"selectFacets",payload:t})},[t]),{facets:i,selected:r,expanded:n,dispatch:s}}},11196:e=>{e.exports={section:"section_section__4Hqa8",loading:"section_loading__GPzvE"}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=563,exports.ids=[563],exports.modules={90009:(e,t,r)=>{r.r(t),r.d(t,{default:()=>__WEBPACK_DEFAULT_EXPORT__,fragment:()=>b});var a=r(21921),n=r(69029),c=r(9664),o=r(15699),l=r(64199),s=r(52815),i=r(26174),d=r(32230),p=r(56087),u=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 b=a.j9,__WEBPACK_DEFAULT_EXPORT__=function({facets:e,testId:t,dispatch:r,expanded:a,title:b}){let{resetInfiniteScroll:y,state:f,setState:m}=(0,n.R)();return u.jsx(o.Z,{testId:`desktop-${t}`,title:b,indicesExpanded:a,onAccordionChange:e=>r({type:"toggleExpanded",payload:e}),children:e.map((e,r)=>{let{__typename:n,label:o}=e,b=a.has(r);return(0,u.jsxs)(l.Z,{testId:t,index:r,type:n,label:o,children:["StoreFacetBoolean"===n&&b&&u.jsx(s.Z,{children:e.values.map(r=>u.jsx(i.Z,{id:`${t}-${e.label}-${r.label}`,testId:t,onFacetChange:e=>{m(_objectSpread(_objectSpread({},f),{},{selectedFacets:(0,c.wB)(f.selectedFacets,e),page:0})),y(0)},selected:r.selected,value:r.value,quantity:r.quantity,facetKey:e.key,label:r.label},`${t}-${e.label}-${r.label}`))}),"StoreFacetRange"===n&&b&&u.jsx(d.Z,{facetKey:e.key,min:e.min,max:e.max,formatter:"price"===e.key.toLowerCase()?p.P:void 0,onFacetChange:e=>{m(_objectSpread(_objectSpread({},f),{},{selectedFacets:(0,c.uL)(f.selectedFacets,e,!0),page:0})),y(0)}})]},`${t}-${o}-${r}`)})})}},56087:(e,t,r)=>{r.d(t,{P:()=>useFormattedPrice});var a=r(16689),n=r(16827);let usePriceFormatter=({decimals:e}={})=>{let{currency:t,locale:r}=(0,n.kP)();return(0,a.useCallback)(a=>Intl.NumberFormat(r,{style:"currency",currency:t.code,minimumFractionDigits:e?2:0}).format(a),[t.code,r,e])},useFormattedPrice=e=>{let t=usePriceFormatter();return(0,a.useMemo)(()=>t(e),[t,e])}},99767:(e,t,r)=>{r.d(t,{Z:()=>l});var a=r(16689),n=r.n(a),c=r(55450);let o=(0,a.forwardRef)(function({value:e,as:t="span",variant:r="selling",testId:a="fs-price",formatter:o=e=>e,SRText:l,...s},i){let d=o(e,r);return n().createElement(t,{ref:i,"data-fs-price":!0,"data-fs-price-variant":r,"data-testid":a,...s},l&&n().createElement(c.Z,{text:l}),d)}),l=o}};