@jetshop/template-trend 6.1.4 → 6.1.5
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/dist/src/client.js +6 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/components/Auth/ForgotPassword.js +30 -0
- package/dist/src/components/Auth/ForgotPassword.js.map +1 -0
- package/dist/src/components/Auth/ForgotPassword.loadable.js +7 -0
- package/dist/src/components/Auth/ForgotPassword.loadable.js.map +1 -0
- package/dist/src/components/Auth/LogInPage.js +69 -0
- package/dist/src/components/Auth/LogInPage.js.map +1 -0
- package/dist/src/components/Auth/LogInPage.loadable.js +7 -0
- package/dist/src/components/Auth/LogInPage.loadable.js.map +1 -0
- package/dist/src/components/Auth/ResetPassword.js +30 -0
- package/dist/src/components/Auth/ResetPassword.js.map +1 -0
- package/dist/src/components/Auth/ResetPassword.loadable.js +7 -0
- package/dist/src/components/Auth/ResetPassword.loadable.js.map +1 -0
- package/dist/src/components/Auth/Signup/Address.js +34 -0
- package/dist/src/components/Auth/Signup/Address.js.map +1 -0
- package/dist/src/components/Auth/Signup/CustomerType.js +30 -0
- package/dist/src/components/Auth/Signup/CustomerType.js.map +1 -0
- package/dist/src/components/Auth/Signup/LoginFields.js +31 -0
- package/dist/src/components/Auth/Signup/LoginFields.js.map +1 -0
- package/dist/src/components/Auth/Signup/PID.js +11 -0
- package/dist/src/components/Auth/Signup/PID.js.map +1 -0
- package/dist/src/components/Auth/Signup/SSN.js +29 -0
- package/dist/src/components/Auth/Signup/SSN.js.map +1 -0
- package/dist/src/components/Auth/Signup/SignUpPage.js +78 -0
- package/dist/src/components/Auth/Signup/SignUpPage.js.map +1 -0
- package/dist/src/components/Auth/Signup/SignUpPage.loadable.js +7 -0
- package/dist/src/components/Auth/Signup/SignUpPage.loadable.js.map +1 -0
- package/dist/src/components/Auth/Signup/useSignupValidation.js +29 -0
- package/dist/src/components/Auth/Signup/useSignupValidation.js.map +1 -0
- package/dist/src/components/Auth/UI/Form.js +33 -0
- package/dist/src/components/Auth/UI/Form.js.map +1 -0
- package/dist/src/components/Cart/CartButton.js +46 -0
- package/dist/src/components/Cart/CartButton.js.map +1 -0
- package/dist/src/components/Cart/CartFlyout.js +190 -0
- package/dist/src/components/Cart/CartFlyout.js.map +1 -0
- package/dist/src/components/Cart/CartItem.js +155 -0
- package/dist/src/components/Cart/CartItem.js.map +1 -0
- package/dist/src/components/Cart/FreeShipping.js +51 -0
- package/dist/src/components/Cart/FreeShipping.js.map +1 -0
- package/dist/src/components/CategoryPage/CategoryHeader.js +104 -0
- package/dist/src/components/CategoryPage/CategoryHeader.js.map +1 -0
- package/dist/src/components/CategoryPage/CategoryHeaderLoadingState.js +13 -0
- package/dist/src/components/CategoryPage/CategoryHeaderLoadingState.js.map +1 -0
- package/dist/src/components/CategoryPage/CategoryPage.js +26 -0
- package/dist/src/components/CategoryPage/CategoryPage.js.map +1 -0
- package/dist/src/components/CategoryPage/CategoryPage.loadable.js +7 -0
- package/dist/src/components/CategoryPage/CategoryPage.loadable.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/ActiveFilters.js +79 -0
- package/dist/src/components/CategoryPage/Filters/ActiveFilters.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/BooleanFilters.js +18 -0
- package/dist/src/components/CategoryPage/Filters/BooleanFilters.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/Filter.js +97 -0
- package/dist/src/components/CategoryPage/Filters/Filter.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/FilterDrawer.js +91 -0
- package/dist/src/components/CategoryPage/Filters/FilterDrawer.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/FilterDropdownMenu.js +77 -0
- package/dist/src/components/CategoryPage/Filters/FilterDropdownMenu.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/ListFilters.js +38 -0
- package/dist/src/components/CategoryPage/Filters/ListFilters.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/ActiveCarot.js +15 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/ActiveCarot.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/FilterButton.js +107 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/FilterButton.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/ListAccordion.js +44 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/ListAccordion.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/RangeAccordion.js +21 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/RangeAccordion.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/SortOrderAccordion.js +30 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/SortOrderAccordion.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/shared/styles.js +12 -0
- package/dist/src/components/CategoryPage/Filters/Mobile/shared/styles.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/MultiListFilters.js +37 -0
- package/dist/src/components/CategoryPage/Filters/MultiListFilters.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/RangeFilters.js +122 -0
- package/dist/src/components/CategoryPage/Filters/RangeFilters.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/SortOrders.js +29 -0
- package/dist/src/components/CategoryPage/Filters/SortOrders.js.map +1 -0
- package/dist/src/components/CategoryPage/Filters/index.js +2 -0
- package/dist/src/components/CategoryPage/Filters/index.js.map +1 -0
- package/dist/src/components/CategoryPage/ProductCard.js +98 -0
- package/dist/src/components/CategoryPage/ProductCard.js.map +1 -0
- package/dist/src/components/CategoryPage/ProductGrid.js +89 -0
- package/dist/src/components/CategoryPage/ProductGrid.js.map +1 -0
- package/dist/src/components/CategoryPage/ProductGridWindow.js +48 -0
- package/dist/src/components/CategoryPage/ProductGridWindow.js.map +1 -0
- package/dist/src/components/CategoryPage/StandardCategoryPage.js +51 -0
- package/dist/src/components/CategoryPage/StandardCategoryPage.js.map +1 -0
- package/dist/src/components/CategoryPage/WindowedCategoryPage.js +87 -0
- package/dist/src/components/CategoryPage/WindowedCategoryPage.js.map +1 -0
- package/dist/src/components/CategoryPage/index.js +2 -0
- package/dist/src/components/CategoryPage/index.js.map +1 -0
- package/dist/src/components/ContentPage/ContentPage.js +64 -0
- package/dist/src/components/ContentPage/ContentPage.js.map +1 -0
- package/dist/src/components/ContentPage/ContentPage.loadable.js +7 -0
- package/dist/src/components/ContentPage/ContentPage.loadable.js.map +1 -0
- package/dist/src/components/ContentPage/SubPageNavigation.js +164 -0
- package/dist/src/components/ContentPage/SubPageNavigation.js.map +1 -0
- package/dist/src/components/ContentPage/index.js +2 -0
- package/dist/src/components/ContentPage/index.js.map +1 -0
- package/dist/src/components/CookieConsent.js +84 -0
- package/dist/src/components/CookieConsent.js.map +1 -0
- package/dist/src/components/Forms/GlobalError.js +28 -0
- package/dist/src/components/Forms/GlobalError.js.map +1 -0
- package/dist/src/components/Forms/Input.js +79 -0
- package/dist/src/components/Forms/Input.js.map +1 -0
- package/dist/src/components/Forms/InputStatus.js +42 -0
- package/dist/src/components/Forms/InputStatus.js.map +1 -0
- package/dist/src/components/Forms/Success.js +25 -0
- package/dist/src/components/Forms/Success.js.map +1 -0
- package/dist/src/components/Layout/Container.js +19 -0
- package/dist/src/components/Layout/Container.js.map +1 -0
- package/dist/src/components/Layout/Content/index.js +7 -0
- package/dist/src/components/Layout/Content/index.js.map +1 -0
- package/dist/src/components/Layout/Footer/Footer.js +106 -0
- package/dist/src/components/Layout/Footer/Footer.js.map +1 -0
- package/dist/src/components/Layout/Footer/FooterLinks.js +24 -0
- package/dist/src/components/Layout/Footer/FooterLinks.js.map +1 -0
- package/dist/src/components/Layout/Footer/SocialLinks.js +62 -0
- package/dist/src/components/Layout/Footer/SocialLinks.js.map +1 -0
- package/dist/src/components/Layout/Header/Categories/Categories.js +10 -0
- package/dist/src/components/Layout/Header/Categories/Categories.js.map +1 -0
- package/dist/src/components/Layout/Header/Categories/MobileCategories.js +128 -0
- package/dist/src/components/Layout/Header/Categories/MobileCategories.js.map +1 -0
- package/dist/src/components/Layout/Header/Categories/__util__/getCategoriesByLevel.js +4 -0
- package/dist/src/components/Layout/Header/Categories/__util__/getCategoriesByLevel.js.map +1 -0
- package/dist/src/components/Layout/Header/Categories/__util__/getCategoriesUnderParent.js +4 -0
- package/dist/src/components/Layout/Header/Categories/__util__/getCategoriesUnderParent.js.map +1 -0
- package/dist/src/components/Layout/Header/Categories/__util__/hasChildCategories.js +4 -0
- package/dist/src/components/Layout/Header/Categories/__util__/hasChildCategories.js.map +1 -0
- package/dist/src/components/Layout/Header/CategoryMenu/CategoryMenu.js +21 -0
- package/dist/src/components/Layout/Header/CategoryMenu/CategoryMenu.js.map +1 -0
- package/dist/src/components/Layout/Header/CategoryMenu/CategoryMenuContainer.js +55 -0
- package/dist/src/components/Layout/Header/CategoryMenu/CategoryMenuContainer.js.map +1 -0
- package/dist/src/components/Layout/Header/CategoryMenu/SubMenuSection.js +60 -0
- package/dist/src/components/Layout/Header/CategoryMenu/SubMenuSection.js.map +1 -0
- package/dist/src/components/Layout/Header/CategoryMenu/SubMenuWrapper.js +78 -0
- package/dist/src/components/Layout/Header/CategoryMenu/SubMenuWrapper.js.map +1 -0
- package/dist/src/components/Layout/Header/ChannelSelector/ChannelSelector.js +26 -0
- package/dist/src/components/Layout/Header/ChannelSelector/ChannelSelector.js.map +1 -0
- package/dist/src/components/Layout/Header/ChannelSelector/ChannelSelectorModal.js +36 -0
- package/dist/src/components/Layout/Header/ChannelSelector/ChannelSelectorModal.js.map +1 -0
- package/dist/src/components/Layout/Header/ChannelSelector/LanguageSelector.js +12 -0
- package/dist/src/components/Layout/Header/ChannelSelector/LanguageSelector.js.map +1 -0
- package/dist/src/components/Layout/Header/ChannelSelector/Selector.js +120 -0
- package/dist/src/components/Layout/Header/ChannelSelector/Selector.js.map +1 -0
- package/dist/src/components/Layout/Header/ChannelSelector/flattenCountries.js +15 -0
- package/dist/src/components/Layout/Header/ChannelSelector/flattenCountries.js.map +1 -0
- package/dist/src/components/Layout/Header/Header.js +189 -0
- package/dist/src/components/Layout/Header/Header.js.map +1 -0
- package/dist/src/components/Layout/Header/Logo.js +40 -0
- package/dist/src/components/Layout/Header/Logo.js.map +1 -0
- package/dist/src/components/Layout/Header/LogoSearchBar.js +15 -0
- package/dist/src/components/Layout/Header/LogoSearchBar.js.map +1 -0
- package/dist/src/components/Layout/Header/MobileMenu.js +76 -0
- package/dist/src/components/Layout/Header/MobileMenu.js.map +1 -0
- package/dist/src/components/Layout/Header/RecommendedChannel/ChannelBanner.js +218 -0
- package/dist/src/components/Layout/Header/RecommendedChannel/ChannelBanner.js.map +1 -0
- package/dist/src/components/Layout/Header/RecommendedChannel/RecommendedChannelSelector.js +123 -0
- package/dist/src/components/Layout/Header/RecommendedChannel/RecommendedChannelSelector.js.map +1 -0
- package/dist/src/components/Layout/Header/SearchBar.js +79 -0
- package/dist/src/components/Layout/Header/SearchBar.js.map +1 -0
- package/dist/src/components/Layout/Header/SearchButton.js +50 -0
- package/dist/src/components/Layout/Header/SearchButton.js.map +1 -0
- package/dist/src/components/Layout/Header/SubCategoryNav.js +71 -0
- package/dist/src/components/Layout/Header/SubCategoryNav.js.map +1 -0
- package/dist/src/components/Layout/Header/TopNav.js +63 -0
- package/dist/src/components/Layout/Header/TopNav.js.map +1 -0
- package/dist/src/components/Layout/MaxWidth.js +19 -0
- package/dist/src/components/Layout/MaxWidth.js.map +1 -0
- package/dist/src/components/Layout/Notifications.js +70 -0
- package/dist/src/components/Layout/Notifications.js.map +1 -0
- package/dist/src/components/LoadingPage.js +19 -0
- package/dist/src/components/LoadingPage.js.map +1 -0
- package/dist/src/components/LogOut.loadable.js +7 -0
- package/dist/src/components/LogOut.loadable.js.map +1 -0
- package/dist/src/components/MyPages/ChangePasswordPage.js +26 -0
- package/dist/src/components/MyPages/ChangePasswordPage.js.map +1 -0
- package/dist/src/components/MyPages/CustomerNameHeader.js +28 -0
- package/dist/src/components/MyPages/CustomerNameHeader.js.map +1 -0
- package/dist/src/components/MyPages/DeleteAccount.js +47 -0
- package/dist/src/components/MyPages/DeleteAccount.js.map +1 -0
- package/dist/src/components/MyPages/MyPages.js +152 -0
- package/dist/src/components/MyPages/MyPages.js.map +1 -0
- package/dist/src/components/MyPages/MyPages.loadable.js +7 -0
- package/dist/src/components/MyPages/MyPages.loadable.js.map +1 -0
- package/dist/src/components/MyPages/MyPagesBreadcrumbs.js +18 -0
- package/dist/src/components/MyPages/MyPagesBreadcrumbs.js.map +1 -0
- package/dist/src/components/MyPages/MyPagesSidebar.js +81 -0
- package/dist/src/components/MyPages/MyPagesSidebar.js.map +1 -0
- package/dist/src/components/MyPages/MyPagesStartPage.js +99 -0
- package/dist/src/components/MyPages/MyPagesStartPage.js.map +1 -0
- package/dist/src/components/MyPages/Newsletter.js +33 -0
- package/dist/src/components/MyPages/Newsletter.js.map +1 -0
- package/dist/src/components/MyPages/Orders/ListOrder.js +159 -0
- package/dist/src/components/MyPages/Orders/ListOrder.js.map +1 -0
- package/dist/src/components/MyPages/Orders/OrderDetail/Contact.js +38 -0
- package/dist/src/components/MyPages/Orders/OrderDetail/Contact.js.map +1 -0
- package/dist/src/components/MyPages/Orders/OrderDetail/ListDetail.js +196 -0
- package/dist/src/components/MyPages/Orders/OrderDetail/ListDetail.js.map +1 -0
- package/dist/src/components/MyPages/Orders/OrderDetail/OrderTotals.js +81 -0
- package/dist/src/components/MyPages/Orders/OrderDetail/OrderTotals.js.map +1 -0
- package/dist/src/components/MyPages/Orders/OrderDetail/ShippingPayment.js +37 -0
- package/dist/src/components/MyPages/Orders/OrderDetail/ShippingPayment.js.map +1 -0
- package/dist/src/components/MyPages/Orders/OrderListPage.js +56 -0
- package/dist/src/components/MyPages/Orders/OrderListPage.js.map +1 -0
- package/dist/src/components/MyPages/ProfileDeliveryAddresses.js +93 -0
- package/dist/src/components/MyPages/ProfileDeliveryAddresses.js.map +1 -0
- package/dist/src/components/MyPages/ProfilePage.js +109 -0
- package/dist/src/components/MyPages/ProfilePage.js.map +1 -0
- package/dist/src/components/MyPages/ProfileView.js +42 -0
- package/dist/src/components/MyPages/ProfileView.js.map +1 -0
- package/dist/src/components/NavigationTree/NavTree.js +53 -0
- package/dist/src/components/NavigationTree/NavTree.js.map +1 -0
- package/dist/src/components/NavigationTree/NavTreePage.js +7 -0
- package/dist/src/components/NavigationTree/NavTreePage.js.map +1 -0
- package/dist/src/components/NavigationTree/NavTreePage.loadable.js +7 -0
- package/dist/src/components/NavigationTree/NavTreePage.loadable.js.map +1 -0
- package/dist/src/components/Newsletter/NewsletterField.js +93 -0
- package/dist/src/components/Newsletter/NewsletterField.js.map +1 -0
- package/dist/src/components/NotFoundPage.js +59 -0
- package/dist/src/components/NotFoundPage.js.map +1 -0
- package/dist/src/components/NotFoundPage.loadable.js +7 -0
- package/dist/src/components/NotFoundPage.loadable.js.map +1 -0
- package/dist/src/components/Pages/About.js +7 -0
- package/dist/src/components/Pages/About.js.map +1 -0
- package/dist/src/components/Pagination/Pagination.js +29 -0
- package/dist/src/components/Pagination/Pagination.js.map +1 -0
- package/dist/src/components/Pagination/PaginationWrapper.js +16 -0
- package/dist/src/components/Pagination/PaginationWrapper.js.map +1 -0
- package/dist/src/components/PreviewRoute.loadable.js +7 -0
- package/dist/src/components/PreviewRoute.loadable.js.map +1 -0
- package/dist/src/components/ProductList/AddToCart.js +46 -0
- package/dist/src/components/ProductList/AddToCart.js.map +1 -0
- package/dist/src/components/ProductList/Favourite.js +46 -0
- package/dist/src/components/ProductList/Favourite.js.map +1 -0
- package/dist/src/components/ProductList/FavouriteCount.js +15 -0
- package/dist/src/components/ProductList/FavouriteCount.js.map +1 -0
- package/dist/src/components/ProductList/Favourites.js +187 -0
- package/dist/src/components/ProductList/Favourites.js.map +1 -0
- package/dist/src/components/ProductList/Lister.js +22 -0
- package/dist/src/components/ProductList/Lister.js.map +1 -0
- package/dist/src/components/ProductList/Product.js +62 -0
- package/dist/src/components/ProductList/Product.js.map +1 -0
- package/dist/src/components/ProductList/SelectVariant.js +47 -0
- package/dist/src/components/ProductList/SelectVariant.js.map +1 -0
- package/dist/src/components/ProductList/productListQueries.js +15 -0
- package/dist/src/components/ProductList/productListQueries.js.map +1 -0
- package/dist/src/components/ProductPage/AddToCart/AddToCartForm.js +110 -0
- package/dist/src/components/ProductPage/AddToCart/AddToCartForm.js.map +1 -0
- package/dist/src/components/ProductPage/AddToCart/ProductToast.js +118 -0
- package/dist/src/components/ProductPage/AddToCart/ProductToast.js.map +1 -0
- package/dist/src/components/ProductPage/AddToCart/useProductToast.js +21 -0
- package/dist/src/components/ProductPage/AddToCart/useProductToast.js.map +1 -0
- package/dist/src/components/ProductPage/Campaigns.js +43 -0
- package/dist/src/components/ProductPage/Campaigns.js.map +1 -0
- package/dist/src/components/ProductPage/ConfigurationSelector.js +62 -0
- package/dist/src/components/ProductPage/ConfigurationSelector.js.map +1 -0
- package/dist/src/components/ProductPage/Images/ImageContainer.js +45 -0
- package/dist/src/components/ProductPage/Images/ImageContainer.js.map +1 -0
- package/dist/src/components/ProductPage/Images/Thumbnails.js +32 -0
- package/dist/src/components/ProductPage/Images/Thumbnails.js.map +1 -0
- package/dist/src/components/ProductPage/PackageProduct/IncludedInPackages.js +32 -0
- package/dist/src/components/ProductPage/PackageProduct/IncludedInPackages.js.map +1 -0
- package/dist/src/components/ProductPage/PackageProduct/PackageProduct.js +170 -0
- package/dist/src/components/ProductPage/PackageProduct/PackageProduct.js.map +1 -0
- package/dist/src/components/ProductPage/PackageProduct/PackageProductItem.js +92 -0
- package/dist/src/components/ProductPage/PackageProduct/PackageProductItem.js.map +1 -0
- package/dist/src/components/ProductPage/PriceHistory.js +99 -0
- package/dist/src/components/ProductPage/PriceHistory.js.map +1 -0
- package/dist/src/components/ProductPage/ProductInfo.js +55 -0
- package/dist/src/components/ProductPage/ProductInfo.js.map +1 -0
- package/dist/src/components/ProductPage/ProductInfoAccordion.js +46 -0
- package/dist/src/components/ProductPage/ProductInfoAccordion.js.map +1 -0
- package/dist/src/components/ProductPage/ProductPage.js +174 -0
- package/dist/src/components/ProductPage/ProductPage.js.map +1 -0
- package/dist/src/components/ProductPage/ProductPage.loadable.js +7 -0
- package/dist/src/components/ProductPage/ProductPage.loadable.js.map +1 -0
- package/dist/src/components/ProductPage/ProductPageLoadingState.js +55 -0
- package/dist/src/components/ProductPage/ProductPageLoadingState.js.map +1 -0
- package/dist/src/components/ProductPage/QuantityContainer.js +21 -0
- package/dist/src/components/ProductPage/QuantityContainer.js.map +1 -0
- package/dist/src/components/ProductPage/RelatedProducts.js +45 -0
- package/dist/src/components/ProductPage/RelatedProducts.js.map +1 -0
- package/dist/src/components/ProductPage/SizePicker.js +37 -0
- package/dist/src/components/ProductPage/SizePicker.js.map +1 -0
- package/dist/src/components/ProductPage/StockStatus/NotifyWhenBack.js +93 -0
- package/dist/src/components/ProductPage/StockStatus/NotifyWhenBack.js.map +1 -0
- package/dist/src/components/ProductPage/StockStatus/StockOrb.js +31 -0
- package/dist/src/components/ProductPage/StockStatus/StockOrb.js.map +1 -0
- package/dist/src/components/ProductPage/StockStatus/StockStatusIndicator.js +33 -0
- package/dist/src/components/ProductPage/StockStatus/StockStatusIndicator.js.map +1 -0
- package/dist/src/components/ProductPage/StockStatus/WarehouseStock.js +255 -0
- package/dist/src/components/ProductPage/StockStatus/WarehouseStock.js.map +1 -0
- package/dist/src/components/ProductPage/VariantSelector.js +138 -0
- package/dist/src/components/ProductPage/VariantSelector.js.map +1 -0
- package/dist/src/components/ProductPage/styledComponents.js +11 -0
- package/dist/src/components/ProductPage/styledComponents.js.map +1 -0
- package/dist/src/components/ProductPage/useProductValidationMessage.js +24 -0
- package/dist/src/components/ProductPage/useProductValidationMessage.js.map +1 -0
- package/dist/src/components/SearchPage/CategoryList.js +129 -0
- package/dist/src/components/SearchPage/CategoryList.js.map +1 -0
- package/dist/src/components/SearchPage/EmptySearchResults.js +23 -0
- package/dist/src/components/SearchPage/EmptySearchResults.js.map +1 -0
- package/dist/src/components/SearchPage/SearchMeta.js +27 -0
- package/dist/src/components/SearchPage/SearchMeta.js.map +1 -0
- package/dist/src/components/SearchPage/SearchPage.js +52 -0
- package/dist/src/components/SearchPage/SearchPage.js.map +1 -0
- package/dist/src/components/SearchPage/SearchPage.loadable.js +7 -0
- package/dist/src/components/SearchPage/SearchPage.loadable.js.map +1 -0
- package/dist/src/components/SearchPage/SearchResults.js +60 -0
- package/dist/src/components/SearchPage/SearchResults.js.map +1 -0
- package/dist/src/components/SearchPage/SearchTerm.js +11 -0
- package/dist/src/components/SearchPage/SearchTerm.js.map +1 -0
- package/dist/src/components/SearchPage/WindowedSearchResults.js +80 -0
- package/dist/src/components/SearchPage/WindowedSearchResults.js.map +1 -0
- package/dist/src/components/SearchPage/index.js +3 -0
- package/dist/src/components/SearchPage/index.js.map +1 -0
- package/dist/src/components/Shop.js +82 -0
- package/dist/src/components/Shop.js.map +1 -0
- package/dist/src/components/StartPage/Content/Row.js +40 -0
- package/dist/src/components/StartPage/Content/Row.js.map +1 -0
- package/dist/src/components/StartPage/Content/StartPageCampaign.js +112 -0
- package/dist/src/components/StartPage/Content/StartPageCampaign.js.map +1 -0
- package/dist/src/components/StartPage/Content/StartPageCategories.js +80 -0
- package/dist/src/components/StartPage/Content/StartPageCategories.js.map +1 -0
- package/dist/src/components/StartPage/Content/StartPageHTMLContent.js +74 -0
- package/dist/src/components/StartPage/Content/StartPageHTMLContent.js.map +1 -0
- package/dist/src/components/StartPage/Content/StartPageHero.js +73 -0
- package/dist/src/components/StartPage/Content/StartPageHero.js.map +1 -0
- package/dist/src/components/StartPage/Content/StartPageProductGrid.js +69 -0
- package/dist/src/components/StartPage/Content/StartPageProductGrid.js.map +1 -0
- package/dist/src/components/StartPage/StartPage.js +37 -0
- package/dist/src/components/StartPage/StartPage.js.map +1 -0
- package/dist/src/components/StartPage/StartPage.loadable.js +7 -0
- package/dist/src/components/StartPage/StartPage.loadable.js.map +1 -0
- package/dist/src/components/StartPage/index.js +3 -0
- package/dist/src/components/StartPage/index.js.map +1 -0
- package/dist/src/components/Store/Store.js +26 -0
- package/dist/src/components/Store/Store.js.map +1 -0
- package/dist/src/components/Store/Store.loadable.js +7 -0
- package/dist/src/components/Store/Store.loadable.js.map +1 -0
- package/dist/src/components/Store/StoreDetail.js +13 -0
- package/dist/src/components/Store/StoreDetail.js.map +1 -0
- package/dist/src/components/StoreLocator/StoreList.js +160 -0
- package/dist/src/components/StoreLocator/StoreList.js.map +1 -0
- package/dist/src/components/StoreLocator/StoreLocator.js +133 -0
- package/dist/src/components/StoreLocator/StoreLocator.js.map +1 -0
- package/dist/src/components/StoreLocator/StoreLocator.loadable.js +7 -0
- package/dist/src/components/StoreLocator/StoreLocator.loadable.js.map +1 -0
- package/dist/src/components/StoreLocator/StoreMap.js +116 -0
- package/dist/src/components/StoreLocator/StoreMap.js.map +1 -0
- package/dist/src/components/StoreLocator/StoreMarker.js +63 -0
- package/dist/src/components/StoreLocator/StoreMarker.js.map +1 -0
- package/dist/src/components/StoreLocator/StoreSearch.js +47 -0
- package/dist/src/components/StoreLocator/StoreSearch.js.map +1 -0
- package/dist/src/components/StoreLocator/UserLocation.js +76 -0
- package/dist/src/components/StoreLocator/UserLocation.js.map +1 -0
- package/dist/src/components/StoreLocator/useLocationState.js +14 -0
- package/dist/src/components/StoreLocator/useLocationState.js.map +1 -0
- package/dist/src/components/StoreLocator/useMapState.js +16 -0
- package/dist/src/components/StoreLocator/useMapState.js.map +1 -0
- package/dist/src/components/Theme.js +6 -0
- package/dist/src/components/Theme.js.map +1 -0
- package/dist/src/components/ui/Badge.js +33 -0
- package/dist/src/components/ui/Badge.js.map +1 -0
- package/dist/src/components/ui/Button.js +93 -0
- package/dist/src/components/ui/Button.js.map +1 -0
- package/dist/src/components/ui/CloseButton.js +18 -0
- package/dist/src/components/ui/CloseButton.js.map +1 -0
- package/dist/src/components/ui/Divider.js +11 -0
- package/dist/src/components/ui/Divider.js.map +1 -0
- package/dist/src/components/ui/Headings.js +19 -0
- package/dist/src/components/ui/Headings.js.map +1 -0
- package/dist/src/components/ui/RadioGroupWithLabels.js +16 -0
- package/dist/src/components/ui/RadioGroupWithLabels.js.map +1 -0
- package/dist/src/components/ui/Spinner.js +39 -0
- package/dist/src/components/ui/Spinner.js.map +1 -0
- package/dist/src/fonts/loadFontCss.js +51 -0
- package/dist/src/fonts/loadFontCss.js.map +1 -0
- package/dist/src/globalStyles.js +83 -0
- package/dist/src/globalStyles.js.map +1 -0
- package/dist/src/server.js +12 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/shop.config.js +68 -0
- package/dist/src/shop.config.js.map +1 -0
- package/dist/src/theme-variables.js +65 -0
- package/dist/src/theme-variables.js.map +1 -0
- package/dist/translations/cs.json +788 -0
- package/dist/translations/da.json +791 -0
- package/dist/translations/de.json +788 -0
- package/dist/translations/en.json +794 -0
- package/dist/translations/es.json +788 -0
- package/dist/translations/et.json +788 -0
- package/dist/translations/fi.json +794 -0
- package/dist/translations/fr.json +788 -0
- package/dist/translations/index.js +18 -0
- package/dist/translations/index.js.map +1 -0
- package/dist/translations/it.json +788 -0
- package/dist/translations/lv.json +788 -0
- package/dist/translations/nb.json +791 -0
- package/dist/translations/nl.json +788 -0
- package/dist/translations/pl.json +788 -0
- package/dist/translations/ru.json +788 -0
- package/dist/translations/sk.json +788 -0
- package/dist/translations/sr.json +464 -0
- package/dist/translations/sv.json +794 -0
- package/jsconfig.json +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import { styled } from 'linaria/react';
|
|
14
|
+
import { useTracker } from '@jetshop/core/analytics/Analytics';
|
|
15
|
+
import { trackCartCheckoutEvent } from '@jetshop/core/analytics/tracking';
|
|
16
|
+
import CartProvider from '@jetshop/core/components/Query/CartProvider';
|
|
17
|
+
import t from '@jetshop/intl';
|
|
18
|
+
import { Above } from '@jetshop/ui/Breakpoints';
|
|
19
|
+
import Drawer, { DrawerTarget } from '@jetshop/ui/Modal/Drawer';
|
|
20
|
+
import { FlyoutTarget } from '@jetshop/ui/Modal/Flyout';
|
|
21
|
+
import { Price } from '@jetshop/ui/Price';
|
|
22
|
+
import { useChannelSettings } from '@jetshop/core/hooks/Channels/useChannelSettings';
|
|
23
|
+
import { Currency } from '@jetshop/ui/Price/Currency';
|
|
24
|
+
import { theme } from '../Theme';
|
|
25
|
+
import { baseStyles } from '../ui/Button';
|
|
26
|
+
import CartItem from './CartItem';
|
|
27
|
+
import FreeShipping from './FreeShipping';
|
|
28
|
+
import cartQuery from './queries/cartQuery.gql';
|
|
29
|
+
const Flyout = styled('div') `
|
|
30
|
+
background: white;
|
|
31
|
+
color: ${theme.colors.black};
|
|
32
|
+
${theme.above.sm} {
|
|
33
|
+
position: absolute;
|
|
34
|
+
z-index: 999;
|
|
35
|
+
right: 0;
|
|
36
|
+
top: 3.5rem;
|
|
37
|
+
width: 22rem;
|
|
38
|
+
min-width: 19rem;
|
|
39
|
+
max-width: 100%;
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
const LightText = styled('span') `
|
|
43
|
+
color: #828282;
|
|
44
|
+
font-size: 0.875rem;
|
|
45
|
+
font-weight: normal;
|
|
46
|
+
`;
|
|
47
|
+
const Header = styled('header') `
|
|
48
|
+
text-align: center;
|
|
49
|
+
h2 {
|
|
50
|
+
font-weight: 600;
|
|
51
|
+
}
|
|
52
|
+
${LightText} {
|
|
53
|
+
display: block;
|
|
54
|
+
}
|
|
55
|
+
padding: 1rem;
|
|
56
|
+
border-bottom: 1px solid #e8e8e8;
|
|
57
|
+
`;
|
|
58
|
+
const ItemCount = ({ count }) => (React.createElement(LightText, null, t(`{
|
|
59
|
+
count, plural,
|
|
60
|
+
=0 {}
|
|
61
|
+
one {1 item}
|
|
62
|
+
other {{count} items}
|
|
63
|
+
}`, { count })));
|
|
64
|
+
const CartItems = styled('section') `
|
|
65
|
+
background: #fafafa;
|
|
66
|
+
padding: 1rem;
|
|
67
|
+
`;
|
|
68
|
+
const Summary = styled('section') `
|
|
69
|
+
background: #fff;
|
|
70
|
+
padding: 1rem;
|
|
71
|
+
|
|
72
|
+
a {
|
|
73
|
+
width: 100%;
|
|
74
|
+
color: white;
|
|
75
|
+
:hover {
|
|
76
|
+
color: white;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
h2 {
|
|
81
|
+
font-weight: bold;
|
|
82
|
+
font-size: 1.2em;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.discounts {
|
|
86
|
+
margin-bottom: 1em;
|
|
87
|
+
h2 {
|
|
88
|
+
margin-bottom: 1em;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.cart-total {
|
|
93
|
+
padding-top: 1em;
|
|
94
|
+
border-top: 1px solid ${theme.colors.lightgrey};
|
|
95
|
+
|
|
96
|
+
> * + * {
|
|
97
|
+
margin-top: 0.5em;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.shipping,
|
|
101
|
+
.total,
|
|
102
|
+
.vat {
|
|
103
|
+
display: flex;
|
|
104
|
+
justify-content: space-between;
|
|
105
|
+
align-items: center;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.total {
|
|
109
|
+
font-size: 1.25rem;
|
|
110
|
+
font-weight: 600;
|
|
111
|
+
color: ${theme.colors.black};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
`;
|
|
115
|
+
const Flex = styled('div') `
|
|
116
|
+
display: flex;
|
|
117
|
+
justify-content: space-between;
|
|
118
|
+
`;
|
|
119
|
+
const Checkout = styled.a `
|
|
120
|
+
${baseStyles};
|
|
121
|
+
width: 100%;
|
|
122
|
+
text-decoration: none;
|
|
123
|
+
display: flex;
|
|
124
|
+
justify-content: center;
|
|
125
|
+
align-items: center;
|
|
126
|
+
color: white;
|
|
127
|
+
&&:hover {
|
|
128
|
+
color: white;
|
|
129
|
+
text-decoration: none;
|
|
130
|
+
}
|
|
131
|
+
`;
|
|
132
|
+
const CartFlyoutView = (_a) => {
|
|
133
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
134
|
+
var { result, modal } = _a, rest = __rest(_a, ["result", "modal"]);
|
|
135
|
+
const items = (_d = (_c = (_b = result === null || result === void 0 ? void 0 : result.data) === null || _b === void 0 ? void 0 : _b.cart) === null || _c === void 0 ? void 0 : _c.items) !== null && _d !== void 0 ? _d : [];
|
|
136
|
+
const itemCount = (_g = (_f = (_e = result === null || result === void 0 ? void 0 : result.data) === null || _e === void 0 ? void 0 : _e.cart) === null || _f === void 0 ? void 0 : _f.totalQuantity) !== null && _g !== void 0 ? _g : 0;
|
|
137
|
+
const checkoutUrl = (_j = (_h = result === null || result === void 0 ? void 0 : result.data) === null || _h === void 0 ? void 0 : _h.cart) === null || _j === void 0 ? void 0 : _j.externalCheckoutUrl;
|
|
138
|
+
const discounts = (_m = (_l = (_k = result === null || result === void 0 ? void 0 : result.data) === null || _k === void 0 ? void 0 : _k.cart) === null || _l === void 0 ? void 0 : _l.aggregatedDiscounts) !== null && _m !== void 0 ? _m : [];
|
|
139
|
+
const track = useTracker();
|
|
140
|
+
const { pricesIncVat } = useChannelSettings();
|
|
141
|
+
if (items.length === 0) {
|
|
142
|
+
return (React.createElement(Flyout, Object.assign({}, rest),
|
|
143
|
+
React.createElement("div", { style: { padding: '2em' } }, t('No items in cart.'))));
|
|
144
|
+
}
|
|
145
|
+
return (React.createElement(Flyout, Object.assign({}, rest),
|
|
146
|
+
React.createElement(Header, null,
|
|
147
|
+
React.createElement("h2", null, "Your cart"),
|
|
148
|
+
React.createElement(ItemCount, { count: itemCount })),
|
|
149
|
+
React.createElement(Summary, null, checkoutUrl && (React.createElement(Checkout, { "data-testid": "checkout-button", href: checkoutUrl, onClick: event => {
|
|
150
|
+
event.preventDefault();
|
|
151
|
+
track(trackCartCheckoutEvent({
|
|
152
|
+
cart: result.data.cart,
|
|
153
|
+
callback: () => {
|
|
154
|
+
window.location = checkoutUrl;
|
|
155
|
+
}
|
|
156
|
+
}));
|
|
157
|
+
} }, t('Check out')))),
|
|
158
|
+
React.createElement(CartItems, null, items.map(item => (React.createElement(CartItem, { item: item, key: item.id })))),
|
|
159
|
+
React.createElement(Summary, null,
|
|
160
|
+
discounts.length > 0 && (React.createElement("div", { className: "discounts" },
|
|
161
|
+
React.createElement("h2", null, t('Cart total')),
|
|
162
|
+
React.createElement(Flex, null,
|
|
163
|
+
React.createElement("label", null, t('Order value')),
|
|
164
|
+
React.createElement(Price, { price: result.data.cart.productPreviousTotal })),
|
|
165
|
+
React.createElement("h2", { style: { marginTop: '1em' } }, t('Discounts')),
|
|
166
|
+
discounts.map(discount => {
|
|
167
|
+
return (React.createElement(Flex, { key: discount.name, style: { marginTop: '1em' } },
|
|
168
|
+
React.createElement("label", null, discount.name),
|
|
169
|
+
React.createElement(Price, { price: discount.value, style: { display: 'inline' }, negative: true })));
|
|
170
|
+
}))),
|
|
171
|
+
React.createElement("div", { className: "cart-total" },
|
|
172
|
+
React.createElement(FreeShipping, { className: "shipping", cartTotal: result.data.cart.productTotal }),
|
|
173
|
+
React.createElement("div", { className: "total" },
|
|
174
|
+
React.createElement("label", null, pricesIncVat ? t('Total incl. VAT') : t('Total excl. VAT')),
|
|
175
|
+
React.createElement(Price, { price: result.data.cart.productTotal })),
|
|
176
|
+
React.createElement(VAT, { className: "vat", total: result.data.cart.productTotal, pricesIncVat: pricesIncVat })))));
|
|
177
|
+
};
|
|
178
|
+
function VAT(_a) {
|
|
179
|
+
var { total, pricesIncVat } = _a, rest = __rest(_a, ["total", "pricesIncVat"]);
|
|
180
|
+
return (React.createElement("div", Object.assign({}, rest),
|
|
181
|
+
React.createElement("label", null, pricesIncVat ? t('of which VAT') : t('+ VAT')),
|
|
182
|
+
React.createElement("div", null,
|
|
183
|
+
React.createElement(Currency, { value: total.vat }))));
|
|
184
|
+
}
|
|
185
|
+
const CartFlyout = props => (
|
|
186
|
+
// Wrap the flyout with the needed providers
|
|
187
|
+
React.createElement(CartProvider, { query: cartQuery }, result => result.data && result.data.cart ? (React.createElement(Above, { breakpoint: "md" }, matches => matches ? (React.createElement(FlyoutTarget, { id: "cart-flyout" }, flyout => (React.createElement(CartFlyoutView, Object.assign({ modal: flyout, result: result }, props))))) : (React.createElement(DrawerTarget, { id: "cart-drawer" }, drawer => (React.createElement(Drawer, { isOpen: drawer.isOpen, right: true },
|
|
188
|
+
React.createElement(CartFlyoutView, Object.assign({ modal: drawer, result: result }, props)))))))) : null));
|
|
189
|
+
export default CartFlyout;
|
|
190
|
+
//# sourceMappingURL=CartFlyout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartFlyout.js","sourceRoot":"","sources":["../../../../src/components/Cart/CartFlyout.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { styled } from 'linaria/react';
|
|
3
|
+
import { Link } from 'react-router-dom';
|
|
4
|
+
import t from '@jetshop/intl';
|
|
5
|
+
import useDecrementQuantity from '@jetshop/core/components/Mutation/useDecrementQuantity';
|
|
6
|
+
import useIncrementQuantity from '@jetshop/core/components/Mutation/useIncrementQuantity';
|
|
7
|
+
import useRemoveFromCart from '@jetshop/core/components/Mutation/useRemoveFromCart';
|
|
8
|
+
import getCartItemVariant from '@jetshop/core/helpers/getCartItemVariant';
|
|
9
|
+
import Image from '@jetshop/ui/Image';
|
|
10
|
+
import { Price } from '@jetshop/ui/Price';
|
|
11
|
+
import { ReactComponent as CrossIcon } from '@jetshop/ui/svg/Cross.svg';
|
|
12
|
+
import { FlyoutTrigger } from '@jetshop/ui/Modal/Flyout';
|
|
13
|
+
import removeFromCartMutation from './queries/removeFromCart.gql';
|
|
14
|
+
import incrementQuantityMutation from './queries/incrementQuantity.gql';
|
|
15
|
+
import decrementQuantityMutation from './queries/decrementQuantity.gql';
|
|
16
|
+
import cartQuery from './queries/cartQuery.gql';
|
|
17
|
+
const Wrapper = styled('div') `
|
|
18
|
+
display: flex;
|
|
19
|
+
background: white;
|
|
20
|
+
margin-bottom: 0.5rem;
|
|
21
|
+
|
|
22
|
+
> :first-child {
|
|
23
|
+
flex: 1 1 25%;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
> :last-child {
|
|
27
|
+
flex: 1 1 70%;
|
|
28
|
+
padding: 0.5rem;
|
|
29
|
+
}
|
|
30
|
+
`;
|
|
31
|
+
const ProductName = styled('div') `
|
|
32
|
+
font-size: 0.875rem;
|
|
33
|
+
font-weight: normal;
|
|
34
|
+
|
|
35
|
+
a {
|
|
36
|
+
color: #828282;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.attribute {
|
|
40
|
+
display: block;
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
const ProductDetail = styled('section') `
|
|
44
|
+
display: grid;
|
|
45
|
+
grid-auto-columns: 1fr 1fr 1fr 1fr;
|
|
46
|
+
grid-template-areas: 'topleft topleft topleft topright' 'bottomleft bottomleft bottomright bottomright';
|
|
47
|
+
`;
|
|
48
|
+
const ItemDetails = styled('div') `
|
|
49
|
+
grid-area: topleft;
|
|
50
|
+
`;
|
|
51
|
+
const LinePrice = styled(Price) `
|
|
52
|
+
margin-top: 1rem;
|
|
53
|
+
grid-area: bottomright;
|
|
54
|
+
font-weight: 600;
|
|
55
|
+
text-align: right;
|
|
56
|
+
`;
|
|
57
|
+
const AdjustQty = styled('div') `
|
|
58
|
+
margin-top: 1rem;
|
|
59
|
+
display: flex;
|
|
60
|
+
grid-area: bottomleft;
|
|
61
|
+
/* Plus/minus buttons */
|
|
62
|
+
|
|
63
|
+
button {
|
|
64
|
+
background: #f2f2f2;
|
|
65
|
+
color: black;
|
|
66
|
+
border-radius: 50%;
|
|
67
|
+
height: 20px;
|
|
68
|
+
width: 20px;
|
|
69
|
+
display: flex;
|
|
70
|
+
justify-content: center;
|
|
71
|
+
align-items: center;
|
|
72
|
+
|
|
73
|
+
:focus {
|
|
74
|
+
outline: none;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* Count */
|
|
79
|
+
|
|
80
|
+
span {
|
|
81
|
+
margin: 0 0.5rem;
|
|
82
|
+
display: inline-block;
|
|
83
|
+
}
|
|
84
|
+
`;
|
|
85
|
+
const FreeGift = styled('div') `
|
|
86
|
+
margin-top: 1rem;
|
|
87
|
+
font-style: italic;
|
|
88
|
+
grid-area: bottomleft;
|
|
89
|
+
`;
|
|
90
|
+
const RemoveItem = styled('div') `
|
|
91
|
+
grid-area: topright;
|
|
92
|
+
text-align: right;
|
|
93
|
+
|
|
94
|
+
button {
|
|
95
|
+
padding: 0;
|
|
96
|
+
width: 1rem;
|
|
97
|
+
height: 1rem;
|
|
98
|
+
border-radius: 50%;
|
|
99
|
+
outline: none;
|
|
100
|
+
border: none;
|
|
101
|
+
background: #8f8f8f;
|
|
102
|
+
margin-left: auto;
|
|
103
|
+
display: flex;
|
|
104
|
+
justify-content: center;
|
|
105
|
+
align-items: center;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
svg {
|
|
109
|
+
height: 8px;
|
|
110
|
+
width: 8px;
|
|
111
|
+
}
|
|
112
|
+
`;
|
|
113
|
+
const CartItem = ({ item, className = '' }) => {
|
|
114
|
+
var _a;
|
|
115
|
+
const { isVariant, variantImage, variantValues, hasVariantImage } = getCartItemVariant(item);
|
|
116
|
+
const { incrementQuantity } = useIncrementQuantity({
|
|
117
|
+
incrementQuantityMutation,
|
|
118
|
+
cartQuery
|
|
119
|
+
});
|
|
120
|
+
const { decrementQuantity } = useDecrementQuantity({
|
|
121
|
+
decrementQuantityMutation,
|
|
122
|
+
cartQuery
|
|
123
|
+
});
|
|
124
|
+
const { removeFromCart } = useRemoveFromCart({
|
|
125
|
+
removeFromCartMutation,
|
|
126
|
+
cartQuery
|
|
127
|
+
});
|
|
128
|
+
const variantNamesValues = variantValues.map((value, index) => `${item.variantOptionNames[index]}: ${value}`);
|
|
129
|
+
const isFreeItem = ((_a = item.discounts) === null || _a === void 0 ? void 0 : _a.filter(d => {
|
|
130
|
+
return d.type === 'FREE_PRODUCT';
|
|
131
|
+
}).length) > 0;
|
|
132
|
+
return (React.createElement(Wrapper, { className: className },
|
|
133
|
+
React.createElement("div", null, item.product.images.length > 0 && (React.createElement(Image, { aspect: "1:1", sizes: "5rem", src: hasVariantImage ? variantImage.url : item.product.images[0].url, alt: hasVariantImage ? variantImage.alt : item.product.images[0].alt, quality: 80 }))),
|
|
134
|
+
React.createElement(ProductDetail, null,
|
|
135
|
+
React.createElement(ItemDetails, null,
|
|
136
|
+
React.createElement(FlyoutTrigger, { id: "cart-flyout" }, flyout => (React.createElement(ProductName, { onClick: flyout.hideTarget },
|
|
137
|
+
React.createElement(Link, { to: item.product.primaryRoute.path },
|
|
138
|
+
React.createElement("h2", { "data-testid": "item-name" }, item.product.name),
|
|
139
|
+
isVariant && (React.createElement("ul", { style: {
|
|
140
|
+
marginTop: '0'
|
|
141
|
+
} }, variantNamesValues.map((variantOptionNameValue, index) => (React.createElement("li", { className: "attribute", key: index }, variantOptionNameValue))))),
|
|
142
|
+
item.configurations.length > 0 && (React.createElement("ul", { style: {
|
|
143
|
+
marginTop: '0'
|
|
144
|
+
} }, item.configurations.map(({ option: { name } }, index) => (React.createElement("li", { className: "attribute", key: index }, name)))))))))),
|
|
145
|
+
React.createElement(RemoveItem, null,
|
|
146
|
+
React.createElement("button", { onClick: () => removeFromCart({ itemId: item.id, product: item.product }), "data-testid": "remove-from-cart" },
|
|
147
|
+
React.createElement(CrossIcon, null))),
|
|
148
|
+
!isFreeItem ? (React.createElement(AdjustQty, null,
|
|
149
|
+
React.createElement("button", { "data-testid": "decrement-quantity", disabled: item.quantity === 1, onClick: () => item.quantity !== 1 && decrementQuantity({ itemId: item.id }) }, "-"),
|
|
150
|
+
React.createElement("span", { "data-testid": "item-quantity" }, item.quantity),
|
|
151
|
+
React.createElement("button", { "data-testid": "increment-quantity", onClick: () => incrementQuantity({ itemId: item.id }) }, "+"))) : (React.createElement(FreeGift, null, t('Free gift'))),
|
|
152
|
+
React.createElement(LinePrice, { "data-testid": "item-price", price: item.total, previousPrice: item.previousTotal }))));
|
|
153
|
+
};
|
|
154
|
+
export default CartItem;
|
|
155
|
+
//# sourceMappingURL=CartItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartItem.js","sourceRoot":"","sources":["../../../../src/components/Cart/CartItem.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import useFreeShippingCheck from '@jetshop/core/hooks/useFreeShippingCheck';
|
|
13
|
+
import t from '@jetshop/intl';
|
|
14
|
+
import { Price } from '@jetshop/ui/Price';
|
|
15
|
+
import { styled } from 'linaria/react';
|
|
16
|
+
import React from 'react';
|
|
17
|
+
const common = `
|
|
18
|
+
line-height: 1.5;
|
|
19
|
+
font-size: 0.85em;
|
|
20
|
+
text-align: center;
|
|
21
|
+
color: #828282;
|
|
22
|
+
`;
|
|
23
|
+
const UntilLimit = styled('div') `
|
|
24
|
+
${common};
|
|
25
|
+
[data-flight-price] {
|
|
26
|
+
display: inline;
|
|
27
|
+
> * {
|
|
28
|
+
display: inline;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
`;
|
|
32
|
+
const Reached = styled('div') `
|
|
33
|
+
${common};
|
|
34
|
+
`;
|
|
35
|
+
function FreeShipping(_a) {
|
|
36
|
+
var { cartTotal } = _a, rest = __rest(_a, ["cartTotal"]);
|
|
37
|
+
const { hasMetLimit, untilLimit, freeShippingConfigured } = useFreeShippingCheck({
|
|
38
|
+
cartTotal
|
|
39
|
+
});
|
|
40
|
+
if (!freeShippingConfigured)
|
|
41
|
+
return null;
|
|
42
|
+
if (!hasMetLimit)
|
|
43
|
+
return (React.createElement(UntilLimit, { key: "until-limit" }, t.rich(`Spend {price} more to qualify for free shipping!`, {
|
|
44
|
+
price: React.createElement(Price, { key: "price", price: untilLimit })
|
|
45
|
+
})));
|
|
46
|
+
return (React.createElement(Reached, Object.assign({}, rest),
|
|
47
|
+
React.createElement("h2", null, t('Delivery')),
|
|
48
|
+
React.createElement("label", null, t('Free for your order'))));
|
|
49
|
+
}
|
|
50
|
+
export default FreeShipping;
|
|
51
|
+
//# sourceMappingURL=FreeShipping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FreeShipping.js","sourceRoot":"","sources":["../../../../src/components/Cart/FreeShipping.js"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,CAAC,MAAM,eAAe,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,GAAG;;;;;CAKd,CAAC;AAEF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,MAAM;;;;;;;CAOT,CAAC;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,MAAM;CACT,CAAC;AAEF,SAAS,YAAY,CAAC,EAAsB;QAAtB,EAAE,SAAS,OAAW,EAAN,IAAI,cAApB,aAAsB,CAAF;IACxC,MAAM,EACJ,WAAW,EACX,UAAU,EACV,sBAAsB,EACvB,GAAG,oBAAoB,CAAC;QACvB,SAAS;KACV,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB;QAAE,OAAO,IAAI,CAAC;IAEzC,IAAI,CAAC,WAAW;QACd,OAAO,CACL,oBAAC,UAAU,IAAC,GAAG,EAAC,aAAa,IAC1B,CAAC,CAAC,IAAI,CAAC,kDAAkD,EAAE;YAC1D,KAAK,EAAE,oBAAC,KAAK,IAAC,GAAG,EAAC,OAAO,EAAC,KAAK,EAAE,UAAU,GAAI;SAChD,CAAC,CACS,CACd,CAAC;IAEJ,OAAO,CACL,oBAAC,OAAO,oBAAK,IAAI;QACf,gCAAK,CAAC,CAAC,UAAU,CAAC,CAAM;QACxB,mCAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAS,CACjC,CACX,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { default as Breadcrumbs } from '@jetshop/ui/Breadcrumbs';
|
|
2
|
+
import Image from '@jetshop/ui/Image/Image';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { styled } from 'linaria/react';
|
|
5
|
+
import { css } from 'linaria';
|
|
6
|
+
import MaxWidth from '../Layout/MaxWidth';
|
|
7
|
+
import { theme } from '../Theme';
|
|
8
|
+
export const CategoryHeaderWrapper = styled(MaxWidth) `
|
|
9
|
+
background-color: ${theme.colors.background};
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
justify-content: center;
|
|
13
|
+
text-align: center;
|
|
14
|
+
${theme.below.xl} {
|
|
15
|
+
max-width: 100%;
|
|
16
|
+
width: 100%;
|
|
17
|
+
padding: 0px;
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
20
|
+
const CategoryImageWrapper = styled('div') `
|
|
21
|
+
height: 320px;
|
|
22
|
+
width: 100%;
|
|
23
|
+
::after {
|
|
24
|
+
display: block;
|
|
25
|
+
position: relative;
|
|
26
|
+
background-image: linear-gradient(
|
|
27
|
+
0deg,
|
|
28
|
+
rgba(0, 0, 0, 0.195) 0%,
|
|
29
|
+
rgba(0, 0, 0, 0) 100%
|
|
30
|
+
);
|
|
31
|
+
width: 100%;
|
|
32
|
+
content: '';
|
|
33
|
+
margin-top: -320px;
|
|
34
|
+
height: 320px;
|
|
35
|
+
}
|
|
36
|
+
${theme.below.md} {
|
|
37
|
+
height: 217px;
|
|
38
|
+
::after {
|
|
39
|
+
margin-top: -217px;
|
|
40
|
+
height: 217px;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
`;
|
|
44
|
+
export const NoImageWrapper = styled('div') `
|
|
45
|
+
margin-top: 3.5rem;
|
|
46
|
+
padding: 10px;
|
|
47
|
+
`;
|
|
48
|
+
const CategoryName = styled('h1') `
|
|
49
|
+
font-weight: 600;
|
|
50
|
+
line-height: normal;
|
|
51
|
+
font-size: 40px;
|
|
52
|
+
margin-bottom: 10px;
|
|
53
|
+
${theme.below.md} {
|
|
54
|
+
font-size: 30px;
|
|
55
|
+
}
|
|
56
|
+
`;
|
|
57
|
+
const CategoryContent = styled('div') `
|
|
58
|
+
max-width: 540px;
|
|
59
|
+
font-weight: 300;
|
|
60
|
+
line-height: 26px;
|
|
61
|
+
font-size: 18px;
|
|
62
|
+
`;
|
|
63
|
+
const StyledBreadcrumbs = styled(Breadcrumbs) `
|
|
64
|
+
margin-bottom: 8px;
|
|
65
|
+
`;
|
|
66
|
+
const headerImageStyles = css `
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
justify-content: center;
|
|
70
|
+
color: white;
|
|
71
|
+
${StyledBreadcrumbs} {
|
|
72
|
+
a,
|
|
73
|
+
li {
|
|
74
|
+
color: white;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
`;
|
|
78
|
+
export const Inner = styled('div') `
|
|
79
|
+
display: flex;
|
|
80
|
+
flex-direction: column;
|
|
81
|
+
align-items: center;
|
|
82
|
+
justify-content: center;
|
|
83
|
+
width: 100%;
|
|
84
|
+
height: 100%;
|
|
85
|
+
`;
|
|
86
|
+
const Content = ({ category, breadcrumbProps, content }) => (React.createElement(Inner, null,
|
|
87
|
+
React.createElement(StyledBreadcrumbs, Object.assign({}, breadcrumbProps)),
|
|
88
|
+
React.createElement(CategoryName, { "data-testid": "page-header" }, category.name),
|
|
89
|
+
React.createElement(CategoryContent, { "data-testid": "category-description", dangerouslySetInnerHTML: {
|
|
90
|
+
__html: (content === null || content === void 0 ? void 0 : content.value) || category.content
|
|
91
|
+
} })));
|
|
92
|
+
const CategoryHeader = ({ category, parents, imageSrc, breadcrumbs, content }) => {
|
|
93
|
+
const breadcrumbProps = {
|
|
94
|
+
breadcrumbs,
|
|
95
|
+
parents
|
|
96
|
+
};
|
|
97
|
+
const isImageBackground = imageSrc || (category.images && category.images.length > 0);
|
|
98
|
+
return (React.createElement(CategoryHeaderWrapper, null, isImageBackground ? (React.createElement(CategoryImageWrapper, null,
|
|
99
|
+
React.createElement(Image, { src: (imageSrc === null || imageSrc === void 0 ? void 0 : imageSrc.value) || category.images, fillAvailableSpace: true, cover: true, quality: 80, className: headerImageStyles, critical: true, sizes: [1, 1, 1, 1, 1216] },
|
|
100
|
+
React.createElement(Content, { category: category, breadcrumbProps: breadcrumbProps, content: content })))) : (React.createElement(NoImageWrapper, null,
|
|
101
|
+
React.createElement(Content, { category: category, breadcrumbProps: breadcrumbProps, content: content })))));
|
|
102
|
+
};
|
|
103
|
+
export default CategoryHeader;
|
|
104
|
+
//# sourceMappingURL=CategoryHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryHeader.js","sourceRoot":"","sources":["../../../../src/components/CategoryPage/CategoryHeader.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LoadingLine } from '@jetshop/ui/Loading/LoadingLine';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { CategoryHeaderWrapper, Inner, NoImageWrapper } from './CategoryHeader';
|
|
4
|
+
export default React.memo(function CategoryHeaderLoadingState() {
|
|
5
|
+
const backgroundColor = '#e2e2e2';
|
|
6
|
+
return (React.createElement(CategoryHeaderWrapper, null,
|
|
7
|
+
React.createElement(NoImageWrapper, null,
|
|
8
|
+
React.createElement(Inner, null,
|
|
9
|
+
React.createElement(LoadingLine, { color: backgroundColor, heightPx: 14, style: { marginBottom: '2rem' } }),
|
|
10
|
+
React.createElement(LoadingLine, { color: backgroundColor, widthRem: 10, heightPx: 27, style: { marginBottom: '20px' } }),
|
|
11
|
+
React.createElement(LoadingLine, { color: backgroundColor, widthRem: 25, randomizeWidthBy: 5, count: 2, heightPx: 14, style: { marginBottom: '0.5rem' } })))));
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=CategoryHeaderLoadingState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryHeaderLoadingState.js","sourceRoot":"","sources":["../../../../src/components/CategoryPage/CategoryHeaderLoadingState.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEhF,eAAe,KAAK,CAAC,IAAI,CAAC,SAAS,0BAA0B;IAC3D,MAAM,eAAe,GAAG,SAAS,CAAC;IAClC,OAAO,CACL,oBAAC,qBAAqB;QACpB,oBAAC,cAAc;YACb,oBAAC,KAAK;gBACJ,oBAAC,WAAW,IACV,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,EAAE,EACZ,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAC/B;gBACF,oBAAC,WAAW,IACV,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,EAAE,EACZ,QAAQ,EAAE,EAAE,EACZ,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAC/B;gBACF,oBAAC,WAAW,IACV,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,EAAE,EACZ,gBAAgB,EAAE,CAAC,EACnB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,EAAE,EACZ,KAAK,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,GACjC,CACI,CACO,CACK,CACzB,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useLocation } from 'react-router';
|
|
3
|
+
import qs from 'qs';
|
|
4
|
+
import loadable from '@loadable/component';
|
|
5
|
+
import LoadingPage from '../LoadingPage';
|
|
6
|
+
export const LoadableStandardCategoryPage = loadable(() => import('./StandardCategoryPage'), {
|
|
7
|
+
fallback: React.createElement(LoadingPage, null)
|
|
8
|
+
});
|
|
9
|
+
export const LoadableWindowedCategoryPage = loadable(() => import('./WindowedCategoryPage'), {
|
|
10
|
+
fallback: React.createElement(LoadingPage, null)
|
|
11
|
+
});
|
|
12
|
+
const CategoryPage = props => {
|
|
13
|
+
const location = useLocation();
|
|
14
|
+
const { search } = location;
|
|
15
|
+
const searchObject = qs.parse(search, { ignoreQueryPrefix: true });
|
|
16
|
+
const standardPagination = searchObject.standardPagination === 'true';
|
|
17
|
+
// Comment out the one you're not using
|
|
18
|
+
if (standardPagination) {
|
|
19
|
+
return React.createElement(LoadableStandardCategoryPage, Object.assign({}, props));
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return React.createElement(LoadableWindowedCategoryPage, Object.assign({}, props));
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
export default CategoryPage;
|
|
26
|
+
//# sourceMappingURL=CategoryPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryPage.js","sourceRoot":"","sources":["../../../../src/components/CategoryPage/CategoryPage.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAClD,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,EACtC;IACE,QAAQ,EAAE,oBAAC,WAAW,OAAG;CAC1B,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAClD,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,EACtC;IACE,QAAQ,EAAE,oBAAC,WAAW,OAAG;CAC1B,CACF,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,CAAC,EAAE;IAC3B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAE5B,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,KAAK,MAAM,CAAC;IAEtE,uCAAuC;IACvC,IAAI,kBAAkB,EAAE;QACtB,OAAO,oBAAC,4BAA4B,oBAAK,KAAK,EAAI,CAAC;KACpD;SAAM;QACL,OAAO,oBAAC,4BAA4B,oBAAK,KAAK,EAAI,CAAC;KACpD;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import loadable from '@loadable/component';
|
|
3
|
+
import LoadingPage from '../LoadingPage';
|
|
4
|
+
export default loadable(() => import('./CategoryPage'), {
|
|
5
|
+
fallback: React.createElement(LoadingPage, null)
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=CategoryPage.loadable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryPage.loadable.js","sourceRoot":"","sources":["../../../../src/components/CategoryPage/CategoryPage.loadable.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,eAAe,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;IACtD,QAAQ,EAAE,oBAAC,WAAW,OAAG;CAC1B,CAAC,CAAC"}
|