@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.
Files changed (409) 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
@@ -0,0 +1,160 @@
1
+ import t from '@jetshop/intl';
2
+ import React, { useContext } from 'react';
3
+ import { styled } from 'linaria/react';
4
+ import { cx, css } from 'linaria';
5
+ import { StoreMarker } from './StoreMarker';
6
+ import { ReactComponent as CarrotSvg } from '@jetshop/ui/svg/Carrot.svg';
7
+ import { ReactComponent as DirectionsSvg } from '../../svg/Directions.svg';
8
+ import { LocationStateContext } from './StoreLocator';
9
+ import UserLocation from './UserLocation';
10
+ import { theme } from '../Theme';
11
+ const StoreListContainer = styled('ul') `
12
+ height: calc(100% - 94px);
13
+ overflow-y: auto;
14
+
15
+ .highlight {
16
+ background: yellow;
17
+ }
18
+
19
+ img {
20
+ max-width: 100%;
21
+ height: auto;
22
+ }
23
+ `;
24
+ const StoreContainer = styled('li') `
25
+ width: 100%;
26
+ background: ${theme.colors.white};
27
+ padding: 24px;
28
+ margin: 8px 0;
29
+
30
+ font-size: 14px;
31
+ line-height: 1.4;
32
+
33
+ cursor: pointer;
34
+
35
+ &:first-child {
36
+ margin-top: 0;
37
+ }
38
+ &:last-child {
39
+ margin-bottom: 0;
40
+ }
41
+
42
+ > div {
43
+ display: flex;
44
+
45
+ &.expanded-content {
46
+ padding: 24px 24px 0 36px;
47
+ max-height: 0;
48
+ overflow: hidden;
49
+ transition-property: max-height;
50
+ transition-duration: 0.2s;
51
+ }
52
+ }
53
+
54
+ &.expanded {
55
+ > div.expanded-content {
56
+ max-height: 600px;
57
+ }
58
+
59
+ svg.carrot {
60
+ transform: rotate(0deg);
61
+ }
62
+ }
63
+
64
+ :focus {
65
+ outline: 1px solid ${theme.colors.blue};
66
+ }
67
+
68
+ svg.carrot {
69
+ transition-property: transform;
70
+ transition-duration: 0.2s;
71
+ }
72
+ `;
73
+ const StoreColumn = styled('div') `
74
+ flex: 1;
75
+ margin-top: -4px;
76
+ position: relative;
77
+
78
+ padding: 0 16px 0 0;
79
+
80
+ .contact-icon {
81
+ position: absolute;
82
+ left: -6px;
83
+ }
84
+
85
+ a {
86
+ color: #000;
87
+ padding: 4px 0 8px;
88
+ }
89
+ `;
90
+ const secondStoreColumn = css `
91
+ padding: 0 8px 0 16px;
92
+ `;
93
+ const CarrotContainer = styled('div') `
94
+ flex: 0 0 24px;
95
+ background: ${theme.colors.background};
96
+ width: 24px;
97
+ height: 24px;
98
+ border-radius: 50%;
99
+ align-self: center;
100
+
101
+ svg {
102
+ width: 12px;
103
+ height: 12px;
104
+ margin: 6px;
105
+
106
+ transform: rotate(-90deg);
107
+ }
108
+ `;
109
+ const humanDistance = distance => distance > 10
110
+ ? t('{km} km', { km: Math.round(distance) })
111
+ : distance > 1
112
+ ? t('{km} km', { km: distance.toFixed(1) })
113
+ : t('{m} m', { m: Math.round(distance * 1000) });
114
+ const contactParser = html => {
115
+ var _a;
116
+ return (_a = html === null || html === void 0 ? void 0 : html.replace('Tel: ', '<span class="contact-icon">📞</span>')) === null || _a === void 0 ? void 0 : _a.replace('Email: ', '<span class="contact-icon">🖂</span>');
117
+ };
118
+ const Carrot = () => (React.createElement(CarrotContainer, null,
119
+ React.createElement(CarrotSvg, { className: "carrot" })));
120
+ const Store = ({ storeNr, distances, store: { id, name, address1, openHours, description, coordinates, contact } }) => {
121
+ const locationState = useContext(LocationStateContext);
122
+ const active = id === locationState.activeLocation;
123
+ const expanded = id === locationState.expandedLocation;
124
+ return (React.createElement(StoreContainer, { onMouseEnter: () => locationState.setHighlightedLocation(id), onMouseLeave: () => locationState.setHighlightedLocation(null), onClick: () => locationState.toggleExpandedLocation(id), onKeyPress: e => {
125
+ if ((e.keyCode || e.which) === 13)
126
+ locationState.toggleExpandedLocation(id);
127
+ }, tabIndex: 0, className: cx(expanded ? 'expanded' : null) },
128
+ React.createElement("div", null,
129
+ React.createElement(StoreMarker, { nr: storeNr, active: active }),
130
+ React.createElement(StoreColumn, null,
131
+ React.createElement("p", null,
132
+ React.createElement("strong", { dangerouslySetInnerHTML: { __html: name } })),
133
+ React.createElement("div", { dangerouslySetInnerHTML: { __html: address1 } })),
134
+ React.createElement(StoreColumn, { className: secondStoreColumn },
135
+ React.createElement("p", null,
136
+ React.createElement("strong", null, t('Opening hours'))),
137
+ React.createElement("div", { dangerouslySetInnerHTML: { __html: openHours } }),
138
+ !expanded && distances[id] && (React.createElement("p", { style: { color: '#8a8a8a' } },
139
+ t('Distance'),
140
+ ": ",
141
+ humanDistance(distances[id])))),
142
+ React.createElement(Carrot, null)),
143
+ React.createElement("div", { className: "expanded-content" },
144
+ React.createElement(StoreColumn, { dangerouslySetInnerHTML: { __html: description } }),
145
+ React.createElement(StoreColumn, { className: secondStoreColumn },
146
+ React.createElement("p", null,
147
+ React.createElement("strong", null, t('Contact'))),
148
+ React.createElement("div", { dangerouslySetInnerHTML: { __html: contactParser(contact) }, style: { marginBottom: '24px' } }),
149
+ coordinates && (React.createElement(React.Fragment, null,
150
+ React.createElement("p", null,
151
+ React.createElement(DirectionsSvg, { className: "contact-icon" }),
152
+ React.createElement("a", { target: "_blank", rel: "noopener noreferrer", href: `https://www.google.com/maps/dir/${coordinates.latitude},${coordinates.longitude}` }, t('Directions'))),
153
+ distances[id] && React.createElement("p", null, humanDistance(distances[id]))))))));
154
+ };
155
+ const StoreList = ({ stores, userLocation, setUserLocation, distances }) => (React.createElement(StoreListContainer, null,
156
+ React.createElement(UserLocation, { setUserLocation: setUserLocation }),
157
+ stores &&
158
+ stores.map((store, index) => (React.createElement(Store, { key: index, storeNr: index + 1, store: store, distances: distances })))));
159
+ export default StoreList;
160
+ //# sourceMappingURL=StoreList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreList.js","sourceRoot":"","sources":["../../../../src/components/StoreLocator/StoreList.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ import { Query } from '@apollo/client/react/components';
2
+ import t from '@jetshop/intl';
3
+ import React, { useState } from 'react';
4
+ import { styled } from 'linaria/react';
5
+ import { fuzzySearch } from '@jetshop/ui/fuzzySearch';
6
+ import { Above } from '@jetshop/ui/Breakpoints';
7
+ import { distance } from '@jetshop/core/helpers/distance';
8
+ import MaxWidth from '../Layout/MaxWidth';
9
+ import LoadingPage from '../LoadingPage';
10
+ import storeLocatorQuery from './StoreLocator.gql';
11
+ import StoreSearch from './StoreSearch';
12
+ import StoreList from './StoreList';
13
+ import StoreMap from './StoreMap';
14
+ import { useLocationState } from './useLocationState';
15
+ import Head from '@jetshop/core/components/Head';
16
+ import { Intl } from '@jetshop/intl';
17
+ import { theme } from '../Theme';
18
+ const Flex = styled('div') `
19
+ display: flex;
20
+
21
+ h1 {
22
+ margin-bottom: 0.5em;
23
+ }
24
+
25
+ > div {
26
+ flex: 1;
27
+ }
28
+
29
+ ${theme.below.lg} {
30
+ flex-direction: column;
31
+ }
32
+ `;
33
+ const Header = styled(Flex) `
34
+ padding: 3rem 0;
35
+ background: #fff;
36
+ `;
37
+ const StoreLocatorWrapper = styled(MaxWidth) `
38
+ ${theme.below.lg} {
39
+ padding: 0;
40
+ }
41
+ `;
42
+ const StoreLocatorContent = styled(Flex) `
43
+ height: 60vh;
44
+
45
+ ${theme.below.lg} {
46
+ height: unset;
47
+ }
48
+ `;
49
+ const SearchAndListContainer = styled('div') `
50
+ flex: 0 0 40% !important;
51
+ height: 100%;
52
+ `;
53
+ export const LocationStateContext = React.createContext(null);
54
+ const StoreLocator = () => {
55
+ const locationState = useLocationState();
56
+ const [search, setSearch] = useState('');
57
+ const [userLocation, setUserLocation] = useState({
58
+ latitude: null,
59
+ longitude: null
60
+ });
61
+ const [closestStore, setClosestStore] = useState(null);
62
+ const [distances, setDistances] = useState({});
63
+ const genDistances = stores => {
64
+ if (userLocation.latitude == null)
65
+ return;
66
+ let distances = {};
67
+ let closestStore = {};
68
+ stores
69
+ .filter(store => store.coordinates)
70
+ .forEach(store => {
71
+ const thisDistance = distance(userLocation, store.coordinates);
72
+ distances[store.id] = thisDistance;
73
+ // If we haven't got a store in the closestStore obj yet, set it to this one
74
+ if (!closestStore.distance) {
75
+ closestStore = Object.assign(Object.assign({}, store), { distance: thisDistance });
76
+ return;
77
+ }
78
+ // If this store is closer than the one currently stored in closestStore,
79
+ // override it
80
+ if (thisDistance < closestStore.distance) {
81
+ closestStore = Object.assign(Object.assign({}, store), { distance: thisDistance });
82
+ }
83
+ });
84
+ setDistances(distances);
85
+ setClosestStore(closestStore);
86
+ };
87
+ return (React.createElement(React.Fragment, null,
88
+ React.createElement(Intl, null, t => React.createElement(Head, { data: { title: t('Find store') } })),
89
+ React.createElement(Header, null,
90
+ React.createElement(MaxWidth, null,
91
+ React.createElement("div", null,
92
+ React.createElement("h1", null, t('Find store')),
93
+ React.createElement("p", null, t('This is where you find our stores. Get informed about the stock status in your local store here. Find and select the store that is closest to you.'))))),
94
+ React.createElement(StoreLocatorWrapper, null,
95
+ React.createElement(StoreLocatorContent, null,
96
+ React.createElement(Query, { query: storeLocatorQuery }, ({ data, loading }) => {
97
+ if (loading)
98
+ return React.createElement(LoadingPage, null);
99
+ if (userLocation.latitude && !closestStore)
100
+ genDistances(data.stores);
101
+ const stores = search.length === 0
102
+ ? data.stores
103
+ : fuzzySearch({
104
+ data: data.stores,
105
+ keys: ['name', 'address1'],
106
+ searchTerm: search
107
+ });
108
+ const storeSearchProps = { search, setSearch };
109
+ const storeListProps = {
110
+ stores,
111
+ userLocation,
112
+ setUserLocation,
113
+ distances
114
+ };
115
+ const storeMapProps = {
116
+ stores,
117
+ userLocation,
118
+ closestStore,
119
+ distances
120
+ };
121
+ return (React.createElement(LocationStateContext.Provider, { value: locationState },
122
+ React.createElement(Above, { breakpoint: "lg" }, matches => matches ? (React.createElement(React.Fragment, null,
123
+ React.createElement(SearchAndListContainer, null,
124
+ React.createElement(StoreSearch, Object.assign({}, storeSearchProps)),
125
+ React.createElement(StoreList, Object.assign({}, storeListProps))),
126
+ React.createElement(StoreMap, Object.assign({}, storeMapProps)))) : (React.createElement(React.Fragment, null,
127
+ React.createElement(StoreSearch, Object.assign({}, storeSearchProps)),
128
+ React.createElement(StoreMap, Object.assign({}, storeMapProps)),
129
+ React.createElement(StoreList, Object.assign({}, storeListProps)))))));
130
+ })))));
131
+ };
132
+ export default StoreLocator;
133
+ //# sourceMappingURL=StoreLocator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreLocator.js","sourceRoot":"","sources":["../../../../src/components/StoreLocator/StoreLocator.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import loadable from '@loadable/component';
3
+ import LoadingPage from '../LoadingPage';
4
+ export default loadable(() => import('./StoreLocator'), {
5
+ fallback: React.createElement(LoadingPage, null)
6
+ });
7
+ //# sourceMappingURL=StoreLocator.loadable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreLocator.loadable.js","sourceRoot":"","sources":["../../../../src/components/StoreLocator/StoreLocator.loadable.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,eAAe,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;IACtD,QAAQ,EAAE,oBAAC,WAAW,OAAG;CAC1B,CAAC,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { GoogleMap, InfoWindow, LoadScript, Marker } from '@react-google-maps/api';
2
+ import React, { useContext, useEffect, useRef, useState } from 'react';
3
+ import { styled } from 'linaria/react';
4
+ import { LocationStateContext } from './StoreLocator';
5
+ import { useMapState } from './useMapState';
6
+ import { useShopConfig } from '@jetshop/core/hooks/useShopConfig';
7
+ import throwErrorInDev from '@jetshop/core/helpers/throwErrorInDev';
8
+ import { theme } from '../Theme';
9
+ const Wrapper = styled('div') `
10
+ flex: 0 0 60%;
11
+
12
+ .map-container {
13
+ min-height: 100%;
14
+
15
+ ${theme.below.lg} {
16
+ height: 50vh;
17
+ }
18
+ }
19
+ `;
20
+ const LoadingElement = () => React.createElement("div", { style: { height: '100%' } });
21
+ const StoreMap = ({ stores, userLocation, closestStore }) => {
22
+ const ref = useRef();
23
+ const locationState = useContext(LocationStateContext);
24
+ const { isOpen, infoId, showInfo } = useMapState();
25
+ const [mapsLoaded, setMapsLoaded] = useState(false);
26
+ const { googleMapsApiKey } = useShopConfig();
27
+ throwErrorInDev(typeof googleMapsApiKey === 'undefined', 'Make sure googleMapsApiKey is defined in your shop.config.js. See https://developers.google.com/maps/documentation/javascript/get-api-key');
28
+ useEffect(() => {
29
+ if (stores && mapsLoaded) {
30
+ // Stores are loaded, fit bounds
31
+ const bounds = new window.google.maps.LatLngBounds();
32
+ stores
33
+ .filter(store => store.coordinates)
34
+ .map(store => {
35
+ var _a, _b;
36
+ return bounds.extend(new window.google.maps.LatLng((_a = store === null || store === void 0 ? void 0 : store.coordinates) === null || _a === void 0 ? void 0 : _a.latitude, (_b = store === null || store === void 0 ? void 0 : store.coordinates) === null || _b === void 0 ? void 0 : _b.longitude));
37
+ });
38
+ // Don't zoom in too far on only one marker
39
+ if (bounds.getNorthEast().equals(bounds.getSouthWest())) {
40
+ const extendPoint1 = new window.google.maps.LatLng(bounds.getNorthEast().lat() + 0.01, bounds.getNorthEast().lng() + 0.01);
41
+ const extendPoint2 = new window.google.maps.LatLng(bounds.getNorthEast().lat() - 0.01, bounds.getNorthEast().lng() - 0.01);
42
+ bounds.extend(extendPoint1);
43
+ bounds.extend(extendPoint2);
44
+ }
45
+ ref.current.fitBounds(bounds);
46
+ }
47
+ }, [mapsLoaded, stores]);
48
+ useEffect(() => {
49
+ var _a, _b;
50
+ if (closestStore && mapsLoaded) {
51
+ // User has shared its location and the closest store has been calculated
52
+ const bounds = new window.google.maps.LatLngBounds();
53
+ bounds.extend(new window.google.maps.LatLng(userLocation.latitude, userLocation.longitude));
54
+ bounds.extend(new window.google.maps.LatLng((_a = closestStore === null || closestStore === void 0 ? void 0 : closestStore.coordinates) === null || _a === void 0 ? void 0 : _a.latitude, (_b = closestStore === null || closestStore === void 0 ? void 0 : closestStore.coordinates) === null || _b === void 0 ? void 0 : _b.longitude));
55
+ ref.current.fitBounds(bounds);
56
+ }
57
+ }, [userLocation, closestStore, mapsLoaded]);
58
+ return (React.createElement(Wrapper, null,
59
+ React.createElement(React.Fragment, null,
60
+ React.createElement(LoadScript, { loadingElement: React.createElement(LoadingElement, null), preventGoogleFontsLoading: true, googleMapsApiKey: googleMapsApiKey },
61
+ React.createElement(GoogleMap, { defaultZoom: 6, mapContainerClassName: "map-container", defaultCenter: { lat: 59.247948, lng: 14.755806 }, onLoad: map => {
62
+ ref.current = map;
63
+ setMapsLoaded(true);
64
+ } },
65
+ React.createElement(React.Fragment, null,
66
+ userLocation.latitude && userLocation.longitude && (React.createElement(Marker, { position: {
67
+ lat: userLocation.latitude,
68
+ lng: userLocation.longitude
69
+ } })),
70
+ mapsLoaded &&
71
+ stores
72
+ .filter(store => store.coordinates)
73
+ .map((store, index) => {
74
+ var _a, _b, _c, _d;
75
+ const isActive = store.id === locationState.activeLocation;
76
+ return (React.createElement(React.Fragment, { key: store.id },
77
+ React.createElement(Marker, { icon: {
78
+ path: 'M23.011 12.068C23.011 20.7463 11.8531 28.1849 11.8531 28.1849C11.8531 28.1849 0.695312 20.7463 0.695312 12.068C0.695313 9.10875 1.87087 6.27071 3.96337 4.17821C6.05587 2.08571 8.89391 0.910156 11.8531 0.910156C14.8124 0.910156 17.6504 2.08571 19.7429 4.17821C21.8354 6.27071 23.011 9.10875 23.011 12.068Z',
79
+ fillColor: isActive ? theme.colors.blue : 'white',
80
+ fillOpacity: 1,
81
+ strokeColor: theme.colors.blue,
82
+ anchor: new window.google.maps.Point(12, 32),
83
+ scale: isActive ? 1.25 : 1.2,
84
+ labelOrigin: new window.google.maps.Point(12, 14)
85
+ }, zIndex: index, position: {
86
+ lat: (_a = store === null || store === void 0 ? void 0 : store.coordinates) === null || _a === void 0 ? void 0 : _a.latitude,
87
+ lng: (_b = store === null || store === void 0 ? void 0 : store.coordinates) === null || _b === void 0 ? void 0 : _b.longitude
88
+ }, label: {
89
+ text: `${index + 1}`,
90
+ color: isActive ? 'white' : theme.colors.blue,
91
+ fontSize: '16px'
92
+ }, onMouseOver: () => {
93
+ locationState.setHighlightedLocation(store.id);
94
+ }, onMouseOut: () => locationState.setHighlightedLocation(null), onClick: () => showInfo(store.id) }),
95
+ isOpen && infoId === store.id && (React.createElement(InfoWindow, { key: `infowindow-${store.id}`, onCloseClick: showInfo, position: {
96
+ lat: (_c = store === null || store === void 0 ? void 0 : store.coordinates) === null || _c === void 0 ? void 0 : _c.latitude,
97
+ lng: (_d = store === null || store === void 0 ? void 0 : store.coordinates) === null || _d === void 0 ? void 0 : _d.longitude
98
+ }, options: {
99
+ pixelOffset: new window.google.maps.Size(50, 0)
100
+ } },
101
+ React.createElement("div", { style: {
102
+ background: 'white',
103
+ padding: '1em',
104
+ minWidth: '200px',
105
+ fontSize: '14px',
106
+ lineHeight: 1.5
107
+ } },
108
+ React.createElement("p", null,
109
+ React.createElement("strong", null, store.name)),
110
+ React.createElement("div", { dangerouslySetInnerHTML: {
111
+ __html: store.address1
112
+ } }))))));
113
+ })))))));
114
+ };
115
+ export default StoreMap;
116
+ //# sourceMappingURL=StoreMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreMap.js","sourceRoot":"","sources":["../../../../src/components/StoreLocator/StoreMap.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React from 'react';
13
+ import { styled } from 'linaria/react';
14
+ import { cx } from 'linaria';
15
+ import { ReactComponent as MapPinSvg } from '../../svg/MapPin.svg';
16
+ import { theme } from '../Theme';
17
+ const MarkerContainer = styled('div') `
18
+ position: relative;
19
+ width: 24px;
20
+ height: 29px;
21
+ margin-right: 12px;
22
+
23
+ svg {
24
+ fill: ${theme.colors.white};
25
+
26
+ width: 100%;
27
+ height: 100%;
28
+ }
29
+ &.active {
30
+ svg {
31
+ fill: ${theme.colors.blue};
32
+ }
33
+
34
+ span {
35
+ color: ${theme.colors.white};
36
+ }
37
+ }
38
+
39
+ span {
40
+ position: absolute;
41
+ top: 0;
42
+ left: 0;
43
+ bottom: 3px;
44
+ right: 0;
45
+
46
+ display: flex;
47
+ justify-content: center;
48
+ align-items: center;
49
+
50
+ font-family: 'Source Sans Pro', sans-serif;
51
+ font-size: 16px;
52
+ line-height: 1;
53
+
54
+ color: ${theme.colors.blue};
55
+ }
56
+ `;
57
+ export const StoreMarker = (_a) => {
58
+ var { nr, active, large } = _a, rest = __rest(_a, ["nr", "active", "large"]);
59
+ return (React.createElement(MarkerContainer, Object.assign({ className: cx(active ? 'active' : null) }, rest),
60
+ React.createElement(MapPinSvg, null),
61
+ React.createElement("span", null, nr)));
62
+ };
63
+ //# sourceMappingURL=StoreMarker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreMarker.js","sourceRoot":"","sources":["../../../../src/components/StoreLocator/StoreMarker.js"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,cAAc,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;;;;;;;YAOzB,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;cAOhB,KAAK,CAAC,MAAM,CAAC,IAAI;;;;eAIhB,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;aAmBpB,KAAK,CAAC,MAAM,CAAC,IAAI;;CAE7B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAA8B,EAAE,EAAE;QAAlC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,OAAW,EAAN,IAAI,cAA5B,yBAA8B,CAAF;IAAO,OAAA,CAC7D,oBAAC,eAAe,kBAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAM,IAAI;QAChE,oBAAC,SAAS,OAAG;QACb,kCAAO,EAAE,CAAQ,CACD,CACnB,CAAA;CAAA,CAAC"}
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ import { styled } from 'linaria/react';
3
+ import { Intl } from '@jetshop/intl';
4
+ import { ReactComponent as SearchSvg } from '../../svg/Search.svg';
5
+ const SearchContainer = styled('div') `
6
+ position: relative;
7
+ width: 100%;
8
+ padding: 24px;
9
+
10
+ label {
11
+ padding-left: 25px;
12
+ margin-bottom: 0.25rem;
13
+ display: block;
14
+ font-size: 0.875rem;
15
+ color: #707070;
16
+ }
17
+
18
+ input {
19
+ width: 100%;
20
+ height: 46px;
21
+ padding: 0 48px 0 24px;
22
+
23
+ font-size: 16px;
24
+ border-radius: 27px;
25
+ border: 1px solid #e0e0e0;
26
+ outline: none;
27
+
28
+ font-family: 'Source Sans Pro', sans-serif;
29
+ }
30
+
31
+ svg {
32
+ position: absolute;
33
+ top: 56px;
34
+ right: 48px;
35
+ width: 1em;
36
+ height: 1.2em;
37
+ }
38
+ `;
39
+ const StoreSearch = ({ search, setSearch }) => (React.createElement(SearchContainer, null,
40
+ React.createElement(Intl, null, t => (React.createElement(React.Fragment, null,
41
+ React.createElement("label", { htmlFor: "search-field" }, t('Search')),
42
+ React.createElement("input", { id: "search-field", value: search, onChange: e => {
43
+ setSearch(e.target.value);
44
+ }, placeholder: t('Type your search here') })))),
45
+ React.createElement(SearchSvg, null)));
46
+ export default StoreSearch;
47
+ //# sourceMappingURL=StoreSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreSearch.js","sourceRoot":"","sources":["../../../../src/components/StoreLocator/StoreSearch.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,cAAc,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCpC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAC7C,oBAAC,eAAe;IACd,oBAAC,IAAI,QACF,CAAC,CAAC,EAAE,CAAC,CACJ;QACE,+BAAO,OAAO,EAAC,cAAc,IAAE,CAAC,CAAC,QAAQ,CAAC,CAAS;QACnD,+BACE,EAAE,EAAC,cAAc,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE;gBACZ,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,EACD,WAAW,EAAE,CAAC,CAAC,uBAAuB,CAAC,GACvC,CACD,CACJ,CACI;IACP,oBAAC,SAAS,OAAG,CACG,CACnB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,76 @@
1
+ import t from '@jetshop/intl';
2
+ import React, { useState } from 'react';
3
+ import { styled } from 'linaria/react';
4
+ import useGeolocation from '@jetshop/core/hooks/useGeolocation';
5
+ import TrendButton from '../ui/Button';
6
+ import { ReactComponent as LocationSvg } from '../../svg/Location.svg';
7
+ import { ReactComponent as CrossSvg } from '../../svg/Cross.svg';
8
+ const UserLocationContainer = styled('li') `
9
+ position: relative;
10
+ width: 100%;
11
+ background: #fff;
12
+ padding: 32px;
13
+
14
+ > div {
15
+ width: 100%;
16
+ max-width: 260px;
17
+ margin: auto;
18
+ display: flex;
19
+ flex-direction: column;
20
+ justify-content: center;
21
+ align-items: center;
22
+ }
23
+
24
+ .ul-icon-close {
25
+ position: absolute;
26
+ top: 0;
27
+ right: 0;
28
+ padding: 16px;
29
+
30
+ background: transparent;
31
+ box-shadow: none;
32
+ border: 0;
33
+
34
+ svg {
35
+ stroke: #878787;
36
+ }
37
+
38
+ &:hover svg {
39
+ stroke: #000;
40
+ }
41
+ }
42
+
43
+ .ul-icon-circle {
44
+ padding: 16px;
45
+ background: #f2f2f2;
46
+ border-radius: 50%;
47
+ }
48
+
49
+ h2 {
50
+ font-family: 'Source Sans Pro', sans-serif;
51
+ font-size: 18px;
52
+ font-weight: 600;
53
+ line-height: 23px;
54
+ margin: 16px 0;
55
+ text-align: center;
56
+ }
57
+ `;
58
+ const UserLocation = ({ setUserLocation }) => {
59
+ const [hide, setHide] = useState(false);
60
+ const { getPosition, isAvailable, position } = useGeolocation({
61
+ onSuccess: ({ coords: { latitude, longitude } }) => setUserLocation({ latitude, longitude }),
62
+ onError: err => console.log(err)
63
+ });
64
+ if (hide || !isAvailable || position)
65
+ return null;
66
+ return (React.createElement(UserLocationContainer, null,
67
+ React.createElement("div", null,
68
+ React.createElement("button", { className: "ul-icon-close", onClick: () => setHide(true) },
69
+ React.createElement(CrossSvg, null)),
70
+ React.createElement("span", { className: "ul-icon-circle" },
71
+ React.createElement(LocationSvg, null)),
72
+ React.createElement("h2", null, t('Find the closest store using your location')),
73
+ React.createElement(TrendButton, { onClick: getPosition }, t('Share location')))));
74
+ };
75
+ export default UserLocation;
76
+ //# sourceMappingURL=UserLocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserLocation.js","sourceRoot":"","sources":["../../../../src/components/StoreLocator/UserLocation.js"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,eAAe,CAAC;AAC9B,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAEhE,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDzC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;IAC3C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QAC5D,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CACjD,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC1C,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;KACjC,CAAC,CAAC;IAEH,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAElD,OAAO,CACL,oBAAC,qBAAqB;QACpB;YACE,gCAAQ,SAAS,EAAC,eAAe,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5D,oBAAC,QAAQ,OAAG,CACL;YACT,8BAAM,SAAS,EAAC,gBAAgB;gBAC9B,oBAAC,WAAW,OAAG,CACV;YACP,gCAAK,CAAC,CAAC,4CAA4C,CAAC,CAAM;YAC1D,oBAAC,WAAW,IAAC,OAAO,EAAE,WAAW,IAAG,CAAC,CAAC,gBAAgB,CAAC,CAAe,CAClE,CACgB,CACzB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}