From b7d3cc0c58e86bef4072dd3651d84983ee579d05 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Mon, 28 Dec 2020 13:53:19 -0300 Subject: [PATCH 01/15] Upgrade build configuration --- packages/mp3-encoder/package.json | 41 ++- packages/mp3-encoder/rollup.config.js | 13 +- yarn.lock | 429 ++++++++++++++++++++++---- 3 files changed, 393 insertions(+), 90 deletions(-) diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index 5cdccb3c2d..14fdc58b14 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -43,27 +43,26 @@ "lamejs": "https://github.com/zhuker/lamejs" }, "devDependencies": { - "@babel/core": "^7.6.4", - "@babel/plugin-transform-runtime": "^7.7.6", - "@babel/preset-env": "^7.7.6", - "@babel/preset-typescript": "^7.9.0", + "@babel/core": "^7.12.10", + "@babel/plugin-transform-runtime": "^7.12.10", + "@babel/preset-env": "^7.12.11", + "@babel/preset-typescript": "^7.12.7", "@rocket.chat/eslint-config": "^0.4.0", - "@rollup/plugin-typescript": "^6.0.0", - "@types/jest": "^26.0.15", - "@typescript-eslint/eslint-plugin": "^4.5.0", - "@typescript-eslint/parser": "^4.5.0", - "documentation": "^13.0.2", - "eslint": "^7.13.0", - "eslint-config-prettier": "^6.15.0", - "eslint-plugin-import": "^2.19.1", - "eslint-plugin-prettier": "^3.1.4", - "jest": "^26.6.1", - "lint-staged": "^10.0.8", - "prettier": "^2.1.2", - "rollup": "^2.1.0", - "rollup-plugin-commonjs": "^10.1.0", - "rollup-plugin-node-resolve": "^5.2.0", - "rollup-plugin-peer-deps-external": "^2.2.2", - "typescript": "^4.0.3" + "@rollup/plugin-commonjs": "^17.0.0", + "@rollup/plugin-node-resolve": "^11.0.1", + "@rollup/plugin-typescript": "^8.1.0", + "@types/jest": "^26.0.19", + "@typescript-eslint/eslint-plugin": "^4.11.0", + "@typescript-eslint/parser": "^4.11.0", + "documentation": "^13.1.0", + "eslint": "^7.16.0", + "eslint-config-prettier": "^7.1.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.3.0", + "jest": "^26.6.3", + "lint-staged": "^10.5.3", + "prettier": "^2.2.1", + "rollup": "^2.35.1", + "typescript": "^4.1.3" } } diff --git a/packages/mp3-encoder/rollup.config.js b/packages/mp3-encoder/rollup.config.js index ab35c5d975..a7c6000f0c 100644 --- a/packages/mp3-encoder/rollup.config.js +++ b/packages/mp3-encoder/rollup.config.js @@ -1,8 +1,7 @@ import path from 'path'; -import commonjs from 'rollup-plugin-commonjs'; -import external from 'rollup-plugin-peer-deps-external'; -import resolve from 'rollup-plugin-node-resolve'; +import commonjs from '@rollup/plugin-commonjs'; +import resolve from '@rollup/plugin-node-resolve'; import typescript from '@rollup/plugin-typescript'; import pkg from './package.json'; @@ -18,7 +17,6 @@ export default [ strict: false, }, plugins: [ - external(), typescript({ declaration: true, declarationDir: 'dist/' }), resolve(), commonjs(), @@ -31,11 +29,6 @@ export default [ format: 'esm', sourcemap: true, }, - plugins: [ - external(), - typescript(), - resolve(), - commonjs(), - ], + plugins: [typescript(), resolve(), commonjs()], }, ]; diff --git a/yarn.lock b/yarn.lock index 5a8df71f84..9595da9c12 100644 --- a/yarn.lock +++ b/yarn.lock @@ -87,7 +87,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.11.5", "@babel/core@^7.12.1", "@babel/core@^7.12.3", "@babel/core@^7.6.4", "@babel/core@^7.7.5": +"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.11.5", "@babel/core@^7.12.1", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.7.5": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== @@ -343,11 +343,21 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + "@babel/helper-validator-option@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== +"@babel/helper-validator-option@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz#d66cb8b7a3e7fe4c6962b32020a131ecf0847f4f" + integrity sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw== + "@babel/helper-wrap-function@^7.10.4": version "7.12.3" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9" @@ -779,6 +789,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-block-scoping@^7.12.11": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz#d93a567a152c22aea3b1929bb118d1d0a175cdca" + integrity sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-classes@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" @@ -996,7 +1013,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-runtime@^7.11.0", "@babel/plugin-transform-runtime@^7.11.5", "@babel/plugin-transform-runtime@^7.7.6": +"@babel/plugin-transform-runtime@^7.11.0", "@babel/plugin-transform-runtime@^7.11.5", "@babel/plugin-transform-runtime@^7.12.10": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz#af0fded4e846c4b37078e8e5d06deac6cd848562" integrity sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA== @@ -1065,7 +1082,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.11.5", "@babel/preset-env@^7.7.6": +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.11.5": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.10.tgz#ca981b95f641f2610531bd71948656306905e6ab" integrity sha512-Gz9hnBT/tGeTE2DBNDkD7BiWRELZt+8lSysHuDwmYXUIvtwZl0zI+D6mZgXZX0u8YBlLS4tmai9ONNY9tjRgRA== @@ -1209,6 +1226,78 @@ core-js-compat "^3.6.2" semver "^5.5.0" +"@babel/preset-env@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.11.tgz#55d5f7981487365c93dbbc84507b1c7215e857f9" + integrity sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw== + dependencies: + "@babel/compat-data" "^7.12.7" + "@babel/helper-compilation-targets" "^7.12.5" + "@babel/helper-module-imports" "^7.12.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-option" "^7.12.11" + "@babel/plugin-proposal-async-generator-functions" "^7.12.1" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.1" + "@babel/plugin-proposal-json-strings" "^7.12.1" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.7" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.7" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.12.1" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-async-to-generator" "^7.12.1" + "@babel/plugin-transform-block-scoped-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.11" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-computed-properties" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-dotall-regex" "^7.12.1" + "@babel/plugin-transform-duplicate-keys" "^7.12.1" + "@babel/plugin-transform-exponentiation-operator" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-function-name" "^7.12.1" + "@babel/plugin-transform-literals" "^7.12.1" + "@babel/plugin-transform-member-expression-literals" "^7.12.1" + "@babel/plugin-transform-modules-amd" "^7.12.1" + "@babel/plugin-transform-modules-commonjs" "^7.12.1" + "@babel/plugin-transform-modules-systemjs" "^7.12.1" + "@babel/plugin-transform-modules-umd" "^7.12.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" + "@babel/plugin-transform-new-target" "^7.12.1" + "@babel/plugin-transform-object-super" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-property-literals" "^7.12.1" + "@babel/plugin-transform-regenerator" "^7.12.1" + "@babel/plugin-transform-reserved-words" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.7" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.10" + "@babel/plugin-transform-unicode-escapes" "^7.12.1" + "@babel/plugin-transform-unicode-regex" "^7.12.1" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.12.11" + core-js-compat "^3.8.0" + semver "^5.5.0" + "@babel/preset-flow@^7.12.1", "@babel/preset-flow@^7.9.0": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.12.1.tgz#1a81d376c5a9549e75352a3888f8c273455ae940" @@ -1244,7 +1333,7 @@ resolved "https://registry.yarnpkg.com/@babel/preset-stage-0/-/preset-stage-0-7.8.3.tgz#b6a0eca1a3b72e07f9caf58f998e97568028f6f5" integrity sha512-+l6FlG1j73t4wh78W41StbcCz0/9a1/y+vxfnjtHl060kSmcgMfGzK9MEkLvrCOXfhp9RCX+d88sm6rOqxEIEQ== -"@babel/preset-typescript@^7.12.1", "@babel/preset-typescript@^7.9.0": +"@babel/preset-typescript@^7.12.1", "@babel/preset-typescript@^7.12.7": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.7.tgz#fc7df8199d6aae747896f1e6c61fc872056632a3" integrity sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw== @@ -1352,6 +1441,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.12.11": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" + integrity sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@base2/pretty-print-object@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz#860ce718b0b73f4009e153541faff2cb6b85d047" @@ -1500,6 +1598,22 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@eslint/eslintrc@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76" + integrity sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.19" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@evocateur/libnpmaccess@^3.1.2": version "3.1.2" resolved "https://registry.yarnpkg.com/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845" @@ -2964,6 +3078,19 @@ magic-string "^0.25.7" resolve "^1.17.0" +"@rollup/plugin-commonjs@^17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-17.0.0.tgz#2ae2228354cf0fbba6cf9f06f30b2c66a974324c" + integrity sha512-/omBIJG1nHQc+bgkYDuLpb/V08QyutP9amOrJRUSlYJZP+b/68gM//D8sxJe3Yry2QnYIr3QjR3x4AlxJEN3GA== + dependencies: + "@rollup/pluginutils" "^3.1.0" + commondir "^1.0.1" + estree-walker "^2.0.1" + glob "^7.1.6" + is-reference "^1.2.1" + magic-string "^0.25.7" + resolve "^1.17.0" + "@rollup/plugin-json@^4.1.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" @@ -2983,6 +3110,18 @@ is-module "^1.0.0" resolve "^1.17.0" +"@rollup/plugin-node-resolve@^11.0.1": + version "11.0.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.0.1.tgz#d3765eec4bccf960801439a999382aed2dca959b" + integrity sha512-ltlsj/4Bhwwhb+Nb5xCz/6vieuEj2/BAkkqVIKmZwC7pIdl8srmgmglE4S0jFlZa32K4qvdQ6NHdmpRKD/LwoQ== + dependencies: + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.19.0" + "@rollup/plugin-node-resolve@^9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" @@ -3003,6 +3142,14 @@ "@rollup/pluginutils" "^3.1.0" resolve "^1.17.0" +"@rollup/plugin-typescript@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-8.1.0.tgz#b7bbbbb4fd1324834f37844efd48b3844d912742" + integrity sha512-pyQlcGQYRsONUDwXK3ckGPHjPzmjlq4sinzr7emW8ZMb2oZjg9WLcdcP8wyHSvBjvHrLzMayyPy079RROqb4vw== + dependencies: + "@rollup/pluginutils" "^3.1.0" + resolve "^1.17.0" + "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" @@ -3871,6 +4018,14 @@ jest-diff "^26.0.0" pretty-format "^26.0.0" +"@types/jest@^26.0.19": + version "26.0.19" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.19.tgz#e6fa1e3def5842ec85045bd5210e9bb8289de790" + integrity sha512-jqHoirTG61fee6v6rwbnEuKhpSKih0tuhqeFbCmMmErhtu3BYlOZaXWjffgOstMM4S/3iQD31lI5bGLTrs97yQ== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + "@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": version "7.0.6" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" @@ -4030,13 +4185,6 @@ resolved "https://registry.yarnpkg.com/@types/resize-observer-browser/-/resize-observer-browser-0.1.4.tgz#84879a4d6d4aaefde53d4b29c91c0c4cbcffc26f" integrity sha512-rPvqs+1hL/5hbES/0HTdUu4lvNmneiwKwccbWe7HGLWbnsLdqKnQHyWLg4Pj0AMO7PLHCwBM1Cs8orChdkDONg== -"@types/resolve@0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" - integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== - dependencies: - "@types/node" "*" - "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" @@ -4124,6 +4272,19 @@ resolved "https://registry.yarnpkg.com/@types/yoga-layout/-/yoga-layout-1.9.1.tgz#6c00e4a151a9a529397d580e2cf6f3947a42a928" integrity sha512-OpfgQXWLZn5Dl7mOd8dBNcV8NywXbYYoHjUpa64vJ/RQABaxMzJ5bVicKLGIvIiMnQPtPgKNgXb5jkv9fkOQtw== +"@typescript-eslint/eslint-plugin@^4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.11.0.tgz#bc6c1e4175c0cf42083da4314f7931ad12f731cc" + integrity sha512-x4arJMXBxyD6aBXLm3W7mSDZRiABzy+2PCLJbL7OPqlp53VXhaA1HKK7R2rTee5OlRhnUgnp8lZyVIqjnyPT6g== + dependencies: + "@typescript-eslint/experimental-utils" "4.11.0" + "@typescript-eslint/scope-manager" "4.11.0" + debug "^4.1.1" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + "@typescript-eslint/eslint-plugin@^4.5.0": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.6.1.tgz#99d77eb7a016fd5a5e749d2c44a7e4c317eb7da3" @@ -4137,6 +4298,18 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/experimental-utils@4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.11.0.tgz#d1a47cc6cfe1c080ce4ead79267574b9881a1565" + integrity sha512-1VC6mSbYwl1FguKt8OgPs8xxaJgtqFpjY/UzUYDBKq4pfQ5lBvN2WVeqYkzf7evW42axUHYl2jm9tNyFsb8oLg== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.11.0" + "@typescript-eslint/types" "4.11.0" + "@typescript-eslint/typescript-estree" "4.11.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + "@typescript-eslint/experimental-utils@4.6.1": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.6.1.tgz#a9c691dfd530a9570274fe68907c24c07a06c4aa" @@ -4149,6 +4322,16 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" +"@typescript-eslint/parser@^4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.11.0.tgz#1dd3d7e42708c10ce9f3aa64c63c0ab99868b4e2" + integrity sha512-NBTtKCC7ZtuxEV5CrHUO4Pg2s784pvavc3cnz6V+oJvVbK4tH9135f/RBP6eUA2KHiFKAollSrgSctQGmHbqJQ== + dependencies: + "@typescript-eslint/scope-manager" "4.11.0" + "@typescript-eslint/types" "4.11.0" + "@typescript-eslint/typescript-estree" "4.11.0" + debug "^4.1.1" + "@typescript-eslint/parser@^4.5.0": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.6.1.tgz#b801bff67b536ecc4a840ac9289ba2be57e02428" @@ -4159,6 +4342,14 @@ "@typescript-eslint/typescript-estree" "4.6.1" debug "^4.1.1" +"@typescript-eslint/scope-manager@4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.11.0.tgz#2d906537db8a3a946721699e4fc0833810490254" + integrity sha512-6VSTm/4vC2dHM3ySDW9Kl48en+yLNfVV6LECU8jodBHQOhO8adAVizaZ1fV0QGZnLQjQ/y0aBj5/KXPp2hBTjA== + dependencies: + "@typescript-eslint/types" "4.11.0" + "@typescript-eslint/visitor-keys" "4.11.0" + "@typescript-eslint/scope-manager@4.6.1": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.6.1.tgz#21872b91cbf7adfc7083f17b8041149148baf992" @@ -4167,11 +4358,30 @@ "@typescript-eslint/types" "4.6.1" "@typescript-eslint/visitor-keys" "4.6.1" +"@typescript-eslint/types@4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.11.0.tgz#86cf95e7eac4ccfd183f9fcf1480cece7caf4ca4" + integrity sha512-XXOdt/NPX++txOQHM1kUMgJUS43KSlXGdR/aDyEwuAEETwuPt02Nc7v+s57PzuSqMbNLclblQdv3YcWOdXhQ7g== + "@typescript-eslint/types@4.6.1": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.6.1.tgz#d3ad7478f53f22e7339dc006ab61aac131231552" integrity sha512-k2ZCHhJ96YZyPIsykickez+OMHkz06xppVLfJ+DY90i532/Cx2Z+HiRMH8YZQo7a4zVd/TwNBuRCdXlGK4yo8w== +"@typescript-eslint/typescript-estree@4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.11.0.tgz#1144d145841e5987d61c4c845442a24b24165a4b" + integrity sha512-eA6sT5dE5RHAFhtcC+b5WDlUIGwnO9b0yrfGa1mIOIAjqwSQCpXbLiFmKTdRbQN/xH2EZkGqqLDrKUuYOZ0+Hg== + dependencies: + "@typescript-eslint/types" "4.11.0" + "@typescript-eslint/visitor-keys" "4.11.0" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + "@typescript-eslint/typescript-estree@4.6.1": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.6.1.tgz#6025cce724329413f57e4959b2d676fceeca246f" @@ -4186,6 +4396,14 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/visitor-keys@4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.11.0.tgz#906669a50f06aa744378bb84c7d5c4fdbc5b7d51" + integrity sha512-tRYKyY0i7cMk6v4UIOCjl1LhuepC/pc6adQqJk4Is3YcC6k46HvsV9Wl7vQoLbm9qADgeujiT7KdLrylvFIQ+A== + dependencies: + "@typescript-eslint/types" "4.11.0" + eslint-visitor-keys "^2.0.0" + "@typescript-eslint/visitor-keys@4.6.1": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.6.1.tgz#6b125883402d8939df7b54528d879e88f7ba3614" @@ -4404,7 +4622,7 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" -acorn-jsx@^5.1.0, acorn-jsx@^5.2.0: +acorn-jsx@^5.1.0, acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== @@ -7587,7 +7805,7 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -documentation@^13.0.2: +documentation@^13.0.2, documentation@^13.1.0: version "13.1.0" resolved "https://registry.yarnpkg.com/documentation/-/documentation-13.1.0.tgz#5d05c8625927c7302ba18c67f4fe88987af3e58a" integrity sha512-LZbbukLL2Wfnu6HpKrKRnARf9grsvCyHT4ijJncvYaiCDP6+qs0lnFAEpJbfY4yBrSBaCPDklwFkcrGrqMaLNQ== @@ -8159,6 +8377,11 @@ eslint-config-prettier@^6.15.0: dependencies: get-stdin "^6.0.0" +eslint-config-prettier@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz#5402eb559aa94b894effd6bddfa0b1ca051c858f" + integrity sha512-9sm5/PxaFG7qNJvJzTROMM1Bk1ozXVTKI0buKOyb0Bsr1hrwi0H/TzxF/COtf1uxikIK8SwhX7K6zg78jAzbeA== + eslint-import-resolver-node@^0.3.3, eslint-import-resolver-node@^0.3.4: version "0.3.4" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" @@ -8205,7 +8428,7 @@ eslint-plugin-import@^2.17.2: resolve "^1.17.0" tsconfig-paths "^3.9.0" -eslint-plugin-import@^2.19.1, eslint-plugin-import@^2.22.0: +eslint-plugin-import@^2.19.1, eslint-plugin-import@^2.22.0, eslint-plugin-import@^2.22.1: version "2.22.1" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== @@ -8248,6 +8471,13 @@ eslint-plugin-prettier@^3.1.4: dependencies: prettier-linter-helpers "^1.0.0" +eslint-plugin-prettier@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.0.tgz#61e295349a65688ffac0b7808ef0a8244bdd8d40" + integrity sha512-tMTwO8iUWlSRZIwS9k7/E4vrTsfvsrcM5p1eftyuqWH25nKsz/o6/54I7jwQ/3zobISyC7wMy9ZsFwgTxOcOpQ== + dependencies: + prettier-linter-helpers "^1.0.0" + eslint-plugin-react-hooks@^4.0.4, eslint-plugin-react-hooks@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" @@ -8354,6 +8584,49 @@ eslint@^7.13.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +eslint@^7.16.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.16.0.tgz#a761605bf9a7b32d24bb7cde59aeb0fd76f06092" + integrity sha512-iVWPS785RuDA4dWuhhgXTNrGxHHK3a8HLSMBgbbU59ruJDubUraXN8N5rn7kb8tG6sjg74eE0RA3YWT51eusEw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@eslint/eslintrc" "^0.2.2" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.2.0" + esutils "^2.0.2" + file-entry-cache "^6.0.0" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.19" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.4" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + espree@^7.2.0, espree@^7.3.0: version "7.3.0" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" @@ -8363,6 +8636,15 @@ espree@^7.2.0, espree@^7.3.0: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.3.0" +espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -8392,11 +8674,6 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== -estree-walker@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - estree-walker@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" @@ -8720,6 +8997,13 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" +file-entry-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" + integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== + dependencies: + flat-cache "^3.0.4" + file-loader@^6.0.0: version "6.2.0" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" @@ -8858,11 +9142,24 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + flatted@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== +flatted@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" + integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== + flatten@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" @@ -10652,7 +10949,7 @@ is-potential-custom-element-name@^1.0.0: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= -is-reference@^1.1.2, is-reference@^1.2.1: +is-reference@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== @@ -11277,7 +11574,7 @@ jest-worker@^26.2.1, jest-worker@^26.6.1, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" -jest@^26.0.1, jest@^26.1.0, jest@^26.4.0, jest@^26.6.1: +jest@^26.0.1, jest@^26.1.0, jest@^26.4.0, jest@^26.6.1, jest@^26.6.3: version "26.6.3" resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== @@ -11648,6 +11945,27 @@ lint-staged@^10.0.8, lint-staged@^10.2.11: string-argv "0.3.1" stringify-object "^3.3.0" +lint-staged@^10.5.3: + version "10.5.3" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" + integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + listr2@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.2.tgz#d20feb75015e506992b55af40722ba1af168b8f1" @@ -11957,7 +12275,7 @@ macos-release@^2.2.0: resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac" integrity sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg== -magic-string@^0.25.1, magic-string@^0.25.2, magic-string@^0.25.7: +magic-string@^0.25.1, magic-string@^0.25.7: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== @@ -14343,6 +14661,11 @@ prettier@2.1.2, prettier@^2.1.2: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== +prettier@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== + prettier@~2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" @@ -15650,7 +15973,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.3, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.9.0: +resolve@^1.1.3, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.9.0: version "1.18.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== @@ -15658,7 +15981,7 @@ resolve@^1.1.3, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.13 is-core-module "^2.0.0" path-parse "^1.0.6" -resolve@^1.1.6, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@^1.1.6, resolve@^1.12.0, resolve@^1.19.0, resolve@^1.3.2, resolve@^1.8.1: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== @@ -15743,33 +16066,6 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rollup-plugin-commonjs@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz#417af3b54503878e084d127adf4d1caf8beb86fb" - integrity sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q== - dependencies: - estree-walker "^0.6.1" - is-reference "^1.1.2" - magic-string "^0.25.2" - resolve "^1.11.0" - rollup-pluginutils "^2.8.1" - -rollup-plugin-node-resolve@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523" - integrity sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw== - dependencies: - "@types/resolve" "0.0.8" - builtin-modules "^3.1.0" - is-module "^1.0.0" - resolve "^1.11.1" - rollup-pluginutils "^2.8.1" - -rollup-plugin-peer-deps-external@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/rollup-plugin-peer-deps-external/-/rollup-plugin-peer-deps-external-2.2.4.tgz#8a420bbfd6dccc30aeb68c9bf57011f2f109570d" - integrity sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g== - rollup-plugin-terser@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" @@ -15780,14 +16076,7 @@ rollup-plugin-terser@^7.0.2: serialize-javascript "^4.0.0" terser "^5.0.0" -rollup-pluginutils@^2.8.1: - version "2.8.2" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" - integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== - dependencies: - estree-walker "^0.6.1" - -rollup@^2.1.0, rollup@^2.21.0: +rollup@^2.21.0: version "2.33.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.33.1.tgz#802795164164ee63cd47769d8879c33ec8ae0c40" integrity sha512-uY4O/IoL9oNW8MMcbA5hcOaz6tZTMIh7qJHx/tzIJm+n1wLoY38BLn6fuy7DhR57oNFLMbDQtDeJoFURt5933w== @@ -15801,6 +16090,13 @@ rollup@^2.33.3: optionalDependencies: fsevents "~2.1.2" +rollup@^2.35.1: + version "2.35.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.35.1.tgz#e6bc8d10893556a638066f89e8c97f422d03968c" + integrity sha512-q5KxEyWpprAIcainhVy6HfRttD9kutQpHbeqDTWnqAFNJotiojetK6uqmcydNMymBEtC4I8bCYR+J3mTMqeaUA== + optionalDependencies: + fsevents "~2.1.2" + rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -17102,6 +17398,16 @@ table@^6.0.1: slice-ansi "^4.0.0" string-width "^4.2.0" +table@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" + integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== + dependencies: + ajv "^6.12.4" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -17732,6 +18038,11 @@ typescript@^4.0.3, typescript@~4.0.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== +typescript@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" + integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== + typical@^5.0.0, typical@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" From e73df83e0423f73fb26123628bd1155f2c7c8d17 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Mon, 28 Dec 2020 14:06:57 -0300 Subject: [PATCH 02/15] Fix circular dependencies --- packages/fuselage-hooks/src/usePrefersColorScheme.ts | 3 +-- packages/fuselage-hooks/src/usePrefersReducedData.ts | 3 +-- packages/fuselage-hooks/src/usePrefersReducedMotion.ts | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/fuselage-hooks/src/usePrefersColorScheme.ts b/packages/fuselage-hooks/src/usePrefersColorScheme.ts index b3d2318351..f0297b9ec0 100644 --- a/packages/fuselage-hooks/src/usePrefersColorScheme.ts +++ b/packages/fuselage-hooks/src/usePrefersColorScheme.ts @@ -1,4 +1,4 @@ -import { useMediaQuery } from '.'; +import { useMediaQuery } from './useMediaQuery'; /** * Hook to get the prefers-color-scheme value. @@ -6,6 +6,5 @@ import { useMediaQuery } from '.'; * @returns `true` if the prefers-color-scheme matches * @public */ - export const usePrefersColorScheme = (scheme?: string): boolean => useMediaQuery(`(prefers-color-scheme: ${!scheme ? 'light' : scheme})`); diff --git a/packages/fuselage-hooks/src/usePrefersReducedData.ts b/packages/fuselage-hooks/src/usePrefersReducedData.ts index 2c7d930b76..bf719602e7 100644 --- a/packages/fuselage-hooks/src/usePrefersReducedData.ts +++ b/packages/fuselage-hooks/src/usePrefersReducedData.ts @@ -1,4 +1,4 @@ -import { useMediaQuery } from '.'; +import { useMediaQuery } from './useMediaQuery'; /** * Hook to get the prefers-reduce-data value. @@ -6,6 +6,5 @@ import { useMediaQuery } from '.'; * @returns `true` if the prefers-reduce-data is set reduce in the media queries that matches * @public */ - export const usePrefersReducedData = (): boolean => useMediaQuery('(prefers-reduced-data: reduce)'); diff --git a/packages/fuselage-hooks/src/usePrefersReducedMotion.ts b/packages/fuselage-hooks/src/usePrefersReducedMotion.ts index 2b1ee79204..2377dbc30b 100644 --- a/packages/fuselage-hooks/src/usePrefersReducedMotion.ts +++ b/packages/fuselage-hooks/src/usePrefersReducedMotion.ts @@ -1,4 +1,4 @@ -import { useMediaQuery } from '.'; +import { useMediaQuery } from './useMediaQuery'; /** * Hook to get the prefers-reduce-motion value. @@ -6,6 +6,5 @@ import { useMediaQuery } from '.'; * @returns `true` if the prefers-reduce-motion is set reduce in the media queries that matches * @public */ - export const usePrefersReducedMotion = (): boolean => useMediaQuery('(prefers-reduced-motion: reduce)'); From 0b68fac835f1e038e21eeb6ddce37e593a742802 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Mon, 28 Dec 2020 14:22:17 -0300 Subject: [PATCH 03/15] Fix lint issue --- packages/fuselage-hooks/docs/fuselage-hooks.placements.md | 2 ++ .../fuselage-hooks/docs/fuselage-hooks.positionoptions_2.md | 2 ++ packages/fuselage-hooks/src/useClipboard.spec.ts | 6 +++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/fuselage-hooks/docs/fuselage-hooks.placements.md b/packages/fuselage-hooks/docs/fuselage-hooks.placements.md index 9f6082c466..f391db7b4d 100644 --- a/packages/fuselage-hooks/docs/fuselage-hooks.placements.md +++ b/packages/fuselage-hooks/docs/fuselage-hooks.placements.md @@ -9,3 +9,5 @@ ```typescript export declare type Placements = 'top-start' | 'top-middle' | 'top-end' | 'bottom-start' | 'bottom-middle' | 'bottom-end' | 'left-start' | 'left-middle' | 'left-end' | 'right-start' | 'right-middle' | 'right-end' | Positions; ``` +References: [Positions](./fuselage-hooks.positions.md) + diff --git a/packages/fuselage-hooks/docs/fuselage-hooks.positionoptions_2.md b/packages/fuselage-hooks/docs/fuselage-hooks.positionoptions_2.md index 8817098f57..5d586ed1be 100644 --- a/packages/fuselage-hooks/docs/fuselage-hooks.positionoptions_2.md +++ b/packages/fuselage-hooks/docs/fuselage-hooks.positionoptions_2.md @@ -14,3 +14,5 @@ export declare type PositionOptions = { watch?: boolean; }; ``` +References: [Placements](./fuselage-hooks.placements.md) + diff --git a/packages/fuselage-hooks/src/useClipboard.spec.ts b/packages/fuselage-hooks/src/useClipboard.spec.ts index 3016cd3391..1740e51f31 100644 --- a/packages/fuselage-hooks/src/useClipboard.spec.ts +++ b/packages/fuselage-hooks/src/useClipboard.spec.ts @@ -5,7 +5,7 @@ import { act } from 'react-dom/test-utils'; import { useClipboard, UseClipboardReturn } from './useClipboard'; describe('useClipboard hook', () => { - let container; + let container: Element; beforeEach(() => { container = document.createElement('div'); @@ -75,8 +75,8 @@ describe('useClipboard hook', () => { Object.assign(navigator, { clipboard: { writeText: () => - new Promise((resolve) => { - return resolve(); + new Promise((resolve) => { + resolve(); }), }, }); From f8405bf2195f80f780f8f0380cd855c03f77a012 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Mon, 28 Dec 2020 14:55:26 -0300 Subject: [PATCH 04/15] Upgrade build configuration --- packages/css-in-js/package.json | 36 +++---- packages/emitter/README.md | 26 +++--- packages/emitter/package.json | 42 ++++----- yarn.lock | 161 ++++++++++++++++++++++---------- 4 files changed, 163 insertions(+), 102 deletions(-) diff --git a/packages/css-in-js/package.json b/packages/css-in-js/package.json index 38d41a62cf..c7b2205439 100644 --- a/packages/css-in-js/package.json +++ b/packages/css-in-js/package.json @@ -40,32 +40,32 @@ }, "devDependencies": { "@rocket.chat/eslint-config": "^0.4.0", - "@rollup/plugin-commonjs": "^16.0.0", + "@rollup/plugin-commonjs": "^17.0.0", "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "^10.0.0", - "@rollup/plugin-typescript": "^6.1.0", - "@types/jest": "^26.0.0", + "@rollup/plugin-node-resolve": "^11.0.1", + "@rollup/plugin-typescript": "^8.1.0", + "@types/jest": "^26.0.19", "@types/stylis": "^4.0.0", - "@typescript-eslint/eslint-plugin": "^4.5.0", - "@typescript-eslint/parser": "^4.5.0", - "documentation": "^13.0.2", - "eslint": "^7.13.0", - "eslint-config-prettier": "^6.15.0", - "eslint-plugin-import": "^2.19.1", - "eslint-plugin-prettier": "^3.1.4", - "jest": "^26.1.0", - "lint-staged": "^10.0.8", - "prettier": "2.1.2", - "rollup": "^2.33.3", + "@typescript-eslint/eslint-plugin": "^4.11.0", + "@typescript-eslint/parser": "^4.11.0", + "documentation": "^13.1.0", + "eslint": "^7.16.0", + "eslint-config-prettier": "^7.1.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.3.0", + "jest": "^26.6.3", + "lint-staged": "^10.5.3", + "prettier": "^2.2.1", + "rollup": "^2.35.1", "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.1.1", - "typescript": "^4.0.3" + "ts-jest": "^26.4.4", + "typescript": "^4.1.3" }, "publishConfig": { "access": "public" }, "dependencies": { "@emotion/hash": "^0.8.0", - "stylis": "^4.0.3" + "stylis": "^4.0.6" } } diff --git a/packages/emitter/README.md b/packages/emitter/README.md index b11946c4a1..0a128b6757 100644 --- a/packages/emitter/README.md +++ b/packages/emitter/README.md @@ -69,7 +69,7 @@ The event emitter class. Returns the whole EventType list -Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[EventType](#eventtype)>** +Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[EventType](#eventtype)>** #### has @@ -77,9 +77,9 @@ Returns `true` if this emmiter has a listener attached to the `key` event type ##### Parameters -- `key` **[EventType](#eventtype)** +- `key` **[EventType](#eventtype)** -Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** +Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** #### on @@ -87,8 +87,8 @@ Adds the `handler` function to listen events of the `type` type. ##### Parameters -- `type` **[EventType](#eventtype)** -- `handler` **[Handler](#handler)<T>** +- `type` **[EventType](#eventtype)** +- `handler` **[Handler](#handler)<T>** Returns **OffCallbackHandler** a function to unsubscribe the handler invoking `this.off(type, handler)` @@ -98,8 +98,8 @@ Adds a _one-time_ `handler` function for the event of the `type` type. ##### Parameters -- `type` **[EventType](#eventtype)** -- `handler` **[Handler](#handler)<T>** +- `type` **[EventType](#eventtype)** +- `handler` **[Handler](#handler)<T>** Returns **OffCallbackHandler** a function to unsubscribe the handler invoking `this.off(type, handler)` @@ -109,10 +109,10 @@ Removes the specified `handler` from the list of handlers of the event of the `t ##### Parameters -- `type` **[EventType](#eventtype)** -- `handler` **[Handler](#handler)<T>** +- `type` **[EventType](#eventtype)** +- `handler` **[Handler](#handler)<T>** -Returns **void** +Returns **void** #### emit @@ -121,7 +121,7 @@ order they were registered, passing the supplied argument `e` to each. ##### Parameters -- `type` **[EventType](#eventtype)** -- `e` **T?** +- `type` **[EventType](#eventtype)** +- `e` **T?** -Returns **void** +Returns **void** diff --git a/packages/emitter/package.json b/packages/emitter/package.json index 29d3104d31..b6ec5a6a29 100644 --- a/packages/emitter/package.json +++ b/packages/emitter/package.json @@ -44,31 +44,31 @@ "docs": "run-s build docs:api-extractor docs:api-documenter docs:readme docs:clean" }, "devDependencies": { - "@microsoft/api-documenter": "^7.8.21", - "@microsoft/api-extractor": "^7.9.2", + "@microsoft/api-documenter": "^7.12.1", + "@microsoft/api-extractor": "^7.12.1", "@rocket.chat/eslint-config": "^0.4.0", - "@rollup/plugin-commonjs": "^15.1.0", + "@rollup/plugin-commonjs": "^17.0.0", "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "^9.0.0", - "@rollup/plugin-typescript": "^6.0.0", - "@types/jest": "^26.0.15", - "@typescript-eslint/eslint-plugin": "^4.5.0", - "@typescript-eslint/parser": "^4.5.0", - "documentation": "^13.0.2", - "eslint": "^7.13.0", - "eslint-config-prettier": "^6.15.0", - "eslint-plugin-import": "^2.19.1", - "eslint-plugin-prettier": "^3.1.4", - "eslint-plugin-react": "^7.16.0", - "eslint-plugin-react-hooks": "^4.0.4", - "jest": "^26.0.1", - "lint-staged": "^10.0.8", - "prettier": "^2.1.2", + "@rollup/plugin-node-resolve": "^11.0.1", + "@rollup/plugin-typescript": "^8.1.0", + "@types/jest": "^26.0.19", + "@typescript-eslint/eslint-plugin": "^4.11.1", + "@typescript-eslint/parser": "^4.11.1", + "documentation": "^13.1.0", + "eslint": "^7.16.0", + "eslint-config-prettier": "^7.1.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.3.0", + "eslint-plugin-react": "^7.21.5", + "eslint-plugin-react-hooks": "^4.2.0", + "jest": "^26.6.3", + "lint-staged": "^10.5.3", + "prettier": "^2.2.1", "rimraf": "^3.0.2", - "rollup": "^2.21.0", + "rollup": "^2.35.1", "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.1.0", - "typescript": "^4.0.3" + "ts-jest": "^26.4.4", + "typescript": "^4.1.3" }, "publishConfig": { "access": "public" diff --git a/yarn.lock b/yarn.lock index 9595da9c12..627ba51313 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2812,6 +2812,19 @@ resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== +"@microsoft/api-documenter@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-documenter/-/api-documenter-7.12.1.tgz#97a4eee87cbe775f363f7a1f46c57c57ae0bf6fd" + integrity sha512-biX5s/UX6KbqBW5GHEykJ0LM3sfb177lH/2nMp4C1pytqRKz4mmPkqWrHpvx7gpzOyDGj2qvzipDH5xK6LIJVg== + dependencies: + "@microsoft/api-extractor-model" "7.12.1" + "@microsoft/tsdoc" "0.12.24" + "@rushstack/node-core-library" "3.35.2" + "@rushstack/ts-command-line" "4.7.8" + colors "~1.2.1" + js-yaml "~3.13.1" + resolve "~1.17.0" + "@microsoft/api-documenter@^7.8.21", "@microsoft/api-documenter@^7.8.25": version "7.12.0" resolved "https://registry.yarnpkg.com/@microsoft/api-documenter/-/api-documenter-7.12.0.tgz#d8aa23aebe4d486a9c030bb593c24be4d6a3de99" @@ -2833,7 +2846,7 @@ "@microsoft/tsdoc" "0.12.24" "@rushstack/node-core-library" "3.35.2" -"@microsoft/api-extractor@^7.9.2", "@microsoft/api-extractor@^7.9.4": +"@microsoft/api-extractor@^7.12.1", "@microsoft/api-extractor@^7.9.2", "@microsoft/api-extractor@^7.9.4": version "7.12.1" resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.12.1.tgz#4204be6c9f845d7d1796b6d51c58bcb25e7267e9" integrity sha512-lleLrKkqiRvOQeoRMSHQY0wl/j9SxRVd9+Btyh/WWw0kHNy7nAKyzGmejvlz2XTn13H0elJWV6C3dxhaQy4mtA== @@ -3065,19 +3078,6 @@ magic-string "^0.25.7" resolve "^1.17.0" -"@rollup/plugin-commonjs@^16.0.0": - version "16.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-16.0.0.tgz#169004d56cd0f0a1d0f35915d31a036b0efe281f" - integrity sha512-LuNyypCP3msCGVQJ7ki8PqYdpjfEkE/xtFa5DqlF+7IBD0JsfMZ87C58heSwIMint58sAUZbt3ITqOmdQv/dXw== - dependencies: - "@rollup/pluginutils" "^3.1.0" - commondir "^1.0.1" - estree-walker "^2.0.1" - glob "^7.1.6" - is-reference "^1.2.1" - magic-string "^0.25.7" - resolve "^1.17.0" - "@rollup/plugin-commonjs@^17.0.0": version "17.0.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-17.0.0.tgz#2ae2228354cf0fbba6cf9f06f30b2c66a974324c" @@ -3098,18 +3098,6 @@ dependencies: "@rollup/pluginutils" "^3.0.8" -"@rollup/plugin-node-resolve@^10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz#44064a2b98df7530e66acf8941ff262fc9b4ead8" - integrity sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A== - dependencies: - "@rollup/pluginutils" "^3.1.0" - "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" - deepmerge "^4.2.2" - is-module "^1.0.0" - resolve "^1.17.0" - "@rollup/plugin-node-resolve@^11.0.1": version "11.0.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.0.1.tgz#d3765eec4bccf960801439a999382aed2dca959b" @@ -3134,7 +3122,7 @@ is-module "^1.0.0" resolve "^1.17.0" -"@rollup/plugin-typescript@^6.0.0", "@rollup/plugin-typescript@^6.1.0": +"@rollup/plugin-typescript@^6.0.0": version "6.1.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-6.1.0.tgz#289e7f0ea12fd659bd13ad59dda73b9055538b83" integrity sha512-hJxaiE6WyNOsK+fZpbFh9CUijZYqPQuAOWO5khaGTUkM8DYNNyA2TDlgamecE+qLOG1G1+CwbWMAx3rbqpp6xQ== @@ -4010,7 +3998,7 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@26.x", "@types/jest@^26.0.0", "@types/jest@^26.0.10", "@types/jest@^26.0.15": +"@types/jest@26.x", "@types/jest@^26.0.10": version "26.0.15" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.15.tgz#12e02c0372ad0548e07b9f4e19132b834cb1effe" integrity sha512-s2VMReFXRg9XXxV+CW9e5Nz8fH2K1aEhwgjUqPPbQd7g95T0laAcvLv032EhFHIa5GHsZ8W7iJEQVaJq6k3Gog== @@ -4018,7 +4006,7 @@ jest-diff "^26.0.0" pretty-format "^26.0.0" -"@types/jest@^26.0.19": +"@types/jest@^26.0.15", "@types/jest@^26.0.19": version "26.0.19" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.19.tgz#e6fa1e3def5842ec85045bd5210e9bb8289de790" integrity sha512-jqHoirTG61fee6v6rwbnEuKhpSKih0tuhqeFbCmMmErhtu3BYlOZaXWjffgOstMM4S/3iQD31lI5bGLTrs97yQ== @@ -4285,6 +4273,19 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/eslint-plugin@^4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.11.1.tgz#7579c6d17ad862154c10bc14b40e5427b729e209" + integrity sha512-fABclAX2QIEDmTMk6Yd7Muv1CzFLwWM4505nETzRHpP3br6jfahD9UUJkhnJ/g2m7lwfz8IlswcwGGPGiq9exw== + dependencies: + "@typescript-eslint/experimental-utils" "4.11.1" + "@typescript-eslint/scope-manager" "4.11.1" + debug "^4.1.1" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + "@typescript-eslint/eslint-plugin@^4.5.0": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.6.1.tgz#99d77eb7a016fd5a5e749d2c44a7e4c317eb7da3" @@ -4310,6 +4311,18 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" +"@typescript-eslint/experimental-utils@4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.11.1.tgz#2dad3535b878c25c7424e40bfa79d899f3f485bc" + integrity sha512-mAlWowT4A6h0TC9F+J5pdbEhjNiEMO+kqPKQ4sc3fVieKL71dEqfkKgtcFVSX3cjSBwYwhImaQ/mXQF0oaI38g== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.11.1" + "@typescript-eslint/types" "4.11.1" + "@typescript-eslint/typescript-estree" "4.11.1" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + "@typescript-eslint/experimental-utils@4.6.1": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.6.1.tgz#a9c691dfd530a9570274fe68907c24c07a06c4aa" @@ -4332,6 +4345,16 @@ "@typescript-eslint/typescript-estree" "4.11.0" debug "^4.1.1" +"@typescript-eslint/parser@^4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.11.1.tgz#981e18de2e019d6ca312596615f92e8f6f6598ed" + integrity sha512-BJ3jwPQu1jeynJ5BrjLuGfK/UJu6uwHxJ/di7sanqmUmxzmyIcd3vz58PMR7wpi8k3iWq2Q11KMYgZbUpRoIPw== + dependencies: + "@typescript-eslint/scope-manager" "4.11.1" + "@typescript-eslint/types" "4.11.1" + "@typescript-eslint/typescript-estree" "4.11.1" + debug "^4.1.1" + "@typescript-eslint/parser@^4.5.0": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.6.1.tgz#b801bff67b536ecc4a840ac9289ba2be57e02428" @@ -4350,6 +4373,14 @@ "@typescript-eslint/types" "4.11.0" "@typescript-eslint/visitor-keys" "4.11.0" +"@typescript-eslint/scope-manager@4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.11.1.tgz#72dc2b60b0029ab0888479b12bf83034920b4b69" + integrity sha512-Al2P394dx+kXCl61fhrrZ1FTI7qsRDIUiVSuN6rTwss6lUn8uVO2+nnF4AvO0ug8vMsy3ShkbxLu/uWZdTtJMQ== + dependencies: + "@typescript-eslint/types" "4.11.1" + "@typescript-eslint/visitor-keys" "4.11.1" + "@typescript-eslint/scope-manager@4.6.1": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.6.1.tgz#21872b91cbf7adfc7083f17b8041149148baf992" @@ -4363,6 +4394,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.11.0.tgz#86cf95e7eac4ccfd183f9fcf1480cece7caf4ca4" integrity sha512-XXOdt/NPX++txOQHM1kUMgJUS43KSlXGdR/aDyEwuAEETwuPt02Nc7v+s57PzuSqMbNLclblQdv3YcWOdXhQ7g== +"@typescript-eslint/types@4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.11.1.tgz#3ba30c965963ef9f8ced5a29938dd0c465bd3e05" + integrity sha512-5kvd38wZpqGY4yP/6W3qhYX6Hz0NwUbijVsX2rxczpY6OXaMxh0+5E5uLJKVFwaBM7PJe1wnMym85NfKYIh6CA== + "@typescript-eslint/types@4.6.1": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.6.1.tgz#d3ad7478f53f22e7339dc006ab61aac131231552" @@ -4382,6 +4418,20 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/typescript-estree@4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.11.1.tgz#a4416b4a65872a48773b9e47afabdf7519eb10bc" + integrity sha512-tC7MKZIMRTYxQhrVAFoJq/DlRwv1bnqA4/S2r3+HuHibqvbrPcyf858lNzU7bFmy4mLeIHFYr34ar/1KumwyRw== + dependencies: + "@typescript-eslint/types" "4.11.1" + "@typescript-eslint/visitor-keys" "4.11.1" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + "@typescript-eslint/typescript-estree@4.6.1": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.6.1.tgz#6025cce724329413f57e4959b2d676fceeca246f" @@ -4404,6 +4454,14 @@ "@typescript-eslint/types" "4.11.0" eslint-visitor-keys "^2.0.0" +"@typescript-eslint/visitor-keys@4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.11.1.tgz#4c050a4c1f7239786e2dd4e69691436143024e05" + integrity sha512-IrlBhD9bm4bdYcS8xpWarazkKXlE7iYb1HzRuyBP114mIaj5DJPo11Us1HgH60dTt41TCZXMaTCAW+OILIYPOg== + dependencies: + "@typescript-eslint/types" "4.11.1" + eslint-visitor-keys "^2.0.0" + "@typescript-eslint/visitor-keys@4.6.1": version "4.6.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.6.1.tgz#6b125883402d8939df7b54528d879e88f7ba3614" @@ -8478,12 +8536,12 @@ eslint-plugin-prettier@^3.3.0: dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-react-hooks@^4.0.4, eslint-plugin-react-hooks@^4.1.0: +eslint-plugin-react-hooks@^4.0.4, eslint-plugin-react-hooks@^4.1.0, eslint-plugin-react-hooks@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== -eslint-plugin-react@^7.16.0, eslint-plugin-react@^7.20.6: +eslint-plugin-react@^7.16.0, eslint-plugin-react@^7.20.6, eslint-plugin-react@^7.21.5: version "7.21.5" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz#50b21a412b9574bfe05b21db176e8b7b3b15bff3" integrity sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g== @@ -11574,7 +11632,7 @@ jest-worker@^26.2.1, jest-worker@^26.6.1, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" -jest@^26.0.1, jest@^26.1.0, jest@^26.4.0, jest@^26.6.1, jest@^26.6.3: +jest@^26.0.1, jest@^26.4.0, jest@^26.6.1, jest@^26.6.3: version "26.6.3" resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== @@ -14656,7 +14714,7 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@2.1.2, prettier@^2.1.2: +prettier@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== @@ -16076,21 +16134,7 @@ rollup-plugin-terser@^7.0.2: serialize-javascript "^4.0.0" terser "^5.0.0" -rollup@^2.21.0: - version "2.33.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.33.1.tgz#802795164164ee63cd47769d8879c33ec8ae0c40" - integrity sha512-uY4O/IoL9oNW8MMcbA5hcOaz6tZTMIh7qJHx/tzIJm+n1wLoY38BLn6fuy7DhR57oNFLMbDQtDeJoFURt5933w== - optionalDependencies: - fsevents "~2.1.2" - -rollup@^2.33.3: - version "2.33.3" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.33.3.tgz#ae72ce31f992b09a580072951bfea76e9df17342" - integrity sha512-RpayhPTe4Gu/uFGCmk7Gp5Z9Qic2VsqZ040G+KZZvsZYdcuWaJg678JeDJJvJeEQXminu24a2au+y92CUWVd+w== - optionalDependencies: - fsevents "~2.1.2" - -rollup@^2.35.1: +rollup@^2.21.0, rollup@^2.35.1: version "2.35.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.35.1.tgz#e6bc8d10893556a638066f89e8c97f422d03968c" integrity sha512-q5KxEyWpprAIcainhVy6HfRttD9kutQpHbeqDTWnqAFNJotiojetK6uqmcydNMymBEtC4I8bCYR+J3mTMqeaUA== @@ -17238,7 +17282,7 @@ stylelint@^13.7.0: v8-compile-cache "^2.1.1" write-file-atomic "^3.0.3" -stylis@^4.0.3: +stylis@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.6.tgz#0d8b97b6bc4748bea46f68602b6df27641b3c548" integrity sha512-1igcUEmYFBEO14uQHAJhCUelTR5jPztfdVKrYxRnDa5D5Dn3w0NxXupJNPr/VV/yRfZYEAco8sTIRZzH3sRYKg== @@ -17854,7 +17898,24 @@ ts-essentials@^2.0.3: resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz#c9303f3d74f75fa7528c3d49b80e089ab09d8745" integrity sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w== -ts-jest@^26.1.0, ts-jest@^26.1.1, ts-jest@^26.2.0: +ts-jest@^26.1.0, ts-jest@^26.4.4: + version "26.4.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.4.tgz#61f13fb21ab400853c532270e52cc0ed7e502c49" + integrity sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg== + dependencies: + "@types/jest" "26.x" + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash.memoize "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +ts-jest@^26.2.0: version "26.4.3" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.3.tgz#d153a616033e7ec8544b97ddbe2638cbe38d53db" integrity sha512-pFDkOKFGY+nL9v5pkhm+BIFpoAuno96ff7GMnIYr/3L6slFOS365SI0fGEVYx2RKGji5M2elxhWjDMPVcOCdSw== From 53e79d549f40b93d54fd97ba686066c7a77ee266 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Mon, 28 Dec 2020 16:57:55 -0300 Subject: [PATCH 05/15] Update polyfills --- packages/fuselage-polyfills/package.json | 4 ++-- yarn.lock | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/fuselage-polyfills/package.json b/packages/fuselage-polyfills/package.json index 4a27b27cae..830f127159 100644 --- a/packages/fuselage-polyfills/package.json +++ b/packages/fuselage-polyfills/package.json @@ -16,10 +16,10 @@ }, "main": "index.js", "dependencies": { - "@juggle/resize-observer": "^3.1.2", + "@juggle/resize-observer": "^3.2.0", "clipboard-polyfill": "^3.0.1", "element-closest-polyfill": "^1.0.2", - "focus-visible": "^5.0.2", + "focus-visible": "^5.2.0", "focus-within-polyfill": "^5.1.0" } } diff --git a/yarn.lock b/yarn.lock index 627ba51313..dab28ff744 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1919,7 +1919,7 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@juggle/resize-observer@^3.1.2": +"@juggle/resize-observer@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.2.0.tgz#5e0b448d27fe3091bae6216456512c5904d05661" integrity sha512-fsLxt0CHx2HCV9EL8lDoVkwHffsA0snUpddYjdLyXcG5E41xaamn9ZyQqOE9TUJdrRlH8/hjIf+UdOdDeKCUgg== @@ -9231,7 +9231,7 @@ flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: inherits "^2.0.3" readable-stream "^2.3.6" -focus-visible@^5.0.2: +focus-visible@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/focus-visible/-/focus-visible-5.2.0.tgz#3a9e41fccf587bd25dcc2ef045508284f0a4d6b3" integrity sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ== From 3aa2ad926d9b906de694a13688aa41061cf1755d Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Tue, 29 Dec 2020 01:17:40 -0300 Subject: [PATCH 06/15] Remove unused modules --- packages/fuselage-tokens/all.js | 3 --- packages/fuselage-tokens/all.scss | 3 --- 2 files changed, 6 deletions(-) delete mode 100644 packages/fuselage-tokens/all.js delete mode 100644 packages/fuselage-tokens/all.scss diff --git a/packages/fuselage-tokens/all.js b/packages/fuselage-tokens/all.js deleted file mode 100644 index 7c013170d7..0000000000 --- a/packages/fuselage-tokens/all.js +++ /dev/null @@ -1,3 +0,0 @@ -export { default as breakpoints } from './breakpoints'; -export { default as colors } from './colors'; -export { default as typography } from './typography'; diff --git a/packages/fuselage-tokens/all.scss b/packages/fuselage-tokens/all.scss deleted file mode 100644 index 0abf0041be..0000000000 --- a/packages/fuselage-tokens/all.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import './breakpoints.scss'; -@import './colors.scss'; -@import './typography.scss'; From fa2e781b9fed7da5bdee3108d44d701640fabc6b Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Tue, 29 Dec 2020 11:03:12 -0300 Subject: [PATCH 07/15] Build the token modules --- .vscode/settings.json | 4 +- packages/fuselage-tokens/.prettierrc | 2 +- packages/fuselage-tokens/breakpoints.js | 35 +--- packages/fuselage-tokens/breakpoints.mjs | 9 + packages/fuselage-tokens/breakpoints.scss | 19 +- packages/fuselage-tokens/colors.js | 17 +- packages/fuselage-tokens/colors.json | 66 +++++++ packages/fuselage-tokens/colors.mjs | 66 +++++++ packages/fuselage-tokens/colors.scss | 16 +- packages/fuselage-tokens/package.json | 2 + packages/fuselage-tokens/scripts/build.mjs | 163 ++++++++++++++++++ packages/fuselage-tokens/typography.js | 106 ++++-------- packages/fuselage-tokens/typography.json | 79 +++++++++ packages/fuselage-tokens/typography.mjs | 44 +++++ packages/fuselage-tokens/typography.scss | 53 +++--- ...e_laptop_Containers_Grid_xl_breakpoint.png | Bin 11128 -> 31954 bytes 16 files changed, 522 insertions(+), 159 deletions(-) create mode 100644 packages/fuselage-tokens/breakpoints.mjs create mode 100644 packages/fuselage-tokens/colors.json create mode 100644 packages/fuselage-tokens/colors.mjs create mode 100644 packages/fuselage-tokens/scripts/build.mjs create mode 100644 packages/fuselage-tokens/typography.json create mode 100644 packages/fuselage-tokens/typography.mjs diff --git a/.vscode/settings.json b/.vscode/settings.json index 33601dc77f..1788b18f10 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -26,5 +26,7 @@ }, "eslint.options": { "extensions": [".js", ".jsx", ".md", ".mdx", ".ts", ".tsx"] - } + }, + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode" } diff --git a/packages/fuselage-tokens/.prettierrc b/packages/fuselage-tokens/.prettierrc index e93d7b8273..98824472ae 100644 --- a/packages/fuselage-tokens/.prettierrc +++ b/packages/fuselage-tokens/.prettierrc @@ -4,4 +4,4 @@ "quoteProps": "consistent", "jsxSingleQuote": true, "printWidth": 80 -} +} diff --git a/packages/fuselage-tokens/breakpoints.js b/packages/fuselage-tokens/breakpoints.js index c66cefd4ad..d8cc20ec3c 100644 --- a/packages/fuselage-tokens/breakpoints.js +++ b/packages/fuselage-tokens/breakpoints.js @@ -1,27 +1,10 @@ -export default { - xs: { - minViewportWidth: null, - columns: 4, - gutterWidth: 16, - }, - sm: { - minViewportWidth: 600, - columns: 8, - gutterWidth: 16, - }, - md: { - minViewportWidth: 768, - columns: 8, - gutterWidth: 24, - }, - lg: { - minViewportWidth: 1024, - columns: 12, - gutterWidth: 24, - }, - xl: { - minViewportWidth: 1440, - columns: 12, - gutterWidth: 24, - }, +'use strict'; +module.exports = { + xs: { name: 'xs', minViewportWidth: null, columns: 4, gutterWidth: 16 }, + sm: { name: 'sm', minViewportWidth: 600, columns: 8, gutterWidth: 16 }, + md: { name: 'md', minViewportWidth: 768, columns: 8, gutterWidth: 24 }, + lg: { name: 'lg', minViewportWidth: 1024, columns: 12, gutterWidth: 24 }, + xl: { name: 'xl', minViewportWidth: 1280, columns: 12, gutterWidth: 24 }, + xxl: { name: 'xxl', minViewportWidth: 1600, columns: 12, gutterWidth: 24 }, + xxxl: { name: 'xxxl', minViewportWidth: 1920, columns: 12, gutterWidth: 24 }, }; diff --git a/packages/fuselage-tokens/breakpoints.mjs b/packages/fuselage-tokens/breakpoints.mjs new file mode 100644 index 0000000000..674792fd08 --- /dev/null +++ b/packages/fuselage-tokens/breakpoints.mjs @@ -0,0 +1,9 @@ +export default { + xs: { name: 'xs', minViewportWidth: null, columns: 4, gutterWidth: 16 }, + sm: { name: 'sm', minViewportWidth: 600, columns: 8, gutterWidth: 16 }, + md: { name: 'md', minViewportWidth: 768, columns: 8, gutterWidth: 24 }, + lg: { name: 'lg', minViewportWidth: 1024, columns: 12, gutterWidth: 24 }, + xl: { name: 'xl', minViewportWidth: 1280, columns: 12, gutterWidth: 24 }, + xxl: { name: 'xxl', minViewportWidth: 1600, columns: 12, gutterWidth: 24 }, + xxxl: { name: 'xxxl', minViewportWidth: 1920, columns: 12, gutterWidth: 24 }, +}; diff --git a/packages/fuselage-tokens/breakpoints.scss b/packages/fuselage-tokens/breakpoints.scss index 1e7600366d..8f54bd53af 100644 --- a/packages/fuselage-tokens/breakpoints.scss +++ b/packages/fuselage-tokens/breakpoints.scss @@ -1,26 +1,43 @@ $breakpoints: ( xs: ( + name: xs, min-viewport-width: null, columns: 4, gutter-width: 16, ), sm: ( + name: sm, min-viewport-width: 600, columns: 8, gutter-width: 16, ), md: ( + name: md, min-viewport-width: 768, columns: 8, gutter-width: 24, ), lg: ( + name: lg, min-viewport-width: 1024, columns: 12, gutter-width: 24, ), xl: ( - min-viewport-width: 1440, + name: xl, + min-viewport-width: 1280, + columns: 12, + gutter-width: 24, + ), + xxl: ( + name: xxl, + min-viewport-width: 1600, + columns: 12, + gutter-width: 24, + ), + xxxl: ( + name: xxxl, + min-viewport-width: 1920, columns: 12, gutter-width: 24, ), diff --git a/packages/fuselage-tokens/colors.js b/packages/fuselage-tokens/colors.js index f0dc3390d6..9fd60dbea5 100644 --- a/packages/fuselage-tokens/colors.js +++ b/packages/fuselage-tokens/colors.js @@ -1,5 +1,5 @@ -export default { - // Neutral +'use strict'; +module.exports = { n100: '#f7f8fa', n200: '#f2f3f5', n300: '#eeeff1', @@ -9,8 +9,6 @@ export default { n700: '#6c727a', n800: '#2f343d', n900: '#1f2329', - - // Blues b100: '#e8f2ff', b200: '#d1ebfe', b300: '#76b7fc', @@ -20,8 +18,6 @@ export default { b700: '#10529e', b800: '#01336b', b900: '#012247', - - // Greens g100: '#e5fbf4', g200: '#c0f6e4', g300: '#96f0d2', @@ -31,8 +27,6 @@ export default { g700: '#19ac7c', g800: '#158d65', g900: '#106d4f', - - // Reds r100: '#fddade', r200: '#fbb5be', r300: '#f98f9d', @@ -42,8 +36,6 @@ export default { r700: '#b30a20', r800: '#8b0719', r900: '#630512', - - // Yellows y100: '#fff6d6', y200: '#ffecad', y300: '#ffe383', @@ -53,8 +45,6 @@ export default { y700: '#dfac00', y800: '#b68d00', y900: '#8e6d00', - - // Purples p100: '#f9effc', p200: '#edd0f7', p300: '#dca0ef', @@ -64,8 +54,6 @@ export default { p700: '#5f1477', p800: '#4a105d', p900: '#350b42', - - // Oranges o100: '#fde8d7', o200: '#fad1b0', o300: '#f7b27b', @@ -75,6 +63,5 @@ export default { o700: '#bd5a0b', o800: '#974809', o900: '#713607', - white: '#ffffff', }; diff --git a/packages/fuselage-tokens/colors.json b/packages/fuselage-tokens/colors.json new file mode 100644 index 0000000000..e180d13608 --- /dev/null +++ b/packages/fuselage-tokens/colors.json @@ -0,0 +1,66 @@ +{ + "n100": "#f7f8fa", + "n200": "#f2f3f5", + "n300": "#eeeff1", + "n400": "#e4e7ea", + "n500": "#cbced1", + "n600": "#9ea2a8", + "n700": "#6c727a", + "n800": "#2f343d", + "n900": "#1f2329", + "b100": "#e8f2ff", + "b200": "#d1ebfe", + "b300": "#76b7fc", + "b400": "#549df9", + "b500": "#1d74f5", + "b600": "#095ad2", + "b700": "#10529e", + "b800": "#01336b", + "b900": "#012247", + "g100": "#e5fbf4", + "g200": "#c0f6e4", + "g300": "#96f0d2", + "g400": "#6ce9c0", + "g500": "#2de0a5", + "g600": "#1ecb92", + "g700": "#19ac7c", + "g800": "#158d65", + "g900": "#106d4f", + "r100": "#fddade", + "r200": "#fbb5be", + "r300": "#f98f9d", + "r400": "#f76a7d", + "r500": "#f5455c", + "r600": "#db0c27", + "r700": "#b30a20", + "r800": "#8b0719", + "r900": "#630512", + "y100": "#fff6d6", + "y200": "#ffecad", + "y300": "#ffe383", + "y400": "#ffd95a", + "y500": "#ffd031", + "y600": "#f3be08", + "y700": "#dfac00", + "y800": "#b68d00", + "y900": "#8e6d00", + "p100": "#f9effc", + "p200": "#edd0f7", + "p300": "#dca0ef", + "p400": "#ca71e7", + "p500": "#9f22c7", + "p600": "#7f1b9f", + "p700": "#5f1477", + "p800": "#4a105d", + "p900": "#350b42", + "o100": "#fde8d7", + "o200": "#fad1b0", + "o300": "#f7b27b", + "o400": "#f59b53", + "o500": "#f38c39", + "o600": "#e26d0e", + "o700": "#bd5a0b", + "o800": "#974809", + "o900": "#713607", + "white": "#ffffff" +} diff --git a/packages/fuselage-tokens/colors.mjs b/packages/fuselage-tokens/colors.mjs new file mode 100644 index 0000000000..07897f5f28 --- /dev/null +++ b/packages/fuselage-tokens/colors.mjs @@ -0,0 +1,66 @@ +export default { + n100: '#f7f8fa', + n200: '#f2f3f5', + n300: '#eeeff1', + n400: '#e4e7ea', + n500: '#cbced1', + n600: '#9ea2a8', + n700: '#6c727a', + n800: '#2f343d', + n900: '#1f2329', + b100: '#e8f2ff', + b200: '#d1ebfe', + b300: '#76b7fc', + b400: '#549df9', + b500: '#1d74f5', + b600: '#095ad2', + b700: '#10529e', + b800: '#01336b', + b900: '#012247', + g100: '#e5fbf4', + g200: '#c0f6e4', + g300: '#96f0d2', + g400: '#6ce9c0', + g500: '#2de0a5', + g600: '#1ecb92', + g700: '#19ac7c', + g800: '#158d65', + g900: '#106d4f', + r100: '#fddade', + r200: '#fbb5be', + r300: '#f98f9d', + r400: '#f76a7d', + r500: '#f5455c', + r600: '#db0c27', + r700: '#b30a20', + r800: '#8b0719', + r900: '#630512', + y100: '#fff6d6', + y200: '#ffecad', + y300: '#ffe383', + y400: '#ffd95a', + y500: '#ffd031', + y600: '#f3be08', + y700: '#dfac00', + y800: '#b68d00', + y900: '#8e6d00', + p100: '#f9effc', + p200: '#edd0f7', + p300: '#dca0ef', + p400: '#ca71e7', + p500: '#9f22c7', + p600: '#7f1b9f', + p700: '#5f1477', + p800: '#4a105d', + p900: '#350b42', + o100: '#fde8d7', + o200: '#fad1b0', + o300: '#f7b27b', + o400: '#f59b53', + o500: '#f38c39', + o600: '#e26d0e', + o700: '#bd5a0b', + o800: '#974809', + o900: '#713607', + white: '#ffffff', +}; diff --git a/packages/fuselage-tokens/colors.scss b/packages/fuselage-tokens/colors.scss index fed4f8cdc0..c8903b5674 100644 --- a/packages/fuselage-tokens/colors.scss +++ b/packages/fuselage-tokens/colors.scss @@ -1,5 +1,4 @@ $colors: ( - // Neutral n100: #f7f8fa, n200: #f2f3f5, n300: #eeeff1, @@ -9,8 +8,6 @@ $colors: ( n700: #6c727a, n800: #2f343d, n900: #1f2329, - - // Blues b100: #e8f2ff, b200: #d1ebfe, b300: #76b7fc, @@ -20,8 +17,6 @@ $colors: ( b700: #10529e, b800: #01336b, b900: #012247, - - // Greens g100: #e5fbf4, g200: #c0f6e4, g300: #96f0d2, @@ -31,8 +26,6 @@ $colors: ( g700: #19ac7c, g800: #158d65, g900: #106d4f, - - // Reds r100: #fddade, r200: #fbb5be, r300: #f98f9d, @@ -42,8 +35,6 @@ $colors: ( r700: #b30a20, r800: #8b0719, r900: #630512, - - // Yellows y100: #fff6d6, y200: #ffecad, y300: #ffe383, @@ -53,8 +44,6 @@ $colors: ( y700: #dfac00, y800: #b68d00, y900: #8e6d00, - - // Purples p100: #f9effc, p200: #edd0f7, p300: #dca0ef, @@ -64,8 +53,6 @@ $colors: ( p700: #5f1477, p800: #4a105d, p900: #350b42, - - // Oranges o100: #fde8d7, o200: #fad1b0, o300: #f7b27b, @@ -75,6 +62,5 @@ $colors: ( o700: #bd5a0b, o800: #974809, o900: #713607, - - 'white': #ffffff, + white: #ffffff, ); diff --git a/packages/fuselage-tokens/package.json b/packages/fuselage-tokens/package.json index 578be1bc84..be343c6d76 100644 --- a/packages/fuselage-tokens/package.json +++ b/packages/fuselage-tokens/package.json @@ -7,7 +7,9 @@ "name": "Rocket.Chat", "url": "https://rocket.chat/" }, + "type": "module", "scripts": { + "build": "node --experimental-modules scripts/build.mjs", "prettier-format": "prettier --config .prettierrc '**/*.js' --write" }, "license": "MIT", diff --git a/packages/fuselage-tokens/scripts/build.mjs b/packages/fuselage-tokens/scripts/build.mjs new file mode 100644 index 0000000000..4175179706 --- /dev/null +++ b/packages/fuselage-tokens/scripts/build.mjs @@ -0,0 +1,163 @@ +import { promises as fsPromises } from 'fs'; +import { basename, join } from 'path'; +import { fileURLToPath } from 'url'; +import { inspect } from 'util'; +import prettier from 'prettier'; + +const rootDir = join(fileURLToPath(import.meta.url), '../..'); + +let prettierOptions; +const getPrettierOptions = async () => { + if (!prettierOptions) { + const prettierRCPath = join(rootDir, '.prettierrc'); + prettierOptions = JSON.parse( + await fsPromises.readFile(prettierRCPath, { encoding: 'utf-8' }) + ); + } + + return prettierOptions; +}; + +const toCommonJS = async (data) => { + return prettier.format( + `'use strict';module.exports = ${JSON.stringify(data)};`, + { + parser: 'babel', + ...(await getPrettierOptions()), + } + ); +}; + +const toESModule = async (data) => { + return prettier.format(`export default ${JSON.stringify(data)};`, { + parser: 'babel', + ...(await getPrettierOptions()), + }); +}; + +const toScssVariables = async (data) => { + const fromCamelToKebab = (string) => + string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase(); + + const toValue = (chunk) => { + if (typeof chunk === 'boolean' || typeof chunk === 'number') { + return chunk; + } + + if (typeof chunk === 'string') { + return /\s/.test(chunk) ? JSON.stringify(chunk) : chunk; + } + + if (chunk === undefined || chunk === null) { + return 'null'; + } + + if (Array.isArray(chunk)) { + return `(${chunk.map(toValue).join(',')})`; + } + + return `(${Object.entries(chunk) + .map(([key, value]) => { + return fromCamelToKebab(key) + ':' + toValue(value); + }) + .join(',')})`; + }; + + return prettier.format( + Object.entries(data) + .map( + ([varName, value]) => + `\$${fromCamelToKebab(varName)}:${toValue(value)};` + ) + .join(''), + { + parser: 'scss', + ...(await getPrettierOptions()), + } + ); +}; + +const readSource = async (sourcePath) => { + console.log('📂', inspect(basename(sourcePath), { colors: true })); + + return JSON.parse( + await fsPromises.readFile(sourcePath, { encoding: 'utf-8' }) + ); +}; + +const writeSource = async (targetPath, data) => { + console.log('💾', inspect(basename(targetPath), { colors: true })); + await fsPromises.writeFile(targetPath, data, { encoding: 'utf-8' }); +}; + +const buildBreakpoints = async () => { + const sourcePath = join(rootDir, 'breakpoints.json'); + const commonjsPath = join(rootDir, 'breakpoints.js'); + const esmodulePath = join(rootDir, 'breakpoints.mjs'); + const scssPath = join(rootDir, 'breakpoints.scss'); + + const entries = await readSource(sourcePath); + + const indexedEntries = {}; + for (const entry of entries) { + indexedEntries[entry.name] = entry; + } + + const [commonjsSource, esmoduleSource, scssSource] = await Promise.all([ + toCommonJS(indexedEntries), + toESModule(indexedEntries), + toScssVariables({ breakpoints: indexedEntries }), + ]); + + await Promise.all([ + writeSource(commonjsPath, commonjsSource), + writeSource(esmodulePath, esmoduleSource), + writeSource(scssPath, scssSource), + ]); +}; + +const buildColors = async () => { + const sourcePath = join(rootDir, 'colors.json'); + const commonjsPath = join(rootDir, 'colors.js'); + const esmodulePath = join(rootDir, 'colors.mjs'); + const scssPath = join(rootDir, 'colors.scss'); + + const entries = await readSource(sourcePath); + + const [commonjsSource, esmoduleSource, scssSource] = await Promise.all([ + toCommonJS(entries), + toESModule(entries), + toScssVariables({ colors: entries }), + ]); + + await Promise.all([ + writeSource(commonjsPath, commonjsSource), + writeSource(esmodulePath, esmoduleSource), + writeSource(scssPath, scssSource), + ]); +}; + +const buildTypography = async () => { + const sourcePath = join(rootDir, 'typography.json'); + const commonjsPath = join(rootDir, 'typography.js'); + const esmodulePath = join(rootDir, 'typography.mjs'); + const scssPath = join(rootDir, 'typography.scss'); + + const entries = await readSource(sourcePath); + + const [commonjsSource, esmoduleSource, scssSource] = await Promise.all([ + toCommonJS(entries), + toESModule(entries), + toScssVariables(entries), + ]); + + await Promise.all([ + writeSource(commonjsPath, commonjsSource), + writeSource(esmodulePath, esmoduleSource), + writeSource(scssPath, scssSource), + ]); +}; + +buildBreakpoints(); +buildColors(); +buildTypography(); diff --git a/packages/fuselage-tokens/typography.js b/packages/fuselage-tokens/typography.js index 4269cbac9a..32156a7c62 100644 --- a/packages/fuselage-tokens/typography.js +++ b/packages/fuselage-tokens/typography.js @@ -1,78 +1,40 @@ -const fontSans = [ - 'Inter', - '-apple-system', - 'BlinkMacSystemFont', - 'Segoe UI', - 'Roboto', - 'Oxygen', - 'Ubuntu', - 'Cantarell', - 'Helvetica Neue', - 'Apple Color Emoji', - 'Segoe UI Emoji', - 'Segoe UI Symbol', - 'Meiryo UI', - 'Arial', - 'sans-serif', -]; - -const fontMono = [ - 'Menlo', - 'Monaco', - 'Consolas', - 'Liberation Mono', - 'Courier New', - 'monospace', -]; - -export default { +'use strict'; +module.exports = { fontFamilies: { - sans: fontSans, - mono: fontMono, + sans: [ + 'Inter', + '-apple-system', + 'BlinkMacSystemFont', + 'Segoe UI', + 'Roboto', + 'Oxygen', + 'Ubuntu', + 'Cantarell', + 'Helvetica Neue', + 'Apple Color Emoji', + 'Segoe UI Emoji', + 'Segoe UI Symbol', + 'Meiryo UI', + 'Arial', + 'sans-serif', + ], + mono: [ + 'Menlo', + 'Monaco', + 'Consolas', + 'Liberation Mono', + 'Courier New', + 'monospace', + ], }, fontScales: { - h1: { - fontSize: 22, - fontWeight: 400, - letterSpacing: 0, - lineHeight: 32, - }, - s1: { - fontSize: 16, - fontWeight: 400, - letterSpacing: 0, - lineHeight: 22, - }, - s2: { - fontSize: 16, - fontWeight: 500, - letterSpacing: 0, - lineHeight: 22, - }, - p1: { - fontSize: 14, - fontWeight: 400, - letterSpacing: 0, - lineHeight: 20, - }, - p2: { - fontSize: 14, - fontWeight: 500, - letterSpacing: 0, - lineHeight: 20, - }, - c1: { - fontSize: 12, - fontWeight: 400, - letterSpacing: 0, - lineHeight: 16, - }, - c2: { - fontSize: 12, - fontWeight: 600, - letterSpacing: 0, - lineHeight: 16, - }, + h1: { fontSize: 22, fontWeight: 400, letterSpacing: 0, lineHeight: 32 }, + s1: { fontSize: 16, fontWeight: 400, letterSpacing: 0, lineHeight: 22 }, + s2: { fontSize: 16, fontWeight: 500, letterSpacing: 0, lineHeight: 22 }, + p1: { fontSize: 14, fontWeight: 400, letterSpacing: 0, lineHeight: 20 }, + p2: { fontSize: 14, fontWeight: 500, letterSpacing: 0, lineHeight: 20 }, + c1: { fontSize: 12, fontWeight: 400, letterSpacing: 0, lineHeight: 16 }, + c2: { fontSize: 12, fontWeight: 600, letterSpacing: 0, lineHeight: 16 }, micro: { fontSize: 10, fontWeight: 600, diff --git a/packages/fuselage-tokens/typography.json b/packages/fuselage-tokens/typography.json new file mode 100644 index 0000000000..9737ac51d0 --- /dev/null +++ b/packages/fuselage-tokens/typography.json @@ -0,0 +1,79 @@ +{ + "fontFamilies": { + "sans": [ + "Inter", + "-apple-system", + "BlinkMacSystemFont", + "Segoe UI", + "Roboto", + "Oxygen", + "Ubuntu", + "Cantarell", + "Helvetica Neue", + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Meiryo UI", + "Arial", + "sans-serif" + ], + "mono": [ + "Menlo", + "Monaco", + "Consolas", + "Liberation Mono", + "Courier New", + "monospace" + ] + }, + "fontScales": { + "h1": { + "fontSize": 22, + "fontWeight": 400, + "letterSpacing": 0, + "lineHeight": 32 + }, + "s1": { + "fontSize": 16, + "fontWeight": 400, + "letterSpacing": 0, + "lineHeight": 22 + }, + "s2": { + "fontSize": 16, + "fontWeight": 500, + "letterSpacing": 0, + "lineHeight": 22 + }, + "p1": { + "fontSize": 14, + "fontWeight": 400, + "letterSpacing": 0, + "lineHeight": 20 + }, + "p2": { + "fontSize": 14, + "fontWeight": 500, + "letterSpacing": 0, + "lineHeight": 20 + }, + "c1": { + "fontSize": 12, + "fontWeight": 400, + "letterSpacing": 0, + "lineHeight": 16 + }, + "c2": { + "fontSize": 12, + "fontWeight": 600, + "letterSpacing": 0, + "lineHeight": 16 + }, + "micro": { + "fontSize": 10, + "fontWeight": 600, + "letterSpacing": 0.2, + "lineHeight": 12 + } + } +} diff --git a/packages/fuselage-tokens/typography.mjs b/packages/fuselage-tokens/typography.mjs new file mode 100644 index 0000000000..c5d212b7a8 --- /dev/null +++ b/packages/fuselage-tokens/typography.mjs @@ -0,0 +1,44 @@ +export default { + fontFamilies: { + sans: [ + 'Inter', + '-apple-system', + 'BlinkMacSystemFont', + 'Segoe UI', + 'Roboto', + 'Oxygen', + 'Ubuntu', + 'Cantarell', + 'Helvetica Neue', + 'Apple Color Emoji', + 'Segoe UI Emoji', + 'Segoe UI Symbol', + 'Meiryo UI', + 'Arial', + 'sans-serif', + ], + mono: [ + 'Menlo', + 'Monaco', + 'Consolas', + 'Liberation Mono', + 'Courier New', + 'monospace', + ], + }, + fontScales: { + h1: { fontSize: 22, fontWeight: 400, letterSpacing: 0, lineHeight: 32 }, + s1: { fontSize: 16, fontWeight: 400, letterSpacing: 0, lineHeight: 22 }, + s2: { fontSize: 16, fontWeight: 500, letterSpacing: 0, lineHeight: 22 }, + p1: { fontSize: 14, fontWeight: 400, letterSpacing: 0, lineHeight: 20 }, + p2: { fontSize: 14, fontWeight: 500, letterSpacing: 0, lineHeight: 20 }, + c1: { fontSize: 12, fontWeight: 400, letterSpacing: 0, lineHeight: 16 }, + c2: { fontSize: 12, fontWeight: 600, letterSpacing: 0, lineHeight: 16 }, + micro: { + fontSize: 10, + fontWeight: 600, + letterSpacing: 0.2, + lineHeight: 12, + }, + }, +}; diff --git a/packages/fuselage-tokens/typography.scss b/packages/fuselage-tokens/typography.scss index 002f84f98e..6425f2635c 100644 --- a/packages/fuselage-tokens/typography.scss +++ b/packages/fuselage-tokens/typography.scss @@ -1,33 +1,30 @@ -$-font-sans: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Helvetica Neue', - 'Apple Color Emoji', - 'Segoe UI Emoji', - 'Segoe UI Symbol', - 'Meiryo UI', - Arial, - sans-serif; - -$-font-mono: - Menlo, - Monaco, - Consolas, - 'Liberation Mono', - 'Courier New', - monospace; - $font-families: ( - sans: $-font-sans, - mono: $-font-mono, + sans: ( + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Helvetica Neue', + 'Apple Color Emoji', + 'Segoe UI Emoji', + 'Segoe UI Symbol', + 'Meiryo UI', + Arial, + sans-serif, + ), + mono: ( + Menlo, + Monaco, + Consolas, + 'Liberation Mono', + 'Courier New', + monospace, + ), ); - $font-scales: ( h1: ( font-size: 22, diff --git a/packages/fuselage/.loki/reference/chrome_laptop_Containers_Grid_xl_breakpoint.png b/packages/fuselage/.loki/reference/chrome_laptop_Containers_Grid_xl_breakpoint.png index 273afdac78698d08028a8781dd9b144a88c42093..8c942ec3f4cc1a2bb83290109548cff1fd9304f0 100644 GIT binary patch literal 31954 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 literal 11128 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 RjUKJPijt-x^4{Y={~z`LBgy~( From 479dfaf301c0494b7f60a11557721141adaf974a Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Wed, 30 Dec 2020 08:47:52 -0300 Subject: [PATCH 08/15] Prefer tokens from JSON modules --- .../fuselage-ui-kit/.storybook/manager.js | 2 +- .../fuselage-ui-kit/.storybook/preview.js | 25 +++++++++++-------- packages/fuselage/.storybook/manager.js | 2 +- packages/fuselage/.storybook/preview.js | 6 ++--- packages/fuselage/src/styleTokens.js | 4 +-- 5 files changed, 21 insertions(+), 18 deletions(-) diff --git a/packages/fuselage-ui-kit/.storybook/manager.js b/packages/fuselage-ui-kit/.storybook/manager.js index bd8cbc43bf..7042b42b88 100644 --- a/packages/fuselage-ui-kit/.storybook/manager.js +++ b/packages/fuselage-ui-kit/.storybook/manager.js @@ -1,4 +1,4 @@ -import colors from '@rocket.chat/fuselage-tokens/colors'; +import colors from '@rocket.chat/fuselage-tokens/colors.json'; import { addons } from '@storybook/addons'; import { create } from '@storybook/theming/create'; diff --git a/packages/fuselage-ui-kit/.storybook/preview.js b/packages/fuselage-ui-kit/.storybook/preview.js index d44113bc01..ab37e6e9ad 100644 --- a/packages/fuselage-ui-kit/.storybook/preview.js +++ b/packages/fuselage-ui-kit/.storybook/preview.js @@ -1,4 +1,4 @@ -import breakpointTokens from '@rocket.chat/fuselage-tokens/breakpoints'; +import breakpointTokens from '@rocket.chat/fuselage-tokens/breakpoints.json'; import { DocsPage, DocsContainer } from '@storybook/addon-docs/blocks'; import { addParameters } from '@storybook/react'; import 'normalize.css/normalize.css'; @@ -14,16 +14,19 @@ addParameters({ cellSize: 4, }, viewport: { - viewports: Object.entries(breakpointTokens).reduce((obj, [name, { minViewportWidth }]) => ({ - ...obj, - [name]: { - name, - styles: { - width: `${ minViewportWidth }px`, - height: '90%', + viewports: breakpointTokens.reduce( + (obj, { name, minViewportWidth }) => ({ + ...obj, + [name]: { + name, + styles: { + width: `${minViewportWidth}px`, + height: '90%', + }, + type: 'desktop', }, - type: 'desktop', - }, - }), {}), + }), + {} + ), }, }); diff --git a/packages/fuselage/.storybook/manager.js b/packages/fuselage/.storybook/manager.js index f1f264d677..b50c27dd0f 100644 --- a/packages/fuselage/.storybook/manager.js +++ b/packages/fuselage/.storybook/manager.js @@ -1,4 +1,4 @@ -import colorTokens from '@rocket.chat/fuselage-tokens/colors'; +import colorTokens from '@rocket.chat/fuselage-tokens/colors.json'; import { addons } from '@storybook/addons'; import { create } from '@storybook/theming/create'; diff --git a/packages/fuselage/.storybook/preview.js b/packages/fuselage/.storybook/preview.js index 43da19a748..751cbaf95e 100644 --- a/packages/fuselage/.storybook/preview.js +++ b/packages/fuselage/.storybook/preview.js @@ -1,4 +1,4 @@ -import breakpointTokens from '@rocket.chat/fuselage-tokens/breakpoints'; +import breakpointTokens from '@rocket.chat/fuselage-tokens/breakpoints.json'; import { DocsPage, DocsContainer } from '@storybook/addon-docs/blocks'; import { addDecorator, addParameters } from '@storybook/react'; import 'loki/configure-react'; @@ -20,8 +20,8 @@ addParameters({ storySort: ([, a], [, b]) => a.kind.localeCompare(b.kind), }, viewport: { - viewports: Object.entries(breakpointTokens).reduce( - (obj, [name, { minViewportWidth }]) => ({ + viewports: breakpointTokens.reduce( + (obj, { name, minViewportWidth }) => ({ ...obj, [name]: { name, diff --git a/packages/fuselage/src/styleTokens.js b/packages/fuselage/src/styleTokens.js index e9897beba1..ecf9f4f03a 100644 --- a/packages/fuselage/src/styleTokens.js +++ b/packages/fuselage/src/styleTokens.js @@ -1,6 +1,6 @@ import { cssSupports } from '@rocket.chat/css-in-js'; -import tokenColors from '@rocket.chat/fuselage-tokens/colors'; -import tokenTypography from '@rocket.chat/fuselage-tokens/typography'; +import tokenColors from '@rocket.chat/fuselage-tokens/colors.json'; +import tokenTypography from '@rocket.chat/fuselage-tokens/typography.json'; import invariant from 'invariant'; import { memoize } from './helpers/memoize'; From 2c2d7c000c9e71836f768888409ff3cce6fd630a Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Wed, 30 Dec 2020 14:50:19 -0300 Subject: [PATCH 09/15] Upgrade build dependencies --- packages/ui-kit/package.json | 36 +++++++++++++++---------------- yarn.lock | 41 +++++++----------------------------- 2 files changed, 26 insertions(+), 51 deletions(-) diff --git a/packages/ui-kit/package.json b/packages/ui-kit/package.json index a63d65004e..88d67b167c 100644 --- a/packages/ui-kit/package.json +++ b/packages/ui-kit/package.json @@ -39,28 +39,28 @@ "docs": "run-s build docs:api-extractor docs:api-documenter docs:readme docs:clean" }, "devDependencies": { - "@babel/core": "^7.11.1", + "@babel/core": "^7.12.10", "@babel/eslint-parser": "^7.12.1", - "@babel/plugin-transform-runtime": "^7.11.0", - "@babel/preset-env": "^7.11.0", - "@microsoft/api-documenter": "^7.8.25", - "@microsoft/api-extractor": "^7.9.4", + "@babel/plugin-transform-runtime": "^7.12.10", + "@babel/preset-env": "^7.12.11", + "@microsoft/api-documenter": "^7.12.1", + "@microsoft/api-extractor": "^7.12.1", "@rocket.chat/eslint-config": "^0.4.0", - "@types/jest": "^26.0.10", - "@typescript-eslint/eslint-plugin": "^4.5.0", - "@typescript-eslint/parser": "^4.5.0", + "@types/jest": "^26.0.19", + "@typescript-eslint/eslint-plugin": "^4.11.1", + "@typescript-eslint/parser": "^4.11.1", "babel-loader": "^8.1.0", - "documentation": "^13.0.2", - "eslint": "^7.13.0", - "eslint-config-prettier": "^6.15.0", - "eslint-plugin-import": "^2.22.0", - "eslint-plugin-prettier": "^3.1.4", - "jest": "^26.4.0", - "lint-staged": "^10.2.11", - "prettier": "^2.1.2", + "documentation": "^13.1.0", + "eslint": "^7.16.0", + "eslint-config-prettier": "^7.1.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.3.0", + "jest": "^26.6.3", + "lint-staged": "^10.5.3", + "prettier": "^2.2.1", "rimraf": "^3.0.2", - "ts-jest": "^26.2.0", + "ts-jest": "^26.4.4", "ts-loader": "^8.0.2", - "typescript": "^4.0.3" + "typescript": "^4.1.3" } } diff --git a/yarn.lock b/yarn.lock index dab28ff744..3a09a44da8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -87,7 +87,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.11.5", "@babel/core@^7.12.1", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.7.5": +"@babel/core@^7.1.0", "@babel/core@^7.11.5", "@babel/core@^7.12.1", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.7.5": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== @@ -1013,7 +1013,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-runtime@^7.11.0", "@babel/plugin-transform-runtime@^7.11.5", "@babel/plugin-transform-runtime@^7.12.10": +"@babel/plugin-transform-runtime@^7.11.5", "@babel/plugin-transform-runtime@^7.12.10": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz#af0fded4e846c4b37078e8e5d06deac6cd848562" integrity sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA== @@ -1082,7 +1082,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.11.5": +"@babel/preset-env@^7.11.5": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.10.tgz#ca981b95f641f2610531bd71948656306905e6ab" integrity sha512-Gz9hnBT/tGeTE2DBNDkD7BiWRELZt+8lSysHuDwmYXUIvtwZl0zI+D6mZgXZX0u8YBlLS4tmai9ONNY9tjRgRA== @@ -1787,13 +1787,6 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/create-cache-key-function@^26.5.0": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-26.6.2.tgz#04cf439207a4fd12418d8aee551cddc86f9ac5f5" - integrity sha512-LgEuqU1f/7WEIPYqwLPIvvHuc1sB6gMVbT6zWhin3txYUNYK/kGQrC1F2WR4gR34YlI9bBtViTm5z98RqVZAaw== - dependencies: - "@jest/types" "^26.6.2" - "@jest/environment@^26.6.2": version "26.6.2" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" @@ -2825,7 +2818,7 @@ js-yaml "~3.13.1" resolve "~1.17.0" -"@microsoft/api-documenter@^7.8.21", "@microsoft/api-documenter@^7.8.25": +"@microsoft/api-documenter@^7.8.21": version "7.12.0" resolved "https://registry.yarnpkg.com/@microsoft/api-documenter/-/api-documenter-7.12.0.tgz#d8aa23aebe4d486a9c030bb593c24be4d6a3de99" integrity sha512-G3nqmmHd7hX0kSohfmq0ms/Yfq4zTGwMNxQtPmc2PuhqvFUIQBqIsRWynCKjfvPLyns2QSn333+NOnj/brReJA== @@ -2846,7 +2839,7 @@ "@microsoft/tsdoc" "0.12.24" "@rushstack/node-core-library" "3.35.2" -"@microsoft/api-extractor@^7.12.1", "@microsoft/api-extractor@^7.9.2", "@microsoft/api-extractor@^7.9.4": +"@microsoft/api-extractor@^7.12.1", "@microsoft/api-extractor@^7.9.2": version "7.12.1" resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.12.1.tgz#4204be6c9f845d7d1796b6d51c58bcb25e7267e9" integrity sha512-lleLrKkqiRvOQeoRMSHQY0wl/j9SxRVd9+Btyh/WWw0kHNy7nAKyzGmejvlz2XTn13H0elJWV6C3dxhaQy4mtA== @@ -3998,7 +3991,7 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@26.x", "@types/jest@^26.0.10": +"@types/jest@26.x": version "26.0.15" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.15.tgz#12e02c0372ad0548e07b9f4e19132b834cb1effe" integrity sha512-s2VMReFXRg9XXxV+CW9e5Nz8fH2K1aEhwgjUqPPbQd7g95T0laAcvLv032EhFHIa5GHsZ8W7iJEQVaJq6k3Gog== @@ -11632,7 +11625,7 @@ jest-worker@^26.2.1, jest-worker@^26.6.1, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" -jest@^26.0.1, jest@^26.4.0, jest@^26.6.1, jest@^26.6.3: +jest@^26.0.1, jest@^26.6.1, jest@^26.6.3: version "26.6.3" resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== @@ -11982,7 +11975,7 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= -lint-staged@^10.0.8, lint-staged@^10.2.11: +lint-staged@^10.0.8: version "10.5.1" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.1.tgz#901e915c2360072dded0e7d752a0d9a49e079daa" integrity sha512-fTkTGFtwFIJJzn/PbUO3RXyEBHIhbfYBE7+rJyLcOXabViaO/h6OslgeK6zpeUtzkDrzkgyAYDTLAwx6JzDTHw== @@ -17915,24 +17908,6 @@ ts-jest@^26.1.0, ts-jest@^26.4.4: semver "7.x" yargs-parser "20.x" -ts-jest@^26.2.0: - version "26.4.3" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.3.tgz#d153a616033e7ec8544b97ddbe2638cbe38d53db" - integrity sha512-pFDkOKFGY+nL9v5pkhm+BIFpoAuno96ff7GMnIYr/3L6slFOS365SI0fGEVYx2RKGji5M2elxhWjDMPVcOCdSw== - dependencies: - "@jest/create-cache-key-function" "^26.5.0" - "@types/jest" "26.x" - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - jest-util "^26.1.0" - json5 "2.x" - lodash.memoize "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "20.x" - ts-loader@^8.0.2: version "8.0.9" resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.9.tgz#890fc25f49a99124268f4e738ed22d00f666dc37" From d6b1f4ae65ee67930ff300a6704634dde14712e9 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Thu, 31 Dec 2020 08:56:09 -0300 Subject: [PATCH 10/15] Exit script on unhandled promise rejection --- packages/fuselage-tokens/scripts/build.mjs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/fuselage-tokens/scripts/build.mjs b/packages/fuselage-tokens/scripts/build.mjs index 4175179706..c5dff53b59 100644 --- a/packages/fuselage-tokens/scripts/build.mjs +++ b/packages/fuselage-tokens/scripts/build.mjs @@ -158,6 +158,12 @@ const buildTypography = async () => { ]); }; +process.on('unhandledRejection', (err) => { + console.error('unhandledRejection:', err.message); + console.error(err.stack); + process.exit(1); +}); + buildBreakpoints(); buildColors(); buildTypography(); From e5d4f1c0fc06b8ff07115d6cdb8e51ee4d0bd7bf Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Thu, 31 Dec 2020 18:06:24 -0300 Subject: [PATCH 11/15] Use static styles for rich content --- ...me_iphone7_Box_Props_With_rich_content.png | Bin 18259 -> 13345 bytes ...e_iphone7_Box_Rich_content_sup_and_sub.png | Bin 4727 -> 4789 bytes ...ome_laptop_Box_Props_With_rich_content.png | Bin 8903 -> 6866 bytes ...me_laptop_Box_Rich_content_sup_and_sub.png | Bin 1921 -> 2040 bytes packages/fuselage/src/components/Box/index.js | 22 +- .../fuselage/src/components/Box/styles.scss | 8 + .../index.js => stylingProps.js} | 15 +- .../Box/stylingProps/richContentStyle.js | 253 ------------------ .../styles/primitives/traits/rich-text.scss | 108 ++++---- 9 files changed, 85 insertions(+), 321 deletions(-) rename packages/fuselage/src/components/Box/{stylingProps/index.js => stylingProps.js} (95%) delete mode 100644 packages/fuselage/src/components/Box/stylingProps/richContentStyle.js diff --git a/packages/fuselage/.loki/reference/chrome_iphone7_Box_Props_With_rich_content.png b/packages/fuselage/.loki/reference/chrome_iphone7_Box_Props_With_rich_content.png index f3b284a57bd9b74eedc7aebb020cb74a60bee307..72bcc14b36903713344f7c01a8d1c85e04a89ddb 100644 GIT binary patch literal 13345 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

5Vw*Y)WfZFnt@x}KP4rFJddAu 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 X6nbglM226CL%MMGvRsy#jeYq(T6Md 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 apt&zqL~SLnLh$eiqV_=Rewni6%l`o7#YM#c diff --git a/packages/fuselage/.loki/reference/chrome_laptop_Box_Props_With_rich_content.png b/packages/fuselage/.loki/reference/chrome_laptop_Box_Props_With_rich_content.png index 712a4467ecd2f4d9652ade5e6a1b4da84c295601..5c8b52d2a623726523a7357554838eff0743c5aa 100644 GIT binary patch literal 6866 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 literal 8903 zcmdsd_aoK+-}jL;2+6Kcgrq{r9(^=qL`4y@DqDy`#vw^4qLdYtqOwCMGdp{)>|NP= zUypO$w?5zNhwBfx@AJcFIPdd5@7MG7d_LCecwbPFr>5LZNgxoY70#W$L?BRz;JJH(f9gcQS=5tCW z=T+pkqy+oEdvG8y@Z4@g#dBhQJ)Ax|cN9%4+IDFeK4!2~zjLKwuezeJnaM>nKRyL6 zx>Kg7wfky0y@d*Lh?;YZtk!-_t=W;yT2Aq!t+^wPy@}OJYY~z8Cc?Yv{=S5`n5yrQ zasGX&D&|K&+IR)CQH1?{$MEjqvwnNM^YstT9k(04a8x(zQNDg&ZEbRkJJ0#h2l@Kl z1+=m&(^uB5%o;y2Zt-yM@9#IxX88L}j+>a$%o@K}R#JB%)E#{5l#2IySuaO*g~^cY(ijGz$Yk(QA9+fXiYa!SNiAApGj$HE@rke zWh;N5Y${Pm%Hhz`%t(ERl;bgvE!2iR-#w$xG7IRwGpY;~6BBzH5HRU=_<*3`)6w?y z6ymyTsHoMNdU5LK&)Vz_8IYHEa@Ve1J}yktgOvqE zMHJfF+P@lOW}|w_((61J+q6zs}lYi5B8j2!w(O;bLY+r`kl+G zD4=q6L1pEWYv1mMwCQBt_I&+%A0EQ=XNFKDaZMb1*xlV-vJmU@w;^8gQi=%ZWSrF0 zWTByPQ<>Xjr_8Z{MFK}QFh zn`wRYWUsG4U{KH*FByWySr`T1g!lGC;F9CQo}oAVygaXCyDF_X%`e@LFd)k=GIhG`fv8*(JHSbbg~=*QjDu_ z&kSG8SsdJ>qoec4-+$)1Y^QnGxXik`Is&Tt8d#zpd*ulSafQyUuf(6cdt{{S!^Nl! z=fz{zR^|>Pb?+nlUnpBxSWL{%56z9X14L?Z_qzIeD)nbF2L%Op^7Hc#R)%?HXG;Sa zII-7BNlEfmjWMbmY81w1W`_vtt6l3)^7RR?t-5jud!_HCp3FsI$uWE%F2^zvM6Ei7 zE#Kq4Y`&ADjj_%2vg8}^KxaF7I)8Ard(`Ii>C-zoII3HcuP3Lc8xQ;l+Dt(qbo0ma zl3&F6v1{F(O*7*;%L#cU<>loKW4L?t_=~f(6%tznd9c@EP2|6!K$n^~NZE*&I=wnC2CGPkX`7+z~e5ZK0 zgH_JeRc3i^l)quE!@g_am3`+Mr}?oz?dkqAGj?%tap(lm?D;91L3>+U@`Kh%b*sjW z?-ZVuXgL);q;_{2U(Iry<{{M9*7`SUpn(7VD%^W@mCi#;ODpiji?hzoQe|aj85tSD z-~S;J*EyE~U^E%_Csowd84|PScB3{G!9pJRwxfDE73p2BN--+0K3sZFiK6Uamtu*k zE&bD);_d6p#l!QkwDjEDw{MlNcgj9l@t~E-Yijz^azZ0sE9iuI(^CKvzHFfUrEz`q zdBVctBBL2`b?FY%5v@W17+{NfWMrg&aIkl1$e2=>BO>=8zCUz??X8TAOiN1(s>=T3 z#gTG!Ci`#4bd%amw6wH=&z_k!e4q9okDj0T-RytdxGL%P zfFicb0i(q#>*^dZ+U3wk4eTpOxb`i>x@Xhn*ee6=R=Mx-9EF92PXhzL57$OrO);V- z;KTiBI$_hg2fEq!=vZ030T7r+k?i!_Kc4fcf4Jb@(xO@aMy80=mw=K~^JYJ3r@181 zidl0)rE#Ro+4e7%RB4eCcMj3>DCe07e>Q78q!KA}-k)8XQe9D|YK2r4?6Tdj2Jh=7 zegRLPp2R0wldo@`{oPEAGqx0D(Zr(wU4WU}qiQvWyZ3JlNI>o`kBb7=g`EH&dnNDg zkd&0HCp(3XCymGL{&O;m{m+cE3BhXSNb3ty+41FSe!N z`}g~=U%xiamiqU46~-_k9hmX}C+GeC{u>0HYu8XgsgAFAoQnDBH?DJBVzBsI{YR~f z1vIpODV}aI>R`*iDkUXKUu~loPgnTeKfiGgIw46)kuw`_75@4E@k7D)D?v`I9{Csk z@JdL8_7r#>w`fV?-1^mah=#iX7v)O7Jt==_QGe zG&D3ImKK-0)~g^Z$ymg!_gyc3Og46z-j7{6RN~IB3tud*e!V;T1H4LANzcw+RW6XL z490@{HfT=;jI5l)?q?l!fqH!OY@CQ#EntN zMCD*XGI@Dl+(;K~5pGJI2rm<{K6)-+A->f9cJ^u3vGm|gk2z!`L@e8|N0k3PA~12R zC(IZK?Ck8P<>jYgDZ58UDIkWfJA3G>gc ztM?%1$s9)0np<*-xg!y}PNOH(YFc0siv2nKVI9(Mb-dL`)P*nzo*F0*8%u`BCP4Mn zK?+LPkL}2V%vN?E_8_~XFuH;Brz75TdQ>jW{#JV<=eenwo}PXL`v1z6`LCFZS6FV( z$cO?)8ffypwH3&Dvi!x7k@^_g^;y03Gy3}bz_r2@7PLSEhO1YvM(?wn>@6axYad4b z&^FY*#7@rMlag_`JzXFmAi$zCD+I2ENxZ5+QA_e9Shp1l5uHMU3$#FeqMj@vD?8i! z(WAWj`e%?P^{`sN7%dY&J=aA~h)h57tu%tb;QCn%QcW(AxQm`1uE2+{p`yIJ54r(e zU(z5VE*^sAhcrnU7H(7fuwCEW+!x9Lrgm^)vhVQK&xJGET3Wk-RO+A9x4XdzBw4f` z!}pb7el*i>u_fj#9U>gj{z4+&=g%41(ygkM1hQ{Xz5!C2G=6I2YR5DFpO=)9=a;v< zJUmQo4+s zZ{gSHgQ4*5k1*E(eNule znyoMEsuYD=Dk2d=HcB8Le~C_utE~ z7~5LNo%XL-^z+JyttAt(~)gEb{xJivd}F? z%Wq2JlpSmm&mr)Rn>8E+S}iONMJ|rSM4B|ku>#{BczLNsouz(A!=?yeCM5}ce0-jR z(B%7%AAk1s&hOBsTp++;MTkdyyyYA65Ilvoy?u<`NL^m`DN=iqDB$DAkBEX8ws{cO z7LD)zY56DDb@iOGa$!M1L2A(2nzW;nlkITL{ucszRbMRIhno{Q5)u+XNS;HH#0b## zBuM77Ni8RQYOtWeCJaRsTyD6OV;~|88#s|r5lbyY$qls;U>tukDI_SU2xCZf*@B0g zyJv9l;gcs%Mzn152Q~CuAQ(1dabOIuW<4Ssug?=1z|GA_d3(I8 z9wS;>R@PG*!1XRBX1d3VP3FCnk}-vk=pM64zQEe2(XA;C zlZI<^>A8%dF}FIt0?kRgrIl)uU-w?=>bJW`*d*+_@o0ed=tBMJ{5w26JZRGU&z{j+ zwx#YraNt3X%kmV`Cq_qAlAh@;@^x@@tVJq8(q51ule4n}=#+|Ak}p$Jg}+#JRb|-p zO-xL@2GFEhbw!Z=XxR=0bz%X9RwkANw*3oy=3Am_O`My2pWe^P%3?vXFhbzkXj3}A z4>gh^1Fc`3=8wwzvmcpzVE^~6i%E+dyeCdDf~dn^y^5T@w6Pzj*RGrLf87AqN5O2D z|I^o8Oyc{Si5kiO?>X-OFhl<@e`qR(L`7WkeutAQ0Txx2VWR8r82{E^{5Z>#vwbPL z4_0Px-n<#`>eczm&=bCveGnAr9+2XX$c$qfMHiB1!i@^`1sRqXXX;f$M6F1HSrJVy z#GtZr1^xNGd-nMH`j+QruDrc@%> z+~^%JMA)Rp4GAAv_wcZZS&Cs1C3vn7eMwUL5fKqU>0PX>+fO1yfdDINY-B{FcO_1f z%+1SdD;_KLR!3-;>+%z1y?fc%OxsfVWY-p=Of8I!jgj@1AUvU*ZBH|2Mo77ji^~JN zCUN)ABLD@ca1auUG=&)TI;bYusmYD1lu2eF7g5h}8RMUXa0+=H z;vw?M$w?#>AoDV?W@|1{mK0FnLSEn^Ksyvn4DqJn}xZys0hG>ho1pY*d=vmAu{{QRWWSEiLC zq*&eH!jf!urh9;`tEV=Fj%B?0;OurwB>~c7Pib6fLbE}?|ZuQ zJ&->Op{Xz*^18b0Oib(ZdLw91(bdZFd8Z2(ZGAV;Rm!`BMue7K3U-qcn&Ubqr6No; zv2U6f5!{d$7)DWo zXo~DkIa1~oQon%U;8IAB?c2Ba{0QQY7J&~eE-Ukfe36rrBSpT=iF!k@jZk5pkWa}j z%Xj5Yo!U-C#eX}(DrfN_LdCj|YP?3(5tV38NZX>~;$rnXtb6vDo8{i>kVw$U{0=1b z_VbHI@Q5rl*}6xL5H6eh2(teCVU?FYn@f?jYA#_Ebbl>M#+Q5j2Tc6HtrVOu$ zKoE@#&J<>Wbk0PIVsPNqgK(V$7-*cH{{9F4{t+6!!)>LbQJB2eVTg92_KQLnd7e_VD)i=M@l0%uAV`nmXnpaQPDh(h95}A(H~k z52e&Ras!4;DDGHJ)o9x7+o9&(<)vXWdj|*40=(RRzj*P&d1)lZv)Dl}FF`x~=<@uy zK!XtmD_XJX?b0302jU1E4*#<_H9%EKEl6Bj;T%7|A-4Jr{IeN5ii-!6+gAHH*1I7C zv!;IV!+7k1XMh#cHH-wHlUfgH()oC;v|w>t9&9Jh#A+L&ai02kk0=ce0>Bntpk-WO z2pGs(ooioMS~9#jOBA>Kc6T&b#zg`Z=7OVY-ln^QjzHLSlk{5vJ>o0aZc;#qb1M_T z1@Zx5vxZW2%i)oc#Zt3VZu}Yv-G~dp^XI*&I}$~lTTr@(XaVTSqUPq8kl=4?3?z!A zwUw00PPwr;HAx5w~`L} zrKF^`(bDol;)8RJBb7wPPNwdM)e2B!eT*vewu?%2aaWIjwI8oS*g#fVRTVAgNeQRb+tc%pwY4C6km9=@ z#4o&qIJ|X~y#FAI-_q8$X`Y5NRM>PEjH~MU;KpK3R}|8}@>vrj9akdNI(P0|cg>qq zfZJaI+O^bM$a{Kv4r_mT3?O}R^x6-&BW2#(VJYBxIvm;IaGykHt4p)w-KZpYP8j{Z zg9o=MDJg-HNIfVa@wGI*cSCD%u6Iez>f3@0a9|IHmM5J!>0}-QiXBW=1=fT>BB(_x z=eM_q&38KapYdg4beQia`aFL8xFn%zbMOgsCb-S_uB%HkV;x}-S#{s+t#lm+7y-*y z4E2!CideMd;UP)C8o&Y9Vco2Su55}8Qm0GN(Ekqy@JQU@7vsOb(cmNs|Bqj6{O?MC ch)6a(-mNQt&$j_TMj5@LhIseLmUa&4@VI)jK#)!YKRh2 zE{)bA%&jY{7$UMz?n#;RJcGw-Kq_{&7001St z3&s-wAPDe#ySyy;td9=93BEQ(dg7dbd%fCX@JA-n3GXEjB3}MfDgemc#AEh*#js{X z1eZ6W9qn^pZ#Tb7)K}b-RQNe8C8ex}ws+yFtLgqn9qGRt8{b?|@Jx4)ZkWViyga>H zw)@gd`~<1aFsxkHZBF6kbLP{mKJ3}+`)VytgbVAY$zfe}6130O{)M|scmHbiom#hs zY)%9WH?WRNvV8>nB1JZPsa=nBFQ74J-XTC$vqr0pt33eK$p$zs{0Mc`x3 zndile;@6*;YkCd|yU^%jIThWX6P?mR4Cj_ipHP^~Vr9G|!4L>FMpue(%E-i|+~}<2 z=XW}T5%SPqAP^X!P^{V6@LslqisPkA_UF!>%h0tiY-m7!8Ei}zP7zlZ#T*W&nj*5L z3^fVf)`V!Hd@VpgGQ(NF=_Ui6$Ym;Bff$ zp40R5^MG$1Nz;RkCiYbv)2X3uZ2xLglD4v(S~{dkc#uLdKX&XG88*nhkaa~x&(q(( zbM#sI_m#Pwe+usr`AHB|>|*Lp+_mZ`u_s_^YUcNUU=^|w9#TDMC0LnOoOadvT$zZ|reGKl;#%=5rvA?A$qBD)Kl zXC-TKprW^MS*JVcCcv&;yQ(9`oCD0&{rvngG~h`Gt|(_06r>4G8Ny(f4>HW>zKFP0 z^N;EI`Odz+8bCooftR=UubP_gB-{;J45<%pw6gAIv68g~PE#naQ%-up8%GtJ1k zg2iJ4pB6rR`(a{gIyyhz74SH|V01M25KOf>?i(fTcobaD35%Fj}-K;B9!YWlwO?+^$At;dS$Y5jSUBBAWKFr+Q94c-(gV>c1k6R{% zhK628Mi?5qv-G#gA0`mGz@qoR*EKX;uMZo3_2R{UT0ZC-7;FM~!^77I|FiQWn$f|0 zT5)l&AlFzt)NJ?t`*)}|l7`QPf$ji_I8=;kGzyv>;bU;P*Dqc?k*xg?zb;d;yYQto z^x^r%$s@8*4Y2oFtC#(i1iyxG12;D}sE#c?DQWZS(o}mTpZX;nXIOz zu8s>0HGR%@IMd6r*=1w|a;l)95cKjUR@*k}w#eFL!$}fUsiXe3l`_8foxF?;Xijb} zmFPBns(v7XDGfzkC06o(pul~x!Q2|aX3?`M{k8!Hv4!__}ul6zKHW5ILb z%%0Y^w$byA)dMr6p{7Qow!P3oCUetnQ&Yn~{>b^za^VFX z_j`JJI=Q(i*+oyEoaip-F0%W^s0@@I&bc$`CC5}tPXSp&gbj7m3=UMkBazz%NQk85 zWH>ZgK@}FhF1gf}rRU-8tp-{^+vfb=JjrVM)vJnkz4riJ42v^e`DVZ&Ho9nbcGi2W zw4~%0H8tm|6U`mn-JJXP?~8<{QUPA&{Z*0N^M4kEZ&;8ECJ&uXrxg`twvX|HYYzMP z;36aU@%enf(%O1qb?Hwa_S=`W9$QId0QXXXy12LiPriOzFHG66dKBD1=eT2>|NT=6VzHQox|jpz zP%fM80d@rwbSD^2Z{PX`hlCJD+cPx(jZ(G)73Sc;2E!qzsK_lU$})k+Ex`;%oOKEE+>J$R5uzy$!^;}7_q*Lj`uea<H(~SFrVM6rvx!a1WWwz^ct!Fc5OidI!W; zQoc>76uc;Bc7JGU*6pG6xf-UhUHw0>Mj{wgorc?Vgyu(eaX zidxbt`m(FoJh`HuposbR?2YGNBtrKGYk{Myu^ri0l2|n;I6BVS+WJ>NKb_p%+^pBHSxmGX)R#SfoyB5Fp~BB&vDmO3 z_CQ&AxlZ7s(=;RH!+c-<=GSQLWPLw{$(C67xpPT3BX-D+8ZE4E?FR)SEzPjLFJHn|MMBpXv){ZCdQe?$K+(S0xy4@iT?| zq{l*+E@(Mb)(3teweohj!C;x8Q=kXdwbomjb#*$_EvST7^6miFc=nU>guYhs<+o>nG!Gi>F;bim_H#H>aLiRTr)!NXJAUgXEYd{zzj3 zLqq7BygZlgEKH2dxi~ugGGr`x=D3ZGjg%o#!>4u=@A742#OYzf$un-9Q#sUd1zFKj z!ki6wP+nfnprWW?ZfpZ=$YhJi-_g;V9?J%GdEnp|}9^77sk7w6R0X3WofBqStA84%nRh|PaX+S%EO3GpYN z^Eq+$>{&uUfVj{$cQ;zgxkl)d<`Vw>C>I|QxCLk)$P|RnP5_z6OZK_OI!~E>NR3xV=bsg z={wx@Bk`?wy}hSX+%o1$2Z0DhPF0QUg@GslvYQ*9SadUFL%ApC-@;1?>v|38SyGKU z5>;&-|G5Q~l$88F`Y!1YK0zD63@`|!_&w*?LVqFOt;LZlU{cQDda=@#Q~UHipK6Xi zdM1JwCMv66A9>j5V-fCM(9~0OGSXk^?%lfp34F(M@+GOW9ujkNb53>P>0ZMXI`;-o z)9G{-6_pn?HEB=bXimsT$j%nKhDBE=5D2I73@J4=wV;iO$H-uoV*CY;RHT52OKaS5 z5-gQWZmtPl-B@Xr3+8Rkw6(R#!=j(2r7<$iqX(<}l|@8E%wApVFTk3rNGND(77m{v zU8Nc=*YoxE_9}8dG8j{{%vS^=Q7NuDkVs^$cA@xo!%FP-yxv`iIdLIGPuVhU_N}$E z^Vno5pP=Y6FnlSnv^OFcd5>eo~Wv)r}t@Sh`u)01BzC&&1z3fO6uwEHo@cZ@zuN5I9$gKpZCq< z4Uyn=BALt_8_P)6An!3o@Jv`DLTR=>JvpER_eQJ9F)_j>FU4M3tB9j+H}Wf4WiWi| zb|}eqxT^c7Kv{ri@Ld^Ki9`fwJ5w_=rFYt4CrE48#z^a<&N5XIvtA`-RaGgV+tre| zK`YHimzpM@?B!a#fmsPUA5M#|q(1s^yEEOe^-mF*MWX7ypd|I>0r~yifZ*fjV!IdH m)J-#1&ID$g7AJbdDjR}r6oN6gG%GT>_3*!6iNp;6 diff --git a/packages/fuselage/src/components/Box/index.js b/packages/fuselage/src/components/Box/index.js index 9aa762439e..cf6ed967c9 100644 --- a/packages/fuselage/src/components/Box/index.js +++ b/packages/fuselage/src/components/Box/index.js @@ -46,13 +46,30 @@ export const useBoxOnlyProps = (props) => { } }); + if (props.animated) { + props.className = prependClassName(props.className, 'rcx-box--animated'); + delete props.animated; + } + + if (props.withRichContent) { + props.className = prependClassName( + props.className, + 'rcx-box--with-inline-elements' + ); + props.className = prependClassName( + props.className, + 'rcx-box--with-block-elements' + ); + delete props.withRichContent; + } + props.className = prependClassName(props.className, 'rcx-box rcx-box--full'); return props; }; export const Box = memo( - forwardRef(function Box({ is = 'div', children, animated, ...props }, ref) { + forwardRef(function Box({ is = 'div', children, ...props }, ref) { useStyleSheet(); if (ref) { @@ -69,9 +86,6 @@ export const Box = memo( props = useBoxOnlyProps(props); props = useStylingProps(props); - if (animated) { - props.className = prependClassName(props.className, 'rcx-box--animated'); - } const element = createElement(is, props, children); if (transformFn) { diff --git a/packages/fuselage/src/components/Box/styles.scss b/packages/fuselage/src/components/Box/styles.scss index ce62de04e9..ae5837ec66 100644 --- a/packages/fuselage/src/components/Box/styles.scss +++ b/packages/fuselage/src/components/Box/styles.scss @@ -19,4 +19,12 @@ @extend %box--full; } } + + &--with-inline-elements { + @extend %--with-inline-elements; + } + + &--with-block-elements { + @extend %--with-block-elements; + } } diff --git a/packages/fuselage/src/components/Box/stylingProps/index.js b/packages/fuselage/src/components/Box/stylingProps.js similarity index 95% rename from packages/fuselage/src/components/Box/stylingProps/index.js rename to packages/fuselage/src/components/Box/stylingProps.js index 51a9af983b..d259fb43e1 100644 --- a/packages/fuselage/src/components/Box/stylingProps/index.js +++ b/packages/fuselage/src/components/Box/stylingProps.js @@ -1,10 +1,10 @@ import { css } from '@rocket.chat/css-in-js'; import PropTypes from 'prop-types'; -import { appendClassName } from '../../../helpers/appendClassName'; -import { createPropType } from '../../../helpers/createPropType'; -import { fromCamelToKebab } from '../../../helpers/fromCamelToKebab'; -import { useStyle } from '../../../hooks/useStyle'; +import { appendClassName } from '../../helpers/appendClassName'; +import { createPropType } from '../../helpers/createPropType'; +import { fromCamelToKebab } from '../../helpers/fromCamelToKebab'; +import { useStyle } from '../../hooks/useStyle'; import { borderWidth, borderRadius, @@ -15,8 +15,7 @@ import { padding, fontFamily, fontScale, -} from '../../../styleTokens'; -import richContentStyle from './richContentStyle'; +} from '../../styleTokens'; const stringProp = { toCSSValue: (value) => (typeof value === 'string' ? value : undefined), @@ -249,10 +248,6 @@ const propDefs = { : undefined, propType: PropTypes.bool, }, - withRichContent: { - toStyle: (value) => (value ? richContentStyle : undefined), - propType: PropTypes.bool, - }, withTruncatedText: { toStyle: (value) => value diff --git a/packages/fuselage/src/components/Box/stylingProps/richContentStyle.js b/packages/fuselage/src/components/Box/stylingProps/richContentStyle.js deleted file mode 100644 index fa0d7def08..0000000000 --- a/packages/fuselage/src/components/Box/stylingProps/richContentStyle.js +++ /dev/null @@ -1,253 +0,0 @@ -import { css } from '@rocket.chat/css-in-js'; - -import { - borderWidth, - borderRadius, - color, - margin, - padding, - fontFamily, - fontScale, -} from '../../../styleTokens'; - -export default css` - strong, - em, - b, - i, - a, - q, - cite, - code, - time, - dfn, - abbr, - del, - ins, - sup, - sub, - kbd, - var, - small, - h1, - h2, - h3, - h4, - h5, - h6, - p { - color: inherit; - font: inherit; - letter-spacing: inherit; - } - - strong, - b { - font-weight: bolder; - } - - em, - i { - font-style: italic; - } - - a { - &:link { - text-decoration: none; - color: ${color('link')}; - } - - &:visited, - &.is-visited { - color: ${color('visited-link')}; - } - - &:active, - &.is-active { - color: ${color('active-link')}; - } - - &:hover, - &.is-hovered { - text-decoration: underline; - } - } - - q { - &::before { - content: open-quote; - } - - &::after { - content: close-quote; - } - - cite { - font-style: italic; - } - } - - code { - padding: ${padding('x4')} ${padding('x8')}; - border-radius: ${borderRadius('x2')}; - background-color: ${color('neutral-300')}; - font-family: ${fontFamily('mono')}; - -webkit-font-smoothing: auto; - } - - time { - color: ${color('info')}; - } - - dfn { - color: ${color('info')}; - font-style: italic; - } - - abbr { - &[title] { - text-decoration: underline dashed; - border-block-end-width: ${borderWidth('none')}; - } - } - - del { - text-decoration: line-through solid; - } - - ins { - text-decoration: underline solid; - } - - sup, - sub { - position: relative; - vertical-align: baseline; - font-size: 75%; - line-height: 0; - } - - sup { - inset-block-start: -0.5em; - } - - sub { - inset-block-start: -0.25em; - } - - kbd { - padding: ${padding('x4')} ${padding('x8')}; - border-width: ${borderWidth('x1')}; - border-style: solid; - border-color: currentColor; - border-radius: ${borderRadius('x2')}; - font-family: ${fontFamily('mono')}; - -webkit-font-smoothing: auto; - } - - var { - font-style: italic; - } - - small { - font-size: 80%; - } - - h1, - h2, - h3, - h4, - h5, - h6, - p, - ul, - ol, - pre { - display: block; - margin: ${margin('x16')} ${margin('none')}; - } - - h1 { - font-size: ${fontScale('h1')?.fontSize}; - font-weight: ${fontScale('h1')?.fontWeight}; - line-height: ${fontScale('h1')?.lineHeight}; - letter-spacing: ${fontScale('h1')?.letterSpacing}; - } - - h2 { - font-size: ${fontScale('s2')?.fontSize}; - font-weight: ${fontScale('s2')?.fontWeight}; - line-height: ${fontScale('s2')?.lineHeight}; - letter-spacing: ${fontScale('s2')?.letterSpacing}; - } - - h3 { - font-size: ${fontScale('p2')?.fontSize}; - font-weight: ${fontScale('p2')?.fontWeight}; - line-height: ${fontScale('p2')?.lineHeight}; - letter-spacing: ${fontScale('p2')?.letterSpacing}; - } - - h4 { - font-size: ${fontScale('c2')?.fontSize}; - font-weight: ${fontScale('c2')?.fontWeight}; - line-height: ${fontScale('c2')?.lineHeight}; - letter-spacing: ${fontScale('c2')?.letterSpacing}; - } - - h5 { - font-size: ${fontScale('micro')?.fontSize}; - font-weight: ${fontScale('micro')?.fontWeight}; - line-height: ${fontScale('micro')?.lineHeight}; - letter-spacing: ${fontScale('micro')?.letterSpacing}; - } - - h6 { - font-size: ${fontScale('micro')?.fontSize}; - font-weight: ${fontScale('micro')?.fontWeight}; - line-height: ${fontScale('micro')?.lineHeight}; - letter-spacing: ${fontScale('micro')?.letterSpacing}; - } - - p { - font-size: ${fontScale('p1')?.fontSize}; - font-weight: ${fontScale('p1')?.fontWeight}; - line-height: ${fontScale('p1')?.lineHeight}; - letter-spacing: ${fontScale('p1')?.letterSpacing}; - } - - ul, - ol { - padding-inline-start: ${padding('x40')}; - } - - ul { - font-size: ${fontScale('p1')?.fontSize}; - font-weight: ${fontScale('p1')?.fontWeight}; - line-height: ${fontScale('p1')?.lineHeight}; - letter-spacing: ${fontScale('p1')?.letterSpacing}; - list-style-type: disc; - } - - ol { - font-size: ${fontScale('p1')?.fontSize}; - font-weight: ${fontScale('p1')?.fontWeight}; - line-height: ${fontScale('p1')?.lineHeight}; - letter-spacing: ${fontScale('p1')?.letterSpacing}; - list-style-type: decimal; - } - - li { - display: list-item; - text-align: inherit; - } - - pre { - font-family: ${fontFamily('mono')}; - - code { - display: block; - padding: ${padding('x16')}; - } - } -`; diff --git a/packages/fuselage/src/styles/primitives/traits/rich-text.scss b/packages/fuselage/src/styles/primitives/traits/rich-text.scss index 0be8ce95b8..8f36131ab5 100644 --- a/packages/fuselage/src/styles/primitives/traits/rich-text.scss +++ b/packages/fuselage/src/styles/primitives/traits/rich-text.scss @@ -3,39 +3,33 @@ @use '../../typography.scss'; %--with-inline-elements { - strong { - letter-spacing: inherit; - - font: inherit; - font-weight: bolder; - } - - em { - letter-spacing: inherit; - - font: inherit; - font-style: italic; - } - - b { + a, + abbr, + b, + cite, + code, + del, + dfn, + em, + i, + ins, + kbd, + q, + samp, + small, + strong, + sub, + sup, + time, + var { letter-spacing: inherit; - font: inherit; - font-weight: bolder; - } - - i { - letter-spacing: inherit; + color: inherit; font: inherit; - font-style: italic; } a { - letter-spacing: inherit; - - font: inherit; - &:link { text-decoration: none; @@ -58,6 +52,34 @@ } } + strong { + letter-spacing: inherit; + + font: inherit; + font-weight: bolder; + } + + em { + letter-spacing: inherit; + + font: inherit; + font-style: italic; + } + + b { + letter-spacing: inherit; + + font: inherit; + font-weight: bolder; + } + + i { + letter-spacing: inherit; + + font: inherit; + font-style: italic; + } + q { letter-spacing: inherit; @@ -80,9 +102,7 @@ } code { - padding: - lengths.padding(4) - lengths.padding(8); + padding: lengths.padding(4) lengths.padding(8); letter-spacing: inherit; @@ -143,33 +163,21 @@ position: relative; vertical-align: baseline; - letter-spacing: inherit; - font: inherit; font-size: 75%; line-height: 0; } sup { inset-block-start: -0.5em; - - letter-spacing: inherit; - - font: inherit; } sub { inset-block-end: -0.25em; - - letter-spacing: inherit; - - font: inherit; } kbd { - padding: - lengths.padding(4) - lengths.padding(8); + padding: lengths.padding(4) lengths.padding(8); letter-spacing: inherit; @@ -233,9 +241,7 @@ h6 { display: block; - margin: - lengths.margin(16) - lengths.margin(none); + margin: lengths.margin(16) lengths.margin(none); } p { @@ -243,9 +249,7 @@ display: block; - margin: - lengths.margin(16) - lengths.margin(none); + margin: lengths.margin(16) lengths.margin(none); color: inherit; } @@ -254,9 +258,7 @@ ol { display: block; - margin: - lengths.margin(16) - lengths.margin(none); + margin: lengths.margin(16) lengths.margin(none); padding-inline-start: lengths.padding(40); } @@ -281,9 +283,7 @@ } pre { - margin: - lengths.margin(16) - lengths.margin(none); + margin: lengths.margin(16) lengths.margin(none); letter-spacing: inherit; From 28103206b8e894d06f5d5a63469c720ff0508d3e Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Mon, 4 Jan 2021 00:56:02 -0300 Subject: [PATCH 12/15] Use Storybook's addons-essentials --- packages/fuselage-ui-kit/.storybook/logo.svg | 48 +- packages/fuselage-ui-kit/.storybook/main.js | 12 +- .../fuselage-ui-kit/.storybook/preview.js | 10 +- packages/fuselage-ui-kit/package.json | 14 +- .../src/UIKitMessage.stories.mdx | 204 ++- .../src/UIKitModal.stories.mdx | 336 ++-- packages/fuselage/.storybook/logo.svg | 48 +- packages/fuselage/.storybook/main.js | 7 +- packages/fuselage/.storybook/preview.js | 4 +- packages/fuselage/package.json | 19 +- yarn.lock | 1405 +++++++---------- 11 files changed, 1026 insertions(+), 1081 deletions(-) diff --git a/packages/fuselage-ui-kit/.storybook/logo.svg b/packages/fuselage-ui-kit/.storybook/logo.svg index db01bc2087..6ae18fa4b9 100644 --- a/packages/fuselage-ui-kit/.storybook/logo.svg +++ b/packages/fuselage-ui-kit/.storybook/logo.svg @@ -1 +1,47 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + diff --git a/packages/fuselage-ui-kit/.storybook/main.js b/packages/fuselage-ui-kit/.storybook/main.js index 0fdf237e9e..c4bffd277b 100644 --- a/packages/fuselage-ui-kit/.storybook/main.js +++ b/packages/fuselage-ui-kit/.storybook/main.js @@ -1,16 +1,8 @@ const webpack = require('webpack'); module.exports = { - addons: [ - '@storybook/addon-actions', - '@storybook/addon-backgrounds', - '@storybook/addon-docs', - '@storybook/addon-knobs', - '@storybook/addon-viewport', - ], - stories: [ - '../src/**/*.stories.{mdx,js}', - ], + addons: ['@storybook/addon-essentials'], + stories: ['../src/**/*.stories.{mdx,js}'], webpackFinal: (config) => { config.plugins.push(new webpack.EnvironmentPlugin(['NODE_ENV'])); diff --git a/packages/fuselage-ui-kit/.storybook/preview.js b/packages/fuselage-ui-kit/.storybook/preview.js index ab37e6e9ad..27521bb41c 100644 --- a/packages/fuselage-ui-kit/.storybook/preview.js +++ b/packages/fuselage-ui-kit/.storybook/preview.js @@ -6,13 +6,17 @@ import '@rocket.chat/icons/dist/rocketchat.css'; import '@rocket.chat/fuselage-polyfills'; addParameters({ + backgrounds: { + grid: { + cellSize: 4, + cellAmount: 4, + opacity: 0.5, + }, + }, docs: { container: DocsContainer, page: DocsPage, }, - grid: { - cellSize: 4, - }, viewport: { viewports: breakpointTokens.reduce( (obj, { name, minViewportWidth }) => ({ diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index 2f31bdeaa1..844aef1c5d 100644 --- a/packages/fuselage-ui-kit/package.json +++ b/packages/fuselage-ui-kit/package.json @@ -56,15 +56,11 @@ "@rocket.chat/fuselage-hooks": "^0.20.1", "@rocket.chat/icons": "^0.20.1", "@rocket.chat/ui-kit": "^0.20.1", - "@storybook/addon-actions": "^6.0.21", - "@storybook/addon-backgrounds": "^6.0.21", - "@storybook/addon-docs": "^6.0.21", - "@storybook/addon-knobs": "^6.0.21", - "@storybook/addon-viewport": "^6.0.21", - "@storybook/addons": "^6.0.21", - "@storybook/react": "^6.0.21", - "@storybook/source-loader": "^6.0.21", - "@storybook/theming": "^6.0.21", + "@storybook/addon-essentials": "^6.1.11", + "@storybook/addons": "^6.1.11", + "@storybook/react": "^6.1.11", + "@storybook/source-loader": "^6.1.11", + "@storybook/theming": "^6.1.11", "babel-loader": "^8.1.0", "eslint": "^7.13.0", "eslint-config-prettier": "^6.15.0", diff --git a/packages/fuselage-ui-kit/src/UIKitMessage.stories.mdx b/packages/fuselage-ui-kit/src/UIKitMessage.stories.mdx index 4c897d3fca..59055b7006 100644 --- a/packages/fuselage-ui-kit/src/UIKitMessage.stories.mdx +++ b/packages/fuselage-ui-kit/src/UIKitMessage.stories.mdx @@ -1,22 +1,39 @@ +import { action } from '@storybook/addon-actions'; import { Meta, Canvas, Story } from '@storybook/addon-docs/blocks'; -import { withKnobs, object } from '@storybook/addon-knobs'; -import { UiKitMessage } from '.'; +import { kitContext, UiKitMessage } from '.'; ( + + {storyFn()} + + ), + ]} /> # UI Kit Message - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} - - {UiKitMessage( - object('payload', [ + + {({ payload }) => UiKitMessage(payload)} diff --git a/packages/fuselage-ui-kit/src/UIKitModal.stories.mdx b/packages/fuselage-ui-kit/src/UIKitModal.stories.mdx index dcc63ac2c3..b1bae1d69a 100644 --- a/packages/fuselage-ui-kit/src/UIKitModal.stories.mdx +++ b/packages/fuselage-ui-kit/src/UIKitModal.stories.mdx @@ -1,5 +1,5 @@ +import { action } from '@storybook/addon-actions'; import { Meta, Canvas, Story } from '@storybook/addon-docs/blocks'; -import { withKnobs, text, boolean } from '@storybook/addon-knobs'; import { UiKitModal, kitContext, defaultContext, UiKitComponent } from '.'; import { Demo } from './Demo'; @@ -9,119 +9,162 @@ import { Demo } from './Demo'; parameters={{ jest: ['UiKitModal/spec'], }} - decorators={[withKnobs]} + argTypes={{ + payload: { control: 'object' }, + errors: { control: 'object' }, + visible: { control: 'boolean' }, + }} + decorators={[ + (storyFn) => ( + + {storyFn()} + + ), + ]} /> # UI Kit Modal - - - - - - + }, + label: { + type: 'plain_text', + text: 'Label', + emoji: true, + }, + }, + ], + errors: { 'input-test': 'asdas' }, + visible: true, + }} + > + {({ payload, errors, visible }) => ( + + + {UiKitModal(payload)} + + + )} - - - - - - + + {({ payload, errors, visible }) => ( + + + {UiKitModal(payload)} + + + )} - - - - - - + }, + label: { + type: 'plain_text', + text: 'Label', + emoji: true, + }, + }, + ], + errors: { 'input-test': 'asdas' }, + visible: true, + }} + > + {({ payload, errors, visible }) => ( + + + {UiKitModal(payload)} + + + )} - - - {UiKitModal([ + + ], + errors: {}, + visible: true, + }} + > + {({ payload, errors, visible }) => ( + + + {UiKitModal(payload)} + + + )} - - - {UiKitModal([ + + ], + errors: {}, + visible: true, + }} + > + {({ payload, errors, visible }) => ( + + + {UiKitModal(payload)} + + + )} - - - {UiKitModal([ + + ], + errors: {}, + visible: true, + }} + > + {({ payload, errors, visible }) => ( + + + {UiKitModal(payload)} + + + )} - - - {UiKitModal(JSON.parse(text('json', '[]')))} - + + {({ payload, errors, visible }) => ( + + + {UiKitModal(payload)} + + + )} diff --git a/packages/fuselage/.storybook/logo.svg b/packages/fuselage/.storybook/logo.svg index db01bc2087..6ae18fa4b9 100644 --- a/packages/fuselage/.storybook/logo.svg +++ b/packages/fuselage/.storybook/logo.svg @@ -1 +1,47 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + diff --git a/packages/fuselage/.storybook/main.js b/packages/fuselage/.storybook/main.js index d89030e4e6..851f73bca1 100644 --- a/packages/fuselage/.storybook/main.js +++ b/packages/fuselage/.storybook/main.js @@ -2,12 +2,7 @@ const webpack = require('webpack'); module.exports = { addons: [ - '@storybook/addon-actions', - '@storybook/addon-backgrounds', - '@storybook/addon-controls', - '@storybook/addon-docs', - '@storybook/addon-knobs', - '@storybook/addon-viewport', + '@storybook/addon-essentials', ...(process.env.NODE_ENV === 'production' ? ['@storybook/addon-jest'] : []), ], stories: ['../src/**/*.stories.{mdx,js}'], diff --git a/packages/fuselage/.storybook/preview.js b/packages/fuselage/.storybook/preview.js index 751cbaf95e..f60d121903 100644 --- a/packages/fuselage/.storybook/preview.js +++ b/packages/fuselage/.storybook/preview.js @@ -7,9 +7,11 @@ import '@rocket.chat/icons/dist/rocketchat.css'; import '@rocket.chat/fuselage-polyfills'; addParameters({ - background: { + backgrounds: { grid: { cellSize: 4, + cellAmount: 4, + opacity: 0.5, }, }, docs: { diff --git a/packages/fuselage/package.json b/packages/fuselage/package.json index 4fe3bb0b69..401e1718ff 100644 --- a/packages/fuselage/package.json +++ b/packages/fuselage/package.json @@ -65,18 +65,13 @@ "@rocket.chat/eslint-config": "^0.4.0", "@rocket.chat/fuselage-hooks": "^0.20.1", "@rocket.chat/fuselage-polyfills": "^0.20.1", - "@storybook/addon-actions": "^6.0.21", - "@storybook/addon-backgrounds": "^6.0.21", - "@storybook/addon-controls": "^6.1.10", - "@storybook/addon-docs": "^6.0.21", - "@storybook/addon-jest": "^6.0.21", - "@storybook/addon-knobs": "^6.0.21", - "@storybook/addon-links": "^6.0.21", - "@storybook/addon-viewport": "^6.0.21", - "@storybook/addons": "^6.0.21", - "@storybook/react": "^6.0.21", - "@storybook/source-loader": "^6.0.21", - "@storybook/theming": "^6.0.21", + "@storybook/addon-essentials": "^6.1.11", + "@storybook/addon-jest": "^6.1.11", + "@storybook/addon-links": "^6.1.11", + "@storybook/addons": "^6.1.11", + "@storybook/react": "^6.1.11", + "@storybook/source-loader": "^6.1.11", + "@storybook/theming": "^6.1.11", "autoprefixer": "^10.0.1", "babel-loader": "^8.1.0", "caniuse-lite": "^1.0.30001151", diff --git a/yarn.lock b/yarn.lock index 3a09a44da8..f64f1d2fed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,7 +9,14 @@ dependencies: "@babel/highlight" "^7.8.3" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.5.5": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.5.5": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== @@ -43,7 +50,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@7.12.3", "@babel/core@>=7.9.0": +"@babel/core@7.12.3": version "7.12.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== @@ -87,7 +94,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.11.5", "@babel/core@^7.12.1", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.7.5": +"@babel/core@>=7.9.0", "@babel/core@^7.1.0", "@babel/core@^7.11.5", "@babel/core@^7.12.1", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.7.5": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== @@ -148,7 +155,16 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.12.1", "@babel/generator@^7.12.10", "@babel/generator@^7.12.5": +"@babel/generator@^7.12.1", "@babel/generator@^7.12.10", "@babel/generator@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" + integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== + dependencies: + "@babel/types" "^7.12.11" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/generator@^7.12.5": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.10.tgz#2b188fc329fb8e4f762181703beffc0fe6df3460" integrity sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww== @@ -234,16 +250,16 @@ dependencies: "@babel/types" "^7.12.1" -"@babel/helper-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" - integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== +"@babel/helper-function-name@^7.10.4", "@babel/helper-function-name@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz#1fd7738aee5dcf53c3ecff24f1da9c511ec47b42" + integrity sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA== dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/helper-get-function-arity" "^7.12.10" + "@babel/template" "^7.12.7" + "@babel/types" "^7.12.11" -"@babel/helper-get-function-arity@^7.10.4": +"@babel/helper-get-function-arity@^7.12.10": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf" integrity sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag== @@ -257,7 +273,7 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-member-expression-to-functions@^7.12.1": +"@babel/helper-member-expression-to-functions@^7.12.1", "@babel/helper-member-expression-to-functions@^7.12.7": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== @@ -286,7 +302,7 @@ "@babel/types" "^7.12.1" lodash "^4.17.19" -"@babel/helper-optimise-call-expression@^7.10.4": +"@babel/helper-optimise-call-expression@^7.10.4", "@babel/helper-optimise-call-expression@^7.12.10": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d" integrity sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ== @@ -308,14 +324,14 @@ "@babel/types" "^7.12.1" "@babel/helper-replace-supers@^7.12.1": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9" - integrity sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA== + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz#ea511658fc66c7908f923106dd88e08d1997d60d" + integrity sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA== dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.1" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.12.5" - "@babel/types" "^7.12.5" + "@babel/helper-member-expression-to-functions" "^7.12.7" + "@babel/helper-optimise-call-expression" "^7.12.10" + "@babel/traverse" "^7.12.10" + "@babel/types" "^7.12.11" "@babel/helper-simple-access@^7.12.1": version "7.12.1" @@ -331,19 +347,21 @@ dependencies: "@babel/types" "^7.12.1" -"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": +"@babel/helper-split-export-declaration@^7.10.4": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== dependencies: "@babel/types" "^7.11.0" -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== +"@babel/helper-split-export-declaration@^7.11.0", "@babel/helper-split-export-declaration@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz#1b4cc424458643c47d37022223da33d76ea4603a" + integrity sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g== + dependencies: + "@babel/types" "^7.12.11" -"@babel/helper-validator-identifier@^7.12.11": +"@babel/helper-validator-identifier@^7.10.4", "@babel/helper-validator-identifier@^7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== @@ -396,11 +414,16 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0" integrity sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ== -"@babel/parser@^7.10.4", "@babel/parser@^7.11.5", "@babel/parser@^7.12.10", "@babel/parser@^7.12.3", "@babel/parser@^7.12.5", "@babel/parser@^7.12.7": +"@babel/parser@^7.10.4", "@babel/parser@^7.11.5", "@babel/parser@^7.12.5": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.10.tgz#824600d59e96aea26a5a2af5a9d812af05c3ae81" integrity sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA== +"@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.3", "@babel/parser@^7.12.7": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79" + integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg== + "@babel/plugin-proposal-async-generator-functions@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" @@ -1353,7 +1376,7 @@ pirates "^4.0.0" source-map-support "^0.5.16" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== @@ -1393,7 +1416,7 @@ globals "^11.1.0" lodash "^4.17.19" -"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5", "@babel/traverse@^7.12.9": +"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.9": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.10.tgz#2d1f4041e8bf42ea099e5b2dc48d6a594c00017a" integrity sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg== @@ -1423,6 +1446,21 @@ globals "^11.1.0" lodash "^4.17.19" +"@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.12.tgz#d0cd87892704edd8da002d674bc811ce64743376" + integrity sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w== + dependencies: + "@babel/code-frame" "^7.12.11" + "@babel/generator" "^7.12.11" + "@babel/helper-function-name" "^7.12.11" + "@babel/helper-split-export-declaration" "^7.12.11" + "@babel/parser" "^7.12.11" + "@babel/types" "^7.12.12" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + "@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": version "7.12.6" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.6.tgz#ae0e55ef1cce1fbc881cd26f8234eb3e657edc96" @@ -1432,16 +1470,7 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.4.4": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.10.tgz#7965e4a7260b26f09c56bcfcb0498af1f6d9b260" - integrity sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@babel/types@^7.12.11": +"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.5", "@babel/types@^7.12.7": version "7.12.12" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" integrity sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ== @@ -1450,6 +1479,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.10.5", "@babel/types@^7.11.5", "@babel/types@^7.4.4": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.10.tgz#7965e4a7260b26f09c56bcfcb0498af1f6d9b260" + integrity sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@base2/pretty-print-object@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz#860ce718b0b73f4009e153541faff2cb6b85d047" @@ -1468,7 +1506,7 @@ exec-sh "^0.3.2" minimist "^1.2.0" -"@emotion/cache@^10.0.27", "@emotion/cache@^10.0.9": +"@emotion/cache@^10.0.27": version "10.0.29" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0" integrity sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ== @@ -1490,7 +1528,7 @@ "@emotion/sheet" "0.9.4" "@emotion/utils" "0.11.3" -"@emotion/core@^10.0.9", "@emotion/core@^10.1.1": +"@emotion/core@^10.1.1": version "10.1.1" resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.1.1.tgz#c956c1365f2f2481960064bcb8c4732e5fb612c3" integrity sha512-ZMLG6qpXR8x031NXD8HJqugy/AZSkAuMxxqB46pmAR7ze47MhNJ56cdoX243QPZdGctrdfo+s08yZTiwaUcRKA== @@ -1502,7 +1540,7 @@ "@emotion/sheet" "0.9.4" "@emotion/utils" "0.11.3" -"@emotion/css@^10.0.27", "@emotion/css@^10.0.9": +"@emotion/css@^10.0.27": version "10.0.27" resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.27.tgz#3a7458198fbbebb53b01b2b87f64e5e21241e14c" integrity sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw== @@ -1582,22 +1620,6 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@eslint/eslintrc@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c" - integrity sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - lodash "^4.17.19" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - "@eslint/eslintrc@^0.2.2": version "0.2.2" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76" @@ -2805,7 +2827,7 @@ resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== -"@microsoft/api-documenter@^7.12.1": +"@microsoft/api-documenter@^7.12.1", "@microsoft/api-documenter@^7.8.21": version "7.12.1" resolved "https://registry.yarnpkg.com/@microsoft/api-documenter/-/api-documenter-7.12.1.tgz#97a4eee87cbe775f363f7a1f46c57c57ae0bf6fd" integrity sha512-biX5s/UX6KbqBW5GHEykJ0LM3sfb177lH/2nMp4C1pytqRKz4mmPkqWrHpvx7gpzOyDGj2qvzipDH5xK6LIJVg== @@ -2818,19 +2840,6 @@ js-yaml "~3.13.1" resolve "~1.17.0" -"@microsoft/api-documenter@^7.8.21": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-documenter/-/api-documenter-7.12.0.tgz#d8aa23aebe4d486a9c030bb593c24be4d6a3de99" - integrity sha512-G3nqmmHd7hX0kSohfmq0ms/Yfq4zTGwMNxQtPmc2PuhqvFUIQBqIsRWynCKjfvPLyns2QSn333+NOnj/brReJA== - dependencies: - "@microsoft/api-extractor-model" "7.12.1" - "@microsoft/tsdoc" "0.12.24" - "@rushstack/node-core-library" "3.35.2" - "@rushstack/ts-command-line" "4.7.8" - colors "~1.2.1" - js-yaml "~3.13.1" - resolve "~1.17.0" - "@microsoft/api-extractor-model@7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.12.1.tgz#1f10915c434048da34e1c07845ba2623d5f23f66" @@ -2869,18 +2878,18 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@nodelib/fs.scandir@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" - integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== +"@nodelib/fs.scandir@2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== dependencies: - "@nodelib/fs.stat" "2.0.3" + "@nodelib/fs.stat" "2.0.4" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== +"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== "@nodelib/fs.stat@^1.1.2": version "1.1.3" @@ -2888,11 +2897,11 @@ integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== "@nodelib/fs.walk@^1.2.3": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" - integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + version "1.2.6" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== dependencies: - "@nodelib/fs.scandir" "2.1.3" + "@nodelib/fs.scandir" "2.1.4" fastq "^1.6.0" "@npmcli/move-file@^1.0.1": @@ -3023,7 +3032,7 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@popperjs/core@^2.4.4", "@popperjs/core@^2.5.4": +"@popperjs/core@^2.5.4": version "2.5.4" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.5.4.tgz#de25b5da9f727985a3757fd59b5d028aba75841a" integrity sha512-ZpKr+WTb8zsajqgDkvCEWgp6d5eJT6Q63Ng2neTbzBO76Lbe91vX/iVIW9dikq+Fs3yEo+ls4cxeXABD2LtcbQ== @@ -3039,16 +3048,15 @@ react-lifecycles-compat "^3.0.4" "@rocket.chat/apps-engine@^1.17.0": - version "1.18.0" - resolved "https://registry.yarnpkg.com/@rocket.chat/apps-engine/-/apps-engine-1.18.0.tgz#a002b9030fac335259c197f88415faaf43e040f9" - integrity sha512-Y9XgRnG8v4HtujaMXuzTd9hjycQX9+wDOE30HhHL1NQl7de4+9MzPdWDetdy+84cBrDtXCymVYF/TzmLf+69Mw== + version "1.20.0" + resolved "https://registry.yarnpkg.com/@rocket.chat/apps-engine/-/apps-engine-1.20.0.tgz#b1185ce388d5b716fea77c76bd0888c882fb4e50" + integrity sha512-ssdAAD/IZTe5zolkt/ujrvQvKOclJDswdLv8qgLLo53gOpu0MmWsXJ2Ohyn71I/KpXAomxt3W2KR4DeefkXvIw== dependencies: adm-zip "^0.4.9" cryptiles "^4.1.3" lodash.clonedeep "^4.5.0" semver "^5.5.0" stack-trace "0.0.10" - typescript "^2.9.2" uuid "^3.2.1" "@rocket.chat/eslint-config@^0.4.0": @@ -3188,17 +3196,17 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@storybook/addon-actions@^6.0.21": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.1.10.tgz#3742c316e914e2aef661a132e4d7e6c334e89997" - integrity sha512-fbt1v9Ms8g/gQC8cQ7p5qZdR5vrc3qv6el/x7M6xUhq4lBjw4NOHIhBBDhaPgS3tFY/sP/wEXR2q0iirfO9OEg== - dependencies: - "@storybook/addons" "6.1.10" - "@storybook/api" "6.1.10" - "@storybook/client-api" "6.1.10" - "@storybook/components" "6.1.10" - "@storybook/core-events" "6.1.10" - "@storybook/theming" "6.1.10" +"@storybook/addon-actions@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.1.11.tgz#73e91cc95c45ea477cfd4f3603f6b95f5829eab6" + integrity sha512-J44XLx2G732OG7Az79Cpk5UlI5SyXHeQqdykwT/4IEQXSBXAYWSTIJJjpJdcjR/D+zpklab1QDSiWxCrKbe81A== + dependencies: + "@storybook/addons" "6.1.11" + "@storybook/api" "6.1.11" + "@storybook/client-api" "6.1.11" + "@storybook/components" "6.1.11" + "@storybook/core-events" "6.1.11" + "@storybook/theming" "6.1.11" core-js "^3.0.1" fast-deep-equal "^3.1.1" global "^4.3.2" @@ -3211,17 +3219,17 @@ util-deprecate "^1.0.2" uuid "^8.0.0" -"@storybook/addon-backgrounds@^6.0.21": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-6.1.10.tgz#eba6faf23f7cb060664d05245b1b886b98edc604" - integrity sha512-RoFq/ijJLfJg7TwGfDLReqyBdmKOTfz+QVsYSPPDZdohL4k5mQhX05UKFzxAsXdYAtQdQcsIFOU6OioqAJPrsQ== - dependencies: - "@storybook/addons" "6.1.10" - "@storybook/api" "6.1.10" - "@storybook/client-logger" "6.1.10" - "@storybook/components" "6.1.10" - "@storybook/core-events" "6.1.10" - "@storybook/theming" "6.1.10" +"@storybook/addon-backgrounds@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-6.1.11.tgz#0fb2f9b30c86910eee85abcadf470e5ad3111a5d" + integrity sha512-Ft/9AGOid0VzOY+W318ljEP1JQt9yz4b24dLeQC65wMRYYdg0xC7oJ18PWoq/pJwOZjc6mkHqLHWTWFfOBDRUg== + dependencies: + "@storybook/addons" "6.1.11" + "@storybook/api" "6.1.11" + "@storybook/client-logger" "6.1.11" + "@storybook/components" "6.1.11" + "@storybook/core-events" "6.1.11" + "@storybook/theming" "6.1.11" core-js "^3.0.1" global "^4.3.2" memoizerific "^1.11.3" @@ -3229,24 +3237,24 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/addon-controls@^6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-6.1.10.tgz#c5fa6ea6266f43a952abe18754ae5de3135eab9e" - integrity sha512-m/EThT3xc1XNzZVS24Ic7+lBfWxD83M89R8BzGnqJzvxtdhRV/snSDMQlauX8Rwwdlh7A1MfZUCvERllH19M+g== - dependencies: - "@storybook/addons" "6.1.10" - "@storybook/api" "6.1.10" - "@storybook/client-api" "6.1.10" - "@storybook/components" "6.1.10" - "@storybook/node-logger" "6.1.10" - "@storybook/theming" "6.1.10" +"@storybook/addon-controls@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-6.1.11.tgz#9a104ac58eefa3cf2b0fb6f4c762b8a39ed239cc" + integrity sha512-KGK1qk95E+j0yDBgA93ctMCf/z9VosPtldhP2oZDPD8kAKz6dVPXkz7LKgrZYDH4ZySk4fDOApBC8OLe3bxE1g== + dependencies: + "@storybook/addons" "6.1.11" + "@storybook/api" "6.1.11" + "@storybook/client-api" "6.1.11" + "@storybook/components" "6.1.11" + "@storybook/node-logger" "6.1.11" + "@storybook/theming" "6.1.11" core-js "^3.0.1" ts-dedent "^2.0.0" -"@storybook/addon-docs@^6.0.21": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.1.10.tgz#a118d1c9c0ff3158e95de59b752e367aadd6880b" - integrity sha512-AN8F/ZYiHHfylCy7Ztlgist3Na4x6ojcijd83h0INgLDB1T3nZQOALd8801KmKgtPIF2843lYIr4fB11llLFPw== +"@storybook/addon-docs@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.1.11.tgz#5c4c06a0e9d34bd41d993c682141c19fe4a6061a" + integrity sha512-dC6RpNWFvbEs68WDk30jrzmPncR0u7nn0SQl0Ao1wdLqCU81ptti/t6Yc7zanlo9hokMzGiom87ZMef0ad9nTQ== dependencies: "@babel/core" "^7.12.1" "@babel/generator" "^7.12.1" @@ -3257,18 +3265,18 @@ "@mdx-js/loader" "^1.6.19" "@mdx-js/mdx" "^1.6.19" "@mdx-js/react" "^1.6.19" - "@storybook/addons" "6.1.10" - "@storybook/api" "6.1.10" - "@storybook/client-api" "6.1.10" - "@storybook/client-logger" "6.1.10" - "@storybook/components" "6.1.10" - "@storybook/core" "6.1.10" - "@storybook/core-events" "6.1.10" + "@storybook/addons" "6.1.11" + "@storybook/api" "6.1.11" + "@storybook/client-api" "6.1.11" + "@storybook/client-logger" "6.1.11" + "@storybook/components" "6.1.11" + "@storybook/core" "6.1.11" + "@storybook/core-events" "6.1.11" "@storybook/csf" "0.0.1" - "@storybook/node-logger" "6.1.10" - "@storybook/postinstall" "6.1.10" - "@storybook/source-loader" "6.1.10" - "@storybook/theming" "6.1.10" + "@storybook/node-logger" "6.1.11" + "@storybook/postinstall" "6.1.11" + "@storybook/source-loader" "6.1.11" + "@storybook/theming" "6.1.11" acorn "^7.1.0" acorn-jsx "^5.1.0" acorn-walk "^7.0.0" @@ -3289,57 +3297,50 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/addon-jest@^6.0.21": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-jest/-/addon-jest-6.1.10.tgz#5a4d14481da7906278e83d2bc9c0b1aa6c5f0235" - integrity sha512-9Ie5NssuQBcOIebPhQJJB974wubQSSpxYjmpUpoDYGvM2Bl81g24zIuAlkZHjZyznPgMBEsmu+qlxrkLqMidvw== - dependencies: - "@storybook/addons" "6.1.10" - "@storybook/api" "6.1.10" - "@storybook/components" "6.1.10" - "@storybook/core-events" "6.1.10" - "@storybook/theming" "6.1.10" +"@storybook/addon-essentials@^6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-6.1.11.tgz#0147d429b33581cc9d42398d73a8c6a5962d5796" + integrity sha512-p1AfzzR9qt6s0xxg/GclRqClbtV+67lWLUV0d37xmTNDnGbiE5guk7nKnga0yLrzhQawiOBjRUFMfAQj2t7Ycw== + dependencies: + "@storybook/addon-actions" "6.1.11" + "@storybook/addon-backgrounds" "6.1.11" + "@storybook/addon-controls" "6.1.11" + "@storybook/addon-docs" "6.1.11" + "@storybook/addon-toolbars" "6.1.11" + "@storybook/addon-viewport" "6.1.11" + "@storybook/addons" "6.1.11" + "@storybook/api" "6.1.11" + "@storybook/node-logger" "6.1.11" core-js "^3.0.1" - global "^4.3.2" - react-sizeme "^2.5.2" regenerator-runtime "^0.13.7" - upath "^1.1.0" + ts-dedent "^2.0.0" -"@storybook/addon-knobs@^6.0.21": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-6.1.10.tgz#cac21ce6e73fbaaac95c648de3354b30c0cb9511" - integrity sha512-hk0eszusVi4/Lq4bL146ZwWemtS6OiBTi1CGn9Yluzopz6RWnzo0mgGPBKz9hSw1uC/3wHxmQQaolaHcl7A0Qw== - dependencies: - "@storybook/addons" "6.1.10" - "@storybook/api" "6.1.10" - "@storybook/channels" "6.1.10" - "@storybook/client-api" "6.1.10" - "@storybook/components" "6.1.10" - "@storybook/core-events" "6.1.10" - "@storybook/theming" "6.1.10" - copy-to-clipboard "^3.0.8" +"@storybook/addon-jest@^6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-jest/-/addon-jest-6.1.11.tgz#8453fe277d8b504908437167d118b0268163aa8f" + integrity sha512-HjAaJfUe+eV/rCluWXFE74pc4V1fxt6oDbdmWUpmoI8lPdpYp2rDMZYnueA8kPzm3GPN1N0G7TbSLvvXyqVpEg== + dependencies: + "@storybook/addons" "6.1.11" + "@storybook/api" "6.1.11" + "@storybook/components" "6.1.11" + "@storybook/core-events" "6.1.11" + "@storybook/theming" "6.1.11" core-js "^3.0.1" - escape-html "^1.0.3" - fast-deep-equal "^3.1.1" global "^4.3.2" - lodash "^4.17.15" - prop-types "^15.7.2" - qs "^6.6.0" - react-color "^2.17.0" - react-lifecycles-compat "^3.0.4" - react-select "^3.0.8" + react-sizeme "^2.5.2" regenerator-runtime "^0.13.7" + upath "^1.1.0" -"@storybook/addon-links@^6.0.21": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-6.1.10.tgz#7aeaa9467527e3ef294efc5b27f22bf3ff05a4bd" - integrity sha512-Pg+mgMBacvNbeqyhcPhmRKwsJ5qg3pW66HQbUCl6viqZD6eER9a4KV663MopH5hQoPhs4tFKO85oOhJJw/VVqQ== +"@storybook/addon-links@^6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-6.1.11.tgz#84b20b0c13bbfc8270cdf52389ce52f98c415b6a" + integrity sha512-OIBeOdTHNr/egIuyOUEtEBtZJXVp9PEPQ4MDxvKsCgpnXruPhjenPNW+mQKxm4SefpePW7zkx6k1ubpYVJUeag== dependencies: - "@storybook/addons" "6.1.10" - "@storybook/client-logger" "6.1.10" - "@storybook/core-events" "6.1.10" + "@storybook/addons" "6.1.11" + "@storybook/client-logger" "6.1.11" + "@storybook/core-events" "6.1.11" "@storybook/csf" "0.0.1" - "@storybook/router" "6.1.10" + "@storybook/router" "6.1.11" "@types/qs" "^6.9.0" core-js "^3.0.1" global "^4.3.2" @@ -3348,51 +3349,62 @@ regenerator-runtime "^0.13.7" ts-dedent "^2.0.0" -"@storybook/addon-viewport@^6.0.21": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-6.1.10.tgz#f253516d61945904cc18149d8efa8937e4cc06c7" - integrity sha512-KIVq4sOBP9gTGvbvbCJn3JW1O5V6NGLTGD+NaZhEbArSoa5rxNFzmqGSRbhOKmf/SC49/t4GUv57xv+bYZQxZg== - dependencies: - "@storybook/addons" "6.1.10" - "@storybook/api" "6.1.10" - "@storybook/client-logger" "6.1.10" - "@storybook/components" "6.1.10" - "@storybook/core-events" "6.1.10" - "@storybook/theming" "6.1.10" +"@storybook/addon-toolbars@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-6.1.11.tgz#47c9e5ae4ec182aec718ccb4be34881b9fdcb9af" + integrity sha512-qeIgM28cnzaAP03BMWwfA24IZh7SLveQr+G+z41ymNFUcL8PHVTpKJof/AqjYAZ4SXzkgE3bHZ7JvfVXnbDXug== + dependencies: + "@storybook/addons" "6.1.11" + "@storybook/api" "6.1.11" + "@storybook/client-api" "6.1.11" + "@storybook/components" "6.1.11" + core-js "^3.0.1" + +"@storybook/addon-viewport@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-6.1.11.tgz#70c6c2e81a800e4cd217693a30448bb4e3cbc811" + integrity sha512-VgCRLpTu56WzSJ0piBu4nL99GtXeMcDxaLvEZKyVCoYjyQZxRcg4N9OFwxpnu6bYYF7O4pMbs2wITc4mW6YSEg== + dependencies: + "@storybook/addons" "6.1.11" + "@storybook/api" "6.1.11" + "@storybook/client-logger" "6.1.11" + "@storybook/components" "6.1.11" + "@storybook/core-events" "6.1.11" + "@storybook/theming" "6.1.11" core-js "^3.0.1" global "^4.3.2" memoizerific "^1.11.3" prop-types "^15.7.2" regenerator-runtime "^0.13.7" -"@storybook/addons@6.1.10", "@storybook/addons@^6.0.21": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.1.10.tgz#3219134bb57d26b97c1d36c0eca3649a7f952d82" - integrity sha512-hTyqBDujXnOsk63EiHDPtHqXl9ZJKHf2AGjnvYVe8hjHyYPFlHM5mb0LGoZ2QEe3hd99voe3oEk33phZ+XSbZA== - dependencies: - "@storybook/api" "6.1.10" - "@storybook/channels" "6.1.10" - "@storybook/client-logger" "6.1.10" - "@storybook/core-events" "6.1.10" - "@storybook/router" "6.1.10" - "@storybook/theming" "6.1.10" +"@storybook/addons@6.1.11", "@storybook/addons@^6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.1.11.tgz#cb4578411ca00ccb206b484df5a171ccaca34719" + integrity sha512-OZXsdmn60dVe482l9zWxzOqqJApD2jggk/8QJKn3/Ub9posmqdqg712bW6v71BBe0UXXG/QfkZA7gcyiyEENbw== + dependencies: + "@storybook/api" "6.1.11" + "@storybook/channels" "6.1.11" + "@storybook/client-logger" "6.1.11" + "@storybook/core-events" "6.1.11" + "@storybook/router" "6.1.11" + "@storybook/theming" "6.1.11" core-js "^3.0.1" global "^4.3.2" regenerator-runtime "^0.13.7" -"@storybook/api@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.1.10.tgz#7261c43ace576201945bbbc8289b7e0adc174a57" - integrity sha512-SjAhQ261KagU29jraNZo0hCn8XxuEl8i6WWwJiQyPzk1Grw3Rag/fl2FpQnNHj+3O87PfRrJLSVnGQZcfiW5zw== +"@storybook/api@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.1.11.tgz#1e0b798203df823ac21184386258cf8b5f17f440" + integrity sha512-/p4QW/p3uWO0AKVveNezX3I/CotyBKaJ5ui8PuvSPsl7yvqcsK41qI4evKOw7GMQn6oP+2enRbzHpGuCUgQSjA== dependencies: "@reach/router" "^1.3.3" - "@storybook/channels" "6.1.10" - "@storybook/client-logger" "6.1.10" - "@storybook/core-events" "6.1.10" + "@storybook/channels" "6.1.11" + "@storybook/client-logger" "6.1.11" + "@storybook/core-events" "6.1.11" "@storybook/csf" "0.0.1" - "@storybook/router" "6.1.10" + "@storybook/router" "6.1.11" "@storybook/semver" "^7.3.2" - "@storybook/theming" "6.1.10" + "@storybook/theming" "6.1.11" "@types/reach__router" "^1.3.5" core-js "^3.0.1" fast-deep-equal "^3.1.1" @@ -3405,38 +3417,38 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/channel-postmessage@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.1.10.tgz#570f70c6999ae8cb8957b9990e1a402ff11f74da" - integrity sha512-33Xs0gDxUNGxz03YlBjSyD9wFGRSIl+E/x1EqfErsm9CRb7PyHaeEuJ9wcYrPtMJnzAvndyQEEGfnzgXk5qbQg== +"@storybook/channel-postmessage@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.1.11.tgz#62c1079f04870dd27925bd538a2020e7380daa2e" + integrity sha512-voW4Z2SUacDOxwN2q1NEBL//8OpgvL2C5CeoG1VQyEllKM8Vg9t1Nxo2FFTJBzv5LeEX7VIJKeBoB25DYvKyng== dependencies: - "@storybook/channels" "6.1.10" - "@storybook/client-logger" "6.1.10" - "@storybook/core-events" "6.1.10" + "@storybook/channels" "6.1.11" + "@storybook/client-logger" "6.1.11" + "@storybook/core-events" "6.1.11" core-js "^3.0.1" global "^4.3.2" qs "^6.6.0" telejson "^5.0.2" -"@storybook/channels@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.1.10.tgz#31da5d78052532171846e3e0465832111b65f315" - integrity sha512-6WyK0OmIy0Gr58JvsmfupquTNsISkGSQX5zgUN2vMMB/rLl7HbddU7/yE/tv/F9fVJag3pXSo3pqlgtdfxXoyw== +"@storybook/channels@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.1.11.tgz#a93a83746ad78dd40e1c056029f6d93b17bb66bc" + integrity sha512-NvjWzQ95TSV1e18jaQBCOGoe+vptKH2NOKZ7QRQ7I0O5OoHKr47IXoh+MQ5C8CRD9FTdLE/xWdn1sVVEPRyHEw== dependencies: core-js "^3.0.1" ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/client-api@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.1.10.tgz#de243900d71c34b93a0714acd268ecba199d255a" - integrity sha512-qnKTL0EDEoFri7XwcmuZtcRB+AY8N72F4QFgAiLRBYVOQeEhbdZOpRJBmEA4PKjoDAU+EuIueb90hW91ZgtoBw== +"@storybook/client-api@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.1.11.tgz#d25aac484ca84a1acb01d450e756a62408f00c1a" + integrity sha512-DodJQzGCR+PYs26klvbquTjfBgkw5nvCZd3jpgWQtOrYaY/cMY1LLkVkKqrm2ENW8f7vf7tiw78RtxaXy7xeIQ== dependencies: - "@storybook/addons" "6.1.10" - "@storybook/channel-postmessage" "6.1.10" - "@storybook/channels" "6.1.10" - "@storybook/client-logger" "6.1.10" - "@storybook/core-events" "6.1.10" + "@storybook/addons" "6.1.11" + "@storybook/channel-postmessage" "6.1.11" + "@storybook/channels" "6.1.11" + "@storybook/client-logger" "6.1.11" + "@storybook/core-events" "6.1.11" "@storybook/csf" "0.0.1" "@types/qs" "^6.9.0" "@types/webpack-env" "^1.15.3" @@ -3451,23 +3463,23 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/client-logger@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.1.10.tgz#491d960387ab336408f596c22f171c19247a1236" - integrity sha512-06EnESLaNCeHSzsZEEMiy9QtyucTy2BvQ2Z0yPnZLuXTXZNgI6aOtftpehwKSYXdudaIvLkb6xfNvix0BBgHhw== +"@storybook/client-logger@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.1.11.tgz#5dd092e4293e5f58f7e89ddbc6eb2511b7d60954" + integrity sha512-dSc+VKLW1UaiMPMhlZYRqhynrrHdHFiBEgU28+8LcmoZ1yhZBwLkcKdSD4YTT0CbMJAG1/+NUW5kRI8Geeg+rA== dependencies: core-js "^3.0.1" global "^4.3.2" -"@storybook/components@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.1.10.tgz#1c82504ebdb24c317168745600fb5264f572694e" - integrity sha512-n3+tlSFt+hapNxkASpAIEhyXDR7xmE/x+LW4xxuYfRRxvOy0zAgcrgY8BkDmxWzGH3M/Ev5uVVVdxaRIw7i2SA== +"@storybook/components@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.1.11.tgz#edd5db7fe43f47b5a7ab515840795a89d931512e" + integrity sha512-DGDl76uONTkg0rpsa36TpVuXv4K7rFYe8GnQ/Q8n4By5tvldC4s9YXwcDRYHVrfnYybKzuZ/+jv2ZAp4/8ZaeA== dependencies: - "@popperjs/core" "^2.4.4" - "@storybook/client-logger" "6.1.10" + "@popperjs/core" "^2.5.4" + "@storybook/client-logger" "6.1.11" "@storybook/csf" "0.0.1" - "@storybook/theming" "6.1.10" + "@storybook/theming" "6.1.11" "@types/overlayscrollbars" "^1.9.0" "@types/react-color" "^3.0.1" "@types/react-syntax-highlighter" "11.0.4" @@ -3480,22 +3492,22 @@ overlayscrollbars "^1.10.2" polished "^3.4.4" react-color "^2.17.0" - react-popper-tooltip "^3.1.0" + react-popper-tooltip "^3.1.1" react-syntax-highlighter "^13.5.0" react-textarea-autosize "^8.1.1" ts-dedent "^2.0.0" -"@storybook/core-events@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.1.10.tgz#e7eff165753c50c2f92adb8cd1576d3799d94e4c" - integrity sha512-Xv56iXXSf53xiBDW0XEKypfw+1HZw7BN38AISQdbEX5+0y+VLHdWe6vdXIeoXz6ja0lP0Dnrjn4g8usenJzgmA== +"@storybook/core-events@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.1.11.tgz#d50e8ec90490f9a7180a8c8a83afb6dcfe47ed66" + integrity sha512-hTib81W8PxepM7iXVvl3pBXSaGpChl5LTzaLCoIRO9sSB8dy0/x2DLAHzbQvShk/l1wqUc3TtOLIxq+eC9l3wg== dependencies: core-js "^3.0.1" -"@storybook/core@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.1.10.tgz#c86819dab3710fa52c3744aa4a8050eec6833ffe" - integrity sha512-AIsb35tmy9Y5LKsn9dJpHoVHn3pCbR+fOVNq75Sdm3hc5NfRAeNIM/qrCnp8BRRzAFIYDPU59kTFX3LHxIlIvg== +"@storybook/core@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.1.11.tgz#ed9d3b513794c604ab11180f6a014924b871179e" + integrity sha512-pYOOQwiNJ5myLRn6p6nnLUjjjISHK/N55vS4HFnETYSaRLA++h1coN1jk7Zwt89dOQTdF0EsTJn+6snYOC+lxQ== dependencies: "@babel/core" "^7.12.3" "@babel/plugin-proposal-class-properties" "^7.12.1" @@ -3519,20 +3531,20 @@ "@babel/preset-react" "^7.12.1" "@babel/preset-typescript" "^7.12.1" "@babel/register" "^7.12.1" - "@storybook/addons" "6.1.10" - "@storybook/api" "6.1.10" - "@storybook/channel-postmessage" "6.1.10" - "@storybook/channels" "6.1.10" - "@storybook/client-api" "6.1.10" - "@storybook/client-logger" "6.1.10" - "@storybook/components" "6.1.10" - "@storybook/core-events" "6.1.10" + "@storybook/addons" "6.1.11" + "@storybook/api" "6.1.11" + "@storybook/channel-postmessage" "6.1.11" + "@storybook/channels" "6.1.11" + "@storybook/client-api" "6.1.11" + "@storybook/client-logger" "6.1.11" + "@storybook/components" "6.1.11" + "@storybook/core-events" "6.1.11" "@storybook/csf" "0.0.1" - "@storybook/node-logger" "6.1.10" - "@storybook/router" "6.1.10" + "@storybook/node-logger" "6.1.11" + "@storybook/router" "6.1.11" "@storybook/semver" "^7.3.2" - "@storybook/theming" "6.1.10" - "@storybook/ui" "6.1.10" + "@storybook/theming" "6.1.11" + "@storybook/ui" "6.1.11" "@types/glob-base" "^0.3.0" "@types/micromatch" "^4.0.1" "@types/node-fetch" "^2.5.4" @@ -3606,10 +3618,10 @@ dependencies: lodash "^4.17.15" -"@storybook/node-logger@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.1.10.tgz#0d69f30cf4c798919d2e467fad11d95273265ec7" - integrity sha512-ABmkDbqsEgP+Szzs0TSaAeaudCtA25Pbd9n5bhaMQBqka86VV0Engtm5FHtYBE58XzWjD8L3AoBkPOt0mtRDVg== +"@storybook/node-logger@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.1.11.tgz#8e0d058b4804f2fea03c9d7d331b8e2d02f3b7ff" + integrity sha512-MASonXDWpSMU9HF9mqbGOR1Ps/DTJ8AVmYD50+OnB9kXl4M42Dliobeq7JwKFMnZ42RelUCCSXdWW80hGrUKKA== dependencies: "@types/npmlog" "^4.1.2" chalk "^4.0.0" @@ -3617,24 +3629,24 @@ npmlog "^4.1.2" pretty-hrtime "^1.0.3" -"@storybook/postinstall@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.1.10.tgz#bd5fb91c704dbb2b6e3a65e1372781732aae1ed2" - integrity sha512-EhlDF5rc2aA2szkjaFrd3pvwa1zJkJLF1sYwJMlzaw6/5RoaNSu4ecccMJfTHJJdhaMjcchFK/8NImF0XjrP5w== +"@storybook/postinstall@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.1.11.tgz#4b13de88ee42bfa2d65f7d4cf4924884b9c0dc7e" + integrity sha512-ICW70RuOJOHD7PcKq62yr7hCmo04F7yRMuy5/MD/G+Neaw3YpfYTc6pQ228h5UrmXiKSKG1unPkjzuIAoIeN7w== dependencies: core-js "^3.0.1" -"@storybook/react@^6.0.21": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-6.1.10.tgz#bd1883e4c82370dd7180e80f7e006ea1dda3a91d" - integrity sha512-m6A2JkybvSZEh/DQe7az7qRxvbM+yBh3z5ziJ1CLX6CkLtjUkQ+D5666b+/CUXqp297e/xDVFMNt3rSuqNHdpA== +"@storybook/react@^6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-6.1.11.tgz#e94403cd878c66b445df993bad9bec9023db3ebe" + integrity sha512-EmR7yvVW6z6AYhfzAgJMGR/5+igeBGa1EePaEIibn51r5uboSB72N12NaADyF2OaycIdV+0sW6vP9Zvlvexa/w== dependencies: "@babel/preset-flow" "^7.12.1" "@babel/preset-react" "^7.12.1" "@pmmmwh/react-refresh-webpack-plugin" "^0.4.2" - "@storybook/addons" "6.1.10" - "@storybook/core" "6.1.10" - "@storybook/node-logger" "6.1.10" + "@storybook/addons" "6.1.11" + "@storybook/core" "6.1.11" + "@storybook/node-logger" "6.1.11" "@storybook/semver" "^7.3.2" "@types/webpack-env" "^1.15.3" babel-plugin-add-react-displayname "^0.0.5" @@ -3651,10 +3663,10 @@ ts-dedent "^2.0.0" webpack "^4.44.2" -"@storybook/router@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.1.10.tgz#c6d6fe8bc0e767bdbbd95750799de12f56603ff1" - integrity sha512-q9rQzkwz0Sz6lIfiEP4uydmZ3+ERSFhv/M8BZvZTiTKH3IXgYVbjoCFPRjtR3qyvIw6gHXh3ipy0JssUig/yYg== +"@storybook/router@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.1.11.tgz#d58e0c8324d8b16d71e09c017a4e3c844b1a4139" + integrity sha512-YEYOoKMo/WI13MZCkdqI9X3H1G0Oj5OUxi7So4qd3khX3zcCjSr3LjiMDBcmIVZpFo5VAvzjhIY4KqpgvzTG0A== dependencies: "@reach/router" "^1.3.3" "@types/reach__router" "^1.3.5" @@ -3671,13 +3683,13 @@ core-js "^3.6.5" find-up "^4.1.0" -"@storybook/source-loader@6.1.10", "@storybook/source-loader@^6.0.21": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.1.10.tgz#984bfe77dfecb989dbba2c0bf0a40d0b90013489" - integrity sha512-ovQa5hoM/AdIblSlPXa5RokEy3DIq/H+JZAOA8zIN6gn4ZrdROEhbztK0MB1jcMsVARrORRVSEg8us/AiMTfwQ== +"@storybook/source-loader@6.1.11", "@storybook/source-loader@^6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.1.11.tgz#26e0ba30d5b9d1828ed10ccb76eb38bf48aad304" + integrity sha512-pEMWGn3XwZYAXwIrtmd7ziH5d1zN8NCpJM8vNJssntZFW45rDo69xgGM/PrTLPDca6f/Mhv+vqzR99tdfarJSw== dependencies: - "@storybook/addons" "6.1.10" - "@storybook/client-logger" "6.1.10" + "@storybook/addons" "6.1.11" + "@storybook/client-logger" "6.1.11" "@storybook/csf" "0.0.1" core-js "^3.0.1" estraverse "^4.2.0" @@ -3688,15 +3700,15 @@ regenerator-runtime "^0.13.7" source-map "^0.7.3" -"@storybook/theming@6.1.10", "@storybook/theming@^6.0.21": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.1.10.tgz#f41f23c9ac8602eac48a62c69ad24137381d2247" - integrity sha512-6XDfDBQUxS2WzacPWa4qDc6z1HlbkIveFxhsXPn1O59CclnTJHqPI6bltcC3EKRSAYhgLBJmGbft4CedK6Ypzg== +"@storybook/theming@6.1.11", "@storybook/theming@^6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.1.11.tgz#0e757e0562aedefc96bd1d12714d4c8e92823467" + integrity sha512-zRChacVgKoU2BmpvwK1ntiF3KIpc8QblJT7IGiKfP/BNpy9gNeXbLPLk3g/tkHszOvVYtkaZhEXni4Od8tqy1A== dependencies: "@emotion/core" "^10.1.1" "@emotion/is-prop-valid" "^0.8.6" "@emotion/styled" "^10.0.23" - "@storybook/client-logger" "6.1.10" + "@storybook/client-logger" "6.1.11" core-js "^3.0.1" deep-object-diff "^1.1.0" emotion-theming "^10.0.19" @@ -3706,21 +3718,21 @@ resolve-from "^5.0.0" ts-dedent "^2.0.0" -"@storybook/ui@6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.1.10.tgz#7967765decb2d5816c61633712eb3f55d57249df" - integrity sha512-py3wkG3OxOrYsPG4Kq1c3JP88fZ28/k7dxpx85bH+9N0wzMbxAlEvbA9E01Phv64aR18yPiHjAgJNIw5DQw+gg== +"@storybook/ui@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.1.11.tgz#2e5a5df010f2bb75a09a0fd0439fc8e62f8c89e5" + integrity sha512-Qth2dxS5+VbKHcqgkiKpeD+xr/hRUuUIDUA/2Ierh/BaA8Up/krlso/mCLaQOa5E8Og9WJAdDFO0cUbt939c2Q== dependencies: "@emotion/core" "^10.1.1" - "@storybook/addons" "6.1.10" - "@storybook/api" "6.1.10" - "@storybook/channels" "6.1.10" - "@storybook/client-logger" "6.1.10" - "@storybook/components" "6.1.10" - "@storybook/core-events" "6.1.10" - "@storybook/router" "6.1.10" + "@storybook/addons" "6.1.11" + "@storybook/api" "6.1.11" + "@storybook/channels" "6.1.11" + "@storybook/client-logger" "6.1.11" + "@storybook/components" "6.1.11" + "@storybook/core-events" "6.1.11" + "@storybook/router" "6.1.11" "@storybook/semver" "^7.3.2" - "@storybook/theming" "6.1.10" + "@storybook/theming" "6.1.11" "@types/markdown-to-jsx" "^6.11.0" copy-to-clipboard "^3.0.8" core-js "^3.0.1" @@ -3848,13 +3860,13 @@ dependencies: "@babel/core" ">=7.9.0" -"@stylelint/postcss-markdown@^0.36.1": - version "0.36.1" - resolved "https://registry.yarnpkg.com/@stylelint/postcss-markdown/-/postcss-markdown-0.36.1.tgz#829b87e6c0f108014533d9d7b987dc9efb6632e8" - integrity sha512-iDxMBWk9nB2BPi1VFQ+Dc5+XpvODBHw2n3tYpaBZuEAFQlbtF9If0Qh5LTTwSi/XwdbJ2jt+0dis3i8omyggpw== +"@stylelint/postcss-markdown@^0.36.2": + version "0.36.2" + resolved "https://registry.yarnpkg.com/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz#0a540c4692f8dcdfc13c8e352c17e7bfee2bb391" + integrity sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ== dependencies: - remark "^12.0.0" - unist-util-find-all-after "^3.0.1" + remark "^13.0.0" + unist-util-find-all-after "^3.0.2" "@types/anymatch@*": version "1.3.1" @@ -4044,9 +4056,9 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/minimist@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" - integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= + version "1.2.1" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" + integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== "@types/node-fetch@^2.5.4": version "2.5.7" @@ -4133,11 +4145,11 @@ "@types/reactcss" "*" "@types/react-dom@^16.9.8": - version "16.9.9" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.9.tgz#d2d0a6f720a0206369ccbefff752ba37b9583136" - integrity sha512-jE16FNWO3Logq/Lf+yvEAjKzhpST/Eac8EMd1i4dgZdMczfgqC8EjpxwNgEe3SExHYLliabXDh9DEhhqnlXJhg== + version "16.9.10" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.10.tgz#4485b0bec3d41f856181b717f45fd7831101156f" + integrity sha512-ItatOrnXDMAYpv6G8UCk2VhbYVTjZT9aorLtA/OzDN9XJ2GKcfam68jutoAcILdRjsRUO8qb7AmyObF77Q8QFw== dependencies: - "@types/react" "*" + "@types/react" "^16" "@types/react-syntax-highlighter@11.0.4": version "11.0.4" @@ -4154,6 +4166,14 @@ "@types/prop-types" "*" csstype "^3.0.2" +"@types/react@^16": + version "16.14.2" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.2.tgz#85dcc0947d0645349923c04ccef6018a1ab7538c" + integrity sha512-BzzcAlyDxXl2nANlabtT4thtvbbnhee8hMmH/CcJrISDBVcJS1iOsP1f0OAgSdGE0MsY9tqcrb9YoZcOFv9dbQ== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + "@types/reactcss@*": version "1.2.3" resolved "https://registry.yarnpkg.com/@types/reactcss/-/reactcss-1.2.3.tgz#af28ae11bbb277978b99d04d1eedfd068ca71834" @@ -4253,20 +4273,7 @@ resolved "https://registry.yarnpkg.com/@types/yoga-layout/-/yoga-layout-1.9.1.tgz#6c00e4a151a9a529397d580e2cf6f3947a42a928" integrity sha512-OpfgQXWLZn5Dl7mOd8dBNcV8NywXbYYoHjUpa64vJ/RQABaxMzJ5bVicKLGIvIiMnQPtPgKNgXb5jkv9fkOQtw== -"@typescript-eslint/eslint-plugin@^4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.11.0.tgz#bc6c1e4175c0cf42083da4314f7931ad12f731cc" - integrity sha512-x4arJMXBxyD6aBXLm3W7mSDZRiABzy+2PCLJbL7OPqlp53VXhaA1HKK7R2rTee5OlRhnUgnp8lZyVIqjnyPT6g== - dependencies: - "@typescript-eslint/experimental-utils" "4.11.0" - "@typescript-eslint/scope-manager" "4.11.0" - debug "^4.1.1" - functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/eslint-plugin@^4.11.1": +"@typescript-eslint/eslint-plugin@^4.11.0", "@typescript-eslint/eslint-plugin@^4.11.1", "@typescript-eslint/eslint-plugin@^4.5.0": version "4.11.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.11.1.tgz#7579c6d17ad862154c10bc14b40e5427b729e209" integrity sha512-fABclAX2QIEDmTMk6Yd7Muv1CzFLwWM4505nETzRHpP3br6jfahD9UUJkhnJ/g2m7lwfz8IlswcwGGPGiq9exw== @@ -4279,31 +4286,6 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/eslint-plugin@^4.5.0": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.6.1.tgz#99d77eb7a016fd5a5e749d2c44a7e4c317eb7da3" - integrity sha512-SNZyflefTMK2JyrPfFFzzoy2asLmZvZJ6+/L5cIqg4HfKGiW2Gr1Go1OyEVqne/U4QwmoasuMwppoBHWBWF2nA== - dependencies: - "@typescript-eslint/experimental-utils" "4.6.1" - "@typescript-eslint/scope-manager" "4.6.1" - debug "^4.1.1" - functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.11.0.tgz#d1a47cc6cfe1c080ce4ead79267574b9881a1565" - integrity sha512-1VC6mSbYwl1FguKt8OgPs8xxaJgtqFpjY/UzUYDBKq4pfQ5lBvN2WVeqYkzf7evW42axUHYl2jm9tNyFsb8oLg== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.11.0" - "@typescript-eslint/types" "4.11.0" - "@typescript-eslint/typescript-estree" "4.11.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - "@typescript-eslint/experimental-utils@4.11.1": version "4.11.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.11.1.tgz#2dad3535b878c25c7424e40bfa79d899f3f485bc" @@ -4316,29 +4298,7 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/experimental-utils@4.6.1": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.6.1.tgz#a9c691dfd530a9570274fe68907c24c07a06c4aa" - integrity sha512-qyPqCFWlHZXkEBoV56UxHSoXW2qnTr4JrWVXOh3soBP3q0o7p4pUEMfInDwIa0dB/ypdtm7gLOS0hg0a73ijfg== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.6.1" - "@typescript-eslint/types" "4.6.1" - "@typescript-eslint/typescript-estree" "4.6.1" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.11.0.tgz#1dd3d7e42708c10ce9f3aa64c63c0ab99868b4e2" - integrity sha512-NBTtKCC7ZtuxEV5CrHUO4Pg2s784pvavc3cnz6V+oJvVbK4tH9135f/RBP6eUA2KHiFKAollSrgSctQGmHbqJQ== - dependencies: - "@typescript-eslint/scope-manager" "4.11.0" - "@typescript-eslint/types" "4.11.0" - "@typescript-eslint/typescript-estree" "4.11.0" - debug "^4.1.1" - -"@typescript-eslint/parser@^4.11.1": +"@typescript-eslint/parser@^4.11.0", "@typescript-eslint/parser@^4.11.1", "@typescript-eslint/parser@^4.5.0": version "4.11.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.11.1.tgz#981e18de2e019d6ca312596615f92e8f6f6598ed" integrity sha512-BJ3jwPQu1jeynJ5BrjLuGfK/UJu6uwHxJ/di7sanqmUmxzmyIcd3vz58PMR7wpi8k3iWq2Q11KMYgZbUpRoIPw== @@ -4348,24 +4308,6 @@ "@typescript-eslint/typescript-estree" "4.11.1" debug "^4.1.1" -"@typescript-eslint/parser@^4.5.0": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.6.1.tgz#b801bff67b536ecc4a840ac9289ba2be57e02428" - integrity sha512-lScKRPt1wM9UwyKkGKyQDqf0bh6jm8DQ5iN37urRIXDm16GEv+HGEmum2Fc423xlk5NUOkOpfTnKZc/tqKZkDQ== - dependencies: - "@typescript-eslint/scope-manager" "4.6.1" - "@typescript-eslint/types" "4.6.1" - "@typescript-eslint/typescript-estree" "4.6.1" - debug "^4.1.1" - -"@typescript-eslint/scope-manager@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.11.0.tgz#2d906537db8a3a946721699e4fc0833810490254" - integrity sha512-6VSTm/4vC2dHM3ySDW9Kl48en+yLNfVV6LECU8jodBHQOhO8adAVizaZ1fV0QGZnLQjQ/y0aBj5/KXPp2hBTjA== - dependencies: - "@typescript-eslint/types" "4.11.0" - "@typescript-eslint/visitor-keys" "4.11.0" - "@typescript-eslint/scope-manager@4.11.1": version "4.11.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.11.1.tgz#72dc2b60b0029ab0888479b12bf83034920b4b69" @@ -4374,43 +4316,11 @@ "@typescript-eslint/types" "4.11.1" "@typescript-eslint/visitor-keys" "4.11.1" -"@typescript-eslint/scope-manager@4.6.1": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.6.1.tgz#21872b91cbf7adfc7083f17b8041149148baf992" - integrity sha512-f95+80r6VdINYscJY1KDUEDcxZ3prAWHulL4qRDfNVD0I5QAVSGqFkwHERDoLYJJWmEAkUMdQVvx7/c2Hp+Bjg== - dependencies: - "@typescript-eslint/types" "4.6.1" - "@typescript-eslint/visitor-keys" "4.6.1" - -"@typescript-eslint/types@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.11.0.tgz#86cf95e7eac4ccfd183f9fcf1480cece7caf4ca4" - integrity sha512-XXOdt/NPX++txOQHM1kUMgJUS43KSlXGdR/aDyEwuAEETwuPt02Nc7v+s57PzuSqMbNLclblQdv3YcWOdXhQ7g== - "@typescript-eslint/types@4.11.1": version "4.11.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.11.1.tgz#3ba30c965963ef9f8ced5a29938dd0c465bd3e05" integrity sha512-5kvd38wZpqGY4yP/6W3qhYX6Hz0NwUbijVsX2rxczpY6OXaMxh0+5E5uLJKVFwaBM7PJe1wnMym85NfKYIh6CA== -"@typescript-eslint/types@4.6.1": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.6.1.tgz#d3ad7478f53f22e7339dc006ab61aac131231552" - integrity sha512-k2ZCHhJ96YZyPIsykickez+OMHkz06xppVLfJ+DY90i532/Cx2Z+HiRMH8YZQo7a4zVd/TwNBuRCdXlGK4yo8w== - -"@typescript-eslint/typescript-estree@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.11.0.tgz#1144d145841e5987d61c4c845442a24b24165a4b" - integrity sha512-eA6sT5dE5RHAFhtcC+b5WDlUIGwnO9b0yrfGa1mIOIAjqwSQCpXbLiFmKTdRbQN/xH2EZkGqqLDrKUuYOZ0+Hg== - dependencies: - "@typescript-eslint/types" "4.11.0" - "@typescript-eslint/visitor-keys" "4.11.0" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - "@typescript-eslint/typescript-estree@4.11.1": version "4.11.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.11.1.tgz#a4416b4a65872a48773b9e47afabdf7519eb10bc" @@ -4425,28 +4335,6 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/typescript-estree@4.6.1": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.6.1.tgz#6025cce724329413f57e4959b2d676fceeca246f" - integrity sha512-/J/kxiyjQQKqEr5kuKLNQ1Finpfb8gf/NpbwqFFYEBjxOsZ621r9AqwS9UDRA1Rrr/eneX/YsbPAIhU2rFLjXQ== - dependencies: - "@typescript-eslint/types" "4.6.1" - "@typescript-eslint/visitor-keys" "4.6.1" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/visitor-keys@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.11.0.tgz#906669a50f06aa744378bb84c7d5c4fdbc5b7d51" - integrity sha512-tRYKyY0i7cMk6v4UIOCjl1LhuepC/pc6adQqJk4Is3YcC6k46HvsV9Wl7vQoLbm9qADgeujiT7KdLrylvFIQ+A== - dependencies: - "@typescript-eslint/types" "4.11.0" - eslint-visitor-keys "^2.0.0" - "@typescript-eslint/visitor-keys@4.11.1": version "4.11.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.11.1.tgz#4c050a4c1f7239786e2dd4e69691436143024e05" @@ -4455,14 +4343,6 @@ "@typescript-eslint/types" "4.11.1" eslint-visitor-keys "^2.0.0" -"@typescript-eslint/visitor-keys@4.6.1": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.6.1.tgz#6b125883402d8939df7b54528d879e88f7ba3614" - integrity sha512-owABze4toX7QXwOLT3/D5a8NecZEjEWU1srqxENTfqsY3bwVnl3YYbOh6s1rp2wQKO9RTHFGjKes08FgE7SVMw== - dependencies: - "@typescript-eslint/types" "4.6.1" - eslint-visitor-keys "^2.0.0" - "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" @@ -4977,7 +4857,7 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= -array-includes@^3.0.3: +array-includes@^3.0.3, array-includes@^3.1.1, array-includes@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.2.tgz#a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8" integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw== @@ -4988,15 +4868,6 @@ array-includes@^3.0.3: get-intrinsic "^1.0.1" is-string "^1.0.5" -array-includes@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" - integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - is-string "^1.0.5" - array-parallel@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/array-parallel/-/array-parallel-0.1.3.tgz#8f785308926ed5aa478c47e64d1b334b6c0c947d" @@ -5046,7 +4917,7 @@ array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -array.prototype.flatmap@^1.2.1: +array.prototype.flatmap@^1.2.1, array.prototype.flatmap@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== @@ -5056,15 +4927,6 @@ array.prototype.flatmap@^1.2.1: es-abstract "^1.18.0-next.1" function-bind "^1.1.1" -array.prototype.flatmap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" - integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - array.prototype.map@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.3.tgz#1609623618d3d84134a37d4a220030c2bd18420b" @@ -5189,15 +5051,15 @@ auto-bind@^4.0.0: integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== autoprefixer@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.0.1.tgz#e2d9000f84ebd98d77b7bc16f8adb2ff1f7bb946" - integrity sha512-aQo2BDIsoOdemXUAOBpFv4ZQa2DrOtEufarYhtFsK1088Ca0TUwu/aQWf0M3mrILXZ3mTIVn1lR3hPW8acacsw== + version "10.1.0" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.1.0.tgz#b19fd8524edef8c85c9db3bdb0c998de84e172fb" + integrity sha512-0/lBNwN+ZUnb5su18NZo5MBIjDaq6boQKZcxwy86Gip/CmXA2zZqUoFQLCNAGI5P25ZWSP2RWdhDJ8osfKEjoQ== dependencies: - browserslist "^4.14.5" - caniuse-lite "^1.0.30001137" + browserslist "^4.15.0" + caniuse-lite "^1.0.30001165" colorette "^1.2.1" + fraction.js "^4.0.12" normalize-range "^0.1.2" - num2fraction "^1.2.2" postcss-value-parser "^4.1.0" autoprefixer@^9.7.2, autoprefixer@^9.8.6: @@ -6181,21 +6043,21 @@ caniuse-lite@^1.0.0: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001150.tgz#6d0d829da654b0b233576de00335586bc2004df1" integrity sha512-kiNKvihW0m36UhAFnl7bOAv0i1K1f6wpfVtTF5O5O82XzgtBnb05V0XeV3oZ968vfg2sRNChsHw8ASH2hDfoYQ== -caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001165: +caniuse-lite@^1.0.30001035: version "1.0.30001165" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz#32955490d2f60290bb186bb754f2981917fa744f" integrity sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA== -caniuse-lite@^1.0.30001135, caniuse-lite@^1.0.30001151: +caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001151, caniuse-lite@^1.0.30001165: + version "1.0.30001171" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001171.tgz#3291e11e02699ad0a29e69b8d407666fc843eba7" + integrity sha512-5Alrh8TTYPG9IH4UkRqEBZoEToWRLvPbSQokvzSz0lii8/FOWKG4keO1HoYfPWs8IF/NH/dyNPg1cmJGvV3Zlg== + +caniuse-lite@^1.0.30001135: version "1.0.30001156" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001156.tgz#75c20937b6012fe2b02ab58b30d475bf0718de97" integrity sha512-z7qztybA2eFZTB6Z3yvaQBIoJpQtsewRD74adw2UbRWwsRq3jIPvgrQGawBMbfafekQaD21FWuXNcywtTDGGCw== -caniuse-lite@^1.0.30001137: - version "1.0.30001151" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001151.tgz#1ddfde5e6fff02aad7940b4edb7d3ac76b0cb00b" - integrity sha512-Zh3sHqskX6mHNrqUerh+fkf0N72cMxrmflzje/JyVImfpknscMnkeJrlFGJcqTmaa0iszdYptGpWMJCRQDkBVw== - capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -6691,9 +6553,9 @@ commander@^5.0.0: integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== commander@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" - integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q== + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== commondir@^1.0.1: version "1.0.1" @@ -7231,9 +7093,9 @@ create-react-context@0.3.0: warning "^4.0.3" cross-env@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.2.tgz#bd5ed31339a93a3418ac4f3ca9ca3403082ae5f9" - integrity sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw== + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== dependencies: cross-spawn "^7.0.1" @@ -7585,14 +7447,7 @@ debug@^3.1.0: dependencies: ms "^2.1.1" -debug@^4.0.1, debug@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== - dependencies: - ms "2.1.2" - -debug@^4.1.0, debug@^4.1.1: +debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== @@ -7935,14 +7790,6 @@ dom-converter@^0.2: dependencies: utila "~0.4" -dom-helpers@^5.0.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b" - integrity sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - dom-iterator@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dom-iterator/-/dom-iterator-1.0.0.tgz#9c09899846ec41c2d257adc4d6015e4759ef05ad" @@ -8125,7 +7972,7 @@ ejs@^3.1.2: dependencies: jake "^10.6.1" -electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.621: +electron-to-chromium@^1.3.378: version "1.3.623" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.623.tgz#b61ba1d94b27031554ea2768bb9b823501a918a0" integrity sha512-CgbWTyPmJ4f9pqtqR+HPL3O0ay6BRhnpFD52TqBB2K8kTAcmAar2e93Vo1q651E4vnCHuTDuZDdbj0sTMP2QQw== @@ -8135,6 +7982,11 @@ electron-to-chromium@^1.3.571: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.590.tgz#3b5c93b58cfa06a85e082df6715f362e17bf5315" integrity sha512-76/kAJffe8VUXvEVu677KZuQ92rD1HHn1WO7vjn5atJN/2n71jPgLJ2qs7jKg/00i1xmdR91ZNTg1VIQAxVOIw== +electron-to-chromium@^1.3.621: + version "1.3.633" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz#16dd5aec9de03894e8d14a1db4cda8a369b9b7fe" + integrity sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA== + element-closest-polyfill@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/element-closest-polyfill/-/element-closest-polyfill-1.0.2.tgz#272c217d60effe76a0509a911cde5fcdd78da5a6" @@ -8304,7 +8156,7 @@ error@^7.0.0: dependencies: string-template "~0.2.1" -es-abstract@^1.17.0, es-abstract@^1.17.0-next.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: +es-abstract@^1.17.0-next.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2: version "1.17.7" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== @@ -8394,7 +8246,7 @@ escalade@^3.1.0, escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-html@^1.0.3, escape-html@~1.0.3: +escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= @@ -8515,14 +8367,7 @@ eslint-plugin-mdx@^1.8.2: optionalDependencies: rebass "^4.0.7" -eslint-plugin-prettier@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz#168ab43154e2ea57db992a2cd097c828171f75c2" - integrity sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-prettier@^3.3.0: +eslint-plugin-prettier@^3.1.4, eslint-plugin-prettier@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.0.tgz#61e295349a65688ffac0b7808ef0a8244bdd8d40" integrity sha512-tMTwO8iUWlSRZIwS9k7/E4vrTsfvsrcM5p1eftyuqWH25nKsz/o6/54I7jwQ/3zobISyC7wMy9ZsFwgTxOcOpQ== @@ -8535,9 +8380,9 @@ eslint-plugin-react-hooks@^4.0.4, eslint-plugin-react-hooks@^4.1.0, eslint-plugi integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== eslint-plugin-react@^7.16.0, eslint-plugin-react@^7.20.6, eslint-plugin-react@^7.21.5: - version "7.21.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz#50b21a412b9574bfe05b21db176e8b7b3b15bff3" - integrity sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g== + version "7.22.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz#3d1c542d1d3169c45421c1215d9470e341707269" + integrity sha512-p30tuX3VS+NWv9nQot9xIGAHBXR0+xJVaZriEsHoJrASGCJZDJ8JLNM0YqKqI0AKm6Uxaa1VUHoNEibxRCMQHA== dependencies: array-includes "^3.1.1" array.prototype.flatmap "^1.2.3" @@ -8592,50 +8437,7 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.13.0: - version "7.13.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.13.0.tgz#7f180126c0dcdef327bfb54b211d7802decc08da" - integrity sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.2.1" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.0" - esquery "^1.2.0" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash "^4.17.19" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -eslint@^7.16.0: +eslint@^7.13.0, eslint@^7.16.0: version "7.16.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.16.0.tgz#a761605bf9a7b32d24bb7cde59aeb0fd76f06092" integrity sha512-iVWPS785RuDA4dWuhhgXTNrGxHHK3a8HLSMBgbbU59ruJDubUraXN8N5rn7kb8tG6sjg74eE0RA3YWT51eusEw== @@ -8678,7 +8480,7 @@ eslint@^7.16.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.2.0, espree@^7.3.0: +espree@^7.2.0: version "7.3.0" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw== @@ -8687,7 +8489,7 @@ espree@^7.2.0, espree@^7.3.0: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.3.0" -espree@^7.3.1: +espree@^7.3.0, espree@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== @@ -8995,9 +8797,9 @@ fastest-levenshtein@^1.0.12: integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== fastq@^1.6.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" - integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== + version "1.10.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.10.0.tgz#74dbefccade964932cdf500473ef302719c652bb" + integrity sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA== dependencies: reusify "^1.0.4" @@ -9041,13 +8843,6 @@ figures@^3.0.0, figures@^3.1.0, figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - file-entry-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" @@ -9184,15 +8979,6 @@ find-versions@^3.2.0: dependencies: semver-regex "^2.0.0" -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -9201,11 +8987,6 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - flatted@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" @@ -9299,6 +9080,11 @@ forwarded@~0.1.2: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= +fraction.js@^4.0.12: + version "4.0.13" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.0.13.tgz#3c1c315fa16b35c85fffa95725a36fa729c69dfe" + integrity sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA== + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -9489,7 +9275,16 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.0, get-intrinsic@^1.0.1: +get-intrinsic@^1.0.0, get-intrinsic@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49" + integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-intrinsic@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be" integrity sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg== @@ -10300,9 +10095,9 @@ humanize-ms@^1.2.1: ms "^2.0.0" husky@^4.2.3: - version "4.3.0" - resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.0.tgz#0b2ec1d66424e9219d359e26a51c58ec5278f0de" - integrity sha512-tTMeLCLqSBqnflBZnlVDhpaIMucSGaYyX6855jM4AguGeWCeSzNdb1mfyWduTZ3pe3SJVvVWGL0jO1iKZVPfTA== + version "4.3.6" + resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.6.tgz#ebd9dd8b9324aa851f1587318db4cccb7665a13c" + integrity sha512-o6UjVI8xtlWRL5395iWq9LKDyp/9TE7XMOTvIpEVzW638UcGxTmV5cfel6fsk/jbZSTlvfGVJf2svFtybcIZag== dependencies: chalk "^4.0.0" ci-info "^2.0.0" @@ -10400,7 +10195,15 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-fresh@^3.1.0: version "3.2.2" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e" integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw== @@ -10509,9 +10312,9 @@ ini@^1.3.2, ini@^1.3.4: integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== ini@^1.3.5: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" - integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== init-package-json@^1.10.3: version "1.10.3" @@ -11813,12 +11616,12 @@ jsprim@^1.2.2: verror "1.10.0" "jsx-ast-utils@^2.4.1 || ^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.1.0.tgz#642f1d7b88aa6d7eb9d8f2210e166478444fa891" - integrity sha512-d4/UOjg+mxAWxCiF0c5UTSwyqbchkbqCvK87aBovhnh8GtysTjWmgC63tY0cJx/HzGgm9qnA147jVBdpOiQ2RA== + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" + integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== dependencies: - array-includes "^3.1.1" - object.assign "^4.1.1" + array-includes "^3.1.2" + object.assign "^4.1.2" junk@^3.1.0: version "3.1.0" @@ -11866,10 +11669,10 @@ klona@^2.0.4: resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== -known-css-properties@^0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.19.0.tgz#5d92b7fa16c72d971bda9b7fe295bdf61836ee5b" - integrity sha512-eYboRV94Vco725nKMlpkn3nV2+96p9c3gKXRsYqAJSswSENvBhN7n5L+uDhY58xQa0UukWsDMTGELzmD8Q+wTA== +known-css-properties@^0.20.0: + version "0.20.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.20.0.tgz#0570831661b47dd835293218381166090ff60e96" + integrity sha512-URvsjaA9ypfreqJ2/ylDr5MUERhJZ+DhguoWRr2xgS5C7aGCalXo+ewL+GixgKBfhT2vuL02nbIgNGqVWgTOYw== "lamejs@https://github.com/zhuker/lamejs": version "1.2.0" @@ -11962,41 +11765,12 @@ lighthouse-logger@^1.0.0: debug "^2.6.8" marky "^1.2.0" -line-column@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2" - integrity sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI= - dependencies: - isarray "^1.0.0" - isobject "^2.0.0" - lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= -lint-staged@^10.0.8: - version "10.5.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.1.tgz#901e915c2360072dded0e7d752a0d9a49e079daa" - integrity sha512-fTkTGFtwFIJJzn/PbUO3RXyEBHIhbfYBE7+rJyLcOXabViaO/h6OslgeK6zpeUtzkDrzkgyAYDTLAwx6JzDTHw== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -lint-staged@^10.5.3: +lint-staged@^10.0.8, lint-staged@^10.5.3: version "10.5.3" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== @@ -12018,9 +11792,9 @@ lint-staged@^10.5.3: stringify-object "^3.3.0" listr2@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.2.tgz#d20feb75015e506992b55af40722ba1af168b8f1" - integrity sha512-AajqcZEUikF2ioph6PfH3dIuxJclhr3i3kHgTOP0xeXdWQohrvJAAmqVcV43/GI987HFY/vzT73jYXoa4esDHg== + version "3.2.3" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" + integrity sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w== dependencies: chalk "^4.1.0" cli-truncate "^2.1.0" @@ -12253,7 +12027,7 @@ loki@^0.25.1: "@loki/target-native-android-emulator" "^0.25.0" "@loki/target-native-ios-simulator" "^0.25.0" -longest-streak@^2.0.1: +longest-streak@^2.0.0, longest-streak@^2.0.1: version "2.0.4" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== @@ -12514,6 +12288,17 @@ mdast-util-definitions@^4.0.0: dependencies: unist-util-visit "^2.0.0" +mdast-util-from-markdown@^0.8.0: + version "0.8.4" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.4.tgz#2882100c1b9fc967d3f83806802f303666682d32" + integrity sha512-jj891B5pV2r63n2kBTFh8cRI2uR9LQHsXG1zSDqfhXkIlDzrTcIlbB5+5aaYEkl8vOPIOPLf8VT7Ere1wWTMdw== + dependencies: + "@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-inject@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz#db06b8b585be959a2dcd2f87f472ba9b756f3675" @@ -12552,11 +12337,28 @@ mdast-util-to-hast@^3.0.0: unist-util-visit "^1.1.0" xtend "^4.0.1" +mdast-util-to-markdown@^0.6.0: + version "0.6.2" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.2.tgz#8fe6f42a2683c43c5609dfb40407c095409c85b4" + integrity sha512-iRczns6WMvu0hUw02LXsPDJshBIwtUPbvHBWo19IQeU0YqmzlA8Pd30U8V7uiI0VPkxzS7A/NXBXH6u+HS87Zg== + dependencies: + "@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@^1.0.0, mdast-util-to-string@^1.0.5: version "1.1.0" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== +mdast-util-to-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" + integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== + mdast-util-toc@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz#395eeb877f067f9d2165d990d77c7eea6f740934" @@ -12596,11 +12398,6 @@ mem@^4.0.0: mimic-fn "^2.0.0" p-is-promise "^2.0.0" -memoize-one@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" - integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA== - memoizerific@^1.11.3: version "1.11.3" resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a" @@ -12660,7 +12457,7 @@ meow@^4.0.0: redent "^2.0.0" trim-newlines "^2.0.0" -meow@^7.0.0, meow@^7.1.1: +meow@^7.0.0: version "7.1.1" resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== @@ -12724,6 +12521,14 @@ microevent.ts@~0.1.1: resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== +micromark@~2.11.0: + version "2.11.2" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.2.tgz#e8b6a05f54697d2d3d27fc89600c6bc40dd05f35" + integrity sha512-IXuP76p2uj8uMg4FQc1cRE7lPCLsfAXuEfdjtdO55VRiFO1asrCSQ5g43NmPqFtRwzEnEhafRVzn2jg0UiKArQ== + dependencies: + debug "^4.0.0" + parse-entities "^2.0.0" + micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" @@ -13033,10 +12838,10 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== -nanoid@^3.1.16: - version "3.1.16" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.16.tgz#b21f0a7d031196faf75314d7c65d36352beeef64" - integrity sha512-+AK8MN0WHji40lj8AEuwLOvLSbWYApQpre/aFJZD71r43wVRLrOYS4FmJOPQYon1TqB462RzrrxlfA74XRES8w== +nanoid@^3.1.20: + version "3.1.20" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== nanomatch@^1.2.9: version "1.2.13" @@ -13431,7 +13236,7 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.8.0: +object-inspect@^1.8.0, object-inspect@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== @@ -13448,7 +13253,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.1: +object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.1, object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== @@ -13458,7 +13263,7 @@ object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.1: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.0: +object.entries@^1.1.0, object.entries@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== @@ -13468,16 +13273,7 @@ object.entries@^1.1.0: es-abstract "^1.18.0-next.1" has "^1.0.3" -object.entries@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" - integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - has "^1.0.3" - -"object.fromentries@^2.0.0 || ^1.0.0": +"object.fromentries@^2.0.0 || ^1.0.0", object.fromentries@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.3.tgz#13cefcffa702dc67750314a3305e8cb3fad1d072" integrity sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw== @@ -13487,16 +13283,6 @@ object.entries@^1.1.2: es-abstract "^1.18.0-next.1" has "^1.0.3" -object.fromentries@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" - integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz#0dfda8d108074d9c563e80490c883b6661091544" @@ -13513,7 +13299,7 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0: +object.values@^1.1.0, object.values@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.2.tgz#7a2015e06fcb0f546bd652486ce8583a4731c731" integrity sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag== @@ -13523,16 +13309,6 @@ object.values@^1.1.0: es-abstract "^1.18.0-next.1" has "^1.0.3" -object.values@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - objectorarray@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/objectorarray/-/objectorarray-1.0.4.tgz#d69b2f0ff7dc2701903d308bb85882f4ddb49483" @@ -14582,7 +14358,7 @@ postcss-selector-parser@^5.0.0-rc.3: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== @@ -14662,7 +14438,7 @@ postcss-values-parser@^4.0.0: is-url-superb "^4.0.0" postcss "^7.0.5" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: version "7.0.35" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== @@ -14681,13 +14457,12 @@ postcss@^7.0.31: supports-color "^6.1.0" postcss@^8.1.4: - version "8.1.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.6.tgz#b022ba2cfb8701da234d073ed3128c5a384c35ff" - integrity sha512-JuifSl4h8dJ70SiMXKjzCxhalE6p2TnMHuq9G8ftyXj2jg6SXzqCsEuxMj9RkmJoO5D+Z9YrWunNkxqpRT02qg== + version "8.2.2" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.2.tgz#60613b62297005084fd21024a68637798864fe26" + integrity sha512-HM1NDNWLgglJPQQMNwvLxgH2KcrKZklKLi/xXYIOaqQB57p/pDWEJNS83PVICYsn1Dg/9C26TiejNr422/ePaQ== dependencies: colorette "^1.2.1" - line-column "^1.0.2" - nanoid "^3.1.16" + nanoid "^3.1.20" source-map "^0.6.1" prelude-ls@^1.2.1: @@ -14707,12 +14482,7 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" - integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== - -prettier@^2.2.1: +prettier@^2.1.2, prettier@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== @@ -15163,13 +14933,6 @@ react-hotkeys@2.0.0: dependencies: prop-types "^15.6.1" -react-input-autosize@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.2.tgz#fcaa7020568ec206bc04be36f4eb68e647c4d8c2" - integrity sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw== - dependencies: - prop-types "^15.5.8" - react-inspector@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-5.1.0.tgz#45a325e15f33e595be5356ca2d3ceffb7d6b8c3a" @@ -15214,7 +14977,7 @@ react-live@^2.2.2: react-simple-code-editor "^0.10.0" unescape "^1.0.1" -react-popper-tooltip@^3.1.0: +react-popper-tooltip@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-3.1.1.tgz#329569eb7b287008f04fcbddb6370452ad3f9eac" integrity sha512-EnERAnnKRptQBJyaee5GJScWNUKQPDD2ywvzZyUjst/wj5U64C8/CnSYLNEmP2hG0IJ3ZhtDxE8oDN+KOyavXQ== @@ -15246,20 +15009,6 @@ react-refresh@^0.8.3: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== -react-select@^3.0.8: - version "3.1.1" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.1.1.tgz#156a5b4a6c22b1e3d62a919cb1fd827adb4060bc" - integrity sha512-HjC6jT2BhUxbIbxMZWqVcDibrEpdUJCfGicN0MMV+BQyKtCaPTgFekKWiOizSCy4jdsLMGjLqcFGJMhVGWB0Dg== - dependencies: - "@babel/runtime" "^7.4.4" - "@emotion/cache" "^10.0.9" - "@emotion/core" "^10.0.9" - "@emotion/css" "^10.0.9" - memoize-one "^5.0.0" - prop-types "^15.6.0" - react-input-autosize "^2.2.2" - react-transition-group "^4.3.0" - react-simple-code-editor@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/react-simple-code-editor/-/react-simple-code-editor-0.10.0.tgz#73e7ac550a928069715482aeb33ccba36efe2373" @@ -15295,16 +15044,6 @@ react-textarea-autosize@^8.1.1: use-composed-ref "^1.0.0" use-latest "^1.0.0" -react-transition-group@^4.3.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" - integrity sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - react@^16.12.0, react@^16.13.1: version "16.14.0" resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" @@ -15720,7 +15459,7 @@ remark-mdx@^1.6.16: remark-parse "8.0.3" unified "9.1.0" -remark-parse@8.0.3, remark-parse@^8.0.0, remark-parse@^8.0.3: +remark-parse@8.0.3, remark-parse@^8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== @@ -15763,6 +15502,13 @@ remark-parse@^5.0.0: vfile-location "^2.0.0" xtend "^4.0.1" +remark-parse@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640" + integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== + dependencies: + mdast-util-from-markdown "^0.8.0" + remark-reference-links@^4.0.1: version "4.0.4" resolved "https://registry.yarnpkg.com/remark-reference-links/-/remark-reference-links-4.0.4.tgz#190579a0d6b002859d6cdbdc5aeb8bbdae4e06ab" @@ -15815,7 +15561,7 @@ remark-stringify@^5.0.0: unherit "^1.0.4" xtend "^4.0.1" -remark-stringify@^8.0.0, remark-stringify@^8.1.1: +remark-stringify@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-8.1.1.tgz#e2a9dc7a7bf44e46a155ec78996db896780d8ce5" integrity sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A== @@ -15835,6 +15581,13 @@ remark-stringify@^8.0.0, remark-stringify@^8.1.1: unherit "^1.0.4" xtend "^4.0.1" +remark-stringify@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-9.0.1.tgz#576d06e910548b0a7191a71f27b33f1218862894" + integrity sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg== + dependencies: + mdast-util-to-markdown "^0.6.0" + remark-toc@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/remark-toc/-/remark-toc-5.1.1.tgz#8c229d6f834cdb43fde6685e2d43248d3fc82d78" @@ -15843,14 +15596,14 @@ remark-toc@^5.0.0: mdast-util-toc "^3.0.0" remark-slug "^5.0.0" -remark@^12.0.0: - version "12.0.1" - resolved "https://registry.yarnpkg.com/remark/-/remark-12.0.1.tgz#f1ddf68db7be71ca2bad0a33cd3678b86b9c709f" - integrity sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw== +remark@^13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/remark/-/remark-13.0.0.tgz#d15d9bf71a402f40287ebe36067b66d54868e425" + integrity sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA== dependencies: - remark-parse "^8.0.0" - remark-stringify "^8.0.0" - unified "^9.0.0" + remark-parse "^9.0.0" + remark-stringify "^9.0.0" + unified "^9.1.0" remark@^9.0.0: version "9.0.0" @@ -16024,7 +15777,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.3, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.9.0: +resolve@^1.1.3, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.9.0: version "1.18.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== @@ -16032,7 +15785,7 @@ resolve@^1.1.3, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18 is-core-module "^2.0.0" path-parse "^1.0.6" -resolve@^1.1.6, resolve@^1.12.0, resolve@^1.19.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.3.2, resolve@^1.8.1: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== @@ -16095,13 +15848,6 @@ rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: dependencies: glob "^7.1.3" -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -16227,9 +15973,9 @@ sass-loader@^10.0.1: semver "^7.3.2" sass@^1.26.10: - version "1.29.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.29.0.tgz#ec4e1842c146d8ea9258c28c141b8c2b7c6ab7f1" - integrity sha512-ZpwAUFgnvAUCdkjwPREny+17BpUj8nh5Yr6zKPGtLNTLrmtoRYIjm7njP24COhjJldjwW1dcv52Lpf4tNZVVRA== + version "1.32.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.0.tgz#10101a026c13080b14e2b374d4e15ee24400a4d3" + integrity sha512-fhyqEbMIycQA4blrz/C0pYhv2o4x2y6FYYAH0CshBw3DXh5D5wyERgxw0ptdau1orc/GhNrhF7DFN2etyOCEng== dependencies: chokidar ">=2.0.0 <4.0.0" @@ -16318,7 +16064,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.x, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2: +semver@7.x, semver@^7.1.1: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== @@ -16328,18 +16074,18 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= - -semver@~7.3.0: +semver@^7.2.1, semver@^7.3.2, semver@~7.3.0: version "7.3.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== dependencies: lru-cache "^6.0.0" +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -16482,7 +16228,16 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -side-channel@^1.0.2, side-channel@^1.0.3: +side-channel@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +side-channel@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3" integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g== @@ -16522,15 +16277,6 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -16688,9 +16434,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" - integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== + version "3.0.7" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== specificity@^0.4.1: version "0.4.1" @@ -16941,7 +16687,7 @@ string.prototype.codepointat@^0.2.0: resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz#004ad44c8afc727527b108cd462b4d971cd469bc" integrity sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg== -"string.prototype.matchall@^4.0.0 || ^3.0.1": +"string.prototype.matchall@^4.0.0 || ^3.0.1", string.prototype.matchall@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz#24243399bc31b0a49d19e2b74171a15653ec996a" integrity sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw== @@ -16954,18 +16700,6 @@ string.prototype.codepointat@^0.2.0: regexp.prototype.flags "^1.3.0" side-channel "^1.0.3" -string.prototype.matchall@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" - integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - has-symbols "^1.0.1" - internal-slot "^1.0.2" - regexp.prototype.flags "^1.3.0" - side-channel "^1.0.2" - string.prototype.padend@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.1.tgz#824c84265dbac46cade2b957b38b6a5d8d1683c5" @@ -17222,21 +16956,21 @@ stylelint-scss@^3.18.0: postcss-value-parser "^4.1.0" stylelint@^13.7.0: - version "13.7.2" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.7.2.tgz#6f3c58eea4077680ed0ceb0d064b22b100970486" - integrity sha512-mmieorkfmO+ZA6CNDu1ic9qpt4tFvH2QUB7vqXgrMVHe5ENU69q7YDq0YUg/UHLuCsZOWhUAvcMcLzLDIERzSg== + version "13.8.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.8.0.tgz#446765dbe25e3617f819a0165956faf2563ddc23" + integrity sha512-iHH3dv3UI23SLDrH4zMQDjLT9/dDIz/IpoFeuNxZmEx86KtfpjDOscxLTFioQyv+2vQjPlRZnK0UoJtfxLICXQ== dependencies: "@stylelint/postcss-css-in-js" "^0.37.2" - "@stylelint/postcss-markdown" "^0.36.1" + "@stylelint/postcss-markdown" "^0.36.2" autoprefixer "^9.8.6" balanced-match "^1.0.0" chalk "^4.1.0" cosmiconfig "^7.0.0" - debug "^4.1.1" + debug "^4.2.0" execall "^2.0.0" fast-glob "^3.2.4" fastest-levenshtein "^1.0.12" - file-entry-cache "^5.0.1" + file-entry-cache "^6.0.0" get-stdin "^8.0.0" global-modules "^2.0.0" globby "^11.0.1" @@ -17245,14 +16979,14 @@ stylelint@^13.7.0: ignore "^5.1.8" import-lazy "^4.0.0" imurmurhash "^0.1.4" - known-css-properties "^0.19.0" + known-css-properties "^0.20.0" lodash "^4.17.20" log-symbols "^4.0.0" mathml-tag-names "^2.1.3" - meow "^7.1.1" + meow "^8.0.0" micromatch "^4.0.2" normalize-selector "^0.2.0" - postcss "^7.0.32" + postcss "^7.0.35" postcss-html "^0.36.0" postcss-less "^3.1.4" postcss-media-query-parser "^0.2.3" @@ -17260,7 +16994,7 @@ stylelint@^13.7.0: postcss-safe-parser "^4.0.2" postcss-sass "^0.4.4" postcss-scss "^2.1.1" - postcss-selector-parser "^6.0.2" + postcss-selector-parser "^6.0.4" postcss-syntax "^0.36.2" postcss-value-parser "^4.1.0" resolve-from "^5.0.0" @@ -17271,8 +17005,8 @@ stylelint@^13.7.0: style-search "^0.1.0" sugarss "^2.0.0" svg-tags "^1.0.0" - table "^6.0.1" - v8-compile-cache "^2.1.1" + table "^6.0.3" + v8-compile-cache "^2.2.0" write-file-atomic "^3.0.3" stylis@^4.0.6: @@ -17415,27 +17149,7 @@ table-layout@^1.0.0: typical "^5.2.0" wordwrapjs "^4.0.0" -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -table@^6.0.1: - version "6.0.3" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.3.tgz#e5b8a834e37e27ad06de2e0fda42b55cfd8a0123" - integrity sha512-8321ZMcf1B9HvVX/btKv8mMZahCjn2aYrDlpqHaBFCfnox64edeH9kEid0vTLTRR8gWR2A20aDgeuTTea4sVtw== - dependencies: - ajv "^6.12.4" - lodash "^4.17.20" - slice-ansi "^4.0.0" - string-width "^4.2.0" - -table@^6.0.4: +table@^6.0.3, table@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== @@ -18064,21 +17778,16 @@ typedarray@^0.0.6, typedarray@~0.0.5: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^2.9.2: - version "2.9.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" - integrity sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w== +typescript@^4.0.3, typescript@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" + integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== -typescript@^4.0.3, typescript@~4.0.5: +typescript@~4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== -typescript@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" - integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== - typical@^5.0.0, typical@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" @@ -18164,7 +17873,7 @@ unified@9.1.0: trough "^1.0.0" vfile "^4.0.0" -unified@9.2.0, unified@^9.0.0, unified@^9.1.0: +unified@9.2.0, unified@^9.1.0: version "9.2.0" resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== @@ -18249,10 +17958,10 @@ unist-builder@^1.0.1, unist-builder@^1.0.2: dependencies: object-assign "^4.1.0" -unist-util-find-all-after@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-3.0.1.tgz#95cc62f48812d879b4685a0512bf1b838da50e9a" - integrity sha512-0GICgc++sRJesLwEYDjFVJPJttBpVQaTNgc6Jw0Jhzvfs+jtKePEMu+uD+PqkRUrAvGQqwhpDwLGWo1PK8PDEw== +unist-util-find-all-after@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz#fdfecd14c5b7aea5e9ef38d5e0d5f774eeb561f6" + integrity sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ== dependencies: unist-util-is "^4.0.0" @@ -18542,11 +18251,6 @@ v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== -v8-compile-cache@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== - v8-to-istanbul@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz#b4fe00e35649ef7785a9b7fcebcea05f37c332fc" @@ -19207,13 +18911,6 @@ write-pkg@^3.1.0: sort-keys "^2.0.0" write-json-file "^2.2.0" -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - ws@^6.0.0: version "6.2.1" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" From 71753424e766bba299965a00044bf4fa0b0addd2 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Mon, 4 Jan 2021 14:44:05 -0300 Subject: [PATCH 13/15] Fix some button variants --- ...s_Button_States_Of_Ghost_Small_Variant.png | Bin 57867 -> 57712 bytes .../chrome_iphone7_Sidebar_TopBar_Default.png | Bin 26026 -> 25879 bytes ...s_Button_States_Of_Ghost_Small_Variant.png | Bin 27913 -> 27813 bytes ...Buttons_Button_States_Of_Ghost_Variant.png | Bin 33232 -> 33091 bytes .../chrome_laptop_Sidebar_TopBar_Default.png | Bin 14570 -> 14479 bytes .../src/components/Button/styles.scss | 264 +++++++++++----- .../src/styles/primitives/button.scss | 67 +--- .../src/styles/variables/button-colors.scss | 291 +++++++++++++----- .../src/styles/variables/buttons.scss | 149 +++++++++ 9 files changed, 553 insertions(+), 218 deletions(-) create mode 100644 packages/fuselage/src/styles/variables/buttons.scss diff --git a/packages/fuselage/.loki/reference/chrome_iphone7_Buttons_Button_States_Of_Ghost_Small_Variant.png b/packages/fuselage/.loki/reference/chrome_iphone7_Buttons_Button_States_Of_Ghost_Small_Variant.png index a326f8d269ded8412687b2f9c87677cdd4868143..b5304ac3c7b43dd35afcf1eeb8b59933cca9170c 100644 GIT binary patch literal 57712 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 literal 57867 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 delta 11002 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 diff --git a/packages/fuselage/.loki/reference/chrome_laptop_Buttons_Button_States_Of_Ghost_Small_Variant.png b/packages/fuselage/.loki/reference/chrome_laptop_Buttons_Button_States_Of_Ghost_Small_Variant.png index f9d54a5b3728de79f0f572d9821c13a778e1ec9a..a8e28d4cc71644b333616b5a9f8389b858fa9aea 100644 GIT binary patch literal 27813 zcmc$_WmKF|(=FJ91OmY&I3&R#xVyVcAUFhfcMSx$;6XdVU4y$jja%dH4vjNU-tW72 zX3bqQ|L#l{E8R^S&pB16_TIHCTv<^H6`2qj1OlPTNQ3mM zaL%eyqM-6I;(g%3YiCgz^|!!3pSLDqAkYVpjJSxpN5;{zy9aUa)9pFzTJ5w|r~31- z!iiIN>xP~22VtxsuB6xT7}C;j(Y_16{eg8GOc8)Y64Z$gW7O1&FSFt(fvrHVSIMZs zzR8NLb*4z3`jE|ju9EcSh1AAn$k^D5j678Wk_g6Y5sV*plbwtKAKnIjcql5oS|Eqag zY+%8wI2Wj`&IXN-cPNl?*$(v!MX43->xvI2|)QVG!lagi{jIP(wI5<_Y#$8=5xVX4s;je{u8m?V3xqnI-o^L&6 z#_p4tnqKPqlS9p&@Jn9Hld^3^zfiqcf4Fe&(9+7Tb4+phaP<-yxu~p+x??pZKi>?E zlxHk8*MyF)1lVSgBK7f^ypJd1`~@4>gY-0g6BBTF=G5_Hd8#^d!cJDa=Sb#7Ka+PEO5So6Fi6%U?nU{VY;;j`~XDIYC`LUG7YW*#l>vJo~BDzuF}I zidpMh`>!u9A{|^^`vxZ_%>3yq3MqIfgCd5kVn~G)M2uM41Xt#ZyjL~+ZRcn5)(5K8 zG9r|6bN><-i3e(zbcWwvs8lPf7OZLjrW4{vW)&kgRbZqZ-7JR!-+8j8KtEap2d zoaF}LofZ_74Dd`!=&v4qWfX*zzPK_(M~_C4VD~;Y)+m>JDb=rfjp*Inxk3_|cy-Cm z%k2QkJPga^3|BKB=`I8Ij<%%m+xCUTXD#;FjHMR8xum3o&F|NO0A zucE50C}Zi_Zd&!l9wF#Eyi^P(F2R@{ktR0I9%Q{CA=xKL#Xexhd{D8hdLiXofdUl= zc|tiODiGzVz-k773`!u5_T_c$-+4NKxVBlWOp{^R{0u!QX~#`T-rU^mZFMi}UtLZ4 zD`*FQH5Wp?iLFA1yHsU|3*@0r$forn;Q&3&x0#FHrCLV@r^cvvcW;t?8a>~X>b8Y( z(5J*X{|NxLEGgON6~AAqB*$QM}Ksm0lq!_}rHb_$BTN|SZnlf?#vXbm}i5f$)u>rYK- zPYGOW4Mx+24bR+Ma6wVg!i^Kr@i%K|U2^2w8Uh^+-N#S-DE3U~>avt-)cwj|b&)#~ zWj2BQ-`Lt0H|tZB_!NiYWciRkVKrg#_w}25=l=UIAe{F}%$8kWGcq$ATpi7T$bTv~ z7q?)pF_#xBQvMJp{Zp3GqLvqgf&f2NpwI^$PDoqyQm4a>!z2gdJ&FihB1KXxJsN#s zrnsm~sz@0FlQcq?k=m>aUo;4wg)llX@e8x*#p^`bH_v`;uV3G)Ec%Y4qM>w*j^Z}z z#(*oh2%~SBh8)XG>%UNwiw4CFn;fmUhfTy`0%z*dnJrAiex}xS9=gE7`t3DxaF=R+ z{?2>Dy}9&+9QYimXcNeDw{)IrmuQgvUY!CJwnT59d@4I!o~Ve0G=>_Lf^fmq^};GK z3CUaZcOswSFmTpFCB1F0&DaTP8A?959hgj8;dY9^y+(WkTH81pxS+grba4U6516nH zn`3^kQh!aCghefdxTKpoVNnaL6b8#D6ecD2qoe64G9p_~e?JixZ0e}q&Q4NuYU;jN z5(O35xnh|ro9Bjyu5N~R;<<($8TO7nnuYzTFjWGOTt5F!*Hr5E%3r|7SJl^a&&&ij z)|h`t7_?!kpJ1%3v$bygFk5Ce( zX{tKH9k0eZU*#<%n-|Zb5*HPLQqbCpO-(H|{6L&}FZ9vXl08E~F()q%6%o-JMKWh* zl_}=eUw4=B`RS2aruM2wg^H=Eg_#*&W;Q-tu(+co0aXrCrapukY>&8hV;bquR%(M+ z>+bS3llzM-rO}^G;Jw*Dhs*4?xp{fVCoJ1kE8A@-%qw3tJ|9rfSy6<>W_|edsdUxV z_Qi}TQ%`TN`N3HB-t%bMYPMY4%o*A`qXR4#8rqG%k%d`3&Z|Raal= z^X$Sxur6cGfhKu(_x+K*q9WQnR8P=p-n&&#fym9xQh8vzP+fMoI`Y_pRRpN4wYAqY zNwNU=m=V0v2#JYNTw)~Zb8jg9CTD2kWfoCs%#CI-^0~6U%h9o7LVqF zivK#V`MBp{O}eiUxqfD5rtKBRB`ex8<6BtT!jF6x1J=(fDIzc%OLA!~>{ims*49{c zpa)u*=5!upj1AavlpiC_kZV*b9gJPh#uLS*q%W7t^4^X3?rwh!srWugUBIaB*8 zG$WyN(^vA6A)yOL_L_%Qi{pyGQ*${JRw}fkaH7^ae55C`ldP;P_)(==jW~_EidJ4` z?Fm=FHT~6_1*#nqfF}}+`?OBX-CZrm53kwl|6XYobXWOiWD++%#MFX_WB3Mpkc`U$ zizA!Z35ki1w5nX-0L0YeTtq=Z=?p#kS_0FWafX>slsz=)d{qz3$q72%=3MNZtuyaY z+;?qkD09f9kRB(x0{sYi9q0TJe19)_v`ZB|TA0-JaCV5ht z(70p*5^y*GzXnj{^z_WNm+-~;MQ&|vG!O+>UhsEsdWrd+9-ArzeOm-9Pxn5w|Hg0C zSF-YYj~cB2d|u$ICmH^f2#u1Qmh6b?3)w(;_;PFSIfYME(@F-e@u``SH8t4pc1N@S zmImJ6_sQK|&#i)OX3}F*s7W$2x3=;AOzq1I4~Q12-thYP)aX5azW!o=eI1>cq*?8- zVv|8kJTNj=JLKKUcvF(QrS8H@(wnz!VrtMars%77pRP_v$xRc$hP1nPFsZDqF9Osl zkYo;$Hy?*nV+N2<01&@NMH3B#2MS1TdE57~az+3l{d6(l2@QUokdY=LB}JW?sRvwQ z1^~#?51X=X8daXWDxn1cjs!AoV#x;Ww}~n(YicRP*aA3@X)Sm6_l|NK8-v-x2M0`9 z(}!*Ufgq?hW0ppPB2_}TGc5rChFMwpQTS>}3b4oGGu%jPwR?di-HFlA=mc)L=b=;6 z)AF{No;xtZ$i<0}8xAAj3IV`<3;(jEjops?1`h!9 zfeP@awYz22sy0HcAOTnzN*{3=ARD8iNrMw|$j^~>2ZqLa4Oy}FPNh_x=q6OiWrV=C zshRXivgg<5I{^0p;>E(++WZ6vK%;|US69oz;_@m_rRw}TG+2jgkih4{4z0u<@z&qR4OwRh`AAAty$ zj7Hh@(O{%4+AXrTFmc(Eo}6Smzq!fIu8sit3k}-_z4Huy4SW;u$Ey}?srz6xHol39 z!WYpKg9lc@!>a)xK|}jLD5|TOFtCUR8me-JNtZBoJ?=l6 zt8eMbyP?>ZGhqSX8<^7|XMS3DGAzA6Ws}Gzyeu69FQW9ux zRX@^&mo)y-~rd-h2@_DP5lS|t!>=11*ubqxqMUrQvOk;MS6R-S*}2Idz9lo zFigKTGxx$VFF_JtUJu#X#=~H{=3Kd*^Y>PGH#dd>mhX>$V0_ZK@#Q^zVQ4DjtDtKy zDvXMug#CeDcve`h_k|yRHupL2Pxfc&1y>e760O({wiG|&xr|0JJ^%9O%)3c@E^qi# zk6UbQg>(ip?zLGI zviD^6N&p`p9lRBvgqTlFEXWuJkO4dmU2s8i#N+b&^8YD(;3mxg*czal17o8F+11Fv zGU)2**_ma6lyy~yvV0M>n$6zCJ{{nVG~2#!YZE*Y^7yegk;6^NrqQq@*YOFB|m9R~ZXz4(`s|qxCC0`$9sH_Lm1z^8__~ zAv+Ytv9a7du=)N_^z;nZ*_b!k#l~<&LRQ=$K%?V^LwDKZ=AQ4~%i%E@UWgxJ&!w#HkXT_6AtqGyd|fiS(SZS*?nMt-Sm~JZ+B!Ki!IOmg+=T#Bx=%JTn1s zY$8YMdSJ=`Ou}czu4c|iAs~=|JNzEL(&<>w=D`ZleWfbqjoci_fsqFlxS;muW3sYI z;IgW`PvNpWoY;U*d5?(RkBPA+rEJ*2Fk^o0y*X~X9K3NdL*rKocXxal=jEO4`=B;{ z5GNUOJzz{%(&ezlevw!I=W(!gz)W8BVEg;}JV9=p5fB_xjt@`xH5YMAzmSA?(fxw_ zV3;^1coU8LyC8fvC*d;5%U#W~$!ZpI7GlBRokp(l)+d6H&2VX-*0_6b&jHuZLhd9G$%40!TWBqlzoOn7SHOu@ zwIvB0_m(=N>^i~*M{3Y}G*3F7W3aN5PNLL2nHz7_CjYuFonRn$L|l;gOeFW~DaMU3 zJzxbmr)eMMI{AI^9-$-2x%j5(jTt+axt7#tg65WpRp{_Z`b0V{Kc;sZTEymd;dbfy zJnN9`qCj$a6r?O|cXA2eYBy@g>;Tj^0H8YVhRksD@u+I9f`sMd=nFOyez7_863tcg z7_!I5Cw~VpaspKpPlJ-G$ z1lKYd$gqIBO||qg()|71v4SxxhLxq}tIuL1nQRI3mI>i}Zt=%_ZsQ&(Np9q`?9yLkUVxZ^Fg9d{?1Bs$#c$Tp`I04>26#pZLxKN6Pb> z%rq1KcXqm^YF$Etko&v-iT+;W7G)E*_Kz&6$JVFWzS|^!U+(Z_ehOVQRz2BiUQaW@ z{bT}%emg%RwKUe|Ov8JAgM}1vJx|rk32Fn%x3Z{%K6|PjI6m& z`_^t?g5yHL`{T>GR)L)fGvC*0zY!KuLBd=&^6>WjtxES#9O}|X zTLW~5Q~_f`+2B{<;(_XPA|*4ZM=K}+M;W?pw@!!#zO4xW@8;)UQl?Gv-Knat?*?a`u-#GBg)yJ&mM+$%w33#Jx&$28%ls=cV(vU5^zL3NI#^LWX z_$W#xb~moK*S2KL*3MG#_NknF4@TUpt{2)f`X({Lubv+D0$zCI0Hu6PU=mO1>cE^# z?7Ta=(C@)`oM@a(&{iw-+vqnO_cGDDoaRwe+LC)Wz88{9BRRC#roIpDN9?egv>ebt z+!=j+xX*aJEt`LGT^!Tm#ceeM7}=MPl$C={<^}tY815LzV_>>L?u)=A6p9S;m@+3t zZ;sjJfe`GmR5!N{RL3-DN}m57#wT@7e=S^9eywx-5It_~Fb;?T2~&9wZCK&20rdg| z=*$D7^oEBitCiQo_VYC_%m}T2`gs9<7?T;b8(HCo>Hdi{Xo6d~nYohGYfVrUE7tL3 zL`C2Cu7V;{Vf~naOc&;5ZDoZ-h8d!6WfvHSxl{79_<(TO8_cIVM&uuQ1n;6k%X`ILR@ zn(`5(5D_1reBi<=uNLGq3%Xk&gpos~k|-eg=+Wf4$pL2hyd=&``V;-=r)Tua)d#_1 zp%-Lh?e|SeZo2-BRzw{uXyLJUpTr5x(2nG5Q{GH0_d7H}L;fAKLsOhAirbd8rJduZ zo&u8ligD$=X3sCq1Y+6)FlnU5^tl#$@}iQE7fx{diPM)uK8Hk_vy@aJdh(=lkorE9 z;nXoP4Jy6hOW!##>R(tnx7M+uuV8(c_Yo~&P~6)a5#;7(m7OD5ZTUpUS!U21!a@JF z&crX)HG@AhtR2imG+Sr%VPJ%Zr{pWei?ggbS^9`-GC{jhSvJO^qT_@ zzCG(+o-F|YGK@gTZG4D#oYBAO7C18}C%*v+L&sQ!GG#D|J)n7`b;*jPr?&&2yJGme zwrtewnf}hhdunz?(KLw%zk%}M$aJRs!36Pd8v0)Tr0ms0%(X|Xf+|w=1ZIb+<{1_e zRrH-lU}r#4*=BJh<+W32jG{cpj$sF@%4Er@jC=RO_UIW@4K zJv7#c<{+dZanY1PAC=O6acfvpMM&&Y7H2|?Y*6E=ZU)Uhd42nV>k>-qnB+fdBbW1$ z?cvorx#+-9TY#kT%H8x2H6T)4O>zzsQE zUGY&6fQ}QOjss!Y(!wvJz!$4dx3Bd!{B@AN|0e8KhZm?l3JRnD5pzaVHm`~j&S94l zbV(Qcv$lWhYPA$?@Mv*%jFy5zH^K-xs-?WHi?>^@!3_Kt>8sd+pQ2&~?=mXKF{q-* z#LP6tMwbUau9Yhs-aV=LuixOx0WF=anUv=tVV3ViL#Vswze%V6B_y+ zH%dXe8{e^cSTm;oUiQf24{yn^Jl>xR{e%Bgkd}^j5CH`*NhAzZH+ zR^_w*sl=zoOp%&`A}q5RrlO-WNB%Va1Up}Qg2kt&_wO3mm@g*EJYLSUqc*25Yg%{R zR*iu9(pLq~skNbt%5+JOo2QVfyCUk_{z!=StDt{RydOztDpF2)Tyd*bMQm2J@y(=CT9`!UtFr;VIJiyvyuLS9b3Y-6uXlDHt=V?6=k45O(HgX%5&Y_T6aPh%a> z-=Cv~cm4dsh3~Ol`_li9NWNt8rLtM~nXdlyNP`L8N8LG_UzSMuaUQjQJWtp2zH@p| zB=x+dmf!R9c|_L!A6|eXE&=j{xz$H5dd<(K#|Kcv#vk>JPv5ZtY#?#BmMNXnY>#TP zo8xOve<4xxlZmJ;cHVF9$bxBWc$S~kHQl0-<7au%=1e}02G5VGF_soE$5Im@RG{z_ zSrYg(UCXIXu@;t<^bb!3AuYF;F&p7SI2u&-{ou&_T9TID-APkmbxHkjgeyVHz{bBvo*(^-C9I;iOc$|?d@xYiS$&?0v=$a*Qm=hl%ThMM{P53{akCpKMy7QX; z6Ze0sTmQrQ;WR8bM1!KYu)yO}W6h+c#RFI@HgBt|zyq<#y6~BrLP<3AP%lOGR|FfgJb&MW=c+ zoy-2@RDlmh{I8ve=>3qcoSU9gTb2W92hOtd9PndctkA+xKiFn_3evV_vBc8EuH7dt zb=~}I?{=~?*M3JbF`;sMcYh;|j$p4>7caf?5wD}NM-;~33Z9RK110CZ|)&pseAv3d4R|Dz(cUJX9 zs}E4gI3Lm!YWEYqfGQAJ=g06aeJtH{ZU78q%>lAw&m9`oyYwNh(&qh^NnUJtSX){Dk`q&CcS-px)1i(5uX{8-1QWA3s+NF&wz+f zSGN=f59_O-329j;y3ex2idb3_fWCkKUaD6U9~Oq`yMyiPwl)|+uY4*HQQATXYHjCA z%X4P=@#ZEKfg@@1JYLwA)Y=+}Kt~WCv0*KyDsZna?V@{krNkHEo z(42s>2Dnw6j!gJd7a9R*1lTX6hX+3Kam9|WeEb^Qat5W!k39!DdU!Q$a(7@_`^TAkdcJY&SFAKSfAxI&=OH{(5SNKbDF)0f zAui5Ml@mv{^kNM3f+uov3QNj1W13HZzUiAJ+1^$CM?_F)Y|r|^&QSY`7c@SL*Oir# zam?pzox0`zAl>I;e>c}W!+g3>IwOO4aBOTH5%%({uaBzE@0{}G8PdG9rT@Wg5ohb7 zZL{&zD)(jOMbKpIC{;kwQ0RW2>1(Z1FlCuKU7Rds25)9ZX=)Yc989k)H1dXwy9dv} zZg-4t*7;Pxy~<|c8-FXm2dou++_E-`c;V7y5>S|cc&t4<{lv$Y;(56PIvam^ifVm8 zb9gu&ZrE)@gyZ%Xd!oK@M6W9O?=iR^CJX#+QCsJVfD||ea%B9?^e#@ zjqFY*GlVTDCdydi^Dnd9dwhb>cWqCY|KzOwz2f=y0li%`%OJ{b1OGPW?`TqaUD*x6 z(A|=9Pv!;lNkV9i?)$J5_0i^#cYDk?gdY;qdAY4hzlF00kkLzG(qDJU74I}urM(Sj z%gJRdohAM>JU!x*N(Mr=P^#=#9+TC=Se@#F`)On)$`E&6$~Z$u!r;1H`6nLlYQLof zvYlImU=U8?hvi)zt*}%eph!+A$cA%~EEr0x##W`uv=!e5CTp0mb)8Y7$4N=9`8N1! zcBw6KspS>WFc=(a6b6hrC7Pd&0I~!$=Ty{nWu+ZHm~MXoV%d2mo)s`Du%yZp^ZP`_ zVHyEO5>&u=0Cg=Lzy) z-r#VSO&({exF^I|lz#$KX(@5OV(PT9r>B-gtf^XoJQY3t?mvME2M5RTR+<bEHOc+L6&EPF|}e`il*Uz)QA9T{}&xl@@K7{?BGl9+$lCz&;9MWpVAb7<`l7$ z{QmiImQT1Ln=Qk`aO{2AkhvW58Lc$=9(L~Z#y5Y zE=Md=^D*Dv{Z5~SF|Y>Q7(8NtMq9qR)D&Dv57%5edK{Aflpg<_8JSy)TA;ZisjX+O z6?!3$-1LiOuRlfY3Y?aTFz4l2_S~`0L!* z!J)E$VKBUEB8TQPV{h*Q5?^fuV3+~P$_^7?63Q#s3eY7*41{6Q;5hX~hXZW!PuYX_ zpPZaeNGNBAFxgGBAqbNpWaa5-)&J)~8lmp8t}@-jvkDm>UoBkr<(@BG|06PB}JZOmC&JVFsi?9hS+dzm% zO^c>!a5_JT-tHeev%9uG3W3`p(`tMPg;hTtW^!H{$bsLyeamd{rm?XJ@H0-5`<|^C zIcsJ4#Xp=hr?2wgGXs)SL&IjWD+)}oWQ9y>E+6+pJNw7k^X->3g8>tll}481&swRga0(A03Qki0$H0K2wPos z|JOc2F`k)xMO{kS#Q0}wQAFtx=gTGKjfiTg`+&~J)Y}@?kkjFAPkBKE0m&FbdWOTV zl&EG2{86DMJCQ+7QyrsKmD|NZ@QB`g!`9(FkN)OTcxY%TRJ6SRF}cL}0S$0khKk>L zwYaUF0RU$?CLv+x_H$ba*2s=y`O}ylgR#= z$Qbra7%jQtak<(EzBo59?_cCqq&4-uY=dCH0-dAuq3!a7TJRZy2@$Brz z)oR99>;^yZUyXjx{JXB&&azlC%G3mvWF1-Dk?rl{l+z$hm;EVI$rNI2uP!>(w^5_s8dv+O$-^YTU1SsPZru6QRZ;j0#_K!rh&Cx3J zaCgGvCEZins!^>|xVp{nMYR=pK|}J#N2hIG?Zx?`T^2=+q{GoWhN7S1es>bw1@9Ei;Gh;P4 zIBMM4vH-gE@SI#+lmrCt&hKzIDT$7pl+k>%Wi8JF1RsDJV`*vGYr-0rl=)70v--g;Jrmd`_><$_xcS2 zD=%GqOUq+=bAnjM5H#f+mSSN3{0Mb$aafD>_XylI@IVS+j1CccUPl6?B-`U-pITq) zSfQJN4=EmNKZ1jQCMAivxZoJ~OI|KrGEL6U50q524{pXjMPy{?1_s(dA^;@`?$O70 zkQ+P*WJdZ$gsirXwxc_TfgbJFjt+Wisum7j%9S*e_TPY@(3pRvFI9j(8R%fUB}le*}Yi#Pnp zV_3LmsfS!+x^gt9nJqlzQzXPdH5xF}U+=0%jtF4>vzv=={pG$#EB?R2&Xh&P7)Pg3 z(U67dk~U7v1aE=H>-(|v?z<6U!IgVl09Jp_;PRG^#n)}|Z?=CC`J2W#TcI;LnfK3b zz5N}rEfy17DyD}8R=1#WN2Qb{E&N*u0KzJ(67sKH5(AAe&Ec}+UE;)e9aRTCyZjBk` z>C>s$zozMg3cte(3<()+!(E9#q`8?$=Nb0#aJIZIbyWlW=5{cav;zuF=nma{i+t7J zzdIQ|GB=k_n?N0xkS=AWp%Hu4P&L7SlP<+ffa+6a%QrTr_^&qJKA%*5CVHG-njQ5gGJJ3I7v`vChrR!7X6*jv2rj0;QT9t*y7<@4ByvoG)_98 zwi=^ukLh=>^xx^E(5<-Fa>Smhf^hEP5$@M`UzyOWQeQSQf?E4n+41K;yfaGu3<>}b zNUf8rI1eaG{Oln$7|es7v|;h(OA8GCNd@dQu~*#TMD0njywxTYUS5{tU zn@An6OcGt-JaxP$74qr>gh{g1m1|KeVPY&(Fd(m`F+>)syKex^kn9`&-Y@!?N4sVEGf8uTs5qEHK zUOu{ie|@&hqP{5mS3&6?_oi4ZE+AUg*q}~-^WT#z@c(WxO2htN6b=ML)`c^uYcIz0 ztGslrRk23Wt&3;>hHVYj|5Y;yStYojYvkoa-A@>(rvwBZH^Q{`Ry3}PwooqtZa&@* zhr91G>~Nh@k3wD$o~|)$od=bz)9J(OnoNE#9wa|y{ny{)jZ0mZ2qyI#!qAzs741=Sy zE5T7VDBG5iYZ`zV*=39bg>_A)QfRV6L!kVZdh_@a>G}JjZT6+3N7hO+pBfzckk2;xH(PyzvukapU~%JCSqK z_T!_NJ#(ckbS^_q#&mzuj+K+cj@O%na+Z zr|v~Q?~l8*`qs6y1QxtJYT6l8CAwN`UP}WmC>FNZwHIGk%kS!eealJtmYaoOzSh;p zgJNFEmg?Z9yQ=BW=~LtkOWd>(@Acj3s&ezB&sb@G<+vJ46lk{J4Vw@?Z#jKW%G57C zz1oj^F2_HM3vx8hc5rhd+#5ytwYK)*AKN8VFflW$0ahsL?K@+2lO97n+pmMeOdohS z%A^b(c)Y#6{Vp~UZ!c^7jfb|v|4C6YmIR1s#QD_^?-YG}eZRI?z#doDsVr9Aq|(;$D%0QAi7g3|J9KXraUPK;d;?xt9>PdRbR^}<^co{GKb zOmWB+c9uhYJ|b}Z;pLOZ;%2hneb;Q&b$t^x$+Hyo4V`xZ7!u=xU5EVF zG?k)H7mpL;R*pK|nS(q0@4|+}AV6ngqzu|g)(Cv{_|LcYKZn9b7Pi=lkB(^>X#o#v z?6~1&=x@LC6ec0z61kGUFX!jaiQva06=dXyUxL2Kpmu*J zw*DBf;d2Z0_S(1|ajh%Z2e>f%=fif5eL!sN0n2O&y)1X_LhGDwbdj^NNCATeYNVid zt?g#ouMl(HPp+57MS84}ef!wsjl7#Rd}u{u!kWMBWBG>`5p-2+EYnzH4!*pzh>j6H zJ&1DFM$`K)2!sO5J^D*WTWyCRieACnw*}Amr#S-2>efmKxxKN|Ns;_`>GQZnw0&FBLUL;GPgD zZp!w@i%$~&=q?WGd4ZeRW2Fb@(M6fU?F#>nos|C|8CAGE8$L;9h-f(n18)k`%Uh8? z{kGni77W#N)R+lOQ3R)oQNIsai)a<9eNx~W63!C62mzvydTiL5SfT3hK za3=lk0G%{i3pnqNPzbUR{F_ixq|Pt}Ou;s~?tBboWn20*hR;h{g)?*-6<-5`p7J8l zk?2 zFOPBnMo;B+bpm^eiiv)$8{v=gUTt+}wfq+KWpQ;iR?qvU#v9`I2>0`tG_09=5nJkDORE{b-f z_U)HKKRei(2k|1It2;YgpISpOS~(o0KEHdiCI%gu)&yOo)t%5nKs?(O=$+-^2=D@nT* zDy7JRd|c_2*|Uo&{Ywqgu0W_$-J<4(xiX6a^yL)qv2>KUVKv{;IDfWQidSl4%%5Z! z^mTGuBC@BWB&K&-x;ELBf+jtDf)}&QokC(^2gMoj=QuqN%Dq7B+4O82`iGqIW}w z;geJcf!REq8^^Wg1zB0ye@?YcYDE>z)qt8vY~Ei^ zr6aXxV)DB?Q=0$lNHUzvklj=q68I=O?Dc*GJRGqt*I>NK3o5qu%AyI41cteE%P;!l zfnh02OFM!!EYvK3$5s0sTb0nC%;~@2fq=#UD$%UN+L}@NT}2+`)$P3p{MymckAwsO z6%VQbmMA9wbG6xWy}=-%7QCR&j?^C%!@MEh;A?KrN zaL&t;;Sxu_gb-^{!ic{2SBhx(xKFFgGhU7GzuhaPPWJ$Mb1rV+^@3oPJeI!^vn`Dx znW0ww`OqSRC;a|ysz~36G`yML0Y3(=9C4Li9thPz+(g^JkH93gx&nxQ@qJg5qCKhAyN(Ymn5(VChDIsW z_3oaI=FOfs#oGDXW{35foa`LVkLs_qGto5h%qg%g$0fbJL%%RPaJ0Y0#Uhrr^nByy zMt6k(4~)?Q+5EdOH>ztx4qF(-ON`9Av5`@+kCiYwH_!a6Fa5=6F3Yzkip*W_(ALK0 z+fqZ7bl%R`dwdL#Ffj70pOpogUnqk6=?)pq>&5z@bTko(bq`WDEM#)n;d-z zQJYW8t=|3~qvf4Dp3rTpNp`f`tgp!*Wa>fkdb=%OmrH=r^mqK$xR3|OfHQ1evh zjfvJ1m%upqiWI!}9wlsCJ~uq&hu@%_K_!S6W6h^*E(0Hs-ywf}9<&NkM}I9W(pg;= z)tUrjAdi!-+`nYdU5U3qA>a>l-)UF6?tsI=!>fKwn4yT5F_Q;-Aqedh=``EHkB*Ku zFxo8dpx(t22t)|_-v2J9d-uLgih|H|wCU=OPvP>_(;#&TKD&jXr03$_qLzyTqQ`?( zvI74Xx*dprZ1Iq+RS4=I&e;4fO~WIpDgU;jXSyf>2_eV_28CTfSD#4(JU(^0xBD`M z7-58qdw8#io;>yG@s!zX5^`4x>D1d5OU<5pPdM=q)NgCx-E6LqBCmCZn>P6_ssrr>(1(v%bV)u|7r}ATTHl?bi?xjm9-e z#NC(+<}1=-FOW`FK4b z?L+B2PCc=r4tg>85Yx@NYI?!n+S9A$N9+hMDg9Dst~g8Nh?k3|kyQ(YtqJ*D44;!> z8r7~MF=V)+wO6j9CA_#0rJQu23;q36L2054p1jHWL!{?(-W&}bo#7SDscKO~gpPajrus`EFp|2xs5C|n!H0yQOW%F82R@%*FeYi)UR!#X@ zyj;GDy81u{57!1rF8QqdLUiZ_~OVraRpplJomR53Jo? z=;=Q5cJVZ8V~;XnAGU)?lPqB}07BE{3;HTS=CcEAaUSsUt_a_S66hiuevN+j$s9@VNe;Ah3Zt$9)S#J%s zQxON^b54(AD#_t+o@0f;>08Z-ewME`vugXdd(e~8_9f2LpPx;dF^wWI2WetuLmCP^ zKcJoEzhDHH_o1gDPC;0jn`9ItHkva3kJipJs)_Dv^!OlxN>O@8>570zClsYh2a(<+ zNUx!{03tH4V_tzJPi^l3!(w8FwkVYGxlp&=PZj z-nVXqB<}7kxyVG0T=T*+xWK%j<~8acFt307g~(}Iug}~(Ff1CTVSU~?QeTla`_vpf zHaS5VRFU=9%0cWjOf`}i3%dh6R>OOx3PKq&;paVP7~jFrfJk+v%-AudWo#>P7L`S<6CnWmZi;{8b#~iWgxYVV{9Db5;8ii z?DptDV_@H+iSw>l)-C*VcNA*3-&43lpyMg7;v|KCrJg>I;?9)xE~%<4v|=T3K$hrn z=xer~4-bGhe_y*j3Vk5^NhpaC*!qAqmYwk5-6Iak_#^#g#=2Q|OHZnhO0$!5XEUUM zL0C}5vEtb%^V!?ffCMBu5$V|%hOmt{OJ{sb#+ZO2OiZ>)yMrI+t~zV7jld3`c+qO< zMj}(qy=D8TT9B#w^?B(_&y5(C{-mfWv@jA+nrxNjj@nsp)|N8>|!}a|? z?%t?FyyTmR`{)D`(?I%_gu=1FNklgJU=$ zf8EO$cE_h01@L>}x%n>S?z3(53KuuteNNP0dlmNMf-xPq}z`z?oE{LFUA_7~Q~v zP}67MHkg?DASOw7c~E12?7(mx#H)dm2iJ^OBCWj)T<`d9Wwg=7nApr}$4N z!om~cq=j0(YV^v^-g@89?B$hLprgD%Z;AQ_q>7^i;Qwo~>t(vZz+Z3zC}%KeGj?or zrvK_AVPyA`IDGh<6|KZ&F`WAu_v5~hrPFEQ7JM;LiluHzmq>5=bwdFFm4_2s}&6@8xn{(cl75Mee#CM5V|cN%3$ zj=#UQgk_QZiZ#-RI0C&t1L|Zp4m$82eN%JWAIe=GF93PQw0-z^@NxWU7LcV80o4O1 zn<6Yn5<8wYAfj~3=)^a;CtuJ=1#Bc_j4!KA);EciC1<{8z3Tz>cbPSt=2iYv6xH3t zQkezZr0#KaRT1_NA$hvU8FhLbyPi}1Q@tkZm6tbanfZSaw|bdr0`~#xoFp4_FoQCv zSrm+8mQpb^q+9NeTkB##Sk6og*CDbV$R7D5F@9>am=uYZ!DI)V4wE})y5oD#dvaM> zSuslaedg#(IsAhRY&(iBbeoqlS3*^q=<5?b_AAlQnsp@WSwWfAjigz45&qnZsUzzNLOcN2Yg*?G8mj)*_9And;jj$1dfJ{9Yf8YnL=R;qPdq8aV_CTQE&a~IrO0wqJ>|XZ!ov*`c zk~RT|;_>_v^Oi(18vcK;n*hCgFk$xU)h(H;2*TR+tLrwaRE<514zY2y^YR&unRWMI zCLUnIIx^B--mQE}TXyDxR&PJ4Y8W;*4zBQL!5a*|x8uOy&7=pNLC@rli3xvfz2$kV zcvQHy6h|8+=q2y{wn2YtNoe215mco?fj4Gchv%*xnbgsc9GBn7?-QA&Kf@AUI}@D=kH>_BMFg*#$PBB&RQ}lA!aQ^H z0BIJ)_QB?sXJgHV<+#g4C>;Jd^~9pHcZ^Z`jgmr(8=fA*s4ur&sc1ug5H?`^?RqW( zm}q#F;us73hVVxDeB^(OEqXN*k}=)MDLI;8dVjJj)o*?(jWU69%%6=*nFI_|_Tr9L zn@(ijul%8B>|U$}?XoVM2n5a;kTOelc#6&`%E{qN10{}<2mE;b{@#xZtO_Kt#q-~L zfrt|9`}eOh(q}eTXY278^Ps?#F$dHOuYTL8d-n}n76qLfmigkw$1tP6kcZpXJ|QFw zq7aON&d{;ty1VD`G2Rgmzox$_%3bgxumXMAFfY^7-^bS@7JNA{djc6DK^6AG?DFjH zMN40NRptMdQl9;*iOHx5GY*o(%|y>YaHRp44&H9FRr)$+W`oO`lFF=!K!JS!$DYV@ zKp)t?c@C%p=sl9Btd=;q>|#LF7sx@c#YCeH3XJz|zZ;l3zI`EmwYV6h!V}LTn&Q3Q z(ye*5neBTK$#wQ_82q&ODeX|pR>{t$W zd1mq3-H?jCM^j2XuGSiz=TnRs$`r1+&w0>Ba&I4D=Ya`19KreYA{sSM9qsVoyTkM&Wm0F%BDz;`+D~` zA6NgyiWx$H5Hs5<#wYTWTmP~#b*B4uX{dnFU44(9X z>W6p+mMk1Owvx1liF(XssRI1v5fS-3zLM36C&{>?H*&;UA4_VsY76Y7l_D{zr__N| z)2(-kNfK?eT|+jl|Kjn@zH z(rX-TfE1@0*I7qI^VSQ!Qd3PRRBrsT3k*pqHRvqivEE-57k!|~K2cGMt&|@6R_!sV z5_mRIc6P=e)ak-<%?7O51P&`y;~NHkJY=iAtQN<+K(Yixs1|Cf@{rNJ82}R3;tI2T zvmVP8*R7=)2Aprw2c9m-8B}LZA%BNOe-&AkGAo7Hrr{cQqXVU8D2RYn2Zq9 z1i+N!QM}CUg*5(tYitRRU~e(1Wcgb1{63|^VhaE4OQA{le;$o3J8H~{RvS$AE8OO}6FJd&NuD@H- zFS6%vw>B?I|BCeQC+;c7jzt*Y7}v*;6ZXtZrbhwW}qvf za;+P_4h=e4%%MR#4A@(ze|*tfjAoN0zoaAxGw!z-t-H%i#BUi-p^UbC1!kdfpfbrh zS!LVCbK&&Pv=_{%NS0QRaou>{_A>aPaQk!Ok9U_9DWbb?xJ z!puXxGQuqR<}S0_7m3nfkYimzIzz#oQ5kibiAJmYWzAS>m&P*@92sLyW##RW=Wz|{ z&uMcSXBhn8Tjt7k$`GT;y+aIk`jBp@B`W*!sCy=8Z+0eddSGX&DuRST1cr47%!yk! zx@Nx=*L=&zCR}PPF{PMXBHuF+ta-d-ZoZiA9mI={!F^znx*d$Lo52k<_$+qT8P>>r zk-o1bH3Yisg0NKx3Gjj!*t7UoVWHZXNZNO zp+6EdWK1>_f4sU~-h8S1({Yqc|GU?s3G@k8{nyWCzhwQ?rp=S(Jv*~cD7P{fA-{(9 znd`V`_%D?frLSqT;$4vSm+M~mWt?6IfK|X{5&+$*tb<6ukW$6c%wki!7Klx9}jn?nn2rF(=i(| zCTV$Y+PsS2pywn^5|oe7uk@vwkWU-1FyQOl$FW7%UJ?5FyHW|B{y5lVM>fuT33-*a za@|bk*}lHP-vm9U0=Z`wA@{xN70LRa|} zqU(6_tH5631BNx%@Urle=rT(SOw~p95WAkC(y1yJ4F@ywF_#L_N0m+-f_NkfPi&)- z2`3vx!-h|Q7qJ_(F{aE#_#r3TRV)c>B*yr7hL`p|jx;Tabl*ZB5_$wp2P~GbK!$--34SqbI6&o2F;Dd>z(^G&g@Y)2B znZ;~W`$w$+GSbvZu1T<8N6a>2#v5Z!-j9?c{mPznEYFdBx0)7;00k+&nXAcgW$*uh zKSyT+jLBPek|#Y4u*=jrMLX=2=A=8G=VCYAUXO~dtCCO8mx?lux;K=z(7!oOa;NMX zpU*$%$>(!NG~RCT%>6#Se(HW8Wr%xz!OAu}q3xqVm9>@D3c`R`F!NH8a9chGNy`%4x zSNJZ;a^O!}0XF+^o6k1L<`9`n)X2pKOHgk@+Za%;!gI4?2Kv=Z9-VF46xyVxJJ-f3 zF<X%;JyLZoLC6~~5gG&a#vFb^@ep9SabwKu0~ zX-Q#aHAj~1{1vanwC2MU8uX%9AK9E#Gv}MiB7I6>ZQ>{3(kx8Y{=D`esxPjg`Ue+; zknH7bC6mq3^BDoQp&*R^=X%AX`745LoVn7ZNi^u^({1b)Ja%JXU?HTUhvBbRmw&#z zhL!kM*T9CR#Nly* z&=*41GN9d_a0dmzm7pz4bwi9t5VB>vcEldqdI-yqW_0^CWIeXG_;*tJ5$|`m)31-= zgSh!2`Qnv*!r1u3E8*(!S+7tzv?zV zoR9s`tJ~FDnHXyV+Dyb(AE|X)<8VCPanFKU@HL$5tRB$OZZheY+0s^$m=KrAwt&=St2XgUhJe7JdJjD@!noMQXpr z)g;{}+dpw>Nj4DsC!TId2G{npu)M5^5xrTLptcml9DY2O?s`Wr>EgQigRxP})u>6y zHXpJcI-T~hlRNVE__03NeACp^a$cCQ#)WQ*u+J5D(vC)nurBKzb&3ZuZmk)8R-b;+ zJ2>&sV7}qL3E|}z?_6&AgAX_ePv5W6@9Pbnj9ts+vFxrlYSI$)Om6faW>S-vEMv$$ zFhkv#jLf&SZ}R9R>C^i0guj+P70<2Bq|4s91;!j%WP9@7zxL}rY^`xF zBY1Z)Az)XAgL0XD8mH1IXyTn-!^~g)yUZLH7X=uuGI}?mHe}t*=Nlj}S0L_f(2fW;m2dMR52Gt>D!XdodWFiKh7kpQA zzhZ8gI51x~Q`&q4z{Q@VI+d?7N~qcWTFS(0)59zcM~{@cCI?D?3N!(>&=t4VMtGG1 zS?8DQaDk&F1x(FyQVI3k|>`r05%;2T>+6~$Zw+p+t{&10okY@P9mL3LBy+p;Ne_`79 z#Q(x4cI@IetWTa^nG`^5M2RqzS?N1kiJtFY>J=-w_RpYo2wA;wy971%hJvO`-x*Tr zY-PzTpo{6Q$7z5yqBw!ITsc*{c*GB1#xC?;N@Sl z?bB}!$?)&jXn0hVv$!n-ED>XJ80WdE!DOj5T*d9aycqm=D4M9BpOg;D)2Q z4a%4J0d;SDg7dp6+sI-&dky4-aZyy#uMRvnmWW@<-Zfu3V25tAdUaPgn`FVU8|oHZ zZPR~pCp-~{v`_PMjyR$s80m+Cj$i;FRl|3NN2*$;Sd_>vfD>`cd-nuMB~eAcG6(U67M>W%C%%(-XF@;99;nZ@VN19AtMhLB8;Y)2*pK~=%$mZ#!X&1sMh5i>>O@;&xshQK z@z!kR6e|i%PC@dISW1Q5pO56BmJ~1x?CFy`ebtej%M;b!I$Y|y7~JK?6h@}zXcAG# zo@A@8&fUX~hp>1@L%o#N1*vgY$43dZ5pXao6}z+wt24Hgf#9<|hEb|&k|%|t?+~*+8eQJ zl0emIQ3>~YlAX@J_bKbnL|r;nHsUdLtbprFDj*-C>$wNGTr8TJ|HkG1Oi80-^7b`E z)TSrg?)zZcQsnJ{MWPhTWutqs>gu8Y1YQKnR4;4I4}F?nZx1ZT`H-jSf<^nnemVUGBT}<(Sr!bXiF8&q)@hpY3&bL zhiTJb7W9)rU)wbwOp$WFZlSzgP-Qb^#K6Ig~Pc zat8$lahBlQTH&b1c39Hq^};30k^YVz^E~UBhheq4WR~r>5PJrWA$=8V$6^N7BXYNk0Z2mP8%A1>-HG zaq20E+lz%Hy|$h;i&Y$sAJ1hek}G!T5GKxew;vjWvKOCplYP9S#hqW$wX^}Gf%uG2 z#(fOjf3DIny#-I?c5aPdKFL?i|G@;y@uOFTL@sNsY}nc0Be6p*GCawZ0zNvstX2fcj}DEo@P+|{vARoYV8w&`iEpb^az?AvmKjF%C@RA?0WZTwr{ za)WX74P@L%J7I&_KZV2Jf3}Rgji-?NPe@?UQ{PYB)6IJT_^?-3pWx`UE89eCz;^zE zD`BvbY5yJtTHrA)=QYs{(~x}L?WDYGVv4Umz+KF%oUS{EGL9JPR%IS_oxU4kY7lJt zHq>-$%zR+khAZPP#PJ`dwbS&eQVt>s`toH)58h4=gjk0zp%O$}OTrV2sA^QzrhNN3 z#%=pU^U&~JF?s@C&zKRcDW)NoVL;`~$x5TY3E<@tq&DKu1LyC~=hR^Mq#CqRZxcvad`~9EpxNfx8iGqq{Q$SSF|Z zf2yr0Vmk#qn9Lh?E)0&h?9nuqReYyWT}!mxVtrC{am(K`pE&RmDt3G7$ZeNKsMHj= zAFoVD)-dnu>T)E$PO3}_oyyb>V|z$E+bR^BtinF1SZ!%jQfQk^yjdU4G!Qs6Fm3}1 z6xB>w7Mml>SgUG++0%J$Z$kByjqKR&;HfkuQlNyilP1aP(KHXL`QD7ur~OpbaIYWr zda3JbObr6npG@afvRLRCS^jnVzG>IC*{Wws47&WWRgD{xP??(aQ~Iw1W8hdj{-++4 zT6k3)r1pKI;Ufs=(y`uEL3WSecdeQ_?(SQiaXeXV#!!}f1a;QfRfCkygD=H~)k`|| z;bd0+Xujs>4xDZ8Zdlr{fYq&0uK_f6Ok!*3DuE zuv(lTg~OIA)tru2>@3vhg$y8XuuC$Ua-$} zG*&0*Rw#dFVyfh1$~~#t%*92n;~2nevsk?Ze!?eRcz9Xui2>vAeT+U+(P;c^E&nog zphrkU#ZjdxjHH%;iS^3hp{_VK+=o>qr6>UINqN!ac6zCi zhJI2?m=lQ3DyXlmL|{fuh(7#mLYrBEMm9Og@Z=mTmbz2k&mcI{Tv*)@!Uv`ZE9G8 zA4QbuBPFLwQgyIf%!aF5i+9?YFCbm1TQx$NaZ@5an()P%lfu7NC zp!d7)awdU6ibBhQ8%(nyA$Y#K8Vx$#qcI1($c_&8uJZSrD&vT2;$VS%rJoncx`2)g z{tV(s<`)ySY)MASq=vCP(h|5UmTr>CDXFUh zJ-WoNJGPI5775mk*UihbewaUc7+J-k07Fpd2)nGbuOqn${|Pi{99vQD`z;hRD(U3% zeVbmoJqHk`#Vc;lNiZ&v4drQPk97_mP3E^GKD`uDVx^>^&e@g#A|J1XR9e^V zgJ8IQw~5#k#iT-*t*58hDijjH>1-!3DhmGcB?OVnA|7gLl;r8pk*LON;Ni*C@Z&*Y zD+BarpUQCDXl^*0SndPoh9|f5MH|CHF=85$aXJrrxs9Q{L-Y*8^y#i7OvNSq2t@uw zB*N*l%k-MF3 z>u@o267hg;BM%uR;eDFyVpuAM`iUY{^w%w358^rrc=5aS;o9=0tQ{X8vWL+&=Gp-w zhwGb$CN|R`@aezz1ss?~_Q_c;XsL9U|{r2ffW_?5hw&gfV-<{hbVq5@yeY_c4G)+-8}d;OAy9-lddEv z`=1C0C!rLEH6_lws-J7t@K>XA#0Bu6uju%%=$Ib7lCDvbM)A_r=SlfFxxJ(HGh>n0 zNcqPXifY}p-)nRsG)-lxrjA;wQff~4|C_FKAyXsSq4PF*l?nK(F+61j4S9s@yO93{ DSDEYi literal 27913 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�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%0Dpx^&o{|%5XtT|L!$13R34haYo zFV2iYX-kK)dp8S`w2sF^SYf}_cquGk{%jpL{p6Q3>~mp3oBhUA9ilLYd^*#Z6#;DVQ+_o8 zBenk~|L7BG$@l77m=P)|(WLDshA9M~c&8AFLp4OPN`EQxPI;VgcuyX0rxZqB-tk*d6juub8Yz)tWL4n1w5O zb6OsXwBn&lD8EWkA#6hr-fZXd`CHIdJ*(;C+q%&u&g1gq3=vMSU-x4)q%zVTYYB{1E?a7FvUmObb;EtKZq9DEL;#(T(mUfuMp(N zIa+n;xJQ!@UQ@g4dV@sDbW@8XdTus?g2wIsvZ2r@-H*i5MWbUI0Sf_MtB`MN2H#b( zDL3?2b6Ve|=onncOCk0ycJv&i3w`GdA?{RWTbe_C6=fPl{HyDesb2RZKQc8WtG#*2 zh7zJP@epE%jJpsTJo)hs(}{Tje5#izHFEI@X%FYnr{h;-F*g?xRxgSWF7{I^rDyzK z?H)T2$EVQWVKNVt}m_(Q`mC-@PLq+~=a#iGKHH+_+gT$JZyJaDxd z-QG>~_Q-#J*(b$c1x*yYVwaAvdQ!;jxoh`*OijCpWz*=^oQD0SloZ>cQn4Be{a3Bo zvh+VGn@_}t#wu7Y1>39M5@1lemrQPUY}%3^wddTn&KuDsF`GENo2d(y>Aap~lxhpU zIZJ@9@*QeqVWa@_rHr&k{xE?_3JL|5?5tAu)|ADwD1O9zYMx-?dzAw#DUT?O)s4RJ2l zUXUpCd!@+Lr)19lp$FhX@4*ttgB-_3XxY=Rl6U*%0>i?W-U2$SUHt~(nU*v%v*kv6R`1q~N*9ld3r zGmek_al9FZ-#oon_!UmeFot`B@_ci)Rz3G?K!&*fNrqHPP2FQ89}f02Yc8Nf|9D9u qG3I}9N&b%{@IOcNzc8Q0dqkEAs1O>hlLz=92;#yrLPei-y#5=ei0?oE literal 33232 zcmbrmWmuKb`{#>*gp|^aNJ>jL(jqMa($Wo*n?^yp6hyj9y1QGtB{$vOo7|kmZ)X1U z;>=vsfKH@BO*Iix3qhS*&NI&kzt0u;kuJeLz4!R75~{!ia_fek0A? z%>q82IDL?nKqwg|-vK`$J4wiWL<3)5XePl32rm)jq{KhECGSHaZUpK#Z6`+yJ`+eg z5z*hVGa!~sh<--XQ{YPvsyAIzQc@`9V*AN;s(MfRUtky(0dnl3{L27@Z$D(7{gCjm zYdyQA`6BnOaq|1IPim0tNIk@CSj2pDFp10D3}0Pc{rhtXG-|0NZVEjFYVduq(>G*A z@SE??^?#)Au*5%XNU#v@$+0HYL#W7j>C!fF(e1rCADEMs%w>tz!V3xtHusKvgm*SH zi)Y^|Ey82;;c*1kjEpRzI~$FOk^AhNuBH_(I=gc0zVx=rQ1Q7)Jqo>WHAf~}&w^ep zbGvz`kdiEnmr~}u4ht4l+P1PpS@LAUWmHe#a0)%lCtXsqD~|Po4aBRMKWaoos+5IK zy6`CUf=g^Rb}xR#YW|3+P16@yL-F+xfG8+>+bgI7hPHtY@{n~KVC~M4uo4n-DI(UVd z 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 literal 14570 zcmdsecT`i`_ouJeL7qwxq&%c|4NXDd0a8Mh5<1BPsi7&o^K76LfzYJ)PKcCHLWzph zP^1eOBE5ssLK2e9MSb6yS!-s^n*ZiESu8zS_paP?_St9e&;ES&eRIfoagPW^cb zd{5OhFl!4R5NLXOw)2}$DSy(e_Agh|cG@nS6EQWBWO4(mOowv>9&x<#go?Hg{$2T{F>X+v^oCgR|$Y<8UktcAkn{H--I2j_L74_&$^ z(7VB0I{La0dt*ejj&6O3;o}N;7KojdWgB05P-!k!1F7)endXbJOX=kAT}amOOh5J< zpD@F@$>BIJmm?5Y1OysKQYHx{`Fvf!&pH13!$h|eWtu<5#)FuzyNzz+J4GeLl4ReD z#uJ2M#!Kq!P0{ca$ut~NvMoeR$T^8Y_gR)?nrMX^3lCR5yhVKtIq!I63nKBCb|c{- zNS(cgbu3E1_}`uQsGSs}-|@9vJ?c`l;fu*vT#BZqHvHCl^~MO3F|-?#C0{{(SV+6m zP%i4gZ4$Tet!M3_=zF*kT&JMG!)%F#xvaJI-f*H(bj(YLlUb_$g9YZxmoLXop8GNN zFTam2+M5U_9Yawg*3Lbwj!6=PlI)fMx9-C&5JTmSs>BT02PNL}UMYl?w7M=y64kpI z-&ZMY?rW2LhGDbR3^^lwOVrA&&XP68GO{;;!1m1i=TCF;rQrm?oc{!H!o6$Oh$QCA zS0zZH(Jx|6TMoAzUk^;buG1h$Syka%i0}mr<1XZm?>I`*NVC#RblN=6IX6=@h9G7b zXOd`^IbvNZc1KcGkmP{2TJmpM@>O{HjpK)Z{&7Y}M@IlGBGN0N(A@`d+n+s~>$0}X z!_hC}@bQ#wAngu^%o|wDU_k3kB33sgC1riI#aWy9;D{O?VUm+q^f2iL9}<+V@7K(spN>~<`RI_c ziGYSiMMae<82nO4R~KSrls~m+_WK6Is1z|k>ry9N&C9`=`u#Jq1VW7rP&2o8i`mt|WBQ$z{c0)Bs9 zjGlt`^s4vl$@?XEjU*%h9wh`D(t~y_(+8a5l>F*xesmRwYns|l@ZHOqODQa%Onp!$ z11S_5)CTR{Na}Sk*0jPzU$}U%$QO?@v6X-!ZJnY_jG!oc>WJk+x7%8@qo|a~_><;~ zrW<9HW%QK0j=rI}nZJJ$?9U%g#sOFsvtSr8S&a|bKPqHeO))2Yl$HNnv62&{SB^B! z@OZ_dQZ>O9K+_KkCXPK|BA{}VFkpnYoae}OulCXy$u>=T&|)|v=O1J~ey&SV)tGJ8 zDK7suY8S4ex_o$-MeLv@(<_;S#FidASN9?Uw%T4rm>*{b#PF^;ff zGQ^D^Q*N>CIW#ges}{-)QXNvFmVrPc*O7(>ItYG!%Fayi@)X;_S9SW>KjC4%+ZyJp zEuFf)yDyT|K<2|4I$Q(sH**=JGpK85JYSzEu1u9WGPtNrQQOY2%9hE) zE{7@VvRW6-OB<&k5P!NE7YyFr5hsO3_B+)9f346R)$4!%unuQSMFkumOv(0c{+w|* zVk#gY0RNlbP9BAA52sAd7O|Dkv@Fv-)Rnv2pQur3gV^;xTtu;3HKz3)CSU!G>uQ2( zu-~*Vp4N?B$IHVYn!#4uE6v2mT8rLyWW%N}o;cP6L%s2@Ns+>ml4b~*&`RojXxHePmQrr0{2EGcdMV^^))Z>Q3+4zP z`Ka!>*XK5RuwN&&zJI>d_4B7&RxO@SH~pikSlxP-fwOLDZ7tTZm^Mem@%P?jXx_X; zYKycnNDJOy&F`!5w!G0FjTR^i$j#{^v}-65w^L_U%)H@<`DwKI%&RSdMi{hFOF066 zIXC}~Hp_PteMu{CD!PYlCS4K`5^`NniWe0Wv@*uWJ>sSk!!SGVw0y_?mhqYGIAApt@NkyPu<`<_|!q%sM?bpzvHYw@{#xH6FHn?8nn!=;|z~~CQp3A zU1;mk?#7AXZNruv$vgW24s}y94<;HjLc4xvyw1_;9$wwsSu$h9$BrO4^xRBe^b6s~ z@-}uLFKsEhgm~r%#$HFw;e$n#M2rr1FEDPa++XO5GimNFk6#`z_8%J5c@dvtqnz%D zu)F5ng5M2ndlz^DCx8z&u*H98I8L5Wy^Y7L=Tm62tC9q#I!od)btw3_e8qQ*v2lG( zh=!z5$_P9HmBSh` zo<@-3IMP-z2>#jo-n3&}ZJ#Bia#Icov4-;25%@zO=*>$}(`YZLB(;!h65rSTR_a|U zvYEUk5pn+!_+?Je{G4X-@?%dr-s^yT-D{&O(`&Mj-fmc^d5MX9w^N|F0*S7)o|OEh zaccru2Y1^Nl@vK|IoIe*VyY-B8#_K7!y%5P%tmo|giHjb$pvP;PWWR#D9d0{HO*Rl zIf1~x>T;L5856wH7Qg>_G`>6nJ4>F&u?JJ|OnzJAX&V!np65t3V679k@9vWEyBPzB zUeU(M!oFyo6qaQ81e^4jh?sTaLKm*a3$-ifF|jwKpF-FgYi5Jyji^Oo4p#-@hl+-< zS-c%9DRT!RH$cYO7=NQjVDL>S-_He4|3(kqEDK>R9WBP^y@};Y&$*GTeaWB^N2x0xVrz`Q43;cDK zij6yCIb0zQ-#Dz${)L(h90hT1X7HsE0dL4;--55(1Tki;Ilybc8ly+O;cnG#A17#V zt#a|`_Eh$zJ9uuSRhw0zp_249)DLj_g>8dW9$$&USS=W+5MN-I(P=qGz-d z=uwBC`AG=l^0n3R_Wno=5MP$ED2i7m=}9TkpJ4(vD$Jpo)y_E~-~fD3izMa?C)n7? zsHUClH1W;WT|vodX=l24d_&Gn%@UDmA;;r<0)I$`;f4wX=mLX2bqqQB@u9mNKmFN53fBE1X z6PqjnsvX`P839Sy?6(=4Si2s*;boi<5EL9E*a$NZDmq6))8%aWv=|f@*T$hJbCh0Y z_4x%uM(|5v@bIuvbbP$YV97xAr`*Iz>wshzRn`2e2~0~c8#5~y0R-&3lz8resV2+w z=f9~cTA5TRqLpff<_x_EwX){63i9pEqYbTGeV%FTyQAaS*Rz#ke{~{9c%AZUW@5?L!}Q`RQ%oj zp@cz@@7KTZ{@pMR3GDnjLB>kXZX}42J6>fgId2fr7#1~Ah5z_>`jq>~Ya>1uHa4-S z(Q+8fC+Wnrv?Gf3Mq?1YgT9s@#WNYT(_VdPtL~}7=nxWGXV5|{S{;GGPy^Q92dmia z@lPgNQNFon0W|FsHmI4B3Ms3tsI5jGYWtVkMh-|t)tN!l%sU+&*T>p2ogx}7HsrjF z{QS_Hk|>*Sk@pU%1gZ1^vt~S^+f7)RSJj7AJhhuGLy-HsFP!qzx~GHiqPtEEh{y?Q z4&5ca@T7FWe7`MCuFqc_gv4*#3V^T6dkib?MDRD_Br3-Xn3Tz;^3>(&gaPk4(u&Jq z>+_7mT~kM=h7^8$@Ju#`68xFuUF`PQdb|orZ;w@c)Df2mD1CX=D%x#Pkw9bKH8w$< z9OHudD`;H*SX%(0craTbGW5G$q*YX4o{iRMGHeU(gDQ*!Am->K>GD^u=85`KKaZY4+1Ivz99PpU4OZqoHAwR z)lMr=CJ|Q1`+KPU{V_J6Ko~DKIh!4D$ZY#?c51rGwJtnlgA2in_kG~fH(;lJ)^+}< zCV2mw^ZxrWdXH0GxmPZ9x<059ab?5cBB9AO=FH(vWzmPpZ~p7Er5)NKkS2=ZJ3 zz))dEpAHG{*}Icc*I>n6YAYEM*9uLmGON3C2n14zDbc*h7KW-ReKir8rH>(FtR3Vs_lekJUWdKkL3t4{CE|V| zQ0t6S>Bnx`x&yCQF>c6hy!pcqusSc8>V1?_@J)SX`%$Qg0BVM>V<+txN^0Yt;xd@J zQRr|D(R;IZX}=6&UlA&Z6;Hgp%b^^!loT3n$q>`Oi`zKpv5!NHa|k5eF*b;Y&9dHR z;P?>^@A)01q^&K}DGRET2Ryr@vR8x*GxGNL>z6si@&KUYvYy1WQ9_^^oj_&pq>QpM zVf~Pxif#Jj1BIP=*hYVEDe&v-YtFFbUWZh>Yr!P6eEr{Z_9w*>{b++n9s2q72o}aO za5UeMup=ZP0ddy9qwbs)G-nis-|=kcy?1r|gigVV7$yvtpo=hWpujdLDO8z64cD-! z0$HxpN;507b#6_W+BZQQ{l$2B!Q-B#H}st}6d6c(ZW1-}?n`jAp0=r)8Uk+XNeT`3 zpwTk(TJQfj;$!&pZ3VTv2^)ol1+OZN_x@^b4vLP8J5LJ5rPA|=%18Hf)9888(U__$ zSLS7bsCMGp9C9*ErMXctKu#YYo8TU9c=__>LFukdsdL0mRhkaICBX>Fs zA)X#DSv{aAP?~xq;YQ0$IY$Ry{6N(?l7k!r06hA(8gL6W@}$#0DU@yi(qoFX-tq!W ziu))A4FHMpFQ&eAQ{q?x4CZNOSv+<*%y&4&Ttu!iZerQ}<5S|XiK72v<(n>E-DkWl zbBW@YNMYRLW~rjef|`@Ievbcws8j!3)l2eHqxOy0Jy$v^~R7 zEfw*PS}>a7xN@3j%b}*9p|-hioYruPL8m#!QK}NrhS6kqEho?9()0F)(y#na#EIL_ zGkNMSA2*J2lGhhijUTeHRFMV-&_(AZ; z_@6iGHRpc}|J=O)uMy5EGXHCW_m?{VKe{zF^=BGB_195(MTMD$W3l~%2g$D!K5kOH zylY4u6=vxwa+zensJ;ZYdfJuK(4F^nH)qE>05iVuwAc|Lyii7bHi_`Bc(@V z9PZOgUY-77!Dnp)+ul@EaAtIyKUFs9#k~Gy2?fK!t^uI%U^>{!I$cpwT@B00$|^GH z&Z-haHQn2)1wkOT$diJgx_K9LurZ^^Uk99xGZ0P8+4cavu3j24@%B0buanK42)Z+$ImO!{H@NHX%`?LLC>+$;a;JGDN z1xmm4{?P-b3X`bA=$IIYhDPxOa%fnKPO(85WL7JBVl}XBOP3(#lV!FoRS5$C{*e~A z0~YB8AH?qkY^TDE(+s#cJQTw>S4*}p{aEqsISD`J)#B&_vf;XLT-@MT>~tu#I54r= za209hWL-D3w@u-3n~oriR7xo$mD@t(EYc8&s#}Fx@cz|Az#J1^Ud`&VvglyabD@;v zYZ#NU%ma>0uQp1}nMTBvD>BpVWlg3yvnu09k6wzi z#!RDeV;|p9S?thqE1!N$>#w@$FQSn67yQ7KlKJCe21iVFtCXu|E3RKv^MModnVFf_ zzm?{UMsT-djmm@aD%RoD4`a?!tu_tB0VUQDGnOqN;RRQig4d37!uzKAusg!X|;RZg&G}BGWgwFAlDYu3aemExAUJNIaL%{6-pTgWL^a{l-_1iS zCLYMP=OsV$MTQpYg@bLX{knRzC`c+D?D5`9%spi2G z1>6wYrN;GIqz+CLc<_jeEmpbB^u9&Wln#YMDTC>?qm_G9Z^W}5X(N*@S2L*3DK;a zi)tU+4{kf5o;iSt$OO!)IW~CkweZ!aCAkmV*O_#?voN#5Y3~K%CW?zoT;4a`s-4-g zYH}$ztA>`w#`@}CQ`C&SoZ)t&shxbf3;9ioptx(Lb4EzNrCIh2tM-z2`p=Y+gC@Bz zm<7_GM4az-t8Uf%jeKCF;h5stR9-z6`mI?g`Sr)9vE-tY2+A6xku-?0kZP5YSlv7B z`AVU_Q&RrHHJXgmZ&JDgT`8SQe*NY<*Hj2rw;WD;B*9C2JKk8mB zn0f91lT6dawl6m#0Df2bgo%dMwP%+CXZ?h-ijIv6d)uo_1gR=*Ip`bn5Y)Y2{(|ZFDnS}f2gd$SnaWikB}L!qrBcS zr?kOiMpN#5Tshbpz;94_EfZi@Uz<;!Mm3;N@SflqN>{4X#0{jZfwUCSUx-JzeW zJf-!V??21u>ewMttb>0_SEp`saQ@dsI2KmHKbMzxrwI>KU6+E|+7q_B9Y6p85U5O9 zmq@<-uilG2hxQNY(bWga-q0lbQ$c>1 zRS7Vwhg>94QAvO&A~4JTZ13e63^%1i~ak6^UzxY%(fUR+Zy!@|^ye zgIqIiV?A~mv_UP7yKhjKfGu$#Tm#q2Ou7%F<6}~~7lyBUMU*`%ePwLsl=&cI=^joS zA?MKxv2m}Ot~W^I4f zHv!h&b(CVE9#bOYiE*Foq-GQx{nk#q=Uc@N9w`}UhL0*xo9K`6rdmlx#`aJ2N^+~e{-x=# z&j-37E^{cON7N<6lzl3{B@z3Mzfi$p%)$gTT^EoGz=w5uVrYRv zMy!27VRFv&dZ|b6i`YZH!nX_^E(u1!cAVq`ZhVWdz@75&<^fi)CMD76fqrjUL9I^Z zM3p&VRtX>~GX1uf?`d|Im)p0UnKp)eDIW*EVZ?$S_7Ja2 z&Iax9DUpw)*FW)EM^JD)GJzjY6*s_(5hKO`0d3}mrQ}z)(^&C=R0w(Cz&y(RRc)=e z(upW=Sgti*qTh8nOh23^NhNRvtYy^+iAl=IP^Zt^x|i?^$sVbuVtpEq5g6a~k1jLc z9%#ugICL|CE^NAhI6kTD=O%E*18xFXNVIR_PbQ#0z++}_yhgp@#*He*27wdHTw_1& zFT;)=8Z@SCRxNYabS4`8?cnQhslTkg%0|o_WwH_L>*$R3c*Dg$&Rh5tuvE|LDt?cs z;tEsE7tFmi_kugB&sgj63BIQny&Cznsy9$JFbRuhTO&W4g*!Gp_a)4IiIH+%g~i{^ zcSE(?$m0V&p8nddzrg@h3Hj23uSNmzQhA~U3>z7d50O#JEG2f+7YDhSz6{lYsomD{>5~o#C>=gckd6&x!%DYQNr;@jB?Qm*>BA-+g*dQ|n3WuNO5n zLk?M7rgk9!?)prZ4ohgy_=eQX4Miw4cm?#=0h@W&NhV}lZE5GT1UPsrF2HZr(phGj zmiF3cuuB3^P1+=zzh*7S74k^2%aHa*>mA*4cKsJ|4xsV}6nEfpc{FC?Ri#3F$f0Xz zg{-JpWx_bz$iGF8k=>M-bK^4zAbqTwgR_C9_pbSh@bW^RUJAqpQ~`1CZwFI|ZDFUb znG4`4?hV=pJEOYIL5e3R;j$1H<+6nX^QXt`Cqb_mXRd>wQ6|oED7)V;-0CfRqEb4e*0PX#wy;L7mL_l}e_{#`Ugevjd=xA@=8;Af%1d z=mZzYe>*W6=P)*r9lRC)3SlMCOQ=SMW>5FZ=cOIHB7eQRP%{O<@erO+3$~ny2G6#& zNcADNYbSn(=vW)OYN&z&$lJ;pn(nzXCJ=}perG&Rw-4|+_(F+<$d}=9F3FA8U!Y=yNtC6ZZ7fmfpjj{Sb4ciVod`dpp&NtDDPng^o-)z3P zG3hmh(br8ynYQ#daL9VUzHtL-ReKzjH<>x%dzk!EM^Ep5qhz-4GW)`Hq*rfjsB*5;kY!$f15y?c z*>u3*kpO~}iDl69qN^%}S#j3&z9b#AM^gT+!pKTnr|S~1W=*%rr7^FolI%biMwqP6 zs|(T5vJUrE7uJuW&b7XCO-nW@IE6$8kq*t9BZG zm~|R-nq>79*vl7oPsfXWv;>3%){lJz<(qt;-P0WTmYv8i0j*UNOaedXjx~+eoq++VwzUJzFe+S(mUar#eLY`#nD zDJw%9Ja%S&gu{b|sL*ihqSghiUY{9RZ>7Le8z#KSkjG??VtDd#V&cj5%Z;BUHhvq@ zUP@8TT|ovYCyd*VZ(&>3UNm60*Ts?(b4uv#B!iF6iA8D9AX~)#Zl#xuMY|i38y`5j z6}$-u1@RHe%!n`^gF4O{OQ3Oti_{{syqGlhh|UxPXhQpIY|{1c0R{cr9p~a^oJv#Le6{Szm0j%KXG5MrgG)>i((i>9U3)huasYs|1tEX;NLQ!kGo` zazS@<&dgNV)Iot*lX2TqkBV--GQS|}Hu!5win*}Jx7C@ohke?JdHV-|tjT=Y4&v^v zS9lP`7Z9Fw>|2Xk^YkjH>XS9YnCf4UH*gcDs}*cZJmhbnoiXpf&=aBi0*TM-|k8 zf*$h7HJv~EBLEfv^uWTyQ+j@(YYf}o)O0&cF(5xWT6djb@=RTGi6vzk$Bv4`6d zF8kqz6)lq7?BjQ4rF9H-ky3?47^VlW_IZ}x0b2rOI*DwfvJ+&oCNFP;|B{gr6~d_# zAiy-ypAk9$RNLE^d)MLmW4SS`y%Mk;ayvSrf%_R8S8+Ao_a3dQ$taTC7 z^{%$q{xx6M(PatpW>SC*AYx_TA^Ack$G+zaaV_`htxG`D&-LSXDMbL%y<;mGL?l$q zIw|fSOu&h-p)V_w4sLz2)2~uSmqs%D?pU>iKX|$Xa2w%+g&LZVxm-07%ziJj4EAH; zTbICRL&E&LeucZaMOd+3V!x9uDl9&+;nhy~&SFj9f_6Xq_gLZm4>dP>SDlB{HT`fs zW$$)>lLneJn7#9e+Cp$mV|+-_)3Eq^Q|=XazEFfYLEg8scPZ2i+F=x9DuqfT!&D-q z0{MZ2p6BSBpqHU21iBC#`>WepY&bYrgMTCASq`Sf;pJ?c_JqmW17Cn4^0l4|RZ3OR zNsP2qRD$%?f9Nav0;Mhd)&A*P`B5qEbNY&SDq#r`vL3c8)CESw?uuG+XNc})b?#=} zsrKxc_a-rU?+2Q&NAl8*!u36nwyZHrZ+5tzt~DrbBSx1hR7US8i0Xt~ys$r;i4p;U z3M`#mQthQh`^@O-b8l6S{G-%?csI;TIQw9RuHNq%Ak3>=9p2nA$3T1giv`lmZ)bWf zFF^WLZ0y~V6@CEF3cp!ZZ)>O0Z`NB?d1Gv%!d@+i6ux+I&atS}^@FOUzh?vIOuW?h zWdnfA7=PWOrDOQ-^z2xUKlwn2OS!{|w-coi>$7~+;{&kYPGXf-AYb%?2wzNRRh=N$ z@wxm5BA59=3Rm9s0KKn@t7rEIs6>_TIhAXO{d9*Ck=jDTM)*+2f8mLm{=Z=XpF9~2 z7&(>hEQMf5>W?w+=^02{nT}aB)UPIV$0MArbRV?rthGcy^S;=@-KPLRM(I3wS?cZagPO%p2tjk;k(_|Eybq_ z8;ROLT~{z~43I{Xbda8)ghl;+o=V=U-@mWFb2}oeS%os!=x3b+(7TAFtG_9Ce@iv8 zv}`UYa6e%0?CgZEMMI_=cRp1g{5a+BdbAP7)&gQ)-3BD8N*HTP*jaY27vFu|U=hfS zMD3Y|75Tt0#od73g>S;tbMe0`<$!hrTWb}w7-#uBdIv_ksPsGqRscb~0f~x>n&}T1 zYGt#eCCdeV=KLOyHUkHRuZ@h3@`Kqa5dioc>j&+-toMTWZDBX99|=~@dWK;lwa^oP zT4yM`OM@R2Os~%(iZP)(^1IvzHL;I_gmOhALaX%lQhOB3;%y9PC3ZgCifhdDh2t@* zVGjMaHzL%sT9XVI$#)A4x%0i8!b3ikrg-6I@{4h1tI;^gOJs3GeGqQq3|4n!)re0f z@W|qT2ZW)e0dQO zm{1fR7QBY@a&kNT{2ZQ}Ef7Cbh~DsFzRaHg;n|V8^3KcT;dqLeMCI+()3170OR2H} znpDdE2oV>az^l%_<|-;II?|^?ZzuQsaf~z-2%3!3+u-spR<3T2cih5 zvC%;|xwyNoZ~9s5mZfY847lpXi%rf-ki(k+kZ!?@ke!( z+o_+CvB(9;8~~23My0sbKO8pJ(7Y!sT^DzTX*J}NSN&BHAmhKMikVdpA3q;gpl3x! zyzVVC&~+Fq3}GW3D=)c!E*P+G6amVI#9)rw^P(SXt9#ny~lYgzm1fO#@YJue08LGp9W+ z526paM7u5ZmH|_;U6vJE7SVb|sO{-Th47*|c1P14hGPW*WB{0nv(kWD1 zKs!8XL7Zo5k{KFubZi(uY37NTrF+@>bRfycNdXy;rc)mrG2Nw+Zkt1)`Kzlg8uyNU z@h^eRas7s1!R*#vw0>B-aQ1s-KcSJB0dmRA)|M}+ckGK~E(9`8{*okh!ZL7h-TA5u zK>B}g0;)@ZoN2bH)}((8Cw3SD`k3><#%SGhLB(*OjB^+Rk(t;fz~li&b9tPsZ2X7K z>1+(jp}Z;*oc1BWq;VIi(5&97?Oq8%j(~t*9%>%9kFzi+O4aG$QKs z=;({|M-NonD!`Z4{dBZnm;e?6grQQ8AQFcX=m;QB&A)HxkJ$pr6Q~92*D7r!=yvGZ z8OI8MAjL&kAW!t#v!wd2hX7*zAGQ~03QQefEpOgqtAyp|csJXU?Ut;7>@Iq6&g(F! z;KX2Mj`bgay}cJ}H|%%5&DT~9mC9YL0SKt;bkAlZYzyhk)^wZJ>E{~2n=48DQ|@v= zO(qJ2ktUFGIq3t;jPTjIO!#_RK~!{gl6>6!Mu7znD8XCgxan2_b6K>1=RGYz z`ZCb+iz~kR-KPJ}kt_W;y9Moipa3y7?c=b6_?wjgZ_-Fr%2p|dFo=BL$$vMss3_l74s^)*2j-u`NKG?(8e!l5;>Whof zznA`dGs}_2&GcBOnY1arEmk-`!*_M%AK0_ivN9(TPJKajBRT6H;+}5zz|)_?%QLS3 zp@-)G%~qgpV>9T~i1g11zcreB@t?N=SLnZR%wPCcyK03$xeV4YxL2+A_mlqyvZHS+ diff --git a/packages/fuselage/src/components/Button/styles.scss b/packages/fuselage/src/components/Button/styles.scss index 6847a122dc..da3b8d1015 100644 --- a/packages/fuselage/src/components/Button/styles.scss +++ b/packages/fuselage/src/components/Button/styles.scss @@ -1,32 +1,14 @@ -@use '../../styles/colors.scss'; -@use '../../styles/lengths.scss'; +@use 'sass:map'; @use '../../styles/typography.scss'; - -%button-secondary-color { // TODO: primitive atomic component - @include as-button ( - $background-color: $button-colors-secondary-background-color, - $border-color: $button-colors-secondary-border-color, - $color: $button-colors-secondary-color, - $hover-background-color: $button-colors-secondary-hover-background-color, - $hover-border-color: $button-colors-secondary-hover-border-color, - $active-background-color: $button-colors-secondary-active-background-color, - $active-border-color: $button-colors-secondary-active-border-color, - $focus-background-color: $button-colors-secondary-focus-background-color, - $focus-border-color: $button-colors-secondary-focus-border-color, - $focus-shadow-color: $button-colors-secondary-focus-shadow-color, - $disabled-background-color: $button-colors-secondary-disabled-background-color, - $disabled-border-color: $button-colors-secondary-disabled-border-color, - $disabled-color: $button-colors-secondary-disabled-color, - ); -} +@use '../../styles/variables/buttons.scss'; .rcx-button { @mixin with-rectangular-size($height, $padding-x, $line-height) { padding: - calc((#{ $height } - #{ $line-height }) / 2 - #{ lengths.border-width(2) }) - calc(#{ $padding-x } - #{ lengths.border-width(2) }); - padding-block: calc((#{ $height } - #{ $line-height }) / 2 - #{ lengths.border-width(2) }); - padding-inline: calc(#{ $padding-x } - #{ lengths.border-width(2) }); + calc((#{$height} - #{$line-height}) / 2 - 2px) + calc(#{$padding-x} - 2px); + padding-block: calc((#{$height} - #{$line-height}) / 2 - 2px); + padding-inline: calc(#{$padding-x} - 2px); } @mixin with-squared-size($size) { @@ -57,100 +39,234 @@ @include typography.use-text-ellipsis; @include with-rectangular-size( - $height: lengths.size(40), - $padding-x: lengths.padding(16), - $line-height: typography.line-height(p1), + $height: 40px, + $padding-x: 16px, + $line-height: typography.line-height(p1) ); - @extend %button--secondary; + @include as-button( + $background-color: map.get(buttons.$secondary, background-color), + $border-color: map.get(buttons.$secondary, border-color), + $color: map.get(buttons.$secondary, color), + $hover-background-color: map.get(buttons.$secondary, hover-background-color), + $hover-border-color: map.get(buttons.$secondary, hover-border-color), + $active-background-color: + map.get(buttons.$secondary, active-background-color), + $active-border-color: map.get(buttons.$secondary, active-border-color), + $focus-background-color: map.get(buttons.$secondary, focus-background-color), + $focus-border-color: map.get(buttons.$secondary, focus-border-color), + $focus-shadow-color: map.get(buttons.$secondary, focus-shadow-color), + $disabled-background-color: + map.get(buttons.$secondary, disabled-background-color), + $disabled-border-color: map.get(buttons.$secondary, disabled-border-color), + $disabled-color: map.get(buttons.$secondary, disabled-color) + ); &--small { @include typography.use-font-scale(c2); @include with-rectangular-size( - $height: lengths.size(28), - $padding-x: lengths.padding(8), - $line-height: typography.line-height(c1), + $height: 28px, + $padding-x: 8px, + $line-height: typography.line-height(c1) ); } &--square { - @include with-squared-size( - $size: lengths.size(40), - ); + @include with-squared-size($size: 40px); display: flex; justify-content: center; align-items: center; } &--tiny-square { - @include with-squared-size( - $size: lengths.size(24), - ); + @include with-squared-size($size: 24px); } &--mini-square { - @include with-squared-size( - $size: lengths.size(20), - ); + @include with-squared-size($size: 20px); } &--small-square { - @include with-squared-size( - $size: lengths.size(28), - ); + @include with-squared-size($size: 28px); } &--success { - color: colors.success(500); - - &.disabled, - &:disabled { - color: colors.success(100); - } + @include as-button( + $background-color: map.get(buttons.$secondary-success, background-color), + $border-color: map.get(buttons.$secondary-success, border-color), + $color: map.get(buttons.$secondary-success, color), + $hover-background-color: + map.get(buttons.$secondary-success, hover-background-color), + $hover-border-color: + map.get(buttons.$secondary-success, hover-border-color), + $active-background-color: + map.get(buttons.$secondary-success, active-background-color), + $active-border-color: + map.get(buttons.$secondary-success, active-border-color), + $focus-background-color: + map.get(buttons.$secondary-success, focus-background-color), + $focus-border-color: + map.get(buttons.$secondary-success, focus-border-color), + $focus-shadow-color: + map.get(buttons.$secondary-success, focus-shadow-color), + $disabled-background-color: + map.get(buttons.$secondary-success, disabled-background-color), + $disabled-border-color: + map.get(buttons.$secondary-success, disabled-border-color), + $disabled-color: map.get(buttons.$secondary-success, disabled-color) + ); } &--danger { - color: colors.danger(500); - - &.disabled, - &:disabled { - color: colors.danger(100); - } + @include as-button( + $background-color: map.get(buttons.$secondary-danger, background-color), + $border-color: map.get(buttons.$secondary-danger, border-color), + $color: map.get(buttons.$secondary-danger, color), + $hover-background-color: + map.get(buttons.$secondary-danger, hover-background-color), + $hover-border-color: + map.get(buttons.$secondary-danger, hover-border-color), + $active-background-color: + map.get(buttons.$secondary-danger, active-background-color), + $active-border-color: + map.get(buttons.$secondary-danger, active-border-color), + $focus-background-color: + map.get(buttons.$secondary-danger, focus-background-color), + $focus-border-color: + map.get(buttons.$secondary-danger, focus-border-color), + $focus-shadow-color: + map.get(buttons.$secondary-danger, focus-shadow-color), + $disabled-background-color: + map.get(buttons.$secondary-danger, disabled-background-color), + $disabled-border-color: + map.get(buttons.$secondary-danger, disabled-border-color), + $disabled-color: map.get(buttons.$secondary-danger, disabled-color) + ); } &--primary { - @extend %button--primary; + @include as-button( + $background-color: map.get(buttons.$primary, background-color), + $border-color: map.get(buttons.$primary, border-color), + $color: map.get(buttons.$primary, color), + $hover-background-color: map.get(buttons.$primary, hover-background-color), + $hover-border-color: map.get(buttons.$primary, hover-border-color), + $active-background-color: + map.get(buttons.$primary, active-background-color), + $active-border-color: map.get(buttons.$primary, active-border-color), + $focus-background-color: map.get(buttons.$primary, focus-background-color), + $focus-border-color: map.get(buttons.$primary, focus-border-color), + $focus-shadow-color: map.get(buttons.$primary, focus-shadow-color), + $disabled-background-color: + map.get(buttons.$primary, disabled-background-color), + $disabled-border-color: map.get(buttons.$primary, disabled-border-color), + $disabled-color: map.get(buttons.$primary, disabled-color) + ); } &--primary-danger { - @extend %button--danger; + @include as-button( + $background-color: map.get(buttons.$danger, background-color), + $border-color: map.get(buttons.$danger, border-color), + $color: map.get(buttons.$danger, color), + $hover-background-color: map.get(buttons.$danger, hover-background-color), + $hover-border-color: map.get(buttons.$danger, hover-border-color), + $active-background-color: + map.get(buttons.$danger, active-background-color), + $active-border-color: map.get(buttons.$danger, active-border-color), + $focus-background-color: map.get(buttons.$danger, focus-background-color), + $focus-border-color: map.get(buttons.$danger, focus-border-color), + $focus-shadow-color: map.get(buttons.$danger, focus-shadow-color), + $disabled-background-color: + map.get(buttons.$danger, disabled-background-color), + $disabled-border-color: map.get(buttons.$danger, disabled-border-color), + $disabled-color: map.get(buttons.$danger, disabled-color) + ); } &--primary-success { - @extend %button--success; + @include as-button( + $background-color: map.get(buttons.$success, background-color), + $border-color: map.get(buttons.$success, border-color), + $color: map.get(buttons.$success, color), + $hover-background-color: map.get(buttons.$success, hover-background-color), + $hover-border-color: map.get(buttons.$success, hover-border-color), + $active-background-color: + map.get(buttons.$success, active-background-color), + $active-border-color: map.get(buttons.$success, active-border-color), + $focus-background-color: map.get(buttons.$success, focus-background-color), + $focus-border-color: map.get(buttons.$success, focus-border-color), + $focus-shadow-color: map.get(buttons.$success, focus-shadow-color), + $disabled-background-color: + map.get(buttons.$success, disabled-background-color), + $disabled-border-color: map.get(buttons.$success, disabled-border-color), + $disabled-color: map.get(buttons.$success, disabled-color) + ); } &--ghost { - border-color: $button-colors-ghost-background-color; - background-color: $button-colors-ghost-border-color; - } - - &--ghost-danger { - color: colors.danger(500); - - &.disabled, - &:disabled { - color: colors.danger(100); - } + @include as-button( + $background-color: map.get(buttons.$ghost, background-color), + $border-color: map.get(buttons.$ghost, border-color), + $color: map.get(buttons.$ghost, color), + $hover-background-color: map.get(buttons.$ghost, hover-background-color), + $hover-border-color: map.get(buttons.$ghost, hover-border-color), + $active-background-color: map.get(buttons.$ghost, active-background-color), + $active-border-color: map.get(buttons.$ghost, active-border-color), + $focus-background-color: map.get(buttons.$ghost, focus-background-color), + $focus-border-color: map.get(buttons.$ghost, focus-border-color), + $focus-shadow-color: map.get(buttons.$ghost, focus-shadow-color), + $disabled-background-color: + map.get(buttons.$ghost, disabled-background-color), + $disabled-border-color: map.get(buttons.$ghost, disabled-border-color), + $disabled-color: map.get(buttons.$ghost, disabled-color) + ); } &--ghost-success { - color: colors.success(500); + @include as-button( + $background-color: map.get(buttons.$ghost-success, background-color), + $border-color: map.get(buttons.$ghost-success, border-color), + $color: map.get(buttons.$ghost-success, color), + $hover-background-color: + map.get(buttons.$ghost-success, hover-background-color), + $hover-border-color: map.get(buttons.$ghost-success, hover-border-color), + $active-background-color: + map.get(buttons.$ghost-success, active-background-color), + $active-border-color: map.get(buttons.$ghost-success, active-border-color), + $focus-background-color: + map.get(buttons.$ghost-success, focus-background-color), + $focus-border-color: map.get(buttons.$ghost-success, focus-border-color), + $focus-shadow-color: map.get(buttons.$ghost-success, focus-shadow-color), + $disabled-background-color: + map.get(buttons.$ghost-success, disabled-background-color), + $disabled-border-color: + map.get(buttons.$ghost-success, disabled-border-color), + $disabled-color: map.get(buttons.$ghost-success, disabled-color) + ); + } - &.disabled, - &:disabled { - color: colors.success(100); - } + &--ghost-danger { + @include as-button( + $background-color: map.get(buttons.$ghost-danger, background-color), + $border-color: map.get(buttons.$ghost-danger, border-color), + $color: map.get(buttons.$ghost-danger, color), + $hover-background-color: + map.get(buttons.$ghost-danger, hover-background-color), + $hover-border-color: map.get(buttons.$ghost-danger, hover-border-color), + $active-background-color: + map.get(buttons.$ghost-danger, active-background-color), + $active-border-color: map.get(buttons.$ghost-danger, active-border-color), + $focus-background-color: + map.get(buttons.$ghost-danger, focus-background-color), + $focus-border-color: map.get(buttons.$ghost-danger, focus-border-color), + $focus-shadow-color: map.get(buttons.$ghost-danger, focus-shadow-color), + $disabled-background-color: + map.get(buttons.$ghost-danger, disabled-background-color), + $disabled-border-color: + map.get(buttons.$ghost-danger, disabled-border-color), + $disabled-color: map.get(buttons.$ghost-danger, disabled-color) + ); } } diff --git a/packages/fuselage/src/styles/primitives/button.scss b/packages/fuselage/src/styles/primitives/button.scss index cbaef88776..1dc443e2d0 100644 --- a/packages/fuselage/src/styles/primitives/button.scss +++ b/packages/fuselage/src/styles/primitives/button.scss @@ -1,5 +1,3 @@ -@use '../lengths.scss'; - @mixin as-button( $color, $background-color, @@ -13,13 +11,13 @@ $focus-shadow-color, $disabled-color, $disabled-background-color, - $disabled-border-color, + $disabled-border-color ) { color: $color; - border-width: lengths.border-width(2); + border-width: 2px; border-style: solid; border-color: $border-color; - border-radius: lengths.border-radius(2); + border-radius: 2px; background-color: $background-color; appearance: none; @@ -64,62 +62,9 @@ $focus-background-color: $button-colors-secondary-focus-background-color, $focus-border-color: $button-colors-secondary-focus-border-color, $focus-shadow-color: $button-colors-secondary-focus-shadow-color, - $disabled-background-color: $button-colors-secondary-disabled-background-color, + $disabled-background-color: + $button-colors-secondary-disabled-background-color, $disabled-border-color: $button-colors-secondary-disabled-border-color, - $disabled-color: $button-colors-secondary-disabled-color, - ); -} - -%button--primary { - @include as-button( - $background-color: $button-colors-primary-background-color, - $border-color: $button-colors-primary-border-color, - $color: $button-colors-primary-color, - $hover-background-color: $button-colors-primary-hover-background-color, - $hover-border-color: $button-colors-primary-hover-border-color, - $active-background-color: $button-colors-primary-active-background-color, - $active-border-color: $button-colors-primary-active-border-color, - $focus-background-color: $button-colors-primary-focus-background-color, - $focus-border-color: $button-colors-primary-focus-border-color, - $focus-shadow-color: $button-colors-primary-focus-shadow-color, - $disabled-background-color: $button-colors-primary-disabled-background-color, - $disabled-border-color: $button-colors-primary-disabled-border-color, - $disabled-color: $button-colors-primary-disabled-color, - ); -} - -%button--success { - @include as-button( - $background-color: $button-colors-success-background-color, - $border-color: $button-colors-success-border-color, - $color: $button-colors-success-color, - $hover-background-color: $button-colors-success-hover-background-color, - $hover-border-color: $button-colors-success-hover-border-color, - $active-background-color: $button-colors-success-active-background-color, - $active-border-color: $button-colors-success-active-border-color, - $focus-background-color: $button-colors-success-focus-background-color, - $focus-border-color: $button-colors-success-focus-border-color, - $focus-shadow-color: $button-colors-success-focus-shadow-color, - $disabled-background-color: $button-colors-success-disabled-background-color, - $disabled-border-color: $button-colors-success-disabled-border-color, - $disabled-color: $button-colors-success-disabled-color, - ); -} - -%button--danger { - @include as-button( - $background-color: $button-colors-danger-background-color, - $border-color: $button-colors-danger-border-color, - $color: $button-colors-danger-color, - $hover-background-color: $button-colors-danger-hover-background-color, - $hover-border-color: $button-colors-danger-hover-border-color, - $active-background-color: $button-colors-danger-active-background-color, - $active-border-color: $button-colors-danger-active-border-color, - $focus-background-color: $button-colors-danger-focus-background-color, - $focus-border-color: $button-colors-danger-focus-border-color, - $focus-shadow-color: $button-colors-danger-focus-shadow-color, - $disabled-background-color: $button-colors-danger-disabled-background-color, - $disabled-border-color: $button-colors-danger-disabled-border-color, - $disabled-color: $button-colors-danger-disabled-color, + $disabled-color: $button-colors-secondary-disabled-color ); } diff --git a/packages/fuselage/src/styles/variables/button-colors.scss b/packages/fuselage/src/styles/variables/button-colors.scss index 0efae9d3ea..4b2b995c5c 100644 --- a/packages/fuselage/src/styles/variables/button-colors.scss +++ b/packages/fuselage/src/styles/variables/button-colors.scss @@ -1,88 +1,213 @@ @use '../colors.scss'; -$button-colors-ghost-background-color: theme('button-colors-ghost-background-color', transparent); -$button-colors-ghost-border-color: theme('button-colors-ghost-border-color', transparent); +$button-colors-primary-background-color: theme( + 'button-colors-primary-background-color', + colors.primary(500) +); +$button-colors-primary-border-color: theme( + 'button-colors-primary-border-color', + colors.primary(500) +); +$button-colors-primary-color: theme( + 'button-colors-primary-color', + colors.foreground(alternative) +); +$button-colors-primary-hover-background-color: theme( + 'button-colors-primary-hover-background-color', + colors.primary(600) +); +$button-colors-primary-hover-border-color: theme( + 'button-colors-primary-hover-border-color', + colors.primary(600) +); +$button-colors-primary-active-background-color: theme( + 'button-colors-primary-active-background-color', + colors.primary(700) +); +$button-colors-primary-active-border-color: theme( + 'button-colors-primary-active-border-color', + colors.primary(700) +); +$button-colors-primary-focus-background-color: theme( + 'button-colors-primary-focus-background-color', + colors.primary(500) +); +$button-colors-primary-focus-border-color: theme( + 'button-colors-primary-focus-border-color', + colors.primary(700) +); +$button-colors-primary-focus-shadow-color: theme( + 'button-colors-primary-focus-shadow-color', + colors.primary(100) +); +$button-colors-primary-disabled-background-color: theme( + 'button-colors-primary-disabled-background-color', + colors.primary(200) +); +$button-colors-primary-disabled-border-color: theme( + 'button-colors-primary-disabled-border-color', + colors.primary(200) +); +$button-colors-primary-disabled-color: theme( + 'button-colors-primary-disabled-color', + colors.foreground(alternative) +); -$button-colors-primary-background-color: theme('button-colors-primary-background-color', colors.primary(500)); -$button-colors-primary-border-color: theme('button-colors-primary-border-color', colors.primary(500)); -$button-colors-primary-color: theme('button-colors-primary-color', colors.foreground(alternative)); -$button-colors-primary-hover-background-color: theme('button-colors-primary-hover-background-color', colors.primary(600)); -$button-colors-primary-hover-border-color: theme('button-colors-primary-hover-border-color', colors.primary(600)); -$button-colors-primary-active-background-color: theme('button-colors-primary-active-background-color', colors.primary(700)); -$button-colors-primary-active-border-color: theme('button-colors-primary-active-border-color', colors.primary(700)); -$button-colors-primary-focus-background-color: theme('button-colors-primary-focus-background-color', colors.primary(500)); -$button-colors-primary-focus-border-color: theme('button-colors-primary-focus-border-color', colors.primary(700)); -$button-colors-primary-focus-shadow-color: theme('button-colors-primary-focus-shadow-color', colors.primary(100)); -$button-colors-primary-disabled-background-color: theme('button-colors-primary-disabled-background-color', colors.primary(200)); -$button-colors-primary-disabled-border-color: theme('button-colors-primary-disabled-border-color', colors.primary(200)); -$button-colors-primary-disabled-color: theme('button-colors-primary-disabled-color', colors.foreground(alternative)); +$button-colors-secondary-background-color: theme( + 'button-colors-secondary-background-color', + colors.neutral(300) +); +$button-colors-secondary-border-color: theme( + 'button-colors-secondary-border-color', + colors.neutral(300) +); +$button-colors-secondary-color: theme( + 'button-colors-secondary-color', + colors.neutral(800) +); +$button-colors-secondary-hover-background-color: theme( + 'button-colors-secondary-hover-background-color', + colors.neutral(400) +); +$button-colors-secondary-hover-border-color: theme( + 'button-colors-secondary-hover-border-color', + colors.neutral(400) +); +$button-colors-secondary-active-background-color: theme( + 'button-colors-secondary-active-background-color', + colors.neutral(500) +); +$button-colors-secondary-active-border-color: theme( + 'button-colors-secondary-active-border-color', + colors.neutral(500) +); +$button-colors-secondary-focus-background-color: theme( + 'button-colors-secondary-focus-background-color', + colors.neutral(300) +); +$button-colors-secondary-focus-border-color: theme( + 'button-colors-secondary-focus-border-color', + colors.neutral(500) +); +$button-colors-secondary-focus-shadow-color: theme( + 'button-colors-secondary-focus-shadow-color', + colors.neutral(100) +); +$button-colors-secondary-disabled-background-color: theme( + 'button-colors-secondary-disabled-background-color', + colors.neutral(100) +); +$button-colors-secondary-disabled-border-color: theme( + 'button-colors-secondary-disabled-border-color', + colors.neutral(100) +); +$button-colors-secondary-disabled-color: theme( + 'button-colors-secondary-disabled-color', + colors.neutral(400) +); -$button-colors-secondary-background-color: theme('button-colors-secondary-background-color', colors.neutral(300)); -$button-colors-secondary-border-color: theme('button-colors-secondary-border-color', colors.neutral(300)); -$button-colors-secondary-color: theme('button-colors-secondary-color', colors.neutral(800)); -$button-colors-secondary-hover-background-color: theme('button-colors-secondary-hover-background-color', colors.neutral(400)); -$button-colors-secondary-hover-border-color: theme('button-colors-secondary-hover-border-color', colors.neutral(400)); -$button-colors-secondary-active-background-color: theme('button-colors-secondary-active-background-color', colors.neutral(500)); -$button-colors-secondary-active-border-color: theme('button-colors-secondary-active-border-color', colors.neutral(500)); -$button-colors-secondary-focus-background-color: theme('button-colors-secondary-focus-background-color', colors.neutral(300)); -$button-colors-secondary-focus-border-color: theme('button-colors-secondary-focus-border-color', colors.neutral(500)); -$button-colors-secondary-focus-shadow-color: theme('button-colors-secondary-focus-shadow-color', colors.neutral(100)); -$button-colors-secondary-disabled-background-color: theme('button-colors-secondary-disabled-background-color', colors.neutral(100)); -$button-colors-secondary-disabled-border-color: theme('button-colors-secondary-disabled-border-color', colors.neutral(100)); -$button-colors-secondary-disabled-color: theme('button-colors-secondary-disabled-color', colors.neutral(400)); +$button-colors-empty-background-color: theme( + 'button-colors-empty-background-color', + colors.surface() +); +$button-colors-empty-border-color: theme( + 'button-colors-empty-border-color', + colors.neutral(400) +); +$button-colors-empty-color: theme( + 'button-colors-empty-color', + colors.foreground(alternative) +); +$button-colors-empty-hover-background-color: theme( + 'button-colors-empty-hover-background-color', + colors.surface() +); +$button-colors-empty-hover-border-color: theme( + 'button-colors-empty-hover-border-color', + colors.neutral(500) +); +$button-colors-empty-active-background-color: theme( + 'button-colors-empty-active-background-color', + colors.surface() +); +$button-colors-empty-active-border-color: theme( + 'button-colors-empty-active-border-color', + colors.neutral(600) +); +$button-colors-empty-focus-background-color: theme( + 'button-colors-empty-focus-background-color', + colors.surface() +); +$button-colors-empty-focus-border-color: theme( + 'button-colors-empty-focus-border-color', + colors.primary(500) +); +$button-colors-empty-focus-shadow-color: theme( + 'button-colors-empty-focus-shadow-color', + colors.primary(100) +); +$button-colors-empty-disabled-background-color: theme( + 'button-colors-empty-disabled-background-color', + colors.neutral(200) +); +$button-colors-empty-disabled-border-color: theme( + 'button-colors-empty-disabled-border-color', + colors.neutral(200) +); +$button-colors-empty-disabled-color: theme( + 'button-colors-empty-disabled-color', + colors.foreground(alternative) +); -$button-colors-success-background-color: theme('button-colors-success-background-color', colors.success(500)); -$button-colors-success-border-color: theme('button-colors-success-border-color', colors.success(500)); -$button-colors-success-color: theme('button-colors-success-color', colors.foreground(alternative)); -$button-colors-success-hover-background-color: theme('button-colors-success-hover-background-color', colors.success(600)); -$button-colors-success-hover-border-color: theme('button-colors-success-hover-border-color', colors.success(600)); -$button-colors-success-active-background-color: theme('button-colors-success-active-background-color', colors.success(700)); -$button-colors-success-active-border-color: theme('button-colors-success-active-border-color', colors.success(700)); -$button-colors-success-focus-background-color: theme('button-colors-success-focus-background-color', colors.success(500)); -$button-colors-success-focus-border-color: theme('button-colors-success-focus-border-color', colors.success(700)); -$button-colors-success-focus-shadow-color: theme('button-colors-success-focus-shadow-color', colors.success(100)); -$button-colors-success-disabled-background-color: theme('button-colors-success-disabled-background-color', colors.success(200)); -$button-colors-success-disabled-border-color: theme('button-colors-success-disabled-border-color', colors.success(200)); -$button-colors-success-disabled-color: theme('button-colors-success-disabled-color', colors.foreground(alternative)); - -$button-colors-danger-background-color: theme('button-colors-danger-background-color', colors.danger(500)); -$button-colors-danger-border-color: theme('button-colors-danger-border-color', colors.danger(500)); -$button-colors-danger-color: theme('button-colors-danger-color', colors.foreground(alternative)); -$button-colors-danger-hover-background-color: theme('button-colors-danger-hover-background-color', colors.danger(600)); -$button-colors-danger-hover-border-color: theme('button-colors-danger-hover-border-color', colors.danger(600)); -$button-colors-danger-active-background-color: theme('button-colors-danger-active-background-color', colors.danger(700)); -$button-colors-danger-active-border-color: theme('button-colors-danger-active-border-color', colors.danger(700)); -$button-colors-danger-focus-background-color: theme('button-colors-danger-focus-background-color', colors.danger(500)); -$button-colors-danger-focus-border-color: theme('button-colors-danger-focus-border-color', colors.danger(700)); -$button-colors-danger-focus-shadow-color: theme('button-colors-danger-focus-shadow-color', colors.danger(100)); -$button-colors-danger-disabled-background-color: theme('button-colors-danger-disabled-background-color', colors.danger(200)); -$button-colors-danger-disabled-border-color: theme('button-colors-danger-disabled-border-color', colors.danger(200)); -$button-colors-danger-disabled-color: theme('button-colors-danger-disabled-color', colors.foreground(alternative)); - -$button-colors-empty-background-color: theme('button-colors-empty-background-color', colors.surface()); -$button-colors-empty-border-color: theme('button-colors-empty-border-color', colors.neutral(400)); -$button-colors-empty-color: theme('button-colors-empty-color', colors.foreground(alternative)); -$button-colors-empty-hover-background-color: theme('button-colors-empty-hover-background-color', colors.surface()); -$button-colors-empty-hover-border-color: theme('button-colors-empty-hover-border-color', colors.neutral(500)); -$button-colors-empty-active-background-color: theme('button-colors-empty-active-background-color', colors.surface()); -$button-colors-empty-active-border-color: theme('button-colors-empty-active-border-color', colors.neutral(600)); -$button-colors-empty-focus-background-color: theme('button-colors-empty-focus-background-color', colors.surface()); -$button-colors-empty-focus-border-color: theme('button-colors-empty-focus-border-color', colors.primary(500)); -$button-colors-empty-focus-shadow-color: theme('button-colors-empty-focus-shadow-color', colors.primary(100)); -$button-colors-empty-disabled-background-color: theme('button-colors-empty-disabled-background-color', colors.neutral(200)); -$button-colors-empty-disabled-border-color: theme('button-colors-empty-disabled-border-color', colors.neutral(200)); -$button-colors-empty-disabled-color: theme('button-colors-empty-disabled-color', colors.foreground(alternative)); - -$button-colors-off-background-color: theme('button-colors-off-background-color', colors.neutral(400)); -$button-colors-off-border-color: theme('button-colors-off-border-color', colors.neutral(400)); -$button-colors-off-color: theme('button-colors-off-color', colors.foreground(alternative)); -$button-colors-off-hover-background-color: theme('button-colors-off-hover-background-color', colors.neutral(500)); -$button-colors-off-hover-border-color: theme('button-colors-off-hover-border-color', colors.neutral(500)); -$button-colors-off-active-background-color: theme('button-colors-off-active-background-color', colors.neutral(600)); -$button-colors-off-active-border-color: theme('button-colors-off-active-border-color', colors.neutral(600)); -$button-colors-off-focus-background-color: theme('button-colors-off-focus-background-color', colors.neutral(500)); -$button-colors-off-focus-border-color: theme('button-colors-off-focus-border-color', colors.primary(500)); -$button-colors-off-focus-shadow-color: theme('button-colors-off-focus-shadow-color', colors.primary(100)); -$button-colors-off-disabled-background-color: theme('button-colors-off-disabled-background-color', colors.neutral(400)); -$button-colors-off-disabled-border-color: theme('button-colors-off-disabled-border-color', colors.neutral(400)); -$button-colors-off-disabled-color: theme('button-colors-off-disabled-color', colors.neutral(200)); +$button-colors-off-background-color: theme( + 'button-colors-off-background-color', + colors.neutral(400) +); +$button-colors-off-border-color: theme( + 'button-colors-off-border-color', + colors.neutral(400) +); +$button-colors-off-color: theme( + 'button-colors-off-color', + colors.foreground(alternative) +); +$button-colors-off-hover-background-color: theme( + 'button-colors-off-hover-background-color', + colors.neutral(500) +); +$button-colors-off-hover-border-color: theme( + 'button-colors-off-hover-border-color', + colors.neutral(500) +); +$button-colors-off-active-background-color: theme( + 'button-colors-off-active-background-color', + colors.neutral(600) +); +$button-colors-off-active-border-color: theme( + 'button-colors-off-active-border-color', + colors.neutral(600) +); +$button-colors-off-focus-background-color: theme( + 'button-colors-off-focus-background-color', + colors.neutral(500) +); +$button-colors-off-focus-border-color: theme( + 'button-colors-off-focus-border-color', + colors.primary(500) +); +$button-colors-off-focus-shadow-color: theme( + 'button-colors-off-focus-shadow-color', + colors.primary(100) +); +$button-colors-off-disabled-background-color: theme( + 'button-colors-off-disabled-background-color', + colors.neutral(400) +); +$button-colors-off-disabled-border-color: theme( + 'button-colors-off-disabled-border-color', + colors.neutral(400) +); +$button-colors-off-disabled-color: theme( + 'button-colors-off-disabled-color', + colors.neutral(200) +); diff --git a/packages/fuselage/src/styles/variables/buttons.scss b/packages/fuselage/src/styles/variables/buttons.scss new file mode 100644 index 0000000000..436dbe5bb1 --- /dev/null +++ b/packages/fuselage/src/styles/variables/buttons.scss @@ -0,0 +1,149 @@ +@use '../colors.scss'; + +@function -color($type, $name, $value) { + @return var(--rcx-button-colors-#{$type}-#{$name}, $value); +} + +$primary: ( + background-color: -color('primary', 'background-color', colors.primary(500)), + border-color: -color('primary', 'border-color', colors.primary(500)), + color: -color('primary', 'color', colors.foreground(alternative)), + hover-background-color: -color('primary', 'hover-background-color', colors.primary(600)), + hover-border-color: -color('primary', 'hover-border-color', colors.primary(600)), + active-background-color: -color('primary', 'active-background-color', colors.primary(700)), + active-border-color: -color('primary', 'active-border-color', colors.primary(700)), + focus-background-color: -color('primary', 'focus-background-color', colors.primary(500)), + focus-border-color: -color('primary', 'focus-border-color', colors.primary(700)), + focus-shadow-color: -color('primary', 'focus-shadow-color', colors.primary(100)), + disabled-background-color: -color('primary', 'disabled-background-color', colors.primary(200)), + disabled-border-color: -color('primary', 'disabled-border-color', colors.primary(200)), + disabled-color: -color('primary', 'disabled-color', colors.foreground(alternative)), +); + +$secondary: ( + background-color: -color('secondary', 'background-color', colors.neutral(300)), + border-color: -color('secondary', 'border-color', colors.neutral(300)), + color: -color('secondary', 'color', colors.neutral(800)), + hover-background-color: -color('secondary', 'hover-background-color', colors.neutral(400)), + hover-border-color: -color('secondary', 'hover-border-color', colors.neutral(400)), + active-background-color: -color('secondary', 'active-background-color', colors.neutral(500)), + active-border-color: -color('secondary', 'active-border-color', colors.neutral(500)), + focus-background-color: -color('secondary', 'focus-background-color', colors.neutral(300)), + focus-border-color: -color('secondary', 'focus-border-color', colors.neutral(500)), + focus-shadow-color: -color('secondary', 'focus-shadow-color', colors.neutral(100)), + disabled-background-color: -color('secondary', 'disabled-background-color', colors.neutral(100)), + disabled-border-color: -color('secondary', 'disabled-border-color', colors.neutral(100)), + disabled-color: -color('secondary', 'disabled-color', colors.neutral(400)), +); + +$ghost: ( + background-color: -color('ghost', 'background-color', transparent), + border-color: -color('ghost', 'border-color', transparent), + color: -color('ghost', 'color', colors.neutral(800)), + hover-background-color: -color('ghost', 'hover-background-color', colors.neutral(400)), + hover-border-color: -color('ghost', 'hover-border-color', colors.neutral(400)), + active-background-color: -color('ghost', 'active-background-color', colors.neutral(500)), + active-border-color: -color('ghost', 'active-border-color', colors.neutral(500)), + focus-background-color: -color('ghost', 'focus-background-color', colors.neutral(300)), + focus-border-color: -color('ghost', 'focus-border-color', colors.neutral(500)), + focus-shadow-color: -color('ghost', 'focus-shadow-color', colors.neutral(100)), + disabled-background-color: -color('ghost', 'disabled-background-color', colors.neutral(100)), + disabled-border-color: -color('ghost', 'disabled-border-color', colors.neutral(100)), + disabled-color: -color('ghost', 'disabled-color', colors.neutral(400)), +); + +$success: ( + background-color: -color('success', 'background-color', colors.success(500)), + border-color: -color('success', 'border-color', colors.success(500)), + color: -color('success', 'color', colors.foreground(alternative)), + hover-background-color: -color('success', 'hover-background-color', colors.success(600)), + hover-border-color: -color('success', 'hover-border-color', colors.success(600)), + active-background-color: -color('success', 'active-background-color', colors.success(700)), + active-border-color: -color('success', 'active-border-color', colors.success(700)), + focus-background-color: -color('success', 'focus-background-color', colors.success(500)), + focus-border-color: -color('success', 'focus-border-color', colors.success(700)), + focus-shadow-color: -color('success', 'focus-shadow-color', colors.success(100)), + disabled-background-color: -color('success', 'disabled-background-color', colors.success(200)), + disabled-border-color: -color('success', 'disabled-border-color', colors.success(200)), + disabled-color: -color('success', 'disabled-color', colors.foreground(alternative)), +); + +$secondary-success: ( + background-color: -color('secondary-success', 'background-color', colors.neutral(300)), + border-color: -color('secondary-success', 'border-color', colors.neutral(300)), + color: -color('secondary-success', 'color', colors.success(500)), + hover-background-color: -color('secondary-success', 'hover-background-color', colors.neutral(400)), + hover-border-color: -color('secondary-success', 'hover-border-color', colors.neutral(400)), + active-background-color: -color('secondary-success', 'active-background-color', colors.neutral(500)), + active-border-color: -color('secondary-success', 'active-border-color', colors.neutral(500)), + focus-background-color: -color('secondary-success', 'focus-background-color', colors.neutral(300)), + focus-border-color: -color('secondary-success', 'focus-border-color', colors.neutral(500)), + focus-shadow-color: -color('secondary-success', 'focus-shadow-color', colors.neutral(100)), + disabled-background-color: -color('secondary-success', 'disabled-background-color', colors.neutral(100)), + disabled-border-color: -color('secondary-success', 'disabled-border-color', colors.neutral(100)), + disabled-color: -color('secondary-success', 'disabled-color', colors.success(100)), +); + +$ghost-success: ( + background-color: -color('ghost-success', 'background-color', transparent), + border-color: -color('ghost-success', 'border-color', transparent), + color: -color('ghost-success', 'color', colors.success(500)), + hover-background-color: -color('ghost-success', 'hover-background-color', colors.neutral(400)), + hover-border-color: -color('ghost-success', 'hover-border-color', colors.neutral(400)), + active-background-color: -color('ghost-success', 'active-background-color', colors.neutral(500)), + active-border-color: -color('ghost-success', 'active-border-color', colors.neutral(500)), + focus-background-color: -color('ghost-success', 'focus-background-color', colors.neutral(300)), + focus-border-color: -color('ghost-success', 'focus-border-color', colors.neutral(500)), + focus-shadow-color: -color('ghost-success', 'focus-shadow-color', colors.neutral(100)), + disabled-background-color: -color('ghost-success', 'disabled-background-color', colors.neutral(100)), + disabled-border-color: -color('ghost-success', 'disabled-border-color', colors.neutral(100)), + disabled-color: -color('ghost-success', 'disabled-color', colors.success(100)), +); + +$danger: ( + background-color: -color('danger', 'background-color', colors.danger(500)), + border-color: -color('danger', 'border-color', colors.danger(500)), + color: -color('danger', 'color', colors.foreground(alternative)), + hover-background-color: -color('danger', 'hover-background-color', colors.danger(600)), + hover-border-color: -color('danger', 'hover-border-color', colors.danger(600)), + active-background-color: -color('danger', 'active-background-color', colors.danger(700)), + active-border-color: -color('danger', 'active-border-color', colors.danger(700)), + focus-background-color: -color('danger', 'focus-background-color', colors.danger(500)), + focus-border-color: -color('danger', 'focus-border-color', colors.danger(700)), + focus-shadow-color: -color('danger', 'focus-shadow-color', colors.danger(100)), + disabled-background-color: -color('danger', 'disabled-background-color', colors.danger(200)), + disabled-border-color: -color('danger', 'disabled-border-color', colors.danger(200)), + disabled-color: -color('danger', 'disabled-color', colors.foreground(alternative)), +); + +$secondary-danger: ( + background-color: -color('secondary-danger', 'background-color', colors.neutral(300)), + border-color: -color('secondary-danger', 'border-color', colors.neutral(300)), + color: -color('secondary-danger', 'color', colors.danger(500)), + hover-background-color: -color('secondary-danger', 'hover-background-color', colors.neutral(400)), + hover-border-color: -color('secondary-danger', 'hover-border-color', colors.neutral(400)), + active-background-color: -color('secondary-danger', 'active-background-color', colors.neutral(500)), + active-border-color: -color('secondary-danger', 'active-border-color', colors.neutral(500)), + focus-background-color: -color('secondary-danger', 'focus-background-color', colors.neutral(300)), + focus-border-color: -color('secondary-danger', 'focus-border-color', colors.neutral(500)), + focus-shadow-color: -color('secondary-danger', 'focus-shadow-color', colors.neutral(100)), + disabled-background-color: -color('secondary-danger', 'disabled-background-color', colors.neutral(100)), + disabled-border-color: -color('secondary-danger', 'disabled-border-color', colors.neutral(100)), + disabled-color: -color('secondary-danger', 'disabled-color', colors.danger(100)), +); + +$ghost-danger: ( + background-color: -color('ghost-danger', 'background-color', transparent), + border-color: -color('ghost-danger', 'border-color', transparent), + color: -color('ghost-danger', 'color', colors.danger(500)), + hover-background-color: -color('ghost-danger', 'hover-background-color', colors.neutral(400)), + hover-border-color: -color('ghost-danger', 'hover-border-color', colors.neutral(400)), + active-background-color: -color('ghost-danger', 'active-background-color', colors.neutral(500)), + active-border-color: -color('ghost-danger', 'active-border-color', colors.neutral(500)), + focus-background-color: -color('ghost-danger', 'focus-background-color', colors.neutral(300)), + focus-border-color: -color('ghost-danger', 'focus-border-color', colors.neutral(500)), + focus-shadow-color: -color('ghost-danger', 'focus-shadow-color', colors.neutral(100)), + disabled-background-color: -color('ghost-danger', 'disabled-background-color', colors.neutral(100)), + disabled-border-color: -color('ghost-danger', 'disabled-border-color', colors.neutral(100)), + disabled-color: -color('ghost-danger', 'disabled-color', colors.danger(100)), +); From c5103d37d0e1c9de906638ec3e685fa416934b7a Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Mon, 4 Jan 2021 15:53:28 -0300 Subject: [PATCH 14/15] Integrate Prettier and Stylelint --- packages/fuselage/.stylelintrc | 67 +-------- packages/fuselage/package.json | 1 + .../src/components/Accordion/styles.scss | 15 +- .../src/components/Avatar/styles.scss | 11 +- .../fuselage/src/components/Badge/styles.scss | 74 +++++++--- .../src/components/Button/styles.scss | 21 ++- .../src/components/CheckBox/styles.scss | 23 ++- .../fuselage/src/components/Grid/styles.scss | 41 +++++- .../src/components/InputBox/styles.scss | 49 +++---- .../src/components/Pagination/styles.scss | 4 +- .../src/components/ProgressBar/styles.scss | 20 ++- .../src/components/Select/styles.scss | 4 +- .../src/components/Sidebar/styles.scss | 40 ++++-- .../src/components/StatusBullet/styles.scss | 27 +++- .../fuselage/src/components/Table/styles.scss | 4 +- .../fuselage/src/components/Tabs/styles.scss | 13 +- .../fuselage/src/components/Tag/styles.scss | 74 +++++++--- .../fuselage/src/components/Tile/styles.scss | 3 +- .../src/components/ToggleSwitch/styles.scss | 4 +- .../src/components/Tooltip/styles.scss | 19 ++- packages/fuselage/src/styles/colors.scss | 14 +- packages/fuselage/src/styles/lengths.scss | 60 ++++---- .../src/styles/mixins/breakpoints.scss | 8 +- .../fuselage/src/styles/mixins/shadows.scss | 4 +- .../fuselage/src/styles/mixins/states.scss | 3 +- .../src/styles/primitives/button.scss | 2 +- .../fuselage/src/styles/primitives/input.scss | 16 +-- .../styles/primitives/selection-button.scss | 14 +- packages/fuselage/src/styles/typography.scss | 17 ++- .../src/styles/variables/breakpoints.scss | 75 ++++++++-- .../src/styles/variables/input-colors.scss | 135 ++++++++++++++---- yarn.lock | 7 + 32 files changed, 551 insertions(+), 318 deletions(-) diff --git a/packages/fuselage/.stylelintrc b/packages/fuselage/.stylelintrc index 7ba1aa5143..e04c0fa84d 100644 --- a/packages/fuselage/.stylelintrc +++ b/packages/fuselage/.stylelintrc @@ -1,40 +1,16 @@ { "plugins": [ "stylelint-order", - "stylelint-scss" + "stylelint-scss", + "stylelint-prettier" ], "ignoreFiles": ["src/**/*.js"], "rules": { - "at-rule-name-case": "lower", - "at-rule-name-space-after": "always", - "at-rule-semicolon-newline-after": "always", - "block-closing-brace-empty-line-before": "never", - "block-closing-brace-newline-after": "always", - "block-closing-brace-newline-before": "always", - "block-closing-brace-space-before": "never-single-line", + "prettier/prettier": true, "block-no-empty": true, - "block-opening-brace-newline-after": "always", - "block-opening-brace-space-after": "never-single-line", - "block-opening-brace-space-before": "always", - "color-hex-case": "lower", "color-hex-length": "long", "color-no-invalid-hex": true, - "comment-empty-line-before": [ - "always", - { - "except": [ - "first-nested" - ], - "ignore": [ - "stylelint-commands" - ] - } - ], "comment-no-empty": true, - "comment-whitespace-inside": "always", - "custom-property-empty-line-before": "never", - "declaration-bang-space-after": "never", - "declaration-bang-space-before": "always", "declaration-block-no-duplicate-properties": [ true, { @@ -45,43 +21,20 @@ ], "declaration-block-no-redundant-longhand-properties": true, "declaration-block-no-shorthand-property-overrides": true, - "declaration-block-semicolon-newline-after": "always", - "declaration-block-semicolon-space-after": "always-single-line", - "declaration-block-semicolon-space-before": "never", "declaration-block-single-line-max-declarations": 1, "declaration-block-trailing-semicolon": "always", - "declaration-colon-newline-after": "always-multi-line", - "declaration-colon-space-after": "always-single-line", - "declaration-colon-space-before": "never", "font-family-no-duplicate-names": true, - "function-comma-newline-after": "always-multi-line", - "function-comma-space-after": "always-single-line", - "function-comma-space-before": "never", "function-linear-gradient-no-nonstandard-direction": true, "function-max-empty-lines": 0, "function-name-case": "lower", - "function-parentheses-newline-inside": "always-multi-line", - "function-parentheses-space-inside": "never-single-line", - "function-whitespace-after": "always", - "indentation": 2, "keyframe-declaration-no-important": true, "length-zero-no-unit": true, "max-empty-lines": 1, - "media-feature-colon-space-after": "always", - "media-feature-colon-space-before": "never", "media-feature-name-case": "lower", "media-feature-name-no-unknown": true, - "media-feature-parentheses-space-inside": "never", - "media-feature-range-operator-space-after": "always", - "media-feature-range-operator-space-before": "always", - "media-query-list-comma-newline-after": "always-multi-line", - "media-query-list-comma-space-after": "always-single-line", - "media-query-list-comma-space-before": "never", "no-duplicate-selectors": true, "no-empty-source": true, - "no-eol-whitespace": true, "no-extra-semicolons": true, - "no-missing-end-of-source-newline": true, "number-leading-zero": "always", "number-no-trailing-zeros": true, "property-case": "lower", @@ -98,17 +51,8 @@ } ], "scss/at-mixin-pattern": "^-?([a-z][a-z0-9]+-)*[a-z][a-z0-9]+$", - "scss/at-mixin-parentheses-space-before": "never", "scss/dollar-variable-pattern": "^-?([a-z][a-z0-9]+-)*[a-z][a-z0-9]+$", "scss/no-duplicate-mixins": true, - "selector-attribute-brackets-space-inside": "never", - "selector-attribute-operator-space-after": "never", - "selector-attribute-operator-space-before": "never", - "selector-combinator-space-after": "always", - "selector-combinator-space-before": "always", - "selector-descendant-combinator-no-non-space": true, - "selector-list-comma-newline-after": "always", - "selector-list-comma-space-before": "never", "selector-max-empty-lines": 0, "selector-pseudo-class-case": "lower", "selector-pseudo-class-no-unknown": [ @@ -119,19 +63,14 @@ ] } ], - "selector-pseudo-class-parentheses-space-inside": "never", "selector-pseudo-element-case": "lower", "selector-pseudo-element-colon-notation": "double", "selector-pseudo-element-no-unknown": true, "selector-type-case": "lower", "selector-type-no-unknown": true, "shorthand-property-no-redundant-values": true, - "string-no-newline": true, "unit-case": "lower", "unit-no-unknown": true, - "value-list-comma-newline-after": "always-multi-line", - "value-list-comma-space-after": "always-single-line", - "value-list-comma-space-before": "never", "value-list-max-empty-lines": 1, "order/properties-order": [ [ diff --git a/packages/fuselage/package.json b/packages/fuselage/package.json index 401e1718ff..6d88aec824 100644 --- a/packages/fuselage/package.json +++ b/packages/fuselage/package.json @@ -106,6 +106,7 @@ "style-loader": "^2.0.0", "stylelint": "^13.7.0", "stylelint-order": "^4.1.0", + "stylelint-prettier": "^1.1.2", "stylelint-scss": "^3.18.0", "webpack": "^5.2.0", "webpack-bundle-analyzer": "^3.8.0", diff --git a/packages/fuselage/src/components/Accordion/styles.scss b/packages/fuselage/src/components/Accordion/styles.scss index 0b51dbc823..c4d5b26e9f 100644 --- a/packages/fuselage/src/components/Accordion/styles.scss +++ b/packages/fuselage/src/components/Accordion/styles.scss @@ -20,8 +20,7 @@ flex-flow: row nowrap; min-height: lengths.size(2 * 32 + 24); - padding: - (lengths.padding(32) - lengths.border-width(2)) + padding: (lengths.padding(32) - lengths.border-width(2)) (lengths.padding(8) - lengths.border-width(2)); text-align: start; @@ -68,9 +67,7 @@ align-items: center; flex: 0 0 auto; - margin: - lengths.margin(none) - lengths.margin(24); + margin: lengths.margin(none) lengths.margin(24); } .rcx-accordion-item__panel { @@ -79,16 +76,12 @@ overflow: hidden; height: lengths.size(none); - padding: - lengths.padding(none) - lengths.padding(8); + padding: lengths.padding(none) lengths.padding(8); &--expanded { visibility: visible; height: auto; - padding: - lengths.padding(32) - lengths.padding(8); + padding: lengths.padding(32) lengths.padding(8); } } diff --git a/packages/fuselage/src/components/Avatar/styles.scss b/packages/fuselage/src/components/Avatar/styles.scss index 15ddde69a1..8803529e70 100644 --- a/packages/fuselage/src/components/Avatar/styles.scss +++ b/packages/fuselage/src/components/Avatar/styles.scss @@ -2,7 +2,10 @@ @use '../../styles/lengths.scss'; @use '../../styles/functions.scss'; -$avatar-stack-background-color: theme('avatar-background-color', colors.surface()); +$avatar-stack-background-color: theme( + 'avatar-background-color', + colors.surface() +); $sizes: 16, 18, 20, 24, 28, 32, 36, 40, 48, 124, 200, 332; @@ -30,12 +33,10 @@ $sizes: 16, 18, 20, 24, 28, 32, 36, 40, 48, 124, 200, 332; flex-direction: row-reverse; justify-content: center; - color: #{ $avatar-stack-background-color }; + color: #{$avatar-stack-background-color}; & > .rcx-avatar { - margin: - auto - lengths.margin(-2); + margin: auto lengths.margin(-2); & > .rcx-avatar__element { border: lengths.border-width(2) solid currentColor; diff --git a/packages/fuselage/src/components/Badge/styles.scss b/packages/fuselage/src/components/Badge/styles.scss index 15a9dc45dc..cf364e064c 100644 --- a/packages/fuselage/src/components/Badge/styles.scss +++ b/packages/fuselage/src/components/Badge/styles.scss @@ -2,23 +2,59 @@ @use '../../styles/lengths.scss'; @use '../../styles/typography.scss'; -$badge-colors-secondary-color: theme('badge-colors-secondary-color', colors.foreground(primary)); -$badge-colors-secondary-background-color: theme('badge-colors-secondary-background-color', colors.primary(100)); - -$badge-colors-primary-color: theme('badge-colors-primary-color', colors.foreground(alternative)); -$badge-colors-primary-background-color: theme('badge-colors-primary-background-color', colors.primary(500)); - -$badge-colors-danger-color: theme('badge-colors-danger-color', colors.foreground(alternative)); -$badge-colors-danger-background-color: theme('badge-colors-danger-background-color', colors.danger(500)); - -$badge-colors-ghost-color: theme('badge-colors-ghost-color', colors.foreground(alternative)); -$badge-colors-ghost-background-color: theme('badge-colors-ghost-background-color', colors.neutral(700)); - -$badge-colors-warning-color: theme('badge-colors-warning-color', colors.foreground(alternative)); -$badge-colors-warning-background-color: theme('badge-colors-warning-background-color', colors.warning-alternative(500)); - -$badge-colors-disabled-color: theme('badge-colors-disabled-color', colors.foreground(hint)); -$badge-colors-disabled-background-color: theme('badge-colors-disabled-background-color', colors.neutral(400)); +$badge-colors-secondary-color: theme( + 'badge-colors-secondary-color', + colors.foreground(primary) +); +$badge-colors-secondary-background-color: theme( + 'badge-colors-secondary-background-color', + colors.primary(100) +); + +$badge-colors-primary-color: theme( + 'badge-colors-primary-color', + colors.foreground(alternative) +); +$badge-colors-primary-background-color: theme( + 'badge-colors-primary-background-color', + colors.primary(500) +); + +$badge-colors-danger-color: theme( + 'badge-colors-danger-color', + colors.foreground(alternative) +); +$badge-colors-danger-background-color: theme( + 'badge-colors-danger-background-color', + colors.danger(500) +); + +$badge-colors-ghost-color: theme( + 'badge-colors-ghost-color', + colors.foreground(alternative) +); +$badge-colors-ghost-background-color: theme( + 'badge-colors-ghost-background-color', + colors.neutral(700) +); + +$badge-colors-warning-color: theme( + 'badge-colors-warning-color', + colors.foreground(alternative) +); +$badge-colors-warning-background-color: theme( + 'badge-colors-warning-background-color', + colors.warning-alternative(500) +); + +$badge-colors-disabled-color: theme( + 'badge-colors-disabled-color', + colors.foreground(hint) +); +$badge-colors-disabled-background-color: theme( + 'badge-colors-disabled-background-color', + colors.neutral(400) +); .rcx-badge { display: flex; @@ -28,9 +64,7 @@ $badge-colors-disabled-background-color: theme('badge-colors-disabled-background width: fit-content; min-width: lengths.size(16); - padding: - lengths.padding(2) - lengths.padding(4); + padding: lengths.padding(2) lengths.padding(4); text-align: center; diff --git a/packages/fuselage/src/components/Button/styles.scss b/packages/fuselage/src/components/Button/styles.scss index da3b8d1015..4d4ff7b46f 100644 --- a/packages/fuselage/src/components/Button/styles.scss +++ b/packages/fuselage/src/components/Button/styles.scss @@ -4,8 +4,7 @@ .rcx-button { @mixin with-rectangular-size($height, $padding-x, $line-height) { - padding: - calc((#{$height} - #{$line-height}) / 2 - 2px) + padding: calc((#{$height} - #{$line-height}) / 2 - 2px) calc(#{$padding-x} - 2px); padding-block: calc((#{$height} - #{$line-height}) / 2 - 2px); padding-inline: calc(#{$padding-x} - 2px); @@ -51,7 +50,7 @@ $hover-background-color: map.get(buttons.$secondary, hover-background-color), $hover-border-color: map.get(buttons.$secondary, hover-border-color), $active-background-color: - map.get(buttons.$secondary, active-background-color), + map.get(buttons.$secondary, active-background-color), $active-border-color: map.get(buttons.$secondary, active-border-color), $focus-background-color: map.get(buttons.$secondary, focus-background-color), $focus-border-color: map.get(buttons.$secondary, focus-border-color), @@ -97,7 +96,7 @@ $border-color: map.get(buttons.$secondary-success, border-color), $color: map.get(buttons.$secondary-success, color), $hover-background-color: - map.get(buttons.$secondary-success, hover-background-color), + map.get(buttons.$secondary-success, hover-background-color), $hover-border-color: map.get(buttons.$secondary-success, hover-border-color), $active-background-color: @@ -124,7 +123,7 @@ $border-color: map.get(buttons.$secondary-danger, border-color), $color: map.get(buttons.$secondary-danger, color), $hover-background-color: - map.get(buttons.$secondary-danger, hover-background-color), + map.get(buttons.$secondary-danger, hover-background-color), $hover-border-color: map.get(buttons.$secondary-danger, hover-border-color), $active-background-color: @@ -153,7 +152,7 @@ $hover-background-color: map.get(buttons.$primary, hover-background-color), $hover-border-color: map.get(buttons.$primary, hover-border-color), $active-background-color: - map.get(buttons.$primary, active-background-color), + map.get(buttons.$primary, active-background-color), $active-border-color: map.get(buttons.$primary, active-border-color), $focus-background-color: map.get(buttons.$primary, focus-background-color), $focus-border-color: map.get(buttons.$primary, focus-border-color), @@ -173,7 +172,7 @@ $hover-background-color: map.get(buttons.$danger, hover-background-color), $hover-border-color: map.get(buttons.$danger, hover-border-color), $active-background-color: - map.get(buttons.$danger, active-background-color), + map.get(buttons.$danger, active-background-color), $active-border-color: map.get(buttons.$danger, active-border-color), $focus-background-color: map.get(buttons.$danger, focus-background-color), $focus-border-color: map.get(buttons.$danger, focus-border-color), @@ -193,7 +192,7 @@ $hover-background-color: map.get(buttons.$success, hover-background-color), $hover-border-color: map.get(buttons.$success, hover-border-color), $active-background-color: - map.get(buttons.$success, active-background-color), + map.get(buttons.$success, active-background-color), $active-border-color: map.get(buttons.$success, active-border-color), $focus-background-color: map.get(buttons.$success, focus-background-color), $focus-border-color: map.get(buttons.$success, focus-border-color), @@ -218,7 +217,7 @@ $focus-border-color: map.get(buttons.$ghost, focus-border-color), $focus-shadow-color: map.get(buttons.$ghost, focus-shadow-color), $disabled-background-color: - map.get(buttons.$ghost, disabled-background-color), + map.get(buttons.$ghost, disabled-background-color), $disabled-border-color: map.get(buttons.$ghost, disabled-border-color), $disabled-color: map.get(buttons.$ghost, disabled-color) ); @@ -230,7 +229,7 @@ $border-color: map.get(buttons.$ghost-success, border-color), $color: map.get(buttons.$ghost-success, color), $hover-background-color: - map.get(buttons.$ghost-success, hover-background-color), + map.get(buttons.$ghost-success, hover-background-color), $hover-border-color: map.get(buttons.$ghost-success, hover-border-color), $active-background-color: map.get(buttons.$ghost-success, active-background-color), @@ -253,7 +252,7 @@ $border-color: map.get(buttons.$ghost-danger, border-color), $color: map.get(buttons.$ghost-danger, color), $hover-background-color: - map.get(buttons.$ghost-danger, hover-background-color), + map.get(buttons.$ghost-danger, hover-background-color), $hover-border-color: map.get(buttons.$ghost-danger, hover-border-color), $active-background-color: map.get(buttons.$ghost-danger, active-background-color), diff --git a/packages/fuselage/src/components/CheckBox/styles.scss b/packages/fuselage/src/components/CheckBox/styles.scss index 95bd9816c4..102e35a8a7 100644 --- a/packages/fuselage/src/components/CheckBox/styles.scss +++ b/packages/fuselage/src/components/CheckBox/styles.scss @@ -1,7 +1,11 @@ @use '../../styles/lengths.scss'; .rcx-check-box { - @include is-selection-button($checked: 'primary', $unchecked: 'empty', $indeterminate: 'primary'); + @include is-selection-button( + $checked: 'primary', + $unchecked: 'empty', + $indeterminate: 'primary' + ); &__input { @extend %selection-button__input; @@ -59,18 +63,25 @@ width: $icon-size * lengths.size(20); height: $icon-thickness; - transform: - translate($icon-size * lengths.size(20) / -3, $icon-size * lengths.size(20) / 6) + transform: translate( + $icon-size * lengths.size(20) / -3, + $icon-size * lengths.size(20) / 6 + ) rotate(-45deg) - translate($icon-size * lengths.size(20) / 2, $icon-size * lengths.size(20) / 6); + translate( + $icon-size * lengths.size(20) / 2, + $icon-size * lengths.size(20) / 6 + ); } &::after { width: $icon-thickness; height: 0.5 * $icon-size * lengths.size(20); - transform: - translate($icon-size * lengths.size(20) / -3, $icon-size * lengths.size(20) / 6) + transform: translate( + $icon-size * lengths.size(20) / -3, + $icon-size * lengths.size(20) / 6 + ) rotate(-45deg); } } diff --git a/packages/fuselage/src/components/Grid/styles.scss b/packages/fuselage/src/components/Grid/styles.scss index 1acebfa073..2c913e6e0d 100644 --- a/packages/fuselage/src/components/Grid/styles.scss +++ b/packages/fuselage/src/components/Grid/styles.scss @@ -22,8 +22,22 @@ $breakpoint-names: map-keys(breakpoints.$breakpoints); @each $breakpoint-name in $breakpoint-names { @include when-item-is-on-breakpoint($breakpoint-name) { - margin-block: calc(#{ to-rem(map-get(map-get(breakpoints.$breakpoints, $breakpoint-name), gutter-width)) } / -2); - margin-inline: calc(#{ to-rem(map-get(map-get(breakpoints.$breakpoints, $breakpoint-name), gutter-width)) } / -2); + margin-block: calc( + #{to-rem( + map-get( + map-get(breakpoints.$breakpoints, $breakpoint-name), + gutter-width + ) + )} / -2 + ); + margin-inline: calc( + #{to-rem( + map-get( + map-get(breakpoints.$breakpoints, $breakpoint-name), + gutter-width + ) + )} / -2 + ); } } } @@ -33,10 +47,27 @@ $breakpoint-names: map-keys(breakpoints.$breakpoints); @each $breakpoint-name in $breakpoint-names { @include when-item-is-on-breakpoint($breakpoint-name) { - padding-block: calc(#{ to-rem(map-get(map-get(breakpoints.$breakpoints, $breakpoint-name), gutter-width)) } / 2); - padding-inline: calc(#{ to-rem(map-get(map-get(breakpoints.$breakpoints, $breakpoint-name), gutter-width)) } / 2); + padding-block: calc( + #{to-rem( + map-get( + map-get(breakpoints.$breakpoints, $breakpoint-name), + gutter-width + ) + )} / 2 + ); + padding-inline: calc( + #{to-rem( + map-get( + map-get(breakpoints.$breakpoints, $breakpoint-name), + gutter-width + ) + )} / 2 + ); - $total-columns: map-get(map-get(breakpoints.$breakpoints, $breakpoint-name), columns); + $total-columns: map-get( + map-get(breakpoints.$breakpoints, $breakpoint-name), + columns + ); @for $columns from 1 through $total-columns { &--#{$breakpoint-name}-#{$columns} { flex-grow: 0; diff --git a/packages/fuselage/src/components/InputBox/styles.scss b/packages/fuselage/src/components/InputBox/styles.scss index 500143b17c..ffe6cb542b 100644 --- a/packages/fuselage/src/components/InputBox/styles.scss +++ b/packages/fuselage/src/components/InputBox/styles.scss @@ -54,9 +54,9 @@ $placeholder-color, $focus-caret-color, $active-caret-color, - $disabled-color, + $disabled-color ) { - color: #{ $color }; + color: #{$color}; // TODO: fix placeholder performance issue // &::placeholder { @@ -64,23 +64,23 @@ // } &.rcx-input-box--placeholder-visible { - color: #{ $placeholder-color }; + color: #{$placeholder-color}; } &:focus, &.focus { - caret-color: #{ $focus-caret-color }; + caret-color: #{$focus-caret-color}; } &:active, &.active { - caret-color: #{ $active-caret-color }; + caret-color: #{$active-caret-color}; } *:disabled &, &:disabled, &.disabled { - color: #{ $disabled-color }; + color: #{$disabled-color}; } } @@ -88,31 +88,31 @@ $color, $focus-caret-color, $focus-icon-color, - $disabled-color, + $disabled-color ) { & + .rcx-input-box__addon { - color: #{ $color }; + color: #{$color}; } .rcx-input-box__wrapper.focus > & { - caret-color: #{ $focus-caret-color }; + caret-color: #{$focus-caret-color}; } &:focus + .rcx-input-box__addon, &.focus + .rcx-input-box__addon, .rcx-input-box__wrapper.focus > & + .rcx-input-box__addon { - color: #{ $focus-icon-color }; + color: #{$focus-icon-color}; } .rcx-input-box__wrapper.disabled > & { - color: #{ $disabled-color }; + color: #{$disabled-color}; } *:disabled & + .rcx-input-box__addon, &:disabled + .rcx-input-box__addon, &.disabled + .rcx-input-box__addon, .rcx-input-box__wrapper.disabled > & + .rcx-input-box__addon { - color: #{ $disabled-color }; + color: #{$disabled-color}; } } @@ -164,9 +164,7 @@ min-width: lengths.size(128); min-height: lengths.size(40); - padding: - lengths.padding(8) - (lengths.padding(16) - lengths.border-width(2)); + padding: lengths.padding(8) (lengths.padding(16) - lengths.border-width(2)); @extend %input; @@ -181,7 +179,7 @@ $placeholder-color: $input-colors-placeholder-color, $focus-caret-color: $input-colors-focus-caret-color, $active-caret-color: $input-colors-active-caret-color, - $disabled-color: $input-colors-disabled-color, + $disabled-color: $input-colors-disabled-color ); &:invalid, @@ -191,14 +189,14 @@ $placeholder-color: $input-colors-invalid-placeholder-color, $focus-caret-color: $input-colors-invalid-focus-caret-color, $active-caret-color: $input-colors-invalid-active-caret-color, - $disabled-color: $input-colors-invalid-disabled-color, + $disabled-color: $input-colors-invalid-disabled-color ); @include with-icon-addon-colors( $color: $input-colors-invalid-color, $focus-caret-color: $input-colors-invalid-focus-caret-color, $focus-icon-color: $input-colors-invalid-focus-icon-color, - $disabled-color: $input-colors-invalid-disabled-color, + $disabled-color: $input-colors-invalid-disabled-color ); } @@ -212,7 +210,7 @@ $color: $input-colors-color, $focus-caret-color: $input-colors-focus-caret-color, $focus-icon-color: $input-colors-focus-icon-color, - $disabled-color: $input-colors-disabled-color, + $disabled-color: $input-colors-disabled-color ); *:disabled & + .rcx-input-box__addon, @@ -232,7 +230,7 @@ white-space: nowrap; @include typography.use-font-scale(p1); - color: #{ $input-colors-placeholder-color }; + color: #{$input-colors-placeholder-color}; } .rcx-input-box__option { @@ -240,7 +238,7 @@ white-space: nowrap; @include typography.use-font-scale(p1); - color: #{ $input-colors-color }; + color: #{$input-colors-color}; } .rcx-skeleton__input { @@ -251,18 +249,17 @@ min-width: lengths.size(128); min-height: lengths.size(40); - padding: - (lengths.padding(12) - lengths.border-width(2)) + padding: (lengths.padding(12) - lengths.border-width(2)) (lengths.padding(16) - lengths.border-width(2)); vertical-align: baseline; - color: #{ $input-colors-color }; + color: #{$input-colors-color}; border-width: lengths.border-width(2); - border-color: #{ $input-colors-border-color }; + border-color: #{$input-colors-border-color}; border-radius: lengths.border-radius(2); - background-color: #{ $input-colors-background-color }; + background-color: #{$input-colors-background-color}; @include typography.use-font-scale(p1); @include typography.use-text-ellipsis; diff --git a/packages/fuselage/src/components/Pagination/styles.scss b/packages/fuselage/src/components/Pagination/styles.scss index 0bd5ee63de..a80346d112 100644 --- a/packages/fuselage/src/components/Pagination/styles.scss +++ b/packages/fuselage/src/components/Pagination/styles.scss @@ -8,9 +8,7 @@ align-items: center; - padding: - lengths.padding(12) - lengths.padding(24); + padding: lengths.padding(12) lengths.padding(24); @include on-breakpoint(sm) { flex-direction: column; diff --git a/packages/fuselage/src/components/ProgressBar/styles.scss b/packages/fuselage/src/components/ProgressBar/styles.scss index 38302a15b9..d6a9058872 100644 --- a/packages/fuselage/src/components/ProgressBar/styles.scss +++ b/packages/fuselage/src/components/ProgressBar/styles.scss @@ -2,11 +2,23 @@ @use '../../styles/lengths.scss'; @use '../../styles/typography.scss'; -$progress-bar-color-primary: theme('progress-bar-color-primary', colors.primary(200)); -$progress-bar-color-success: theme('progress-bar-color-success', colors.success(200)); -$progress-bar-color-error: theme('progress-bar-color-error', colors.danger(200)); +$progress-bar-color-primary: theme( + 'progress-bar-color-primary', + colors.primary(200) +); +$progress-bar-color-success: theme( + 'progress-bar-color-success', + colors.success(200) +); +$progress-bar-color-error: theme( + 'progress-bar-color-error', + colors.danger(200) +); $progress-bar-color-shine: theme('progress-bar-color-shine', colors.surface()); -$progress-bar-color-background: theme('progress-bar-color-background', colors.neutral(400, 1)); +$progress-bar-color-background: theme( + 'progress-bar-color-background', + colors.neutral(400, 1) +); .rcx-progress-bar { display: block; diff --git a/packages/fuselage/src/components/Select/styles.scss b/packages/fuselage/src/components/Select/styles.scss index 3b2c91012d..fd6c5568a7 100644 --- a/packages/fuselage/src/components/Select/styles.scss +++ b/packages/fuselage/src/components/Select/styles.scss @@ -69,14 +69,14 @@ $placeholder-color: $input-colors-invalid-placeholder-color, $focus-caret-color: $input-colors-invalid-focus-caret-color, $active-caret-color: $input-colors-invalid-active-caret-color, - $disabled-color: $input-colors-invalid-disabled-color, + $disabled-color: $input-colors-invalid-disabled-color ); @include with-icon-addon-colors( $color: $input-colors-invalid-color, $focus-caret-color: $input-colors-invalid-focus-caret-color, $focus-icon-color: $input-colors-invalid-focus-icon-color, - $disabled-color: $input-colors-invalid-disabled-color, + $disabled-color: $input-colors-invalid-disabled-color ); } } diff --git a/packages/fuselage/src/components/Sidebar/styles.scss b/packages/fuselage/src/components/Sidebar/styles.scss index 31e02735ea..e2d4dab12a 100644 --- a/packages/fuselage/src/components/Sidebar/styles.scss +++ b/packages/fuselage/src/components/Sidebar/styles.scss @@ -3,15 +3,39 @@ @use '../../styles/typography.scss'; @import '../../styles/mixins/all.scss'; -$sidebar-header-height: theme('sidebar-header-height', theme('header-height', lengths.size(64))); -$sidebar-item-background-color: theme('sidebar-item-background-color', colors.surface()); +$sidebar-header-height: theme( + 'sidebar-header-height', + theme('header-height', lengths.size(64)) +); +$sidebar-item-background-color: theme( + 'sidebar-item-background-color', + colors.surface() +); $sidebar-item-color: theme('sidebar-item-color', colors.foreground('hint')); -$sidebar-item-color-highlighted: theme('sidebar-item-color-highlighted', colors.foreground('alternative')); -$sidebar-item-background-color-hover: theme('sidebar-item-background-color-hover', colors.neutral(800)); -$sidebar-item-color-hover: theme('sidebar-item-color-hover', colors.foreground('hint')); -$sidebar-item-color-focus: theme('sidebar-item-color-focus', colors.neutral(900)); -$sidebar-item-background-color-selected: theme('sidebar-item-background-color-selected', colors.neutral(200)); -$sidebar-item-color-selected: theme('sidebar-item-color-selected', colors.foreground('hint')); +$sidebar-item-color-highlighted: theme( + 'sidebar-item-color-highlighted', + colors.foreground('alternative') +); +$sidebar-item-background-color-hover: theme( + 'sidebar-item-background-color-hover', + colors.neutral(800) +); +$sidebar-item-color-hover: theme( + 'sidebar-item-color-hover', + colors.foreground('hint') +); +$sidebar-item-color-focus: theme( + 'sidebar-item-color-focus', + colors.neutral(900) +); +$sidebar-item-background-color-selected: theme( + 'sidebar-item-background-color-selected', + colors.neutral(200) +); +$sidebar-item-color-selected: theme( + 'sidebar-item-color-selected', + colors.foreground('hint') +); %sidebar-base { display: flex; diff --git a/packages/fuselage/src/components/StatusBullet/styles.scss b/packages/fuselage/src/components/StatusBullet/styles.scss index b85e4bc09d..49720b4dc7 100644 --- a/packages/fuselage/src/components/StatusBullet/styles.scss +++ b/packages/fuselage/src/components/StatusBullet/styles.scss @@ -2,11 +2,28 @@ @use '../../styles/lengths.scss'; @use '../../styles/functions.scss'; -$status-bullet-online-background-color: theme('status-bullet-online-background-color', colors.foreground('success')); -$status-bullet-away-background: theme('status-bullet-away-background', url('./components/StatusBullet/icons/away.svg') top left / contain no-repeat); -$status-bullet-busy-background: theme('status-bullet-busy-background', url('./components/StatusBullet/icons/busy.svg') top left / contain no-repeat); -$status-bullet-offline-background: theme('status-bullet-offline-background', url('./components/StatusBullet/icons/offline.svg') top left / contain no-repeat); -$status-bullet-loading-background: theme('status-bullet-loading-background', url('./components/StatusBullet/icons/loading.svg') top left / contain no-repeat); +$status-bullet-online-background-color: theme( + 'status-bullet-online-background-color', + colors.foreground('success') +); +$status-bullet-away-background: theme( + 'status-bullet-away-background', + url('./components/StatusBullet/icons/away.svg') top left / contain no-repeat +); +$status-bullet-busy-background: theme( + 'status-bullet-busy-background', + url('./components/StatusBullet/icons/busy.svg') top left / contain no-repeat +); +$status-bullet-offline-background: theme( + 'status-bullet-offline-background', + url('./components/StatusBullet/icons/offline.svg') top left / contain + no-repeat +); +$status-bullet-loading-background: theme( + 'status-bullet-loading-background', + url('./components/StatusBullet/icons/loading.svg') top left / contain + no-repeat +); .rcx-status-bullet { display: inline-block; diff --git a/packages/fuselage/src/components/Table/styles.scss b/packages/fuselage/src/components/Table/styles.scss index 843a42c899..8472b299d1 100644 --- a/packages/fuselage/src/components/Table/styles.scss +++ b/packages/fuselage/src/components/Table/styles.scss @@ -7,9 +7,7 @@ width: 100%; - border-spacing: - lengths.padding(none) - lengths.padding(2); + border-spacing: lengths.padding(none) lengths.padding(2); border-collapse: collapse; diff --git a/packages/fuselage/src/components/Tabs/styles.scss b/packages/fuselage/src/components/Tabs/styles.scss index 6753572f73..be8098d931 100644 --- a/packages/fuselage/src/components/Tabs/styles.scss +++ b/packages/fuselage/src/components/Tabs/styles.scss @@ -7,7 +7,10 @@ $tabs-border-color: theme('tabs-border-color', transparent); $tabs-color: theme('tabs-color', colors.neutral(600)); $tabs-delimiter-color: theme('tabs-color', colors.neutral(400)); $tabs-selected-color: theme('tabs-selected-color', colors.primary(500)); -$tabs-selected-border-color: theme('tabs-selected-border-color', colors.primary(500)); +$tabs-selected-border-color: theme( + 'tabs-selected-border-color', + colors.primary(500) +); $tabs-hover-color: theme('tabs-hover-border-color', colors.neutral(700)); $tabs-active-color: theme('tabs-active-color', colors.neutral(800)); $tabs-focus-border-color: theme('tabs-focus-border-color', colors.primary(500)); @@ -62,9 +65,7 @@ $tabs-disabled-color: theme('tabs-disabled-color', colors.neutral(500)); min-height: lengths.size(40); - padding: - (lengths.padding(4) + lengths.border-width(2)) - lengths.padding(16); + padding: (lengths.padding(4) + lengths.border-width(2)) lengths.padding(16); color: $tabs-color; border-width: lengths.border-width(2); @@ -77,9 +78,7 @@ $tabs-disabled-color: theme('tabs-disabled-color', colors.neutral(500)); @include typography.use-font-scale(s2); &--selected { - padding: - lengths.padding(4) - (lengths.padding(16) + lengths.border-width(2)); + padding: lengths.padding(4) (lengths.padding(16) + lengths.border-width(2)); color: $tabs-selected-color; border-block-end-color: $tabs-selected-border-color; diff --git a/packages/fuselage/src/components/Tag/styles.scss b/packages/fuselage/src/components/Tag/styles.scss index f520e6043b..07c0b11e3c 100644 --- a/packages/fuselage/src/components/Tag/styles.scss +++ b/packages/fuselage/src/components/Tag/styles.scss @@ -2,23 +2,59 @@ @use '../../styles/lengths.scss'; @use '../../styles/typography.scss'; -$tag-colors-secondary-color: theme('tag-colors-secondary-color', colors.foreground(primary)); -$tag-colors-secondary-background-color: theme('tag-colors-secondary-background-color', colors.primary(100)); - -$tag-colors-primary-color: theme('tag-colors-primary-color', colors.foreground(alternative)); -$tag-colors-primary-background-color: theme('tag-colors-primary-background-color', colors.primary(500)); - -$tag-colors-danger-color: theme('tag-colors-danger-color', colors.foreground(alternative)); -$tag-colors-danger-background-color: theme('tag-colors-danger-background-color', colors.danger(500)); - -$tag-colors-ghost-color: theme('tag-colors-ghost-color', colors.foreground(alternative)); -$tag-colors-ghost-background-color: theme('tag-colors-ghost-background-color', colors.neutral(700)); - -$tag-colors-warning-color: theme('tag-colors-warning-color', colors.foreground(alternative)); -$tag-colors-warning-background-color: theme('tag-colors-warning-background-color', colors.warning-alternative(500)); - -$tag-colors-disabled-color: theme('tag-colors-disabled-color', colors.foreground(hint)); -$tag-colors-disabled-background-color: theme('tag-colors-disabled-background-color', colors.neutral(400)); +$tag-colors-secondary-color: theme( + 'tag-colors-secondary-color', + colors.foreground(primary) +); +$tag-colors-secondary-background-color: theme( + 'tag-colors-secondary-background-color', + colors.primary(100) +); + +$tag-colors-primary-color: theme( + 'tag-colors-primary-color', + colors.foreground(alternative) +); +$tag-colors-primary-background-color: theme( + 'tag-colors-primary-background-color', + colors.primary(500) +); + +$tag-colors-danger-color: theme( + 'tag-colors-danger-color', + colors.foreground(alternative) +); +$tag-colors-danger-background-color: theme( + 'tag-colors-danger-background-color', + colors.danger(500) +); + +$tag-colors-ghost-color: theme( + 'tag-colors-ghost-color', + colors.foreground(alternative) +); +$tag-colors-ghost-background-color: theme( + 'tag-colors-ghost-background-color', + colors.neutral(700) +); + +$tag-colors-warning-color: theme( + 'tag-colors-warning-color', + colors.foreground(alternative) +); +$tag-colors-warning-background-color: theme( + 'tag-colors-warning-background-color', + colors.warning-alternative(500) +); + +$tag-colors-disabled-color: theme( + 'tag-colors-disabled-color', + colors.foreground(hint) +); +$tag-colors-disabled-background-color: theme( + 'tag-colors-disabled-background-color', + colors.neutral(400) +); .rcx-tag { display: flex; @@ -27,9 +63,7 @@ $tag-colors-disabled-background-color: theme('tag-colors-disabled-background-col width: fit-content; - padding: - lengths.padding(2) - lengths.padding(4); + padding: lengths.padding(2) lengths.padding(4); white-space: nowrap; diff --git a/packages/fuselage/src/components/Tile/styles.scss b/packages/fuselage/src/components/Tile/styles.scss index 4e6dfa648f..6afa3e6484 100644 --- a/packages/fuselage/src/components/Tile/styles.scss +++ b/packages/fuselage/src/components/Tile/styles.scss @@ -20,8 +20,7 @@ } &--elevation-2 { - box-shadow: - 0 0 2px 0 colors.neutral(800, 0.08), + box-shadow: 0 0 2px 0 colors.neutral(800, 0.08), 0 0 12px 0 colors.neutral(800, 0.12); } } diff --git a/packages/fuselage/src/components/ToggleSwitch/styles.scss b/packages/fuselage/src/components/ToggleSwitch/styles.scss index 9405d7bfd9..d0d56e6d36 100644 --- a/packages/fuselage/src/components/ToggleSwitch/styles.scss +++ b/packages/fuselage/src/components/ToggleSwitch/styles.scss @@ -29,6 +29,8 @@ } &__input:checked + &__fake::before { - inset-inline-start: calc(100% - #{lengths.inset(20) - 2 * lengths.border-width(2)}); + inset-inline-start: calc( + 100% - #{lengths.inset(20) - 2 * lengths.border-width(2)} + ); } } diff --git a/packages/fuselage/src/components/Tooltip/styles.scss b/packages/fuselage/src/components/Tooltip/styles.scss index e0782ebaa2..64973afe05 100644 --- a/packages/fuselage/src/components/Tooltip/styles.scss +++ b/packages/fuselage/src/components/Tooltip/styles.scss @@ -2,7 +2,10 @@ @use '../../styles/lengths.scss'; @use '../../styles/typography.scss'; -$tooltip-background-color: theme('tooltip-background-color', colors.neutral(900)); +$tooltip-background-color: theme( + 'tooltip-background-color', + colors.neutral(900) +); $tooltip-text-color: theme('tooltip-text-color', colors.surface()); @mixin triangle-direction($direction) { @@ -14,12 +17,10 @@ $tooltip-text-color: theme('tooltip-text-color', colors.surface()); content: ' '; border-width: lengths.border-width(4) + lengths.border-width(1); - border-color: transparent transparent $tooltip-background-color $tooltip-background-color; - border-radius: - lengths.border-radius(none) - lengths.border-radius(none) - lengths.border-radius(none) - (lengths.border-radius(2) + to-rem(1)); + border-color: transparent transparent $tooltip-background-color + $tooltip-background-color; + border-radius: lengths.border-radius(none) lengths.border-radius(none) + lengths.border-radius(none) (lengths.border-radius(2) + to-rem(1)); @if $direction == 'bottom' { inset-block-start: lengths.inset(-4); @@ -57,9 +58,7 @@ $tooltip-text-color: theme('tooltip-text-color', colors.surface()); max-width: lengths.size(240); - padding: - lengths.padding(8) - lengths.padding(12); + padding: lengths.padding(8) lengths.padding(12); word-break: break-word; diff --git a/packages/fuselage/src/styles/colors.scss b/packages/fuselage/src/styles/colors.scss index 6f19e0cee6..9de15fed53 100644 --- a/packages/fuselage/src/styles/colors.scss +++ b/packages/fuselage/src/styles/colors.scss @@ -14,11 +14,11 @@ $-map-type-to-prefix: ( ); @function _get-palette-color($type, $grade, $alpha) { - @if not ($grade % 100 == 0 and $grade / 100 >= 1 and $grade / 100 <= 9) { + @if not($grade % 100 == 0 and $grade / 100 >= 1 and $grade / 100 <= 9) { @error 'invalid color grade'; } - @if not ($alpha == null or ($alpha >= 0 and $alpha <= 1)) { + @if not($alpha == null or ($alpha >= 0 and $alpha <= 1)) { @error 'invalid color alpha'; } @@ -27,7 +27,7 @@ $-map-type-to-prefix: ( @error 'invalid color type'; } - $base-color: map.get(token-colors.$colors, #{ $prefix }#{ $grade }); + $base-color: map.get(token-colors.$colors, #{$prefix}#{$grade}); @if not $base-color { @error 'invalid color reference'; @@ -35,12 +35,12 @@ $-map-type-to-prefix: ( @if ($alpha != null) { @return ( - --rcx-color-#{ $type }-#{ $grade }-#{ $alpha * 100 }, - color.change($base-color, $alpha: $alpha), + --rcx-color-#{$type}-#{$grade}-#{$alpha * 100}, + color.change($base-color, $alpha: $alpha) ); } - @return (--rcx-color-#{ $type }-#{ $grade }, $base-color); + @return (--rcx-color-#{$type}-#{$grade}, $base-color); } @function neutral($grade, $alpha: null) { @@ -105,7 +105,7 @@ $-foreground-colors: ( $color: map.get($-foreground-colors, $type); - @return (--rcx-color-foreground-#{ $type }, $color); + @return (--rcx-color-foreground-#{$type}, $color); } @function foreground($type) { diff --git a/packages/fuselage/src/styles/lengths.scss b/packages/fuselage/src/styles/lengths.scss index 28a414977c..e382edb79d 100644 --- a/packages/fuselage/src/styles/lengths.scss +++ b/packages/fuselage/src/styles/lengths.scss @@ -5,11 +5,9 @@ @function inset($value) { @if $value == 'none' { @return 0; - } - @else if math.abs($value) == 1 or math.abs($value) == 2 or $value % 4 == 0 { + } @else if math.abs($value) == 1 or math.abs($value) == 2 or $value % 4 == 0 { @return functions.to-rem($value); - } - @else { + } @else { @error 'value must be none, ±1, ±2, or a multiple of ±4'; } } @@ -17,11 +15,9 @@ @function margin($value) { @if $value == 'none' { @return 0; - } - @else if math.abs($value) == 1 or math.abs($value) == 2 or $value % 4 == 0 { + } @else if math.abs($value) == 1 or math.abs($value) == 2 or $value % 4 == 0 { @return functions.to-rem($value); - } - @else { + } @else { @error 'value must be none, ±1, ±2, or a multiple of ±4'; } } @@ -29,11 +25,15 @@ @function padding($value) { @if $value == 'none' { @return 0; - } - @else if $value == 1 or $value == 2 or (meta.type-of($value) == number and $value > 0 and $value % 4 == 0) { + } @else if + $value == + 1 or + $value == + 2 or + (meta.type-of($value) == number and $value > 0 and $value % 4 == 0) + { @return functions.to-rem($value); - } - @else { + } @else { @error 'value must be none, or a multiple of 4'; } } @@ -41,20 +41,21 @@ @function size($value) { @if $value == 'none' { @return 0; - } - @else if $value == 'full' { + } @else if $value == 'full' { @return 100%; - } - @else if $value == 'sw' { + } @else if $value == 'sw' { @return 100vw; - } - @else if $value == 'sh' { + } @else if $value == 'sh' { @return 100vh; - } - @else if $value == 1 or $value == 2 or (meta.type-of($value) == number and $value > 0 and $value % 4 == 0) { + } @else if + $value == + 1 or + $value == + 2 or + (meta.type-of($value) == number and $value > 0 and $value % 4 == 0) + { @return functions.to-rem($value); - } - @else { + } @else { @error 'value must be none, full, sw, sh, a percentage, or a multiple of 4'; } } @@ -62,11 +63,9 @@ @function border-width($value) { @if $value == 'none' { @return 0; - } - @else if $value == 1 or $value == 2 or $value == 4 { + } @else if $value == 1 or $value == 2 or $value == 4 { @return functions.to-rem($value); - } - @else { + } @else { @error 'value must be none, 1, 2, or 4'; } } @@ -74,14 +73,11 @@ @function border-radius($value) { @if $value == 'none' { @return 0; - } - @else if $value == 'full' { + } @else if $value == 'full' { @return 9999px; - } - @else if $value == 2 or $value == 4 { + } @else if $value == 2 or $value == 4 { @return functions.to-rem($value); - } - @else { + } @else { @error 'value must be none, full, 2, or 4'; } } diff --git a/packages/fuselage/src/styles/mixins/breakpoints.scss b/packages/fuselage/src/styles/mixins/breakpoints.scss index 2863c067d5..b39e48d755 100644 --- a/packages/fuselage/src/styles/mixins/breakpoints.scss +++ b/packages/fuselage/src/styles/mixins/breakpoints.scss @@ -1,12 +1,14 @@ @use '~@rocket.chat/fuselage-tokens/breakpoints.scss'; @mixin on-breakpoint($breakpoint-name) { - $min-viewport-width: map-get(map-get(breakpoints.$breakpoints, $breakpoint-name), min-viewport-width); + $min-viewport-width: map-get( + map-get(breakpoints.$breakpoints, $breakpoint-name), + min-viewport-width + ); @if not $min-viewport-width { @content; - } - @else { + } @else { @media screen and (min-width: #{ to-em($min-viewport-width) }) { @content; } diff --git a/packages/fuselage/src/styles/mixins/shadows.scss b/packages/fuselage/src/styles/mixins/shadows.scss index 55f56f0803..a1a2d466b6 100644 --- a/packages/fuselage/src/styles/mixins/shadows.scss +++ b/packages/fuselage/src/styles/mixins/shadows.scss @@ -3,9 +3,9 @@ } @mixin use-focus-shadow($outer-color) { - box-shadow: 0 0 0 #{ to-rem(4) } #{ $outer-color }; + box-shadow: 0 0 0 #{to-rem(4)} #{$outer-color}; } @mixin use-focus-shadow-inset($outer-color) { - box-shadow: 0 0 0 #{ to-rem(4) } #{ $outer-color } inset; + box-shadow: 0 0 0 #{to-rem(4)} #{$outer-color} inset; } diff --git a/packages/fuselage/src/styles/mixins/states.scss b/packages/fuselage/src/styles/mixins/states.scss index 6c53056cd3..555f8ef25c 100644 --- a/packages/fuselage/src/styles/mixins/states.scss +++ b/packages/fuselage/src/styles/mixins/states.scss @@ -29,7 +29,8 @@ // @content; // } - @at-root .js-focus-visible &:focus.focus-visible, .js-focus-visible &.focus.focus-visible { + @at-root .js-focus-visible &:focus.focus-visible, + .js-focus-visible &.focus.focus-visible { @content; } diff --git a/packages/fuselage/src/styles/primitives/button.scss b/packages/fuselage/src/styles/primitives/button.scss index 1dc443e2d0..4dc5309df7 100644 --- a/packages/fuselage/src/styles/primitives/button.scss +++ b/packages/fuselage/src/styles/primitives/button.scss @@ -63,7 +63,7 @@ $focus-border-color: $button-colors-secondary-focus-border-color, $focus-shadow-color: $button-colors-secondary-focus-shadow-color, $disabled-background-color: - $button-colors-secondary-disabled-background-color, + $button-colors-secondary-disabled-background-color, $disabled-border-color: $button-colors-secondary-disabled-border-color, $disabled-color: $button-colors-secondary-disabled-color ); diff --git a/packages/fuselage/src/styles/primitives/input.scss b/packages/fuselage/src/styles/primitives/input.scss index 4d166ecec7..cc151d602f 100644 --- a/packages/fuselage/src/styles/primitives/input.scss +++ b/packages/fuselage/src/styles/primitives/input.scss @@ -8,13 +8,13 @@ $focus-shadow-color, $active-border-color, $disabled-background-color, - $disabled-border-color, + $disabled-border-color ) { border-width: lengths.border-width(2); - border-color: #{ $border-color }; + border-color: #{$border-color}; border-radius: lengths.border-radius(2); - background-color: #{ $background-color }; + background-color: #{$background-color}; @include use-no-shadow; @include on-hover { @@ -27,13 +27,13 @@ } @include on-active { - border-color: #{ $active-border-color }; + border-color: #{$active-border-color}; @include use-no-shadow; } @include on-disabled { - border-color: #{ $disabled-border-color }; - background-color: #{ $disabled-background-color }; + border-color: #{$disabled-border-color}; + background-color: #{$disabled-background-color}; } } @@ -46,7 +46,7 @@ $focus-shadow-color: $input-colors-focus-shadow-color, $active-border-color: $input-colors-active-border-color, $disabled-background-color: $input-colors-disabled-background-color, - $disabled-border-color: $input-colors-disabled-border-color, + $disabled-border-color: $input-colors-disabled-border-color ); } @@ -59,6 +59,6 @@ $focus-shadow-color: $input-colors-invalid-focus-shadow-color, $active-border-color: $input-colors-invalid-active-border-color, $disabled-background-color: $input-colors-invalid-disabled-background-color, - $disabled-border-color: $input-colors-invalid-disabled-border-color, + $disabled-border-color: $input-colors-invalid-disabled-border-color ); } diff --git a/packages/fuselage/src/styles/primitives/selection-button.scss b/packages/fuselage/src/styles/primitives/selection-button.scss index e21d2c96ea..56f1133c77 100644 --- a/packages/fuselage/src/styles/primitives/selection-button.scss +++ b/packages/fuselage/src/styles/primitives/selection-button.scss @@ -102,7 +102,11 @@ background-color: $button-colors-primary-disabled-background-color; } -@mixin is-selection-button($unchecked: 'empty', $indeterminate: null, $checked: 'primary') { +@mixin is-selection-button( + $unchecked: 'empty', + $indeterminate: null, + $checked: 'primary' +) { position: relative; display: inline-flex; @@ -114,7 +118,7 @@ $styles: ( unchecked: $unchecked, indeterminate: $indeterminate, - checked: $checked + checked: $checked, ); $state-pseudo-classes: ( @@ -122,7 +126,7 @@ hovered: ':hover', focused: ':focus', active: ':active', - disabled: ':disabled' + disabled: ':disabled', ); $state-helper-classes: ( @@ -130,7 +134,7 @@ hovered: '.is-hovered', focused: '.is-focused', active: '.is-active', - disabled: '.is-disabled' + disabled: '.is-disabled', ); @each $value in unchecked, indeterminate, checked { @@ -149,7 +153,7 @@ $state-helper-class: map-get($state-helper-classes, $state); @at-root &__input#{$value-pseudo-class}#{$state-pseudo-class} + &__fake, - &#{$state-helper-class} &__input#{$value-pseudo-class} + &__fake { + &#{$state-helper-class} &__input#{$value-pseudo-class} + &__fake { @extend %selection-button__fake--#{$style}--#{$state} !optional; @if $state == disabled { diff --git a/packages/fuselage/src/styles/typography.scss b/packages/fuselage/src/styles/typography.scss index 889e1a8b9f..6ef7c701d7 100644 --- a/packages/fuselage/src/styles/typography.scss +++ b/packages/fuselage/src/styles/typography.scss @@ -7,7 +7,10 @@ @error 'invalid font family name'; } - @return var(--rcx-font-family-#{ $name }, map.get(typography.$font-families, $name)); + @return var( + --rcx-font-family-#{$name}, + map.get(typography.$font-families, $name) + ); } $font-scales: map.keys(typography.$font-scales); @@ -30,7 +33,9 @@ $font-scales: map.keys(typography.$font-scales); @error 'invalid font scale name'; } - @return functions.to-rem(map.get(map.get(typography.$font-scales, $name), letter-spacing)); + @return functions.to-rem( + map.get(map.get(typography.$font-scales, $name), letter-spacing) + ); } @function font-size($name) { @@ -38,7 +43,9 @@ $font-scales: map.keys(typography.$font-scales); @error 'invalid font scale name'; } - @return functions.to-rem(map.get(map.get(typography.$font-scales, $name), font-size)); + @return functions.to-rem( + map.get(map.get(typography.$font-scales, $name), font-size) + ); } @function font-weight($name) { @@ -54,7 +61,9 @@ $font-scales: map.keys(typography.$font-scales); @error 'invalid font scale name'; } - @return functions.to-rem(map.get(map.get(typography.$font-scales, $name), line-height)); + @return functions.to-rem( + map.get(map.get(typography.$font-scales, $name), line-height) + ); } @mixin use-text-ellipsis { diff --git a/packages/fuselage/src/styles/variables/breakpoints.scss b/packages/fuselage/src/styles/variables/breakpoints.scss index 9c03c7f553..146f2c43e1 100644 --- a/packages/fuselage/src/styles/variables/breakpoints.scss +++ b/packages/fuselage/src/styles/variables/breakpoints.scss @@ -1,21 +1,66 @@ @use '~@rocket.chat/fuselage-tokens/breakpoints.scss'; -$breakpoints-xs-min-viewport-width: map-get(map-get(breakpoints.$breakpoints, xs), min-viewport-width); -$breakpoints-xs-columns: map-get(map-get(breakpoints.$breakpoints, xs), columns); -$breakpoints-xs-gutter-width: map-get(map-get(breakpoints.$breakpoints, xs), gutter-width); +$breakpoints-xs-min-viewport-width: map-get( + map-get(breakpoints.$breakpoints, xs), + min-viewport-width +); +$breakpoints-xs-columns: map-get( + map-get(breakpoints.$breakpoints, xs), + columns +); +$breakpoints-xs-gutter-width: map-get( + map-get(breakpoints.$breakpoints, xs), + gutter-width +); -$breakpoints-sm-min-viewport-width: map-get(map-get(breakpoints.$breakpoints, sm), min-viewport-width); -$breakpoints-sm-columns: map-get(map-get(breakpoints.$breakpoints, sm), columns); -$breakpoints-sm-gutter-width: map-get(map-get(breakpoints.$breakpoints, sm), gutter-width); +$breakpoints-sm-min-viewport-width: map-get( + map-get(breakpoints.$breakpoints, sm), + min-viewport-width +); +$breakpoints-sm-columns: map-get( + map-get(breakpoints.$breakpoints, sm), + columns +); +$breakpoints-sm-gutter-width: map-get( + map-get(breakpoints.$breakpoints, sm), + gutter-width +); -$breakpoints-md-min-viewport-width: map-get(map-get(breakpoints.$breakpoints, md), min-viewport-width); -$breakpoints-md-columns: map-get(map-get(breakpoints.$breakpoints, md), columns); -$breakpoints-md-gutter-width: map-get(map-get(breakpoints.$breakpoints, md), gutter-width); +$breakpoints-md-min-viewport-width: map-get( + map-get(breakpoints.$breakpoints, md), + min-viewport-width +); +$breakpoints-md-columns: map-get( + map-get(breakpoints.$breakpoints, md), + columns +); +$breakpoints-md-gutter-width: map-get( + map-get(breakpoints.$breakpoints, md), + gutter-width +); -$breakpoints-lg-min-viewport-width: map-get(map-get(breakpoints.$breakpoints, lg), min-viewport-width); -$breakpoints-lg-columns: map-get(map-get(breakpoints.$breakpoints, lg), columns); -$breakpoints-lg-gutter-width: map-get(map-get(breakpoints.$breakpoints, lg), gutter-width); +$breakpoints-lg-min-viewport-width: map-get( + map-get(breakpoints.$breakpoints, lg), + min-viewport-width +); +$breakpoints-lg-columns: map-get( + map-get(breakpoints.$breakpoints, lg), + columns +); +$breakpoints-lg-gutter-width: map-get( + map-get(breakpoints.$breakpoints, lg), + gutter-width +); -$breakpoints-xl-min-viewport-width: map-get(map-get(breakpoints.$breakpoints, xl), min-viewport-width); -$breakpoints-xl-columns: map-get(map-get(breakpoints.$breakpoints, xl), columns); -$breakpoints-xl-gutter-width: map-get(map-get(breakpoints.$breakpoints, xl), gutter-width); +$breakpoints-xl-min-viewport-width: map-get( + map-get(breakpoints.$breakpoints, xl), + min-viewport-width +); +$breakpoints-xl-columns: map-get( + map-get(breakpoints.$breakpoints, xl), + columns +); +$breakpoints-xl-gutter-width: map-get( + map-get(breakpoints.$breakpoints, xl), + gutter-width +); diff --git a/packages/fuselage/src/styles/variables/input-colors.scss b/packages/fuselage/src/styles/variables/input-colors.scss index 3379849b7c..f2ae8d4951 100644 --- a/packages/fuselage/src/styles/variables/input-colors.scss +++ b/packages/fuselage/src/styles/variables/input-colors.scss @@ -1,31 +1,112 @@ @use '../colors.scss'; -$input-colors-background-color: theme('input-colors-background-color', colors.surface()); -$input-colors-border-color: theme('input-colors-border-color', colors.neutral(500)); +$input-colors-background-color: theme( + 'input-colors-background-color', + colors.surface() +); +$input-colors-border-color: theme( + 'input-colors-border-color', + colors.neutral(500) +); $input-colors-color: theme('input-colors-color', colors.neutral(800)); -$input-colors-placeholder-color: theme('input-colors-placeholder-color', colors.neutral(600)); -$input-colors-hover-border-color: theme('input-colors-hover-border-color', colors.neutral(600)); -$input-colors-focus-border-color: theme('input-colors-focus-border-color', colors.primary(500)); -$input-colors-focus-shadow-color: theme('input-colors-focus-shadow-color', colors.primary(100)); -$input-colors-focus-icon-color: theme('input-colors-focus-icon-color', colors.primary(500)); -$input-colors-focus-caret-color: theme('input-colors-focus-caret-color', colors.primary(500)); -$input-colors-active-border-color: theme('input-colors-active-border-color', colors.neutral(600)); -$input-colors-active-caret-color: theme('input-colors-active-caret-color', colors.neutral(600)); -$input-colors-disabled-background-color: theme('input-colors-disabled-background-color', colors.neutral(200)); -$input-colors-disabled-border-color: theme('input-colors-disabled-border-color', colors.neutral(500)); -$input-colors-disabled-color: theme('input-colors-disabled-color', colors.neutral(800)); +$input-colors-placeholder-color: theme( + 'input-colors-placeholder-color', + colors.neutral(600) +); +$input-colors-hover-border-color: theme( + 'input-colors-hover-border-color', + colors.neutral(600) +); +$input-colors-focus-border-color: theme( + 'input-colors-focus-border-color', + colors.primary(500) +); +$input-colors-focus-shadow-color: theme( + 'input-colors-focus-shadow-color', + colors.primary(100) +); +$input-colors-focus-icon-color: theme( + 'input-colors-focus-icon-color', + colors.primary(500) +); +$input-colors-focus-caret-color: theme( + 'input-colors-focus-caret-color', + colors.primary(500) +); +$input-colors-active-border-color: theme( + 'input-colors-active-border-color', + colors.neutral(600) +); +$input-colors-active-caret-color: theme( + 'input-colors-active-caret-color', + colors.neutral(600) +); +$input-colors-disabled-background-color: theme( + 'input-colors-disabled-background-color', + colors.neutral(200) +); +$input-colors-disabled-border-color: theme( + 'input-colors-disabled-border-color', + colors.neutral(500) +); +$input-colors-disabled-color: theme( + 'input-colors-disabled-color', + colors.neutral(800) +); -$input-colors-invalid-background-color: theme('input-colors-invalid-background-color', colors.surface()); -$input-colors-invalid-border-color: theme('input-colors-invalid-border-color', colors.danger(500)); -$input-colors-invalid-color: theme('input-colors-invalid-color', colors.danger(500)); -$input-colors-invalid-placeholder-color: theme('input-colors-invalid-placeholder-color', colors.neutral(600)); -$input-colors-invalid-hover-border-color: theme('input-colors-invalid-hover-border-color', colors.danger(500)); -$input-colors-invalid-focus-border-color: theme('input-colors-invalid-focus-border-color', colors.danger(500)); -$input-colors-invalid-focus-shadow-color: theme('input-colors-invalid-focus-shadow-color', colors.danger(100)); -$input-colors-invalid-focus-caret-color: theme('input-colors-invalid-focus-caret-color', colors.danger(500)); -$input-colors-invalid-focus-icon-color: theme('input-colors-invalid-focus-icon-color', colors.danger(500)); -$input-colors-invalid-active-border-color: theme('input-colors-invalid-active-border-color', colors.neutral(600)); -$input-colors-invalid-active-caret-color: theme('input-colors-invalid-active-caret-color', colors.neutral(600)); -$input-colors-invalid-disabled-background-color: theme('input-colors-invalid-disabled-background-color', colors.neutral(200)); -$input-colors-invalid-disabled-border-color: theme('input-colors-invalid-disabled-border-color', colors.neutral(500)); -$input-colors-invalid-disabled-color: theme('input-colors-invalid-disabled-color', colors.neutral(800)); +$input-colors-invalid-background-color: theme( + 'input-colors-invalid-background-color', + colors.surface() +); +$input-colors-invalid-border-color: theme( + 'input-colors-invalid-border-color', + colors.danger(500) +); +$input-colors-invalid-color: theme( + 'input-colors-invalid-color', + colors.danger(500) +); +$input-colors-invalid-placeholder-color: theme( + 'input-colors-invalid-placeholder-color', + colors.neutral(600) +); +$input-colors-invalid-hover-border-color: theme( + 'input-colors-invalid-hover-border-color', + colors.danger(500) +); +$input-colors-invalid-focus-border-color: theme( + 'input-colors-invalid-focus-border-color', + colors.danger(500) +); +$input-colors-invalid-focus-shadow-color: theme( + 'input-colors-invalid-focus-shadow-color', + colors.danger(100) +); +$input-colors-invalid-focus-caret-color: theme( + 'input-colors-invalid-focus-caret-color', + colors.danger(500) +); +$input-colors-invalid-focus-icon-color: theme( + 'input-colors-invalid-focus-icon-color', + colors.danger(500) +); +$input-colors-invalid-active-border-color: theme( + 'input-colors-invalid-active-border-color', + colors.neutral(600) +); +$input-colors-invalid-active-caret-color: theme( + 'input-colors-invalid-active-caret-color', + colors.neutral(600) +); +$input-colors-invalid-disabled-background-color: theme( + 'input-colors-invalid-disabled-background-color', + colors.neutral(200) +); +$input-colors-invalid-disabled-border-color: theme( + 'input-colors-invalid-disabled-border-color', + colors.neutral(500) +); +$input-colors-invalid-disabled-color: theme( + 'input-colors-invalid-disabled-color', + colors.neutral(800) +); diff --git a/yarn.lock b/yarn.lock index f64f1d2fed..fa6c4712c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16944,6 +16944,13 @@ stylelint-order@^4.1.0: postcss "^7.0.31" postcss-sorting "^5.0.1" +stylelint-prettier@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/stylelint-prettier/-/stylelint-prettier-1.1.2.tgz#2b19abe40789c380bffee3d4267c413d981a86ea" + integrity sha512-8QZ+EtBpMCXYB6cY0hNE3aCDKMySIx4Q8/malLaqgU/KXXa6Cj2KK8ulG1AJvUMD5XSSP8rOotqaCzR/BW6qAA== + dependencies: + prettier-linter-helpers "^1.0.0" + stylelint-scss@^3.18.0: version "3.18.0" resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-3.18.0.tgz#8f06371c223909bf3f62e839548af1badeed31e9" From c7efc120c8ff1e969218029d0c7cd5f2e26f419f Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Mon, 4 Jan 2021 16:00:22 -0300 Subject: [PATCH 15/15] Fix lint errors --- .../fuselage-ui-kit/src/UIKitModal.stories.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/fuselage-ui-kit/src/UIKitModal.stories.mdx b/packages/fuselage-ui-kit/src/UIKitModal.stories.mdx index b1bae1d69a..a8c7b2d311 100644 --- a/packages/fuselage-ui-kit/src/UIKitModal.stories.mdx +++ b/packages/fuselage-ui-kit/src/UIKitModal.stories.mdx @@ -1,7 +1,7 @@ import { action } from '@storybook/addon-actions'; import { Meta, Canvas, Story } from '@storybook/addon-docs/blocks'; -import { UiKitModal, kitContext, defaultContext, UiKitComponent } from '.'; +import { UiKitModal, kitContext } from '.'; import { Demo } from './Demo'; {UiKitModal(payload)} @@ -105,7 +105,7 @@ import { Demo } from './Demo'; action: action('action'), state: action('state'), appId: 'core', - errors: errors, + errors, }} > {UiKitModal(payload)} @@ -150,7 +150,7 @@ import { Demo } from './Demo'; action: action('action'), state: action('state'), appId: 'core', - errors: errors, + errors, }} > {UiKitModal(payload)} @@ -188,7 +188,7 @@ import { Demo } from './Demo'; action: action('action'), state: action('state'), appId: 'core', - errors: errors, + errors, }} > {UiKitModal(payload)} @@ -258,7 +258,7 @@ import { Demo } from './Demo'; action: action('action'), state: action('state'), appId: 'core', - errors: errors, + errors, }} > {UiKitModal(payload)} @@ -328,7 +328,7 @@ import { Demo } from './Demo'; action: action('action'), state: action('state'), appId: 'core', - errors: errors, + errors, }} > {UiKitModal(payload)} @@ -354,7 +354,7 @@ import { Demo } from './Demo'; action: action('action'), state: action('state'), appId: 'core', - errors: errors, + errors, }} > {UiKitModal(payload)}