@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
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import Link from "next/link";
|
|
4
|
-
// MUI ICON COMPONENT
|
|
5
|
-
import ArrowForward from "@mui/icons-material/ArrowForward";
|
|
6
3
|
// GLOBAL CUSTOM COMPONENTS
|
|
7
4
|
import { Span } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
5
|
+
// MUI ICON COMPONENT
|
|
6
|
+
import ArrowForward from "@mui/icons-material/ArrowForward";
|
|
7
|
+
import Link from "next/link";
|
|
8
8
|
|
|
9
9
|
// ==========================================
|
|
10
10
|
interface Props {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import Link from "next/link";
|
|
4
|
-
import { usePathname } from "next/navigation";
|
|
5
|
-
import { AnchorHTMLAttributes, CSSProperties } from "react";
|
|
6
3
|
import styled from "@mui/material/styles/styled";
|
|
7
4
|
import clsx from "clsx";
|
|
5
|
+
import Link from "next/link";
|
|
6
|
+
import { usePathname } from "next/navigation";
|
|
7
|
+
import type { AnchorHTMLAttributes, CSSProperties } from "react";
|
|
8
8
|
|
|
9
9
|
// STYLED COMPONENT
|
|
10
10
|
const StyledLink = styled(Link, {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React, { createContext, useContext, ReactNode } from "react";
|
|
4
|
-
import { MdChevronRight as ChevronRight } from "react-icons/md";
|
|
5
|
-
import { useTranslations } from "next-intl";
|
|
6
|
-
|
|
7
|
-
import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
8
3
|
import CategoryMenu from "@evenicanpm/storefront-core/src/components-v2/categories/category-menu";
|
|
9
4
|
import Category from "@evenicanpm/storefront-core/src/components-v2/icons/category";
|
|
10
5
|
import { CategoryMenuButton } from "@evenicanpm/storefront-core/src/components-v2/navbar/styles";
|
|
11
6
|
|
|
7
|
+
import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
8
|
+
import { useTranslations } from "next-intl";
|
|
9
|
+
import React, { createContext, type ReactNode, useContext } from "react";
|
|
10
|
+
import { MdChevronRight as ChevronRight } from "react-icons/md";
|
|
11
|
+
|
|
12
12
|
type CategoriesContextValue = {
|
|
13
13
|
label: string;
|
|
14
14
|
};
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React, { createContext, useContext, useState } from "react";
|
|
4
|
-
import Link from "next/link";
|
|
5
|
-
import Box from "@mui/material/Box";
|
|
6
|
-
import Avatar from "@mui/material/Avatar";
|
|
7
|
-
import KeyboardArrowDown from "@mui/icons-material/KeyboardArrowDown";
|
|
8
|
-
import ChevronRight from "@mui/icons-material/ChevronRight";
|
|
9
3
|
// GLOBAL COMPONENTS
|
|
10
4
|
import FlexRowCenter from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-row-center";
|
|
11
|
-
import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
12
|
-
import Scrollbar from "@evenicanpm/storefront-core/src/components-v2/scrollbar";
|
|
13
|
-
import useSettings from "@evenicanpm/storefront-core/src/hooks/use-settings";
|
|
14
|
-
// LOCAL COMPONENTS
|
|
15
|
-
import { TransformedNavItem } from "@evenicanpm/storefront-core/src/components-v2/navbar/utils/transform-nav";
|
|
16
5
|
// STYLED COMPONENTS
|
|
17
6
|
import {
|
|
18
|
-
Wrapper,
|
|
19
|
-
StyledCard,
|
|
20
|
-
MenusContainer,
|
|
21
7
|
CategoryList,
|
|
22
8
|
CategoryListItem,
|
|
9
|
+
MenusContainer,
|
|
10
|
+
StyledCard,
|
|
23
11
|
SubCategoryList,
|
|
24
12
|
SubCategoryListItem,
|
|
13
|
+
Wrapper,
|
|
25
14
|
} from "@evenicanpm/storefront-core/src/components-v2/navbar/category-based-menu/styles";
|
|
15
|
+
// LOCAL COMPONENTS
|
|
16
|
+
import type { TransformedNavItem } from "@evenicanpm/storefront-core/src/components-v2/navbar/utils/transform-nav";
|
|
17
|
+
import Scrollbar from "@evenicanpm/storefront-core/src/components-v2/scrollbar";
|
|
18
|
+
import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
19
|
+
import useSettings from "@evenicanpm/storefront-core/src/hooks/use-settings";
|
|
20
|
+
import ChevronRight from "@mui/icons-material/ChevronRight";
|
|
21
|
+
import KeyboardArrowDown from "@mui/icons-material/KeyboardArrowDown";
|
|
22
|
+
import Avatar from "@mui/material/Avatar";
|
|
23
|
+
import Box from "@mui/material/Box";
|
|
24
|
+
import Link from "next/link";
|
|
25
|
+
import type React from "react";
|
|
26
|
+
import { createContext, useContext, useState } from "react";
|
|
26
27
|
|
|
27
28
|
type MenuContextValue = {
|
|
28
29
|
openList: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import List from "@mui/material/List";
|
|
2
|
-
import ListItem from "@mui/material/ListItem";
|
|
3
|
-
import styled from "@mui/material/styles/styled";
|
|
4
1
|
// LOCAL CUSTOM COMPONENT
|
|
5
2
|
import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
|
|
6
3
|
import getPaletteColor from "@evenicanpm/storefront-core/src/lib/get-palette-color";
|
|
4
|
+
import List from "@mui/material/List";
|
|
5
|
+
import ListItem from "@mui/material/ListItem";
|
|
6
|
+
import styled from "@mui/material/styles/styled";
|
|
7
7
|
|
|
8
8
|
const Wrapper = styled("div")(({ theme }) => ({
|
|
9
9
|
cursor: "pointer",
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React, { RefObject, createContext, useContext } from "react";
|
|
4
|
-
import Grid from "@mui/material/Grid2";
|
|
5
|
-
import Card from "@mui/material/Card";
|
|
6
|
-
import KeyboardArrowDown from "@mui/icons-material/KeyboardArrowDown";
|
|
7
|
-
import List from "@mui/material/List";
|
|
8
3
|
// GLOBAL COMPONENTS
|
|
9
4
|
import FlexRowCenter from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-row-center";
|
|
10
|
-
import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
11
|
-
// HOOKS
|
|
12
|
-
import useOverflowDetect from "@evenicanpm/storefront-core/src/hooks/use-overflow-detect";
|
|
13
5
|
// STYLED
|
|
14
6
|
import {
|
|
15
|
-
MenusContainer,
|
|
16
|
-
Wrapper,
|
|
17
7
|
MenuListItem,
|
|
8
|
+
MenusContainer,
|
|
18
9
|
StyledNavLink,
|
|
10
|
+
Wrapper,
|
|
19
11
|
} from "@evenicanpm/storefront-core/src/components-v2/navbar/mega-menu/styles";
|
|
12
|
+
import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
13
|
+
// HOOKS
|
|
14
|
+
import useOverflowDetect from "@evenicanpm/storefront-core/src/hooks/use-overflow-detect";
|
|
15
|
+
import KeyboardArrowDown from "@mui/icons-material/KeyboardArrowDown";
|
|
16
|
+
import Card from "@mui/material/Card";
|
|
17
|
+
import Grid from "@mui/material/Grid2";
|
|
18
|
+
import List from "@mui/material/List";
|
|
19
|
+
import type React from "react";
|
|
20
|
+
import { createContext, type RefObject, useContext } from "react";
|
|
20
21
|
|
|
21
22
|
type MegaMenuContextType = {
|
|
22
23
|
isLeftOverflowing: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import ListItem from "@mui/material/ListItem";
|
|
2
|
-
import styled from "@mui/material/styles/styled";
|
|
3
1
|
// GLOBAL CUSTOM COMPONENTS
|
|
4
2
|
import { NavLink } from "@evenicanpm/storefront-core/src/components-v2/nav-link/index";
|
|
3
|
+
import ListItem from "@mui/material/ListItem";
|
|
4
|
+
import styled from "@mui/material/styles/styled";
|
|
5
5
|
|
|
6
6
|
// STYLED COMPONENTS
|
|
7
7
|
export const Wrapper = styled("div")(({ theme }) => ({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { describe, it, vi, beforeEach } from "vitest";
|
|
2
|
-
import { render, screen, fireEvent } from "@testing-library/react";
|
|
3
1
|
import MobileMenu from "@evenicanpm/storefront-core/src/components-v2/navbar/mobile-menu/mobile-menu";
|
|
4
2
|
import { transformCmsNav } from "@evenicanpm/storefront-core/src/components-v2/navbar/utils/transform-nav";
|
|
5
|
-
import {
|
|
3
|
+
import { fireEvent, render, screen } from "@testing-library/react";
|
|
4
|
+
import { beforeEach, describe, it, vi } from "vitest";
|
|
5
|
+
import type { CmsNavItem } from "@/cms/interfaces/navigation";
|
|
6
6
|
|
|
7
7
|
const useContext = vi.fn();
|
|
8
8
|
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { NavLink } from "@evenicanpm/storefront-core/src/components-v2/nav-link";
|
|
4
|
+
import type { TransformedNavItem } from "@evenicanpm/storefront-core/src/components-v2/navbar/utils/transform-nav";
|
|
5
|
+
import Scrollbar from "@evenicanpm/storefront-core/src/components-v2/scrollbar";
|
|
6
|
+
import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
7
|
+
import { NavContext } from "@evenicanpm/storefront-core/src/providers/nav-provider";
|
|
8
|
+
import Accordion from "@mui/material/Accordion";
|
|
9
|
+
import AccordionSummary from "@mui/material/AccordionSummary";
|
|
4
10
|
import Box from "@mui/material/Box";
|
|
11
|
+
import Divider from "@mui/material/Divider";
|
|
5
12
|
import Drawer from "@mui/material/Drawer";
|
|
6
13
|
import IconButton from "@mui/material/IconButton";
|
|
7
|
-
import
|
|
8
|
-
import Accordion from "@mui/material/Accordion";
|
|
9
|
-
import AccordionSummary from "@mui/material/AccordionSummary";
|
|
14
|
+
import { useContext } from "react";
|
|
10
15
|
import {
|
|
11
|
-
MdMenu as Menu,
|
|
12
16
|
MdClear as Clear,
|
|
13
17
|
MdExpandMore as ExpandMore,
|
|
18
|
+
MdMenu as Menu,
|
|
14
19
|
} from "react-icons/md";
|
|
15
|
-
import Scrollbar from "@evenicanpm/storefront-core/src/components-v2/scrollbar";
|
|
16
|
-
import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
17
|
-
import { NavLink } from "@evenicanpm/storefront-core/src/components-v2/nav-link";
|
|
18
|
-
import { TransformedNavItem } from "@evenicanpm/storefront-core/src/components-v2/navbar/utils/transform-nav";
|
|
19
|
-
import { NavContext } from "@evenicanpm/storefront-core/src/providers/nav-provider";
|
|
20
20
|
|
|
21
21
|
type RootProps = { children: React.ReactNode };
|
|
22
22
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { expect, describe, it } from "vitest";
|
|
3
|
-
import { render, screen } from "@testing-library/react";
|
|
4
|
-
import { NavContext } from "@evenicanpm/storefront-core/src/providers/nav-provider";
|
|
5
1
|
import NavCms from "@evenicanpm/storefront-core/src/components-v2/navbar/nav-list/index";
|
|
2
|
+
import { NavContext } from "@evenicanpm/storefront-core/src/providers/nav-provider";
|
|
3
|
+
import { render, screen } from "@testing-library/react";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { describe, expect, it } from "vitest";
|
|
6
6
|
|
|
7
7
|
describe("NavCms", () => {
|
|
8
8
|
it("Renders the page links and dropdown menu", () => {
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { PropsWithChildren, RefObject } from "react";
|
|
4
|
-
import { usePathname } from "next/navigation";
|
|
5
|
-
import MenuItem from "@mui/material/MenuItem";
|
|
6
|
-
// MUI ICON COMPONENTS
|
|
7
|
-
import ArrowLeft from "@mui/icons-material/ArrowLeft";
|
|
8
|
-
import ArrowRight from "@mui/icons-material/ArrowRight";
|
|
9
|
-
// GLOBAL CUSTOM HOOKS
|
|
10
|
-
import useOverflowDetect from "@evenicanpm/storefront-core/src/hooks/use-overflow-detect";
|
|
11
|
-
import useSettings from "@evenicanpm/storefront-core/src/hooks/use-settings";
|
|
12
|
-
// GLOBAL CUSTOM COMPONENTS
|
|
13
|
-
import { Span } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
14
3
|
import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
|
|
15
4
|
// STYLED COMPONENTS
|
|
16
5
|
import {
|
|
17
6
|
ParentNav,
|
|
18
7
|
ParentNavItem,
|
|
19
8
|
} from "@evenicanpm/storefront-core/src/components-v2/navbar/styles";
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
import type { TransformedNavItem } from "@evenicanpm/storefront-core/src/components-v2/navbar/utils/transform-nav";
|
|
10
|
+
// GLOBAL CUSTOM COMPONENTS
|
|
11
|
+
import { Span } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
12
|
+
// GLOBAL CUSTOM HOOKS
|
|
13
|
+
import useOverflowDetect from "@evenicanpm/storefront-core/src/hooks/use-overflow-detect";
|
|
14
|
+
import useSettings from "@evenicanpm/storefront-core/src/hooks/use-settings";
|
|
15
|
+
// MUI ICON COMPONENTS
|
|
16
|
+
import ArrowLeft from "@mui/icons-material/ArrowLeft";
|
|
17
|
+
import ArrowRight from "@mui/icons-material/ArrowRight";
|
|
18
|
+
import MenuItem from "@mui/material/MenuItem";
|
|
19
|
+
import { usePathname } from "next/navigation";
|
|
20
|
+
import type { PropsWithChildren, RefObject } from "react";
|
|
22
21
|
|
|
23
22
|
// ==============================================================
|
|
24
23
|
interface Props extends PropsWithChildren {
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
// import { useContext as useReactContext } from "react";
|
|
5
|
-
import MenuItem from "@mui/material/MenuItem";
|
|
6
|
-
import KeyboardArrowDown from "@mui/icons-material/KeyboardArrowDown";
|
|
3
|
+
import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
|
|
7
4
|
import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
|
|
8
5
|
import { NavLink } from "@evenicanpm/storefront-core/src/components-v2/nav-link";
|
|
9
|
-
import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
|
|
10
|
-
import MegaMenu from "@evenicanpm/storefront-core/src/components-v2/navbar/mega-menu";
|
|
11
6
|
import CategoryBasedMenu from "@evenicanpm/storefront-core/src/components-v2/navbar/category-based-menu";
|
|
7
|
+
import MegaMenu from "@evenicanpm/storefront-core/src/components-v2/navbar/mega-menu";
|
|
8
|
+
import NavItemChild from "@evenicanpm/storefront-core/src/components-v2/navbar/nav-list/nav-item-child";
|
|
12
9
|
import {
|
|
13
|
-
StyledNavLink,
|
|
14
|
-
NAV_LINK_STYLES,
|
|
15
10
|
ChildNavListWrapper,
|
|
11
|
+
NAV_LINK_STYLES,
|
|
12
|
+
StyledNavLink,
|
|
16
13
|
} from "@evenicanpm/storefront-core/src/components-v2/navbar/styles";
|
|
17
|
-
import { NavContext } from "@evenicanpm/storefront-core/src/providers/nav-provider";
|
|
18
14
|
import {
|
|
15
|
+
type TransformedNavItem,
|
|
19
16
|
transformCmsNav,
|
|
20
|
-
TransformedNavItem,
|
|
21
17
|
} from "@evenicanpm/storefront-core/src/components-v2/navbar/utils/transform-nav";
|
|
22
|
-
import
|
|
18
|
+
import { NavContext } from "@evenicanpm/storefront-core/src/providers/nav-provider";
|
|
19
|
+
import KeyboardArrowDown from "@mui/icons-material/KeyboardArrowDown";
|
|
20
|
+
// import { useContext as useReactContext } from "react";
|
|
21
|
+
import MenuItem from "@mui/material/MenuItem";
|
|
22
|
+
import { createContext, type ReactNode, useContext } from "react";
|
|
23
23
|
|
|
24
24
|
type NavigationContextValue = {
|
|
25
25
|
list: TransformedNavItem[];
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React, { createContext, useContext } from "react";
|
|
4
|
-
|
|
5
3
|
// LOCAL CUSTOM COMPONENTS
|
|
6
4
|
import Categories from "@evenicanpm/storefront-core/src/components-v2/navbar/categories";
|
|
7
5
|
import NavigationList from "@evenicanpm/storefront-core/src/components-v2/navbar/nav-list/index";
|
|
8
|
-
|
|
9
6
|
// STYLED COMPONENTS
|
|
10
7
|
import {
|
|
11
|
-
NavBarWrapper,
|
|
12
8
|
InnerContainer,
|
|
9
|
+
NavBarWrapper,
|
|
13
10
|
} from "@evenicanpm/storefront-core/src/components-v2/navbar/styles";
|
|
11
|
+
import type React from "react";
|
|
12
|
+
import { createContext, useContext } from "react";
|
|
14
13
|
|
|
15
14
|
/**
|
|
16
15
|
* Usage Examples:
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
|
|
2
|
+
// GLOBAL CUSTOM COMPONENTS
|
|
3
|
+
import { NavLink } from "@evenicanpm/storefront-core/src/components-v2/nav-link/index";
|
|
1
4
|
import Box from "@mui/material/Box";
|
|
2
5
|
import Button from "@mui/material/Button";
|
|
3
|
-
import styled from "@mui/material/styles/styled";
|
|
4
6
|
import Container from "@mui/material/Container";
|
|
5
|
-
|
|
6
|
-
import { NavLink } from "@evenicanpm/storefront-core/src/components-v2/nav-link/index";
|
|
7
|
-
import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
|
|
7
|
+
import styled from "@mui/material/styles/styled";
|
|
8
8
|
|
|
9
9
|
// COMMON STYLED OBJECT
|
|
10
10
|
export const NAV_LINK_STYLES = {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
1
|
import {
|
|
3
2
|
transformCategoryNav,
|
|
4
3
|
transformCmsNav,
|
|
5
4
|
} from "@evenicanpm/storefront-core/src/components-v2/navbar/utils/transform-nav";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import type { CategoryHierarchy } from "@evenicanpm/storefront-core/src/lib/category-helpers";
|
|
6
|
+
import { describe, expect, it } from "vitest";
|
|
7
|
+
import type { CmsNavItem } from "@/cms/interfaces/navigation";
|
|
8
8
|
|
|
9
9
|
describe("transform nav items", () => {
|
|
10
10
|
it("should recursively transform deeply nested categories and its children with correct href, title, and items", () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { CategoryHierarchy } from "@evenicanpm/storefront-core/src/lib/category-helpers";
|
|
2
|
+
import type { SvgIconComponent } from "@mui/icons-material";
|
|
3
|
+
import type { CmsNavItem } from "@/cms/interfaces/navigation";
|
|
4
4
|
|
|
5
5
|
type MenuType = "default" | "mega-menu" | "full-screen-mega-menu";
|
|
6
6
|
export interface TransformedNavItem {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Box } from "@mui/material";
|
|
3
1
|
import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
2
|
+
import { Box } from "@mui/material";
|
|
4
3
|
import { useTranslations } from "next-intl";
|
|
4
|
+
import React from "react";
|
|
5
5
|
|
|
6
6
|
type Props = { message: string };
|
|
7
7
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React from "react";
|
|
4
|
-
import IconButton, { IconButtonProps } from "@mui/material/IconButton";
|
|
5
3
|
import Favorite from "@mui/icons-material/Favorite";
|
|
6
4
|
import FavoriteBorder from "@mui/icons-material/FavoriteBorder";
|
|
5
|
+
import IconButton, { type IconButtonProps } from "@mui/material/IconButton";
|
|
6
|
+
import React from "react";
|
|
7
7
|
|
|
8
8
|
export interface FavoriteButtonProps extends Omit<IconButtonProps, "onClick"> {
|
|
9
9
|
isFavorite: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { Box } from "@mui/material";
|
|
1
2
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import ProductCard from "./index";
|
|
3
3
|
import { data } from "../../../../__mocks__/products";
|
|
4
|
-
import
|
|
4
|
+
import ProductCard from "./index";
|
|
5
5
|
|
|
6
6
|
const meta = {
|
|
7
7
|
title: "Product/ProductCards/ProductCard",
|
|
@@ -1,54 +1,54 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import RemoveRedEye from "@mui/icons-material/RemoveRedEye";
|
|
16
|
-
import { useTranslations } from "next-intl";
|
|
17
|
-
import { useIsFetching } from "@tanstack/react-query";
|
|
3
|
+
import type { Cart } from "@evenicanpm/storefront-core/src/api-manager/schemas/cart.schema";
|
|
4
|
+
import type {
|
|
5
|
+
ExtendedProductListLine,
|
|
6
|
+
ExtendedWishlist,
|
|
7
|
+
WishlistLinesInput,
|
|
8
|
+
} from "@evenicanpm/storefront-core/src/api-manager/schemas/user.schema";
|
|
9
|
+
import useAddToCart from "@evenicanpm/storefront-core/src/api-manager/services/cart/mutations/add-to-cart";
|
|
10
|
+
// API AND SCHEMAS
|
|
11
|
+
import useRemoveFromWishlist from "@evenicanpm/storefront-core/src/api-manager/services/user/mutations/remove-from-wishlist";
|
|
12
|
+
import useUpdateWishlist from "@evenicanpm/storefront-core/src/api-manager/services/user/mutations/update-wishlist";
|
|
13
|
+
import { WISHLIST_DETAILS_QUERY_KEY } from "@evenicanpm/storefront-core/src/api-manager/services/user/queries/get-wishlist-details";
|
|
14
|
+
import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
|
|
18
15
|
// GLOBAL CUSTOM COMPONENTS
|
|
19
16
|
import LazyImage from "@evenicanpm/storefront-core/src/components-v2/LazyImage";
|
|
20
|
-
import { Span } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
21
|
-
import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
|
|
22
|
-
import { useNotification } from "@evenicanpm/storefront-core/src/providers/notifications/use-notification";
|
|
23
|
-
import AddToWishlistDialog from "@evenicanpm/storefront-core/src/components-v2/wishlist-dialogs/add-to-wishlist";
|
|
24
|
-
import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
|
|
25
|
-
// LOCAL CUSTOM COMPONENTS
|
|
26
|
-
import ProductPrice from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-price";
|
|
27
|
-
import ProductTitle from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-title";
|
|
28
|
-
import QuantityBtns from "@evenicanpm/storefront-core/src/components-v2/product-cards/quantity-buttons";
|
|
29
17
|
import DiscountChip from "@evenicanpm/storefront-core/src/components-v2/product-cards/discount-chip";
|
|
30
18
|
import FavoriteButton from "@evenicanpm/storefront-core/src/components-v2/product-cards/favorite-button";
|
|
31
19
|
// STYLED COMPONENTS
|
|
32
20
|
import {
|
|
33
|
-
ImageWrapper,
|
|
34
21
|
ContentWrapper,
|
|
35
|
-
StyledBazaarCard,
|
|
36
22
|
HoverIconWrapper,
|
|
23
|
+
ImageWrapper,
|
|
24
|
+
StyledBazaarCard,
|
|
37
25
|
} from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card/styles/index";
|
|
26
|
+
// LOCAL CUSTOM COMPONENTS
|
|
27
|
+
import ProductPrice from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-price";
|
|
28
|
+
import ProductTitle from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-title";
|
|
29
|
+
import QuantityBtns from "@evenicanpm/storefront-core/src/components-v2/product-cards/quantity-buttons";
|
|
30
|
+
import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
|
|
31
|
+
import { Span } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
32
|
+
import AddToWishlistDialog from "@evenicanpm/storefront-core/src/components-v2/wishlist-dialogs/add-to-wishlist";
|
|
33
|
+
import useFavorite from "@evenicanpm/storefront-core/src/hooks/use-favorite";
|
|
38
34
|
// LIBRARY AND HOOKS
|
|
39
35
|
import buildDetailUrl from "@evenicanpm/storefront-core/src/lib/build-detail-url";
|
|
40
|
-
import
|
|
41
|
-
|
|
42
|
-
import
|
|
43
|
-
import
|
|
44
|
-
import
|
|
45
|
-
import
|
|
46
|
-
import {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
36
|
+
import { useNotification } from "@evenicanpm/storefront-core/src/providers/notifications/use-notification";
|
|
37
|
+
import { Delete, ShoppingCart } from "@mui/icons-material";
|
|
38
|
+
import RemoveRedEye from "@mui/icons-material/RemoveRedEye";
|
|
39
|
+
import Box from "@mui/material/Box";
|
|
40
|
+
import IconButton from "@mui/material/IconButton";
|
|
41
|
+
import Rating from "@mui/material/Rating";
|
|
42
|
+
import { useIsFetching } from "@tanstack/react-query";
|
|
43
|
+
import Link from "next/link";
|
|
44
|
+
import { useTranslations } from "next-intl";
|
|
45
|
+
import React, {
|
|
46
|
+
createContext,
|
|
47
|
+
type ReactNode,
|
|
48
|
+
useContext,
|
|
49
|
+
useMemo,
|
|
50
|
+
useState,
|
|
51
|
+
} from "react";
|
|
52
52
|
|
|
53
53
|
function findChild(
|
|
54
54
|
children: ReactNode,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import styled from "@mui/material/styles/styled";
|
|
2
|
-
import { StyledComponent } from "@mui/styled-engine";
|
|
3
1
|
// GLOBAL CUSTOM COMPONENT
|
|
4
2
|
import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
|
|
3
|
+
import styled from "@mui/material/styles/styled";
|
|
4
|
+
import type { StyledComponent } from "@mui/styled-engine";
|
|
5
5
|
|
|
6
6
|
export const StyledBazaarCard = styled(BazaarCard)({
|
|
7
7
|
height: "100%",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import ProductCardPlp from "./index";
|
|
3
1
|
import { Box } from "@mui/material";
|
|
2
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
4
3
|
import { data } from "../../../../__mocks__/products";
|
|
4
|
+
import ProductCardPlp from "./index";
|
|
5
5
|
|
|
6
6
|
const meta = {
|
|
7
7
|
title: "Product/ProductCards/ProductCardPlp",
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { createContext, useContext, ReactNode, useState } from "react";
|
|
2
|
-
import Link from "next/link";
|
|
3
|
-
import Rating from "@mui/material/Rating";
|
|
4
|
-
import IconButton from "@mui/material/IconButton";
|
|
5
|
-
import RemoveRedEye from "@mui/icons-material/RemoveRedEye";
|
|
6
|
-
// GLOBAL CUSTOM COMPONENTS
|
|
7
|
-
import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
8
1
|
import {
|
|
9
2
|
FlexBetween,
|
|
10
3
|
FlexBox,
|
|
11
4
|
} from "@evenicanpm/storefront-core/src/components-v2/flex-box/index";
|
|
12
5
|
import ImageWithFallback from "@evenicanpm/storefront-core/src/components-v2/ImageWithFallback";
|
|
13
|
-
import AddToWishlistDialog from "@evenicanpm/storefront-core/src/components-v2/wishlist-dialogs/add-to-wishlist";
|
|
14
|
-
import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
|
|
15
6
|
// LOCAL CUSTOM COMPONENTS
|
|
16
7
|
import DiscountChip from "@evenicanpm/storefront-core/src/components-v2/product-cards/discount-chip";
|
|
17
|
-
import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-cards/quantity-buttons";
|
|
18
8
|
import FavoriteButton from "@evenicanpm/storefront-core/src/components-v2/product-cards/favorite-button";
|
|
9
|
+
// STYLED COMPONENTS
|
|
10
|
+
import {
|
|
11
|
+
HoverIconWrapper,
|
|
12
|
+
PriceText,
|
|
13
|
+
} from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-plp/styles/index";
|
|
14
|
+
import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-cards/quantity-buttons";
|
|
15
|
+
import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
|
|
16
|
+
// GLOBAL CUSTOM COMPONENTS
|
|
17
|
+
import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
|
|
18
|
+
import AddToWishlistDialog from "@evenicanpm/storefront-core/src/components-v2/wishlist-dialogs/add-to-wishlist";
|
|
19
|
+
import useCart from "@evenicanpm/storefront-core/src/hooks/use-cart";
|
|
20
|
+
import useFavorite from "@evenicanpm/storefront-core/src/hooks/use-favorite";
|
|
21
|
+
import buildDetailUrl from "@evenicanpm/storefront-core/src/lib/build-detail-url";
|
|
19
22
|
// LIBRARY AND HOOKS
|
|
20
23
|
import {
|
|
21
24
|
calculateDiscount,
|
|
22
25
|
currency,
|
|
23
26
|
} from "@evenicanpm/storefront-core/src/lib/lib";
|
|
24
|
-
import
|
|
25
|
-
import
|
|
26
|
-
import
|
|
27
|
-
|
|
28
|
-
import {
|
|
29
|
-
PriceText,
|
|
30
|
-
HoverIconWrapper,
|
|
31
|
-
} from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-plp/styles/index";
|
|
27
|
+
import RemoveRedEye from "@mui/icons-material/RemoveRedEye";
|
|
28
|
+
import IconButton from "@mui/material/IconButton";
|
|
29
|
+
import Rating from "@mui/material/Rating";
|
|
30
|
+
import Link from "next/link";
|
|
31
|
+
import { createContext, type ReactNode, useContext, useState } from "react";
|
|
32
32
|
|
|
33
33
|
type Product = {
|
|
34
34
|
title: string;
|
package/src/components-v2/product-cards/product-card-plp-list/ProductCardPlpList.stories.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { ProductCardPlpList } from "./index";
|
|
4
3
|
import { data } from "../../../../__mocks__/products";
|
|
4
|
+
import { ProductCardPlpList } from "./index";
|
|
5
5
|
|
|
6
6
|
const meta = {
|
|
7
7
|
title: "Product/ProductCards/ProductCardPlpList",
|