diff --git a/.prettierignore b/.prettierignore index 666fee94ea..481a27e4f6 100644 --- a/.prettierignore +++ b/.prettierignore @@ -8,3 +8,5 @@ **/dist/ coverage/ **/tmp/ + +packages/charts/src/_reset.scss diff --git a/e2e-server/server/webpack.config.js b/e2e-server/server/webpack.config.js index 4c77b2b373..9735c06c1c 100644 --- a/e2e-server/server/webpack.config.js +++ b/e2e-server/server/webpack.config.js @@ -92,7 +92,15 @@ module.exports = { }, }, }, - 'sass-loader', + { + loader: 'sass-loader', + options: { + sassOptions: { + // prevent divider deprecation warning messages + quietDeps: true, + }, + }, + }, ], }, ], diff --git a/integration/jest_puppeteer.config.js b/integration/jest_puppeteer.config.js index cf0061293a..cb34175a6e 100644 --- a/integration/jest_puppeteer.config.js +++ b/integration/jest_puppeteer.config.js @@ -54,7 +54,8 @@ const customConfig = { : `yarn test:integration:server --port=${port}`, port, usedPortAction: 'error', - launchTimeout: 200000, + // TODO: drop back to 200 after eui pow changes are released + launchTimeout: 300 * 1000, ...(!isLegacyVRTServer && { waitOnScheme: { // using localhost as the server is running on the local machine diff --git a/integration/server/webpack.config.js b/integration/server/webpack.config.js index a0f892c870..e9e30a87d3 100644 --- a/integration/server/webpack.config.js +++ b/integration/server/webpack.config.js @@ -88,7 +88,15 @@ module.exports = { }, }, }, - 'sass-loader', + { + loader: 'sass-loader', + options: { + sassOptions: { + // prevent divider deprecation warning messages + quietDeps: true, + }, + }, + }, ], }, ], diff --git a/integration/tests/__image_snapshots__/legend-stories-test-ts-legend-stories-should-render-color-picker-on-mouse-click-1-snap.png b/integration/tests/__image_snapshots__/legend-stories-test-ts-legend-stories-should-render-color-picker-on-mouse-click-1-snap.png index 5f56bb0400..482db31ea6 100644 Binary files a/integration/tests/__image_snapshots__/legend-stories-test-ts-legend-stories-should-render-color-picker-on-mouse-click-1-snap.png and b/integration/tests/__image_snapshots__/legend-stories-test-ts-legend-stories-should-render-color-picker-on-mouse-click-1-snap.png differ diff --git a/package.json b/package.json index 21d124cf9f..e7bea49616 100644 --- a/package.json +++ b/package.json @@ -153,8 +153,7 @@ "mini-css-extract-plugin": "1.6.2", "moment": "^2.29.1", "moment-timezone": "^0.5.32", - "node-sass": "^7.0.0", - "node-sass-tilde-importer": "^1.0.2", + "sass": "^1.49.9", "numeral": "^2.0.6", "postcss": "^8.3.0", "postcss-cli": "^8.3.1", diff --git a/packages/charts/package.json b/packages/charts/package.json index 100426048a..1359d7d5ec 100644 --- a/packages/charts/package.json +++ b/packages/charts/package.json @@ -24,7 +24,7 @@ "build:css": "yarn build:sass && yarn autoprefix:css && yarn concat:sass", "build:clean": "echo 'Cleaning dist...' && rm -rf ./dist", "build:compile": "echo 'Compiling...' && tsc -p ./tsconfig.json && tsc -p ./tsconfig.nocomments.json", - "build:sass": "echo 'Building sass...' && node-sass src/theme_light.scss dist/theme_light.css --output-style compressed --importer=../../node_modules/node-sass-tilde-importer && node-sass src/theme_dark.scss dist/theme_dark.css --output-style compressed --importer=../../node_modules/node-sass-tilde-importer && node-sass src/theme_only_light.scss dist/theme_only_light.css --output-style compressed --importer=../../node_modules/node-sass-tilde-importer && node-sass src/theme_only_dark.scss dist/theme_only_dark.css --output-style compressed --importer=../../node_modules/node-sass-tilde-importer", + "build:sass": "echo 'Building sass...' && sass src:dist --style compressed --quiet --color", "build:check": "echo 'Type checking dist...' && tsc -p ./tsconfig.check.json", "build:watch": "echo 'Watching build...' && yarn build:clean && yarn build:css && tsc -p ./tsconfig.json -w", "concat:sass": "echo 'Concat SASS...' && node scripts/concat_sass.js", diff --git a/packages/charts/src/_eui_imports.scss b/packages/charts/src/_eui_imports.scss index cc59b70a89..07738f98da 100644 --- a/packages/charts/src/_eui_imports.scss +++ b/packages/charts/src/_eui_imports.scss @@ -1,2 +1,2 @@ -@import '~@elastic/eui/src/global_styling'; -@import '~@elastic/eui/src/themes/amsterdam/globals'; +@import '../../../node_modules/@elastic/eui/src/global_styling'; +@import '../../../node_modules/@elastic/eui/src/themes/amsterdam/globals'; diff --git a/packages/charts/src/_reset.scss b/packages/charts/src/_reset.scss new file mode 100644 index 0000000000..3d13af970d --- /dev/null +++ b/packages/charts/src/_reset.scss @@ -0,0 +1,86 @@ +// Used as base reset used with EuiProvider. TODO: remove need for this file export. +// https://github.com/elastic/eui/blob/master/src/global_styling/reset/reset.ts + +// Adapted from Eric Meyer's reset (http://meyerweb.com/eric/tools/css/reset/, v2.0 | 20110126) +*, *:before, *:after { + box-sizing: border-box; +} +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: none; + vertical-align: baseline; +} +h1, h2, h3, h4, h5, h6, p { + font-family: inherit; + font-weight: inherit; + font-size: inherit; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +a[href], +button, +[role='button'] { + cursor: pointer; +} +button { + background: none; + border: none; + padding: 0; + margin: 0; + color: inherit; + border-radius: 0; + font-size: inherit; +} +input { + margin: 0; + padding: 0; +} +input:disabled { + opacity: 1; /* required on iOS */ +} +ol, +ul { + list-style: none; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +hr { + margin: 0; +} +fieldset { + min-inline-size: auto; +} +/* Chrome has an issue around RTL languages in SVGs when letter-spacing is negative + * https://bugs.chromium.org/p/chromium/issues/detail?id=966480 + */ +svg text { + letter-spacing: normal !important; +} diff --git a/packages/charts/src/theme_dark.scss b/packages/charts/src/theme_dark.scss index b22b1a3dc0..c05eb9e777 100644 --- a/packages/charts/src/theme_dark.scss +++ b/packages/charts/src/theme_dark.scss @@ -1,6 +1,7 @@ -@import '~@elastic/eui/src/themes/amsterdam/colors_dark'; +@import '../../../node_modules/@elastic/eui/src/themes/amsterdam/colors_dark'; @import 'eui_imports'; +@import 'reset'; // Components @import 'components/index'; diff --git a/packages/charts/src/theme_light.scss b/packages/charts/src/theme_light.scss index 992fff6ef5..2d6958df9c 100644 --- a/packages/charts/src/theme_light.scss +++ b/packages/charts/src/theme_light.scss @@ -1,6 +1,7 @@ -@import '~@elastic/eui/src/themes/amsterdam/colors_light'; +@import '../../../node_modules/@elastic/eui/src/themes/amsterdam/colors_light'; @import 'eui_imports'; +@import 'reset'; // Components @import 'components/index'; diff --git a/packages/charts/src/theme_only_dark.scss b/packages/charts/src/theme_only_dark.scss index 90446b4135..af9c413820 100644 --- a/packages/charts/src/theme_only_dark.scss +++ b/packages/charts/src/theme_only_dark.scss @@ -1,5 +1,4 @@ -// TODO: remove this duplicated file -@import '~@elastic/eui/src/themes/amsterdam/colors_dark'; +@import '../../../node_modules/@elastic/eui/src/themes/amsterdam/colors_dark'; @import 'eui_imports'; diff --git a/packages/charts/src/theme_only_light.scss b/packages/charts/src/theme_only_light.scss index e6c223012e..fbbdbe83bc 100644 --- a/packages/charts/src/theme_only_light.scss +++ b/packages/charts/src/theme_only_light.scss @@ -1,5 +1,4 @@ -// TODO: remove this duplicated file -@import '~@elastic/eui/src/themes/amsterdam/colors_light'; +@import '../../../node_modules/@elastic/eui/src/themes/amsterdam/colors_light'; @import 'eui_imports'; diff --git a/playground/webpack.config.js b/playground/webpack.config.js index 5e263ab3a2..43fad1fed5 100644 --- a/playground/webpack.config.js +++ b/playground/webpack.config.js @@ -54,7 +54,15 @@ module.exports = { }, }, }, - 'sass-loader', + { + loader: 'sass-loader', + options: { + sassOptions: { + // prevent divider deprecation warning messages + quietDeps: true, + }, + }, + }, ], }, ], diff --git a/storybook/package.json b/storybook/package.json index 54780d613f..794527f219 100644 --- a/storybook/package.json +++ b/storybook/package.json @@ -35,7 +35,7 @@ "@storybook/source-loader": "^6.3.7", "@storybook/theming": "^6.3.7", "circular-dependency-plugin": "^5.2.2", - "sass": "~1.32.0", + "sass": "^1.49.9", "sass-loader": "^10.1.1", "storybook-addon-theme-toggle": "^0.0.1", "storybook-addon-background-toggle": "^0.0.1", diff --git a/storybook/stories/legend/9_color_picker.story.tsx b/storybook/stories/legend/9_color_picker.story.tsx index 6fcb6f4ca6..79dcca4bd1 100644 --- a/storybook/stories/legend/9_color_picker.story.tsx +++ b/storybook/stories/legend/9_color_picker.story.tsx @@ -6,7 +6,6 @@ * Side Public License, v 1. */ -import { EuiColorPicker, EuiWrappingPopover, EuiButton, EuiSpacer, EuiFlexItem, EuiButtonEmpty } from '@elastic/eui'; import { action } from '@storybook/addon-actions'; import { boolean } from '@storybook/addon-knobs'; import React, { useState, useMemo } from 'react'; @@ -26,6 +25,7 @@ import { import { BARCHART_1Y1G } from '@elastic/charts/src/utils/data_samples/test_dataset'; import { useBaseTheme } from '../../use_base_theme'; +import { getColorPicker } from '../utils/components/get_color_picker'; import { getLegendAction } from '../utils/components/get_legend_action'; const onChangeAction = action('onChange'); @@ -52,22 +52,13 @@ export const Example = () => { onChangeAction(c); }; - return ( - <> - - - - - handleChange(null)}> - Clear color - - - - Done - - - - ); + return getColorPicker()({ + anchor, + color, + onClose: handleClose, + onChange: handleChange, + seriesIdentifiers, + }); }, [setColors], ); diff --git a/storybook/stories/utils/components/get_color_picker.tsx b/storybook/stories/utils/components/get_color_picker.tsx index 5ca75a8dce..5ec0806c9c 100644 --- a/storybook/stories/utils/components/get_color_picker.tsx +++ b/storybook/stories/utils/components/get_color_picker.tsx @@ -8,19 +8,18 @@ import { EuiButton, - EuiButtonIcon, + EuiButtonEmpty, EuiColorPicker, - EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiWrappingPopover, PopoverAnchorPosition, } from '@elastic/eui'; -import React from 'react'; +import React, { FC } from 'react'; -import { LegendColorPicker } from '@elastic/charts'; +import { LegendColorPickerProps } from '@elastic/charts'; -export const getColorPicker = (anchorPosition: PopoverAnchorPosition = 'leftCenter'): LegendColorPicker => ({ +export const getColorPicker = (anchorPosition: PopoverAnchorPosition = 'leftCenter'): FC => ({ anchor, color, onClose, @@ -29,30 +28,22 @@ export const getColorPicker = (anchorPosition: PopoverAnchorPosition = 'leftCent - - - - Done - - - - - - - - - { - onChange(null); - anchor.focus(); - onClose(); - }} - /> - - + + { + onChange(null); + anchor.focus(); + onClose(); + }} + title="Clear color selection" + > + Clear color + + + + Done + ); diff --git a/storybook/style.scss b/storybook/style.scss index 87700a85c0..52cbb042d3 100644 --- a/storybook/style.scss +++ b/storybook/style.scss @@ -23,6 +23,7 @@ html { font-size: 14px !important; &.light-theme { + @import '~@elastic/eui/dist/eui_theme_light'; @import '~@elastic/charts/src/theme_light'; body, diff --git a/storybook/webpack.config.js b/storybook/webpack.config.js index bbe9236536..319db0dfc1 100644 --- a/storybook/webpack.config.js +++ b/storybook/webpack.config.js @@ -26,7 +26,15 @@ const scssLoaders = [ }, }, }, - 'sass-loader', + { + loader: 'sass-loader', + options: { + sassOptions: { + // prevent divider deprecation warning messages + quietDeps: true, + }, + }, + }, ]; const MAX_CYCLES = 0; diff --git a/wiki/consuming.md b/wiki/consuming.md index d7c4746af5..d2c460ea3c 100644 --- a/wiki/consuming.md +++ b/wiki/consuming.md @@ -22,7 +22,7 @@ yarn add moment-timezone ### Importing CSS -You need to import a CSS style, related to the theme you are using. You can use Webpack or another bundler to import the compiled CSS style with the `style`,`css`, and `postcss` loaders. +You __*MUST*__ import CSS styles related to the theme you are using. You may use Webpack or another bundler to import the compiled CSS style with the `style`, `css` and `postcss` loaders. ```js import '@elastic/charts/dist/theme_light.css'; @@ -30,7 +30,7 @@ import '@elastic/charts/dist/theme_light.css'; import '@elastic/charts/dist/theme_dark.css'; ``` -If using Elastic Charts in a project that already uses [EUI](https://github.com/elastic/eui) or some other styling library, you should import the **theme only** files. +If using Elastic Charts in a project that already uses [`eui`](https://github.com/elastic/eui) or some other styling library, you should import the **theme only** files, which excludes reset styles. ```js import '@elastic/charts/dist/theme_only_light.css'; @@ -38,12 +38,17 @@ import '@elastic/charts/dist/theme_only_light.css'; import '@elastic/charts/dist/theme_only_dark.css'; ``` +> Note: `@elastic/charts` does not provide custom reset styles. We use and test using reset styles provided by [`eui`](https://github.com/elastic/eui) via the [`EuiProvider`](https://eui.elastic.co/#/utilities/provider). + If using Elastic Charts in the same project that is already compiling EUI's Sass (like Kibana), you can import the SASS files directly instead of using the CSS. Just be sure to import Elastic Charts Sass files **after** EUI. ```scss -@import '~@elastic/eui/src/themes/amsterdam/colors_light'; -@import '~@elastic/eui/src/themes/amsterdam/globals'; -@import '~@elastic/charts/dist/theme'; +@import './node_modules/@elastic/eui/src/themes/amsterdam/colors_light'; +@import './node_modules/@elastic/eui/src/themes/amsterdam/globals'; + +@import './node_modules/@elastic/charts/theme_light'; +// or +@import './node_modules/@elastic/charts/theme_dark'; ``` ## Polyfills diff --git a/yarn.lock b/yarn.lock index 9c1de0ba6a..716fdb677a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6820,11 +6820,6 @@ ajv@^7.0.2: require-from-string "^2.0.2" uri-js "^4.2.2" -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= - ansi-align@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" @@ -6978,7 +6973,7 @@ aproba@^1.0.3, aproba@^1.1.1, aproba@^1.1.2: resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -"aproba@^1.0.3 || ^2.0.0", "aproba@^1.1.2 || 2", aproba@^2.0.0: +"aproba@^1.1.2 || 2", aproba@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== @@ -6988,14 +6983,6 @@ archy@~1.0.0: resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= -are-we-there-yet@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" - integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - are-we-there-yet@~1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" @@ -7247,11 +7234,6 @@ async-each@^1.0.1: resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= - async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" @@ -8256,7 +8238,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -8717,11 +8699,6 @@ color-string@^1.5.2: color-name "^1.0.0" simple-swizzle "^0.2.2" -color-support@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - color@3.0.x: version "3.0.0" resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" @@ -11554,11 +11531,6 @@ find-npm-prefix@^1.0.2: resolved "https://registry.yarnpkg.com/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz#8d8ce2c78b3b4b9e66c8acc6a37c231eb841cfdf" integrity sha512-KEftzJ+H90x6pcKtdXZEPsQse8/y/UnvzRKrOSQFprnrGaFuJ62fVkP34Iu2IYuMvyauCyoLTNkJZgrrGA2wkA== -find-parent-dir@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.1.tgz#c5c385b96858c3351f95d446cab866cbf9f11125" - integrity sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A== - find-pkg@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/find-pkg/-/find-pkg-0.1.2.tgz#1bdc22c06e36365532e2a248046854b9788da557" @@ -11962,21 +11934,6 @@ fuse.js@^3.6.1: resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.6.1.tgz#7de85fdd6e1b3377c23ce010892656385fd9b10c" integrity sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw== -gauge@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" - integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" - has-unicode "^2.0.1" - object-assign "^4.1.1" - signal-exit "^3.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.2" - gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -11991,13 +11948,6 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" -gaze@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" - integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== - dependencies: - globule "^1.0.0" - genfun@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" @@ -12280,7 +12230,7 @@ glob@7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: +glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -12292,18 +12242,6 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, gl once "^1.3.0" path-is-absolute "^1.0.0" -glob@~7.1.1: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - global-dirs@^0.1.0, global-dirs@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -12444,15 +12382,6 @@ globby@^9.2.0: pify "^4.0.1" slash "^2.0.0" -globule@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" - integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== - dependencies: - glob "~7.1.1" - lodash "~4.17.10" - minimatch "~3.0.2" - glur@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/glur/-/glur-1.1.2.tgz#f20ea36db103bfc292343921f1f91e83c3467689" @@ -13177,6 +13106,11 @@ immer@8.0.1: resolved "https://registry.yarnpkg.com/immer/-/immer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656" integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA== +immutable@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" + integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== + import-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" @@ -14721,11 +14655,6 @@ joi@^17.3.0: "@sideway/formula" "^3.0.0" "@sideway/pinpoint" "^2.0.0" -js-base64@^2.1.8: - version "2.6.4" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" - integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== - js-base64@^2.4.3: version "2.5.1" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" @@ -15641,7 +15570,7 @@ lodash.zip@^4.2.0: resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020" integrity sha1-7GZi5IlkCO1KtsVCo5kLcswIACA= -lodash@4.x, lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0, lodash@~4.17.10, lodash@~4.17.15: +lodash@4.x, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -16145,24 +16074,6 @@ meow@^8.0.0: type-fest "^0.18.0" yargs-parser "^20.2.3" -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" - integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== - dependencies: - "@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" - merge-deep@^3.0.2, merge-deep@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.3.tgz#1a2b2ae926da8b2ae93a0ac15d90cd1922766003" @@ -16364,7 +16275,7 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: +minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -16646,7 +16557,7 @@ mute-stream@0.0.8, mute-stream@~0.0.4: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nan@^2.12.1, nan@^2.13.2, nan@^2.14.0: +nan@^2.12.1, nan@^2.14.0: version "2.14.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== @@ -16878,34 +16789,6 @@ node-releases@^1.1.61, node-releases@^1.1.71: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== -node-sass-tilde-importer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/node-sass-tilde-importer/-/node-sass-tilde-importer-1.0.2.tgz#1a15105c153f648323b4347693fdb0f331bad1ce" - integrity sha512-Swcmr38Y7uB78itQeBm3mThjxBy9/Ah/ykPIaURY/L6Nec9AyRoL/jJ7ECfMR+oZeCTVQNxVMu/aHU+TLRVbdg== - dependencies: - find-parent-dir "^0.3.0" - -node-sass@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-7.0.0.tgz#33ee7c2df299d51f682f13d79f3d2a562225788e" - integrity sha512-6yUnsD3L8fVbgMX6nKQqZkjRcG7a/PpmF0pEyeWf+BgbTj2ToJlCYrnUifL2KbjV5gIY22I3oppahBWA3B+jUg== - dependencies: - async-foreach "^0.1.3" - chalk "^4.1.2" - cross-spawn "^7.0.3" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - lodash "^4.17.15" - meow "^9.0.0" - nan "^2.13.2" - node-gyp "^7.1.0" - npmlog "^5.0.0" - request "^2.88.0" - sass-graph "2.2.5" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - nopt@^4.0.1, nopt@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" @@ -17367,16 +17250,6 @@ npmlog@^4.1.2, npmlog@~4.1.2: gauge "~2.7.3" set-blocking "~2.0.0" -npmlog@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" - integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== - dependencies: - are-we-there-yet "^2.0.0" - console-control-strings "^1.1.0" - gauge "^3.0.0" - set-blocking "^2.0.0" - nth-check@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" @@ -20437,16 +20310,6 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sass-graph@2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" - integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== - dependencies: - glob "^7.0.0" - lodash "^4.0.0" - scss-tokenizer "^0.2.3" - yargs "^13.3.2" - sass-graph@^3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-3.0.5.tgz#0242acf3af9ceaee7df2abfce58ee7e854c2a795" @@ -20468,12 +20331,14 @@ sass-loader@^10.1.1: schema-utils "^3.0.0" semver "^7.3.2" -sass@~1.32.0: - version "1.32.13" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.13.tgz#8d29c849e625a415bce71609c7cf95e15f74ed00" - integrity sha512-dEgI9nShraqP7cXQH+lEXVf73WOPCse0QlFzSD8k+1TcOxCMwVXfQlr0jtoluZysQOyJGnfr21dLvYKDJq8HkA== +sass@^1.49.9: + version "1.49.9" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" + integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== dependencies: chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" saxes@^5.0.0: version "5.0.1" @@ -20543,14 +20408,6 @@ schema-utils@^3.1.0: ajv "^6.12.5" ajv-keywords "^3.5.2" -scss-tokenizer@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" - integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= - dependencies: - js-base64 "^2.1.8" - source-map "^0.4.2" - scss-tokenizer@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz#ef7edc3bc438b25cd6ffacf1aa5b9ad5813bf260" @@ -21090,6 +20947,11 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +"source-map-js@>=0.6.2 <2.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + source-map-js@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" @@ -21135,13 +20997,6 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== -source-map@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - integrity sha1-66T12pwNyZneaAMti092FzZSA2s= - dependencies: - amdefine ">=0.0.4" - source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -21374,13 +21229,6 @@ static-extend@^0.1.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -stdout-stream@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" - integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== - dependencies: - readable-stream "^2.0.1" - stealthy-require@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" @@ -21484,15 +21332,6 @@ string-width@^1.0.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -21668,13 +21507,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.0.tgz#1dc49b980c3a4100366617adac59327eefdefcb0" @@ -22262,13 +22094,6 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== -"true-case-path@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" - integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== - dependencies: - glob "^7.1.2" - "true-myth@^4.0.0": version "4.1.0" resolved "https://registry.yarnpkg.com/true-myth/-/true-myth-4.1.0.tgz#a73e1f945c5382758ba9806c15062d2ebbf35427" @@ -23468,13 +23293,6 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -wide-align@^1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - widest-line@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc"