workarea-haven_theme 1.3.0

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 (468) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +16 -0
  3. data/.eslintignore +1 -0
  4. data/.eslintrc +25 -0
  5. data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
  6. data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
  7. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  8. data/.github/workflows/ci.yml +60 -0
  9. data/.gitignore +23 -0
  10. data/.rubocop.yml +3 -0
  11. data/.scss-lint.yml +192 -0
  12. data/.stylelintrc.json +8 -0
  13. data/CHANGELOG.md +1847 -0
  14. data/Gemfile +24 -0
  15. data/README.md +199 -0
  16. data/Rakefile +60 -0
  17. data/app/assets/fonts/workarea/storefront/hind/hind_bold_webfont.woff +0 -0
  18. data/app/assets/fonts/workarea/storefront/hind/hind_bold_webfont.woff2 +0 -0
  19. data/app/assets/fonts/workarea/storefront/hind/hind_regular_webfont.woff +0 -0
  20. data/app/assets/fonts/workarea/storefront/hind/hind_regular_webfont.woff2 +0 -0
  21. data/app/assets/fonts/workarea/storefront/lora/lora_bold_webfont.woff +0 -0
  22. data/app/assets/fonts/workarea/storefront/lora/lora_bold_webfont.woff2 +0 -0
  23. data/app/assets/fonts/workarea/storefront/lora/lora_bolditalic_webfont.woff +0 -0
  24. data/app/assets/fonts/workarea/storefront/lora/lora_bolditalic_webfont.woff2 +0 -0
  25. data/app/assets/fonts/workarea/storefront/lora/lora_italic_webfont.woff +0 -0
  26. data/app/assets/fonts/workarea/storefront/lora/lora_italic_webfont.woff2 +0 -0
  27. data/app/assets/fonts/workarea/storefront/lora/lora_regular_webfont.woff +0 -0
  28. data/app/assets/fonts/workarea/storefront/lora/lora_regular_webfont.woff2 +0 -0
  29. data/app/assets/fonts/workarea/storefront/muli/muli_bold_webfont.woff +0 -0
  30. data/app/assets/fonts/workarea/storefront/muli/muli_bold_webfont.woff2 +0 -0
  31. data/app/assets/fonts/workarea/storefront/muli/muli_bolditalic_webfont.woff +0 -0
  32. data/app/assets/fonts/workarea/storefront/muli/muli_bolditalic_webfont.woff2 +0 -0
  33. data/app/assets/fonts/workarea/storefront/muli/muli_italic_webfont.woff +0 -0
  34. data/app/assets/fonts/workarea/storefront/muli/muli_italic_webfont.woff2 +0 -0
  35. data/app/assets/fonts/workarea/storefront/muli/muli_regular_webfont.woff +0 -0
  36. data/app/assets/fonts/workarea/storefront/muli/muli_regular_webfont.woff2 +0 -0
  37. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_bold_webfont.woff +0 -0
  38. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_bold_webfont.woff2 +0 -0
  39. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_bolditalic_webfont.woff +0 -0
  40. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_bolditalic_webfont.woff2 +0 -0
  41. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_italic_webfont.woff +0 -0
  42. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_italic_webfont.woff2 +0 -0
  43. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_regular_webfont.woff +0 -0
  44. data/app/assets/fonts/workarea/storefront/playfair_display/playfairdisplay_regular_webfont.woff2 +0 -0
  45. data/app/assets/fonts/workarea/storefront/poppins/poppins_300.woff +0 -0
  46. data/app/assets/fonts/workarea/storefront/poppins/poppins_300.woff2 +0 -0
  47. data/app/assets/fonts/workarea/storefront/poppins/poppins_500.woff +0 -0
  48. data/app/assets/fonts/workarea/storefront/poppins/poppins_500.woff2 +0 -0
  49. data/app/assets/fonts/workarea/storefront/poppins/poppins_700.woff +0 -0
  50. data/app/assets/fonts/workarea/storefront/poppins/poppins_700.woff2 +0 -0
  51. data/app/assets/fonts/workarea/storefront/poppins/poppins_regular.woff +0 -0
  52. data/app/assets/fonts/workarea/storefront/poppins/poppins_regular.woff2 +0 -0
  53. data/app/assets/fonts/workarea/storefront/pt_serif/pt_serif_700.woff +0 -0
  54. data/app/assets/fonts/workarea/storefront/pt_serif/pt_serif_700.woff2 +0 -0
  55. data/app/assets/fonts/workarea/storefront/pt_serif/pt_serif_regular.woff +0 -0
  56. data/app/assets/fonts/workarea/storefront/pt_serif/pt_serif_regular.woff2 +0 -0
  57. data/app/assets/fonts/workarea/storefront/roboto/roboto_bold_webfont.woff +0 -0
  58. data/app/assets/fonts/workarea/storefront/roboto/roboto_bold_webfont.woff2 +0 -0
  59. data/app/assets/fonts/workarea/storefront/roboto/roboto_italic_webfont.woff +0 -0
  60. data/app/assets/fonts/workarea/storefront/roboto/roboto_italic_webfont.woff2 +0 -0
  61. data/app/assets/fonts/workarea/storefront/roboto/roboto_regular_webfont.woff +0 -0
  62. data/app/assets/fonts/workarea/storefront/roboto/roboto_regular_webfont.woff2 +0 -0
  63. data/app/assets/fonts/workarea/storefront/source_serif_pro/source_serif_pro_bold_webfont.woff +0 -0
  64. data/app/assets/fonts/workarea/storefront/source_serif_pro/source_serif_pro_bold_webfont.woff2 +0 -0
  65. data/app/assets/fonts/workarea/storefront/source_serif_pro/source_serif_pro_regular_webfont.woff +0 -0
  66. data/app/assets/fonts/workarea/storefront/source_serif_pro/source_serif_pro_regular_webfont.woff2 +0 -0
  67. data/app/assets/images/workarea/core/product_placeholder.jpg +0 -0
  68. data/app/assets/images/workarea/storefront/dialog_close.svg +1 -0
  69. data/app/assets/images/workarea/storefront/favicon.ico +0 -0
  70. data/app/assets/images/workarea/storefront/icons/account.svg +1 -0
  71. data/app/assets/images/workarea/storefront/icons/arrow_down.svg +1 -0
  72. data/app/assets/images/workarea/storefront/icons/arrow_left.svg +1 -0
  73. data/app/assets/images/workarea/storefront/icons/arrow_right.svg +1 -0
  74. data/app/assets/images/workarea/storefront/icons/arrow_up.svg +1 -0
  75. data/app/assets/images/workarea/storefront/icons/cart.svg +1 -0
  76. data/app/assets/images/workarea/storefront/icons/checkmark.svg +1 -0
  77. data/app/assets/images/workarea/storefront/icons/email.svg +1 -0
  78. data/app/assets/images/workarea/storefront/icons/empty_star.svg +1 -0
  79. data/app/assets/images/workarea/storefront/icons/eye.svg +1 -0
  80. data/app/assets/images/workarea/storefront/icons/facebook.svg +1 -0
  81. data/app/assets/images/workarea/storefront/icons/half_star.svg +1 -0
  82. data/app/assets/images/workarea/storefront/icons/lock.svg +1 -0
  83. data/app/assets/images/workarea/storefront/icons/long_arrow.svg +1 -0
  84. data/app/assets/images/workarea/storefront/icons/menu.svg +1 -0
  85. data/app/assets/images/workarea/storefront/icons/minus.svg +1 -0
  86. data/app/assets/images/workarea/storefront/icons/plus.svg +1 -0
  87. data/app/assets/images/workarea/storefront/icons/search.svg +1 -0
  88. data/app/assets/images/workarea/storefront/icons/share.svg +1 -0
  89. data/app/assets/images/workarea/storefront/icons/twitter.svg +1 -0
  90. data/app/assets/images/workarea/storefront/icons/x.svg +1 -0
  91. data/app/assets/images/workarea/storefront/logo.png +0 -0
  92. data/app/assets/images/workarea/storefront/style_guide_product.jpg +0 -0
  93. data/app/assets/images/workarea/storefront/style_guide_product_retina.jpg +0 -0
  94. data/app/assets/javascripts/workarea/storefront/haven_theme/config.js +44 -0
  95. data/app/assets/javascripts/workarea/storefront/modules/address_region_fields.js +93 -0
  96. data/app/assets/javascripts/workarea/storefront/modules/checkout_primary_payments.js +130 -0
  97. data/app/assets/javascripts/workarea/storefront/modules/expandable_filters.js +50 -0
  98. data/app/assets/javascripts/workarea/storefront/modules/mobile_filter_buttons.js +89 -0
  99. data/app/assets/javascripts/workarea/storefront/modules/mobile_nav_button.js +104 -0
  100. data/app/assets/javascripts/workarea/storefront/modules/product_detail_tabs.js +59 -0
  101. data/app/assets/javascripts/workarea/storefront/modules/quantity_control.js +56 -0
  102. data/app/assets/javascripts/workarea/storefront/modules/search_buttons.js +56 -0
  103. data/app/assets/javascripts/workarea/storefront/modules/toggle_class_button.js +43 -0
  104. data/app/assets/javascripts/workarea/storefront/modules/user_welcome_placeholder.js +38 -0
  105. data/app/assets/javascripts/workarea/storefront/reviews/modules/product_reviews_sort_menus.js +82 -0
  106. data/app/assets/javascripts/workarea/storefront/reviews/templates/sort_by_property.jst.ejs +13 -0
  107. data/app/assets/javascripts/workarea/storefront/templates/back_to_top_button.jst.ejs +3 -0
  108. data/app/assets/javascripts/workarea/storefront/templates/log_out_link.jst.ejs +1 -0
  109. data/app/assets/javascripts/workarea/storefront/templates/mobile_filters_nav_close_button.jst.ejs +3 -0
  110. data/app/assets/javascripts/workarea/storefront/templates/optional_field_prompt.jst.ejs +8 -0
  111. data/app/assets/javascripts/workarea/storefront/templates/saved_addresses_property.jst.ejs +23 -0
  112. data/app/assets/javascripts/workarea/storefront/templates/ui_menu_item.jst.ejs +9 -0
  113. data/app/assets/javascripts/workarea/storefront/templates/user_welcome.jst.ejs +7 -0
  114. data/app/assets/stylesheets/haven_theme/.keep +0 -0
  115. data/app/assets/stylesheets/jquery_ui/storefront/_ui_autocomplete.scss +13 -0
  116. data/app/assets/stylesheets/jquery_ui/storefront/_ui_dialog.scss +168 -0
  117. data/app/assets/stylesheets/jquery_ui/storefront/_ui_menu.scss +133 -0
  118. data/app/assets/stylesheets/jquery_ui/storefront/_ui_state_focus.scss +7 -0
  119. data/app/assets/stylesheets/jquery_ui/storefront/_ui_widget_overlay.scss +15 -0
  120. data/app/assets/stylesheets/workarea/product_badges/components/_badges.scss +83 -0
  121. data/app/assets/stylesheets/workarea/product_grid_content/components/_product_grid_cell_content_block.scss +32 -0
  122. data/app/assets/stylesheets/workarea/storefront/base/_forms.scss +224 -0
  123. data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry.scss +127 -0
  124. data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry_summary.scss +166 -0
  125. data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_index.scss +25 -0
  126. data/app/assets/stylesheets/workarea/storefront/blog/components/_featured_entry_content_block.scss +9 -0
  127. data/app/assets/stylesheets/workarea/storefront/components/_account_menu.scss +50 -0
  128. data/app/assets/stylesheets/workarea/storefront/components/_add_to_cart.scss +51 -0
  129. data/app/assets/stylesheets/workarea/storefront/components/_back_to_top_button.scss +30 -0
  130. data/app/assets/stylesheets/workarea/storefront/components/_box.scss +44 -0
  131. data/app/assets/stylesheets/workarea/storefront/components/_breadcrumbs.scss +53 -0
  132. data/app/assets/stylesheets/workarea/storefront/components/_button.scss +153 -0
  133. data/app/assets/stylesheets/workarea/storefront/components/_button_property.scss +46 -0
  134. data/app/assets/stylesheets/workarea/storefront/components/_cart.scss +85 -0
  135. data/app/assets/stylesheets/workarea/storefront/components/_category_summary_content_block.scss +27 -0
  136. data/app/assets/stylesheets/workarea/storefront/components/_checkout_addresses.scss +21 -0
  137. data/app/assets/stylesheets/workarea/storefront/components/_checkout_confirmation.scss +57 -0
  138. data/app/assets/stylesheets/workarea/storefront/components/_checkout_payment.scss +80 -0
  139. data/app/assets/stylesheets/workarea/storefront/components/_checkout_progress.scss +149 -0
  140. data/app/assets/stylesheets/workarea/storefront/components/_checkout_shipping.scss +15 -0
  141. data/app/assets/stylesheets/workarea/storefront/components/_checkout_step_summary.scss +81 -0
  142. data/app/assets/stylesheets/workarea/storefront/components/_color_box.scss +83 -0
  143. data/app/assets/stylesheets/workarea/storefront/components/_content_block.scss +56 -0
  144. data/app/assets/stylesheets/workarea/storefront/components/_data_card.scss +70 -0
  145. data/app/assets/stylesheets/workarea/storefront/components/_divider_content_block.scss +39 -0
  146. data/app/assets/stylesheets/workarea/storefront/components/_email_signup.scss +61 -0
  147. data/app/assets/stylesheets/workarea/storefront/components/_email_signup_view.scss +18 -0
  148. data/app/assets/stylesheets/workarea/storefront/components/_hero_content_block.scss +77 -0
  149. data/app/assets/stylesheets/workarea/storefront/components/_image_and_text_content_block.scss +29 -0
  150. data/app/assets/stylesheets/workarea/storefront/components/_image_content_block.scss +16 -0
  151. data/app/assets/stylesheets/workarea/storefront/components/_image_group_content_block.scss +9 -0
  152. data/app/assets/stylesheets/workarea/storefront/components/_loading.scss +92 -0
  153. data/app/assets/stylesheets/workarea/storefront/components/_login.scss +47 -0
  154. data/app/assets/stylesheets/workarea/storefront/components/_mobile_filters.scss +51 -0
  155. data/app/assets/stylesheets/workarea/storefront/components/_mobile_filters_nav.scss +42 -0
  156. data/app/assets/stylesheets/workarea/storefront/components/_mobile_nav.scss +120 -0
  157. data/app/assets/stylesheets/workarea/storefront/components/_option_button.scss +48 -0
  158. data/app/assets/stylesheets/workarea/storefront/components/_order_details.scss +55 -0
  159. data/app/assets/stylesheets/workarea/storefront/components/_order_summary.scss +34 -0
  160. data/app/assets/stylesheets/workarea/storefront/components/_overlay.scss +20 -0
  161. data/app/assets/stylesheets/workarea/storefront/components/_page_content.scss +96 -0
  162. data/app/assets/stylesheets/workarea/storefront/components/_page_footer.scss +53 -0
  163. data/app/assets/stylesheets/workarea/storefront/components/_page_header.scss +208 -0
  164. data/app/assets/stylesheets/workarea/storefront/components/_pagination.scss +12 -0
  165. data/app/assets/stylesheets/workarea/storefront/components/_payment_icon.scss +37 -0
  166. data/app/assets/stylesheets/workarea/storefront/components/_personalized_recommendations_content_block.scss +19 -0
  167. data/app/assets/stylesheets/workarea/storefront/components/_primary_nav.scss +75 -0
  168. data/app/assets/stylesheets/workarea/storefront/components/_product_detail_container.scss +177 -0
  169. data/app/assets/stylesheets/workarea/storefront/components/_product_details.scss +105 -0
  170. data/app/assets/stylesheets/workarea/storefront/components/_product_insights_content_block.scss +22 -0
  171. data/app/assets/stylesheets/workarea/storefront/components/_product_list.scss +186 -0
  172. data/app/assets/stylesheets/workarea/storefront/components/_product_list_content_block.scss +22 -0
  173. data/app/assets/stylesheets/workarea/storefront/components/_product_media.scss +70 -0
  174. data/app/assets/stylesheets/workarea/storefront/components/_product_prices.scss +82 -0
  175. data/app/assets/stylesheets/workarea/storefront/components/_product_summary.scss +104 -0
  176. data/app/assets/stylesheets/workarea/storefront/components/_property.scss +71 -0
  177. data/app/assets/stylesheets/workarea/storefront/components/_quantity_control.scss +101 -0
  178. data/app/assets/stylesheets/workarea/storefront/components/_quote_content_block.scss +42 -0
  179. data/app/assets/stylesheets/workarea/storefront/components/_recent_views.scss +46 -0
  180. data/app/assets/stylesheets/workarea/storefront/components/_recommendations.scss +31 -0
  181. data/app/assets/stylesheets/workarea/storefront/components/_result_filters.scss.erb +203 -0
  182. data/app/assets/stylesheets/workarea/storefront/components/_search.scss +64 -0
  183. data/app/assets/stylesheets/workarea/storefront/components/_search_no_results.scss +34 -0
  184. data/app/assets/stylesheets/workarea/storefront/components/_secondary_nav.scss +58 -0
  185. data/app/assets/stylesheets/workarea/storefront/components/_social_networks_content_block.scss +46 -0
  186. data/app/assets/stylesheets/workarea/storefront/components/_svg_icon.scss +80 -0
  187. data/app/assets/stylesheets/workarea/storefront/components/_table.scss +57 -0
  188. data/app/assets/stylesheets/workarea/storefront/components/_taxonomy_content_block.scss +138 -0
  189. data/app/assets/stylesheets/workarea/storefront/components/_text_box.scss +82 -0
  190. data/app/assets/stylesheets/workarea/storefront/components/_text_content_block.scss +5 -0
  191. data/app/assets/stylesheets/workarea/storefront/components/_value.scss +85 -0
  192. data/app/assets/stylesheets/workarea/storefront/components/_video_and_text_content_block.scss +42 -0
  193. data/app/assets/stylesheets/workarea/storefront/content_search/components/_search_autocomplete.scss +20 -0
  194. data/app/assets/stylesheets/workarea/storefront/email/_settings.scss +23 -0
  195. data/app/assets/stylesheets/workarea/storefront/generic/_fonts.scss.erb +11 -0
  196. data/app/assets/stylesheets/workarea/storefront/objects/_content_wrapper.scss +19 -0
  197. data/app/assets/stylesheets/workarea/storefront/package_products/components/_product_detail_packaged_products.scss +29 -0
  198. data/app/assets/stylesheets/workarea/storefront/product_quickview/components/_quickview_button.scss +22 -0
  199. data/app/assets/stylesheets/workarea/storefront/reviews/components/_rating.scss +41 -0
  200. data/app/assets/stylesheets/workarea/storefront/reviews/components/_reviews.scss +93 -0
  201. data/app/assets/stylesheets/workarea/storefront/reviews/components/_reviews_aggregate.scss +54 -0
  202. data/app/assets/stylesheets/workarea/storefront/reviews/components/_write_review.scss +65 -0
  203. data/app/assets/stylesheets/workarea/storefront/search_autocomplete/components/_search_autocomplete.scss +56 -0
  204. data/app/assets/stylesheets/workarea/storefront/settings/_colors.scss.erb +17 -0
  205. data/app/assets/stylesheets/workarea/storefront/settings/_font_families.scss.erb +6 -0
  206. data/app/assets/stylesheets/workarea/storefront/settings/_global.scss +36 -0
  207. data/app/assets/stylesheets/workarea/storefront/settings/_typography.scss +19 -0
  208. data/app/assets/stylesheets/workarea/storefront/settings/_z_indexes.scss +39 -0
  209. data/app/assets/stylesheets/workarea/storefront/share/components/_share_buttons.scss +139 -0
  210. data/app/assets/stylesheets/workarea/storefront/slick_slider/components/_slick_slider.scss +140 -0
  211. data/app/assets/stylesheets/workarea/storefront/swatches/components/_swatch_facet.scss +37 -0
  212. data/app/assets/stylesheets/workarea/storefront/swatches/components/_swatch_options.scss +79 -0
  213. data/app/assets/stylesheets/workarea/storefront/theme/_style_guide.scss +9 -0
  214. data/app/assets/stylesheets/workarea/storefront/theme_config/color_schemes/_haven_color_scheme.scss +276 -0
  215. data/app/assets/stylesheets/workarea/storefront/theme_config/color_schemes/_lagoon_color_scheme.scss +279 -0
  216. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_hind.scss +21 -0
  217. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_lora.scss +37 -0
  218. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_muli.scss +37 -0
  219. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_playfair_display.scss +37 -0
  220. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_poppins.scss +40 -0
  221. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_pt_serif.scss +22 -0
  222. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_roboto.scss +29 -0
  223. data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_source_serif_pro.scss +21 -0
  224. data/app/assets/stylesheets/workarea/storefront/tools/_focus_ring.scss +22 -0
  225. data/app/assets/stylesheets/workarea/storefront/tools/_full_bleed_container.scss +15 -0
  226. data/app/assets/stylesheets/workarea/storefront/typography/_headings.scss +144 -0
  227. data/app/assets/stylesheets/workarea/storefront/typography/_links.scss +47 -0
  228. data/app/assets/stylesheets/workarea/storefront/typography/_text.scss +45 -0
  229. data/app/assets/stylesheets/workarea/styled_selects/components/_styled_select.scss +64 -0
  230. data/app/helpers/workarea/storefront/applied_facets_helper.rb +30 -0
  231. data/app/helpers/workarea/storefront/haven_blog_helper.rb +12 -0
  232. data/app/helpers/workarea/storefront/haven_swatches_helper.rb +24 -0
  233. data/app/helpers/workarea/storefront/product_media_slider_helper.rb +37 -0
  234. data/app/helpers/workarea/storefront/product_retina_image_srcset_helper.rb +9 -0
  235. data/app/seeds/workarea/haven_categories_seeds.rb +42 -0
  236. data/app/seeds/workarea/haven_demo_product_seeds.rb +94 -0
  237. data/app/seeds/workarea/theme_layout_content_seeds.rb +59 -0
  238. data/app/view_models/workarea/storefront/blog_entry_view_model.decorator +11 -0
  239. data/app/view_models/workarea/storefront/cart_content.rb +19 -0
  240. data/app/view_models/workarea/storefront/cart_view_model.decorator +7 -0
  241. data/app/view_models/workarea/storefront/content_blocks/hero_view_model.decorator +19 -0
  242. data/app/view_models/workarea/storefront/content_blocks/product_grid_cell_view_model.decorator +11 -0
  243. data/app/view_models/workarea/storefront/product_view_model.decorator +19 -0
  244. data/app/views/layouts/workarea/storefront/application.html.haml +194 -0
  245. data/app/views/layouts/workarea/storefront/checkout.html.haml +82 -0
  246. data/app/views/workarea/storefront/blog_comments/index.html.haml +29 -0
  247. data/app/views/workarea/storefront/blog_entries/_summary.html.haml +32 -0
  248. data/app/views/workarea/storefront/blog_entries/show.html.haml +84 -0
  249. data/app/views/workarea/storefront/blogs/_blog_navigation.html.haml +9 -0
  250. data/app/views/workarea/storefront/blogs/index.html.haml +25 -0
  251. data/app/views/workarea/storefront/blogs/show.html.haml +31 -0
  252. data/app/views/workarea/storefront/cart_items/create.html.haml +76 -0
  253. data/app/views/workarea/storefront/cart_items/package.html.haml +64 -0
  254. data/app/views/workarea/storefront/carts/_pricing.html.haml +12 -0
  255. data/app/views/workarea/storefront/carts/show.html.haml +172 -0
  256. data/app/views/workarea/storefront/categories/show.html.haml +131 -0
  257. data/app/views/workarea/storefront/checkouts/_checkout_progress.html.haml +26 -0
  258. data/app/views/workarea/storefront/checkouts/_gift_card_payment.html.haml +34 -0
  259. data/app/views/workarea/storefront/checkouts/_summary.html.haml +175 -0
  260. data/app/views/workarea/storefront/checkouts/addresses.html.haml +56 -0
  261. data/app/views/workarea/storefront/checkouts/confirmation.html.haml +56 -0
  262. data/app/views/workarea/storefront/checkouts/payment.html.haml +110 -0
  263. data/app/views/workarea/storefront/content_blocks/_blog_entry.html.haml +5 -0
  264. data/app/views/workarea/storefront/content_blocks/_category_summary.html.haml +16 -0
  265. data/app/views/workarea/storefront/content_blocks/_hero.html.haml +3 -0
  266. data/app/views/workarea/storefront/content_blocks/_product_grid_cell.html.haml +25 -0
  267. data/app/views/workarea/storefront/content_blocks/_product_insights.html.haml +12 -0
  268. data/app/views/workarea/storefront/content_blocks/_product_list.html.haml +12 -0
  269. data/app/views/workarea/storefront/content_blocks/_social_networks.html.haml +17 -0
  270. data/app/views/workarea/storefront/content_blocks/_taxonomy.html.haml +27 -0
  271. data/app/views/workarea/storefront/content_blocks/_three_column_taxonomy.html.haml +28 -0
  272. data/app/views/workarea/storefront/content_blocks/_two_column_taxonomy.html.haml +28 -0
  273. data/app/views/workarea/storefront/email_signups/_form.html.haml +9 -0
  274. data/app/views/workarea/storefront/email_signups/show.html.haml +8 -0
  275. data/app/views/workarea/storefront/facets/_applied.html.haml +13 -0
  276. data/app/views/workarea/storefront/facets/_range.html.haml +15 -0
  277. data/app/views/workarea/storefront/facets/_swatches.html.haml +16 -0
  278. data/app/views/workarea/storefront/facets/_terms.html.haml +15 -0
  279. data/app/views/workarea/storefront/menus/show.html.haml +10 -0
  280. data/app/views/workarea/storefront/orders/_details.haml +143 -0
  281. data/app/views/workarea/storefront/orders/_summary.html.haml +75 -0
  282. data/app/views/workarea/storefront/orders/index.html.haml +47 -0
  283. data/app/views/workarea/storefront/orders/show.html.haml +19 -0
  284. data/app/views/workarea/storefront/products/_media.html.haml +42 -0
  285. data/app/views/workarea/storefront/products/_pricing.html.haml +34 -0
  286. data/app/views/workarea/storefront/products/_rating.html.haml +9 -0
  287. data/app/views/workarea/storefront/products/_reviews.html.haml +34 -0
  288. data/app/views/workarea/storefront/products/_reviews_aggregate.html.haml +13 -0
  289. data/app/views/workarea/storefront/products/_summary.html.haml +16 -0
  290. data/app/views/workarea/storefront/products/_swatch_summary.html.haml +20 -0
  291. data/app/views/workarea/storefront/products/_video_thumbnail.html.haml +11 -0
  292. data/app/views/workarea/storefront/products/package_show.html.haml +50 -0
  293. data/app/views/workarea/storefront/products/show.html.haml +95 -0
  294. data/app/views/workarea/storefront/products/templates/_family.html.haml +28 -0
  295. data/app/views/workarea/storefront/products/templates/_generic.html.haml +57 -0
  296. data/app/views/workarea/storefront/products/templates/_gift_card.html.haml +68 -0
  297. data/app/views/workarea/storefront/products/templates/_option_selects.html.haml +59 -0
  298. data/app/views/workarea/storefront/products/templates/_option_thumbnails.html.haml +66 -0
  299. data/app/views/workarea/storefront/products/templates/_package.html.haml +22 -0
  300. data/app/views/workarea/storefront/products/templates/_swatches.html.haml +72 -0
  301. data/app/views/workarea/storefront/recent_views/show.html.haml +21 -0
  302. data/app/views/workarea/storefront/recommendations/show.html.haml +13 -0
  303. data/app/views/workarea/storefront/reviews/new.html.haml +71 -0
  304. data/app/views/workarea/storefront/searches/autocomplete.html.haml +35 -0
  305. data/app/views/workarea/storefront/searches/content.html.haml +72 -0
  306. data/app/views/workarea/storefront/searches/no_results.html.haml +33 -0
  307. data/app/views/workarea/storefront/searches/show.html.haml +118 -0
  308. data/app/views/workarea/storefront/shared/_address_fields.html.haml +99 -0
  309. data/app/views/workarea/storefront/shared/_left_navigation.html.haml +26 -0
  310. data/app/views/workarea/storefront/shares/_share_buttons.html.haml +19 -0
  311. data/app/views/workarea/storefront/shares/new.html.haml +53 -0
  312. data/app/views/workarea/storefront/style_guides/components/_button.html.haml +100 -0
  313. data/app/views/workarea/storefront/style_guides/components/_data_card.html.haml +218 -0
  314. data/app/views/workarea/storefront/style_guides/components/_mobile_filters.html.haml +146 -0
  315. data/app/views/workarea/storefront/style_guides/components/_personalized_recommendations_content_block.html.haml +34 -0
  316. data/app/views/workarea/storefront/style_guides/components/_product_insights_content_block.html.haml +34 -0
  317. data/app/views/workarea/storefront/style_guides/components/_product_list.html.haml +222 -0
  318. data/app/views/workarea/storefront/style_guides/components/_product_list_content_block.html.haml +34 -0
  319. data/app/views/workarea/storefront/style_guides/components/_product_summary.html.haml +47 -0
  320. data/app/views/workarea/storefront/style_guides/components/_property.html.haml +93 -0
  321. data/app/views/workarea/storefront/style_guides/components/_recommendations.html.haml +43 -0
  322. data/app/views/workarea/storefront/style_guides/components/_social_networks_content_block.html.haml +20 -0
  323. data/app/views/workarea/storefront/style_guides/components/_svg_icon.html.haml +76 -0
  324. data/app/views/workarea/storefront/style_guides/components/_value.html.haml +90 -0
  325. data/app/views/workarea/storefront/style_guides/settings/_color_variables.html.haml +90 -0
  326. data/app/views/workarea/storefront/style_guides/settings/color_schemes/_haven_color_scheme.html.haml +8 -0
  327. data/app/views/workarea/storefront/style_guides/settings/color_schemes/_lagoon_color_scheme.html.haml +8 -0
  328. data/app/views/workarea/storefront/style_guides/typography/_fonts.html.haml +13 -0
  329. data/app/views/workarea/storefront/style_guides/typography/_headings.html.haml +53 -0
  330. data/app/views/workarea/storefront/style_guides/typography/_links.html.haml +27 -0
  331. data/app/views/workarea/storefront/style_guides/typography/_text.html.haml +27 -0
  332. data/app/views/workarea/storefront/users/_haven_current_user.json.jbuilder +1 -0
  333. data/app/views/workarea/storefront/users/accounts/edit.html.haml +48 -0
  334. data/app/views/workarea/storefront/users/accounts/show.html.haml +119 -0
  335. data/app/views/workarea/storefront/users/addresses/edit.html.haml +24 -0
  336. data/app/views/workarea/storefront/users/addresses/new.html.haml +24 -0
  337. data/app/views/workarea/storefront/users/credit_cards/edit.html.haml +71 -0
  338. data/app/views/workarea/storefront/users/credit_cards/new.html.haml +66 -0
  339. data/app/views/workarea/storefront/users/logins/new.html.haml +60 -0
  340. data/app/views/workarea/storefront/users/orders/_summary.html.haml +25 -0
  341. data/app/views/workarea/storefront/users/orders/index.html.haml +23 -0
  342. data/app/views/workarea/storefront/users/orders/show.html.haml +22 -0
  343. data/app/views/workarea/storefront/users/passwords/change.html.haml +25 -0
  344. data/app/views/workarea/storefront/users/passwords/edit.html.haml +16 -0
  345. data/app/views/workarea/storefront/users/passwords/new.html.haml +27 -0
  346. data/bin/rails +20 -0
  347. data/browserslist +3 -0
  348. data/config/initializers/appends.rb +94 -0
  349. data/config/initializers/assets.rb +1 -0
  350. data/config/initializers/content_block_types.rb +95 -0
  351. data/config/initializers/dragonfly.rb +74 -0
  352. data/config/initializers/seeds.rb +3 -0
  353. data/config/initializers/theme.rb +68 -0
  354. data/config/initializers/workarea.rb +3 -0
  355. data/config/locales/en.yml +63 -0
  356. data/data/content_assets/product_grid_content_2_cell_background.jpg +0 -0
  357. data/data/content_assets/product_grid_content_background.jpg +0 -0
  358. data/data/content_assets/taxonomy_content_image.jpg +0 -0
  359. data/data/workarea/images/products/Clock.jpg +0 -0
  360. data/data/workarea/images/products/Headphones.jpg +0 -0
  361. data/data/workarea/images/products/Scissors.jpg +0 -0
  362. data/data/workarea/images/products/bookends.jpg +0 -0
  363. data/data/workarea/images/products/camera.jpg +0 -0
  364. data/data/workarea/images/products/coffee.jpg +0 -0
  365. data/data/workarea/images/products/lamp1.jpg +0 -0
  366. data/data/workarea/images/products/lamp2.png +0 -0
  367. data/data/workarea/images/products/lamp3.jpg +0 -0
  368. data/data/workarea/images/products/pen.jpg +0 -0
  369. data/data/workarea/images/products/plant.jpg +0 -0
  370. data/data/workarea/images/products/plant2.jpg +0 -0
  371. data/data/workarea/images/products/table.jpg +0 -0
  372. data/data/workarea/images/products/table2.jpg +0 -0
  373. data/data/workarea/images/products/table3.jpg +0 -0
  374. data/lib/tasks/haven_theme_tasks.rake +20 -0
  375. data/lib/workarea/haven_theme.rb +30 -0
  376. data/lib/workarea/haven_theme/engine.rb +17 -0
  377. data/lib/workarea/haven_theme/version.rb +5 -0
  378. data/package.json +9 -0
  379. data/public/screenshots/account.png +0 -0
  380. data/public/screenshots/blog.png +0 -0
  381. data/public/screenshots/blog_entry.png +0 -0
  382. data/public/screenshots/cart.png +0 -0
  383. data/public/screenshots/category_page.png +0 -0
  384. data/public/screenshots/checkout.png +0 -0
  385. data/public/screenshots/full_screen_search.png +0 -0
  386. data/public/screenshots/product_detail_page.png +0 -0
  387. data/script/admin_ci +9 -0
  388. data/script/ci +11 -0
  389. data/script/core_ci +9 -0
  390. data/script/plugins_ci +9 -0
  391. data/script/storefront_ci +9 -0
  392. data/test/dummy/Rakefile +6 -0
  393. data/test/dummy/app/assets/config/manifest.js +4 -0
  394. data/test/dummy/app/assets/images/.keep +0 -0
  395. data/test/dummy/app/assets/javascripts/application.js +13 -0
  396. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  397. data/test/dummy/app/controllers/application_controller.rb +3 -0
  398. data/test/dummy/app/controllers/concerns/.keep +0 -0
  399. data/test/dummy/app/helpers/application_helper.rb +2 -0
  400. data/test/dummy/app/jobs/application_job.rb +2 -0
  401. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  402. data/test/dummy/app/models/concerns/.keep +0 -0
  403. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  404. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  405. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  406. data/test/dummy/bin/bundle +3 -0
  407. data/test/dummy/bin/rails +4 -0
  408. data/test/dummy/bin/rake +4 -0
  409. data/test/dummy/bin/setup +38 -0
  410. data/test/dummy/bin/update +29 -0
  411. data/test/dummy/bin/yarn +11 -0
  412. data/test/dummy/config.ru +5 -0
  413. data/test/dummy/config/application.rb +28 -0
  414. data/test/dummy/config/boot.rb +5 -0
  415. data/test/dummy/config/cable.yml +10 -0
  416. data/test/dummy/config/environment.rb +5 -0
  417. data/test/dummy/config/environments/development.rb +54 -0
  418. data/test/dummy/config/environments/production.rb +91 -0
  419. data/test/dummy/config/environments/test.rb +44 -0
  420. data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
  421. data/test/dummy/config/initializers/assets.rb +14 -0
  422. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  423. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  424. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  425. data/test/dummy/config/initializers/inflections.rb +16 -0
  426. data/test/dummy/config/initializers/mime_types.rb +4 -0
  427. data/test/dummy/config/initializers/workarea.rb +5 -0
  428. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  429. data/test/dummy/config/locales/en.yml +33 -0
  430. data/test/dummy/config/puma.rb +56 -0
  431. data/test/dummy/config/routes.rb +5 -0
  432. data/test/dummy/config/secrets.yml +32 -0
  433. data/test/dummy/config/spring.rb +6 -0
  434. data/test/dummy/db/seeds.rb +2 -0
  435. data/test/dummy/lib/assets/.keep +0 -0
  436. data/test/dummy/log/.keep +0 -0
  437. data/test/dummy/package.json +5 -0
  438. data/test/integration/workarea/storefront/swatches_integration_test.decorator +28 -0
  439. data/test/system/workarea/admin/guest_browsing_system_test.decorator +38 -0
  440. data/test/system/workarea/storefront/analytics_system_test.decorator +71 -0
  441. data/test/system/workarea/storefront/blog_system_test.decorator +26 -0
  442. data/test/system/workarea/storefront/cart_content_system_test.rb +60 -0
  443. data/test/system/workarea/storefront/categories_system_test.decorator +188 -0
  444. data/test/system/workarea/storefront/categories_with_packages_system_test.decorator +94 -0
  445. data/test/system/workarea/storefront/content_system_test.decorator +21 -0
  446. data/test/system/workarea/storefront/digital_products_system_test.decorator +58 -0
  447. data/test/system/workarea/storefront/discounting_system_test.decorator +141 -0
  448. data/test/system/workarea/storefront/gift_cards_system_test.decorator +224 -0
  449. data/test/system/workarea/storefront/guest_checkout_system_test.decorator +100 -0
  450. data/test/system/workarea/storefront/hover_zoom_test.decorator +12 -0
  451. data/test/system/workarea/storefront/logged_in_checkout_system_test.decorator +90 -0
  452. data/test/system/workarea/storefront/login_system_test.decorator +94 -0
  453. data/test/system/workarea/storefront/navigation_system_test.decorator +28 -0
  454. data/test/system/workarea/storefront/no_js_system_test.decorator +76 -0
  455. data/test/system/workarea/storefront/passwords_system_test.decorator +59 -0
  456. data/test/system/workarea/storefront/product_videos_system_test.decorator +28 -0
  457. data/test/system/workarea/storefront/products_system_test.decorator +14 -0
  458. data/test/system/workarea/storefront/review_system_test.decorator +34 -0
  459. data/test/system/workarea/storefront/search_autocomplete_system_test.decorator +46 -0
  460. data/test/system/workarea/storefront/search_system_test.decorator +105 -0
  461. data/test/system/workarea/storefront/sharing_system_test.decorator +50 -0
  462. data/test/system/workarea/storefront/store_credit_system_test.decorator +125 -0
  463. data/test/teaspoon_env.rb +6 -0
  464. data/test/test_helper.rb +10 -0
  465. data/test/view_models/workarea/storefront/content_blocks/product_insights_view_model_test.decorator +41 -0
  466. data/vendor/assets/javascripts/polyfills/stickyfill.js +520 -0
  467. data/workarea-haven_theme.gemspec +39 -0
  468. metadata +789 -0
@@ -0,0 +1,218 @@
1
+ #data-card.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'data_card')
4
+
5
+ %p Displays account data in a "card" UI that reflows to fit the context.
6
+
7
+ %p The default component stacks these child cells in a single column.
8
+
9
+ %p Credit card data:
10
+ .style-guide__example-block
11
+
12
+ .data-card
13
+ .data-card__cell
14
+ %p.data-card__line.data-card__credit-card.data-card__credit-card--default
15
+ = credit_card_issuer_icon('Visa')
16
+ %span.data-card__credit-card-number Visa ending in 4682
17
+ %p.data-card__line
18
+ %strong Expires:
19
+ %span
20
+ 04/2020
21
+ %p.data-card__line
22
+ %strong Name on Card:
23
+ %span Bobby Clams
24
+ .data-card__cell
25
+ .grid.grid--auto
26
+ %p.grid__cell= link_to 'Edit', '#', class: 'button button--small'
27
+ = form_tag nil, class: 'grid__cell' do
28
+ %p= button_tag 'Delete', class: 'button button--small'
29
+
30
+ .data-card
31
+ .data-card__cell
32
+ %p.data-card__line.data-card__credit-card
33
+ = credit_card_issuer_icon('MasterCard')
34
+ %span.data-card__credit-card-number Master Card ending in 4682
35
+ %p.data-card__line
36
+ %strong Expires:
37
+ %span
38
+ 04/2012
39
+ %strong (Expired)
40
+ %p.data-card__line
41
+ %strong Name on Card:
42
+ %span Bobby Clams
43
+ .data-card__cell
44
+ .grid.grid--auto
45
+ %p.grid__cell= link_to 'Edit', '#', class: 'button button--small'
46
+ = form_tag nil, class: 'grid__cell' do
47
+ %p= button_tag 'Delete', class: 'button button--small'
48
+
49
+ .data-card
50
+ .data-card__cell
51
+ %p.data-card__line.data-card__credit-card
52
+ = credit_card_issuer_icon('Discover')
53
+ %span.data-card__credit-card-number Discover ending in 4682
54
+ %p.data-card__line
55
+ %strong Expires:
56
+ %span
57
+ 04/2020
58
+ %p.data-card__line
59
+ %strong Name on Card:
60
+ %span Bobby Clams
61
+ .data-card__cell
62
+ .grid.grid--auto
63
+ %p.grid__cell= link_to 'Edit', '#', class: 'button button--small'
64
+ = form_tag nil, class: 'grid__cell' do
65
+ %p= button_tag 'Delete', class: 'button button--small'
66
+
67
+ .data-card
68
+ .data-card__cell
69
+ %p.data-card__line.data-card__credit-card
70
+ = credit_card_issuer_icon('American Express')
71
+ %span.data-card__credit-card-number American Express ending in 4682
72
+ %p.data-card__line
73
+ %strong Expires:
74
+ %span
75
+ 04/2020
76
+ %p.data-card__line
77
+ %strong Name on Card:
78
+ %span Bobby Clams
79
+ .data-card__cell
80
+ .grid.grid--auto
81
+ %p.grid__cell= link_to 'Edit', '#', class: 'button button--small'
82
+ = form_tag nil, class: 'grid__cell' do
83
+ %p= button_tag 'Delete', class: 'button button--small'
84
+
85
+ .data-card
86
+ .data-card__cell
87
+ %p.data-card__line.data-card__credit-card
88
+ = credit_card_issuer_icon('Diner\'s Club')
89
+ %span.data-card__credit-card-number Diner's Club ending in 4682
90
+ %p.data-card__line
91
+ %strong Expires:
92
+ %span
93
+ 04/2020
94
+ %p.data-card__line
95
+ %strong Name on Card:
96
+ %span Bobby Clams
97
+ .data-card__cell
98
+ .grid.grid--auto
99
+ %p.grid__cell= link_to 'Edit', '#', class: 'button button--small'
100
+ = form_tag nil, class: 'grid__cell' do
101
+ %p= button_tag 'Delete', class: 'button button--small'
102
+
103
+ %p Address data:
104
+ .style-guide__example-block
105
+ .data-card
106
+ .data-card__cell
107
+ %p.data-card__line
108
+ Bobby Clams
109
+ %br
110
+ Workarea, LLC
111
+ %br
112
+ 22 S 3rd St
113
+ %br
114
+ 2nd Floor
115
+ %br
116
+ Philadelphia PA 19106
117
+ %br
118
+ = number_to_phone 2159251800
119
+ .data-card__cell
120
+ .grid.grid--auto
121
+ %p.grid__cell= link_to 'Edit', '#', class: 'button button--small'
122
+ = form_tag nil, class: 'grid__cell' do
123
+ %p= button_tag 'Delete', class: 'button button--small'
124
+
125
+ %p Order data:
126
+ .style-guide__example-block
127
+ .data-card.data-card--row
128
+ .data-card__cell
129
+ %p.data-card__line
130
+ %strong Order Date:
131
+ %span February 19, 2014
132
+ %p.data-card__line
133
+ %strong Order #:
134
+ %span 123456789
135
+ %p.data-card__line
136
+ %strong Order Status:
137
+ %span Shipped
138
+ %p.data-card__line
139
+ %strong Items:
140
+ %span 2 - $88.98
141
+ .data-card__cell
142
+ .grid
143
+ .grid__cell
144
+ %p= link_to 'View', '#', class: 'button button--small'
145
+ .grid__cell
146
+ %p= link_to 'Track Shipment', '#'
147
+ .grid__cell
148
+ %p= link_to 'Track Shipment 2', '#'
149
+
150
+ #data-card--row.style-guide__subsection
151
+
152
+ %h3= link_to_style_guide('components', 'data_card__row')
153
+
154
+ %p Presents the #{link_to_style_guide('components', 'data_card', true)} as stacked, rather than inline.
155
+
156
+ %p Credit card data:
157
+ .style-guide__example-block
158
+ .data-card.data-card--row
159
+ .data-card__cell
160
+ %p.data-card__line.data-card__credit-card.data-card__credit-card--default
161
+ = credit_card_issuer_icon('Visa')
162
+ %span.data-card__credit-card-number ending in 4682
163
+ %p.data-card__line
164
+ %strong Expires:
165
+ %span
166
+ 04/2020
167
+ %p.data-card__line
168
+ %strong Name on Card:
169
+ %span Bobby Clams
170
+ .data-card__cell
171
+ .grid.grid--auto
172
+ %p.grid__cell= link_to 'Edit', '#', class: 'button button--small'
173
+ = form_tag nil, class: 'grid__cell' do
174
+ %p= button_tag 'Delete', class: 'button button--small'
175
+
176
+ %p Address data:
177
+ .style-guide__example-block
178
+ .data-card.data-card--row
179
+ .data-card__cell
180
+ %p.data-card__line
181
+ Bobby Clams
182
+ %br
183
+ Workarea, LLC
184
+ %br
185
+ 22 S 3rd St
186
+ %br
187
+ 2nd Floor
188
+ %br
189
+ Philadelphia PA 19106
190
+ %br
191
+ = number_to_phone 2159251800
192
+ .data-card__cell
193
+ .grid.grid--auto
194
+ %p.grid__cell= link_to 'Edit', '#', class: 'button button--small'
195
+ = form_tag nil, class: 'grid__cell' do
196
+ %p= button_tag 'Delete', class: 'button button--small'
197
+
198
+ %p Order data:
199
+ .style-guide__example-block
200
+ .data-card.data-card--row
201
+ .data-card__cell
202
+ %p.data-card__line
203
+ %strong Order Date:
204
+ %span February 19, 2014
205
+ %p.data-card__line
206
+ %strong Order #:
207
+ %span 123456789
208
+ %p.data-card__line
209
+ %strong Order Status:
210
+ %span Shipped
211
+ %p.data-card__line
212
+ %strong Items:
213
+ %span 2 - $88.98
214
+ .data-card__cell
215
+ .grid.grid--auto
216
+ %p.grid__cell= link_to 'View', '#', class: 'button button--small'
217
+ %p.grid__cell= link_to 'Track Shipment', '#'
218
+ %p.grid__cell= link_to 'Track Shipment 2', '#'
@@ -0,0 +1,146 @@
1
+ #mobile-filters.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'mobile_filters')
4
+
5
+ %p Provides a toggling UI for filtering search results for mobile devices.
6
+
7
+ %p should toggle content between a visible and invisible state:
8
+ .style-guide__example-block
9
+ .mobile-filters
10
+ .mobile-filters__trigger
11
+ = label_tag 'toggle_mobile_filters', 'Filter Results', class: 'button button--full', data: { mobile_filter_button: '' }
12
+
13
+ .mobile-filters__content
14
+ .mobile-filters__sort
15
+ .mobile-filters__wrapper
16
+ %h2.mobile-filters__heading= t('workarea.storefront.products.refine_results')
17
+ = form_tag '#', method: :get do
18
+ .property
19
+ = label_tag 'sort_drawer', nil, class: 'property__name' do
20
+ %span.property__text= t('workarea.storefront.searches.sort_by')
21
+ %span.value= select_tag :sort, ['Top Sellers', 'Most Popular'], id: 'sort_drawer', data: { form_submitting_control: '' }
22
+ .hidden-if-js-enabled
23
+ = button_tag t('workarea.storefront.searches.sort'), value: 'sort_products_top', class: 'button'
24
+ .applied-filters
25
+ .result-filters
26
+ %ul.result-filters__group
27
+ %li.result-filters__filter.result-filters__filter--selected
28
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
29
+ .swatch-facet.swatch-facet--orange.swatch-facet--hex{ style: "background-color: #ff9800;" }
30
+ %span.result-filters__filter-text Orange
31
+ %span.result-filters__filter-remove= inline_svg('workarea/storefront/icons/x.svg', class: 'svg-icon svg-icon--tiny svg-icon--blue', title: t('workarea.storefront.products.remove_filter'))
32
+ %li.result-filters__filter.result-filters__filter--selected
33
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
34
+ .swatch-facet.swatch-facet--light_blue.swatch-facet--hex{ style: "background-color: #03a9f4;" }
35
+ %span.result-filters__filter-text Light Blue
36
+ %span.result-filters__filter-remove= inline_svg('workarea/storefront/icons/x.svg', class: 'svg-icon svg-icon--tiny svg-icon--blue', title: t('workarea.storefront.products.remove_filter'))
37
+ %li.result-filters__filter.result-filters__filter--selected
38
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
39
+ %span.swatch-facet.swatch-facet--10_0_19_99.swatch-facet--empty
40
+ %span.result-filters__filter-text $10.00 - $19.99
41
+ %span.result-filters__filter-remove= inline_svg('workarea/storefront/icons/x.svg', class: 'svg-icon svg-icon--tiny svg-icon--blue', title: t('workarea.storefront.products.remove_filter'))
42
+ = link_to t('workarea.storefront.filters.clear'), '#', class: 'button button--small'
43
+
44
+ .result-filters{ data: { filter_view_more: '', expandable_filters: '' } }
45
+ .result-filters__container
46
+ %h2.result-filters__attribute Color
47
+ .result-filters__section.result-filters__section--color
48
+ %ul.result-filters__group.result-filters__group--truncated
49
+ %li.result-filters__filter.result-filters__filter--selected
50
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
51
+ .swatch-facet.swatch-facet--orange.swatch-facet--hex{ style: "background-color: #ff9800;" }
52
+ %span.result-filters__filter-text Orange
53
+ %span.result-filters__filter-remove= inline_svg('workarea/storefront/icons/x.svg', class: 'svg-icon svg-icon--tiny svg-icon--blue', title: t('workarea.storefront.products.remove_filter'))
54
+ %li.result-filters__filter
55
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
56
+ .swatch-facet.swatch-facet--green.swatch-facet--hex{ style: "background-color: #4caf50;" }
57
+ %span.result-filters__filter-text Green
58
+ %span.result-filters__filter-count 9
59
+ %li.result-filters__filter
60
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
61
+ .swatch-facet.swatch-facet--red.swatch-facet--hex{ style: "background-color: #f44336;" }
62
+ %span.result-filters__filter-text Red
63
+ %span.result-filters__filter-count 9
64
+ %li.result-filters__filter
65
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
66
+ .swatch-facet.swatch-facet--yellow.swatch-facet--hex{ style: "background-color: #ffeb3b;" }
67
+ %span.result-filters__filter-text Yellow
68
+ %span.result-filters__filter-count 9
69
+ %li.result-filters__filter
70
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
71
+ .swatch-facet.swatch-facet--white.swatch-facet--hex{ style: "background-color: #ffffff;" }
72
+ %span.result-filters__filter-text White
73
+ %span.result-filters__filter-count 8
74
+ %li.result-filters__filter
75
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
76
+ .swatch-facet.swatch-facet--blue_grey.swatch-facet--hex{ style: "background-color: #607d8b;" }
77
+ %span.result-filters__filter-text Blue Grey
78
+ %span.result-filters__filter-count 6
79
+ %li.result-filters__filter
80
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
81
+ .swatch-facet.swatch-facet--grey.swatch-facet--hex{ style: "background-color: #9e9e9e;" }
82
+ %span.result-filters__filter-text Grey
83
+ %span.result-filters__filter-count 6
84
+ %li.result-filters__filter.result-filters__filter--selected
85
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
86
+ .swatch-facet.swatch-facet--light_blue.swatch-facet--hex{ style: "background-color: #03a9f4;" }
87
+ %span.result-filters__filter-text Light Blue
88
+ %span.result-filters__filter-remove= inline_svg('workarea/storefront/icons/x.svg', class: 'svg-icon svg-icon--tiny svg-icon--blue', title: t('workarea.storefront.products.remove_filter'))
89
+ %li.result-filters__filter
90
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
91
+ .swatch-facet.swatch-facet--light_green.swatch-facet--hex{ style: "background-color: #8bc34a;" }
92
+ %span.result-filters__filter-text Light Green
93
+ %span.result-filters__filter-count 6
94
+ %li.result-filters__filter
95
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
96
+ .swatch-facet.swatch-facet--blue.swatch-facet--hex{ style: "background-color: #2196f3;" }
97
+ %span.result-filters__filter-text Blue
98
+ %span.result-filters__filter-count 5
99
+ %button.result-filters__view-more-button View More
100
+ .result-filters__container.result-filters__container--closed
101
+ %h2.result-filters__attribute Price
102
+ .result-filters__section
103
+ %ul.result-filters__group.result-filters__group--truncated
104
+ %li.result-filters__filter
105
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
106
+ %span.result-filters__filter-text Under $9.99
107
+ %span.result-filters__filter-count 12
108
+ %li.result-filters__filter.result-filters__filter--selected
109
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
110
+ %span.result-filters__filter-text $10.00 - $19.99
111
+ %span.result-filters__filter-remove= inline_svg('workarea/storefront/icons/x.svg', class: 'svg-icon svg-icon--tiny svg-icon--blue', title: t('workarea.storefront.products.remove_filter'))
112
+ %li.result-filters__filter
113
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
114
+ %span.result-filters__filter-text $20.00 - $29.99
115
+ %span.result-filters__filter-count 11
116
+ %li.result-filters__filter
117
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
118
+ %span.result-filters__filter-text $30.00 - $39.99
119
+ %span.result-filters__filter-count 12
120
+ %li.result-filters__filter
121
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
122
+ %span.result-filters__filter-text $40.00 - $49.99
123
+ %span.result-filters__filter-count 8
124
+ %li.result-filters__filter
125
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
126
+ %span.result-filters__filter-text $50.00 - $59.99
127
+ %span.result-filters__filter-count 11
128
+ %li.result-filters__filter
129
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
130
+ %span.result-filters__filter-text $60.00 - $69.99
131
+ %span.result-filters__filter-count 17
132
+ %li.result-filters__filter
133
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
134
+ %span.result-filters__filter-text $70.00 - $79.99
135
+ %span.result-filters__filter-count 19
136
+ %li.result-filters__filter
137
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
138
+ %span.result-filters__filter-text $80.00 - $89.99
139
+ %span.result-filters__filter-count 11
140
+ %li.result-filters__filter
141
+ %a.result-filters__filter-link{ href: "#", rel: "nofollow" }
142
+ %span.result-filters__filter-text $90.00 - $99.99
143
+ %span.result-filters__filter-count 12
144
+ %button.result-filters__view-more-button View More
145
+
146
+ #mobile-filters-nav.mobile-filters-nav
@@ -0,0 +1,34 @@
1
+ #personalized-recommendations-content-block.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'personalized_recommendations_content_block')
4
+
5
+ %p A content block containing <code>.product-summary</code> components.
6
+
7
+ %p should provide a responsive layout for multiple <code>.product-summary</code> components:
8
+ .style-guide__example-block
9
+ .personalized-recommendations-content-block
10
+ .content-wrapper
11
+ .grid
12
+ - (1..4).each do |i|
13
+ .grid__cell.grid__cell--50.grid__cell--25-at-medium
14
+ .product-summary.product-summary--small
15
+ .product-summary__media
16
+ .product-summary__image-wrapper
17
+ = image_tag 'workarea/core/placeholder.png', size: '180x180', class: 'product-summary__image'
18
+ .product-summary__info
19
+ %span.product-summary__name Product Title #{i}
20
+
21
+ %p should support a heading:
22
+ .style-guide__example-block
23
+ .personalized-recommendations-content-block
24
+ .content-wrapper
25
+ %h2.personalized-recommendations-content-block__heading Personalized Recommendations Content Block
26
+ .grid
27
+ - (1..4).each do |i|
28
+ .grid__cell.grid__cell--50.grid__cell--25-at-medium
29
+ .product-summary.product-summary--small
30
+ .product-summary__media
31
+ .product-summary__image-wrapper
32
+ = image_tag 'workarea/core/placeholder.png', size: '180x180', class: 'product-summary__image'
33
+ .product-summary__info
34
+ %span.product-summary__name Product Title #{i}
@@ -0,0 +1,34 @@
1
+ #product-insights-content-block.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'product_insights_content_block')
4
+
5
+ %p A content block containing <code>.product-summary</code> components.
6
+
7
+ %p should provide a responsive layout for multiple <code>.product-summary</code> components:
8
+ .style-guide__example-block
9
+ .product-insights-content-block
10
+ .content-wrapper
11
+ .grid
12
+ - (1..4).each do |i|
13
+ .grid__cell.grid__cell--50.grid__cell--25-at-medium
14
+ .product-summary.product-summary--small
15
+ .product-summary__media
16
+ .product-summary__image-wrapper
17
+ = image_tag 'workarea/core/placeholder.png', size: '180x180', class: 'product-summary__image'
18
+ .product-summary__info
19
+ %span.product-summary__name Product Title #{i}
20
+
21
+ %p should support a heading:
22
+ .style-guide__example-block
23
+ .product-insights-content-block
24
+ .content-wrapper
25
+ %h2.product-insights-content-block__heading Product List Content Block
26
+ .grid
27
+ - (1..4).each do |i|
28
+ .grid__cell.grid__cell--50.grid__cell--25-at-medium
29
+ .product-summary.product-summary--small
30
+ .product-summary__media
31
+ .product-summary__image-wrapper
32
+ = image_tag 'workarea/core/placeholder.png', size: '180x180', class: 'product-summary__image'
33
+ .product-summary__info
34
+ %span.product-summary__name Product Title #{i}
@@ -0,0 +1,222 @@
1
+ #product-list.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'product_list')
4
+
5
+ %p Displays a list of product line-items. Uses include cart, checkout payment, checkout shipping, order summary, public wish list, and private wish list.
6
+
7
+ %p Cart items:
8
+ .style-guide__example-block
9
+ .product-list
10
+ .product-list__item
11
+ .product-list__summary
12
+ .product-list__media= link_to(image_tag('workarea/storefront/style_guide_product.jpg', alt: 'Product Name', class: 'product-list__media-image'), '#', class: 'product-list__media-link')
13
+ .product-list__info
14
+ %p.product-list__name= link_to('Product Name', '#')
15
+ .product-list__option-group
16
+ %p.product-list__option Color: Blue
17
+ %p.product-list__option Size: Small
18
+ %p.product-list__customization Custom 1: Value of Custom 1
19
+ .product-list__actions
20
+ = form_tag nil, method: :patch, class: 'inline-form' do
21
+ .inline-form__cell
22
+
23
+ .quantity-control
24
+ = button_tag '-', { type: 'button', data: { quantity_control: { 'direction': 'dec', 'autosubmit': true }.to_json }, class: 'quantity-control__button quantity-control__button--decrement'}
25
+ .value= number_field_tag :quantity, 1, min: 1, required: true, class: 'quantity-control__input text-box text-box--x-small', data: { form_submitting_control: '' }, title: t('workarea.storefront.orders.quantity'), id: "product_list_item_quantity_1"
26
+ = button_tag '+', { type: 'button', data: { quantity_control: { 'direction': 'inc', 'autosubmit': true }.to_json }, class: 'quantity-control__button quantity-control__button--increment'}
27
+
28
+ %p.inline-form__cell.hidden-if-js-enabled= button_tag t('workarea.storefront.carts.update'), value: 'change_quantity', class: 'button'
29
+
30
+ = form_tag nil, class: 'product-list__remove-item' do
31
+ %p= button_tag 'Remove', class: 'text-button'
32
+
33
+ .product-list__prices
34
+ .product-prices
35
+ %p.product-prices__price
36
+ %s= number_to_currency(100.00)
37
+ %p.product-prices__price
38
+ %strong.product-prices__price--sale= number_to_currency(90.00)
39
+ %p.product-prices__price
40
+ %span.product-prices__price-label Customizations:
41
+ %span= number_to_currency(10.00)
42
+ .product-prices__discounts
43
+ .product-prices__discount
44
+ %span.product-prices__price-label Item Level Discount:
45
+ %strong.product-prices__discount-price= number_to_currency(-5.00)
46
+ .product-prices__discount
47
+ %span.product-prices__price-label An Item Level Discount With a Longer Name Than the Last:
48
+ %strong.product-prices__discount-price= number_to_currency(-5.00)
49
+ .product-list__total-price
50
+ %span.product-prices__price-label Total:
51
+ %span= number_to_currency(100.00)
52
+
53
+ .product-list__item
54
+ .product-list__summary
55
+ .product-list__media= link_to(image_tag('workarea/storefront/style_guide_product.jpg', alt: 'Product Name', class: 'product-list__media-image'), '#', class: 'product-list__media-link')
56
+ .product-list__info
57
+ %p.product-list__name= link_to('Product Name', '#')
58
+ .product-list__actions
59
+ %p.product-list__quantity
60
+ = t('workarea.storefront.orders.quantity')
61
+ 1
62
+ .product-list__prices
63
+ .product-prices
64
+ .product-prices__price
65
+ %span= t('workarea.storefront.carts.free_gift')
66
+
67
+ %p Checkout summary:
68
+ .style-guide__example-block
69
+ .product-list
70
+ .product-list__item
71
+ .product-list__summary
72
+ .product-list__media= link_to(image_tag('workarea/storefront/style_guide_product.jpg', alt: 'Product Name', class: 'product-list__media-image'), '#', class: 'product-list__media-link')
73
+ .product-list__info
74
+ %p.product-list__name= link_to('Product Name', '#')
75
+ .product-list__option-group
76
+ %p.product-list__option Color: Blue
77
+ %p.product-list__option Size: Small
78
+ .product-list__actions
79
+ %p.product-list__quantity
80
+ = t('workarea.storefront.orders.quantity')
81
+ 1
82
+
83
+ .product-list__prices
84
+ .product-prices
85
+ %p.product-prices__price
86
+ %s= number_to_currency(100.00)
87
+ %p.product-prices__price
88
+ %strong.product-prices__price--sale= number_to_currency(90.00)
89
+ %p.product-prices__price
90
+ %span.product-prices__price-label Customizations:
91
+ %span= number_to_currency(10.00)
92
+ .product-prices__discounts
93
+ .product-prices__discount
94
+ %span.product-prices__price-label Item Level Discount:
95
+ %strong.product-prices__discount-price= number_to_currency(-5.00)
96
+ .product-prices__discount
97
+ %span.product-prices__price-label An Item Level Discount With a Longer Name Than the Last:
98
+ %strong.product-prices__discount-price= number_to_currency(-5.00)
99
+ .product-list__total-price
100
+ %span.product-prices__price-label Total:
101
+ %span= number_to_currency(100.00)
102
+
103
+ .product-list__item
104
+ .product-list__summary
105
+ .product-list__media= link_to(image_tag('workarea/storefront/style_guide_product.jpg', alt: 'Product Name', class: 'product-list__media-image'), '#', class: 'product-list__media-link')
106
+ .product-list__info
107
+ %p.product-list__name= link_to('Product Name', '#')
108
+ .product-list__actions
109
+ %p.product-list__quantity
110
+ = t('workarea.storefront.orders.quantity')
111
+ 1
112
+ .product-list__prices
113
+ .product-prices
114
+ .product-prices__price
115
+ %span= t('workarea.storefront.carts.free_gift')
116
+
117
+ %p Order shipments:
118
+ .style-guide__example-block
119
+ .product-list
120
+ - 2.times do
121
+ .product-list__item
122
+ .product-list__summary
123
+ .product-list__media= link_to(image_tag('workarea/storefront/style_guide_product.jpg', alt: 'Product Name', class: 'product-list__media-image'), '#', class: 'product-list__media-link')
124
+ .product-list__info
125
+ %p.product-list__name= link_to('Product Name', '#')
126
+ %p.product-list__id 1234
127
+ .product-list__option-group
128
+ %p.product-list__option Color: Blue
129
+ %p.product-list__option Size: Small
130
+
131
+ .product-list__shipments
132
+ %h6.product-list__shipments-heading Tracking
133
+ .product-list__tracking
134
+ %span.product-list__tracking__qty 1
135
+ %span.product-list__tracking__link UPS #123456789 #{link_to 'Track Shipment', '#', target: '_blank', rel: 'noopener', class: 'button button--small'}
136
+ .product-list__tracking
137
+ %span.product-list__tracking__quantity 3
138
+ %span.product-list__tracking__link UPS #987654321 #{link_to 'Track Shipment', '#', target: '_blank', rel: 'noopener', class: 'button button--small'}
139
+
140
+ %p Order pending/canceled items:
141
+ .style-guide__example-block
142
+ .product-list
143
+ - 2.times do
144
+ .product-list__item
145
+ .product-list__summary
146
+ .product-list__media= link_to(image_tag('workarea/storefront/style_guide_product.jpg', alt: 'Product Name', class: 'product-list__media-image'), '#', class: 'product-list__media-link')
147
+ .product-list__info
148
+ %p.product-list__name= link_to('Product Name', '#')
149
+ .product-list__option-group
150
+ %p.product-list__option Color: Blue
151
+ %p.product-list__option Size: Small
152
+ .product-list__actions
153
+ %p.product-list__quantity
154
+ = t('workarea.storefront.orders.quantity')
155
+ 1
156
+
157
+ = append_partials('storefront.style_guide_product_list')
158
+
159
+ #product-list--narrow.style-guide__subsection
160
+
161
+ %h3= link_to_style_guide('components', 'product_list__narrow')
162
+
163
+ %p For when #{link_to_style_guide('components', 'product_list', true)} appears in narrow contexts such as an off canvas menu or dialog.
164
+
165
+ .style-guide__example-block
166
+ .product-list.product-list--narrow
167
+ .product-list__item
168
+ .product-list__summary
169
+ .product-list__media= link_to(image_tag('workarea/storefront/style_guide_product.jpg', alt: 'Product Name', class: 'product-list__media-image'), '#', class: 'product-list__media-link')
170
+ .product-list__info
171
+ %p.product-list__name= link_to('Product Name', '#')
172
+ .product-list__option-group
173
+ %p.product-list__option Color: Blue
174
+ %p.product-list__option Size: Small
175
+ %p.product-list__customization Custom 1: Value of Custom 1
176
+ .product-list__actions
177
+ = form_tag nil, method: :patch, class: 'inline-form' do
178
+ .inline-form__cell
179
+
180
+ .quantity-control
181
+ = button_tag '-', { type: 'button', data: { quantity_control: { 'direction': 'dec', 'autosubmit': true }.to_json }, class: 'quantity-control__button quantity-control__button--decrement'}
182
+ .value= number_field_tag :quantity, 1, min: 1, required: true, class: 'quantity-control__input text-box text-box--x-small', data: { form_submitting_control: '' }, title: t('workarea.storefront.orders.quantity'), id: "product_list_item_quantity_2"
183
+ = button_tag '+', { type: 'button', data: { quantity_control: { 'direction': 'inc', 'autosubmit': true }.to_json }, class: 'quantity-control__button quantity-control__button--increment'}
184
+
185
+ %p.inline-form__cell.hidden-if-js-enabled= button_tag t('workarea.storefront.carts.update'), value: 'change_quantity', class: 'button'
186
+
187
+ = form_tag nil, class: 'product-list__remove-item' do
188
+ %p= button_tag 'Remove', class: 'text-button'
189
+
190
+ .product-list__prices
191
+ .product-prices
192
+ %p.product-prices__price
193
+ %s= number_to_currency(100.00)
194
+ %p.product-prices__price
195
+ %strong.product-prices__price--sale= number_to_currency(90.00)
196
+ %p.product-prices__price
197
+ %span.product-prices__price-label Customizations:
198
+ %span= number_to_currency(10.00)
199
+ .product-prices__discounts
200
+ .product-prices__discount
201
+ %span.product-prices__price-label Item Level Discount:
202
+ %strong.product-prices__discount-price= number_to_currency(-5.00)
203
+ .product-prices__discount
204
+ %span.product-prices__price-label An Item Level Discount With a Longer Name Than the Last:
205
+ %strong.product-prices__discount-price= number_to_currency(-5.00)
206
+ .product-list__total-price
207
+ %span.product-prices__price-label Total:
208
+ %span= number_to_currency(100.00)
209
+
210
+ .product-list__item
211
+ .product-list__summary
212
+ .product-list__media= link_to(image_tag('workarea/storefront/style_guide_product.jpg', alt: 'Product Name', class: 'product-list__media-image'), '#', class: 'product-list__media-link')
213
+ .product-list__info
214
+ %p.product-list__name= link_to('Product Name', '#')
215
+ .product-list__actions
216
+ %p.product-list__quantity
217
+ = t('workarea.storefront.orders.quantity')
218
+ 1
219
+ .product-list__prices
220
+ .product-prices
221
+ .product-prices__price
222
+ %span= t('workarea.storefront.carts.free_gift')