workarea-nvy_theme 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (350) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +16 -0
  3. data/.eslintrc +25 -0
  4. data/.gitignore +24 -0
  5. data/.rubocop.yml +8 -0
  6. data/.scss-lint.yml +192 -0
  7. data/CHANGELOG.md +82 -0
  8. data/Gemfile +17 -0
  9. data/README.md +185 -0
  10. data/Rakefile +62 -0
  11. data/app/assets/fonts/workarea/storefront/hind/hind_bold_webfont.woff +0 -0
  12. data/app/assets/fonts/workarea/storefront/hind/hind_bold_webfont.woff2 +0 -0
  13. data/app/assets/fonts/workarea/storefront/hind/hind_regular_webfont.woff +0 -0
  14. data/app/assets/fonts/workarea/storefront/hind/hind_regular_webfont.woff2 +0 -0
  15. data/app/assets/fonts/workarea/storefront/lora/lora_bold_webfont.woff +0 -0
  16. data/app/assets/fonts/workarea/storefront/lora/lora_bold_webfont.woff2 +0 -0
  17. data/app/assets/fonts/workarea/storefront/lora/lora_bolditalic_webfont.woff +0 -0
  18. data/app/assets/fonts/workarea/storefront/lora/lora_bolditalic_webfont.woff2 +0 -0
  19. data/app/assets/fonts/workarea/storefront/lora/lora_italic_webfont.woff +0 -0
  20. data/app/assets/fonts/workarea/storefront/lora/lora_italic_webfont.woff2 +0 -0
  21. data/app/assets/fonts/workarea/storefront/lora/lora_regular_webfont.woff +0 -0
  22. data/app/assets/fonts/workarea/storefront/lora/lora_regular_webfont.woff2 +0 -0
  23. data/app/assets/fonts/workarea/storefront/muli/muli_bold_webfont.woff +0 -0
  24. data/app/assets/fonts/workarea/storefront/muli/muli_bold_webfont.woff2 +0 -0
  25. data/app/assets/fonts/workarea/storefront/muli/muli_bolditalic_webfont.woff +0 -0
  26. data/app/assets/fonts/workarea/storefront/muli/muli_bolditalic_webfont.woff2 +0 -0
  27. data/app/assets/fonts/workarea/storefront/muli/muli_italic_webfont.woff +0 -0
  28. data/app/assets/fonts/workarea/storefront/muli/muli_italic_webfont.woff2 +0 -0
  29. data/app/assets/fonts/workarea/storefront/muli/muli_regular_webfont.woff +0 -0
  30. data/app/assets/fonts/workarea/storefront/muli/muli_regular_webfont.woff2 +0 -0
  31. data/app/assets/fonts/workarea/storefront/overpass/overpass_bold.woff +0 -0
  32. data/app/assets/fonts/workarea/storefront/overpass/overpass_bold.woff2 +0 -0
  33. data/app/assets/fonts/workarea/storefront/overpass/overpass_bolditalic.woff +0 -0
  34. data/app/assets/fonts/workarea/storefront/overpass/overpass_bolditalic.woff2 +0 -0
  35. data/app/assets/fonts/workarea/storefront/overpass/overpass_italic.woff +0 -0
  36. data/app/assets/fonts/workarea/storefront/overpass/overpass_italic.woff2 +0 -0
  37. data/app/assets/fonts/workarea/storefront/overpass/overpass_regular.woff +0 -0
  38. data/app/assets/fonts/workarea/storefront/overpass/overpass_regular.woff2 +0 -0
  39. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_bold_webfont.woff +0 -0
  40. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_bold_webfont.woff2 +0 -0
  41. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_bolditalic_webfont.woff +0 -0
  42. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_bolditalic_webfont.woff2 +0 -0
  43. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_italic_webfont.woff +0 -0
  44. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_italic_webfont.woff2 +0 -0
  45. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_regular_webfont.woff +0 -0
  46. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_regular_webfont.woff2 +0 -0
  47. data/app/assets/fonts/workarea/storefront/poppins/poppins_300.woff +0 -0
  48. data/app/assets/fonts/workarea/storefront/poppins/poppins_300.woff2 +0 -0
  49. data/app/assets/fonts/workarea/storefront/poppins/poppins_500.woff +0 -0
  50. data/app/assets/fonts/workarea/storefront/poppins/poppins_500.woff2 +0 -0
  51. data/app/assets/fonts/workarea/storefront/poppins/poppins_700.woff +0 -0
  52. data/app/assets/fonts/workarea/storefront/poppins/poppins_700.woff2 +0 -0
  53. data/app/assets/fonts/workarea/storefront/poppins/poppins_regular.woff +0 -0
  54. data/app/assets/fonts/workarea/storefront/poppins/poppins_regular.woff2 +0 -0
  55. data/app/assets/fonts/workarea/storefront/pt_serif/pt_serif_700.woff +0 -0
  56. data/app/assets/fonts/workarea/storefront/pt_serif/pt_serif_700.woff2 +0 -0
  57. data/app/assets/fonts/workarea/storefront/pt_serif/pt_serif_regular.woff +0 -0
  58. data/app/assets/fonts/workarea/storefront/pt_serif/pt_serif_regular.woff2 +0 -0
  59. data/app/assets/fonts/workarea/storefront/roboto/roboto_bold_webfont.woff +0 -0
  60. data/app/assets/fonts/workarea/storefront/roboto/roboto_bold_webfont.woff2 +0 -0
  61. data/app/assets/fonts/workarea/storefront/roboto/roboto_italic_webfont.woff +0 -0
  62. data/app/assets/fonts/workarea/storefront/roboto/roboto_italic_webfont.woff2 +0 -0
  63. data/app/assets/fonts/workarea/storefront/roboto/roboto_regular_webfont.woff +0 -0
  64. data/app/assets/fonts/workarea/storefront/roboto/roboto_regular_webfont.woff2 +0 -0
  65. data/app/assets/fonts/workarea/storefront/source_serif_pro/source_serif_pro_bold_webfont.woff +0 -0
  66. data/app/assets/fonts/workarea/storefront/source_serif_pro/source_serif_pro_bold_webfont.woff2 +0 -0
  67. data/app/assets/fonts/workarea/storefront/source_serif_pro/source_serif_pro_regular_webfont.woff +0 -0
  68. data/app/assets/fonts/workarea/storefront/source_serif_pro/source_serif_pro_regular_webfont.woff2 +0 -0
  69. data/app/assets/images/workarea/storefront/icons/account.svg +1 -0
  70. data/app/assets/images/workarea/storefront/icons/arrowfill.svg +1 -0
  71. data/app/assets/images/workarea/storefront/icons/bag.svg +1 -0
  72. data/app/assets/images/workarea/storefront/icons/close.svg +1 -0
  73. data/app/assets/images/workarea/storefront/icons/eye.svg +1 -0
  74. data/app/assets/images/workarea/storefront/icons/heart.svg +1 -0
  75. data/app/assets/images/workarea/storefront/icons/minus.svg +1 -0
  76. data/app/assets/images/workarea/storefront/icons/plus.svg +1 -0
  77. data/app/assets/images/workarea/storefront/icons/search.svg +1 -0
  78. data/app/assets/images/workarea/storefront/icons/social/facebook.svg +1 -0
  79. data/app/assets/images/workarea/storefront/icons/social/instagram.svg +1 -0
  80. data/app/assets/images/workarea/storefront/icons/social/pinterest.svg +1 -0
  81. data/app/assets/images/workarea/storefront/icons/social/tumblr.svg +1 -0
  82. data/app/assets/images/workarea/storefront/icons/social/twitter.svg +1 -0
  83. data/app/assets/images/workarea/storefront/icons/validation_icon.svg +1 -0
  84. data/app/assets/images/workarea/storefront/logo.png +0 -0
  85. data/app/assets/images/workarea/storefront/logo.svg +1 -0
  86. data/app/assets/images/workarea/storefront/logo@3x.png +0 -0
  87. data/app/assets/images/workarea/storefront/logo_small.png +0 -0
  88. data/app/assets/images/workarea/storefront/logo_small.svg +1 -0
  89. data/app/assets/images/workarea/storefront/logo_small@3x.png +0 -0
  90. data/app/assets/javascripts/nvy_theme/.keep +0 -0
  91. data/app/assets/javascripts/workarea/storefront/modules/alternate_image_buttons.js +78 -0
  92. data/app/assets/javascripts/workarea/storefront/modules/mobile_filter_buttons.js +94 -0
  93. data/app/assets/javascripts/workarea/storefront/modules/mobile_nav_button.js +104 -0
  94. data/app/assets/javascripts/workarea/storefront/modules/toggle_class_button.js +44 -0
  95. data/app/assets/javascripts/workarea/storefront/modules/user_welcome_placeholder.js +38 -0
  96. data/app/assets/javascripts/workarea/storefront/product_quickview/templates/quickview_button.jst.ejs +3 -0
  97. data/app/assets/javascripts/workarea/storefront/reviews/modules/product_reviews_sort_menus.js +82 -0
  98. data/app/assets/javascripts/workarea/storefront/reviews/templates/sort_by_property.jst.ejs +15 -0
  99. data/app/assets/javascripts/workarea/storefront/templates/back_to_top_button.jst.ejs +3 -0
  100. data/app/assets/javascripts/workarea/storefront/templates/log_out_link.jst.ejs +1 -0
  101. data/app/assets/javascripts/workarea/storefront/templates/mobile_filters_nav_close_button.jst.ejs +3 -0
  102. data/app/assets/javascripts/workarea/storefront/templates/saved_addresses_property.jst.ejs +23 -0
  103. data/app/assets/javascripts/workarea/storefront/templates/user_welcome.jst.ejs +7 -0
  104. data/app/assets/stylesheets/jquery_ui/storefront/_ui_dialog.scss +169 -0
  105. data/app/assets/stylesheets/workarea/storefront/base/_forms.scss +113 -0
  106. data/app/assets/stylesheets/workarea/storefront/base/_input_checkbox.scss +55 -0
  107. data/app/assets/stylesheets/workarea/storefront/base/_input_radio.scss +59 -0
  108. data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry.scss +139 -0
  109. data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry_summary.scss +103 -0
  110. data/app/assets/stylesheets/workarea/storefront/blog/components/_featured_entry_content_block.scss +22 -0
  111. data/app/assets/stylesheets/workarea/storefront/components/_account_menu.scss +62 -0
  112. data/app/assets/stylesheets/workarea/storefront/components/_back_to_top_button.scss +22 -0
  113. data/app/assets/stylesheets/workarea/storefront/components/_box.scss +44 -0
  114. data/app/assets/stylesheets/workarea/storefront/components/_breadcrumbs.scss +31 -0
  115. data/app/assets/stylesheets/workarea/storefront/components/_browsing_controls.scss +43 -0
  116. data/app/assets/stylesheets/workarea/storefront/components/_button.scss +97 -0
  117. data/app/assets/stylesheets/workarea/storefront/components/_button_property.scss +41 -0
  118. data/app/assets/stylesheets/workarea/storefront/components/_cart.scss +44 -0
  119. data/app/assets/stylesheets/workarea/storefront/components/_checkout_addresses.scss +25 -0
  120. data/app/assets/stylesheets/workarea/storefront/components/_checkout_payment.scss +50 -0
  121. data/app/assets/stylesheets/workarea/storefront/components/_checkout_progress.scss +102 -0
  122. data/app/assets/stylesheets/workarea/storefront/components/_checkout_shipping.scss +14 -0
  123. data/app/assets/stylesheets/workarea/storefront/components/_checkout_step_summary.scss +19 -0
  124. data/app/assets/stylesheets/workarea/storefront/components/_color_box.scss +30 -0
  125. data/app/assets/stylesheets/workarea/storefront/components/_content_block.scss +57 -0
  126. data/app/assets/stylesheets/workarea/storefront/components/_data_card.scss +65 -0
  127. data/app/assets/stylesheets/workarea/storefront/components/_login.scss +32 -0
  128. data/app/assets/stylesheets/workarea/storefront/components/_mobile_filters_nav.scss +42 -0
  129. data/app/assets/stylesheets/workarea/storefront/components/_mobile_nav.scss +111 -0
  130. data/app/assets/stylesheets/workarea/storefront/components/_option_button.scss +48 -0
  131. data/app/assets/stylesheets/workarea/storefront/components/_order_help_menu.scss +24 -0
  132. data/app/assets/stylesheets/workarea/storefront/components/_overlay.scss +21 -0
  133. data/app/assets/stylesheets/workarea/storefront/components/_page_content.scss +30 -0
  134. data/app/assets/stylesheets/workarea/storefront/components/_page_footer.scss +104 -0
  135. data/app/assets/stylesheets/workarea/storefront/components/_page_header.scss +237 -0
  136. data/app/assets/stylesheets/workarea/storefront/components/_pagination.scss +10 -0
  137. data/app/assets/stylesheets/workarea/storefront/components/_primary_nav.scss +76 -0
  138. data/app/assets/stylesheets/workarea/storefront/components/_product_detail_container.scss +16 -0
  139. data/app/assets/stylesheets/workarea/storefront/components/_product_details.scss +82 -0
  140. data/app/assets/stylesheets/workarea/storefront/components/_product_list.scss +193 -0
  141. data/app/assets/stylesheets/workarea/storefront/components/_product_media.scss +76 -0
  142. data/app/assets/stylesheets/workarea/storefront/components/_product_prices.scss +46 -0
  143. data/app/assets/stylesheets/workarea/storefront/components/_product_summary.scss +119 -0
  144. data/app/assets/stylesheets/workarea/storefront/components/_property.scss +70 -0
  145. data/app/assets/stylesheets/workarea/storefront/components/_recent_views.scss +36 -0
  146. data/app/assets/stylesheets/workarea/storefront/components/_recommendations.scss +40 -0
  147. data/app/assets/stylesheets/workarea/storefront/components/_result_filters.scss +93 -0
  148. data/app/assets/stylesheets/workarea/storefront/components/_secondary_nav.scss +37 -0
  149. data/app/assets/stylesheets/workarea/storefront/components/_svg_icon.scss +56 -0
  150. data/app/assets/stylesheets/workarea/storefront/components/_table.scss +75 -0
  151. data/app/assets/stylesheets/workarea/storefront/components/_taxonomy_content_block.scss +204 -0
  152. data/app/assets/stylesheets/workarea/storefront/components/_text_box.scss +62 -0
  153. data/app/assets/stylesheets/workarea/storefront/components/_text_button.scss +39 -0
  154. data/app/assets/stylesheets/workarea/storefront/components/_validation_icon.scss +29 -0
  155. data/app/assets/stylesheets/workarea/storefront/components/_value.scss +95 -0
  156. data/app/assets/stylesheets/workarea/storefront/generic/_fonts.scss.erb +11 -0
  157. data/app/assets/stylesheets/workarea/storefront/product_quickview/components/_quickview_button.scss +26 -0
  158. data/app/assets/stylesheets/workarea/storefront/reviews/components/_rating.scss +28 -0
  159. data/app/assets/stylesheets/workarea/storefront/reviews/components/_reviews.scss +81 -0
  160. data/app/assets/stylesheets/workarea/storefront/reviews/components/_reviews_aggregate.scss +43 -0
  161. data/app/assets/stylesheets/workarea/storefront/reviews/components/_write_review.scss +63 -0
  162. data/app/assets/stylesheets/workarea/storefront/settings/_colors.scss.erb +17 -0
  163. data/app/assets/stylesheets/workarea/storefront/settings/_font_families.scss.erb +6 -0
  164. data/app/assets/stylesheets/workarea/storefront/settings/_global.scss +35 -0
  165. data/app/assets/stylesheets/workarea/storefront/settings/_grid.scss +37 -0
  166. data/app/assets/stylesheets/workarea/storefront/settings/_typography.scss +17 -0
  167. data/app/assets/stylesheets/workarea/storefront/settings/_z_indexes.scss +32 -0
  168. data/app/assets/stylesheets/workarea/storefront/share/components/_share_buttons.scss +30 -0
  169. data/app/assets/stylesheets/workarea/storefront/slick_slider/components/_slick_slider.scss +137 -0
  170. data/app/assets/stylesheets/workarea/storefront/swatches/components/_option_button.scss +17 -0
  171. data/app/assets/stylesheets/workarea/storefront/swatches/components/_swatch_facet.scss +24 -0
  172. data/app/assets/stylesheets/workarea/storefront/swatches/components/_swatch_options.scss +63 -0
  173. data/app/assets/stylesheets/workarea/storefront/theme_config/color_schemes/_neutral_color_scheme.scss +195 -0
  174. data/app/assets/stylesheets/workarea/storefront/theme_config/color_schemes/_nvy_color_scheme.scss +196 -0
  175. data/app/assets/stylesheets/workarea/storefront/theme_config/color_schemes/_vermillion_color_scheme.scss +199 -0
  176. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_hind.scss +21 -0
  177. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_lora.scss +37 -0
  178. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_muli.scss +37 -0
  179. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_overpass.scss +37 -0
  180. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_playfair_display.scss +37 -0
  181. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_poppins.scss +40 -0
  182. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_pt_serif.scss +22 -0
  183. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_roboto.scss +29 -0
  184. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_source_serif_pro.scss +21 -0
  185. data/app/assets/stylesheets/workarea/storefront/typography/_headings.scss +153 -0
  186. data/app/assets/stylesheets/workarea/storefront/typography/_links.scss +21 -0
  187. data/app/assets/stylesheets/workarea/storefront/typography/_text.scss +26 -0
  188. data/app/assets/stylesheets/workarea/storefront/wish_lists/components/_wish_list_form.scss +8 -0
  189. data/app/assets/stylesheets/workarea/styled_selects/components/_styled_select.scss +71 -0
  190. data/app/helpers/workarea/storefront/image_helper.rb +10 -0
  191. data/app/helpers/workarea/storefront/product_media_slider_helper.rb +31 -0
  192. data/app/views/layouts/workarea/storefront/_wish_lists_link.html.haml +4 -0
  193. data/app/views/layouts/workarea/storefront/application.html.haml +191 -0
  194. data/app/views/layouts/workarea/storefront/checkout.html.haml +90 -0
  195. data/app/views/workarea/storefront/blog_comments/index.html.haml +31 -0
  196. data/app/views/workarea/storefront/blog_entries/show.html.haml +79 -0
  197. data/app/views/workarea/storefront/blogs/_blog_navigation.html.haml +6 -0
  198. data/app/views/workarea/storefront/cart_items/create.html.haml +59 -0
  199. data/app/views/workarea/storefront/carts/_move_to_wish_list.html.haml +6 -0
  200. data/app/views/workarea/storefront/carts/show.html.haml +175 -0
  201. data/app/views/workarea/storefront/categories/show.html.haml +111 -0
  202. data/app/views/workarea/storefront/checkouts/_checkout_progress.html.haml +25 -0
  203. data/app/views/workarea/storefront/checkouts/_gift_card_payment.html.haml +28 -0
  204. data/app/views/workarea/storefront/checkouts/_summary.html.haml +102 -0
  205. data/app/views/workarea/storefront/checkouts/addresses.html.haml +57 -0
  206. data/app/views/workarea/storefront/checkouts/confirmation.html.haml +41 -0
  207. data/app/views/workarea/storefront/checkouts/payment.html.haml +186 -0
  208. data/app/views/workarea/storefront/checkouts/shipping.html.haml +39 -0
  209. data/app/views/workarea/storefront/content_blocks/_category_summary.html.haml +15 -0
  210. data/app/views/workarea/storefront/content_blocks/_product_insights.html.haml +10 -0
  211. data/app/views/workarea/storefront/content_blocks/_product_list.html.haml +10 -0
  212. data/app/views/workarea/storefront/content_blocks/_taxonomy.html.haml +27 -0
  213. data/app/views/workarea/storefront/content_blocks/_three_column_taxonomy.html.haml +29 -0
  214. data/app/views/workarea/storefront/content_blocks/_two_column_taxonomy.html.haml +28 -0
  215. data/app/views/workarea/storefront/facets/_range.html.haml +11 -0
  216. data/app/views/workarea/storefront/facets/_swatches.html.haml +13 -0
  217. data/app/views/workarea/storefront/facets/_terms.html.haml +11 -0
  218. data/app/views/workarea/storefront/menus/index.html.haml +14 -0
  219. data/app/views/workarea/storefront/menus/show.html.haml +11 -0
  220. data/app/views/workarea/storefront/orders/_summary.html.haml +271 -0
  221. data/app/views/workarea/storefront/orders/index.html.haml +42 -0
  222. data/app/views/workarea/storefront/products/_media.html.haml +14 -0
  223. data/app/views/workarea/storefront/products/_rating.html.haml +10 -0
  224. data/app/views/workarea/storefront/products/_reviews.html.haml +22 -0
  225. data/app/views/workarea/storefront/products/_reviews_aggregate.html.haml +22 -0
  226. data/app/views/workarea/storefront/products/_reviews_summary.html.haml +2 -0
  227. data/app/views/workarea/storefront/products/show.html.haml +45 -0
  228. data/app/views/workarea/storefront/products/templates/_generic.html.haml +54 -0
  229. data/app/views/workarea/storefront/products/templates/_gift_card.html.haml +67 -0
  230. data/app/views/workarea/storefront/products/templates/_option_selects.html.haml +57 -0
  231. data/app/views/workarea/storefront/products/templates/_option_thumbnails.html.haml +62 -0
  232. data/app/views/workarea/storefront/products/templates/_swatches.html.haml +66 -0
  233. data/app/views/workarea/storefront/recent_views/show.html.haml +27 -0
  234. data/app/views/workarea/storefront/recommendations/show.html.haml +9 -0
  235. data/app/views/workarea/storefront/reviews/new.html.haml +69 -0
  236. data/app/views/workarea/storefront/searches/show.html.haml +104 -0
  237. data/app/views/workarea/storefront/shared/_address_fields.html.haml +113 -0
  238. data/app/views/workarea/storefront/shared/_left_navigation.html.haml +25 -0
  239. data/app/views/workarea/storefront/shares/_share_buttons.html.haml +19 -0
  240. data/app/views/workarea/storefront/shares/new.html.haml +50 -0
  241. data/app/views/workarea/storefront/style_guides/base/_forms.html.haml +88 -0
  242. data/app/views/workarea/storefront/style_guides/components/_button.html.haml +89 -0
  243. data/app/views/workarea/storefront/style_guides/components/_personalized_recommendations_content_block.html.haml +32 -0
  244. data/app/views/workarea/storefront/style_guides/components/_product_insights_content_block.html.haml +32 -0
  245. data/app/views/workarea/storefront/style_guides/components/_product_list_content_block.html.haml +32 -0
  246. data/app/views/workarea/storefront/style_guides/components/_styled_select.html.haml +27 -0
  247. data/app/views/workarea/storefront/style_guides/components/_validation_icon.haml +21 -0
  248. data/app/views/workarea/storefront/style_guides/components/_value.html.haml +77 -0
  249. data/app/views/workarea/storefront/style_guides/settings/_color_variables.html.haml +79 -0
  250. data/app/views/workarea/storefront/style_guides/settings/color_schemes/_neutral_color_scheme.html.haml +15 -0
  251. data/app/views/workarea/storefront/style_guides/settings/color_schemes/_nvy_color_scheme.html.haml +15 -0
  252. data/app/views/workarea/storefront/style_guides/settings/color_schemes/_vermillion_color_scheme.html.haml +7 -0
  253. data/app/views/workarea/storefront/style_guides/typography/_fonts.html.haml +15 -0
  254. data/app/views/workarea/storefront/style_guides/typography/_headings.html.haml +40 -0
  255. data/app/views/workarea/storefront/users/_nvy_current_user.json.jbuilder +1 -0
  256. data/app/views/workarea/storefront/users/accounts/_wish_list_summary.html.haml +15 -0
  257. data/app/views/workarea/storefront/users/accounts/edit.html.haml +51 -0
  258. data/app/views/workarea/storefront/users/accounts/show.html.haml +119 -0
  259. data/app/views/workarea/storefront/users/addresses/edit.html.haml +24 -0
  260. data/app/views/workarea/storefront/users/addresses/new.html.haml +24 -0
  261. data/app/views/workarea/storefront/users/credit_cards/edit.html.haml +75 -0
  262. data/app/views/workarea/storefront/users/credit_cards/new.html.haml +68 -0
  263. data/app/views/workarea/storefront/users/logins/new.html.haml +55 -0
  264. data/app/views/workarea/storefront/users/orders/_summary.html.haml +23 -0
  265. data/app/views/workarea/storefront/users/passwords/change.html.haml +29 -0
  266. data/app/views/workarea/storefront/users/passwords/edit.html.haml +17 -0
  267. data/app/views/workarea/storefront/wish_lists/_add_form.html.haml +10 -0
  268. data/bin/rails +20 -0
  269. data/config/initializers/appends.rb +40 -0
  270. data/config/initializers/dragonfly.rb +31 -0
  271. data/config/initializers/theme.rb +39 -0
  272. data/config/initializers/workarea.rb +3 -0
  273. data/config/locales/en.yml +34 -0
  274. data/config/routes.rb +2 -0
  275. data/lib/tasks/theme_cleanup.rake +20 -0
  276. data/lib/workarea/nvy_theme.rb +22 -0
  277. data/lib/workarea/nvy_theme/engine.rb +16 -0
  278. data/lib/workarea/nvy_theme/version.rb +5 -0
  279. data/lib/workarea/theme/override_commit +1 -0
  280. data/public/screenshots/cart.png +0 -0
  281. data/public/screenshots/category_browse.png +0 -0
  282. data/public/screenshots/checkout_addresses.png +0 -0
  283. data/public/screenshots/checkout_payment.png +0 -0
  284. data/public/screenshots/homepage.png +0 -0
  285. data/public/screenshots/order_confirmation.png +0 -0
  286. data/public/screenshots/product_detail_page.png +0 -0
  287. data/script/admin_ci +9 -0
  288. data/script/ci +11 -0
  289. data/script/core_ci +9 -0
  290. data/script/plugins_ci +9 -0
  291. data/script/storefront_ci +9 -0
  292. data/test/dummy/Rakefile +6 -0
  293. data/test/dummy/app/assets/config/manifest.js +4 -0
  294. data/test/dummy/app/assets/images/.keep +0 -0
  295. data/test/dummy/app/assets/javascripts/application.js +13 -0
  296. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  297. data/test/dummy/app/controllers/application_controller.rb +3 -0
  298. data/test/dummy/app/controllers/concerns/.keep +0 -0
  299. data/test/dummy/app/helpers/application_helper.rb +2 -0
  300. data/test/dummy/app/jobs/application_job.rb +2 -0
  301. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  302. data/test/dummy/app/models/concerns/.keep +0 -0
  303. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  304. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  305. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  306. data/test/dummy/bin/bundle +3 -0
  307. data/test/dummy/bin/rails +4 -0
  308. data/test/dummy/bin/rake +4 -0
  309. data/test/dummy/bin/setup +38 -0
  310. data/test/dummy/bin/update +29 -0
  311. data/test/dummy/bin/yarn +11 -0
  312. data/test/dummy/config.ru +5 -0
  313. data/test/dummy/config/application.rb +28 -0
  314. data/test/dummy/config/boot.rb +5 -0
  315. data/test/dummy/config/cable.yml +10 -0
  316. data/test/dummy/config/environment.rb +5 -0
  317. data/test/dummy/config/environments/development.rb +54 -0
  318. data/test/dummy/config/environments/production.rb +91 -0
  319. data/test/dummy/config/environments/test.rb +44 -0
  320. data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
  321. data/test/dummy/config/initializers/assets.rb +14 -0
  322. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  323. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  324. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  325. data/test/dummy/config/initializers/inflections.rb +16 -0
  326. data/test/dummy/config/initializers/mime_types.rb +4 -0
  327. data/test/dummy/config/initializers/workarea.rb +5 -0
  328. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  329. data/test/dummy/config/locales/en.yml +33 -0
  330. data/test/dummy/config/puma.rb +56 -0
  331. data/test/dummy/config/routes.rb +5 -0
  332. data/test/dummy/config/secrets.yml +32 -0
  333. data/test/dummy/config/spring.rb +6 -0
  334. data/test/dummy/db/seeds.rb +2 -0
  335. data/test/dummy/lib/assets/.keep +0 -0
  336. data/test/dummy/log/.keep +0 -0
  337. data/test/system/workarea/admin/guest_browsing_system_test.decorator +38 -0
  338. data/test/system/workarea/storefront/analytics_system_test.decorator +107 -0
  339. data/test/system/workarea/storefront/categories_system_test.decorator +131 -0
  340. data/test/system/workarea/storefront/login_system_test.decorator +94 -0
  341. data/test/system/workarea/storefront/navigation_system_test.decorator +28 -0
  342. data/test/system/workarea/storefront/pagination_system_test.decorator +89 -0
  343. data/test/system/workarea/storefront/passwords_system_test.decorator +59 -0
  344. data/test/system/workarea/storefront/search_system_test.decorator +105 -0
  345. data/test/system/workarea/storefront/styled_selects_system_test.decorator +21 -0
  346. data/test/teaspoon_env.rb +6 -0
  347. data/test/test_helper.rb +10 -0
  348. data/test/view_models/workarea/storefront/content_blocks/product_insights_view_model_test.decorator +43 -0
  349. data/workarea-nvy_theme.gemspec +30 -0
  350. metadata +574 -0
@@ -0,0 +1,62 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+ RDoc::Task.new(:rdoc) do |rdoc|
9
+ rdoc.rdoc_dir = 'rdoc'
10
+ rdoc.title = 'Nvy Theme'
11
+ rdoc.options << '--line-numbers'
12
+ rdoc.rdoc_files.include('README.md')
13
+ rdoc.rdoc_files.include('lib/**/*.rb')
14
+ end
15
+
16
+ APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
17
+ load 'rails/tasks/engine.rake'
18
+ load 'rails/tasks/statistics.rake'
19
+ load 'workarea/changelog.rake'
20
+
21
+ require 'rake/testtask'
22
+ Rake::TestTask.new(:test) do |t|
23
+ t.libs << 'lib'
24
+ t.libs << 'test'
25
+ t.pattern = 'test/**/*_test.rb'
26
+ t.verbose = false
27
+ end
28
+ task default: :test
29
+
30
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
31
+ require 'workarea/nvy_theme/version'
32
+
33
+ desc "Release version #{Workarea::NvyTheme::VERSION} of the gem"
34
+ task :release do
35
+ host = "https://#{ENV['BUNDLE_GEMS__WEBLINC__COM']}@gems.weblinc.com"
36
+
37
+ #Rake::Task['workarea:changelog'].execute
38
+ #system 'git add CHANGELOG.md'
39
+ #system 'git commit -m "Update CHANGELOG"'
40
+ #system 'git push origin HEAD'
41
+
42
+ system "git tag -a v#{Workarea::NvyTheme::VERSION} -m 'Tagging #{Workarea::NvyTheme::VERSION}'"
43
+ system 'git push --tags'
44
+
45
+ system "gem build workarea-nvy_theme.gemspec"
46
+ system "gem push workarea-nvy_theme-#{Workarea::NvyTheme::VERSION}.gem"
47
+ system "gem push workarea-nvy_theme-#{Workarea::NvyTheme::VERSION}.gem --host #{host}"
48
+ system "rm workarea-nvy_theme-#{Workarea::NvyTheme::VERSION}.gem"
49
+ end
50
+
51
+ desc 'Run the JavaScript tests'
52
+ ENV['TEASPOON_RAILS_ENV'] = File.expand_path('../test/dummy/config/environment', __FILE__)
53
+ task teaspoon: 'app:teaspoon'
54
+
55
+ desc 'Start a server at http://localhost:3000/teaspoon for JavaScript tests'
56
+ task :teaspoon_server do
57
+ Dir.chdir("test/dummy")
58
+ teaspoon_env = File.expand_path('../test/teaspoon_env.rb', __FILE__)
59
+ system "RAILS_ENV=test TEASPOON_ENV=#{teaspoon_env} rails s"
60
+ end
61
+
62
+ load 'lib/tasks/theme_cleanup.rake'
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M20 17.5c2.8-1.5 4.8-4.5 4.8-7.9 0-4.9-4-8.9-8.9-8.9s-8.8 4-8.8 8.9c0 3.4 1.9 6.3 4.8 7.9-4.1 1.3-7.3 4.4-8.8 8.3-.6 1.5-.9 3.1-.9 4.8v.8h27.4v-.8c.1-6.2-3.9-11.5-9.6-13.1zM8.7 9.6c0-4 3.2-7.2 7.2-7.2s7.2 3.2 7.2 7.2-3.2 7.2-7.2 7.2-7.2-3.2-7.2-7.2zM4 29.6c.4-6.2 5.6-11.3 12-11.3s11.6 5 12.1 11.3H4z" fill="#010101"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M.6 8.5c-.2 0-.3.1-.3.2s0 .3.1.4l15.4 15.4c.1.1.2.1.3.1.1 0 .2 0 .3-.1L31.7 9.1c.1-.1.1-.3.1-.4-.1-.1-.2-.2-.3-.2H.6z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M28 28.8c-.4.3-.8.5-1.3.5H5.3c-.5 0-1-.2-1.3-.5-.3-.3-.5-.8-.4-1.3l2.3-17.1h20.3l2.3 17.2c0 .4-.1.8-.5 1.2zM12.3 8.4V6.9c0-2.2 1-4.2 3.9-4.2s3.9 2 3.9 4.2v1.5h-7.8zm18.3 18.9L28.1 9.2c-.1-.5-.5-.8-1.1-.8h-4.8V6.8c0-4-2.4-6.2-6-6.2s-6 2.2-6 6.2v1.5H4.9c-.5 0-1 .3-1.1.9L1.4 27.3c-.2 1 .2 2 .9 2.8.7.7 1.7 1.2 2.9 1.2h21.5c1.1 0 2.2-.5 2.9-1.2.8-.8 1.1-1.8 1-2.8z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M14 16L.7 2.7C.1 2.1.1 1.2.7.7c.6-.6 1.5-.6 2 0L16 14 29.4.7c.6-.6 1.5-.6 2 0 .6.6.6 1.5 0 2L18.1 16l13.3 13.3c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0L16 18.1 2.7 31.4c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2L14 16z"/></svg>
@@ -0,0 +1 @@
1
+ <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M21.8 17.08a5.65 5.65 0 1 0-5.65 5.64 5.65 5.65 0 0 0 5.65-5.64zm-8.65 0a3 3 0 1 1 3 3 3 3 0 0 1-3-3z"/><path data-name="path" d="M7.51 23.77a1.29 1.29 0 0 0 .65.17 1.32 1.32 0 0 0 .66-2.47 17.64 17.64 0 0 1-5.05-4.39 15.82 15.82 0 0 1 12.38-6.38 16 16 0 0 1 13 7.14 1.32 1.32 0 0 0 2.16-1.53C27.52 11.06 22 8.06 16.15 8.06a18.56 18.56 0 0 0-15.1 8.25l-.55.77.55.76a20.45 20.45 0 0 0 6.46 5.93z"/></svg>
@@ -0,0 +1 @@
1
+ <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M28.91 4.94a8.9 8.9 0 0 0-12.47 0c-.15.15-.3.31-.44.47-.14-.16-.28-.32-.43-.47a8.91 8.91 0 0 0-12.48 0 8.72 8.72 0 0 0 0 12.4L16 29.61l12.91-12.28a8.7 8.7 0 0 0 0-12.39zm-1.15 11.21L16 27.34 4.25 16.16a7.06 7.06 0 0 1 0-10 7.19 7.19 0 0 1 11.07 1.1l.68 1 .69-1a6.85 6.85 0 0 1 .9-1.1 7.26 7.26 0 0 1 10.17 0 7.05 7.05 0 0 1 0 10z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M1.8 18.2c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8H30c1 0 1.8.8 1.8 1.8s-.8 1.8-1.8 1.8H1.8z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M30.5 14.7H17.1V1.4c0-.7-.5-1.2-1.2-1.2s-1.2.5-1.2 1.2v13.4H1.3C.6 14.7 0 15.3 0 16s.5 1.2 1.2 1.2h13.4v13.4c0 .7.5 1.2 1.2 1.2s1.2-.5 1.2-1.2V17.2h13.4c.7 0 1.2-.5 1.2-1.2s-.5-1.3-1.1-1.3z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M30.8 28.9l-8.3-8.2c2-2.2 3.1-5.1 3.1-8.1C25.6 5.9 20 .3 13.1.3S.7 5.8.7 12.6s5.6 12.3 12.5 12.3c2.4 0 4.7-.7 6.8-2l8.5 8.3c.3.3.7.5 1.2.5s.8-.2 1.2-.5c.3-.3.5-.7.5-1.1-.1-.5-.3-.9-.6-1.2zm-8.4-16.3c0 4.9-4.1 9-9.1 9s-9.1-4-9.1-9 4.1-9 9.1-9 9.1 4 9.1 9z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M13.843 8.701l.367-2.844h-2.817V4.041c0-.823.23-1.384 1.41-1.384l1.505-.001V.112A20.19 20.19 0 0 0 12.114 0C9.942 0 8.456 1.325 8.456 3.76v2.097H6v2.844h2.456V16h2.937V8.701h2.45z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M16 3.29c4.14 0 4.63 0 6.26.09a8.35 8.35 0 0 1 2.88.54 4.7 4.7 0 0 1 1.78 1.16 4.7 4.7 0 0 1 1.16 1.78 8.35 8.35 0 0 1 .54 2.88c.07 1.63.09 2.12.09 6.26s0 4.63-.09 6.26a8.35 8.35 0 0 1-.54 2.88 5.15 5.15 0 0 1-2.94 2.94 8.35 8.35 0 0 1-2.88.54c-1.63.07-2.12.09-6.26.09s-4.63 0-6.26-.09a8.35 8.35 0 0 1-2.88-.54 4.7 4.7 0 0 1-1.78-1.16 4.7 4.7 0 0 1-1.16-1.78 8.35 8.35 0 0 1-.54-2.88c-.07-1.63-.09-2.12-.09-6.26s0-4.63.09-6.26a8.35 8.35 0 0 1 .54-2.88 4.7 4.7 0 0 1 1.16-1.78 4.7 4.7 0 0 1 1.78-1.16 8.35 8.35 0 0 1 2.88-.54c1.63-.07 2.12-.09 6.26-.09M16 .5c-4.21 0-4.74 0-6.39.09a11.53 11.53 0 0 0-3.76.72 7.93 7.93 0 0 0-4.54 4.54 11.53 11.53 0 0 0-.72 3.76C.52 11.26.5 11.79.5 16s0 4.74.09 6.39a11.53 11.53 0 0 0 .72 3.76 7.93 7.93 0 0 0 4.54 4.54 11.53 11.53 0 0 0 3.76.72c1.65.07 2.18.09 6.39.09s4.74 0 6.39-.09a11.53 11.53 0 0 0 3.76-.72 7.93 7.93 0 0 0 4.54-4.54 11.53 11.53 0 0 0 .72-3.76c.07-1.65.09-2.18.09-6.39s0-4.74-.09-6.39a11.53 11.53 0 0 0-.72-3.76 7.93 7.93 0 0 0-4.54-4.54 11.53 11.53 0 0 0-3.76-.72C20.74.52 20.21.5 16 .5z"/><path d="M16 8a8 8 0 1 0 8 8 8 8 0 0 0-8-8zm0 13.13A5.17 5.17 0 1 1 21.17 16 5.18 5.18 0 0 1 16 21.17z"/><circle cx="24.27" cy="7.73" r="1.86"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M0 8a8 8 0 0 0 4.79 7.33 7.31 7.31 0 0 1 .14-1.84L6 9.13a3 3 0 0 1-.3-1.27c0-1.18.69-2.07 1.55-2.07A1.08 1.08 0 0 1 8.33 7a17.31 17.31 0 0 1-.71 2.85 1.23 1.23 0 0 0 1.26 1.53c1.52 0 2.54-1.94 2.54-4.25a3 3 0 0 0-3.33-3.07 3.79 3.79 0 0 0-3.94 3.83 2.33 2.33 0 0 0 .53 1.57.36.36 0 0 1 .11.44c0 .15-.12.5-.16.64a.27.27 0 0 1-.4.2 3.07 3.07 0 0 1-1.64-3c0-2.27 1.92-5 5.72-5a4.78 4.78 0 0 1 5.06 4.58c0 3.14-1.74 5.49-4.31 5.49a2.3 2.3 0 0 1-2-1S6.64 13.6 6.54 14a6.9 6.9 0 0 1-.8 1.71h.16l.57.14.38.06.39.05h1.57c.19 0 .37-.06.55-.09h.25l.37-.1.4-.1h.11a8.1 8.1 0 0 0 2-1 8.22 8.22 0 0 0 2.41-2.57c0-.09.11-.18.15-.27s.09-.18.13-.26.15-.31.22-.47 0-.12.07-.19.14-.37.2-.57v-.12a8.43 8.43 0 0 0 .2-.9v-.25A8.76 8.76 0 0 0 16 8 8 8 0 0 0 0 8z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M10.53 0v4.043h3.796v2.512h-3.795v4.104c0 .928.048 1.523.146 1.786.1.263.28.473.549.63.354.213.757.32 1.214.32.81 0 1.615-.265 2.416-.791v2.523a9.65 9.65 0 0 1-1.856.68 7.985 7.985 0 0 1-1.8.193c-.73 0-1.376-.093-1.939-.278a4.209 4.209 0 0 1-1.438-.788c-.397-.343-.672-.707-.825-1.093-.153-.383-.23-.942-.23-1.673V6.555H5V4.29a4.668 4.668 0 0 0 1.614-.876c.45-.382.809-.84 1.079-1.374.272-.536.46-1.214.561-2.04h2.277z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M16 3.796a6.57 6.57 0 0 1-1.885.517 3.296 3.296 0 0 0 1.444-1.816 6.583 6.583 0 0 1-2.085.798A3.282 3.282 0 0 0 7.795 5.54c0 .257.03.507.084.748a9.312 9.312 0 0 1-6.764-3.43A3.28 3.28 0 0 0 2.13 7.24a3.258 3.258 0 0 1-1.488-.41v.04a3.284 3.284 0 0 0 2.633 3.22 3.283 3.283 0 0 1-1.482.056 3.286 3.286 0 0 0 3.066 2.28A6.585 6.585 0 0 1 0 13.786a9.302 9.302 0 0 0 5.032 1.473c6.039 0 9.34-5 9.34-9.34 0-.14-.004-.282-.009-.424A6.659 6.659 0 0 0 16 3.795"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" class="validation-icon"><path class="validation-icon__invalid" d="M14 16L.65 2.65a1.34 1.34 0 0 1 0-2 1.34 1.34 0 0 1 2 0L16 14 29.35.65a1.34 1.34 0 0 1 2 0 1.34 1.34 0 0 1 0 2L18.05 16l13.3 13.3a1.41 1.41 0 0 1-2 2L16 18.05 2.65 31.35a1.34 1.34 0 0 1-2 0 1.34 1.34 0 0 1 0-2z"/><path class="validation-icon__valid" d="M8.77 27.59a2.15 2.15 0 0 1-1.45-.86l-6.7-9.07a2.17 2.17 0 0 1 .48-3 2.2 2.2 0 0 1 3.06.47l5.19 7L28.06 3.61a2.19 2.19 0 0 1 3.1 0 2.15 2.15 0 0 1 0 3.07L10.63 27a2.18 2.18 0 0 1-1.71.63z"/></svg>
@@ -0,0 +1 @@
1
+ <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 64"><path d="M32.93 0L1 31.93l31.93 31.92 31.92-31.92z" fill="#231f20"/><path d="M20.26 28.47h3.25v.11h-.2a.64.64 0 0 0-.44.17.55.55 0 0 0-.19.41v5.05a6.44 6.44 0 0 0 .09 1.18v.16h-.1l-5.3-4.68v3.82a.62.62 0 0 0 .63.59h.2v.12H15v-.12h.18a.6.6 0 0 0 .45-.17.55.55 0 0 0 .19-.42v-5.08a5.18 5.18 0 0 0-.1-1.14v-.16h.11L21.08 33v-3.8a.57.57 0 0 0-.17-.42.64.64 0 0 0-.45-.17h-.2zm17 .11h-.09a1 1 0 0 0-.49.15 1 1 0 0 0-.39.44l-2.35 5a6.53 6.53 0 0 0-.54 1.41h-.1l-3.03-6.38a1 1 0 0 0-.88-.62h-.08v-.11h3.38v.1h-.09a.37.37 0 0 0-.33.15.45.45 0 0 0-.11.26.74.74 0 0 0 .05.25L33.82 33l1.66-3.75a.85.85 0 0 0 .05-.25.39.39 0 0 0-.11-.26.37.37 0 0 0-.32-.15H35v-.1h2.3zm13.57 0h-.15a1.08 1.08 0 0 0-.57.17 1.44 1.44 0 0 0-.45.4l-2.05 3.16v2.36a.59.59 0 0 0 .19.43.63.63 0 0 0 .46.18h.13v.12H45.2v-.12h.14a.64.64 0 0 0 .45-.18.63.63 0 0 0 .19-.43v-2.36l-2-3.16a1.21 1.21 0 0 0-.43-.41 1.24 1.24 0 0 0-.59-.16h-.14v-.11h3.51v.11h-.12a.36.36 0 0 0-.32.15.42.42 0 0 0-.1.24.35.35 0 0 0 0 .18l1.53 2.66 1.56-2.66a.34.34 0 0 0 0-.18.42.42 0 0 0-.1-.24.36.36 0 0 0-.32-.15h-.06v-.11h2.47z" fill="#fefefe"/><image width="110" height="16" transform="matrix(.74 0 0 .74 74.66 26)" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG8AAAARCAYAAADT7fLRAAAACXBIWXMAAA7qAAAO6gGjimNxAAAC4ElEQVRYR+2Y4VHjQAyFP91cAS7BJeQ6CBXAVXCmAkIFhAoCFQQqCB0kVJB0AFSAO9D9WBnkzdrr+OZmkpm8GU9srfQsr1ZabURVOeM08SOncMbx4hy8E8Y5eCeMn/5BRCrgjxPtVPWWgRCRKXADFCZq2Tv+GnhU1Q0dMK5LYOLEO1W9FZESuANK4B147uNqICJb4EJV60g+JfKb4N87HUjMVQ3cNjbR+LOqPtEB073k+/2t+RGRmY0DvKrqHABVbV3AFlBgG48NuYCF2StQdPDPczxOf+34ZpH8LfWOHi61908SY3P3njLHlbBZRmNl7HOGqwQ+zebTfxcwNXnVskmQNJO1zr2ww4mvD+oYX3NY8PY+CpjZ8zRnH3Gp45lEY71+d/AVzrdW0AmL+C3HEfHNHNfCybfAKtY/+j1PQxm6t8cCWBFK5r0OKJUdKIC1lavR0FB+H52oAhCRwu6f9626oaoPwMYeZyJSmo8lcJ0yiKN/VJmX8EsZX9Ib+yXf20M1xO8eTp99nyabEZW+oRftSrO2+6uU7tFnnoNfxaWt7rH4AC4IjclSRJYZ/U5oO/sKy5QbQsPRaoyGQEOlafimhCbtJaV7EsGzQN0ROksIq33RaTAANrEXwBOhxN306WfwQOgQIWR1YbKx2Lj71y6lg4J36AoVEd/mNygTshxW9vuLkC0AlbX4o6GqtapeEwI4OpN1f+97GpN1h2Jw8Oys8ZHTI0xEg9ZqFpErQvC8Ti9EZE4oH79tQvy5c/mP5RMAC+B+Q3AYfPb5QP4/9GyWb4RNfM735j7NbbjGUzmelXEsTFbl7B1P0zqvnKxw/jTNRzmAa+Js1qTPoJWN750Dh1zmyzKnl7tonx9XKV9VFTFl4KvM9a3knQ4sB5YRTaZBWJUv2vOvhYf9i1I60U5V64QcAM0cGxIltlbVHRFsDuqhfnqYb0WKdyhs3uLt5j3lTyt4Z5wWBu95Zxwf/gLqp6HNJqa4BgAAAABJRU5ErkJggg==" style="isolation:isolate"/></svg>
@@ -0,0 +1 @@
1
+ <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><path d="M20 0L0 20l20 20 20-20z" fill="#231f20"/><path d="M12 17.79h2v.08a.37.37 0 0 0-.28.1.31.31 0 0 0-.12.26v3.15a3.8 3.8 0 0 0 .06.74v.1h-.06l-3.32-2.93v2.39a.42.42 0 0 0 .12.27.4.4 0 0 0 .28.1h.12v.07h-2v-.07h.12a.4.4 0 0 0 .28-.1.37.37 0 0 0 .11-.27v-3.17a4.67 4.67 0 0 0-.05-.72v-.1h.07l3.3 2.91v-2.37a.36.36 0 0 0-.11-.26.39.39 0 0 0-.28-.1H12zm10.65.08h-.06a.58.58 0 0 0-.3.09.66.66 0 0 0-.25.27l-1.47 3.11a3.76 3.76 0 0 0-.33.88h-.07l-1.92-4a.59.59 0 0 0-.55-.38v-.08h2.12v.07h-.06a.26.26 0 0 0-.21.09.29.29 0 0 0-.06.16.88.88 0 0 0 0 .16l1 2.35 1-2.35a.5.5 0 0 0 0-.16.25.25 0 0 0-.07-.16.23.23 0 0 0-.2-.09h-.06v-.07h1.44zm8.48 0h-.1a.64.64 0 0 0-.35.1.76.76 0 0 0-.28.25l-1.29 2v1.47a.39.39 0 0 0 .13.27.4.4 0 0 0 .29.11h.07v.07h-2v-.07h.09a.41.41 0 0 0 .28-.11.34.34 0 0 0 .12-.27V20.2l-1.27-2a.84.84 0 0 0-.27-.26.81.81 0 0 0-.37-.09h-.09v-.08h2.2v.08h-.08A.23.23 0 0 0 28 18a.29.29 0 0 0-.06.15.2.2 0 0 0 0 .11l1 1.66 1-1.66a.2.2 0 0 0 0-.11.29.29 0 0 0-.06-.15.22.22 0 0 0-.2-.09h-.07v-.08h1.55z" fill="#fefefe"/></svg>
File without changes
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @namespace WORKAREA.alternateImageButtons
3
+ */
4
+ WORKAREA.registerModule('alternateImageButtons', (function () {
5
+ 'use strict';
6
+
7
+ var updateImageButtons = function ($selectedImageButton, $container) {
8
+ var $imageButtons = $(
9
+ '.product-media__alt-image-link',
10
+ $container
11
+ );
12
+
13
+ $imageButtons
14
+ .removeClass('product-media__alt-image-link--selected');
15
+
16
+ $selectedImageButton
17
+ .addClass('product-media__alt-image-link--selected');
18
+ },
19
+
20
+ updatePrimaryImageButton = function ($selectedImageButton, $container) {
21
+ var $primaryImageButton = $(
22
+ '.product-media__primary-image-link', $container
23
+ ),
24
+ zoomImageSrc = $selectedImageButton.attr('href');
25
+
26
+ $primaryImageButton.attr('href', zoomImageSrc);
27
+ },
28
+
29
+ updatePrimaryImage = function ($selectedImageButton, $container) {
30
+ var $primaryImage = $(
31
+ '.product-media__primary-image-link-image', $container
32
+ ),
33
+ imageData = $selectedImageButton.data('alternateImageButton'),
34
+ detailImageSrc = imageData.src;
35
+
36
+ $primaryImage.attr('src', detailImageSrc);
37
+ },
38
+
39
+ handleImageResponse = function ($selectedImageButton, $container) {
40
+ updateImageButtons($selectedImageButton, $container);
41
+ updatePrimaryImageButton($selectedImageButton, $container);
42
+ updatePrimaryImage($selectedImageButton, $container);
43
+ },
44
+
45
+ handleImageButtonClick = function (event) {
46
+ var $selectedImageButton = $(event.currentTarget),
47
+ $details = $selectedImageButton.closest('.product-details'),
48
+ $primaryImage = $('.product-media__primary-image', $details),
49
+ imageData = $selectedImageButton.data('alternateImageButton'),
50
+ detailImageSrc = imageData.src,
51
+ gettingImage = WORKAREA.image.get(detailImageSrc);
52
+
53
+ event.preventDefault();
54
+
55
+ WORKAREA.loading.createLoadingIndicator(gettingImage, {
56
+ container: $primaryImage,
57
+ cssModifiers: 'loading--fill-parent'
58
+ });
59
+
60
+ gettingImage.done(
61
+ _.partial(handleImageResponse, $selectedImageButton, $details)
62
+ );
63
+ },
64
+
65
+ /**
66
+ * @method
67
+ * @name init
68
+ * @memberof WORKAREA.alternateImageButtons
69
+ */
70
+ init = function ($scope) {
71
+ $('[data-alternate-image-button]', $scope)
72
+ .on('click', handleImageButtonClick);
73
+ };
74
+
75
+ return {
76
+ init: init
77
+ };
78
+ }()));
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @namespace WORKAREA.mobileFilterButtons
3
+ *
4
+ * A clone of WORKAREA.mobileNavButton
5
+ */
6
+ WORKAREA.registerModule('mobileFilterButtons', (function () {
7
+ 'use strict';
8
+
9
+ var closeButton = JST['workarea/storefront/templates/mobile_filters_nav_close_button'],
10
+
11
+ deactivate = function ($nav) {
12
+ $nav
13
+ .removeClass('mobile-filters-nav--active mobile-filters-nav--closing')
14
+ .off(WORKAREA.transitionEvents.detect());
15
+ },
16
+
17
+ activate = function ($nav) {
18
+ $nav.addClass('mobile-filters-nav--active');
19
+ },
20
+
21
+ close = function ($nav, event) {
22
+ event.preventDefault();
23
+ $nav.addClass('mobile-filters-nav--closing');
24
+ if (WORKAREA.environment.isTest) {
25
+ // Animations are disabled in test, transition event will never fire
26
+ deactivate($nav);
27
+ } else {
28
+ $nav.on(WORKAREA.transitionEvents.detect(), _.partial(deactivate, $nav));
29
+ }
30
+ },
31
+
32
+ addCloseButton = function ($nav) {
33
+ var $button = $(closeButton({
34
+ content: I18n.t('workarea.storefront.products.filter_nav_close_button')
35
+ }));
36
+
37
+ $button.on('click', _.partial(close, $nav));
38
+
39
+ $nav.prepend($button);
40
+ },
41
+
42
+ inject = function () {
43
+ var $nav = $('<div class="mobile-filters-nav" id="mobile_filters_nav" />'),
44
+ $content = $('#aside-content');
45
+
46
+ $nav.append($content);
47
+
48
+ addCloseButton($nav);
49
+
50
+ $('body').append($nav);
51
+
52
+ _.defer(activate, $nav);
53
+ },
54
+
55
+ openMobileFilters = function (event) {
56
+ event.preventDefault();
57
+
58
+ if (_.isEmpty($('#mobile_filters_nav'))) {
59
+ inject();
60
+ } else {
61
+ activate($('#mobile_filters_nav'));
62
+ }
63
+ },
64
+
65
+ testBodyClick = function (event) {
66
+ var $target = $(event.target),
67
+ $nav = $('#mobile_filters_nav'),
68
+ $navButton = $('[data-mobile-filter-button]'),
69
+
70
+ navIsActive = $nav.hasClass('mobile-filters-nav--active'),
71
+ clickIsOutsideNav = _.isEmpty($target.closest($nav).addBack($nav)),
72
+ clickIsNavButton = ! _.isEmpty($target.closest($navButton).addBack($navButton));
73
+
74
+ if (navIsActive && clickIsOutsideNav && ( ! clickIsNavButton)) {
75
+ close($nav, event);
76
+ }
77
+ },
78
+
79
+ /**
80
+ * @method
81
+ * @name init
82
+ * @memberof WORKAREA.mobileFilterButtons
83
+ */
84
+ init = function ($scope) {
85
+ $('[data-mobile-filter-button]', $scope)
86
+ .on('click', openMobileFilters);
87
+ };
88
+
89
+ $('body').on('click.mobileFilterButtons', testBodyClick);
90
+
91
+ return {
92
+ init: init
93
+ };
94
+ }()));
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @namespace WORKAREA.mobileNavButton
3
+ *
4
+ * A clone of WORKAREA.mobileFilterButtons
5
+ */
6
+ WORKAREA.registerModule('mobileNavButton', (function () {
7
+ 'use strict';
8
+
9
+ var replaceNavigation = function ($mobileNav, response) {
10
+ var $navigation = $(response);
11
+
12
+ WORKAREA.initModules($navigation);
13
+
14
+ $mobileNav.empty().append($navigation);
15
+ },
16
+
17
+ requestNav = function (event) {
18
+ var $mobileNav = $(event.delegateTarget);
19
+
20
+ event.preventDefault();
21
+
22
+ $.get(event.currentTarget.href)
23
+ .done(_.partial(replaceNavigation, $mobileNav));
24
+ },
25
+
26
+ bindNavigationActions = function ($mobileNav) {
27
+ $mobileNav
28
+ .on('click', '.mobile-nav__back-button', requestNav)
29
+ .on('click', '.mobile-nav__item--has-children a', requestNav)
30
+ .on('click', '.mobile-nav__close-button', function (event) {
31
+ event.preventDefault();
32
+ deactivateMobileNav($(event.delegateTarget), $('#overlay'));
33
+ });
34
+ },
35
+
36
+ deactivateMobileNav = function ($mobileNav, $overlay) {
37
+ $mobileNav.removeClass('mobile-nav--active');
38
+ $overlay.removeClass('overlay--active');
39
+ },
40
+
41
+ activateMobileNav = function ($mobileNav, $overlay) {
42
+ $mobileNav.addClass('mobile-nav--active');
43
+ $overlay.addClass('overlay--active');
44
+ },
45
+
46
+ injectMobileNav = function (response) {
47
+ var $mobileNav = $('<div class="mobile-nav" id="mobile_nav" />'),
48
+ $overlay = $('<div class="overlay" id="overlay"/>');
49
+
50
+ $mobileNav.append(response);
51
+
52
+ WORKAREA.initModules($mobileNav);
53
+
54
+ activateMobileNav($mobileNav, $overlay);
55
+ bindNavigationActions($mobileNav);
56
+
57
+ $('body').append($overlay, $mobileNav);
58
+ },
59
+
60
+ requestMobileNav = function (href) {
61
+ $.get(href).done(injectMobileNav);
62
+ },
63
+
64
+ openMobileNav = function (event) {
65
+ event.preventDefault();
66
+
67
+ if (_.isEmpty($('#mobile_nav'))) {
68
+ requestMobileNav(event.currentTarget.href);
69
+ } else {
70
+ activateMobileNav($('#mobile_nav'), $('#overlay'));
71
+ }
72
+ },
73
+
74
+ testBodyClick = function (event) {
75
+ var $target = $(event.target),
76
+ $mobileNav = $('#mobile_nav'),
77
+ $navButton = $('#mobile_nav_button'),
78
+ $overlay = $('#overlay'),
79
+
80
+ navIsActive = $mobileNav.hasClass('mobile-nav--active'),
81
+ clickIsOutsideNav = _.isEmpty($target.closest($mobileNav).addBack($mobileNav)),
82
+ clickIsNavButton = ! _.isEmpty($target.closest($navButton).addBack($navButton));
83
+
84
+ if (navIsActive && clickIsOutsideNav && ( ! clickIsNavButton)) {
85
+ event.preventDefault();
86
+ deactivateMobileNav($mobileNav, $overlay);
87
+ }
88
+ },
89
+
90
+ /**
91
+ * @method
92
+ * @name init
93
+ * @memberof WORKAREA.mobileNavButton
94
+ */
95
+ init = function ($scope) {
96
+ $('#mobile_nav_button', $scope).on('click', openMobileNav);
97
+ };
98
+
99
+ $('body').on('click.mobileNavButton', testBodyClick);
100
+
101
+ return {
102
+ init: init
103
+ };
104
+ }()));