workarea-one_theme 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.editorconfig +20 -0
- data/.eslintignore +1 -0
- data/.eslintrc +25 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
- data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/workflows/ci.yml +60 -0
- data/.gitignore +21 -0
- data/.rubocop.yml +3 -0
- data/.stylelintrc.json +8 -0
- data/CHANGELOG.md +267 -0
- data/CODE_OF_CONDUCT.md +3 -0
- data/CONTRIBUTING.md +3 -0
- data/Gemfile +20 -0
- data/LICENSE.md +3 -0
- data/README.md +173 -0
- data/Rakefile +63 -0
- data/app/assets/fonts/workarea/storefront/Hind/hind_bold_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Hind/hind_bold_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/Hind/hind_regular_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Hind/hind_regular_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/Muli/muli_bold_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Muli/muli_bold_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/Muli/muli_bolditalic_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Muli/muli_bolditalic_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/Muli/muli_italic_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Muli/muli_italic_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/Muli/muli_regular_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Muli/muli_regular_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/Playfair_Display/playfairdisplay_bold_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Playfair_Display/playfairdisplay_bold_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/Playfair_Display/playfairdisplay_bolditalic_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Playfair_Display/playfairdisplay_bolditalic_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/Playfair_Display/playfairdisplay_italic_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Playfair_Display/playfairdisplay_italic_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/Playfair_Display/playfairdisplay_regular_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Playfair_Display/playfairdisplay_regular_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/Source_Serif_Pro/source_serif_pro_bold_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Source_Serif_Pro/source_serif_pro_bold_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/Source_Serif_Pro/source_serif_pro_regular_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/Source_Serif_Pro/source_serif_pro_regular_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/lora/lora_bold_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/lora/lora_bold_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/lora/lora_bolditalic_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/lora/lora_bolditalic_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/lora/lora_italic_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/lora/lora_italic_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/lora/lora_regular_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/lora/lora_regular_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/roboto/roboto_bold_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/roboto/roboto_bold_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/roboto/roboto_italic_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/roboto/roboto_italic_webfont.woff2 +0 -0
- data/app/assets/fonts/workarea/storefront/roboto/roboto_regular_webfont.woff +0 -0
- data/app/assets/fonts/workarea/storefront/roboto/roboto_regular_webfont.woff2 +0 -0
- data/app/assets/images/workarea/admin/content_block_types/hero_slider.svg +1 -0
- data/app/assets/images/workarea/admin/content_block_types/taxonomy_with_category_summary.svg +1 -0
- data/app/assets/images/workarea/admin/content_block_types/taxonomy_with_products.svg +1 -0
- data/app/assets/images/workarea/storefront/dialog_close.svg +1 -0
- data/app/assets/images/workarea/storefront/icons/account.svg +1 -0
- data/app/assets/images/workarea/storefront/icons/arrow_left.svg +1 -0
- data/app/assets/images/workarea/storefront/icons/arrow_right.svg +1 -0
- data/app/assets/images/workarea/storefront/icons/cart.svg +1 -0
- data/app/assets/images/workarea/storefront/icons/chevron_down.svg +1 -0
- data/app/assets/images/workarea/storefront/icons/chevron_right.svg +1 -0
- data/app/assets/images/workarea/storefront/icons/search.svg +1 -0
- data/app/assets/images/workarea/storefront/logo.png +0 -0
- data/app/assets/javascripts/workarea/storefront/application.js.erb +147 -0
- data/app/assets/javascripts/workarea/storefront/clothing/modules/product_details_color_buttons.js +86 -0
- data/app/assets/javascripts/workarea/storefront/dependencies/jquery.payment.js +655 -0
- data/app/assets/javascripts/workarea/storefront/modules/address_region_fields.js +93 -0
- data/app/assets/javascripts/workarea/storefront/modules/cart_indicator.js +35 -0
- data/app/assets/javascripts/workarea/storefront/modules/checkout_primary_payments.js +136 -0
- data/app/assets/javascripts/workarea/storefront/modules/header_search_ui.js +64 -0
- data/app/assets/javascripts/workarea/storefront/modules/mobile_filters.js +79 -0
- data/app/assets/javascripts/workarea/storefront/modules/mobile_nav_button.js +137 -0
- data/app/assets/javascripts/workarea/storefront/modules/quantity_control.js +56 -0
- data/app/assets/javascripts/workarea/storefront/modules/utility_nav_dropdown.js +43 -0
- data/app/assets/javascripts/workarea/storefront/one_theme/config.js +20 -0
- data/app/assets/javascripts/workarea/storefront/product_quickview/templates/quickview_button.jst.ejs +3 -0
- data/app/assets/javascripts/workarea/storefront/reviews/modules/product_reviews_sort_menus.js +82 -0
- data/app/assets/javascripts/workarea/storefront/reviews/templates/sort_by_property.jst.ejs +19 -0
- data/app/assets/javascripts/workarea/storefront/templates/log_out_link.jst.ejs +1 -0
- data/app/assets/javascripts/workarea/storefront/templates/saved_addresses_property.jst.ejs +23 -0
- data/app/assets/stylesheets/jquery_ui/storefront/_ui_autocomplete.scss +17 -0
- data/app/assets/stylesheets/jquery_ui/storefront/_ui_dialog.scss +150 -0
- data/app/assets/stylesheets/jquery_ui/storefront/_ui_menu.scss +42 -0
- data/app/assets/stylesheets/one_theme/.keep +0 -0
- data/app/assets/stylesheets/workarea/storefront/base/_forms.scss +197 -0
- data/app/assets/stylesheets/workarea/storefront/base/_tables.scss +32 -0
- data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry.scss +139 -0
- data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry_summary.scss +90 -0
- data/app/assets/stylesheets/workarea/storefront/clothing/components/_color_options.scss +57 -0
- data/app/assets/stylesheets/workarea/storefront/clothing/components/_size_options.scss +123 -0
- data/app/assets/stylesheets/workarea/storefront/components/_account_dashboard.scss +33 -0
- data/app/assets/stylesheets/workarea/storefront/components/_box.scss +45 -0
- data/app/assets/stylesheets/workarea/storefront/components/_breadcrumbs.scss +27 -0
- data/app/assets/stylesheets/workarea/storefront/components/_button.scss +72 -0
- data/app/assets/stylesheets/workarea/storefront/components/_button_property.scss +41 -0
- data/app/assets/stylesheets/workarea/storefront/components/_cart.scss +26 -0
- data/app/assets/stylesheets/workarea/storefront/components/_category_summary_content_block.scss +78 -0
- data/app/assets/stylesheets/workarea/storefront/components/_checkout_addresses.scss +21 -0
- data/app/assets/stylesheets/workarea/storefront/components/_checkout_payment.scss +58 -0
- data/app/assets/stylesheets/workarea/storefront/components/_checkout_progress.scss +47 -0
- data/app/assets/stylesheets/workarea/storefront/components/_checkout_shipping.scss +15 -0
- data/app/assets/stylesheets/workarea/storefront/components/_checkout_step_summary.scss +47 -0
- data/app/assets/stylesheets/workarea/storefront/components/_color_box.scss +48 -0
- data/app/assets/stylesheets/workarea/storefront/components/_data_card.scss +70 -0
- data/app/assets/stylesheets/workarea/storefront/components/_hamburger.scss +107 -0
- data/app/assets/stylesheets/workarea/storefront/components/_header.scss +31 -0
- data/app/assets/stylesheets/workarea/storefront/components/_hero_slider_content_block.scss +75 -0
- data/app/assets/stylesheets/workarea/storefront/components/_loading.scss +92 -0
- data/app/assets/stylesheets/workarea/storefront/components/_mobile_filters.scss +42 -0
- data/app/assets/stylesheets/workarea/storefront/components/_mobile_nav.scss +146 -0
- data/app/assets/stylesheets/workarea/storefront/components/_option_button.scss +45 -0
- data/app/assets/stylesheets/workarea/storefront/components/_order_help_menu.scss +33 -0
- data/app/assets/stylesheets/workarea/storefront/components/_order_summary.scss +19 -0
- data/app/assets/stylesheets/workarea/storefront/components/_page_container.scss +31 -0
- data/app/assets/stylesheets/workarea/storefront/components/_page_content.scss +30 -0
- data/app/assets/stylesheets/workarea/storefront/components/_page_footer.scss +96 -0
- data/app/assets/stylesheets/workarea/storefront/components/_page_header.scss +188 -0
- data/app/assets/stylesheets/workarea/storefront/components/_page_messages.scss +36 -0
- data/app/assets/stylesheets/workarea/storefront/components/_page_sub_footer.scss +39 -0
- data/app/assets/stylesheets/workarea/storefront/components/_pagination.scss +10 -0
- data/app/assets/stylesheets/workarea/storefront/components/_payment_icon.scss +29 -0
- data/app/assets/stylesheets/workarea/storefront/components/_primary_nav.scss +99 -0
- data/app/assets/stylesheets/workarea/storefront/components/_product_detail_container.scss +19 -0
- data/app/assets/stylesheets/workarea/storefront/components/_product_details.scss +94 -0
- data/app/assets/stylesheets/workarea/storefront/components/_product_list.scss +182 -0
- data/app/assets/stylesheets/workarea/storefront/components/_product_list_content_block.scss +20 -0
- data/app/assets/stylesheets/workarea/storefront/components/_product_media.scss +109 -0
- data/app/assets/stylesheets/workarea/storefront/components/_product_prices.scss +45 -0
- data/app/assets/stylesheets/workarea/storefront/components/_product_summary.scss +92 -0
- data/app/assets/stylesheets/workarea/storefront/components/_promo_code_accordion.scss +13 -0
- data/app/assets/stylesheets/workarea/storefront/components/_property.scss +68 -0
- data/app/assets/stylesheets/workarea/storefront/components/_quantity_control.scss +77 -0
- data/app/assets/stylesheets/workarea/storefront/components/_result_filters.scss +57 -0
- data/app/assets/stylesheets/workarea/storefront/components/_select_menu.scss +68 -0
- data/app/assets/stylesheets/workarea/storefront/components/_svg_icon.scss +78 -0
- data/app/assets/stylesheets/workarea/storefront/components/_taxonomy_content_block.scss +173 -0
- data/app/assets/stylesheets/workarea/storefront/components/_text_box.scss +57 -0
- data/app/assets/stylesheets/workarea/storefront/components/_text_button.scss +19 -0
- data/app/assets/stylesheets/workarea/storefront/components/_utility_nav.scss +49 -0
- data/app/assets/stylesheets/workarea/storefront/components/_value.scss +51 -0
- data/app/assets/stylesheets/workarea/storefront/email/_settings.scss +23 -0
- data/app/assets/stylesheets/workarea/storefront/generic/_fonts.scss.erb +11 -0
- data/app/assets/stylesheets/workarea/storefront/objects/_content_wrapper.scss +23 -0
- data/app/assets/stylesheets/workarea/storefront/product_quickview/components/_quickview_button.scss +33 -0
- data/app/assets/stylesheets/workarea/storefront/reviews/components/_reviews.scss +66 -0
- data/app/assets/stylesheets/workarea/storefront/reviews/components/_write_review.scss +71 -0
- data/app/assets/stylesheets/workarea/storefront/settings/_colors.scss.erb +21 -0
- data/app/assets/stylesheets/workarea/storefront/settings/_font_families.scss.erb +6 -0
- data/app/assets/stylesheets/workarea/storefront/settings/_global.scss +39 -0
- data/app/assets/stylesheets/workarea/storefront/settings/_typography.scss +8 -0
- data/app/assets/stylesheets/workarea/storefront/settings/_z_indexes.scss +43 -0
- data/app/assets/stylesheets/workarea/storefront/share/components/_share_buttons.scss +22 -0
- data/app/assets/stylesheets/workarea/storefront/slick_slider/components/_slick_slider.scss +171 -0
- data/app/assets/stylesheets/workarea/storefront/swatches/components/_swatch_facet.scss +26 -0
- data/app/assets/stylesheets/workarea/storefront/swatches/components/_swatch_options.scss +55 -0
- data/app/assets/stylesheets/workarea/storefront/theme_config/_midnight_color_scheme.scss +110 -0
- data/app/assets/stylesheets/workarea/storefront/theme_config/_one_color_scheme.scss +104 -0
- data/app/assets/stylesheets/workarea/storefront/theme_config/_workarea_color_scheme.scss +105 -0
- data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_hind.scss +19 -0
- data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_lora.scss +33 -0
- data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_muli.scss +33 -0
- data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_playfair_display.scss +33 -0
- data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_roboto.scss +26 -0
- data/app/assets/stylesheets/workarea/storefront/theme_config/fonts/_source_serif_pro.scss +19 -0
- data/app/assets/stylesheets/workarea/storefront/tools/_checkout_section.scss +12 -0
- data/app/assets/stylesheets/workarea/storefront/tools/_full_bleed_container.scss +15 -0
- data/app/assets/stylesheets/workarea/storefront/typography/_headings.scss +81 -0
- data/app/assets/stylesheets/workarea/storefront/typography/_links.scss +27 -0
- data/app/assets/stylesheets/workarea/storefront/typography/_text.scss +30 -0
- data/app/helpers/workarea/storefront/one_theme_helper.rb +71 -0
- data/app/seeds/workarea/browse_navigation_seeds.rb +35 -0
- data/app/seeds/workarea/content_block_page_seeds.rb +22 -0
- data/app/seeds/workarea/theme_home_page_seeds.rb +58 -0
- data/app/seeds/workarea/theme_layout_content_seeds.rb +41 -0
- data/app/view_models/workarea/storefront/content_blocks/category_summary_view_model.decorator +21 -0
- data/app/view_models/workarea/storefront/content_blocks/hero_slider_block_view_model.rb +44 -0
- data/app/view_models/workarea/storefront/content_blocks/product_list_view_model.decorator +50 -0
- data/app/view_models/workarea/storefront/content_blocks/taxonomy_with_category_view_model.rb +49 -0
- data/app/view_models/workarea/storefront/content_blocks/taxonomy_with_products_view_model.rb +21 -0
- data/app/view_models/workarea/storefront/product_view_model.decorator +11 -0
- data/app/views/layouts/workarea/storefront/_wish_lists_link.html.haml +4 -0
- data/app/views/layouts/workarea/storefront/application.html.haml +211 -0
- data/app/views/layouts/workarea/storefront/checkout.html.haml +97 -0
- data/app/views/workarea/storefront/blog_comments/index.html.haml +31 -0
- data/app/views/workarea/storefront/blog_entries/_summary.html.haml +26 -0
- data/app/views/workarea/storefront/blog_entries/show.html.haml +85 -0
- data/app/views/workarea/storefront/blogs/_blog_navigation.html.haml +7 -0
- data/app/views/workarea/storefront/blogs/index.html.haml +47 -0
- data/app/views/workarea/storefront/cart_items/create.html.haml +66 -0
- data/app/views/workarea/storefront/carts/show.html.haml +175 -0
- data/app/views/workarea/storefront/categories/show.html.haml +105 -0
- data/app/views/workarea/storefront/checkouts/_gift_card_payment.html.haml +38 -0
- data/app/views/workarea/storefront/checkouts/_summary.html.haml +102 -0
- data/app/views/workarea/storefront/checkouts/addresses.html.haml +56 -0
- data/app/views/workarea/storefront/checkouts/confirmation.html.haml +58 -0
- data/app/views/workarea/storefront/checkouts/payment.html.haml +186 -0
- data/app/views/workarea/storefront/checkouts/shipping.html.haml +38 -0
- data/app/views/workarea/storefront/content_blocks/_blog_entry.html.haml +19 -0
- data/app/views/workarea/storefront/content_blocks/_category_summary.html.haml +20 -0
- data/app/views/workarea/storefront/content_blocks/_hero_slider.html.haml +15 -0
- data/app/views/workarea/storefront/content_blocks/_product_list.html.haml +11 -0
- data/app/views/workarea/storefront/content_blocks/_social_networks.html.haml +17 -0
- data/app/views/workarea/storefront/content_blocks/_taxonomy_with_category_summary.html.haml +26 -0
- data/app/views/workarea/storefront/content_blocks/_taxonomy_with_products.html.haml +26 -0
- data/app/views/workarea/storefront/menus/index.html.haml +17 -0
- data/app/views/workarea/storefront/orders/_summary.html.haml +286 -0
- data/app/views/workarea/storefront/products/_media.html.haml +22 -0
- data/app/views/workarea/storefront/products/_media_carousel.html.haml +25 -0
- data/app/views/workarea/storefront/products/_pricing.html.haml +40 -0
- data/app/views/workarea/storefront/products/_reviews.html.haml +27 -0
- data/app/views/workarea/storefront/products/_subscription_fields.html.haml +15 -0
- data/app/views/workarea/storefront/products/_summary.html.haml +16 -0
- data/app/views/workarea/storefront/products/_swatch_summary.html.haml +17 -0
- data/app/views/workarea/storefront/products/package_show.html.haml +46 -0
- data/app/views/workarea/storefront/products/show.html.haml +53 -0
- data/app/views/workarea/storefront/products/templates/_generic.html.haml +61 -0
- data/app/views/workarea/storefront/products/templates/_gift_card.html.haml +68 -0
- data/app/views/workarea/storefront/products/templates/_option_selects.html.haml +61 -0
- data/app/views/workarea/storefront/products/templates/_option_thumbnails.html.haml +67 -0
- data/app/views/workarea/storefront/products/templates/_swatches.html.haml +78 -0
- data/app/views/workarea/storefront/reviews/new.html.haml +72 -0
- data/app/views/workarea/storefront/searches/content.html.haml +78 -0
- data/app/views/workarea/storefront/searches/show.html.haml +97 -0
- data/app/views/workarea/storefront/shared/_address_fields.html.haml +109 -0
- data/app/views/workarea/storefront/shares/_share_buttons.html.haml +17 -0
- data/app/views/workarea/storefront/style_guides/base/_forms.html.haml +91 -0
- data/app/views/workarea/storefront/style_guides/components/_breadcrumbs.html.haml +13 -0
- data/app/views/workarea/storefront/style_guides/components/_button.html.haml +69 -0
- data/app/views/workarea/storefront/style_guides/components/_category_summary_content_block.html.haml +54 -0
- data/app/views/workarea/storefront/style_guides/components/_header.html.haml +18 -0
- data/app/views/workarea/storefront/style_guides/components/_hero_slider_content_block.html.haml +46 -0
- data/app/views/workarea/storefront/style_guides/components/_mobile_filters.html.haml +17 -0
- data/app/views/workarea/storefront/style_guides/components/_product_list_content_block.html.haml +46 -0
- data/app/views/workarea/storefront/style_guides/components/_product_summary.html.haml +47 -0
- data/app/views/workarea/storefront/style_guides/components/_svg_icon.html.haml +63 -0
- data/app/views/workarea/storefront/style_guides/components/_taxonomy_with_category_summary_content_block.html.haml +33 -0
- data/app/views/workarea/storefront/style_guides/components/_taxonomy_with_products_content_block.html.haml +33 -0
- data/app/views/workarea/storefront/style_guides/components/_text_box.html.haml +63 -0
- data/app/views/workarea/storefront/style_guides/settings/_color_variables.html.haml +79 -0
- data/app/views/workarea/storefront/style_guides/settings/color_schemes/_midnight_color_scheme.html.haml +7 -0
- data/app/views/workarea/storefront/style_guides/settings/color_schemes/_one_color_scheme.html.haml +7 -0
- data/app/views/workarea/storefront/style_guides/settings/color_schemes/_workarea_color_scheme.html.haml +8 -0
- data/app/views/workarea/storefront/style_guides/typography/_headings.html.haml +47 -0
- data/app/views/workarea/storefront/style_guides/typography/_links.html.haml +27 -0
- data/app/views/workarea/storefront/users/accounts/_wish_list_summary.html.haml +16 -0
- data/app/views/workarea/storefront/users/accounts/edit.html.haml +41 -0
- data/app/views/workarea/storefront/users/accounts/show.html.haml +118 -0
- data/app/views/workarea/storefront/users/credit_cards/edit.html.haml +74 -0
- data/app/views/workarea/storefront/users/credit_cards/new.html.haml +66 -0
- data/app/views/workarea/storefront/users/orders/index.html.haml +22 -0
- data/app/views/workarea/storefront/users/orders/show.html.haml +31 -0
- data/app/views/workarea/storefront/users/wish_lists/show.html.haml +136 -0
- data/app/views/workarea/storefront/wish_lists/show.html.haml +99 -0
- data/bin/rails +20 -0
- data/config/initializers/appends.rb +62 -0
- data/config/initializers/configuration.rb +9 -0
- data/config/initializers/content_block_types.rb +91 -0
- data/config/initializers/dragonfly.rb +50 -0
- data/config/initializers/seeds.rb +5 -0
- data/config/initializers/theme.rb +16 -0
- data/config/initializers/workarea.rb +3 -0
- data/config/locales/en.yml +26 -0
- data/config/routes.rb +2 -0
- data/lib/tasks/one_theme_tasks.rake +4 -0
- data/lib/workarea/one_theme.rb +24 -0
- data/lib/workarea/one_theme/engine.rb +13 -0
- data/lib/workarea/one_theme/version.rb +5 -0
- data/package.json +9 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/config/manifest.js +4 -0
- data/test/dummy/app/assets/images/.keep +0 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/controllers/concerns/.keep +0 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/jobs/application_job.rb +2 -0
- data/test/dummy/app/mailers/application_mailer.rb +4 -0
- data/test/dummy/app/models/concerns/.keep +0 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +38 -0
- data/test/dummy/bin/update +29 -0
- data/test/dummy/bin/yarn +11 -0
- data/test/dummy/config.ru +5 -0
- data/test/dummy/config/application.rb +29 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/cable.yml +10 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +54 -0
- data/test/dummy/config/environments/production.rb +91 -0
- data/test/dummy/config/environments/test.rb +44 -0
- data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
- data/test/dummy/config/initializers/assets.rb +14 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/workarea.rb +5 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +33 -0
- data/test/dummy/config/puma.rb +56 -0
- data/test/dummy/config/routes.rb +5 -0
- data/test/dummy/config/secrets.yml +32 -0
- data/test/dummy/config/spring.rb +6 -0
- data/test/dummy/db/seeds.rb +2 -0
- data/test/dummy/lib/assets/.keep +0 -0
- data/test/dummy/log/.keep +0 -0
- data/test/dummy/package.json +5 -0
- data/test/helpers/workarea/storefront/reviews_helper_test.decorator +11 -0
- data/test/integration/workarea/blog/wordpress_import_integration_test.decorator +27 -0
- data/test/integration/workarea/storefront/sharing_integration_test.decorator +40 -0
- data/test/integration/workarea/storefront/swatches_integration_test.decorator +28 -0
- data/test/system/workarea/admin/guest_browsing_system_test.decorator +40 -0
- data/test/system/workarea/storefront/analytics_system_test.decorator +51 -0
- data/test/system/workarea/storefront/browse_swatches_system_test.decorator +48 -0
- data/test/system/workarea/storefront/cart_items_system_test.decorator +98 -0
- data/test/system/workarea/storefront/categories_system_test.decorator +100 -0
- data/test/system/workarea/storefront/content_search_autocomplete_system_test.decorator +33 -0
- data/test/system/workarea/storefront/content_search_system_test.decorator +21 -0
- data/test/system/workarea/storefront/content_system_test.decorator +21 -0
- data/test/system/workarea/storefront/guest_checkout_system_test.decorator +37 -0
- data/test/system/workarea/storefront/logged_in_checkout_system_test.decorator +34 -0
- data/test/system/workarea/storefront/login_system_test.decorator +94 -0
- data/test/system/workarea/storefront/navigation_system_test.decorator +28 -0
- data/test/system/workarea/storefront/passwords_system_test.decorator +59 -0
- data/test/system/workarea/storefront/review_system_test.decorator +23 -0
- data/test/system/workarea/storefront/search_autocomplete_system_test.decorator +46 -0
- data/test/system/workarea/storefront/search_system_test.decorator +71 -0
- data/test/teaspoon_env.rb +6 -0
- data/test/test_helper.rb +10 -0
- data/test/view_models/workarea/storefront/taxonomy_with_category_view_model_test.rb +35 -0
- data/test/view_models/workarea/storefront/taxonomy_with_products_view_model_test.rb +28 -0
- data/workarea-one_theme.gemspec +33 -0
- data/yarn.lock +3290 -0
- metadata +582 -0
@@ -0,0 +1,56 @@
|
|
1
|
+
/**
|
2
|
+
* @namespace WORKAREA.quantityControl
|
3
|
+
*/
|
4
|
+
WORKAREA.registerModule('quantityControl', (function () {
|
5
|
+
'use strict';
|
6
|
+
|
7
|
+
var handleQtyEvent = function (event) {
|
8
|
+
var $button = $(event.currentTarget),
|
9
|
+
eventData = $button.data('quantityControl'),
|
10
|
+
$qtyInput = $button.closest('form').find('.quantity-control__input'),
|
11
|
+
currentQty = parseInt($qtyInput.val()),
|
12
|
+
changeDirection = eventData.direction,
|
13
|
+
autoSubmit = eventData.autosubmit || false;
|
14
|
+
|
15
|
+
event.preventDefault();
|
16
|
+
|
17
|
+
updateQty($qtyInput, calculateQty(currentQty, changeDirection));
|
18
|
+
|
19
|
+
if(autoSubmit) {
|
20
|
+
_.delay(submitForm, WORKAREA.config.oneTheme.quantityConrol.autoSubmitDelay, $qtyInput);
|
21
|
+
}
|
22
|
+
},
|
23
|
+
|
24
|
+
calculateQty = function(currentQty, changeDirection) {
|
25
|
+
if (changeDirection === 'inc') {
|
26
|
+
return currentQty + 1;
|
27
|
+
} else {
|
28
|
+
return currentQty > 0 ? currentQty - 1 : currentQty;
|
29
|
+
}
|
30
|
+
},
|
31
|
+
|
32
|
+
updateQty = function ($qtyInput, newQty) {
|
33
|
+
$qtyInput.val(newQty);
|
34
|
+
},
|
35
|
+
|
36
|
+
submitForm = function($qtyInput) {
|
37
|
+
var $form = $qtyInput.closest('form');
|
38
|
+
|
39
|
+
if($form.valid()) {
|
40
|
+
$form.submit();
|
41
|
+
}
|
42
|
+
},
|
43
|
+
|
44
|
+
/**
|
45
|
+
* @method
|
46
|
+
* @name init
|
47
|
+
* @memberof WORKAREA.quantityControl
|
48
|
+
*/
|
49
|
+
init = function ($scope) {
|
50
|
+
$('[data-quantity-control]', $scope).on('click', handleQtyEvent);
|
51
|
+
};
|
52
|
+
|
53
|
+
return {
|
54
|
+
init: init
|
55
|
+
};
|
56
|
+
}()));
|
@@ -0,0 +1,43 @@
|
|
1
|
+
/**
|
2
|
+
* @namespace WORKAREA.utilityNavDropdown
|
3
|
+
*/
|
4
|
+
WORKAREA.registerModule('utilityNavDropdown', (function () {
|
5
|
+
'use strict';
|
6
|
+
|
7
|
+
var openUtilityNav = function($utilityNav) {
|
8
|
+
$utilityNav.addClass('utility-nav--is-open');
|
9
|
+
},
|
10
|
+
|
11
|
+
closeUtilityNav = function($utilityNav) {
|
12
|
+
$utilityNav.removeClass('utility-nav--is-open');
|
13
|
+
},
|
14
|
+
|
15
|
+
utilityNavIsOpen = function($utilityNav) {
|
16
|
+
return $utilityNav.hasClass('utility-nav--is-open');
|
17
|
+
},
|
18
|
+
|
19
|
+
handleClickEvent = function(event) {
|
20
|
+
var $button = $(event.currentTarget),
|
21
|
+
$pageHeader = $button.closest('.page-header'),
|
22
|
+
$utilityNav = $pageHeader.find('.utility-nav');
|
23
|
+
|
24
|
+
if (utilityNavIsOpen($utilityNav)) {
|
25
|
+
closeUtilityNav($utilityNav);
|
26
|
+
} else {
|
27
|
+
openUtilityNav($utilityNav);
|
28
|
+
}
|
29
|
+
},
|
30
|
+
|
31
|
+
/**
|
32
|
+
* @method
|
33
|
+
* @name init
|
34
|
+
* @memberof WORKAREA.utilityNavDropdown
|
35
|
+
*/
|
36
|
+
init = function ($scope) {
|
37
|
+
$('[data-utility-nav-dropdown]', $scope).on('click', handleClickEvent);
|
38
|
+
};
|
39
|
+
|
40
|
+
return {
|
41
|
+
init: init
|
42
|
+
};
|
43
|
+
}()));
|
@@ -0,0 +1,20 @@
|
|
1
|
+
(function () {
|
2
|
+
'use strict';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* Config Variables
|
6
|
+
*/
|
7
|
+
|
8
|
+
WORKAREA.config.oneTheme = {
|
9
|
+
quantityConrol: {
|
10
|
+
autoSubmitDelay: 500
|
11
|
+
}
|
12
|
+
};
|
13
|
+
|
14
|
+
if (!_.isEmpty($.validator)) {
|
15
|
+
// Add `CVV` method to jQuery Validate
|
16
|
+
$.validator.addMethod('cvv', function (value, element) {
|
17
|
+
return WORKAREA.checkoutPrimaryPayments.checkCvvCode(element);
|
18
|
+
});
|
19
|
+
}
|
20
|
+
})();
|
@@ -0,0 +1,82 @@
|
|
1
|
+
/**
|
2
|
+
* @namespace WORKAREA.productReviewsSortMenus
|
3
|
+
*/
|
4
|
+
WORKAREA.registerModule('productReviewsSortMenus', (function () {
|
5
|
+
'use strict';
|
6
|
+
|
7
|
+
var insertSortSelectBox = function (index, section) {
|
8
|
+
$('.reviews__header', section).append(
|
9
|
+
JST['workarea/storefront/reviews/templates/sort_by_property']()
|
10
|
+
);
|
11
|
+
},
|
12
|
+
|
13
|
+
sortNewToOld = function ($reviews) {
|
14
|
+
return _.sortBy($reviews, function (review) {
|
15
|
+
return -($(review).data('productReviewSectionEntry').createdAt);
|
16
|
+
});
|
17
|
+
},
|
18
|
+
|
19
|
+
sortOldToNew = function ($reviews) {
|
20
|
+
return _.sortBy($reviews, function (review) {
|
21
|
+
return $(review).data('productReviewSectionEntry').createdAt;
|
22
|
+
});
|
23
|
+
},
|
24
|
+
|
25
|
+
|
26
|
+
sortHighToLow = function ($reviews) {
|
27
|
+
return _.sortBy($reviews, function (review) {
|
28
|
+
return -($(review).data('productReviewSectionEntry').rating);
|
29
|
+
});
|
30
|
+
},
|
31
|
+
|
32
|
+
sortLowToHigh = function ($reviews) {
|
33
|
+
return _.sortBy($reviews, function (review) {
|
34
|
+
return $(review).data('productReviewSectionEntry').rating;
|
35
|
+
});
|
36
|
+
},
|
37
|
+
|
38
|
+
handleSortSelectChange = function (event) {
|
39
|
+
var $reviews = $(
|
40
|
+
'[data-product-review-section-entry]', event.delegateTarget
|
41
|
+
),
|
42
|
+
|
43
|
+
action = $(event.currentTarget).val(),
|
44
|
+
|
45
|
+
actions = {
|
46
|
+
oldest: function () {
|
47
|
+
return sortOldToNew($reviews);
|
48
|
+
},
|
49
|
+
newest: function () {
|
50
|
+
return sortNewToOld($reviews);
|
51
|
+
},
|
52
|
+
lowest: function () {
|
53
|
+
return sortLowToHigh($reviews);
|
54
|
+
},
|
55
|
+
highest: function () {
|
56
|
+
return sortHighToLow($reviews);
|
57
|
+
}
|
58
|
+
};
|
59
|
+
|
60
|
+
$('.reviews__review-group', event.delegateTarget)
|
61
|
+
.html(actions[action]());
|
62
|
+
},
|
63
|
+
|
64
|
+
/**
|
65
|
+
* @method
|
66
|
+
* @name init
|
67
|
+
* @memberof WORKAREA.productReviewsSortMenus
|
68
|
+
*/
|
69
|
+
init = function ($scope) {
|
70
|
+
$('.reviews', $scope)
|
71
|
+
.each(insertSortSelectBox)
|
72
|
+
.on(
|
73
|
+
'change',
|
74
|
+
'[data-product-reviews-sort-menu]',
|
75
|
+
handleSortSelectChange
|
76
|
+
);
|
77
|
+
};
|
78
|
+
|
79
|
+
return {
|
80
|
+
init: init
|
81
|
+
};
|
82
|
+
}()));
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<div class="grid__cell grid__cell--50-at-medium">
|
2
|
+
<div class="grid grid--right grid--auto">
|
3
|
+
<div class="grid__cell">
|
4
|
+
<div class="property">
|
5
|
+
<label class="property__name"><span class="property__text">Sort By</span></label>
|
6
|
+
<div class="value">
|
7
|
+
<div class="select-menu">
|
8
|
+
<select data-product-reviews-sort-menu="">
|
9
|
+
<option value="newest" selected>Most Recent</option>
|
10
|
+
<option value="oldest">Oldest First</option>
|
11
|
+
<option value="highest">Rating: High to Low</option>
|
12
|
+
<option value="lowest">Rating: Low to High</option>
|
13
|
+
</select>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
</div>
|
@@ -0,0 +1 @@
|
|
1
|
+
<a href="<%= WORKAREA.routes.storefront.logoutPath() %>" data-analytics="{'event':'logout', 'domEvent':'click'}" data-method="delete" class="page-header__logout-link"><%= I18n.t('workarea.storefront.users.logout') %></a>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<div class="property property--wide-row-at-medium">
|
2
|
+
<label for="saved_addresses_<%= counter %>" class="property__name">
|
3
|
+
<span><%= I18n.t('workarea.storefront.checkouts.saved_addresses') %></span>
|
4
|
+
</label>
|
5
|
+
<div class="value">
|
6
|
+
<div class="select-menu">
|
7
|
+
<select id="saved_addresses_<%= counter %>" name="saved_addresses_<%= counter %>">
|
8
|
+
<option value="" selected><%= I18n.t('workarea.storefront.checkouts.select_an_address') %></option>
|
9
|
+
<% _.forEach(addresses, function(address) { %>
|
10
|
+
<option value="<%= address._id %>">
|
11
|
+
<%= address.first_name %>
|
12
|
+
<%= address.last_name %>
|
13
|
+
<%= address.street %>
|
14
|
+
<%= address.street_2 %>
|
15
|
+
<%= address.city %>
|
16
|
+
<%= address.region %>
|
17
|
+
<%= address.postal_code %>
|
18
|
+
</option>
|
19
|
+
<% }); %>
|
20
|
+
</select>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</div>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/*------------------------------------*\
|
2
|
+
#UI-AUTOCOMPLETE
|
3
|
+
\*------------------------------------*/
|
4
|
+
|
5
|
+
$ui-autocomplete-bg-color: $background-color-component !default;
|
6
|
+
|
7
|
+
$ui-autocomplete-width: 190px !default;
|
8
|
+
|
9
|
+
|
10
|
+
.ui-autocomplete {
|
11
|
+
@extend %list-reset;
|
12
|
+
position: absolute;
|
13
|
+
z-index: index($components, ui-autocomplete);
|
14
|
+
padding: $spacing-unit;
|
15
|
+
width: $ui-autocomplete-width;
|
16
|
+
background: $ui-autocomplete-bg-color;
|
17
|
+
}
|
@@ -0,0 +1,150 @@
|
|
1
|
+
/*------------------------------------*\
|
2
|
+
#UI-DIALOG
|
3
|
+
\*------------------------------------*/
|
4
|
+
|
5
|
+
$ui-dialog-bg-color: $background-color !default;
|
6
|
+
|
7
|
+
$ui-dialog-shadow: 0 0 0 2px $overlay-shadow-color !default;
|
8
|
+
|
9
|
+
|
10
|
+
.ui-dialog {
|
11
|
+
position: absolute;
|
12
|
+
z-index: index($components, ui-dialog);
|
13
|
+
background: $ui-dialog-bg-color;
|
14
|
+
box-shadow: $ui-dialog-shadow;
|
15
|
+
outline: 0;
|
16
|
+
|
17
|
+
&:focus {
|
18
|
+
outline: none;
|
19
|
+
}
|
20
|
+
|
21
|
+
.ui-draggable-handle {
|
22
|
+
cursor: move;
|
23
|
+
touch-action: none;
|
24
|
+
}
|
25
|
+
|
26
|
+
.ui-resizable-handle {
|
27
|
+
display: block;
|
28
|
+
position: absolute;
|
29
|
+
font-size: 0.1px;
|
30
|
+
touch-action: none;
|
31
|
+
}
|
32
|
+
|
33
|
+
.ui-resizable-n {
|
34
|
+
top: -5px;
|
35
|
+
left: 0;
|
36
|
+
width: 100%;
|
37
|
+
height: 7px;
|
38
|
+
cursor: n-resize;
|
39
|
+
}
|
40
|
+
|
41
|
+
.ui-resizable-s {
|
42
|
+
bottom: -5px;
|
43
|
+
left: 0;
|
44
|
+
width: 100%;
|
45
|
+
height: 7px;
|
46
|
+
cursor: s-resize;
|
47
|
+
}
|
48
|
+
|
49
|
+
.ui-resizable-e {
|
50
|
+
top: 0;
|
51
|
+
right: -5px;
|
52
|
+
width: 7px;
|
53
|
+
height: 100%;
|
54
|
+
cursor: e-resize;
|
55
|
+
}
|
56
|
+
|
57
|
+
.ui-resizable-w {
|
58
|
+
top: 0;
|
59
|
+
left: -5px;
|
60
|
+
width: 7px;
|
61
|
+
height: 100%;
|
62
|
+
cursor: w-resize;
|
63
|
+
}
|
64
|
+
|
65
|
+
.ui-resizable-se {
|
66
|
+
right: -5px;
|
67
|
+
bottom: -5px;
|
68
|
+
width: 12px;
|
69
|
+
height: 12px;
|
70
|
+
cursor: se-resize;
|
71
|
+
}
|
72
|
+
|
73
|
+
.ui-resizable-sw {
|
74
|
+
bottom: -5px;
|
75
|
+
left: -5px;
|
76
|
+
width: 9px;
|
77
|
+
height: 9px;
|
78
|
+
cursor: sw-resize;
|
79
|
+
}
|
80
|
+
|
81
|
+
.ui-resizable-nw {
|
82
|
+
top: -5px;
|
83
|
+
left: -5px;
|
84
|
+
width: 9px;
|
85
|
+
height: 9px;
|
86
|
+
cursor: nw-resize;
|
87
|
+
}
|
88
|
+
|
89
|
+
.ui-resizable-ne {
|
90
|
+
top: -5px;
|
91
|
+
right: -5px;
|
92
|
+
width: 9px;
|
93
|
+
height: 9px;
|
94
|
+
cursor: ne-resize;
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
.ui-dialog-titlebar {
|
99
|
+
line-height: 1;
|
100
|
+
text-align: right;
|
101
|
+
background: $ui-dialog-titlebar-bg-color;
|
102
|
+
|
103
|
+
.ui-dialog-image & {
|
104
|
+
position: absolute;
|
105
|
+
top: 0;
|
106
|
+
right: 0;
|
107
|
+
}
|
108
|
+
|
109
|
+
.ui-dialog-loading & {
|
110
|
+
display: none;
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
.ui-dialog-title {
|
115
|
+
display: none;
|
116
|
+
}
|
117
|
+
|
118
|
+
.ui-dialog-titlebar-close {
|
119
|
+
padding: 0;
|
120
|
+
font-size: 0;
|
121
|
+
line-height: 1;
|
122
|
+
background: none;
|
123
|
+
border: 0;
|
124
|
+
cursor: pointer;
|
125
|
+
|
126
|
+
.ui-button-icon {
|
127
|
+
@include svg('dialog_close.svg', 32px);
|
128
|
+
padding: $spacing-unit;
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
.ui-dialog-content {
|
133
|
+
padding: $spacing-unit;
|
134
|
+
overflow: auto;
|
135
|
+
|
136
|
+
.ui-dialog-image & {
|
137
|
+
padding: 0;
|
138
|
+
}
|
139
|
+
|
140
|
+
.ui-dialog-loading & {
|
141
|
+
padding: 50px 0;
|
142
|
+
}
|
143
|
+
}
|
144
|
+
|
145
|
+
|
146
|
+
.ui-dialog-image img {
|
147
|
+
display: block;
|
148
|
+
}
|
149
|
+
|
150
|
+
.ui-dialog-loading {}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
/*------------------------------------*\
|
2
|
+
#UI-MENU
|
3
|
+
\*------------------------------------*/
|
4
|
+
|
5
|
+
$ui-menu-item-selected-color: $highlight-color !default;
|
6
|
+
$ui-menu-heading-border-color: $border-color !default;
|
7
|
+
|
8
|
+
|
9
|
+
/**
|
10
|
+
* 1. default menu item state
|
11
|
+
* 2. hovered menu item state
|
12
|
+
* 3. the displayed result image
|
13
|
+
* 4. menu headings
|
14
|
+
*/
|
15
|
+
|
16
|
+
.ui-menu {
|
17
|
+
.ui-menu-item { /* [1] */
|
18
|
+
@extend %clearfix;
|
19
|
+
padding: $spacing-unit;
|
20
|
+
font-weight: bold;
|
21
|
+
cursor: pointer;
|
22
|
+
|
23
|
+
&:hover { /* [2] */
|
24
|
+
background: $ui-menu-item-selected-color;
|
25
|
+
}
|
26
|
+
|
27
|
+
img { /* [3] */
|
28
|
+
margin: 0 0 $spacing-unit;
|
29
|
+
float: left;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
.ui-menu-heading { /* [4] */
|
34
|
+
padding: $spacing-unit;
|
35
|
+
font-weight: bold;
|
36
|
+
border-top: 1px solid $ui-menu-heading-border-color;
|
37
|
+
|
38
|
+
&:first-of-type {
|
39
|
+
border-top: 0;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|