@jetshop/template-trend 5.9.0 → 5.11.2

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 (244) hide show
  1. package/.linaria-cache/packages/template-trend/src/components/Auth/LogInPage.linaria.css +4 -4
  2. package/.linaria-cache/packages/template-trend/src/components/Auth/Signup/Address.linaria.css +1 -1
  3. package/.linaria-cache/packages/template-trend/src/components/Auth/Signup/CustomerType.linaria.css +1 -1
  4. package/.linaria-cache/packages/template-trend/src/components/Auth/Signup/LoginFields.linaria.css +1 -1
  5. package/.linaria-cache/packages/template-trend/src/components/Auth/Signup/SignUpPage.linaria.css +2 -2
  6. package/.linaria-cache/packages/template-trend/src/components/Auth/UI/Form.linaria.css +2 -2
  7. package/.linaria-cache/packages/template-trend/src/components/Cart/CartButton.linaria.css +2 -2
  8. package/.linaria-cache/packages/template-trend/src/components/Cart/CartFlyout.linaria.css +7 -7
  9. package/.linaria-cache/packages/template-trend/src/components/Cart/CartItem.linaria.css +7 -7
  10. package/.linaria-cache/packages/template-trend/src/components/Cart/FreeShipping.linaria.css +2 -2
  11. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/CategoryHeader.linaria.css +8 -8
  12. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/Filters/ActiveFilters.linaria.css +6 -6
  13. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/Filters/Filter.linaria.css +4 -4
  14. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/Filters/FilterDrawer.linaria.css +4 -4
  15. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/Filters/FilterDropdownMenu.linaria.css +1 -1
  16. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/Filters/Mobile/ActiveCarot.linaria.css +1 -1
  17. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/Filters/Mobile/FilterButton.linaria.css +5 -5
  18. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/Filters/Mobile/ListAccordion.linaria.css +1 -1
  19. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/Filters/Mobile/shared/styles.linaria.css +1 -1
  20. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/Filters/RangeFilters.linaria.css +2 -2
  21. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/ProductCard.linaria.css +1 -1
  22. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/ProductGrid.linaria.css +2 -2
  23. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/ProductGridWindow.linaria.css +2 -2
  24. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/StandardCategoryPage.linaria.css +2 -2
  25. package/.linaria-cache/packages/template-trend/src/components/CategoryPage/WindowedCategoryPage.linaria.css +3 -3
  26. package/.linaria-cache/packages/template-trend/src/components/ContentPage/ContentPage.linaria.css +3 -3
  27. package/.linaria-cache/packages/template-trend/src/components/CookieConsent.linaria.css +1 -1
  28. package/.linaria-cache/packages/template-trend/src/components/Forms/GlobalError.linaria.css +1 -1
  29. package/.linaria-cache/packages/template-trend/src/components/Forms/Input.linaria.css +4 -4
  30. package/.linaria-cache/packages/template-trend/src/components/Forms/InputStatus.linaria.css +3 -3
  31. package/.linaria-cache/packages/template-trend/src/components/Forms/Success.linaria.css +1 -1
  32. package/.linaria-cache/packages/template-trend/src/components/Layout/Container.linaria.css +1 -1
  33. package/.linaria-cache/packages/template-trend/src/components/Layout/Content/index.linaria.css +1 -1
  34. package/.linaria-cache/packages/template-trend/src/components/Layout/Footer/Footer.linaria.css +3 -3
  35. package/.linaria-cache/packages/template-trend/src/components/Layout/Footer/SocialLinks.linaria.css +2 -2
  36. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/Categories/MobileCategories.linaria.css +6 -6
  37. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/CategoryMenu/CategoryMenu.linaria.css +1 -1
  38. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/CategoryMenu/CategoryMenuContainer.linaria.css +2 -2
  39. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/CategoryMenu/SubMenuSection.linaria.css +1 -1
  40. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/CategoryMenu/SubMenuWrapper.linaria.css +5 -5
  41. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/ChannelSelector/ChannelSelector.linaria.css +2 -2
  42. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/ChannelSelector/ChannelSelectorModal.linaria.css +2 -2
  43. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/ChannelSelector/Selector.linaria.css +5 -5
  44. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/Header.linaria.css +7 -7
  45. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/Logo.linaria.css +1 -1
  46. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/LogoSearchBar.linaria.css +1 -1
  47. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/MobileMenu.linaria.css +6 -6
  48. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/RecommendedChannel/ChannelBanner.linaria.css +5 -5
  49. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/RecommendedChannel/RecommendedChannelSelector.linaria.css +9 -9
  50. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/SearchBar.linaria.css +3 -3
  51. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/SearchButton.linaria.css +1 -1
  52. package/.linaria-cache/packages/template-trend/src/components/Layout/Header/TopNav.linaria.css +1 -1
  53. package/.linaria-cache/packages/template-trend/src/components/Layout/MaxWidth.linaria.css +1 -1
  54. package/.linaria-cache/packages/template-trend/src/components/Layout/Notifications.linaria.css +1 -1
  55. package/.linaria-cache/packages/template-trend/src/components/LoadingPage.linaria.css +1 -1
  56. package/.linaria-cache/packages/template-trend/src/components/MyPages/CustomerNameHeader.linaria.css +1 -1
  57. package/.linaria-cache/packages/template-trend/src/components/MyPages/DeleteAccount.linaria.css +1 -1
  58. package/.linaria-cache/packages/template-trend/src/components/MyPages/MyPages.linaria.css +1 -1
  59. package/.linaria-cache/packages/template-trend/src/components/MyPages/MyPagesSidebar.linaria.css +1 -1
  60. package/.linaria-cache/packages/template-trend/src/components/MyPages/MyPagesStartPage.linaria.css +2 -2
  61. package/.linaria-cache/packages/template-trend/src/components/MyPages/Orders/ListOrder.linaria.css +1 -1
  62. package/.linaria-cache/packages/template-trend/src/components/MyPages/Orders/OrderDetail/ListDetail.linaria.css +4 -4
  63. package/.linaria-cache/packages/template-trend/src/components/MyPages/Orders/OrderDetail/OrderTotals.linaria.css +1 -1
  64. package/.linaria-cache/packages/template-trend/src/components/MyPages/Orders/OrderDetail/ShippingPayment.linaria.css +1 -1
  65. package/.linaria-cache/packages/template-trend/src/components/MyPages/Orders/OrderListPage.linaria.css +1 -1
  66. package/.linaria-cache/packages/template-trend/src/components/MyPages/ProfileDeliveryAddresses.linaria.css +1 -1
  67. package/.linaria-cache/packages/template-trend/src/components/MyPages/ProfilePage.linaria.css +4 -4
  68. package/.linaria-cache/packages/template-trend/src/components/NavigationTree/NavTree.linaria.css +2 -2
  69. package/.linaria-cache/packages/template-trend/src/components/Newsletter/NewsletterField.linaria.css +3 -3
  70. package/.linaria-cache/packages/template-trend/src/components/NotFoundPage.linaria.css +1 -1
  71. package/.linaria-cache/packages/template-trend/src/components/Pagination/Pagination.linaria.css +1 -1
  72. package/.linaria-cache/packages/template-trend/src/components/ProductList/AddToCart.linaria.css +1 -1
  73. package/.linaria-cache/packages/template-trend/src/components/ProductList/Favourite.linaria.css +1 -1
  74. package/.linaria-cache/packages/template-trend/src/components/ProductList/Favourites.linaria.css +2 -2
  75. package/.linaria-cache/packages/template-trend/src/components/ProductList/Product.linaria.css +2 -2
  76. package/.linaria-cache/packages/template-trend/src/components/ProductPage/AddToCart/AddToCartForm.linaria.css +3 -3
  77. package/.linaria-cache/packages/template-trend/src/components/ProductPage/AddToCart/ProductToast.linaria.css +9 -9
  78. package/.linaria-cache/packages/template-trend/src/components/ProductPage/Campaigns.linaria.css +2 -2
  79. package/.linaria-cache/packages/template-trend/src/components/ProductPage/ConfigurationSelector.linaria.css +1 -1
  80. package/.linaria-cache/packages/template-trend/src/components/ProductPage/Images/ImageContainer.linaria.css +1 -1
  81. package/.linaria-cache/packages/template-trend/src/components/ProductPage/PackageProduct/IncludedInPackages.linaria.css +1 -1
  82. package/.linaria-cache/packages/template-trend/src/components/ProductPage/PackageProduct/PackageProduct.linaria.css +2 -2
  83. package/.linaria-cache/packages/template-trend/src/components/ProductPage/PackageProduct/PackageProductItem.linaria.css +1 -1
  84. package/.linaria-cache/packages/template-trend/src/components/ProductPage/ProductInfo.linaria.css +3 -3
  85. package/.linaria-cache/packages/template-trend/src/components/ProductPage/ProductInfoAccordion.linaria.css +3 -3
  86. package/.linaria-cache/packages/template-trend/src/components/ProductPage/ProductPage.linaria.css +1 -1
  87. package/.linaria-cache/packages/template-trend/src/components/ProductPage/ProductPageLoadingState.linaria.css +3 -3
  88. package/.linaria-cache/packages/template-trend/src/components/ProductPage/RelatedProducts.linaria.css +1 -1
  89. package/.linaria-cache/packages/template-trend/src/components/ProductPage/StockStatus/NotifyWhenBack.linaria.css +5 -5
  90. package/.linaria-cache/packages/template-trend/src/components/ProductPage/StockStatus/StockOrb.linaria.css +1 -1
  91. package/.linaria-cache/packages/template-trend/src/components/ProductPage/StockStatus/StockStatusIndicator.linaria.css +1 -1
  92. package/.linaria-cache/packages/template-trend/src/components/ProductPage/StockStatus/WarehouseStock.linaria.css +2 -2
  93. package/.linaria-cache/packages/template-trend/src/components/ProductPage/VariantSelector.linaria.css +3 -3
  94. package/.linaria-cache/packages/template-trend/src/components/ProductPage/styledComponents.linaria.css +1 -1
  95. package/.linaria-cache/packages/template-trend/src/components/SearchPage/CategoryList.linaria.css +7 -0
  96. package/.linaria-cache/packages/template-trend/src/components/SearchPage/SearchMeta.linaria.css +1 -1
  97. package/.linaria-cache/packages/template-trend/src/components/SearchPage/SearchPage.linaria.css +3 -3
  98. package/.linaria-cache/packages/template-trend/src/components/SearchPage/SearchResults.linaria.css +3 -3
  99. package/.linaria-cache/packages/template-trend/src/components/SearchPage/SearchTerm.linaria.css +1 -1
  100. package/.linaria-cache/packages/template-trend/src/components/SearchPage/WindowedSearchResults.linaria.css +4 -4
  101. package/.linaria-cache/packages/template-trend/src/components/StartPage/CategoryList.linaria.css +6 -6
  102. package/.linaria-cache/packages/template-trend/src/components/StartPage/Content/Row.linaria.css +3 -3
  103. package/.linaria-cache/packages/template-trend/src/components/StartPage/Content/StartPageCampaign.linaria.css +7 -7
  104. package/.linaria-cache/packages/template-trend/src/components/StartPage/Content/StartPageCategories.linaria.css +3 -3
  105. package/.linaria-cache/packages/template-trend/src/components/StartPage/Content/StartPageHTMLContent.linaria.css +1 -1
  106. package/.linaria-cache/packages/template-trend/src/components/StartPage/Content/StartPageHero.linaria.css +6 -6
  107. package/.linaria-cache/packages/template-trend/src/components/StartPage/Content/StartPageProductGrid.linaria.css +2 -2
  108. package/.linaria-cache/packages/template-trend/src/components/StartPage/StartPage.linaria.css +1 -2
  109. package/.linaria-cache/packages/template-trend/src/components/Store/Store.linaria.css +1 -1
  110. package/.linaria-cache/packages/template-trend/src/components/StoreLocator/StoreList.linaria.css +5 -5
  111. package/.linaria-cache/packages/template-trend/src/components/StoreLocator/StoreLocator.linaria.css +5 -5
  112. package/.linaria-cache/packages/template-trend/src/components/StoreLocator/StoreMap.linaria.css +1 -1
  113. package/.linaria-cache/packages/template-trend/src/components/StoreLocator/StoreMarker.linaria.css +1 -1
  114. package/.linaria-cache/packages/template-trend/src/components/StoreLocator/StoreSearch.linaria.css +1 -1
  115. package/.linaria-cache/packages/template-trend/src/components/StoreLocator/UserLocation.linaria.css +1 -1
  116. package/.linaria-cache/packages/template-trend/src/components/ui/Badge.linaria.css +1 -1
  117. package/.linaria-cache/packages/template-trend/src/components/ui/Button.linaria.css +4 -3
  118. package/.linaria-cache/packages/template-trend/src/components/ui/CloseButton.linaria.css +1 -1
  119. package/.linaria-cache/packages/template-trend/src/components/ui/Headings.linaria.css +2 -2
  120. package/.linaria-cache/packages/template-trend/src/components/ui/Spinner.linaria.css +1 -1
  121. package/.linaria-cache/packages/ui/Breadcrumbs/Breadcrumbs.linaria.css +2 -2
  122. package/.linaria-cache/packages/ui/Button/Button.linaria.css +2 -2
  123. package/.linaria-cache/packages/ui/Button/SecondaryButton.linaria.css +1 -1
  124. package/.linaria-cache/packages/ui/Button/TrendButton.linaria.css +1 -1
  125. package/.linaria-cache/packages/ui/ChannelSelector/ChannelSelector.linaria.css +1 -1
  126. package/.linaria-cache/packages/ui/ChannelSelector/ChannelSelectorButtons.linaria.css +2 -2
  127. package/.linaria-cache/packages/ui/ChannelSelector/LargeSelector.linaria.css +1 -1
  128. package/.linaria-cache/packages/ui/ChannelSelector/MiniSelector.linaria.css +1 -1
  129. package/.linaria-cache/packages/ui/Checkbox/Checkbox.linaria.css +4 -4
  130. package/.linaria-cache/packages/ui/Checkbox/CheckboxGroup.linaria.css +2 -2
  131. package/.linaria-cache/packages/ui/DropdownMenu/DropdownMenu.linaria.css +2 -2
  132. package/.linaria-cache/packages/ui/ErrorBoundary/Generic.linaria.css +1 -1
  133. package/.linaria-cache/packages/ui/Gallery/Gallery.linaria.css +2 -2
  134. package/.linaria-cache/packages/ui/JetshopText.linaria.css +1 -1
  135. package/.linaria-cache/packages/ui/Loading/LoadingBar.linaria.css +2 -2
  136. package/.linaria-cache/packages/ui/Modal/Drawer/Drawer.linaria.css +1 -1
  137. package/.linaria-cache/packages/ui/Modal/ModalRoot.linaria.css +1 -1
  138. package/.linaria-cache/packages/ui/Modal/TargetWrapper.linaria.css +1 -1
  139. package/.linaria-cache/packages/ui/Pagination/Pagination.linaria.css +1 -1
  140. package/.linaria-cache/packages/ui/PreOrderDateSelector/PreOrderDateSelector.linaria.css +1 -1
  141. package/.linaria-cache/packages/ui/Price/Price.linaria.css +1 -1
  142. package/.linaria-cache/packages/ui/ProductList/Badges.linaria.css +7 -7
  143. package/.linaria-cache/packages/ui/ProductSpecifications/ProductSpecifications.linaria.css +1 -1
  144. package/.linaria-cache/packages/ui/Search/SearchField.linaria.css +5 -5
  145. package/.linaria-cache/packages/ui/Search/SearchPage/SearchMeta.linaria.css +1 -1
  146. package/.linaria-cache/packages/ui/Select/Components.linaria.css +8 -8
  147. package/.vscode/launch.json +11 -0
  148. package/README.md +118 -1944
  149. package/cypress/integration/essentials.spec.js +50 -0
  150. package/package.json +5 -5
  151. package/schema.graphql +1 -0
  152. package/src/components/Auth/ForgotPassword.js +3 -8
  153. package/src/components/Auth/README.md +5 -0
  154. package/src/components/Cart/CartButton.js +40 -44
  155. package/src/components/Cart/CartFlyout.js +8 -5
  156. package/src/components/Cart/CartItem.js +12 -15
  157. package/src/components/Cart/{addMultipleToCart.gql → queries/addMultipleToCart.gql} +1 -1
  158. package/src/components/Cart/{addToCart.gql → queries/addToCart.gql} +1 -1
  159. package/src/components/Cart/{CartFragment.gql → queries/cartFragment.gql} +2 -5
  160. package/src/components/Cart/{CartQuery.gql → queries/cartQuery.gql} +1 -1
  161. package/src/components/Cart/{decrementQuantity.gql → queries/decrementQuantity.gql} +1 -1
  162. package/src/components/Cart/{incrementQuantity.gql → queries/incrementQuantity.gql} +1 -1
  163. package/src/components/Cart/{removeFromCart.gql → queries/removeFromCart.gql} +1 -1
  164. package/src/components/CategoryPage/CategoryHeader.js +3 -3
  165. package/src/components/CategoryPage/CategoryPage.js +1 -0
  166. package/src/components/CategoryPage/Filters/ListFilters.js +1 -2
  167. package/src/components/CategoryPage/ProductCard.js +3 -1
  168. package/src/components/CategoryPage/ProductGrid.js +8 -2
  169. package/src/components/CategoryPage/ProductGridWindow.js +22 -14
  170. package/src/components/CategoryPage/README.md +11 -0
  171. package/src/components/CategoryPage/StandardCategoryPage.js +2 -0
  172. package/src/components/CategoryPage/WindowedCategoryPage.js +13 -5
  173. package/src/components/Forms/Input.js +3 -6
  174. package/src/components/Layout/Header/AutocompleteQuery.gql +1 -6
  175. package/src/components/Layout/Header/ChannelSelector/ChannelSelector.js +3 -0
  176. package/src/components/Layout/Header/ChannelSelector/ChannelSelectorModal.js +4 -3
  177. package/src/components/Layout/Header/ChannelSelector/Selector.js +2 -0
  178. package/src/components/Layout/Header/RecommendedChannel/RecommendedChannelSelector.js +3 -1
  179. package/src/components/Layout/Header/TopNav.js +13 -11
  180. package/src/components/LogOut.loadable.js +10 -0
  181. package/src/components/MyPages/MyPagesSidebar.js +0 -1
  182. package/src/components/PreviewRoute.loadable.js +10 -0
  183. package/src/components/ProductList/AddToCart.js +8 -5
  184. package/src/components/ProductList/Favourite.js +2 -2
  185. package/src/components/ProductList/FavouriteCount.js +2 -2
  186. package/src/components/ProductList/Favourites.js +17 -12
  187. package/src/components/ProductList/Lister.js +44 -0
  188. package/src/components/ProductList/Product.js +5 -4
  189. package/src/components/ProductList/ProductLists.gql +8 -5
  190. package/src/components/ProductList/SelectVariant.js +6 -10
  191. package/src/components/ProductList/productListQueries.js +5 -0
  192. package/src/components/ProductPage/AddToCart/AddToCartForm.js +19 -18
  193. package/src/components/ProductPage/AddToCart/ProductToast.js +7 -4
  194. package/src/components/ProductPage/Images/ImageContainer.js +12 -1
  195. package/src/components/ProductPage/PackageProduct/PackageProduct.js +8 -6
  196. package/src/components/ProductPage/ProductInfo.js +1 -1
  197. package/src/components/ProductPage/ProductPage.js +3 -5
  198. package/src/components/ProductPage/ProductPageFragment.gql +1 -0
  199. package/src/components/ProductPage/StockStatus/WarehouseStock.js +15 -17
  200. package/src/components/ProductPage/VariantSelector.js +1 -1
  201. package/src/components/RouteQuery.gql +2 -2
  202. package/src/components/{StartPage → SearchPage}/CategoryList.js +6 -4
  203. package/src/components/SearchPage/EmptySearchResults.js +1 -1
  204. package/src/components/Shop.js +52 -76
  205. package/src/components/StartPage/Content/Row.js +0 -37
  206. package/src/components/StartPage/Content/StartPageHero.js +9 -1
  207. package/src/components/StartPage/StartPage.js +0 -13
  208. package/src/components/StartPage/StartPageProductGridFragment.gql +1 -0
  209. package/src/components/ui/Button.js +19 -1
  210. package/.linaria-cache/packages/ui/ChannelSelector/Region.linaria.css +0 -3
  211. package/cypress/constants.js +0 -5
  212. package/cypress/integration/addToCart/addToCart.spec.js +0 -27
  213. package/cypress/integration/addToCart/disabledVariations.spec.js +0 -17
  214. package/cypress/integration/addToCart/newslettersubscriber.spec.js +0 -24
  215. package/cypress/integration/addToCart/notifyWhenBackInStock.spec.js +0 -20
  216. package/cypress/integration/addToCart/productConfigurations.spec.js +0 -35
  217. package/cypress/integration/addToCart/productVariations.spec.js +0 -42
  218. package/cypress/integration/addToCart/sizePriceChange.spec.js +0 -20
  219. package/cypress/integration/analytics/gtag.spec.js +0 -87
  220. package/cypress/integration/analytics/releware.spec.js +0 -95
  221. package/cypress/integration/auth/login.spec.js +0 -18
  222. package/cypress/integration/auth/signup.spec.js +0 -98
  223. package/cypress/integration/category_page_spec.js +0 -73
  224. package/cypress/integration/filters.spec.js +0 -103
  225. package/cypress/integration/getbyarticlenumber.spec.js +0 -28
  226. package/cypress/integration/packages.spec.js +0 -85
  227. package/cypress/integration/prefetch_headers_spec.js +0 -26
  228. package/cypress/integration/product_browsing_spec.js +0 -17
  229. package/cypress/integration/search/autocomplete.spec.js +0 -28
  230. package/cypress/integration/search/search_page.spec.js +0 -39
  231. package/cypress/integration/ssr/categorySSR.js +0 -9
  232. package/cypress/integration/ssr/productSSR.js +0 -9
  233. package/cypress/integration/ssr/startPageSSR.js +0 -5
  234. package/cypress/integration/start_page_spec.js +0 -5
  235. package/cypress/integration/stores_page.spec.js +0 -5
  236. package/src/components/StartPage/Campaign.js +0 -162
  237. package/src/components/StartPage/CampaignHeader.js +0 -101
  238. package/src/components/StartPage/ExtraDetails.js +0 -72
  239. package/src/components/StartPage/Readme.md +0 -88
  240. package/src/components/StartPage/campaign.json +0 -20
  241. package/src/components/StartPage/campaignHeader.json +0 -5
  242. package/src/components/StartPage/categoryList.json +0 -65
  243. package/src/components/StartPage/extraDetails.json +0 -6
  244. package/src/components/StartPage/title.json +0 -3
@@ -0,0 +1,50 @@
1
+ // This file contains essential tests to ensure that the basic purchase flow is working
2
+ // Make sure to update the URLs below to pages that are relevant to your shop
3
+ const CATEGORY_PAGE = '/se/sv/nyheter';
4
+ const PRODUCT_PAGE = '/se/sv/mobler/nice-chair';
5
+
6
+ describe('Start page', () => {
7
+ it('successfully loads', () => {
8
+ cy.visit('/');
9
+ });
10
+ });
11
+
12
+ describe('Category page', () => {
13
+ it('successfully loads', () => {
14
+ cy.visit(CATEGORY_PAGE);
15
+ });
16
+
17
+ it('links to products', () => {
18
+ cy.visit(CATEGORY_PAGE);
19
+ const url = cy.url();
20
+ cy.findAllByTestId('product').first().click();
21
+ cy.url().should('not.be', url);
22
+ });
23
+ });
24
+
25
+ describe('Product page', () => {
26
+ it('successfully loads', () => {
27
+ cy.visit(PRODUCT_PAGE);
28
+ });
29
+
30
+ it('lets you add to cart', () => {
31
+ cy.visit(PRODUCT_PAGE);
32
+ cy.findByTestId('add-to-cart').click();
33
+ // Cart now contains one item
34
+ cy.findByTestId('cart-button').next().contains('1');
35
+ });
36
+ });
37
+
38
+ describe('Cart', () => {
39
+ it('can be successfully opened', () => {
40
+ cy.findByTestId('cart-button').click();
41
+ });
42
+
43
+ it('lets you go to the checkout', () => {
44
+ cy.visit(PRODUCT_PAGE);
45
+ cy.findByTestId('add-to-cart').click();
46
+ cy.findByTestId('cart-button').click();
47
+ cy.findByTestId('checkout-button').click();
48
+ cy.url().should('contain', '/checkout');
49
+ });
50
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetshop/template-trend",
3
- "version": "5.9.0",
3
+ "version": "5.11.2",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "build": "react-scripts build",
@@ -45,11 +45,11 @@
45
45
  ]
46
46
  },
47
47
  "dependencies": {
48
- "@jetshop/core": "^5.9.0",
48
+ "@jetshop/core": "^5.11.2",
49
49
  "@jetshop/flight-shortcodes": "^2.0.10",
50
- "@jetshop/intl": "^5.9.0",
51
- "@jetshop/react-scripts": "^5.9.0",
52
- "@jetshop/ui": "^5.9.0",
50
+ "@jetshop/intl": "^5.11.2",
51
+ "@jetshop/react-scripts": "^5.11.2",
52
+ "@jetshop/ui": "^5.11.2",
53
53
  "@react-google-maps/api": "~1.7.0",
54
54
  "prop-types": "^15.6.2",
55
55
  "react": "^16.9.0",
package/schema.graphql CHANGED
@@ -1458,6 +1458,7 @@ type Product implements Document {
1458
1458
  """
1459
1459
  campaigns: [Category]
1460
1460
  hasVariants: Boolean!
1461
+ hasVariantsWithDifferingPrices: Boolean!
1461
1462
  variants: ProductVariants
1462
1463
  images(
1463
1464
  """
@@ -13,7 +13,7 @@ import { activeSegment, smallSection } from './UI/Form';
13
13
  import MaxWidth from '../Layout/MaxWidth';
14
14
  import { cx } from 'linaria';
15
15
 
16
- export default function ForgotPasswordPage(props) {
16
+ export default function ForgotPasswordPage() {
17
17
  return (
18
18
  <MaxWidth style={{ alignItems: 'center', marginTop: '2em' }}>
19
19
  <ForgotPasswordProvider>
@@ -28,13 +28,8 @@ export default function ForgotPasswordPage(props) {
28
28
  }
29
29
 
30
30
  function ForgotPasswordForm() {
31
- const {
32
- submitted,
33
- isSubmitting,
34
- globalError,
35
- isValid,
36
- emailInputProps
37
- } = useForgotPasswordData();
31
+ const { submitted, isSubmitting, globalError, isValid, emailInputProps } =
32
+ useForgotPasswordData();
38
33
 
39
34
  if (submitted) {
40
35
  return (
@@ -0,0 +1,5 @@
1
+ # Auth
2
+
3
+ These components deal with registering and signing in, using Jetshop to keep track of memberships. This is usually used for customer loyalty programs, or for e.g. b2b sales where you need an account to browse the site.
4
+
5
+ If you don't use this feature, feel free to comment out the imports and routes in Shop.js to reduce the bundle size.
@@ -1,14 +1,15 @@
1
+ import React from 'react';
2
+ import { css } from 'linaria';
3
+ import { styled } from 'linaria/react';
4
+
1
5
  import CartProvider from '@jetshop/core/components/Query/CartProvider';
2
6
  import t from '@jetshop/intl';
3
7
  import { Above } from '@jetshop/ui/Breakpoints';
4
8
  import { DrawerTrigger } from '@jetshop/ui/Modal/Drawer/DrawerTrigger';
5
9
  import { FlyoutTrigger } from '@jetshop/ui/Modal/Flyout';
6
- import { styled } from 'linaria/react';
7
- import { css } from 'linaria';
8
- import React, { Fragment } from 'react';
9
- import { ReactComponent as Cart } from '../../svg/Cart.svg';
10
+ import { ReactComponent as CartIcon } from '../../svg/Cart.svg';
10
11
  import Badge from '../ui/Badge';
11
- import cartQuery from './CartQuery.gql';
12
+ import cartQuery from './queries/cartQuery.gql';
12
13
 
13
14
  const Button = styled('button')`
14
15
  padding: 0;
@@ -38,7 +39,7 @@ function CartButton({ target, itemsInCart, className }) {
38
39
  data-testid="cart-button"
39
40
  onClick={target.isOpen ? target.hideTarget : target.showTarget}
40
41
  >
41
- <Cart className="badge-svg-wrapper" />
42
+ <CartIcon className="badge-svg-wrapper" />
42
43
  <span>{t('Cart')}</span>
43
44
  </Button>
44
45
  {itemsInCart > 0 && <Badge text={itemsInCart} />}
@@ -48,45 +49,40 @@ function CartButton({ target, itemsInCart, className }) {
48
49
 
49
50
  function CartButtonFlyout({ className }) {
50
51
  return (
51
- <Fragment>
52
- <CartProvider query={cartQuery}>
53
- {result => {
54
- // Set items in cart to the API result.
55
- // If the result is undefined, fall back to 0
56
- const itemsInCart = result?.data?.cart?.totalQuantity || 0;
52
+ <CartProvider query={cartQuery}>
53
+ {result => {
54
+ const itemsInCart = result?.data?.cart?.totalQuantity || 0;
57
55
 
58
- return (
59
- // Use a flyout for breakpoints above md
60
- // Else use a Drawer
61
- <Above breakpoint="md">
62
- {matches =>
63
- matches ? (
64
- <FlyoutTrigger id="cart-flyout">
65
- {flyout => (
66
- <CartButton
67
- className={className}
68
- target={flyout}
69
- itemsInCart={itemsInCart}
70
- />
71
- )}
72
- </FlyoutTrigger>
73
- ) : (
74
- <DrawerTrigger preventOverflow={true} id="cart-drawer">
75
- {drawer => (
76
- <CartButton
77
- className={className}
78
- target={drawer}
79
- itemsInCart={itemsInCart}
80
- />
81
- )}
82
- </DrawerTrigger>
83
- )
84
- }
85
- </Above>
86
- );
87
- }}
88
- </CartProvider>
89
- </Fragment>
56
+ // Drawer on mobile, flyout on desktop
57
+ return (
58
+ <Above breakpoint="md">
59
+ {matches =>
60
+ matches ? (
61
+ <FlyoutTrigger id="cart-flyout">
62
+ {flyout => (
63
+ <CartButton
64
+ className={className}
65
+ target={flyout}
66
+ itemsInCart={itemsInCart}
67
+ />
68
+ )}
69
+ </FlyoutTrigger>
70
+ ) : (
71
+ <DrawerTrigger preventOverflow={true} id="cart-drawer">
72
+ {drawer => (
73
+ <CartButton
74
+ className={className}
75
+ target={drawer}
76
+ itemsInCart={itemsInCart}
77
+ />
78
+ )}
79
+ </DrawerTrigger>
80
+ )
81
+ }
82
+ </Above>
83
+ );
84
+ }}
85
+ </CartProvider>
90
86
  );
91
87
  }
92
88
 
@@ -1,3 +1,6 @@
1
+ import React from 'react';
2
+ import { styled } from 'linaria/react';
3
+
1
4
  import { useTracker } from '@jetshop/core/analytics/Analytics';
2
5
  import { trackCartCheckoutEvent } from '@jetshop/core/analytics/tracking';
3
6
  import CartProvider from '@jetshop/core/components/Query/CartProvider';
@@ -6,15 +9,15 @@ import { Above } from '@jetshop/ui/Breakpoints';
6
9
  import Drawer, { DrawerTarget } from '@jetshop/ui/Modal/Drawer';
7
10
  import { FlyoutTarget } from '@jetshop/ui/Modal/Flyout';
8
11
  import { Price } from '@jetshop/ui/Price';
12
+ import { useChannelSettings } from '@jetshop/core/hooks/Channels/useChannelSettings';
13
+ import { Currency } from '@jetshop/ui/Price/Currency';
14
+
9
15
  import { theme } from '../Theme';
10
- import React from 'react';
11
- import { styled } from 'linaria/react';
12
16
  import { baseStyles } from '../ui/Button';
13
17
  import CartItem from './CartItem';
14
- import cartQuery from './CartQuery.gql';
15
18
  import FreeShipping from './FreeShipping';
16
- import { useChannelSettings } from '@jetshop/core/hooks/Channels/useChannelSettings';
17
- import { Currency } from '@jetshop/ui/Price/Currency';
19
+
20
+ import cartQuery from './queries/cartQuery.gql';
18
21
 
19
22
  const Flyout = styled('div')`
20
23
  background: white;
@@ -1,18 +1,19 @@
1
+ import React from 'react';
2
+ import { styled } from 'linaria/react';
3
+ import { Link } from 'react-router-dom';
4
+
1
5
  import useDecrementQuantity from '@jetshop/core/components/Mutation/useDecrementQuantity';
2
6
  import useIncrementQuantity from '@jetshop/core/components/Mutation/useIncrementQuantity';
3
7
  import useRemoveFromCart from '@jetshop/core/components/Mutation/useRemoveFromCart';
4
8
  import getCartItemVariant from '@jetshop/core/helpers/getCartItemVariant';
5
9
  import Image from '@jetshop/ui/Image';
6
10
  import { Price } from '@jetshop/ui/Price';
7
- import { ReactComponent as Cross } from '@jetshop/ui/svg/Cross.svg';
8
- import React from 'react';
9
- import { styled } from 'linaria/react';
10
- import { Link } from 'react-router-dom';
11
+ import { ReactComponent as CrossIcon } from '@jetshop/ui/svg/Cross.svg';
11
12
  import { FlyoutTrigger } from '@jetshop/ui/Modal/Flyout';
12
- import removeFromCartMutation from './removeFromCart.gql';
13
- import incrementQuantityMutation from './incrementQuantity.gql';
14
- import decrementQuantityMutation from './decrementQuantity.gql';
15
- import cartQuery from './CartQuery.gql';
13
+ import removeFromCartMutation from './queries/removeFromCart.gql';
14
+ import incrementQuantityMutation from './queries/incrementQuantity.gql';
15
+ import decrementQuantityMutation from './queries/decrementQuantity.gql';
16
+ import cartQuery from './queries/cartQuery.gql';
16
17
 
17
18
  const Wrapper = styled('div')`
18
19
  display: flex;
@@ -103,12 +104,8 @@ const RemoveItem = styled('div')`
103
104
  `;
104
105
 
105
106
  const CartItem = ({ item, className = '' }) => {
106
- const {
107
- isVariant,
108
- variantImage,
109
- variantValues,
110
- hasVariantImage
111
- } = getCartItemVariant(item);
107
+ const { isVariant, variantImage, variantValues, hasVariantImage } =
108
+ getCartItemVariant(item);
112
109
 
113
110
  const { incrementQuantity } = useIncrementQuantity({
114
111
  incrementQuantityMutation,
@@ -196,7 +193,7 @@ const CartItem = ({ item, className = '' }) => {
196
193
  }
197
194
  data-testid="remove-from-cart"
198
195
  >
199
- <Cross />
196
+ <CrossIcon />
200
197
  </button>
201
198
  </RemoveItem>
202
199
 
@@ -1,4 +1,4 @@
1
- #import "./CartFragment.gql"
1
+ #import "./cartFragment.gql"
2
2
 
3
3
  mutation addMultipleToCart($cartId: String, $items: [AddMultipleToCartInput]!) {
4
4
  addMultipleToCart(cartId: $cartId, items: $items) {
@@ -1,4 +1,4 @@
1
- #import "./CartFragment.gql"
1
+ #import "./cartFragment.gql"
2
2
 
3
3
  mutation addToCart($input: AddToCartInput!) {
4
4
  addToCart(input: $input) {
@@ -4,6 +4,7 @@
4
4
  #import "@jetshop/core/data/fragments/CommentsFragment.gql"
5
5
 
6
6
  fragment Cart on Cart {
7
+ __optimistic @client
7
8
  id
8
9
  externalCheckoutUrl
9
10
  totalQuantity
@@ -81,6 +82,7 @@ fragment Cart on Cart {
81
82
  primaryRoute {
82
83
  id
83
84
  path
85
+ breadcrumbs
84
86
  }
85
87
  customFields {
86
88
  key
@@ -96,11 +98,6 @@ fragment Cart on Cart {
96
98
  title
97
99
  url
98
100
  }
99
- canonicalCategory {
100
- primaryRoute {
101
- path
102
- }
103
- }
104
101
  }
105
102
  variantOptionNames
106
103
  }
@@ -1,4 +1,4 @@
1
- #import "./CartFragment.gql"
1
+ #import "./cartFragment.gql"
2
2
 
3
3
  query CartQuery($cartId: String) {
4
4
  cart(id: $cartId) {
@@ -1,4 +1,4 @@
1
- #import "./CartFragment.gql"
1
+ #import "./cartFragment.gql"
2
2
 
3
3
  mutation decrementItemQuantity($input: ChangeByOneItemQuantityInput!) {
4
4
  decrementItemQuantity(input: $input) {
@@ -1,4 +1,4 @@
1
- #import "./CartFragment.gql"
1
+ #import "./cartFragment.gql"
2
2
 
3
3
  mutation incrementItemQuantity($input: ChangeByOneItemQuantityInput!) {
4
4
  incrementItemQuantity(input: $input) {
@@ -1,4 +1,4 @@
1
- #import "./CartFragment.gql"
1
+ #import "./cartFragment.gql"
2
2
 
3
3
  mutation removeFromCart($input: RemoveFromCartInput!) {
4
4
  removeFromCart(input: $input) {
@@ -109,12 +109,11 @@ const CategoryHeader = ({
109
109
  category,
110
110
  parents,
111
111
  imageSrc,
112
- breadcrumbs = { value: true },
112
+ breadcrumbs,
113
113
  content
114
114
  }) => {
115
- const { value } = breadcrumbs;
116
115
  const breadcrumbProps = {
117
- breadcrumbText: value ? category.breadcrumbText : '',
116
+ breadcrumbs,
118
117
  parents
119
118
  };
120
119
  const isImageBackground =
@@ -130,6 +129,7 @@ const CategoryHeader = ({
130
129
  quality={80}
131
130
  className={headerImageStyles}
132
131
  critical={true}
132
+ sizes={[1, 1, 1, 1, 1216]}
133
133
  >
134
134
  <Content
135
135
  category={category}
@@ -25,6 +25,7 @@ const CategoryPage = props => {
25
25
  const searchObject = qs.parse(search, { ignoreQueryPrefix: true });
26
26
  const standardPagination = searchObject.standardPagination === 'true';
27
27
 
28
+ // Comment out the one you're not using
28
29
  if (standardPagination) {
29
30
  return <LoadableStandardCategoryPage {...props} />;
30
31
  } else {
@@ -45,8 +45,7 @@ function ListFilter({ filter }) {
45
45
  item.resultCount === 0
46
46
  ? {
47
47
  opacity: 0.4,
48
- cursor: 'not-allowed',
49
- cursor: 'pointer'
48
+ cursor: 'not-allowed'
50
49
  }
51
50
  : { cursor: 'pointer' }
52
51
  }
@@ -65,10 +65,11 @@ export function ProductCard({
65
65
  product,
66
66
  className,
67
67
  imageAspect = '1:1',
68
- imageSizes = [1 / 4, 1 / 3, 1 / 2, 1 / 2],
68
+ imageSizes = [1 / 2, 1 / 2, 1 / 3, 1 / 4],
69
69
  forwardRef,
70
70
  as = 'li',
71
71
  children,
72
+ loadImageEagerly = false,
72
73
  ...linkProps
73
74
  }) {
74
75
  const hasImages = product.images && product.images.length > 0;
@@ -103,6 +104,7 @@ export function ProductCard({
103
104
  src={product.images[0].url}
104
105
  modifiedDate={product.images[0].modifiedDate}
105
106
  badges={<Badges badges={badges} />}
107
+ critical={loadImageEagerly}
106
108
  ></Image>
107
109
  ) : (
108
110
  <Image src={transparentDataImg} />
@@ -51,9 +51,14 @@ export const Wrapper = styled('ul')`
51
51
  }
52
52
  `;
53
53
 
54
+ export function isAboveFold(index) {
55
+ return index < 4;
56
+ }
57
+
54
58
  export function ProductGrid({
55
59
  products,
56
60
  listName,
61
+ category = '',
57
62
  loading,
58
63
  className,
59
64
  ...rest
@@ -64,8 +69,8 @@ export function ProductGrid({
64
69
  if (!products || products.length === 0) return;
65
70
 
66
71
  // Otherwise track a list view event
67
- track(trackListEvent({ listName, products }));
68
- }, [listName, products, track]);
72
+ track(trackListEvent({ listName, products, category }));
73
+ }, [listName, products, track, category]);
69
74
 
70
75
  if (!products) return null;
71
76
 
@@ -81,6 +86,7 @@ export function ProductGrid({
81
86
  product={product}
82
87
  style={{ opacity: loading ? 0.5 : 1 }}
83
88
  list={listName}
89
+ loadImageEagerly={isAboveFold(index)}
84
90
  {...rest}
85
91
  >
86
92
  <Favourite
@@ -3,7 +3,7 @@ import { trackListEvent } from '@jetshop/core/analytics/tracking';
3
3
  import React, { useEffect, useMemo } from 'react';
4
4
  import { css, cx } from 'linaria';
5
5
  import { ProductCard } from './ProductCard';
6
- import { priceStyle } from './ProductGrid';
6
+ import { isAboveFold, priceStyle } from './ProductGrid';
7
7
  import { WindowGrid } from '@jetshop/ui/WindowGrid';
8
8
 
9
9
  const container = css`
@@ -27,6 +27,7 @@ function ProductGridWindow({
27
27
  prevOffset,
28
28
  itemsPerRow,
29
29
  categoryPath,
30
+ category = '',
30
31
  ...rest
31
32
  }) {
32
33
  // Track product listing
@@ -36,28 +37,35 @@ function ProductGridWindow({
36
37
  if (!products || products.length === 0) return;
37
38
 
38
39
  // Otherwise track a list view event
39
- track(trackListEvent({ listName, products }));
40
- }, [listName, products, track]);
40
+ track(trackListEvent({ listName, products, category }));
41
+ }, [listName, products, track, category]);
41
42
 
42
43
  const renderProduct = useMemo(
43
- () => ({ item: product, style, innerRef }) => (
44
- <div className={defaultStyle} style={style} ref={innerRef}>
45
- <ProductCard
46
- key={product.articleNumber}
47
- product={product}
48
- as="div"
49
- categoryPath={categoryPath}
50
- />
51
- </div>
52
- ),
44
+ () =>
45
+ ({ item: product, style, innerRef }) =>
46
+ (
47
+ <div className={defaultStyle} style={style} ref={innerRef}>
48
+ <ProductCard
49
+ key={product.articleNumber}
50
+ product={product}
51
+ as="div"
52
+ categoryPath={categoryPath}
53
+ loadImageEagerly={isAboveFold(product.index)}
54
+ />
55
+ </div>
56
+ ),
53
57
  [categoryPath]
54
58
  );
55
59
 
60
+ const items = useMemo(() => {
61
+ return products.map((product, index) => ({ ...product, index }));
62
+ }, [products]);
63
+
56
64
  return (
57
65
  <WindowGrid
58
66
  id={id}
59
67
  itemsPerRow={[2, null, 3, 4]}
60
- items={products}
68
+ items={items}
61
69
  prevOffset={prevOffset}
62
70
  className={cx(container, priceStyle)}
63
71
  component={renderProduct}
@@ -0,0 +1,11 @@
1
+ # Category page
2
+ This folder contains two versions of category pages, of which you would usually select one.
3
+
4
+ ## Classic paginated category page
5
+ A category page that uses classic pagination, meaning next/previous buttons to step through pages, showing only one page of products at a time.
6
+
7
+ ## Infinite pagination category page
8
+ A more scroll-friendly version of a category page, where new products are appended to the list when you press the "Load more products" button. In order not to lose performance when rendering a large amount of products, it uses a technique called windowing to only render the products that are in view at the moment. This can cause issues if you have product cards of varying height, so make sure that all images and details showed on the product card result in the same overall height for the product card.
9
+
10
+ ## Read more
11
+ You can find more information about pagination in the [Flight documentation](https://docs.dev.jetshop.se/pagination).
@@ -44,6 +44,7 @@ const Category = ({ category, result }) => {
44
44
  <CategoryHeader
45
45
  category={category}
46
46
  parents={result?.data?.route?.parents}
47
+ breadcrumbs={result?.data?.route?.breadcrumbs}
47
48
  />
48
49
 
49
50
  <Container>
@@ -63,6 +64,7 @@ const Category = ({ category, result }) => {
63
64
  products={category.products.result}
64
65
  listName={category.name}
65
66
  categoryPath={category.isDynamic ? null : result?.data?.route}
67
+ category={result?.data?.route?.breadcrumbs?.join('/') || ''}
66
68
  loading={result.loading}
67
69
  imageSizes={[1 / 2, 1 / 2, 1 / 3, 1 / 4]}
68
70
  />
@@ -47,9 +47,10 @@ const WindowedCategory = ({ category, result }) => {
47
47
  const location = useLocation();
48
48
  const params = qs.parse(location.search, { ignoreQueryPrefix: true });
49
49
  const routePath = category?.isDynamic ? null : result?.data?.route?.path;
50
- const categoryPath = useMemo(() => routePath && { path: routePath }, [
51
- routePath
52
- ]);
50
+ const categoryPath = useMemo(
51
+ () => routePath && { path: routePath },
52
+ [routePath]
53
+ );
53
54
 
54
55
  if (!category) {
55
56
  return (
@@ -77,6 +78,11 @@ const WindowedCategory = ({ category, result }) => {
77
78
  category={category}
78
79
  parents={result?.data?.route?.parents}
79
80
  {...props}
81
+ breadcrumbs={
82
+ props.breadcrumbs?.value
83
+ ? result?.data?.route?.breadcrumbs
84
+ : []
85
+ }
80
86
  />
81
87
  </div>
82
88
  )
@@ -88,6 +94,7 @@ const WindowedCategory = ({ category, result }) => {
88
94
  <CategoryHeader
89
95
  category={category}
90
96
  parents={result?.data?.route?.parents}
97
+ breadcrumbs={result?.data?.route?.breadcrumbs}
91
98
  />
92
99
  )}
93
100
  <Container>
@@ -106,7 +113,7 @@ const WindowedCategory = ({ category, result }) => {
106
113
  {previous.hasProducts && (
107
114
  <ButtonWrapper>
108
115
  <TrendLink
109
- secondary
116
+ className="secondary"
110
117
  onClick={e => {
111
118
  e.preventDefault();
112
119
  previous.fetchProducts();
@@ -129,13 +136,14 @@ const WindowedCategory = ({ category, result }) => {
129
136
  products={products}
130
137
  listName={category.name}
131
138
  categoryPath={categoryPath}
139
+ category={result?.data?.route?.breadcrumbs?.join('/') || ''}
132
140
  loading={result.loading}
133
141
  imageSizes={[1 / 2, 1 / 2, 1 / 3, 1 / 4]}
134
142
  />
135
143
  {next.hasProducts && (
136
144
  <ButtonWrapper>
137
145
  <TrendLink
138
- secondary
146
+ className="secondary"
139
147
  onClick={e => {
140
148
  e.preventDefault();
141
149
  next.fetchProducts();
@@ -71,11 +71,8 @@ const InputWithLabel = ({
71
71
  <span>{label || name}</span>
72
72
  {required && <span className="req">{t('(Required)')}</span>}
73
73
  </Label>
74
- <Field
75
- className={cx(disabled && 'disabled')}
76
- id={name}
77
- name={name}
78
- render={({ field, form: { touched, errors } }) => (
74
+ <Field className={cx(disabled && 'disabled')} id={name} name={name}>
75
+ {({ field, form: { touched, errors } }) => (
79
76
  <div>
80
77
  <Input
81
78
  {...props}
@@ -104,7 +101,7 @@ const InputWithLabel = ({
104
101
  )}
105
102
  </div>
106
103
  )}
107
- />
104
+ </Field>
108
105
  {!disableValidation && <ErrorMessage name={name} component={ErrorSpan} />}
109
106
  </Wrapper>
110
107
  );