@jetshop/template-trend 6.1.3 → 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.
Files changed (411) hide show
  1. package/dist/src/client.js +6 -0
  2. package/dist/src/client.js.map +1 -0
  3. package/dist/src/components/Auth/ForgotPassword.js +30 -0
  4. package/dist/src/components/Auth/ForgotPassword.js.map +1 -0
  5. package/dist/src/components/Auth/ForgotPassword.loadable.js +7 -0
  6. package/dist/src/components/Auth/ForgotPassword.loadable.js.map +1 -0
  7. package/dist/src/components/Auth/LogInPage.js +69 -0
  8. package/dist/src/components/Auth/LogInPage.js.map +1 -0
  9. package/dist/src/components/Auth/LogInPage.loadable.js +7 -0
  10. package/dist/src/components/Auth/LogInPage.loadable.js.map +1 -0
  11. package/dist/src/components/Auth/ResetPassword.js +30 -0
  12. package/dist/src/components/Auth/ResetPassword.js.map +1 -0
  13. package/dist/src/components/Auth/ResetPassword.loadable.js +7 -0
  14. package/dist/src/components/Auth/ResetPassword.loadable.js.map +1 -0
  15. package/dist/src/components/Auth/Signup/Address.js +34 -0
  16. package/dist/src/components/Auth/Signup/Address.js.map +1 -0
  17. package/dist/src/components/Auth/Signup/CustomerType.js +30 -0
  18. package/dist/src/components/Auth/Signup/CustomerType.js.map +1 -0
  19. package/dist/src/components/Auth/Signup/LoginFields.js +31 -0
  20. package/dist/src/components/Auth/Signup/LoginFields.js.map +1 -0
  21. package/dist/src/components/Auth/Signup/PID.js +11 -0
  22. package/dist/src/components/Auth/Signup/PID.js.map +1 -0
  23. package/dist/src/components/Auth/Signup/SSN.js +29 -0
  24. package/dist/src/components/Auth/Signup/SSN.js.map +1 -0
  25. package/dist/src/components/Auth/Signup/SignUpPage.js +78 -0
  26. package/dist/src/components/Auth/Signup/SignUpPage.js.map +1 -0
  27. package/dist/src/components/Auth/Signup/SignUpPage.loadable.js +7 -0
  28. package/dist/src/components/Auth/Signup/SignUpPage.loadable.js.map +1 -0
  29. package/dist/src/components/Auth/Signup/useSignupValidation.js +29 -0
  30. package/dist/src/components/Auth/Signup/useSignupValidation.js.map +1 -0
  31. package/dist/src/components/Auth/UI/Form.js +33 -0
  32. package/dist/src/components/Auth/UI/Form.js.map +1 -0
  33. package/dist/src/components/Cart/CartButton.js +46 -0
  34. package/dist/src/components/Cart/CartButton.js.map +1 -0
  35. package/dist/src/components/Cart/CartFlyout.js +190 -0
  36. package/dist/src/components/Cart/CartFlyout.js.map +1 -0
  37. package/dist/src/components/Cart/CartItem.js +155 -0
  38. package/dist/src/components/Cart/CartItem.js.map +1 -0
  39. package/dist/src/components/Cart/FreeShipping.js +51 -0
  40. package/dist/src/components/Cart/FreeShipping.js.map +1 -0
  41. package/dist/src/components/CategoryPage/CategoryHeader.js +104 -0
  42. package/dist/src/components/CategoryPage/CategoryHeader.js.map +1 -0
  43. package/dist/src/components/CategoryPage/CategoryHeaderLoadingState.js +13 -0
  44. package/dist/src/components/CategoryPage/CategoryHeaderLoadingState.js.map +1 -0
  45. package/dist/src/components/CategoryPage/CategoryPage.js +26 -0
  46. package/dist/src/components/CategoryPage/CategoryPage.js.map +1 -0
  47. package/dist/src/components/CategoryPage/CategoryPage.loadable.js +7 -0
  48. package/dist/src/components/CategoryPage/CategoryPage.loadable.js.map +1 -0
  49. package/dist/src/components/CategoryPage/Filters/ActiveFilters.js +79 -0
  50. package/dist/src/components/CategoryPage/Filters/ActiveFilters.js.map +1 -0
  51. package/dist/src/components/CategoryPage/Filters/BooleanFilters.js +18 -0
  52. package/dist/src/components/CategoryPage/Filters/BooleanFilters.js.map +1 -0
  53. package/dist/src/components/CategoryPage/Filters/Filter.js +97 -0
  54. package/dist/src/components/CategoryPage/Filters/Filter.js.map +1 -0
  55. package/dist/src/components/CategoryPage/Filters/FilterDrawer.js +91 -0
  56. package/dist/src/components/CategoryPage/Filters/FilterDrawer.js.map +1 -0
  57. package/dist/src/components/CategoryPage/Filters/FilterDropdownMenu.js +77 -0
  58. package/dist/src/components/CategoryPage/Filters/FilterDropdownMenu.js.map +1 -0
  59. package/dist/src/components/CategoryPage/Filters/ListFilters.js +38 -0
  60. package/dist/src/components/CategoryPage/Filters/ListFilters.js.map +1 -0
  61. package/dist/src/components/CategoryPage/Filters/Mobile/ActiveCarot.js +15 -0
  62. package/dist/src/components/CategoryPage/Filters/Mobile/ActiveCarot.js.map +1 -0
  63. package/dist/src/components/CategoryPage/Filters/Mobile/FilterButton.js +107 -0
  64. package/dist/src/components/CategoryPage/Filters/Mobile/FilterButton.js.map +1 -0
  65. package/dist/src/components/CategoryPage/Filters/Mobile/ListAccordion.js +44 -0
  66. package/dist/src/components/CategoryPage/Filters/Mobile/ListAccordion.js.map +1 -0
  67. package/dist/src/components/CategoryPage/Filters/Mobile/RangeAccordion.js +21 -0
  68. package/dist/src/components/CategoryPage/Filters/Mobile/RangeAccordion.js.map +1 -0
  69. package/dist/src/components/CategoryPage/Filters/Mobile/SortOrderAccordion.js +30 -0
  70. package/dist/src/components/CategoryPage/Filters/Mobile/SortOrderAccordion.js.map +1 -0
  71. package/dist/src/components/CategoryPage/Filters/Mobile/shared/styles.js +12 -0
  72. package/dist/src/components/CategoryPage/Filters/Mobile/shared/styles.js.map +1 -0
  73. package/dist/src/components/CategoryPage/Filters/MultiListFilters.js +37 -0
  74. package/dist/src/components/CategoryPage/Filters/MultiListFilters.js.map +1 -0
  75. package/dist/src/components/CategoryPage/Filters/RangeFilters.js +122 -0
  76. package/dist/src/components/CategoryPage/Filters/RangeFilters.js.map +1 -0
  77. package/dist/src/components/CategoryPage/Filters/SortOrders.js +29 -0
  78. package/dist/src/components/CategoryPage/Filters/SortOrders.js.map +1 -0
  79. package/dist/src/components/CategoryPage/Filters/index.js +2 -0
  80. package/dist/src/components/CategoryPage/Filters/index.js.map +1 -0
  81. package/dist/src/components/CategoryPage/ProductCard.js +98 -0
  82. package/dist/src/components/CategoryPage/ProductCard.js.map +1 -0
  83. package/dist/src/components/CategoryPage/ProductGrid.js +89 -0
  84. package/dist/src/components/CategoryPage/ProductGrid.js.map +1 -0
  85. package/dist/src/components/CategoryPage/ProductGridWindow.js +48 -0
  86. package/dist/src/components/CategoryPage/ProductGridWindow.js.map +1 -0
  87. package/dist/src/components/CategoryPage/StandardCategoryPage.js +51 -0
  88. package/dist/src/components/CategoryPage/StandardCategoryPage.js.map +1 -0
  89. package/dist/src/components/CategoryPage/WindowedCategoryPage.js +87 -0
  90. package/dist/src/components/CategoryPage/WindowedCategoryPage.js.map +1 -0
  91. package/dist/src/components/CategoryPage/index.js +2 -0
  92. package/dist/src/components/CategoryPage/index.js.map +1 -0
  93. package/dist/src/components/ContentPage/ContentPage.js +64 -0
  94. package/dist/src/components/ContentPage/ContentPage.js.map +1 -0
  95. package/dist/src/components/ContentPage/ContentPage.loadable.js +7 -0
  96. package/dist/src/components/ContentPage/ContentPage.loadable.js.map +1 -0
  97. package/dist/src/components/ContentPage/SubPageNavigation.js +164 -0
  98. package/dist/src/components/ContentPage/SubPageNavigation.js.map +1 -0
  99. package/dist/src/components/ContentPage/index.js +2 -0
  100. package/dist/src/components/ContentPage/index.js.map +1 -0
  101. package/dist/src/components/CookieConsent.js +84 -0
  102. package/dist/src/components/CookieConsent.js.map +1 -0
  103. package/dist/src/components/Forms/GlobalError.js +28 -0
  104. package/dist/src/components/Forms/GlobalError.js.map +1 -0
  105. package/dist/src/components/Forms/Input.js +79 -0
  106. package/dist/src/components/Forms/Input.js.map +1 -0
  107. package/dist/src/components/Forms/InputStatus.js +42 -0
  108. package/dist/src/components/Forms/InputStatus.js.map +1 -0
  109. package/dist/src/components/Forms/Success.js +25 -0
  110. package/dist/src/components/Forms/Success.js.map +1 -0
  111. package/dist/src/components/Layout/Container.js +19 -0
  112. package/dist/src/components/Layout/Container.js.map +1 -0
  113. package/dist/src/components/Layout/Content/index.js +7 -0
  114. package/dist/src/components/Layout/Content/index.js.map +1 -0
  115. package/dist/src/components/Layout/Footer/Footer.js +106 -0
  116. package/dist/src/components/Layout/Footer/Footer.js.map +1 -0
  117. package/dist/src/components/Layout/Footer/FooterLinks.js +24 -0
  118. package/dist/src/components/Layout/Footer/FooterLinks.js.map +1 -0
  119. package/dist/src/components/Layout/Footer/SocialLinks.js +62 -0
  120. package/dist/src/components/Layout/Footer/SocialLinks.js.map +1 -0
  121. package/dist/src/components/Layout/Header/Categories/Categories.js +10 -0
  122. package/dist/src/components/Layout/Header/Categories/Categories.js.map +1 -0
  123. package/dist/src/components/Layout/Header/Categories/MobileCategories.js +128 -0
  124. package/dist/src/components/Layout/Header/Categories/MobileCategories.js.map +1 -0
  125. package/dist/src/components/Layout/Header/Categories/__util__/getCategoriesByLevel.js +4 -0
  126. package/dist/src/components/Layout/Header/Categories/__util__/getCategoriesByLevel.js.map +1 -0
  127. package/dist/src/components/Layout/Header/Categories/__util__/getCategoriesUnderParent.js +4 -0
  128. package/dist/src/components/Layout/Header/Categories/__util__/getCategoriesUnderParent.js.map +1 -0
  129. package/dist/src/components/Layout/Header/Categories/__util__/hasChildCategories.js +4 -0
  130. package/dist/src/components/Layout/Header/Categories/__util__/hasChildCategories.js.map +1 -0
  131. package/dist/src/components/Layout/Header/CategoryMenu/CategoryMenu.js +21 -0
  132. package/dist/src/components/Layout/Header/CategoryMenu/CategoryMenu.js.map +1 -0
  133. package/dist/src/components/Layout/Header/CategoryMenu/CategoryMenuContainer.js +55 -0
  134. package/dist/src/components/Layout/Header/CategoryMenu/CategoryMenuContainer.js.map +1 -0
  135. package/dist/src/components/Layout/Header/CategoryMenu/SubMenuSection.js +60 -0
  136. package/dist/src/components/Layout/Header/CategoryMenu/SubMenuSection.js.map +1 -0
  137. package/dist/src/components/Layout/Header/CategoryMenu/SubMenuWrapper.js +78 -0
  138. package/dist/src/components/Layout/Header/CategoryMenu/SubMenuWrapper.js.map +1 -0
  139. package/dist/src/components/Layout/Header/ChannelSelector/ChannelSelector.js +26 -0
  140. package/dist/src/components/Layout/Header/ChannelSelector/ChannelSelector.js.map +1 -0
  141. package/dist/src/components/Layout/Header/ChannelSelector/ChannelSelectorModal.js +36 -0
  142. package/dist/src/components/Layout/Header/ChannelSelector/ChannelSelectorModal.js.map +1 -0
  143. package/dist/src/components/Layout/Header/ChannelSelector/LanguageSelector.js +12 -0
  144. package/dist/src/components/Layout/Header/ChannelSelector/LanguageSelector.js.map +1 -0
  145. package/dist/src/components/Layout/Header/ChannelSelector/Selector.js +120 -0
  146. package/dist/src/components/Layout/Header/ChannelSelector/Selector.js.map +1 -0
  147. package/dist/src/components/Layout/Header/ChannelSelector/flattenCountries.js +15 -0
  148. package/dist/src/components/Layout/Header/ChannelSelector/flattenCountries.js.map +1 -0
  149. package/dist/src/components/Layout/Header/Header.js +189 -0
  150. package/dist/src/components/Layout/Header/Header.js.map +1 -0
  151. package/dist/src/components/Layout/Header/Logo.js +40 -0
  152. package/dist/src/components/Layout/Header/Logo.js.map +1 -0
  153. package/dist/src/components/Layout/Header/LogoSearchBar.js +15 -0
  154. package/dist/src/components/Layout/Header/LogoSearchBar.js.map +1 -0
  155. package/dist/src/components/Layout/Header/MobileMenu.js +76 -0
  156. package/dist/src/components/Layout/Header/MobileMenu.js.map +1 -0
  157. package/dist/src/components/Layout/Header/RecommendedChannel/ChannelBanner.js +218 -0
  158. package/dist/src/components/Layout/Header/RecommendedChannel/ChannelBanner.js.map +1 -0
  159. package/dist/src/components/Layout/Header/RecommendedChannel/RecommendedChannelSelector.js +123 -0
  160. package/dist/src/components/Layout/Header/RecommendedChannel/RecommendedChannelSelector.js.map +1 -0
  161. package/dist/src/components/Layout/Header/SearchBar.js +79 -0
  162. package/dist/src/components/Layout/Header/SearchBar.js.map +1 -0
  163. package/dist/src/components/Layout/Header/SearchButton.js +50 -0
  164. package/dist/src/components/Layout/Header/SearchButton.js.map +1 -0
  165. package/dist/src/components/Layout/Header/SubCategoryNav.js +71 -0
  166. package/dist/src/components/Layout/Header/SubCategoryNav.js.map +1 -0
  167. package/dist/src/components/Layout/Header/TopNav.js +63 -0
  168. package/dist/src/components/Layout/Header/TopNav.js.map +1 -0
  169. package/dist/src/components/Layout/MaxWidth.js +19 -0
  170. package/dist/src/components/Layout/MaxWidth.js.map +1 -0
  171. package/dist/src/components/Layout/Notifications.js +70 -0
  172. package/dist/src/components/Layout/Notifications.js.map +1 -0
  173. package/dist/src/components/LoadingPage.js +19 -0
  174. package/dist/src/components/LoadingPage.js.map +1 -0
  175. package/dist/src/components/LogOut.loadable.js +7 -0
  176. package/dist/src/components/LogOut.loadable.js.map +1 -0
  177. package/dist/src/components/MyPages/ChangePasswordPage.js +26 -0
  178. package/dist/src/components/MyPages/ChangePasswordPage.js.map +1 -0
  179. package/dist/src/components/MyPages/CustomerNameHeader.js +28 -0
  180. package/dist/src/components/MyPages/CustomerNameHeader.js.map +1 -0
  181. package/dist/src/components/MyPages/DeleteAccount.js +47 -0
  182. package/dist/src/components/MyPages/DeleteAccount.js.map +1 -0
  183. package/dist/src/components/MyPages/MyPages.js +152 -0
  184. package/dist/src/components/MyPages/MyPages.js.map +1 -0
  185. package/dist/src/components/MyPages/MyPages.loadable.js +7 -0
  186. package/dist/src/components/MyPages/MyPages.loadable.js.map +1 -0
  187. package/dist/src/components/MyPages/MyPagesBreadcrumbs.js +18 -0
  188. package/dist/src/components/MyPages/MyPagesBreadcrumbs.js.map +1 -0
  189. package/dist/src/components/MyPages/MyPagesSidebar.js +81 -0
  190. package/dist/src/components/MyPages/MyPagesSidebar.js.map +1 -0
  191. package/dist/src/components/MyPages/MyPagesStartPage.js +99 -0
  192. package/dist/src/components/MyPages/MyPagesStartPage.js.map +1 -0
  193. package/dist/src/components/MyPages/Newsletter.js +33 -0
  194. package/dist/src/components/MyPages/Newsletter.js.map +1 -0
  195. package/dist/src/components/MyPages/Orders/ListOrder.js +159 -0
  196. package/dist/src/components/MyPages/Orders/ListOrder.js.map +1 -0
  197. package/dist/src/components/MyPages/Orders/OrderDetail/Contact.js +38 -0
  198. package/dist/src/components/MyPages/Orders/OrderDetail/Contact.js.map +1 -0
  199. package/dist/src/components/MyPages/Orders/OrderDetail/ListDetail.js +196 -0
  200. package/dist/src/components/MyPages/Orders/OrderDetail/ListDetail.js.map +1 -0
  201. package/dist/src/components/MyPages/Orders/OrderDetail/OrderTotals.js +81 -0
  202. package/dist/src/components/MyPages/Orders/OrderDetail/OrderTotals.js.map +1 -0
  203. package/dist/src/components/MyPages/Orders/OrderDetail/ShippingPayment.js +37 -0
  204. package/dist/src/components/MyPages/Orders/OrderDetail/ShippingPayment.js.map +1 -0
  205. package/dist/src/components/MyPages/Orders/OrderListPage.js +56 -0
  206. package/dist/src/components/MyPages/Orders/OrderListPage.js.map +1 -0
  207. package/dist/src/components/MyPages/ProfileDeliveryAddresses.js +93 -0
  208. package/dist/src/components/MyPages/ProfileDeliveryAddresses.js.map +1 -0
  209. package/dist/src/components/MyPages/ProfilePage.js +109 -0
  210. package/dist/src/components/MyPages/ProfilePage.js.map +1 -0
  211. package/dist/src/components/MyPages/ProfileView.js +42 -0
  212. package/dist/src/components/MyPages/ProfileView.js.map +1 -0
  213. package/dist/src/components/NavigationTree/NavTree.js +53 -0
  214. package/dist/src/components/NavigationTree/NavTree.js.map +1 -0
  215. package/dist/src/components/NavigationTree/NavTreePage.js +7 -0
  216. package/dist/src/components/NavigationTree/NavTreePage.js.map +1 -0
  217. package/dist/src/components/NavigationTree/NavTreePage.loadable.js +7 -0
  218. package/dist/src/components/NavigationTree/NavTreePage.loadable.js.map +1 -0
  219. package/dist/src/components/Newsletter/NewsletterField.js +93 -0
  220. package/dist/src/components/Newsletter/NewsletterField.js.map +1 -0
  221. package/dist/src/components/NotFoundPage.js +59 -0
  222. package/dist/src/components/NotFoundPage.js.map +1 -0
  223. package/dist/src/components/NotFoundPage.loadable.js +7 -0
  224. package/dist/src/components/NotFoundPage.loadable.js.map +1 -0
  225. package/dist/src/components/Pages/About.js +7 -0
  226. package/dist/src/components/Pages/About.js.map +1 -0
  227. package/dist/src/components/Pagination/Pagination.js +29 -0
  228. package/dist/src/components/Pagination/Pagination.js.map +1 -0
  229. package/dist/src/components/Pagination/PaginationWrapper.js +16 -0
  230. package/dist/src/components/Pagination/PaginationWrapper.js.map +1 -0
  231. package/dist/src/components/PreviewRoute.loadable.js +7 -0
  232. package/dist/src/components/PreviewRoute.loadable.js.map +1 -0
  233. package/dist/src/components/ProductList/AddToCart.js +46 -0
  234. package/dist/src/components/ProductList/AddToCart.js.map +1 -0
  235. package/dist/src/components/ProductList/Favourite.js +46 -0
  236. package/dist/src/components/ProductList/Favourite.js.map +1 -0
  237. package/dist/src/components/ProductList/FavouriteCount.js +15 -0
  238. package/dist/src/components/ProductList/FavouriteCount.js.map +1 -0
  239. package/dist/src/components/ProductList/Favourites.js +187 -0
  240. package/dist/src/components/ProductList/Favourites.js.map +1 -0
  241. package/dist/src/components/ProductList/Lister.js +22 -0
  242. package/dist/src/components/ProductList/Lister.js.map +1 -0
  243. package/dist/src/components/ProductList/Product.js +62 -0
  244. package/dist/src/components/ProductList/Product.js.map +1 -0
  245. package/dist/src/components/ProductList/SelectVariant.js +47 -0
  246. package/dist/src/components/ProductList/SelectVariant.js.map +1 -0
  247. package/dist/src/components/ProductList/productListQueries.js +15 -0
  248. package/dist/src/components/ProductList/productListQueries.js.map +1 -0
  249. package/dist/src/components/ProductPage/AddToCart/AddToCartForm.js +110 -0
  250. package/dist/src/components/ProductPage/AddToCart/AddToCartForm.js.map +1 -0
  251. package/dist/src/components/ProductPage/AddToCart/ProductToast.js +118 -0
  252. package/dist/src/components/ProductPage/AddToCart/ProductToast.js.map +1 -0
  253. package/dist/src/components/ProductPage/AddToCart/useProductToast.js +21 -0
  254. package/dist/src/components/ProductPage/AddToCart/useProductToast.js.map +1 -0
  255. package/dist/src/components/ProductPage/Campaigns.js +43 -0
  256. package/dist/src/components/ProductPage/Campaigns.js.map +1 -0
  257. package/dist/src/components/ProductPage/ConfigurationSelector.js +62 -0
  258. package/dist/src/components/ProductPage/ConfigurationSelector.js.map +1 -0
  259. package/dist/src/components/ProductPage/Images/ImageContainer.js +45 -0
  260. package/dist/src/components/ProductPage/Images/ImageContainer.js.map +1 -0
  261. package/dist/src/components/ProductPage/Images/Thumbnails.js +32 -0
  262. package/dist/src/components/ProductPage/Images/Thumbnails.js.map +1 -0
  263. package/dist/src/components/ProductPage/PackageProduct/IncludedInPackages.js +32 -0
  264. package/dist/src/components/ProductPage/PackageProduct/IncludedInPackages.js.map +1 -0
  265. package/dist/src/components/ProductPage/PackageProduct/PackageProduct.js +170 -0
  266. package/dist/src/components/ProductPage/PackageProduct/PackageProduct.js.map +1 -0
  267. package/dist/src/components/ProductPage/PackageProduct/PackageProductItem.js +92 -0
  268. package/dist/src/components/ProductPage/PackageProduct/PackageProductItem.js.map +1 -0
  269. package/dist/src/components/ProductPage/PriceHistory.js +99 -0
  270. package/dist/src/components/ProductPage/PriceHistory.js.map +1 -0
  271. package/dist/src/components/ProductPage/ProductInfo.js +55 -0
  272. package/dist/src/components/ProductPage/ProductInfo.js.map +1 -0
  273. package/dist/src/components/ProductPage/ProductInfoAccordion.js +46 -0
  274. package/dist/src/components/ProductPage/ProductInfoAccordion.js.map +1 -0
  275. package/dist/src/components/ProductPage/ProductPage.js +174 -0
  276. package/dist/src/components/ProductPage/ProductPage.js.map +1 -0
  277. package/dist/src/components/ProductPage/ProductPage.loadable.js +7 -0
  278. package/dist/src/components/ProductPage/ProductPage.loadable.js.map +1 -0
  279. package/dist/src/components/ProductPage/ProductPageLoadingState.js +55 -0
  280. package/dist/src/components/ProductPage/ProductPageLoadingState.js.map +1 -0
  281. package/dist/src/components/ProductPage/QuantityContainer.js +21 -0
  282. package/dist/src/components/ProductPage/QuantityContainer.js.map +1 -0
  283. package/dist/src/components/ProductPage/RelatedProducts.js +45 -0
  284. package/dist/src/components/ProductPage/RelatedProducts.js.map +1 -0
  285. package/dist/src/components/ProductPage/SizePicker.js +37 -0
  286. package/dist/src/components/ProductPage/SizePicker.js.map +1 -0
  287. package/dist/src/components/ProductPage/StockStatus/NotifyWhenBack.js +93 -0
  288. package/dist/src/components/ProductPage/StockStatus/NotifyWhenBack.js.map +1 -0
  289. package/dist/src/components/ProductPage/StockStatus/StockOrb.js +31 -0
  290. package/dist/src/components/ProductPage/StockStatus/StockOrb.js.map +1 -0
  291. package/dist/src/components/ProductPage/StockStatus/StockStatusIndicator.js +33 -0
  292. package/dist/src/components/ProductPage/StockStatus/StockStatusIndicator.js.map +1 -0
  293. package/dist/src/components/ProductPage/StockStatus/WarehouseStock.js +255 -0
  294. package/dist/src/components/ProductPage/StockStatus/WarehouseStock.js.map +1 -0
  295. package/dist/src/components/ProductPage/VariantSelector.js +138 -0
  296. package/dist/src/components/ProductPage/VariantSelector.js.map +1 -0
  297. package/dist/src/components/ProductPage/styledComponents.js +11 -0
  298. package/dist/src/components/ProductPage/styledComponents.js.map +1 -0
  299. package/dist/src/components/ProductPage/useProductValidationMessage.js +24 -0
  300. package/dist/src/components/ProductPage/useProductValidationMessage.js.map +1 -0
  301. package/dist/src/components/SearchPage/CategoryList.js +129 -0
  302. package/dist/src/components/SearchPage/CategoryList.js.map +1 -0
  303. package/dist/src/components/SearchPage/EmptySearchResults.js +23 -0
  304. package/dist/src/components/SearchPage/EmptySearchResults.js.map +1 -0
  305. package/dist/src/components/SearchPage/SearchMeta.js +27 -0
  306. package/dist/src/components/SearchPage/SearchMeta.js.map +1 -0
  307. package/dist/src/components/SearchPage/SearchPage.js +52 -0
  308. package/dist/src/components/SearchPage/SearchPage.js.map +1 -0
  309. package/dist/src/components/SearchPage/SearchPage.loadable.js +7 -0
  310. package/dist/src/components/SearchPage/SearchPage.loadable.js.map +1 -0
  311. package/dist/src/components/SearchPage/SearchResults.js +60 -0
  312. package/dist/src/components/SearchPage/SearchResults.js.map +1 -0
  313. package/dist/src/components/SearchPage/SearchTerm.js +11 -0
  314. package/dist/src/components/SearchPage/SearchTerm.js.map +1 -0
  315. package/dist/src/components/SearchPage/WindowedSearchResults.js +80 -0
  316. package/dist/src/components/SearchPage/WindowedSearchResults.js.map +1 -0
  317. package/dist/src/components/SearchPage/index.js +3 -0
  318. package/dist/src/components/SearchPage/index.js.map +1 -0
  319. package/dist/src/components/Shop.js +82 -0
  320. package/dist/src/components/Shop.js.map +1 -0
  321. package/dist/src/components/StartPage/Content/Row.js +40 -0
  322. package/dist/src/components/StartPage/Content/Row.js.map +1 -0
  323. package/dist/src/components/StartPage/Content/StartPageCampaign.js +112 -0
  324. package/dist/src/components/StartPage/Content/StartPageCampaign.js.map +1 -0
  325. package/dist/src/components/StartPage/Content/StartPageCategories.js +80 -0
  326. package/dist/src/components/StartPage/Content/StartPageCategories.js.map +1 -0
  327. package/dist/src/components/StartPage/Content/StartPageHTMLContent.js +74 -0
  328. package/dist/src/components/StartPage/Content/StartPageHTMLContent.js.map +1 -0
  329. package/dist/src/components/StartPage/Content/StartPageHero.js +73 -0
  330. package/dist/src/components/StartPage/Content/StartPageHero.js.map +1 -0
  331. package/dist/src/components/StartPage/Content/StartPageProductGrid.js +69 -0
  332. package/dist/src/components/StartPage/Content/StartPageProductGrid.js.map +1 -0
  333. package/dist/src/components/StartPage/StartPage.js +37 -0
  334. package/dist/src/components/StartPage/StartPage.js.map +1 -0
  335. package/dist/src/components/StartPage/StartPage.loadable.js +7 -0
  336. package/dist/src/components/StartPage/StartPage.loadable.js.map +1 -0
  337. package/dist/src/components/StartPage/index.js +3 -0
  338. package/dist/src/components/StartPage/index.js.map +1 -0
  339. package/dist/src/components/Store/Store.js +26 -0
  340. package/dist/src/components/Store/Store.js.map +1 -0
  341. package/dist/src/components/Store/Store.loadable.js +7 -0
  342. package/dist/src/components/Store/Store.loadable.js.map +1 -0
  343. package/dist/src/components/Store/StoreDetail.js +13 -0
  344. package/dist/src/components/Store/StoreDetail.js.map +1 -0
  345. package/dist/src/components/StoreLocator/StoreList.js +160 -0
  346. package/dist/src/components/StoreLocator/StoreList.js.map +1 -0
  347. package/dist/src/components/StoreLocator/StoreLocator.js +133 -0
  348. package/dist/src/components/StoreLocator/StoreLocator.js.map +1 -0
  349. package/dist/src/components/StoreLocator/StoreLocator.loadable.js +7 -0
  350. package/dist/src/components/StoreLocator/StoreLocator.loadable.js.map +1 -0
  351. package/dist/src/components/StoreLocator/StoreMap.js +116 -0
  352. package/dist/src/components/StoreLocator/StoreMap.js.map +1 -0
  353. package/dist/src/components/StoreLocator/StoreMarker.js +63 -0
  354. package/dist/src/components/StoreLocator/StoreMarker.js.map +1 -0
  355. package/dist/src/components/StoreLocator/StoreSearch.js +47 -0
  356. package/dist/src/components/StoreLocator/StoreSearch.js.map +1 -0
  357. package/dist/src/components/StoreLocator/UserLocation.js +76 -0
  358. package/dist/src/components/StoreLocator/UserLocation.js.map +1 -0
  359. package/dist/src/components/StoreLocator/useLocationState.js +14 -0
  360. package/dist/src/components/StoreLocator/useLocationState.js.map +1 -0
  361. package/dist/src/components/StoreLocator/useMapState.js +16 -0
  362. package/dist/src/components/StoreLocator/useMapState.js.map +1 -0
  363. package/dist/src/components/Theme.js +6 -0
  364. package/dist/src/components/Theme.js.map +1 -0
  365. package/dist/src/components/ui/Badge.js +33 -0
  366. package/dist/src/components/ui/Badge.js.map +1 -0
  367. package/dist/src/components/ui/Button.js +93 -0
  368. package/dist/src/components/ui/Button.js.map +1 -0
  369. package/dist/src/components/ui/CloseButton.js +18 -0
  370. package/dist/src/components/ui/CloseButton.js.map +1 -0
  371. package/dist/src/components/ui/Divider.js +11 -0
  372. package/dist/src/components/ui/Divider.js.map +1 -0
  373. package/dist/src/components/ui/Headings.js +19 -0
  374. package/dist/src/components/ui/Headings.js.map +1 -0
  375. package/dist/src/components/ui/RadioGroupWithLabels.js +16 -0
  376. package/dist/src/components/ui/RadioGroupWithLabels.js.map +1 -0
  377. package/dist/src/components/ui/Spinner.js +39 -0
  378. package/dist/src/components/ui/Spinner.js.map +1 -0
  379. package/dist/src/fonts/loadFontCss.js +51 -0
  380. package/dist/src/fonts/loadFontCss.js.map +1 -0
  381. package/dist/src/globalStyles.js +83 -0
  382. package/dist/src/globalStyles.js.map +1 -0
  383. package/dist/src/server.js +12 -0
  384. package/dist/src/server.js.map +1 -0
  385. package/dist/src/shop.config.js +68 -0
  386. package/dist/src/shop.config.js.map +1 -0
  387. package/dist/src/theme-variables.js +65 -0
  388. package/dist/src/theme-variables.js.map +1 -0
  389. package/dist/translations/cs.json +788 -0
  390. package/dist/translations/da.json +791 -0
  391. package/dist/translations/de.json +788 -0
  392. package/dist/translations/en.json +794 -0
  393. package/dist/translations/es.json +788 -0
  394. package/dist/translations/et.json +788 -0
  395. package/dist/translations/fi.json +794 -0
  396. package/dist/translations/fr.json +788 -0
  397. package/dist/translations/index.js +18 -0
  398. package/dist/translations/index.js.map +1 -0
  399. package/dist/translations/it.json +788 -0
  400. package/dist/translations/lv.json +788 -0
  401. package/dist/translations/nb.json +791 -0
  402. package/dist/translations/nl.json +788 -0
  403. package/dist/translations/pl.json +788 -0
  404. package/dist/translations/ru.json +788 -0
  405. package/dist/translations/sk.json +788 -0
  406. package/dist/translations/sr.json +464 -0
  407. package/dist/translations/sv.json +794 -0
  408. package/jsconfig.json +1 -0
  409. package/package.json +5 -5
  410. package/schema.graphql +1 -1
  411. package/src/shop.config.js +2 -1
@@ -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"}