@faststore/core 3.44.1 → 3.45.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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +122 -57
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +66 -74
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/129.js +1 -0
- package/.next/server/chunks/1506.js +1 -1
- package/.next/server/chunks/1999.js +1 -0
- package/.next/server/chunks/2091.js +1 -0
- package/.next/server/chunks/2230.js +1 -0
- package/.next/server/chunks/2773.js +1 -0
- package/.next/server/chunks/2880.js +1 -1
- package/.next/server/chunks/3006.js +1 -0
- package/.next/server/chunks/4289.js +2 -2
- package/.next/server/chunks/4559.js +16 -3
- package/.next/server/chunks/4746.js +1 -1
- package/.next/server/chunks/5636.js +2 -0
- package/.next/server/chunks/5772.js +1 -0
- package/.next/server/chunks/6594.js +1 -1
- package/.next/server/chunks/674.js +1 -1
- package/.next/server/chunks/7228.js +1 -1
- package/.next/server/chunks/8038.js +1 -0
- package/.next/server/chunks/804.js +1 -1
- package/.next/server/chunks/8307.js +1 -0
- package/.next/server/chunks/831.js +1 -1
- package/.next/server/chunks/8562.js +1 -1
- package/.next/server/chunks/8646.js +1 -1
- package/.next/server/chunks/9559.js +9 -0
- package/.next/server/chunks/9664.js +1 -0
- package/.next/server/chunks/UIBannerText.js +1 -1
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.js +1 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js +1 -1
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +1 -1
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +1 -1
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/account/403.js +1 -0
- package/.next/server/pages/account/403.js.nft.json +1 -0
- package/.next/server/pages/account/404.js +1 -0
- package/.next/server/pages/account/404.js.nft.json +1 -0
- package/.next/server/pages/account/[...unknown].js +1 -0
- package/.next/server/pages/account/[...unknown].js.nft.json +1 -0
- package/.next/server/pages/account/orders/[id].js +1 -0
- package/.next/server/pages/account/orders/[id].js.nft.json +1 -0
- package/.next/server/pages/account/orders.js +1 -0
- package/.next/server/pages/account/orders.js.nft.json +1 -0
- package/.next/server/pages/account/profile.js +1 -1
- package/.next/server/pages/account/profile.js.nft.json +1 -1
- package/.next/server/pages/account/security.js +1 -0
- package/.next/server/pages/account/security.js.nft.json +1 -0
- package/.next/server/pages/account/user-details.js +1 -0
- package/.next/server/pages/account/user-details.js.nft.json +1 -0
- package/.next/server/pages/account.js +1 -1
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +2 -2
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/api/health/live.js.nft.json +1 -1
- package/.next/server/pages/api/health/ready.js.nft.json +1 -1
- package/.next/server/pages/api/preview.js +1 -1
- package/.next/server/pages/api/preview.js.nft.json +1 -1
- package/.next/server/pages/checkout.js +1 -1
- package/.next/server/pages/checkout.js.nft.json +1 -1
- package/.next/server/pages/en-US/404.html +2 -2
- package/.next/server/pages/en-US/500.html +2 -2
- package/.next/server/pages/en-US/account/403.html +28 -0
- package/.next/server/pages/en-US/account/403.json +1 -0
- package/.next/server/pages/en-US/account/404.html +28 -0
- package/.next/server/pages/en-US/account/404.json +1 -0
- package/.next/server/pages/en-US/checkout.html +2 -2
- package/.next/server/pages/en-US/login.html +2 -2
- package/.next/server/pages/en-US/s.html +2 -2
- package/.next/server/pages/en-US.html +2 -2
- package/.next/server/pages/index.js +1 -1
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js +1 -1
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js +1 -1
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/chunks/{1552.8751332da83cadc5.js → 1552.2705dd1ff3aee879.js} +1 -1
- package/.next/static/chunks/4349-e6912711a345e5b6.js +1 -0
- package/.next/static/chunks/4625-a77d5db94b3a2b8f.js +1 -0
- package/.next/static/chunks/4746.f94ab461c31311bb.js +1 -0
- package/.next/static/chunks/4774.0450cb0efbfe76f4.js +1 -0
- package/.next/static/chunks/5836.92639eae2107d7af.js +1 -0
- package/.next/static/chunks/630.a3bf6c7cd8c945e1.js +6 -0
- package/.next/static/chunks/6335-580edc7c2c0fb418.js +1 -0
- package/.next/static/chunks/{2004.a778e11dd3802b72.js → 6410.bd3fa399df59cc80.js} +1 -1
- package/.next/static/chunks/6536.be112cd4a3efe253.js +1 -0
- package/.next/static/chunks/6867.27c1cb57ed76dd02.js +1 -0
- package/.next/static/chunks/7498-9b4ed9d4a65914cc.js +1 -0
- package/.next/static/chunks/7959.df78bb2e81b8d29c.js +1 -0
- package/.next/static/chunks/{9.89f24163370f3a22.js → 9.1db9e34673fbd5c9.js} +1 -1
- package/.next/static/chunks/9540.19d844fec8517602.js +1 -0
- package/.next/static/chunks/{1418-e86227bcf9a5d486.js → 9770-6f30493e3f7ab51b.js} +3 -3
- package/.next/static/chunks/BannerNewsletter.3031c9944928c34a.js +1 -0
- package/.next/static/chunks/BannerText.ca4ae220fed6bdd6.js +1 -0
- package/.next/static/chunks/CartSidebar.3d23093834f2c79a.js +1 -0
- package/.next/static/chunks/{Dropdown.7fe839c5ffce4687.js → Dropdown.534482865327310f.js} +1 -1
- package/.next/static/chunks/{DropdownButton.3991a37657e1d194.js → DropdownButton.90e7cb14e5866e74.js} +1 -1
- package/.next/static/chunks/{DropdownItem.0b3c39f881ca0832.js → DropdownItem.e74df13f69f8c3aa.js} +1 -1
- package/.next/static/chunks/{DropdownMenu.943b2d11ffa50ff6.js → DropdownMenu.56cde48e9fbbefe5.js} +1 -1
- package/.next/static/chunks/{Footer.1f83637df0884013.js → Footer.4bb5645e731073e7.js} +1 -1
- package/.next/static/chunks/Newsletter.f87cd1eca34af5e1.js +1 -0
- package/.next/static/chunks/ProductShelf.9b64813b3d1f4c9a.js +1 -0
- package/.next/static/chunks/ProductTiles.ebf02b46a32f5a53.js +1 -0
- package/.next/static/chunks/RegionModal.cdf4facd086a88e0.js +1 -0
- package/.next/static/chunks/Toast.fbfeced8149ed940.js +1 -0
- package/.next/static/chunks/{UIBannerText.45cf608e46cde628.js → UIBannerText.ef0582cb5cb01720.js} +1 -1
- package/.next/static/chunks/UISKUMatrixSidebar.64a50464062c77e9.js +1 -0
- package/.next/static/chunks/UIToast.22fea5cca8ee2b21.js +1 -0
- package/.next/static/chunks/pages/{404-6300c433469b7262.js → 404-e89b928faf6b9125.js} +1 -1
- package/.next/static/chunks/pages/{500-2d1dd344c8a8827f.js → 500-604704ba70e1e80a.js} +1 -1
- package/.next/static/chunks/pages/[...slug]-f80d7d8c8c7948a4.js +1 -0
- package/.next/static/chunks/pages/[slug]/p-748d6a1dbe59a2c8.js +1 -0
- package/.next/static/chunks/pages/_app-1be58ebde3e0b964.js +1 -0
- package/.next/static/chunks/pages/account/403-e4e6145815eeef01.js +1 -0
- package/.next/static/chunks/pages/account/404-ecfebfad41d655e9.js +1 -0
- package/.next/static/chunks/pages/account/[...unknown]-b233f92b64bd80cb.js +1 -0
- package/.next/static/chunks/pages/account/orders/[id]-8ab11c6c528911e9.js +1 -0
- package/.next/static/chunks/pages/account/orders-41bc5ef76c592a64.js +1 -0
- package/.next/static/chunks/pages/account/profile-2f501aabce910508.js +1 -0
- package/.next/static/chunks/pages/account/security-10e9e41318110950.js +1 -0
- package/.next/static/chunks/pages/account/user-details-5a7f30c290c25ec9.js +1 -0
- package/.next/static/chunks/pages/{checkout-93b647fc45454d97.js → checkout-cf3d3c3669a5e50b.js} +1 -1
- package/.next/static/chunks/pages/{index-07bc320fc045538c.js → index-e79b4e1ce52a8ea0.js} +1 -1
- package/.next/static/chunks/pages/{login-2454f1cd309c27d2.js → login-013b1f7a2b4bb9e0.js} +1 -1
- package/.next/static/chunks/pages/s-deeb7a0bdb02aaa9.js +1 -0
- package/.next/static/chunks/webpack-72d55466bef693ae.js +1 -0
- package/.next/static/css/2557aa3eaecf6ef0.css +1 -0
- package/.next/static/css/5347dbc8b71de47d.css +1 -0
- package/.next/static/css/84d35f475d0dc928.css +1 -0
- package/.next/static/css/9d1abf05f9ffaf8f.css +1 -0
- package/.next/static/css/b7bba8fce075688b.css +1 -0
- package/.next/static/css/{b8945ac5f5327c34.css → ec42ef906960d09f.css} +1 -1
- package/.next/static/iXgIvAYuYuXvEl83Xy7jT/_buildManifest.js +1 -0
- package/.next/static/iXgIvAYuYuXvEl83Xy7jT/_ssgManifest.js +1 -0
- package/.next/trace +129 -112
- package/.turbo/turbo-build.log +40 -30
- package/.turbo/turbo-test.log +5 -5
- package/@generated/gql.ts +34 -2
- package/@generated/graphql.ts +1566 -2
- package/@generated/persisted-documents.json +4 -1
- package/@generated/schema.graphql +748 -0
- package/CHANGELOG.md +12 -0
- package/discovery.config.default.js +1 -1
- package/package.json +7 -8
- package/public/icons.svg +106 -0
- package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawer.tsx +68 -0
- package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawerBody.tsx +21 -0
- package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawerHeader.tsx +39 -0
- package/src/components/account/MyAccountDrawer/OrganizationDrawer/index.ts +3 -0
- package/src/components/account/MyAccountDrawer/OrganizationDrawer/section.module.scss +121 -0
- package/src/components/account/MyAccountDrawer/OrganizationSignInButton/OrganizationSignInButton.tsx +50 -0
- package/src/components/account/MyAccountDrawer/OrganizationSignInButton/index.ts +1 -0
- package/src/components/account/MyAccountDrawer/ProfileSummary/ProfileSummary.tsx +67 -0
- package/src/components/account/MyAccountDrawer/ProfileSummary/profile-summary.scss +91 -0
- package/src/components/account/MyAccountLayout/MyAccountLayout.tsx +2 -2
- package/src/components/account/MyAccountLayout/styles.scss +8 -4
- package/src/components/account/MyAccountMenu/styles.scss +3 -2
- package/src/components/account/components/BottomSheet/BottomSheet.tsx +58 -0
- package/src/components/account/components/BottomSheet/styles.scss +35 -0
- package/src/components/account/components/MyAccountAccordion/MyAccountAccordion.tsx +13 -0
- package/src/components/account/components/MyAccountAccordion/MyAccountAccordionButton.tsx +35 -0
- package/src/components/account/components/MyAccountAccordion/MyAccountAccordionItem.tsx +21 -0
- package/src/components/account/components/MyAccountAccordion/MyAccountAccordionPanel.tsx +16 -0
- package/src/components/account/components/MyAccountAccordion/index.ts +4 -0
- package/src/components/account/components/MyAccountAccordion/styles.scss +88 -0
- package/src/components/account/components/MyAccountCard/MyAccountCard.tsx +13 -0
- package/src/components/account/components/MyAccountCard/index.ts +1 -0
- package/src/components/account/components/MyAccountCard/styles.scss +23 -0
- package/src/components/account/components/MyAccountStatusBadge/MyAccountStatusBadge.tsx +28 -0
- package/src/components/account/components/MyAccountStatusBadge/index.ts +1 -0
- package/src/components/account/components/MyAccountStatusBadge/styles.scss +54 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetDateRange/MyAccountFilterFacetDateRange.tsx +113 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetDateRange/index.ts +2 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetDateRange/styles.scss +43 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterSlider.tsx +209 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/index.ts +1 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/section.module.scss +24 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountListOrders.tsx +296 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersEmptyState/MyAccountListOrdersEmptyState.tsx +20 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersEmptyState/index.ts +1 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersEmptyState/styles.scss +43 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersTable/MyAccountListOrdersTable.tsx +210 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersTable/index.ts +1 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersTable/styles.scss +153 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountSelectedTags/MyAccountSelectedTags.tsx +119 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountSelectedTags/index.ts +1 -0
- package/src/components/account/orders/MyAccountListOrders/MyAccountSelectedTags/styles.scss +69 -0
- package/src/components/account/orders/MyAccountListOrders/index.ts +1 -0
- package/src/components/account/orders/MyAccountListOrders/styles.module.scss +100 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryCard/MyAccountDeliveryCard.tsx +47 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryCard/index.ts +1 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryCard/styles.scss +44 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/MyAccountDeliveryOptionAccordion.tsx +93 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/MyAccountDeliveryOptionAccordionDeliveryInfo.tsx +86 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/MyAccountDeliveryOptionAccordionProducts.tsx +74 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/index.ts +6 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/styles.scss +193 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountMoreInformationCard/MyAccountMoreInformationCard.tsx +31 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountMoreInformationCard/index.ts +1 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountMoreInformationCard/styles.scss +22 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActionModal/MyAccountOrderActionModal.tsx +121 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActionModal/index.ts +2 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActionModal/styles.module.scss +40 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActionModal/useOrderActionModal.ts +38 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActions/MyAccountOrderActions.tsx +154 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActions/index.ts +1 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActions/styles.scss +33 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderDetails.tsx +106 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderedByCard/MyAccountOrderedByCard.tsx +54 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderedByCard/index.ts +1 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderedByCard/styles.scss +65 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountPaymentCard/MyAccountPaymentCard.tsx +157 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountPaymentCard/MyAccountPaymentFlagsIcon.tsx +106 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountPaymentCard/index.ts +1 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountPaymentCard/styles.scss +76 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountStatusCard/MyAccountStatusCard.tsx +276 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountStatusCard/index.ts +1 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountStatusCard/styles.scss +205 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountStatusCard/useConnectorPositioning.ts +74 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountSummaryCard/MyAccountSummaryCard.tsx +92 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountSummaryCard/index.ts +1 -0
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountSummaryCard/styles.scss +45 -0
- package/src/components/account/orders/MyAccountOrderDetails/index.ts +1 -0
- package/src/components/account/orders/MyAccountOrderDetails/section.module.scss +114 -0
- package/src/components/account/utils/useFormatPrice.ts +18 -0
- package/src/components/cms/RenderSections.tsx +1 -1
- package/src/components/navigation/Navbar/Navbar.tsx +16 -1
- package/src/components/navigation/NavbarSlider/NavbarSlider.tsx +18 -3
- package/src/customizations/src/myAccount/extensions/orders/[id]/after.tsx +7 -0
- package/src/customizations/src/myAccount/extensions/orders/[id]/before.tsx +7 -0
- package/src/customizations/src/myAccount/extensions/orders/after.tsx +7 -0
- package/src/customizations/src/myAccount/extensions/orders/before.tsx +7 -0
- package/src/customizations/src/myAccount/extensions/profile/after.tsx +7 -0
- package/src/customizations/src/myAccount/extensions/profile/before.tsx +7 -0
- package/src/customizations/src/myAccount/extensions/security/after.tsx +7 -0
- package/src/customizations/src/myAccount/extensions/security/before.tsx +7 -0
- package/src/customizations/src/myAccount/extensions/user-details/after.tsx +7 -0
- package/src/customizations/src/myAccount/extensions/user-details/before.tsx +7 -0
- package/src/experimental/myAccountSeverSideProps.ts +12 -1
- package/src/pages/account/403.tsx +103 -0
- package/src/pages/account/404.tsx +95 -0
- package/src/pages/account/[...unknown].tsx +39 -0
- package/src/pages/account/index.tsx +8 -16
- package/src/pages/account/orders/[id].tsx +764 -0
- package/src/pages/account/orders/index.tsx +273 -0
- package/src/pages/account/orders/styles.module.scss +35 -0
- package/src/pages/account/profile.tsx +62 -17
- package/src/pages/account/security.tsx +94 -0
- package/src/pages/account/user-details.tsx +94 -0
- package/src/sdk/account/getMyAccountRoutes.ts +13 -12
- package/src/sdk/account/useApproveOrder.ts +53 -0
- package/src/sdk/account/useCancelOrder.ts +34 -0
- package/src/sdk/account/useDebounce.ts +23 -0
- package/src/sdk/account/useRejectOrder.ts +53 -0
- package/src/sdk/error/MissingContentError/MissingContentError.ts +2 -2
- package/src/sdk/error/MultipleContentError/MultipleContentError.ts +2 -2
- package/src/sdk/search/useMyAccountFilter.ts +157 -0
- package/src/sdk/session/index.ts +8 -0
- package/src/utils/myAccountRedirect.tsx +36 -0
- package/src/utils/userOrderStatus.ts +141 -0
- package/src/utils/utilities.ts +35 -3
- package/test/server/index.test.ts +9 -1
- package/.next/server/chunks/1246.js +0 -1
- package/.next/server/chunks/2443.js +0 -1
- package/.next/server/chunks/4725.js +0 -1
- package/.next/server/chunks/563.js +0 -1
- package/.next/server/chunks/6968.js +0 -10
- package/.next/server/chunks/7468.js +0 -1
- package/.next/server/chunks/8355.js +0 -1
- package/.next/static/chunks/1173.ca14a5bc4e1264f4.js +0 -1
- package/.next/static/chunks/2206.44239ce81a09bc17.js +0 -1
- package/.next/static/chunks/4349-87a956a73b97519c.js +0 -1
- package/.next/static/chunks/4625-553d20c86b0ca577.js +0 -1
- package/.next/static/chunks/4746.2e16ec0663a3873f.js +0 -1
- package/.next/static/chunks/4774.8e70c01dcd0ed4b3.js +0 -1
- package/.next/static/chunks/4865.4017be0f8e7c8cf0.js +0 -1
- package/.next/static/chunks/5259-90f7ef92cf24e49a.js +0 -1
- package/.next/static/chunks/5836.c5c244a8cbfa7f7d.js +0 -1
- package/.next/static/chunks/630.13d3dd939b789798.js +0 -6
- package/.next/static/chunks/6335-6eb4ff84af184b88.js +0 -1
- package/.next/static/chunks/6536.d5260107222db13c.js +0 -1
- package/.next/static/chunks/7498-72289e704e7c7056.js +0 -1
- package/.next/static/chunks/7959.7c721505286572c0.js +0 -1
- package/.next/static/chunks/BannerNewsletter.8982f42e60ed8828.js +0 -1
- package/.next/static/chunks/BannerText.5b250db1cf67e44f.js +0 -1
- package/.next/static/chunks/CartSidebar.aa9e43be37034654.js +0 -1
- package/.next/static/chunks/Newsletter.9db4df2d4fb33227.js +0 -1
- package/.next/static/chunks/ProductShelf.9cea36116836c161.js +0 -1
- package/.next/static/chunks/ProductTiles.059a4a6360e1d4ea.js +0 -1
- package/.next/static/chunks/RegionModal.4594b707a1092551.js +0 -1
- package/.next/static/chunks/Toast.01d4ac8bf14c1be5.js +0 -1
- package/.next/static/chunks/UIButton.3186f933c0ecfb31.js +0 -1
- package/.next/static/chunks/UISKUMatrixSidebar.9ac3980a60cfc358.js +0 -1
- package/.next/static/chunks/UIToast.221eb10681d2f642.js +0 -1
- package/.next/static/chunks/pages/[...slug]-c1a62d58f5940747.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-555dc09a5e78260e.js +0 -1
- package/.next/static/chunks/pages/_app-d5641120092ee13b.js +0 -1
- package/.next/static/chunks/pages/account/profile-23b2e9fbbd95a30b.js +0 -1
- package/.next/static/chunks/pages/s-9901e6857f517b8b.js +0 -1
- package/.next/static/chunks/webpack-11f8d9f83a4d695c.js +0 -1
- package/.next/static/css/249b9deaabc0d32d.css +0 -1
- package/.next/static/f3BfFJ3uIpcQCIGQ6fQQ4/_buildManifest.js +0 -1
- package/.next/static/f3BfFJ3uIpcQCIGQ6fQQ4/_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
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Options } from 'src/server/cms'
|
|
2
1
|
import type { EntryPathParams } from '@vtex/client-cp'
|
|
3
|
-
import { contentSource } from 'discovery.config
|
|
2
|
+
import { contentSource } from 'discovery.config'
|
|
3
|
+
import type { Options } from 'src/server/cms'
|
|
4
4
|
|
|
5
5
|
export default class MissingContentError extends Error {
|
|
6
6
|
constructor(params: Options | EntryPathParams) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Options } from 'src/server/cms'
|
|
2
1
|
import type { EntryPathParams } from '@vtex/client-cp'
|
|
3
|
-
import { contentSource } from 'discovery.config
|
|
2
|
+
import { contentSource } from 'discovery.config'
|
|
3
|
+
import type { Options } from 'src/server/cms'
|
|
4
4
|
|
|
5
5
|
export default class MultipleContentError extends Error {
|
|
6
6
|
constructor(params: Options | EntryPathParams) {
|
|
@@ -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
|
+
}
|
package/src/sdk/session/index.ts
CHANGED
|
@@ -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
|
+
}
|
package/src/utils/utilities.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
16
|
-
|
|
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 = [
|
|
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}};
|