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,34 @@
1
+ #product-list-content-block.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'product_list_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
+ .content-wrapper
10
+ .product-list-content-block
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
+ .content-wrapper
24
+ .product-list-content-block
25
+ %h2.product-list-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,47 @@
1
+ #product-summary.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'product_summary')
4
+
5
+ %p Displays a compact product summary for use within #{link_to_style_guide('components', 'product_grid', true)} on product browse and search results pages.
6
+
7
+ .style-guide__example-block
8
+ .grid
9
+ .grid__cell--50.grid__cell--33-at-medium.grid__cell--25-at-wide
10
+ .product-summary
11
+ %p.product-summary__media
12
+ = link_to('#', class: 'product-summary__media-link') do
13
+ %picture
14
+ %source{ srcset: '/../assets/workarea/storefront/style_guide_product.jpg, /../assets/workarea/storefront/style_guide_product_retina.jpg 2x', media: "(min-width: #{Workarea.config.storefront_break_points[:small_horizontal]}px)" }
15
+ %source{ srcset: '/../assets/workarea/storefront/style_guide_product.jpg, /../assets/workarea/storefront/style_guide_product_retina.jpg 2x'}
16
+ = image_tag('workarea/storefront/style_guide_product.jpg', alt: 'Product Name', class: 'product-summary__media-image')
17
+ .product-summary__divider
18
+ .product-summary__info
19
+ %p.product-summary__name= link_to('Product Name', '#', class: 'product-summary__name-link')
20
+ .product-prices.product-prices--summary
21
+ %p.product-prices__price
22
+ %span= number_to_currency(109.99)
23
+
24
+ = append_partials('storefront.style_guide_product_summary')
25
+
26
+ #product-summary--small.style-guide__subsection
27
+
28
+ %h3= link_to_style_guide('components', 'product_summary__small')
29
+
30
+ %p Displays a compact #{link_to_style_guide('components', 'product_summary', true)} for independent use. Reduces the overall size of the component, by shrinking and/or reducing its contents. Frequently used within #{link_to_style_guide('components', 'product_grid__small_summaries', true)} components.
31
+
32
+ .style-guide__example-block
33
+ .grid
34
+ .grid__cell--50.grid__cell--33-at-medium.grid__cell--25-at-wide
35
+ .product-summary.product-summary--small
36
+ %p.product-summary__media
37
+ = link_to('#', class: 'product-summary__media-link') do
38
+ %picture
39
+ %source{ srcset: '/../assets/workarea/storefront/style_guide_product.jpg, /../assets/workarea/storefront/style_guide_product_retina.jpg 2x', media: "(min-width: #{Workarea.config.storefront_break_points[:small_horizontal]}px)" }
40
+ %source{ srcset: '/../assets/workarea/storefront/style_guide_product.jpg, /../assets/workarea/storefront/style_guide_product_retina.jpg 2x'}
41
+ = image_tag('workarea/storefront/style_guide_product.jpg', alt: 'Product Name', class: 'product-summary__media-image')
42
+ .product-summary__divider
43
+ .product-summary__info
44
+ %p.product-summary__name= link_to('Product Name', '#', class: 'product-summary__name-link')
45
+ .product-prices.product-prices--summary
46
+ %p.product-prices__price
47
+ %span= number_to_currency(109.99)
@@ -0,0 +1,93 @@
1
+ #property.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'property')
4
+
5
+ %p Handles the layout of a form control. Provides styling a #{link_to_style_guide('components', 'value', true)} component, which wraps the form control, and a name, which is typically a <code>label</code> element.
6
+
7
+ .style-guide__example-block
8
+ .property
9
+ = label_tag 'wl_property_text_field_1', nil, class: 'property__name' do
10
+ %span.property__text Label One
11
+ .value
12
+ = text_field_tag 'wl_property_text_field_1', nil, class: 'text-box'
13
+ .property
14
+ = label_tag 'wl_property_text_field_2', nil, class: 'property__name' do
15
+ %span.property__text Label Two
16
+ %span.property__requirement (required)
17
+ .value
18
+ = text_field_tag 'wl_property_text_field_2', nil, class: 'value__error text-box'
19
+ %label.value__error Error message text
20
+ .property
21
+ = label_tag 'wl_property_select_field_1', nil, class: 'property__name' do
22
+ %span.property__text Label Three
23
+ %span.property__requirement.property__requirement--optional (optional)
24
+ .value
25
+ = select_tag 'wl_property_select_field_1', options_for_select(%w(One Two Three))
26
+ .property
27
+ = label_tag 'wl_property_select_field_2', nil, class: 'property__name' do
28
+ %span.property__text Label Four
29
+ %span.property__requirement (required)
30
+ .value
31
+ = select_tag 'wl_property_select_field_2', options_for_select(%w(One Two Three)), class: 'value__error'
32
+ %label.value__error Error message text
33
+ .property
34
+ = label_tag 'wl_property_textarea_1', nil, class: 'property__name' do
35
+ %span.property__text Label Five
36
+ %span.property__requirement (required)
37
+ .value
38
+ = text_area_tag 'wl_property_textarea_1', nil, class: 'text-box text-box--multi-line text-box--wide'
39
+ .property
40
+ = label_tag 'wl_property_textarea_2', nil, class: 'property__name' do
41
+ %span.property__text Label Six
42
+ %span.property__requirement (required)
43
+ .value
44
+ = text_area_tag 'wl_property_textarea_2', nil, class: 'value__error text-box text-box--multi-line text-box--wide'
45
+ %label.value__error Error message text
46
+
47
+ #property--responsive.style-guide__subsection
48
+
49
+ %h3= link_to_style_guide('components', 'property__responsive')
50
+
51
+ %p Allows #{link_to_style_guide('components', 'property', true)} to be displayed as a row at the medium breakpoint.
52
+
53
+ .style-guide__example-block
54
+ .property.property--responsive
55
+ = label_tag 'wl_property_responsive_text_field_1', nil, class: 'property__name' do
56
+ %span.property__text Label One
57
+ .value
58
+ = text_field_tag 'wl_property_responsive_text_field_1', nil, class: 'text-box'
59
+ .property.property--responsive
60
+ = label_tag 'wl_property_responsive_text_field_2', nil, class: 'property__name' do
61
+ %span.property__text Label Two
62
+ %span.property__requirement (required)
63
+ .value
64
+ = text_field_tag 'wl_property_responsive_text_field_2', nil, class: 'value__error text-box'
65
+ %label.value__error Error message text
66
+ .property.property--responsive
67
+ = label_tag 'wl_property_responsive_select_field_1', nil, class: 'property__name' do
68
+ %span.property__text Label Three
69
+ %span.property__requirement.property__requirement--optional (optional)
70
+ .value
71
+ = select_tag 'wl_property_responsive_select_field_1', options_for_select(%w(One Two Three))
72
+ .property.property--responsive
73
+ = label_tag 'wl_property_responsive_select_field_2', nil, class: 'property__name' do
74
+ %span.property__text Label Four
75
+ %span.property__requirement (required)
76
+ .value
77
+ = select_tag 'wl_property_responsive_select_field_2', options_for_select(%w(One Two Three)), class: 'value__error'
78
+ %label.value__error Error message text
79
+ .property.property--responsive
80
+ = label_tag 'wl_property_responsive_textarea_1', nil, class: 'property__name' do
81
+ %span.property__text Label Five
82
+ %span.property__requirement (required)
83
+ .value
84
+ = text_area_tag 'wl_property_responsive_textarea_1', nil, class: 'text-box text-box--multi-line text-box--wide'
85
+ .property.property--responsive
86
+ = label_tag 'wl_property_responsive_textarea_2', nil, class: 'property__name' do
87
+ %span.property__text Label Six
88
+ %span.property__requirement (required)
89
+ .value
90
+ = text_area_tag 'wl_property_responsive_textarea_2', nil, class: 'value__error text-box text-box--multi-line text-box--wide'
91
+ %label.value__error Error message text
92
+
93
+ = append_partials('storefront.style_guide_components.property')
@@ -0,0 +1,43 @@
1
+ #recommendations.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'recommendations')
4
+
5
+ %p Displays a set of recommended products
6
+
7
+ .style-guide__example-block
8
+ .recommendations
9
+ .content-wrapper
10
+ %h2.recommendations__heading You may also like...
11
+
12
+ %ul.recommendations__list
13
+ .grid
14
+ - (1..4).each do |i|
15
+ .grid__cell.grid__cell--50.grid__cell--25-at-medium
16
+ .recommendations__item
17
+ .product-summary.product-summary--small
18
+ .product-summary__media
19
+ .product-summary__image-wrapper
20
+ = image_tag 'workarea/core/placeholder.png', size: '232x232', class: 'product-summary__image'
21
+ .product-summary__divider
22
+ .product-summary__info
23
+ %p.product-summary__name= link_to "Product Title #{i}", nil, class: 'product-summary__name-link', itemprop: 'url'
24
+ .product-prices.product-prices--summary{ itemprop: 'offers', itemscope: true, itemtype: 'http://schema.org/Offer' } $49.95
25
+
26
+ %p Can be displayed in a vertical layout by using recommendations--vertical modifier and removing grid and grid cell markup. This is designed to be used within an aside or other narrow layout area. Height is not restricted, this example sets the height inline as an example only.
27
+ .style-guide__example-block
28
+ .grid
29
+ .grid__cell.grid__cell--33
30
+ .recommendations.recommendations--vertical{ style: "height: 500px;" }
31
+ %h2.recommendations__heading You may also like...
32
+
33
+ %ul.recommendations__list
34
+ - (1..4).each do |i|
35
+ .recommendations__item
36
+ .product-summary.product-summary--small
37
+ .product-summary__media
38
+ .product-summary__image-wrapper
39
+ = image_tag 'workarea/core/placeholder.png', size: '232x232', class: 'product-summary__image'
40
+ .product-summary__divider
41
+ .product-summary__info
42
+ %p.product-summary__name= link_to "Product Title #{i}", nil, class: 'product-summary__name-link', itemprop: 'url'
43
+ .product-prices.product-prices--summary{ itemprop: 'offers', itemscope: true, itemtype: 'http://schema.org/Offer' } $49.95
@@ -0,0 +1,20 @@
1
+ #social-networks-content-block.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'social_networks_content_block')
4
+
5
+ %p A content block that wraps various social network icons
6
+
7
+ .style-guide__example-block
8
+ %ul.social-networks-content-block
9
+ %li.social-networks-content-block__item
10
+ = link_to '#', class: 'social-networks-content-block__button' do
11
+ = inline_svg('workarea/storefront/icons/facebook.svg', class: 'social-networks-content-block__icon')
12
+ %li.social-networks-content-block__item
13
+ = link_to '#', class: 'social-networks-content-block__button' do
14
+ = inline_svg('workarea/storefront/icons/twitter.svg', class: 'social-networks-content-block__icon')
15
+ %li.social-networks-content-block__item
16
+ = link_to '#', class: 'social-networks-content-block__button' do
17
+ = inline_svg('workarea/storefront/icons/google_plus.svg', class: 'social-networks-content-block__icon')
18
+ %li.social-networks-content-block__item
19
+ = link_to '#', class: 'social-networks-content-block__button' do
20
+ = inline_svg('workarea/storefront/icons/pinterest.svg', class: 'social-networks-content-block__icon')
@@ -0,0 +1,76 @@
1
+ #svg-icon.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'svg_icon')
4
+
5
+ %p should resize the icon to a default, medium size:
6
+ .grid.grid--auto.grid--huge
7
+ - style_guide_icons.each do |path|
8
+ .grid__cell
9
+ .align-center
10
+ = inline_svg path, title: File.basename(path), class: 'svg-icon'
11
+ %p= File.basename(path, '.svg')
12
+
13
+
14
+ #svg-icon--tiny.style-guide__subsection
15
+
16
+ %h3= link_to_style_guide('components', 'svg_icon__tiny')
17
+
18
+ %p should resize the icon to a tiny size:
19
+ .grid.grid--auto.grid--huge
20
+ - style_guide_icons.each do |path|
21
+ .grid__cell
22
+ .align-center
23
+ = inline_svg path, title: File.basename(path), class: 'svg-icon svg-icon--tiny'
24
+ %p= File.basename(path, '.svg')
25
+
26
+
27
+ #svg-icon--small.style-guide__subsection
28
+
29
+ %h3= link_to_style_guide('components', 'svg_icon__small')
30
+
31
+ %p should resize the icon to a smaller size:
32
+ .grid.grid--auto.grid--huge
33
+ - style_guide_icons.each do |path|
34
+ .grid__cell
35
+ .align-center
36
+ = inline_svg path, title: File.basename(path), class: 'svg-icon svg-icon--small'
37
+ %p= File.basename(path, '.svg')
38
+
39
+
40
+ #svg-icon--large.style-guide__subsection
41
+
42
+ %h3= link_to_style_guide('components', 'svg_icon__large')
43
+
44
+ %p should resize the icon to a larger size:
45
+ .grid.grid--auto.grid--huge
46
+ - style_guide_icons.each do |path|
47
+ .grid__cell
48
+ .align-center
49
+ = inline_svg path, title: File.basename(path), class: 'svg-icon svg-icon--large'
50
+ %p= File.basename(path, '.svg')
51
+
52
+ #svg-icon--extra-large.style-guide__subsection
53
+
54
+ %h3= link_to_style_guide('components', 'svg_icon__extra-large')
55
+
56
+ %p should resize the icon to a extra-large size:
57
+ .grid.grid--auto.grid--huge
58
+ - style_guide_icons.each do |path|
59
+ .grid__cell
60
+ .align-center
61
+ = inline_svg path, title: File.basename(path), class: 'svg-icon svg-icon--extra-large'
62
+ %p= File.basename(path, '.svg')
63
+
64
+
65
+ - %w(hover-primary-color theme-header primary-color link-color blue yellow red green white gray black black-alpha-50 black-alpha-15).each do |color|
66
+ .style-guide__subsection{ id: "svg-icon--#{color}" }
67
+
68
+ %h3= link_to_style_guide('components', "svg_icon__#{color}")
69
+
70
+ %p should change the fill color of the icon to <strong>#{color}</strong>:
71
+ .grid.grid--auto.grid--huge{ style: ('background: #303541; color: white; padding-top: 16px;' if color == 'white') }
72
+ - style_guide_icons.each do |path|
73
+ .grid__cell
74
+ .align-center
75
+ = inline_svg path, title: File.basename(path), class: "svg-icon svg-icon--#{color}"
76
+ %p= File.basename(path, '.svg')
@@ -0,0 +1,90 @@
1
+ #value.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('components', 'value')
4
+
5
+ %p Manages the layout of a form field, note, or error displayed for the field.
6
+
7
+ .style-guide__example-block
8
+ .value
9
+ = text_field_tag 'wl_value_text_field', nil, class: 'value__error text-box'
10
+ %span.value__error Error Message Text
11
+ = link_to 'What\'s This?', '#', class: 'value__note'
12
+
13
+ %p Can contain an icon
14
+ .style-guide__example-block
15
+ .value
16
+ = text_field_tag 'wl_value_text_field_div_with_icon', nil, class: 'text-box'
17
+ = inline_svg('workarea/storefront/icons/email.svg', class: 'value__icon')
18
+
19
+ %p Can contain a button
20
+ .style-guide__example-block
21
+ .value
22
+ = text_field_tag 'wl_value_text_field_div_with_button', nil, class: 'text-box'
23
+ .value__button= button_tag 'Button', value: 'button_action', class: 'button button--small'
24
+
25
+ .style-guide__unit-test
26
+
27
+ %h4 Unit Test
28
+
29
+ %p should work with a <code>div</code> (block-level) element, containing only a form field
30
+ .style-guide__example-block
31
+ .value
32
+ = text_field_tag 'wl_value_text_field_div', nil, class: 'text-box'
33
+ = inline_svg('workarea/storefront/icons/email.svg', class: 'value__icon')
34
+
35
+ %p should work with a <code>span</code> (inline) element, containing only a form field
36
+ .style-guide__example-block
37
+ %span.value
38
+ = text_field_tag 'wl_value_text_field_span', nil, class: 'text-box'
39
+ = inline_svg('workarea/storefront/icons/email.svg', class: 'value__icon')
40
+
41
+ %p should work with a <code>p</code> (block-level) element, containing only a form field
42
+ .style-guide__example-block
43
+ %p.value
44
+ = text_field_tag 'wl_value_text_field_p', nil, class: 'text-box'
45
+ = inline_svg('workarea/storefront/icons/email.svg', class: 'value__icon')
46
+
47
+ %p should work with a <code>div</code> (block-level) element, containing a form field and a note
48
+ .style-guide__example-block
49
+ .value
50
+ = text_field_tag 'wl_value_text_field_div_note', nil, class: 'text-box'
51
+ %span.value__note This is a note
52
+ = inline_svg('workarea/storefront/icons/email.svg', class: 'value__icon')
53
+
54
+ %p should work with a <code>span</code> (inline) element, containing a form field and a note
55
+ .style-guide__example-block
56
+ %span.value
57
+ = text_field_tag 'wl_value_text_field_span_note', nil, class: 'text-box'
58
+ %span.value__note This is a note
59
+ = inline_svg('workarea/storefront/icons/email.svg', class: 'value__icon')
60
+
61
+ %p should work with a <code>p</code> (block-level) element, containing a form field and a note
62
+ .style-guide__example-block
63
+ %p.value
64
+ = text_field_tag 'wl_value_text_field_p_note', nil, class: 'text-box'
65
+ %span.value__note This is a note
66
+ = inline_svg('workarea/storefront/icons/email.svg', class: 'value__icon')
67
+
68
+ %p should work with a <code>div</code> (block-level) element, containing a form field, error message, and a note with a link:
69
+ .style-guide__example-block
70
+ .value
71
+ = text_field_tag 'wl_value_text_field_div_error', nil, class: 'value__error text-box'
72
+ %span.value__error Error Message Text
73
+ = link_to 'What\'s This?', '#', class: 'value__note'
74
+ = inline_svg('workarea/storefront/icons/email.svg', class: 'value__icon')
75
+
76
+ %p should work with a <code>span</code> (inline) element, containing a form field, error message, and a note with a link:
77
+ .style-guide__example-block
78
+ %span.value
79
+ = text_field_tag 'wl_value_text_field_span_error', nil, class: 'value__error text-box'
80
+ %span.value__error Error Message Text
81
+ = link_to 'What\'s This?', '#', class: 'value__note'
82
+ = inline_svg('workarea/storefront/icons/email.svg', class: 'value__icon')
83
+
84
+ %p should work with a <code>p</code> (block-level) element, containing a form field, error message, and a note with a link:
85
+ .style-guide__example-block
86
+ %p.value
87
+ = text_field_tag 'wl_value_text_field_p_error', nil, class: 'value__error text-box'
88
+ %span.value__error Error Message Text
89
+ = link_to 'What\'s This?', '#', class: 'value__note'
90
+ = inline_svg('workarea/storefront/icons/email.svg', class: 'value__icon')
@@ -0,0 +1,90 @@
1
+ #color-variables.style-guide__subsection
2
+
3
+ %h3= link_to_style_guide('settings', 'color_variables')
4
+
5
+ %h5 Base colors
6
+ .style-guide__example-block
7
+ .grid.grid--auto
8
+ - colors = %w(red green blue yellow black white black-alpha-15 black-alpha-50 white-alpha-50 transparent)
9
+ - colors.each do |color|
10
+ .grid__cell
11
+ .color-box
12
+ .color-box__swatch{ class: "style-guide__color-swatch--#{color}" }
13
+ .color-box__swatch-name $#{color}
14
+
15
+ %h5 Brand colors
16
+
17
+ = render "workarea/storefront/style_guides/settings/color_schemes/#{Workarea.config.theme[:color_scheme].downcase}_color_scheme"
18
+
19
+ %h4 Functional Color variables - these should be used in the storefront
20
+ %br
21
+
22
+ %h5 Generic functional colors
23
+ .style-guide__example-block
24
+ .grid.grid--auto
25
+ - colors = %w(primary-color primary-color-dark background-color background-color-component)
26
+ - colors.each do |color|
27
+ .grid__cell
28
+ .color-box
29
+ .color-box__swatch{ class: "color-box__swatch--#{color}" }
30
+ .color-box__swatch-name $#{color}
31
+
32
+ %h5 Site header colors
33
+ .style-guide__example-block
34
+ .grid.grid--auto
35
+ - colors = %w(header-icon-color header-icon-color-hover utility-nav-background-color)
36
+ - colors.each do |color|
37
+ .grid__cell
38
+ .color-box
39
+ .color-box__swatch{ class: "color-box__swatch--#{color}" }
40
+ .color-box__swatch-name $#{color}
41
+
42
+ %h5 Navigation colors
43
+ .style-guide__example-block
44
+ .grid.grid--auto
45
+ - colors = %w(primary-nav-background-color primary-nav-border-color primary-nav-links primary-nav-dropdown-links primary-nav-dropdown-links-hover mobile-nav-links)
46
+ - colors.each do |color|
47
+ .grid__cell
48
+ .color-box
49
+ .color-box__swatch{ class: "color-box__swatch--#{color}" }
50
+ .color-box__swatch-name $#{color}
51
+
52
+ %h5 Footer colors
53
+ .style-guide__example-block
54
+ .grid.grid--auto
55
+ - colors = %w(footer-color footer-background-color)
56
+ - colors.each do |color|
57
+ .grid__cell
58
+ .color-box
59
+ .color-box__swatch{ class: "color-box__swatch--#{color}" }
60
+ .color-box__swatch-name $#{color}
61
+
62
+ %h5 Typography colors
63
+ .style-guide__example-block
64
+ .grid.grid--auto
65
+ - colors = %w(font-color heading-color product-name-color)
66
+ - colors.each do |color|
67
+ .grid__cell
68
+ .color-box
69
+ .color-box__swatch{ class: "color-box__swatch--#{color}" }
70
+ .color-box__swatch-name $#{color}
71
+
72
+ %h5 Link & button colors
73
+ .style-guide__example-block
74
+ .grid.grid--auto
75
+ - colors = %w(link-color link-color-hover button-color button-background-color button-background-color-hover button-border-color button-secondary-color button-secondary-background-color button-secondary-background-color-hover button-secondary-border-color button-secondary-border-color-disabled button-disabled-color button-disabled-background-color)
76
+ - colors.each do |color|
77
+ .grid__cell
78
+ .color-box
79
+ .color-box__swatch{ class: "color-box__swatch--#{color}" }
80
+ .color-box__swatch-name $#{color}
81
+
82
+ %h5 Input colors
83
+ .style-guide__example-block
84
+ .grid.grid--auto
85
+ - colors = %w(label-color input-color input-background-color input-border-color input-border-color-focus focus-ring-color invalid-color valid-color)
86
+ - colors.each do |color|
87
+ .grid__cell
88
+ .color-box
89
+ .color-box__swatch{ class: "color-box__swatch--#{color}" }
90
+ .color-box__swatch-name $#{color}