spree_frontend 4.1.0 → 4.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +120 -0
- data/.codeclimate.yml +36 -0
- data/.deepsource.toml +19 -0
- data/.editorconfig +22 -0
- data/.eslintignore +7 -0
- data/.eslintrc +36 -0
- data/.gem_release.yml +7 -0
- data/.github/CONTRIBUTING.md +1 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +47 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/ISSUE_TEMPLATE.md +39 -0
- data/.github/dependabot.yml +32 -0
- data/.gitignore +58 -0
- data/.rubocop.yml +197 -0
- data/.solargraph.yml +20 -0
- data/.stylelintignore +4 -0
- data/.stylelintrc +6 -0
- data/CODE_OF_CONDUCT.md +22 -0
- data/Gemfile +57 -3
- data/LICENSE +1 -1
- data/README.md +89 -0
- data/Rakefile +1 -1
- data/SECURITY.md +1 -0
- data/app/assets/config/spree_frontend_manifest.js +5 -0
- data/app/assets/images/arrow-down.svg +12 -0
- data/app/assets/images/arrow-right-circle-fill.svg +3 -0
- data/app/assets/images/card-image.svg +4 -0
- data/app/assets/images/edit.svg +1 -1
- data/app/assets/images/favicon.ico +0 -0
- data/app/assets/images/file-image.svg +4 -0
- data/app/assets/images/global.svg +1 -0
- data/app/assets/images/image.svg +4 -0
- data/app/assets/images/info.svg +7 -0
- data/app/assets/images/logo/spree_50.png +0 -0
- data/app/assets/images/logo-spree.png +0 -0
- data/app/assets/images/logo.png +0 -0
- data/app/assets/images/logo.svg +10 -1
- data/app/assets/images/logo@2x.png +0 -0
- data/app/assets/images/logo@3x.png +0 -0
- data/app/assets/images/noimage/large.png +0 -0
- data/app/assets/images/noimage/mini.png +0 -0
- data/app/assets/images/noimage/plp.png +0 -0
- data/app/assets/images/noimage/plp.svg +16 -0
- data/app/assets/images/noimage/product.png +0 -0
- data/app/assets/images/noimage/small.png +0 -0
- data/app/assets/images/pagination-arrow-right.svg +3 -10
- data/app/assets/images/pagination-double-arrow-right.svg +6 -13
- data/app/assets/images/plus.svg +1 -1
- data/app/assets/images/search.svg +1 -1
- data/app/assets/javascripts/spree/frontend/account.js +1 -1
- data/app/assets/javascripts/spree/frontend/api/main.js +36 -0
- data/app/assets/javascripts/spree/frontend/api/storefront/cart.js +49 -0
- data/app/assets/javascripts/spree/frontend/cart.js +24 -2
- data/app/assets/javascripts/spree/frontend/checkout/address.js +78 -52
- data/app/assets/javascripts/spree/frontend/checkout/address_book.js +38 -40
- data/app/assets/javascripts/spree/frontend/checkout/payment.js +63 -23
- data/app/assets/javascripts/spree/frontend/checkout/shipment.js +15 -2
- data/app/assets/javascripts/spree/frontend/checkout.js +17 -1
- data/app/assets/javascripts/spree/frontend/coupon_manager.js +1 -1
- data/app/assets/javascripts/spree/frontend/currency.js +44 -0
- data/app/assets/javascripts/spree/frontend/locale.es6 +12 -0
- data/app/assets/javascripts/spree/frontend/login.js +5 -0
- data/app/assets/javascripts/spree/frontend/main.js +78 -0
- data/app/assets/javascripts/spree/frontend/main_nav_bar.js +86 -0
- data/app/assets/javascripts/spree/frontend/{turbolinks_scroll_fix.js → turbo_scroll_fix.js} +3 -3
- data/app/assets/javascripts/spree/frontend/views/spree/home/product_carousels.js +4 -4
- data/app/assets/javascripts/spree/frontend/views/spree/product/related.js +3 -3
- data/app/assets/javascripts/spree/frontend/views/spree/products/cart_form.js +67 -18
- data/app/assets/javascripts/spree/frontend/views/spree/products/description.js +1 -1
- data/app/assets/javascripts/spree/frontend/views/spree/products/index.js +76 -15
- data/app/assets/javascripts/spree/frontend/views/spree/products/price_filters.es6 +46 -0
- data/app/assets/javascripts/spree/frontend/views/spree/shared/mobile_navigation.js +9 -10
- data/app/assets/javascripts/spree/frontend/views/spree/shared/product_added_modal.js +7 -0
- data/app/assets/javascripts/spree/frontend/views/spree/shared/variant_select.js +93 -0
- data/app/assets/javascripts/spree/frontend.js +68 -11
- data/app/assets/stylesheets/spree/frontend/application.scss +5 -2
- data/app/assets/stylesheets/spree/frontend/components-bootstrap/button.scss +8 -0
- data/app/assets/stylesheets/spree/frontend/components-bootstrap/carousel.scss +4 -0
- data/app/assets/stylesheets/spree/frontend/components-custom/inputs.scss +80 -1
- data/app/assets/stylesheets/spree/frontend/flags/_flag-icon-base.scss +23 -0
- data/app/assets/stylesheets/spree/frontend/flags/_flag-icon-list.scss +265 -0
- data/app/assets/stylesheets/spree/frontend/flags/_variables.scss +2 -0
- data/app/assets/stylesheets/spree/frontend/flags/flag-icon.scss +3 -0
- data/app/assets/stylesheets/spree/frontend/functions.scss +1 -0
- data/app/assets/stylesheets/spree/frontend/helpers/spree/frontend_helper.scss +48 -0
- data/app/assets/stylesheets/spree/frontend/variables/bootstrap-overrides.scss +2 -2
- data/app/assets/stylesheets/spree/frontend/variables/helper-variables.scss +1 -0
- data/app/assets/stylesheets/spree/frontend/variables/variables.scss +54 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/checkout/confirm.scss +27 -26
- data/app/assets/stylesheets/spree/frontend/views/spree/checkout/delivery.scss +6 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/checkout/edit.scss +24 -10
- data/app/assets/stylesheets/spree/frontend/views/spree/cms_sections/_index.scss +1 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/cms_sections/product_buy_bar.scss +20 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/home/index.scss +54 -67
- data/app/assets/stylesheets/spree/frontend/views/spree/orders/edit.scss +4 -3
- data/app/assets/stylesheets/spree/frontend/views/spree/orders/show.scss +3 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/products/cart_form.scss +8 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/products/gallery_modal.scss +7 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/products/index.scss +55 -26
- data/app/assets/stylesheets/spree/frontend/views/spree/products/show.scss +7 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/_color_select.scss +10 -9
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/carousel/single.scss +1 -1
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/carousel/thumbnails.scss +1 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/cart.scss +9 -4
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/category_nav_bar.scss +3 -3
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/change_store.scss +7 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/footer.scss +4 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/main_nav_bar.scss +42 -26
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/mobile_navigation.scss +34 -3
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/nav_bar.scss +24 -7
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/quantity_select.scss +9 -12
- data/app/assets/stylesheets/spree/frontend/views/spree/shared/search_form.scss +12 -0
- data/app/assets/stylesheets/spree/frontend/views/spree/users/show.scss +7 -13
- data/app/assets/stylesheets/spree/frontend.css +0 -1
- data/app/controllers/concerns/spree/checkout/address_book.rb +9 -7
- data/app/controllers/concerns/spree/locale_urls.rb +21 -0
- data/app/controllers/spree/addresses_controller.rb +16 -33
- data/app/controllers/spree/checkout_controller.rb +15 -13
- data/app/controllers/spree/cms_pages_controller.rb +29 -0
- data/app/controllers/spree/content_controller.rb +0 -2
- data/app/controllers/spree/currency_controller.rb +17 -0
- data/app/controllers/spree/errors_controller.rb +11 -0
- data/app/controllers/spree/home_controller.rb +38 -1
- data/app/controllers/spree/locale_controller.rb +35 -6
- data/app/controllers/spree/orders_controller.rb +12 -10
- data/app/controllers/spree/products_controller.rb +46 -28
- data/app/controllers/spree/store_controller.rb +77 -12
- data/app/controllers/spree/taxons_controller.rb +16 -8
- data/app/helpers/spree/addresses_helper.rb +64 -12
- data/app/helpers/spree/cache_helper.rb +7 -0
- data/app/helpers/spree/cms_pages_helper.rb +23 -0
- data/app/helpers/spree/frontend_helper.rb +170 -18
- data/app/helpers/spree/navigation_helper.rb +81 -4
- data/app/helpers/spree/products_filters_helper.rb +168 -0
- data/app/helpers/spree/store_helper.rb +41 -0
- data/app/helpers/spree/structured_data_helper.rb +6 -2
- data/app/helpers/spree/taxons_helper.rb +2 -2
- data/app/services/spree/build_localized_redirect_url.rb +141 -0
- data/app/views/kaminari/twitter-bootstrap-4/_first_page.html.erb +3 -3
- data/app/views/kaminari/twitter-bootstrap-4/_gap.html.erb +2 -2
- data/app/views/kaminari/twitter-bootstrap-4/_last_page.html.erb +3 -3
- data/app/views/kaminari/twitter-bootstrap-4/_next_page.html.erb +3 -3
- data/app/views/kaminari/twitter-bootstrap-4/_page.html.erb +2 -2
- data/app/views/kaminari/twitter-bootstrap-4/_paginator.html.erb +2 -2
- data/app/views/kaminari/twitter-bootstrap-4/_prev_page.html.erb +3 -3
- data/app/views/spree/address/_form.html.erb +26 -27
- data/app/views/spree/addresses/_form.html.erb +15 -6
- data/app/views/spree/addresses/edit.html.erb +13 -8
- data/app/views/spree/addresses/new.html.erb +8 -4
- data/app/views/spree/checkout/_address.html.erb +19 -23
- data/app/views/spree/checkout/_confirm.html.erb +1 -75
- data/app/views/spree/checkout/_credit_card.html.erb +3 -2
- data/app/views/spree/checkout/_delivery.html.erb +11 -4
- data/app/views/spree/checkout/_delivery_informations.html.erb +51 -0
- data/app/views/spree/checkout/_payment.html.erb +5 -24
- data/app/views/spree/checkout/_payment_sources.html.erb +17 -0
- data/app/views/spree/checkout/_summary.html.erb +22 -19
- data/app/views/spree/checkout/edit.html.erb +22 -2
- data/app/views/spree/checkout/payment/_gateway.html.erb +2 -2
- data/app/views/spree/checkout/registration.html.erb +3 -3
- data/app/views/spree/cms_pages/show.html.erb +16 -0
- data/app/views/spree/errors/not_found.html.erb +2 -2
- data/app/views/spree/home/index.html.erb +17 -123
- data/app/views/spree/layouts/checkout.html.erb +3 -1
- data/app/views/spree/layouts/spree_application.html.erb +3 -2
- data/app/views/spree/locale/index.html.erb +1 -0
- data/app/views/spree/orders/_coupon_code.html.erb +3 -4
- data/app/views/spree/orders/_line_item.html.erb +4 -4
- data/app/views/spree/orders/_line_item_data.html.erb +3 -3
- data/app/views/spree/orders/edit.html.erb +2 -3
- data/app/views/spree/orders/show.html.erb +2 -72
- data/app/views/spree/products/_cart_form.html.erb +5 -2
- data/app/views/spree/products/_color_option_type.html.erb +14 -14
- data/app/views/spree/products/_description.html.erb +19 -14
- data/app/views/spree/products/_filters_desktop.html.erb +80 -40
- data/app/views/spree/products/_filters_mobile.html.erb +47 -15
- data/app/views/spree/products/_gallery.html.erb +4 -6
- data/app/views/spree/products/_gallery_modal.html.erb +4 -6
- data/app/views/spree/products/_option_type.html.erb +1 -3
- data/app/views/spree/products/_product.html.erb +1 -1
- data/app/views/spree/products/_properties.html.erb +6 -4
- data/app/views/spree/products/_sort_desktop.html.erb +20 -14
- data/app/views/spree/products/_sort_mobile.html.erb +24 -8
- data/app/views/spree/products/_thumbnails.html.erb +2 -2
- data/app/views/spree/products/index.html.erb +7 -4
- data/app/views/spree/products/related.html.erb +11 -5
- data/app/views/spree/products/show.html.erb +2 -3
- data/app/views/spree/shared/_breadcrumbs.html.erb +2 -2
- data/app/views/spree/shared/_carousel_4_products.html.erb +14 -20
- data/app/views/spree/shared/_cart.html.erb +1 -1
- data/app/views/spree/shared/_checkout_header.html.erb +22 -21
- data/app/views/spree/shared/_color_select.html.erb +3 -3
- data/app/views/spree/shared/_copyright.html.erb +1 -10
- data/app/views/spree/shared/_currency_dropdown.html.erb +13 -0
- data/app/views/spree/shared/_delete_address_popup.html.erb +1 -2
- data/app/views/spree/shared/_error_messages.html.erb +2 -2
- data/app/views/spree/shared/_footer.html.erb +31 -21
- data/app/views/spree/shared/_get_started.html.erb +32 -0
- data/app/views/spree/shared/_head.html.erb +8 -5
- data/app/views/spree/shared/_header.html.erb +4 -4
- data/app/views/spree/shared/_internationalization_options.html.erb +31 -0
- data/app/views/spree/shared/_line_item.html.erb +3 -3
- data/app/views/spree/shared/_link_to_account.html.erb +7 -4
- data/app/views/spree/shared/_link_to_cart.html.erb +1 -2
- data/app/views/spree/shared/_locale_and_currency.html.erb +6 -0
- data/app/views/spree/shared/_locale_dropdown.html.erb +13 -0
- data/app/views/spree/shared/_login.html.erb +5 -5
- data/app/views/spree/shared/_main_nav_bar.html.erb +69 -45
- data/app/views/spree/shared/_mobile_internationalization_options.html.erb +37 -0
- data/app/views/spree/shared/_mobile_navigation.html.erb +48 -63
- data/app/views/spree/shared/_nav_bar.html.erb +9 -19
- data/app/views/spree/shared/_no_product_available.html.erb +1 -1
- data/app/views/spree/shared/_option_values.html.erb +2 -21
- data/app/views/spree/shared/_order_details.html.erb +117 -174
- data/app/views/spree/shared/_paths.html.erb +8 -0
- data/app/views/spree/shared/_payment.html.erb +2 -2
- data/app/views/spree/shared/_payment_sources.html.erb +2 -2
- data/app/views/spree/shared/_product_added_modal.html.erb +3 -3
- data/app/views/spree/shared/_properties.html.erb +4 -0
- data/app/views/spree/shared/_quantity_select.html.erb +2 -2
- data/app/views/spree/shared/_search.html.erb +9 -13
- data/app/views/spree/shared/_translations.html.erb +8 -7
- data/app/views/spree/shared/carousel/_single.html.erb +9 -14
- data/app/views/spree/shared/carousel/_thumbnails.html.erb +35 -39
- data/app/views/spree/shared/cms/pages/_edit_mode.html.erb +13 -0
- data/app/views/spree/shared/cms/sections/_featured_article.html.erb +27 -0
- data/app/views/spree/shared/cms/sections/_hero_image.html.erb +60 -0
- data/app/views/spree/shared/cms/sections/_image_gallery.html.erb +171 -0
- data/app/views/spree/shared/cms/sections/_product_carousel.html.erb +5 -0
- data/app/views/spree/shared/cms/sections/_rich_text_content.html.erb +3 -0
- data/app/views/spree/shared/cms/sections/_side_by_side_images.html.erb +118 -0
- data/app/views/spree/taxons/_header.html.erb +7 -2
- data/app/views/spree/users/_address.html.erb +16 -24
- data/app/views/spree/users/_address_controls.html.erb +10 -0
- data/app/views/spree/users/show.html.erb +21 -16
- data/config/initializers/admin_actions.rb +18 -0
- data/config/initializers/assets.rb +4 -13
- data/config/initializers/canonical_rails.rb +1 -1
- data/config/routes.rb +30 -26
- data/lib/generators/spree/frontend/copy_storefront/copy_storefront_generator.rb +1 -7
- data/lib/generators/spree/frontend/install/install_generator.rb +34 -0
- data/lib/generators/spree/frontend/install/templates/app/assets/config/manifest.js +2 -0
- data/lib/generators/spree/frontend/install/templates/vendor/assets/javascripts/spree/frontend/all.js +8 -0
- data/lib/generators/spree/frontend/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +9 -0
- data/lib/spree/frontend/configuration.rb +18 -0
- data/lib/spree/frontend/engine.rb +3 -1
- data/lib/spree/frontend/version.rb +9 -0
- data/lib/spree/frontend.rb +8 -4
- data/license.md +13 -0
- data/spec/fixtures/files/store_favicon.ico +0 -0
- data/spree_frontend.gemspec +26 -14
- data/vendor/assets/javascripts/cleave.js +8 -0
- data/vendor/assets/javascripts/fetch.umd.js +531 -0
- data/vendor/assets/javascripts/jquery.payment.js +652 -0
- data/vendor/assets/javascripts/jsuri.js +458 -0
- data/vendor/assets/javascripts/polyfill.min.js +1 -0
- metadata +224 -86
- data/app/assets/images/homepage/big_category_banner.jpg +0 -0
- data/app/assets/images/homepage/big_category_banner_mobile.jpg +0 -0
- data/app/assets/images/homepage/big_category_banner_tablet_landscape.jpg +0 -0
- data/app/assets/images/homepage/big_category_banner_tablet_portrait.jpg +0 -0
- data/app/assets/images/homepage/category_banner_lower.jpg +0 -0
- data/app/assets/images/homepage/category_banner_lower_mobile.jpg +0 -0
- data/app/assets/images/homepage/category_banner_lower_tablet_landscape.jpg +0 -0
- data/app/assets/images/homepage/category_banner_lower_tablet_portrait.jpg +0 -0
- data/app/assets/images/homepage/category_banner_upper.jpg +0 -0
- data/app/assets/images/homepage/category_banner_upper_mobile.jpg +0 -0
- data/app/assets/images/homepage/category_banner_upper_tablet_landscape.jpg +0 -0
- data/app/assets/images/homepage/category_banner_upper_tablet_portrait.jpg +0 -0
- data/app/assets/images/homepage/main_banner.jpg +0 -0
- data/app/assets/images/homepage/main_banner_mobile.jpg +0 -0
- data/app/assets/images/homepage/main_banner_tablet_landscape.jpg +0 -0
- data/app/assets/images/homepage/main_banner_tablet_portrait.jpg +0 -0
- data/app/assets/images/homepage/promo_banner_left.jpg +0 -0
- data/app/assets/images/homepage/promo_banner_left_mobile.jpg +0 -0
- data/app/assets/images/homepage/promo_banner_left_tablet_landscape.jpg +0 -0
- data/app/assets/images/homepage/promo_banner_left_tablet_portrait.jpg +0 -0
- data/app/assets/images/homepage/promo_banner_right.jpg +0 -0
- data/app/assets/images/homepage/promo_banner_right_mobile.jpg +0 -0
- data/app/assets/images/homepage/promo_banner_right_tablet_landscape.jpg +0 -0
- data/app/assets/images/homepage/promo_banner_right_tablet_portrait.jpg +0 -0
- data/app/assets/images/meganav/promo_banner_left-first-category.jpg +0 -0
- data/app/assets/images/meganav/promo_banner_left-second-category.jpg +0 -0
- data/app/assets/images/meganav/promo_banner_left-third-category.jpg +0 -0
- data/app/assets/images/meganav/promo_banner_right-first-category.jpg +0 -0
- data/app/assets/images/meganav/promo_banner_right-second-category.jpg +0 -0
- data/app/assets/images/meganav/promo_banner_right-third-category.jpg +0 -0
- data/app/assets/images/noimage/big_category_banner.jpg +0 -0
- data/app/assets/images/noimage/big_category_banner_mobile.jpg +0 -0
- data/app/assets/images/noimage/big_category_banner_tablet_landscape.jpg +0 -0
- data/app/assets/images/noimage/big_category_banner_tablet_portrait.jpg +0 -0
- data/app/assets/images/noimage/category_banner.jpg +0 -0
- data/app/assets/images/noimage/category_banner_mobile.jpg +0 -0
- data/app/assets/images/noimage/category_banner_plp.jpg +0 -0
- data/app/assets/images/noimage/category_banner_tablet_landscape.jpg +0 -0
- data/app/assets/images/noimage/category_banner_tablet_portrait.jpg +0 -0
- data/app/assets/images/noimage/main_banner.jpg +0 -0
- data/app/assets/images/noimage/main_banner_mobile.jpg +0 -0
- data/app/assets/images/noimage/main_banner_tablet_landscape.jpg +0 -0
- data/app/assets/images/noimage/main_banner_tablet_portrait.jpg +0 -0
- data/app/assets/images/noimage/product_photo.jpg +0 -0
- data/app/assets/images/noimage/promo_banner.jpg +0 -0
- data/app/assets/images/noimage/promo_banner_megamenu.jpg +0 -0
- data/app/assets/images/noimage/promo_banner_mobile.jpg +0 -0
- data/app/assets/images/noimage/promo_banner_tablet_landscape.jpg +0 -0
- data/app/assets/images/noimage/promo_banner_tablet_portrait.jpg +0 -0
- data/app/assets/images/spark-logo@3x.png +0 -0
- data/app/assets/stylesheets/spree/frontend/_glyphicons_urls_fix.scss +0 -10
- data/app/assets/stylesheets/spree/frontend/address_book.scss +0 -8
- data/app/models/spree/frontend_configuration.rb +0 -7
- data/app/views/spree/shared/_taxonomies.html.erb +0 -16
- /data/app/views/spree/{shared → errors}/forbidden.html.erb +0 -0
- /data/app/views/spree/{shared → errors}/unauthorized.html.erb +0 -0
@@ -0,0 +1,93 @@
|
|
1
|
+
var getQueryString = window.location.search
|
2
|
+
var urlParams = new URLSearchParams(getQueryString)
|
3
|
+
var variantIdFromUrl = urlParams.get('variant')
|
4
|
+
|
5
|
+
this.initializeQueryParamsCheck = function () {
|
6
|
+
if (urlParams.has('variant')) verifyVariantIdMatch()
|
7
|
+
}
|
8
|
+
|
9
|
+
function verifyVariantIdMatch() {
|
10
|
+
this.variants.forEach(function(variant) {
|
11
|
+
if (variant.id.toString() === variantIdFromUrl.toString()) this.urlQueryMatchFound = true
|
12
|
+
})
|
13
|
+
}
|
14
|
+
|
15
|
+
this.setSelectedVariantFromUrl = function () {
|
16
|
+
this.selectedOptions = []
|
17
|
+
|
18
|
+
this.getVariantOptionsById(variantIdFromUrl)
|
19
|
+
this.sortArrayByOptionTypeIndex(this.selectedOptions)
|
20
|
+
this.clickListOptions(this.selectedOptions)
|
21
|
+
this.updateStructuredData()
|
22
|
+
}
|
23
|
+
|
24
|
+
this.getVariantOptionsById = function(variantIdFromUrl) {
|
25
|
+
this.variants.forEach(function(variant) {
|
26
|
+
if (variant.id.toString() === variantIdFromUrl.toString()) this.sortOptionValues(variant.option_values)
|
27
|
+
})
|
28
|
+
}
|
29
|
+
|
30
|
+
this.sortOptionValues = function(optVals) {
|
31
|
+
optVals.forEach(buildArray)
|
32
|
+
}
|
33
|
+
|
34
|
+
function buildArray(item) {
|
35
|
+
var container = document.querySelector('ul#product-variants')
|
36
|
+
var target = container.querySelectorAll('.product-variants-variant-values-radio')
|
37
|
+
|
38
|
+
target.forEach(function(inputTag) {
|
39
|
+
if (inputTag.value.toString() === item.id.toString() && inputTag.dataset.presentation === item.presentation) {
|
40
|
+
this.selectedOptions.push(inputTag)
|
41
|
+
}
|
42
|
+
})
|
43
|
+
}
|
44
|
+
|
45
|
+
this.sortArrayByOptionTypeIndex = function (arrayOfOptions) {
|
46
|
+
arrayOfOptions.sort(function (a, b) {
|
47
|
+
return a.dataset.optionTypeIndex > b.dataset.optionTypeIndex ? 1 : -1;
|
48
|
+
})
|
49
|
+
}
|
50
|
+
|
51
|
+
this.clickListOptions = function(list) {
|
52
|
+
list.forEach(function (item) {
|
53
|
+
item.checked = true
|
54
|
+
var $optionListItem = $(item)
|
55
|
+
this.applyCheckedOptionValue($optionListItem)
|
56
|
+
})
|
57
|
+
}
|
58
|
+
|
59
|
+
this.updateStructuredData = function() {
|
60
|
+
var variant = this.selectedVariant()
|
61
|
+
var host = window.location.host
|
62
|
+
var schemaData = document.body.querySelector("script[type='application/ld+json']")
|
63
|
+
var obj = JSON.parse(schemaData.firstChild.nodeValue)
|
64
|
+
var firstLayer = obj[0]
|
65
|
+
var offers = obj[0].offers
|
66
|
+
|
67
|
+
if (variant.purchasable) {
|
68
|
+
offers.availability = 'InStock'
|
69
|
+
} else {
|
70
|
+
offers.availability = 'OutOfStock'
|
71
|
+
}
|
72
|
+
|
73
|
+
if (variant.sku.length > 1) {
|
74
|
+
firstLayer.sku = variant.sku
|
75
|
+
}
|
76
|
+
|
77
|
+
firstLayer.url = window.location.href
|
78
|
+
offers.url = window.location.href
|
79
|
+
offers.price = variant.price.amount
|
80
|
+
|
81
|
+
if (Array.isArray(variant.images) && (variant.images.length)) {
|
82
|
+
firstLayer.image = host + variant.images[0].url_product
|
83
|
+
}
|
84
|
+
|
85
|
+
schemaData.firstChild.nodeValue = JSON.stringify(obj)
|
86
|
+
}
|
87
|
+
|
88
|
+
this.initializeColorVarianTooltip = function() {
|
89
|
+
var colorVariants = $('.color-select-label[data-toggle="tooltip"]')
|
90
|
+
colorVariants.tooltip({
|
91
|
+
placement: 'bottom'
|
92
|
+
})
|
93
|
+
}
|
@@ -3,19 +3,76 @@
|
|
3
3
|
//= require popper
|
4
4
|
//= require bootstrap
|
5
5
|
//= require jquery.payment
|
6
|
-
//= require
|
6
|
+
//= require cleave
|
7
|
+
//= require spree/frontend/main
|
7
8
|
//= require polyfill.min
|
8
9
|
//= require fetch.umd
|
9
|
-
//= require spree/api/main
|
10
|
+
//= require spree/frontend/api/main
|
10
11
|
//= require ./lazysizes.config
|
11
12
|
//= require lazysizes.min
|
12
|
-
//= require
|
13
|
-
//=
|
13
|
+
//= require accounting.min
|
14
|
+
//= require spree/frontend/account
|
15
|
+
//= require spree/frontend/api_tokens
|
16
|
+
//= require spree/frontend/carousel-noconflict
|
17
|
+
//= require spree/frontend/cart
|
18
|
+
//= require spree/frontend/locale
|
19
|
+
//= require spree/frontend/currency
|
20
|
+
//= require spree/frontend/checkout
|
21
|
+
//= require spree/frontend/checkout/address
|
22
|
+
//= require spree/frontend/checkout/address_book
|
23
|
+
//= require spree/frontend/checkout/payment
|
24
|
+
//= require spree/frontend/checkout/shipment
|
25
|
+
//= require spree/frontend/views/spree/home/product_carousels
|
26
|
+
//= require spree/frontend/views/spree/layouts/spree_application
|
27
|
+
//= require spree/frontend/views/spree/product/related
|
28
|
+
//= require spree/frontend/views/spree/products/cart_form
|
29
|
+
//= require spree/frontend/views/spree/products/description
|
30
|
+
//= require spree/frontend/views/spree/products/index
|
31
|
+
//= require spree/frontend/views/spree/products/modal_carousel
|
32
|
+
//= require spree/frontend/views/spree/products/price_filters
|
33
|
+
//= require spree/frontend/views/spree/shared/carousel
|
34
|
+
//= require spree/frontend/views/spree/shared/carousel/single
|
35
|
+
//= require spree/frontend/views/spree/shared/carousel/swipes
|
36
|
+
//= require spree/frontend/views/spree/shared/carousel/thumbnails
|
37
|
+
//= require spree/frontend/views/spree/shared/delete_address_popup
|
38
|
+
//= require spree/frontend/views/spree/shared/mobile_navigation
|
39
|
+
//= require spree/frontend/views/spree/shared/nav_bar
|
40
|
+
//= require spree/frontend/views/spree/shared/product_added_modal
|
41
|
+
//= require spree/frontend/views/spree/shared/quantity_select
|
42
|
+
//= require spree/frontend/turbo_scroll_fix
|
43
|
+
//= require spree/frontend/main_nav_bar
|
44
|
+
//= require spree/frontend/login
|
14
45
|
|
15
|
-
Spree.routes.api_tokens = Spree.
|
16
|
-
Spree.routes.ensure_cart = Spree.
|
17
|
-
Spree.routes.api_v2_storefront_cart_apply_coupon_code = Spree.
|
18
|
-
Spree.routes.api_v2_storefront_cart_remove_coupon_code = Spree.
|
19
|
-
Spree.routes.
|
20
|
-
Spree.routes.
|
21
|
-
Spree.routes.
|
46
|
+
Spree.routes.api_tokens = Spree.localizedPathFor('api_tokens')
|
47
|
+
Spree.routes.ensure_cart = Spree.localizedPathFor('ensure_cart')
|
48
|
+
Spree.routes.api_v2_storefront_cart_apply_coupon_code = Spree.localizedPathFor('api/v2/storefront/cart/apply_coupon_code')
|
49
|
+
Spree.routes.api_v2_storefront_cart_remove_coupon_code = function(couponCode) { return Spree.localizedPathFor('api/v2/storefront/cart/remove_coupon_code/' + couponCode) }
|
50
|
+
Spree.routes.api_v2_storefront_destroy_credit_card = function(id) { return Spree.localizedPathFor('api/v2/storefront/account/credit_cards/' + id) }
|
51
|
+
Spree.routes.product = function(id) { return Spree.localizedPathFor('products/' + id) }
|
52
|
+
Spree.routes.product_related = function(id) { return Spree.localizedPathFor('products/' + id + '/related') }
|
53
|
+
Spree.routes.product_carousel = function (taxonId) { return Spree.localizedPathFor('product_carousel/' + taxonId) }
|
54
|
+
Spree.routes.set_locale = function(locale) { return Spree.localizedPathFor('locale/set?switch_to_locale=' + locale) }
|
55
|
+
Spree.routes.set_currency = function(currency) { return Spree.localizedPathFor('currency/set?switch_to_currency=' + currency) }
|
56
|
+
|
57
|
+
Spree.clearCache = function () {
|
58
|
+
if (!window.Turbo) { return }
|
59
|
+
|
60
|
+
Turbo.clearCache()
|
61
|
+
}
|
62
|
+
|
63
|
+
Spree.setCurrency = function (currency) {
|
64
|
+
Spree.clearCache()
|
65
|
+
|
66
|
+
var params = (new URL(window.location)).searchParams
|
67
|
+
if (currency === SPREE_DEFAULT_CURRENCY) {
|
68
|
+
params.delete('currency')
|
69
|
+
} else {
|
70
|
+
params.set('currency', currency)
|
71
|
+
}
|
72
|
+
var queryString = params.toString()
|
73
|
+
if (queryString !== '') { queryString = '?' + queryString }
|
74
|
+
|
75
|
+
SPREE_CURRENCY = currency
|
76
|
+
|
77
|
+
Turbo.visit(window.location.pathname + queryString, { action: 'replace' })
|
78
|
+
}
|
@@ -1,6 +1,4 @@
|
|
1
1
|
@import "spree/frontend/variables/variables";
|
2
|
-
@import "spree/frontend/variables/bootstrap-overrides";
|
3
|
-
@import "spree/frontend/variables/helper-variables";
|
4
2
|
@import "bootstrap";
|
5
3
|
@import "spree/frontend/bootstrap-patches";
|
6
4
|
|
@@ -8,6 +6,7 @@
|
|
8
6
|
@import "spree/frontend/mixins";
|
9
7
|
@import "spree/frontend/functions";
|
10
8
|
@import "spree/frontend/margins";
|
9
|
+
@import "spree/frontend/flags/flag-icon";
|
11
10
|
|
12
11
|
@import "spree/frontend/components-bootstrap/carousel";
|
13
12
|
@import "spree/frontend/components-bootstrap/button";
|
@@ -25,9 +24,11 @@
|
|
25
24
|
@import "spree/frontend/views/spree/shared/header";
|
26
25
|
@import "spree/frontend/views/spree/shared/login";
|
27
26
|
@import "spree/frontend/views/spree/shared/nav_bar";
|
27
|
+
@import "spree/frontend/views/spree/shared/search_form";
|
28
28
|
@import "spree/frontend/views/spree/shared/order_details";
|
29
29
|
@import "spree/frontend/views/spree/shared/main_nav_bar";
|
30
30
|
@import "spree/frontend/views/spree/errors/not_found";
|
31
|
+
@import "spree/frontend/views/spree/cms_sections/_index";
|
31
32
|
@import "spree/frontend/views/spree/shared/carousel/thumbnails";
|
32
33
|
@import "spree/frontend/views/spree/shared/carousel/single";
|
33
34
|
@import "spree/frontend/views/spree/home/index";
|
@@ -37,6 +38,7 @@
|
|
37
38
|
@import "spree/frontend/components-custom/headers";
|
38
39
|
@import "spree/frontend/components-custom/inputs";
|
39
40
|
@import "spree/frontend/views/spree/checkout/registration";
|
41
|
+
@import "spree/frontend/views/spree/checkout/delivery";
|
40
42
|
@import "spree/frontend/views/spree/checkout/confirm";
|
41
43
|
@import "spree/frontend/views/spree/checkout/payment";
|
42
44
|
@import "spree/frontend/views/spree/orders/edit";
|
@@ -47,6 +49,7 @@
|
|
47
49
|
@import "spree/frontend/views/spree/shared/product";
|
48
50
|
@import "spree/frontend/views/spree/products/show";
|
49
51
|
@import "spree/frontend/views/spree/products/cart_form";
|
52
|
+
@import "spree/frontend/views/spree/products/gallery_modal";
|
50
53
|
@import "spree/frontend/views/spree/shared/product_added_modal";
|
51
54
|
@import "spree/frontend/views/spree/shared/mobile_navigation";
|
52
55
|
@import "spree/frontend/views/spree/shared/no_product_available";
|
@@ -15,6 +15,10 @@
|
|
15
15
|
}
|
16
16
|
&-vertically-animated {
|
17
17
|
// Source: https://stackoverflow.com/questions/42910076/bootstrap-4-alpha-6-vertical-carousel
|
18
|
+
.carousel-item {
|
19
|
+
-webkit-transform: translate3d(0, 0, 0);
|
20
|
+
transform: translate3d(0, 0, 0);
|
21
|
+
}
|
18
22
|
.carousel-item-next.carousel-item-left,
|
19
23
|
.carousel-item-prev.carousel-item-right {
|
20
24
|
-webkit-transform: translate3d(0, 0, 0);
|
@@ -33,6 +33,8 @@
|
|
33
33
|
.spree-flat-select {
|
34
34
|
@extend .spree-flat-input;
|
35
35
|
appearance: none;
|
36
|
+
padding-top:22px;
|
37
|
+
padding-bottom:21px;
|
36
38
|
-webkit-appearance: none;
|
37
39
|
-moz-appearance: none;
|
38
40
|
&-arrow {
|
@@ -48,6 +50,12 @@
|
|
48
50
|
}
|
49
51
|
}
|
50
52
|
|
53
|
+
.field_with_errors {
|
54
|
+
input{
|
55
|
+
border-color: $danger;
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
51
59
|
.spree-flat-label {
|
52
60
|
color: theme-color("secondary");
|
53
61
|
text-transform: uppercase;
|
@@ -83,7 +91,12 @@
|
|
83
91
|
}
|
84
92
|
|
85
93
|
input[type="checkbox"] {
|
86
|
-
|
94
|
+
opacity: 0;
|
95
|
+
position: absolute;
|
96
|
+
width: 100%;
|
97
|
+
height: 100%;
|
98
|
+
top: 0;
|
99
|
+
left: 0;
|
87
100
|
}
|
88
101
|
|
89
102
|
label {
|
@@ -138,6 +151,10 @@
|
|
138
151
|
}
|
139
152
|
}
|
140
153
|
|
154
|
+
input[type="checkbox"]:focus + label {
|
155
|
+
border-color: $primary-color;
|
156
|
+
}
|
157
|
+
|
141
158
|
input[type="checkbox"]:checked + label {
|
142
159
|
background-color: theme-color("secondary");
|
143
160
|
|
@@ -241,6 +258,10 @@
|
|
241
258
|
opacity: 0;
|
242
259
|
height: 0;
|
243
260
|
width: 0;
|
261
|
+
&:focus + span {
|
262
|
+
border-radius: 50%;
|
263
|
+
border: 2px solid $primary-color;
|
264
|
+
}
|
244
265
|
}
|
245
266
|
&-custom-input {
|
246
267
|
@include colored-circle-radio($secondary-color);
|
@@ -264,3 +285,61 @@
|
|
264
285
|
background-size: contain;
|
265
286
|
}
|
266
287
|
}
|
288
|
+
|
289
|
+
//Slide in labels
|
290
|
+
@mixin float-label-container {
|
291
|
+
display: block;
|
292
|
+
position: relative;
|
293
|
+
}
|
294
|
+
|
295
|
+
@mixin float-label {
|
296
|
+
label {
|
297
|
+
position: absolute;
|
298
|
+
left: 1em;
|
299
|
+
top: -0.5em;
|
300
|
+
cursor: text;
|
301
|
+
opacity: 1;
|
302
|
+
background: $input-background;
|
303
|
+
padding: 0 4px;
|
304
|
+
transition: all .2s;
|
305
|
+
@content;
|
306
|
+
&.state-select-label{
|
307
|
+
opacity: 1 !important;
|
308
|
+
left:1em !important;
|
309
|
+
}
|
310
|
+
}
|
311
|
+
}
|
312
|
+
|
313
|
+
@mixin float-label-input {
|
314
|
+
&::placeholder {
|
315
|
+
opacity: 0;
|
316
|
+
color: $secondary-font-color;
|
317
|
+
transition: all .2s;
|
318
|
+
}
|
319
|
+
&:placeholder-shown:not(:focus)::placeholder {
|
320
|
+
opacity: 0.3;
|
321
|
+
transition: all .2s;
|
322
|
+
}
|
323
|
+
}
|
324
|
+
|
325
|
+
@mixin float-label-scaled {
|
326
|
+
&:placeholder-shown:not(:focus) + * {
|
327
|
+
@content;
|
328
|
+
}
|
329
|
+
}
|
330
|
+
|
331
|
+
.has-float-label {
|
332
|
+
@include float-label-container;
|
333
|
+
@include float-label;
|
334
|
+
|
335
|
+
input, textarea {
|
336
|
+
@include float-label-input;
|
337
|
+
@include float-label-scaled {
|
338
|
+
opacity: 0;
|
339
|
+
left: 0em;
|
340
|
+
}
|
341
|
+
}
|
342
|
+
.form-control:focus {
|
343
|
+
box-shadow: none;
|
344
|
+
}
|
345
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
.flag-icon-background {
|
2
|
+
background-size: contain;
|
3
|
+
background-position: 50%;
|
4
|
+
background-repeat: no-repeat;
|
5
|
+
}
|
6
|
+
|
7
|
+
.flag-icon {
|
8
|
+
@extend .flag-icon-background;
|
9
|
+
position: relative;
|
10
|
+
display: inline-block;
|
11
|
+
width: (4 / 3) * 2.3em;
|
12
|
+
&:before {
|
13
|
+
content: "\00a0";
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
@mixin flag-icon($country) {
|
18
|
+
.flag-icon-#{$country} {
|
19
|
+
background-image: image-url(
|
20
|
+
"#{$flag-icon-css-path}#{$flag-icon-rect-path}/#{$country}.svg"
|
21
|
+
);
|
22
|
+
}
|
23
|
+
}
|
@@ -0,0 +1,265 @@
|
|
1
|
+
@if variable-exists(include) {
|
2
|
+
@each $country in $include {
|
3
|
+
@include flag-icon($country);
|
4
|
+
}
|
5
|
+
} @else {
|
6
|
+
@include flag-icon(ad);
|
7
|
+
@include flag-icon(ae);
|
8
|
+
@include flag-icon(af);
|
9
|
+
@include flag-icon(ag);
|
10
|
+
@include flag-icon(ai);
|
11
|
+
@include flag-icon(al);
|
12
|
+
@include flag-icon(am);
|
13
|
+
@include flag-icon(ao);
|
14
|
+
@include flag-icon(aq);
|
15
|
+
@include flag-icon(ar);
|
16
|
+
@include flag-icon(as);
|
17
|
+
@include flag-icon(at);
|
18
|
+
@include flag-icon(au);
|
19
|
+
@include flag-icon(aw);
|
20
|
+
@include flag-icon(ax);
|
21
|
+
@include flag-icon(az);
|
22
|
+
@include flag-icon(ba);
|
23
|
+
@include flag-icon(bb);
|
24
|
+
@include flag-icon(bd);
|
25
|
+
@include flag-icon(be);
|
26
|
+
@include flag-icon(bf);
|
27
|
+
@include flag-icon(bg);
|
28
|
+
@include flag-icon(bh);
|
29
|
+
@include flag-icon(bi);
|
30
|
+
@include flag-icon(bj);
|
31
|
+
@include flag-icon(bl);
|
32
|
+
@include flag-icon(bm);
|
33
|
+
@include flag-icon(bn);
|
34
|
+
@include flag-icon(bo);
|
35
|
+
@include flag-icon(bq);
|
36
|
+
@include flag-icon(br);
|
37
|
+
@include flag-icon(bs);
|
38
|
+
@include flag-icon(bt);
|
39
|
+
@include flag-icon(bv);
|
40
|
+
@include flag-icon(bw);
|
41
|
+
@include flag-icon(by);
|
42
|
+
@include flag-icon(bz);
|
43
|
+
@include flag-icon(ca);
|
44
|
+
@include flag-icon(cc);
|
45
|
+
@include flag-icon(cd);
|
46
|
+
@include flag-icon(cf);
|
47
|
+
@include flag-icon(cg);
|
48
|
+
@include flag-icon(ch);
|
49
|
+
@include flag-icon(ci);
|
50
|
+
@include flag-icon(ck);
|
51
|
+
@include flag-icon(cl);
|
52
|
+
@include flag-icon(cm);
|
53
|
+
@include flag-icon(cn);
|
54
|
+
@include flag-icon(co);
|
55
|
+
@include flag-icon(cr);
|
56
|
+
@include flag-icon(cu);
|
57
|
+
@include flag-icon(cv);
|
58
|
+
@include flag-icon(cw);
|
59
|
+
@include flag-icon(cx);
|
60
|
+
@include flag-icon(cy);
|
61
|
+
@include flag-icon(cz);
|
62
|
+
@include flag-icon(de);
|
63
|
+
@include flag-icon(dj);
|
64
|
+
@include flag-icon(dk);
|
65
|
+
@include flag-icon(dm);
|
66
|
+
@include flag-icon(do);
|
67
|
+
@include flag-icon(dz);
|
68
|
+
@include flag-icon(ec);
|
69
|
+
@include flag-icon(ee);
|
70
|
+
@include flag-icon(eg);
|
71
|
+
@include flag-icon(eh);
|
72
|
+
@include flag-icon(er);
|
73
|
+
@include flag-icon(es);
|
74
|
+
@include flag-icon(et);
|
75
|
+
@include flag-icon(fi);
|
76
|
+
@include flag-icon(fj);
|
77
|
+
@include flag-icon(fk);
|
78
|
+
@include flag-icon(fm);
|
79
|
+
@include flag-icon(fo);
|
80
|
+
@include flag-icon(fr);
|
81
|
+
@include flag-icon(ga);
|
82
|
+
@include flag-icon(gb);
|
83
|
+
@include flag-icon(gd);
|
84
|
+
@include flag-icon(ge);
|
85
|
+
@include flag-icon(gf);
|
86
|
+
@include flag-icon(gg);
|
87
|
+
@include flag-icon(gh);
|
88
|
+
@include flag-icon(gi);
|
89
|
+
@include flag-icon(gl);
|
90
|
+
@include flag-icon(gm);
|
91
|
+
@include flag-icon(gn);
|
92
|
+
@include flag-icon(gp);
|
93
|
+
@include flag-icon(gq);
|
94
|
+
@include flag-icon(gr);
|
95
|
+
@include flag-icon(gs);
|
96
|
+
@include flag-icon(gt);
|
97
|
+
@include flag-icon(gu);
|
98
|
+
@include flag-icon(gw);
|
99
|
+
@include flag-icon(gy);
|
100
|
+
@include flag-icon(hk);
|
101
|
+
@include flag-icon(hm);
|
102
|
+
@include flag-icon(hn);
|
103
|
+
@include flag-icon(hr);
|
104
|
+
@include flag-icon(ht);
|
105
|
+
@include flag-icon(hu);
|
106
|
+
@include flag-icon(id);
|
107
|
+
@include flag-icon(ie);
|
108
|
+
@include flag-icon(il);
|
109
|
+
@include flag-icon(im);
|
110
|
+
@include flag-icon(in);
|
111
|
+
@include flag-icon(io);
|
112
|
+
@include flag-icon(iq);
|
113
|
+
@include flag-icon(ir);
|
114
|
+
@include flag-icon(is);
|
115
|
+
@include flag-icon(it);
|
116
|
+
@include flag-icon(je);
|
117
|
+
@include flag-icon(jm);
|
118
|
+
@include flag-icon(jo);
|
119
|
+
@include flag-icon(jp);
|
120
|
+
@include flag-icon(ke);
|
121
|
+
@include flag-icon(kg);
|
122
|
+
@include flag-icon(kh);
|
123
|
+
@include flag-icon(ki);
|
124
|
+
@include flag-icon(km);
|
125
|
+
@include flag-icon(kn);
|
126
|
+
@include flag-icon(kp);
|
127
|
+
@include flag-icon(kr);
|
128
|
+
@include flag-icon(kw);
|
129
|
+
@include flag-icon(ky);
|
130
|
+
@include flag-icon(kz);
|
131
|
+
@include flag-icon(la);
|
132
|
+
@include flag-icon(lb);
|
133
|
+
@include flag-icon(lc);
|
134
|
+
@include flag-icon(li);
|
135
|
+
@include flag-icon(lk);
|
136
|
+
@include flag-icon(lr);
|
137
|
+
@include flag-icon(ls);
|
138
|
+
@include flag-icon(lt);
|
139
|
+
@include flag-icon(lu);
|
140
|
+
@include flag-icon(lv);
|
141
|
+
@include flag-icon(ly);
|
142
|
+
@include flag-icon(ma);
|
143
|
+
@include flag-icon(mc);
|
144
|
+
@include flag-icon(md);
|
145
|
+
@include flag-icon(me);
|
146
|
+
@include flag-icon(mf);
|
147
|
+
@include flag-icon(mg);
|
148
|
+
@include flag-icon(mh);
|
149
|
+
@include flag-icon(mk);
|
150
|
+
@include flag-icon(ml);
|
151
|
+
@include flag-icon(mm);
|
152
|
+
@include flag-icon(mn);
|
153
|
+
@include flag-icon(mo);
|
154
|
+
@include flag-icon(mp);
|
155
|
+
@include flag-icon(mq);
|
156
|
+
@include flag-icon(mr);
|
157
|
+
@include flag-icon(ms);
|
158
|
+
@include flag-icon(mt);
|
159
|
+
@include flag-icon(mu);
|
160
|
+
@include flag-icon(mv);
|
161
|
+
@include flag-icon(mw);
|
162
|
+
@include flag-icon(mx);
|
163
|
+
@include flag-icon(my);
|
164
|
+
@include flag-icon(mz);
|
165
|
+
@include flag-icon(na);
|
166
|
+
@include flag-icon(nc);
|
167
|
+
@include flag-icon(ne);
|
168
|
+
@include flag-icon(nf);
|
169
|
+
@include flag-icon(ng);
|
170
|
+
@include flag-icon(ni);
|
171
|
+
@include flag-icon(nl);
|
172
|
+
@include flag-icon(no);
|
173
|
+
@include flag-icon(np);
|
174
|
+
@include flag-icon(nr);
|
175
|
+
@include flag-icon(nu);
|
176
|
+
@include flag-icon(nz);
|
177
|
+
@include flag-icon(om);
|
178
|
+
@include flag-icon(pa);
|
179
|
+
@include flag-icon(pe);
|
180
|
+
@include flag-icon(pf);
|
181
|
+
@include flag-icon(pg);
|
182
|
+
@include flag-icon(ph);
|
183
|
+
@include flag-icon(pk);
|
184
|
+
@include flag-icon(pl);
|
185
|
+
@include flag-icon(pm);
|
186
|
+
@include flag-icon(pn);
|
187
|
+
@include flag-icon(pr);
|
188
|
+
@include flag-icon(ps);
|
189
|
+
@include flag-icon(pt);
|
190
|
+
@include flag-icon(pw);
|
191
|
+
@include flag-icon(py);
|
192
|
+
@include flag-icon(qa);
|
193
|
+
@include flag-icon(re);
|
194
|
+
@include flag-icon(ro);
|
195
|
+
@include flag-icon(rs);
|
196
|
+
@include flag-icon(ru);
|
197
|
+
@include flag-icon(rw);
|
198
|
+
@include flag-icon(sa);
|
199
|
+
@include flag-icon(sb);
|
200
|
+
@include flag-icon(sc);
|
201
|
+
@include flag-icon(sd);
|
202
|
+
@include flag-icon(se);
|
203
|
+
@include flag-icon(sg);
|
204
|
+
@include flag-icon(sh);
|
205
|
+
@include flag-icon(si);
|
206
|
+
@include flag-icon(sj);
|
207
|
+
@include flag-icon(sk);
|
208
|
+
@include flag-icon(sl);
|
209
|
+
@include flag-icon(sm);
|
210
|
+
@include flag-icon(sn);
|
211
|
+
@include flag-icon(so);
|
212
|
+
@include flag-icon(sr);
|
213
|
+
@include flag-icon(ss);
|
214
|
+
@include flag-icon(st);
|
215
|
+
@include flag-icon(sv);
|
216
|
+
@include flag-icon(sx);
|
217
|
+
@include flag-icon(sy);
|
218
|
+
@include flag-icon(sz);
|
219
|
+
@include flag-icon(tc);
|
220
|
+
@include flag-icon(td);
|
221
|
+
@include flag-icon(tf);
|
222
|
+
@include flag-icon(tg);
|
223
|
+
@include flag-icon(th);
|
224
|
+
@include flag-icon(tj);
|
225
|
+
@include flag-icon(tk);
|
226
|
+
@include flag-icon(tl);
|
227
|
+
@include flag-icon(tm);
|
228
|
+
@include flag-icon(tn);
|
229
|
+
@include flag-icon(to);
|
230
|
+
@include flag-icon(tr);
|
231
|
+
@include flag-icon(tt);
|
232
|
+
@include flag-icon(tv);
|
233
|
+
@include flag-icon(tw);
|
234
|
+
@include flag-icon(tz);
|
235
|
+
@include flag-icon(ua);
|
236
|
+
@include flag-icon(ug);
|
237
|
+
@include flag-icon(um);
|
238
|
+
@include flag-icon(us);
|
239
|
+
@include flag-icon(uy);
|
240
|
+
@include flag-icon(uz);
|
241
|
+
@include flag-icon(va);
|
242
|
+
@include flag-icon(vc);
|
243
|
+
@include flag-icon(ve);
|
244
|
+
@include flag-icon(vg);
|
245
|
+
@include flag-icon(vi);
|
246
|
+
@include flag-icon(vn);
|
247
|
+
@include flag-icon(vu);
|
248
|
+
@include flag-icon(wf);
|
249
|
+
@include flag-icon(ws);
|
250
|
+
@include flag-icon(ye);
|
251
|
+
@include flag-icon(yt);
|
252
|
+
@include flag-icon(za);
|
253
|
+
@include flag-icon(zm);
|
254
|
+
@include flag-icon(zw);
|
255
|
+
|
256
|
+
// Other flags
|
257
|
+
@include flag-icon(es-ca);
|
258
|
+
@include flag-icon(eu);
|
259
|
+
@include flag-icon(gb-eng);
|
260
|
+
@include flag-icon(gb-nir);
|
261
|
+
@include flag-icon(gb-sct);
|
262
|
+
@include flag-icon(gb-wls);
|
263
|
+
@include flag-icon(un);
|
264
|
+
@include flag-icon(xk);
|
265
|
+
}
|