@evenicanpm/storefront-core 1.2.2 → 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 +7639 -41393
- 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 -22
- 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
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { createContext, useContext, ReactNode, useState } from "react";
|
|
2
|
-
import Link from "next/link";
|
|
3
|
-
import Card from "@mui/material/Card";
|
|
4
|
-
import Rating from "@mui/material/Rating";
|
|
5
|
-
import styled from "@mui/material/styles/styled";
|
|
6
|
-
import IconButton from "@mui/material/IconButton";
|
|
7
|
-
import RemoveRedEye from "@mui/icons-material/RemoveRedEye";
|
|
8
|
-
// GLOBAL CUSTOM COMPONENTS
|
|
9
|
-
import { H5 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
10
1
|
import ImageWithFallback from "@evenicanpm/storefront-core/src/components-v2/ImageWithFallback";
|
|
11
|
-
import AddToWishlistDialog from "@evenicanpm/storefront-core/src/components-v2/wishlist-dialogs/add-to-wishlist";
|
|
12
|
-
import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
|
|
13
2
|
// LOCAL CUSTOM COMPONENTS
|
|
14
3
|
import DiscountChip from "@evenicanpm/storefront-core/src/components-v2/product-cards/discount-chip";
|
|
15
|
-
import ProductPrice from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-price";
|
|
16
|
-
import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-cards/quantity-buttons";
|
|
17
4
|
import FavoriteButton from "@evenicanpm/storefront-core/src/components-v2/product-cards/favorite-button";
|
|
18
5
|
import ProductTags from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-plp-list/components/tags";
|
|
19
|
-
|
|
20
|
-
import
|
|
6
|
+
import ProductPrice from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-price";
|
|
7
|
+
import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-cards/quantity-buttons";
|
|
8
|
+
import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
|
|
9
|
+
// GLOBAL CUSTOM COMPONENTS
|
|
10
|
+
import { H5 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
11
|
+
import AddToWishlistDialog from "@evenicanpm/storefront-core/src/components-v2/wishlist-dialogs/add-to-wishlist";
|
|
21
12
|
import useCart from "@evenicanpm/storefront-core/src/hooks/use-cart";
|
|
22
13
|
import useFavorite from "@evenicanpm/storefront-core/src/hooks/use-favorite";
|
|
14
|
+
// LIBRARY AND HOOKS
|
|
15
|
+
import buildDetailUrl from "@evenicanpm/storefront-core/src/lib/build-detail-url";
|
|
16
|
+
import RemoveRedEye from "@mui/icons-material/RemoveRedEye";
|
|
17
|
+
import Card from "@mui/material/Card";
|
|
18
|
+
import IconButton from "@mui/material/IconButton";
|
|
19
|
+
import Rating from "@mui/material/Rating";
|
|
20
|
+
import styled from "@mui/material/styles/styled";
|
|
21
|
+
import Link from "next/link";
|
|
22
|
+
import { createContext, type ReactNode, useContext, useState } from "react";
|
|
23
23
|
|
|
24
24
|
// STYLED COMPONENT
|
|
25
25
|
const Wrapper = styled(Card)({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { Box } from "@mui/material";
|
|
1
2
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
3
|
import React from "react";
|
|
3
|
-
import ProductCardSearch from "./index";
|
|
4
4
|
import { data } from "../../../../__mocks__/products";
|
|
5
|
-
import
|
|
5
|
+
import ProductCardSearch from "./index";
|
|
6
6
|
|
|
7
7
|
const meta = {
|
|
8
8
|
title: "Product/ProductCards/ProductCardSearch",
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import Link from "next/link";
|
|
5
|
-
import Box from "@mui/material/Box";
|
|
6
|
-
import Rating from "@mui/material/Rating";
|
|
7
|
-
// MUI ICON COMPONENTS
|
|
8
|
-
import { RemoveRedEye } from "@mui/icons-material";
|
|
3
|
+
import { FlexRowCenter } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
|
|
9
4
|
// GLOBAL CUSTOM COMPONENTS
|
|
10
5
|
import LazyImage from "@evenicanpm/storefront-core/src/components-v2/LazyImage";
|
|
11
|
-
import
|
|
6
|
+
import FavoriteButton from "@evenicanpm/storefront-core/src/components-v2/product-cards/favorite-button";
|
|
7
|
+
// STYLED COMPONENTS
|
|
8
|
+
import {
|
|
9
|
+
Card,
|
|
10
|
+
CardMedia,
|
|
11
|
+
QuickViewSmallButton,
|
|
12
|
+
} from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-search/styles/index";
|
|
13
|
+
import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
|
|
12
14
|
import {
|
|
13
15
|
H4,
|
|
14
16
|
Paragraph,
|
|
15
17
|
Small,
|
|
16
18
|
} from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
17
|
-
import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
|
|
18
19
|
import AddToWishlistDialog from "@evenicanpm/storefront-core/src/components-v2/wishlist-dialogs/add-to-wishlist";
|
|
19
|
-
import
|
|
20
|
+
import useFavorite from "@evenicanpm/storefront-core/src/hooks/use-favorite";
|
|
20
21
|
// LIBRARY AND HOOKS
|
|
21
22
|
import buildDetailUrl from "@evenicanpm/storefront-core/src/lib/build-detail-url";
|
|
22
23
|
import { currency } from "@evenicanpm/storefront-core/src/lib/lib";
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
import
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
} from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-search/styles/index";
|
|
24
|
+
// MUI ICON COMPONENTS
|
|
25
|
+
import { RemoveRedEye } from "@mui/icons-material";
|
|
26
|
+
import Box from "@mui/material/Box";
|
|
27
|
+
import Rating from "@mui/material/Rating";
|
|
28
|
+
import Link from "next/link";
|
|
29
|
+
import { createContext, type ReactNode, useContext, useState } from "react";
|
|
30
30
|
|
|
31
31
|
type Product = {
|
|
32
32
|
slug: string;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import Box from "@mui/material/Box";
|
|
2
1
|
// GLOBAL CUSTOM COMPONENTS
|
|
3
2
|
import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
|
|
4
3
|
import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
@@ -7,6 +6,7 @@ import {
|
|
|
7
6
|
calculateDiscount,
|
|
8
7
|
currency,
|
|
9
8
|
} from "@evenicanpm/storefront-core/src/lib/lib";
|
|
9
|
+
import Box from "@mui/material/Box";
|
|
10
10
|
|
|
11
11
|
// ==============================================================
|
|
12
12
|
type Props = { price: number; discount: number };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { BoxProps } from "@mui/material/Box";
|
|
1
|
+
import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
|
|
3
2
|
// GLOBAL CUSTOM COMPONENTS
|
|
4
3
|
import { Span } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
5
|
-
import
|
|
4
|
+
import type { BoxProps } from "@mui/material/Box";
|
|
5
|
+
import Rating from "@mui/material/Rating";
|
|
6
6
|
|
|
7
7
|
// ==============================================================
|
|
8
8
|
interface Props extends BoxProps {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Fragment } from "react";
|
|
2
|
-
import Button from "@mui/material/Button";
|
|
3
|
-
// MUI ICON COMPONENTS
|
|
4
|
-
import Add from "@mui/icons-material/Add";
|
|
5
|
-
import Remove from "@mui/icons-material/Remove";
|
|
6
1
|
// GLOBAL CUSTOM COMPONENTS
|
|
7
2
|
import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box/index";
|
|
8
3
|
import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
4
|
+
// MUI ICON COMPONENTS
|
|
5
|
+
import Add from "@mui/icons-material/Add";
|
|
6
|
+
import Remove from "@mui/icons-material/Remove";
|
|
9
7
|
import { CircularProgress } from "@mui/material";
|
|
8
|
+
import Button from "@mui/material/Button";
|
|
9
|
+
import { Fragment } from "react";
|
|
10
10
|
|
|
11
11
|
// ==============================================================
|
|
12
12
|
interface Props {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import ProductDialog from "./index";
|
|
3
1
|
import { Button } from "@mui/material";
|
|
2
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
4
3
|
import { useArgs } from "storybook/internal/preview-api";
|
|
5
4
|
import { data } from "../../../__mocks__/products";
|
|
5
|
+
import ProductDialog from "./index";
|
|
6
6
|
|
|
7
7
|
const meta = {
|
|
8
8
|
title: "Product/ProductDialog",
|
|
@@ -2,27 +2,27 @@
|
|
|
2
2
|
* @module ProductViewDialog
|
|
3
3
|
*/
|
|
4
4
|
"use client";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import Dialog from "@mui/material/Dialog";
|
|
8
|
-
import Divider from "@mui/material/Divider";
|
|
9
|
-
import IconButton from "@mui/material/IconButton";
|
|
10
|
-
import DialogContent from "@mui/material/DialogContent";
|
|
11
|
-
import Close from "@mui/icons-material/Close";
|
|
12
|
-
import { Carousel } from "@evenicanpm/storefront-core/src/components-v2/carousel";
|
|
5
|
+
import type { ProductDetails } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
|
|
6
|
+
import getProductById from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-by-id";
|
|
13
7
|
import BazaarImage from "@evenicanpm/storefront-core/src/components-v2/BazaarImage";
|
|
8
|
+
import { Carousel } from "@evenicanpm/storefront-core/src/components-v2/carousel";
|
|
14
9
|
import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
|
|
10
|
+
import QuantityVariantsSelect from "@evenicanpm/storefront-core/src/components-v2/product-quantity-variants";
|
|
15
11
|
import {
|
|
16
|
-
H2,
|
|
17
|
-
Paragraph,
|
|
18
12
|
H1,
|
|
13
|
+
H2,
|
|
19
14
|
H6,
|
|
15
|
+
Paragraph,
|
|
20
16
|
} from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
21
17
|
import { currency } from "@evenicanpm/storefront-core/src/lib/lib";
|
|
22
|
-
import
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
import
|
|
18
|
+
import Close from "@mui/icons-material/Close";
|
|
19
|
+
import Dialog from "@mui/material/Dialog";
|
|
20
|
+
import DialogContent from "@mui/material/DialogContent";
|
|
21
|
+
import Divider from "@mui/material/Divider";
|
|
22
|
+
import Grid from "@mui/material/Grid2";
|
|
23
|
+
import IconButton from "@mui/material/IconButton";
|
|
24
|
+
import Rating from "@mui/material/Rating";
|
|
25
|
+
import { createContext, type ReactElement, useContext } from "react";
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* @category Props
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
// Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import useVariants from "../../hooks/use-variants";
|
|
4
6
|
import { data, product } from "./__mocks__/data";
|
|
5
7
|
import { Dimensions } from "./compound/dimensions";
|
|
6
|
-
import useVariants from "../../hooks/use-variants";
|
|
7
8
|
|
|
8
9
|
const meta = {
|
|
9
10
|
title: "Product/Dimensions",
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
"use client";
|
|
5
5
|
import { DimensionsContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions";
|
|
6
|
+
import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
|
|
7
|
+
import { hasSelectedDimension } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/utils/has-selected-dimension";
|
|
6
8
|
import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
7
|
-
import { useTranslations } from "next-intl";
|
|
8
9
|
import { ProductDimensionType } from "@msdyn365-commerce/retail-proxy";
|
|
9
|
-
import {
|
|
10
|
+
import { useTranslations } from "next-intl";
|
|
10
11
|
import { useContext } from "react";
|
|
11
|
-
import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* An error that corresponds with a specific dimension group.
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* @module ProductDimensions
|
|
3
3
|
*/
|
|
4
4
|
"use client";
|
|
5
|
+
import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
|
|
5
6
|
import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
6
7
|
import { ProductDimensionType } from "@msdyn365-commerce/retail-proxy";
|
|
7
8
|
import { useContext } from "react";
|
|
8
|
-
import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* @category Sub-Component
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module ProductDimensions
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
import {
|
|
4
|
+
|
|
5
|
+
import { DimensionsContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions";
|
|
6
6
|
import {
|
|
7
|
-
ProductDimensionValueInventoryAvailability,
|
|
8
7
|
ProductDimensionType,
|
|
8
|
+
type ProductDimensionValueInventoryAvailability,
|
|
9
9
|
} from "@msdyn365-commerce/retail-proxy";
|
|
10
|
-
import {
|
|
10
|
+
import { Chip } from "@mui/material";
|
|
11
|
+
import React, { useContext } from "react";
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* @category Props
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* @module ProductDimensions
|
|
3
3
|
*/
|
|
4
4
|
"use client";
|
|
5
|
+
import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
|
|
5
6
|
import { DimensionGroupListChip } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group-list-chip";
|
|
6
7
|
import { useContext } from "react";
|
|
7
|
-
import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @category Sub-Component
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
* @module ProductDimensions
|
|
3
3
|
*/
|
|
4
4
|
"use client";
|
|
5
|
-
import Box from "@mui/material/Box";
|
|
6
|
-
import { createContext } from "react";
|
|
7
|
-
import { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
|
|
8
|
-
import { PropsWithChildren } from "react";
|
|
9
5
|
import { DimensionGroupError } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group-error";
|
|
10
6
|
import { DimensionGroupLabel } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group-label";
|
|
11
7
|
import { DimensionGroupList } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group-list";
|
|
8
|
+
import type { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
|
|
9
|
+
import Box from "@mui/material/Box";
|
|
10
|
+
import { createContext, type PropsWithChildren } from "react";
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* @category Props
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
|
|
3
|
-
import React, { PropsWithChildren, ReactElement, createContext } from "react";
|
|
4
2
|
import { DimensionGroup } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
|
|
3
|
+
import type { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
|
|
4
|
+
import React, {
|
|
5
|
+
createContext,
|
|
6
|
+
type PropsWithChildren,
|
|
7
|
+
type ReactElement,
|
|
8
|
+
} from "react";
|
|
5
9
|
|
|
6
10
|
/**
|
|
7
11
|
* @category Context
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
|
|
3
2
|
import { Dimensions } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions";
|
|
3
|
+
import type { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
|
|
4
4
|
|
|
5
5
|
// TODO: When selecting a single dimension, loading spinner starts... not necessary, inefficient.
|
|
6
6
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
4
|
+
import React from "react";
|
|
4
5
|
import { QuantityButtons } from "./compound/quantity-buttons-root";
|
|
5
6
|
|
|
6
7
|
const meta = {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module ProductQuantityButtons
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
|
|
6
|
-
import Button from "@mui/material/Button";
|
|
7
|
-
import { CartLine } from "@msdyn365-commerce/retail-proxy";
|
|
8
|
-
import { useTranslations } from "next-intl";
|
|
9
|
-
import { MdAdd as Add } from "react-icons/md";
|
|
10
|
-
import { MdRemove as Remove } from "react-icons/md";
|
|
11
6
|
import { H3 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
12
|
-
import CircularProgress from "@mui/material/CircularProgress";
|
|
13
7
|
import useCart from "@evenicanpm/storefront-core/src/hooks/use-cart";
|
|
8
|
+
import type { CartLine } from "@msdyn365-commerce/retail-proxy";
|
|
9
|
+
import Button from "@mui/material/Button";
|
|
10
|
+
import CircularProgress from "@mui/material/CircularProgress";
|
|
11
|
+
import { useTranslations } from "next-intl";
|
|
12
|
+
import React, { createContext, type ReactNode, useContext } from "react";
|
|
13
|
+
import { MdAdd as Add, MdRemove as Remove } from "react-icons/md";
|
|
14
14
|
// TODO: Encapsulate the addToCart api calls inside this component
|
|
15
15
|
// so no need to pass in props.
|
|
16
16
|
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
* @component
|
|
3
3
|
* @category Implementation component
|
|
4
4
|
*/
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
type QuantityButtonProps,
|
|
8
|
+
QuantityButtons,
|
|
9
|
+
} from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons/compound/quantity-buttons-root";
|
|
5
10
|
import React from "react";
|
|
6
|
-
import { QuantityButtons } from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons/compound/quantity-buttons-root";
|
|
7
|
-
import { QuantityButtonProps } from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons/compound/quantity-buttons-root";
|
|
8
11
|
|
|
9
12
|
/**
|
|
10
13
|
* Pre-composed version of quantity buttons.
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
4
|
-
import
|
|
4
|
+
import React from "react";
|
|
5
5
|
import { product } from "../../../__mocks__/product-dimensions";
|
|
6
|
+
import QuantityButtons from "./index";
|
|
6
7
|
|
|
7
8
|
const meta = {
|
|
8
9
|
title: "Product/DimensionsQuantitySelector",
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useState } from "react";
|
|
3
|
-
import Box from "@mui/material/Box";
|
|
4
|
-
|
|
5
|
-
// GLOBAL CUSTOM COMPONENTS
|
|
6
|
-
import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons";
|
|
7
2
|
// API MANAGER
|
|
8
|
-
import { ProductDetails } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
|
|
3
|
+
import type { ProductDetails } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
|
|
9
4
|
import getProductAvailability from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-availability";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
// LOCAL COMPONENTS
|
|
6
|
+
import ProductDimensions from "@evenicanpm/storefront-core/src/components-v2/product-dimensions";
|
|
7
|
+
// GLOBAL CUSTOM COMPONENTS
|
|
8
|
+
import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons";
|
|
13
9
|
import useCart, {
|
|
14
|
-
AddToCartBopisInput,
|
|
10
|
+
type AddToCartBopisInput,
|
|
15
11
|
} from "@evenicanpm/storefront-core/src/hooks/use-cart";
|
|
16
12
|
|
|
17
|
-
// LOCAL
|
|
18
|
-
import
|
|
13
|
+
// LOCAL HOOKS
|
|
14
|
+
import useVariants from "@evenicanpm/storefront-core/src/hooks/use-variants";
|
|
15
|
+
import Box from "@mui/material/Box";
|
|
16
|
+
import { useState } from "react";
|
|
19
17
|
|
|
20
18
|
interface Props {
|
|
21
19
|
product: ProductDetails;
|
|
@@ -41,7 +39,9 @@ export default function QuantityVariantsSelect({ product }: Props) {
|
|
|
41
39
|
allDimensionsSelected,
|
|
42
40
|
} = useVariants(product);
|
|
43
41
|
|
|
44
|
-
const
|
|
42
|
+
const productId = selectedVariant?.RecordId ?? RecordId;
|
|
43
|
+
|
|
44
|
+
const { handleAddToCart } = useCart(productId);
|
|
45
45
|
|
|
46
46
|
const searchCriteria = {
|
|
47
47
|
searchCriteria: {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
4
|
-
import
|
|
4
|
+
import React from "react";
|
|
5
5
|
import { data, prices } from "../../../__mocks__/products";
|
|
6
|
+
import { ProductsGrid } from "./index";
|
|
6
7
|
|
|
7
8
|
const meta = {
|
|
8
9
|
title: "Product/ListGrid",
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
// Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
4
|
-
import
|
|
5
|
-
import { data, prices } from "../../../__mocks__/products";
|
|
4
|
+
import React from "react";
|
|
6
5
|
//import { useSession } from "next-auth/react";
|
|
7
6
|
import { expect, mocked } from "storybook/test";
|
|
7
|
+
import { data, prices } from "../../../__mocks__/products";
|
|
8
|
+
import { ProductsList } from "./index";
|
|
8
9
|
|
|
9
10
|
const meta = {
|
|
10
11
|
title: "Product/ListList",
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module ProductsView
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
import type { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
|
|
5
6
|
// DATA MODEL
|
|
6
|
-
import { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
|
|
7
|
-
import {
|
|
7
|
+
import type { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
|
|
8
|
+
import { createContext, useContext } from "react";
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Shared context value for the products list passed into root component.
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module ProductsView
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
import
|
|
4
|
+
|
|
5
|
+
import type { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
|
|
6
6
|
// GLOBAL CUSTOM COMPONENTS
|
|
7
7
|
import { FlexBetween } from "@evenicanpm/storefront-core/src/components-v2/flex-box/index";
|
|
8
8
|
import ProductCardPlp from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-plp/product-card";
|
|
9
|
-
// DATA MODEL
|
|
10
|
-
import { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
|
|
11
9
|
import {
|
|
12
10
|
ProductsViewCardContext,
|
|
13
11
|
ProductsViewContext,
|
|
14
12
|
useProductsView,
|
|
15
13
|
} from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/context";
|
|
16
|
-
import { ProductsViewProps } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/types";
|
|
14
|
+
import type { ProductsViewProps } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/types";
|
|
15
|
+
// DATA MODEL
|
|
16
|
+
import type { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
|
|
17
|
+
import Grid from "@mui/material/Grid2";
|
|
18
|
+
import type React from "react";
|
|
17
19
|
import { cloneElement } from "react";
|
|
18
|
-
import { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* Root component of products grid view.
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module ProductsView
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
import type { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
|
|
5
6
|
// GLOBAL CUSTOM COMPONENTS
|
|
6
7
|
import FlexBetween from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-between";
|
|
7
8
|
import { ProductCardPlpList } from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-plp-list/index";
|
|
8
|
-
import { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
|
|
9
|
-
// DATA MODEL
|
|
10
|
-
import { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
|
|
11
9
|
import {
|
|
12
10
|
ProductsViewContext,
|
|
13
11
|
useProductsView,
|
|
14
12
|
} from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/context";
|
|
15
|
-
import { ProductsViewProps } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/types";
|
|
13
|
+
import type { ProductsViewProps } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/types";
|
|
14
|
+
// DATA MODEL
|
|
15
|
+
import type { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
|
|
16
|
+
import { cloneElement } from "react";
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* Root component of the ProductsListView.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ProductsViewContext } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/context";
|
|
2
|
-
import { PropsWithChildren, ReactNode } from "react";
|
|
1
|
+
import type { ProductsViewContext } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/context";
|
|
2
|
+
import type { PropsWithChildren, ReactNode } from "react";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* This prop type is used for both the ProductsViewGrid and the ProductsViewList.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
|
|
2
2
|
import ProductsGridView from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/products-grid-view";
|
|
3
3
|
import ProductsListView from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/products-list-view";
|
|
4
4
|
// DATA MODEL
|
|
5
|
-
import { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
|
|
6
|
-
import {
|
|
5
|
+
import type { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
|
|
6
|
+
import React, { type ReactNode } from "react";
|
|
7
7
|
|
|
8
8
|
export interface Props {
|
|
9
9
|
/** List of products to display */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { Box, Button, Link as MUILink, Typography } from "@mui/material";
|
|
1
2
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import ProgressBar from "./index";
|
|
3
3
|
import NProgress from "nprogress";
|
|
4
|
-
import
|
|
4
|
+
import ProgressBar from "./index";
|
|
5
5
|
|
|
6
6
|
const meta: Meta<typeof ProgressBar> = {
|
|
7
7
|
title: "Utility/ProgressBar",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// https://github.com/apal21/nextjs-progressbar/issues/86
|
|
2
2
|
|
|
3
3
|
"use client";
|
|
4
|
-
import { useEffect } from "react";
|
|
5
|
-
import NProgress from "nprogress";
|
|
6
|
-
import useTheme from "@mui/material/styles/useTheme";
|
|
7
4
|
import GlobalStyles from "@mui/material/GlobalStyles";
|
|
5
|
+
import useTheme from "@mui/material/styles/useTheme";
|
|
6
|
+
import NProgress from "nprogress";
|
|
7
|
+
import { useEffect } from "react";
|
|
8
8
|
|
|
9
9
|
import "nprogress/nprogress.css";
|
|
10
10
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
4
|
+
import React from "react";
|
|
4
5
|
import Scrollbar from "./index";
|
|
5
6
|
|
|
6
7
|
const meta = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Props } from "simplebar-react";
|
|
1
|
+
import type { SxProps, Theme } from "@mui/material/styles";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
import type { Props } from "simplebar-react";
|
|
4
4
|
import "simplebar-react/dist/simplebar.min.css";
|
|
5
5
|
// STYLED COMPONENT
|
|
6
6
|
import { StyledScrollBar } from "@evenicanpm/storefront-core/src/components-v2/scrollbar/styles";
|