@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,79 @@
|
|
|
1
|
+
import { useFilters } from '@jetshop/core/hooks/Filters/useFilters';
|
|
2
|
+
import { useListFilter } from '@jetshop/core/hooks/Filters/useListFilter';
|
|
3
|
+
import t from '@jetshop/intl';
|
|
4
|
+
import { ReactComponent as Cross } from '@jetshop/ui/svg/Cross.svg';
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { styled } from 'linaria/react';
|
|
7
|
+
import { theme } from '../../Theme';
|
|
8
|
+
export const FilterGroup = styled('div') `
|
|
9
|
+
font-size: 0.875rem;
|
|
10
|
+
`;
|
|
11
|
+
const Label = styled('label') `
|
|
12
|
+
font-weight: 300;
|
|
13
|
+
padding-right: 0.25rem;
|
|
14
|
+
text-transform: capitalize;
|
|
15
|
+
`;
|
|
16
|
+
const Value = styled('span') `
|
|
17
|
+
font-weight: 600;
|
|
18
|
+
padding-right: 1rem;
|
|
19
|
+
`;
|
|
20
|
+
export const AppliedFilter = styled('button') `
|
|
21
|
+
color: white;
|
|
22
|
+
border: 0;
|
|
23
|
+
padding: 0.5rem;
|
|
24
|
+
margin: 0.5rem;
|
|
25
|
+
display: inline-flex;
|
|
26
|
+
background-color: ${theme.colors.blue};
|
|
27
|
+
height: 36px;
|
|
28
|
+
align-items: center;
|
|
29
|
+
`;
|
|
30
|
+
export const FilterWrapper = styled('aside') `
|
|
31
|
+
display: flex;
|
|
32
|
+
flex-wrap: wrap;
|
|
33
|
+
margin: 0 -0.5rem;
|
|
34
|
+
`;
|
|
35
|
+
export const ClearButton = styled('button') `
|
|
36
|
+
background: none;
|
|
37
|
+
text-decoration: underline;
|
|
38
|
+
margin-left: 0.5rem;
|
|
39
|
+
width: 160px;
|
|
40
|
+
height: 36px;
|
|
41
|
+
border: 1px solid ${theme.colors.blue};
|
|
42
|
+
color: ${theme.colors.blue};
|
|
43
|
+
margin: 0.5rem;
|
|
44
|
+
text-decoration: none;
|
|
45
|
+
:hover,
|
|
46
|
+
:focus {
|
|
47
|
+
opacity: 0.8;
|
|
48
|
+
outline: none;
|
|
49
|
+
}
|
|
50
|
+
`;
|
|
51
|
+
export function ActiveFilters({ filters }) {
|
|
52
|
+
const { clearAllFilters } = useFilters();
|
|
53
|
+
if (!filters)
|
|
54
|
+
return null;
|
|
55
|
+
const activeListFilters = filters.filter(listFilter => {
|
|
56
|
+
return listFilter.hasActiveItems;
|
|
57
|
+
});
|
|
58
|
+
if (activeListFilters.length === 0)
|
|
59
|
+
return null;
|
|
60
|
+
return (React.createElement(FilterWrapper, null,
|
|
61
|
+
activeListFilters.map(listFilter => {
|
|
62
|
+
return (React.createElement(FilterGroup, { key: listFilter.id }, listFilter.items
|
|
63
|
+
.filter(item => item.isActive)
|
|
64
|
+
.map(listFilterItem => (React.createElement(ActiveListFilterItem, { item: listFilterItem, listFilter: listFilter, key: listFilterItem.value })))));
|
|
65
|
+
}),
|
|
66
|
+
React.createElement(ClearButton, { type: "button", onClick: clearAllFilters }, t('Clear all filters'))));
|
|
67
|
+
}
|
|
68
|
+
function ActiveListFilterItem({ item, listFilter }) {
|
|
69
|
+
const { apply } = useListFilter({ filter: listFilter });
|
|
70
|
+
return (React.createElement(AppliedFilter, { type: "button", key: item.value, onClick: () => {
|
|
71
|
+
apply({ value: item.value });
|
|
72
|
+
} },
|
|
73
|
+
React.createElement(Label, null,
|
|
74
|
+
listFilter.name,
|
|
75
|
+
" "),
|
|
76
|
+
React.createElement(Value, null, item.text),
|
|
77
|
+
React.createElement(Cross, null)));
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=ActiveFilters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActiveFilters.js","sourceRoot":"","sources":["../../../../../src/components/CategoryPage/Filters/ActiveFilters.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,CAAC,MAAM,eAAe,CAAC;AAC9B,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;;CAEvC,CAAC;AACF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;;;;CAI5B,CAAC;AACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;;;CAG3B,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;;;;;;sBAMvB,KAAK,CAAC,MAAM,CAAC,IAAI;;;CAGtC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;;;;CAI3C,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;;;;;;sBAMrB,KAAK,CAAC,MAAM,CAAC,IAAI;WAC5B,KAAK,CAAC,MAAM,CAAC,IAAI;;;;;;;;CAQ3B,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE;IACvC,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,EAAE,CAAC;IAEzC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACpD,OAAO,UAAU,CAAC,cAAc,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,OAAO,CACL,oBAAC,aAAa;QACX,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAClC,OAAO,CACL,oBAAC,WAAW,IAAC,GAAG,EAAE,UAAU,CAAC,EAAE,IAC5B,UAAU,CAAC,KAAK;iBACd,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC7B,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CACrB,oBAAC,oBAAoB,IACnB,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,cAAc,CAAC,KAAK,GACzB,CACH,CAAC,CACQ,CACf,CAAC;QACJ,CAAC,CAAC;QACF,oBAAC,WAAW,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,eAAe,IAChD,CAAC,CAAC,mBAAmB,CAAC,CACX,CACA,CACjB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IAChD,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACxD,OAAO,CACL,oBAAC,aAAa,IACZ,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,IAAI,CAAC,KAAK,EACf,OAAO,EAAE,GAAG,EAAE;YACZ,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/B,CAAC;QAED,oBAAC,KAAK;YAAE,UAAU,CAAC,IAAI;gBAAU;QACjC,oBAAC,KAAK,QAAE,IAAI,CAAC,IAAI,CAAS;QAC1B,oBAAC,KAAK,OAAG,CACK,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Checkbox from '@jetshop/ui/Checkbox';
|
|
3
|
+
import { useBooleanFilter } from '@jetshop/core/hooks/Filters/useBooleanFilter';
|
|
4
|
+
export function BooleanFilters({ filters }) {
|
|
5
|
+
if (!filters)
|
|
6
|
+
return null;
|
|
7
|
+
const boolFilters = filters.filter(filter => filter.__typename === 'BooleanFilter');
|
|
8
|
+
if (boolFilters.length === 0)
|
|
9
|
+
return null;
|
|
10
|
+
return boolFilters.map(filter => (React.createElement(BooleanFilter, { filter: filter, key: filter.id })));
|
|
11
|
+
}
|
|
12
|
+
function BooleanFilter({ filter }) {
|
|
13
|
+
const { apply } = useBooleanFilter({ filter });
|
|
14
|
+
return (React.createElement(Checkbox, { key: filter.id, label: filter.name, checked: filter.value, onChange: e => {
|
|
15
|
+
apply({ value: e.currentTarget.checked });
|
|
16
|
+
} }));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=BooleanFilters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BooleanFilters.js","sourceRoot":"","sources":["../../../../../src/components/CategoryPage/Filters/BooleanFilters.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEhF,MAAM,UAAU,cAAc,CAAC,EAAE,OAAO,EAAE;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAChC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,eAAe,CAChD,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC/B,oBAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAI,CAClD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,MAAM,EAAE;IAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE/C,OAAO,CACL,oBAAC,QAAQ,IACP,GAAG,EAAE,MAAM,CAAC,EAAE,EACd,KAAK,EAAE,MAAM,CAAC,IAAI,EAClB,OAAO,EAAE,MAAM,CAAC,KAAK,EACrB,QAAQ,EAAE,CAAC,CAAC,EAAE;YACZ,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC,GACD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Above, Below } from '@jetshop/ui/Breakpoints';
|
|
2
|
+
import Drawer, { DrawerTarget, DrawerTrigger } from '@jetshop/ui/Modal/Drawer';
|
|
3
|
+
import { SortOrders } from './SortOrders';
|
|
4
|
+
import { styled } from 'linaria/react';
|
|
5
|
+
import React, { Component } from 'react';
|
|
6
|
+
import { ActiveFilters } from './ActiveFilters';
|
|
7
|
+
import { BooleanFilters } from './BooleanFilters';
|
|
8
|
+
import FilterDrawer from './FilterDrawer';
|
|
9
|
+
import { ListFilters } from './ListFilters';
|
|
10
|
+
import { MultiListFilters } from './MultiListFilters';
|
|
11
|
+
import { RangeFilters } from './RangeFilters';
|
|
12
|
+
import FilterButton from './Mobile/FilterButton';
|
|
13
|
+
const Filters = styled('div') `
|
|
14
|
+
width: 100%;
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-direction: row;
|
|
17
|
+
flex-wrap: wrap;
|
|
18
|
+
> div {
|
|
19
|
+
width: 224px;
|
|
20
|
+
margin-right: 16px;
|
|
21
|
+
position: relative;
|
|
22
|
+
}
|
|
23
|
+
[data-flight-dropdown-items] {
|
|
24
|
+
position: absolute;
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
27
|
+
const FiltersSectionWrapper = styled('div') `
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: row;
|
|
30
|
+
`;
|
|
31
|
+
const FiltersWapper = styled('div') `
|
|
32
|
+
width: 90%;
|
|
33
|
+
`;
|
|
34
|
+
const BoolSortWrapper = styled('div') `
|
|
35
|
+
min-width: 224px;
|
|
36
|
+
display: flex;
|
|
37
|
+
flex-direction: column;
|
|
38
|
+
align-items: flex-end;
|
|
39
|
+
font-size: 0.875rem;
|
|
40
|
+
> div {
|
|
41
|
+
width: 224px;
|
|
42
|
+
text-align: right;
|
|
43
|
+
margin-bottom: 1em;
|
|
44
|
+
button {
|
|
45
|
+
height: 40px;
|
|
46
|
+
background-color: #f7f7f7;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
.boolean-wrapper {
|
|
50
|
+
direction: rtl;
|
|
51
|
+
> label {
|
|
52
|
+
margin-bottom: 6px;
|
|
53
|
+
span {
|
|
54
|
+
margin: 0 0 0 12px;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
[data-flight-dropdown-items] {
|
|
60
|
+
right: 0;
|
|
61
|
+
left: auto;
|
|
62
|
+
}
|
|
63
|
+
[data-flight-dropdown-item] {
|
|
64
|
+
display: flex;
|
|
65
|
+
* + * {
|
|
66
|
+
margin-left: auto;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
`;
|
|
70
|
+
class Filter extends Component {
|
|
71
|
+
render() {
|
|
72
|
+
var _a, _b;
|
|
73
|
+
const { filters } = this.props;
|
|
74
|
+
const sortOrders = (_b = (_a = this.props) === null || _a === void 0 ? void 0 : _a.sortOrders) !== null && _b !== void 0 ? _b : [];
|
|
75
|
+
return (React.createElement(React.Fragment, null,
|
|
76
|
+
React.createElement(Above, { breakpoint: "md" }, matches => matches && (React.createElement(React.Fragment, null,
|
|
77
|
+
React.createElement(FiltersSectionWrapper, null,
|
|
78
|
+
React.createElement(FiltersWapper, null,
|
|
79
|
+
React.createElement(Filters, null,
|
|
80
|
+
React.createElement(ListFilters, { filters: filters }),
|
|
81
|
+
React.createElement(RangeFilters, { filters: filters })),
|
|
82
|
+
React.createElement(Filters, null,
|
|
83
|
+
React.createElement(MultiListFilters, { filters: filters }))),
|
|
84
|
+
React.createElement(BoolSortWrapper, null,
|
|
85
|
+
React.createElement(Filters, null,
|
|
86
|
+
React.createElement(SortOrders, { sortOrders: sortOrders })),
|
|
87
|
+
React.createElement("div", { className: "boolean-wrapper" },
|
|
88
|
+
React.createElement(BooleanFilters, { filters: filters })))),
|
|
89
|
+
React.createElement(ActiveFilters, { filters: filters })))),
|
|
90
|
+
React.createElement(Below, { breakpoint: "md" }, matches => matches && (React.createElement(React.Fragment, null,
|
|
91
|
+
React.createElement(DrawerTrigger, { id: "filterDrawer" }, ({ showTarget }) => (React.createElement(FilterButton, { showTarget: showTarget, filters: filters }))),
|
|
92
|
+
React.createElement(DrawerTarget, { id: "filterDrawer" }, ({ hideTarget, isOpen }) => (React.createElement(Drawer, { isOpen: isOpen, right: true },
|
|
93
|
+
React.createElement(FilterDrawer, { close: hideTarget, filters: filters, sortOrders: sortOrders })))))))));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export default Filter;
|
|
97
|
+
//# sourceMappingURL=Filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Filter.js","sourceRoot":"","sources":["../../../../../src/components/CategoryPage/Filters/Filter.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
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 { Intl } from '@jetshop/intl';
|
|
13
|
+
import Accordion from '@jetshop/ui/Accordion/Accordion';
|
|
14
|
+
import React from 'react';
|
|
15
|
+
import { styled } from 'linaria/react';
|
|
16
|
+
import { css } from 'linaria';
|
|
17
|
+
import { BooleanFilters } from './BooleanFilters';
|
|
18
|
+
import { ListAccordion } from './Mobile/ListAccordion';
|
|
19
|
+
import { RangeAccordion } from './Mobile/RangeAccordion';
|
|
20
|
+
import { SortOrderAccordion } from './Mobile/SortOrderAccordion';
|
|
21
|
+
import { useFilters } from '@jetshop/core/hooks/Filters/useFilters';
|
|
22
|
+
import { ClearButton } from './ActiveFilters';
|
|
23
|
+
import t from '@jetshop/intl';
|
|
24
|
+
import Button from '../../ui/Button';
|
|
25
|
+
const Title = styled('h1') `
|
|
26
|
+
color: black;
|
|
27
|
+
font-size: 1.125rem;
|
|
28
|
+
text-align: center;
|
|
29
|
+
padding: 1.5rem;
|
|
30
|
+
border-bottom: 1px solid #e8e8e8;
|
|
31
|
+
font-weight: 600;
|
|
32
|
+
`;
|
|
33
|
+
const Wrapper = styled('div') `
|
|
34
|
+
button {
|
|
35
|
+
padding: 0 1rem;
|
|
36
|
+
border-width: 1px 0 0 0;
|
|
37
|
+
}
|
|
38
|
+
`;
|
|
39
|
+
const ButtonContainer = styled('div') `
|
|
40
|
+
padding: 1em;
|
|
41
|
+
> button {
|
|
42
|
+
width: calc(50% - 0.5em);
|
|
43
|
+
border-radius: 0;
|
|
44
|
+
height: 36px;
|
|
45
|
+
|
|
46
|
+
&:last-of-type {
|
|
47
|
+
margin: 0 0 0 0.5em;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&:first-of-type {
|
|
51
|
+
margin: 0 0.5em 0 0;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
`;
|
|
55
|
+
const boolFilters = css `
|
|
56
|
+
padding: 1rem;
|
|
57
|
+
label {
|
|
58
|
+
margin-top: 0.5em;
|
|
59
|
+
}
|
|
60
|
+
`;
|
|
61
|
+
const FilterDrawer = (_a) => {
|
|
62
|
+
var { filters, sortOrders, close } = _a, props = __rest(_a, ["filters", "sortOrders", "close"]);
|
|
63
|
+
const { clearAllFilters } = useFilters();
|
|
64
|
+
const isActiveListFilter = filters.some(listFilter => {
|
|
65
|
+
return listFilter.hasActiveItems;
|
|
66
|
+
});
|
|
67
|
+
const listFilters = (filters || []).filter(filter => filter.__typename === 'ListFilter');
|
|
68
|
+
const rangeFilters = (filters || []).filter(filter => filter.__typename === 'NumericRangeFilter');
|
|
69
|
+
const isFilters = !!filters;
|
|
70
|
+
const isSortOrders = sortOrders.length > 0;
|
|
71
|
+
return (React.createElement("section", Object.assign({}, props), (isFilters || isSortOrders) && (React.createElement(React.Fragment, null,
|
|
72
|
+
React.createElement(Wrapper, null,
|
|
73
|
+
React.createElement(Title, null,
|
|
74
|
+
React.createElement(Intl, null, t => isFilters && isSortOrders
|
|
75
|
+
? `${t('Filter')} & ${t('Sort by')}`
|
|
76
|
+
: isFilters
|
|
77
|
+
? t('Filter')
|
|
78
|
+
: t('Sort by'))),
|
|
79
|
+
React.createElement(Accordion, { single: true }, accordionProps => (React.createElement(React.Fragment, null,
|
|
80
|
+
isFilters && (React.createElement(React.Fragment, null,
|
|
81
|
+
React.createElement(ListAccordion, { filters: filters, accordionProps: accordionProps }),
|
|
82
|
+
React.createElement(RangeAccordion, { filters: filters, accordionProps: accordionProps, startingIdx: listFilters.length }))),
|
|
83
|
+
isSortOrders && (React.createElement(SortOrderAccordion, { sortOrders: sortOrders, accordionProps: accordionProps, startingIdx: listFilters.length + rangeFilters.length })),
|
|
84
|
+
isFilters && (React.createElement("div", { className: boolFilters },
|
|
85
|
+
React.createElement(BooleanFilters, { filters: filters }))))))),
|
|
86
|
+
React.createElement(ButtonContainer, null,
|
|
87
|
+
React.createElement(Button, { onClick: close }, t('Apply filters')),
|
|
88
|
+
isActiveListFilter && (React.createElement(ClearButton, { type: "button", onClick: clearAllFilters }, t('Clear all filters'))))))));
|
|
89
|
+
};
|
|
90
|
+
export default FilterDrawer;
|
|
91
|
+
//# sourceMappingURL=FilterDrawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterDrawer.js","sourceRoot":"","sources":["../../../../../src/components/CategoryPage/Filters/FilterDrawer.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { css } from 'linaria';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { DropdownMenu } from '@jetshop/ui/DropdownMenu';
|
|
4
|
+
import { theme } from '../../Theme';
|
|
5
|
+
const menu = css `
|
|
6
|
+
margin-bottom: 1em;
|
|
7
|
+
font-size: 0.875rem;
|
|
8
|
+
|
|
9
|
+
[data-flight-dropdown-items] {
|
|
10
|
+
top: calc(100% - 1px);
|
|
11
|
+
background: ${theme.colors.background};
|
|
12
|
+
border: 1px solid ${theme.colors.blue};
|
|
13
|
+
border-top: 0;
|
|
14
|
+
border-radius: 0 0 3px 3px;
|
|
15
|
+
z-index: 999;
|
|
16
|
+
width: 100%;
|
|
17
|
+
}
|
|
18
|
+
[data-flight-dropdown-item] {
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
display: block;
|
|
21
|
+
padding: 0.75em;
|
|
22
|
+
border-top: 1px solid ${theme.colors.lightgrey};
|
|
23
|
+
width: 100%;
|
|
24
|
+
text-align: left;
|
|
25
|
+
background: transparent;
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
span + * {
|
|
29
|
+
margin-left: auto;
|
|
30
|
+
}
|
|
31
|
+
/* qty text */
|
|
32
|
+
span + span {
|
|
33
|
+
padding-left: 0.5em;
|
|
34
|
+
font-size: 80%;
|
|
35
|
+
}
|
|
36
|
+
:hover,
|
|
37
|
+
:focus {
|
|
38
|
+
background: white;
|
|
39
|
+
color: ${theme.colors.blue};
|
|
40
|
+
outline: none;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
[data-flight-dropdown-button] {
|
|
45
|
+
padding: 0.75em;
|
|
46
|
+
border: 1px solid #dedede;
|
|
47
|
+
width: 100%;
|
|
48
|
+
text-align: left;
|
|
49
|
+
background: ${theme.colors.white};
|
|
50
|
+
font-weight: bold;
|
|
51
|
+
border-radius: 3px;
|
|
52
|
+
outline: none;
|
|
53
|
+
display: flex;
|
|
54
|
+
align-items: center;
|
|
55
|
+
|
|
56
|
+
svg {
|
|
57
|
+
margin-left: auto;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
:focus {
|
|
61
|
+
border: 1px solid ${theme.colors.blue};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&[aria-expanded='true'] {
|
|
65
|
+
border-radius: 3px 3px 0 0;
|
|
66
|
+
border-color: ${theme.colors.blue};
|
|
67
|
+
|
|
68
|
+
.carot {
|
|
69
|
+
transform: rotate(180deg);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
`;
|
|
74
|
+
export function FilterDropdownMenu(props) {
|
|
75
|
+
return React.createElement(DropdownMenu, Object.assign({ className: menu }, props));
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=FilterDropdownMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterDropdownMenu.js","sourceRoot":"","sources":["../../../../../src/components/CategoryPage/Filters/FilterDropdownMenu.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,IAAI,GAAG,GAAG,CAAA;;;;;;kBAME,KAAK,CAAC,MAAM,CAAC,UAAU;wBACjB,KAAK,CAAC,MAAM,CAAC,IAAI;;;;;;;;;;4BAUb,KAAK,CAAC,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;;;eAiBnC,KAAK,CAAC,MAAM,CAAC,IAAI;;;;;;;;;;kBAUd,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;;;;;0BAYV,KAAK,CAAC,MAAM,CAAC,IAAI;;;;;sBAKrB,KAAK,CAAC,MAAM,CAAC,IAAI;;;;;;;CAOtC,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,KAAK;IACtC,OAAO,oBAAC,YAAY,kBAAC,SAAS,EAAE,IAAI,IAAM,KAAK,EAAI,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { useListFilter } from '@jetshop/core/hooks/Filters/useListFilter';
|
|
2
|
+
import t from '@jetshop/intl';
|
|
3
|
+
import { DropdownMenuButton as Button, DropdownMenuItem, DropdownMenuItems as Items } from '@jetshop/ui/DropdownMenu';
|
|
4
|
+
import ErrorBoundary from '@jetshop/ui/ErrorBoundary/Generic';
|
|
5
|
+
import PassThrough from '@jetshop/ui/ErrorBoundary/PassThrough';
|
|
6
|
+
import { ReactComponent as Carot } from '@jetshop/ui/svg/Carrot.svg';
|
|
7
|
+
import { ReactComponent as Check } from '@jetshop/ui/svg/Check.svg';
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import { FilterDropdownMenu } from './FilterDropdownMenu';
|
|
10
|
+
export function ListFilters({ filters }) {
|
|
11
|
+
const listFilters = filters.filter(filter => filter.__typename === 'ListFilter');
|
|
12
|
+
if (listFilters.length === 0)
|
|
13
|
+
return null;
|
|
14
|
+
return listFilters.map(filter => (React.createElement(ErrorBoundary, { component: PassThrough, key: filter.id },
|
|
15
|
+
React.createElement(ListFilter, { filter: filter }))));
|
|
16
|
+
}
|
|
17
|
+
function ListFilter({ filter }) {
|
|
18
|
+
const { apply, clear } = useListFilter({ filter });
|
|
19
|
+
const onSelect = value => () => apply({ value });
|
|
20
|
+
return (React.createElement(FilterDropdownMenu, null,
|
|
21
|
+
React.createElement(Button, null,
|
|
22
|
+
React.createElement("span", null, filter.name),
|
|
23
|
+
filter.hasActiveItems ? React.createElement(Check, null) : React.createElement(Carot, { className: "carot" })),
|
|
24
|
+
React.createElement(Items, { as: "ul" },
|
|
25
|
+
filter.items.map(item => (React.createElement(DropdownMenuItem, { key: item.id, onSelect: item.resultCount > 0 && onSelect(item.value), style: item.resultCount === 0
|
|
26
|
+
? {
|
|
27
|
+
opacity: 0.4,
|
|
28
|
+
cursor: 'not-allowed'
|
|
29
|
+
}
|
|
30
|
+
: { cursor: 'pointer' } },
|
|
31
|
+
React.createElement("span", null, item.text),
|
|
32
|
+
item.isActive ? React.createElement(Check, null) : React.createElement("span", null, item.resultCount)))),
|
|
33
|
+
React.createElement(React.Fragment, null, filter.hasActiveItems && (React.createElement(DropdownMenuItem, { onSelect: ({ setIsOpen }) => {
|
|
34
|
+
setIsOpen(false);
|
|
35
|
+
clear();
|
|
36
|
+
} }, t('Clear filter')))))));
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=ListFilters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListFilters.js","sourceRoot":"","sources":["../../../../../src/components/CategoryPage/Filters/ListFilters.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,CAAC,MAAM,eAAe,CAAC;AAC9B,OAAO,EACL,kBAAkB,IAAI,MAAM,EAC5B,gBAAgB,EAChB,iBAAiB,IAAI,KAAK,EAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,WAAW,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE;IACrC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAChC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,YAAY,CAC7C,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC/B,oBAAC,aAAa,IAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE;QACnD,oBAAC,UAAU,IAAC,MAAM,EAAE,MAAM,GAAI,CAChB,CACjB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,MAAM,EAAE;IAC5B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjD,OAAO,CACL,oBAAC,kBAAkB;QACjB,oBAAC,MAAM;YACL,kCAAO,MAAM,CAAC,IAAI,CAAQ;YACzB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,oBAAC,KAAK,OAAG,CAAC,CAAC,CAAC,oBAAC,KAAK,IAAC,SAAS,EAAC,OAAO,GAAG,CACzD;QACT,oBAAC,KAAK,IAAC,EAAE,EAAC,IAAI;YACX,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACxB,oBAAC,gBAAgB,IACf,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,QAAQ,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EACtD,KAAK,EACH,IAAI,CAAC,WAAW,KAAK,CAAC;oBACpB,CAAC,CAAC;wBACE,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,aAAa;qBACtB;oBACH,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE;gBAG3B,kCAAO,IAAI,CAAC,IAAI,CAAQ;gBACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAC,KAAK,OAAG,CAAC,CAAC,CAAC,kCAAO,IAAI,CAAC,WAAW,CAAQ,CAC3C,CACpB,CAAC;YACF,0CACG,MAAM,CAAC,cAAc,IAAI,CACxB,oBAAC,gBAAgB,IACf,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;oBAC1B,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjB,KAAK,EAAE,CAAC;gBACV,CAAC,IAEA,CAAC,CAAC,cAAc,CAAC,CACD,CACpB,CACA,CACG,CACW,CACtB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactComponent as Carot } from '@jetshop/ui/svg/Carrot.svg';
|
|
2
|
+
import { ReactComponent as Check } from '@jetshop/ui/svg/Check.svg';
|
|
3
|
+
import { css, cx } from 'linaria';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
const carot = css `
|
|
6
|
+
transition: transform 200ms;
|
|
7
|
+
transform: rotate(-90deg);
|
|
8
|
+
&.is-open {
|
|
9
|
+
transform: rotate(0);
|
|
10
|
+
}
|
|
11
|
+
`;
|
|
12
|
+
export function ActiveCarot({ isActive, isOpen }) {
|
|
13
|
+
return isActive ? (React.createElement(Check, { className: "check" })) : (React.createElement(Carot, { className: cx(carot, isOpen ? 'is-open' : null) }));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ActiveCarot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActiveCarot.js","sourceRoot":"","sources":["../../../../../../src/components/CategoryPage/Filters/Mobile/ActiveCarot.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;CAMhB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;IAC9C,OAAO,QAAQ,CAAC,CAAC,CAAC,CAChB,oBAAC,KAAK,IAAC,SAAS,EAAC,OAAO,GAAG,CAC5B,CAAC,CAAC,CAAC,CACF,oBAAC,KAAK,IAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAI,CAC3D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import React, { useMemo, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { theme } from '../../../Theme';
|
|
3
|
+
import { ReactComponent as FilterIcon } from '../../../../svg/Filter.svg';
|
|
4
|
+
import { styled } from 'linaria/react';
|
|
5
|
+
const ButtonWrapper = styled('div') `
|
|
6
|
+
display: flex;
|
|
7
|
+
justify-content: flex-end;
|
|
8
|
+
right: 2rem;
|
|
9
|
+
${theme.below.sm} {
|
|
10
|
+
right: 0.75rem;
|
|
11
|
+
}
|
|
12
|
+
`;
|
|
13
|
+
const Button = styled('button') `
|
|
14
|
+
position: absolute;
|
|
15
|
+
z-index: 9;
|
|
16
|
+
background: transparent;
|
|
17
|
+
border: none;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
text-align: left;
|
|
20
|
+
text-transform: uppercase;
|
|
21
|
+
display: flex;
|
|
22
|
+
justify-content: flex-end;
|
|
23
|
+
align-items: center;
|
|
24
|
+
outline: none;
|
|
25
|
+
margin-top: -8px;
|
|
26
|
+
p {
|
|
27
|
+
transition: all 0.2s ease;
|
|
28
|
+
padding-right: 10px;
|
|
29
|
+
}
|
|
30
|
+
&.fixed {
|
|
31
|
+
top: 32px;
|
|
32
|
+
position: fixed;
|
|
33
|
+
}
|
|
34
|
+
`;
|
|
35
|
+
const StyledFilterIcon = styled(FilterIcon) `
|
|
36
|
+
background: ${theme.colors.blue};
|
|
37
|
+
border-radius: 50%;
|
|
38
|
+
padding: 10px;
|
|
39
|
+
width: 40px;
|
|
40
|
+
height: 40px;
|
|
41
|
+
position: relative;
|
|
42
|
+
`;
|
|
43
|
+
const Badge = styled('div') `
|
|
44
|
+
position: absolute;
|
|
45
|
+
display: block;
|
|
46
|
+
top: -7px;
|
|
47
|
+
background: black;
|
|
48
|
+
color: white;
|
|
49
|
+
padding: 2px 4px;
|
|
50
|
+
border-radius: 4px;
|
|
51
|
+
left: 2px;
|
|
52
|
+
font-size: 0.8rem;
|
|
53
|
+
z-index: 2;
|
|
54
|
+
line-height: 0.9rem;
|
|
55
|
+
`;
|
|
56
|
+
const IconWrapper = styled('div') `
|
|
57
|
+
position: relative;
|
|
58
|
+
pointer-events: auto;
|
|
59
|
+
line-height: 0;
|
|
60
|
+
`;
|
|
61
|
+
const FilterButton = ({ showTarget, filters }) => {
|
|
62
|
+
const buttonWrapperElem = useRef(null);
|
|
63
|
+
const [isFixed, setIsFixed] = useState(false);
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
function scroll() {
|
|
66
|
+
const elemYPos = buttonWrapperElem.current.getBoundingClientRect().y;
|
|
67
|
+
if (elemYPos <= 32)
|
|
68
|
+
setIsFixed(true);
|
|
69
|
+
else
|
|
70
|
+
setIsFixed(false);
|
|
71
|
+
}
|
|
72
|
+
window.addEventListener('scroll', scroll);
|
|
73
|
+
return () => {
|
|
74
|
+
window.removeEventListener('scroll', scroll);
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
const numOfActiveFilters = useMemo(() => {
|
|
78
|
+
let activeFilters = 0;
|
|
79
|
+
filters.forEach(filter => {
|
|
80
|
+
switch (filter.__typename) {
|
|
81
|
+
case 'ListFilter':
|
|
82
|
+
case 'MultiListFilter':
|
|
83
|
+
if (filter.hasActiveItems)
|
|
84
|
+
activeFilters++;
|
|
85
|
+
break;
|
|
86
|
+
case 'NumericRangeFilter':
|
|
87
|
+
if (filter.isActive)
|
|
88
|
+
activeFilters++;
|
|
89
|
+
break;
|
|
90
|
+
case 'BooleanFilter':
|
|
91
|
+
if (filter.value)
|
|
92
|
+
activeFilters++;
|
|
93
|
+
break;
|
|
94
|
+
default:
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
return activeFilters;
|
|
99
|
+
}, [filters]);
|
|
100
|
+
return (React.createElement(ButtonWrapper, { ref: buttonWrapperElem },
|
|
101
|
+
React.createElement(Button, { onClick: showTarget, className: isFixed ? 'fixed' : '' },
|
|
102
|
+
React.createElement(IconWrapper, null,
|
|
103
|
+
numOfActiveFilters > 0 && React.createElement(Badge, null, numOfActiveFilters),
|
|
104
|
+
React.createElement(StyledFilterIcon, null)))));
|
|
105
|
+
};
|
|
106
|
+
export default FilterButton;
|
|
107
|
+
//# sourceMappingURL=FilterButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterButton.js","sourceRoot":"","sources":["../../../../../../src/components/CategoryPage/Filters/Mobile/FilterButton.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;;;;IAI/B,KAAK,CAAC,KAAK,CAAC,EAAE;;;CAGjB,CAAC;AAEF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;CAqB9B,CAAC;AAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;gBAC3B,KAAK,CAAC,MAAM,CAAC,IAAI;;;;;;CAMhC,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;;;;;;;;;;;;CAY1B,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;;;;CAIhC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/C,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,MAAM;YACb,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;YACrE,IAAI,QAAQ,IAAI,EAAE;gBAAE,UAAU,CAAC,IAAI,CAAC,CAAC;;gBAChC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,QAAQ,MAAM,CAAC,UAAU,EAAE;gBACzB,KAAK,YAAY,CAAC;gBAClB,KAAK,iBAAiB;oBACpB,IAAI,MAAM,CAAC,cAAc;wBAAE,aAAa,EAAE,CAAC;oBAC3C,MAAM;gBACR,KAAK,oBAAoB;oBACvB,IAAI,MAAM,CAAC,QAAQ;wBAAE,aAAa,EAAE,CAAC;oBACrC,MAAM;gBACR,KAAK,eAAe;oBAClB,IAAI,MAAM,CAAC,KAAK;wBAAE,aAAa,EAAE,CAAC;oBAClC,MAAM;gBACR;oBACE,MAAM;aACT;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACL,oBAAC,aAAa,IAAC,GAAG,EAAE,iBAAiB;QACnC,oBAAC,MAAM,IAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5D,oBAAC,WAAW;gBACT,kBAAkB,GAAG,CAAC,IAAI,oBAAC,KAAK,QAAE,kBAAkB,CAAS;gBAC9D,oBAAC,gBAAgB,OAAG,CACR,CACP,CACK,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ReactComponent as Check } from '@jetshop/ui/svg/Check.svg';
|
|
2
|
+
import { css } from 'linaria';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { ActiveCarot } from './ActiveCarot';
|
|
5
|
+
import { filterName } from './shared/styles';
|
|
6
|
+
import { useListFilter } from '@jetshop/core/hooks/Filters/useListFilter';
|
|
7
|
+
export const filtersStyle = css `
|
|
8
|
+
list-style: none;
|
|
9
|
+
li button {
|
|
10
|
+
padding: 1em;
|
|
11
|
+
width: 100%;
|
|
12
|
+
display: flex;
|
|
13
|
+
background: transparent;
|
|
14
|
+
border-top: 1px solid white;
|
|
15
|
+
background: #f0f0f0;
|
|
16
|
+
justify-content: space-between;
|
|
17
|
+
align-items: center;
|
|
18
|
+
span {
|
|
19
|
+
/* result count */
|
|
20
|
+
font-size: 0.75em;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
24
|
+
export const ListAccordion = ({ filters, accordionProps, startingIdx = 0 }) => {
|
|
25
|
+
if (!filters)
|
|
26
|
+
return null;
|
|
27
|
+
const listFilters = filters.filter(filter => filter.__typename === 'ListFilter');
|
|
28
|
+
return (React.createElement(React.Fragment, null, listFilters.map((filter, idx) => (React.createElement(ListFilter, { key: filter.id, filter: filter, idx: idx, startingIdx: startingIdx, accordionProps: accordionProps })))));
|
|
29
|
+
};
|
|
30
|
+
function ListFilter({ filter, idx, accordionProps, startingIdx }) {
|
|
31
|
+
const { apply } = useListFilter({ filter });
|
|
32
|
+
const { AccordionContent } = accordionProps;
|
|
33
|
+
const accordionIsOpen = accordionProps.openIndexes.includes(idx + startingIdx);
|
|
34
|
+
return (React.createElement(React.Fragment, null,
|
|
35
|
+
React.createElement("div", { className: filterName, onClick: () => accordionProps.handleClick(idx) },
|
|
36
|
+
filter.name,
|
|
37
|
+
React.createElement(ActiveCarot, { isActive: filter.hasActiveItems, isOpen: accordionIsOpen })),
|
|
38
|
+
React.createElement(AccordionContent, { isOpen: accordionIsOpen },
|
|
39
|
+
React.createElement("ul", { className: filtersStyle }, filter.items.map(item => (React.createElement("li", { key: item.id },
|
|
40
|
+
React.createElement("button", { onClick: () => apply({ value: item.value }) },
|
|
41
|
+
item.text,
|
|
42
|
+
item.isActive ? React.createElement(Check, null) : React.createElement("span", null, item.resultCount)))))))));
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=ListAccordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListAccordion.js","sourceRoot":"","sources":["../../../../../../src/components/CategoryPage/Filters/Mobile/ListAccordion.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE1E,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;CAgB9B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE;IAC5E,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAChC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,YAAY,CAC7C,CAAC;IAEF,OAAO,CACL,0CACG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,oBAAC,UAAU,IACT,GAAG,EAAE,MAAM,CAAC,EAAE,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC,CACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE;IAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,MAAM,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAAC;IAC5C,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,QAAQ,CACzD,GAAG,GAAG,WAAW,CAClB,CAAC;IAEF,OAAO,CACL;QACE,6BACE,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC;YAE7C,MAAM,CAAC,IAAI;YACZ,oBAAC,WAAW,IACV,QAAQ,EAAE,MAAM,CAAC,cAAc,EAC/B,MAAM,EAAE,eAAe,GACvB,CACE;QACN,oBAAC,gBAAgB,IAAC,MAAM,EAAE,eAAe;YACvC,4BAAI,SAAS,EAAE,YAAY,IACxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACxB,4BAAI,GAAG,EAAE,IAAI,CAAC,EAAE;gBACd,gCAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChD,IAAI,CAAC,IAAI;oBAET,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAC,KAAK,OAAG,CAAC,CAAC,CAAC,kCAAO,IAAI,CAAC,WAAW,CAAQ,CACrD,CACN,CACN,CAAC,CACC,CACY,CAClB,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RangeSlider } from '../RangeFilters';
|
|
3
|
+
import { ActiveCarot } from './ActiveCarot';
|
|
4
|
+
import { filterName } from './shared/styles';
|
|
5
|
+
export const RangeAccordion = ({ filters, accordionProps, startingIdx = 0 }) => {
|
|
6
|
+
const rangeFilters = filters.filter(filter => filter.__typename === 'NumericRangeFilter');
|
|
7
|
+
if (rangeFilters.length === 0)
|
|
8
|
+
return null;
|
|
9
|
+
return rangeFilters.map((rangeFilter, idx) => (React.createElement(RangeFilter, { key: rangeFilter.id, rangeFilter: rangeFilter, idx: idx, accordionProps: accordionProps, startingIdx: startingIdx })));
|
|
10
|
+
};
|
|
11
|
+
function RangeFilter({ rangeFilter, idx, accordionProps, startingIdx }) {
|
|
12
|
+
const accordionIsOpen = accordionProps.openIndexes.includes(idx + startingIdx);
|
|
13
|
+
const { AccordionContent } = accordionProps;
|
|
14
|
+
return (React.createElement(React.Fragment, null,
|
|
15
|
+
React.createElement("div", { className: filterName, onClick: () => accordionProps.handleClick(idx + startingIdx) },
|
|
16
|
+
rangeFilter.name,
|
|
17
|
+
React.createElement(ActiveCarot, { isActive: rangeFilter.isActive, isOpen: accordionIsOpen })),
|
|
18
|
+
React.createElement(AccordionContent, { isOpen: accordionIsOpen },
|
|
19
|
+
React.createElement(RangeSlider, { filter: rangeFilter }))));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=RangeAccordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeAccordion.js","sourceRoot":"","sources":["../../../../../../src/components/CategoryPage/Filters/Mobile/RangeAccordion.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,OAAO,EACP,cAAc,EACd,WAAW,GAAG,CAAC,EAChB,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CACjC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,oBAAoB,CACrD,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5C,oBAAC,WAAW,IACV,GAAG,EAAE,WAAW,CAAC,EAAE,EACnB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,GACX,CAChB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,SAAS,WAAW,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE;IACpE,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,QAAQ,CACzD,GAAG,GAAG,WAAW,CAClB,CAAC;IACF,MAAM,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAAC;IAE5C,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ;QACb,6BACE,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC;YAE3D,WAAW,CAAC,IAAI;YACjB,oBAAC,WAAW,IAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,GAAI,CACpE;QACN,oBAAC,gBAAgB,IAAC,MAAM,EAAE,eAAe;YAEvC,oBAAC,WAAW,IAAC,MAAM,EAAE,WAAW,GAAI,CACnB,CACJ,CAClB,CAAC;AACJ,CAAC"}
|