spree_frontend 4.1.0 → 4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (314) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +120 -0
  3. data/.codeclimate.yml +36 -0
  4. data/.deepsource.toml +19 -0
  5. data/.editorconfig +22 -0
  6. data/.eslintignore +7 -0
  7. data/.eslintrc +36 -0
  8. data/.gem_release.yml +7 -0
  9. data/.github/CONTRIBUTING.md +1 -0
  10. data/.github/ISSUE_TEMPLATE/bug_report.md +47 -0
  11. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  12. data/.github/ISSUE_TEMPLATE.md +39 -0
  13. data/.github/dependabot.yml +32 -0
  14. data/.gitignore +58 -0
  15. data/.rubocop.yml +197 -0
  16. data/.solargraph.yml +20 -0
  17. data/.stylelintignore +4 -0
  18. data/.stylelintrc +6 -0
  19. data/CODE_OF_CONDUCT.md +22 -0
  20. data/Gemfile +57 -3
  21. data/LICENSE +1 -1
  22. data/README.md +89 -0
  23. data/Rakefile +1 -1
  24. data/SECURITY.md +1 -0
  25. data/app/assets/config/spree_frontend_manifest.js +5 -0
  26. data/app/assets/images/arrow-down.svg +12 -0
  27. data/app/assets/images/arrow-right-circle-fill.svg +3 -0
  28. data/app/assets/images/card-image.svg +4 -0
  29. data/app/assets/images/edit.svg +1 -1
  30. data/app/assets/images/favicon.ico +0 -0
  31. data/app/assets/images/file-image.svg +4 -0
  32. data/app/assets/images/global.svg +1 -0
  33. data/app/assets/images/image.svg +4 -0
  34. data/app/assets/images/info.svg +7 -0
  35. data/app/assets/images/logo/spree_50.png +0 -0
  36. data/app/assets/images/logo-spree.png +0 -0
  37. data/app/assets/images/logo.png +0 -0
  38. data/app/assets/images/logo.svg +10 -1
  39. data/app/assets/images/logo@2x.png +0 -0
  40. data/app/assets/images/logo@3x.png +0 -0
  41. data/app/assets/images/noimage/large.png +0 -0
  42. data/app/assets/images/noimage/mini.png +0 -0
  43. data/app/assets/images/noimage/plp.png +0 -0
  44. data/app/assets/images/noimage/plp.svg +16 -0
  45. data/app/assets/images/noimage/product.png +0 -0
  46. data/app/assets/images/noimage/small.png +0 -0
  47. data/app/assets/images/pagination-arrow-right.svg +3 -10
  48. data/app/assets/images/pagination-double-arrow-right.svg +6 -13
  49. data/app/assets/images/plus.svg +1 -1
  50. data/app/assets/images/search.svg +1 -1
  51. data/app/assets/javascripts/spree/frontend/account.js +1 -1
  52. data/app/assets/javascripts/spree/frontend/api/main.js +36 -0
  53. data/app/assets/javascripts/spree/frontend/api/storefront/cart.js +49 -0
  54. data/app/assets/javascripts/spree/frontend/cart.js +24 -2
  55. data/app/assets/javascripts/spree/frontend/checkout/address.js +78 -52
  56. data/app/assets/javascripts/spree/frontend/checkout/address_book.js +38 -40
  57. data/app/assets/javascripts/spree/frontend/checkout/payment.js +63 -23
  58. data/app/assets/javascripts/spree/frontend/checkout/shipment.js +15 -2
  59. data/app/assets/javascripts/spree/frontend/checkout.js +17 -1
  60. data/app/assets/javascripts/spree/frontend/coupon_manager.js +1 -1
  61. data/app/assets/javascripts/spree/frontend/currency.js +44 -0
  62. data/app/assets/javascripts/spree/frontend/locale.es6 +12 -0
  63. data/app/assets/javascripts/spree/frontend/login.js +5 -0
  64. data/app/assets/javascripts/spree/frontend/main.js +78 -0
  65. data/app/assets/javascripts/spree/frontend/main_nav_bar.js +86 -0
  66. data/app/assets/javascripts/spree/frontend/{turbolinks_scroll_fix.js → turbo_scroll_fix.js} +3 -3
  67. data/app/assets/javascripts/spree/frontend/views/spree/home/product_carousels.js +4 -4
  68. data/app/assets/javascripts/spree/frontend/views/spree/product/related.js +3 -3
  69. data/app/assets/javascripts/spree/frontend/views/spree/products/cart_form.js +67 -18
  70. data/app/assets/javascripts/spree/frontend/views/spree/products/description.js +1 -1
  71. data/app/assets/javascripts/spree/frontend/views/spree/products/index.js +76 -15
  72. data/app/assets/javascripts/spree/frontend/views/spree/products/price_filters.es6 +46 -0
  73. data/app/assets/javascripts/spree/frontend/views/spree/shared/mobile_navigation.js +9 -10
  74. data/app/assets/javascripts/spree/frontend/views/spree/shared/product_added_modal.js +7 -0
  75. data/app/assets/javascripts/spree/frontend/views/spree/shared/variant_select.js +93 -0
  76. data/app/assets/javascripts/spree/frontend.js +68 -11
  77. data/app/assets/stylesheets/spree/frontend/application.scss +5 -2
  78. data/app/assets/stylesheets/spree/frontend/components-bootstrap/button.scss +8 -0
  79. data/app/assets/stylesheets/spree/frontend/components-bootstrap/carousel.scss +4 -0
  80. data/app/assets/stylesheets/spree/frontend/components-custom/inputs.scss +80 -1
  81. data/app/assets/stylesheets/spree/frontend/flags/_flag-icon-base.scss +23 -0
  82. data/app/assets/stylesheets/spree/frontend/flags/_flag-icon-list.scss +265 -0
  83. data/app/assets/stylesheets/spree/frontend/flags/_variables.scss +2 -0
  84. data/app/assets/stylesheets/spree/frontend/flags/flag-icon.scss +3 -0
  85. data/app/assets/stylesheets/spree/frontend/functions.scss +1 -0
  86. data/app/assets/stylesheets/spree/frontend/helpers/spree/frontend_helper.scss +48 -0
  87. data/app/assets/stylesheets/spree/frontend/variables/bootstrap-overrides.scss +2 -2
  88. data/app/assets/stylesheets/spree/frontend/variables/helper-variables.scss +1 -0
  89. data/app/assets/stylesheets/spree/frontend/variables/variables.scss +54 -0
  90. data/app/assets/stylesheets/spree/frontend/views/spree/checkout/confirm.scss +27 -26
  91. data/app/assets/stylesheets/spree/frontend/views/spree/checkout/delivery.scss +6 -0
  92. data/app/assets/stylesheets/spree/frontend/views/spree/checkout/edit.scss +24 -10
  93. data/app/assets/stylesheets/spree/frontend/views/spree/cms_sections/_index.scss +1 -0
  94. data/app/assets/stylesheets/spree/frontend/views/spree/cms_sections/product_buy_bar.scss +20 -0
  95. data/app/assets/stylesheets/spree/frontend/views/spree/home/index.scss +54 -67
  96. data/app/assets/stylesheets/spree/frontend/views/spree/orders/edit.scss +4 -3
  97. data/app/assets/stylesheets/spree/frontend/views/spree/orders/show.scss +3 -0
  98. data/app/assets/stylesheets/spree/frontend/views/spree/products/cart_form.scss +8 -0
  99. data/app/assets/stylesheets/spree/frontend/views/spree/products/gallery_modal.scss +7 -0
  100. data/app/assets/stylesheets/spree/frontend/views/spree/products/index.scss +55 -26
  101. data/app/assets/stylesheets/spree/frontend/views/spree/products/show.scss +7 -0
  102. data/app/assets/stylesheets/spree/frontend/views/spree/shared/_color_select.scss +10 -9
  103. data/app/assets/stylesheets/spree/frontend/views/spree/shared/carousel/single.scss +1 -1
  104. data/app/assets/stylesheets/spree/frontend/views/spree/shared/carousel/thumbnails.scss +1 -0
  105. data/app/assets/stylesheets/spree/frontend/views/spree/shared/cart.scss +9 -4
  106. data/app/assets/stylesheets/spree/frontend/views/spree/shared/category_nav_bar.scss +3 -3
  107. data/app/assets/stylesheets/spree/frontend/views/spree/shared/change_store.scss +7 -0
  108. data/app/assets/stylesheets/spree/frontend/views/spree/shared/footer.scss +4 -0
  109. data/app/assets/stylesheets/spree/frontend/views/spree/shared/main_nav_bar.scss +42 -26
  110. data/app/assets/stylesheets/spree/frontend/views/spree/shared/mobile_navigation.scss +34 -3
  111. data/app/assets/stylesheets/spree/frontend/views/spree/shared/nav_bar.scss +24 -7
  112. data/app/assets/stylesheets/spree/frontend/views/spree/shared/quantity_select.scss +9 -12
  113. data/app/assets/stylesheets/spree/frontend/views/spree/shared/search_form.scss +12 -0
  114. data/app/assets/stylesheets/spree/frontend/views/spree/users/show.scss +7 -13
  115. data/app/assets/stylesheets/spree/frontend.css +0 -1
  116. data/app/controllers/concerns/spree/checkout/address_book.rb +9 -7
  117. data/app/controllers/concerns/spree/locale_urls.rb +21 -0
  118. data/app/controllers/spree/addresses_controller.rb +16 -33
  119. data/app/controllers/spree/checkout_controller.rb +15 -13
  120. data/app/controllers/spree/cms_pages_controller.rb +29 -0
  121. data/app/controllers/spree/content_controller.rb +0 -2
  122. data/app/controllers/spree/currency_controller.rb +17 -0
  123. data/app/controllers/spree/errors_controller.rb +11 -0
  124. data/app/controllers/spree/home_controller.rb +38 -1
  125. data/app/controllers/spree/locale_controller.rb +35 -6
  126. data/app/controllers/spree/orders_controller.rb +12 -10
  127. data/app/controllers/spree/products_controller.rb +46 -28
  128. data/app/controllers/spree/store_controller.rb +77 -12
  129. data/app/controllers/spree/taxons_controller.rb +16 -8
  130. data/app/helpers/spree/addresses_helper.rb +64 -12
  131. data/app/helpers/spree/cache_helper.rb +7 -0
  132. data/app/helpers/spree/cms_pages_helper.rb +23 -0
  133. data/app/helpers/spree/frontend_helper.rb +170 -18
  134. data/app/helpers/spree/navigation_helper.rb +81 -4
  135. data/app/helpers/spree/products_filters_helper.rb +168 -0
  136. data/app/helpers/spree/store_helper.rb +41 -0
  137. data/app/helpers/spree/structured_data_helper.rb +6 -2
  138. data/app/helpers/spree/taxons_helper.rb +2 -2
  139. data/app/services/spree/build_localized_redirect_url.rb +141 -0
  140. data/app/views/kaminari/twitter-bootstrap-4/_first_page.html.erb +3 -3
  141. data/app/views/kaminari/twitter-bootstrap-4/_gap.html.erb +2 -2
  142. data/app/views/kaminari/twitter-bootstrap-4/_last_page.html.erb +3 -3
  143. data/app/views/kaminari/twitter-bootstrap-4/_next_page.html.erb +3 -3
  144. data/app/views/kaminari/twitter-bootstrap-4/_page.html.erb +2 -2
  145. data/app/views/kaminari/twitter-bootstrap-4/_paginator.html.erb +2 -2
  146. data/app/views/kaminari/twitter-bootstrap-4/_prev_page.html.erb +3 -3
  147. data/app/views/spree/address/_form.html.erb +26 -27
  148. data/app/views/spree/addresses/_form.html.erb +15 -6
  149. data/app/views/spree/addresses/edit.html.erb +13 -8
  150. data/app/views/spree/addresses/new.html.erb +8 -4
  151. data/app/views/spree/checkout/_address.html.erb +19 -23
  152. data/app/views/spree/checkout/_confirm.html.erb +1 -75
  153. data/app/views/spree/checkout/_credit_card.html.erb +3 -2
  154. data/app/views/spree/checkout/_delivery.html.erb +11 -4
  155. data/app/views/spree/checkout/_delivery_informations.html.erb +51 -0
  156. data/app/views/spree/checkout/_payment.html.erb +5 -24
  157. data/app/views/spree/checkout/_payment_sources.html.erb +17 -0
  158. data/app/views/spree/checkout/_summary.html.erb +22 -19
  159. data/app/views/spree/checkout/edit.html.erb +22 -2
  160. data/app/views/spree/checkout/payment/_gateway.html.erb +2 -2
  161. data/app/views/spree/checkout/registration.html.erb +3 -3
  162. data/app/views/spree/cms_pages/show.html.erb +16 -0
  163. data/app/views/spree/errors/not_found.html.erb +2 -2
  164. data/app/views/spree/home/index.html.erb +17 -123
  165. data/app/views/spree/layouts/checkout.html.erb +3 -1
  166. data/app/views/spree/layouts/spree_application.html.erb +3 -2
  167. data/app/views/spree/locale/index.html.erb +1 -0
  168. data/app/views/spree/orders/_coupon_code.html.erb +3 -4
  169. data/app/views/spree/orders/_line_item.html.erb +4 -4
  170. data/app/views/spree/orders/_line_item_data.html.erb +3 -3
  171. data/app/views/spree/orders/edit.html.erb +2 -3
  172. data/app/views/spree/orders/show.html.erb +2 -72
  173. data/app/views/spree/products/_cart_form.html.erb +5 -2
  174. data/app/views/spree/products/_color_option_type.html.erb +14 -14
  175. data/app/views/spree/products/_description.html.erb +19 -14
  176. data/app/views/spree/products/_filters_desktop.html.erb +80 -40
  177. data/app/views/spree/products/_filters_mobile.html.erb +47 -15
  178. data/app/views/spree/products/_gallery.html.erb +4 -6
  179. data/app/views/spree/products/_gallery_modal.html.erb +4 -6
  180. data/app/views/spree/products/_option_type.html.erb +1 -3
  181. data/app/views/spree/products/_product.html.erb +1 -1
  182. data/app/views/spree/products/_properties.html.erb +6 -4
  183. data/app/views/spree/products/_sort_desktop.html.erb +20 -14
  184. data/app/views/spree/products/_sort_mobile.html.erb +24 -8
  185. data/app/views/spree/products/_thumbnails.html.erb +2 -2
  186. data/app/views/spree/products/index.html.erb +7 -4
  187. data/app/views/spree/products/related.html.erb +11 -5
  188. data/app/views/spree/products/show.html.erb +2 -3
  189. data/app/views/spree/shared/_breadcrumbs.html.erb +2 -2
  190. data/app/views/spree/shared/_carousel_4_products.html.erb +14 -20
  191. data/app/views/spree/shared/_cart.html.erb +1 -1
  192. data/app/views/spree/shared/_checkout_header.html.erb +22 -21
  193. data/app/views/spree/shared/_color_select.html.erb +3 -3
  194. data/app/views/spree/shared/_copyright.html.erb +1 -10
  195. data/app/views/spree/shared/_currency_dropdown.html.erb +13 -0
  196. data/app/views/spree/shared/_delete_address_popup.html.erb +1 -2
  197. data/app/views/spree/shared/_error_messages.html.erb +2 -2
  198. data/app/views/spree/shared/_footer.html.erb +31 -21
  199. data/app/views/spree/shared/_get_started.html.erb +32 -0
  200. data/app/views/spree/shared/_head.html.erb +8 -5
  201. data/app/views/spree/shared/_header.html.erb +4 -4
  202. data/app/views/spree/shared/_internationalization_options.html.erb +31 -0
  203. data/app/views/spree/shared/_line_item.html.erb +3 -3
  204. data/app/views/spree/shared/_link_to_account.html.erb +7 -4
  205. data/app/views/spree/shared/_link_to_cart.html.erb +1 -2
  206. data/app/views/spree/shared/_locale_and_currency.html.erb +6 -0
  207. data/app/views/spree/shared/_locale_dropdown.html.erb +13 -0
  208. data/app/views/spree/shared/_login.html.erb +5 -5
  209. data/app/views/spree/shared/_main_nav_bar.html.erb +69 -45
  210. data/app/views/spree/shared/_mobile_internationalization_options.html.erb +37 -0
  211. data/app/views/spree/shared/_mobile_navigation.html.erb +48 -63
  212. data/app/views/spree/shared/_nav_bar.html.erb +9 -19
  213. data/app/views/spree/shared/_no_product_available.html.erb +1 -1
  214. data/app/views/spree/shared/_option_values.html.erb +2 -21
  215. data/app/views/spree/shared/_order_details.html.erb +117 -174
  216. data/app/views/spree/shared/_paths.html.erb +8 -0
  217. data/app/views/spree/shared/_payment.html.erb +2 -2
  218. data/app/views/spree/shared/_payment_sources.html.erb +2 -2
  219. data/app/views/spree/shared/_product_added_modal.html.erb +3 -3
  220. data/app/views/spree/shared/_properties.html.erb +4 -0
  221. data/app/views/spree/shared/_quantity_select.html.erb +2 -2
  222. data/app/views/spree/shared/_search.html.erb +9 -13
  223. data/app/views/spree/shared/_translations.html.erb +8 -7
  224. data/app/views/spree/shared/carousel/_single.html.erb +9 -14
  225. data/app/views/spree/shared/carousel/_thumbnails.html.erb +35 -39
  226. data/app/views/spree/shared/cms/pages/_edit_mode.html.erb +13 -0
  227. data/app/views/spree/shared/cms/sections/_featured_article.html.erb +27 -0
  228. data/app/views/spree/shared/cms/sections/_hero_image.html.erb +60 -0
  229. data/app/views/spree/shared/cms/sections/_image_gallery.html.erb +171 -0
  230. data/app/views/spree/shared/cms/sections/_product_carousel.html.erb +5 -0
  231. data/app/views/spree/shared/cms/sections/_rich_text_content.html.erb +3 -0
  232. data/app/views/spree/shared/cms/sections/_side_by_side_images.html.erb +118 -0
  233. data/app/views/spree/taxons/_header.html.erb +7 -2
  234. data/app/views/spree/users/_address.html.erb +16 -24
  235. data/app/views/spree/users/_address_controls.html.erb +10 -0
  236. data/app/views/spree/users/show.html.erb +21 -16
  237. data/config/initializers/admin_actions.rb +18 -0
  238. data/config/initializers/assets.rb +4 -13
  239. data/config/initializers/canonical_rails.rb +1 -1
  240. data/config/routes.rb +30 -26
  241. data/lib/generators/spree/frontend/copy_storefront/copy_storefront_generator.rb +1 -7
  242. data/lib/generators/spree/frontend/install/install_generator.rb +34 -0
  243. data/lib/generators/spree/frontend/install/templates/app/assets/config/manifest.js +2 -0
  244. data/lib/generators/spree/frontend/install/templates/vendor/assets/javascripts/spree/frontend/all.js +8 -0
  245. data/lib/generators/spree/frontend/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +9 -0
  246. data/lib/spree/frontend/configuration.rb +18 -0
  247. data/lib/spree/frontend/engine.rb +3 -1
  248. data/lib/spree/frontend/version.rb +9 -0
  249. data/lib/spree/frontend.rb +8 -4
  250. data/license.md +13 -0
  251. data/spec/fixtures/files/store_favicon.ico +0 -0
  252. data/spree_frontend.gemspec +26 -14
  253. data/vendor/assets/javascripts/cleave.js +8 -0
  254. data/vendor/assets/javascripts/fetch.umd.js +531 -0
  255. data/vendor/assets/javascripts/jquery.payment.js +652 -0
  256. data/vendor/assets/javascripts/jsuri.js +458 -0
  257. data/vendor/assets/javascripts/polyfill.min.js +1 -0
  258. metadata +224 -86
  259. data/app/assets/images/homepage/big_category_banner.jpg +0 -0
  260. data/app/assets/images/homepage/big_category_banner_mobile.jpg +0 -0
  261. data/app/assets/images/homepage/big_category_banner_tablet_landscape.jpg +0 -0
  262. data/app/assets/images/homepage/big_category_banner_tablet_portrait.jpg +0 -0
  263. data/app/assets/images/homepage/category_banner_lower.jpg +0 -0
  264. data/app/assets/images/homepage/category_banner_lower_mobile.jpg +0 -0
  265. data/app/assets/images/homepage/category_banner_lower_tablet_landscape.jpg +0 -0
  266. data/app/assets/images/homepage/category_banner_lower_tablet_portrait.jpg +0 -0
  267. data/app/assets/images/homepage/category_banner_upper.jpg +0 -0
  268. data/app/assets/images/homepage/category_banner_upper_mobile.jpg +0 -0
  269. data/app/assets/images/homepage/category_banner_upper_tablet_landscape.jpg +0 -0
  270. data/app/assets/images/homepage/category_banner_upper_tablet_portrait.jpg +0 -0
  271. data/app/assets/images/homepage/main_banner.jpg +0 -0
  272. data/app/assets/images/homepage/main_banner_mobile.jpg +0 -0
  273. data/app/assets/images/homepage/main_banner_tablet_landscape.jpg +0 -0
  274. data/app/assets/images/homepage/main_banner_tablet_portrait.jpg +0 -0
  275. data/app/assets/images/homepage/promo_banner_left.jpg +0 -0
  276. data/app/assets/images/homepage/promo_banner_left_mobile.jpg +0 -0
  277. data/app/assets/images/homepage/promo_banner_left_tablet_landscape.jpg +0 -0
  278. data/app/assets/images/homepage/promo_banner_left_tablet_portrait.jpg +0 -0
  279. data/app/assets/images/homepage/promo_banner_right.jpg +0 -0
  280. data/app/assets/images/homepage/promo_banner_right_mobile.jpg +0 -0
  281. data/app/assets/images/homepage/promo_banner_right_tablet_landscape.jpg +0 -0
  282. data/app/assets/images/homepage/promo_banner_right_tablet_portrait.jpg +0 -0
  283. data/app/assets/images/meganav/promo_banner_left-first-category.jpg +0 -0
  284. data/app/assets/images/meganav/promo_banner_left-second-category.jpg +0 -0
  285. data/app/assets/images/meganav/promo_banner_left-third-category.jpg +0 -0
  286. data/app/assets/images/meganav/promo_banner_right-first-category.jpg +0 -0
  287. data/app/assets/images/meganav/promo_banner_right-second-category.jpg +0 -0
  288. data/app/assets/images/meganav/promo_banner_right-third-category.jpg +0 -0
  289. data/app/assets/images/noimage/big_category_banner.jpg +0 -0
  290. data/app/assets/images/noimage/big_category_banner_mobile.jpg +0 -0
  291. data/app/assets/images/noimage/big_category_banner_tablet_landscape.jpg +0 -0
  292. data/app/assets/images/noimage/big_category_banner_tablet_portrait.jpg +0 -0
  293. data/app/assets/images/noimage/category_banner.jpg +0 -0
  294. data/app/assets/images/noimage/category_banner_mobile.jpg +0 -0
  295. data/app/assets/images/noimage/category_banner_plp.jpg +0 -0
  296. data/app/assets/images/noimage/category_banner_tablet_landscape.jpg +0 -0
  297. data/app/assets/images/noimage/category_banner_tablet_portrait.jpg +0 -0
  298. data/app/assets/images/noimage/main_banner.jpg +0 -0
  299. data/app/assets/images/noimage/main_banner_mobile.jpg +0 -0
  300. data/app/assets/images/noimage/main_banner_tablet_landscape.jpg +0 -0
  301. data/app/assets/images/noimage/main_banner_tablet_portrait.jpg +0 -0
  302. data/app/assets/images/noimage/product_photo.jpg +0 -0
  303. data/app/assets/images/noimage/promo_banner.jpg +0 -0
  304. data/app/assets/images/noimage/promo_banner_megamenu.jpg +0 -0
  305. data/app/assets/images/noimage/promo_banner_mobile.jpg +0 -0
  306. data/app/assets/images/noimage/promo_banner_tablet_landscape.jpg +0 -0
  307. data/app/assets/images/noimage/promo_banner_tablet_portrait.jpg +0 -0
  308. data/app/assets/images/spark-logo@3x.png +0 -0
  309. data/app/assets/stylesheets/spree/frontend/_glyphicons_urls_fix.scss +0 -10
  310. data/app/assets/stylesheets/spree/frontend/address_book.scss +0 -8
  311. data/app/models/spree/frontend_configuration.rb +0 -7
  312. data/app/views/spree/shared/_taxonomies.html.erb +0 -16
  313. /data/app/views/spree/{shared → errors}/forbidden.html.erb +0 -0
  314. /data/app/views/spree/{shared → errors}/unauthorized.html.erb +0 -0
@@ -1,6 +1,6 @@
1
1
  .plp {
2
2
  &-not-found-header {
3
- color: theme-color("dark-text");
3
+ color: $font-color;
4
4
  font-size: font-px-to-rem(18px);
5
5
  font-weight: 500;
6
6
  letter-spacing: 0.45px;
@@ -30,7 +30,7 @@
30
30
  }
31
31
 
32
32
  &-not-found-text {
33
- color: theme-color("dark-text");
33
+ color: $font-color;
34
34
  margin-bottom: 350px;
35
35
  font-size: font-px-to-rem(14px);
36
36
  font-weight: 500;
@@ -50,7 +50,7 @@
50
50
  height: 60px;
51
51
  display: flex;
52
52
  align-items: center;
53
- color: theme-color("dark-text");
53
+ color: $font-color;
54
54
  @include media-breakpoint-up("md") {
55
55
  font-size: font-px-to-rem(32px);
56
56
  }
@@ -68,7 +68,7 @@
68
68
  }
69
69
 
70
70
  &-buttons {
71
- color: theme-color("dark-text");
71
+ color: $font-color;
72
72
  display: flex;
73
73
  align-items: center;
74
74
  justify-content: space-between;
@@ -92,7 +92,7 @@
92
92
  top: $spree-plp-filter-desktop-position;
93
93
  left: 0;
94
94
  &-card {
95
- background-color: theme-color("light-background");
95
+ background-color: $primary-background;
96
96
  border: none;
97
97
  a:hover {
98
98
  text-decoration: none;
@@ -104,8 +104,10 @@
104
104
  }
105
105
  }
106
106
  &-header {
107
- background-color: theme-color("light-background");
108
- border-color: $global-border-style;
107
+ background-color: $primary-background;
108
+ border: 0;
109
+ border-bottom: 1px solid $global-border-style;
110
+ text-align: left;
109
111
  cursor: pointer;
110
112
  font-size: font-px-to-rem(17px);
111
113
  font-weight: bold;
@@ -125,7 +127,7 @@
125
127
  }
126
128
  &-item {
127
129
  border: solid 1px $second-global-border;
128
- color: theme-color("dark-text");
130
+ color: $font-color;
129
131
  font-size: font-px-to-rem(16px);
130
132
  font-weight: 500;
131
133
  &--selected {
@@ -133,12 +135,24 @@
133
135
  }
134
136
  }
135
137
  }
138
+ &-scroller {
139
+ @include media-breakpoint-up('lg') {
140
+ max-height: calc(100vh - #{$spree-plp-filter-desktop-position});
141
+ overflow: auto;
142
+ }
143
+ }
136
144
  }
137
145
 
138
146
  &-sort {
139
147
  font-size: font-px-to-rem(17px);
140
148
  &-header {
149
+ color: $font-color;
141
150
  cursor: pointer;
151
+ &:hover,
152
+ &:focus {
153
+ text-decoration: none;
154
+ color: $font-color;
155
+ }
142
156
  &-arrow {
143
157
  &--up {
144
158
  display: none;
@@ -154,13 +168,23 @@
154
168
  &-li--active {
155
169
  list-style: none;
156
170
  a {
157
- color: theme-color("dark-text");
171
+ color: $font-color;
158
172
  }
159
173
  }
160
174
  &-li--active {
161
175
  font-weight: bold;
162
176
  }
163
177
  }
178
+ .dropdown-item {
179
+ padding: 0;
180
+ color: inherit;
181
+ font-weight: inherit;
182
+ background-color: transparent;
183
+ &:hover,
184
+ &:focus {
185
+ background-color: transparent;
186
+ }
187
+ }
164
188
  }
165
189
  }
166
190
 
@@ -186,7 +210,7 @@
186
210
  }
187
211
  }
188
212
  a {
189
- color: theme-color("dark-text");
213
+ color: $font-color;
190
214
  border-color: $global-border-style !important;
191
215
  padding: 5px 13px;
192
216
  min-width: 37px;
@@ -207,7 +231,7 @@
207
231
  }
208
232
 
209
233
  &-overlay {
210
- color: theme-color("dark-text");
234
+ color: $font-color;
211
235
  position: fixed;
212
236
  width: 100%;
213
237
  height: 100%;
@@ -216,7 +240,7 @@
216
240
  right: 0;
217
241
  bottom: 0;
218
242
  z-index: 999;
219
- background-color: theme-color("light-background");
243
+ background-color: $primary-background;
220
244
 
221
245
  &-header {
222
246
  height: 60px;
@@ -235,6 +259,9 @@
235
259
  padding: 0;
236
260
  margin: 0;
237
261
  &-li {
262
+ .filled-dot {
263
+ display: none;
264
+ }
238
265
  &--active {
239
266
  .filled-dot {
240
267
  z-index: 1px;
@@ -243,45 +270,42 @@
243
270
  height: 12px;
244
271
  margin-top: 2px;
245
272
  margin-left: 2px;
246
- background-color: theme-color("secondary");
247
- border: solid 1px theme-color("secondary");
273
+ background-color: $secondary-color;
274
+ border: solid 1px $secondary-color;
248
275
  border-radius: 50%;
249
276
  }
250
277
  }
251
278
  a {
252
- color: theme-color("dark-text");
279
+ color: $font-color;
253
280
  &:hover {
254
281
  text-decoration: none;
255
282
  }
256
283
  }
257
- .filled-dot {
258
- display: none;
259
- }
260
284
  }
261
285
  }
262
286
 
263
287
  &-card {
264
288
  border: none;
265
289
  border-top: solid 1px $global-border-style;
266
- background-color: theme-color("light-background");
290
+ background-color: $primary-background;
267
291
  &-header.collapsed {
268
292
  .arrow {
269
293
  transform: rotate(90deg);
270
294
  }
271
295
  }
272
296
  &-header {
273
- background-color: theme-color("light-background");
297
+ background-color: $primary-background;
274
298
  border-bottom: none;
275
299
  cursor: pointer;
276
300
  &-arrow {
277
- color: theme-color("dark-test");
301
+ color: $font-color;
278
302
  transform: rotate(-90deg);
279
303
  }
280
304
  }
281
305
 
282
306
  &-item {
283
307
  border: solid 1px $second-global-border;
284
- color: theme-color("dark-text");
308
+ color: $font-color;
285
309
  font-size: font-px-to-rem(13px);
286
310
  &--selected {
287
311
  border: solid 2px $secondary-color;
@@ -295,19 +319,24 @@
295
319
  }
296
320
  }
297
321
  &-buttons {
298
- bottom: 30px;
322
+ background-color: $primary-background;
323
+ padding-bottom: 30px;
324
+ bottom: 0px;
299
325
  }
300
326
  }
301
327
 
302
328
  &-scroll {
303
329
  max-height: 100%;
304
330
  overflow-y: auto;
305
- padding-bottom: 140px;
331
+ padding-bottom: 150px;
332
+ @include media-breakpoint-up('sm') {
333
+ padding-bottom: 220px;
334
+ }
306
335
  }
307
336
 
308
337
  &-empty-dot {
309
- background-color: theme-color("light-background");
310
- border: solid 1px theme-color("secondary");
338
+ background-color: $primary-background;
339
+ border: solid 1px $secondary-color;
311
340
  border-radius: 50%;
312
341
  display: inline-block;
313
342
  margin-right: 16px;
@@ -16,6 +16,13 @@
16
16
  font-size: font-px-to-rem(16px);
17
17
  }
18
18
  }
19
+ &-vendor-img {
20
+ max-height: 100px;
21
+ max-width: 100px;
22
+ }
23
+ &-vendor-name {
24
+ font-size: font-px-to-rem(20px);
25
+ }
19
26
  &-images {
20
27
  & > .product-details-thumbnails {
21
28
  width: (1 / 7) * 100%;
@@ -19,14 +19,15 @@
19
19
  height: auto;
20
20
  }
21
21
  }
22
- }
23
- }
24
-
25
- input:checked,
26
- input:focus,
27
- input:active,
28
- input:focus-within {
29
- & + .color-select-label .color-select-border {
30
- stroke: $secondary-color;
22
+ input:checked,
23
+ input:focus,
24
+ input:active,
25
+ input:focus-within {
26
+ & + .color-select {
27
+ .color-select-border {
28
+ stroke: $secondary-color;
29
+ }
30
+ }
31
+ }
31
32
  }
32
33
  }
@@ -140,7 +140,7 @@
140
140
  justify-content: center;
141
141
  &-modal-opener {
142
142
  flex-basis: 430px;
143
- cursor: image-url("picture-zoom.svg"), auto;
143
+ cursor: image-url("picture-zoom.svg"), zoom-in;
144
144
  }
145
145
  }
146
146
  }
@@ -1,5 +1,6 @@
1
1
  .product-thumbnails-carousel {
2
2
  &-item {
3
+ will-change: transform;
3
4
  $single-gap: 5%;
4
5
  &-content {
5
6
  height: 0;
@@ -3,7 +3,14 @@
3
3
  position: relative;
4
4
  display: inline-block;
5
5
  padding-right: 7%;
6
-
6
+ svg {
7
+ width: 24px;
8
+ height: 24px;
9
+ @include media-breakpoint-up(xl) {
10
+ width: 36px;
11
+ height: 36px;
12
+ }
13
+ }
7
14
  &,
8
15
  &:hover {
9
16
  color: $header-font-color;
@@ -26,9 +33,7 @@
26
33
  padding: 0 2px;
27
34
  font-size: font-px-to-rem(12px);
28
35
  display: none;
29
- }
30
- &--xl {
31
- #{$self}-count {
36
+ @include media-breakpoint-up(xl) {
32
37
  $size: 26px;
33
38
  $border-width: 2px;
34
39
  border-radius: $size / 2;
@@ -1,7 +1,7 @@
1
1
  .category {
2
2
  &-links {
3
- width: 176px;
4
- min-width: 176px;
3
+ width: 170px;
4
+ min-width: 170px;
5
5
 
6
6
  &-header {
7
7
  color: $meganav-font-color;
@@ -12,7 +12,7 @@
12
12
 
13
13
  ul {
14
14
  list-style-type: none;
15
- padding-top: 27px;
15
+ padding-top: 15px;
16
16
  }
17
17
 
18
18
  li {
@@ -0,0 +1,7 @@
1
+ .change-store {
2
+ .active {
3
+ a {
4
+ font-weight: bold;
5
+ }
6
+ }
7
+ }
@@ -41,6 +41,10 @@
41
41
  @include media-breakpoint-up(xl) {
42
42
  font-size: font-px-to-rem(16px);
43
43
  font-weight: 500;
44
+
45
+ a {
46
+ font-size: font-px-to-rem(16px) !important;
47
+ }
44
48
  }
45
49
  }
46
50
  &-info {
@@ -1,12 +1,10 @@
1
1
  .main-nav-bar {
2
- @mixin active-category-button {
3
- border-bottom-color: $header-font-color;
4
- }
5
-
6
2
  &-item {
7
3
  text-transform: uppercase;
8
4
  font-size: 20px;
9
5
  font-weight: $font-weight-medium;
6
+ padding: 0 1.5rem;
7
+ height: 100%;
10
8
  a {
11
9
  color: theme-color('dark-text');
12
10
 
@@ -15,46 +13,65 @@
15
13
  }
16
14
  }
17
15
  }
18
- &-dropdown {
19
- &-toggle {
20
- background: none;
21
- border: none;
22
- padding: 0;
23
- margin: 0;
24
- &:focus {
25
- outline: none;
26
- }
27
- }
28
- }
29
16
  &-category {
30
17
  $self: &;
31
-
18
+ display: flex;
32
19
  position: static;
33
20
 
34
- &:hover {
35
- #{$self}-dropdown {
36
- display: block;
37
- }
21
+ &:hover, &.show {
38
22
  #{$self}-button {
39
23
  color: $header-font-color;
40
24
  text-decoration: none;
41
- @include active-category-button;
25
+ &:after {
26
+ border-bottom-color: $header-font-color;
27
+ }
28
+ }
29
+ }
30
+
31
+ #{$self}-button.active {
32
+ color: $header-font-color;
33
+ text-decoration: none;
34
+ &:after {
35
+ border-bottom-color: $header-font-color;
36
+ }
37
+ }
38
+
39
+ .dropdown-item {
40
+ width: auto;
41
+ padding: 0;
42
+ background-color: transparent;
43
+ &:hover, &:focus {
44
+ background-color: transparent;
45
+ }
46
+ &.active {
47
+ color: $header-font-color;
48
+ text-decoration: underline;
42
49
  }
43
50
  }
44
51
 
45
52
  &-button {
46
53
  background: none;
47
54
  border: none;
48
- border-bottom: 3px solid transparent;
49
55
  color: $header-font-color;
50
56
  margin: 0;
51
- &:focus {
52
- outline: none;
57
+ display: flex;
58
+ align-items: center;
59
+ position: relative;
60
+ &:after {
61
+ content: '';
62
+ display: block;
63
+ width: calc(100% - 2rem);
64
+ position: absolute;
65
+ left: 1rem;
66
+ bottom: 0.75rem;
67
+ padding: 0;
68
+ margin: 0;
69
+ border: 0;
70
+ border-bottom: 3px solid transparent;
53
71
  }
54
72
  }
55
73
 
56
74
  &-dropdown {
57
- padding: 51px 0px 51px 0px;
58
75
  min-height: 341px;
59
76
  left: 0;
60
77
  right: 0;
@@ -64,7 +81,6 @@
64
81
  margin: 0;
65
82
  border: none;
66
83
  z-index: 1000;
67
- display: none;
68
84
  background: $meganav-background;
69
85
  background-clip: padding-box;
70
86
  border-top: 1px solid $global-border-style;
@@ -15,8 +15,11 @@
15
15
  &.shown {
16
16
  transform: translate(0);
17
17
  }
18
- &-list, &-sublist {
18
+ &-list,
19
+ &-sublist {
19
20
  margin: 0;
21
+ overflow-y: auto;
22
+ overflow-x: hidden;
20
23
  padding: 0 19px;
21
24
  &-item {
22
25
  padding: 16px 0;
@@ -39,6 +42,9 @@
39
42
  @include media-breakpoint-up(sm) {
40
43
  padding-top: $spree-header-tablet-height;
41
44
  }
45
+ &-subcategory-shown {
46
+ overflow-y: hidden;
47
+ }
42
48
  }
43
49
 
44
50
  &-sublist {
@@ -58,6 +64,17 @@
58
64
  border-bottom: 1px solid $global-border-style;
59
65
  }
60
66
  }
67
+
68
+ &-category-link {
69
+ svg {
70
+ width: 16px;
71
+ height: 16px;
72
+ @include media-breakpoint-up(sm) {
73
+ width: 14px;
74
+ height: 27px;
75
+ }
76
+ }
77
+ }
61
78
  }
62
79
 
63
80
  #mobile-navigation-close-button {
@@ -70,12 +87,18 @@
70
87
  .cls-3 {
71
88
  fill: theme-color("light-background");
72
89
  }
90
+ svg {
91
+ width: 17px;
92
+ height: 17px;
93
+ @include media-breakpoint-up(sm) {
94
+ width: 26px;
95
+ height: 26px;
96
+ }
97
+ }
73
98
  }
74
99
 
75
100
  #mobile-navigation-back-button {
76
101
  opacity: 0;
77
- padding-left: 0;
78
- padding-right: 0;
79
102
  transition: basic-transition(opacity);
80
103
  appearance: none;
81
104
  border: none;
@@ -84,4 +107,12 @@
84
107
  &.shown {
85
108
  opacity: 1;
86
109
  }
110
+ svg {
111
+ width: 18px;
112
+ height: 18px;
113
+ @include media-breakpoint-up(sm) {
114
+ width: 17px;
115
+ height: 28px;
116
+ }
117
+ }
87
118
  }
@@ -1,9 +1,9 @@
1
1
  .navbar-right {
2
- li+li {
2
+ li + li {
3
3
  margin-left: calc-spacer(2);
4
4
  }
5
5
  @include media-breakpoint-up(xl) {
6
- li+li {
6
+ li + li {
7
7
  margin-left: calc-spacer(4);
8
8
  }
9
9
  }
@@ -14,18 +14,35 @@
14
14
  padding: 0;
15
15
  margin: 0;
16
16
  color: $header-font-color;
17
- &:focus {
18
- outline: none;
19
- }
20
17
  }
21
18
  .dropdown-menu {
22
19
  border-color: $global-border-style;
23
20
  }
24
21
  }
22
+ .account-icon {
23
+ svg {
24
+ width: 27.6px;
25
+ height: 24px;
26
+ @include media-breakpoint-up(xl) {
27
+ width: 41.4px;
28
+ height: 36px;
29
+ }
30
+ }
31
+ }
32
+ .search-icons {
33
+ svg {
34
+ width: 24px;
35
+ height: 24px;
36
+ @include media-breakpoint-up(xl) {
37
+ width: 36px;
38
+ height: 36px;
39
+ }
40
+ }
41
+ }
25
42
  &-search-menu {
26
43
  position: static;
27
44
  &-dropdown {
28
- background-color: theme-color('light-background');
45
+ background-color: theme-color("light-background");
29
46
  visibility: hidden;
30
47
  opacity: 0;
31
48
  z-index: 4;
@@ -44,7 +61,7 @@
44
61
  }
45
62
 
46
63
  form {
47
- input#keywords{
64
+ input#keywords {
48
65
  background: transparent;
49
66
  color: $meganav-font-color;
50
67
  font-size: font-px-to-rem(14px);
@@ -1,42 +1,39 @@
1
1
  .quantity-select {
2
- width: 136px;
3
- height: 45px;
4
- @include media-breakpoint-up(sm) {
5
- width: 174px;
6
- height: 58px;
7
- }
8
- @include media-breakpoint-up(md) {
9
- width: 136px;
10
- height: 45px;
11
- }
12
2
  &-decrease, &-increase {
3
+ width: 45px;
13
4
  border-radius: 0;
14
5
  font-size: font-px-to-rem(20px);
15
6
  font-weight: 500;
16
7
  background-color: theme-color("light-background");
17
8
  border: 1px solid theme-color("borders");
18
9
  @include media-breakpoint-up(sm) {
10
+ width: 58px;
19
11
  font-size: font-px-to-rem(30px);
20
12
  border: 2px solid theme-color("borders");
21
13
  }
22
14
  @include media-breakpoint-up(md) {
15
+ width: 45px;
23
16
  font-size: font-px-to-rem(20px);
24
17
  border: 1px solid theme-color("borders");
25
18
  }
26
19
  }
27
20
  &-value {
28
- width: 100%;
21
+ width: 46px;
22
+ height: 45px;
29
23
  font-size: font-px-to-rem(20px);
30
24
  font-weight: 500;
31
25
  border-radius: 0;
32
26
  border: 1px solid theme-color('borders');
33
- height: auto;
34
27
  z-index: 1;
35
28
  @include media-breakpoint-up(sm) {
29
+ width: 58px;
30
+ height: 58px;
36
31
  font-size: font-px-to-rem(28px);
37
32
  border: 2px solid theme-color("borders");
38
33
  }
39
34
  @include media-breakpoint-up(md) {
35
+ width: 46px;
36
+ height: 45px;
40
37
  font-size: font-px-to-rem(20px);
41
38
  border: 1px solid theme-color("borders");
42
39
  }
@@ -0,0 +1,12 @@
1
+ .search-form {
2
+ button {
3
+ svg {
4
+ width: 20px;
5
+ height: 20px;
6
+ @include media-breakpoint-up(md) {
7
+ width: 27px;
8
+ height: 27px;
9
+ }
10
+ }
11
+ }
12
+ }