@evenicanpm/storefront-core 1.2.1 → 1.3.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/.storybook/main.ts +1 -1
- package/.storybook/preview.tsx +5 -4
- package/__mocks__/countries.ts +1 -1
- package/__mocks__/create-query.ts +3 -2
- package/package.json +10 -2
- package/src/api-manager/datasources/d365/d365-address.datasource.ts +13 -11
- package/src/api-manager/datasources/d365/d365-base.datasource.ts +1 -1
- package/src/api-manager/datasources/d365/d365-cart.datasource.ts +37 -37
- package/src/api-manager/datasources/d365/d365-categories.datasource.ts +3 -3
- package/src/api-manager/datasources/d365/d365-order.datasource.ts +10 -9
- package/src/api-manager/datasources/d365/d365-organization.datasource.ts +10 -10
- package/src/api-manager/datasources/d365/d365-product.datasource.ts +28 -29
- package/src/api-manager/datasources/d365/d365-session.datasource.ts +4 -4
- package/src/api-manager/datasources/d365/d365-user.datasource.ts +22 -20
- package/src/api-manager/datasources/d365/d365.datasource.ts +15 -15
- package/src/api-manager/datasources/d365/index.ts +1 -1
- package/src/api-manager/datasources/d365/test-context.ts +1 -1
- package/src/api-manager/datasources/d365/utils/create-search-criteria.ts +1 -1
- package/src/api-manager/datasources/d365/utils/decode-jwt.ts +1 -1
- package/src/api-manager/datasources/d365/utils/get-context-cookie.ts +3 -3
- package/src/api-manager/datasources/d365/utils/product-images-utils.ts +29 -10
- package/src/api-manager/datasources/d365/utils/product-inventory-utils.ts +1 -1
- package/src/api-manager/datasources/e4/address/e4-address.datasource.ts +5 -5
- package/src/api-manager/datasources/e4/address/e4-address.remaps.ts +2 -2
- package/src/api-manager/datasources/e4/address/e4-address.translator.ts +8 -8
- package/src/api-manager/datasources/e4/cart/e4-cart.datasource.ts +10 -11
- package/src/api-manager/datasources/e4/cart/e4-cart.remaps.ts +9 -8
- package/src/api-manager/datasources/e4/cart/e4-cart.translator.ts +3 -3
- package/src/api-manager/datasources/e4/categories/e4-categories.datasource.ts +4 -4
- package/src/api-manager/datasources/e4/categories/e4-categories.translator.ts +4 -4
- package/src/api-manager/datasources/e4/e4.datasource.ts +7 -7
- package/src/api-manager/datasources/e4/graphqlRequestSdk.ts +8500 -39780
- package/src/api-manager/datasources/e4/order/e4-order.datasource.ts +7 -7
- package/src/api-manager/datasources/e4/order/e4-order.remaps.ts +6 -5
- package/src/api-manager/datasources/e4/organization/e4-organization.datasource.ts +5 -4
- package/src/api-manager/datasources/e4/product/e4-product.datasource.ts +12 -11
- package/src/api-manager/datasources/e4/product/e4-product.remaps.ts +1 -1
- package/src/api-manager/datasources/e4/product/e4-product.translator.ts +14 -14
- package/src/api-manager/datasources/e4/session/e4-session.datasource.ts +2 -2
- package/src/api-manager/datasources/e4/session/e4-session.translator.ts +2 -2
- package/src/api-manager/datasources/e4/user/e4-user.datasource.ts +10 -10
- package/src/api-manager/datasources/e4/user/e4-user.remaps.ts +4 -4
- package/src/api-manager/datasources/e4/user/e4-user.translator.ts +6 -4
- package/src/api-manager/datasources/e4/utils/unwrap-e4-variants.ts +2 -2
- package/src/api-manager/index.ts +7 -7
- package/src/api-manager/lib/category-helpers.ts +1 -1
- package/src/api-manager/lib/get-dynamics-context.ts +1 -1
- package/src/api-manager/lib/get-graphql-client.ts +3 -4
- package/src/api-manager/schemas/address.schema.ts +1 -1
- package/src/api-manager/schemas/cart.schema.ts +1 -1
- package/src/api-manager/schemas/d365.schema.ts +207 -206
- package/src/api-manager/schemas/order.schema.ts +1 -1
- package/src/api-manager/schemas/organization.schema.ts +1 -1
- package/src/api-manager/schemas/product.schema.ts +4 -4
- package/src/api-manager/schemas/session.schema.ts +1 -1
- package/src/api-manager/schemas/user.schema.ts +1 -1
- package/src/api-manager/services/address/mutations/create-address.ts +3 -3
- package/src/api-manager/services/address/mutations/delete-address.ts +2 -2
- package/src/api-manager/services/address/mutations/get-delivery-options.ts +4 -4
- package/src/api-manager/services/address/mutations/update-address.ts +3 -3
- package/src/api-manager/services/address/queries/get-countries.ts +6 -4
- package/src/api-manager/services/address/queries/get-states.ts +3 -3
- package/src/api-manager/services/cart/mutations/add-discount-code.ts +4 -4
- package/src/api-manager/services/cart/mutations/add-to-cart.ts +4 -4
- package/src/api-manager/services/cart/mutations/checkout.ts +2 -2
- package/src/api-manager/services/cart/mutations/delete-cart-line.ts +2 -2
- package/src/api-manager/services/cart/mutations/get-payment-accept-result.ts +4 -4
- package/src/api-manager/services/cart/mutations/remove-cart-line-delivery-mode.ts +3 -3
- package/src/api-manager/services/cart/mutations/remove-discount-code.ts +2 -2
- package/src/api-manager/services/cart/mutations/update-cart-line-delivery-mode.ts +2 -2
- package/src/api-manager/services/cart/mutations/update-cart-lines.ts +3 -3
- package/src/api-manager/services/cart/mutations/update-cart.ts +2 -2
- package/src/api-manager/services/cart/queries/get-cart-lines-inventory.ts +2 -2
- package/src/api-manager/services/cart/queries/get-cart.ts +5 -3
- package/src/api-manager/services/cart/queries/get-payment-accept-point.ts +3 -3
- package/src/api-manager/services/categories/queries/get-categories.ts +1 -1
- package/src/api-manager/services/create-extension-query.ts +1 -1
- package/src/api-manager/services/create-mutation.ts +2 -2
- package/src/api-manager/services/create-query.ts +6 -6
- package/src/api-manager/services/get-query-client.ts +2 -2
- package/src/api-manager/services/order/queries/get-order-details.ts +2 -2
- package/src/api-manager/services/order/queries/get-orders.ts +1 -1
- package/src/api-manager/services/organization/queries/get-channel-configuration.ts +1 -1
- package/src/api-manager/services/organization/queries/get-stores.ts +1 -1
- package/src/api-manager/services/product/mutations/search-products.ts +3 -4
- package/src/api-manager/services/product/queries/get-product-availability.ts +2 -2
- package/src/api-manager/services/product/queries/get-product-by-id.ts +1 -1
- package/src/api-manager/services/product/queries/get-product-by-ids.ts +2 -2
- package/src/api-manager/services/product/queries/get-product-list.ts +1 -1
- package/src/api-manager/services/product/queries/get-product-prices.ts +2 -2
- package/src/api-manager/services/product/queries/get-related-products.ts +2 -2
- package/src/api-manager/services/product/queries/search-products.ts +2 -2
- package/src/api-manager/services/product/server/product.server.ts +3 -3
- package/src/api-manager/services/session/mutations/session-init.ts +2 -2
- package/src/api-manager/services/session/mutations/session-logout.ts +1 -1
- package/src/api-manager/services/session/queries/get-session.ts +1 -1
- package/src/api-manager/services/user/mutations/add-to-wishlist.ts +3 -3
- package/src/api-manager/services/user/mutations/copy-cart-to-wishlist.ts +3 -3
- package/src/api-manager/services/user/mutations/create-wishlist.ts +4 -4
- package/src/api-manager/services/user/mutations/delete-wishlist.ts +3 -3
- package/src/api-manager/services/user/mutations/remove-from-wishlist.ts +3 -3
- package/src/api-manager/services/user/mutations/update-user.ts +2 -2
- package/src/api-manager/services/user/mutations/update-wishlist.ts +2 -2
- package/src/api-manager/services/user/queries/get-user-counts.ts +1 -1
- package/src/api-manager/services/user/queries/get-user.ts +1 -1
- package/src/api-manager/services/user/queries/get-wishlist-details.ts +1 -1
- package/src/api-manager/services/user/queries/get-wishlists.ts +1 -1
- package/src/api-manager/types/Datasource.ts +23 -23
- package/src/auth/auth-options.test.ts +4 -5
- package/src/auth/auth-options.ts +7 -7
- package/src/auth/msal.ts +4 -1
- package/src/auth/next-auth-cookie-manager.ts +8 -7
- package/src/auth/refresh-token.ts +7 -4
- package/src/cms/blocks/block-manager.tsx +10 -10
- package/src/cms/blocks/components/brand-logos-scroller.tsx +4 -4
- package/src/cms/blocks/components/category-card.tsx +2 -2
- package/src/cms/blocks/components/category-carousel/index.tsx +5 -9
- package/src/cms/blocks/components/feature-pill.tsx +5 -4
- package/src/cms/blocks/components/featured-categories.tsx +5 -2
- package/src/cms/blocks/components/featured-products.tsx +2 -2
- package/src/cms/blocks/components/footer/data/index.ts +6 -3
- package/src/cms/blocks/components/footer/index.tsx +7 -11
- package/src/cms/blocks/components/footer/sections/footer-app-store.tsx +2 -2
- package/src/cms/blocks/components/footer/sections/footer-contact.tsx +3 -3
- package/src/cms/blocks/components/footer/sections/footer-links.tsx +3 -3
- package/src/cms/blocks/components/footer/sections/footer-logo.tsx +3 -3
- package/src/cms/blocks/components/footer/sections/footer-social-links.tsx +9 -9
- package/src/cms/blocks/components/footer/styles/index.ts +1 -1
- package/src/cms/blocks/components/footer.tsx +4 -4
- package/src/cms/blocks/components/hero-carousel/index.tsx +3 -4
- package/src/cms/blocks/components/hero.tsx +4 -5
- package/src/cms/blocks/components/image.tsx +4 -5
- package/src/cms/blocks/components/media-card.tsx +2 -2
- package/src/cms/blocks/components/product-carousel/index.tsx +7 -8
- package/src/cms/blocks/components/product-section-fullwidth/index.tsx +16 -20
- package/src/cms/blocks/components/rich-text.tsx +2 -2
- package/src/cms/blocks/components/seo/index.tsx +2 -2
- package/src/cms/blocks/components/services/index.tsx +4 -4
- package/src/cms/blocks/components/services/service-card.tsx +7 -9
- package/src/cms/blocks/components/shared/featured-product-card.tsx +2 -2
- package/src/cms/blocks/components/shared/product-category-item.tsx +4 -5
- package/src/cms/blocks/components/shared/product-grid.tsx +5 -4
- package/src/cms/blocks/components/shared/top-categories-card.tsx +5 -6
- package/src/cms/blocks/components/shared/top-rating-product-card.tsx +3 -3
- package/src/cms/blocks/icons/components/category.tsx +3 -3
- package/src/cms/blocks/icons/components/dotted-star.tsx +1 -1
- package/src/cms/blocks/icons/components/fallback-icon.tsx +1 -1
- package/src/cms/blocks/icons/components/gift-box.tsx +1 -1
- package/src/cms/blocks/icons/components/light.tsx +1 -1
- package/src/cms/blocks/icons/components/new-arrival.tsx +1 -1
- package/src/cms/blocks/icons/components/rank-badge.tsx +1 -1
- package/src/cms/blocks/icons/index.ts +3 -3
- package/src/cms/blocks/index.tsx +6 -6
- package/src/cms/blog.ts +2 -2
- package/src/cms/endpoints.ts +1 -1
- package/src/components-v2/BazaarCard.stories.tsx +1 -1
- package/src/components-v2/BazaarCard.tsx +1 -1
- package/src/components-v2/BazaarImage.tsx +1 -1
- package/src/components-v2/BazaarMenu.stories.tsx +1 -1
- package/src/components-v2/BazaarMenu.tsx +2 -2
- package/src/components-v2/BazaarSwitch.tsx +1 -1
- package/src/components-v2/BazaarTextField.tsx +2 -2
- package/src/components-v2/BorderShadowCard.stories.tsx +2 -2
- package/src/components-v2/CountryInput.stories.tsx +2 -2
- package/src/components-v2/DropZone.stories.tsx +1 -1
- package/src/components-v2/DropZone.tsx +7 -7
- package/src/components-v2/HoverBox.stories.tsx +1 -1
- package/src/components-v2/ImageWithFallback.tsx +3 -2
- package/src/components-v2/LazyImage.tsx +10 -2
- package/src/components-v2/Loading.tsx +1 -2
- package/src/components-v2/SearchInput.stories.tsx +1 -1
- package/src/components-v2/SearchInput.tsx +2 -2
- package/src/components-v2/SnackbarProvider.tsx +1 -1
- package/src/components-v2/T/index.tsx +1 -1
- package/src/components-v2/Typography.stories.tsx +2 -2
- package/src/components-v2/Typography.tsx +1 -1
- package/src/components-v2/WhiteButton.tsx +2 -2
- package/src/components-v2/accordion/accordion-header.tsx +5 -5
- package/src/components-v2/carousel/Carousel.stories.tsx +1 -1
- package/src/components-v2/carousel/carousel.tsx +4 -4
- package/src/components-v2/carousel/components/carousel-arrows.tsx +4 -4
- package/src/components-v2/carousel/components/carousel-dots.tsx +2 -2
- package/src/components-v2/carousel-cards/carousel-card-1/carousel-card-1.tsx +4 -4
- package/src/components-v2/categories/Categories.stories.tsx +6 -5
- package/src/components-v2/categories/category-list/category-list.tsx +4 -5
- package/src/components-v2/categories/category-list/styles.ts +2 -2
- package/src/components-v2/categories/category-list-item/category-menu-item.tsx +5 -5
- package/src/components-v2/categories/category-menu.tsx +2 -2
- package/src/components-v2/categories/mega-menu/banner.tsx +4 -4
- package/src/components-v2/categories/mega-menu/column-list.tsx +6 -6
- package/src/components-v2/categories/mega-menu/mega-menu-1.tsx +7 -7
- package/src/components-v2/categories/mega-menu/mega-menu-2.tsx +3 -2
- package/src/components-v2/categories/types.ts +1 -1
- package/src/components-v2/countries-input.tsx +2 -2
- package/src/components-v2/flex-box/Flex.stories.tsx +1 -1
- package/src/components-v2/flex-box/flex-between.tsx +1 -1
- package/src/components-v2/flex-box/flex-box.tsx +1 -1
- package/src/components-v2/flex-box/flex-row-center.tsx +1 -1
- package/src/components-v2/flex-box/index.ts +1 -1
- package/src/components-v2/header/__tests__/user.test.tsx +3 -3
- package/src/components-v2/header/components/categories-menu.tsx +6 -6
- package/src/components-v2/header/components/mobile-header.tsx +17 -18
- package/src/components-v2/header/components/user.tsx +24 -23
- package/src/components-v2/header/header.tsx +9 -10
- package/src/components-v2/header/sticky-header.tsx +3 -3
- package/src/components-v2/header/styles/index.ts +3 -2
- package/src/components-v2/mini-cart/__tests__/cart-item.test.tsx +6 -6
- package/src/components-v2/mini-cart/__tests__/mini-cart.test.tsx +7 -7
- package/src/components-v2/mini-cart/components/bottom-actions.tsx +3 -2
- package/src/components-v2/mini-cart/components/cart-item.tsx +13 -12
- package/src/components-v2/mini-cart/components/empty-view.tsx +2 -1
- package/src/components-v2/mini-cart/components/top-header.tsx +6 -5
- package/src/components-v2/mini-cart/mini-cart-trigger.tsx +4 -4
- package/src/components-v2/mini-cart/mini-cart.tsx +11 -12
- package/src/components-v2/mobile-navigation/MobileNavigationBar.stories.tsx +2 -2
- package/src/components-v2/mobile-navigation/mobile-navigation-bar.tsx +14 -14
- package/src/components-v2/mobile-navigation/styles/index.ts +2 -2
- package/src/components-v2/nav-link/nav-link-2.tsx +1 -1
- package/src/components-v2/nav-link/nav-link-3.tsx +3 -3
- package/src/components-v2/nav-link/nav-link.tsx +3 -3
- package/src/components-v2/navbar/categories.tsx +5 -5
- package/src/components-v2/navbar/category-based-menu/category-based-menu.tsx +15 -14
- package/src/components-v2/navbar/category-based-menu/styles.ts +3 -3
- package/src/components-v2/navbar/category-based-menu/types.ts +1 -1
- package/src/components-v2/navbar/mega-menu/mega-menu.tsx +11 -10
- package/src/components-v2/navbar/mega-menu/styles.ts +2 -2
- package/src/components-v2/navbar/mobile-menu/mobile-menu.test.tsx +3 -3
- package/src/components-v2/navbar/mobile-menu/mobile-menu.tsx +10 -10
- package/src/components-v2/navbar/nav-list/cms-nav.test.tsx +4 -4
- package/src/components-v2/navbar/nav-list/nav-item-child.tsx +12 -13
- package/src/components-v2/navbar/nav-list/nav-list.tsx +11 -11
- package/src/components-v2/navbar/navbar.tsx +3 -4
- package/src/components-v2/navbar/styles.ts +4 -4
- package/src/components-v2/navbar/utils/transform-nav.test.ts +3 -3
- package/src/components-v2/navbar/utils/transform-nav.ts +3 -3
- package/src/components-v2/no-records.tsx +2 -2
- package/src/components-v2/product-cards/discount-chip.tsx +1 -1
- package/src/components-v2/product-cards/favorite-button.tsx +2 -2
- package/src/components-v2/product-cards/product-card/ProductCard.stories.tsx +2 -2
- package/src/components-v2/product-cards/product-card/product-card.tsx +38 -38
- package/src/components-v2/product-cards/product-card/styles/index.ts +2 -2
- package/src/components-v2/product-cards/product-card-plp/ProductCardPlp.stories.tsx +2 -2
- package/src/components-v2/product-cards/product-card-plp/product-card.tsx +18 -18
- package/src/components-v2/product-cards/product-card-plp-list/ProductCardPlpList.stories.tsx +1 -1
- package/src/components-v2/product-cards/product-card-plp-list/product-card.tsx +15 -15
- package/src/components-v2/product-cards/product-card-search/ProductCardSearch.stories.tsx +2 -2
- package/src/components-v2/product-cards/product-card-search/product-card.tsx +16 -16
- package/src/components-v2/product-cards/product-price.tsx +1 -1
- package/src/components-v2/product-cards/product-rating.tsx +3 -3
- package/src/components-v2/product-cards/product-title.tsx +1 -1
- package/src/components-v2/product-cards/quantity-buttons.tsx +5 -5
- package/src/components-v2/product-dialog/ProductDialog.stories.tsx +2 -2
- package/src/components-v2/product-dialog/compound/product-dialog.tsx +14 -14
- package/src/components-v2/product-dimensions/Dimensions.stories.tsx +3 -2
- package/src/components-v2/product-dimensions/compound/dimensions-group-error.tsx +3 -3
- package/src/components-v2/product-dimensions/compound/dimensions-group-label.tsx +1 -1
- package/src/components-v2/product-dimensions/compound/dimensions-group-list-chip.tsx +5 -4
- package/src/components-v2/product-dimensions/compound/dimensions-group-list.tsx +1 -1
- package/src/components-v2/product-dimensions/compound/dimensions-group.tsx +3 -4
- package/src/components-v2/product-dimensions/compound/dimensions.tsx +6 -2
- package/src/components-v2/product-dimensions/index.tsx +1 -1
- package/src/components-v2/product-dimensions/utils/has-selected-dimension.ts +1 -1
- package/src/components-v2/product-quantity-buttons/ProductQuantity.stories.tsx +2 -1
- package/src/components-v2/product-quantity-buttons/compound/quantity-buttons-root.tsx +7 -7
- package/src/components-v2/product-quantity-buttons/index.tsx +5 -2
- package/src/components-v2/product-quantity-variants/ProductQuantity.stories.tsx +3 -2
- package/src/components-v2/product-quantity-variants/index.tsx +13 -13
- package/src/components-v2/products-view/ProductsGrid.stories.tsx +3 -2
- package/src/components-v2/products-view/ProductsList.stories.tsx +4 -3
- package/src/components-v2/products-view/compound/context.ts +4 -3
- package/src/components-v2/products-view/compound/products-grid-view.tsx +7 -6
- package/src/components-v2/products-view/compound/products-list-view.tsx +6 -5
- package/src/components-v2/products-view/compound/types.ts +2 -2
- package/src/components-v2/products-view/index.tsx +3 -3
- package/src/components-v2/progress/ProgressBar.stories.tsx +2 -2
- package/src/components-v2/progress/progress.tsx +3 -3
- package/src/components-v2/scrollbar/Scrollbar.stories.tsx +2 -1
- package/src/components-v2/scrollbar/scrollbar.tsx +3 -3
- package/src/components-v2/search-bar/SearchBarLarge.stories.tsx +2 -1
- package/src/components-v2/search-bar/compound/context.ts +2 -3
- package/src/components-v2/search-bar/compound/results-item-lg.tsx +3 -2
- package/src/components-v2/search-bar/compound/results-item-sm.tsx +10 -9
- package/src/components-v2/search-bar/compound/results-suspense.tsx +4 -4
- package/src/components-v2/search-bar/compound/results.tsx +5 -4
- package/src/components-v2/search-bar/compound/search-bar-root.tsx +6 -8
- package/src/components-v2/search-bar/compound/textfield-adornment-category.tsx +7 -6
- package/src/components-v2/search-bar/compound/textfield-adornment-search-icon.tsx +3 -2
- package/src/components-v2/search-bar/compound/textfield.tsx +5 -7
- package/src/components-v2/search-bar/hooks/use-search.ts +1 -2
- package/src/components-v2/search-bar/styles/index.ts +2 -2
- package/src/components-v2/search-bar/utils/findCategoryNameById.ts +1 -1
- package/src/components-v2/section/Section.stories.tsx +3 -3
- package/src/components-v2/section/compound/section-header.tsx +7 -7
- package/src/components-v2/section/compound/section.tsx +4 -3
- package/src/components-v2/side-nav/SideNav.stories.tsx +4 -4
- package/src/components-v2/side-nav/side-nav.tsx +2 -2
- package/src/components-v2/wishlist-dialogs/__tests__/create-new-list.test.tsx +5 -7
- package/src/components-v2/wishlist-dialogs/add-to-wishlist/AddToWishlist.stories.tsx +2 -2
- package/src/components-v2/wishlist-dialogs/add-to-wishlist/add-to-wishlist-button.tsx +2 -2
- package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/add-to-wishlist-bottom-ui.tsx +3 -3
- package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/add-to-wishlist-dialog.tsx +7 -8
- package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/add-to-wishlist-list.tsx +4 -5
- package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/context.ts +2 -1
- package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/wishlist-dialog-header.tsx +8 -10
- package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/wishlist-dialog-item.tsx +6 -6
- package/src/components-v2/wishlist-dialogs/add-to-wishlist/hooks/use-add-to-wishlist.ts +4 -6
- package/src/components-v2/wishlist-dialogs/create-wishlist/compound/create-wishlist-bottom-ui.tsx +3 -3
- package/src/components-v2/wishlist-dialogs/create-wishlist/compound/create-wishlist-dialog.tsx +9 -8
- package/src/components-v2/wishlist-dialogs/create-wishlist/compound/create-wishlist-form.tsx +6 -4
- package/src/components-v2/wishlist-dialogs/create-wishlist/create-wishlist-button.tsx +2 -2
- package/src/components-v2/wishlist-dialogs/styles.ts +4 -4
- package/src/hooks/use-cart.ts +1 -1
- package/src/hooks/use-nextauth-session.ts +65 -0
- package/src/hooks/use-overflow-detect.ts +1 -1
- package/src/hooks/use-settings.ts +1 -1
- package/src/hooks/use-variants.ts +6 -6
- package/src/lib/build-product-detail-url.ts +1 -1
- package/src/lib/cart-cookie-handler.ts +1 -1
- package/src/lib/category-helpers.ts +1 -1
- package/src/lib/create-graphql-client.ts +1 -2
- package/src/lib/get-palette-color.ts +1 -1
- package/src/lib/graphqlRequestSdk.ts +2 -3
- package/src/lib/hexToLuma.ts +2 -2
- package/src/lib/product-list-types.ts +1 -1
- package/src/lib/refiner-utils.ts +1 -1
- package/src/lib/store-hours-helper.ts +1 -1
- package/src/pages-v2/account/account-navigation.tsx +13 -13
- package/src/pages-v2/account/addresses/address-form.tsx +16 -15
- package/src/pages-v2/account/addresses/address-item.tsx +13 -14
- package/src/pages-v2/account/dashboard-header.tsx +9 -9
- package/src/pages-v2/account/orders/order-progress.tsx +13 -13
- package/src/pages-v2/account/orders/order-row.tsx +11 -10
- package/src/pages-v2/account/orders/order-summary.tsx +7 -6
- package/src/pages-v2/account/orders/ordered-products.tsx +18 -17
- package/src/pages-v2/account/profile/profile-button.test.tsx +3 -3
- package/src/pages-v2/account/profile/profile-button.tsx +5 -4
- package/src/pages-v2/account/profile/user-info.tsx +8 -9
- package/src/pages-v2/account/styles.ts +1 -1
- package/src/pages-v2/account/wishlist/create-new-list.tsx +10 -9
- package/src/pages-v2/account/wishlist/create-wishlist-button.tsx +2 -2
- package/src/pages-v2/account/wishlist/wishlist-item.tsx +13 -13
- package/src/pages-v2/blog/blog-card.tsx +58 -0
- package/src/pages-v2/blog/pagination.tsx +1 -2
- package/src/pages-v2/cart/__tests__/cart-item.test.tsx +8 -9
- package/src/pages-v2/cart/__tests__/checkout-form.test.tsx +8 -8
- package/src/pages-v2/cart/__tests__/countries.json +19407 -0
- package/src/pages-v2/cart/__tests__/estimate-shipping.test.tsx +11 -11
- package/src/pages-v2/cart/cart-item.tsx +24 -23
- package/src/pages-v2/cart/checkout-form.tsx +16 -18
- package/src/pages-v2/cart/coupon-entry.tsx +9 -7
- package/src/pages-v2/cart/estimate-shipping.tsx +5 -4
- package/src/pages-v2/checkout/checkout-alt-form/checkout-form.tsx +17 -16
- package/src/pages-v2/checkout/checkout-alt-form/checkout-step.tsx +5 -5
- package/src/pages-v2/checkout/checkout-alt-form/step-heading.tsx +3 -3
- package/src/pages-v2/checkout/checkout-alt-form/steps/address/address-card.tsx +4 -4
- package/src/pages-v2/checkout/checkout-alt-form/steps/address/delivery-address.tsx +21 -21
- package/src/pages-v2/checkout/checkout-alt-form/steps/address/new-address-form.tsx +14 -15
- package/src/pages-v2/checkout/checkout-alt-form/steps/address/styles.ts +1 -1
- package/src/pages-v2/checkout/checkout-alt-form/steps/customer-info/customer-information.tsx +8 -8
- package/src/pages-v2/checkout/checkout-alt-form/steps/payment/payment-details.tsx +8 -8
- package/src/pages-v2/checkout/checkout-alt-form/steps/payment/safe-card-preview-data.tsx +2 -2
- package/src/pages-v2/checkout/checkout-alt-form/steps/shipping/delivery-date.tsx +4 -4
- package/src/pages-v2/checkout/checkout-alt-form/steps/shipping/delivery-options.tsx +19 -19
- package/src/pages-v2/checkout/checkout-alt-summary/cart-item.tsx +2 -2
- package/src/pages-v2/checkout/checkout-alt-summary/checkout-alt-summary.tsx +9 -9
- package/src/pages-v2/checkout/checkout-alt-summary/list-item.tsx +2 -2
- package/src/pages-v2/confirmation/address.tsx +4 -4
- package/src/pages-v2/confirmation/confirmation-summary.tsx +3 -3
- package/src/pages-v2/confirmation/ordered-products.tsx +9 -8
- package/src/pages-v2/product-details/available-shops.tsx +6 -6
- package/src/pages-v2/product-details/bopis/find-in-store-button.tsx +3 -3
- package/src/pages-v2/product-details/bopis/find-in-store-modal.tsx +16 -17
- package/src/pages-v2/product-details/bopis/pickup-option-select.tsx +4 -4
- package/src/pages-v2/product-details/bopis/search-header.tsx +3 -2
- package/src/pages-v2/product-details/bopis/store-card/shop-card.tsx +14 -15
- package/src/pages-v2/product-details/bopis/store-card/utils/getDaysResources.ts +1 -1
- package/src/pages-v2/product-details/checkbox-label.tsx +2 -2
- package/src/pages-v2/product-details/currency.ts +1 -0
- package/src/pages-v2/product-details/frequently-bought.tsx +11 -11
- package/src/pages-v2/product-details/frequently-product-card.tsx +4 -4
- package/src/pages-v2/product-details/product-comment.tsx +3 -3
- package/src/pages-v2/product-details/product-description.tsx +1 -1
- package/src/pages-v2/product-details/product-filter-card.tsx +13 -13
- package/src/pages-v2/product-details/product-intro/compound/context.ts +10 -5
- package/src/pages-v2/product-details/product-intro/compound/product-info.tsx +19 -19
- package/src/pages-v2/product-details/product-intro/compound/product-intro-images.tsx +3 -2
- package/src/pages-v2/product-details/product-intro/compound/product-intro.tsx +6 -6
- package/src/pages-v2/product-details/product-intro/compound/thumbnail-with-skeleton.tsx +1 -1
- package/src/pages-v2/product-details/product-intro/utils.ts +1 -1
- package/src/pages-v2/product-details/product-review.tsx +8 -8
- package/src/pages-v2/product-details/product-tabs.tsx +6 -6
- package/src/pages-v2/product-details/related-products.tsx +5 -5
- package/src/pages-v2/product-list/breadcrumbs.tsx +2 -2
- package/src/pages-v2/product-list/checkbox-label.tsx +2 -2
- package/src/pages-v2/product-list/facet-group.tsx +7 -7
- package/src/pages-v2/product-list/facet.tsx +4 -3
- package/src/pages-v2/product-list/list-filter.tsx +4 -4
- package/src/pages-v2/product-list/pagination.tsx +2 -2
- package/src/pages-v2/product-list/product-list-context.tsx +17 -17
- package/src/pages-v2/product-list/product-list-state.ts +14 -14
- package/src/pages-v2/product-list/product-list-view.tsx +14 -16
- package/src/pages-v2/product-list/product-rating.tsx +2 -2
- package/src/pages-v2/product-list/quick-view-dialog-content.tsx +20 -20
- package/src/pages-v2/product-list/quick-view-dialog.tsx +2 -2
- package/src/pages-v2/product-list/range-filter.tsx +5 -5
- package/src/pages-v2/product-list/scrollbar.tsx +3 -3
- package/src/pages-v2/product-list/search-bar.tsx +12 -12
- package/src/pages-v2/product-list/selected-facets.tsx +4 -4
- package/src/pages-v2/product-list/side-nav.tsx +1 -1
- package/src/pages-v2/product-list/swatch.tsx +3 -4
- package/src/pages-v2/product-list/utils/generate-breadcrumbs.ts +1 -1
- package/src/pages-v2/product-list/utils/product-list-helper.ts +4 -4
- package/src/pages-v2/product-list/utils/product-list-types.ts +1 -1
- package/src/pages-v2/product-list/utils/search-for-category.ts +2 -2
- package/src/pages-v2/product-list/utils/sort-options.ts +1 -1
- package/src/pages-v2/quickorder/order-upload.tsx +2 -2
- package/src/pages-v2/quickorder/provider.tsx +8 -7
- package/src/pages-v2/quickorder/quick-order-header.tsx +1 -1
- package/src/pages-v2/quickorder/quick-order-row.tsx +8 -7
- package/src/pages-v2/quickorder/quick-order-table.tsx +3 -3
- package/src/pages-v2/quickorder/quick-order.tsx +20 -24
- package/src/providers/nav-provider/index.tsx +3 -3
- package/src/providers/nav-provider/utils/createLink.ts +1 -1
- package/src/providers/notifications/notification-context.tsx +3 -3
- package/src/providers/notifications/use-notification.ts +1 -1
- package/tsconfig.json +1 -1
- package/src/components-v2/sticky/Sticky.stories.tsx +0 -88
- package/src/components-v2/sticky/index.ts +0 -1
- package/src/components-v2/sticky/sticky.tsx +0 -62
- package/src/components-v2/sticky/styles.ts +0 -38
- package/src/components-v2/utils/constants.ts +0 -8
- package/src/theme/build-mui-theme.ts +0 -104
- package/src/theme/components.ts +0 -163
- package/src/theme/emotion-cache.tsx +0 -101
- package/src/theme/theme-colors.ts +0 -205
- package/src/theme/theme-options-sample.ts +0 -69
- package/src/theme/theme-options.ts +0 -172
- package/src/theme/theme-provider.tsx +0 -44
- package/src/theme/typography.ts +0 -22
- package/src/theme/utils.ts +0 -17
package/src/auth/auth-options.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
// import { getSecret } from "@evenicanpm/common-core/src/lib/keyvault";
|
|
2
|
+
import { deleteCartCookie } from "@evenicanpm/storefront-core/src/lib/cart-cookie-handler";
|
|
3
|
+
import type {
|
|
5
4
|
GetServerSidePropsContext,
|
|
6
5
|
NextApiRequest,
|
|
7
6
|
NextApiResponse,
|
|
8
7
|
} from "next";
|
|
8
|
+
import type { NextAuthOptions, Session } from "next-auth";
|
|
9
|
+
import type { JWT } from "next-auth/jwt";
|
|
10
|
+
import { getServerSession } from "next-auth/next";
|
|
9
11
|
import { getProviders } from "@/auth/providers";
|
|
10
|
-
import { deleteCartCookie } from "@evenicanpm/storefront-core/src/lib/cart-cookie-handler";
|
|
11
|
-
import { getSecret } from "@evenicanpm/common-core/keyvault";
|
|
12
12
|
|
|
13
13
|
// Split providers into separate array so we can iterate them and match the provider ID
|
|
14
14
|
export type ExtendedJwtToken = JWT & {
|
|
@@ -20,7 +20,7 @@ export type ExtendedSession = Session & { token?: JWT };
|
|
|
20
20
|
|
|
21
21
|
const createAuthOptions = (): NextAuthOptions => {
|
|
22
22
|
const providers = getProviders();
|
|
23
|
-
const secret = getSecret("NEXTAUTH_SECRET");
|
|
23
|
+
const secret = process.env.NEXTAUTH_SECRET; //getSecret("NEXTAUTH_SECRET");
|
|
24
24
|
return {
|
|
25
25
|
providers,
|
|
26
26
|
secret,
|
package/src/auth/msal.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use server";
|
|
2
|
-
import { RequestCookie } from "next/dist/compiled/@edge-runtime/cookies";
|
|
2
|
+
import type { RequestCookie } from "next/dist/compiled/@edge-runtime/cookies";
|
|
3
3
|
import { cookies } from "next/headers";
|
|
4
|
-
import {
|
|
5
|
-
import { ExtendedJwtToken } from "@/auth/auth-options";
|
|
4
|
+
import { decode, encode, type JWT } from "next-auth/jwt";
|
|
5
|
+
import type { ExtendedJwtToken } from "@/auth/auth-options";
|
|
6
|
+
|
|
6
7
|
const NEXT_AUTH_COOKIE_NAME = "next-auth.session-token";
|
|
7
8
|
const SECURE_COOKIE_PREFIX = "__Secure-";
|
|
8
9
|
|
|
9
|
-
import { getSecret } from "@evenicanpm/common-core/keyvault";
|
|
10
|
+
// import { getSecret } from "@evenicanpm/common-core/src/lib/keyvault";
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Retrieves and decodes the NextAuth session cookie from the request.
|
|
@@ -30,7 +31,7 @@ const manuallyRetrieveSessionCookie = async () => {
|
|
|
30
31
|
if (cookie) {
|
|
31
32
|
return decode({
|
|
32
33
|
token: cookie.value,
|
|
33
|
-
secret:
|
|
34
|
+
secret: process.env.NEXTAUTH_SECRET || "",
|
|
34
35
|
});
|
|
35
36
|
}
|
|
36
37
|
//If the cookie is not found, we need to see if there is a chunked cookie
|
|
@@ -51,7 +52,7 @@ const manuallyRetrieveSessionCookie = async () => {
|
|
|
51
52
|
if (cookieValues.length) {
|
|
52
53
|
return decode({
|
|
53
54
|
token: cookieValues.join(""),
|
|
54
|
-
secret:
|
|
55
|
+
secret: process.env.NEXTAUTH_SECRET || "",
|
|
55
56
|
});
|
|
56
57
|
}
|
|
57
58
|
|
|
@@ -75,7 +76,7 @@ const manuallySetSessionCookie = async (token: JWT | ExtendedJwtToken) => {
|
|
|
75
76
|
// Set the cookie with the name __Secure-next-auth.session-token
|
|
76
77
|
const value = await encode({
|
|
77
78
|
token,
|
|
78
|
-
secret:
|
|
79
|
+
secret: process.env.NEXTAUTH_SECRET || "",
|
|
79
80
|
});
|
|
80
81
|
cookieStore.set({
|
|
81
82
|
name: `${SECURE_COOKIE_PREFIX}${NEXT_AUTH_COOKIE_NAME}`,
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use server";
|
|
2
|
-
import { JWT } from "next-auth/jwt";
|
|
3
|
-
// TODO: what is going on here?
|
|
4
|
-
import { AuthorizationEndpointHandler, OAuthConfig } from "next-auth/providers";
|
|
5
2
|
import jwt from "jsonwebtoken";
|
|
6
|
-
import {
|
|
3
|
+
import type { JWT } from "next-auth/jwt";
|
|
4
|
+
// TODO: what is going on here?
|
|
5
|
+
import type {
|
|
6
|
+
AuthorizationEndpointHandler,
|
|
7
|
+
OAuthConfig,
|
|
8
|
+
} from "next-auth/providers";
|
|
9
|
+
import type { ExtendedJwtToken } from "@/auth/auth-options";
|
|
7
10
|
import { getProviders } from "@/auth/providers";
|
|
8
11
|
|
|
9
12
|
type TokenResponse = {
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { Box } from "@mui/material";
|
|
2
|
+
import type { Block } from "@/cms/blocks/interfaces";
|
|
2
3
|
import {
|
|
3
|
-
Hero,
|
|
4
|
-
FeaturePill,
|
|
5
|
-
FeaturedProducts,
|
|
6
|
-
FeaturedCategories,
|
|
7
4
|
BrandLogosScroller,
|
|
8
|
-
HeroCarousel,
|
|
9
|
-
Services,
|
|
10
|
-
ProductCarousel,
|
|
11
|
-
ProductSectionFullWidth,
|
|
12
5
|
CategoryCarousel,
|
|
6
|
+
FeaturedCategories,
|
|
7
|
+
FeaturedProducts,
|
|
8
|
+
FeaturePill,
|
|
13
9
|
Footer,
|
|
10
|
+
Hero,
|
|
11
|
+
HeroCarousel,
|
|
14
12
|
Image,
|
|
13
|
+
ProductCarousel,
|
|
14
|
+
ProductSectionFullWidth,
|
|
15
15
|
RichText,
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
Services,
|
|
17
|
+
} from "../blocks/index";
|
|
18
18
|
|
|
19
19
|
const componentMap = {
|
|
20
20
|
"blocks.hero-section": Hero,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React from "react";
|
|
4
|
-
import Image from "next/image";
|
|
5
|
-
import { Box, Container } from "@mui/material";
|
|
6
3
|
import { keyframes } from "@emotion/react";
|
|
4
|
+
import { Box, Container } from "@mui/material";
|
|
5
|
+
import Image from "next/image";
|
|
6
|
+
import React from "react";
|
|
7
|
+
import type { LogoScrollerBlock } from "@/cms/blocks/interfaces";
|
|
7
8
|
import cmsEndPoints from "@/cms/endpoints";
|
|
8
|
-
import { LogoScrollerBlock } from "@/cms/blocks/interfaces";
|
|
9
9
|
|
|
10
10
|
const bounce = keyframes`
|
|
11
11
|
from {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import Card from "@mui/material/Card";
|
|
3
1
|
import Box from "@mui/material/Box";
|
|
4
2
|
import Button from "@mui/material/Button";
|
|
3
|
+
import Card from "@mui/material/Card";
|
|
5
4
|
import Image from "next/image";
|
|
5
|
+
import React from "react";
|
|
6
6
|
|
|
7
7
|
import cmsEndPoints from "@/cms/endpoints";
|
|
8
8
|
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React from "react";
|
|
4
|
-
import NextLink from "next/link";
|
|
5
|
-
|
|
6
|
-
// CUSTOM ICON COMPONENT
|
|
7
|
-
import CategoryIcon from "@/cms/blocks/icons/components/category";
|
|
8
|
-
|
|
9
3
|
// GLOBAL CUSTOM COMPONENT
|
|
10
4
|
import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
|
|
11
5
|
import { Carousel } from "@evenicanpm/storefront-core/src/components-v2/carousel/index";
|
|
12
6
|
import { Section } from "@evenicanpm/storefront-core/src/components-v2/section";
|
|
13
|
-
|
|
7
|
+
import NextLink from "next/link";
|
|
8
|
+
import React from "react";
|
|
14
9
|
// LOCAL CUSTOM COMPONENT
|
|
15
10
|
import TopCategoriesCard from "@/cms/blocks/components/shared/top-categories-card";
|
|
11
|
+
// CUSTOM ICON COMPONENT
|
|
12
|
+
import CategoryIcon from "@/cms/blocks/icons/components/category";
|
|
13
|
+
import type { CategoryCarouselBlock } from "@/cms/blocks/interfaces";
|
|
16
14
|
import { getImageUrl } from "@/cms/endpoints";
|
|
17
15
|
|
|
18
|
-
import { CategoryCarouselBlock } from "@/cms/blocks/interfaces";
|
|
19
|
-
|
|
20
16
|
export default function CategoryCarousel(data: CategoryCarouselBlock) {
|
|
21
17
|
const responsive = [
|
|
22
18
|
{ breakpoint: 959, settings: { slidesToShow: 2 } },
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { Box, Container,
|
|
1
|
+
import { Box, Container, Divider, Paper, Typography } from "@mui/material";
|
|
2
2
|
import Grid from "@mui/material/Grid2";
|
|
3
3
|
import {
|
|
4
|
-
MdLocalOffer as LocalOffer,
|
|
5
|
-
MdShoppingBag as ShoppingBag,
|
|
6
4
|
MdAddLocation as AddLocation,
|
|
5
|
+
MdLocalOffer as LocalOffer,
|
|
7
6
|
MdMonetizationOn as MonetizationOn,
|
|
7
|
+
MdShoppingBag as ShoppingBag,
|
|
8
8
|
} from "react-icons/md";
|
|
9
|
-
import { FeaturesPillBlock } from "@/cms/blocks/interfaces";
|
|
9
|
+
import type { FeaturesPillBlock } from "@/cms/blocks/interfaces";
|
|
10
|
+
|
|
10
11
|
const FeaturePill = (featurePillData: FeaturesPillBlock) => {
|
|
11
12
|
return (
|
|
12
13
|
<Box
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Box, Container } from "@mui/material";
|
|
3
2
|
import Grid from "@mui/material/Grid2";
|
|
3
|
+
import React from "react";
|
|
4
4
|
|
|
5
5
|
// Local components
|
|
6
6
|
import CategoryCard from "@/cms/blocks/components/category-card";
|
|
7
|
-
import {
|
|
7
|
+
import type {
|
|
8
|
+
Category,
|
|
9
|
+
FeaturedCategoriesBlock,
|
|
10
|
+
} from "@/cms/blocks/interfaces";
|
|
8
11
|
|
|
9
12
|
const FeaturedCategories = (categoriesData: FeaturedCategoriesBlock) => {
|
|
10
13
|
return (
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Box, Container } from "@mui/material";
|
|
3
2
|
import Grid from "@mui/material/Grid2";
|
|
3
|
+
import React from "react";
|
|
4
4
|
|
|
5
5
|
// Local components
|
|
6
6
|
import MediaCard from "@/cms/blocks/components/media-card";
|
|
7
|
-
import { FeaturedProductsBlock, Product } from "@/cms/blocks/interfaces";
|
|
7
|
+
import type { FeaturedProductsBlock, Product } from "@/cms/blocks/interfaces";
|
|
8
8
|
|
|
9
9
|
const FeaturedProducts = (productsData: FeaturedProductsBlock) => {
|
|
10
10
|
return (
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
// CUSTOM ICON COMPONENTS
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
FaGoogle as Google,
|
|
5
|
+
FaInstagram as Instagram,
|
|
6
|
+
FaTwitter as Twitter,
|
|
7
|
+
} from "react-icons/fa";
|
|
2
8
|
import { MdFacebook as Facebook } from "react-icons/md";
|
|
3
|
-
import { FaGoogle as Google } from "react-icons/fa";
|
|
4
|
-
import { FaTwitter as Twitter } from "react-icons/fa";
|
|
5
|
-
import { FaInstagram as Instagram } from "react-icons/fa";
|
|
6
9
|
|
|
7
10
|
export const ABOUT_LINKS = [
|
|
8
11
|
"Careers",
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
1
|
// MUI
|
|
4
2
|
import { Box, Container } from "@mui/material";
|
|
5
3
|
import Grid from "@mui/material/Grid2";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import Logo from "@/cms/blocks/components/footer/sections/footer-logo";
|
|
9
|
-
import Links from "@/cms/blocks/components/footer/sections/footer-links";
|
|
10
|
-
import Contact from "@/cms/blocks/components/footer/sections/footer-contact";
|
|
11
|
-
|
|
12
|
-
import cms from "@/cms/endpoints";
|
|
13
|
-
|
|
14
|
-
import {
|
|
4
|
+
import React from "react";
|
|
5
|
+
import type {
|
|
15
6
|
FooterBlock,
|
|
16
7
|
FooterResponse,
|
|
17
8
|
} from "@/cms/blocks/components/footer/interfaces";
|
|
9
|
+
import Contact from "@/cms/blocks/components/footer/sections/footer-contact";
|
|
10
|
+
import Links from "@/cms/blocks/components/footer/sections/footer-links";
|
|
11
|
+
// Local Custom Components
|
|
12
|
+
import Logo from "@/cms/blocks/components/footer/sections/footer-logo";
|
|
13
|
+
import cms from "@/cms/endpoints";
|
|
18
14
|
|
|
19
15
|
const getBlockComponent = (block: FooterBlock, index: number) => {
|
|
20
16
|
let Block;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React, { Fragment } from "react";
|
|
2
1
|
import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
|
|
2
|
+
import { Box } from "@mui/material";
|
|
3
|
+
import React, { Fragment } from "react";
|
|
3
4
|
import { MdFacebook as Facebook } from "react-icons/md";
|
|
4
5
|
import { Link } from "react-router-dom";
|
|
5
|
-
import { Box } from "@mui/material";
|
|
6
6
|
|
|
7
7
|
export const PLAY_APP_STORE_DATA = [
|
|
8
8
|
{ url: "/", icon: Facebook, title: "Google Play", subtitle: "Get it on" },
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Heading } from "@/cms/blocks/components/footer/styles/index";
|
|
3
1
|
import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
4
2
|
import Grid from "@mui/material/Grid2";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import type { SocialLink } from "@/cms/blocks/components/footer/interfaces";
|
|
5
5
|
import SocialLinks from "@/cms/blocks/components/footer/sections/footer-social-links";
|
|
6
|
-
import {
|
|
6
|
+
import { Heading } from "@/cms/blocks/components/footer/styles/index";
|
|
7
7
|
|
|
8
8
|
interface Props {
|
|
9
9
|
isDark?: boolean;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import { Box } from "@mui/material";
|
|
2
|
+
import Grid from "@mui/material/Grid2";
|
|
1
3
|
import React, { Fragment } from "react";
|
|
4
|
+
import type { Link } from "@/cms/blocks/components/footer/interfaces";
|
|
2
5
|
import {
|
|
3
6
|
Heading,
|
|
4
7
|
StyledLink,
|
|
5
8
|
} from "@/cms/blocks/components/footer/styles/index";
|
|
6
|
-
import { Box } from "@mui/material";
|
|
7
|
-
import Grid from "@mui/material/Grid2";
|
|
8
|
-
import { Link } from "@/cms/blocks/components/footer/interfaces";
|
|
9
9
|
|
|
10
10
|
interface Props {
|
|
11
11
|
isDark?: boolean;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React from "react";
|
|
4
|
-
import Grid from "@mui/material/Grid2";
|
|
5
|
-
import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
6
3
|
import SiteLogo from "@evenicanpm/storefront-core/src/components-v2/site-logo";
|
|
4
|
+
import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
5
|
+
import Grid from "@mui/material/Grid2";
|
|
7
6
|
import useTheme from "@mui/material/styles/useTheme";
|
|
8
7
|
import useMediaQuery from "@mui/material/useMediaQuery";
|
|
8
|
+
import React from "react";
|
|
9
9
|
|
|
10
10
|
interface Props {
|
|
11
11
|
description: string;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// Custom Components
|
|
4
|
+
import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
|
|
4
5
|
import IconButton from "@mui/material/IconButton";
|
|
5
6
|
import styled from "@mui/material/styles/styled";
|
|
6
|
-
|
|
7
|
+
import React from "react";
|
|
8
|
+
import {
|
|
9
|
+
FaGoogle as Google,
|
|
10
|
+
FaInstagram as Instagram,
|
|
11
|
+
FaTwitter as Twitter,
|
|
12
|
+
} from "react-icons/fa";
|
|
7
13
|
// Social Icons
|
|
8
14
|
import { MdFacebook as Facebook } from "react-icons/md";
|
|
9
|
-
import {
|
|
10
|
-
import { FaTwitter as Twitter } from "react-icons/fa";
|
|
11
|
-
import { FaInstagram as Instagram } from "react-icons/fa";
|
|
12
|
-
|
|
13
|
-
// Custom Components
|
|
14
|
-
import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
|
|
15
|
-
import { SocialLink } from "@/cms/blocks/components/footer/interfaces";
|
|
15
|
+
import type { SocialLink } from "@/cms/blocks/components/footer/interfaces";
|
|
16
16
|
|
|
17
17
|
// Styled Components
|
|
18
18
|
const StyledIconButton = styled(IconButton, {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React from "react";
|
|
4
3
|
import { Box, Container, Typography } from "@mui/material";
|
|
5
4
|
import Grid from "@mui/material/Grid2";
|
|
5
|
+
import { useTheme } from "@mui/material/styles";
|
|
6
|
+
import React from "react";
|
|
6
7
|
import {
|
|
8
|
+
MdEmail as Email,
|
|
7
9
|
MdLocationOn as LocationOn,
|
|
8
10
|
MdPhone as Phone,
|
|
9
|
-
MdEmail as Email,
|
|
10
11
|
} from "react-icons/md";
|
|
11
|
-
import {
|
|
12
|
-
import { FooterBlock } from "@/cms/blocks/interfaces";
|
|
12
|
+
import type { FooterBlock } from "@/cms/blocks/interfaces";
|
|
13
13
|
|
|
14
14
|
const contactItemSx = {
|
|
15
15
|
display: "flex",
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
// Template: Market1
|
|
2
2
|
// This component works best with cutout product images
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { Box, Container } from "@mui/material";
|
|
5
3
|
|
|
6
4
|
// GLOBAL CUSTOM COMPONENTS
|
|
7
5
|
import { Carousel } from "@evenicanpm/storefront-core/src/components-v2/carousel/index";
|
|
8
6
|
import CarouselCard1 from "@evenicanpm/storefront-core/src/components-v2/carousel-cards/carousel-card-1/index";
|
|
9
|
-
|
|
7
|
+
import { Box, Container } from "@mui/material";
|
|
8
|
+
import React from "react";
|
|
9
|
+
import type { HeroCarouselBlock, Slide } from "@/cms/blocks/interfaces";
|
|
10
10
|
import { getImageUrl } from "@/cms/endpoints";
|
|
11
|
-
import { HeroCarouselBlock, Slide } from "@/cms/blocks/interfaces";
|
|
12
11
|
|
|
13
12
|
export default function HeroCarousel(data: HeroCarouselBlock) {
|
|
14
13
|
return (
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import NextLink from "next/link";
|
|
1
|
+
import { Box, Button, Container, Typography } from "@mui/material";
|
|
3
2
|
import Image from "next/image";
|
|
4
|
-
import
|
|
5
|
-
|
|
3
|
+
import NextLink from "next/link";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import type { HeroSectionBlock } from "@/cms/blocks/interfaces";
|
|
6
6
|
import cmsEndPoints from "@/cms/endpoints";
|
|
7
|
-
import { HeroSectionBlock } from "@/cms/blocks/interfaces";
|
|
8
7
|
|
|
9
8
|
const sxBanner = {
|
|
10
9
|
position: "relative",
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import NextImage from "next/image";
|
|
3
|
-
import { getImageUrl } from "@/cms/endpoints";
|
|
4
|
-
import { sizes } from "@/cms/endpoints";
|
|
5
1
|
import { Container, Paper } from "@mui/material";
|
|
6
|
-
import
|
|
2
|
+
import NextImage from "next/image";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import type { Media } from "@/cms/blocks/interfaces";
|
|
5
|
+
import { getImageUrl, type sizes } from "@/cms/endpoints";
|
|
7
6
|
|
|
8
7
|
interface Props {
|
|
9
8
|
media: Media;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Box from "@mui/material/Box";
|
|
2
2
|
import Card from "@mui/material/Card";
|
|
3
3
|
import CardContent from "@mui/material/CardContent";
|
|
4
|
-
import Box from "@mui/material/Box";
|
|
5
4
|
import Typography from "@mui/material/Typography";
|
|
6
5
|
import Image from "next/image";
|
|
6
|
+
import React from "react";
|
|
7
7
|
|
|
8
8
|
import cmsEndPoints from "@/cms/endpoints";
|
|
9
9
|
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
3
|
-
import { Light } from "@/cms/blocks/icons/index";
|
|
4
|
-
import { Box } from "@mui/system";
|
|
2
|
+
import getProductByIds from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-by-ids";
|
|
5
3
|
import { Carousel } from "@evenicanpm/storefront-core/src/components-v2/carousel/index";
|
|
6
|
-
import { Section } from "@evenicanpm/storefront-core/src/components-v2/section";
|
|
7
|
-
|
|
8
4
|
// CMS
|
|
9
5
|
import ProductCard from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card/product-card";
|
|
6
|
+
import { Section } from "@evenicanpm/storefront-core/src/components-v2/section";
|
|
7
|
+
import type { SimpleProduct } from "@msdyn365-commerce/retail-proxy";
|
|
8
|
+
import { Box } from "@mui/system";
|
|
9
|
+
import React from "react";
|
|
10
|
+
import { Light } from "@/cms/blocks/icons/index";
|
|
11
|
+
import type { Product, ProductCarouselBlock } from "@/cms/blocks/interfaces";
|
|
10
12
|
import { getImageUrl } from "@/cms/endpoints";
|
|
11
|
-
import getProductByIds from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-by-ids";
|
|
12
|
-
import { SimpleProduct } from "@msdyn365-commerce/retail-proxy";
|
|
13
|
-
import { Product, ProductCarouselBlock } from "@/cms/blocks/interfaces";
|
|
14
13
|
|
|
15
14
|
type CombinedProduct = Product & SimpleProduct;
|
|
16
15
|
|
|
@@ -1,32 +1,28 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
// Icons
|
|
6
|
-
import { getIcon } from "@/cms/blocks/icons/index";
|
|
7
|
-
|
|
8
|
-
// Components
|
|
9
|
-
import Grid from "@mui/material/Grid2";
|
|
10
|
-
import HoverBox from "@evenicanpm/storefront-core/src/components-v2/HoverBox";
|
|
11
|
-
import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
1
|
+
import { getQueryClient } from "@evenicanpm/storefront-core/src/api-manager/services/get-query-client";
|
|
2
|
+
// API
|
|
3
|
+
import getProductByIds from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-by-ids";
|
|
12
4
|
import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
|
|
5
|
+
import HoverBox from "@evenicanpm/storefront-core/src/components-v2/HoverBox";
|
|
13
6
|
import { Section } from "@evenicanpm/storefront-core/src/components-v2/section";
|
|
14
|
-
|
|
7
|
+
import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
8
|
+
import buildDetailUrl from "@evenicanpm/storefront-core/src/lib/build-detail-url";
|
|
15
9
|
// Utils
|
|
16
10
|
import { currency } from "@evenicanpm/storefront-core/src/lib/lib";
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
11
|
+
import type { SimpleProduct } from "@msdyn365-commerce/retail-proxy";
|
|
12
|
+
// Components
|
|
13
|
+
import Grid from "@mui/material/Grid2";
|
|
14
|
+
import Image from "next/image";
|
|
15
|
+
import NextLink from "next/link";
|
|
16
|
+
import React from "react";
|
|
17
|
+
// Icons
|
|
18
|
+
import { getIcon } from "@/cms/blocks/icons/index";
|
|
23
19
|
|
|
24
|
-
import {
|
|
20
|
+
import type {
|
|
25
21
|
Product,
|
|
26
22
|
ProductSectionFullWidthBlock,
|
|
27
23
|
ProductWrapper,
|
|
28
24
|
} from "@/cms/blocks/interfaces";
|
|
29
|
-
import {
|
|
25
|
+
import { getImageUrl } from "@/cms/endpoints";
|
|
30
26
|
|
|
31
27
|
type CombinedProduct = Product & SimpleProduct;
|
|
32
28
|
export default async function ProductSectionFullWidth(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import cmsEndPoints from "@/cms/endpoints";
|
|
3
2
|
import { Helmet } from "react-helmet-async";
|
|
4
|
-
import { MetaItem, SeoPageData } from "@/cms/blocks/interfaces";
|
|
3
|
+
import type { MetaItem, SeoPageData } from "@/cms/blocks/interfaces";
|
|
4
|
+
import cmsEndPoints from "@/cms/endpoints";
|
|
5
5
|
|
|
6
6
|
// SEO Component to be populated
|
|
7
7
|
// Included in storefront repo to ensure correct import of react-helmet-async,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import Grid from "@mui/material/Grid2";
|
|
3
1
|
import Container from "@mui/material/Container";
|
|
2
|
+
import Grid from "@mui/material/Grid2";
|
|
3
|
+
import React from "react";
|
|
4
4
|
// LOCAL CUSTOM COMPONENTS
|
|
5
5
|
import ServiceCard from "@/cms/blocks/components/services/service-card";
|
|
6
|
-
import {
|
|
7
|
-
ServicesBlock,
|
|
6
|
+
import type {
|
|
8
7
|
ServiceCard as ServiceCardItem,
|
|
8
|
+
ServicesBlock,
|
|
9
9
|
} from "@/cms/blocks/interfaces";
|
|
10
10
|
|
|
11
11
|
export default function Services(data: ServicesBlock) {
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React from "react";
|
|
4
|
-
import Fab from "@mui/material/Fab";
|
|
5
|
-
import Grid from "@mui/material/Grid2";
|
|
6
|
-
import Card from "@mui/material/Card";
|
|
7
|
-
import styled from "@mui/material/styles/styled";
|
|
8
|
-
|
|
9
|
-
// CUSTOM ICON COMPONENTS
|
|
10
|
-
import { getIcon } from "@/cms/blocks/icons/index";
|
|
11
|
-
|
|
12
3
|
// GLOBAL CUSTOM COMPONENTS
|
|
13
4
|
import {
|
|
14
5
|
H4,
|
|
15
6
|
Span,
|
|
16
7
|
} from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
8
|
+
import Card from "@mui/material/Card";
|
|
9
|
+
import Fab from "@mui/material/Fab";
|
|
10
|
+
import Grid from "@mui/material/Grid2";
|
|
11
|
+
import styled from "@mui/material/styles/styled";
|
|
12
|
+
import React from "react";
|
|
13
|
+
// CUSTOM ICON COMPONENTS
|
|
14
|
+
import { getIcon } from "@/cms/blocks/icons/index";
|
|
17
15
|
|
|
18
16
|
// CUSTOM DATA MODEL
|
|
19
17
|
interface Service {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
// GLOBAL CUSTOM COMPONENTS
|
|
3
2
|
import HoverBox from "@evenicanpm/storefront-core/src/components-v2/HoverBox";
|
|
4
|
-
import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
5
3
|
import Image from "@evenicanpm/storefront-core/src/components-v2/Image";
|
|
4
|
+
import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
5
|
+
import React from "react";
|
|
6
6
|
|
|
7
7
|
// ==========================================================
|
|
8
8
|
type Props = { title: string; imgUrl: string };
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { HtmlHTMLAttributes } from "react";
|
|
3
|
-
import { styled, SxProps, Theme } from "@mui/material/styles";
|
|
4
|
-
// GLOBAL CUSTOM COMPONENTS
|
|
5
|
-
import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
6
1
|
import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
|
|
7
2
|
import BazaarImage from "@evenicanpm/storefront-core/src/components-v2/BazaarImage";
|
|
3
|
+
// GLOBAL CUSTOM COMPONENTS
|
|
4
|
+
import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
5
|
+
import { type SxProps, styled, type Theme } from "@mui/material/styles";
|
|
6
|
+
import React, { type HtmlHTMLAttributes } from "react";
|
|
8
7
|
|
|
9
8
|
// STYLED COMPONENT
|
|
10
9
|
const StyledBazaarCard = styled(BazaarCard)(({ theme }) => ({
|