From 52c98d5706884704c33ef1d9f23c328fa9fdb061 Mon Sep 17 00:00:00 2001 From: Kael Date: Tue, 1 Jun 2021 21:13:33 +1000 Subject: [PATCH] fix(styles): use math.div instead of `/` fixes #13694 closes #13704 BREAKING CHANGE: requires sass@1.33.0 --- package.json | 2 +- packages/docs/package.json | 2 +- packages/vuetify/package.json | 2 +- .../vuetify/src/components/VAlert/VAlert.sass | 5 +- .../src/components/VBanner/VBanner.sass | 7 +- .../vuetify/src/components/VBtn/VBtn.sass | 7 +- .../vuetify/src/components/VChip/VChip.sass | 3 +- .../components/VColorPicker/_variables.scss | 3 +- .../vuetify/src/components/VGrid/VGrid.sass | 9 +- .../vuetify/src/components/VGrid/_grid.sass | 19 +-- .../vuetify/src/components/VGrid/_mixins.sass | 14 +- .../VProgressLinear/VProgressLinear.sass | 2 +- .../src/components/VSlider/VSlider.sass | 13 +- .../src/components/VSwitch/VSwitch.sass | 2 +- .../src/components/VTimeline/VTimeline.sass | 15 ++- .../src/components/VTimeline/_mixins.sass | 10 +- .../src/components/VToolbar/VToolbar.sass | 9 +- .../src/styles/settings/_variables.scss | 13 +- yarn.lock | 126 +++++++++--------- 19 files changed, 139 insertions(+), 124 deletions(-) diff --git a/package.json b/package.json index 2d4f538c3e6..baacc5a456d 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "jest-serializer-html": "^7.0.0", "lerna": "^3.16.2", "moment": "^2.27.0", - "sass": "^1.26.11", + "sass": "^1.34.0", "semver": "^6.2.0", "shelljs": "^0.8.4", "stylus": "^0.54.5", diff --git a/packages/docs/package.json b/packages/docs/package.json index cbf789ef44d..b53865e5fc1 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -64,7 +64,7 @@ "minify-css-string": "^1.0.0", "mkdirp": "^1.0.4", "raw-loader": "^4.0.1", - "sass-loader": "^9.0.2", + "sass-loader": "^10.2.0", "sitemap-webpack-plugin": "^0.8.1", "vee-validate": "^3.3.7", "vue-cli-plugin-vuetify": "~2.0.7", diff --git a/packages/vuetify/package.json b/packages/vuetify/package.json index 7e0f95d49e6..a4c5e8c0c24 100644 --- a/packages/vuetify/package.json +++ b/packages/vuetify/package.json @@ -92,7 +92,7 @@ "postcss-loader": "^3.0.0", "pug": "^2.0.4", "pug-loader": "^2.4.0", - "sass-loader": "^10.0.2", + "sass-loader": "^10.2.0", "style-loader": "^0.23.1", "stylus": "^0.54.5", "stylus-loader": "^3.0.2", diff --git a/packages/vuetify/src/components/VAlert/VAlert.sass b/packages/vuetify/src/components/VAlert/VAlert.sass index 842cf08c1f6..b4b608b6acc 100644 --- a/packages/vuetify/src/components/VAlert/VAlert.sass +++ b/packages/vuetify/src/components/VAlert/VAlert.sass @@ -1,4 +1,5 @@ // Imports +@use 'sass:math' @import './_variables.scss' // Theme @@ -138,8 +139,8 @@ margin-right: $alert-border-icon-margin .v-alert--dense - padding-top: $alert-padding / 2 - padding-bottom: $alert-padding / 2 + padding-top: math.div($alert-padding, 2) + padding-bottom: math.div($alert-padding, 2) .v-alert__border border-width: $alert-dense-border-width diff --git a/packages/vuetify/src/components/VBanner/VBanner.sass b/packages/vuetify/src/components/VBanner/VBanner.sass index 7c9a6b7f79f..cd9c5445d3a 100644 --- a/packages/vuetify/src/components/VBanner/VBanner.sass +++ b/packages/vuetify/src/components/VBanner/VBanner.sass @@ -1,4 +1,5 @@ // Imports +@use 'sass:math' @import './_variables.scss' // Theme @@ -23,7 +24,7 @@ display: flex flex: 1 0 auto justify-content: flex-end - margin-bottom: -$banner-y-padding / 2 + margin-bottom: math.div(-$banner-y-padding, 2) +ltr() margin-left: $banner-actions-start-margin @@ -82,8 +83,8 @@ text-overflow: ellipsis .v-banner__wrapper - padding-top: $banner-y-padding / 2 - padding-bottom: $banner-y-padding / 2 + padding-top: math.div($banner-y-padding, 2) + padding-bottom: math.div($banner-y-padding, 2) .v-banner--has-icon .v-banner__wrapper diff --git a/packages/vuetify/src/components/VBtn/VBtn.sass b/packages/vuetify/src/components/VBtn/VBtn.sass index c8a4134f1f4..db39759021e 100644 --- a/packages/vuetify/src/components/VBtn/VBtn.sass +++ b/packages/vuetify/src/components/VBtn/VBtn.sass @@ -1,4 +1,5 @@ // Imports +@use 'sass:math' @import './_variables.scss' // Theme @@ -83,7 +84,7 @@ &.v-size--#{$name} height: #{$size}px min-width: #{round($size * 1.777777777777778)}px // default ratio - padding: 0 #{$size / 2.25}px + padding: 0 #{math.div($size, 2.25)}px > .v-btn__content .v-icon color: inherit @@ -219,10 +220,10 @@ &.v-btn--absolute &.v-btn--bottom - bottom: -#{$size / 2}px + bottom: -#{math.div($size, 2)}px &.v-btn--top - top: -#{$size / 2}px + top: -#{math.div($size, 2)}px .v-btn--loading pointer-events: none diff --git a/packages/vuetify/src/components/VChip/VChip.sass b/packages/vuetify/src/components/VChip/VChip.sass index 725c9e43674..f0cbeeb5b81 100644 --- a/packages/vuetify/src/components/VChip/VChip.sass +++ b/packages/vuetify/src/components/VChip/VChip.sass @@ -1,4 +1,5 @@ // Imports +@use 'sass:math' @import './_variables.scss' // Theme @@ -199,6 +200,6 @@ .v-chip @each $name, $size in $icon-sizes &.v-size--#{$name} - border-radius: #{map-get($size, 'height') / 2}px + border-radius: #{math.div(map-get($size, 'height'), 2)}px font-size: #{map-get($size, 'font-size')}px height: #{map-get($size, 'height')}px diff --git a/packages/vuetify/src/components/VColorPicker/_variables.scss b/packages/vuetify/src/components/VColorPicker/_variables.scss index 29a3daea13b..ada213495d3 100644 --- a/packages/vuetify/src/components/VColorPicker/_variables.scss +++ b/packages/vuetify/src/components/VColorPicker/_variables.scss @@ -1,3 +1,4 @@ +@use 'sass:math'; @import '../../styles/styles.sass'; $color-picker-border-radius: $border-radius-root !default; @@ -18,7 +19,7 @@ $color-picker-input-font-size: 0.75rem !default; $color-picker-input-margin: 8px !default; $color-picker-input-margin-bottom: 8px !default; $color-picker-slider-height: 10px !default; -$color-picker-slider-border-radius: $color-picker-slider-height / 2 !default; +$color-picker-slider-border-radius: math.div($color-picker-slider-height, 2) !default; $color-picker-preview-dot-size: 30px !default; $color-picker-preview-dot-margin: 24px !default; $color-picker-hue-margin-bottom: 24px !default; diff --git a/packages/vuetify/src/components/VGrid/VGrid.sass b/packages/vuetify/src/components/VGrid/VGrid.sass index abeed7d4bd1..decdbe1ab90 100644 --- a/packages/vuetify/src/components/VGrid/VGrid.sass +++ b/packages/vuetify/src/components/VGrid/VGrid.sass @@ -1,3 +1,4 @@ +@use 'sass:math' @import '../../styles/styles.sass' @import './_mixins' @@ -15,17 +16,17 @@ +make-row & + .row - margin-top: $grid-gutter / 2 + margin-top: math.div($grid-gutter, 2) &--dense - margin-top: $form-grid-gutter / 2 + margin-top: math.div($form-grid-gutter, 2) &--dense - margin: -$form-grid-gutter / 2 + margin: math.div(-$form-grid-gutter, 2) > .col, > [class*="col-"] - padding: $form-grid-gutter / 2 + padding: math.div($form-grid-gutter, 2) // Remove the negative margin from default .row, then the horizontal padding // from all immediate children columns (to prevent runaway style inheritance). diff --git a/packages/vuetify/src/components/VGrid/_grid.sass b/packages/vuetify/src/components/VGrid/_grid.sass index d7e016c5385..e15430cbe6d 100644 --- a/packages/vuetify/src/components/VGrid/_grid.sass +++ b/packages/vuetify/src/components/VGrid/_grid.sass @@ -1,3 +1,4 @@ +@use 'sass:math' @import '../../styles/styles.sass' .container @@ -27,20 +28,20 @@ &-#{$size} .layout .flex - padding: $gutter / 2 + padding: math.div($gutter, 2) .layout:only-child - margin: -$gutter / 2 + margin: math.div(-$gutter, 2) .layout:not(:only-child) - margin: auto (-$gutter / 2) + margin: auto math.div(-$gutter, 2) *:not(:only-child) .layout:first-child - margin-top: -$gutter / 2 + margin-top: math.div(-$gutter, 2) .layout:last-child - margin-bottom: -$gutter / 2 + margin-bottom: math.div(-$gutter, 2) .layout display: flex @@ -73,9 +74,9 @@ $n: $grid-columns @while $n > 0 .flex.#{$size}#{$n} - flex-basis: $n / $grid-columns * 100% + flex-basis: math.div($n, $grid-columns) * 100% flex-grow: 0 - max-width: $n / $grid-columns * 100% + max-width: math.div($n, $grid-columns) * 100% .flex.order-#{$size}#{$n} order: $n @@ -87,9 +88,9 @@ .flex.offset-#{$size}#{$m} // Offsets can only ever work in row layouts +ltr() - margin-left: $m / $grid-columns * 100% + margin-left: math.div($m, $grid-columns) * 100% +rtl() - margin-right: $m / $grid-columns * 100% + margin-right: math.div($m, $grid-columns) * 100% $m: $m - 1 diff --git a/packages/vuetify/src/components/VGrid/_mixins.sass b/packages/vuetify/src/components/VGrid/_mixins.sass index 00a84e3086a..c1697988dbb 100644 --- a/packages/vuetify/src/components/VGrid/_mixins.sass +++ b/packages/vuetify/src/components/VGrid/_mixins.sass @@ -1,3 +1,5 @@ +@use 'sass:math' + =make-container($padding-x: $container-padding-x) width: 100% padding: $padding-x @@ -14,24 +16,24 @@ display: flex flex-wrap: wrap flex: 1 1 auto - margin: -$gutter / 2 + margin: math.div(-$gutter, 2) =make-col-ready($gutter: $grid-gutter) // Prevent columns from becoming too narrow when at smaller grid tiers by // always setting `width: 100%;`. This works because we use `flex` values // later on to override this initial width. width: 100% - padding: $gutter / 2 + padding: math.div($gutter, 2) =make-col($size, $columns: $grid-columns) - flex: 0 0 percentage($size / $columns) + flex: 0 0 percentage(math.div($size, $columns)) // Add a `max-width` to ensure content within each column does not blow out // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari // do not appear to require this. - max-width: percentage($size / $columns) + max-width: percentage(math.div($size, $columns)) =make-col-offset($size, $columns: $grid-columns) - $num: $size / $columns + $num: math.div($size, $columns) +ltr() margin-left: if($num == 0, 0, percentage($num)) +rtl() @@ -41,7 +43,7 @@ // Common properties for all breakpoints %grid-column width: 100% - padding: $gutter / 2 + padding: math.div($gutter, 2) @each $breakpoint in map-keys($breakpoints) $infix: breakpoint-infix($breakpoint, $breakpoints) // Allow columns to stretch full width below their breakpoints diff --git a/packages/vuetify/src/components/VProgressLinear/VProgressLinear.sass b/packages/vuetify/src/components/VProgressLinear/VProgressLinear.sass index e18b33d8916..90db59316f5 100644 --- a/packages/vuetify/src/components/VProgressLinear/VProgressLinear.sass +++ b/packages/vuetify/src/components/VProgressLinear/VProgressLinear.sass @@ -110,7 +110,7 @@ opacity: $progress-linear-stream-opacity pointer-events: none position: absolute - top: calc(50% - #{$progress-linear-stream-border-width / 2}) + top: calc(50% - #{$progress-linear-stream-border-width} / 2) transition: inherit .v-progress-linear--reverse diff --git a/packages/vuetify/src/components/VSlider/VSlider.sass b/packages/vuetify/src/components/VSlider/VSlider.sass index 6206091e762..6b149c00ce4 100644 --- a/packages/vuetify/src/components/VSlider/VSlider.sass +++ b/packages/vuetify/src/components/VSlider/VSlider.sass @@ -1,4 +1,5 @@ // Imports +@use 'sass:math' @import './_variables.scss' // Theme @@ -47,7 +48,7 @@ position: absolute width: $slider-thumb-size height: $slider-thumb-size - left: -#{$slider-thumb-size / 2} + left: math.div(-$slider-thumb-size, 2) top: 50% border-radius: $slider-thumb-border-radius transition: $slider-transition @@ -64,8 +65,8 @@ background: currentColor opacity: $slider-thumb-before-opacity position: absolute - left: -#{$slider-thumb-focused-size-increase / 2} - top: -#{$slider-thumb-focused-size-increase / 2} + left: math.div(-$slider-thumb-focused-size-increase, 2) + top: math.div(-$slider-thumb-focused-size-increase, 2) transform: scale(0.1) pointer-events: none @@ -240,9 +241,9 @@ pointer-events: none .v-slider__thumb - width: #{$slider-thumb-size - 4} - height: #{$slider-thumb-size - 4} - left: -#{($slider-thumb-size - 4) / 2} + width: $slider-thumb-size - 4 + height: $slider-thumb-size - 4 + left: math.div(4 - $slider-thumb-size, 2) &:before display: none diff --git a/packages/vuetify/src/components/VSwitch/VSwitch.sass b/packages/vuetify/src/components/VSwitch/VSwitch.sass index debceb0ad18..97ef594e0e2 100644 --- a/packages/vuetify/src/components/VSwitch/VSwitch.sass +++ b/packages/vuetify/src/components/VSwitch/VSwitch.sass @@ -112,7 +112,7 @@ height: $switch-track-inset-height left: -4px opacity: $switch-track-inset-opacity - top: calc(50% - #{$switch-track-inset-height / 2}) + top: calc(50% - #{$switch-track-inset-height} / 2) .v-input--selection-controls__ripple, .v-input--switch__thumb diff --git a/packages/vuetify/src/components/VTimeline/VTimeline.sass b/packages/vuetify/src/components/VTimeline/VTimeline.sass index 9192427b253..cba4cd58f1b 100644 --- a/packages/vuetify/src/components/VTimeline/VTimeline.sass +++ b/packages/vuetify/src/components/VTimeline/VTimeline.sass @@ -1,4 +1,5 @@ // Imports +@use 'sass:math' @import './_variables.scss' @import './_mixins.sass' @@ -65,7 +66,7 @@ .v-timeline-item__opposite flex: 1 1 auto align-self: center - max-width: calc(#{$timeline-divider-center} - #{$timeline-divider-width / 2}) + max-width: calc(#{$timeline-divider-center} - #{$timeline-divider-width} / 2) // Before/after directions .v-timeline:not(.v-timeline--dense):not(.v-timeline--reverse) @@ -74,13 +75,13 @@ +timeline-item-align(left) +timeline-wedge-align(left) .v-timeline-item__body - max-width: calc(#{100% - $timeline-divider-center} - #{$timeline-divider-width / 2}) + max-width: calc(#{100% - $timeline-divider-center} - #{$timeline-divider-width} / 2) &:nth-child(even):not(.v-timeline-item--after), &--before +timeline-item-align(right) +timeline-wedge-align(right) .v-timeline-item__body - max-width: calc(#{$timeline-divider-center} - #{$timeline-divider-width / 2}) + max-width: calc(#{$timeline-divider-center} - #{$timeline-divider-width} / 2) // Wedge .v-timeline-item__body @@ -123,19 +124,19 @@ +timeline-item-align(right) +timeline-wedge-align(right) .v-timeline-item__body - max-width: calc(#{100% - $timeline-divider-center} - #{$timeline-divider-width / 2}) + max-width: calc(#{100% - $timeline-divider-center} - #{$timeline-divider-width} / 2) &:nth-child(even):not(.v-timeline-item--before), &--after +timeline-item-align(left) +timeline-wedge-align(left) .v-timeline-item__body - max-width: calc(#{$timeline-divider-center} - #{$timeline-divider-width / 2}) + max-width: calc(#{$timeline-divider-center} - #{$timeline-divider-width} / 2) .v-timeline--reverse.v-timeline--dense - +timeline-line-align($timeline-divider-width / 2, right, left) + +timeline-line-align(math.div($timeline-divider-width, 2), right, left) .v-timeline--dense:not(.v-timeline--reverse) - +timeline-line-align($timeline-divider-width / 2, left, right) + +timeline-line-align(math.div($timeline-divider-width, 2), left, right) .v-timeline--dense .v-timeline-item diff --git a/packages/vuetify/src/components/VTimeline/_mixins.sass b/packages/vuetify/src/components/VTimeline/_mixins.sass index 0ae7c6f2242..94afb4ed73f 100644 --- a/packages/vuetify/src/components/VTimeline/_mixins.sass +++ b/packages/vuetify/src/components/VTimeline/_mixins.sass @@ -1,11 +1,13 @@ +@use 'sass:math' + @mixin timeline-dots($dot-size, $inner-dot-size) height: $dot-size - left: calc(50% - #{$dot-size / 2}) + left: calc(50% - #{$dot-size} / 2) width: $dot-size .v-timeline-item__inner-dot height: $inner-dot-size - margin: #{($dot-size - $inner-dot-size) / 2} + margin: math.div($dot-size - $inner-dot-size, 2) width: $inner-dot-size @mixin timeline-wedge-align($direction) @@ -34,9 +36,9 @@ @mixin timeline-line-align($center, $first, $second) &:before +ltr() - #{$first}: calc(#{$center} - #{$timeline-line-width / 2}) + #{$first}: calc(#{$center} - #{$timeline-line-width} / 2) #{$second}: initial +rtl() #{$first}: initial - #{$second}: calc(#{$center} - #{$timeline-line-width / 2}) + #{$second}: calc(#{$center} - #{$timeline-line-width} / 2) diff --git a/packages/vuetify/src/components/VToolbar/VToolbar.sass b/packages/vuetify/src/components/VToolbar/VToolbar.sass index 26e39c5b76c..2e094f133ce 100644 --- a/packages/vuetify/src/components/VToolbar/VToolbar.sass +++ b/packages/vuetify/src/components/VToolbar/VToolbar.sass @@ -1,3 +1,4 @@ +@use 'sass:math' @import './_variables.scss' +theme('v-toolbar.v-sheet') using ($material) @@ -34,10 +35,10 @@ > .v-btn.v-btn--icon &:first-child +ltr() - margin-left: -#{$toolbar-btn-icon-size / 4} + margin-left: math.div(-$toolbar-btn-icon-size, 4) +rtl() - margin-right: -#{$toolbar-btn-icon-size / 4} + margin-right: math.div(-$toolbar-btn-icon-size, 4) + .v-toolbar__title +ltr() @@ -48,10 +49,10 @@ &:last-child +ltr() - margin-right: -#{$toolbar-btn-icon-size / 4} + margin-right: math.div(-$toolbar-btn-icon-size, 4) +rtl() - margin-left: -#{$toolbar-btn-icon-size / 4} + margin-left: math.div(-$toolbar-btn-icon-size, 4) > .v-tabs height: inherit diff --git a/packages/vuetify/src/styles/settings/_variables.scss b/packages/vuetify/src/styles/settings/_variables.scss index f5cc26be86e..d339b1af348 100644 --- a/packages/vuetify/src/styles/settings/_variables.scss +++ b/packages/vuetify/src/styles/settings/_variables.scss @@ -1,3 +1,4 @@ +@use 'sass:math'; @import '../tools/_functions.sass'; $color-pack: true !default; @@ -11,7 +12,7 @@ $rounded: () !default; $rounded: map-deep-merge( ( 0: 0, - 'sm': $border-radius-root / 2, + 'sm': math.div($border-radius-root, 2), null: $border-radius-root, 'lg': $border-radius-root * 2, 'xl': $border-radius-root * 6, @@ -53,15 +54,15 @@ $grid-gutter: $spacer * 6 !default; $form-grid-gutter: $spacer * 2 !default; $grid-columns: 12 !default; -$container-padding-x: $grid-gutter / 2 !default; +$container-padding-x: math.div($grid-gutter, 2) !default; $grid-gutters: () !default; $grid-gutters: map-deep-merge( ( - 'xs': $grid-gutter / 12, - 'sm': $grid-gutter / 6, - 'md': $grid-gutter / 3, - 'lg': $grid-gutter * 2/3, + 'xs': math.div($grid-gutter, 12), + 'sm': math.div($grid-gutter, 6), + 'md': math.div($grid-gutter, 3), + 'lg': math.div($grid-gutter * 2, 3), 'xl': $grid-gutter ), $grid-gutters diff --git a/yarn.lock b/yarn.lock index ef08135fd31..749e84f1d65 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4270,6 +4270,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== +"@types/json-schema@^7.0.6": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" @@ -5303,6 +5308,16 @@ ajv@^6.12.3, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + algoliasearch-helper@^3.1.0, algoliasearch-helper@^3.3.4: version "3.4.3" resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.4.3.tgz#69c5f32e053e38fd34a14847ae53703c1873efa8" @@ -5436,14 +5451,6 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.0.3.tgz#2fb624fe0e84bccab00afee3d0006ed310f22f09" - integrity sha512-c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - anymatch@^3.0.3, anymatch@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" @@ -6070,7 +6077,7 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: +braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -6581,20 +6588,20 @@ check-types@^8.0.3: resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== -"chokidar@>=2.0.0 <4.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.0.2.tgz#0d1cd6d04eb2df0327446188cd13736a3367d681" - integrity sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA== +"chokidar@>=3.0.0 <4.0.0": + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== dependencies: - anymatch "^3.0.1" - braces "^3.0.2" - glob-parent "^5.0.0" - is-binary-path "^2.1.0" - is-glob "^4.0.1" - normalize-path "^3.0.0" - readdirp "^3.1.1" + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" optionalDependencies: - fsevents "^2.0.6" + fsevents "~2.3.1" chokidar@^2.0.2, chokidar@^2.0.4: version "2.1.5" @@ -9692,16 +9699,16 @@ fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" -fsevents@^2.0.6: - version "2.0.7" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a" - integrity sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ== - fsevents@^2.1.2, fsevents@~2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== +fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -10965,7 +10972,7 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-binary-path@^2.1.0, is-binary-path@~2.1.0: +is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== @@ -12199,12 +12206,7 @@ kleur@^3.0.2: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -klona@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/klona/-/klona-1.1.2.tgz#a79e292518a5a5412ec8d097964bff1571a64db0" - integrity sha512-xf88rTeHiXk+XE2Vhi6yj8Wm3gMZrygGdKjJqN8HkV+PwF/t50/LdAKHoHpPcxFAlmQszTZ1CugrK25S7qDRLA== - -klona@^2.0.3: +klona@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== @@ -15872,13 +15874,6 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.1.1.tgz#b158123ac343c8b0f31d65680269cc0fc1025db1" - integrity sha512-XXdSXZrQuvqoETj50+JAitxz1UPdt5dupjT6T5nVB+WvjMv2XKYj+s7hPeAVCXvmJrL36O4YYyWlIC3an2ePiQ== - dependencies: - picomatch "^2.0.4" - readdirp@~3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" @@ -15886,6 +15881,13 @@ readdirp@~3.4.0: dependencies: picomatch "^2.2.1" +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + realpath-native@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" @@ -16523,34 +16525,23 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sass-loader@^10.0.2: - version "10.0.2" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.0.2.tgz#c7b73010848b264792dd45372eea0b87cba4401e" - integrity sha512-wV6NDUVB8/iEYMalV/+139+vl2LaRFlZGEd5/xmdcdzQcgmis+npyco6NsDTVOlNA3y2NV9Gcz+vHyFMIT+ffg== - dependencies: - klona "^2.0.3" - loader-utils "^2.0.0" - neo-async "^2.6.2" - schema-utils "^2.7.1" - semver "^7.3.2" - -sass-loader@^9.0.2: - version "9.0.3" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-9.0.3.tgz#086adcf0bfdcc9d920413e2cdc3ba3321373d547" - integrity sha512-fOwsP98ac1VMme+V3+o0HaaMHp8Q/C9P+MUazLFVi3Jl7ORGHQXL1XeRZt3zLSGZQQPC8xE42Y2WptItvGjDQg== +sass-loader@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.2.0.tgz#3d64c1590f911013b3fa48a0b22a83d5e1494716" + integrity sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw== dependencies: - klona "^1.1.2" + klona "^2.0.4" loader-utils "^2.0.0" neo-async "^2.6.2" - schema-utils "^2.7.0" + schema-utils "^3.0.0" semver "^7.3.2" -sass@^1.26.11: - version "1.26.11" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.11.tgz#0f22cc4ab2ba27dad1d4ca30837beb350b709847" - integrity sha512-W1l/+vjGjIamsJ6OnTe0K37U2DBO/dgsv2Z4c89XQ8ZOO6l/VwkqwLSqoYzJeJs6CLuGSTRWc91GbQFL3lvrvw== +sass@^1.34.0: + version "1.34.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.34.0.tgz#e46d5932d8b0ecc4feb846d861f26a578f7f7172" + integrity sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw== dependencies: - chokidar ">=2.0.0 <4.0.0" + chokidar ">=3.0.0 <4.0.0" sax@0.5.x: version "0.5.8" @@ -16593,7 +16584,7 @@ schema-utils@^2.0.0: ajv "^6.1.0" ajv-keywords "^3.1.0" -schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0, schema-utils@^2.7.1: +schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== @@ -16602,6 +16593,15 @@ schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7 ajv "^6.12.4" ajv-keywords "^3.5.2" +schema-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" + integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== + dependencies: + "@types/json-schema" "^7.0.6" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"