From 4841a0e3bc992ed1acd38a98c78696b03cde3c5c Mon Sep 17 00:00:00 2001 From: Tymur Biedukhin Date: Tue, 1 Jun 2021 15:33:03 +0300 Subject: [PATCH 1/5] Replaced scss-lint with stylelint --- .github/workflows/pull_request_review.yml | 22 +- .scss-lint.yml | 60 - .stylelintrc | 23 + Gemfile | 3 - Gemfile.lock | 17 - Gruntfile.js | 12 +- assets/scss/common/_aria.scss | 8 +- assets/scss/common/_focus-tooltip.scss | 62 +- assets/scss/common/index.scss | 4 +- .../citadel/actionBar/_actionBar.scss | 1 - .../scss/components/citadel/cards/_cards.scss | 16 +- .../scss/components/citadel/forms/_forms.scss | 26 +- assets/scss/components/citadel/nav/_nav.scss | 8 +- .../foundation/accordion/_accordion.scss | 14 +- .../components/foundation/alerts/_alerts.scss | 2 +- .../foundation/breadcrumbs/_breadcrumbs.scss | 10 +- .../foundation/buttons/_buttons.scss | 1 - .../foundation/dropdown/_dropdown.scss | 28 +- .../components/foundation/forms/_forms.scss | 2 - .../foundation/inlineList/_inlineList.scss | 6 +- .../foundation/lazyLoad/_lazyLoad.scss | 20 +- .../components/foundation/modal/_modal.scss | 11 +- .../foundation/pagination/_pagination.scss | 1 - .../components/foundation/panels/_panels.scss | 1 - .../components/foundation/tables/_tables.scss | 1 - .../components/stencil/account/_account.scss | 6 +- .../stencil/addReturn/_addReturn.scss | 2 - .../stencil/adminBar/_adminBar.scss | 42 +- .../stencil/applePay/_applePay.scss | 4 +- .../scss/components/stencil/cart/_cart.scss | 35 +- .../stencil/heroCarousel/_heroCarousel.scss | 32 +- .../stencil/navPages/_navPages.scss | 50 +- .../components/stencil/navUser/_navUser.scss | 28 +- .../paymentMethods/_paymentMethods.scss | 34 +- .../productCarousel/_productCarousel.scss | 10 +- .../stencil/productView/_productView.scss | 35 +- .../stencil/socialLinks/_socialLinks.scss | 12 +- .../stencil/writeReview/_writeReview.scss | 8 +- .../components/vendor/nanobar/_nanobar.scss | 12 +- .../scss/components/vendor/slick/_slick.scss | 85 +- .../scss/components/vendor/slick/_tools.scss | 4 +- .../vendor/sweetalert2/_sweetalert2.scss | 2 +- assets/scss/invoice.scss | 151 +- assets/scss/layouts/blog/_blog.scss | 2 +- assets/scss/layouts/brands/_brand.scss | 10 +- assets/scss/layouts/footer/_footer.scss | 8 +- assets/scss/layouts/header/_header.scss | 28 +- .../scss/layouts/products/_productGrid.scss | 3 +- .../scss/layouts/products/_productList.scss | 28 +- .../layouts/products/_productSaleBadges.scss | 47 +- .../scss/layouts/products/_productSwatch.scss | 14 +- .../scss/layouts/products/_productView.scss | 4 +- assets/scss/layouts/sidebar/_block.scss | 1 - assets/scss/maintenance.scss | 270 +-- assets/scss/optimized-checkout.scss | 4 +- assets/scss/settings/global/color/_color.scss | 2 +- .../stencil/maintenanceNotice/_settings.scss | 2 +- assets/scss/tools/_image.scss | 10 +- assets/scss/tools/_string.scss | 27 +- assets/scss/tools/_theme_focus.scss | 2 +- assets/scss/vendor/jstree/style.scss | 1468 ++++++++------- grunt/aliases.yml | 7 - grunt/scsslint.js | 14 - package-lock.json | 1612 ++++++++++++++++- package.json | 8 +- 65 files changed, 3029 insertions(+), 1453 deletions(-) delete mode 100644 .scss-lint.yml create mode 100644 .stylelintrc delete mode 100644 Gemfile delete mode 100644 Gemfile.lock delete mode 100644 grunt/scsslint.js diff --git a/.github/workflows/pull_request_review.yml b/.github/workflows/pull_request_review.yml index cb9f4a7a2f..7dcaec0ada 100644 --- a/.github/workflows/pull_request_review.yml +++ b/.github/workflows/pull_request_review.yml @@ -1,4 +1,4 @@ -# This workflow will do a clean install of your theme's dependencies and attempt to bundle the theme with Stencil CLI. +# This workflow will do a clean install of your theme's dependencies and attempt to bundle the theme with Stencil CLI. # If the theme fails to bundle, you can review the error logs to find out why. # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions @@ -23,20 +23,6 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Ruby Gem cache - uses: actions/cache@v2.1.3 - with: - path: vendor/bundle - key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} - restore-keys: | - ${{ runner.os }}-gems- - - - name: Setup Ruby 2.7 - uses: ruby/setup-ruby@v1.51.1 - with: - ruby-version: 2.7 - - run: bundle install - - name: Use Node.js ${{ matrix.node }} uses: actions/setup-node@v2-beta with: @@ -56,8 +42,8 @@ jobs: - name: Install Theme Dependencies run: npm ci - - name: Grunt Check - run: npx grunt check + - name: Grunt Check:js + run: npx grunt check:js - name: Validate theme successfully bundles run: npx stencil bundle --name bundle @@ -67,7 +53,7 @@ jobs: with: name: Bundled Theme path: bundle.zip - + - name: Upload bundle analysis uses: actions/upload-artifact@v2 with: diff --git a/.scss-lint.yml b/.scss-lint.yml deleted file mode 100644 index 2fd3015710..0000000000 --- a/.scss-lint.yml +++ /dev/null @@ -1,60 +0,0 @@ -# BC configuration -linters: - - #Cos we use maps with keywords, this produces noise - ColorKeyword: - enabled: false - - #Cos we now use block comments for documentation - Comment: - enabled: false - - ElsePlacement: - enabled: true - style: new_line # or 'same_line' - - EmptyLineBetweenBlocks: - enabled: true - ignore_single_line_blocks: false - - Indentation: - enabled: true - character: space # or 'tab' - width: 4 - - LeadingZero: - enabled: true - style: include_zero # or 'exclude_zero' - - NameFormat: - enabled: false - convention: hyphenated_lowercase # or 'BEM', or a regex pattern - - SelectorDepth: - enabled: true - max_depth: 2 - - NestingDepth: - enabled: true - max_depth: 2 - -# For example -# http://www.regexr.com/39qql - SelectorFormat: - enabled: true - # convention: camel_case # or 'snake_case', or 'hyphenated_lowercase', or a regex pattern - convention: ^[a-z][a-z0-9]*([A-Z0-9][a-z0-9]*)*((\.is-|-+)[a-z0-9][a-z0-9]*([A-Z0-9][a-z0-9]*)*)*$ - - StringQuotes: - enabled: true - style: double_quotes # or single_quotes - - TrailingZero: - enabled: true - -# This is a new linting rule as of 0.30 and the per-file disablement syntax seems to failing, so turn it off - QualifyingElement: - enabled: false - -MergeableSelector: - force_nesting: false diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 0000000000..7e0db2ba91 --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,23 @@ +{ + "extends": "stylelint-config-sass-guidelines", + "plugins": [ + "stylelint-scss" + ], + "rules": { + "color-named": null, + "indentation": 4, + "max-nesting-depth": null, + "property-no-vendor-prefix": null, + "selector-no-vendor-prefix": null, + "scss/at-mixin-pattern": null, + "scss/dollar-variable-colon-space-after": null, + "scss/dollar-variable-pattern": null, + "scss/percent-placeholder-pattern": null, + "selector-class-pattern": null, + "selector-max-compound-selectors": null, + "selector-max-id": null, + "selector-no-qualifying-type": null, + "string-quotes": "double", + "value-no-vendor-prefix": null + } +} diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 7fe078105c..0000000000 --- a/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://rubygems.org' - -gem 'scss_lint', '~> 0.40.1' diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index a421dd2719..0000000000 --- a/Gemfile.lock +++ /dev/null @@ -1,17 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - rainbow (2.0.0) - sass (3.4.18) - scss_lint (0.40.1) - rainbow (~> 2.0) - sass (~> 3.4.1) - -PLATFORMS - ruby - -DEPENDENCIES - scss_lint (~> 0.40.1) - -BUNDLED WITH - 1.10.3 diff --git a/Gruntfile.js b/Gruntfile.js index eb4470f6be..0076a8160f 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,13 +1,7 @@ -module.exports = function(grunt) { +module.exports = function (grunt) { require('time-grunt')(grunt); - require('load-grunt-config')(grunt, { - jitGrunt: { - staticMappings: { - scsslint: 'grunt-scss-lint' - } - } - }); + require('load-grunt-config')(grunt); grunt.loadNpmTasks('grunt-run'); - grunt.registerTask('default', ['eslint', 'jest', 'scsslint', 'svgstore']) + grunt.registerTask('default', ['eslint', 'jest', 'svgstore']); }; diff --git a/assets/scss/common/_aria.scss b/assets/scss/common/_aria.scss index c94bb96f83..deef246cf6 100644 --- a/assets/scss/common/_aria.scss +++ b/assets/scss/common/_aria.scss @@ -1,11 +1,11 @@ .aria-description { &--hidden { + height: 1px; + left: 0; + margin-left: -10000px; + overflow: hidden; position: absolute; top: 0; - left: 0; - height: 1px; width: 1px; - overflow: hidden; - margin-left: -10000px; } } diff --git a/assets/scss/common/_focus-tooltip.scss b/assets/scss/common/_focus-tooltip.scss index 7a7fed7052..d11cd7dc68 100644 --- a/assets/scss/common/_focus-tooltip.scss +++ b/assets/scss/common/_focus-tooltip.scss @@ -1,37 +1,37 @@ @mixin addFocusTooltip ($attr: title) { - &:before { - content: " "; - position: absolute; - right: 0; - top: 50%; - border-width: remCalc(10px); - border-style: solid; - border-color: transparent transparent $focusTooltip-backgroundColor transparent; - } + &::before { + border-color: transparent transparent $focusTooltip-backgroundColor transparent; + border-style: solid; + border-width: remCalc(10px); + content: " "; + position: absolute; + right: 0; + top: 50%; + } - &:after { - content: attr($attr); - padding: remCalc(4px) remCalc(6px); - background-color: $focusTooltip-backgroundColor; - color: $focusTooltip-textColor; - position: absolute; - font-size: 1rem; - white-space: nowrap; - right: 0; - top: 100%; - cursor: default; - border-radius: remCalc(8px); - } + &::after { + background-color: $focusTooltip-backgroundColor; + border-radius: remCalc(8px); + color: $focusTooltip-textColor; + content: attr($attr); + cursor: default; + font-size: 1rem; + padding: remCalc(4px) remCalc(6px); + position: absolute; + right: 0; + top: 100%; + white-space: nowrap; + } - &:before, - &:after { - display: none; - } + &::before, + &::after { + display: none; + } - &:focus { - &:before, - &:after { - display: block; - } + &:focus { + &::before, + &::after { + display: block; } + } } diff --git a/assets/scss/common/index.scss b/assets/scss/common/index.scss index d4740fed51..d150ebe2f2 100644 --- a/assets/scss/common/index.scss +++ b/assets/scss/common/index.scss @@ -1,2 +1,2 @@ -@import 'aria'; -@import 'focus-tooltip'; +@import "aria"; +@import "focus-tooltip"; diff --git a/assets/scss/components/citadel/actionBar/_actionBar.scss b/assets/scss/components/citadel/actionBar/_actionBar.scss index bca29af7da..51736b190d 100644 --- a/assets/scss/components/citadel/actionBar/_actionBar.scss +++ b/assets/scss/components/citadel/actionBar/_actionBar.scss @@ -4,7 +4,6 @@ .actionBar-section { - .form-field { background-color: $input-bg-color; border: $actionBar-form-field-border; diff --git a/assets/scss/components/citadel/cards/_cards.scss b/assets/scss/components/citadel/cards/_cards.scss index 0043ab9bd1..bdad74a42f 100644 --- a/assets/scss/components/citadel/cards/_cards.scss +++ b/assets/scss/components/citadel/cards/_cards.scss @@ -27,9 +27,9 @@ .card-figure { margin-top: $card-figure-marginTop; - position: relative; - padding: 3px; overflow: hidden; + padding: 3px; + position: relative; &:hover { @@ -46,9 +46,9 @@ } .card-img-container { - max-width: get-width(stencilString('productgallery_size')); - @include lazy-loaded-padding('productgallery_size'); + @include lazy-loaded-padding("productgallery_size"); + max-width: get-width(stencilString("productgallery_size")); } .card-figcaption { @@ -70,11 +70,11 @@ .card-image { @include lazy-loaded-img; border: 0; - width: 100%; + /* Object-fit polyfill */ + font-family: "object-fit: contain;"; max-height: 100%; object-fit: contain; - /* Object-fit polyfill */ - font-family: 'object-fit: contain;'; + width: 100%; } .card-title { @@ -83,8 +83,8 @@ > a { color: $card-title-color; - text-decoration: $card-title-textDecoration; display: block; + text-decoration: $card-title-textDecoration; // scss-lint:disable NestingDepth &:hover { diff --git a/assets/scss/components/citadel/forms/_forms.scss b/assets/scss/components/citadel/forms/_forms.scss index 18ace621b1..12267f8c6a 100644 --- a/assets/scss/components/citadel/forms/_forms.scss +++ b/assets/scss/components/citadel/forms/_forms.scss @@ -7,7 +7,6 @@ // ----------------------------------------------------------------------------- .form--hiddenLabels { - .form-label { @include u-hidden("visually"); } @@ -26,7 +25,6 @@ // ----------------------------------------------------------------------------- .form-field--error { - .form-input { float: none; } @@ -34,7 +32,7 @@ .form-inlineMessage { // scss-lint:disable NestingDepth - &:before { + &::before { background: $form-error-icon no-repeat; background-size: $form-inlineMessage-backgroundSize; content: ""; @@ -50,14 +48,13 @@ } .form-field--success { - .form-input[type="text"] { + padding-right: $form-success-input-paddingRight; background: { image: $form-success-icon; position: right $form-success-icon-right center; repeat: no-repeat; } - padding-right: $form-success-input-paddingRight; } } @@ -67,7 +64,6 @@ .form-checkbox, .form-radio { - + .form-label { // scss-lint:disable NestingDepth @@ -87,10 +83,11 @@ } .form-option-wrapper { - position: relative; display: inline-block; + position: relative; - & .form-radio, & .form-checkbox { + .form-radio, + .form-checkbox { bottom: 0.5rem; left: 0.5rem; } @@ -141,9 +138,9 @@ // // ----------------------------------------------------------------------------- @mixin placeholder { - &::-webkit-input-placeholder {@content} - &::-moz-placeholder {@content} - &:-ms-input-placeholder {@content} + &::-webkit-input-placeholder {@content; } + &::-moz-placeholder {@content; } + &:-ms-input-placeholder {@content; } } .form-label--alternate { @@ -202,7 +199,6 @@ } .form-prefixPostfix { - &.wrap { flex-wrap: wrap; } @@ -271,7 +267,7 @@ width: remCalc(35px); .form-field--success & { - float:none; + float: none; } } @@ -321,7 +317,7 @@ min-width: initial; padding: 0; - @include breakpoint('small') { // 4 + @include breakpoint("small") { // 4 pointer-events: inherit; // 3 } } @@ -390,7 +386,7 @@ background-color: $productOptions-disable-background-color; opacity: $productOptions-disable-opacity; - &:before { + &::before { background-color: $productOptions-strikethrough-color; content: ""; height: 2px; diff --git a/assets/scss/components/citadel/nav/_nav.scss b/assets/scss/components/citadel/nav/_nav.scss index 4c7f9d3a48..de5db775cc 100644 --- a/assets/scss/components/citadel/nav/_nav.scss +++ b/assets/scss/components/citadel/nav/_nav.scss @@ -39,16 +39,16 @@ @include checkRadioBase(); @include checkBox-base(); - &:before, - &:after { + &::before, + &::after { top: 50%; // 1 } - &:before { + &::before { margin-top: -$checkRadio-outerSize / 2; } - &:after { + &::after { margin-top: -$checkRadio-outerSize / 2 + remCalc(1); } diff --git a/assets/scss/components/foundation/accordion/_accordion.scss b/assets/scss/components/foundation/accordion/_accordion.scss index ec55eb71ca..34ba82bb40 100644 --- a/assets/scss/components/foundation/accordion/_accordion.scss +++ b/assets/scss/components/foundation/accordion/_accordion.scss @@ -21,21 +21,21 @@ } .accordion-title { - font-size: remCalc(15px); - margin: 0; color: stencilColor("color-textHeading"); font-family: "Montserrat", Arial, Helvetica, sans-serif; + font-size: remCalc(15px); + margin: 0; } .accordion-navigation { - position: relative; - text-decoration: none; + align-items: center; display: flex; flex-direction: row; justify-content: space-between; - align-items: center; - width: 100%; padding-right: 1rem; + position: relative; + text-decoration: none; + width: 100%; } @@ -132,11 +132,11 @@ } .facetedSearch-clearLink { + color: stencilColor("color-textSecondary"); position: absolute; right: 40px; top: 50%; transform: translateY(-50%); - color: stencilColor("color-textSecondary"); @include breakpoint("medium") { right: 20px; top: 3px; diff --git a/assets/scss/components/foundation/alerts/_alerts.scss b/assets/scss/components/foundation/alerts/_alerts.scss index 58f43413e0..19af9045f9 100644 --- a/assets/scss/components/foundation/alerts/_alerts.scss +++ b/assets/scss/components/foundation/alerts/_alerts.scss @@ -14,8 +14,8 @@ } .alertBox--info { - color: stencilColor("alert-color-alt"); background-color: stencilColor("banner--deafault-backgroundColor"); + color: stencilColor("alert-color-alt"); .alertBox-close { diff --git a/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss b/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss index 1f14c1bd9b..0130df56ee 100644 --- a/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss +++ b/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss @@ -15,8 +15,8 @@ ol.breadcrumbs { display: none; // 1 font-size: 0; // 2 - text-align: center; overflow: visible; + text-align: center; @include breakpoint("small") { display: block; // 1 } @@ -37,12 +37,12 @@ ol.breadcrumbs { } // needs to override common bigcommerce styles for accessibility improvements - &:not(:first-child):before { + &:not(:first-child)::before { + border-right: 0.1em solid $primary-color; + content: ""; display: inline-block; + height: 0.8em; margin: 0 0.25rem; transform: rotate(15deg); - border-right: 0.1em solid $primary-color; - height: 0.8em; - content: ''; } } diff --git a/assets/scss/components/foundation/buttons/_buttons.scss b/assets/scss/components/foundation/buttons/_buttons.scss index a88b03ab18..25a812af6f 100644 --- a/assets/scss/components/foundation/buttons/_buttons.scss +++ b/assets/scss/components/foundation/buttons/_buttons.scss @@ -20,7 +20,6 @@ } .button--icon { - svg { fill: stencilColor("button--icon-svg-color"); } diff --git a/assets/scss/components/foundation/dropdown/_dropdown.scss b/assets/scss/components/foundation/dropdown/_dropdown.scss index 740c8dc69e..10a25fb3a2 100644 --- a/assets/scss/components/foundation/dropdown/_dropdown.scss +++ b/assets/scss/components/foundation/dropdown/_dropdown.scss @@ -63,8 +63,8 @@ width: 100%; &.is-open { - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } .icon { @@ -83,15 +83,15 @@ max-width: none !important; width: 100% !important; - @include breakpoint('small') { + @include breakpoint("small") { padding-right: 20px; } - @include breakpoint('medium') { - padding-right: 0px; + @include breakpoint("medium") { + padding-right: 0; } - @include breakpoint('large') { + @include breakpoint("large") { padding-right: 11px; } @@ -100,15 +100,15 @@ } [data-wishlist] { - border-top: none; - margin-bottom: 0px; + border-top: 0; + margin-bottom: 0; width: 100%; } .button { background-color: stencilColor("dropdown--wishList-backgroundColor"); - border-top-left-radius: 0px; - border-top-right-radius: 0px; + border-top-left-radius: 0; + border-top-right-radius: 0; width: 100%; } @@ -117,9 +117,9 @@ } li:not(:last-child) .button { - border-bottom: none; - border-radius: 0px; - border-top: none; - margin-bottom: 0px; + border-bottom: 0; + border-radius: 0; + border-top: 0; + margin-bottom: 0; } } diff --git a/assets/scss/components/foundation/forms/_forms.scss b/assets/scss/components/foundation/forms/_forms.scss index 75e55a3287..71a3d33926 100644 --- a/assets/scss/components/foundation/forms/_forms.scss +++ b/assets/scss/components/foundation/forms/_forms.scss @@ -23,7 +23,6 @@ // ----------------------------------------------------------------------------- .form-label { - small { float: $opposite-direction; margin-top: $form-label-small-marginTop; @@ -35,7 +34,6 @@ // ----------------------------------------------------------------------------- .form-label--inlineSmall { - small { color: stencilColor("color-textSecondary"); float: none; diff --git a/assets/scss/components/foundation/inlineList/_inlineList.scss b/assets/scss/components/foundation/inlineList/_inlineList.scss index 8e925d7f0e..ba46fea5f9 100644 --- a/assets/scss/components/foundation/inlineList/_inlineList.scss +++ b/assets/scss/components/foundation/inlineList/_inlineList.scss @@ -5,9 +5,9 @@ // // ----------------------------------------------------------------------------- -ul.inlineList { // 1 - overflow: visible; - @include clearfix; +ul.inlineList { + @include clearfix; // 1 + overflow: visible; } .inlineList--labels { diff --git a/assets/scss/components/foundation/lazyLoad/_lazyLoad.scss b/assets/scss/components/foundation/lazyLoad/_lazyLoad.scss index 8ff6475fd4..caf8075709 100644 --- a/assets/scss/components/foundation/lazyLoad/_lazyLoad.scss +++ b/assets/scss/components/foundation/lazyLoad/_lazyLoad.scss @@ -1,30 +1,30 @@ @mixin lazy-loaded-img() { - position: absolute; - top: 0; bottom: 0; left: 0; - right: 0; margin: auto; + position: absolute; + right: 0; + top: 0; } @mixin lazy-loaded-padding($size-param) { - &:after { - content: ''; + &::after { + content: ""; display: block; height: 0; - width: 100%; padding-bottom: get-padding(stencilString($size-param)); + width: 100%; } } @mixin cart-item-lazy-load-img-placeholder() { - &:after { - content: ''; + &::after { + content: ""; display: block; + height: 100%; + left: 0; position: absolute; top: 0; - left: 0; - height: 100%; width: 100%; } } diff --git a/assets/scss/components/foundation/modal/_modal.scss b/assets/scss/components/foundation/modal/_modal.scss index 042c5fca44..0bb4a9287f 100644 --- a/assets/scss/components/foundation/modal/_modal.scss +++ b/assets/scss/components/foundation/modal/_modal.scss @@ -5,6 +5,7 @@ // ============================================================================= .modal { + left: 50%; margin: 0; max-height: 90%; max-width: 95%; @@ -12,7 +13,6 @@ outline: none; overflow: hidden; padding: 0; - left: 50%; top: 50% !important; transform: translate(-50%, -50%); @@ -43,6 +43,8 @@ .modal-close { @include square($reveal-close-height); + + @include addFocusTooltip; color: stencilColor("icon-color"); font-size: 26px; line-height: remCalc($reveal-close-height); @@ -59,8 +61,6 @@ &:hover { color: stencilColor("icon-color-hover"); } - - @include addFocusTooltip; } .modal-body { @@ -73,7 +73,7 @@ background-color: $alert-modal-bgColor; border-radius: $alert-modal-borderRadius; font-family: $alert-font-body; - padding: 40px 20px 20px 20px; + padding: 40px 20px 20px; text-align: center; .modal-content { @@ -90,7 +90,8 @@ color: $alert-button-color; } - .confirm:focus, .confirm:hover { + .confirm:focus, + .confirm:hover { background-color: $alert-button-bgColorHover; border-color: $alert-button-borderColorHover; color: $alert-button-colorHover; diff --git a/assets/scss/components/foundation/pagination/_pagination.scss b/assets/scss/components/foundation/pagination/_pagination.scss index c267e95905..6b3c3649d1 100644 --- a/assets/scss/components/foundation/pagination/_pagination.scss +++ b/assets/scss/components/foundation/pagination/_pagination.scss @@ -71,7 +71,6 @@ .pagination-item--previous, .pagination-item--next { - .icon { height: remCalc(20px); margin-top: -(remCalc(2px)); diff --git a/assets/scss/components/foundation/panels/_panels.scss b/assets/scss/components/foundation/panels/_panels.scss index 7bccec517c..2ae4973bab 100644 --- a/assets/scss/components/foundation/panels/_panels.scss +++ b/assets/scss/components/foundation/panels/_panels.scss @@ -8,7 +8,6 @@ } .panel--large { - .panel-body { margin-bottom: spacing("single") + spacing("third"); padding: spacing("single") + spacing("third"); diff --git a/assets/scss/components/foundation/tables/_tables.scss b/assets/scss/components/foundation/tables/_tables.scss index 549b6a9bbb..3d6a713e8d 100644 --- a/assets/scss/components/foundation/tables/_tables.scss +++ b/assets/scss/components/foundation/tables/_tables.scss @@ -68,7 +68,6 @@ // scss-lint:disable SelectorDepth, NestingDepth tr { - th { padding-left: 0; padding-right: 0; diff --git a/assets/scss/components/stencil/account/_account.scss b/assets/scss/components/stencil/account/_account.scss index de03269f2d..45fc0e4825 100644 --- a/assets/scss/components/stencil/account/_account.scss +++ b/assets/scss/components/stencil/account/_account.scss @@ -68,14 +68,14 @@ } .account-product-figure { + + @include lazy-loaded-padding("productthumb_size"); align-items: center; display: flex; flex-direction: column; margin: 0 spacing("single") + spacing("third") 0 0; position: relative; width: 70px; - - @include lazy-loaded-padding('productthumb_size'); } .account-product-download { @@ -339,7 +339,6 @@ // ----------------------------------------------------------------------------- .account { - .pagination { color: color("greys", "light"); margin-top: spacing("double"); @@ -352,7 +351,6 @@ // ----------------------------------------------------------------------------- .account-message { - .is-read { color: color("greys", "light"); } diff --git a/assets/scss/components/stencil/addReturn/_addReturn.scss b/assets/scss/components/stencil/addReturn/_addReturn.scss index 7d31db8e8e..64ea4816e1 100644 --- a/assets/scss/components/stencil/addReturn/_addReturn.scss +++ b/assets/scss/components/stencil/addReturn/_addReturn.scss @@ -4,7 +4,6 @@ .account--addReturn { - .table { display: block; margin-bottom: spacing("double"); @@ -113,7 +112,6 @@ } .return-itemQuantity { - .form-label { display: inline; margin-right: spacing("quarter"); diff --git a/assets/scss/components/stencil/adminBar/_adminBar.scss b/assets/scss/components/stencil/adminBar/_adminBar.scss index f23c65ea6a..f2e93be178 100644 --- a/assets/scss/components/stencil/adminBar/_adminBar.scss +++ b/assets/scss/components/stencil/adminBar/_adminBar.scss @@ -52,16 +52,12 @@ body.hasAdminBar { } .adminBar { - // Only show admin bar at desktop width - display: none; - - @include breakpoint("medium") { - display: block; - } background-color: $adminBar-color; box-shadow: 0 remCalc(2) remCalc(7) 0 rgba(0, 0, 0, 0.2); color: $adminBar-text-color; + // Only show admin bar at desktop width + display: none; font-family: "Source Sans Pro", arial, "sans serif", sans-serif; font-size: 14px; font-weight: normal; @@ -73,17 +69,23 @@ body.hasAdminBar { width: 100%; z-index: 10000; + @include breakpoint("medium") { + display: block; + } + .svg-icon { - display: inline-flex; align-self: center; + display: inline-flex; } + .svg-icon svg { - height:1em; - width:1em; + height: 1em; + width: 1em; } + .svg-icon.svg-baseline svg { - top: .125em; position: relative; + top: 0.125em; } } @@ -131,29 +133,29 @@ body.hasAdminBar { /* Tooltip container */ .tooltip { - position: relative; display: inline-block; + position: relative; } /* Tooltip text */ .tooltip .tooltiptext { - visibility: hidden; - width: auto; background-color: $adminBar-tooltip-bg-backgroundColor; + border-radius: 6px; color: #fff; - text-align: center; padding: 5px 10px; - border-radius: 6px; /* Position the tooltip text - see examples below! */ position: absolute; + text-align: center; + visibility: hidden; + width: auto; z-index: 1; } .tooltip-bottom { - top: 135%; left: 50%; margin-left: -60px; + top: 135%; } /* Show the tooltip text when you mouse over the tooltip container */ @@ -165,8 +167,8 @@ body.hasAdminBar { .adminBar-links { margin-left: auto; - text-align: right; padding-right: 5px; + text-align: right; a { padding: 10px; @@ -178,7 +180,7 @@ body.hasAdminBar { } .adminBar-large { - display:none; + display: none; @include breakpoint("large") { display: initial; } @@ -186,9 +188,9 @@ body.hasAdminBar { .adminBar-close { span { - padding: 10px; + margin-bottom: 0.25em; margin-right: 5px; - margin-bottom: .25em; + padding: 10px; } span:hover { diff --git a/assets/scss/components/stencil/applePay/_applePay.scss b/assets/scss/components/stencil/applePay/_applePay.scss index c931dd0d63..1bb38af78d 100644 --- a/assets/scss/components/stencil/applePay/_applePay.scss +++ b/assets/scss/components/stencil/applePay/_applePay.scss @@ -8,8 +8,8 @@ max-height: remCalc(64px); min-height: remCalc(32px); min-width: 90px; - width: 160px; padding: spacing("single"); + width: 160px; @if stencilString("applePay-button") == "white" { background-color: $applePay-white; background-image: -webkit-named-image(apple-pay-logo-black); @@ -31,7 +31,7 @@ float: right; } - & .previewCartCheckout .apple-pay-checkout-button { + .previewCartCheckout .apple-pay-checkout-button { display: inline-block; float: none; } diff --git a/assets/scss/components/stencil/cart/_cart.scss b/assets/scss/components/stencil/cart/_cart.scss index 7bdfebd6ea..b9bfe22b39 100644 --- a/assets/scss/components/stencil/cart/_cart.scss +++ b/assets/scss/components/stencil/cart/_cart.scss @@ -106,8 +106,8 @@ $card-preview-zoom-bottom-offset: 6rem; display: table-row; // 1 padding-left: 0; - &:before, - &:after { + &::before, + &::after { display: none; } } @@ -126,11 +126,13 @@ $card-preview-zoom-bottom-offset: 6rem; } .cart-item-figure { + + @include cart-item-lazy-load-img-placeholder; float: left; - text-align: center; margin-bottom: $cart-item-spacing; - width: grid-calc(4, $total-columns); position: relative; + text-align: center; + width: grid-calc(4, $total-columns); @include breakpoint("small") { // height: auto; @@ -141,11 +143,9 @@ $card-preview-zoom-bottom-offset: 6rem; @include breakpoint("medium") { float: none; - width: grid-calc(1, $total-columns); padding: $cart-thumbnail-paddingVertical 0; + width: grid-calc(1, $total-columns); } - - @include cart-item-lazy-load-img-placeholder; } .cart-item-fixed-image { @@ -154,10 +154,10 @@ $card-preview-zoom-bottom-offset: 6rem; .cart-item-image { max-height: $cart-thumbnail-maxHeight; - max-width: get-width(stencilString('productthumb_size')); + max-width: get-width(stencilString("productthumb_size")); @include breakpoint("medium") { - margin-left:0; + margin-left: 0; } } @@ -220,7 +220,6 @@ $card-preview-zoom-bottom-offset: 6rem; } .cart-item-quantity { - .form-increment { display: inline-block; margin: 0 spacing("eighth") 1px spacing("single"); @@ -266,9 +265,9 @@ $card-preview-zoom-bottom-offset: 6rem; } .cart-item-name { + display: inline-block; font-size: fontSize("smaller"); margin: 0; - display: inline-block; &__label { display: inline-block; @@ -545,8 +544,8 @@ $card-preview-zoom-bottom-offset: 6rem; .previewCart-additionalCheckoutButtons { @extend %additionalCheckoutButtons; - padding-right: spacing('single'); - padding-bottom: spacing('single'); + padding-bottom: spacing("single"); + padding-right: spacing("single"); } // Cart Preview @@ -587,18 +586,18 @@ $card-preview-zoom-bottom-offset: 6rem; .previewCartItem-image { @include grid-column(4, $float: false); + + @include lazy-loaded-padding("productthumb_size"); padding: 0; - text-align: center; position: relative; + text-align: center; img { - max-height: 90%; @include lazy-loaded-img; + max-height: 90%; } - @include lazy-loaded-padding('productthumb_size'); - - &:after { + &::after { @include breakpoint("xxsmall") { padding-bottom: 75%; } diff --git a/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss b/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss index 10cff12547..631e2bc237 100644 --- a/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss +++ b/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss @@ -14,10 +14,10 @@ // ----------------------------------------------------------------------------- .heroCarousel { - width: 1px; - min-width: 100%; margin-bottom: (spacing("double") + spacing("single")); margin-top: -(spacing("single")); // 3 + min-width: 100%; + width: 1px; @include breakpoint("medium") { margin-top: -(spacing("single") + spacing("base")); // 3 @@ -52,9 +52,9 @@ .slick-next, .slick-prev { + margin: 0; top: 50%; transform: translateY(-50%); - margin: 0; } .slick-next { @@ -72,6 +72,7 @@ left: 25px; } } + .slick-dots { bottom: spacing("third"); @@ -116,15 +117,16 @@ .heroCarousel-slide { position: relative; + a { text-decoration: none; } .heroCarousel-image { - object-fit: contain; - width: 100%; height: 100%; + object-fit: contain; object-position: 50% 0%; + width: 100%; @include breakpoint("small") { object-position: 50% 50%; @@ -139,8 +141,8 @@ &.compat-object-fit { // 1 .heroCarousel-image { - width: 100%; height: 100%; + width: 100%; } } } @@ -154,12 +156,12 @@ } .heroCarousel-image-wrapper { - display: flex; - justify-content: center; align-items: flex-start; + display: flex; height: 56.25vw; + justify-content: center; max-height: 100vh; - transition: height .3s ease; + transition: height 0.3s ease; @include breakpoint("small") { max-height: remCalc(400px); @@ -178,19 +180,19 @@ @include breakpoint("small") { @include carouselOpaqueBackgrounds; - width: remCalc(700px); - padding: spacing("single") * 1.5; - width: 70%; background-color: rgba($carousel-bgColor, 0.9); left: 0; - padding: spacing("single"); margin: 0 auto; + max-height: 80%; + overflow: auto; + padding: spacing("single") * 1.5; + padding: spacing("single"); position: absolute; right: 0; top: 50%; transform: translateY(-50%); - max-height: 80%; - overflow: auto; + width: remCalc(700px); + width: 70%; &.heroCarousel-content--empty { background-color: transparent; diff --git a/assets/scss/components/stencil/navPages/_navPages.scss b/assets/scss/components/stencil/navPages/_navPages.scss index 7ce110be59..c7feaaffbd 100644 --- a/assets/scss/components/stencil/navPages/_navPages.scss +++ b/assets/scss/components/stencil/navPages/_navPages.scss @@ -194,11 +194,20 @@ text-decoration: none; text-transform: uppercase; + @include breakpoint("medium") { + display: inline-block; + padding: spacing("half") (spacing("half") + spacing("quarter")) (spacing("half") + spacing("quarter")); + + &.is-open { + background-color: $navPage-subMenu-item--is-highlighted-background; + } + } + &.has-subMenu { .navPages-list:not(.navPages-list-depth-max) & { + align-items: center; display: flex; justify-content: space-between; - align-items: center; } } @@ -211,16 +220,8 @@ } } - @include breakpoint("medium") { - display: inline-block; - padding: spacing("half") (spacing("half") + spacing("quarter")) (spacing("half") + spacing("quarter")); - - &.is-open { - background-color: $navPage-subMenu-item--is-highlighted-background; - } - } - - &:hover, &.activePage { + &:hover, + &.activePage { color: $navPage-subMenu-item--is-highlighted-color; // scss-lint:disable NestingDepth @@ -259,8 +260,7 @@ } .has-subMenu.is-open &, - .collapsible-icon-wrapper.is-open & - { + .collapsible-icon-wrapper.is-open & { transform: rotate(0); } @@ -271,7 +271,7 @@ @include breakpoint("medium") { @include square(8px); margin: 0 0 0 spacing("half"); - } + } } } @@ -293,7 +293,7 @@ } .navPage-subMenu-action:not(.navPages-action-depth-max) + & { - margin-left: spacing("double"); // + margin-left: spacing("double"); // @include breakpoint("medium") { margin-left: 0; @@ -341,7 +341,7 @@ @include breakpoint("medium") { margin-right: auto; - } + } } } } @@ -414,6 +414,10 @@ .navPage-subMenu-action { padding: spacing("half") 0; + @include breakpoint("medium") { + padding: spacing("half") 0 (spacing("half") + spacing("quarter")); + } + .navPages-list:not(.navPages-list-depth-max) & { padding: 0 0 0 spacing("single"); @@ -422,16 +426,12 @@ } } - @include breakpoint("medium") { - padding: spacing("half") 0 (spacing("half") + spacing("quarter")); - } - .collapsible-icon-wrapper { - height: 100%; - width: 100%; box-sizing: content-box; display: inline-block; + height: 100%; text-align: right; + width: 100%; @include breakpoint("medium") { display: none; @@ -443,12 +443,6 @@ // // Child pages of sub pages navigation lists // ----------------------------------------------------------------------------- - -.navPage-childList-item { - @include breakpoint("medium") { - } -} - .navPage-childList-action { font-weight: fontWeight("normal"); padding: 0 0 spacing("quarter"); diff --git a/assets/scss/components/stencil/navUser/_navUser.scss b/assets/scss/components/stencil/navUser/_navUser.scss index 9436a2fa21..0d02f7b1b8 100644 --- a/assets/scss/components/stencil/navUser/_navUser.scss +++ b/assets/scss/components/stencil/navUser/_navUser.scss @@ -41,7 +41,7 @@ // scss-lint:disable NestingDepth &.is-open { - &:before { + &::before { @include css-triangle( $triangle-direction: "bottom", $triangle-size: 10px, @@ -52,7 +52,7 @@ position: absolute; } - &:after { + &::after { @include css-triangle( $triangle-direction: "bottom", $triangle-size: 8px, @@ -104,13 +104,13 @@ } .navUser-action--currencySelector + .dropdown-menu { - &:before { + &::before { // scss-lint:disable ImportantRule left: auto !important; // 6 right: spacing("half"); // 6 } - &:after { + &::after { // scss-lint:disable ImportantRule left: auto !important; // 6 right: spacing("half") + remCalc(2px); // 6 @@ -121,12 +121,12 @@ max-width: remCalc(300px); padding: spacing("single"); - &:before { + &::before { // scss-lint:disable ImportantRule left: remCalc(140px) !important; // 3 } - &:after { + &::after { // scss-lint:disable ImportantRule left: remCalc(142px) !important; // 3 } @@ -184,26 +184,26 @@ // scss-lint:disable NestingDepth &.is-open { - top: auto !important; // 7 left: auto !important; // 7 right: remCalc(5px); // 7 + top: auto !important; // 7 @include breakpoint("medium") { right: 0; // 7 } - &:before, - &:after { + &::before, + &::after { left: auto; } - &:before { + &::before { right: spacing("half") - remCalc(5px); // 8 @include breakpoint("medium") { right: spacing("half"); // 8 } } - &:after { + &::after { right: spacing("half") - remCalc(3px); // 8 @include breakpoint("medium") { right: spacing("half") + remCalc(2px); // 8 @@ -230,7 +230,6 @@ } .navUser-item--account { - .navUser-or { // scss-lint:disable NestingDepth @@ -262,12 +261,11 @@ // ----------------------------------------------------------------------------- .navUser-action--quickSearch { - &.is-open { position: relative; // scss-lint:disable NestingDepth - &:before { + &::before { @include css-triangle( $triangle-direction: "bottom", $triangle-size: 10px, @@ -283,8 +281,8 @@ .dropdown--quickSearch { background-color: $dropdown--quickSearch-backgroundColor; - padding: spacing("single") 0; display: none; + padding: spacing("single") 0; @include breakpoint("small") { padding: spacing("double"); diff --git a/assets/scss/components/stencil/paymentMethods/_paymentMethods.scss b/assets/scss/components/stencil/paymentMethods/_paymentMethods.scss index 7cb07f92f1..7d3a404211 100644 --- a/assets/scss/components/stencil/paymentMethods/_paymentMethods.scss +++ b/assets/scss/components/stencil/paymentMethods/_paymentMethods.scss @@ -3,20 +3,20 @@ // ============================================================================= .paymentMethodsTitle { + margin: 0 0 spacing("half"); padding: 0; text-transform: none; width: 100%; - margin: 0 0 spacing("half"); } .paymentMethodsGrid { - margin: -(spacing("half")); - margin-bottom: spacing("single"); display: flex; flex-wrap: wrap; + margin: -(spacing("half")); + margin-bottom: spacing("single"); &-item { - padding: spacing("half");; + padding: spacing("half"); width: 100%; @include breakpoint("small") { @@ -26,18 +26,18 @@ } .paymentMethod { - border: container("border"); background-color: #e5e5e5; + border: container("border"); border-radius: remCalc(3px); - height: 100%; display: flex; flex-flow: column nowrap; + height: 100%; &-row { padding: 1.5rem; &:first-child { - background-color: #ffffff; + background-color: #fff; } &:last-child { @@ -56,10 +56,10 @@ } .methodHeader { - justify-content: space-between; + align-items: center; display: flex; flex-flow: row; - align-items: center; + justify-content: space-between; &-icon { margin-right: spacing("half"); @@ -89,16 +89,16 @@ } &-meta { - padding-left: spacing("half"); - margin-left: auto; display: flex; flex-wrap: nowrap; + margin-left: auto; + padding-left: spacing("half"); } &-default { - margin-left: spacing("half"); fill: color("greys", "dark"); height: remCalc(18px); + margin-left: spacing("half"); width: remCalc(18px); @include breakpoint("large") { @@ -114,8 +114,8 @@ } .methodDetails { - margin: 0; display: flex; + margin: 0; &-label { flex: 1; @@ -129,13 +129,13 @@ } .newPaymentMethod { - text-decoration: none; - display: flex; align-items: center; - justify-items: center; + display: flex; flex-direction: column; - min-height: remCalc(186px); height: 100%; + justify-items: center; + min-height: remCalc(186px); + text-decoration: none; &-icon { font-size: 50px; diff --git a/assets/scss/components/stencil/productCarousel/_productCarousel.scss b/assets/scss/components/stencil/productCarousel/_productCarousel.scss index 9b40a59938..872c6015d6 100644 --- a/assets/scss/components/stencil/productCarousel/_productCarousel.scss +++ b/assets/scss/components/stencil/productCarousel/_productCarousel.scss @@ -8,13 +8,13 @@ // // ----------------------------------------------------------------------------- -.productCarousel { // 1 - width: 1px; - min-width: 100%; - position: relative; +.productCarousel { @include grid-row( $behavior: nest - ); + ); // 1 + min-width: 100%; + position: relative; + width: 1px; } .productCarousel-slide { // 1 diff --git a/assets/scss/components/stencil/productView/_productView.scss b/assets/scss/components/stencil/productView/_productView.scss index 1b9337e3d9..9dd3c8b7eb 100644 --- a/assets/scss/components/stencil/productView/_productView.scss +++ b/assets/scss/components/stencil/productView/_productView.scss @@ -40,21 +40,21 @@ } .productView-img-container { - position: relative; + + @include lazy-loaded-padding("product_size"); margin: auto; - max-width: get-width(stencilString('product_size')); + max-width: get-width(stencilString("product_size")); + position: relative; width: 100%; img { @include lazy-loaded-img; + /* Object-fit polyfill */ + font-family: "object-fit: contain;"; max-height: 100%; - width: 100%; object-fit: contain; - /* Object-fit polyfill */ - font-family: 'object-fit: contain;'; + width: 100%; } - - @include lazy-loaded-padding('product_size'); } .productView-thumbnails { @@ -79,12 +79,12 @@ img { @include lazy-loaded-img; + /* Object-fit polyfill */ + font-family: "object-fit: contain;"; margin: 0; - width: get-width(stencilString('productview_thumb_size')); object-fit: contain; - /* Object-fit polyfill */ - font-family: 'object-fit: contain;'; position: relative; + width: get-width(stencilString("productview_thumb_size")); } } @@ -101,14 +101,14 @@ .productView-thumbnail-link { border: container("border"); + box-sizing: content-box; display: inline-flex; height: 67px; + justify-content: center; max-width: 75px; padding: 2px; position: relative; width: 100%; - box-sizing: content-box; - justify-content: center; &:hover, &.is-active { @@ -196,10 +196,10 @@ } .productView-reviewLink { + color: stencilColor("color-textSecondary"); display: inline-block; margin-left: spacing("quarter"); vertical-align: middle; - color: stencilColor("color-textSecondary"); // scss-lint:disable NestingDepth &:hover { @@ -306,8 +306,7 @@ } // scss-lint:disable SelectorDepth, NestingDepth - > .form-checkbox + .form-label - { + > .form-checkbox + .form-label { display: inline-block; margin-left: spacing("single"); width: auto; @@ -319,8 +318,8 @@ } > .form-radio + .form-label { - text-align: justify; display: inline-block; + text-align: justify; } > .form-label:nth-of-type(2) { @@ -411,12 +410,12 @@ // ----------------------------------------------------------------------------- .productView-image .easyzoom-flyout { + height: 100%; + left: 0; overflow: hidden; position: absolute; top: 0; - left: 0; width: 100%; - height: 100%; img { max-width: none; diff --git a/assets/scss/components/stencil/socialLinks/_socialLinks.scss b/assets/scss/components/stencil/socialLinks/_socialLinks.scss index f7b7cc4e73..84431cb87d 100644 --- a/assets/scss/components/stencil/socialLinks/_socialLinks.scss +++ b/assets/scss/components/stencil/socialLinks/_socialLinks.scss @@ -18,7 +18,6 @@ // scss-lint:disable NestingDepth, SelectorDepth &:hover { - svg { fill: stencilColor("icon-color-hover"); } @@ -61,16 +60,15 @@ // scss-lint:enable NestingDepth, } - & .socialLinks__link { - position: relative; - height: 2rem; - + .socialLinks__link { @include addFocusTooltip; + height: 2rem; + position: relative; // moving tooltip on the left side for avoiding by parent's cut with overflow: hidden - &:focus:after { - right: auto; + &:focus::after { left: 0; + right: auto; z-index: zIndex("low"); } } diff --git a/assets/scss/components/stencil/writeReview/_writeReview.scss b/assets/scss/components/stencil/writeReview/_writeReview.scss index 47df822618..4bc2c0c3f1 100644 --- a/assets/scss/components/stencil/writeReview/_writeReview.scss +++ b/assets/scss/components/stencil/writeReview/_writeReview.scss @@ -27,15 +27,15 @@ } .writeReview-productImage-container { + + @include lazy-loaded-padding("product_size"); position: relative; img { @include lazy-loaded-img; + /* Object-fit polyfill */ + font-family: "object-fit: contain;"; height: 100%; object-fit: contain; - /* Object-fit polyfill */ - font-family: 'object-fit: contain;'; } - - @include lazy-loaded-padding('product_size'); } diff --git a/assets/scss/components/vendor/nanobar/_nanobar.scss b/assets/scss/components/vendor/nanobar/_nanobar.scss index 87e4f49fe9..fd83432a65 100644 --- a/assets/scss/components/vendor/nanobar/_nanobar.scss +++ b/assets/scss/components/vendor/nanobar/_nanobar.scss @@ -4,17 +4,17 @@ .nanobar { display: none; - width: 100%; height: remCalc(5px); - z-index: 9999; - top: 0; pointer-events: none; + top: 0; user-select: none; + width: 100%; + z-index: 9999; .bar { - width: 0; - height: 100%; - transition: height .1s; background-color: stencilColor("pace-progress-backgroundColor"); + height: 100%; + transition: height 0.1s; + width: 0; } } diff --git a/assets/scss/components/vendor/slick/_slick.scss b/assets/scss/components/vendor/slick/_slick.scss index 0896669aba..a9985b2ee2 100644 --- a/assets/scss/components/vendor/slick/_slick.scss +++ b/assets/scss/components/vendor/slick/_slick.scss @@ -19,12 +19,12 @@ .slick-next, .slick-prev { @include carouselOpaqueBackgrounds($slick-arrow-bgColor); - z-index: 1; border: 1px solid $slick-arrow-borderColor; height: remCalc(61px); margin-top: -(remCalc(15px)); padding: remCalc(10px); width: remCalc(40px); + z-index: 1; &::before { background-position: 50%; @@ -52,14 +52,12 @@ } &::before { - @include carousel-arrow-color( $slick-arrow-color, 'next') - } + @include carousel-arrow-color( $slick-arrow-color, "next"); } &:hover { // scss-lint:disable NestingDepth &::before { - @include carousel-arrow-color( $slick-arrow-color-hover, 'next') - } + @include carousel-arrow-color( $slick-arrow-color-hover, "next"); } } } @@ -71,19 +69,16 @@ } &::before { - @include carousel-arrow-color( $slick-arrow-color, 'prev') - } + @include carousel-arrow-color( $slick-arrow-color, "prev"); } &:hover { // scss-lint:disable NestingDepth &::before { - @include carousel-arrow-color( $slick-arrow-color-hover, 'prev') - } + @include carousel-arrow-color( $slick-arrow-color-hover, "prev"); } } } -.slick-slide img -{ +.slick-slide img { display: block; width: 100%; } @@ -149,7 +144,7 @@ // // Stencil override for product detail page thumbnail dots. // ----------------------------------------------------------------------------- -.productView .slick-dots { +.productView .slick-dots { position: relative; } @@ -175,8 +170,8 @@ // iOS Safari fix https://github.com/kenwheeler/slick/issues/2834#issuecomment-389590661 // ----------------------------------------------------------------------------- div.slick-slider { - width: 1px; min-width: 100%; + width: 1px; *width: 100%; } @@ -186,17 +181,17 @@ div.slick-slider { // ----------------------------------------------------------------------------- .carousel-tooltip { - height: 1px; + @include addFocusTooltip($attr: aria-label); display: none; - position: relative; + height: 1px; margin-top: 10px; - @include addFocusTooltip($attr: aria-label); + position: relative; @include breakpoint("small") { display: block; } - &:after { + &::after { padding: 15px 10px; top: 10px; } @@ -204,32 +199,32 @@ div.slick-slider { .slick-prev:focus &, .slick-next:focus &, .slick-dots button:focus & { - &:before, - &:after { + &::before, + &::after { display: block; } } .slick-prev &, .slick-next & { - &:before { + &::before { top: -7px; } } .slick-prev & { - &:before { + &::before { right: -2px; } - &:after { - right: auto; + &::after { left: -5px; + right: auto; } } .slick-next & { - &:after { + &::after { right: -5px; } } @@ -237,13 +232,13 @@ div.slick-slider { .slick-dots button & { margin-top: 25px; - &:before, - &:after { + &::before, + &::after { right: 50%; transform: translateX(50%); } - &:before { + &::before { top: -7px; } } @@ -254,41 +249,41 @@ div.slick-slider { // ----------------------------------------------------------------------------- .carousel-play-pause-button { - display: none; - position: absolute; - left: 15px; + @include carouselOpaqueBackgrounds($slick-play-pause-button-bgColor); + border: 1px solid $slick-play-pause-button-borderColor; bottom: spacing("third"); - height: 32px; - min-width: 60px; - max-width: 60px; + color: $slick-play-pause-button-color; + display: none; font-size: 14px; - line-height: 1.25; font-weight: 700; - white-space: nowrap; + height: 32px; + left: 15px; + line-height: 1.25; + max-width: 60px; + min-width: 60px; overflow: hidden; + position: absolute; text-overflow: ellipsis; - color: $slick-play-pause-button-color; transition: color 100ms ease-out; + white-space: nowrap; z-index: zIndex("lowest"); - border: 1px solid $slick-play-pause-button-borderColor; - @include carouselOpaqueBackgrounds($slick-play-pause-button-bgColor); - - @media (min-width: 375px) { - min-width: 80px; - max-width: 90px; - } @include breakpoint("small") { - max-width: 150px; font-size: 18px; + max-width: 150px; } @include breakpoint("medium") { - left: 25px; bottom: spacing("single"); + left: 25px; } &:hover { color: $slick-play-pause-button-color-hover; } + + @media (min-width: 375px) { + max-width: 90px; + min-width: 80px; + } } diff --git a/assets/scss/components/vendor/slick/_tools.scss b/assets/scss/components/vendor/slick/_tools.scss index 9de07de279..815a336290 100644 --- a/assets/scss/components/vendor/slick/_tools.scss +++ b/assets/scss/components/vendor/slick/_tools.scss @@ -24,10 +24,10 @@ // scss-lint:enable DuplicateProperty @mixin carousel-arrow-color($arrow-color, $arrow-direction) { - @if $arrow-direction == 'prev' { + @if $arrow-direction == "prev" { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='42' viewBox='0 0 24 42'%3E%3Cpath d='M22.4572074 1.00746147l-21 20.02482143 20.9479397 19.9751786' stroke='#{str-replace(#{$arrow-color}, "#", "%23")}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' fill-rule='evenodd' /%3E%3C/svg%3E"); } - @if $arrow-direction == 'next' { + @if $arrow-direction == "next" { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='42' viewBox='0 0 24 42'%3E%3Cpath d='M1.45679 1.00746147l21 20.02482143L1.50885 41.0074615' stroke='#{str-replace(#{$arrow-color}, "#", "%23")}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' fill-rule='evenodd' /%3E%3C/svg%3E"); } } diff --git a/assets/scss/components/vendor/sweetalert2/_sweetalert2.scss b/assets/scss/components/vendor/sweetalert2/_sweetalert2.scss index 9e27d2d56f..726de9ad11 100644 --- a/assets/scss/components/vendor/sweetalert2/_sweetalert2.scss +++ b/assets/scss/components/vendor/sweetalert2/_sweetalert2.scss @@ -100,7 +100,7 @@ } .swal2-icon { - display: flex; + display: flex; } .swal2-container { diff --git a/assets/scss/invoice.scss b/assets/scss/invoice.scss index 8ce8965277..8bb9824e86 100644 --- a/assets/scss/invoice.scss +++ b/assets/scss/invoice.scss @@ -1,45 +1,48 @@ body { - background: #fff; - color: #000; - margin: 10px; + background: #fff; + color: #000; + margin: 10px; } -body, td, th { - font-family: Arial, Sans-Serif; - font-size: 12px; +body, +td, +th { + font-family: Arial, Sans-Serif; + font-size: 12px; } -h1, h1 a { - color: #000; - text-decoration: none; +h1, +h1 a { + color: #000; + text-decoration: none; } .Invoice, .PackingSlip { - border: 2px solid #cacaca; - padding: 5px; + border: 2px solid #cacaca; + padding: 5px; } .InvoiceTitle, .PackingSlipTitle { - font-size: 15px; - font-weight: bold; - background: #000; - color: #fff; - padding: 5px; - margin-bottom: 10px; + background: #000; + color: #fff; + font-size: 15px; + font-weight: bold; + margin-bottom: 10px; + padding: 5px; } .StoreAddress { - font-weight: bold; - margin-bottom: 10px; + font-weight: bold; + margin-bottom: 10px; } .InvoiceHeading, .PackingSlipHeading { - font-size: 15px; - font-weight: bold; - margin-bottom: 10px; + font-size: 15px; + font-weight: bold; + margin-bottom: 10px; } .CustomerDetails, @@ -48,32 +51,32 @@ h1, h1 a { .InvoiceDetails, .PackingSlipItems, .PackingSlipDetails { - margin-bottom: 10px; + margin-bottom: 10px; - li { - list-style-type: none; - } + li { + list-style-type: none; + } } .InvoiceTable, .PackingSlipTable { - border-collapse: collapse; - width: 100%; + border-collapse: collapse; + width: 100%; } .InvoiceTable th, .PackingSlipTable th { - font-weight: bold; - padding: 5px; - text-align: left; + font-weight: bold; + padding: 5px; + text-align: left; } .InvoiceTable td, .PackingSlipTable td { - padding: 5px; - vertical-align: top; - text-align: left; + padding: 5px; + text-align: left; + vertical-align: top; } td.ProductQuantity, @@ -84,93 +87,99 @@ td.ProductTotal, th.ProductTotal, .InvoiceTotals td, .InvoiceTotalRow td { - text-align: right; + text-align: right; } .InvoiceTotalRow:last-child { font-weight: bold; } -.AddressRow, .InvoiceDetails, .PackingSlipDetails { - overflow: hidden; - width: 100%; +.AddressRow, +.InvoiceDetails, +.PackingSlipDetails { + overflow: hidden; + width: 100%; } -.ShippingAddress, .BillingAddress, -.InvoiceDetailsLeft, .InvoiceDetailsRight, -.PackingSlipDetailsLeft, .PackingSlipDetailsRight { - float: left; - width: 48%; +.ShippingAddress, +.BillingAddress, +.InvoiceDetailsLeft, +.InvoiceDetailsRight, +.PackingSlipDetailsLeft, +.PackingSlipDetailsRight { + float: left; + width: 48%; - ul { - padding-left: 0; - } + ul { + padding-left: 0; + } } .InvoiceItems, .PackingSlipItems { - border-top: 1px solid #000; - padding-top: 10px; + border-top: 1px solid #000; + padding-top: 10px; } .InvoiceItemList { - border-bottom: 1px solid #000; + border-bottom: 1px solid #000; } .InvoiceItemDivider td { - padding-top: 10px; - border-top: 1px solid #000; + border-top: 1px solid #000; + padding-top: 10px; } .DetailRow, .ConfigurableProductRow { - clear: left; - margin-top: 6px; - padding-left: 140px; + clear: left; + margin-top: 6px; + padding-left: 140px; } .DetailRow .Label, .ConfigurableProductRow .Label { - margin: 0 0 6px -140px; - float: left; - width: 130px; - padding-top: 1px; - display: inline; - position: relative; + display: inline; + float: left; + margin: 0 0 6px -140px; + padding-top: 1px; + position: relative; + width: 130px; } .DetailRow .Value, .ConfigurableProductRow .Value { - display: inline; + display: inline; } .InvoiceDetails .DetailRow .Label, .PackingSlipDetails .DetailRow .Label { - font-weight: bold; + font-weight: bold; } .ConfigurableProductRow { - font-size: 11px; - margin-left: 10px; + font-size: 11px; + margin-left: 10px; } .InvoiceTotals .InvoiceTotal td { - font-weight: bold; + font-weight: bold; } .ProductQuantity { - width: 50px; + width: 50px; } -.ProductCost, .ProductTotal { - width: 150px; +.ProductCost, +.ProductTotal { + width: 150px; } .PageBreak { - page-break-after: always; + page-break-after: always; } .ProductPreOrder { - font-size: 11px; -} \ No newline at end of file + font-size: 11px; +} diff --git a/assets/scss/layouts/blog/_blog.scss b/assets/scss/layouts/blog/_blog.scss index c9dd546ac4..04bbbac21b 100644 --- a/assets/scss/layouts/blog/_blog.scss +++ b/assets/scss/layouts/blog/_blog.scss @@ -62,8 +62,8 @@ .blog-thumbnail { margin: 0 auto (spacing("base") * 2); + max-width: get_width(stencilString("blog_size")); position: relative; - max-width: get_width(stencilString('blog_size')); img { width: 100%; diff --git a/assets/scss/layouts/brands/_brand.scss b/assets/scss/layouts/brands/_brand.scss index cc83826957..516276449c 100644 --- a/assets/scss/layouts/brands/_brand.scss +++ b/assets/scss/layouts/brands/_brand.scss @@ -1,18 +1,18 @@ .brand-image-container { + + @include lazy-loaded-padding("thumb_size"); + max-width: get-width(stencilString("thumb_size")); position: relative; - max-width: get-width(stencilString('thumb_size')); img { @include lazy-loaded-img; } - - @include lazy-loaded-padding('thumb_size'); } .brand { .card-img-container { - max-width: get-width(stencilString('brand_size')); - @include lazy-loaded-padding('brand_size'); + @include lazy-loaded-padding("brand_size"); + max-width: get-width(stencilString("brand_size")); } } diff --git a/assets/scss/layouts/footer/_footer.scss b/assets/scss/layouts/footer/_footer.scss index 0bbb6a616c..e4271964cd 100644 --- a/assets/scss/layouts/footer/_footer.scss +++ b/assets/scss/layouts/footer/_footer.scss @@ -20,12 +20,12 @@ } .footer-title-sr-only { - position: absolute; + height: 1px; left: -10000px; + overflow: hidden; + position: absolute; top: auto; width: 1px; - height: 1px; - overflow: hidden; } .footer-info { @@ -40,11 +40,11 @@ float: none; font-size: fontSize("base"); // 2 margin-bottom: spacing("double"); + overflow-wrap: break-word; text-align: center; vertical-align: top; // TODO: specifically use vendor only for IE11 since overflow-wrap is not supported here -ms-word-break: break-all; - overflow-wrap: break-word; @include breakpoint("small") { text-align: left; width: width("6/12"); diff --git a/assets/scss/layouts/header/_header.scss b/assets/scss/layouts/header/_header.scss index f54a61be6a..c4435af0e4 100644 --- a/assets/scss/layouts/header/_header.scss +++ b/assets/scss/layouts/header/_header.scss @@ -26,7 +26,7 @@ position: absolute; transform: translate(-50%, calc(-100% - #{$header-height})); transition: transform 0.3s; - z-index: zIndex('highest'); + z-index: zIndex("highest"); &:focus { transform: translate(-50%, 0%); @@ -36,19 +36,19 @@ .header { background-color: $header-bg; border-bottom: container("border"); + height: $header-height; position: fixed; top: 0; width: 100%; z-index: zIndex("higher"); - height: $header-height; @include breakpoint("medium") { border-bottom: container("border"); - overflow: visible; - position: relative; - height: auto; display: flex; flex-direction: column; + height: auto; + overflow: visible; + position: relative; } &.is-open { @@ -62,9 +62,9 @@ .header-logo { font-size: 0; // 1 + height: $header-height; margin: 0 remCalc($header-toggle-width); // 2 text-align: center; - height: $header-height; @include breakpoint("small") { // 4 margin-left: remCalc($header-toggle-width * 1.5); @@ -72,9 +72,9 @@ } @include breakpoint("medium") { + height: auto; margin: (spacing("double") + spacing("base")) auto (spacing("double") + spacing("single")); padding: 0; - height: auto; .header.fixed & { background-color: color("greys", "lightest"); @@ -88,11 +88,11 @@ &__link { @include clearfix; + align-items: center; color: $storeName-color; - height: inherit; display: flex; + height: inherit; justify-content: center; // 6 - align-items: center; margin: 0 auto; position: relative; text-decoration: none; @@ -164,8 +164,8 @@ font-size: $fontSize-logo-large; max-width: none; overflow: auto; - white-space: normal; padding: 0 10px; + white-space: normal; .header.fixed & { font-size: fontSize("larger"); @@ -178,19 +178,19 @@ width: 100%; @include breakpoint("medium") { - min-height: get-height(stencilString('logo_size')); + min-height: get-height(stencilString("logo_size")); } } -.header-logo-image-container:after { - content: ''; +.header-logo-image-container::after { + content: ""; display: block; } .header-logo-image { - max-height: remCalc($header-height) - $header-logo-marginVertical * 2; display: block; margin: 0 auto; + max-height: remCalc($header-height) - $header-logo-marginVertical * 2; @include breakpoint("medium") { max-height: none; diff --git a/assets/scss/layouts/products/_productGrid.scss b/assets/scss/layouts/products/_productGrid.scss index 9f1e079954..a64cab1217 100644 --- a/assets/scss/layouts/products/_productGrid.scss +++ b/assets/scss/layouts/products/_productGrid.scss @@ -42,7 +42,6 @@ // ----------------------------------------------------------------------------- .page-sidebar + .page-content { - .productGrid { // scss-lint:disable SelectorDepth, NestingDepth .product { // 1 @@ -80,10 +79,10 @@ .product { break-inside: avoid; - page-break-inside: avoid; // for firefox display: block; margin-bottom: spacing("double"); padding: 0; + page-break-inside: avoid; // for firefox width: 100%; } diff --git a/assets/scss/layouts/products/_productList.scss b/assets/scss/layouts/products/_productList.scss index f32c40e40b..42a8453ffd 100644 --- a/assets/scss/layouts/products/_productList.scss +++ b/assets/scss/layouts/products/_productList.scss @@ -23,6 +23,13 @@ // ----------------------------------------------------------------------------- .listItem { + + @include breakpoint("small") { + @include grid-row($behavior: "nest"); + display: table; + width: 100%; + } + &:focus-within { .listItem-figureBody { @include breakpoint("large") { @@ -38,12 +45,6 @@ } } } - - @include breakpoint("small") { - @include grid-row($behavior: "nest"); - display: table; - width: 100%; - } } .listItem-figure, @@ -82,11 +83,6 @@ .listItem-figure { margin: 0 0 spacing("single"); position: relative; - - &__link { - display: block; - margin: 3px; - } @include breakpoint("small") { margin-bottom: 0; @@ -94,6 +90,11 @@ padding-right: spacing("half"); width: grid-calc(3, $total-columns); } + + &__link { + display: block; + margin: 3px; + } .listItem-button { margin: spacing("single") 0; @@ -111,11 +112,11 @@ text-align: center; @include breakpoint("large") { - top: 50%; left: 50%; - transform: translateX(-50%) translateY(-50%); opacity: 0; position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); .listItem:hover & { opacity: 1; @@ -245,7 +246,6 @@ // ----------------------------------------------------------------------------- .page-sidebar + .page-content { - .productList { // scss-lint:disable SelectorDepth, NestingDepth diff --git a/assets/scss/layouts/products/_productSaleBadges.scss b/assets/scss/layouts/products/_productSaleBadges.scss index f0baef6c05..7476169cba 100644 --- a/assets/scss/layouts/products/_productSaleBadges.scss +++ b/assets/scss/layouts/products/_productSaleBadges.scss @@ -23,38 +23,38 @@ width: rem-calc(50px); z-index: zIndex("lower"); - &:before { + &::before { transform: rotateZ(30deg) scaleX(1) scaleY(1) scaleZ(1); } - &:after { + &::after { transform: rotateZ(60deg) scaleX(1) scaleY(1) scaleZ(1); } } + .sale-flag-star, -.sale-flag-star:before, -.sale-flag-star:after { - background: stencilColor("color_badge_product_sale_badges"); +.sale-flag-star::before, +.sale-flag-star::after { @extend %base-flag-star; + background: stencilColor("color_badge_product_sale_badges"); } .sold-out-flag-star, -.sold-out-flag-star:before, -.sold-out-flag-star:after { - background: stencilColor("color_badge_product_sold_out_badges"); +.sold-out-flag-star::before, +.sold-out-flag-star::after { @extend %base-flag-star; + background: stencilColor("color_badge_product_sold_out_badges"); } .starwrap { height: rem-calc(50px); + left: 12px; position: absolute; top: 12px; - left: 12px; width: rem-calc(50px); } .listItem-figure { - .starwrap { transform: scale(0.7); @@ -81,26 +81,25 @@ } .sale-text-burst { - color: stencilColor("color_text_product_sale_badges"); @extend %base-text-burst; + color: stencilColor("color_text_product_sale_badges"); } .sold-out-text-burst { - color: stencilColor("color_text_product_sold_out_badges"); @extend %base-text-burst; + color: stencilColor("color_text_product_sold_out_badges"); } .product:hover .starwrap { - .sale-flag-star, - .sale-flag-star:before, - .sale-flag-star:after { + .sale-flag-star::before, + .sale-flag-star::after { background: stencilColor("color_hover_product_sale_badges"); } .sold-out-flag-star, - .sold-out-flag-star:before, - .sold-out-flag-star:after { + .sold-out-flag-star::before, + .sold-out-flag-star::after { background: stencilColor("color_hover_product_sold_out_badges"); } } @@ -123,13 +122,15 @@ } .sale-flag-side { - @include setFlagColors("color_badge_product_sale_badges", "color_text_product_sale_badges"); @extend %base-flag-side; + @include setFlagColors("color_badge_product_sale_badges", "color_text_product_sale_badges"); } + .sold-out-flag-side { - @include setFlagColors("color_badge_product_sold_out_badges", "color_text_product_sold_out_badges"); @extend %base-flag-side; + @include setFlagColors("color_badge_product_sold_out_badges", "color_text_product_sold_out_badges"); } + .product:hover .sale-flag-side { background: stencilColor("color_hover_product_sale_badges"); } @@ -158,24 +159,23 @@ } .sale-flag-sash { - @include setFlagColors("color_badge_product_sale_badges", "color_text_product_sale_badges"); @extend %base-flag-sash; + @include setFlagColors("color_badge_product_sale_badges", "color_text_product_sale_badges"); } .sold-out-flag-sash { - @include setFlagColors("color_badge_product_sold_out_badges", "color_text_product_sold_out_badges"); @extend %base-flag-sash; + @include setFlagColors("color_badge_product_sold_out_badges", "color_text_product_sold_out_badges"); } .listItem-figure { - .sale-flag-sash, .sold-out-flag-sash { top: 24px; @include breakpoint("small") { - top: 19px; left: -20px; + top: 19px; } @include breakpoint("large") { @@ -189,6 +189,7 @@ .product:hover .sale-flag-sash { background: stencilColor("color_hover_product_sale_badges"); } + .product:hover .sold-out-flag-sash { background: stencilColor("color_hover_product_sold_out_badges"); } diff --git a/assets/scss/layouts/products/_productSwatch.scss b/assets/scss/layouts/products/_productSwatch.scss index 5d82127c90..cac047a542 100644 --- a/assets/scss/layouts/products/_productSwatch.scss +++ b/assets/scss/layouts/products/_productSwatch.scss @@ -7,10 +7,10 @@ // ----------------------------------------------------------------------------- // do some math -$value_of_swatch_size : stencilString("swatch_option_size"); -$position_of_x : str-index($value_of_swatch_size, "x"); -$first_value : str-slice($value_of_swatch_size, 0, $position_of_x - 1); -$second_value : str-slice($value_of_swatch_size, $position_of_x + 1); +$value_of_swatch_size: stencilString("swatch_option_size"); +$position_of_x: str-index($value_of_swatch_size, "x"); +$first_value: str-slice($value_of_swatch_size, 0, $position_of_x - 1); +$second_value: str-slice($value_of_swatch_size, $position_of_x + 1); [data-product-attribute] .form-option.form-option-swatch { overflow: visible; @@ -49,12 +49,12 @@ $second_value : str-slice($value_of_swatch_size, $position_of_x + 1); } .form-option-image { + display: block; + height: 100px; + width: 100px; background: { position: 50%; repeat: no-repeat; size: cover; } - display: block; - height: 100px; - width: 100px; } diff --git a/assets/scss/layouts/products/_productView.scss b/assets/scss/layouts/products/_productView.scss index ff0be7312b..4e90728421 100644 --- a/assets/scss/layouts/products/_productView.scss +++ b/assets/scss/layouts/products/_productView.scss @@ -8,12 +8,12 @@ .productView { @include grid-row($behavior: "nest"); - margin-left: -(spacing("base")); - margin-right: -(spacing("base")); display: flex; flex-direction: column; justify-content: flex-start; + margin-left: -(spacing("base")); + margin-right: -(spacing("base")); @include breakpoint("medium") { display: block; diff --git a/assets/scss/layouts/sidebar/_block.scss b/assets/scss/layouts/sidebar/_block.scss index 90e36db228..dfe601e22c 100644 --- a/assets/scss/layouts/sidebar/_block.scss +++ b/assets/scss/layouts/sidebar/_block.scss @@ -7,7 +7,6 @@ // ----------------------------------------------------------------------------- .sidebarBlock { - + .sidebarBlock { border-top: container("border"); margin-top: spacing("single") + spacing("third"); diff --git a/assets/scss/maintenance.scss b/assets/scss/maintenance.scss index 5686494ddf..5509a0424e 100644 --- a/assets/scss/maintenance.scss +++ b/assets/scss/maintenance.scss @@ -1,161 +1,187 @@ * { - box-sizing: border-box; + box-sizing: border-box; } + body { - background: #888 url(../img/coming-soon.jpg) no-repeat center center; - background-size: cover; - color: #798289; - font-family: Helvetica, Arial, Sans-Serif; - font-size: .8em; - height: 100vh; - line-height: 1.5em; - margin: 0; - min-width: 320px; - min-height: 480px; - padding: 20px 30px; - - -ms-box-orient: horizontal; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - - -webkit-justify-content: space-around; - -ms-flex-pack: space-around; - justify-content: space-around; - - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; + -webkit-align-items: center; + align-items: center; + background: #888 url("../img/coming-soon.jpg") no-repeat center center; + background-size: cover; + + -ms-box-orient: horizontal; + color: #798289; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + -ms-flex-pack: space-around; + font-family: Helvetica, Arial, Sans-Serif; + font-size: 0.8em; + height: 100vh; + + -webkit-justify-content: space-around; + justify-content: space-around; + line-height: 1.5em; + margin: 0; + min-height: 480px; + min-width: 320px; + padding: 20px 30px; } + main { - box-shadow: 0 2px 0 0 rgba(0,0,0,0.07); - background-color: #fff; - display: block; - padding: 20px 30px; - text-align: center; + background-color: #fff; + box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.07); + display: block; + padding: 20px 30px; + text-align: center; } + section { - margin-bottom: 40px; + margin-bottom: 40px; } + fieldset { - border: none; - padding: 0; + border: 0; + padding: 0; } + legend { - overflow: hidden; - position: absolute !important; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - border: 0; - clip: rect(0 0 0 0); -} -label, input { - display: block; - height: 30px; - line-height: 30px; - width: 100%; + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute !important; + width: 1px; +} + +label, +input { + display: block; + height: 30px; + line-height: 30px; + width: 100%; } + label { - color: #313b47; - font-size: 14px; - font-weight: bold; - text-align: center; + color: #313b47; + font-size: 14px; + font-weight: bold; + text-align: center; } + input { - border-radius: 2px; - border-style:solid; - width: 100%; - -webkit-appearance: none; + -webkit-appearance: none; + border-radius: 2px; + border-style: solid; + width: 100%; } + input[type=text] { - background-color: #F7F8F9; - border: 1px solid #E1E6EB; - margin-bottom: 1rem; - padding: 0 1em; + background-color: #f7f8f9; + border: 1px solid #e1e6eb; + margin-bottom: 1rem; + padding: 0 1em; } + input[type=submit] { - cursor: pointer; - background: #00abc9; - border: none; - color: #fff; - font-size: 12px; - padding: 0 15px; + background: #00abc9; + border: 0; + color: #fff; + cursor: pointer; + font-size: 12px; + padding: 0 15px; } + a { - text-decoration: none; - color: #00b9d3; - margin: 0 5px; + color: #00b9d3; + margin: 0 5px; + text-decoration: none; } + h1 { - color: #3C4043; - font-weight: 300; - font-size: 24px; - margin-top: 15px; + color: #3c4043; + font-size: 24px; + font-weight: 300; + margin-top: 15px; } + div p { - margin-top: 0; - margin-bottom: 0; + margin-bottom: 0; + margin-top: 0; } + .form-field--error { - margin-bottom: 1rem; + margin-bottom: 1rem; } + .form-field--error input[type=text] { - margin-bottom: 0; + margin-bottom: 0; } -.form-field--error .form-inlineMessage{ - color: #ac0005; - margin-top: .375rem; - width: 100%; + +.form-field--error .form-inlineMessage { + color: #ac0005; + margin-top: 0.375rem; + width: 100%; } + .powered-by { - color: #acb3be; - font-size: 11px; - font-style: italic; - line-height: 24px; + color: #acb3be; + font-size: 11px; + font-style: italic; + line-height: 24px; } + .powered-by a { - background: url('../img/bc_logo_sprite.png') 0 -75px no-repeat; - display: inline-block; - height: 22px; - opacity: .7; - text-indent: -9999px; - width: 95px; + background: url("../img/bc_logo_sprite.png") 0 -75px no-repeat; + display: inline-block; + height: 22px; + opacity: 0.7; + text-indent: -9999px; + width: 95px; } + .powered-by a:hover { - opacity: 1; + opacity: 1; } @media screen and (min-width: 540px) { - body { - font-size: 1em; - } - main { - margin: 0 auto; - padding: 45px 60px; - width: 500px; - } - label, input { - display: inline-block; - margin-right: 10px; - width: auto; - } - label { - text-align: left; - } - input[type=text] { - margin-right: 10px; - margin-bottom: 0; - } - .form-field { - display: inline-block; - position: relative; - } - .form-field--error .form-inlineMessage { - /*color: #ac0005;*/ - left: 100px; - position: absolute; - top: 30px; - /*width: 100%;*/ - } + body { + font-size: 1em; + } + + main { + margin: 0 auto; + padding: 45px 60px; + width: 500px; + } + + label, + input { + display: inline-block; + margin-right: 10px; + width: auto; + } + + label { + text-align: left; + } + + input[type=text] { + margin-bottom: 0; + margin-right: 10px; + } + + .form-field { + display: inline-block; + position: relative; + } + + .form-field--error .form-inlineMessage { + /*color: #ac0005;*/ + left: 100px; + position: absolute; + top: 30px; + /*width: 100%;*/ + } } diff --git a/assets/scss/optimized-checkout.scss b/assets/scss/optimized-checkout.scss index f41ecf9428..75e84f2a89 100644 --- a/assets/scss/optimized-checkout.scss +++ b/assets/scss/optimized-checkout.scss @@ -21,9 +21,9 @@ .optimizedCheckout-header { background-color: stencilColor("optimizedCheckout-header-backgroundColor"); - // scss-lint:disable StringQuotes + /* stylelint-disable function-url-quotes*/ background-image: url(stencilImage('optimizedCheckout-backgroundImage', 'optimizedCheckout-backgroundImage-size')); - // scss-lint:enable StringQuotes + /* stylelint-enable */ background-size: cover; border-color: stencilColor("optimizedCheckout-header-borderColor"); color: stencilColor("optimizedCheckout-header-textColor"); diff --git a/assets/scss/settings/global/color/_color.scss b/assets/scss/settings/global/color/_color.scss index 0269c3a4d9..c7d0025151 100644 --- a/assets/scss/settings/global/color/_color.scss +++ b/assets/scss/settings/global/color/_color.scss @@ -72,4 +72,4 @@ $color-textLink-active: stencilColor("color-textLink--active"); // Tooltips // ----------------------------------------------------------------------------- $focusTooltip-textColor: stencilColor("focusTooltip-textColor"); -$focusTooltip-backgroundColor: stencilColor("focusTooltip-backgroundColor"); \ No newline at end of file +$focusTooltip-backgroundColor: stencilColor("focusTooltip-backgroundColor"); diff --git a/assets/scss/settings/stencil/maintenanceNotice/_settings.scss b/assets/scss/settings/stencil/maintenanceNotice/_settings.scss index dd7349c2e7..1aed2fdfe1 100644 --- a/assets/scss/settings/stencil/maintenanceNotice/_settings.scss +++ b/assets/scss/settings/stencil/maintenanceNotice/_settings.scss @@ -18,7 +18,7 @@ $maintenanceNotice-header-margin: 0 0 spacing("half"); $adminBar-height: 46px; $adminBar-color: color("whites", "bright"); $adminBar-logo-color: #273a8a; -$adminBar-contentLink-color: #3E67F8; +$adminBar-contentLink-color: #3e67f8; $adminBar-contentLink-hover-color: #f0f3fe; $adminBar-tooltip-bg-backgroundColor: #313440; $adminBar-text-color: #626568; diff --git a/assets/scss/tools/_image.scss b/assets/scss/tools/_image.scss index 236df324fb..3088d828cf 100644 --- a/assets/scss/tools/_image.scss +++ b/assets/scss/tools/_image.scss @@ -6,7 +6,7 @@ /// @return {Number} - A percentage indicating the appropriate value of `padding-bottom`. /// @function get-padding($size) { - $list: str-split($size, 'x'); + $list: str-split($size, "x"); $width: to-number(nth($list, 1)); $height: to-number(nth($list, 2)); @@ -22,9 +22,9 @@ /// @return {String} - A string of the form 'Xpx' /// @function get-width($size) { - $list: str-split($size, 'x'); + $list: str-split($size, "x"); - @return nth($list, 1) + 'px'; + @return nth($list, 1) + "px"; } /// @@ -35,7 +35,7 @@ /// @return {String} - A string of the form 'Ypx' /// @function get-height($size) { - $list: str-split($size, 'x'); + $list: str-split($size, "x"); - @return nth($list, 2) + 'px'; + @return nth($list, 2) + "px"; } diff --git a/assets/scss/tools/_string.scss b/assets/scss/tools/_string.scss index b6f2726457..3669a755da 100644 --- a/assets/scss/tools/_string.scss +++ b/assets/scss/tools/_string.scss @@ -20,14 +20,14 @@ /// @function str-split($string, $separator) { - $index : str-index($string, $separator); + $index: str-index($string, $separator); @if not $index { @return $string ""; } - $str-1 : str-slice($string, 1, $index - 1); - $str-2 : str-slice($string, $index + 1); + $str-1: str-slice($string, 1, $index - 1); + $str-2: str-slice($string, $index + 1); @return $str-1 $str-2; } @@ -41,25 +41,24 @@ /// @return {Number} - The converted Number /// @function to-number($value) { - @if type-of($value) == 'number' { + @if type-of($value) == "number" { @return $value; - } @else if type-of($value) != 'string' { - $_: log('Value for `to-number` should be a number or a string.'); + } @else if type-of($value) != "string" { + $_: log("Value for `to-number` should be a number or a string."); } $result: 0; $digits: 0; - $minus: str-slice($value, 1, 1) == '-'; - $numbers: ('0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9); + $minus: str-slice($value, 1, 1) == "-"; + $numbers: ("0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9); @for $i from if($minus, 2, 1) through str-length($value) { $character: str-slice($value, $i, $i); - @if not (index(map-keys($numbers), $character) or $character == '.') { - @return to-length(if($minus, -$result, $result), str-slice($value, $i)) - } + @if not (index(map-keys($numbers), $character) or $character == ".") { + @return to-length(if($minus, -$result, $result), str-slice($value, $i)); } - @if $character == '.' { + @if $character == "." { $digits: 1; } @else if $digits == 0 { $result: $result * 10 + map-get($numbers, $character); @@ -82,10 +81,10 @@ /// @return {Number} - `$value` expressed in `$unit` /// @function to-length($value, $unit) { - $units: ('px': 1px, 'cm': 1cm, 'mm': 1mm, '%': 1%, 'ch': 1ch, 'pc': 1pc, 'in': 1in, 'em': 1em, 'rem': 1rem, 'pt': 1pt, 'ex': 1ex, 'vw': 1vw, 'vh': 1vh, 'vmin': 1vmin, 'vmax': 1vmax); + $units: ("px": 1px, "cm": 1cm, "mm": 1mm, "%": 1%, "ch": 1ch, "pc": 1pc, "in": 1in, "em": 1em, "rem": 1rem, "pt": 1pt, "ex": 1ex, "vw": 1vw, "vh": 1vh, "vmin": 1vmin, "vmax": 1vmax); @if not index(map-keys($units), $unit) { - $_: log('Invalid unit `#{$unit}`.'); + $_: log("Invalid unit `#{$unit}`."); } @return $value * map-get($units, $unit); diff --git a/assets/scss/tools/_theme_focus.scss b/assets/scss/tools/_theme_focus.scss index e42d1be1ce..833a089f5e 100644 --- a/assets/scss/tools/_theme_focus.scss +++ b/assets/scss/tools/_theme_focus.scss @@ -4,7 +4,7 @@ $outline-width: 2px; $outline-style: solid; -$outline-color: #0F7FFF; +$outline-color: #0f7fff; $outline-offset: 1px; input, diff --git a/assets/scss/vendor/jstree/style.scss b/assets/scss/vendor/jstree/style.scss index a04b7639b2..e50bb3d1bb 100644 --- a/assets/scss/vendor/jstree/style.scss +++ b/assets/scss/vendor/jstree/style.scss @@ -2,1060 +2,1308 @@ .jstree-node, .jstree-children, .jstree-container-ul { - display: block; - margin: 0; - padding: 0; - list-style-type: none; - list-style-image: none; + display: block; + list-style-image: none; + list-style-type: none; + margin: 0; + padding: 0; } + .jstree-node { - white-space: nowrap; + white-space: nowrap; } + .jstree-anchor { - display: inline-block; - color: black; - white-space: nowrap; - padding: 0 4px 0 1px; - margin: 0; - vertical-align: top; + color: black; + display: inline-block; + margin: 0; + padding: 0 4px 0 1px; + vertical-align: top; + white-space: nowrap; } + .jstree-anchor:focus { - outline: 0; + outline: 0; } + .jstree-anchor, .jstree-anchor:link, .jstree-anchor:visited, .jstree-anchor:hover, .jstree-anchor:active { - text-decoration: none; - color: inherit; + color: inherit; + text-decoration: none; } + .jstree-icon { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0; - vertical-align: top; - text-align: center; -} + display: inline-block; + margin: 0; + padding: 0; + text-align: center; + text-decoration: none; + vertical-align: top; +} + .jstree-icon:empty { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0; - vertical-align: top; - text-align: center; -} + display: inline-block; + margin: 0; + padding: 0; + text-align: center; + text-decoration: none; + vertical-align: top; +} + .jstree-ocl { - cursor: pointer; + cursor: pointer; } + .jstree-leaf > .jstree-ocl { - cursor: default; + cursor: default; } + .jstree .jstree-open > .jstree-children { - display: block; + display: block; } + .jstree .jstree-closed > .jstree-children, .jstree .jstree-leaf > .jstree-children { - display: none; + display: none; } + .jstree-anchor > .jstree-themeicon { - margin-right: 2px; + margin-right: 2px; } + .jstree-no-icons .jstree-themeicon, .jstree-anchor > .jstree-themeicon-hidden { - display: none; + display: none; } + .jstree-hidden { - display: none; + display: none; } + .jstree-rtl .jstree-anchor { - padding: 0 1px 0 4px; + padding: 0 1px 0 4px; } + .jstree-rtl .jstree-anchor > .jstree-themeicon { - margin-left: 2px; - margin-right: 0; + margin-left: 2px; + margin-right: 0; } + .jstree-rtl .jstree-node { - margin-left: 0; + margin-left: 0; } + .jstree-rtl .jstree-container-ul > .jstree-node { - margin-right: 0; + margin-right: 0; } + .jstree-wholerow-ul { - position: relative; - display: inline-block; - min-width: 100%; + display: inline-block; + min-width: 100%; + position: relative; } + .jstree-wholerow-ul .jstree-leaf > .jstree-ocl { - cursor: pointer; + cursor: pointer; } + .jstree-wholerow-ul .jstree-anchor, .jstree-wholerow-ul .jstree-icon { - position: relative; + position: relative; } + .jstree-wholerow-ul .jstree-wholerow { - width: 100%; - cursor: pointer; - position: absolute; - left: 0; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} + cursor: pointer; + left: 0; + position: absolute; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + width: 100%; +} + .vakata-context { - display: none; + display: none; } + .vakata-context, .vakata-context ul { - margin: 0; - padding: 2px; - position: absolute; - background: #f5f5f5; - border: 1px solid #979797; - box-shadow: 2px 2px 2px #999999; -} + background: #f5f5f5; + border: 1px solid #979797; + box-shadow: 2px 2px 2px #999; + margin: 0; + padding: 2px; + position: absolute; +} + .vakata-context ul { - list-style: none; - left: 100%; - margin-top: -2.7em; - margin-left: -4px; + left: 100%; + list-style: none; + margin-left: -4px; + margin-top: -2.7em; } + .vakata-context .vakata-context-right ul { - left: auto; - right: 100%; - margin-left: auto; - margin-right: -4px; + left: auto; + margin-left: auto; + margin-right: -4px; + right: 100%; } + .vakata-context li { - list-style: none; - display: inline; + display: inline; + list-style: none; } + .vakata-context li > a { - display: block; - padding: 0 2em 0 2em; - text-decoration: none; - width: auto; - color: black; - white-space: nowrap; - line-height: 2.4em; - text-shadow: 1px 1px 0 white; - border-radius: 1px; + border-radius: 1px; + color: black; + display: block; + line-height: 2.4em; + padding: 0 2em; + text-decoration: none; + text-shadow: 1px 1px 0 white; + white-space: nowrap; + width: auto; } + .vakata-context li > a:hover { - position: relative; - background-color: #e8eff7; - box-shadow: 0 0 2px #0a6aa1; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; + position: relative; } + .vakata-context li > a.vakata-context-parent { - background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); - background-position: right center; - background-repeat: no-repeat; + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); + background-position: right center; + background-repeat: no-repeat; } + .vakata-context li > a:focus { - outline: 0; + outline: 0; } + .vakata-context .vakata-context-hover > a { - position: relative; - background-color: #e8eff7; - box-shadow: 0 0 2px #0a6aa1; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; + position: relative; } + .vakata-context .vakata-context-separator > a, .vakata-context .vakata-context-separator > a:hover { - background: white; - border: 0; - border-top: 1px solid #e2e3e3; - height: 1px; - min-height: 1px; - max-height: 1px; - padding: 0; - margin: 0 0 0 2.4em; - border-left: 1px solid #e0e0e0; - text-shadow: 0 0 0 transparent; - box-shadow: 0 0 0 transparent; - border-radius: 0; -} + background: white; + border: 0; + border-left: 1px solid #e0e0e0; + border-radius: 0; + border-top: 1px solid #e2e3e3; + box-shadow: 0 0 0 transparent; + height: 1px; + margin: 0 0 0 2.4em; + max-height: 1px; + min-height: 1px; + padding: 0; + text-shadow: 0 0 0 transparent; +} + .vakata-context .vakata-contextmenu-disabled a, .vakata-context .vakata-contextmenu-disabled a:hover { - color: silver; - background-color: transparent; - border: 0; - box-shadow: 0 0 0; + background-color: transparent; + border: 0; + box-shadow: 0 0 0; + color: silver; } + .vakata-context li > a > i { - text-decoration: none; - display: inline-block; - width: 2.4em; - height: 2.4em; - background: transparent; - margin: 0 0 0 -2em; - vertical-align: top; - text-align: center; - line-height: 2.4em; -} + background: transparent; + display: inline-block; + height: 2.4em; + line-height: 2.4em; + margin: 0 0 0 -2em; + text-align: center; + text-decoration: none; + vertical-align: top; + width: 2.4em; +} + .vakata-context li > a > i:empty { - width: 2.4em; - line-height: 2.4em; + line-height: 2.4em; + width: 2.4em; } + .vakata-context li > a .vakata-contextmenu-sep { - display: inline-block; - width: 1px; - height: 2.4em; - background: white; - margin: 0 0.5em 0 0; - border-left: 1px solid #e2e3e3; -} + background: white; + border-left: 1px solid #e2e3e3; + display: inline-block; + height: 2.4em; + margin: 0 0.5em 0 0; + width: 1px; +} + .vakata-context .vakata-contextmenu-shortcut { - font-size: 0.8em; - color: silver; - opacity: 0.5; - display: none; + color: silver; + display: none; + font-size: 0.8em; + opacity: 0.5; } + .vakata-context-rtl ul { - left: auto; - right: 100%; - margin-left: auto; - margin-right: -4px; + left: auto; + margin-left: auto; + margin-right: -4px; + right: 100%; } + .vakata-context-rtl li > a.vakata-context-parent { - background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); - background-position: left center; - background-repeat: no-repeat; + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); + background-position: left center; + background-repeat: no-repeat; } + .vakata-context-rtl .vakata-context-separator > a { - margin: 0 2.4em 0 0; - border-left: 0; - border-right: 1px solid #e2e3e3; + border-left: 0; + border-right: 1px solid #e2e3e3; + margin: 0 2.4em 0 0; } + .vakata-context-rtl .vakata-context-left ul { - right: auto; - left: 100%; - margin-left: -4px; - margin-right: auto; + left: 100%; + margin-left: -4px; + margin-right: auto; + right: auto; } + .vakata-context-rtl li > a > i { - margin: 0 -2em 0 0; + margin: 0 -2em 0 0; } + .vakata-context-rtl li > a .vakata-contextmenu-sep { - margin: 0 0 0 0.5em; - border-left-color: white; - background: #e2e3e3; + background: #e2e3e3; + border-left-color: white; + margin: 0 0 0 0.5em; } + #jstree-marker { - position: absolute; - top: 0; - left: 0; - margin: -5px 0 0 0; - padding: 0; - border-right: 0; - border-top: 5px solid transparent; - border-bottom: 5px solid transparent; - border-left: 5px solid; - width: 0; - height: 0; - font-size: 0; - line-height: 0; -} + border-bottom: 5px solid transparent; + border-left: 5px solid; + border-right: 0; + border-top: 5px solid transparent; + font-size: 0; + height: 0; + left: 0; + line-height: 0; + margin: -5px 0 0; + padding: 0; + position: absolute; + top: 0; + width: 0; +} + #jstree-dnd { - line-height: 16px; - margin: 0; - padding: 4px; + line-height: 16px; + margin: 0; + padding: 4px; } + #jstree-dnd .jstree-icon, #jstree-dnd .jstree-copy { - display: inline-block; - text-decoration: none; - margin: 0 2px 0 0; - padding: 0; - width: 16px; - height: 16px; -} + display: inline-block; + height: 16px; + margin: 0 2px 0 0; + padding: 0; + text-decoration: none; + width: 16px; +} + #jstree-dnd .jstree-ok { - background: green; + background: green; } + #jstree-dnd .jstree-er { - background: red; + background: red; } + #jstree-dnd .jstree-copy { - margin: 0 2px 0 2px; + margin: 0 2px; } + .jstree-default .jstree-node, .jstree-default .jstree-icon { - background-repeat: no-repeat; - background-color: transparent; + background-color: transparent; + background-repeat: no-repeat; } + .jstree-default .jstree-anchor, .jstree-default .jstree-wholerow { - transition: background-color 0.15s, box-shadow 0.15s; + transition: background-color 0.15s, box-shadow 0.15s; } + .jstree-default .jstree-hovered { - background: #e7f4f9; - border-radius: 2px; - box-shadow: inset 0 0 1px #cccccc; + background: #e7f4f9; + border-radius: 2px; + box-shadow: inset 0 0 1px #ccc; } + .jstree-default .jstree-clicked { - background: #beebff; - border-radius: 2px; - box-shadow: inset 0 0 1px #999999; + background: #beebff; + border-radius: 2px; + box-shadow: inset 0 0 1px #999; } + .jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon { - display: none; + display: none; } + .jstree-default .jstree-disabled { - background: transparent; - color: #666666; + background: transparent; + color: #666; } + .jstree-default .jstree-disabled.jstree-hovered { - background: transparent; - box-shadow: none; + background: transparent; + box-shadow: none; } + .jstree-default .jstree-disabled.jstree-clicked { - background: #efefef; + background: #efefef; } + .jstree-default .jstree-disabled > .jstree-icon { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - /* Firefox 10+ */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+ & Safari 6+ */ -} + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + opacity: 0.8; +} + .jstree-default .jstree-search { - font-style: italic; - color: #8b0000; - font-weight: bold; + color: #8b0000; + font-style: italic; + font-weight: bold; } + .jstree-default .jstree-no-checkboxes .jstree-checkbox { - display: none !important; + display: none !important; } + .jstree-default.jstree-checkbox-no-clicked .jstree-clicked { - background: transparent; - box-shadow: none; + background: transparent; + box-shadow: none; } + .jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { - background: #e7f4f9; + background: #e7f4f9; } + .jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { - background: transparent; + background: transparent; } + .jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { - background: #e7f4f9; + background: #e7f4f9; } + .jstree-default > .jstree-striped { - min-width: 100%; - display: inline-block; - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; + display: inline-block; + min-width: 100%; } + .jstree-default > .jstree-wholerow-ul .jstree-hovered, .jstree-default > .jstree-wholerow-ul .jstree-clicked { - background: transparent; - box-shadow: none; - border-radius: 0; + background: transparent; + border-radius: 0; + box-shadow: none; } + .jstree-default .jstree-wholerow { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; } + .jstree-default .jstree-wholerow-hovered { - background: #e7f4f9; + background: #e7f4f9; } + .jstree-default .jstree-wholerow-clicked { - background: #beebff; - background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%); - background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%); + background: #beebff; + background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%); } + .jstree-default .jstree-node { - min-height: 24px; - line-height: 24px; - margin-left: 24px; - min-width: 24px; + line-height: 24px; + margin-left: 24px; + min-height: 24px; + min-width: 24px; } + .jstree-default .jstree-anchor { - line-height: 24px; - height: 24px; + height: 24px; + line-height: 24px; } + .jstree-default .jstree-icon { - width: 24px; - height: 24px; - line-height: 24px; + height: 24px; + line-height: 24px; + width: 24px; } + .jstree-default .jstree-icon:empty { - width: 24px; - height: 24px; - line-height: 24px; + height: 24px; + line-height: 24px; + width: 24px; } + .jstree-default.jstree-rtl .jstree-node { - margin-right: 24px; + margin-right: 24px; } + .jstree-default .jstree-wholerow { - height: 24px; + height: 24px; } + .jstree-default .jstree-node, .jstree-default .jstree-icon { - background-image: url("../img/vendor/jstree/32px.png"); + background-image: url("../img/vendor/jstree/32px.png"); } + .jstree-default .jstree-node { - background-position: -292px -4px; - background-repeat: repeat-y; + background-position: -292px -4px; + background-repeat: repeat-y; } + .jstree-default .jstree-last { - background: transparent; + background: transparent; } + .jstree-default .jstree-open > .jstree-ocl { - background-position: -132px -4px; + background-position: -132px -4px; } + .jstree-default .jstree-closed > .jstree-ocl { - background-position: -100px -4px; + background-position: -100px -4px; } + .jstree-default .jstree-leaf > .jstree-ocl { - background-position: -68px -4px; + background-position: -68px -4px; } + .jstree-default .jstree-themeicon { - background-position: -260px -4px; + background-position: -260px -4px; } + .jstree-default > .jstree-no-dots .jstree-node, .jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -36px -4px; + background-position: -36px -4px; } + .jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -4px -4px; + background-position: -4px -4px; } + .jstree-default .jstree-disabled { - background: transparent; + background: transparent; } + .jstree-default .jstree-disabled.jstree-hovered { - background: transparent; + background: transparent; } + .jstree-default .jstree-disabled.jstree-clicked { - background: #efefef; + background: #efefef; } + .jstree-default .jstree-checkbox { - background-position: -164px -4px; + background-position: -164px -4px; } + .jstree-default .jstree-checkbox:hover { - background-position: -164px -36px; + background-position: -164px -36px; } + .jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, .jstree-default .jstree-checked > .jstree-checkbox { - background-position: -228px -4px; + background-position: -228px -4px; } + .jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, .jstree-default .jstree-checked > .jstree-checkbox:hover { - background-position: -228px -36px; + background-position: -228px -36px; } + .jstree-default .jstree-anchor > .jstree-undetermined { - background-position: -196px -4px; + background-position: -196px -4px; } + .jstree-default .jstree-anchor > .jstree-undetermined:hover { - background-position: -196px -36px; + background-position: -196px -36px; } + .jstree-default .jstree-checkbox-disabled { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - /* Firefox 10+ */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+ & Safari 6+ */ -} + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + opacity: 0.8; +} + .jstree-default > .jstree-striped { - background-size: auto 48px; + background-size: auto 48px; } + .jstree-default.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); - background-position: 100% 1px; - background-repeat: repeat-y; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; } + .jstree-default.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } + .jstree-default.jstree-rtl .jstree-open > .jstree-ocl { - background-position: -132px -36px; + background-position: -132px -36px; } + .jstree-default.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -100px -36px; + background-position: -100px -36px; } + .jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl { - background-position: -68px -36px; + background-position: -68px -36px; } + .jstree-default.jstree-rtl > .jstree-no-dots .jstree-node, .jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -36px -36px; + background-position: -36px -36px; } + .jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -4px -36px; + background-position: -4px -36px; } + .jstree-default .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; + background-color: transparent; + background-image: none; + background-position: 0 0; } + .jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl { - background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; + background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; } + .jstree-default .jstree-file { - background: url("../img/vendor/jstree/32px.png") -100px -68px no-repeat; + background: url("../img/vendor/jstree/32px.png") -100px -68px no-repeat; } + .jstree-default .jstree-folder { - background: url("../img/vendor/jstree/32px.png") -260px -4px no-repeat; + background: url("../img/vendor/jstree/32px.png") -260px -4px no-repeat; } + .jstree-default > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; + margin-left: 0; + margin-right: 0; } + #jstree-dnd.jstree-default { - line-height: 24px; - padding: 0 4px; + line-height: 24px; + padding: 0 4px; } + #jstree-dnd.jstree-default .jstree-ok, #jstree-dnd.jstree-default .jstree-er { - background-image: url("../img/vendor/jstree/32px.png"); - background-repeat: no-repeat; - background-color: transparent; + background-color: transparent; + background-image: url("../img/vendor/jstree/32px.png"); + background-repeat: no-repeat; } + #jstree-dnd.jstree-default i { - background: transparent; - width: 24px; - height: 24px; - line-height: 24px; + background: transparent; + height: 24px; + line-height: 24px; + width: 24px; } + #jstree-dnd.jstree-default .jstree-ok { - background-position: -4px -68px; + background-position: -4px -68px; } + #jstree-dnd.jstree-default .jstree-er { - background-position: -36px -68px; + background-position: -36px -68px; } + .jstree-default.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); } + .jstree-default.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-small .jstree-node { - min-height: 18px; - line-height: 18px; - margin-left: 18px; - min-width: 18px; + line-height: 18px; + margin-left: 18px; + min-height: 18px; + min-width: 18px; } + .jstree-default-small .jstree-anchor { - line-height: 18px; - height: 18px; + height: 18px; + line-height: 18px; } + .jstree-default-small .jstree-icon { - width: 18px; - height: 18px; - line-height: 18px; + height: 18px; + line-height: 18px; + width: 18px; } + .jstree-default-small .jstree-icon:empty { - width: 18px; - height: 18px; - line-height: 18px; + height: 18px; + line-height: 18px; + width: 18px; } + .jstree-default-small.jstree-rtl .jstree-node { - margin-right: 18px; + margin-right: 18px; } + .jstree-default-small .jstree-wholerow { - height: 18px; + height: 18px; } + .jstree-default-small .jstree-node, .jstree-default-small .jstree-icon { - background-image: url("../img/vendor/jstree/32px.png"); + background-image: url("../img/vendor/jstree/32px.png"); } + .jstree-default-small .jstree-node { - background-position: -295px -7px; - background-repeat: repeat-y; + background-position: -295px -7px; + background-repeat: repeat-y; } + .jstree-default-small .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-small .jstree-open > .jstree-ocl { - background-position: -135px -7px; + background-position: -135px -7px; } + .jstree-default-small .jstree-closed > .jstree-ocl { - background-position: -103px -7px; + background-position: -103px -7px; } + .jstree-default-small .jstree-leaf > .jstree-ocl { - background-position: -71px -7px; + background-position: -71px -7px; } + .jstree-default-small .jstree-themeicon { - background-position: -263px -7px; + background-position: -263px -7px; } + .jstree-default-small > .jstree-no-dots .jstree-node, .jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -39px -7px; + background-position: -39px -7px; } + .jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -7px -7px; + background-position: -7px -7px; } + .jstree-default-small .jstree-disabled { - background: transparent; + background: transparent; } + .jstree-default-small .jstree-disabled.jstree-hovered { - background: transparent; + background: transparent; } + .jstree-default-small .jstree-disabled.jstree-clicked { - background: #efefef; + background: #efefef; } + .jstree-default-small .jstree-checkbox { - background-position: -167px -7px; + background-position: -167px -7px; } + .jstree-default-small .jstree-checkbox:hover { - background-position: -167px -39px; + background-position: -167px -39px; } + .jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, .jstree-default-small .jstree-checked > .jstree-checkbox { - background-position: -231px -7px; + background-position: -231px -7px; } + .jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, .jstree-default-small .jstree-checked > .jstree-checkbox:hover { - background-position: -231px -39px; + background-position: -231px -39px; } + .jstree-default-small .jstree-anchor > .jstree-undetermined { - background-position: -199px -7px; + background-position: -199px -7px; } + .jstree-default-small .jstree-anchor > .jstree-undetermined:hover { - background-position: -199px -39px; + background-position: -199px -39px; } + .jstree-default-small .jstree-checkbox-disabled { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - /* Firefox 10+ */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+ & Safari 6+ */ -} + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + opacity: 0.8; +} + .jstree-default-small > .jstree-striped { - background-size: auto 36px; + background-size: auto 36px; } + .jstree-default-small.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); - background-position: 100% 1px; - background-repeat: repeat-y; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; } + .jstree-default-small.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl { - background-position: -135px -39px; + background-position: -135px -39px; } + .jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -103px -39px; + background-position: -103px -39px; } + .jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl { - background-position: -71px -39px; + background-position: -71px -39px; } + .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node, .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -39px -39px; + background-position: -39px -39px; } + .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -7px -39px; + background-position: -7px -39px; } + .jstree-default-small .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; + background-color: transparent; + background-image: none; + background-position: 0 0; } + .jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl { - background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; + background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; } + .jstree-default-small .jstree-file { - background: url("../img/vendor/jstree/32px.png") -103px -71px no-repeat; + background: url("../img/vendor/jstree/32px.png") -103px -71px no-repeat; } + .jstree-default-small .jstree-folder { - background: url("../img/vendor/jstree/32px.png") -263px -7px no-repeat; + background: url("../img/vendor/jstree/32px.png") -263px -7px no-repeat; } + .jstree-default-small > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; + margin-left: 0; + margin-right: 0; } + #jstree-dnd.jstree-default-small { - line-height: 18px; - padding: 0 4px; + line-height: 18px; + padding: 0 4px; } + #jstree-dnd.jstree-default-small .jstree-ok, #jstree-dnd.jstree-default-small .jstree-er { - background-image: url("../img/vendor/jstree/32px.png"); - background-repeat: no-repeat; - background-color: transparent; + background-color: transparent; + background-image: url("../img/vendor/jstree/32px.png"); + background-repeat: no-repeat; } + #jstree-dnd.jstree-default-small i { - background: transparent; - width: 18px; - height: 18px; - line-height: 18px; + background: transparent; + height: 18px; + line-height: 18px; + width: 18px; } + #jstree-dnd.jstree-default-small .jstree-ok { - background-position: -7px -71px; + background-position: -7px -71px; } + #jstree-dnd.jstree-default-small .jstree-er { - background-position: -39px -71px; + background-position: -39px -71px; } + .jstree-default-small.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); } + .jstree-default-small.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-large .jstree-node { - min-height: 32px; - line-height: 32px; - margin-left: 32px; - min-width: 32px; + line-height: 32px; + margin-left: 32px; + min-height: 32px; + min-width: 32px; } + .jstree-default-large .jstree-anchor { - line-height: 32px; - height: 32px; + height: 32px; + line-height: 32px; } + .jstree-default-large .jstree-icon { - width: 32px; - height: 32px; - line-height: 32px; + height: 32px; + line-height: 32px; + width: 32px; } + .jstree-default-large .jstree-icon:empty { - width: 32px; - height: 32px; - line-height: 32px; + height: 32px; + line-height: 32px; + width: 32px; } + .jstree-default-large.jstree-rtl .jstree-node { - margin-right: 32px; + margin-right: 32px; } + .jstree-default-large .jstree-wholerow { - height: 32px; + height: 32px; } + .jstree-default-large .jstree-node, .jstree-default-large .jstree-icon { - background-image: url("../img/vendor/jstree/32px.png"); + background-image: url("../img/vendor/jstree/32px.png"); } + .jstree-default-large .jstree-node { - background-position: -288px 0px; - background-repeat: repeat-y; + background-position: -288px 0; + background-repeat: repeat-y; } + .jstree-default-large .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-large .jstree-open > .jstree-ocl { - background-position: -128px 0px; + background-position: -128px 0; } + .jstree-default-large .jstree-closed > .jstree-ocl { - background-position: -96px 0px; + background-position: -96px 0; } + .jstree-default-large .jstree-leaf > .jstree-ocl { - background-position: -64px 0px; + background-position: -64px 0; } + .jstree-default-large .jstree-themeicon { - background-position: -256px 0px; + background-position: -256px 0; } + .jstree-default-large > .jstree-no-dots .jstree-node, .jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -32px 0px; + background-position: -32px 0; } + .jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: 0px 0px; + background-position: 0 0; } + .jstree-default-large .jstree-disabled { - background: transparent; + background: transparent; } + .jstree-default-large .jstree-disabled.jstree-hovered { - background: transparent; + background: transparent; } + .jstree-default-large .jstree-disabled.jstree-clicked { - background: #efefef; + background: #efefef; } + .jstree-default-large .jstree-checkbox { - background-position: -160px 0px; + background-position: -160px 0; } + .jstree-default-large .jstree-checkbox:hover { - background-position: -160px -32px; + background-position: -160px -32px; } + .jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, .jstree-default-large .jstree-checked > .jstree-checkbox { - background-position: -224px 0px; + background-position: -224px 0; } + .jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, .jstree-default-large .jstree-checked > .jstree-checkbox:hover { - background-position: -224px -32px; + background-position: -224px -32px; } + .jstree-default-large .jstree-anchor > .jstree-undetermined { - background-position: -192px 0px; + background-position: -192px 0; } + .jstree-default-large .jstree-anchor > .jstree-undetermined:hover { - background-position: -192px -32px; + background-position: -192px -32px; } + .jstree-default-large .jstree-checkbox-disabled { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - /* Firefox 10+ */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+ & Safari 6+ */ -} + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + opacity: 0.8; +} + .jstree-default-large > .jstree-striped { - background-size: auto 64px; + background-size: auto 64px; } + .jstree-default-large.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); - background-position: 100% 1px; - background-repeat: repeat-y; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; } + .jstree-default-large.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl { - background-position: -128px -32px; + background-position: -128px -32px; } + .jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -96px -32px; + background-position: -96px -32px; } + .jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl { - background-position: -64px -32px; + background-position: -64px -32px; } + .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node, .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -32px -32px; + background-position: -32px -32px; } + .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: 0px -32px; + background-position: 0 -32px; } + .jstree-default-large .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; + background-color: transparent; + background-image: none; + background-position: 0 0; } + .jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl { - background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; + background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; } + .jstree-default-large .jstree-file { - background: url("../img/vendor/jstree/32px.png") -96px -64px no-repeat; + background: url("../img/vendor/jstree/32px.png") -96px -64px no-repeat; } + .jstree-default-large .jstree-folder { - background: url("../img/vendor/jstree/32px.png") -256px 0px no-repeat; + background: url("../img/vendor/jstree/32px.png") -256px 0 no-repeat; } + .jstree-default-large > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; + margin-left: 0; + margin-right: 0; } + #jstree-dnd.jstree-default-large { - line-height: 32px; - padding: 0 4px; + line-height: 32px; + padding: 0 4px; } + #jstree-dnd.jstree-default-large .jstree-ok, #jstree-dnd.jstree-default-large .jstree-er { - background-image: url("../img/vendor/jstree/32px.png"); - background-repeat: no-repeat; - background-color: transparent; + background-color: transparent; + background-image: url("../img/vendor/jstree/32px.png"); + background-repeat: no-repeat; } + #jstree-dnd.jstree-default-large i { - background: transparent; - width: 32px; - height: 32px; - line-height: 32px; + background: transparent; + height: 32px; + line-height: 32px; + width: 32px; } + #jstree-dnd.jstree-default-large .jstree-ok { - background-position: 0px -64px; + background-position: 0 -64px; } + #jstree-dnd.jstree-default-large .jstree-er { - background-position: -32px -64px; + background-position: -32px -64px; } + .jstree-default-large.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); } + .jstree-default-large.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } @media (max-width: 768px) { - #jstree-dnd.jstree-dnd-responsive { - line-height: 40px; - font-weight: bold; - font-size: 1.1em; - text-shadow: 1px 1px white; - } - #jstree-dnd.jstree-dnd-responsive > i { - background: transparent; - width: 40px; - height: 40px; - } - #jstree-dnd.jstree-dnd-responsive > .jstree-ok { - background-image: url("../img/vendor/jstree/40px.png"); - background-position: 0 -200px; - background-size: 120px 240px; - } - #jstree-dnd.jstree-dnd-responsive > .jstree-er { - background-image: url("../img/vendor/jstree/40px.png"); - background-position: -40px -200px; - background-size: 120px 240px; - } - #jstree-marker.jstree-dnd-responsive { - border-left-width: 10px; - border-top-width: 10px; - border-bottom-width: 10px; - margin-top: -10px; - } + #jstree-dnd.jstree-dnd-responsive { + font-size: 1.1em; + font-weight: bold; + line-height: 40px; + text-shadow: 1px 1px white; + } + + #jstree-dnd.jstree-dnd-responsive > i { + background: transparent; + height: 40px; + width: 40px; + } + + #jstree-dnd.jstree-dnd-responsive > .jstree-ok { + background-image: url("../img/vendor/jstree/40px.png"); + background-position: 0 -200px; + background-size: 120px 240px; + } + + #jstree-dnd.jstree-dnd-responsive > .jstree-er { + background-image: url("../img/vendor/jstree/40px.png"); + background-position: -40px -200px; + background-size: 120px 240px; + } + + #jstree-marker.jstree-dnd-responsive { + border-bottom-width: 10px; + border-left-width: 10px; + border-top-width: 10px; + margin-top: -10px; + } } @media (max-width: 768px) { - .jstree-default-responsive { - /* + .jstree-default-responsive { + /* .jstree-open > .jstree-ocl, .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } */ - } - .jstree-default-responsive .jstree-icon { - background-image: url("../img/vendor/jstree/40px.png"); - } - .jstree-default-responsive .jstree-node, - .jstree-default-responsive .jstree-leaf > .jstree-ocl { - background: transparent; - } - .jstree-default-responsive .jstree-node { - min-height: 40px; - line-height: 40px; - margin-left: 40px; - min-width: 40px; - white-space: nowrap; - } - .jstree-default-responsive .jstree-anchor { - line-height: 40px; - height: 40px; - } - .jstree-default-responsive .jstree-icon, - .jstree-default-responsive .jstree-icon:empty { - width: 40px; - height: 40px; - line-height: 40px; - } - .jstree-default-responsive > .jstree-container-ul > .jstree-node { - margin-left: 0; - } - .jstree-default-responsive.jstree-rtl .jstree-node { - margin-left: 0; - margin-right: 40px; - } - .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { - margin-right: 0; - } - .jstree-default-responsive .jstree-ocl, - .jstree-default-responsive .jstree-themeicon, - .jstree-default-responsive .jstree-checkbox { - background-size: 120px 240px; - } - .jstree-default-responsive .jstree-leaf > .jstree-ocl { - background: transparent; - } - .jstree-default-responsive .jstree-open > .jstree-ocl { - background-position: 0 0px !important; - } - .jstree-default-responsive .jstree-closed > .jstree-ocl { - background-position: 0 -40px !important; - } - .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -40px 0px !important; - } - .jstree-default-responsive .jstree-themeicon { - background-position: -40px -40px; - } - .jstree-default-responsive .jstree-checkbox, - .jstree-default-responsive .jstree-checkbox:hover { - background-position: -40px -80px; - } - .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, - .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, - .jstree-default-responsive .jstree-checked > .jstree-checkbox, - .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { - background-position: 0 -80px; - } - .jstree-default-responsive .jstree-anchor > .jstree-undetermined, - .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { - background-position: 0 -120px; - } - .jstree-default-responsive .jstree-anchor { - font-weight: bold; - font-size: 1.1em; - text-shadow: 1px 1px white; - } - .jstree-default-responsive > .jstree-striped { - background: transparent; - } - .jstree-default-responsive .jstree-wholerow { - border-top: 1px solid rgba(255, 255, 255, 0.7); - border-bottom: 1px solid rgba(64, 64, 64, 0.2); - background: #ebebeb; - height: 40px; - } - .jstree-default-responsive .jstree-wholerow-hovered { - background: #e7f4f9; - } - .jstree-default-responsive .jstree-wholerow-clicked { - background: #beebff; - } - .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { - box-shadow: inset 0 -6px 3px -5px #666666; - } - .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { - box-shadow: inset 0 6px 3px -5px #666666; - border-top: 0; - } - .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { - box-shadow: none; - } - .jstree-default-responsive .jstree-node, - .jstree-default-responsive .jstree-icon, - .jstree-default-responsive .jstree-node > .jstree-ocl, - .jstree-default-responsive .jstree-themeicon, - .jstree-default-responsive .jstree-checkbox { - background-image: url("../img/vendor/jstree/40px.png"); - background-size: 120px 240px; - } - .jstree-default-responsive .jstree-node { - background-position: -80px 0; - background-repeat: repeat-y; - } - .jstree-default-responsive .jstree-last { - background: transparent; - } - .jstree-default-responsive .jstree-leaf > .jstree-ocl { - background-position: -40px -120px; - } - .jstree-default-responsive .jstree-last > .jstree-ocl { - background-position: -40px -160px; - } - .jstree-default-responsive .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; - } - .jstree-default-responsive .jstree-file { - background: url("../img/vendor/jstree/40px.png") 0 -160px no-repeat; - background-size: 120px 240px; - } - .jstree-default-responsive .jstree-folder { - background: url("../img/vendor/jstree/40px.png") -40px -40px no-repeat; - background-size: 120px 240px; - } - .jstree-default-responsive > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; - } + } + + .jstree-default-responsive .jstree-icon { + background-image: url("../img/vendor/jstree/40px.png"); + } + + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + + .jstree-default-responsive .jstree-node { + line-height: 40px; + margin-left: 40px; + min-height: 40px; + min-width: 40px; + white-space: nowrap; + } + + .jstree-default-responsive .jstree-anchor { + height: 40px; + line-height: 40px; + } + + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-icon:empty { + height: 40px; + line-height: 40px; + width: 40px; + } + + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + } + + .jstree-default-responsive.jstree-rtl .jstree-node { + margin-left: 0; + margin-right: 40px; + } + + .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; + } + + .jstree-default-responsive .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-size: 120px 240px; + } + + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + + .jstree-default-responsive .jstree-open > .jstree-ocl { + background-position: 0 0 !important; + } + + .jstree-default-responsive .jstree-closed > .jstree-ocl { + background-position: 0 -40px !important; + } + + .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -40px 0 !important; + } + + .jstree-default-responsive .jstree-themeicon { + background-position: -40px -40px; + } + + .jstree-default-responsive .jstree-checkbox, + .jstree-default-responsive .jstree-checkbox:hover { + background-position: -40px -80px; + } + + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, + .jstree-default-responsive .jstree-checked > .jstree-checkbox, + .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { + background-position: 0 -80px; + } + + .jstree-default-responsive .jstree-anchor > .jstree-undetermined, + .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { + background-position: 0 -120px; + } + + .jstree-default-responsive .jstree-anchor { + font-size: 1.1em; + font-weight: bold; + text-shadow: 1px 1px white; + } + + .jstree-default-responsive > .jstree-striped { + background: transparent; + } + + .jstree-default-responsive .jstree-wholerow { + background: #ebebeb; + border-bottom: 1px solid rgba(64, 64, 64, 0.2); + border-top: 1px solid rgba(255, 255, 255, 0.7); + height: 40px; + } + + .jstree-default-responsive .jstree-wholerow-hovered { + background: #e7f4f9; + } + + .jstree-default-responsive .jstree-wholerow-clicked { + background: #beebff; + } + + .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { + box-shadow: inset 0 -6px 3px -5px #666; + } + + .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { + border-top: 0; + box-shadow: inset 0 6px 3px -5px #666; + } + + .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { + box-shadow: none; + } + + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-node > .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-image: url("../img/vendor/jstree/40px.png"); + background-size: 120px 240px; + } + + .jstree-default-responsive .jstree-node { + background-position: -80px 0; + background-repeat: repeat-y; + } + + .jstree-default-responsive .jstree-last { + background: transparent; + } + + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background-position: -40px -120px; + } + + .jstree-default-responsive .jstree-last > .jstree-ocl { + background-position: -40px -160px; + } + + .jstree-default-responsive .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; + } + + .jstree-default-responsive .jstree-file { + background: url("../img/vendor/jstree/40px.png") 0 -160px no-repeat; + background-size: 120px 240px; + } + + .jstree-default-responsive .jstree-folder { + background: url("../img/vendor/jstree/40px.png") -40px -40px no-repeat; + background-size: 120px 240px; + } + + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; + } } diff --git a/grunt/aliases.yml b/grunt/aliases.yml index 75fd983238..7a4c28c1be 100644 --- a/grunt/aliases.yml +++ b/grunt/aliases.yml @@ -2,13 +2,6 @@ jest: - run:jest -check: - - check:js - - check:css - check:js: - eslint - run:jest - -check:css: - - scsslint diff --git a/grunt/scsslint.js b/grunt/scsslint.js deleted file mode 100644 index e5696ad1cb..0000000000 --- a/grunt/scsslint.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - options: { - bundleExec: true, - compact: true, - colorizeOutput: true - }, - - allFiles: [ - 'assets/scss/**/*.scss', - '!assets/scss/vendor/**/*.scss', - '!assets/scss/invoice.scss', - '!assets/scss/maintenance.scss' - ] -}; diff --git a/package-lock.json b/package-lock.json index bcc6b29030..08808e9ced 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "bigcommerce-cornerstone", - "version": "5.4.0", + "version": "5.5.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1600,6 +1600,32 @@ } } }, + "@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + } + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -1615,6 +1641,25 @@ "type-detect": "4.0.8" } }, + "@stylelint/postcss-css-in-js": { + "version": "0.37.2", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz", + "integrity": "sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==", + "dev": true, + "requires": { + "@babel/core": ">=7.9.0" + } + }, + "@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", + "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", + "dev": true, + "requires": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + } + }, "@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", @@ -1711,12 +1756,27 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "@types/mdast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", + "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==", + "dev": true, + "requires": { + "@types/unist": "*" + } + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", "dev": true }, + "@types/minimist": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", + "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "dev": true + }, "@types/node": { "version": "14.14.31", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.31.tgz", @@ -1729,6 +1789,12 @@ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", "dev": true }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, "@types/prettier": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", @@ -1741,6 +1807,12 @@ "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", "dev": true }, + "@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", + "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", + "dev": true + }, "@types/yargs": { "version": "15.0.13", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", @@ -2386,6 +2458,21 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, + "autoprefixer": { + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } + }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -2661,6 +2748,12 @@ "babel-preset-current-node-syntax": "^0.1.2" } }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "dev": true + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -3253,6 +3346,17 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, "caniuse-lite": { "version": "1.0.30001192", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz", @@ -3291,6 +3395,24 @@ "supports-color": "^5.3.0" } }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true + }, "chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", @@ -3543,6 +3665,15 @@ "shallow-clone": "^3.0.0" } }, + "clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "requires": { + "is-regexp": "^2.0.0" + } + }, "clone-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", @@ -3791,6 +3922,39 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "dependencies": { + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + } + } + }, "create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", @@ -3960,6 +4124,12 @@ "integrity": "sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==", "dev": true }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, "cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", @@ -4045,6 +4215,24 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", @@ -4205,6 +4393,23 @@ } } }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + }, + "dependencies": { + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + } + } + }, "doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -5041,6 +5246,15 @@ "strip-eof": "^1.0.0" } }, + "execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "dev": true, + "requires": { + "clone-regexp": "^2.1.0" + } + }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -5366,6 +5580,20 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -5389,6 +5617,15 @@ "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", "dev": true }, + "fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", @@ -5564,6 +5801,12 @@ } } }, + "flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + }, "flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", @@ -5726,6 +5969,12 @@ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true + }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -5775,7 +6024,6 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, - "optional": true, "requires": { "is-glob": "^4.0.1" }, @@ -5785,7 +6033,6 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, - "optional": true, "requires": { "is-extglob": "^2.1.1" } @@ -5850,6 +6097,43 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, + "globby": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + } + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", + "dev": true + }, + "gonzales-pe": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", + "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "got": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", @@ -6082,63 +6366,6 @@ } } }, - "grunt-scss-lint": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/grunt-scss-lint/-/grunt-scss-lint-0.5.0.tgz", - "integrity": "sha1-m5gj+AdPM0ZQ/4MfVRoez1sIohU=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "lodash": "^4.12.0", - "which": "^1.2.8", - "xmlbuilder": "^8.2.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, "grunt-svgstore": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/grunt-svgstore/-/grunt-svgstore-2.0.0.tgz", @@ -6206,6 +6433,12 @@ "har-schema": "^2.0.0" } }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -6387,6 +6620,12 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true + }, "htmlparser2": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.0.tgz", @@ -6488,6 +6727,24 @@ "integrity": "sha1-g7Qsei5uS4VQVHf+aRf128VkIOU=", "dev": true }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, "import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", @@ -6520,6 +6777,12 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", @@ -6662,6 +6925,22 @@ } } }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -6734,6 +7013,12 @@ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true + }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -6797,6 +7082,12 @@ "is-extglob": "^2.1.0" } }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true + }, "is-installed-globally": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", @@ -6845,6 +7136,12 @@ "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", "dev": true }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -6864,6 +7161,12 @@ "has-symbols": "^1.0.1" } }, + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true + }, "is-relative": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", @@ -6915,6 +7218,12 @@ "unc-path-regex": "^0.1.2" } }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-valid-month": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-valid-month/-/is-valid-month-1.0.0.tgz", @@ -8576,7 +8885,7 @@ } }, "jstree": { - "version": "github:vakata/jstree#80755297a0e5eb614eea57700c8db4c75b252238", + "version": "github:vakata/jstree#308b85722d86294f1504eca2cec475e6f73b3e13", "from": "github:vakata/jstree", "requires": { "jquery": ">=1.9.1" @@ -8613,6 +8922,12 @@ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, + "known-css-properties": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", + "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", + "dev": true + }, "language-subtag-registry": { "version": "0.3.21", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", @@ -9396,6 +9711,12 @@ "lodash": "^4.17.20" } }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -9426,14 +9747,87 @@ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, - "lolex": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", - "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "@sinonjs/commons": "^1.7.0" - } + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", + "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", + "dev": true }, "lookup-closest-locale": { "version": "6.0.4", @@ -9499,6 +9893,12 @@ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, + "map-obj": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", + "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", + "dev": true + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -9514,6 +9914,12 @@ "integrity": "sha512-md9k+Gxa3qLH6sUKpeC2CNkJK/Ld+bEz5X96nYwloqphQE0CKCVEKco/6jxEZixinqNdz5RFi/KaCyfbMDMAXQ==", "dev": true }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true + }, "md5": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", @@ -9536,6 +9942,39 @@ "safe-buffer": "^5.1.2" } }, + "mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -9552,6 +9991,160 @@ "readable-stream": "^2.0.1" } }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true + } + } + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -9564,6 +10157,12 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, "metaviewport-parser": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/metaviewport-parser/-/metaviewport-parser-0.2.0.tgz", @@ -9576,6 +10175,16 @@ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true }, + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -9637,6 +10246,12 @@ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -9664,6 +10279,31 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + } + } + }, "mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", @@ -9935,6 +10575,18 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-selector": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", + "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", + "dev": true + }, "normalize-url": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", @@ -13897,6 +14549,12 @@ "boolbase": "^1.0.0" } }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -14229,6 +14887,23 @@ "readable-stream": "^2.1.5" } }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, "parse-asn1": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", @@ -14248,6 +14923,20 @@ "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=", "dev": true }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, "parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", @@ -14515,35 +15204,235 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", "dev": true, "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-html": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", + "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", + "dev": true, + "requires": { + "htmlparser2": "^3.10.0" + }, + "dependencies": { + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "postcss-less": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", + "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", + "dev": true + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", + "dev": true + }, + "postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", + "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", + "dev": true, + "requires": { + "postcss": "^7.0.26" + } + }, + "postcss-sass": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", + "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", + "dev": true, + "requires": { + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" + } + }, + "postcss-scss": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", + "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", + "dev": true, + "requires": { + "postcss": "^7.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-sorting": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-5.0.1.tgz", + "integrity": "sha512-Y9fUFkIhfrm6i0Ta3n+89j56EFqaNRdUKqXyRp6kvTcSXnmgEjaVowCXH+JBe9+YKWqd4nc28r2sgwnzJalccA==", + "dev": true, + "requires": { + "lodash": "^4.17.14", + "postcss": "^7.0.17" + } + }, + "postcss-syntax": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", + "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", + "dev": true + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true }, "ansi-styles": { "version": "4.3.0", @@ -14755,6 +15644,18 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -14953,6 +15854,16 @@ "resolve": "^1.1.6" } }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -15063,6 +15974,35 @@ } } }, + "remark": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", + "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", + "dev": true, + "requires": { + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" + } + }, + "remark-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", + "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", + "dev": true, + "requires": { + "mdast-util-from-markdown": "^0.8.0" + } + }, + "remark-stringify": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", + "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", + "dev": true, + "requires": { + "mdast-util-to-markdown": "^0.6.0" + } + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -15159,6 +16099,12 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -15285,6 +16231,12 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -15322,6 +16274,15 @@ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", @@ -15975,6 +16936,12 @@ "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, + "specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", + "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", + "dev": true + }, "speedline-core": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/speedline-core/-/speedline-core-1.4.3.tgz", @@ -16238,12 +17205,361 @@ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, + "style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", + "dev": true + }, + "stylelint": { + "version": "13.13.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz", + "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==", + "dev": true, + "requires": { + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", + "balanced-match": "^2.0.0", + "chalk": "^4.1.1", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.0.3", + "globjoin": "^0.1.4", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.1.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.4", + "normalize-selector": "^0.2.0", + "postcss": "^7.0.35", + "postcss-html": "^0.36.0", + "postcss-less": "^3.1.4", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.5", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", + "specificity": "^0.4.1", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^6.6.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^3.0.3" + }, + "dependencies": { + "ajv": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.5.0.tgz", + "integrity": "sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "table": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "stylelint-config-sass-guidelines": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/stylelint-config-sass-guidelines/-/stylelint-config-sass-guidelines-7.1.0.tgz", + "integrity": "sha512-WvC9nRdlYknftPcUaJCajrPYKg6d2CKffrr7BPPkN/i/Mt8Qsm1hNQ9lqC1sKoCIKdH051SCEZi10qwFLgDbbg==", + "dev": true, + "requires": { + "stylelint-order": "^4.0.0", + "stylelint-scss": "^3.18.0" + } + }, + "stylelint-order": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-4.1.0.tgz", + "integrity": "sha512-sVTikaDvMqg2aJjh4r48jsdfmqLT+nqB1MOsaBnvM3OwLx4S+WXcsxsgk5w18h/OZoxZCxuyXMh61iBHcj9Qiw==", + "dev": true, + "requires": { + "lodash": "^4.17.15", + "postcss": "^7.0.31", + "postcss-sorting": "^5.0.1" + } + }, + "stylelint-scss": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.19.0.tgz", + "integrity": "sha512-Ic5bsmpS4wVucOw44doC1Yi9f5qbeVL4wPFiEOaUElgsOuLEN6Ofn/krKI8BeNL2gAn53Zu+IcVV4E345r6rBw==", + "dev": true, + "requires": { + "lodash": "^4.17.15", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "sugarss": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", + "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -16285,6 +17601,12 @@ "resolved": "https://registry.npmjs.org/svg-injector/-/svg-injector-1.1.3.tgz", "integrity": "sha1-j7oY10GeX4GOcSxPgtg+41dhDmE=" }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, "sweetalert2": { "version": "9.17.2", "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-9.17.2.tgz", @@ -16750,6 +18072,18 @@ "punycode": "^2.1.0" } }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "dev": true + }, "tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", @@ -16936,6 +18270,28 @@ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", "dev": true }, + "unified": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.1.tgz", + "integrity": "sha512-juWjuI8Z4xFg8pJbnEZ41b5xjGUWGHqXALmBZ3FC3WX0PIx1CZBIIJ6mXbYMcf6Yw4Fi0rFUTA1cdz/BglbOhA==", + "dev": true, + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + } + } + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -16975,6 +18331,30 @@ "crypto-random-string": "^2.0.0" } }, + "unist-util-find-all-after": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", + "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", + "dev": true, + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -17244,6 +18624,36 @@ "extsprintf": "^1.2.0" } }, + "vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + } + } + }, + "vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -18165,12 +19575,6 @@ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, - "xmlbuilder": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", - "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=", - "dev": true - }, "xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", @@ -18200,6 +19604,12 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, "yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", @@ -18273,6 +19683,12 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/zero-fill/-/zero-fill-2.2.4.tgz", "integrity": "sha512-/N5GEDauLHz2uGnuJXWO1Wfib4EC+q4yp9C1jojM7RubwEKADqIqMcYpETMm1lRop403fi3v1qTOdgDE8DIOdw==" + }, + "zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "dev": true } } } diff --git a/package.json b/package.json index e3b3d6f4b8..4bfc3bfd01 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,6 @@ "grunt-cli": "^1.3.2", "grunt-eslint": "^20.0.0", "grunt-run": "^0.8.1", - "grunt-scss-lint": "^0.5.0", "grunt-svgstore": "^2.0.0", "imports-loader": "^0.7.1", "jest": "^25.5.4", @@ -55,6 +54,9 @@ "load-grunt-config": "^3.0.1", "lodash-webpack-plugin": "^0.11.6", "npx": "^10.2.2", + "stylelint": "^13.9.0", + "stylelint-config-sass-guidelines": "^7.1.0", + "stylelint-scss": "^3.18.0", "time-grunt": "^1.2.2", "webpack": "^4.46.0", "webpack-bundle-analyzer": "^3.9.0", @@ -65,6 +67,8 @@ "build": "npx webpack --config webpack.prod.js", "buildDev": "npx webpack --config webpack.dev.js", "lighthouse": "npx lighthouse --config-path=lighthouse-config.js --quiet --output json --chrome-flags=\"--headless\" $URL | jq '.audits | map_values(.rawValue)'", - "test": "npx jest" + "test": "npx jest", + "stylelint": "npx stylelint **/*.scss", + "stylelint:fix": "npx stylelint --fix **/*.scss" } } From 17637e070b6c53fe3b506bfe3e2571efee670a0f Mon Sep 17 00:00:00 2001 From: Tymur Biedukhin Date: Fri, 4 Jun 2021 13:45:09 +0300 Subject: [PATCH 2/5] Updated CHANGELOG and removed scss-lint comments --- CHANGELOG.md | 1 + .../citadel/actionBar/_actionBar.scss | 2 -- .../scss/components/citadel/cards/_cards.scss | 6 +----- .../scss/components/citadel/forms/_forms.scss | 7 ------- assets/scss/components/citadel/nav/_nav.scss | 2 -- .../foundation/accordion/_accordion.scss | 3 --- .../components/foundation/alerts/_alerts.scss | 2 -- .../foundation/breadcrumbs/_breadcrumbs.scss | 2 -- .../foundation/dropdown/_dropdown.scss | 4 ---- .../foundation/pagination/_pagination.scss | 2 -- .../components/foundation/tables/_tables.scss | 4 ---- .../components/foundation/tabs/_tabs.scss | 2 -- .../components/stencil/account/_account.scss | 1 - .../stencil/addReturn/_addReturn.scss | 3 --- .../stencil/addressBox/_addressBox.scss | 5 ----- .../scss/components/stencil/cart/_cart.scss | 3 --- .../components/stencil/compare/_compare.scss | 2 -- .../stencil/facetedSearch/_facetedSearch.scss | 3 --- .../stencil/heroCarousel/_heroCarousel.scss | 19 +++++++++---------- .../stencil/navPages/_navPages.scss | 10 +--------- .../components/stencil/navUser/_navUser.scss | 13 ------------- .../stencil/previewCart/_previewCart.scss | 2 -- .../stencil/productView/_productView.scss | 4 ---- .../components/stencil/search/_search.scss | 2 -- .../stencil/socialLinks/_socialLinks.scss | 10 ---------- .../scss/components/stencil/tags/_tags.scss | 1 - .../scss/components/vendor/slick/_slick.scss | 10 +++------- .../scss/components/vendor/slick/_tools.scss | 4 +--- assets/scss/layouts/blog/_blog.scss | 2 -- assets/scss/layouts/brands/_brandGrid.scss | 1 - assets/scss/layouts/footer/_footer.scss | 6 +----- assets/scss/layouts/header/_header.scss | 2 -- .../scss/layouts/products/_productGrid.scss | 4 ---- .../scss/layouts/products/_productList.scss | 8 ++------ 34 files changed, 19 insertions(+), 133 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4560c6d08..6bf75586b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog ## Draft +- Scss lint has been replaced with stylelint. [#2069](https://github.com/bigcommerce/cornerstone/pull/2069) - Fixed possibility to select 'None' on multi unrequired Swatch Options. [#2068](https://github.com/bigcommerce/cornerstone/pull/2068) - Translation Gap: Account -> Wish List -> Name required message. [#2060](https://github.com/bigcommerce/cornerstone/pull/2060) - Translation Gap: Cart -> Shipping estimator error messages. [#2066](https://github.com/bigcommerce/cornerstone/pull/2066) diff --git a/assets/scss/components/citadel/actionBar/_actionBar.scss b/assets/scss/components/citadel/actionBar/_actionBar.scss index 51736b190d..bd4f623bf0 100644 --- a/assets/scss/components/citadel/actionBar/_actionBar.scss +++ b/assets/scss/components/citadel/actionBar/_actionBar.scss @@ -9,11 +9,9 @@ border: $actionBar-form-field-border; border-radius: $actionBar-form-field-radius; - // scss-lint:disable NestingDepth &:hover { border-color: stencilColor("input-border-color-active"); } - // scss-lint:enable NestingDepth } .form-label { diff --git a/assets/scss/components/citadel/cards/_cards.scss b/assets/scss/components/citadel/cards/_cards.scss index bdad74a42f..1600d3d5e7 100644 --- a/assets/scss/components/citadel/cards/_cards.scss +++ b/assets/scss/components/citadel/cards/_cards.scss @@ -22,7 +22,7 @@ .card-figcaption { opacity: 1; } - } + } } .card-figure { @@ -32,8 +32,6 @@ position: relative; &:hover { - - // scss-lint:disable NestingDepth .card-figcaption { opacity: 1; } @@ -86,7 +84,6 @@ display: block; text-decoration: $card-title-textDecoration; - // scss-lint:disable NestingDepth &:hover { color: $card-title-color-hover; } @@ -157,7 +154,6 @@ &:hover { border-color: stencilColor("color-primary"); - // scss-lint:disable SelectorDepth, NestingDepth .card-body { background-color: stencilColor("color-primary"); diff --git a/assets/scss/components/citadel/forms/_forms.scss b/assets/scss/components/citadel/forms/_forms.scss index 12267f8c6a..dd2d66756f 100644 --- a/assets/scss/components/citadel/forms/_forms.scss +++ b/assets/scss/components/citadel/forms/_forms.scss @@ -30,8 +30,6 @@ } .form-inlineMessage { - - // scss-lint:disable NestingDepth &::before { background: $form-error-icon no-repeat; background-size: $form-inlineMessage-backgroundSize; @@ -65,8 +63,6 @@ .form-checkbox, .form-radio { + .form-label { - - // scss-lint:disable NestingDepth &:last-child { display: block; margin-bottom: $form-checkRadio-label-last-marginBottom; @@ -116,7 +112,6 @@ width: auto; } - // scss-lint:disable NestingDepth + .button, + input, + a { @@ -126,7 +121,6 @@ margin: 0 0 0 spacing("half"); } } - // scss-lint:enable NestingDepth } } @@ -381,7 +375,6 @@ overflow: hidden; position: relative; - // scss-lint:disable NestingDepth &.unavailable { background-color: $productOptions-disable-background-color; opacity: $productOptions-disable-opacity; diff --git a/assets/scss/components/citadel/nav/_nav.scss b/assets/scss/components/citadel/nav/_nav.scss index de5db775cc..a748676186 100644 --- a/assets/scss/components/citadel/nav/_nav.scss +++ b/assets/scss/components/citadel/nav/_nav.scss @@ -112,7 +112,6 @@ display: inline-block; } - // scss-lint:disable SelectorDepth, NestingDepth &.is-active { @include breakpoint("medium") { border-bottom: 1px solid stencilColor("color-textBase"); @@ -137,7 +136,6 @@ font-size: fontSize("base"); padding: 0; - // scss-lint:disable NestingDepth &:hover { color: stencilColor("color-textSecondary--hover"); } diff --git a/assets/scss/components/foundation/accordion/_accordion.scss b/assets/scss/components/foundation/accordion/_accordion.scss index 34ba82bb40..1c709bf73e 100644 --- a/assets/scss/components/foundation/accordion/_accordion.scss +++ b/assets/scss/components/foundation/accordion/_accordion.scss @@ -119,7 +119,6 @@ .accordion-navigation { border-bottom-width: 0; - // scss-lint:disable NestingDepth &.is-open { border-bottom-width: 1px; border-radius: 0; @@ -143,9 +142,7 @@ transform: none; } - // scss-lint:disable NestingDepth &:hover { color: stencilColor("color-textSecondary--hover"); } - // scss-lint:enable NestingDepth } diff --git a/assets/scss/components/foundation/alerts/_alerts.scss b/assets/scss/components/foundation/alerts/_alerts.scss index 19af9045f9..4278b420f2 100644 --- a/assets/scss/components/foundation/alerts/_alerts.scss +++ b/assets/scss/components/foundation/alerts/_alerts.scss @@ -18,8 +18,6 @@ color: stencilColor("alert-color-alt"); .alertBox-close { - - // scss-lint:disable SelectorDepth, NestingDepth svg { fill: $color-infoLight; } diff --git a/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss b/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss index 0130df56ee..4967464276 100644 --- a/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss +++ b/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss @@ -28,8 +28,6 @@ ol.breadcrumbs { margin-right: 0.25rem; &.is-active { - - // scss-lint:disable NestingDepth > .breadcrumb-label { cursor: pointer; font-weight: 700; diff --git a/assets/scss/components/foundation/dropdown/_dropdown.scss b/assets/scss/components/foundation/dropdown/_dropdown.scss index 10a25fb3a2..54a378cc42 100644 --- a/assets/scss/components/foundation/dropdown/_dropdown.scss +++ b/assets/scss/components/foundation/dropdown/_dropdown.scss @@ -33,16 +33,12 @@ text-align: left; &:first-child { - - // scss-lint:disable NestingDepth > a { padding-top: spacing("half"); } } &:last-child { - - // scss-lint:disable NestingDepth > a { padding-bottom: spacing("base"); } diff --git a/assets/scss/components/foundation/pagination/_pagination.scss b/assets/scss/components/foundation/pagination/_pagination.scss index 6b3c3649d1..79b5d93c37 100644 --- a/assets/scss/components/foundation/pagination/_pagination.scss +++ b/assets/scss/components/foundation/pagination/_pagination.scss @@ -39,7 +39,6 @@ text-decoration: none; transition: $pagination-link-transition; - // scss-lint:disable NestingDepth &:hover { color: $pagination-link-color-hover; } @@ -54,7 +53,6 @@ &.pagination-item--previous, // 1 &.pagination-item--next { // 1 - // scss-lint:disable NestingDepth, SelectorDepth > a { color: $pagination-item-previousNext-color; diff --git a/assets/scss/components/foundation/tables/_tables.scss b/assets/scss/components/foundation/tables/_tables.scss index 3d6a713e8d..c000056185 100644 --- a/assets/scss/components/foundation/tables/_tables.scss +++ b/assets/scss/components/foundation/tables/_tables.scss @@ -42,14 +42,12 @@ width: auto; } - // scss-lint:disable NestingDepth + .button { @include breakpoint("small") { margin-left: spacing("quarter"); } } - // scss-lint:enable NestingDepth } } @@ -66,7 +64,6 @@ border-color: container("borderColor"); border-width: 0 0 1px; - // scss-lint:disable SelectorDepth, NestingDepth tr { th { padding-left: 0; @@ -94,7 +91,6 @@ tr { border-color: container("border"); - // scss-lint:disable SelectorDepth, NestingDepth td { display: block; padding-left: 0; diff --git a/assets/scss/components/foundation/tabs/_tabs.scss b/assets/scss/components/foundation/tabs/_tabs.scss index 01e2bb158d..c0f173bd2a 100644 --- a/assets/scss/components/foundation/tabs/_tabs.scss +++ b/assets/scss/components/foundation/tabs/_tabs.scss @@ -65,14 +65,12 @@ padding: 0; visibility: hidden; - // scss-lint:disable NestingDepth &.is-active { height: auto; overflow: visible; padding: $tabs-content-padding; visibility: visible; } - // scss-lint:enable NestingDepth } diff --git a/assets/scss/components/stencil/account/_account.scss b/assets/scss/components/stencil/account/_account.scss index 45fc0e4825..6287e47839 100644 --- a/assets/scss/components/stencil/account/_account.scss +++ b/assets/scss/components/stencil/account/_account.scss @@ -216,7 +216,6 @@ left: -2.5rem; } - // scss-lint:disable SelectorDepth, NestingDepth .form-label { height: spacing("single"); margin: 0; diff --git a/assets/scss/components/stencil/addReturn/_addReturn.scss b/assets/scss/components/stencil/addReturn/_addReturn.scss index 64ea4816e1..1c120b9746 100644 --- a/assets/scss/components/stencil/addReturn/_addReturn.scss +++ b/assets/scss/components/stencil/addReturn/_addReturn.scss @@ -13,7 +13,6 @@ margin-bottom: spacing("double") * 2; } - // scss-lint:disable SelectorDepth, NestingDepth tr { display: block; padding: spacing("single") 0; @@ -35,7 +34,6 @@ padding-top: spacing("half"); } - // scss-lint:disable NestingDepth + th, + td { padding-left: 0; @@ -70,7 +68,6 @@ display: table-header-group; } - // scss-lint:disable SelectorDepth, NestingDepth th { font-size: fontSize("smaller"); } diff --git a/assets/scss/components/stencil/addressBox/_addressBox.scss b/assets/scss/components/stencil/addressBox/_addressBox.scss index 549c279fda..f43eccbeb1 100644 --- a/assets/scss/components/stencil/addressBox/_addressBox.scss +++ b/assets/scss/components/stencil/addressBox/_addressBox.scss @@ -68,7 +68,6 @@ width: auto; } - // scss-lint:disable SelectorDepth, NestingDepth .button { margin-bottom: spacing("half"); @@ -81,7 +80,6 @@ } } } - // scss-lint:enable SelectorDepth, NestingDepth } } @@ -117,12 +115,9 @@ text-decoration: none; &:hover { - - // scss-lint:disable SelectorDepth, NestingDepth .address-title { color: stencilColor("color-textLink--hover"); } - // scss-lint:enable SelectorDepth, NestingDepth } .panel-body { diff --git a/assets/scss/components/stencil/cart/_cart.scss b/assets/scss/components/stencil/cart/_cart.scss index b9bfe22b39..1c08e8b25b 100644 --- a/assets/scss/components/stencil/cart/_cart.scss +++ b/assets/scss/components/stencil/cart/_cart.scss @@ -27,13 +27,10 @@ $card-preview-zoom-bottom-offset: 6rem; %additionalCheckoutButtons { @include clearfix; - // scss-lint:disable SelectorFormat .FloatRight { @include clearfix; - // scss-lint:disable SelectorDepth, NestingDepth p { - // scss-lint:disable ImportantRule float: none !important; margin: spacing("third") 0; text-align: right; diff --git a/assets/scss/components/stencil/compare/_compare.scss b/assets/scss/components/stencil/compare/_compare.scss index 459f081c77..9ba1937a38 100644 --- a/assets/scss/components/stencil/compare/_compare.scss +++ b/assets/scss/components/stencil/compare/_compare.scss @@ -20,8 +20,6 @@ vertical-align: top; + .compareTable-row { - - // scss-lint:disable NestingDepth .compareTable-heading, .compareTable-item { border-top: container("border"); diff --git a/assets/scss/components/stencil/facetedSearch/_facetedSearch.scss b/assets/scss/components/stencil/facetedSearch/_facetedSearch.scss index e32a8baa42..3ed11b24c4 100644 --- a/assets/scss/components/stencil/facetedSearch/_facetedSearch.scss +++ b/assets/scss/components/stencil/facetedSearch/_facetedSearch.scss @@ -19,7 +19,6 @@ padding: $facetedSearch-toggle-padding; @include breakpoint("medium") { - // scss-lint:disable ImportantRule display: none !important; // 1 } @@ -60,14 +59,12 @@ display: none; @include breakpoint("medium") { - // scss-lint:disable ImportantRule display: block !important; // 1 } &.is-open { display: block; - // scss-lint:disable SelectorDepth, NestingDepth .accordion--navList, .accordion-block:first-child .accordion-navigation { border-top-left-radius: 0; diff --git a/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss b/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss index 631e2bc237..1e653182c3 100644 --- a/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss +++ b/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss @@ -25,11 +25,11 @@ &.slick-initialized { @include breakpoint("small") { - max-height: remCalc(400px); + max-height: remCalc(400px); } @include breakpoint("medium") { - max-height: remCalc(600px); + max-height: remCalc(600px); } } @@ -80,7 +80,6 @@ bottom: spacing("single"); } - // scss-lint:disable SelectorDepth, NestingDepth li { @include carouselOpaqueBackgrounds($slick-dot-bgColor); } @@ -92,26 +91,26 @@ height: 100vw; } } - + &.is-vertical-image-type { .heroCarousel-image-wrapper { height: 110vw; } } - + &.is-square-image-type, &.is-vertical-image-type { - .heroCarousel-image-wrapper { + .heroCarousel-image-wrapper { @include breakpoint("small") { height: 56.25vw; } } } - + &.is-image-error { background: url("../img/hero-carousel-image-load-error.svg") center center no-repeat; background-size: contain; - } + } } } @@ -145,11 +144,11 @@ width: 100%; } } - } + } &.compat-object-fit { // 1 overflow: hidden; - + .heroCarousel-image { width: auto; } diff --git a/assets/scss/components/stencil/navPages/_navPages.scss b/assets/scss/components/stencil/navPages/_navPages.scss index c7feaaffbd..eec555a232 100644 --- a/assets/scss/components/stencil/navPages/_navPages.scss +++ b/assets/scss/components/stencil/navPages/_navPages.scss @@ -27,7 +27,6 @@ // ----------------------------------------------------------------------------- .has-activeNavPages { - // scss-lint:disable VendorPrefix overflow: hidden; // 2 -webkit-overflow-scrolling: auto; // 3 } @@ -37,7 +36,6 @@ // ----------------------------------------------------------------------------- .navPages-container { - // scss-lint:disable VendorPrefix bottom: 0; display: none; height: 100%; @@ -213,7 +211,6 @@ &.is-open, .collapsible-icon-wrapper.is-open { - // scss-lint:disable NestingDepth svg { fill: $navPage-subMenu-item--is-highlighted-color; stroke: $navPage-subMenu-item--is-highlighted-color; @@ -224,7 +221,6 @@ &.activePage { color: $navPage-subMenu-item--is-highlighted-color; - // scss-lint:disable NestingDepth svg { fill: $navPage-subMenu-item--is-highlighted-color; stroke: $navPage-subMenu-item--is-highlighted-color; @@ -314,7 +310,6 @@ outline: 0; @include breakpoint("medium") { - // scss-lint:disable ImportantRule background-color: stencilColor("navPages-subMenu-backgroundColor"); padding: spacing("single") spacing("single") (spacing("single") + spacing("half")) !important; position: absolute; @@ -364,7 +359,7 @@ display: inherit; height: $navPage-subMenu-horizontal-height; margin-left: $navPage-subMenu-horizontal-width; - padding: 0 !important; // scss-lint:disable ImportantRule + padding: 0 !important; top: 0; width: $navPage-subMenu-horizontal-width + 1; } @@ -382,7 +377,6 @@ padding: spacing("half") 0; @include breakpoint("medium") { - // scss-lint:disable ImportantRule @include grid-column(3); padding: 0 0.75rem !important; // 1 @@ -484,7 +478,6 @@ display: none; } - // scss-lint:disable SelectorDepth, NestingDepth, IdSelector #currencySelection2 { background-color: color("whites", "bright"); border: container("border"); @@ -492,7 +485,6 @@ .dropdown-menu-item { padding: 0; - // scss-lint:disable NestingDepth &:not(:last-child) { border-bottom: container("border"); } diff --git a/assets/scss/components/stencil/navUser/_navUser.scss b/assets/scss/components/stencil/navUser/_navUser.scss index 0d02f7b1b8..8c237bd2ed 100644 --- a/assets/scss/components/stencil/navUser/_navUser.scss +++ b/assets/scss/components/stencil/navUser/_navUser.scss @@ -39,7 +39,6 @@ box-shadow: container("dropShadow"); position: absolute; - // scss-lint:disable NestingDepth &.is-open { &::before { @include css-triangle( @@ -83,12 +82,10 @@ &.is-open { color: stencilColor("navUser-color-hover"); - // scss-lint:disable NestingDepth svg { fill: stencilColor("navUser-color-hover"); stroke: stencilColor("navUser-color-hover"); } - // scss-lint:enable NestingDepth } .icon { @@ -105,13 +102,11 @@ .navUser-action--currencySelector + .dropdown-menu { &::before { - // scss-lint:disable ImportantRule left: auto !important; // 6 right: spacing("half"); // 6 } &::after { - // scss-lint:disable ImportantRule left: auto !important; // 6 right: spacing("half") + remCalc(2px); // 6 } @@ -122,12 +117,10 @@ padding: spacing("single"); &::before { - // scss-lint:disable ImportantRule left: remCalc(140px) !important; // 3 } &::after { - // scss-lint:disable ImportantRule left: remCalc(142px) !important; // 3 } } @@ -172,7 +165,6 @@ .navUser-action { color: stencilColor("navUser-color"); - // scss-lint:disable NestingDepth &:hover, &.is-open { color: stencilColor("navUser-color-hover"); @@ -182,7 +174,6 @@ .dropdown-menu { max-width: remCalc(320px); - // scss-lint:disable NestingDepth &.is-open { left: auto !important; // 7 right: remCalc(5px); // 7 @@ -231,8 +222,6 @@ .navUser-item--account { .navUser-or { - - // scss-lint:disable NestingDepth + .navUser-action { margin-right: -0.5rem; // 1 } @@ -264,7 +253,6 @@ &.is-open { position: relative; - // scss-lint:disable NestingDepth &::before { @include css-triangle( $triangle-direction: "bottom", @@ -290,7 +278,6 @@ &.is-open { display: block; - // scss-lint:disable ImportantRule left: 0 !important; // 1 outline: none; right: 0 !important; // 1 diff --git a/assets/scss/components/stencil/previewCart/_previewCart.scss b/assets/scss/components/stencil/previewCart/_previewCart.scss index 52bb04ca2d..a8ebc20503 100644 --- a/assets/scss/components/stencil/previewCart/_previewCart.scss +++ b/assets/scss/components/stencil/previewCart/_previewCart.scss @@ -55,7 +55,6 @@ margin: 0; width: 100%; - // scss-lint:disable NestingDepth + p { margin-top: spacing("half"); } @@ -81,7 +80,6 @@ .previewCartCheckout-additionalCheckoutButtons { p { - // scss-lint:disable ImportantRule float: none !important; // 1 margin: spacing("third") 0; } diff --git a/assets/scss/components/stencil/productView/_productView.scss b/assets/scss/components/stencil/productView/_productView.scss index 6cb84bea48..e6b817466d 100644 --- a/assets/scss/components/stencil/productView/_productView.scss +++ b/assets/scss/components/stencil/productView/_productView.scss @@ -165,7 +165,6 @@ a { color: $productView-brand-link-color; - // scss-lint:disable NestingDepth &:hover { color: $productView-brand-link-color--hover; } @@ -201,7 +200,6 @@ margin-left: spacing("quarter"); vertical-align: middle; - // scss-lint:disable NestingDepth &:hover { color: stencilColor("color-textSecondary--hover"); } @@ -309,7 +307,6 @@ font-size: 1rem; } - // scss-lint:disable SelectorDepth, NestingDepth > .form-checkbox + .form-label { display: inline-block; margin-left: spacing("single"); @@ -349,7 +346,6 @@ margin-top: 1rem; } - // scss-lint:disable SelectorDepth, NestingDepth .button { width: 100%; diff --git a/assets/scss/components/stencil/search/_search.scss b/assets/scss/components/stencil/search/_search.scss index 43d449e0f0..2f9edaa00a 100644 --- a/assets/scss/components/stencil/search/_search.scss +++ b/assets/scss/components/stencil/search/_search.scss @@ -52,7 +52,6 @@ label { display: inline; - // scss-lint:disable SelectorDepth, NestingDepth input { display: block; padding-left: spacing("single"); @@ -63,7 +62,6 @@ } } - // scss-lint:disable SelectorDepth, NestingDepth span { @include breakpoint("small") { display: inline; diff --git a/assets/scss/components/stencil/socialLinks/_socialLinks.scss b/assets/scss/components/stencil/socialLinks/_socialLinks.scss index 84431cb87d..38177e84f0 100644 --- a/assets/scss/components/stencil/socialLinks/_socialLinks.scss +++ b/assets/scss/components/stencil/socialLinks/_socialLinks.scss @@ -16,7 +16,6 @@ margin: 0; text-decoration: none; - // scss-lint:disable NestingDepth, SelectorDepth &:hover { svg { fill: stencilColor("icon-color-hover"); @@ -27,23 +26,16 @@ fill: stencilColor("icon-color"); transition: all 0.15s ease; } - // scss-lint:enable NestingDepth, SelectorDepth } } -// scss-lint:enable SelectorFormat - -// scss-lint:disable SelectorFormat .socialLinks-item--pinterest { width: 25px; } -// scss-lint:enable SelectorFormat -// scss-lint:disable SelectorFormat .pin_it_iframe_widget { display: none; } -// scss-lint:enable SelectorFormat .socialLinks-item { display: inline-block; @@ -53,11 +45,9 @@ margin-bottom: spacing("quarter"); margin-right: spacing("half"); - // scss-lint:disable NestingDepth &:last-child { margin-right: 0; } - // scss-lint:enable NestingDepth, } .socialLinks__link { diff --git a/assets/scss/components/stencil/tags/_tags.scss b/assets/scss/components/stencil/tags/_tags.scss index 30af7e33de..9d05f35951 100644 --- a/assets/scss/components/stencil/tags/_tags.scss +++ b/assets/scss/components/stencil/tags/_tags.scss @@ -22,7 +22,6 @@ padding: $tag-padding; text-decoration: $tag-textDecoration; - // scss-lint:disable NestingDepth &:hover { color: $tag-color-hover; } diff --git a/assets/scss/components/vendor/slick/_slick.scss b/assets/scss/components/vendor/slick/_slick.scss index a9985b2ee2..e1a4ba83ed 100644 --- a/assets/scss/components/vendor/slick/_slick.scss +++ b/assets/scss/components/vendor/slick/_slick.scss @@ -55,7 +55,6 @@ @include carousel-arrow-color( $slick-arrow-color, "next"); } &:hover { - // scss-lint:disable NestingDepth &::before { @include carousel-arrow-color( $slick-arrow-color-hover, "next"); } } @@ -72,9 +71,9 @@ @include carousel-arrow-color( $slick-arrow-color, "prev"); } &:hover { - // scss-lint:disable NestingDepth &::before { - @include carousel-arrow-color( $slick-arrow-color-hover, "prev"); } + @include carousel-arrow-color( $slick-arrow-color-hover, "prev"); + } } } @@ -100,7 +99,6 @@ margin: 0; padding: remCalc(5px); - // scss-lint:disable SelectorDepth, NestingDepth button, button::before { @include square(15px); @@ -108,7 +106,6 @@ } button { - // scss-lint:disable NestingDepth border: 1px solid $slick-dot-color; display: inline-block; margin: 0; @@ -132,7 +129,6 @@ } &.slick-active { - // scss-lint:disable NestingDepth button::before { background: $slick-dot-color-active; } @@ -235,7 +231,7 @@ div.slick-slider { &::before, &::after { right: 50%; - transform: translateX(50%); + transform: translateX(50%); } &::before { diff --git a/assets/scss/components/vendor/slick/_tools.scss b/assets/scss/components/vendor/slick/_tools.scss index 815a336290..7da25f6892 100644 --- a/assets/scss/components/vendor/slick/_tools.scss +++ b/assets/scss/components/vendor/slick/_tools.scss @@ -16,17 +16,15 @@ @return null; } -// scss-lint:disable DuplicateProperty @mixin carouselOpaqueBackgrounds($color: rgba($carousel-bgColor, 0.9)) { // 2 background-color: rgba($color, 1); background-color: $color; } -// scss-lint:enable DuplicateProperty @mixin carousel-arrow-color($arrow-color, $arrow-direction) { @if $arrow-direction == "prev" { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='42' viewBox='0 0 24 42'%3E%3Cpath d='M22.4572074 1.00746147l-21 20.02482143 20.9479397 19.9751786' stroke='#{str-replace(#{$arrow-color}, "#", "%23")}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' fill-rule='evenodd' /%3E%3C/svg%3E"); - } + } @if $arrow-direction == "next" { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='42' viewBox='0 0 24 42'%3E%3Cpath d='M1.45679 1.00746147l21 20.02482143L1.50885 41.0074615' stroke='#{str-replace(#{$arrow-color}, "#", "%23")}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' fill-rule='evenodd' /%3E%3C/svg%3E"); } diff --git a/assets/scss/layouts/blog/_blog.scss b/assets/scss/layouts/blog/_blog.scss index 04bbbac21b..15c96e40be 100644 --- a/assets/scss/layouts/blog/_blog.scss +++ b/assets/scss/layouts/blog/_blog.scss @@ -29,11 +29,9 @@ text-align: center; } - // scss-lint:disable SelectorFormat .addthis_toolbox { margin-top: spacing("double"); } - // scss-lint:enable SelectorFormat } .blog-title { diff --git a/assets/scss/layouts/brands/_brandGrid.scss b/assets/scss/layouts/brands/_brandGrid.scss index 8a806dc8be..0c51dba4da 100644 --- a/assets/scss/layouts/brands/_brandGrid.scss +++ b/assets/scss/layouts/brands/_brandGrid.scss @@ -31,7 +31,6 @@ width: grid-calc(3, $total-columns); } - // scss-lint:disable SelectorDepth, NestingDepth .card-title { text-align: center; } diff --git a/assets/scss/layouts/footer/_footer.scss b/assets/scss/layouts/footer/_footer.scss index e4271964cd..01030f12b8 100644 --- a/assets/scss/layouts/footer/_footer.scss +++ b/assets/scss/layouts/footer/_footer.scss @@ -43,7 +43,7 @@ overflow-wrap: break-word; text-align: center; vertical-align: top; - // TODO: specifically use vendor only for IE11 since overflow-wrap is not supported here + // TODO: specifically use vendor only for IE11 since overflow-wrap is not supported here -ms-word-break: break-all; @include breakpoint("small") { text-align: left; @@ -112,11 +112,9 @@ color: stencilColor("color-textSecondary"); text-decoration: none; - // scss-lint:disable NestingDepth &:hover { color: stencilColor("color-textSecondary--hover"); } - // scss-lint:enable NestingDepth } } @@ -143,11 +141,9 @@ color: stencilColor("color-textSecondary"); text-decoration: none; - // scss-lint:disable NestingDepth &:hover { color: stencilColor("color-textSecondary--hover"); } - // scss-lint:enable NestingDepth } } diff --git a/assets/scss/layouts/header/_header.scss b/assets/scss/layouts/header/_header.scss index c4435af0e4..9de42fe0f3 100644 --- a/assets/scss/layouts/header/_header.scss +++ b/assets/scss/layouts/header/_header.scss @@ -99,7 +99,6 @@ width: 70%; z-index: zIndex("low"); - // scss-lint:disable NestingDepth @include breakpoint("medium") { background: none; border-bottom: 0; @@ -255,7 +254,6 @@ background-color: transparent; transition-delay: 100ms; - // scss-lint:disable NestingDepth &::before, &::after { background-color: $header-font-color; diff --git a/assets/scss/layouts/products/_productGrid.scss b/assets/scss/layouts/products/_productGrid.scss index a64cab1217..7fc0735bd6 100644 --- a/assets/scss/layouts/products/_productGrid.scss +++ b/assets/scss/layouts/products/_productGrid.scss @@ -43,7 +43,6 @@ .page-sidebar + .page-content { .productGrid { - // scss-lint:disable SelectorDepth, NestingDepth .product { // 1 @include breakpoint("small") { width: grid-calc(4, $total-columns); @@ -97,7 +96,6 @@ .productGrid--maxCol6 { .no-csscolumns & { - // scss-lint:disable SelectorDepth, NestingDepth .product { @include breakpoint("medium") { width: grid-calc(2, $total-columns); @@ -114,7 +112,6 @@ .productGrid--maxCol3 { .no-csscolumns & { - // scss-lint:disable SelectorDepth, NestingDepth .product { @include breakpoint("medium") { width: grid-calc(4, $total-columns); @@ -128,7 +125,6 @@ float: none; - // scss-lint:disable SelectorDepth, NestingDepth .product { @include grid-column(4, $float: none); } diff --git a/assets/scss/layouts/products/_productList.scss b/assets/scss/layouts/products/_productList.scss index 42a8453ffd..26b5eb524a 100644 --- a/assets/scss/layouts/products/_productList.scss +++ b/assets/scss/layouts/products/_productList.scss @@ -11,7 +11,6 @@ margin: spacing("half"); .product { - // scss-lint:disable NestingDepth + .product { margin-top: spacing("base") * 4; } @@ -90,7 +89,7 @@ padding-right: spacing("half"); width: grid-calc(3, $total-columns); } - + &__link { display: block; margin: 3px; @@ -104,7 +103,7 @@ margin: 0; pointer-events: all; } - } + } } .listItem-figureBody { @@ -233,7 +232,6 @@ @include breakpoint("large") { width: 100%; - // scss-lint:disable NestingDepth + .button { margin: spacing("half") 0 0; } @@ -247,8 +245,6 @@ .page-sidebar + .page-content { .productList { - - // scss-lint:disable SelectorDepth, NestingDepth .listItem-details { @include breakpoint("large") { From fe59c841b00cad0e6fc6aa413654728a4ce6fc6f Mon Sep 17 00:00:00 2001 From: Tymur Biedukhin Date: Fri, 4 Jun 2021 13:50:29 +0300 Subject: [PATCH 3/5] Removed commented css code --- assets/scss/maintenance.scss | 2 -- assets/scss/vendor/jstree/style.scss | 7 ------- 2 files changed, 9 deletions(-) diff --git a/assets/scss/maintenance.scss b/assets/scss/maintenance.scss index 5509a0424e..82b4a15a62 100644 --- a/assets/scss/maintenance.scss +++ b/assets/scss/maintenance.scss @@ -178,10 +178,8 @@ div p { } .form-field--error .form-inlineMessage { - /*color: #ac0005;*/ left: 100px; position: absolute; top: 30px; - /*width: 100%;*/ } } diff --git a/assets/scss/vendor/jstree/style.scss b/assets/scss/vendor/jstree/style.scss index e50bb3d1bb..f5002b6e08 100644 --- a/assets/scss/vendor/jstree/style.scss +++ b/assets/scss/vendor/jstree/style.scss @@ -1130,13 +1130,6 @@ } } @media (max-width: 768px) { - .jstree-default-responsive { - /* - .jstree-open > .jstree-ocl, - .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } - */ - } - .jstree-default-responsive .jstree-icon { background-image: url("../img/vendor/jstree/40px.png"); } From 8336baba8c8ce8ab78b45d9758f24e6107e1bc89 Mon Sep 17 00:00:00 2001 From: Tymur Biedukhin Date: Fri, 4 Jun 2021 14:19:22 +0300 Subject: [PATCH 4/5] Added stylelint to Grunt check --- .github/workflows/pull_request_review.yml | 4 +- Gruntfile.js | 3 +- grunt/aliases.yml | 10 ++-- grunt/eslint.js | 4 +- grunt/run.js | 8 +-- grunt/stylelint.js | 19 +++++++ grunt/svgstore.js | 10 ++-- package-lock.json | 60 +++++++++++++++++++++++ package.json | 1 + 9 files changed, 102 insertions(+), 17 deletions(-) create mode 100644 grunt/stylelint.js diff --git a/.github/workflows/pull_request_review.yml b/.github/workflows/pull_request_review.yml index 7dcaec0ada..9dc45a69e9 100644 --- a/.github/workflows/pull_request_review.yml +++ b/.github/workflows/pull_request_review.yml @@ -42,8 +42,8 @@ jobs: - name: Install Theme Dependencies run: npm ci - - name: Grunt Check:js - run: npx grunt check:js + - name: Grunt Check + run: npx grunt check - name: Validate theme successfully bundles run: npx stencil bundle --name bundle diff --git a/Gruntfile.js b/Gruntfile.js index 0076a8160f..628e7d5696 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -3,5 +3,6 @@ module.exports = function (grunt) { require('load-grunt-config')(grunt); grunt.loadNpmTasks('grunt-run'); - grunt.registerTask('default', ['eslint', 'jest', 'svgstore']); + grunt.loadNpmTasks('grunt-stylelint'); + grunt.registerTask('default', ['eslint', 'svgstore']); }; diff --git a/grunt/aliases.yml b/grunt/aliases.yml index 7a4c28c1be..d75ba46ec2 100644 --- a/grunt/aliases.yml +++ b/grunt/aliases.yml @@ -1,7 +1,11 @@ --- -jest: - - run:jest - check:js: - eslint - run:jest + +check:css: + - stylelint + +check: + - check:js + - check:css diff --git a/grunt/eslint.js b/grunt/eslint.js index 9b970b695a..e0e76608c6 100644 --- a/grunt/eslint.js +++ b/grunt/eslint.js @@ -5,6 +5,6 @@ module.exports = { '!assets/js/**/*.spec.js', ], options: { - quiet: true - } + quiet: true, + }, }; diff --git a/grunt/run.js b/grunt/run.js index 45aabb4197..58573a3437 100644 --- a/grunt/run.js +++ b/grunt/run.js @@ -2,7 +2,7 @@ module.exports = { jest: { cmd: 'npx', args: [ - 'jest' - ] - } -}; \ No newline at end of file + 'jest', + ], + }, +}; diff --git a/grunt/stylelint.js b/grunt/stylelint.js new file mode 100644 index 0000000000..7b0d3ee850 --- /dev/null +++ b/grunt/stylelint.js @@ -0,0 +1,19 @@ +module.exports = { + options: { + configFile: '.stylelintrc', + formatter: 'string', + ignoreDisables: false, + failOnError: true, + outputFile: '', + reportNeedlessDisables: false, + fix: false, + syntax: '', + }, + src: [ + 'assets/scss/**/*.scss', + '!assets/scss/vendor/**/*.scss', + '!assets/scss/invoice.scss', + '!assets/scss/maintenance.scss', + ], +}; + diff --git a/grunt/svgstore.js b/grunt/svgstore.js index b2c4546c38..beec2e3d7a 100644 --- a/grunt/svgstore.js +++ b/grunt/svgstore.js @@ -2,13 +2,13 @@ module.exports = { options: { prefix: 'icon-', cleanup: false, - includeTitleElement: false + includeTitleElement: false, }, - 'default': { + default: { files: { './assets/img/icon-sprite.svg': ['./assets/icons/**/*.svg'], - './templates/components/amp/common/icon-defs.html': ['./assets/icons/**/*.svg'] - } - } + './templates/components/amp/common/icon-defs.html': ['./assets/icons/**/*.svg'], + }, + }, }; diff --git a/package-lock.json b/package-lock.json index 08808e9ced..534d228357 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6366,6 +6366,66 @@ } } }, + "grunt-stylelint": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/grunt-stylelint/-/grunt-stylelint-0.16.0.tgz", + "integrity": "sha512-ullm0h9iCdgPEDq1TNwKL5HteXA4zke6wbYoRtsO32ATCU3zfUXmDN9unhu+joEcdgJKOPcd2+7UhRNXO1rr+w==", + "dev": true, + "requires": { + "chalk": "^4.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "grunt-svgstore": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/grunt-svgstore/-/grunt-svgstore-2.0.0.tgz", diff --git a/package.json b/package.json index 4bfc3bfd01..3b3706fed0 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "grunt-cli": "^1.3.2", "grunt-eslint": "^20.0.0", "grunt-run": "^0.8.1", + "grunt-stylelint": "^0.16.0", "grunt-svgstore": "^2.0.0", "imports-loader": "^0.7.1", "jest": "^25.5.4", From ddcf9253850332aa2750b328fa66057d2a288813 Mon Sep 17 00:00:00 2001 From: Tymur Biedukhin Date: Mon, 7 Jun 2021 11:01:24 +0300 Subject: [PATCH 5/5] Fix bracket identation --- assets/scss/components/vendor/slick/_slick.scss | 9 ++++++--- assets/scss/tools/_string.scss | 5 +++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/assets/scss/components/vendor/slick/_slick.scss b/assets/scss/components/vendor/slick/_slick.scss index e1a4ba83ed..d65db7ba34 100644 --- a/assets/scss/components/vendor/slick/_slick.scss +++ b/assets/scss/components/vendor/slick/_slick.scss @@ -52,11 +52,13 @@ } &::before { - @include carousel-arrow-color( $slick-arrow-color, "next"); } + @include carousel-arrow-color( $slick-arrow-color, "next"); + } &:hover { &::before { - @include carousel-arrow-color( $slick-arrow-color-hover, "next"); } + @include carousel-arrow-color( $slick-arrow-color-hover, "next"); + } } } @@ -68,7 +70,8 @@ } &::before { - @include carousel-arrow-color( $slick-arrow-color, "prev"); } + @include carousel-arrow-color( $slick-arrow-color, "prev"); + } &:hover { &::before { diff --git a/assets/scss/tools/_string.scss b/assets/scss/tools/_string.scss index 3669a755da..b9812b0a01 100644 --- a/assets/scss/tools/_string.scss +++ b/assets/scss/tools/_string.scss @@ -56,7 +56,8 @@ $character: str-slice($value, $i, $i); @if not (index(map-keys($numbers), $character) or $character == ".") { - @return to-length(if($minus, -$result, $result), str-slice($value, $i)); } + @return to-length(if($minus, -$result, $result), str-slice($value, $i)); + } @if $character == "." { $digits: 1; @@ -82,7 +83,7 @@ /// @function to-length($value, $unit) { $units: ("px": 1px, "cm": 1cm, "mm": 1mm, "%": 1%, "ch": 1ch, "pc": 1pc, "in": 1in, "em": 1em, "rem": 1rem, "pt": 1pt, "ex": 1ex, "vw": 1vw, "vh": 1vh, "vmin": 1vmin, "vmax": 1vmax); - + @if not index(map-keys($units), $unit) { $_: log("Invalid unit `#{$unit}`."); }