From bf9017c44d02ffa0e6d9fb0aac0aa7bd17e075a9 Mon Sep 17 00:00:00 2001 From: Caden Buckhalt Date: Thu, 17 Aug 2023 09:44:51 -0700 Subject: [PATCH 1/8] update @codaco/ui to 5.8.1 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index b55687a30..5cd69afa1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@babel/eslint-plugin": "^7.13.10", "@babel/plugin-proposal-class-properties": "^7.12.1", "@babel/preset-react": "^7.12.1", - "@codaco/ui": "^5.8.0", + "@codaco/ui": "^5.8.1", "@electron/notarize": "^1.2.3", "@material-ui/icons": "^4.11.2", "@tippyjs/react": "^4.2.5", @@ -1624,9 +1624,9 @@ } }, "node_modules/@codaco/ui": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@codaco/ui/-/ui-5.8.0.tgz", - "integrity": "sha512-gJmZNlhPyWspjYIAS1y05DWLKpDaGcgyhVCR+Qcrhu0WspJQ5YvWxapvb3hzgqtim6Crk5dyEL+DodXcXofcrQ==", + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/@codaco/ui/-/ui-5.8.1.tgz", + "integrity": "sha512-hOiCWu+xTi3VxFwqnkTjRwOXOxR/FlB70ahTngbfLeMPKIv1P1R7kZkV0g3NJqaDV3Y26AggsIt1lhmNypcxOA==", "dev": true, "dependencies": { "@material-ui/core": "^4.11.3", @@ -40208,9 +40208,9 @@ } }, "@codaco/ui": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@codaco/ui/-/ui-5.8.0.tgz", - "integrity": "sha512-gJmZNlhPyWspjYIAS1y05DWLKpDaGcgyhVCR+Qcrhu0WspJQ5YvWxapvb3hzgqtim6Crk5dyEL+DodXcXofcrQ==", + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/@codaco/ui/-/ui-5.8.1.tgz", + "integrity": "sha512-hOiCWu+xTi3VxFwqnkTjRwOXOxR/FlB70ahTngbfLeMPKIv1P1R7kZkV0g3NJqaDV3Y26AggsIt1lhmNypcxOA==", "dev": true, "requires": { "@material-ui/core": "^4.11.3", diff --git a/package.json b/package.json index 6f3941dd9..1b16b5c60 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "@babel/eslint-plugin": "^7.13.10", "@babel/plugin-proposal-class-properties": "^7.12.1", "@babel/preset-react": "^7.12.1", - "@codaco/ui": "^5.8.0", + "@codaco/ui": "^5.8.1", "@electron/notarize": "^1.2.3", "@material-ui/icons": "^4.11.2", "@tippyjs/react": "^4.2.5", From 681fd5f34badc2aa66a67972d7d74fd3f70528e5 Mon Sep 17 00:00:00 2001 From: Caden Buckhalt Date: Fri, 25 Aug 2023 08:56:23 -0700 Subject: [PATCH 2/8] update @codaco/ui to 5.8.3 replace node-sass with sass for compatibility with @codaco/ui update --- package-lock.json | 647 +++++++++++++++++++++++++++++++++++++++------- package.json | 4 +- 2 files changed, 560 insertions(+), 91 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5cd69afa1..402853d73 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "network-canvas-architect", - "version": "6.4.5", + "version": "6.4.6", "hasInstallScript": true, "devDependencies": { "@babel/cli": "^7.12.1", @@ -15,7 +15,7 @@ "@babel/eslint-plugin": "^7.13.10", "@babel/plugin-proposal-class-properties": "^7.12.1", "@babel/preset-react": "^7.12.1", - "@codaco/ui": "^5.8.1", + "@codaco/ui": "^5.8.3", "@electron/notarize": "^1.2.3", "@material-ui/icons": "^4.11.2", "@tippyjs/react": "^4.2.5", @@ -68,7 +68,6 @@ "lodash": "^4.17.19", "luxon": "^1.24.1", "mini-css-extract-plugin": "^0.8.2", - "node-sass": "^8.0.0", "object-hash": "^1.3.0", "path-to-regexp": "^2.4.0", "postcss": "^8.2.8", @@ -103,6 +102,7 @@ "redux-thunk": "^2.3.0", "reselect": "^3.0.0", "rxjs": "^6.6.6", + "sass": "^1.56.1", "sass-lint": "^1.13.0", "sass-loader": "^10.4.1", "scrollparent": "^2.0.1", @@ -1624,9 +1624,9 @@ } }, "node_modules/@codaco/ui": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/@codaco/ui/-/ui-5.8.1.tgz", - "integrity": "sha512-hOiCWu+xTi3VxFwqnkTjRwOXOxR/FlB70ahTngbfLeMPKIv1P1R7kZkV0g3NJqaDV3Y26AggsIt1lhmNypcxOA==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/@codaco/ui/-/ui-5.8.3.tgz", + "integrity": "sha512-rRb9cwpO5STD8gcdyPyNzloHpKOU1zOcS7o/wnx5jpBlpVaX9bWuNQ2k2/p5gNFj+EnuXslnNcVFI8k4Om35dQ==", "dev": true, "dependencies": { "@material-ui/core": "^4.11.3", @@ -3184,6 +3184,8 @@ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "@gar/promisify": "^1.1.3", "semver": "^7.3.5" @@ -3197,6 +3199,8 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -3986,7 +3990,9 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/@types/ms": { "version": "0.7.31", @@ -4546,7 +4552,9 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/accepts": { "version": "1.3.7", @@ -4646,6 +4654,8 @@ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "debug": "^4.1.0", "depd": "^2.0.0", @@ -4660,6 +4670,8 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">= 0.8" } @@ -5031,6 +5043,8 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -5336,6 +5350,8 @@ "version": "0.1.3", "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", "dev": true, + "optional": true, + "peer": true, "engines": { "node": "*" } @@ -7228,7 +7244,6 @@ "version": "3.5.1", "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dev": true, - "optional": true, "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", @@ -7249,7 +7264,6 @@ "version": "3.1.2", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, - "optional": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -7262,7 +7276,6 @@ "version": "2.2.0", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, - "optional": true, "engines": { "node": ">=8" } @@ -7271,7 +7284,6 @@ "version": "3.0.2", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "optional": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -7283,7 +7295,6 @@ "version": "7.0.1", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "optional": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -7295,7 +7306,6 @@ "version": "5.1.2", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "optional": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -7307,7 +7317,6 @@ "version": "2.1.0", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "optional": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -7319,7 +7328,6 @@ "version": "7.0.0", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "optional": true, "engines": { "node": ">=0.12.0" } @@ -7328,7 +7336,6 @@ "version": "3.5.0", "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, - "optional": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -7340,7 +7347,6 @@ "version": "5.0.1", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "optional": true, "dependencies": { "is-number": "^7.0.0" }, @@ -7793,6 +7799,8 @@ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true, + "optional": true, + "peer": true, "bin": { "color-support": "bin.js" } @@ -8064,7 +8072,9 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/constant-case": { "version": "2.0.0", @@ -9462,6 +9472,8 @@ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -9855,7 +9867,9 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/depd": { "version": "1.1.2", @@ -11409,7 +11423,9 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/errlop": { "version": "4.1.0", @@ -13917,6 +13933,8 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.3", @@ -13936,6 +13954,8 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -13944,13 +13964,17 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/gauge/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -13960,6 +13984,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13974,6 +14000,8 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -13985,6 +14013,8 @@ "version": "1.1.3", "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "globule": "^1.0.0" }, @@ -14436,6 +14466,8 @@ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=6" } @@ -14498,7 +14530,9 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/has-value": { "version": "1.0.0", @@ -15176,6 +15210,8 @@ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "ms": "^2.0.0" } @@ -15590,6 +15626,12 @@ "url": "https://opencollective.com/immer" } }, + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, "node_modules/import-cwd": { "version": "2.1.0", "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", @@ -16187,7 +16229,9 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/is-lower-case": { "version": "1.1.3", @@ -18807,7 +18851,9 @@ "version": "2.6.4", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/js-tokens": { "version": "4.0.0", @@ -19606,6 +19652,8 @@ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "agentkeepalive": "^4.2.1", "cacache": "^16.1.0", @@ -19634,6 +19682,8 @@ "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", "deprecated": "This functionality has been moved to @npmcli/fs", "dev": true, + "optional": true, + "peer": true, "dependencies": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" @@ -19647,6 +19697,8 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -19656,6 +19708,8 @@ "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "@npmcli/fs": "^2.1.0", "@npmcli/move-file": "^2.0.0", @@ -19685,6 +19739,8 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -19704,6 +19760,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=12" } @@ -19713,6 +19771,8 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -19725,6 +19785,8 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, + "optional": true, + "peer": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -19737,6 +19799,8 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">= 0.6" } @@ -19746,6 +19810,8 @@ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "aggregate-error": "^3.0.0" }, @@ -19761,6 +19827,8 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -19776,6 +19844,8 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -19786,6 +19856,8 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -19806,6 +19878,8 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -19818,6 +19892,8 @@ "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "minipass": "^3.1.1" }, @@ -19830,6 +19906,8 @@ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "unique-slug": "^3.0.0" }, @@ -19842,6 +19920,8 @@ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "imurmurhash": "^0.1.4" }, @@ -20469,6 +20549,8 @@ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=4" } @@ -20570,6 +20652,8 @@ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", @@ -20584,6 +20668,8 @@ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -20593,6 +20679,8 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -20625,6 +20713,8 @@ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "minipass": "^3.1.6", "minipass-sized": "^1.0.3", @@ -20664,6 +20754,8 @@ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "minipass": "^3.0.0" }, @@ -20786,7 +20878,9 @@ "version": "2.17.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/nanoid": { "version": "3.1.22", @@ -20950,6 +21044,8 @@ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "env-paths": "^2.2.0", "glob": "^7.1.4", @@ -20974,6 +21070,8 @@ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">= 6" } @@ -20983,6 +21081,8 @@ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -20997,6 +21097,8 @@ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "agentkeepalive": "^4.1.3", "cacache": "^15.2.0", @@ -21024,6 +21126,8 @@ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "minipass": "^3.1.0", "minipass-sized": "^1.0.3", @@ -21041,6 +21145,8 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -21056,6 +21162,8 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -21071,6 +21179,8 @@ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -21085,6 +21195,8 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "isexe": "^2.0.0" }, @@ -21252,6 +21364,8 @@ "integrity": "sha512-jPzqCF2/e6JXw6r3VxfIqYc8tKQdkj5Z/BDATYyG6FL6b/LuYBNFGFVhus0mthcWifHm/JzBpKAd+3eXsWeK/A==", "dev": true, "hasInstallScript": true, + "optional": true, + "peer": true, "dependencies": { "async-foreach": "^0.1.3", "chalk": "^4.1.2", @@ -21280,6 +21394,8 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -21295,6 +21411,8 @@ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "camelcase": "^5.3.1", "map-obj": "^4.0.0", @@ -21312,6 +21430,8 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -21328,6 +21448,8 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -21339,13 +21461,17 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/node-sass/node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -21359,13 +21485,17 @@ "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/node-sass/node_modules/indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -21375,6 +21505,8 @@ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" }, @@ -21387,6 +21519,8 @@ "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", @@ -21413,6 +21547,8 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -21431,6 +21567,8 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -21440,6 +21578,8 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -21455,6 +21595,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", @@ -21472,6 +21614,8 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -21481,6 +21625,8 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -21493,6 +21639,8 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -21502,6 +21650,8 @@ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -21515,6 +21665,8 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, + "optional": true, + "peer": true, "bin": { "semver": "bin/semver" } @@ -21524,6 +21676,8 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -21536,6 +21690,8 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -21545,6 +21701,8 @@ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "min-indent": "^1.0.0" }, @@ -21557,6 +21715,8 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -21569,6 +21729,8 @@ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -21578,6 +21740,8 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -21590,6 +21754,8 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "isexe": "^2.0.0" }, @@ -21605,6 +21771,8 @@ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "abbrev": "1" }, @@ -21724,6 +21892,8 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", @@ -29185,6 +29355,8 @@ "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" @@ -29406,6 +29578,8 @@ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -33226,11 +33400,30 @@ "integrity": "sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==", "dev": true }, + "node_modules/sass": { + "version": "1.56.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.56.1.tgz", + "integrity": "sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/sass-graph": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "glob": "^7.0.0", "lodash": "^4.17.11", @@ -33249,6 +33442,8 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -33258,6 +33453,8 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -33271,13 +33468,17 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/sass-graph/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -33287,6 +33488,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -33301,6 +33504,8 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -33313,6 +33518,8 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -33331,6 +33538,8 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=12" } @@ -33793,6 +34002,8 @@ "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "js-base64": "^2.4.9", "source-map": "^0.7.3" @@ -33803,6 +34014,8 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">= 8" } @@ -34312,6 +34525,7 @@ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, + "optional": true, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" @@ -34481,6 +34695,8 @@ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -34495,6 +34711,8 @@ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -34508,7 +34726,9 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/sort-keys": { "version": "1.1.2", @@ -34534,6 +34754,15 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-resolve": { "version": "0.5.3", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", @@ -34823,6 +35052,8 @@ "version": "1.4.1", "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "readable-stream": "^2.0.1" } @@ -34831,6 +35062,8 @@ "version": "2.3.7", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -34845,6 +35078,8 @@ "version": "1.1.1", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -36516,7 +36751,9 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", @@ -38403,6 +38640,8 @@ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } @@ -40208,9 +40447,9 @@ } }, "@codaco/ui": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/@codaco/ui/-/ui-5.8.1.tgz", - "integrity": "sha512-hOiCWu+xTi3VxFwqnkTjRwOXOxR/FlB70ahTngbfLeMPKIv1P1R7kZkV0g3NJqaDV3Y26AggsIt1lhmNypcxOA==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/@codaco/ui/-/ui-5.8.3.tgz", + "integrity": "sha512-rRb9cwpO5STD8gcdyPyNzloHpKOU1zOcS7o/wnx5jpBlpVaX9bWuNQ2k2/p5gNFj+EnuXslnNcVFI8k4Om35dQ==", "dev": true, "requires": { "@material-ui/core": "^4.11.3", @@ -41383,6 +41622,8 @@ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "@gar/promisify": "^1.1.3", "semver": "^7.3.5" @@ -41393,6 +41634,8 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "lru-cache": "^6.0.0" } @@ -41983,7 +42226,9 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "@types/ms": { "version": "0.7.31", @@ -42457,7 +42702,9 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "accepts": { "version": "1.3.7", @@ -42533,6 +42780,8 @@ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", "dev": true, + "optional": true, + "peer": true, "requires": { "debug": "^4.1.0", "depd": "^2.0.0", @@ -42543,7 +42792,9 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true + "dev": true, + "optional": true, + "peer": true } } }, @@ -42845,6 +43096,8 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, + "optional": true, + "peer": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -43080,7 +43333,9 @@ "async-foreach": { "version": "0.1.3", "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "async-limiter": { "version": "1.0.1", @@ -44552,7 +44807,6 @@ "version": "3.5.1", "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dev": true, - "optional": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", @@ -44568,7 +44822,6 @@ "version": "3.1.2", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, - "optional": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -44577,14 +44830,12 @@ "binary-extensions": { "version": "2.2.0", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true + "dev": true }, "braces": { "version": "3.0.2", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "optional": true, "requires": { "fill-range": "^7.0.1" } @@ -44593,7 +44844,6 @@ "version": "7.0.1", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "optional": true, "requires": { "to-regex-range": "^5.0.1" } @@ -44602,7 +44852,6 @@ "version": "5.1.2", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "optional": true, "requires": { "is-glob": "^4.0.1" } @@ -44611,7 +44860,6 @@ "version": "2.1.0", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "optional": true, "requires": { "binary-extensions": "^2.0.0" } @@ -44619,14 +44867,12 @@ "is-number": { "version": "7.0.0", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true + "dev": true }, "readdirp": { "version": "3.5.0", "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, - "optional": true, "requires": { "picomatch": "^2.2.1" } @@ -44635,7 +44881,6 @@ "version": "5.0.1", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "optional": true, "requires": { "is-number": "^7.0.0" } @@ -44997,7 +45242,9 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "colorette": { "version": "1.2.2", @@ -45231,7 +45478,9 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "constant-case": { "version": "2.0.0", @@ -46303,6 +46552,8 @@ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, + "optional": true, + "peer": true, "requires": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -46625,7 +46876,9 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "depd": { "version": "1.1.2", @@ -47874,7 +48127,9 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "errlop": { "version": "4.1.0", @@ -49792,6 +50047,8 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, + "optional": true, + "peer": true, "requires": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.3", @@ -49807,25 +50064,33 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "optional": true, + "peer": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -49837,6 +50102,8 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "optional": true, + "peer": true, "requires": { "ansi-regex": "^5.0.1" } @@ -49847,6 +50114,8 @@ "version": "1.1.3", "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, + "optional": true, + "peer": true, "requires": { "globule": "^1.0.0" } @@ -50196,7 +50465,9 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "harmony-reflect": { "version": "1.6.1", @@ -50238,7 +50509,9 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "has-value": { "version": "1.0.0", @@ -50792,6 +51065,8 @@ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "ms": "^2.0.0" } @@ -51111,6 +51386,12 @@ "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==", "dev": true }, + "immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, "import-cwd": { "version": "2.1.0", "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", @@ -51549,7 +51830,9 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "is-lower-case": { "version": "1.1.3", @@ -53497,7 +53780,9 @@ "version": "2.6.4", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "js-tokens": { "version": "4.0.0", @@ -54183,6 +54468,8 @@ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "dev": true, + "optional": true, + "peer": true, "requires": { "agentkeepalive": "^4.2.1", "cacache": "^16.1.0", @@ -54207,6 +54494,8 @@ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" @@ -54217,6 +54506,8 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "optional": true, + "peer": true, "requires": { "balanced-match": "^1.0.0" } @@ -54226,6 +54517,8 @@ "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "@npmcli/fs": "^2.1.0", "@npmcli/move-file": "^2.0.0", @@ -54252,6 +54545,8 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -54264,13 +54559,17 @@ "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "optional": true, + "peer": true, "requires": { "brace-expansion": "^2.0.1" } @@ -54279,19 +54578,25 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "aggregate-error": "^3.0.0" } @@ -54301,6 +54606,8 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "optional": true, + "peer": true, "requires": { "glob": "^7.1.3" }, @@ -54310,6 +54617,8 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "optional": true, + "peer": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -54320,6 +54629,8 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "optional": true, + "peer": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -54334,6 +54645,8 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "optional": true, + "peer": true, "requires": { "brace-expansion": "^1.1.7" } @@ -54345,6 +54658,8 @@ "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, + "optional": true, + "peer": true, "requires": { "minipass": "^3.1.1" } @@ -54354,6 +54669,8 @@ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", "dev": true, + "optional": true, + "peer": true, "requires": { "unique-slug": "^3.0.0" } @@ -54363,6 +54680,8 @@ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", "dev": true, + "optional": true, + "peer": true, "requires": { "imurmurhash": "^0.1.4" } @@ -54861,7 +55180,9 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "mini-create-react-context": { "version": "0.4.1", @@ -54940,6 +55261,8 @@ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, + "optional": true, + "peer": true, "requires": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", @@ -54950,13 +55273,17 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "dev": true, + "optional": true, + "peer": true } } }, @@ -54982,6 +55309,8 @@ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", "dev": true, + "optional": true, + "peer": true, "requires": { "encoding": "^0.1.13", "minipass": "^3.1.6", @@ -55010,6 +55339,8 @@ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dev": true, + "optional": true, + "peer": true, "requires": { "minipass": "^3.0.0" } @@ -55113,7 +55444,9 @@ "version": "2.17.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "nanoid": { "version": "3.1.22", @@ -55247,6 +55580,8 @@ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "dev": true, + "optional": true, + "peer": true, "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", @@ -55264,13 +55599,17 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "http-proxy-agent": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, + "optional": true, + "peer": true, "requires": { "@tootallnate/once": "1", "agent-base": "6", @@ -55282,6 +55621,8 @@ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", "dev": true, + "optional": true, + "peer": true, "requires": { "agentkeepalive": "^4.1.3", "cacache": "^15.2.0", @@ -55306,6 +55647,8 @@ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", "dev": true, + "optional": true, + "peer": true, "requires": { "encoding": "^0.1.12", "minipass": "^3.1.0", @@ -55318,6 +55661,8 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "optional": true, + "peer": true, "requires": { "glob": "^7.1.3" } @@ -55327,6 +55672,8 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "lru-cache": "^6.0.0" } @@ -55336,6 +55683,8 @@ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -55347,6 +55696,8 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "optional": true, + "peer": true, "requires": { "isexe": "^2.0.0" } @@ -55495,6 +55846,8 @@ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-8.0.0.tgz", "integrity": "sha512-jPzqCF2/e6JXw6r3VxfIqYc8tKQdkj5Z/BDATYyG6FL6b/LuYBNFGFVhus0mthcWifHm/JzBpKAd+3eXsWeK/A==", "dev": true, + "optional": true, + "peer": true, "requires": { "async-foreach": "^0.1.3", "chalk": "^4.1.2", @@ -55517,6 +55870,8 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "optional": true, + "peer": true, "requires": { "color-convert": "^2.0.1" } @@ -55526,6 +55881,8 @@ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, + "optional": true, + "peer": true, "requires": { "camelcase": "^5.3.1", "map-obj": "^4.0.0", @@ -55537,6 +55894,8 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "optional": true, + "peer": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -55547,6 +55906,8 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "color-name": "~1.1.4" } @@ -55555,13 +55916,17 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "optional": true, + "peer": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -55572,25 +55937,33 @@ "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "map-obj": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "meow": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", @@ -55611,6 +55984,8 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "optional": true, + "peer": true, "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -55622,13 +55997,17 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, + "optional": true, + "peer": true, "requires": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -55641,6 +56020,8 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, + "optional": true, + "peer": true, "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -55652,7 +56033,9 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true + "dev": true, + "optional": true, + "peer": true } } }, @@ -55661,6 +56044,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, + "optional": true, + "peer": true, "requires": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", @@ -55671,7 +56056,9 @@ "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true + "dev": true, + "optional": true, + "peer": true } } }, @@ -55680,6 +56067,8 @@ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, + "optional": true, + "peer": true, "requires": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -55689,13 +56078,17 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "optional": true, + "peer": true, "requires": { "shebang-regex": "^3.0.0" } @@ -55704,13 +56097,17 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "min-indent": "^1.0.0" } @@ -55720,6 +56117,8 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "optional": true, + "peer": true, "requires": { "has-flag": "^4.0.0" } @@ -55728,19 +56127,25 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "type-fest": { "version": "0.18.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "optional": true, + "peer": true, "requires": { "isexe": "^2.0.0" } @@ -55752,6 +56157,8 @@ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "abbrev": "1" } @@ -55838,6 +56245,8 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, + "optional": true, + "peer": true, "requires": { "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", @@ -61415,6 +61824,8 @@ "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, + "optional": true, + "peer": true, "requires": { "err-code": "^2.0.2", "retry": "^0.12.0" @@ -61589,7 +62000,9 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "raf": { "version": "3.4.1", @@ -64543,11 +64956,24 @@ "integrity": "sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==", "dev": true }, + "sass": { + "version": "1.56.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.56.1.tgz", + "integrity": "sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, "sass-graph": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", "dev": true, + "optional": true, + "peer": true, "requires": { "glob": "^7.0.0", "lodash": "^4.17.11", @@ -64559,13 +64985,17 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -64576,19 +65006,25 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "optional": true, + "peer": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -64600,6 +65036,8 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "optional": true, + "peer": true, "requires": { "ansi-regex": "^5.0.1" } @@ -64609,6 +65047,8 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "optional": true, + "peer": true, "requires": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -64623,7 +65063,9 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true + "dev": true, + "optional": true, + "peer": true } } }, @@ -64976,6 +65418,8 @@ "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", "dev": true, + "optional": true, + "peer": true, "requires": { "js-base64": "^2.4.9", "source-map": "^0.7.3" @@ -64985,7 +65429,9 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true + "dev": true, + "optional": true, + "peer": true } } }, @@ -65406,7 +65852,8 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true + "dev": true, + "optional": true }, "snake-case": { "version": "2.1.0", @@ -65553,6 +66000,8 @@ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, + "optional": true, + "peer": true, "requires": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -65562,7 +66011,9 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true } } }, @@ -65571,6 +66022,8 @@ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, + "optional": true, + "peer": true, "requires": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -65595,6 +66048,12 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, "source-map-resolve": { "version": "0.5.3", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", @@ -65839,6 +66298,8 @@ "version": "1.4.1", "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", "dev": true, + "optional": true, + "peer": true, "requires": { "readable-stream": "^2.0.1" }, @@ -65847,6 +66308,8 @@ "version": "2.3.7", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, + "optional": true, + "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -65861,6 +66324,8 @@ "version": "1.1.1", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "optional": true, + "peer": true, "requires": { "safe-buffer": "~5.1.0" } @@ -67187,7 +67652,9 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "truncate-utf8-bytes": { "version": "1.0.2", @@ -68636,6 +69103,8 @@ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dev": true, + "optional": true, + "peer": true, "requires": { "string-width": "^1.0.2 || 2 || 3 || 4" } diff --git a/package.json b/package.json index 1b16b5c60..454fcc558 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "@babel/eslint-plugin": "^7.13.10", "@babel/plugin-proposal-class-properties": "^7.12.1", "@babel/preset-react": "^7.12.1", - "@codaco/ui": "^5.8.1", + "@codaco/ui": "^5.8.3", "@electron/notarize": "^1.2.3", "@material-ui/icons": "^4.11.2", "@tippyjs/react": "^4.2.5", @@ -101,7 +101,6 @@ "lodash": "^4.17.19", "luxon": "^1.24.1", "mini-css-extract-plugin": "^0.8.2", - "node-sass": "^8.0.0", "object-hash": "^1.3.0", "path-to-regexp": "^2.4.0", "postcss": "^8.2.8", @@ -136,6 +135,7 @@ "redux-thunk": "^2.3.0", "reselect": "^3.0.0", "rxjs": "^6.6.6", + "sass": "^1.56.1", "sass-lint": "^1.13.0", "sass-loader": "^10.4.1", "scrollparent": "^2.0.1", From a3e0e7da1a359b144a542d4aa9026b118d28f21d Mon Sep 17 00:00:00 2001 From: Caden Buckhalt Date: Fri, 25 Aug 2023 10:16:51 -0700 Subject: [PATCH 3/8] useEffect for setting default type, ensure useDateFormat is set after default type is set fixes bug, removes 'cannot update component while rendering adifferent component' console warning --- src/components/Parameters/DatePicker.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/components/Parameters/DatePicker.js b/src/components/Parameters/DatePicker.js index d90ae9b41..cafe7a4e7 100644 --- a/src/components/Parameters/DatePicker.js +++ b/src/components/Parameters/DatePicker.js @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import PropTypes from 'prop-types'; import { compose } from 'recompose'; import { connect } from 'react-redux'; @@ -19,9 +19,12 @@ const DateTimeParameters = ({ const dateFormat = type ? DATE_FORMATS[type] : DATE_FORMATS.full; const [useDateFormat, setUseDateFormat] = useState(type); - if (!type) { - setSelectDefault(); - } + useEffect(() => { + if (!type) { + setSelectDefault(); + } + setUseDateFormat(type); + }, [type, setSelectDefault]); return ( <> From 1a79980cd160f9e4df573067b6ead4d355ee3463 Mon Sep 17 00:00:00 2001 From: Joshua Melville Date: Mon, 28 Aug 2023 11:28:38 +0200 Subject: [PATCH 4/8] Add grid mixins, and fix z-index issue with datepicker and section editor The newer versions of UI remove the grid mixins, which are unfortunately widely used in Architect. I added them back in manually. For the date picker z-index issue, this seems to have been caused by switchiing the data picker to use an 'overlay', which was done in 2022 but not brought in to Architect because the UI version wasn't correctly imported. Not sure why we didn't pick up the break when we tested the PR for updating the BG color, as this should have triggered the issue. Regardless, the only way to fix this is to remove overflow: hidden from the stage-editor-section, which allows the z-index of the date picker's panel to take effect. This alone would break the toggleable sections, since they use overflow to hide the content when the section is being closed. I therefore added the overflow state to the animation variants (where the open variant has overflow: visible), and this seems to work. --- src/components/EditorLayout/Section.js | 11 +- src/styles/_grid.scss | 258 ++++++++++++++++++ .../stage-editor/section/_section.scss | 1 - src/styles/main.scss | 1 + 4 files changed, 266 insertions(+), 5 deletions(-) create mode 100644 src/styles/_grid.scss diff --git a/src/components/EditorLayout/Section.js b/src/components/EditorLayout/Section.js index 8869f9c3b..709cef3bc 100644 --- a/src/components/EditorLayout/Section.js +++ b/src/components/EditorLayout/Section.js @@ -7,10 +7,12 @@ import IssueAnchor from '../IssueAnchor'; const animations = { collapsed: { + overflow: 'hidden', height: 0, opacity: 0, }, open: { + overflow: 'visible', height: 'auto', opacity: 1, }, @@ -66,7 +68,7 @@ const Section = ({ - { toggleable && ( + {toggleable && (
- { summary } + {summary}
- { id && ( + {id && ( )} - { (isOpen || !toggleable) && ( + {(isOpen || !toggleable) && ( {children} diff --git a/src/styles/_grid.scss b/src/styles/_grid.scss new file mode 100644 index 000000000..10fa70275 --- /dev/null +++ b/src/styles/_grid.scss @@ -0,0 +1,258 @@ +// Grid +// Flex Rows, Columns, and Items +// ============================================================================= + +// Default Settings +// ============================================================================= +$grid-container-max-width: 990px !default; +$grid-num-columns: 12 !default; + +// mixin for a flex-container that's able to be nested in other flex elements +// can specify whether or not it will be contained by a max-width. +// by default, it will not take on +// contained behavior (centered with a max-width) +@mixin grid-container($contain: false, $width: 100%, $max-width: $grid-container-max-width) { + display: flex; + flex-flow: row wrap; + width: $width; + height: auto; + @if $contain { + max-width: $max-width; + margin-left: auto; + margin-right: auto; + } +} + +// the basic building blocks that are housed by containers +// the default behavior is that they will stack on top of each other +// unless a specified width is given via the modifier classes +// as they'll be forced to take up 100% of the container's width +// the --fluid modifier makes it so that the items will split up +// the space of a container equally, displayed inline +// the --shrink modifier makes it so that the item will only +// take up the space its content dictates +@mixin grid-item-base { + display: flex; + // set flex to wrap so that we can nest containers in items + flex-wrap: wrap; + // min width makes it so that the item is forced to take the + // percentage we're specifying + min-width: 0; +} + +@mixin grid-item($columns: $grid-num-columns, $total-columns: $grid-num-columns, $shrink: null) { + @include grid-item-base; + @if $shrink { + flex: 0 auto; + } @else { + @include grid-item-percent(percentage($columns / $total-columns)); + } +} + +@mixin grid-item-margin($offset: 0, $columns: $grid-num-columns, $direction: left) { + margin-#{$direction}: percentage($offset / $columns); +} + +@mixin grid-item-fluid { + @include grid-item-base; + flex: 1; +} + +@mixin grid-item-percent($pct: 100%) { + flex: 0 0 $pct; + @if is-number($pct) and unit($pct) == '%' { + max-width: $pct; + } +} + +@mixin flex-stack { + display: flex; + flex-flow: column; +} + +@mixin flex-inline { + display: flex; + flex-flow: row; +} + +// Flex Modifiers: Horizontal & Vertical Alignments, Order +// ============================================================================= +$flex-align-x: (center: center, left: flex-start, right: flex-end, bookend: space-between, spaced: space-around) !default; +$flex-align-y: (middle: center, top: flex-start, bottom: flex-end, stretch: stretch, baseline: baseline) !default; +$flex-align-self: (auto: auto, stretch: stretch, center: center, middle: center, top: flex-start, start: flex-start, bottom: flex-end, end: flex-end, baseline: baseline) !default; +@mixin flex-align($x: null, $y: null, $self: null, $flow: 'row') { + @if $x { + @if map-has-key($flex-align-x, $x) { + $x: map-get($flex-align-x, $x); + } + } + @if $y { + @if map-has-key($flex-align-y, $y) { + $y: map-get($flex-align-y, $y); + } + } + @if $self { + @if map-has-key($flex-align-self, $self) { + $self: map-get($flex-align-self, $self); + } + } + @if $flow == 'column' { + justify-content: $y; + align-items: $x; + align-content: $y; + } @else { + justify-content: $x; + align-items: $y; + align-content: $y; + } + align-self: $self; +} + +$flex-align-stack: ( + left: flex-start, + right: flex-end, + center: center, + middle: center, + top: flex-start, + bottom: flex-end, + bookend: space-between, + spaced: space-around +) !default; + +@mixin flex-align-stack($align-name: null) { + $align-prop: null; + @if map-has-key($flex-align-stack, $align-name) { + $align-prop: map-get($flex-align-stack, $align-name); + } + @if $align-name == 'left' { + align-items: $align-prop; + } @else if $align-name == 'right' { + align-items: $align-prop; + } @else if $align-name == 'center' { + align-items: $align-prop; + } @else { + justify-content: $align-prop; + } +} + +// vertical align, horizontal align +@mixin vcjc { + justify-content: center; + align-items: center; +} + +@mixin flex-order($order: 0) { + order: $order; +} + +// Allows for separate class names, uses the previously defined alignment maps to create the alignments +@mixin grid-classes ($grid-class: 'grid', $section-class: 'section', $container-class: 'container', $block-class: 'block', $item-class: 'item', $columns: $grid-num-columns, $container-max-width: $grid-container-max-width, $container-width: percentage(1), $alignments: ('x', 'y', 'self')) { + .#{$grid-class} { + + // Section: meant to take up the full height of something, + // 100% width + &__#{$section-class} { + height: auto; + width: 100%; + } + + &__#{$block-class} { + display: block; + } + + &__#{$container-class} { + @include grid-container( + $contain: true, + $width: $container-width, + $max-width: $container-max-width + ); + + & & { + @include grid-container; + } + } + + &__#{$item-class} { + @include grid-item; + } @each $breakpoint-name, $min-width in $-breakpoint-map { + @include breakpoint($breakpoint-name) { + $breakpoint-class: '--#{$breakpoint-name}'; + @if _breakpoint-is-zero($breakpoint-name) { + $breakpoint-class: null; + } + + // vertical center, justify center + &#{$breakpoint-class}--vcjc { + @include vcjc; + } + // x align, assuming row flow + @each $align-name, $alignment in $flex-align-x { + &#{$breakpoint-class}--x-#{$align-name} { + @include flex-align($x: $align-name); + } + } + // y align, self align + @each $align-name, $alignment in $flex-align-y { + &#{$breakpoint-class}--y-#{$align-name} { + @include flex-align($y: $align-name); + } + + &#{$breakpoint-class}--self-#{$align-name} { + @include flex-align($self: $align-name); + } + } + + // grid sizes for column + &__#{$item-class}#{$breakpoint-class} { + @for $i from 1 through $columns { + $percent: percentage($i / $columns); + $reduced: _reduceFraction($i, $columns); + $fraction: #{nth($reduced, 1)}-#{nth($reduced, 2)}; + + &--#{$fraction}, + &--#{$i}-#{$columns} { + @include grid-item-percent($pct: $percent); + } + + &--margin-left--#{$fraction}, + &--margin-left--#{$i}-#{$columns} { + @include grid-item-margin($i, $columns, 'left'); + } + + &--margin-right--#{$fraction}, + &--margin-right--#{$i}-#{$columns} { + @include grid-item-margin($i, $columns, 'right'); + } + } + + &--expand { + @include grid-item; + } + + &--shrink { + @include grid-item($shrink: true); + } + + &--fluid { + @include grid-item-fluid; + } + @for $i from 1 through $columns { + // Column source ordering + &--order-#{$i} { + @include flex-order($i); + } + } + } + + &__stack#{$breakpoint-class} { + @include flex-stack; + @each $align-name, $alignment in $flex-align-stack { + &--#{$align-name} { + @include flex-align-stack($align-name: $align-name); + } + } + } + } + } + } +} diff --git a/src/styles/components/stage-editor/section/_section.scss b/src/styles/components/stage-editor/section/_section.scss index 1db5a5368..f7cdbca64 100644 --- a/src/styles/components/stage-editor/section/_section.scss +++ b/src/styles/components/stage-editor/section/_section.scss @@ -3,7 +3,6 @@ } .stage-editor-section { - overflow: hidden; margin: unit(4) unit(8); padding: unit(2) unit(4); background: var(--section-background-color); diff --git a/src/styles/main.scss b/src/styles/main.scss index 5fc166308..5784a5ba7 100644 --- a/src/styles/main.scss +++ b/src/styles/main.scss @@ -8,6 +8,7 @@ $font-path: '~@codaco/ui/lib/assets/fonts'; @import './theme'; @import './helpers'; @import './mixins'; +@import './grid'; @import './reset'; @import './app'; @import '../lib/ProtocolSummary/styles/all'; From a0a2c9bc3cd2aba080c2252e8d86dca8ba991f14 Mon Sep 17 00:00:00 2001 From: Joshua Melville Date: Mon, 28 Aug 2023 11:40:41 +0200 Subject: [PATCH 5/8] Migrate use of slash in sass to use of division function Since we moved to dart-sass, we need to update our existing sass code to use the division function instead of the slash operator See: https://sass-lang.com/documentation/breaking-changes/slash-div/ This commit is the result of running the automatic migration tool, and seems to remove those errors when compiling our sass. --- src/styles/_grid.scss | 8 +++++--- src/styles/_ui.scss | 4 +++- src/styles/components/timeline/_stage.scss | 4 +++- src/styles/components/timeline/_timeline.scss | 4 +++- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/styles/_grid.scss b/src/styles/_grid.scss index 10fa70275..9eabb5be8 100644 --- a/src/styles/_grid.scss +++ b/src/styles/_grid.scss @@ -4,6 +4,8 @@ // Default Settings // ============================================================================= +@use "sass:math"; + $grid-container-max-width: 990px !default; $grid-num-columns: 12 !default; @@ -45,12 +47,12 @@ $grid-num-columns: 12 !default; @if $shrink { flex: 0 auto; } @else { - @include grid-item-percent(percentage($columns / $total-columns)); + @include grid-item-percent(percentage(math.div($columns, $total-columns))); } } @mixin grid-item-margin($offset: 0, $columns: $grid-num-columns, $direction: left) { - margin-#{$direction}: percentage($offset / $columns); + margin-#{$direction}: percentage(math.div($offset, $columns)); } @mixin grid-item-fluid { @@ -205,7 +207,7 @@ $flex-align-stack: ( // grid sizes for column &__#{$item-class}#{$breakpoint-class} { @for $i from 1 through $columns { - $percent: percentage($i / $columns); + $percent: percentage(math.div($i, $columns)); $reduced: _reduceFraction($i, $columns); $fraction: #{nth($reduced, 1)}-#{nth($reduced, 2)}; diff --git a/src/styles/_ui.scss b/src/styles/_ui.scss index 002e7cf80..c540acd30 100644 --- a/src/styles/_ui.scss +++ b/src/styles/_ui.scss @@ -1,10 +1,12 @@ // Destined for network canvas UI +@use "sass:math"; + @function unit($units: 1) { @return .6rem * $units; } @function px($px: 1) { - @return (($px * 1px) / $base-font-size) * 1rem; + @return math.div($px * 1px, $base-font-size) * 1rem; } // rename these methods, since they are actually generalisable diff --git a/src/styles/components/timeline/_stage.scss b/src/styles/components/timeline/_stage.scss index b3d3e4744..3fd737bbc 100644 --- a/src/styles/components/timeline/_stage.scss +++ b/src/styles/components/timeline/_stage.scss @@ -1,6 +1,8 @@ +@use "sass:math"; + $preview-offset: unit(12); $preview-width: unit(26); -$preview-ratio: 10 / 16; +$preview-ratio: math.div(10, 16); $component-name: timeline-stage; .#{$component-name} { diff --git a/src/styles/components/timeline/_timeline.scss b/src/styles/components/timeline/_timeline.scss index 034568457..a70c8f0ce 100644 --- a/src/styles/components/timeline/_timeline.scss +++ b/src/styles/components/timeline/_timeline.scss @@ -1,4 +1,6 @@ -$stage-height: (9 / 16) * 15vw; +@use "sass:math"; + +$stage-height: math.div(9, 16) * 15vw; $stage-padding: unit(5); $bottom-spacing: unit(12); From 461c7aa0f4d28ff9b02cde0014588d79602de8d4 Mon Sep 17 00:00:00 2001 From: Joshua Melville Date: Mon, 28 Aug 2023 15:01:33 +0200 Subject: [PATCH 6/8] switch to using stylelint for sass linting, and update existing styles to match rules --- .sass-lint.yml | 97 - .stylelintrc.json | 8 + network-canvas | 2 +- package-lock.json | 1807 +++++++++++++++-- package.json | 530 ++--- .../_protocol-summary-asset-manifest.scss | 1 - .../styles/_protocol-summary-contents.scss | 19 +- .../_protocol-summary-entity-badge.scss | 2 + .../styles/_protocol-summary-entity.scss | 2 +- .../styles/_protocol-summary-mini-table.scss | 14 +- .../styles/_protocol-summary-stage.scss | 42 +- .../styles/_protocol-summary-variables.scss | 10 +- .../styles/_protocol-summary.scss | 23 +- src/lib/ProtocolSummary/styles/all.scss | 18 +- src/styles/_app.scss | 5 +- src/styles/_grid.scss | 47 +- src/styles/_hotfix.scss | 20 +- src/styles/_mixins.scss | 1 + src/styles/_reset.scss | 3 +- src/styles/_theme.scss | 20 +- src/styles/_ui.scss | 5 - src/styles/components/_assets.scss | 8 +- src/styles/components/_assign-attributes.scss | 21 +- src/styles/components/_attributes-table.scss | 11 +- src/styles/components/_badge.scss | 5 +- .../_boolean-option-configuration.scss | 6 +- src/styles/components/_code-view.scss | 12 +- src/styles/components/_codebook.scss | 71 +- src/styles/components/_contextual-dialog.scss | 8 +- src/styles/components/_control-bar.scss | 8 +- src/styles/components/_editable-list.scss | 4 +- src/styles/components/_error.scss | 10 +- src/styles/components/_filter-group.scss | 6 +- src/styles/components/_grid.scss | 10 +- src/styles/components/_home.scss | 92 +- .../components/_inline-edit-screen.scss | 18 +- src/styles/components/_issues.scss | 21 +- src/styles/components/_network.scss | 16 +- src/styles/components/_new-stage-screen.scss | 14 +- src/styles/components/_options.scss | 14 +- src/styles/components/_overview.scss | 28 +- src/styles/components/_panel.scss | 12 +- src/styles/components/_protocol-stack.scss | 2 - src/styles/components/_recent-protocols.scss | 8 +- src/styles/components/_scene.scss | 19 +- src/styles/components/_screen.scss | 8 +- src/styles/components/_simple-list.scss | 6 +- src/styles/components/_stage-heading.scss | 104 +- src/styles/components/_start.scss | 11 +- src/styles/components/_tag.scss | 8 +- src/styles/components/_thumbnail.scss | 6 +- src/styles/components/_tip.scss | 18 +- src/styles/components/_type-editor.scss | 16 +- src/styles/components/_variable-pill.scss | 32 +- src/styles/components/_variable-registry.scss | 9 +- .../components/_variable-spotlight.scss | 29 +- src/styles/components/_window.scss | 10 +- .../components/asset-browser/_asset.scss | 11 +- .../components/asset-browser/_assets.scss | 9 +- .../attributes-table/_attributes-table.scss | 8 +- .../components/attributes-table/_chooser.scss | 12 +- .../components/attributes-table/_preview.scss | 12 +- .../attributes-table/_variable.scss | 6 +- .../components/cards/_edit-skip-logic.scss | 2 +- src/styles/components/form/_dropzone.scss | 27 +- src/styles/components/form/_fields.scss | 39 +- src/styles/components/form/_round-button.scss | 12 +- .../components/form/fields/_color-picker.scss | 10 +- .../components/form/fields/_data-source.scss | 2 +- .../form/fields/_entity-select.scss | 13 +- src/styles/components/form/fields/_file.scss | 11 +- src/styles/components/form/fields/_image.scss | 2 +- .../form/fields/_input-preview.scss | 4 +- .../components/form/fields/_markdown.scss | 15 +- src/styles/components/form/fields/_mode.scss | 10 +- .../components/form/fields/_multi-select.scss | 43 +- .../form/fields/_native-select.scss | 38 +- .../components/form/fields/_select.scss | 22 +- .../components/form/fields/_textarea.scss | 9 +- .../form/fields/_variable-picker.scss | 9 +- .../form/fields/_variable-select.scss | 4 +- src/styles/components/form/fields/_video.scss | 4 +- .../components/items/_delete-button.scss | 8 +- src/styles/components/items/_handle.scss | 8 +- src/styles/components/items/_item.scss | 8 +- src/styles/components/items/_items.scss | 6 +- src/styles/components/items/_new-button.scss | 10 +- .../components/list/_delete-button.scss | 8 +- src/styles/components/list/_handle.scss | 8 +- src/styles/components/list/_item.scss | 21 +- .../components/list/_list-controls.scss | 6 +- src/styles/components/list/_list-group.scss | 6 +- src/styles/components/list/_list-row.scss | 4 +- src/styles/components/list/_list.scss | 8 +- .../components/rule/_rule-drop-down.scss | 3 - src/styles/components/rule/_rule-input.scss | 2 +- src/styles/components/rule/_rule.scss | 6 + src/styles/components/rules/_edit-rule.scss | 4 +- .../components/rules/_preview-rule.scss | 54 +- .../components/rules/_preview-rules.scss | 6 +- .../components/rules/_preview-text.scss | 7 +- src/styles/components/rules/_rules.scss | 9 +- .../stage-editor/section/_content-items.scss | 10 +- .../stage-editor/section/_section.scss | 22 +- .../section/_sociogram-prompt.scss | 6 +- .../components/timeline/_new-button.scss | 10 +- src/styles/components/timeline/_stage.scss | 27 +- src/styles/components/timeline/_timeline.scss | 26 +- .../components/type-editor/_icon-option.scss | 12 +- src/styles/main.scss | 1 + 110 files changed, 2798 insertions(+), 1199 deletions(-) delete mode 100644 .sass-lint.yml create mode 100644 .stylelintrc.json diff --git a/.sass-lint.yml b/.sass-lint.yml deleted file mode 100644 index 35fd95b02..000000000 --- a/.sass-lint.yml +++ /dev/null @@ -1,97 +0,0 @@ -options: - formatter: stylish -files: - include: 'src/styles/**/*.s+(a|c)ss' -rules: - # Extends - extends-before-mixins: 1 - extends-before-declarations: 1 - placeholder-in-extend: 1 - - # Mixins - mixins-before-declarations: 1 - - # Line Spacing - one-declaration-per-line: 1 - empty-line-between-blocks: 1 - single-line-per-selector: 1 - - # Disallows - no-attribute-selectors: 0 - no-color-hex: 0 - no-color-keywords: 1 - no-color-literals: 1 - no-combinators: 0 - no-css-comments: 1 - no-debug: 1 - no-disallowed-properties: 0 - no-duplicate-properties: 1 - no-empty-rulesets: 1 - no-extends: 0 - no-ids: 1 - no-important: 1 - no-invalid-hex: 1 - no-mergeable-selectors: 1 - no-misspelled-properties: 1 - no-qualifying-elements: 1 - no-trailing-whitespace: 1 - no-trailing-zero: 1 - no-transition-all: 1 - no-universal-selectors: 0 - no-url-domains: 1 - no-url-protocols: 1 - no-vendor-prefixes: 0 - no-warn: 1 - property-units: 0 - - # Nesting - declarations-before-nesting: 1 - force-attribute-nesting: 1 - force-element-nesting: 1 - force-pseudo-nesting: 1 - - # Name Formats - class-name-format: - - enabled: 1 - - convention: hyphenatedbem - function-name-format: 1 - id-name-format: 0 - mixin-name-format: 1 - placeholder-name-format: 1 - variable-name-format: 1 - - # Style Guide - attribute-quotes: 1 - bem-depth: 0 - border-zero: 1 - brace-style: 1 - clean-import-paths: 1 - empty-args: 1 - hex-length: 1 - hex-notation: 1 - indentation: 1 - leading-zero: 1 - max-line-length: 0 - max-file-line-count: 0 - nesting-depth: 0 - property-sort-order: 0 - pseudo-element: 1 - quotes: 1 - shorthand-values: 1 - url-quotes: 1 - variable-for-property: 1 - zero-unit: 1 - - # Inner Spacing - space-after-comma: 1 - space-before-colon: 1 - space-after-colon: 1 - space-before-brace: 1 - space-before-bang: 1 - space-after-bang: 1 - space-between-parens: 1 - space-around-operator: 1 - - # Final Items - trailing-semicolon: 1 - final-newline: 1 diff --git a/.stylelintrc.json b/.stylelintrc.json new file mode 100644 index 000000000..d75964a3f --- /dev/null +++ b/.stylelintrc.json @@ -0,0 +1,8 @@ +{ + "extends": "stylelint-config-standard-scss", + "rules": { + "selector-class-pattern": null, + "custom-property-pattern": null, + "scss/at-extend-no-missing-placeholder": null + } +} diff --git a/network-canvas b/network-canvas index 6b899930f..27d2db0f2 160000 --- a/network-canvas +++ b/network-canvas @@ -1 +1 @@ -Subproject commit 6b899930f8b7c7d4f778ec4b4fa45d5305f85a2f +Subproject commit 27d2db0f27705c290fdf7eea017a0faaf91f236e diff --git a/package-lock.json b/package-lock.json index 402853d73..cf2d30fa0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -107,6 +107,9 @@ "sass-loader": "^10.4.1", "scrollparent": "^2.0.1", "style-loader": "^0.21.0", + "stylelint": "^15.10.3", + "stylelint-config-standard": "^34.0.0", + "stylelint-config-standard-scss": "^10.0.0", "svg2png": "^3.0.1", "thread-loader": "^1.2.0", "url-loader": "^1.1.1", @@ -1800,11 +1803,97 @@ "node": ">=4.0.0" } }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.1.tgz", + "integrity": "sha512-xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^2.2.0" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.0.tgz", + "integrity": "sha512-wErmsWCbsmig8sQKkM6pFhr/oPha1bHfvxsUY5CYSQxwyhA9Ulrs8EqCgClhg4Tgg2XapVstGqSVcz0xOYizZA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.4.tgz", + "integrity": "sha512-V/OUXYX91tAC1CDsiY+HotIcJR+vPtzrX8pCplCpT++i8ThZZsq5F5dzZh/bDM3WUOjrvC1ljed1oSJxMfjqhw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0" + } + }, "node_modules/@csstools/normalize.css": { "version": "10.1.0", "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==", "dev": true }, + "node_modules/@csstools/selector-specificity": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", + "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" + } + }, "node_modules/@develar/schema-utils": { "version": "2.6.5", "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", @@ -3990,9 +4079,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true, - "optional": true, - "peer": true + "dev": true }, "node_modules/@types/ms": { "version": "0.7.31", @@ -7805,6 +7892,12 @@ "color-support": "bin.js" } }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, "node_modules/colorette": { "version": "1.2.2", "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", @@ -8565,6 +8658,15 @@ "node": ">=6" } }, + "node_modules/css-functions-list": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.0.tgz", + "integrity": "sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==", + "dev": true, + "engines": { + "node": ">=12.22" + } + }, "node_modules/css-has-pseudo": { "version": "0.10.0", "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", @@ -9472,8 +9574,6 @@ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, - "optional": true, - "peer": true, "dependencies": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -13113,23 +13213,24 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.5", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" }, "engines": { - "node": ">=8" + "node": ">=8.6.0" } }, "node_modules/fast-glob/node_modules/braces": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { @@ -13141,6 +13242,7 @@ }, "node_modules/fast-glob/node_modules/fill-range": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { @@ -13163,6 +13265,7 @@ }, "node_modules/fast-glob/node_modules/is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "engines": { @@ -13170,19 +13273,21 @@ } }, "node_modules/fast-glob/node_modules/micromatch": { - "version": "4.0.2", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, "node_modules/fast-glob/node_modules/to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { @@ -13202,6 +13307,15 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, "node_modules/fastparse": { "version": "1.1.2", "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", @@ -14301,15 +14415,16 @@ } }, "node_modules/globby": { - "version": "11.0.3", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" }, "engines": { @@ -14320,8 +14435,9 @@ } }, "node_modules/globby/node_modules/ignore": { - "version": "5.1.8", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, "engines": { "node": ">= 4" @@ -14335,6 +14451,12 @@ "node": ">=8" } }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, "node_modules/globule": { "version": "1.3.2", "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", @@ -14466,8 +14588,6 @@ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=6" } @@ -15039,6 +15159,18 @@ "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/html-void-elements": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", @@ -19439,11 +19571,6 @@ "integrity": "sha1-+CbJtOKoUR2E46yinbBeGk87cqk=", "dev": true }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, "node_modules/lodash.debounce": { "version": "4.0.8", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", @@ -20002,6 +20129,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/md5.js": { "version": "1.3.5", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", @@ -20549,8 +20686,6 @@ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=4" } @@ -20652,8 +20787,6 @@ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, - "optional": true, - "peer": true, "dependencies": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", @@ -20668,8 +20801,6 @@ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -20679,8 +20810,6 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -20883,9 +21012,16 @@ "peer": true }, "node_modules/nanoid": { - "version": "3.1.22", - "integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -22664,9 +22800,16 @@ "node": ">=0.4.0" } }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "node_modules/picomatch": { - "version": "2.2.2", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" @@ -22946,20 +23089,31 @@ } }, "node_modules/postcss": { - "version": "8.2.9", - "integrity": "sha512-b+TmuIL4jGtCHtoLi+G/PisuIl9avxs8IZMSmlABRwNz5RLUUACrC+ws81dcomz1nRezm5YPdXiMEzBEKgYn+Q==", + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", + "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "colorette": "^1.2.2", - "nanoid": "^3.1.22", - "source-map": "^0.6.1" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-attribute-case-insensitive": { @@ -25847,6 +26001,12 @@ "node": ">=6" } }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, "node_modules/postcss-merge-longhand": { "version": "4.0.11", "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", @@ -28709,6 +28869,12 @@ "node": ">=6" } }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, "node_modules/postcss-safe-parser": { "version": "5.0.2", "integrity": "sha512-jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ==", @@ -28724,6 +28890,32 @@ "url": "https://opencollective.com/postcss/" } }, + "node_modules/postcss-scss": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.7.tgz", + "integrity": "sha512-xPv2GseoyXPa58Nro7M73ZntttusuCmZdeOojUFR5PZDz2BR62vfYx1w9TyOnp1+nYFowgOMipsCBhxzVkAEPw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.19" + } + }, "node_modules/postcss-selector-matches": { "version": "4.0.0", "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", @@ -28901,13 +29093,12 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.4", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", "util-deprecate": "^1.0.2" }, "engines": { @@ -29198,8 +29389,9 @@ } }, "node_modules/postcss-value-parser": { - "version": "4.1.0", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, "node_modules/postcss-values-parser": { @@ -29215,14 +29407,6 @@ "node": ">=6.14.4" } }, - "node_modules/postcss/node_modules/source-map": { - "version": "0.6.1", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", @@ -35468,6 +35652,12 @@ "node": ">= 4" } }, + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, "node_modules/style-to-object": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", @@ -35598,6 +35788,716 @@ "node": ">=6" } }, + "node_modules/stylelint": { + "version": "15.10.3", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.3.tgz", + "integrity": "sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==", + "dev": true, + "dependencies": { + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0", + "@csstools/media-query-list-parser": "^2.1.4", + "@csstools/selector-specificity": "^3.0.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^8.2.0", + "css-functions-list": "^3.2.0", + "css-tree": "^2.3.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.1", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^6.0.1", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^5.2.4", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.28.0", + "mathml-tag-names": "^2.1.3", + "meow": "^10.1.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.27", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^3.0.0", + "svg-tags": "^1.0.0", + "table": "^6.8.1", + "write-file-atomic": "^5.0.1" + }, + "bin": { + "stylelint": "bin/stylelint.mjs" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz", + "integrity": "sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==", + "dev": true, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "stylelint": "^15.10.0" + } + }, + "node_modules/stylelint-config-recommended-scss": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-12.0.0.tgz", + "integrity": "sha512-5Bb2mlGy6WLa30oNeKpZvavv2lowJUsUJO25+OA68GFTemlwd1zbFsL7q0bReKipOSU3sG47hKneZ6Nd+ctrFA==", + "dev": true, + "dependencies": { + "postcss-scss": "^4.0.6", + "stylelint-config-recommended": "^12.0.0", + "stylelint-scss": "^5.0.0" + }, + "peerDependencies": { + "postcss": "^8.3.3", + "stylelint": "^15.5.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + } + } + }, + "node_modules/stylelint-config-recommended-scss/node_modules/stylelint-config-recommended": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-12.0.0.tgz", + "integrity": "sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ==", + "dev": true, + "peerDependencies": { + "stylelint": "^15.5.0" + } + }, + "node_modules/stylelint-config-standard": { + "version": "34.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz", + "integrity": "sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==", + "dev": true, + "dependencies": { + "stylelint-config-recommended": "^13.0.0" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "stylelint": "^15.10.0" + } + }, + "node_modules/stylelint-config-standard-scss": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-10.0.0.tgz", + "integrity": "sha512-bChBEo1p3xUVWh/wenJI+josoMk21f2yuLDGzGjmKYcALfl2u3DFltY+n4UHswYiXghqXaA8mRh+bFy/q1hQlg==", + "dev": true, + "dependencies": { + "stylelint-config-recommended-scss": "^12.0.0", + "stylelint-config-standard": "^33.0.0" + }, + "peerDependencies": { + "postcss": "^8.3.3", + "stylelint": "^15.5.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + } + } + }, + "node_modules/stylelint-config-standard-scss/node_modules/stylelint-config-recommended": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-12.0.0.tgz", + "integrity": "sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ==", + "dev": true, + "peerDependencies": { + "stylelint": "^15.5.0" + } + }, + "node_modules/stylelint-config-standard-scss/node_modules/stylelint-config-standard": { + "version": "33.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-33.0.0.tgz", + "integrity": "sha512-eyxnLWoXImUn77+ODIuW9qXBDNM+ALN68L3wT1lN2oNspZ7D9NVGlNHb2QCUn4xDug6VZLsh0tF8NyoYzkgTzg==", + "dev": true, + "dependencies": { + "stylelint-config-recommended": "^12.0.0" + }, + "peerDependencies": { + "stylelint": "^15.5.0" + } + }, + "node_modules/stylelint-scss": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-5.1.0.tgz", + "integrity": "sha512-E+KlQFXv1Euha43qw3q+wKBSli557wxbbo6/39DWhRNXlUa9Cz+FYrcgz+PT6ag0l6UisCYjAGCNhoSl4FcwlA==", + "dev": true, + "dependencies": { + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "stylelint": "^14.5.1 || ^15.0.0" + } + }, + "node_modules/stylelint/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "node_modules/stylelint/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "dependencies": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/cosmiconfig": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", + "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "dev": true, + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + } + }, + "node_modules/stylelint/node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/stylelint/node_modules/decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/stylelint/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/stylelint/node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/stylelint/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylelint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/stylelint/node_modules/known-css-properties": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz", + "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==", + "dev": true + }, + "node_modules/stylelint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/stylelint/node_modules/meow": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", + "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/stylelint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/stylelint/node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "dependencies": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/stylelint/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/supports-hyperlinks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/stylelint/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/stylelint/node_modules/trim-newlines": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", + "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/sumchecker": { "version": "3.0.1", "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", @@ -35645,6 +36545,12 @@ "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", "dev": true }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, "node_modules/svg2png": { "version": "3.1.1", "integrity": "sha1-L5CPtldE1yWqSkYC/5vEt0Yu9dg=", @@ -36010,19 +36916,16 @@ "dev": true }, "node_modules/table": { - "version": "6.0.9", - "integrity": "sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ==", + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", "dev": true, "dependencies": { "ajv": "^8.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "lodash.clonedeep": "^4.5.0", - "lodash.flatten": "^4.4.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=10.0.0" @@ -36044,8 +36947,9 @@ } }, "node_modules/table/node_modules/ansi-regex": { - "version": "5.0.0", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" @@ -36083,6 +36987,7 @@ }, "node_modules/table/node_modules/emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, @@ -36116,24 +37021,26 @@ } }, "node_modules/table/node_modules/string-width": { - "version": "4.2.2", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/table/node_modules/strip-ansi": { - "version": "6.0.0", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" @@ -39147,8 +40054,9 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.7", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" @@ -40588,11 +41496,38 @@ "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", "dev": true }, + "@csstools/css-parser-algorithms": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.1.tgz", + "integrity": "sha512-xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA==", + "dev": true, + "requires": {} + }, + "@csstools/css-tokenizer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.0.tgz", + "integrity": "sha512-wErmsWCbsmig8sQKkM6pFhr/oPha1bHfvxsUY5CYSQxwyhA9Ulrs8EqCgClhg4Tgg2XapVstGqSVcz0xOYizZA==", + "dev": true + }, + "@csstools/media-query-list-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.4.tgz", + "integrity": "sha512-V/OUXYX91tAC1CDsiY+HotIcJR+vPtzrX8pCplCpT++i8ThZZsq5F5dzZh/bDM3WUOjrvC1ljed1oSJxMfjqhw==", + "dev": true, + "requires": {} + }, "@csstools/normalize.css": { "version": "10.1.0", "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==", "dev": true }, + "@csstools/selector-specificity": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", + "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", + "dev": true, + "requires": {} + }, "@develar/schema-utils": { "version": "2.6.5", "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", @@ -42226,9 +43161,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true, - "optional": true, - "peer": true + "dev": true }, "@types/ms": { "version": "0.7.31", @@ -45246,6 +46179,12 @@ "optional": true, "peer": true }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, "colorette": { "version": "1.2.2", "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", @@ -45872,6 +46811,12 @@ } } }, + "css-functions-list": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.0.tgz", + "integrity": "sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==", + "dev": true + }, "css-has-pseudo": { "version": "0.10.0", "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", @@ -46552,8 +47497,6 @@ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, - "optional": true, - "peer": true, "requires": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -49382,20 +50325,21 @@ "dev": true }, "fast-glob": { - "version": "3.2.5", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" }, "dependencies": { "braces": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { @@ -49404,6 +50348,7 @@ }, "fill-range": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { @@ -49420,20 +50365,23 @@ }, "is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "micromatch": { - "version": "4.0.2", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { @@ -49452,6 +50400,12 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, "fastparse": { "version": "1.1.2", "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", @@ -50333,21 +51287,23 @@ } }, "globby": { - "version": "11.0.3", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" }, "dependencies": { "ignore": { - "version": "5.1.8", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, "slash": { @@ -50357,6 +51313,12 @@ } } }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, "globule": { "version": "1.3.2", "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", @@ -50465,9 +51427,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "optional": true, - "peer": true + "dev": true }, "harmony-reflect": { "version": "1.6.1", @@ -50931,6 +51891,12 @@ } } }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + }, "html-void-elements": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", @@ -54288,11 +55254,6 @@ "integrity": "sha1-+CbJtOKoUR2E46yinbBeGk87cqk=", "dev": true }, - "lodash.clonedeep": { - "version": "4.5.0", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, "lodash.debounce": { "version": "4.0.8", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", @@ -54745,6 +55706,12 @@ } } }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true + }, "md5.js": { "version": "1.3.5", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", @@ -55180,9 +56147,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "optional": true, - "peer": true + "dev": true }, "mini-create-react-context": { "version": "0.4.1", @@ -55261,8 +56226,6 @@ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, - "optional": true, - "peer": true, "requires": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", @@ -55273,17 +56236,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "optional": true, - "peer": true + "dev": true }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "optional": true, - "peer": true + "dev": true } } }, @@ -55449,8 +56408,9 @@ "peer": true }, "nanoid": { - "version": "3.1.22", - "integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "dev": true }, "nanomatch": { @@ -56838,9 +57798,16 @@ } } }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "picomatch": { - "version": "2.2.2", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pify": { @@ -57055,20 +58022,14 @@ "dev": true }, "postcss": { - "version": "8.2.9", - "integrity": "sha512-b+TmuIL4jGtCHtoLi+G/PisuIl9avxs8IZMSmlABRwNz5RLUUACrC+ws81dcomz1nRezm5YPdXiMEzBEKgYn+Q==", + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", + "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", "dev": true, "requires": { - "colorette": "^1.2.2", - "nanoid": "^3.1.22", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" } }, "postcss-attribute-case-insensitive": { @@ -59189,6 +60150,12 @@ } } }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, "postcss-merge-longhand": { "version": "4.0.11", "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", @@ -61344,6 +62311,12 @@ } } }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, "postcss-safe-parser": { "version": "5.0.2", "integrity": "sha512-jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ==", @@ -61352,6 +62325,13 @@ "postcss": "^8.1.0" } }, + "postcss-scss": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.7.tgz", + "integrity": "sha512-xPv2GseoyXPa58Nro7M73ZntttusuCmZdeOojUFR5PZDz2BR62vfYx1w9TyOnp1+nYFowgOMipsCBhxzVkAEPw==", + "dev": true, + "requires": {} + }, "postcss-selector-matches": { "version": "4.0.0", "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", @@ -61487,13 +62467,12 @@ } }, "postcss-selector-parser": { - "version": "6.0.4", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "requires": { "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", "util-deprecate": "^1.0.2" } }, @@ -61709,8 +62688,9 @@ } }, "postcss-value-parser": { - "version": "4.1.0", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, "postcss-values-parser": { @@ -66634,6 +67614,12 @@ } } }, + "style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, "style-to-object": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", @@ -66739,6 +67725,493 @@ } } }, + "stylelint": { + "version": "15.10.3", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.3.tgz", + "integrity": "sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==", + "dev": true, + "requires": { + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0", + "@csstools/media-query-list-parser": "^2.1.4", + "@csstools/selector-specificity": "^3.0.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^8.2.0", + "css-functions-list": "^3.2.0", + "css-tree": "^2.3.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.1", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^6.0.1", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^5.2.4", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.28.0", + "mathml-tag-names": "^2.1.3", + "meow": "^10.1.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.27", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^3.0.0", + "svg-tags": "^1.0.0", + "table": "^6.8.1", + "write-file-atomic": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "requires": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + } + }, + "cosmiconfig": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", + "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "dev": true, + "requires": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + } + }, + "css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "requires": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + } + }, + "decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true + }, + "indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "known-css-properties": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz", + "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, + "mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "meow": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", + "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + } + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "requires": {} + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + } + }, + "read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "requires": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + } + }, + "redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "requires": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + } + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "requires": { + "min-indent": "^1.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "trim-newlines": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", + "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", + "dev": true + }, + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + }, + "write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + } + } + } + }, + "stylelint-config-recommended": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz", + "integrity": "sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==", + "dev": true, + "requires": {} + }, + "stylelint-config-recommended-scss": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-12.0.0.tgz", + "integrity": "sha512-5Bb2mlGy6WLa30oNeKpZvavv2lowJUsUJO25+OA68GFTemlwd1zbFsL7q0bReKipOSU3sG47hKneZ6Nd+ctrFA==", + "dev": true, + "requires": { + "postcss-scss": "^4.0.6", + "stylelint-config-recommended": "^12.0.0", + "stylelint-scss": "^5.0.0" + }, + "dependencies": { + "stylelint-config-recommended": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-12.0.0.tgz", + "integrity": "sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ==", + "dev": true, + "requires": {} + } + } + }, + "stylelint-config-standard": { + "version": "34.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz", + "integrity": "sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==", + "dev": true, + "requires": { + "stylelint-config-recommended": "^13.0.0" + } + }, + "stylelint-config-standard-scss": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-10.0.0.tgz", + "integrity": "sha512-bChBEo1p3xUVWh/wenJI+josoMk21f2yuLDGzGjmKYcALfl2u3DFltY+n4UHswYiXghqXaA8mRh+bFy/q1hQlg==", + "dev": true, + "requires": { + "stylelint-config-recommended-scss": "^12.0.0", + "stylelint-config-standard": "^33.0.0" + }, + "dependencies": { + "stylelint-config-recommended": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-12.0.0.tgz", + "integrity": "sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ==", + "dev": true, + "requires": {} + }, + "stylelint-config-standard": { + "version": "33.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-33.0.0.tgz", + "integrity": "sha512-eyxnLWoXImUn77+ODIuW9qXBDNM+ALN68L3wT1lN2oNspZ7D9NVGlNHb2QCUn4xDug6VZLsh0tF8NyoYzkgTzg==", + "dev": true, + "requires": { + "stylelint-config-recommended": "^12.0.0" + } + } + } + }, + "stylelint-scss": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-5.1.0.tgz", + "integrity": "sha512-E+KlQFXv1Euha43qw3q+wKBSli557wxbbo6/39DWhRNXlUa9Cz+FYrcgz+PT6ag0l6UisCYjAGCNhoSl4FcwlA==", + "dev": true, + "requires": { + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0" + } + }, "sumchecker": { "version": "3.0.1", "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", @@ -66776,6 +68249,12 @@ "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", "dev": true }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, "svg2png": { "version": "3.1.1", "integrity": "sha1-L5CPtldE1yWqSkYC/5vEt0Yu9dg=", @@ -67080,19 +68559,16 @@ "dev": true }, "table": { - "version": "6.0.9", - "integrity": "sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ==", + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", "dev": true, "requires": { "ajv": "^8.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "lodash.clonedeep": "^4.5.0", - "lodash.flatten": "^4.4.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "dependencies": { "ajv": { @@ -67107,8 +68583,9 @@ } }, "ansi-regex": { - "version": "5.0.0", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -67134,6 +68611,7 @@ }, "emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, @@ -67158,21 +68636,23 @@ } }, "string-width": { - "version": "4.2.2", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "6.0.0", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } } } @@ -69553,8 +71033,9 @@ } }, "yargs-parser": { - "version": "20.2.7", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, "yauzl": { diff --git a/package.json b/package.json index 454fcc558..ad5c33fe1 100644 --- a/package.json +++ b/package.json @@ -1,274 +1,276 @@ { - "name": "network-canvas-architect", - "version": "6.4.6", - "productName": "Network Canvas Architect", - "description": "A tool for building Network Canvas interviews.", - "author": "Complex Data Collective ", - "private": true, - "engines": { - "node": "14.21.3", - "npm": "8.3.2" + "name": "network-canvas-architect", + "version": "6.4.6", + "productName": "Network Canvas Architect", + "description": "A tool for building Network Canvas interviews.", + "author": "Complex Data Collective ", + "private": true, + "engines": { + "node": "14.21.3", + "npm": "8.3.2" + }, + "scripts": { + "postinstall": "cd network-canvas && npm install && cd ../", + "pack": "electron-builder --dir", + "update-submodules": "git submodule update --init --recursive", + "start": "cross-env BUILD_TARGET=web node scripts/start.js", + "start:electron": "npm run start:architect:electron", + "start:architect:electron": "node scripts/start.js", + "start:network-canvas:electron": "cd network-canvas && npm run start:electron", + "preelectron:dev": "node scripts/build-electron-dev.js", + "dev:electron": "cross-env NODE_ENV=development WEBPACK_NC_DEV_SERVER_PORT=3000 WEBPACK_DEV_SERVER_PORT=3003 electron electron-dev/", + "build": "npm run build:architect && npm run build:network-canvas", + "build:architect": "node scripts/build.js", + "build:network-canvas": "cd network-canvas && npm install && npm run build:electron && cd ../ && node scripts/move-network-canvas-build.js", + "lint": "npm run lint:js && npm run sass-lint", + "lint:js": "eslint src", + "sass-lint": "stylelint **/*.scss", + "test": "cross-env TEST=true node scripts/test.js --env=jsdom", + "test:update-snapshots": "node scripts/test.js --env=jsdom --updateSnapshot", + "build-docs": "jsdoc src -r -d docs-build -c ./jsdoc.conf.json --verbose", + "electron": "env NODE_ENV=build electron ./app", + "generate-icons": "node scripts/generate-app-icons.js", + "dist": "electron-builder", + "dist:mac": "npm run build && electron-builder -m --x64", + "dist:linux": "npm run build && electron-builder -l", + "dist:win": "npm run build && electron-builder -w", + "dist:all": "npm run build && electron-builder -mlw", + "bump": "node scripts/bump.js", + "preflight": "npm run lint:js && npm run lint:sass -- --max-warnings 0 && npm test -- --coverage" + }, + "repository": { + "type": "git" + }, + "devDependencies": { + "@babel/cli": "^7.12.1", + "@babel/core": "^7.12.3", + "@babel/eslint-parser": "^7.13.10", + "@babel/eslint-plugin": "^7.13.10", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/preset-react": "^7.12.1", + "@codaco/ui": "^5.8.3", + "@electron/notarize": "^1.2.3", + "@material-ui/icons": "^4.11.2", + "@tippyjs/react": "^4.2.5", + "animejs": "^2.2.0", + "archiver": "^3.1.1", + "autoprefixer": "10.2.5", + "axios": "^0.27.2", + "babel-jest": "^26.6.3", + "babel-loader": "^8.2.2", + "babel-runtime": "6.26.0", + "case-sensitive-paths-webpack-plugin": "2.1.1", + "chalk": "1.1.3", + "change-case": "^3.0.1", + "classnames": "^2.2.6", + "compare-versions": "^3.6.0", + "cross-env": "^5.2.0", + "css-loader": "^1.0.0", + "csv-parse": "^4.10.1", + "csvtojson": "^2.0.10", + "decompress": "^4.2.1", + "dmg-builder": "~23.6.0", + "dotenv": "4.0.0", + "electron": "^9.4.4", + "electron-builder": "^22.7.0", + "electron-devtools-installer": "^3.2.0", + "electron-log": "^4.2.2", + "emoji-dictionary": "^1.0.9", + "enzyme": "^3.11.0", + "enzyme-adapter-react-16": "^1.15.4", + "enzyme-to-json": "^3.6.1", + "eslint": "^7.0.0", + "eslint-config-airbnb": "^18.2.1", + "eslint-config-react-app": "^6.0.0", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-loader": "^4.0.2", + "eslint-plugin-import": "2.22.1", + "eslint-plugin-jsx-a11y": "6.4.1", + "eslint-plugin-react": "^7.11.1", + "faker": "^4.1.0", + "file-loader": "^1.1.11", + "framer-motion": "^5.5.6", + "fs-extra": "^8.1.0", + "fuse.js": "^3.6.1", + "history": "^4.7.2", + "html-webpack-plugin": "^4.3.0", + "icon-gen": "^1.0.5", + "jest": "^26.4.2", + "jest-date-mock": "^1.0.8", + "jszip": "^3.7.0", + "lodash": "^4.17.19", + "luxon": "^1.24.1", + "mini-css-extract-plugin": "^0.8.2", + "object-hash": "^1.3.0", + "path-to-regexp": "^2.4.0", + "postcss": "^8.2.8", + "postcss-loader": "^4.2.0", + "postcss-url": "^8.0.0", + "prop-types": "^15.6.2", + "react": "^16.13.1", + "react-dev-utils": "^11.0.4", + "react-dom": "^16.13.1", + "react-error-overlay": "^5.0.4", + "react-flip-toolkit": "^6.5.4", + "react-grid-layout": "^0.16.6", + "react-redux": "^7.2.1", + "react-router-dom": "~5.2.0", + "react-router-hash-link": "^2.4.1", + "react-scripts": "^4.0.3", + "react-select": "^3.1.0", + "react-sortable-hoc": "^2.0.0", + "react-table": "^7.7.0", + "react-test-renderer": "^16.13.1", + "react-transform-hmr": "^1.0.4", + "react-transition-group": "^4.4.1", + "react-virtualized-auto-sizer": "^1.0.6", + "react-window": "^1.8.6", + "recompose": "^0.30.0", + "redux": "^4.0.5", + "redux-form": "^8.3.6", + "redux-logger": "^2.7.4", + "redux-mock-store": "^1.5.4", + "redux-persist": "^6.0.0", + "redux-thunk": "^2.3.0", + "reselect": "^3.0.0", + "rxjs": "^6.6.6", + "sass": "^1.56.1", + "sass-lint": "^1.13.0", + "sass-loader": "^10.4.1", + "scrollparent": "^2.0.1", + "style-loader": "^0.21.0", + "stylelint": "^15.10.3", + "stylelint-config-standard": "^34.0.0", + "stylelint-config-standard-scss": "^10.0.0", + "svg2png": "^3.0.1", + "thread-loader": "^1.2.0", + "url-loader": "^1.1.1", + "uuid": "^3.4.0", + "webpack": "^4.43.0", + "webpack-dev-server": "^3.11.0", + "webpack-manifest-plugin": "^2.0.4" + }, + "homepage": ".", + "main": "www/electron-starter.js", + "browserslist": [ + "electron 9.4.4" + ], + "build": { + "extends": null, + "appId": "NetworkCanvasArchitect", + "afterSign": "./build-resources/scripts/afterSignHook.js", + "directories": { + "buildResources": "build-resources", + "output": "release-builds" }, - "scripts": { - "postinstall": "cd network-canvas && npm install && cd ../", - "pack": "electron-builder --dir", - "update-submodules": "git submodule update --init --recursive", - "start": "cross-env BUILD_TARGET=web node scripts/start.js", - "start:electron": "npm run start:architect:electron", - "start:architect:electron": "node scripts/start.js", - "start:network-canvas:electron": "cd network-canvas && npm run start:electron", - "preelectron:dev": "node scripts/build-electron-dev.js", - "dev:electron": "cross-env NODE_ENV=development WEBPACK_NC_DEV_SERVER_PORT=3000 WEBPACK_DEV_SERVER_PORT=3003 electron electron-dev/", - "build": "npm run build:architect && npm run build:network-canvas", - "build:architect": "node scripts/build.js", - "build:network-canvas": "cd network-canvas && npm install && npm run build:electron && cd ../ && node scripts/move-network-canvas-build.js", - "lint": "npm run lint:js && npm run sass-lint", - "lint:js": "eslint src", - "sass-lint": "sass-lint -vc .sass-lint.yml", - "test": "cross-env TEST=true node scripts/test.js --env=jsdom", - "test:update-snapshots": "node scripts/test.js --env=jsdom --updateSnapshot", - "build-docs": "jsdoc src -r -d docs-build -c ./jsdoc.conf.json --verbose", - "electron": "env NODE_ENV=build electron ./app", - "generate-icons": "node scripts/generate-app-icons.js", - "dist": "electron-builder", - "dist:mac": "npm run build && electron-builder -m --x64", - "dist:linux": "npm run build && electron-builder -l", - "dist:win": "npm run build && electron-builder -w", - "dist:all": "npm run build && electron-builder -mlw", - "bump": "node scripts/bump.js", - "preflight": "npm run lint:js && npm run lint:sass -- --max-warnings 0 && npm test -- --coverage" + "mac": { + "category": "public.app-category.education", + "hardenedRuntime": true, + "entitlements": "./build-resources/entitlements.mac.inherit.plist" }, - "repository": { - "type": "git" + "win": { + "target": "nsis", + "certificateSha1": "8F1243989C0B23B29B50E872282AAB00A4302CCD" }, - "devDependencies": { - "@babel/cli": "^7.12.1", - "@babel/core": "^7.12.3", - "@babel/eslint-parser": "^7.13.10", - "@babel/eslint-plugin": "^7.13.10", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/preset-react": "^7.12.1", - "@codaco/ui": "^5.8.3", - "@electron/notarize": "^1.2.3", - "@material-ui/icons": "^4.11.2", - "@tippyjs/react": "^4.2.5", - "animejs": "^2.2.0", - "archiver": "^3.1.1", - "autoprefixer": "10.2.5", - "axios": "^0.27.2", - "babel-jest": "^26.6.3", - "babel-loader": "^8.2.2", - "babel-runtime": "6.26.0", - "case-sensitive-paths-webpack-plugin": "2.1.1", - "chalk": "1.1.3", - "change-case": "^3.0.1", - "classnames": "^2.2.6", - "compare-versions": "^3.6.0", - "cross-env": "^5.2.0", - "css-loader": "^1.0.0", - "csv-parse": "^4.10.1", - "csvtojson": "^2.0.10", - "decompress": "^4.2.1", - "dmg-builder": "~23.6.0", - "dotenv": "4.0.0", - "electron": "^9.4.4", - "electron-builder": "^22.7.0", - "electron-devtools-installer": "^3.2.0", - "electron-log": "^4.2.2", - "emoji-dictionary": "^1.0.9", - "enzyme": "^3.11.0", - "enzyme-adapter-react-16": "^1.15.4", - "enzyme-to-json": "^3.6.1", - "eslint": "^7.0.0", - "eslint-config-airbnb": "^18.2.1", - "eslint-config-react-app": "^6.0.0", - "eslint-import-resolver-alias": "^1.1.2", - "eslint-loader": "^4.0.2", - "eslint-plugin-import": "2.22.1", - "eslint-plugin-jsx-a11y": "6.4.1", - "eslint-plugin-react": "^7.11.1", - "faker": "^4.1.0", - "file-loader": "^1.1.11", - "framer-motion": "^5.5.6", - "fs-extra": "^8.1.0", - "fuse.js": "^3.6.1", - "history": "^4.7.2", - "html-webpack-plugin": "^4.3.0", - "icon-gen": "^1.0.5", - "jest": "^26.4.2", - "jest-date-mock": "^1.0.8", - "jszip": "^3.7.0", - "lodash": "^4.17.19", - "luxon": "^1.24.1", - "mini-css-extract-plugin": "^0.8.2", - "object-hash": "^1.3.0", - "path-to-regexp": "^2.4.0", - "postcss": "^8.2.8", - "postcss-loader": "^4.2.0", - "postcss-url": "^8.0.0", - "prop-types": "^15.6.2", - "react": "^16.13.1", - "react-dev-utils": "^11.0.4", - "react-dom": "^16.13.1", - "react-draggable": "^2.2.3", - "react-error-overlay": "^5.0.4", - "react-flip-toolkit": "^6.5.4", - "react-grid-layout": "^0.16.6", - "react-redux": "^7.2.1", - "react-router-dom": "~5.2.0", - "react-router-hash-link": "^2.4.1", - "react-scripts": "^4.0.3", - "react-select": "^3.1.0", - "react-sortable-hoc": "^2.0.0", - "react-table": "^7.7.0", - "react-test-renderer": "^16.13.1", - "react-transform-hmr": "^1.0.4", - "react-transition-group": "^4.4.1", - "react-virtualized-auto-sizer": "^1.0.6", - "react-window": "^1.8.6", - "recompose": "^0.30.0", - "redux": "^4.0.5", - "redux-form": "^8.3.6", - "redux-logger": "^2.7.4", - "redux-mock-store": "^1.5.4", - "redux-persist": "^6.0.0", - "redux-thunk": "^2.3.0", - "reselect": "^3.0.0", - "rxjs": "^6.6.6", - "sass": "^1.56.1", - "sass-lint": "^1.13.0", - "sass-loader": "^10.4.1", - "scrollparent": "^2.0.1", - "style-loader": "^0.21.0", - "svg2png": "^3.0.1", - "thread-loader": "^1.2.0", - "url-loader": "^1.1.1", - "uuid": "^3.4.0", - "webpack": "^4.43.0", - "webpack-dev-server": "^3.11.0", - "webpack-manifest-plugin": "^2.0.4" - }, - "homepage": ".", - "main": "www/electron-starter.js", - "browserslist": [ - "electron 9.4.4" - ], - "build": { - "extends": null, - "appId": "NetworkCanvasArchitect", - "afterSign": "./build-resources/scripts/afterSignHook.js", - "directories": { - "buildResources": "build-resources", - "output": "release-builds" - }, - "mac": { - "category": "public.app-category.education", - "hardenedRuntime": true, - "entitlements": "./build-resources/entitlements.mac.inherit.plist" - }, - "win": { - "target": "nsis", - "certificateSha1": "8F1243989C0B23B29B50E872282AAB00A4302CCD" + "linux": { + "maintainer": "Joshua Melville ", + "target": [ + { + "target": "deb", + "arch": [ + "x64", + "arm64" + ] }, - "linux": { - "maintainer": "Joshua Melville ", - "target": [ - { - "target": "deb", - "arch": [ - "x64", - "arm64" - ] - }, - { - "target": "rpm", - "arch": [ - "x64", - "arm64" - ] - }, - { - "target": "AppImage", - "arch": [ - "x64", - "arm64" - ] - }, - { - "target": "tar.gz", - "arch": [ - "x64", - "arm64" - ] - } - ] + { + "target": "rpm", + "arch": [ + "x64", + "arm64" + ] }, - "fileAssociations": { - "ext": "netcanvas", - "description": "Network Canvas interview protocol", - "icon": "file", - "role": "Editor" + { + "target": "AppImage", + "arch": [ + "x64", + "arm64" + ] }, - "publish": [ - { - "provider": "github", - "owner": "complexdatacollective", - "repo": "architect" - } - ] - }, - "jest": { - "collectCoverageFrom": [ - "src/**/*.{js,jsx}", - "!src/protocol-validation/**", - "!network-canvas/**", - "!app/**", - "!electron-dev/**", - "!release-builds/**" - ], - "snapshotSerializers": [ - "enzyme-to-json/serializer" - ], - "setupFiles": [ - "jest-date-mock", - "/config/polyfills.js", - "/config/jest/polyfills.js", - "/config/jest/enzyme.js", - "/config/jest/automock.js" - ], - "testPathIgnorePatterns": [ - "[/\\\\](www|docs|node_modules|scripts)[/\\\\]", - "[/\\\\](network-canvas)[/\\\\]", - "[/\\\\](electron-dev)[/\\\\]", - "[/\\\\](app)[/\\\\]", - "[/\\\\](src/protocol-validation)[/\\\\]" - ], - "modulePathIgnorePatterns": [ - "[/\\\\](network-canvas)[/\\\\]", - "[/\\\\](electron-dev)[/\\\\]", - "[/\\\\](app)[/\\\\]", - "[/\\\\](src/protocol-validation)[/\\\\]", - "[/\\\\](release-builds)[/\\\\]" - ], - "testEnvironment": "node", - "testURL": "http://localhost", - "transform": { - "^.+\\.(js|jsx)$": "/node_modules/babel-jest", - "^.+\\.css$": "/config/jest/cssTransform.js", - "^(?!.*\\.(js|jsx|css|json)$)": "/config/jest/fileTransform.js" - }, - "transformIgnorePatterns": [ - "/node_modules/(?!@codaco/ui).+\\.(js|jsx)$" - ], - "testRegex": "(/__tests__/.*|(\\.|/))\\.test\\.[jt]sx?$", - "moduleNameMapper": { - "@app/(.*)$": "/src/$1", - "@components/(.*)$": "/src/components/$1", - "@selectors/(.*)$": "/src/selectors/$1", - "@hooks/(.*)$": "/src/hooks/$1", - "@modules/(.*)$": "/src/ducks/modules/$1", - "@utils/(.*)$": "/src/utils/$1", - "^react-native$": "react-native-web" + { + "target": "tar.gz", + "arch": [ + "x64", + "arm64" + ] } + ] + }, + "fileAssociations": { + "ext": "netcanvas", + "description": "Network Canvas interview protocol", + "icon": "file", + "role": "Editor" + }, + "publish": [ + { + "provider": "github", + "owner": "complexdatacollective", + "repo": "architect" + } + ] + }, + "jest": { + "collectCoverageFrom": [ + "src/**/*.{js,jsx}", + "!src/protocol-validation/**", + "!network-canvas/**", + "!app/**", + "!electron-dev/**", + "!release-builds/**" + ], + "snapshotSerializers": [ + "enzyme-to-json/serializer" + ], + "setupFiles": [ + "jest-date-mock", + "/config/polyfills.js", + "/config/jest/polyfills.js", + "/config/jest/enzyme.js", + "/config/jest/automock.js" + ], + "testPathIgnorePatterns": [ + "[/\\\\](www|docs|node_modules|scripts)[/\\\\]", + "[/\\\\](network-canvas)[/\\\\]", + "[/\\\\](electron-dev)[/\\\\]", + "[/\\\\](app)[/\\\\]", + "[/\\\\](src/protocol-validation)[/\\\\]" + ], + "modulePathIgnorePatterns": [ + "[/\\\\](network-canvas)[/\\\\]", + "[/\\\\](electron-dev)[/\\\\]", + "[/\\\\](app)[/\\\\]", + "[/\\\\](src/protocol-validation)[/\\\\]", + "[/\\\\](release-builds)[/\\\\]" + ], + "testEnvironment": "node", + "testURL": "http://localhost", + "transform": { + "^.+\\.(js|jsx)$": "/node_modules/babel-jest", + "^.+\\.css$": "/config/jest/cssTransform.js", + "^(?!.*\\.(js|jsx|css|json)$)": "/config/jest/fileTransform.js" + }, + "transformIgnorePatterns": [ + "/node_modules/(?!@codaco/ui).+\\.(js|jsx)$" + ], + "testRegex": "(/__tests__/.*|(\\.|/))\\.test\\.[jt]sx?$", + "moduleNameMapper": { + "@app/(.*)$": "/src/$1", + "@components/(.*)$": "/src/components/$1", + "@selectors/(.*)$": "/src/selectors/$1", + "@hooks/(.*)$": "/src/hooks/$1", + "@modules/(.*)$": "/src/ducks/modules/$1", + "@utils/(.*)$": "/src/utils/$1", + "^react-native$": "react-native-web" } + } } diff --git a/src/lib/ProtocolSummary/styles/_protocol-summary-asset-manifest.scss b/src/lib/ProtocolSummary/styles/_protocol-summary-asset-manifest.scss index 4cb39d6d0..89c293501 100644 --- a/src/lib/ProtocolSummary/styles/_protocol-summary-asset-manifest.scss +++ b/src/lib/ProtocolSummary/styles/_protocol-summary-asset-manifest.scss @@ -13,7 +13,6 @@ &-media { background: #808080; display: inline-block; - width: auto; font-size: 0; width: 50%; diff --git a/src/lib/ProtocolSummary/styles/_protocol-summary-contents.scss b/src/lib/ProtocolSummary/styles/_protocol-summary-contents.scss index 14e439def..b7fd8bd99 100644 --- a/src/lib/ProtocolSummary/styles/_protocol-summary-contents.scss +++ b/src/lib/ProtocolSummary/styles/_protocol-summary-contents.scss @@ -1,19 +1,28 @@ -.protocol-summary-contents { +@use '~@codaco/ui/src/styles/global/core/units'; +.protocol-summary-contents { .heading { @extend .small-heading; - margin: unit(2) 0; + + margin: units.unit(2) 0; } &__section { + li { + margin: units.unit(1) 0; + } + > ol { padding-inline-start: 0; + // Top level > li { list-style: none; + @extend .small-heading; + font-size: 14px !important; - margin: unit(2) 0; + margin: units.unit(2) 0; } } @@ -25,8 +34,6 @@ } } - li { - margin: unit(1) 0; - } + } } diff --git a/src/lib/ProtocolSummary/styles/_protocol-summary-entity-badge.scss b/src/lib/ProtocolSummary/styles/_protocol-summary-entity-badge.scss index 65ba8947f..4eafc07a1 100644 --- a/src/lib/ProtocolSummary/styles/_protocol-summary-entity-badge.scss +++ b/src/lib/ProtocolSummary/styles/_protocol-summary-entity-badge.scss @@ -30,6 +30,7 @@ $default-size: 4rem; .protocol-summary-entity-badge__icon { font-size: 2rem; margin-right: 0.5rem; + .icon[name='links'] { font-size: 2rem; } @@ -40,6 +41,7 @@ $default-size: 4rem; .protocol-summary-entity-badge__icon { font-size: 1rem; margin-right: 0.3rem; + .icon[name='links'] { font-size: 1rem; } diff --git a/src/lib/ProtocolSummary/styles/_protocol-summary-entity.scss b/src/lib/ProtocolSummary/styles/_protocol-summary-entity.scss index 2607135d7..8eb4934c6 100644 --- a/src/lib/ProtocolSummary/styles/_protocol-summary-entity.scss +++ b/src/lib/ProtocolSummary/styles/_protocol-summary-entity.scss @@ -12,7 +12,7 @@ // } // &__label { - // margin-left: unit(4); + // margin-left: units.unit(4); // } // } } diff --git a/src/lib/ProtocolSummary/styles/_protocol-summary-mini-table.scss b/src/lib/ProtocolSummary/styles/_protocol-summary-mini-table.scss index e7faa310d..98f9b0693 100644 --- a/src/lib/ProtocolSummary/styles/_protocol-summary-mini-table.scss +++ b/src/lib/ProtocolSummary/styles/_protocol-summary-mini-table.scss @@ -1,3 +1,6 @@ +/* stylelint-disable no-descending-specificity */ +@use '~@codaco/ui/src/styles/global/core/units'; + .small-heading { text-transform: uppercase; font-weight: 600; @@ -6,8 +9,9 @@ } .protocol-summary-mini-table { - --table-color: rgba(58, 106, 117, 0.05); + --table-color: rgb(58 106 117 / 5%); --alternate-row-color: var(--table-color); + border-radius: var(--border-radius); background: var(--table-color); overflow: hidden; @@ -18,6 +22,7 @@ & > tr { & > th { @extend .small-heading; + word-break: keep-all; } } @@ -26,7 +31,6 @@ & > tbody, thead { tr { & > td, & > th { - & > ul, > ol { padding: inherit; } @@ -35,10 +39,9 @@ border-right: 3px solid var(--color-white); } - padding: unit(1) unit(2); + padding: units.unit(1) units.unit(2); p { - &:first-child { margin-top: 0; } @@ -76,15 +79,16 @@ } & > td { - &:nth-child(2n) { background-color: var(--alternate-row-color); } + border-right: 0; background-color: transparent; &:first-child { @extend .small-heading; + text-align: right; border-right: 0; white-space: nowrap; diff --git a/src/lib/ProtocolSummary/styles/_protocol-summary-stage.scss b/src/lib/ProtocolSummary/styles/_protocol-summary-stage.scss index 2a2210493..edf43ff48 100644 --- a/src/lib/ProtocolSummary/styles/_protocol-summary-stage.scss +++ b/src/lib/ProtocolSummary/styles/_protocol-summary-stage.scss @@ -1,11 +1,11 @@ - +@use '~@codaco/ui/src/styles/global/core/units'; .protocol-summary-stage { page-break-before: always; &__wrapper { display: flex; - padding-bottom: unit(4); + padding-bottom: units.unit(4); align-items: center; } @@ -17,13 +17,13 @@ &__preview { flex: 0 0 5cm; - display: flex; align-items: center; position: relative; display: flex; .stage-image { flex: 1 1; + img { width: 100%; border-radius: var(--border-radius); @@ -32,17 +32,19 @@ } &__summary { - margin-right: unit(2); + margin-right: units.unit(2); flex: 1; .stage-label { - --size: #{unit(8)}; + --size: #{units.unit(8)}; + font-size: 24px; font-weight: bold; display: flex; align-items: center; - &:before { - margin-right: unit(2); + + &::before { + margin-right: units.unit(2); display: flex; flex: 0 0 var(--size); width: var(--size); @@ -53,7 +55,7 @@ background: var(--color-cyber-grape); content: attr(data-number); color: white; - font-family: 'Quicksand'; + font-family: var(--heading-font-family); } } } @@ -63,18 +65,17 @@ &__panels-content { > ol { margin: 0; - padding: 0 0 0 unit(2); - padding-inline-start: unit(4); + padding: 0 0 0 units.unit(2); + padding-inline-start: units.unit(4); > li { - margin: unit(2) 0; - padding-left: unit(2); + margin: units.unit(2) 0; + padding-left: units.unit(2); } } } &__prompts { - &-item { page-break-inside: avoid; } @@ -88,6 +89,14 @@ page-break-inside: avoid; } + &__interview-script { + break-inside: avoid; + + &-content { + min-height: 25rem; + } + } + // Sections! &__heading, &__heading-section, @@ -110,11 +119,4 @@ @extend .section; } } - - &__interview-script { - break-inside: avoid; - &-content { - min-height: 25rem; - } - } } diff --git a/src/lib/ProtocolSummary/styles/_protocol-summary-variables.scss b/src/lib/ProtocolSummary/styles/_protocol-summary-variables.scss index 3aba295d8..b7c698617 100644 --- a/src/lib/ProtocolSummary/styles/_protocol-summary-variables.scss +++ b/src/lib/ProtocolSummary/styles/_protocol-summary-variables.scss @@ -1,3 +1,4 @@ +/* stylelint-disable no-descending-specificity */ .protocol-summary-variables { &__data { width: 100%; @@ -15,9 +16,6 @@ & > th { padding: .75rem; vertical-align: top; - } - - & > th { padding-right: 1rem; background: var(--color-platinum); } @@ -25,11 +23,11 @@ } & > tbody { - & > tr { & > td { padding: .75rem; vertical-align: top; + border-top: var(--color-platinum--dark) 1px solid; // Variable name column can contain long and hard to break strings &:first-of-type { @@ -38,10 +36,6 @@ } } - - & > td { - border-top: var(--color-platinum--dark) 1px solid; - } } } } diff --git a/src/lib/ProtocolSummary/styles/_protocol-summary.scss b/src/lib/ProtocolSummary/styles/_protocol-summary.scss index 1848690de..c723f744a 100644 --- a/src/lib/ProtocolSummary/styles/_protocol-summary.scss +++ b/src/lib/ProtocolSummary/styles/_protocol-summary.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + @page { margin: 2cm; } @@ -8,7 +10,6 @@ --page-size-width: 21cm; font-size: var(--base-font-size) !important; - overflow: visible; height: auto; width: auto; @@ -44,6 +45,7 @@ .protocol-summary-rules { .protocol-summary-rules__rule { --base-node-size: 5.6rem; + display: flex; align-items: center; width: 100%; @@ -51,7 +53,7 @@ } &__rule:not(:last-child) { - margin-bottom: unit(1); + margin-bottom: units.unit(1); } } @@ -59,26 +61,26 @@ .section { border: 2px solid var(--color-platinum); - padding: unit(1) unit(2); + padding: units.unit(1) units.unit(2); border-radius: var(--border-radius); position: relative; - padding-top: unit(4); + padding-top: units.unit(4); h2.section-heading { @extend .small-heading; + position: absolute; top: 0; left: 0; width: 100%; margin: 0; - padding: unit(1) unit(2); + padding: units.unit(1) units.unit(2); background: var(--color-platinum); } } /* This will show only on screen (always) */ .page-break-marker { - @media print { page-break-before: always; } @@ -94,8 +96,9 @@ margin: 1cm auto; border: 1px var(--color-platinum--dark) solid; border-radius: 5px; + // box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - box-shadow: 0 4px 5px rgba(75, 75, 75, 0.2); + box-shadow: 0 4px 5px rgb(75 75 75 / 20%); } } @@ -110,13 +113,13 @@ color: #000; } - [data-print=no] { + [data-print="no"] { @media print { display: none; } } - [data-print=only] { + [data-print="only"] { @media screen { display: none; } @@ -146,7 +149,7 @@ &__print-buttons { > :first-child { - margin-right: unit(2); + margin-right: units.unit(2); } } diff --git a/src/lib/ProtocolSummary/styles/all.scss b/src/lib/ProtocolSummary/styles/all.scss index e71eb418b..68f1e24a0 100644 --- a/src/lib/ProtocolSummary/styles/all.scss +++ b/src/lib/ProtocolSummary/styles/all.scss @@ -1,9 +1,9 @@ -@import './_protocol-summary'; -@import './_protocol-summary-asset-manifest'; -@import './_protocol-summary-cover'; -@import './_protocol-summary-contents'; -@import './_protocol-summary-stage'; -@import './_protocol-summary-entity'; -@import './_protocol-summary-entity-badge'; -@import './_protocol-summary-mini-table'; -@import './_protocol-summary-variables'; +@import './protocol-summary'; +@import './protocol-summary-asset-manifest'; +@import './protocol-summary-cover'; +@import './protocol-summary-contents'; +@import './protocol-summary-stage'; +@import './protocol-summary-entity'; +@import './protocol-summary-entity-badge'; +@import './protocol-summary-mini-table'; +@import './protocol-summary-variables'; diff --git a/src/styles/_app.scss b/src/styles/_app.scss index ec41608eb..74be8d3a0 100644 --- a/src/styles/_app.scss +++ b/src/styles/_app.scss @@ -1,5 +1,8 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + $component-name: app; + .electron-titlebar { display: block; visibility: visible; @@ -9,7 +12,7 @@ $component-name: app; top: 0; left: 0; right: 0; - height: unit(2.5); + height: units.unit(2.5); width: 100%; -webkit-app-region: drag; } diff --git a/src/styles/_grid.scss b/src/styles/_grid.scss index 9eabb5be8..216e6684a 100644 --- a/src/styles/_grid.scss +++ b/src/styles/_grid.scss @@ -4,7 +4,7 @@ // Default Settings // ============================================================================= -@use "sass:math"; +@use 'sass:math'; $grid-container-max-width: 990px !default; $grid-num-columns: 12 !default; @@ -18,6 +18,7 @@ $grid-num-columns: 12 !default; flex-flow: row wrap; width: $width; height: auto; + @if $contain { max-width: $max-width; margin-left: auto; @@ -35,8 +36,10 @@ $grid-num-columns: 12 !default; // take up the space its content dictates @mixin grid-item-base { display: flex; + // set flex to wrap so that we can nest containers in items flex-wrap: wrap; + // min width makes it so that the item is forced to take the // percentage we're specifying min-width: 0; @@ -44,25 +47,28 @@ $grid-num-columns: 12 !default; @mixin grid-item($columns: $grid-num-columns, $total-columns: $grid-num-columns, $shrink: null) { @include grid-item-base; + @if $shrink { flex: 0 auto; } @else { - @include grid-item-percent(percentage(math.div($columns, $total-columns))); + @include grid-item-percent(math.percentage(math.div($columns, $total-columns))); } } @mixin grid-item-margin($offset: 0, $columns: $grid-num-columns, $direction: left) { - margin-#{$direction}: percentage(math.div($offset, $columns)); + margin-#{$direction}: math.percentage(math.div($offset, $columns)); } @mixin grid-item-fluid { @include grid-item-base; + flex: 1; } @mixin grid-item-percent($pct: 100%) { flex: 0 0 $pct; - @if is-number($pct) and unit($pct) == '%' { + + @if is-number($pct) and units.unit($pct) == '%' { max-width: $pct; } } @@ -82,22 +88,26 @@ $grid-num-columns: 12 !default; $flex-align-x: (center: center, left: flex-start, right: flex-end, bookend: space-between, spaced: space-around) !default; $flex-align-y: (middle: center, top: flex-start, bottom: flex-end, stretch: stretch, baseline: baseline) !default; $flex-align-self: (auto: auto, stretch: stretch, center: center, middle: center, top: flex-start, start: flex-start, bottom: flex-end, end: flex-end, baseline: baseline) !default; + @mixin flex-align($x: null, $y: null, $self: null, $flow: 'row') { @if $x { @if map-has-key($flex-align-x, $x) { - $x: map-get($flex-align-x, $x); + $x: map.get($flex-align-x, $x); } } + @if $y { @if map-has-key($flex-align-y, $y) { - $y: map-get($flex-align-y, $y); + $y: map.get($flex-align-y, $y); } } + @if $self { @if map-has-key($flex-align-self, $self) { - $self: map-get($flex-align-self, $self); + $self: map.get($flex-align-self, $self); } } + @if $flow == 'column' { justify-content: $y; align-items: $x; @@ -107,6 +117,7 @@ $flex-align-self: (auto: auto, stretch: stretch, center: center, middle: center, align-items: $y; align-content: $y; } + align-self: $self; } @@ -123,9 +134,11 @@ $flex-align-stack: ( @mixin flex-align-stack($align-name: null) { $align-prop: null; + @if map-has-key($flex-align-stack, $align-name) { - $align-prop: map-get($flex-align-stack, $align-name); + $align-prop: map.get($flex-align-stack, $align-name); } + @if $align-name == 'left' { align-items: $align-prop; } @else if $align-name == 'right' { @@ -148,9 +161,8 @@ $flex-align-stack: ( } // Allows for separate class names, uses the previously defined alignment maps to create the alignments -@mixin grid-classes ($grid-class: 'grid', $section-class: 'section', $container-class: 'container', $block-class: 'block', $item-class: 'item', $columns: $grid-num-columns, $container-max-width: $grid-container-max-width, $container-width: percentage(1), $alignments: ('x', 'y', 'self')) { +@mixin grid-classes($grid-class: 'grid', $section-class: 'section', $container-class: 'container', $block-class: 'block', $item-class: 'item', $columns: $grid-num-columns, $container-max-width: $grid-container-max-width, $container-width: percentage(1), $alignments: ('x', 'y', 'self')) { .#{$grid-class} { - // Section: meant to take up the full height of something, // 100% width &__#{$section-class} { @@ -176,9 +188,12 @@ $flex-align-stack: ( &__#{$item-class} { @include grid-item; - } @each $breakpoint-name, $min-width in $-breakpoint-map { + } + + @each $breakpoint-name, $min-width in $-breakpoint-map { @include breakpoint($breakpoint-name) { $breakpoint-class: '--#{$breakpoint-name}'; + @if _breakpoint-is-zero($breakpoint-name) { $breakpoint-class: null; } @@ -187,12 +202,14 @@ $flex-align-stack: ( &#{$breakpoint-class}--vcjc { @include vcjc; } + // x align, assuming row flow @each $align-name, $alignment in $flex-align-x { &#{$breakpoint-class}--x-#{$align-name} { @include flex-align($x: $align-name); } } + // y align, self align @each $align-name, $alignment in $flex-align-y { &#{$breakpoint-class}--y-#{$align-name} { @@ -207,9 +224,9 @@ $flex-align-stack: ( // grid sizes for column &__#{$item-class}#{$breakpoint-class} { @for $i from 1 through $columns { - $percent: percentage(math.div($i, $columns)); - $reduced: _reduceFraction($i, $columns); - $fraction: #{nth($reduced, 1)}-#{nth($reduced, 2)}; + $percent: math.percentage(math.div($i, $columns)); + $reduced: _reducefraction($i, $columns); + $fraction: #{list.nth($reduced, 1)}-#{nth($reduced, 2)}; &--#{$fraction}, &--#{$i}-#{$columns} { @@ -238,6 +255,7 @@ $flex-align-stack: ( &--fluid { @include grid-item-fluid; } + @for $i from 1 through $columns { // Column source ordering &--order-#{$i} { @@ -248,6 +266,7 @@ $flex-align-stack: ( &__stack#{$breakpoint-class} { @include flex-stack; + @each $align-name, $alignment in $flex-align-stack { &--#{$align-name} { @include flex-align-stack($align-name: $align-name); diff --git a/src/styles/_hotfix.scss b/src/styles/_hotfix.scss index 980f62efe..dd5fbea79 100644 --- a/src/styles/_hotfix.scss +++ b/src/styles/_hotfix.scss @@ -1,7 +1,10 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + :root { --text: var(--color-charcoal); --input-label: var(--color-charcoal); - --input-placeholder: #{transparentize(rgb(0, 0, 0), .65)}; + /* stylelint-disable-next-line color-function-notation */ + --input-placeholder: rgba(0, 0, 0, 65%) } .node__label-text { @@ -31,7 +34,7 @@ a { .form-fields-textarea__error { max-height: initial; opacity: 1; - margin: unit(1) 0 0; + margin: units.unit(1) 0 0; color: var(--error); } @@ -48,7 +51,7 @@ a { } .form-field { - padding: 1em unit(2); + padding: 1em units.unit(2); &.boolean { background: transparent; @@ -65,7 +68,7 @@ a { .migration-panel { background: var(--color-navy-taupe); - padding: 0 unit(2); + padding: 0 units.unit(2); border-radius: .75rem; overflow-y: auto; max-height: 18rem; @@ -126,6 +129,7 @@ a { // Tooltip system overrides .tippy-box { --tip-color: var(--color-rich-black); + background: var(--tip-color); color: var(--text-light); border-radius: var(--border-radius); @@ -139,7 +143,7 @@ a { } .tippy-content { - padding: unit(1) unit(1.5); + padding: units.unit(1) units.unit(1.5); } // theme for validation error @@ -167,7 +171,7 @@ a { button { &:not(:last-child) { - margin-right: unit(1); + margin-right: units.unit(1); } } } @@ -178,8 +182,8 @@ a { } .form-field-label { - margin-top: unit(4); - margin-bottom: unit(2); + margin-top: units.unit(4); + margin-bottom: units.unit(2); font-weight: 600; p { diff --git a/src/styles/_mixins.scss b/src/styles/_mixins.scss index e8d77e84b..5019790c6 100644 --- a/src/styles/_mixins.scss +++ b/src/styles/_mixins.scss @@ -12,6 +12,7 @@ background-size: 100rem; clip-path: url('#wave'); background-blend-mode: multiply; + // filter: hue-rotate(190deg); } } diff --git a/src/styles/_reset.scss b/src/styles/_reset.scss index d0b45ae93..d58f4f3a0 100644 --- a/src/styles/_reset.scss +++ b/src/styles/_reset.scss @@ -5,7 +5,7 @@ $base-font-size: 14px; :root { --base-font-size: #{$base-font-size}; - --body-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + --body-font-family: -apple-system, blinkmacsystemfont, 'Segoe UI', helvetica, arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; } * { @@ -48,6 +48,7 @@ body { #preload { // TODO: JS remove/display none animation-duration: var(--animation-duration-standard); + // animation-name: fadeout; animation-fill-mode: forwards; } diff --git a/src/styles/_theme.scss b/src/styles/_theme.scss index 11fc216cc..fea4806d6 100644 --- a/src/styles/_theme.scss +++ b/src/styles/_theme.scss @@ -1,10 +1,10 @@ // sass-lint:disable no-color-literals :root { - --color-shadow: rgba(0, 0, 0, .15); - --modal-overlay: rgba(0, 0, 0, .5); - --color-mid-grey: rgb(128, 128, 128); - --text-light-muted: rgba(255, 255, 255, .5); + --color-shadow: rgb(0 0 0 / 15%); + --modal-overlay: rgb(0 0 0 / 50%); + --color-mid-grey: rgb(128 128 128); + --text-light-muted: rgb(255 255 255 / 50%); // UI overwrites --background: var(--color-platinum); @@ -22,18 +22,17 @@ --background-light: var(--color-white); --background-alt: var(--color-platinum); --architect-wave: var(--color-sea-green); - --architect-control-bar-shadow: rgba(20, 0, 0, .3); + --architect-control-bar-shadow: rgb(20 0 0 / 30%); --architect-titlebar: var(--color-sea-green--dark); // Errors --architect-error-background: var(--color-cyber-grape); --architect-error-code-background: var(--color-navy-taupe); --architect-warning: var(--color-tomato); - --architect-media-background: var(--color-rich-black); // App-wide - --architect-row-background: rgba(242, 246, 247, .5); + --architect-row-background: rgb(242 246 247 / 50%); --architect-background: var(--color-white); --architect-text: var(--color-charcoal); --architect-shadow: var(--color-shadow); @@ -70,16 +69,13 @@ // TODO: review below --architect-edit-button-background: var(--primary); --architect-edit-button-fill: var(--color-white); - --architect-ui-button: var(--color-sea-green); --architect-ui-button-text: var(--color-white); --architect-ui-radio-border: var(--color-cyber-grape); --architect-ui-radio-dot: var(--color-sea-green); --architect-button-background--dark: var(--color-navy-taupe); --architect-button-background--dark--hover: var(--color-cyber-grape); - --architect-drawer-background: var(--color-platinum); - --architect-panel-background: var(--color-platinum); --architect-panel-shadow: var(--color-shadow); --architect-panel-text: var(--color-charcoal); @@ -90,8 +86,7 @@ --architect-intent--inactive: var(--color-charcoal); --architect-intent: var(--color-mustard); --architect-intent-border: var(--color-mustard--dark); - - --architect-timeline-highlight: rgba(216, 216, 216, .2); + --architect-timeline-highlight: rgb(216 216 216 / 20%); --architect-timeline-line: var(--color-neon-coral); --architect-timeline-screen: var(--color-navy-taupe); @@ -104,7 +99,6 @@ --architect-variant--2: var(--color-mustard--dark); --architect-variant--3: var(--color-sea-green); --architect-variant--4: var(--color-sea-green--dark); - --architect-asset-background: var(--color-charcoal); .form-field-slider { diff --git a/src/styles/_ui.scss b/src/styles/_ui.scss index c540acd30..9acb4bbac 100644 --- a/src/styles/_ui.scss +++ b/src/styles/_ui.scss @@ -1,10 +1,5 @@ -// Destined for network canvas UI @use "sass:math"; -@function unit($units: 1) { - @return .6rem * $units; -} - @function px($px: 1) { @return math.div($px * 1px, $base-font-size) * 1rem; } diff --git a/src/styles/components/_assets.scss b/src/styles/components/_assets.scss index 75165ccc0..91952721c 100644 --- a/src/styles/components/_assets.scss +++ b/src/styles/components/_assets.scss @@ -1,11 +1,13 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .assets { background-color: var(--background-dark); color: var(--text-light); - border-radius: unit(2); + border-radius: units.unit(2); display: flex; justify-content: center; align-items: center; - padding: unit(2); + padding: units.unit(2); width: 100%; height: 100%; transition-property: background-color; @@ -17,7 +19,7 @@ &.assets-video { &__icon { flex: 0 0 25px; - margin: 0 unit(2) 0 0; + margin: 0 units.unit(2) 0 0; } &__label { diff --git a/src/styles/components/_assign-attributes.scss b/src/styles/components/_assign-attributes.scss index a97047807..c44ea2980 100644 --- a/src/styles/components/_assign-attributes.scss +++ b/src/styles/components/_assign-attributes.scss @@ -1,13 +1,15 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + $field-color: #c7ced0; .assign-attributes { &__empty { - margin-top: unit(2); + margin-top: units.unit(2); font-style: italic; } &__add { - margin-top: unit(2); + margin-top: units.unit(2); button { margin: 0; @@ -19,8 +21,8 @@ $field-color: #c7ced0; --section-background-color: var(--architect-panel-grey--dark); display: flex; - margin: unit(2) 0; - padding: unit(2); + margin: units.unit(2) 0; + padding: units.unit(2); border-radius: var(--border-radius); background: var(--section-background-color); @@ -41,7 +43,7 @@ $field-color: #c7ced0; .form-fields-variable-picker { margin-top: 0; - margin-bottom: unit(2); + margin-bottom: units.unit(2); fieldset { border-color: $field-color; @@ -52,24 +54,25 @@ $field-color: #c7ced0; &__value { flex: 1 0 auto; border: 2px dashed $field-color; - padding: unit(2); + padding: units.unit(2); border-radius: var(--border-radius); legend { @extend .small-heading; // sass-lint:disable-line placeholder-in-extend - padding: 0 unit(2); + + padding: 0 units.unit(2); } } &__delete { flex: 0 0 5rem; - padding-left: unit(2); + padding-left: units.unit(2); display: flex; align-items: center; justify-content: center; .icon { - height: unit(2); + height: units.unit(2); cursor: pointer; .cls-1 { diff --git a/src/styles/components/_attributes-table.scss b/src/styles/components/_attributes-table.scss index 3bceef086..0039827eb 100644 --- a/src/styles/components/_attributes-table.scss +++ b/src/styles/components/_attributes-table.scss @@ -1,3 +1,8 @@ +@import './attributes-table/attributes-table'; +@import './attributes-table/chooser'; +@import './attributes-table/editor'; +@import './attributes-table/preview'; +@import './attributes-table/variable'; // Tables :root { @@ -6,9 +11,3 @@ --architect-table-edit-background: var(--color-cyber-grape); --architect-table-chooser: var(--color-sea-green); } - -@import './attributes-table/attributes-table'; -@import './attributes-table/chooser'; -@import './attributes-table/editor'; -@import './attributes-table/preview'; -@import './attributes-table/variable'; diff --git a/src/styles/components/_badge.scss b/src/styles/components/_badge.scss index f52cf4656..3a6d8a386 100644 --- a/src/styles/components/_badge.scss +++ b/src/styles/components/_badge.scss @@ -1,9 +1,11 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + %badge { display: inline-block; background-color: var(--color-mid-grey); border-radius: .75rem; padding: .2rem .5rem; - margin: 0 unit(1); + margin: 0 units.unit(1); font-size: .7rem; color: var(--text-light); } @@ -13,6 +15,7 @@ strong { text-transform: capitalize; + // These properties are a hacky workaround for this: // https://stackoverflow.com/questions/49783681/text-transform-capitalize-css-not-working-correctly content: ''; diff --git a/src/styles/components/_boolean-option-configuration.scss b/src/styles/components/_boolean-option-configuration.scss index 4ae83889c..7143345cb 100644 --- a/src/styles/components/_boolean-option-configuration.scss +++ b/src/styles/components/_boolean-option-configuration.scss @@ -1,10 +1,12 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .boolean-option-configuration { display: grid; - column-gap: unit(2); + column-gap: units.unit(2); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); &__item { - padding: unit(3); + padding: units.unit(3); border-radius: var(--border-radius); background: var(--architect-panel-grey--dark); diff --git a/src/styles/components/_code-view.scss b/src/styles/components/_code-view.scss index dff8d31a3..fdf48810d 100644 --- a/src/styles/components/_code-view.scss +++ b/src/styles/components/_code-view.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .code-view { position: absolute; z-index: var(--z-fx); @@ -7,22 +9,22 @@ background: var(--settings); color: var(--text-light); font-weight: 600; - user-select: text !important; //sass-lint:disable-line no-important + user-select: text !important; // sass-lint:disable-line no-important > * { - user-select: text !important; //sass-lint:disable-line no-important + user-select: text !important; // sass-lint:disable-line no-important } pre { white-space: pre-wrap; > * { - user-select: text !important; //sass-lint:disable-line no-important + user-select: text !important; // sass-lint:disable-line no-important } } &__content { - padding: unit(4); + padding: units.unit(4); height: 65vh; width: 100%; overflow-y: scroll; @@ -31,7 +33,7 @@ } &__controls { - padding: unit(2) unit(4); + padding: units.unit(2) units.unit(4); background: var(--color-mustard--dark); cursor: pointer; } diff --git a/src/styles/components/_codebook.scss b/src/styles/components/_codebook.scss index a5a1ee3b3..c2db5a13e 100644 --- a/src/styles/components/_codebook.scss +++ b/src/styles/components/_codebook.scss @@ -1,7 +1,9 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .codebook { --variable-pill-width: 25rem; - margin: unit(4) unit(8); + margin: units.unit(4) units.unit(8); max-width: 80rem; &__notice { @@ -15,8 +17,8 @@ &__tag { display: inline-block; - border-radius: unit(1); - padding: unit(.5) unit(.75); + border-radius: units.unit(1); + padding: units.unit(.5) units.unit(.75); font-size: .9em; color: var(--color-white); background-color: var(--color-mustard--dark); @@ -28,16 +30,35 @@ } &__category { - margin-top: unit(4); + margin-top: units.unit(4); &-items { - border-top: unit(.25) solid var(--architect-divider); - margin-top: unit(2); + border-top: units.unit(.25) solid var(--architect-divider); + margin-top: units.unit(2); + } + } + + &-column { + vertical-align: middle; + + &--control { + white-space: nowrap; + text-align: left; + width: 0; + + // Ultimately this should probably live in codaco/ui Button as an option + button { + margin-left: units.unit(1); + + .button__content { + padding: 0; + margin-left: 0 !important; // sass-lint:disable-line no-important + } + } } } &__entity { - margin-top: unit(8); overflow: hidden; margin: 2.4rem auto; padding: 2.4rem; @@ -45,7 +66,7 @@ border-radius: var(--border-radius); &:first-child { - margin-top: unit(4); + margin-top: units.unit(4); } &-detail { @@ -55,20 +76,20 @@ &-icon { flex-grow: 0; - flex-basis: unit(8); + flex-basis: units.unit(8); .node { - font-size: unit(8); + font-size: units.unit(8); } } &-name { - padding-left: unit(4); + padding-left: units.unit(4); } &-meta { flex: 1; - padding-left: unit(4); + padding-left: units.unit(4); .link { margin-right: .75rem; @@ -81,19 +102,19 @@ button { &:not(:last-of-type) { - margin-right: unit(1); + margin-right: units.unit(1); } } } } &__variables { - margin-top: unit(2); + margin-top: units.unit(2); width: 100%; &-row { &--heading { - border-bottom: unit(.25) solid var(--architect-divider); + border-bottom: units.unit(.25) solid var(--architect-divider); } &--even { @@ -143,26 +164,6 @@ } } - &-column { - vertical-align: middle; - - &--control { - white-space: nowrap; - text-align: left; - width: 0; - - // Ultimately this should probably live in codaco/ui Button as an option - button { - margin-left: unit(1); - - .button__content { - padding: 0; - margin-left: 0 !important; // sass-lint:disable-line no-important - } - } - } - } - &--usage { max-width: 300px; } diff --git a/src/styles/components/_contextual-dialog.scss b/src/styles/components/_contextual-dialog.scss index a641e125a..c5a9d977e 100644 --- a/src/styles/components/_contextual-dialog.scss +++ b/src/styles/components/_contextual-dialog.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .contextual-dialog { position: absolute; top: 0; @@ -27,13 +29,13 @@ flex: 1; overflow-y: auto; overflow-x: hidden; - padding: unit(4); + padding: units.unit(4); } &__title { text-transform: uppercase; font-weight: 700; - margin-bottom: unit(2); + margin-bottom: units.unit(2); } &__content { @@ -44,7 +46,7 @@ display: flex; justify-content: flex-end; align-items: center; - padding-top: unit(2); + padding-top: units.unit(2); button { margin-left: 1rem; diff --git a/src/styles/components/_control-bar.scss b/src/styles/components/_control-bar.scss index ac1dd470f..4983ffd33 100644 --- a/src/styles/components/_control-bar.scss +++ b/src/styles/components/_control-bar.scss @@ -1,10 +1,12 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .control-bar { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; width: 100%; - padding: unit(2) unit(4); + padding: units.unit(2) units.unit(4); color: var(--text-light); background-color: var(--architect-control-bar-background); @@ -25,7 +27,7 @@ flex: 1 auto; >:not(:last-child) { - margin-right: unit(2); + margin-right: units.unit(2); } } @@ -36,7 +38,7 @@ flex: 1 auto; >:not(:last-child) { - margin-right: unit(2); + margin-right: units.unit(2); } } } diff --git a/src/styles/components/_editable-list.scss b/src/styles/components/_editable-list.scss index 6dda46fc3..978668035 100644 --- a/src/styles/components/_editable-list.scss +++ b/src/styles/components/_editable-list.scss @@ -1,6 +1,8 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .editable-list { &__items { - margin: 0 0 unit(2); + margin: 0 0 units.unit(2); } .button { diff --git a/src/styles/components/_error.scss b/src/styles/components/_error.scss index 60bc04743..80b3b988b 100644 --- a/src/styles/components/_error.scss +++ b/src/styles/components/_error.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .error { background-color: var(--modal-overlay); color: var(--text-light); @@ -11,7 +13,7 @@ justify-content: center; &__layout { - padding: unit(6); + padding: units.unit(6); width: 60rem; border-radius: var(--border-radius); background: var(--color-cyber-grape); @@ -20,9 +22,9 @@ &__stack { display: block; overflow: scroll; - margin-top: unit(2); - padding: unit(2); - max-height: unit(15); + margin-top: units.unit(2); + padding: units.unit(2); + max-height: units.unit(15); border-radius: var(--border-radius); background-color: var(--architect-error-code-background); } diff --git a/src/styles/components/_filter-group.scss b/src/styles/components/_filter-group.scss index 225389a6e..9987e4156 100644 --- a/src/styles/components/_filter-group.scss +++ b/src/styles/components/_filter-group.scss @@ -1,10 +1,11 @@ -$background-gradient-start: rgba(255, 255, 255, .1); -$background-gradient-end: rgba(255, 255, 255, .05); +$background-gradient-start: rgb(255 255 255 / 10%); +$background-gradient-end: rgb(255 255 255 / 5%); $background-gradient: linear-gradient($background-gradient-start, $background-gradient-end); .filter-group { @include flex-inline; @include flex-align(center, middle); + background-color: var(--architect-rules); color: var(--text-light); transition: background-color var(--animation-easing) var(--animation-duration-standard); @@ -14,6 +15,7 @@ $background-gradient: linear-gradient($background-gradient-start, $background-gr &__join { @include flex-inline; @include flex-align(center, middle); + flex: 0 0 50px; padding-right: 10px; } diff --git a/src/styles/components/_grid.scss b/src/styles/components/_grid.scss index f74d97dee..1c942b83c 100644 --- a/src/styles/components/_grid.scss +++ b/src/styles/components/_grid.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .grid { .layout { height: 450px; @@ -30,13 +32,13 @@ color: var(--text-light); border-radius: .5rem; max-height: 0; - margin-top: unit(2); + margin-top: units.unit(2); padding: .5rem; transition: opacity var(--animation-easing) var(--animation-duration-standard), max-height var(--animation-easing) var(--animation-duration-standard); .icon { - height: unit(2); + height: units.unit(2); } } @@ -81,8 +83,8 @@ padding: .5rem; .icon { - height: unit(2); - width: unit(2); + height: units.unit(2); + width: units.unit(2); } } diff --git a/src/styles/components/_home.scss b/src/styles/components/_home.scss index d21b6d86d..f7491852c 100644 --- a/src/styles/components/_home.scss +++ b/src/styles/components/_home.scss @@ -1,16 +1,19 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + $panel-color: var(--color-platinum); $panel-color-alt: var(--color-platinum--dark); $scrollbar-height: 1.25rem; -$scrollbar-padding: unit(2); +$scrollbar-padding: units.unit(2); @mixin scrollable($top-height: $scrollbar-padding) { $bottom-height: 2rem; - $opaque: rgba(0, 0, 0, 1); - // sass-lint:disable no-vendor-prefixes - -webkit-mask-image: linear-gradient(180deg, transparent, $opaque $top-height, $opaque calc(100% - #{$bottom-height}), transparent 100%); + $opaque: rgb(0 0 0 / 100%); + // sass-lint:disable no-vendor-prefixes + mask-image: linear-gradient(180deg, transparent, $opaque $top-height, $opaque calc(100% - #{$bottom-height}), transparent 100%); overflow-x: hidden; overflow-y: auto; + // sass-lint:disable no-vendor-prefixes -webkit-overflow-scrolling: touch; scroll-behavior: smooth; @@ -48,6 +51,7 @@ $font-sizes: ( .home { @include scrollable; + height: 100%; width: 100%; position: absolute; @@ -64,14 +68,13 @@ $font-sizes: ( .home-section { position: relative; border-radius: var(--border-radius); - box-shadow: 0 unit(1) .2rem 0 var(--architect-panel-shadow); + box-shadow: 0 units.unit(1) .2rem 0 var(--architect-panel-shadow); background: var(--color-platinum--dark); - margin: unit(4) auto; + margin: units.unit(4) auto; max-width: 70rem; overflow: hidden; display: flex; - flex-direction: column; - flex-wrap: wrap; + flex-flow: column wrap; } .button-stack { @@ -87,6 +90,23 @@ $font-sizes: ( } .launch-pad { + &__action-divider { + position: relative; + flex-basis: 5rem; + display: flex; + align-items: center; + justify-content: center; + + &::before { + content: ''; + position: absolute; + top: 1rem; + height: calc(100% - 2rem); + border-radius: .33rem; + width: .33rem; + background-color: rgb(0 0 0 / 5%); // sass-lint:disable-line no-color-literals + } + } .resume-group { background-image: url('../images/home/wave.svg'); @@ -101,10 +121,10 @@ $font-sizes: ( } } - &__resume { $rule-width: px(5); - width: calc(50% - (#{unit(4)} - #{$rule-width})); + + width: calc(50% - (#{units.unit(4)} - #{$rule-width})); position: relative; .protocol-card { @@ -112,7 +132,7 @@ $font-sizes: ( } &:not(:last-of-type) { - margin-bottom: unit(1); + margin-bottom: units.unit(1); } &:last-of-type { @@ -121,7 +141,7 @@ $font-sizes: ( .protocol-card { &:not(:last-of-type) { - margin-bottom: unit(2); + margin-bottom: units.unit(2); } } } @@ -138,23 +158,7 @@ $font-sizes: ( flex-grow: 1; } - &__action-divider { - position: relative; - flex-basis: 5rem; - display: flex; - align-items: center; - justify-content: center; - &::before { - content: ''; - position: absolute; - top: 1rem; - height: calc(100% - 2rem); - border-radius: .33rem; - width: .33rem; - background-color: rgba(0, 0, 0, .05); // sass-lint:disable-line no-color-literals - } - } } @@ -168,7 +172,7 @@ $font-sizes: ( .home-group { position: relative; - padding: 2rem unit(6); + padding: 2rem units.unit(6); background-repeat: no-repeat; h2 { @@ -180,14 +184,14 @@ $font-sizes: ( } &--icon { - padding-left: unit(20); - min-height: unit(17); + padding-left: units.unit(20); + min-height: units.unit(17); .home-group__icon { position: absolute; - top: unit(4); - left: unit(8); - width: unit(8); + top: units.unit(4); + left: units.unit(8); + width: units.unit(8); } } @@ -200,6 +204,7 @@ $font-sizes: ( .switch { $size: 2rem; + position: relative; display: inline-flex; align-items: center; @@ -237,6 +242,7 @@ $font-sizes: ( &__input { visibility: hidden; position: absolute; + // left: -20px; &:checked + .switch__button { @@ -264,13 +270,13 @@ $font-sizes: ( &--is-open { background: var(--color-slate-blue); - box-shadow: 0 unit(1) .2rem 0 var(--architect-panel-shadow); + box-shadow: 0 units.unit(1) .2rem 0 var(--architect-panel-shadow); color: var(--color-white); } &__header { padding: 0; - margin: unit(2) unit(6); + margin: units.unit(2) units.unit(6); display: flex; justify-content: center; align-items: center; @@ -288,7 +294,7 @@ $font-sizes: ( .logo { height: 8rem; - filter: drop-shadow(0 unit(1) unit(1) rgba(0, 0, 0, .35)); // sass-lint:disable-line no-color-literals + filter: drop-shadow(0 units.unit(1) units.unit(1) rgb(0 0 0 / 35%)); // sass-lint:disable-line no-color-literals } .version { @@ -316,7 +322,7 @@ $font-sizes: ( justify-content: center; z-index: 2; top: 0; - margin-left: unit(2); + margin-left: units.unit(2); h1 { font-size: type-scale(5); @@ -326,7 +332,7 @@ $font-sizes: ( p { font-family: var(--heading-font-family); - margin-top: unit(1); + margin-top: units.unit(1); font-size: type-scale(1); } } @@ -362,7 +368,7 @@ $font-sizes: ( display: flex; align-items: center; justify-content: space-between; - padding-top: unit(2); + padding-top: units.unit(2); .button--with-new { position: relative; @@ -376,15 +382,15 @@ $font-sizes: ( color: var(--color-rich-black); font-size: .6rem; font-weight: 900; - padding: unit(.5) unit(1); + padding: units.unit(.5) units.unit(1); border-radius: var(--border-radius); - margin-right: unit(1); + margin-right: units.unit(1); } } > .button { flex: 1; - margin-right: unit(2); + margin-right: units.unit(2); &:last-child { diff --git a/src/styles/components/_inline-edit-screen.scss b/src/styles/components/_inline-edit-screen.scss index b97327683..5c27de4a3 100644 --- a/src/styles/components/_inline-edit-screen.scss +++ b/src/styles/components/_inline-edit-screen.scss @@ -1,7 +1,9 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .inline-edit-screen { position: absolute; - top: unit(0); - left: unit(0); + top: units.unit(0); + left: units.unit(0); width: 100%; height: 100%; display: flex; @@ -14,11 +16,11 @@ background: var(--color-slate-blue--dark); color: var(--color-white); width: 100%; - padding: unit(1) unit(4); + padding: units.unit(1) units.unit(4); display: flex; justify-content: center; align-items: center; - box-shadow: 0 unit(1) .2rem 0 var(--architect-panel-shadow); + box-shadow: 0 units.unit(1) .2rem 0 var(--architect-panel-shadow); z-index: var(--z-panel); } @@ -26,7 +28,7 @@ background: var(--color-white); max-width: 80rem; min-width: 50rem; - max-height: calc(100% - #{unit(18)}); + max-height: calc(100% - #{units.unit(18)}); border-radius: var(--border-radius); box-shadow: 0 0 4rem 0 var(--modal-window-box-shadow); display: flex; @@ -39,19 +41,19 @@ flex: 1 1 auto; overflow-y: scroll; scroll-behavior: smooth; - padding: unit(2); + padding: units.unit(2); } &__controls { width: 100%; - padding: unit(2) unit(4); + padding: units.unit(2) units.unit(4); background: var(--architect-control-bar-background); display: flex; justify-content: flex-end; button { &:last-child { - margin-left: unit(2); + margin-left: units.unit(2); } } } diff --git a/src/styles/components/_issues.scss b/src/styles/components/_issues.scss index 302370689..b8e08fdd4 100644 --- a/src/styles/components/_issues.scss +++ b/src/styles/components/_issues.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .issues { position: sticky; bottom: 0; @@ -11,7 +13,7 @@ &__title-bar { background-color: var(--color-sea-serpent--dark); - padding: unit(1) unit(2); + padding: units.unit(1) units.unit(2); cursor: pointer; display: flex; flex-direction: row; @@ -21,22 +23,23 @@ &-icon { .icon { position: relative; - top: unit(.25); - height: unit(4); - width: unit(4); + top: units.unit(.25); + height: units.unit(4); + width: units.unit(4); } } &-text { @extend .small-heading; // sass-lint:disable-line placeholder-in-extend - margin: 0 unit(2); + + margin: 0 units.unit(2); flex: 1 0 auto; } &-toggle { .issues-toggle { - height: unit(2); - width: unit(2); + height: units.unit(2); + width: units.unit(2); } } } @@ -63,14 +66,14 @@ a { display: block; width: 100%; - padding: unit(2) unit(4); + padding: units.unit(2) units.unit(4); text-decoration: none; color: var(--text-light); &::before { counter-increment: issue; content: counter(issue) '.'; - margin-right: unit(2); + margin-right: units.unit(2); } } diff --git a/src/styles/components/_network.scss b/src/styles/components/_network.scss index 1301ffff9..f26fe4a40 100644 --- a/src/styles/components/_network.scss +++ b/src/styles/components/_network.scss @@ -1,19 +1,23 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .network { - --table-color: rgba(58, 106, 117, .05); // sass-lint:disable-line no-color-literals + --table-color: rgb(58 106 117 / 5%); // sass-lint:disable-line no-color-literals --alternate-row-color: var(--table-color); + border-radius: var(--border-radius); background: var(--table-color); th { @extend .small-heading; // sass-lint:disable-line placeholder-in-extend + word-break: keep-all; white-space: nowrap; - padding: unit(1) unit(2); - line-height: unit(4); + padding: units.unit(1) units.unit(2); + line-height: units.unit(4); svg { - height: unit(4); - width: unit(4); + height: units.unit(4); + width: units.unit(4); position: relative; top: -.1rem; vertical-align: middle; @@ -26,7 +30,7 @@ } td { - padding: unit(2); + padding: units.unit(2); &:not(:last-child) { border-right: 3px solid var(--color-white); diff --git a/src/styles/components/_new-stage-screen.scss b/src/styles/components/_new-stage-screen.scss index 085bb839b..d7236c27d 100644 --- a/src/styles/components/_new-stage-screen.scss +++ b/src/styles/components/_new-stage-screen.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .screen { &.new-stage { height: 100%; @@ -16,7 +18,7 @@ &__filter { .form-field-container { - margin: unit(1) 0; + margin: units.unit(1) 0; .form-field-text__input { margin-bottom: 0; @@ -33,7 +35,7 @@ flex: 0 0; display: flex; align-items: center; - margin-right: unit(1); + margin-right: units.unit(1); } &__tags { @@ -52,7 +54,7 @@ &__interfaces { display: flex; flex-direction: column; - margin: unit(2) 0; + margin: units.unit(2) 0; &--empty { position: absolute; @@ -71,7 +73,7 @@ &__interface { flex: 1 0 100%; cursor: pointer; - padding: unit(2) unit(8); + padding: units.unit(2) units.unit(8); border-bottom: 2px solid var(--architect-divider); &-content { @@ -87,7 +89,7 @@ &-image { flex: 0 0 15rem; - margin-right: unit(4); + margin-right: units.unit(4); } &-preview { @@ -101,7 +103,7 @@ } &-description { - margin: 0 0 unit(1); + margin: 0 0 units.unit(1); } } } diff --git a/src/styles/components/_options.scss b/src/styles/components/_options.scss index 067f57d40..1213c68d9 100644 --- a/src/styles/components/_options.scss +++ b/src/styles/components/_options.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + $component-name: 'options'; .#{$component-name} { @@ -35,11 +37,11 @@ $component-name: 'options'; } &-value { - margin: unit(2) 0; + margin: units.unit(2) 0; flex: 1; &:last-of-type { - margin-left: unit(2); + margin-left: units.unit(2); } } @@ -51,7 +53,7 @@ $component-name: 'options'; &-delete, &-handle { cursor: pointer; - background-color: transparent; //var(--form-control); + background-color: transparent; width: 3rem; display: flex; justify-content: center; @@ -59,8 +61,8 @@ $component-name: 'options'; color: var(--architect-sortable-text); .icon { - width: unit(2); - height: unit(2); + width: units.unit(2); + height: units.unit(2); .cls-1, .cls-2 { @@ -81,7 +83,7 @@ $component-name: 'options'; &--has-error { .form-field-error { margin: 1rem 0; - border-radius: unit(1); + border-radius: units.unit(1); } .#{$component-name}__option { diff --git a/src/styles/components/_overview.scss b/src/styles/components/_overview.scss index 53a1e2c40..a1add399e 100644 --- a/src/styles/components/_overview.scss +++ b/src/styles/components/_overview.scss @@ -1,8 +1,4 @@ -.app--macos { - .overview-summary { - padding-top: unit(2.5); - } -} +@use '~@codaco/ui/src/styles/global/core/units'; .overview-summary { position: fixed; @@ -10,10 +6,10 @@ display: flex; justify-content: center; align-items: center; - padding: unit(1) unit(4); + padding: units.unit(1) units.unit(4); width: 100%; background-color: var(--color-slate-blue--dark); - box-shadow: 0 unit(1) .2rem 0 var(--architect-panel-shadow); + box-shadow: 0 units.unit(1) .2rem 0 var(--architect-panel-shadow); z-index: var(--z-panel); &__header { @@ -28,26 +24,32 @@ &__button { &:not(:last-child) { - margin-right: unit(2); + margin-right: units.unit(2); } } } } +.app--macos { + .overview-summary { + padding-top: units.unit(2.5); + } +} + .overview { margin: 0 auto; - margin-top: unit(4); + margin-top: units.unit(4); width: 70rem; position: relative; background: var(--color-white); border-radius: var(--border-radius); overflow: hidden; - box-shadow: 0 unit(1) .2rem 0 var(--architect-panel-shadow); + box-shadow: 0 units.unit(1) .2rem 0 var(--architect-panel-shadow); display: flex; flex-direction: column; &__panel { - padding: unit(2) unit(6); + padding: units.unit(2) units.unit(6); .overview-description { textarea { @@ -70,13 +72,13 @@ align-items: center; justify-content: space-between; flex: 0 0 auto; - padding: unit(2) unit(6); + padding: units.unit(2) units.unit(6); .action-buttons { display: flex; :not(:last-child) { - margin-right: unit(2); + margin-right: units.unit(2); } } diff --git a/src/styles/components/_panel.scss b/src/styles/components/_panel.scss index a2bd1d71c..e38d8938a 100644 --- a/src/styles/components/_panel.scss +++ b/src/styles/components/_panel.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .panel { background-color: var(--architect-panel-background); color: var(--architect-panel-text); @@ -6,7 +8,7 @@ min-height: 40vh; padding: 20px; border-radius: 10px; - box-shadow: unit(1) unit(1) 0 0 var(--architect-panel-shadow); + box-shadow: units.unit(1) units.unit(1) 0 0 var(--architect-panel-shadow); &__title { text-align: center; @@ -14,15 +16,15 @@ &__groups { columns: 2; - column-gap: unit(2); + column-gap: units.unit(2); break-inside: avoid-column; } &__group { - margin: 0 0 unit(2); + margin: 0 0 units.unit(2); border: 1px solid var(--architect-panel-divider); - padding: unit(2); - border-radius: unit(1); + padding: units.unit(2); + border-radius: units.unit(1); min-height: 200px; } diff --git a/src/styles/components/_protocol-stack.scss b/src/styles/components/_protocol-stack.scss index a2d268832..9e21db543 100644 --- a/src/styles/components/_protocol-stack.scss +++ b/src/styles/components/_protocol-stack.scss @@ -14,8 +14,6 @@ $component-name: protocol-stack; } &__stack { - - &-cover { margin-bottom: 1rem; } diff --git a/src/styles/components/_recent-protocols.scss b/src/styles/components/_recent-protocols.scss index 428c19159..d9f0857e0 100644 --- a/src/styles/components/_recent-protocols.scss +++ b/src/styles/components/_recent-protocols.scss @@ -1,14 +1,16 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .recent-protocols { position: relative; margin: 0 auto; - border-radius: unit(1); + border-radius: units.unit(1); background-color: var(--light-background); display: flex; flex-wrap: wrap; align-items: center; filter: drop-shadow(10px 10px 0 var(--architect-control-bar-shadow)); z-index: 2; - padding: unit(3); + padding: units.unit(3); &__title { width: 100%; @@ -35,7 +37,7 @@ &__welcome { text-align: center; width: 85vmin; - padding: unit(4); + padding: units.unit(4); color: var(--text-light); margin: 0 auto; align-self: center; diff --git a/src/styles/components/_scene.scss b/src/styles/components/_scene.scss index 238f86d3e..cba2979f4 100644 --- a/src/styles/components/_scene.scss +++ b/src/styles/components/_scene.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .scene { width: 100%; height: 100%; @@ -20,8 +22,8 @@ &__brand { position: absolute; - top: unit(4); - right: unit(3); + top: units.unit(4); + right: units.unit(3); width: 12rem; z-index: var(--z-global-ui); transition-duration: var(--animation-duration-standard); @@ -32,10 +34,10 @@ &__home { z-index: var(--z-global-ui); position: fixed; - width: unit(12); - height: unit(12); - top: unit(8); - left: unit(4); + width: units.unit(12); + height: units.unit(12); + top: units.unit(8); + left: units.unit(4); cursor: pointer; transition-duration: var(--animation-duration-standard); transition-timing-function: var(--animation-easing); @@ -43,14 +45,14 @@ will-change: transform, opacity; opacity: 0; pointer-events: none; - transform: translateY(calc(-100% - #{unit(2)})); + transform: translateY(calc(-100% - #{units.unit(2)})); color: var(--text-light); background: var(--color-sea-green); display: flex; align-items: center; justify-content: center; border-radius: 50%; - padding: unit(3); + padding: units.unit(3); svg { height: 100%; @@ -60,6 +62,7 @@ &__background { @extend %wave; + position: absolute; top: 0; left: 0; diff --git a/src/styles/components/_screen.scss b/src/styles/components/_screen.scss index c77bb1fae..cda856e25 100644 --- a/src/styles/components/_screen.scss +++ b/src/styles/components/_screen.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .screen-wrapper { position: absolute; top: 0; @@ -13,13 +15,13 @@ position: relative; z-index: var(--z-modal); max-width: 100rem; - margin: unit(6); - max-height: calc(100% - #{unit(12)}); + margin: units.unit(6); + max-height: calc(100% - #{units.unit(12)}); overflow: hidden; display: flex; flex-direction: column; border-radius: var(--border-radius); - box-shadow: 0 unit(2) unit(4) 0 var(--modal-window-box-shadow); + box-shadow: 0 units.unit(2) units.unit(4) 0 var(--modal-window-box-shadow); background: var(--color-white); &__header { diff --git a/src/styles/components/_simple-list.scss b/src/styles/components/_simple-list.scss index 9a5935a0c..dbcbfb284 100644 --- a/src/styles/components/_simple-list.scss +++ b/src/styles/components/_simple-list.scss @@ -1,6 +1,8 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .simple-list { &:first-child { - border-top: unit(.25) solid var(--architect-divider); + border-top: units.unit(.25) solid var(--architect-divider); } &__item { @@ -14,7 +16,7 @@ flex-basis: auto; justify-content: flex-start; align-items: center; - padding: unit(2) unit(1); + padding: units.unit(2) units.unit(1); a { text-decoration: none; diff --git a/src/styles/components/_stage-heading.scss b/src/styles/components/_stage-heading.scss index 03b7667d8..d89a9b477 100644 --- a/src/styles/components/_stage-heading.scss +++ b/src/styles/components/_stage-heading.scss @@ -1,9 +1,11 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .stage-heading { --text: var(--color-white); display: flex; flex-direction: column; - padding: unit(2) unit(8); + padding: units.unit(2) units.unit(8); margin: 0; background: var(--color-slate-blue--dark); color: var(--text); @@ -14,25 +16,68 @@ border-bottom: 2px solid var(--primary); } + .stage-meta { + flex: 0 0 auto; + display: flex; + align-items: center; + max-width: 75rem; + padding: 0 units.unit(4); + margin: auto; + width: 100%; + + .stage-name-container { + flex: 1; + margin-left: 8rem; + } + + .timeline-preview { + position: relative; + + .timeline-stage__notch { + left: 16rem; + } + + &::before { + mask-image: linear-gradient(180deg, transparent, rgb(0 0 0 / 100%) 40%, rgb(0 0 0 / 100%) 40%, transparent 100%); + content: ''; + border-left: .5rem solid var(--architect-timeline-line); + position: absolute; + left: 15.8rem; + height: 11rem; + top: -1rem; + } + } + + img { + display: block; + background: var(--color-navy-taupe); + padding: .5rem; + width: 12rem; + text-align: center; + border-radius: .5rem; + } + } + + &--inline { - margin-bottom: unit(4); + margin-bottom: units.unit(4); } &--shadow { - box-shadow: 0 unit(1) .2rem 0 var(--architect-panel-shadow); + box-shadow: 0 units.unit(1) .2rem 0 var(--architect-panel-shadow); } &.stage-heading--collapsed { flex-direction: row; - padding: unit(1) unit(4); + padding: units.unit(1) units.unit(4); .stage-meta { width: initial; padding: 0; - margin-right: unit(4); + margin-right: units.unit(4); img { - width: unit(10); + width: units.unit(10); } } @@ -58,58 +103,15 @@ .form-field-toggle__label, .form-fields-edge-select { --input-text: var(--color-white); - color: var(--input-text); - } - - .stage-meta { - flex: 0 0 auto; - display: flex; - align-items: center; - max-width: 75rem; - padding: 0 unit(4); - margin: auto; - width: 100%; - - .stage-name-container { - flex: 1; - margin-left: 8rem; - } - - .timeline-preview { - position: relative; - - .timeline-stage__notch { - left: 16rem; - } - - &::before { - mask-image: linear-gradient(180deg, transparent, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 1) 40%, transparent 100%); // sass-lint:disable-line no-color-literals - -webkit-mask-image: linear-gradient(180deg, transparent, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 1) 40%, transparent 100%); // sass-lint:disable-line no-color-literals - content: ''; - border-left: .5rem solid var(--architect-timeline-line); - position: absolute; - left: 15.8rem; - height: 11rem; - top: -1rem; - } - } - - img { - display: block; - background: var(--color-navy-taupe); - padding: .5rem; - width: 12rem; - text-align: center; - border-radius: .5rem; - } + color: var(--input-text); } .stage-header-sections { display: flex; flex: 1 auto; flex-direction: column; - padding: unit(2) unit(4); + padding: units.unit(2) units.unit(4); background: var(--color-slate-blue); color: var(--color-white); diff --git a/src/styles/components/_start.scss b/src/styles/components/_start.scss index c58c1a3c6..521d32719 100644 --- a/src/styles/components/_start.scss +++ b/src/styles/components/_start.scss @@ -1,4 +1,4 @@ -// sass-lint:disable no-ids +@use '~@codaco/ui/src/styles/global/core/units'; .start { margin: 0 auto; @@ -34,7 +34,7 @@ font-size: 5.6vmin; font-weight: bold; margin-top: 0; - margin-bottom: unit(2); + margin-bottom: units.unit(2); } &-lead { @@ -45,18 +45,17 @@ } &__call-to-action { - padding: 0 0 unit(8); + padding: 0 0 units.unit(8); .button { - margin: 0 unit(2) 0 0; + margin: 0 units.unit(2) 0 0; padding: 1.8em; - width: unit(30); + width: units.unit(30); transition: transform 5s ease-in; } } &--hide { - #create-new-protocol-button { transform: translateX(-100%); } diff --git a/src/styles/components/_tag.scss b/src/styles/components/_tag.scss index 588cbcafb..c55020ab7 100644 --- a/src/styles/components/_tag.scss +++ b/src/styles/components/_tag.scss @@ -1,9 +1,11 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .tag { display: inline-flex; padding: 3px; - border-radius: unit(5); + border-radius: units.unit(5); width: auto; - margin: unit(.5); + margin: units.unit(.5); cursor: pointer; align-items: center; justify-content: flex-start; @@ -48,7 +50,7 @@ align-items: center; svg { - font-size: unit(2); + font-size: units.unit(2); } } diff --git a/src/styles/components/_thumbnail.scss b/src/styles/components/_thumbnail.scss index ca6d0efbb..1ab1729a4 100644 --- a/src/styles/components/_thumbnail.scss +++ b/src/styles/components/_thumbnail.scss @@ -1,10 +1,12 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .thumbnail { background-color: var(--color-cyber-grape); color: var(--text-light); border-radius: var(--border-radius); display: inline-flex; align-items: center; - padding: unit(2); + padding: units.unit(2); transition-property: background-color; transition-duration: var(--animation-duration-standard); transition-timing-function: var(--animation-easing); @@ -12,7 +14,7 @@ &__icon { flex: 0 0 25px; - margin: 0 unit(2) 0 0; + margin: 0 units.unit(2) 0 0; } &__label { diff --git a/src/styles/components/_tip.scss b/src/styles/components/_tip.scss index ffdb68c36..5fa08497c 100644 --- a/src/styles/components/_tip.scss +++ b/src/styles/components/_tip.scss @@ -1,30 +1,30 @@ -// sass-lint:disable no-color-literals +@use '~@codaco/ui/src/styles/global/core/units'; .tip { background-color: var(--color-mid-grey); border-radius: var(--border-radius); - padding: unit(.5) unit(4); - margin: unit(2) 0; + padding: units.unit(.5) units.unit(4); + margin: units.unit(2) 0; font-size: .9rem; display: flex; align-items: center; .icon { - flex: 0 0 unit(4); - height: unit(4); - width: unit(4); + flex: 0 0 units.unit(4); + height: units.unit(4); + width: units.unit(4); } &__content { - margin-left: unit(2); + margin-left: units.unit(2); } &__info { - background-color: rgba(15, 178, 226, .14); + background-color: rgb(15 178 226 / 14%); } &__warning { - background-color: rgba(242, 183, 0, .36); + background-color: rgb(242 183 0 / 36%); } &__error { diff --git a/src/styles/components/_type-editor.scss b/src/styles/components/_type-editor.scss index 52939aa50..3fd92c080 100644 --- a/src/styles/components/_type-editor.scss +++ b/src/styles/components/_type-editor.scss @@ -1,3 +1,17 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .type-editor { - @import './type-editor/icon-option'; + .type-editor-icon-option { + margin: 0; + padding: units.unit(3) 0; + position: relative; + + .icon { + position: absolute; + width: units.unit(8); + height: units.unit(8); + top: units.unit(0); + margin-left: units.unit(1); + } + } } diff --git a/src/styles/components/_variable-pill.scss b/src/styles/components/_variable-pill.scss index 47f090b6e..993e37e06 100644 --- a/src/styles/components/_variable-pill.scss +++ b/src/styles/components/_variable-pill.scss @@ -1,5 +1,7 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + :root { - --variable-pill-width: #{unit(55)}; + --variable-pill-width: #{units.unit(55)}; --variable-pill-background: var(--color-white); --variable-pill-shadow-color: var(--color-platinum--dark); } @@ -9,9 +11,9 @@ display: inline-flex; flex-wrap: nowrap; background-color: var(--variable-pill-background); - border-radius: unit(4); + border-radius: units.unit(4); overflow: hidden; - box-shadow: 0 0 unit(1) var(--variable-pill-shadow-color); + box-shadow: 0 0 units.unit(1) var(--variable-pill-shadow-color); &--disabled { opacity: .35; @@ -19,23 +21,23 @@ &__edit-tooltip { cursor: pointer; - padding: unit(1); + padding: units.unit(1); border-radius: var(--border-radius); display: flex; .icon { - height: unit(2); - width: unit(2); + height: units.unit(2); + width: units.unit(2); } } &__icon { background-color: var(--color-platinum); - flex: 0 0 unit(6); + flex: 0 0 units.unit(6); .icon { - width: unit(2.5); - height: unit(2.5); + width: units.unit(2.5); + height: units.unit(2.5); } } @@ -48,8 +50,8 @@ &__container { flex: 1; - width: calc(100% - #{unit(6)}); - height: unit(7); + width: calc(100% - #{units.unit(6)}); + height: units.unit(7); display: flex; justify-content: space-between; @@ -80,7 +82,7 @@ margin: 0; color: var(--text-dark); flex: 1 0 auto; - padding: unit(1.5) unit(2); + padding: units.unit(1.5) units.unit(2); word-break: keep-all; } @@ -99,12 +101,12 @@ } .icon { - width: unit(2.5); - height: unit(2.5); + width: units.unit(2.5); + height: units.unit(2.5); } &--cancel { - margin-left: unit(1); + margin-left: units.unit(1); } } } diff --git a/src/styles/components/_variable-registry.scss b/src/styles/components/_variable-registry.scss index 206649800..884b0aaad 100644 --- a/src/styles/components/_variable-registry.scss +++ b/src/styles/components/_variable-registry.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .variable-registry { .simple-list { &__attribute { @@ -16,10 +18,11 @@ &__tag { @include typography('copy-small'); + display: inline-block; - border-radius: unit(.5); - padding: unit(.3) unit(.5); - margin-left: unit(1); + border-radius: units.unit(.5); + padding: units.unit(.3) units.unit(.5); + margin-left: units.unit(1); color: var(--text-light); background-color: var(--architect-warning); } diff --git a/src/styles/components/_variable-spotlight.scss b/src/styles/components/_variable-spotlight.scss index 58354aa24..f30371356 100644 --- a/src/styles/components/_variable-spotlight.scss +++ b/src/styles/components/_variable-spotlight.scss @@ -1,6 +1,8 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .variable-spotlight { position: relative; - margin-top: unit(12); + margin-top: units.unit(12); width: 45rem; display: flex; flex-direction: column; @@ -16,10 +18,10 @@ flex: 1 100%; display: flex; align-items: center; - padding: unit(2) unit(4); + padding: units.unit(2) units.unit(4); .icon { - margin-right: unit(1); + margin-right: units.unit(1); flex: 0 0 auto; &[name='info'] { @@ -43,15 +45,16 @@ > legend { @extend .small-heading; // sass-lint:disable-line placeholder-in-extend + text-align: center; color: var(--transparent--md); - padding: unit(1) unit(2); + padding: units.unit(1) units.unit(2); } } &__header { - flex: 0 0 unit(5); - padding: unit(2) unit(4); + flex: 0 0 units.unit(5); + padding: units.unit(2) units.unit(4); .form-field, .form-field-container { @@ -64,7 +67,7 @@ flex: 1 auto; max-height: 60vh; overflow: hidden; - padding-bottom: unit(1); + padding-bottom: units.unit(1); ol { list-style: none; @@ -77,7 +80,7 @@ .spotlight-list-item { display: flex; justify-content: space-between; - padding: unit(1) unit(4); + padding: units.unit(1) units.unit(4); align-items: center; .variable-pill { @@ -85,9 +88,9 @@ } kbd { - margin-left: unit(2); + margin-left: units.unit(2); background: var(--color-platinum); - padding: unit(.5) unit(1); + padding: units.unit(.5) units.unit(1); border: 1px solid var(--color-charcoal); border-radius: 5px; display: flex; @@ -115,12 +118,12 @@ display: flex; justify-content: center; align-items: center; - padding: unit(1) unit(2); + padding: units.unit(1) units.unit(2); font-weight: 500; .icon { - height: unit(3); - margin-right: unit(2); + height: units.unit(3); + margin-right: units.unit(2); .cls-1, diff --git a/src/styles/components/_window.scss b/src/styles/components/_window.scss index 34474f9f9..0b3a8dd37 100644 --- a/src/styles/components/_window.scss +++ b/src/styles/components/_window.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .window { position: absolute; top: 0; @@ -13,7 +15,7 @@ &__container { width: 80%; max-width: 120rem; - height: calc(100% - #{unit(12)}); + height: calc(100% - #{units.unit(12)}); max-height: 90%; background-color: var(--color-white); border-radius: var(--border-radius); @@ -26,7 +28,7 @@ position: relative; text-align: center; color: var(--color-white); - padding: unit(2) unit(4); + padding: units.unit(2) units.unit(4); margin-bottom: 0 !important; // sass-lint:disable-line no-important } @@ -38,13 +40,13 @@ } &__content { - padding: unit(2); + padding: units.unit(2); display: inline-block; } &__controls { display: flex; - padding: unit(2) unit(4); + padding: units.unit(2) units.unit(4); flex-direction: row; background: var(--color-cyber-grape); color: var(--color-white); diff --git a/src/styles/components/asset-browser/_asset.scss b/src/styles/components/asset-browser/_asset.scss index 200dd2a6f..42998e468 100644 --- a/src/styles/components/asset-browser/_asset.scss +++ b/src/styles/components/asset-browser/_asset.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .asset-browser-asset { width: 100%; height: 100%; @@ -19,6 +21,7 @@ &__name { @include typography('title-2'); + position: absolute; top: 0; left: 0; @@ -35,8 +38,8 @@ transition: opacity var(--animation-easing) var(--animation-duration-standard); position: absolute; opacity: 0; - top: unit(1); - right: unit(1); + top: units.unit(1); + right: units.unit(1); padding: .5rem .75rem .25rem; display: flex; justify-content: center; @@ -64,8 +67,8 @@ content: 'Unused'; position: absolute; margin: 0; - bottom: unit(.75); - left: unit(.75); + bottom: units.unit(.75); + left: units.unit(.75); background: var(--error); } diff --git a/src/styles/components/asset-browser/_assets.scss b/src/styles/components/asset-browser/_assets.scss index 105e906be..2baed74a2 100644 --- a/src/styles/components/asset-browser/_assets.scss +++ b/src/styles/components/asset-browser/_assets.scss @@ -1,7 +1,10 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .asset-browser-assets { &__controls { --input-background: transparent; - margin-bottom: unit(2); + + margin-bottom: units.unit(2); .form-field-container { display: flex; @@ -19,7 +22,7 @@ .form-field-radio { margin-bottom: 0; - margin-right: unit(2); + margin-right: units.unit(2); } } @@ -31,7 +34,7 @@ &__assets { display: grid; grid-template-columns: 1fr 1fr 1fr; - grid-gap: unit(2); + grid-gap: units.unit(2); } } diff --git a/src/styles/components/attributes-table/_attributes-table.scss b/src/styles/components/attributes-table/_attributes-table.scss index 6ed1056aa..d8d4cdddd 100644 --- a/src/styles/components/attributes-table/_attributes-table.scss +++ b/src/styles/components/attributes-table/_attributes-table.scss @@ -1,5 +1,7 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .attributes-table { - margin: 0 0 unit(4); + margin: 0 0 units.unit(4); &__variables { display: flex; @@ -8,7 +10,7 @@ border-radius: 10px; overflow: hidden; flex-direction: column; - margin: 0 0 unit(1); + margin: 0 0 units.unit(1); } &__variable { @@ -23,7 +25,7 @@ color: var(--text-light); display: block; position: relative; - top: unit(-.2); + top: units.unit(-.2); } } } diff --git a/src/styles/components/attributes-table/_chooser.scss b/src/styles/components/attributes-table/_chooser.scss index 39d0a760d..f87952c8b 100644 --- a/src/styles/components/attributes-table/_chooser.scss +++ b/src/styles/components/attributes-table/_chooser.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + $duration: var(--animation-duration-standard); .attributes-table-chooser { @@ -14,11 +16,11 @@ $duration: var(--animation-duration-standard); justify-content: center; align-items: center; text-align: center; - flex: 0 0 calc(25% - #{unit(2)}); - height: unit(12); - padding: unit(2); - margin: unit(1); - border-radius: unit(2); + flex: 0 0 calc(25% - #{units.unit(2)}); + height: units.unit(12); + padding: units.unit(2); + margin: units.unit(1); + border-radius: units.unit(2); border: 3px solid var(--architect-table-chooser); background-color: transparent; cursor: pointer; diff --git a/src/styles/components/attributes-table/_preview.scss b/src/styles/components/attributes-table/_preview.scss index 7f036688b..f63cad2ee 100644 --- a/src/styles/components/attributes-table/_preview.scss +++ b/src/styles/components/attributes-table/_preview.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .attributes-table-preview { display: flex; flex-direction: row; @@ -6,11 +8,11 @@ &__value, &__error, &__delete { - padding: 0 unit(2); + padding: 0 units.unit(2); } &__name { - flex: 0 0 unit(25); + flex: 0 0 units.unit(25); font-weight: 600; } @@ -25,15 +27,15 @@ } &__delete { - flex: 0 0 unit(4); + flex: 0 0 units.unit(4); cursor: pointer; display: flex; justify-content: center; align-items: center; .icon { - width: unit(2); - height: unit(2); + width: units.unit(2); + height: units.unit(2); .cls-1, .cls-2 { diff --git a/src/styles/components/attributes-table/_variable.scss b/src/styles/components/attributes-table/_variable.scss index b2f9af796..106d70751 100644 --- a/src/styles/components/attributes-table/_variable.scss +++ b/src/styles/components/attributes-table/_variable.scss @@ -1,10 +1,12 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + $duration: var(--animation-duration-standard); .attributes-table-variable { min-height: 50px; background: transparent; transition: background $duration; - padding: unit(2) 0; + padding: units.unit(2) 0; .form-field-container, .form-field { @@ -23,7 +25,7 @@ $duration: var(--animation-duration-standard); overflow: hidden; transition: opacity $duration, max-height $duration; color: var(--text-light); - padding: 0 unit(2); + padding: 0 units.unit(2); } &--edit { diff --git a/src/styles/components/cards/_edit-skip-logic.scss b/src/styles/components/cards/_edit-skip-logic.scss index c7a008c46..66cc67246 100644 --- a/src/styles/components/cards/_edit-skip-logic.scss +++ b/src/styles/components/cards/_edit-skip-logic.scss @@ -1,5 +1,4 @@ .edit-skip-logic { - &__section { position: relative; padding-top: 20px; @@ -24,6 +23,7 @@ &__action { @include flex-inline; + background: var(--architect-rule-operator); border-radius: 10px; padding: 20px; diff --git a/src/styles/components/form/_dropzone.scss b/src/styles/components/form/_dropzone.scss index 4bd6dbad8..7e23dede9 100644 --- a/src/styles/components/form/_dropzone.scss +++ b/src/styles/components/form/_dropzone.scss @@ -1,9 +1,13 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + + .form-dropzone { @include preset('copy-standard'); + cursor: pointer; position: relative; - border-radius: unit(2); - height: unit(12); + border-radius: units.unit(2); + height: units.unit(12); border-width: 2px; border-style: solid; transition-duration: var(--animation-duration-slow); @@ -12,7 +16,7 @@ border-color: transparent; background-color: var(--background-dark); overflow: hidden; - padding: unit(4); + padding: units.unit(4); display: flex; align-items: center; justify-content: center; @@ -37,13 +41,13 @@ transition-duration: var(--animation-duration-standard); transition-timing-function: var(--animation-easing); transition-property: opacity; - line-height: unit(2); + line-height: units.unit(2); } &__link { display: inline-block; border-bottom: 2px solid var(--notice); - line-height: unit(2); + line-height: units.unit(2); cursor: pointer; } @@ -93,10 +97,10 @@ } &__error { - margin-top: unit(1); + margin-top: units.unit(1); overflow: hidden; - padding: unit(1) unit(2); - border-radius: unit(1); + padding: units.unit(1) units.unit(2); + border-radius: units.unit(1); background-color: var(--warning); opacity: 0; transform-origin: top center; @@ -104,12 +108,13 @@ transition-property: opacity; display: flex; align-items: center; + // justify-content: flex-end; .icon { - width: unit(2); - height: unit(2); - margin-right: unit(1); + width: units.unit(2); + height: units.unit(2); + margin-right: units.unit(1); } &--show { diff --git a/src/styles/components/form/_fields.scss b/src/styles/components/form/_fields.scss index 38a3ca610..d9ca14048 100644 --- a/src/styles/components/form/_fields.scss +++ b/src/styles/components/form/_fields.scss @@ -1,9 +1,28 @@ +@use '~@codaco/ui/src/styles/global/core/units'; +@import './fields/native-select'; +@import './fields/variable-select'; +@import './fields/entity-select'; +@import './fields/select'; +@import './fields/input-preview'; +@import './fields/variable-picker'; +@import './fields/textarea'; +@import './fields/markdown'; +@import './fields/mode'; +@import './fields/file'; +@import './fields/audio'; +@import './fields/image'; +@import './fields/video'; +@import './fields/data-source'; +@import './fields/multi-select'; +@import './fields/color-picker'; +@import './fields/field-preview'; + @mixin form-field { &__label { // @include preset(copy-standard, font-size); // font-weight: 200; display: block; - margin: 0 0 unit(1); + margin: 0 0 units.unit(1); } &__error { @@ -19,21 +38,3 @@ font-weight: 600; } } - -@import './fields/native-select'; -@import './fields/variable-select'; -@import './fields/entity-select'; -@import './fields/select'; -@import './fields/input-preview'; -@import './fields/variable-picker'; -@import './fields/textarea'; -@import './fields/markdown'; -@import './fields/mode'; -@import './fields/file'; -@import './fields/audio'; -@import './fields/image'; -@import './fields/video'; -@import './fields/data-source'; -@import './fields/multi-select'; -@import './fields/color-picker'; -@import './fields/field-preview'; diff --git a/src/styles/components/form/_round-button.scss b/src/styles/components/form/_round-button.scss index 72948b9dc..f1c3f1ebb 100644 --- a/src/styles/components/form/_round-button.scss +++ b/src/styles/components/form/_round-button.scss @@ -1,9 +1,11 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .form-round-button { - font-size: unit(3); + font-size: units.unit(3); background-color: var(--architect-button-background--dark); color: var(--text); - width: unit(4); - height: unit(4); + width: units.unit(4); + height: units.unit(4); border-radius: 100%; border: 0; cursor: pointer; @@ -18,8 +20,8 @@ } &--small { - width: unit(2); - height: unit(2); + width: units.unit(2); + height: units.unit(2); .icon { width: 100%; diff --git a/src/styles/components/form/fields/_color-picker.scss b/src/styles/components/form/fields/_color-picker.scss index 496167581..0d2e01bf6 100644 --- a/src/styles/components/form/fields/_color-picker.scss +++ b/src/styles/components/form/fields/_color-picker.scss @@ -1,5 +1,5 @@ $component-name: form-fields-color-picker; -$color-picker-size: unit(7); +$color-picker-size: units.unit(7); $color-picker-border-size: 5px; .#{$component-name} { @@ -7,15 +7,15 @@ $color-picker-border-size: 5px; background: var(--input-background); color: var(--input-text); border-radius: 1rem 1rem 0 0; - padding: unit(1) 0 0 unit(1); + padding: units.unit(1) 0 0 units.unit(1); } &__label { font-family: var(--heading-font-family); font-size: inherit; color: var(--text); - margin-top: unit(4); - margin-bottom: unit(2); + margin-top: units.unit(4); + margin-bottom: units.unit(2); font-weight: 600; } @@ -29,7 +29,7 @@ $color-picker-border-size: 5px; width: $color-picker-size; height: $color-picker-size; border-radius: $color-picker-size; - margin: 0 unit(1) unit(1) 0; + margin: 0 units.unit(1) units.unit(1) 0; overflow: hidden; cursor: pointer; justify-content: center; diff --git a/src/styles/components/form/fields/_data-source.scss b/src/styles/components/form/fields/_data-source.scss index 5a3976e37..a7dd4a12e 100644 --- a/src/styles/components/form/fields/_data-source.scss +++ b/src/styles/components/form/fields/_data-source.scss @@ -1,5 +1,5 @@ .form-fields-data-source { - margin: unit(1) 0 0; + margin: units.unit(1) 0 0; &:first-child { margin: 0; diff --git a/src/styles/components/form/fields/_entity-select.scss b/src/styles/components/form/fields/_entity-select.scss index 0f7e3834c..0009ab072 100644 --- a/src/styles/components/form/fields/_entity-select.scss +++ b/src/styles/components/form/fields/_entity-select.scss @@ -1,9 +1,10 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + $component-name: 'form-fields-entity-select'; .#{$component-name} { &__field { - flex-direction: row; - flex-wrap: wrap; + flex-flow: row wrap; justify-content: flex-start; } @@ -49,18 +50,18 @@ $component-name: 'form-fields-entity-select'; .preview-edge { background: var(--color-platinum); - margin: unit(1); + margin: units.unit(1); display: flex; flex-direction: row; align-items: center; position: relative; - padding: unit(1) unit(2); + padding: units.unit(1) units.unit(2); border: 4px solid transparent; - border-radius: unit(20); // arbitrarily large + border-radius: units.unit(20); // arbitrarily large transition: border-color var(--animation-easing) var(--animation-duration-standard); .icon { - margin: 0 unit(1) 0 0; + margin: 0 units.unit(1) 0 0; } &--selected { diff --git a/src/styles/components/form/fields/_file.scss b/src/styles/components/form/fields/_file.scss index 064086483..729659afb 100644 --- a/src/styles/components/form/fields/_file.scss +++ b/src/styles/components/form/fields/_file.scss @@ -1,5 +1,6 @@ .form-fields-file { @include form-field; + display: block; position: relative; @@ -10,7 +11,7 @@ } &__browse { - margin: unit(2) 0 0; + margin: units.unit(2) 0 0; } &--replace { @@ -24,14 +25,14 @@ color: var(--error); transition: opacity var(--animation-easing) var(--animation-duration-standard), max-height var(--animation-easing) var(--animation-duration-standard); - padding: unit(1) unit(.5); + padding: units.unit(1) units.unit(.5); display: flex; align-items: center; .icon { - height: unit(2); - width: unit(2); - margin-right: unit(1); + height: units.unit(2); + width: units.unit(2); + margin-right: units.unit(1); } } diff --git a/src/styles/components/form/fields/_image.scss b/src/styles/components/form/fields/_image.scss index 9c0b02e90..8726f3fc0 100644 --- a/src/styles/components/form/fields/_image.scss +++ b/src/styles/components/form/fields/_image.scss @@ -3,7 +3,7 @@ $component-name: form-fields-image; .#{$component-name} { width: 100%; background: var(--color-rich-black); - padding: unit(2); + padding: units.unit(2); border-radius: var(--border-radius); &__image { diff --git a/src/styles/components/form/fields/_input-preview.scss b/src/styles/components/form/fields/_input-preview.scss index e81d1c2bd..13aa4a16c 100644 --- a/src/styles/components/form/fields/_input-preview.scss +++ b/src/styles/components/form/fields/_input-preview.scss @@ -1,12 +1,12 @@ .input-preview { display: flex; - padding: unit(2); + padding: units.unit(2); border-radius: var(--border-radius); background: var(--color-platinum); &__description { flex: 0 0 50%; - padding-left: unit(4); + padding-left: units.unit(4); } &__image { diff --git a/src/styles/components/form/fields/_markdown.scss b/src/styles/components/form/fields/_markdown.scss index 210a21508..10583b24e 100644 --- a/src/styles/components/form/fields/_markdown.scss +++ b/src/styles/components/form/fields/_markdown.scss @@ -1,5 +1,6 @@ .form-fields-markdown { @include form-field; + width: 100%; margin-bottom: 2rem; @@ -8,31 +9,33 @@ cursor: text; background: var(--background); color: var(--text); - border-radius: unit(1); + border-radius: units.unit(1); } &__input { @include preset('copy-standard'); + background-color: var(--input-background); border: 0; width: 100%; - min-height: unit(8); + min-height: units.unit(8); vertical-align: top; resize: none; overflow: hidden; &-container { background-color: var(--input-background); - padding: unit(1); + padding: units.unit(1); flex: 1 0 50%; - border-radius: 0 unit(1) unit(1) 0; + border-radius: 0 units.unit(1) units.unit(1) 0; } } &__preview { @include preset('copy-standard'); + flex: 1 0 50%; - padding: unit(1); + padding: units.unit(1); transition: width 200ms; vertical-align: top; } @@ -41,7 +44,7 @@ opacity: 0; max-height: 0; color: var(--error); - margin: unit(1) 0 0; + margin: units.unit(1) 0 0; transition: opacity var(--animation-easing) var(--animation-duration-standard), max-height var(--animation-easing) var(--animation-duration-standard); } diff --git a/src/styles/components/form/fields/_mode.scss b/src/styles/components/form/fields/_mode.scss index 0419ae20f..0605a85dd 100644 --- a/src/styles/components/form/fields/_mode.scss +++ b/src/styles/components/form/fields/_mode.scss @@ -1,11 +1,12 @@ .form-fields-mode { @include form-field; + display: block; position: relative; &__options { display: inline-flex; - border-radius: unit(1); + border-radius: units.unit(1); overflow: hidden; border: 2px solid var(--input-border); background-color: var(--input-background); @@ -13,11 +14,12 @@ &__option { @include preset(copy-small); + display: inline-flex; - min-width: unit(10); - padding: unit(1); + min-width: units.unit(10); + padding: units.unit(1); margin: 3px; - border-radius: unit(.5); + border-radius: units.unit(.5); justify-content: center; align-items: center; color: var(--text-dark); diff --git a/src/styles/components/form/fields/_multi-select.scss b/src/styles/components/form/fields/_multi-select.scss index 8ceec8734..b8b762253 100644 --- a/src/styles/components/form/fields/_multi-select.scss +++ b/src/styles/components/form/fields/_multi-select.scss @@ -9,9 +9,10 @@ $component-name: 'form-fields-multi-select'; &__label { @include preset('title-4'); + font-weight: 600; display: block; - margin: 0 0 unit(1); + margin: 0 0 units.unit(1); } button { @@ -19,39 +20,39 @@ $component-name: 'form-fields-multi-select'; } &__rules { - margin: 0 0 unit(2); + margin: 0 0 units.unit(2); } &__rule { display: flex; background-color: var(--form-control); color: var(--architect-sortable-text); - border-radius: unit(1); + border-radius: units.unit(1); z-index: var(--z-fx); transition: background-color var(--animation-easing) var(--animation-duration-standard); &:not(:last-of-type) { - margin-bottom: unit(1); + margin-bottom: units.unit(1); } &-control { flex-grow: 0; display: flex; align-items: center; - padding: 0 unit(2); + padding: 0 units.unit(2); } &-options { flex: 1; display: flex; align-items: flex-start; - padding: unit(1) unit(2); + padding: units.unit(1) units.unit(2); } &-option { display: flex; align-items: center; - margin-left: unit(1); + margin-left: units.unit(1); flex: 1 1 100%; &:first-child { @@ -59,7 +60,7 @@ $component-name: 'form-fields-multi-select'; } &-label { - margin-right: unit(1); + margin-right: units.unit(1); transition: color var(--animation-easing) var(--animation-duration-standard); } @@ -94,17 +95,17 @@ $component-name: 'form-fields-multi-select'; &__add, &__handle { cursor: pointer; - background-color: transparent; //var(--form-control); - width: unit(3); - height: unit(3); + background-color: transparent; + width: units.unit(3); + height: units.unit(3); display: flex; align-items: center; justify-content: center; color: var(--architect-sortable-text); .icon { - width: unit(2); - height: unit(2); + width: units.unit(2); + height: units.unit(2); .cls-1, .cls-2 { @@ -120,21 +121,21 @@ $component-name: 'form-fields-multi-select'; &__add { display: inline-flex; width: auto; - height: unit(4); - border-radius: unit(2); - padding: 0 unit(2); + height: units.unit(4); + border-radius: units.unit(2); + padding: 0 units.unit(2); .icon { - width: unit(2); - height: unit(2); - margin-right: unit(1); + width: units.unit(2); + height: units.unit(2); + margin-right: units.unit(1); } } &__field--has-error { .form-field-error { - margin: unit(1) 0; - border-radius: unit(1); + margin: units.unit(1) 0; + border-radius: units.unit(1); } .#{$component-name}__rule { diff --git a/src/styles/components/form/fields/_native-select.scss b/src/styles/components/form/fields/_native-select.scss index 95ec2239a..49540dccb 100644 --- a/src/styles/components/form/fields/_native-select.scss +++ b/src/styles/components/form/fields/_native-select.scss @@ -1,5 +1,6 @@ -.form-fields-select-native { +@use '~@codaco/ui/src/styles/global/core/units'; +.form-fields-select-native { &--disabled { cursor: not-allowed; } @@ -42,24 +43,12 @@ } } - &--has-error { - - .form-fields-select-native__component { - border: .1rem solid var(--error); - margin-bottom: 0; - } - - .form-fields-select-native__error { - opacity: 1; - } - } - &__component { display: block; font-size: 1rem; font-weight: normal; color: var(--input-text); - padding: 1rem unit(2); + padding: 1rem units.unit(2); width: 100%; min-height: 4rem; max-width: 100%; @@ -73,8 +62,8 @@ background-color: var(--input-background); background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%236D6F76%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'); background-repeat: no-repeat, repeat; - background-position: right unit(4) top 50%, 0 0; - background-size: unit(1.5) auto, 100%; + background-position: right units.unit(4) top 50%, 0 0; + background-size: units.unit(1.5) auto, 100%; &:disabled { cursor: not-allowed; @@ -88,11 +77,20 @@ option { // Placeholder &:disabled { - &:selected { - font-style: italic; - color: var(--color-platinum--dark); - } + font-style: italic; + color: var(--color-platinum--dark); } } } + + &--has-error { + .form-fields-select-native__component { + border: .1rem solid var(--error); + margin-bottom: 0; + } + + .form-fields-select-native__error { + opacity: 1; + } + } } diff --git a/src/styles/components/form/fields/_select.scss b/src/styles/components/form/fields/_select.scss index 0cf293044..f70cfe419 100644 --- a/src/styles/components/form/fields/_select.scss +++ b/src/styles/components/form/fields/_select.scss @@ -1,6 +1,7 @@ div.form-fields-select, // sass-lint:disable-line no-qualifying-elements, force-element-nesting img.form-fields-select { // sass-lint:disable-line no-qualifying-elements, force-element-nesting @include form-field; + width: 100%; font-size: var(--base-font-size); @@ -78,17 +79,17 @@ img.form-fields-select { // sass-lint:disable-line no-qualifying-elements, force &-warning { display: inline-flex; align-items: center; - flex: 0 0 unit(2); + flex: 0 0 units.unit(2); } &-add { .icon { - height: unit(2); - line-height: unit(2); + height: units.unit(2); + line-height: units.unit(2); padding: .3rem; - margin-right: unit(1); + margin-right: units.unit(1); background: var(--color-sea-green); - border-radius: unit(2); + border-radius: units.unit(2); .cls-1 { fill: var(--text-light); @@ -98,16 +99,16 @@ img.form-fields-select { // sass-lint:disable-line no-qualifying-elements, force &-delete { .icon { - height: unit(2); + height: units.unit(2); } } &-warning { .icon { - height: unit(4); - width: unit(4); - padding: unit(1); - margin-right: unit(1); + height: units.unit(4); + width: units.unit(4); + padding: units.unit(1); + margin-right: units.unit(1); } } @@ -123,6 +124,7 @@ img.form-fields-select { // sass-lint:disable-line no-qualifying-elements, force &__label { @include preset('title-4'); + font-weight: 600; } diff --git a/src/styles/components/form/fields/_textarea.scss b/src/styles/components/form/fields/_textarea.scss index a1e630deb..4994ff8ca 100644 --- a/src/styles/components/form/fields/_textarea.scss +++ b/src/styles/components/form/fields/_textarea.scss @@ -2,18 +2,21 @@ $component-name: form-fields-textarea; .#{$component-name} { @include form-field; + width: 100%; &__label { @include preset('title-4'); + font-weight: 600; } &__input { @include preset('copy-large'); - border: unit(.2) solid var(--architect-panel-background); - padding: unit(1); - min-height: unit(8); + + border: units.unit(.2) solid var(--architect-panel-background); + padding: units.unit(1); + min-height: units.unit(8); width: 100%; vertical-align: top; resize: vertical; diff --git a/src/styles/components/form/fields/_variable-picker.scss b/src/styles/components/form/fields/_variable-picker.scss index c0dd65fb8..cf8208908 100644 --- a/src/styles/components/form/fields/_variable-picker.scss +++ b/src/styles/components/form/fields/_variable-picker.scss @@ -4,7 +4,7 @@ $component-name: form-fields-variable-picker; display: flex; justify-content: center; align-items: center; - margin: unit(4) 0; + margin: units.unit(4) 0; fieldset { --variable-pill-background: var(--color-white); @@ -13,16 +13,17 @@ $component-name: form-fields-variable-picker; background: var(--section-background-color); flex: 1; border: 2px dashed var(--architect-panel-divider); - padding: unit(2); + padding: units.unit(2); border-radius: var(--border-radius); > legend { @extend .small-heading; // sass-lint:disable-line placeholder-in-extend - padding: 0 unit(2); + + padding: 0 units.unit(2); } .variable-pill { - margin-bottom: unit(2); + margin-bottom: units.unit(2); } } diff --git a/src/styles/components/form/fields/_variable-select.scss b/src/styles/components/form/fields/_variable-select.scss index 7b4bec133..0db439e66 100644 --- a/src/styles/components/form/fields/_variable-select.scss +++ b/src/styles/components/form/fields/_variable-select.scss @@ -1,5 +1,7 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .form-fields-variable-select { &__rename { - margin-top: unit(1); + margin-top: units.unit(1); } } diff --git a/src/styles/components/form/fields/_video.scss b/src/styles/components/form/fields/_video.scss index ddd18418c..cd3110790 100644 --- a/src/styles/components/form/fields/_video.scss +++ b/src/styles/components/form/fields/_video.scss @@ -8,8 +8,8 @@ $component-name: form-fields-video; overflow: hidden; &__name { - padding: unit(2); - border-radius: unit(2); + padding: units.unit(2); + border-radius: units.unit(2); word-break: break-all; position: absolute; z-index: 2; diff --git a/src/styles/components/items/_delete-button.scss b/src/styles/components/items/_delete-button.scss index 84b401394..ad79b0f47 100644 --- a/src/styles/components/items/_delete-button.scss +++ b/src/styles/components/items/_delete-button.scss @@ -1,6 +1,8 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .items-delete-button { - width: unit(4); - height: unit(4); + width: units.unit(4); + height: units.unit(4); cursor: pointer; overflow: hidden; display: flex; @@ -8,6 +10,6 @@ align-items: center; .icon { - width: unit(2); + width: units.unit(2); } } diff --git a/src/styles/components/items/_handle.scss b/src/styles/components/items/_handle.scss index d02ae80b3..2a5c8a383 100644 --- a/src/styles/components/items/_handle.scss +++ b/src/styles/components/items/_handle.scss @@ -1,5 +1,7 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .items-handle { - width: unit(4); + width: units.unit(4); height: 100%; cursor: grab; overflow: hidden; @@ -8,7 +10,7 @@ align-items: center; .icon { - width: unit(2); - height: unit(2); + width: units.unit(2); + height: units.unit(2); } } diff --git a/src/styles/components/items/_item.scss b/src/styles/components/items/_item.scss index 3729d8da0..faa52069e 100644 --- a/src/styles/components/items/_item.scss +++ b/src/styles/components/items/_item.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + $component-name: items-item; .#{$component-name} { @@ -7,10 +9,10 @@ $component-name: items-item; display: flex; flex-direction: row; align-items: stretch; - border-radius: unit(1.5); + border-radius: units.unit(1.5); &__control { - padding: unit(2); + padding: units.unit(2); flex-grow: 0; .icon { @@ -22,7 +24,7 @@ $component-name: items-item; } &__content { - padding: unit(4) unit(2); + padding: units.unit(4) units.unit(2); flex-grow: 1; } } diff --git a/src/styles/components/items/_items.scss b/src/styles/components/items/_items.scss index 3dcb2cd9d..f4c40f5e6 100644 --- a/src/styles/components/items/_items.scss +++ b/src/styles/components/items/_items.scss @@ -1,11 +1,13 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .items { &__error { - margin: unit(2) 0; + margin: units.unit(2) 0; color: var(--error); } &__item { - margin: unit(2) 0 0; + margin: units.unit(2) 0 0; z-index: var(--z-fx); } } diff --git a/src/styles/components/items/_new-button.scss b/src/styles/components/items/_new-button.scss index bc1626bfb..c74f39a56 100644 --- a/src/styles/components/items/_new-button.scss +++ b/src/styles/components/items/_new-button.scss @@ -1,6 +1,8 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .items-new-button { - width: unit(6); - height: unit(6); + width: units.unit(6); + height: units.unit(6); cursor: pointer; overflow: hidden; display: flex; @@ -10,8 +12,8 @@ border-radius: 50%; .icon { - width: unit(2); - height: unit(2); + width: units.unit(2); + height: units.unit(2); .cls-1 { fill: var(--architect-edit-button-fill); diff --git a/src/styles/components/list/_delete-button.scss b/src/styles/components/list/_delete-button.scss index ff1bdc641..6c1ed86f8 100644 --- a/src/styles/components/list/_delete-button.scss +++ b/src/styles/components/list/_delete-button.scss @@ -1,13 +1,15 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .list-delete-button { transform-origin: center center; - width: unit(4); - height: unit(4); + width: units.unit(4); + height: units.unit(4); cursor: pointer; display: flex; justify-content: center; align-items: center; .icon { - width: unit(2); + width: units.unit(2); } } diff --git a/src/styles/components/list/_handle.scss b/src/styles/components/list/_handle.scss index aa17ace5b..3e7c4b36f 100644 --- a/src/styles/components/list/_handle.scss +++ b/src/styles/components/list/_handle.scss @@ -1,5 +1,7 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .list-handle { - width: unit(4); + width: units.unit(4); height: 100%; cursor: grab; overflow: hidden; @@ -8,7 +10,7 @@ align-items: center; .icon { - width: unit(2); - height: unit(2); + width: units.unit(2); + height: units.unit(2); } } diff --git a/src/styles/components/list/_item.scss b/src/styles/components/list/_item.scss index eba609bbb..7c2b7ebb4 100644 --- a/src/styles/components/list/_item.scss +++ b/src/styles/components/list/_item.scss @@ -1,7 +1,10 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + $component-name: list-item; .#{$component-name} { --input-border: var(--architect-sortable-text); + z-index: var(--z-fx); width: 100%; background-color: var(--architect-sortable-background); @@ -10,12 +13,12 @@ $component-name: list-item; flex-direction: row; align-items: stretch; border-radius: var(--border-radius); - margin-bottom: unit(1); + margin-bottom: units.unit(1); &__control { - padding: unit(2); + padding: units.unit(2); flex-grow: 0; display: flex; align-items: center; @@ -29,14 +32,14 @@ $component-name: list-item; } &__content { - padding: unit(2); + padding: units.unit(2); flex-grow: 1; > .stage-editor-section { - --section-background-color: var(--color-slate-blue--dark) !important; //sass-lint:disable-line no-important - --architect-panel-shadow: rgba(58, 58, 117, .76) !important; //sass-lint:disable-line no-color-literals no-important - --input-background: var(--color-white) !important; //sass-lint:disable-line no-important - --variable-pill-background: var(--color-platinum) !important; //sass-lint:disable-line no-important + --section-background-color: var(--color-slate-blue--dark) !important; // sass-lint:disable-line no-important + --architect-panel-shadow: rgb(58 58 117 / 76%) !important; // sass-lint:disable-line no-color-literals no-important + --input-background: var(--color-white) !important; // sass-lint:disable-line no-important + --variable-pill-background: var(--color-platinum) !important; // sass-lint:disable-line no-important } } @@ -48,12 +51,12 @@ $component-name: list-item; } &--clickable { - box-shadow: 0 .2rem rgba(17, 21, 27, .664); // sass-lint:disable-line no-color-literals + box-shadow: 0 .2rem rgb(17 21 27 / 66.4%); // sass-lint:disable-line no-color-literals cursor: pointer; transition: box-shadow var(--animation-duration-very-fast) var(--animation-easing); &:hover { - box-shadow: 0 .4rem .2rem 0 rgba(17, 21, 27, .35); // sass-lint:disable-line no-color-literals + box-shadow: 0 .4rem .2rem 0 rgb(17 21 27 / 35%); // sass-lint:disable-line no-color-literals } &:active { diff --git a/src/styles/components/list/_list-controls.scss b/src/styles/components/list/_list-controls.scss index 4b8a08d8b..d7b88e449 100644 --- a/src/styles/components/list/_list-controls.scss +++ b/src/styles/components/list/_list-controls.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .list-controls { display: flex; width: 100%; @@ -5,7 +7,7 @@ &__section { display: flex; align-items: center; - padding-right: unit(4); + padding-right: units.unit(4); .form-field-container, .form-field { @@ -23,7 +25,7 @@ } &-name { - padding-right: unit(1); + padding-right: units.unit(1); } } } diff --git a/src/styles/components/list/_list-group.scss b/src/styles/components/list/_list-group.scss index ac707ce69..9f28debaa 100644 --- a/src/styles/components/list/_list-group.scss +++ b/src/styles/components/list/_list-group.scss @@ -1,7 +1,9 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .list-group { border-top: 2px solid var(--color-shadow); - margin: unit(4) 0; - padding: unit(2) 0 0; + margin: units.unit(4) 0; + padding: units.unit(2) 0 0; .list-row { &:last-child { diff --git a/src/styles/components/list/_list-row.scss b/src/styles/components/list/_list-row.scss index 13e5bfc18..fd0f4d330 100644 --- a/src/styles/components/list/_list-row.scss +++ b/src/styles/components/list/_list-row.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .list-row { - margin: unit(4) 0; + margin: units.unit(4) 0; } diff --git a/src/styles/components/list/_list.scss b/src/styles/components/list/_list.scss index 8a6f95f82..186104f2f 100644 --- a/src/styles/components/list/_list.scss +++ b/src/styles/components/list/_list.scss @@ -1,12 +1,14 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .list { &__error { - margin: unit(2) 0; + margin: units.unit(2) 0; color: var(--error); } &__controls { - padding-bottom: unit(2); - margin-bottom: unit(2); + padding-bottom: units.unit(2); + margin-bottom: units.unit(2); border-bottom: 2px solid var(--architect-sortable-preview-background--alt); } } diff --git a/src/styles/components/rule/_rule-drop-down.scss b/src/styles/components/rule/_rule-drop-down.scss index 0431dd771..1426d839f 100644 --- a/src/styles/components/rule/_rule-drop-down.scss +++ b/src/styles/components/rule/_rule-drop-down.scss @@ -11,7 +11,6 @@ } &__options { - // sass-lint:disable-block no-vendor-prefixes position: absolute; top: 50%; width: 100%; @@ -20,8 +19,6 @@ color: var(--text-light); background-color: transparent; border: 0; - -webkit-appearance: none; - -moz-appearance: none; appearance: none; option { diff --git a/src/styles/components/rule/_rule-input.scss b/src/styles/components/rule/_rule-input.scss index 0a2c36dcc..b6e185a4f 100644 --- a/src/styles/components/rule/_rule-input.scss +++ b/src/styles/components/rule/_rule-input.scss @@ -26,7 +26,7 @@ // sass-lint:disable-block no-vendor-prefixes &::-webkit-inner-spin-button, &::-webkit-outer-spin-button { - -webkit-appearance: none; + appearance: none; margin: 0; } } diff --git a/src/styles/components/rule/_rule.scss b/src/styles/components/rule/_rule.scss index 4c51b230c..fdf01eb27 100644 --- a/src/styles/components/rule/_rule.scss +++ b/src/styles/components/rule/_rule.scss @@ -1,6 +1,8 @@ +/* stylelint-disable no-descending-specificity */ .rule { @include flex-inline; @include flex-align(left, middle); + color: var(--text-light); position: relative; z-index: var(--z-default); @@ -10,6 +12,7 @@ .rule-drag-handle { @include flex-inline; @include flex-align(center, middle); + background-color: var(--architect-rule-control); color: var(--text-light); border: 0; @@ -27,6 +30,7 @@ &__delete { @include flex-inline; @include flex-align(center, middle); + background-color: var(--architect-rule-delete); color: var(--text-light); border: 0; @@ -50,6 +54,7 @@ &__options { @include flex-inline; @include flex-align(left, middle); + padding: 0; border-radius: 20px; height: 40px; @@ -58,6 +63,7 @@ &__option { @include flex-inline; @include flex-align(left, middle); + height: 100%; padding: 0 20px; position: relative; diff --git a/src/styles/components/rules/_edit-rule.scss b/src/styles/components/rules/_edit-rule.scss index f4617258b..062175e5e 100644 --- a/src/styles/components/rules/_edit-rule.scss +++ b/src/styles/components/rules/_edit-rule.scss @@ -1,6 +1,8 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .screen { &.rule-screen { - max-height: calc(100% - #{unit(16)}); + max-height: calc(100% - #{units.unit(16)}); height: auto; } } diff --git a/src/styles/components/rules/_preview-rule.scss b/src/styles/components/rules/_preview-rule.scss index cc4d0d147..1d5837a49 100644 --- a/src/styles/components/rules/_preview-rule.scss +++ b/src/styles/components/rules/_preview-rule.scss @@ -1,23 +1,7 @@ -.stage-editor-section { - --variable-pill-background: var(--color-platinum); - --variable-pill-shadow-color: rgb(212, 212, 212); //sass-lint:disable-line no-color-literals - - .preview-edge { - background: var(--variable-pill-background); - } - - .stage-editor-section { - --variable-pill-background: var(--color-white); - --variable-pill-shadow-color: var(--color-platinum--dark); - - .preview-edge { - background: var(--variable-pill-background); - } - } -} +@use '~@codaco/ui/src/styles/global/core/units'; .rules-preview-rule { - padding: unit(1) unit(2); + padding: units.unit(1) units.unit(2); cursor: pointer; display: flex; border-radius: var(--border-radius); @@ -28,6 +12,7 @@ &__text { --base-node-size: 7rem; + flex-grow: 1; color: var(--text-dark); display: flex; @@ -51,12 +36,12 @@ &__delete { flex-grow: 0; - flex-basis: unit(3); + flex-basis: units.unit(3); border: 0; - width: unit(3); - height: unit(3); - margin: 0 0 0 unit(1); - border-radius: unit(3); + width: units.unit(3); + height: units.unit(3); + margin: 0 0 0 units.unit(1); + border-radius: units.unit(3); opacity: 0; transition: opacity var(--animation-duration-fast) var(--animation-easing); cursor: pointer; @@ -67,8 +52,8 @@ background: var(--error); .icon { - width: unit(2); - height: unit(2); + width: units.unit(2); + height: units.unit(2); .cls-1, .cls-2 { @@ -79,6 +64,7 @@ &:hover { --variable-pill-shadow-color: var(--color-rich-black); + background-color: var(--background-dark); .rules-preview-rule__delete { @@ -90,3 +76,21 @@ } } } + +.stage-editor-section { + --variable-pill-background: var(--color-platinum); + --variable-pill-shadow-color: rgb(212 212 212); // sass-lint:disable-line no-color-literals + + .preview-edge { + background: var(--variable-pill-background); + } + + .stage-editor-section { + --variable-pill-background: var(--color-white); + --variable-pill-shadow-color: var(--color-platinum--dark); + + .preview-edge { + background: var(--variable-pill-background); + } + } +} diff --git a/src/styles/components/rules/_preview-rules.scss b/src/styles/components/rules/_preview-rules.scss index c0aa2c4ac..3dea114ff 100644 --- a/src/styles/components/rules/_preview-rules.scss +++ b/src/styles/components/rules/_preview-rules.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .rules-preview-rules { background-color: var(--input-background); border-radius: 1rem 1rem 0 0; @@ -11,11 +13,11 @@ flex-direction: column; align-items: flex-start; width: 100%; - padding: unit(2) 0; + padding: units.unit(2) 0; } &__empty { - padding: 1em unit(2); + padding: 1em units.unit(2); color: var(--text-dark); font-style: italic; } diff --git a/src/styles/components/rules/_preview-text.scss b/src/styles/components/rules/_preview-text.scss index 380d690a6..68a79077f 100644 --- a/src/styles/components/rules/_preview-text.scss +++ b/src/styles/components/rules/_preview-text.scss @@ -1,16 +1,19 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .rules-preview-text { &__join { - padding: unit(2) unit(4); + padding: units.unit(2) units.unit(4); border-top: 4px solid var(--section-background-color); width: 100%; height: 0; > legend { @extend .small-heading; // sass-lint:disable-line placeholder-in-extend + text-align: center; font-style: italic; color: var(--text); - padding: unit(1) unit(2); + padding: units.unit(1) units.unit(2); } } diff --git a/src/styles/components/rules/_rules.scss b/src/styles/components/rules/_rules.scss index 683b8c6fd..546ab09be 100644 --- a/src/styles/components/rules/_rules.scss +++ b/src/styles/components/rules/_rules.scss @@ -1,14 +1,17 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .rules-rules { &__join { --input-border: var(--text); - margin-top: unit(4); + + margin-top: units.unit(4); } &__add-new { - margin-top: unit(2); + margin-top: units.unit(2); button { - margin: 0 unit(2) 0 0; + margin: 0 units.unit(2) 0 0; } } diff --git a/src/styles/components/stage-editor/section/_content-items.scss b/src/styles/components/stage-editor/section/_content-items.scss index e6d746c89..c47589ce9 100644 --- a/src/styles/components/stage-editor/section/_content-items.scss +++ b/src/styles/components/stage-editor/section/_content-items.scss @@ -1,6 +1,8 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .stage-editor-section-content-items { &__controls { - margin-top: unit(2); + margin-top: units.unit(2); .button { &:first-child { @@ -10,7 +12,7 @@ } &__control { - margin-right: unit(1); + margin-right: units.unit(1); color: var(--text-light); &::before { @@ -18,8 +20,8 @@ font-size: 1.75rem; line-height: 100%; position: relative; - top: unit(-.25); - margin-right: unit(1); + top: units.unit(-.25); + margin-right: units.unit(1); } diff --git a/src/styles/components/stage-editor/section/_section.scss b/src/styles/components/stage-editor/section/_section.scss index f7cdbca64..f9427a594 100644 --- a/src/styles/components/stage-editor/section/_section.scss +++ b/src/styles/components/stage-editor/section/_section.scss @@ -1,10 +1,12 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + :root { --section-background-color: var(--architect-panel-grey); } .stage-editor-section { - margin: unit(4) unit(8); - padding: unit(2) unit(4); + margin: units.unit(4) units.unit(8); + padding: units.unit(2) units.unit(4); background: var(--section-background-color); border-radius: var(--border-radius); position: relative; @@ -13,7 +15,7 @@ &--toggleable { &:not(.stage-editor-section--open) { .summary { - margin-top: -#{unit(2)}; + margin-top: -#{units.unit(2)}; } } } @@ -24,11 +26,12 @@ > legend { @extend .small-heading; // sass-lint:disable-line placeholder-in-extend + --input-background: transparent; font-family: var(--heading-font-family); font-size: 1rem; - padding: unit(1) unit(3); + padding: units.unit(1) units.unit(3); background: var(--section-background-color); border-radius: var(--border-radius); display: flex; @@ -46,9 +49,9 @@ } .icon { - height: unit(1); - width: unit(1); - margin-right: unit(1); + height: units.unit(1); + width: units.unit(1); + margin-right: units.unit(1); .cls-2 { fill: var(--color-charcoal); @@ -71,7 +74,8 @@ --variable-pill-shadow-color: #c7ced0; // sass-lint:disable-line no-color-literals --input-background: var(--color-platinum--dark); --slider-color: var(--color-charcoal); - margin: unit(4) 0; + + margin: units.unit(4) 0; .form-field-slider { --slider-color: var(--color-charcoal); @@ -80,7 +84,7 @@ > .stage-editor-section { background: var(--section-background-color); - border-radius: unit(1); + border-radius: units.unit(1); } &--compact-next { diff --git a/src/styles/components/stage-editor/section/_sociogram-prompt.scss b/src/styles/components/stage-editor/section/_sociogram-prompt.scss index 00e32e454..c6d8863f6 100644 --- a/src/styles/components/stage-editor/section/_sociogram-prompt.scss +++ b/src/styles/components/stage-editor/section/_sociogram-prompt.scss @@ -1,3 +1,5 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + $component-name: stage-editor-section-sociogram-prompt; .#{$component-name} { @@ -15,10 +17,10 @@ $component-name: stage-editor-section-sociogram-prompt; } &-text { - margin: 0 0 0 unit(2); + margin: 0 0 0 units.unit(2); & > * { - margin: unit(2) 0 0; + margin: units.unit(2) 0 0; &:first-child { margin: 0; diff --git a/src/styles/components/timeline/_new-button.scss b/src/styles/components/timeline/_new-button.scss index dc1aae46b..f43f5e0ae 100644 --- a/src/styles/components/timeline/_new-button.scss +++ b/src/styles/components/timeline/_new-button.scss @@ -1,6 +1,8 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .list-new-button { - width: unit(10); - height: unit(10); + width: units.unit(10); + height: units.unit(10); cursor: pointer; overflow: hidden; display: flex; @@ -11,8 +13,8 @@ transform: translateY(-1px); .icon { - width: unit(2); - height: unit(2); + width: units.unit(2); + height: units.unit(2); .cls-1 { fill: var(--architect-edit-button-fill); diff --git a/src/styles/components/timeline/_stage.scss b/src/styles/components/timeline/_stage.scss index 3fd737bbc..51e414b68 100644 --- a/src/styles/components/timeline/_stage.scss +++ b/src/styles/components/timeline/_stage.scss @@ -1,23 +1,25 @@ @use "sass:math"; +@use '~@codaco/ui/src/styles/global/core/units'; -$preview-offset: unit(12); -$preview-width: unit(26); +$preview-offset: units.unit(12); +$preview-width: units.unit(26); $preview-ratio: math.div(10, 16); $component-name: timeline-stage; .#{$component-name} { - padding: unit(5) 0; + padding: units.unit(5) 0; position: relative; - margin-top: unit(5); + margin-top: units.unit(5); &__notch { @include typography('title-2'); + font-family: var(--heading-font-family); font-weight: 600; left: 50%; - width: unit(5); - height: unit(5); - border-radius: unit(5); + width: units.unit(5); + height: units.unit(5); + border-radius: units.unit(5); position: absolute; top: 50%; transform: translate(-50%, -50%); @@ -42,7 +44,7 @@ $component-name: timeline-stage; transition: opacity var(--animation-duration-fast) var(--animation-easing), transform var(--animation-duration-fast) var(--animation-easing); opacity: 0; - transform: translateZ(0) translateX(unit(-10)); + transform: translateZ(0) translateX(units.unit(-10)); } &__edit-stage { @@ -60,6 +62,7 @@ $component-name: timeline-stage; &__screen { @include clickable(2); + display: block; background: var(--color-navy-taupe); padding: 1rem; @@ -93,16 +96,16 @@ $component-name: timeline-stage; } &__icon { - margin-right: unit(1); + margin-right: units.unit(1); font-size: 1rem; font-style: italic; display: flex; align-items: center; img { - width: unit(2.5); - height: unit(2.5); - margin-right: unit(1); + width: units.unit(2.5); + height: units.unit(2.5); + margin-right: units.unit(1); } &:last-child { diff --git a/src/styles/components/timeline/_timeline.scss b/src/styles/components/timeline/_timeline.scss index a70c8f0ce..850b3ebd1 100644 --- a/src/styles/components/timeline/_timeline.scss +++ b/src/styles/components/timeline/_timeline.scss @@ -1,8 +1,9 @@ +@use '~@codaco/ui/src/styles/global/core/units'; @use "sass:math"; $stage-height: math.div(9, 16) * 15vw; -$stage-padding: unit(5); -$bottom-spacing: unit(12); +$stage-padding: units.unit(5); +$bottom-spacing: units.unit(12); .timeline { position: relative; @@ -13,10 +14,11 @@ $bottom-spacing: unit(12); &__insert { cursor: pointer; position: absolute; + // position: relative; left: 50%; - padding-left: unit(6); - height: unit(5); + padding-left: units.unit(6); + height: units.unit(5); display: inline-flex; align-items: center; font-family: var(--heading-font-family); @@ -34,9 +36,9 @@ $bottom-spacing: unit(12); position: absolute; left: 0; top: 0; - width: unit(5); - height: unit(5); - border-radius: unit(5); + width: units.unit(5); + height: units.unit(5); + border-radius: units.unit(5); background-color: var(--architect-timeline-line); display: inline-flex; justify-content: center; @@ -83,7 +85,7 @@ $bottom-spacing: unit(12); } &--new { - margin-top: unit(3); + margin-top: units.unit(3); position: relative; } } @@ -98,15 +100,13 @@ $bottom-spacing: unit(12); top: 0; left: 50%; width: 0; - height: calc(100% - #{unit(5)}); - border-left-width: unit(.6); - border-left-color: var(--architect-timeline-line); - border-left-style: solid; + height: calc(100% - #{units.unit(5)}); + border-left: units.unit(.6) solid var(--architect-timeline-line); } &__stages { position: relative; - padding: unit(6) 0 0; + padding: units.unit(6) 0 0; &--show { opacity: 1; diff --git a/src/styles/components/type-editor/_icon-option.scss b/src/styles/components/type-editor/_icon-option.scss index 54d5de269..b0b81b18f 100644 --- a/src/styles/components/type-editor/_icon-option.scss +++ b/src/styles/components/type-editor/_icon-option.scss @@ -1,13 +1,15 @@ +@use '~@codaco/ui/src/styles/global/core/units'; + .type-editor-icon-option { margin: 0; - padding: unit(3) 0; + padding: units.unit(3) 0; position: relative; .icon { position: absolute; - width: unit(8); - height: unit(8); - top: unit(0); - margin-left: unit(1); + width: units.unit(8); + height: units.unit(8); + top: units.unit(0); + margin-left: units.unit(1); } } diff --git a/src/styles/main.scss b/src/styles/main.scss index 5784a5ba7..d0046255d 100644 --- a/src/styles/main.scss +++ b/src/styles/main.scss @@ -1,4 +1,5 @@ $font-path: '~@codaco/ui/lib/assets/fonts'; + @import '~react-grid-layout/css/styles.css'; @import '~react-resizable/css/styles.css'; @import '~tippy.js/dist/tippy.css'; From 39e1330dd232d3c7280fe35ce13dc00fccaaddee Mon Sep 17 00:00:00 2001 From: Joshua Melville Date: Tue, 29 Aug 2023 20:53:36 +0200 Subject: [PATCH 7/8] add postcss configuration --- .browserslistrc | 1 + config/webpack.config.js | 105 +- package-lock.json | 136565 ++++++++++++++++++------------------ package.json | 13 +- postcss.config.js | 3 + src/styles/_grid.scss | 1 + 6 files changed, 66712 insertions(+), 69976 deletions(-) create mode 100644 .browserslistrc create mode 100644 postcss.config.js diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 000000000..cb0f4177d --- /dev/null +++ b/.browserslistrc @@ -0,0 +1 @@ +Electron 9.4.4 diff --git a/config/webpack.config.js b/config/webpack.config.js index d1d261ca5..d9176e014 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -17,9 +17,6 @@ * - [output](https://webpack.js.org/configuration/output/) */ -const autoprefixer = require('autoprefixer'); -const postUrl = require('postcss-url'); -const fs = require('fs'); const path = require('path'); const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); @@ -39,90 +36,9 @@ const publicUrl = publicPath.slice(0, -1); // Get environment variables to inject into our app. const env = getClientEnvironment(publicUrl); -// style files regexes -const cssRegex = /\.css$/; -// const cssModuleRegex = /\.module\.css$/; -const sassRegex = /\.(scss|sass)$/; -// const sassModuleRegex = /\.module\.(scss|sass)$/; - const isProduction = env.stringified['process.env'].NODE_ENV === '"production"'; -const shouldUseSourceMap = isProduction && (process.env.GENERATE_SOURCEMAP !== 'false'); - const cssFilenameTemplate = 'static/css/[name].[contenthash:8].css'; -// common function to get style loaders -const getStyleLoaders = (preProcessor) => { - // importLoaders: See https://webpack.js.org/loaders/css-loader/#importloaders - let importLoaders = 1; // for postcss-loader - if (preProcessor) { - importLoaders += 1; // for preProcessor - } - - let inlineStyleLoader = require.resolve('style-loader'); - if (isProduction) { - // Output CSS files, and rewrite paths relative from CSS dir - const cssRelativePath = Array(cssFilenameTemplate.split('/').length).join('../'); - inlineStyleLoader = { - loader: MiniCssExtractPlugin.loader, - options: { publicPath: cssRelativePath }, - }; - } - - const loaders = [ - inlineStyleLoader, - { - loader: require.resolve('css-loader'), - options: { importLoaders }, - }, - { - // Options for PostCSS as we reference these options twice - // Adds vendor prefixing based on your specified browser support in - // package.json - loader: require.resolve('postcss-loader'), - options: { - postcssOptions: { - plugins: [ - [ - 'autoprefixer', - { - flexbox: 'no-2009', - }, - ], - [ - 'postcss-url', - { - url: ({ url }) => { - /** - * If file exists in the Network Canvas submodule, update path to - * resolve there relatively from Architect. - */ - const ncPath = path.resolve('src', 'network-canvas', 'src', 'styles', url); - const ncCSSPath = `../network-canvas/src/styles/${url}`; - - try { - fs.accessSync(ncPath, fs.constants.R_OK); - return ncCSSPath; - } catch (err) { - return url; - } - }, - }, - ], - ], - }, - sourceMap: shouldUseSourceMap, - }, - }, - ]; - if (preProcessor) { - loaders.push({ - loader: require.resolve(preProcessor), - }); - // loaders.push(require.resolve(preProcessor)); - } - return loaders; -}; - const loaderRules = Object.freeze([ // Disable require.ensure as it's not a standard language feature. { parser: { requireEnsure: false } }, @@ -198,25 +114,9 @@ const loaderRules = Object.freeze([ }, }], }, - // "postcss" loader applies autoprefixer to our CSS. - // "css" loader resolves paths in CSS and adds assets as dependencies. - // "style" loader turns CSS into JS modules that inject