diff --git a/.fantasticonrc.js b/.fantasticonrc.js new file mode 100644 index 000000000..57334bc0c --- /dev/null +++ b/.fantasticonrc.js @@ -0,0 +1,22 @@ +module.exports = { + inputDir: './src/assets/font-icons', + outputDir: './src/styles', + name: 'icons', + fontTypes: ['woff2', 'woff'], + assetTypes: ['scss', 'ts'], + tag: '', + // Use a custom Handlebars template + templates: { + scss: './dev/icons.scss.hbs' + }, + formatOptions: { + ts: { + types: ['literalId'], + singleQuotes: true, + literalIdName: 'FontIconName', + }, + }, + pathOptions: { + ts: './src/types/icons/font.ts', + }, +}; diff --git a/dev/icons.scss.hbs b/dev/icons.scss.hbs new file mode 100644 index 000000000..61767bffd --- /dev/null +++ b/dev/icons.scss.hbs @@ -0,0 +1,49 @@ +@use "sass:map"; +${{ name }}-font: "{{ name }}"; + +@font-face { + font-family: ${{ name }}-font; + src: {{{ fontSrc }}}; + font-weight: normal; + font-style: normal; + font-display: block; +} + +.icon-char::before { + font-family: Roboto, "Helvetica Neue", sans-serif; + content: attr(data-char); + width: 1.5rem; + text-align: center; + display: block; +} + +{{# if selector }}{{ selector }}::before { +{{ else }}{{ tag }}.{{prefix}} { +{{/ if }} + /* use !important to prevent issues with browser extensions that change fonts */ + /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */ + font-family: "{{ name }}" !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +${{ name }}-map: ( +{{# each codepoints }} + "{{ @key }}": "\\{{ codepoint this }}", +{{/ each }} +); + +{{# each codepoints }} +{{# if ../selector }} {{ ../selector }}.{{ ../prefix }}-{{ @key }}::before { +{{ else }}{{ tag }}.{{ ../prefix }}-{{ @key }}::before { +{{/ if }} content: map.get(${{ ../name }}-map, "{{ @key }}"); +} +{{/ each }} diff --git a/package-lock.json b/package-lock.json index f4f06aa65..73702d428 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "license": "GPL-3.0-or-later", "dependencies": { "@cryptography/aes": "^0.1.1", + "@twbs/fantasticon": "^2.7.1", "async-mutex": "^0.4.0", "big-integer": "github:painor/BigInteger.js", "croppie": "^2.6.5", @@ -973,9 +974,10 @@ } }, "dev/eslint-multitab/node_modules/eslint-plugin-node/node_modules/semver": { - "version": "6.3.0", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -1931,9 +1933,10 @@ } }, "dev/eslint-multitab/node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } @@ -2047,9 +2050,10 @@ } }, "dev/eslint-multitab/node_modules/npm-run-all/node_modules/semver": { - "version": "5.7.1", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } @@ -2452,9 +2456,10 @@ } }, "dev/eslint-multitab/node_modules/semver": { - "version": "7.3.8", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -2851,9 +2856,10 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.0.1", - "dev": true, - "license": "MIT" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.1.tgz", + "integrity": "sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==", + "dev": true }, "node_modules/@ampproject/remapping": { "version": "2.2.0", @@ -4715,9 +4721,9 @@ } }, "node_modules/@babel/register/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" @@ -4926,13 +4932,14 @@ } }, "node_modules/@electron/notarize": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-1.2.4.tgz", - "integrity": "sha512-W5GQhJEosFNafewnS28d3bpQ37/s91CDWqxVchHfmv2dQSTWpOzNlUVQwYzC1ay5bChRV/A9BTL68yj0Pa+TSg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.1.0.tgz", + "integrity": "sha512-Q02xem1D0sg4v437xHgmBLxI2iz/fc0D4K7fiVWHa/AnW8o7D751xyKNXgziA6HrTOme9ul1JfWN5ark8WH1xA==", "dev": true, "dependencies": { "debug": "^4.1.1", - "fs-extra": "^9.0.1" + "fs-extra": "^9.0.1", + "promise-retry": "^2.0.1" }, "engines": { "node": ">= 10.0.0" @@ -4975,9 +4982,9 @@ } }, "node_modules/@electron/osx-sign": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.0.4.tgz", - "integrity": "sha512-xfhdEcIOfAZg7scZ9RQPya1G1lWo8/zMCwUXAulq0SfY7ONIW+b9qGyKdMyuMctNYwllrIS+vmxfijSfjeh97g==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.0.5.tgz", + "integrity": "sha512-k9ZzUQtamSoweGQDV2jILiRIHUu7lYlJ3c6IEmjv1hC17rclE+eb9U+f6UFlOOETo0JzY1HNlXy4YOlCvl+Lww==", "dev": true, "dependencies": { "compare-version": "^0.1.2", @@ -5007,122 +5014,10 @@ "url": "https://github.com/sponsors/gjtorikian/" } }, - "node_modules/@electron/rebuild": { - "version": "3.2.13", - "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.2.13.tgz", - "integrity": "sha512-DH9Ol4JCnHDYVOD0fKWq+Qqbn/0WU1O6QR0mIpMXEVU4YFM4PlaqNC9K36mGShNBxxGFotZCMDrB1wl/iHM12g==", - "dev": true, - "dependencies": { - "@malept/cross-spawn-promise": "^2.0.0", - "chalk": "^4.0.0", - "debug": "^4.1.1", - "detect-libc": "^2.0.1", - "fs-extra": "^10.0.0", - "got": "^11.7.0", - "node-abi": "^3.0.0", - "node-api-version": "^0.1.4", - "node-gyp": "^9.0.0", - "ora": "^5.1.0", - "semver": "^7.3.5", - "tar": "^6.0.5", - "yargs": "^17.0.1" - }, - "bin": { - "electron-rebuild": "lib/cli.js" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/@electron/rebuild/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@electron/rebuild/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@electron/rebuild/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@electron/rebuild/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@electron/rebuild/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/rebuild/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@electron/rebuild/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/@electron/universal": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.3.4.tgz", - "integrity": "sha512-BdhBgm2ZBnYyYRLRgOjM5VHkyFItsbggJ0MHycOjKWdFGYwK97ZFXH54dTvUWEfha81vfvwr5On6XBjt99uDcg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.4.1.tgz", + "integrity": "sha512-lE/U3UNw1YHuowNbTmKNs9UlS3En3cPgwM5MI+agIgr/B1hSze9NdOP0qn7boZaI9Lph8IDv3/24g9IxnJP7aQ==", "dev": true, "dependencies": { "@electron/asar": "^3.2.1", @@ -5137,28 +5032,6 @@ "node": ">=8.6" } }, - "node_modules/@electron/universal/node_modules/@malept/cross-spawn-promise": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", - "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/malept" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" - } - ], - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/@electron/universal/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -5278,12 +5151,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true - }, "node_modules/@glen/jest-raw-loader": { "version": "2.0.0", "dev": true, @@ -5324,6 +5191,74 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -6130,9 +6065,9 @@ "license": "MIT" }, "node_modules/@malept/cross-spawn-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", - "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", "dev": true, "funding": [ { @@ -6148,7 +6083,7 @@ "cross-spawn": "^7.0.1" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10" } }, "node_modules/@malept/flatpak-bundler": { @@ -6243,23 +6178,20 @@ } }, "node_modules/@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", - "dev": true, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", "dependencies": { - "@gar/promisify": "^1.1.3", "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -6270,30 +6202,13 @@ "node": ">=10" } }, - "node_modules/@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dev": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" + "node": ">=14" } }, "node_modules/@playwright/test": { @@ -6478,9 +6393,9 @@ } }, "node_modules/@statoscope/helpers/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -6831,12 +6746,44 @@ }, "node_modules/@tootallnate/once": { "version": "2.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">= 10" } }, + "node_modules/@twbs/fantasticon": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@twbs/fantasticon/-/fantasticon-2.7.1.tgz", + "integrity": "sha512-fCfmXnmVXs8TNV5qi4UJxJ8qJd/bvMujcpg597CWKm/m84/kEg6BB4g8pvl+fvg1LwhGvhQ0m3O4qnj0Qm9wjA==", + "dependencies": { + "change-case": "^4.1.2", + "commander": "^10.0.1", + "figures": "^3.2.0", + "glob": "^7.2.3", + "handlebars": "^4.7.7", + "picocolors": "^1.0.0", + "slugify": "^1.6.6", + "svg2ttf": "^6.0.3", + "svgicons2svgfont": "^12.0.0", + "ttf2eot": "^3.1.0", + "ttf2woff": "^3.0.0", + "ttf2woff2": "^5.0.0" + }, + "bin": { + "fantasticon": "bin/fantasticon" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@twbs/fantasticon/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "engines": { + "node": ">=14" + } + }, "node_modules/@types/archy": { "version": "0.0.32", "resolved": "https://registry.npmjs.org/@types/archy/-/archy-0.0.32.tgz", @@ -7455,9 +7402,10 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.8", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -7588,9 +7536,9 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -7746,9 +7694,9 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -7799,9 +7747,10 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.8", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -7838,9 +7787,10 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.3.8", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -8042,6 +7992,14 @@ } } }, + "node_modules/@xmldom/xmldom": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.13.tgz", + "integrity": "sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "dev": true, @@ -8072,8 +8030,7 @@ "node_modules/abbrev": { "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 + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "node_modules/accepts": { "version": "1.3.8", @@ -8134,7 +8091,6 @@ }, "node_modules/agent-base": { "version": "6.0.2", - "dev": true, "license": "MIT", "dependencies": { "debug": "4" @@ -8144,31 +8100,18 @@ } }, "node_modules/agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", - "dev": true, + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", "humanize-ms": "^1.2.1" }, "engines": { "node": ">= 8.0.0" } }, - "node_modules/agentkeepalive/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/aggregate-error": { "version": "3.1.0", - "dev": true, "license": "MIT", "dependencies": { "clean-stack": "^2.0.0", @@ -8299,7 +8242,6 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -8335,16 +8277,15 @@ "dev": true }, "node_modules/app-builder-lib": { - "version": "24.5.2", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-24.5.2.tgz", - "integrity": "sha512-fZbUrFl3FW7yw92KiDpXV3Nd84EW+D7/WU7MEjX2eHDWM45Qx4hYOZpL9PaT9ZzZbaNfNLmt2EOnoqHQXHLdKw==", + "version": "24.6.4", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-24.6.4.tgz", + "integrity": "sha512-m9931WXb83teb32N0rKg+ulbn6+Hl8NV5SUpVDOVz9MWOXfhV6AQtTdftf51zJJvCQnQugGtSqoLvgw6mdF/Rg==", "dev": true, "dependencies": { "@develar/schema-utils": "~2.6.5", - "@electron/notarize": "^1.2.3", - "@electron/osx-sign": "^1.0.4", - "@electron/rebuild": "3.2.13", - "@electron/universal": "1.3.4", + "@electron/notarize": "2.1.0", + "@electron/osx-sign": "1.0.5", + "@electron/universal": "1.4.1", "@malept/flatpak-bundler": "^0.4.0", "@types/fs-extra": "9.0.13", "7zip-bin": "~5.1.1", @@ -8409,9 +8350,9 @@ } }, "node_modules/app-builder-lib/node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -8426,8 +8367,7 @@ "node_modules/aproba": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, "node_modules/arch": { "version": "2.2.0", @@ -8458,7 +8398,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -8474,7 +8413,6 @@ }, "node_modules/argparse": { "version": "2.0.1", - "dev": true, "license": "Python-2.0" }, "node_modules/aria-query": { @@ -8976,7 +8914,6 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "dev": true, "license": "MIT" }, "node_modules/base64-js": { @@ -9019,39 +8956,12 @@ "node": ">=8" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "file-uri-to-path": "1.0.0" } }, "node_modules/bluebird": { @@ -9243,7 +9153,6 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -9358,6 +9267,17 @@ "dev": true, "license": "MIT" }, + "node_modules/bufferstreams": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-3.0.0.tgz", + "integrity": "sha512-Qg0ggJUWJq90vtg4lDsGN9CDWvzBMQxhiEkSOD/sJfYt6BLect3eV1/S6K7SCSKJ34n60rf6U5eUPmQENVE4UA==", + "dependencies": { + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">=8.12.0" + } + }, "node_modules/builder-util": { "version": "24.5.0", "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-24.5.0.tgz", @@ -9497,93 +9417,95 @@ } }, "node_modules/cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "dev": true, + "version": "17.1.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", + "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^7.0.3", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11", - "unique-filename": "^2.0.0" + "unique-filename": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/cacache/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/cacache/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, + "node_modules/cacache/node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "minipass": "^7.0.3" }, "engines": { - "node": ">=12" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz", + "integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/cacache/node_modules/lru-cache": { - "version": "7.18.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.1.tgz", - "integrity": "sha512-8/HcIENyQnfUTCDizRu9rrDyG6XG/21M4X7/YEGZeD76ZJilFPAUVb/2zysFf7VVO1LEjCDFyHp8pMMvozIrvg==", - "dev": true, + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "engines": { "node": ">=12" } }, "node_modules/cacache/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, + "node_modules/cacache/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" } }, "node_modules/cacheable-lookup": { @@ -9650,7 +9572,6 @@ }, "node_modules/camel-case": { "version": "4.1.2", - "dev": true, "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", @@ -9682,9 +9603,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001469", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz", - "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==", + "version": "1.0.30001532", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001532.tgz", + "integrity": "sha512-FbDFnNat3nMnrROzqrsg314zhqN5LGQ1kyyMk2opcrwGbVGpHRhgCWtAgD5YJUqNAiQ+dklreil/c3Qf1dfCTw==", "dev": true, "funding": [ { @@ -9694,9 +9615,23 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, + "node_modules/capital-case": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", + "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, "node_modules/chalk": { "version": "2.4.2", "dev": true, @@ -9788,6 +9723,25 @@ "node": ">=8" } }, + "node_modules/change-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", + "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", + "dependencies": { + "camel-case": "^4.1.2", + "capital-case": "^1.0.4", + "constant-case": "^3.0.4", + "dot-case": "^3.0.4", + "header-case": "^2.0.4", + "no-case": "^3.0.4", + "param-case": "^3.0.4", + "pascal-case": "^3.1.2", + "path-case": "^3.0.4", + "sentence-case": "^3.0.4", + "snake-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", @@ -9846,7 +9800,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, "engines": { "node": ">=10" } @@ -9892,7 +9845,6 @@ }, "node_modules/clean-stack": { "version": "2.2.0", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -9920,18 +9872,6 @@ "node": ">=8" } }, - "node_modules/cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cli-truncate": { "version": "3.1.0", "dev": true, @@ -10002,15 +9942,6 @@ "node": ">=8" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/clone-deep": { "version": "4.0.1", "dev": true, @@ -10080,7 +10011,6 @@ "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, "bin": { "color-support": "bin.js" } @@ -10171,7 +10101,6 @@ }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, "license": "MIT" }, "node_modules/concurrently": { @@ -10333,9 +10262,9 @@ "dev": true }, "node_modules/conf/node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -10386,8 +10315,17 @@ "node_modules/console-control-strings": { "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 + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/constant-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", + "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case": "^2.0.2" + } }, "node_modules/content-disposition": { "version": "0.5.2", @@ -10513,7 +10451,6 @@ }, "node_modules/cross-spawn": { "version": "7.0.3", - "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -10567,9 +10504,10 @@ } }, "node_modules/css-loader/node_modules/semver": { - "version": "7.3.8", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -10648,6 +10586,11 @@ "dev": true, "license": "MIT" }, + "node_modules/cubic2quad": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cubic2quad/-/cubic2quad-1.2.1.tgz", + "integrity": "sha512-wT5Y7mO8abrV16gnssKdmIhIbA9wSkeMzhh27jAguKrV82i24wER0vL5TGhUJ9dbJNDcigoRZ0IAHFEEEI4THQ==" + }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "dev": true, @@ -10705,7 +10648,6 @@ }, "node_modules/debug": { "version": "4.3.4", - "dev": true, "license": "MIT", "dependencies": { "ms": "2.1.2" @@ -10846,18 +10788,6 @@ "node": ">= 10" } }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -10901,8 +10831,7 @@ "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, "node_modules/depd": { "version": "2.0.0", @@ -10921,15 +10850,6 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -10975,12 +10895,12 @@ } }, "node_modules/dmg-builder": { - "version": "24.5.2", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-24.5.2.tgz", - "integrity": "sha512-4qWGO3OM+1ipqvrKvskZRLDEvAPZdZwil6e40Tb8dKogpEhabrzcjpwoRycBy8FAx8R2EBQaFCtIp5rBO/DM8A==", + "version": "24.6.4", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-24.6.4.tgz", + "integrity": "sha512-BNcHRc9CWEuI9qt0E655bUBU/j/3wUCYBVKGu1kVpbN5lcUdEJJJeiO0NHK3dgKmra6LUUZlo+mWqc+OCbi0zw==", "dev": true, "dependencies": { - "app-builder-lib": "24.5.2", + "app-builder-lib": "24.6.4", "builder-util": "24.5.0", "builder-util-runtime": "9.2.1", "fs-extra": "^10.1.0", @@ -11154,7 +11074,6 @@ }, "node_modules/dot-case": { "version": "3.0.4", - "dev": true, "license": "MIT", "dependencies": { "no-case": "^3.0.4", @@ -11198,7 +11117,6 @@ }, "node_modules/eastasianwidth": { "version": "0.2.0", - "dev": true, "license": "MIT" }, "node_modules/ee-first": { @@ -11222,9 +11140,9 @@ } }, "node_modules/electron": { - "version": "22.3.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-22.3.2.tgz", - "integrity": "sha512-rcE01ammPJ9RVDF3sCETyeHiDEVxV49Ywn+wXUGiG+jGtOB6erLx5jnBTf2eSVYoTXqoIbigoxGHLq4nLMLLUg==", + "version": "22.3.23", + "resolved": "https://registry.npmjs.org/electron/-/electron-22.3.23.tgz", + "integrity": "sha512-2p6NsLFPfM2RmgATchjKZKBUP3O6NxQMWOrHt9W5U2GRtfI8qWlicUR1wnh5D1VLt4c1YsjvpF6dct+1JNRubA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -11240,21 +11158,21 @@ } }, "node_modules/electron-builder": { - "version": "24.5.2", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-24.5.2.tgz", - "integrity": "sha512-rxlUSSqziRMdTSSzti7It4R7wmuttouMhgTiF0HmoTXvaBKlmHPgkQjaI8ZFIZ0Rg+2TFPlPdMu2BwX3+6HJCg==", + "version": "24.6.4", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-24.6.4.tgz", + "integrity": "sha512-uNWQoU7pE7qOaIQ6CJHpBi44RJFVG8OHRBIadUxrsDJVwLLo8Nma3K/EEtx5/UyWAQYdcK4nVPYKoRqBb20hbA==", "dev": true, "dependencies": { - "app-builder-lib": "24.5.2", + "app-builder-lib": "24.6.4", "builder-util": "24.5.0", "builder-util-runtime": "9.2.1", "chalk": "^4.1.2", - "dmg-builder": "24.5.2", + "dmg-builder": "24.6.4", "fs-extra": "^10.1.0", "is-ci": "^3.0.0", "lazy-val": "^1.0.5", "read-config-file": "6.3.2", - "simple-update-notifier": "^1.1.0", + "simple-update-notifier": "2.0.0", "yargs": "^17.6.2" }, "bin": { @@ -11635,9 +11553,9 @@ } }, "node_modules/electron-updater/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -11760,7 +11678,6 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "dev": true, "license": "MIT" }, "node_modules/encodeurl": { @@ -11775,7 +11692,6 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, "optional": true, "dependencies": { "iconv-lite": "^0.6.2" @@ -11785,7 +11701,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -11830,7 +11745,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, "engines": { "node": ">=6" } @@ -11850,8 +11764,7 @@ "node_modules/err-code": { "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 + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" }, "node_modules/error-ex": { "version": "1.3.2", @@ -11976,7 +11889,6 @@ }, "node_modules/escape-string-regexp": { "version": "1.0.5", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8.0" @@ -12239,9 +12151,10 @@ } }, "node_modules/eslint-import-resolver-webpack/node_modules/semver": { - "version": "5.7.1", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } @@ -12845,6 +12758,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==" + }, "node_modules/express": { "version": "4.18.2", "dev": true, @@ -13122,6 +13040,20 @@ "pend": "~1.2.0" } }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "dev": true, @@ -13133,6 +13065,11 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -13284,6 +13221,32 @@ "is-callable": "^1.1.3" } }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/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==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/form-data": { "version": "4.0.0", "dev": true, @@ -13370,7 +13333,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -13385,7 +13347,6 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/fsevents": { @@ -13433,7 +13394,6 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.3", @@ -13451,14 +13411,12 @@ "node_modules/gauge/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 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "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, "engines": { "node": ">=8" } @@ -13467,7 +13425,6 @@ "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", @@ -13579,7 +13536,6 @@ }, "node_modules/glob": { "version": "7.2.3", - "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -13631,9 +13587,9 @@ } }, "node_modules/global-agent/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "optional": true, "dependencies": { @@ -13766,7 +13722,6 @@ }, "node_modules/graceful-fs": { "version": "4.2.10", - "dev": true, "license": "ISC" }, "node_modules/grapheme-splitter": { @@ -13794,6 +13749,26 @@ "dev": true, "license": "MIT" }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, "node_modules/hard-rejection": { "version": "2.1.0", "dev": true, @@ -13868,8 +13843,7 @@ "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "node_modules/he": { "version": "1.2.0", @@ -13879,6 +13853,15 @@ "he": "bin/he" } }, + "node_modules/header-case": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz", + "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==", + "dependencies": { + "capital-case": "^1.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/highlight.js": { "version": "11.7.0", "license": "BSD-3-Clause", @@ -14047,8 +14030,7 @@ "node_modules/http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, "node_modules/http-deceiver": { "version": "1.2.7", @@ -14090,7 +14072,6 @@ }, "node_modules/http-proxy-agent": { "version": "5.0.0", - "dev": true, "license": "MIT", "dependencies": { "@tootallnate/once": "2", @@ -14162,7 +14143,6 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "6", @@ -14184,7 +14164,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, "dependencies": { "ms": "^2.0.0" } @@ -14446,7 +14425,6 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8.19" @@ -14454,21 +14432,13 @@ }, "node_modules/indent-string": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, "node_modules/inflight": { "version": "1.0.6", - "dev": true, "license": "ISC", "dependencies": { "once": "^1.3.0", @@ -14477,7 +14447,6 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, "license": "ISC" }, "node_modules/ini": { @@ -14509,8 +14478,7 @@ "node_modules/ip": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" }, "node_modules/ipaddr.js": { "version": "2.0.1", @@ -14683,20 +14651,10 @@ "node": ">=0.10.0" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-lambda": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" }, "node_modules/is-map": { "version": "2.0.2", @@ -14879,17 +14837,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-weakmap": { "version": "2.0.1", "dev": true, @@ -14951,7 +14898,6 @@ }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, "license": "ISC" }, "node_modules/isobject": { @@ -15049,6 +14995,23 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.3.tgz", + "integrity": "sha512-R2bUw+kVZFS/h1AZqBKrSgDmdmjApzgY0AlCPumopFiAlbUxE2gf+SCuBzQ0cP5hHmUmFYF5yw55T97Th5Kstg==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jake": { "version": "10.8.7", "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", @@ -16374,9 +16337,9 @@ } }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -17292,7 +17255,6 @@ }, "node_modules/lodash": { "version": "4.17.21", - "dev": true, "license": "MIT" }, "node_modules/lodash.camelcase": { @@ -17333,85 +17295,6 @@ "dev": true, "license": "MIT" }, - "node_modules/log-symbols": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/log-update": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", @@ -17536,7 +17419,6 @@ }, "node_modules/lower-case": { "version": "2.0.2", - "dev": true, "license": "MIT", "dependencies": { "tslib": "^2.0.3" @@ -17567,7 +17449,6 @@ }, "node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -17591,41 +17472,46 @@ } }, "node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "dev": true, + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", "dependencies": { "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" + "ssri": "^10.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.18.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.1.tgz", - "integrity": "sha512-8/HcIENyQnfUTCDizRu9rrDyG6XG/21M4X7/YEGZeD76ZJilFPAUVb/2zysFf7VVO1LEjCDFyHp8pMMvozIrvg==", - "dev": true, + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "engines": { "node": ">=12" } }, + "node_modules/make-fetch-happen/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -17777,6 +17663,11 @@ "node": ">= 0.6" } }, + "node_modules/microbuffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/microbuffer/-/microbuffer-1.0.0.tgz", + "integrity": "sha512-O/SUXauVN4x6RaEJFqSPcXNtLFL+QzJHKZlyDVYFwcDDRVca3Fa/37QXXC+4zAGGa4YhHrHxKXuuHvLDIQECtA==" + }, "node_modules/micromatch": { "version": "4.0.5", "dev": true, @@ -17870,7 +17761,6 @@ }, "node_modules/minimatch": { "version": "3.1.2", - "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -17881,7 +17771,6 @@ }, "node_modules/minimist": { "version": "1.2.7", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -17904,7 +17793,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -17916,7 +17804,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -17925,27 +17812,33 @@ } }, "node_modules/minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "dev": true, + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", "dependencies": { - "minipass": "^3.1.6", + "minipass": "^7.0.3", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" }, "optionalDependencies": { "encoding": "^0.1.13" } }, + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/minipass-flush": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -17957,7 +17850,6 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -17969,7 +17861,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -17981,7 +17872,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -18006,7 +17896,6 @@ }, "node_modules/ms": { "version": "2.1.2", - "dev": true, "license": "MIT" }, "node_modules/multicast-dns": { @@ -18021,6 +17910,11 @@ "multicast-dns": "cli.js" } }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + }, "node_modules/nanoid": { "version": "3.3.4", "dev": true, @@ -18044,7 +17938,6 @@ }, "node_modules/negotiator": { "version": "0.6.3", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -18052,45 +17945,16 @@ }, "node_modules/neo-async": { "version": "2.6.2", - "dev": true, "license": "MIT" }, "node_modules/no-case": { "version": "3.0.4", - "dev": true, "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" } }, - "node_modules/node-abi": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.33.0.tgz", - "integrity": "sha512-7GGVawqyHF4pfd0YFybhv/eM9JwTtPqx0mAanQ146O3FlSh3pA24zf9IRQTOsfTSqXTNzPSP5iagAJ94jjuVog==", - "dev": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-abi/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/node-addon-api": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", @@ -18098,30 +17962,6 @@ "dev": true, "optional": true }, - "node_modules/node-api-version": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.1.4.tgz", - "integrity": "sha512-KGXihXdUChwJAOHO53bv9/vXcLmdUsZ6jIptbvYvkpKfth+r7jw44JkVxQFA3kX5nQjzjmGu1uAu/xNNLNlI5g==", - "dev": true, - "dependencies": { - "semver": "^7.3.5" - } - }, - "node_modules/node-api-version/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/node-forge": { "version": "1.3.1", "dev": true, @@ -18131,15 +17971,15 @@ } }, "node_modules/node-gyp": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", - "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", - "dev": true, + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz", + "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==", "dependencies": { "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", + "make-fetch-happen": "^11.0.3", "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", @@ -18155,10 +17995,9 @@ } }, "node_modules/node-gyp/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -18185,7 +18024,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", - "dev": true, "dependencies": { "abbrev": "^1.0.0" }, @@ -18211,9 +18049,10 @@ } }, "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.3.8", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -18267,7 +18106,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, "dependencies": { "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", @@ -18434,7 +18272,6 @@ }, "node_modules/once": { "version": "1.4.0", - "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -18491,99 +18328,6 @@ "resolved": "git+ssh://git@github.com/Ajaxy/opus-recorder.git#116830a94120baad5ac60ac060c2ecd032b6107b", "license": "MIT" }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/ora/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/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/os-browserify": { "version": "0.3.0", "license": "MIT" @@ -18627,7 +18371,6 @@ }, "node_modules/p-map": { "version": "4.0.0", - "dev": true, "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" @@ -18665,7 +18408,6 @@ }, "node_modules/param-case": { "version": "3.0.4", - "dev": true, "license": "MIT", "dependencies": { "dot-case": "^3.0.4", @@ -18721,7 +18463,6 @@ }, "node_modules/pascal-case": { "version": "3.1.2", - "dev": true, "license": "MIT", "dependencies": { "no-case": "^3.0.4", @@ -18732,6 +18473,15 @@ "version": "1.0.1", "license": "MIT" }, + "node_modules/path-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", + "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/path-exists": { "version": "4.0.0", "dev": true, @@ -18742,7 +18492,6 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -18755,7 +18504,6 @@ }, "node_modules/path-key": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -18766,6 +18514,37 @@ "dev": true, "license": "MIT" }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-to-regexp": { "version": "2.2.1", "dev": true, @@ -18787,7 +18566,6 @@ }, "node_modules/picocolors": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { @@ -18975,16 +18753,26 @@ } }, "node_modules/plist": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz", - "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", "dev": true, "dependencies": { + "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", "xmlbuilder": "^15.1.1" }, "engines": { - "node": ">=6" + "node": ">=10.4.0" + } + }, + "node_modules/plist/node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "dev": true, + "engines": { + "node": ">=10.0.0" } }, "node_modules/postcss": { @@ -19051,9 +18839,10 @@ } }, "node_modules/postcss-loader/node_modules/semver": { - "version": "7.3.8", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -19256,17 +19045,10 @@ "node": ">=0.4.0" } }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, "node_modules/promise-retry": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" @@ -19279,7 +19061,6 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, "engines": { "node": ">= 4" } @@ -19649,9 +19430,10 @@ } }, "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } @@ -19666,7 +19448,6 @@ }, "node_modules/readable-stream": { "version": "3.6.0", - "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -19970,7 +19751,6 @@ }, "node_modules/rimraf": { "version": "3.0.2", - "dev": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -20071,7 +19851,7 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/sanitize-filename": { @@ -20141,8 +19921,7 @@ "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "node_modules/saxes": { "version": "6.0.0", @@ -20230,9 +20009,10 @@ } }, "node_modules/semver": { - "version": "6.3.0", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -20293,6 +20073,16 @@ "node": ">= 0.6" } }, + "node_modules/sentence-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", + "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, "node_modules/serialize-error": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", @@ -20507,8 +20297,7 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, "node_modules/setprototypeof": { "version": "1.2.0", @@ -20528,7 +20317,6 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -20539,7 +20327,6 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -20568,28 +20355,33 @@ }, "node_modules/signal-exit": { "version": "3.0.7", - "dev": true, "license": "ISC" }, "node_modules/simple-update-notifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", - "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", "dev": true, "dependencies": { - "semver": "~7.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8.10.0" + "node": ">=10" } }, "node_modules/simple-update-notifier/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/sisteransi": { @@ -20632,16 +20424,32 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/sockjs": { "version": "0.3.24", "dev": true, @@ -20656,7 +20464,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "dev": true, "dependencies": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -20670,7 +20477,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -20706,7 +20512,6 @@ }, "node_modules/source-map": { "version": "0.6.1", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -20799,15 +20604,22 @@ "dev": true }, "node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", "dependencies": { - "minipass": "^3.1.1" + "minipass": "^7.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ssri/node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "engines": { + "node": ">=16 || 14 >=14.17" } }, "node_modules/stack-utils": { @@ -20848,7 +20660,6 @@ }, "node_modules/string_decoder": { "version": "1.3.0", - "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" @@ -20856,7 +20667,6 @@ }, "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.2.1", - "dev": true, "funding": [ { "type": "github", @@ -20906,7 +20716,6 @@ }, "node_modules/string-width": { "version": "5.1.2", - "dev": true, "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", @@ -20920,9 +20729,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/string-width-cjs": { + "name": "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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==" + }, + "node_modules/string-width-cjs/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==", + "engines": { + "node": ">=8" + } + }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -20933,7 +20768,6 @@ }, "node_modules/string-width/node_modules/strip-ansi": { "version": "7.0.1", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" @@ -20991,7 +20825,6 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -21000,6 +20833,18 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -21309,10 +21154,104 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/svg-tags": { "version": "1.0.0", "dev": true }, + "node_modules/svg2ttf": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg2ttf/-/svg2ttf-6.0.3.tgz", + "integrity": "sha512-CgqMyZrbOPpc+WqH7aga4JWkDPso23EgypLsbQ6gN3uoPWwwiLjXvzgrwGADBExvCRJrWFzAeK1bSoSpE7ixSQ==", + "dependencies": { + "@xmldom/xmldom": "^0.7.2", + "argparse": "^2.0.1", + "cubic2quad": "^1.2.1", + "lodash": "^4.17.10", + "microbuffer": "^1.0.0", + "svgpath": "^2.1.5" + }, + "bin": { + "svg2ttf": "svg2ttf.js" + } + }, + "node_modules/svgicons2svgfont": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/svgicons2svgfont/-/svgicons2svgfont-12.0.0.tgz", + "integrity": "sha512-fjyDkhiG0M1TPBtZzD12QV3yDcG2fUgiqHPOCYzf7hHE40Hl3GhnE6P1njsJCCByhwM7MiufyDW3L7IOR5dg9w==", + "dependencies": { + "commander": "^9.3.0", + "glob": "^8.0.3", + "sax": "^1.2.4", + "svg-pathdata": "^6.0.3" + }, + "bin": { + "svgicons2svgfont": "bin/svgicons2svgfont.js" + }, + "engines": { + "node": ">=16.15.0" + } + }, + "node_modules/svgicons2svgfont/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/svgicons2svgfont/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/svgicons2svgfont/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/svgicons2svgfont/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/svgpath": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/svgpath/-/svgpath-2.6.0.tgz", + "integrity": "sha512-OIWR6bKzXvdXYyO4DK/UWa1VA1JeKq8E+0ug2DG98Y/vOmMpfZNj+TIG988HjfYSqtcy/hFOtZq/n/j5GSESNg==", + "funding": { + "url": "https://github.com/fontello/svg2ttf?sponsor=1" + } + }, "node_modules/symbol-tree": { "version": "3.2.4", "dev": true, @@ -21437,7 +21376,6 @@ "version": "6.1.13", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", - "dev": true, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -21454,7 +21392,6 @@ "version": "4.2.4", "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz", "integrity": "sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==", - "dev": true, "engines": { "node": ">=8" } @@ -21463,7 +21400,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -21696,9 +21632,10 @@ } }, "node_modules/tough-cookie": { - "version": "4.1.2", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -21774,9 +21711,10 @@ } }, "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -21815,6 +21753,52 @@ "dev": true, "license": "0BSD" }, + "node_modules/ttf2eot": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ttf2eot/-/ttf2eot-3.1.0.tgz", + "integrity": "sha512-aHTbcYosNHVqb2Qtt9Xfta77ae/5y0VfdwNLUS6sGBeGr22cX2JDMo/i5h3uuOf+FAD3akYOr17+fYd5NK8aXw==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "ttf2eot": "ttf2eot.js" + } + }, + "node_modules/ttf2woff": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ttf2woff/-/ttf2woff-3.0.0.tgz", + "integrity": "sha512-OvmFcj70PhmAsVQKfC15XoKH55cRWuaRzvr2fpTNhTNer6JBpG8n6vOhRrIgxMjcikyYt88xqYXMMVapJ4Rjvg==", + "dependencies": { + "argparse": "^2.0.1", + "pako": "^1.0.0" + }, + "bin": { + "ttf2woff": "ttf2woff.js" + } + }, + "node_modules/ttf2woff/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/ttf2woff2": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ttf2woff2/-/ttf2woff2-5.0.0.tgz", + "integrity": "sha512-FplhShJd3rT8JGa8N04YWQuP7xRvwr9AIq+9/z5O/5ubqNiCADshKl8v51zJDFkhDVcYpdUqUpm7T4M53Z2JoQ==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "bufferstreams": "^3.0.0", + "nan": "^2.14.2", + "node-gyp": "^9.0.0" + }, + "bin": { + "ttf2woff2": "bin/ttf2woff2.js" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/type-check": { "version": "0.4.0", "dev": true, @@ -21881,6 +21865,18 @@ "node": ">=12.20" } }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "dev": true, @@ -21932,27 +21928,25 @@ } }, "node_modules/unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dependencies": { - "unique-slug": "^3.0.0" + "unique-slug": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", "dependencies": { "imurmurhash": "^0.1.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/universalify": { @@ -22042,6 +22036,22 @@ "registry-url": "3.1.0" } }, + "node_modules/upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/uri-js": { "version": "4.4.1", "dev": true, @@ -22075,7 +22085,6 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, "license": "MIT" }, "node_modules/utila": { @@ -22211,15 +22220,6 @@ "minimalistic-assert": "^1.0.0" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, "node_modules/webidl-conversions": { "version": "7.0.0", "dev": true, @@ -22555,7 +22555,6 @@ }, "node_modules/which": { "version": "2.0.2", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -22619,7 +22618,6 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } @@ -22627,14 +22625,12 @@ "node_modules/wide-align/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 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/wide-align/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" } @@ -22643,7 +22639,6 @@ "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", @@ -22674,13 +22669,19 @@ "peer": true }, "node_modules/word-wrap": { - "version": "1.2.3", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, "node_modules/wrap-ansi": { "version": "7.0.0", "dev": true, @@ -22697,6 +22698,79 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrap-ansi-cjs/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==" + }, + "node_modules/wrap-ansi-cjs/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, @@ -22755,7 +22829,6 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, "license": "ISC" }, "node_modules/write-file-atomic": { @@ -22823,7 +22896,6 @@ }, "node_modules/yallist": { "version": "4.0.0", - "dev": true, "license": "ISC" }, "node_modules/yaml": { diff --git a/package.json b/package.json index 88884bb8b..10d2a6455 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "gramjs:tl": "node ./src/lib/gramjs/tl/generateModules.js", "gramjs:lint": "eslint src/lib/gramjs --ext .ts,.tsx,.js", "gramjs:lint:fix": "npm run gramjs:lint -- --fix", + "icons:build": "fantasticon", "test": "cross-env APP_ENV=test jest --verbose --silent --forceExit", "test:playwright": "playwright test", "test:record": "playwright codegen localhost:1235", @@ -66,6 +67,7 @@ "@statoscope/cli": "^5.26.1", "@statoscope/webpack-plugin": "^5.25.1", "@testing-library/jest-dom": "^5.16.5", + "@twbs/fantasticon": "^2.7.1", "@types/croppie": "^2.6.1", "@types/hast": "^2.3.4", "@types/jest": "^29.5.0", diff --git a/src/assets/font-icons/active-sessions.svg b/src/assets/font-icons/active-sessions.svg new file mode 100644 index 000000000..f825b7723 --- /dev/null +++ b/src/assets/font-icons/active-sessions.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/add-one-badge.svg b/src/assets/font-icons/add-one-badge.svg new file mode 100644 index 000000000..511d7d382 --- /dev/null +++ b/src/assets/font-icons/add-one-badge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/add-user-filled.svg b/src/assets/font-icons/add-user-filled.svg new file mode 100644 index 000000000..f86baf77e --- /dev/null +++ b/src/assets/font-icons/add-user-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/add-user.svg b/src/assets/font-icons/add-user.svg new file mode 100644 index 000000000..6dd768495 --- /dev/null +++ b/src/assets/font-icons/add-user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/add.svg b/src/assets/font-icons/add.svg new file mode 100644 index 000000000..8f7cb434a --- /dev/null +++ b/src/assets/font-icons/add.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/admin.svg b/src/assets/font-icons/admin.svg new file mode 100644 index 000000000..5383a3c10 --- /dev/null +++ b/src/assets/font-icons/admin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/allow-speak.svg b/src/assets/font-icons/allow-speak.svg new file mode 100644 index 000000000..81c8ef0b9 --- /dev/null +++ b/src/assets/font-icons/allow-speak.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/animals.svg b/src/assets/font-icons/animals.svg new file mode 100644 index 000000000..959c13c2e --- /dev/null +++ b/src/assets/font-icons/animals.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/animations.svg b/src/assets/font-icons/animations.svg new file mode 100644 index 000000000..50fd505fd --- /dev/null +++ b/src/assets/font-icons/animations.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/archive-filled.svg b/src/assets/font-icons/archive-filled.svg new file mode 100644 index 000000000..6e2b8c6e7 --- /dev/null +++ b/src/assets/font-icons/archive-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/archive-from-main.svg b/src/assets/font-icons/archive-from-main.svg new file mode 100644 index 000000000..9aa94e8bf --- /dev/null +++ b/src/assets/font-icons/archive-from-main.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/archive-to-main.svg b/src/assets/font-icons/archive-to-main.svg new file mode 100644 index 000000000..059787a47 --- /dev/null +++ b/src/assets/font-icons/archive-to-main.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/archive.svg b/src/assets/font-icons/archive.svg new file mode 100644 index 000000000..1b717322c --- /dev/null +++ b/src/assets/font-icons/archive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/arrow-down-circle.svg b/src/assets/font-icons/arrow-down-circle.svg new file mode 100644 index 000000000..663c3b01a --- /dev/null +++ b/src/assets/font-icons/arrow-down-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/arrow-down.svg b/src/assets/font-icons/arrow-down.svg new file mode 100644 index 000000000..515175bad --- /dev/null +++ b/src/assets/font-icons/arrow-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/arrow-left.svg b/src/assets/font-icons/arrow-left.svg new file mode 100644 index 000000000..6a6d5a1e7 --- /dev/null +++ b/src/assets/font-icons/arrow-left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/arrow-right.svg b/src/assets/font-icons/arrow-right.svg new file mode 100644 index 000000000..52c049d6e --- /dev/null +++ b/src/assets/font-icons/arrow-right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/attach.svg b/src/assets/font-icons/attach.svg new file mode 100644 index 000000000..72ad7b436 --- /dev/null +++ b/src/assets/font-icons/attach.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/avatar-archived-chats.svg b/src/assets/font-icons/avatar-archived-chats.svg new file mode 100644 index 000000000..5fb70b414 --- /dev/null +++ b/src/assets/font-icons/avatar-archived-chats.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/avatar-deleted-account.svg b/src/assets/font-icons/avatar-deleted-account.svg new file mode 100644 index 000000000..a135a5602 --- /dev/null +++ b/src/assets/font-icons/avatar-deleted-account.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/avatar-saved-messages.svg b/src/assets/font-icons/avatar-saved-messages.svg new file mode 100644 index 000000000..576d098c7 --- /dev/null +++ b/src/assets/font-icons/avatar-saved-messages.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/bold.svg b/src/assets/font-icons/bold.svg new file mode 100644 index 000000000..c69d14c6b --- /dev/null +++ b/src/assets/font-icons/bold.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/bot-command.svg b/src/assets/font-icons/bot-command.svg new file mode 100644 index 000000000..04879c63b --- /dev/null +++ b/src/assets/font-icons/bot-command.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/bot-commands-filled.svg b/src/assets/font-icons/bot-commands-filled.svg new file mode 100644 index 000000000..44b4d14eb --- /dev/null +++ b/src/assets/font-icons/bot-commands-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/bots.svg b/src/assets/font-icons/bots.svg new file mode 100644 index 000000000..be9bc0beb --- /dev/null +++ b/src/assets/font-icons/bots.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/bug.svg b/src/assets/font-icons/bug.svg new file mode 100644 index 000000000..048389bcf --- /dev/null +++ b/src/assets/font-icons/bug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/calendar-filter.svg b/src/assets/font-icons/calendar-filter.svg new file mode 100644 index 000000000..fc914a536 --- /dev/null +++ b/src/assets/font-icons/calendar-filter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/calendar.svg b/src/assets/font-icons/calendar.svg new file mode 100644 index 000000000..1bf855f80 --- /dev/null +++ b/src/assets/font-icons/calendar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/camera-add.svg b/src/assets/font-icons/camera-add.svg new file mode 100644 index 000000000..203b3894f --- /dev/null +++ b/src/assets/font-icons/camera-add.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/camera.svg b/src/assets/font-icons/camera.svg new file mode 100644 index 000000000..2d7e5c026 --- /dev/null +++ b/src/assets/font-icons/camera.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/car.svg b/src/assets/font-icons/car.svg new file mode 100644 index 000000000..b7bd8626c --- /dev/null +++ b/src/assets/font-icons/car.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/card.svg b/src/assets/font-icons/card.svg new file mode 100644 index 000000000..f485ec8c5 --- /dev/null +++ b/src/assets/font-icons/card.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/channel-filled.svg b/src/assets/font-icons/channel-filled.svg new file mode 100644 index 000000000..7a709e2bd --- /dev/null +++ b/src/assets/font-icons/channel-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/channel.svg b/src/assets/font-icons/channel.svg new file mode 100644 index 000000000..08144569c --- /dev/null +++ b/src/assets/font-icons/channel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/channelviews.svg b/src/assets/font-icons/channelviews.svg new file mode 100644 index 000000000..565036090 --- /dev/null +++ b/src/assets/font-icons/channelviews.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/chat-badge.svg b/src/assets/font-icons/chat-badge.svg new file mode 100644 index 000000000..f40e59b72 --- /dev/null +++ b/src/assets/font-icons/chat-badge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/chats-badge.svg b/src/assets/font-icons/chats-badge.svg new file mode 100644 index 000000000..23ec1ff87 --- /dev/null +++ b/src/assets/font-icons/chats-badge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/check.svg b/src/assets/font-icons/check.svg new file mode 100644 index 000000000..226b71e78 --- /dev/null +++ b/src/assets/font-icons/check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/close-circle.svg b/src/assets/font-icons/close-circle.svg new file mode 100644 index 000000000..056ec9129 --- /dev/null +++ b/src/assets/font-icons/close-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/close-topic.svg b/src/assets/font-icons/close-topic.svg new file mode 100644 index 000000000..20b4d61c7 --- /dev/null +++ b/src/assets/font-icons/close-topic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/close.svg b/src/assets/font-icons/close.svg new file mode 100644 index 000000000..b4dc10ea7 --- /dev/null +++ b/src/assets/font-icons/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/cloud-download.svg b/src/assets/font-icons/cloud-download.svg new file mode 100644 index 000000000..1a0046301 --- /dev/null +++ b/src/assets/font-icons/cloud-download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/collapse.svg b/src/assets/font-icons/collapse.svg new file mode 100644 index 000000000..94a467cd1 --- /dev/null +++ b/src/assets/font-icons/collapse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/colorize.svg b/src/assets/font-icons/colorize.svg new file mode 100644 index 000000000..6b179207f --- /dev/null +++ b/src/assets/font-icons/colorize.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/comments-sticker.svg b/src/assets/font-icons/comments-sticker.svg new file mode 100644 index 000000000..7c6eb28fa --- /dev/null +++ b/src/assets/font-icons/comments-sticker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/comments.svg b/src/assets/font-icons/comments.svg new file mode 100644 index 000000000..821a399ba --- /dev/null +++ b/src/assets/font-icons/comments.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/copy-media.svg b/src/assets/font-icons/copy-media.svg new file mode 100644 index 000000000..eaa52d030 --- /dev/null +++ b/src/assets/font-icons/copy-media.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/copy.svg b/src/assets/font-icons/copy.svg new file mode 100644 index 000000000..dc6fbcbe7 --- /dev/null +++ b/src/assets/font-icons/copy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/darkmode.svg b/src/assets/font-icons/darkmode.svg new file mode 100644 index 000000000..1e4a423bb --- /dev/null +++ b/src/assets/font-icons/darkmode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/data.svg b/src/assets/font-icons/data.svg new file mode 100644 index 000000000..2fdae1d4d --- /dev/null +++ b/src/assets/font-icons/data.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/delete-filled.svg b/src/assets/font-icons/delete-filled.svg new file mode 100644 index 000000000..34985f46c --- /dev/null +++ b/src/assets/font-icons/delete-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/delete-left.svg b/src/assets/font-icons/delete-left.svg new file mode 100644 index 000000000..63e64575b --- /dev/null +++ b/src/assets/font-icons/delete-left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/delete-user.svg b/src/assets/font-icons/delete-user.svg new file mode 100644 index 000000000..c0bf5f3d8 --- /dev/null +++ b/src/assets/font-icons/delete-user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/delete.svg b/src/assets/font-icons/delete.svg new file mode 100644 index 000000000..3266bd103 --- /dev/null +++ b/src/assets/font-icons/delete.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/document.svg b/src/assets/font-icons/document.svg new file mode 100644 index 000000000..39fe3be39 --- /dev/null +++ b/src/assets/font-icons/document.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/double-badge.svg b/src/assets/font-icons/double-badge.svg new file mode 100644 index 000000000..520b66b47 --- /dev/null +++ b/src/assets/font-icons/double-badge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/down.svg b/src/assets/font-icons/down.svg new file mode 100644 index 000000000..6547288c2 --- /dev/null +++ b/src/assets/font-icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/download.svg b/src/assets/font-icons/download.svg new file mode 100644 index 000000000..7c5946759 --- /dev/null +++ b/src/assets/font-icons/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/eats.svg b/src/assets/font-icons/eats.svg new file mode 100644 index 000000000..cccdbf06e --- /dev/null +++ b/src/assets/font-icons/eats.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/edit.svg b/src/assets/font-icons/edit.svg new file mode 100644 index 000000000..f86b77f1f --- /dev/null +++ b/src/assets/font-icons/edit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/email.svg b/src/assets/font-icons/email.svg new file mode 100644 index 000000000..71edc4c7a --- /dev/null +++ b/src/assets/font-icons/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/enter.svg b/src/assets/font-icons/enter.svg new file mode 100644 index 000000000..3e1c43fda --- /dev/null +++ b/src/assets/font-icons/enter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/expand.svg b/src/assets/font-icons/expand.svg new file mode 100644 index 000000000..ac3d66471 --- /dev/null +++ b/src/assets/font-icons/expand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/eye-closed-outline.svg b/src/assets/font-icons/eye-closed-outline.svg new file mode 100644 index 000000000..240e12ee6 --- /dev/null +++ b/src/assets/font-icons/eye-closed-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/eye-closed.svg b/src/assets/font-icons/eye-closed.svg new file mode 100644 index 000000000..270b1b9bf --- /dev/null +++ b/src/assets/font-icons/eye-closed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/eye-outline.svg b/src/assets/font-icons/eye-outline.svg new file mode 100644 index 000000000..0ebb379d5 --- /dev/null +++ b/src/assets/font-icons/eye-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/eye.svg b/src/assets/font-icons/eye.svg new file mode 100644 index 000000000..dbeddbd96 --- /dev/null +++ b/src/assets/font-icons/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/favorite-filled.svg b/src/assets/font-icons/favorite-filled.svg new file mode 100644 index 000000000..40690945e --- /dev/null +++ b/src/assets/font-icons/favorite-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/favorite.svg b/src/assets/font-icons/favorite.svg new file mode 100644 index 000000000..17353a82e --- /dev/null +++ b/src/assets/font-icons/favorite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/file-badge.svg b/src/assets/font-icons/file-badge.svg new file mode 100644 index 000000000..387f1ae4d --- /dev/null +++ b/src/assets/font-icons/file-badge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/flag.svg b/src/assets/font-icons/flag.svg new file mode 100644 index 000000000..958f776d1 --- /dev/null +++ b/src/assets/font-icons/flag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/folder-badge.svg b/src/assets/font-icons/folder-badge.svg new file mode 100644 index 000000000..df0d7981f --- /dev/null +++ b/src/assets/font-icons/folder-badge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/folder.svg b/src/assets/font-icons/folder.svg new file mode 100644 index 000000000..d75026e2c --- /dev/null +++ b/src/assets/font-icons/folder.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/fontsize.svg b/src/assets/font-icons/fontsize.svg new file mode 100644 index 000000000..cfe6e22a4 --- /dev/null +++ b/src/assets/font-icons/fontsize.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/forums.svg b/src/assets/font-icons/forums.svg new file mode 100644 index 000000000..57eb022e8 --- /dev/null +++ b/src/assets/font-icons/forums.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/forward.svg b/src/assets/font-icons/forward.svg new file mode 100644 index 000000000..d06dc8f0c --- /dev/null +++ b/src/assets/font-icons/forward.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/fullscreen.svg b/src/assets/font-icons/fullscreen.svg new file mode 100644 index 000000000..6abb93d7a --- /dev/null +++ b/src/assets/font-icons/fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/gifs.svg b/src/assets/font-icons/gifs.svg new file mode 100644 index 000000000..80575eebf --- /dev/null +++ b/src/assets/font-icons/gifs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/gift.svg b/src/assets/font-icons/gift.svg new file mode 100644 index 000000000..0df7d9740 --- /dev/null +++ b/src/assets/font-icons/gift.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/group-filled.svg b/src/assets/font-icons/group-filled.svg new file mode 100644 index 000000000..a5e34eca2 --- /dev/null +++ b/src/assets/font-icons/group-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/group.svg b/src/assets/font-icons/group.svg new file mode 100644 index 000000000..49c0853c4 --- /dev/null +++ b/src/assets/font-icons/group.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/grouped-disable.svg b/src/assets/font-icons/grouped-disable.svg new file mode 100644 index 000000000..f3267210a --- /dev/null +++ b/src/assets/font-icons/grouped-disable.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/grouped.svg b/src/assets/font-icons/grouped.svg new file mode 100644 index 000000000..1fa0b4628 --- /dev/null +++ b/src/assets/font-icons/grouped.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/hand-stop.svg b/src/assets/font-icons/hand-stop.svg new file mode 100644 index 000000000..540546b9f --- /dev/null +++ b/src/assets/font-icons/hand-stop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/hashtag.svg b/src/assets/font-icons/hashtag.svg new file mode 100644 index 000000000..a36000710 --- /dev/null +++ b/src/assets/font-icons/hashtag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/heart-outline.svg b/src/assets/font-icons/heart-outline.svg new file mode 100644 index 000000000..b95f808b1 --- /dev/null +++ b/src/assets/font-icons/heart-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/heart.svg b/src/assets/font-icons/heart.svg new file mode 100644 index 000000000..10e03ccc9 --- /dev/null +++ b/src/assets/font-icons/heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/help.svg b/src/assets/font-icons/help.svg new file mode 100644 index 000000000..d5242a795 --- /dev/null +++ b/src/assets/font-icons/help.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/info-filled.svg b/src/assets/font-icons/info-filled.svg new file mode 100644 index 000000000..c2a1930bd --- /dev/null +++ b/src/assets/font-icons/info-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/info.svg b/src/assets/font-icons/info.svg new file mode 100644 index 000000000..de1cb26b6 --- /dev/null +++ b/src/assets/font-icons/info.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/install.svg b/src/assets/font-icons/install.svg new file mode 100644 index 000000000..920af829d --- /dev/null +++ b/src/assets/font-icons/install.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/italic.svg b/src/assets/font-icons/italic.svg new file mode 100644 index 000000000..a68b2fe01 --- /dev/null +++ b/src/assets/font-icons/italic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/key.svg b/src/assets/font-icons/key.svg new file mode 100644 index 000000000..475899ef3 --- /dev/null +++ b/src/assets/font-icons/key.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/keyboard.svg b/src/assets/font-icons/keyboard.svg new file mode 100644 index 000000000..2d8a0c95e --- /dev/null +++ b/src/assets/font-icons/keyboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/lamp.svg b/src/assets/font-icons/lamp.svg new file mode 100644 index 000000000..987d23f10 --- /dev/null +++ b/src/assets/font-icons/lamp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/language.svg b/src/assets/font-icons/language.svg new file mode 100644 index 000000000..4dd2b2dd9 --- /dev/null +++ b/src/assets/font-icons/language.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/large-pause.svg b/src/assets/font-icons/large-pause.svg new file mode 100644 index 000000000..961e61008 --- /dev/null +++ b/src/assets/font-icons/large-pause.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/large-play.svg b/src/assets/font-icons/large-play.svg new file mode 100644 index 000000000..3b7c36a11 --- /dev/null +++ b/src/assets/font-icons/large-play.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/link-badge.svg b/src/assets/font-icons/link-badge.svg new file mode 100644 index 000000000..934209e2e --- /dev/null +++ b/src/assets/font-icons/link-badge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/link-broken.svg b/src/assets/font-icons/link-broken.svg new file mode 100644 index 000000000..157cf962d --- /dev/null +++ b/src/assets/font-icons/link-broken.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/link.svg b/src/assets/font-icons/link.svg new file mode 100644 index 000000000..098d6a357 --- /dev/null +++ b/src/assets/font-icons/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/location.svg b/src/assets/font-icons/location.svg new file mode 100644 index 000000000..01a5c7630 --- /dev/null +++ b/src/assets/font-icons/location.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/lock-badge.svg b/src/assets/font-icons/lock-badge.svg new file mode 100644 index 000000000..d1d5fccee --- /dev/null +++ b/src/assets/font-icons/lock-badge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/lock.svg b/src/assets/font-icons/lock.svg new file mode 100644 index 000000000..ba83cc0a5 --- /dev/null +++ b/src/assets/font-icons/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/logout.svg b/src/assets/font-icons/logout.svg new file mode 100644 index 000000000..0bce0fd46 --- /dev/null +++ b/src/assets/font-icons/logout.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/loop.svg b/src/assets/font-icons/loop.svg new file mode 100644 index 000000000..315162a56 --- /dev/null +++ b/src/assets/font-icons/loop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/mention.svg b/src/assets/font-icons/mention.svg new file mode 100644 index 000000000..86445e4bf --- /dev/null +++ b/src/assets/font-icons/mention.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/message-failed.svg b/src/assets/font-icons/message-failed.svg new file mode 100644 index 000000000..fc72bbe97 --- /dev/null +++ b/src/assets/font-icons/message-failed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/message-pending.svg b/src/assets/font-icons/message-pending.svg new file mode 100644 index 000000000..b5d64e59e --- /dev/null +++ b/src/assets/font-icons/message-pending.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/message-read.svg b/src/assets/font-icons/message-read.svg new file mode 100644 index 000000000..29534018e --- /dev/null +++ b/src/assets/font-icons/message-read.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/message-succeeded.svg b/src/assets/font-icons/message-succeeded.svg new file mode 100644 index 000000000..d6a8acced --- /dev/null +++ b/src/assets/font-icons/message-succeeded.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/message.svg b/src/assets/font-icons/message.svg new file mode 100644 index 000000000..9d5fb2443 --- /dev/null +++ b/src/assets/font-icons/message.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/microphone-alt.svg b/src/assets/font-icons/microphone-alt.svg new file mode 100644 index 000000000..38d103b7f --- /dev/null +++ b/src/assets/font-icons/microphone-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/microphone.svg b/src/assets/font-icons/microphone.svg new file mode 100644 index 000000000..fdcf30f0b --- /dev/null +++ b/src/assets/font-icons/microphone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/monospace.svg b/src/assets/font-icons/monospace.svg new file mode 100644 index 000000000..259dc0e83 --- /dev/null +++ b/src/assets/font-icons/monospace.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/more-circle.svg b/src/assets/font-icons/more-circle.svg new file mode 100644 index 000000000..0ee42d309 --- /dev/null +++ b/src/assets/font-icons/more-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/more.svg b/src/assets/font-icons/more.svg new file mode 100644 index 000000000..67676f099 --- /dev/null +++ b/src/assets/font-icons/more.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/mute.svg b/src/assets/font-icons/mute.svg new file mode 100644 index 000000000..41d4f2a17 --- /dev/null +++ b/src/assets/font-icons/mute.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/muted.svg b/src/assets/font-icons/muted.svg new file mode 100644 index 000000000..106b92d8b --- /dev/null +++ b/src/assets/font-icons/muted.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/new-chat-filled.svg b/src/assets/font-icons/new-chat-filled.svg new file mode 100644 index 000000000..49079435b --- /dev/null +++ b/src/assets/font-icons/new-chat-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/next.svg b/src/assets/font-icons/next.svg new file mode 100644 index 000000000..06c0e31f9 --- /dev/null +++ b/src/assets/font-icons/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/noise-suppression.svg b/src/assets/font-icons/noise-suppression.svg new file mode 100644 index 000000000..0caf62150 --- /dev/null +++ b/src/assets/font-icons/noise-suppression.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/non-contacts.svg b/src/assets/font-icons/non-contacts.svg new file mode 100644 index 000000000..527801c93 --- /dev/null +++ b/src/assets/font-icons/non-contacts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/open-in-new-tab.svg b/src/assets/font-icons/open-in-new-tab.svg new file mode 100644 index 000000000..5dc05875d --- /dev/null +++ b/src/assets/font-icons/open-in-new-tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/password-off.svg b/src/assets/font-icons/password-off.svg new file mode 100644 index 000000000..5c0344afb --- /dev/null +++ b/src/assets/font-icons/password-off.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/pause.svg b/src/assets/font-icons/pause.svg new file mode 100644 index 000000000..4d660af54 --- /dev/null +++ b/src/assets/font-icons/pause.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/permissions.svg b/src/assets/font-icons/permissions.svg new file mode 100644 index 000000000..00eaff0bb --- /dev/null +++ b/src/assets/font-icons/permissions.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/phone-discard-outline.svg b/src/assets/font-icons/phone-discard-outline.svg new file mode 100644 index 000000000..1b8718638 --- /dev/null +++ b/src/assets/font-icons/phone-discard-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/phone-discard.svg b/src/assets/font-icons/phone-discard.svg new file mode 100644 index 000000000..d755c9106 --- /dev/null +++ b/src/assets/font-icons/phone-discard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/phone.svg b/src/assets/font-icons/phone.svg new file mode 100644 index 000000000..3a841736d --- /dev/null +++ b/src/assets/font-icons/phone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/photo.svg b/src/assets/font-icons/photo.svg new file mode 100644 index 000000000..429622072 --- /dev/null +++ b/src/assets/font-icons/photo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/pin-badge.svg b/src/assets/font-icons/pin-badge.svg new file mode 100644 index 000000000..7b4d24521 --- /dev/null +++ b/src/assets/font-icons/pin-badge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/pin-list.svg b/src/assets/font-icons/pin-list.svg new file mode 100644 index 000000000..a4b14e29d --- /dev/null +++ b/src/assets/font-icons/pin-list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/pin.svg b/src/assets/font-icons/pin.svg new file mode 100644 index 000000000..b45159890 --- /dev/null +++ b/src/assets/font-icons/pin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/pinned-chat.svg b/src/assets/font-icons/pinned-chat.svg new file mode 100644 index 000000000..2515f9f79 --- /dev/null +++ b/src/assets/font-icons/pinned-chat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/pinned-message.svg b/src/assets/font-icons/pinned-message.svg new file mode 100644 index 000000000..9f0fe8778 --- /dev/null +++ b/src/assets/font-icons/pinned-message.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/pip.svg b/src/assets/font-icons/pip.svg new file mode 100644 index 000000000..08d327be5 --- /dev/null +++ b/src/assets/font-icons/pip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/play-story.svg b/src/assets/font-icons/play-story.svg new file mode 100644 index 000000000..d3a91b3e5 --- /dev/null +++ b/src/assets/font-icons/play-story.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/play.svg b/src/assets/font-icons/play.svg new file mode 100644 index 000000000..4ffbc6a8e --- /dev/null +++ b/src/assets/font-icons/play.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/poll.svg b/src/assets/font-icons/poll.svg new file mode 100644 index 000000000..1a2c88898 --- /dev/null +++ b/src/assets/font-icons/poll.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/premium.svg b/src/assets/font-icons/premium.svg new file mode 100644 index 000000000..46f6b1296 --- /dev/null +++ b/src/assets/font-icons/premium.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/previous.svg b/src/assets/font-icons/previous.svg new file mode 100644 index 000000000..c96661521 --- /dev/null +++ b/src/assets/font-icons/previous.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/readchats.svg b/src/assets/font-icons/readchats.svg new file mode 100644 index 000000000..13c8458e3 --- /dev/null +++ b/src/assets/font-icons/readchats.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/recent.svg b/src/assets/font-icons/recent.svg new file mode 100644 index 000000000..373732c18 --- /dev/null +++ b/src/assets/font-icons/recent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/reload.svg b/src/assets/font-icons/reload.svg new file mode 100644 index 000000000..99eda590c --- /dev/null +++ b/src/assets/font-icons/reload.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/remove.svg b/src/assets/font-icons/remove.svg new file mode 100644 index 000000000..3c0e826cd --- /dev/null +++ b/src/assets/font-icons/remove.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/reopen-topic.svg b/src/assets/font-icons/reopen-topic.svg new file mode 100644 index 000000000..260081ad5 --- /dev/null +++ b/src/assets/font-icons/reopen-topic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/replace.svg b/src/assets/font-icons/replace.svg new file mode 100644 index 000000000..8580ba90b --- /dev/null +++ b/src/assets/font-icons/replace.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/replies.svg b/src/assets/font-icons/replies.svg new file mode 100644 index 000000000..0042ceb93 --- /dev/null +++ b/src/assets/font-icons/replies.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/reply-filled.svg b/src/assets/font-icons/reply-filled.svg new file mode 100644 index 000000000..b2a8b45f2 --- /dev/null +++ b/src/assets/font-icons/reply-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/reply.svg b/src/assets/font-icons/reply.svg new file mode 100644 index 000000000..8fbc000c8 --- /dev/null +++ b/src/assets/font-icons/reply.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/revote.svg b/src/assets/font-icons/revote.svg new file mode 100644 index 000000000..c88cae622 --- /dev/null +++ b/src/assets/font-icons/revote.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/save-story.svg b/src/assets/font-icons/save-story.svg new file mode 100644 index 000000000..7093f4169 --- /dev/null +++ b/src/assets/font-icons/save-story.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/saved-messages.svg b/src/assets/font-icons/saved-messages.svg new file mode 100644 index 000000000..e45753396 --- /dev/null +++ b/src/assets/font-icons/saved-messages.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/schedule.svg b/src/assets/font-icons/schedule.svg new file mode 100644 index 000000000..62d04998f --- /dev/null +++ b/src/assets/font-icons/schedule.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/search.svg b/src/assets/font-icons/search.svg new file mode 100644 index 000000000..45b1dd4a3 --- /dev/null +++ b/src/assets/font-icons/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/select.svg b/src/assets/font-icons/select.svg new file mode 100644 index 000000000..8f12dae79 --- /dev/null +++ b/src/assets/font-icons/select.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/send-outline.svg b/src/assets/font-icons/send-outline.svg new file mode 100644 index 000000000..cd8168910 --- /dev/null +++ b/src/assets/font-icons/send-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/send.svg b/src/assets/font-icons/send.svg new file mode 100644 index 000000000..4a7cca2ab --- /dev/null +++ b/src/assets/font-icons/send.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/settings-filled.svg b/src/assets/font-icons/settings-filled.svg new file mode 100644 index 000000000..b9f741b88 --- /dev/null +++ b/src/assets/font-icons/settings-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/settings.svg b/src/assets/font-icons/settings.svg new file mode 100644 index 000000000..e50fbe594 --- /dev/null +++ b/src/assets/font-icons/settings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/share-filled.svg b/src/assets/font-icons/share-filled.svg new file mode 100644 index 000000000..090399b76 --- /dev/null +++ b/src/assets/font-icons/share-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/share-screen-outlined.svg b/src/assets/font-icons/share-screen-outlined.svg new file mode 100644 index 000000000..cb480ed2f --- /dev/null +++ b/src/assets/font-icons/share-screen-outlined.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/share-screen-stop.svg b/src/assets/font-icons/share-screen-stop.svg new file mode 100644 index 000000000..e080d42bb --- /dev/null +++ b/src/assets/font-icons/share-screen-stop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/share-screen.svg b/src/assets/font-icons/share-screen.svg new file mode 100644 index 000000000..760abcd1c --- /dev/null +++ b/src/assets/font-icons/share-screen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/sidebar.svg b/src/assets/font-icons/sidebar.svg new file mode 100644 index 000000000..56489bb88 --- /dev/null +++ b/src/assets/font-icons/sidebar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/skip-next.svg b/src/assets/font-icons/skip-next.svg new file mode 100644 index 000000000..f762a4e96 --- /dev/null +++ b/src/assets/font-icons/skip-next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/skip-previous.svg b/src/assets/font-icons/skip-previous.svg new file mode 100644 index 000000000..8018e50c8 --- /dev/null +++ b/src/assets/font-icons/skip-previous.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/smallscreen.svg b/src/assets/font-icons/smallscreen.svg new file mode 100644 index 000000000..dea74a169 --- /dev/null +++ b/src/assets/font-icons/smallscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/smile.svg b/src/assets/font-icons/smile.svg new file mode 100644 index 000000000..3b827ca23 --- /dev/null +++ b/src/assets/font-icons/smile.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/sort.svg b/src/assets/font-icons/sort.svg new file mode 100644 index 000000000..f2128cbf1 --- /dev/null +++ b/src/assets/font-icons/sort.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/speaker-muted-story.svg b/src/assets/font-icons/speaker-muted-story.svg new file mode 100644 index 000000000..0e6c81af9 --- /dev/null +++ b/src/assets/font-icons/speaker-muted-story.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/speaker-outline.svg b/src/assets/font-icons/speaker-outline.svg new file mode 100644 index 000000000..ab374e8aa --- /dev/null +++ b/src/assets/font-icons/speaker-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/speaker-story.svg b/src/assets/font-icons/speaker-story.svg new file mode 100644 index 000000000..d8c37108e --- /dev/null +++ b/src/assets/font-icons/speaker-story.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/speaker.svg b/src/assets/font-icons/speaker.svg new file mode 100644 index 000000000..b2821f35d --- /dev/null +++ b/src/assets/font-icons/speaker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/spoiler-disable.svg b/src/assets/font-icons/spoiler-disable.svg new file mode 100644 index 000000000..6672dec4f --- /dev/null +++ b/src/assets/font-icons/spoiler-disable.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/spoiler.svg b/src/assets/font-icons/spoiler.svg new file mode 100644 index 000000000..ee13336dd --- /dev/null +++ b/src/assets/font-icons/spoiler.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/sport.svg b/src/assets/font-icons/sport.svg new file mode 100644 index 000000000..a0a26cb12 --- /dev/null +++ b/src/assets/font-icons/sport.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/stats.svg b/src/assets/font-icons/stats.svg new file mode 100644 index 000000000..366dd1796 --- /dev/null +++ b/src/assets/font-icons/stats.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/stealth-future.svg b/src/assets/font-icons/stealth-future.svg new file mode 100644 index 000000000..7f66ceae4 --- /dev/null +++ b/src/assets/font-icons/stealth-future.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/stealth-past.svg b/src/assets/font-icons/stealth-past.svg new file mode 100644 index 000000000..4df90dfb3 --- /dev/null +++ b/src/assets/font-icons/stealth-past.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/stickers.svg b/src/assets/font-icons/stickers.svg new file mode 100644 index 000000000..7ab6e031f --- /dev/null +++ b/src/assets/font-icons/stickers.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/stop-raising-hand.svg b/src/assets/font-icons/stop-raising-hand.svg new file mode 100644 index 000000000..9239fa90f --- /dev/null +++ b/src/assets/font-icons/stop-raising-hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/stop.svg b/src/assets/font-icons/stop.svg new file mode 100644 index 000000000..31fdb2a9d --- /dev/null +++ b/src/assets/font-icons/stop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/story-caption.svg b/src/assets/font-icons/story-caption.svg new file mode 100644 index 000000000..759a041c3 --- /dev/null +++ b/src/assets/font-icons/story-caption.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/story-expired.svg b/src/assets/font-icons/story-expired.svg new file mode 100644 index 000000000..2971c00a1 --- /dev/null +++ b/src/assets/font-icons/story-expired.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/story-priority.svg b/src/assets/font-icons/story-priority.svg new file mode 100644 index 000000000..158e74e7c --- /dev/null +++ b/src/assets/font-icons/story-priority.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/story-reply.svg b/src/assets/font-icons/story-reply.svg new file mode 100644 index 000000000..73d5ec360 --- /dev/null +++ b/src/assets/font-icons/story-reply.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/strikethrough.svg b/src/assets/font-icons/strikethrough.svg new file mode 100644 index 000000000..39fed47ce --- /dev/null +++ b/src/assets/font-icons/strikethrough.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/timer.svg b/src/assets/font-icons/timer.svg new file mode 100644 index 000000000..67cd8d612 --- /dev/null +++ b/src/assets/font-icons/timer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/transcribe.svg b/src/assets/font-icons/transcribe.svg new file mode 100644 index 000000000..21b05f89c --- /dev/null +++ b/src/assets/font-icons/transcribe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/truck.svg b/src/assets/font-icons/truck.svg new file mode 100644 index 000000000..0b4498cbc --- /dev/null +++ b/src/assets/font-icons/truck.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/unarchive.svg b/src/assets/font-icons/unarchive.svg new file mode 100644 index 000000000..d2af96327 --- /dev/null +++ b/src/assets/font-icons/unarchive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/underlined.svg b/src/assets/font-icons/underlined.svg new file mode 100644 index 000000000..9c27563e3 --- /dev/null +++ b/src/assets/font-icons/underlined.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/unlock-badge.svg b/src/assets/font-icons/unlock-badge.svg new file mode 100644 index 000000000..ea3180bc9 --- /dev/null +++ b/src/assets/font-icons/unlock-badge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/unlock.svg b/src/assets/font-icons/unlock.svg new file mode 100644 index 000000000..d7055dd00 --- /dev/null +++ b/src/assets/font-icons/unlock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/unmute.svg b/src/assets/font-icons/unmute.svg new file mode 100644 index 000000000..682494619 --- /dev/null +++ b/src/assets/font-icons/unmute.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/unpin.svg b/src/assets/font-icons/unpin.svg new file mode 100644 index 000000000..83ae79bdb --- /dev/null +++ b/src/assets/font-icons/unpin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/unread.svg b/src/assets/font-icons/unread.svg new file mode 100644 index 000000000..115be6a79 --- /dev/null +++ b/src/assets/font-icons/unread.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/up.svg b/src/assets/font-icons/up.svg new file mode 100644 index 000000000..e736c1108 --- /dev/null +++ b/src/assets/font-icons/up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/user-filled.svg b/src/assets/font-icons/user-filled.svg new file mode 100644 index 000000000..bd77caa1e --- /dev/null +++ b/src/assets/font-icons/user-filled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/user-online.svg b/src/assets/font-icons/user-online.svg new file mode 100644 index 000000000..af3e4abaa --- /dev/null +++ b/src/assets/font-icons/user-online.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/user.svg b/src/assets/font-icons/user.svg new file mode 100644 index 000000000..b29812efa --- /dev/null +++ b/src/assets/font-icons/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/video-outlined.svg b/src/assets/font-icons/video-outlined.svg new file mode 100644 index 000000000..7e9110fa0 --- /dev/null +++ b/src/assets/font-icons/video-outlined.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/video-stop.svg b/src/assets/font-icons/video-stop.svg new file mode 100644 index 000000000..9d750f8da --- /dev/null +++ b/src/assets/font-icons/video-stop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/video.svg b/src/assets/font-icons/video.svg new file mode 100644 index 000000000..9497e8f44 --- /dev/null +++ b/src/assets/font-icons/video.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/voice-chat.svg b/src/assets/font-icons/voice-chat.svg new file mode 100644 index 000000000..035c197dd --- /dev/null +++ b/src/assets/font-icons/voice-chat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/volume-1.svg b/src/assets/font-icons/volume-1.svg new file mode 100644 index 000000000..80411722d --- /dev/null +++ b/src/assets/font-icons/volume-1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/volume-2.svg b/src/assets/font-icons/volume-2.svg new file mode 100644 index 000000000..5b6b49c68 --- /dev/null +++ b/src/assets/font-icons/volume-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/volume-3.svg b/src/assets/font-icons/volume-3.svg new file mode 100644 index 000000000..c77efe032 --- /dev/null +++ b/src/assets/font-icons/volume-3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/web.svg b/src/assets/font-icons/web.svg new file mode 100644 index 000000000..567049fba --- /dev/null +++ b/src/assets/font-icons/web.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/webapp.svg b/src/assets/font-icons/webapp.svg new file mode 100644 index 000000000..e5aa0be43 --- /dev/null +++ b/src/assets/font-icons/webapp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/word-wrap.svg b/src/assets/font-icons/word-wrap.svg new file mode 100644 index 000000000..cfc96eec0 --- /dev/null +++ b/src/assets/font-icons/word-wrap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/zoom-in.svg b/src/assets/font-icons/zoom-in.svg new file mode 100644 index 000000000..f04df809d --- /dev/null +++ b/src/assets/font-icons/zoom-in.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/font-icons/zoom-out.svg b/src/assets/font-icons/zoom-out.svg new file mode 100644 index 000000000..88ec1d839 --- /dev/null +++ b/src/assets/font-icons/zoom-out.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/fonts/icomoon.woff b/src/assets/fonts/icomoon.woff deleted file mode 100644 index 51b714884..000000000 Binary files a/src/assets/fonts/icomoon.woff and /dev/null differ diff --git a/src/assets/fonts/icomoon.woff2 b/src/assets/fonts/icomoon.woff2 deleted file mode 100644 index cff2fdbdd..000000000 Binary files a/src/assets/fonts/icomoon.woff2 and /dev/null differ diff --git a/src/components/calls/phone/PhoneCallButton.tsx b/src/components/calls/phone/PhoneCallButton.tsx index d3f66f3a1..e3e66b99d 100644 --- a/src/components/calls/phone/PhoneCallButton.tsx +++ b/src/components/calls/phone/PhoneCallButton.tsx @@ -1,6 +1,8 @@ import type { FC } from '../../../lib/teact/teact'; import React, { memo } from '../../../lib/teact/teact'; +import type { IconName } from '../../../types/icons'; + import buildClassName from '../../../util/buildClassName'; import Button from '../../ui/Button'; @@ -10,7 +12,7 @@ import styles from './PhoneCallButton.module.scss'; type OwnProps = { onClick: VoidFunction; label: string; - icon?: string; + icon?: IconName; iconClassName?: string; customIcon?: React.ReactNode; className?: string; diff --git a/src/components/common/Document.tsx b/src/components/common/Document.tsx index a5aed21e7..f02b8bf89 100644 --- a/src/components/common/Document.tsx +++ b/src/components/common/Document.tsx @@ -156,7 +156,7 @@ const Document: FC = ({ sender={sender} isSelectable={isSelectable} isSelected={isSelected} - actionIcon={withMediaViewer ? (isMessageDocumentVideo(message) ? 'icon-play' : 'icon-eye') : 'icon-download'} + actionIcon={withMediaViewer ? (isMessageDocumentVideo(message) ? 'play' : 'eye') : 'download'} onClick={handleClick} onDateClick={onDateClick ? handleDateClick : undefined} /> diff --git a/src/components/common/File.tsx b/src/components/common/File.tsx index 61c864a1b..0459f6634 100644 --- a/src/components/common/File.tsx +++ b/src/components/common/File.tsx @@ -3,6 +3,7 @@ import React, { } from '../../lib/teact/teact'; import type { FC } from '../../lib/teact/teact'; +import type { IconName } from '../../types/icons'; import { IS_CANVAS_FILTER_SUPPORTED } from '../../util/windowEnvironment'; import buildClassName from '../../util/buildClassName'; @@ -37,7 +38,7 @@ type OwnProps = { isSelectable?: boolean; isSelected?: boolean; transferProgress?: number; - actionIcon?: string; + actionIcon?: IconName; onClick?: () => void; onDateClick?: (e: React.MouseEvent) => void; }; @@ -142,7 +143,7 @@ const File: FC = ({ className={buildClassName( 'action-icon', 'icon', - actionIcon || 'icon-download', + actionIcon ? `icon-${actionIcon}` : 'icon-download', shouldSpinnerRender && 'hidden', )} /> diff --git a/src/components/common/PickerSelectedItem.tsx b/src/components/common/PickerSelectedItem.tsx index f2b24d88d..90200a087 100644 --- a/src/components/common/PickerSelectedItem.tsx +++ b/src/components/common/PickerSelectedItem.tsx @@ -3,6 +3,7 @@ import { withGlobal } from '../../global'; import type { FC, TeactNode } from '../../lib/teact/teact'; import type { ApiChat, ApiUser } from '../../api/types'; +import type { IconName } from '../../types/icons'; import { selectChat, selectUser } from '../../global/selectors'; import { getChatTitle, getUserFirstOrLastName, isUserId } from '../../global/helpers'; @@ -16,7 +17,7 @@ import './PickerSelectedItem.scss'; type OwnProps = { chatOrUserId?: string; - icon?: string; + icon?: IconName; title?: string; isMinimized?: boolean; canClose?: boolean; diff --git a/src/components/common/PrivateChatInfo.tsx b/src/components/common/PrivateChatInfo.tsx index 0ff40c4d7..1a710e56e 100644 --- a/src/components/common/PrivateChatInfo.tsx +++ b/src/components/common/PrivateChatInfo.tsx @@ -7,6 +7,7 @@ import type { } from '../../api/types'; import type { StoryViewerOrigin } from '../../types'; import { MediaViewerOrigin } from '../../types'; +import type { IconName } from '../../types/icons'; import { selectChatMessages, selectUser, selectUserStatus } from '../../global/selectors'; import { getMainUsername, getUserStatus, isUserOnline } from '../../global/helpers'; @@ -28,7 +29,7 @@ type OwnProps = { avatarSize?: 'tiny' | 'small' | 'medium' | 'large' | 'jumbo'; forceShowSelf?: boolean; status?: string; - statusIcon?: string; + statusIcon?: IconName; ripple?: boolean; withDots?: boolean; withMediaViewer?: boolean; @@ -119,7 +120,7 @@ const PrivateChatInfo: FC = ({ ) : ( - {statusIcon && } + {statusIcon && } {renderText(status)} ); diff --git a/src/components/common/SeenByModal.tsx b/src/components/common/SeenByModal.tsx index 9900321fd..f60faa87f 100644 --- a/src/components/common/SeenByModal.tsx +++ b/src/components/common/SeenByModal.tsx @@ -80,7 +80,7 @@ function SeenByModal({ userId={userId} noStatusOrTyping status={formatDateAtTime(lang, renderingSeenByDates![userId] * 1000)} - statusIcon="icon-message-read" + statusIcon="message-read" /> ))} diff --git a/src/components/left/main/Archive.tsx b/src/components/left/main/Archive.tsx index 0748e1871..76cb0b48f 100644 --- a/src/components/left/main/Archive.tsx +++ b/src/components/left/main/Archive.tsx @@ -14,7 +14,7 @@ import { getChatTitle } from '../../../global/helpers'; import useLang from '../../../hooks/useLang'; import { useFolderManagerForOrderedIds, useFolderManagerForUnreadCounters } from '../../../hooks/useFolderManager'; -import ListItem from '../../ui/ListItem'; +import ListItem, { type MenuItemContextAction } from '../../ui/ListItem'; import Badge from '../../ui/Badge'; import styles from './Archive.module.scss'; @@ -71,7 +71,7 @@ const Archive: FC = ({ handler: () => { updateArchiveSettings({ isMinimized: true }); }, - }; + } satisfies MenuItemContextAction; const actionExpand = archiveSettings.isMinimized && { title: lang('lng_context_archive_expand'), @@ -79,7 +79,7 @@ const Archive: FC = ({ handler: () => { updateArchiveSettings({ isMinimized: false }); }, - }; + } satisfies MenuItemContextAction; const actionHide = { title: lang('lng_context_archive_to_menu'), @@ -87,7 +87,7 @@ const Archive: FC = ({ handler: () => { updateArchiveSettings({ isHidden: true }); }, - }; + } satisfies MenuItemContextAction; return compact([actionMinimize, actionExpand, actionHide]); }, [archiveSettings.isMinimized, lang, updateArchiveSettings]); diff --git a/src/components/left/main/ChatFolders.tsx b/src/components/left/main/ChatFolders.tsx index 84b7d7e00..993c8484e 100644 --- a/src/components/left/main/ChatFolders.tsx +++ b/src/components/left/main/ChatFolders.tsx @@ -9,6 +9,7 @@ import type { LeftColumnContent, SettingsScreens } from '../../../types'; import type { FolderEditDispatch } from '../../../hooks/reducers/useFoldersReducer'; import type { GlobalState } from '../../../global/types'; import type { TabWithProperties } from '../../ui/TabList'; +import type { MenuItemContextAction } from '../../ui/ListItem'; import TabList from '../../ui/TabList'; import { ALL_FOLDER_ID } from '../../../config'; @@ -137,7 +138,7 @@ const ChatFolders: FC = ({ const { id, title } = folder; const isBlocked = id !== ALL_FOLDER_ID && i > maxFolders - 1; const canShareFolder = selectCanShareFolder(getGlobal(), id); - const contextActions = []; + const contextActions: MenuItemContextAction[] = []; if (canShareFolder) { contextActions.push({ diff --git a/src/components/left/settings/SettingsActiveSessions.tsx b/src/components/left/settings/SettingsActiveSessions.tsx index 9df2d29f1..3f3691cd7 100644 --- a/src/components/left/settings/SettingsActiveSessions.tsx +++ b/src/components/left/settings/SettingsActiveSessions.tsx @@ -148,7 +148,7 @@ const SettingsActiveSessions: FC = ({ {lang('AuthSessions.CurrentSession')} - +
{session.deviceModel} @@ -219,7 +219,8 @@ const SettingsActiveSessions: FC = ({ handleTerminateSessionClick(session.hash); }, }]} - icon={`device-${getSessionIcon(session)} icon-device`} + icon={`device-${getSessionIcon(session)}`} + iconClassName="icon-device" onClick={() => { handleOpenSessionModal(session.hash); }} >
diff --git a/src/components/left/settings/helpers/getSessionIcon.ts b/src/components/left/settings/helpers/getSessionIcon.ts index 351c848ac..4a44a4e5d 100644 --- a/src/components/left/settings/helpers/getSessionIcon.ts +++ b/src/components/left/settings/helpers/getSessionIcon.ts @@ -1,6 +1,7 @@ import type { ApiSession } from '../../../../api/types'; +import type { DeviceType } from '../../../../types/icons/device'; -export default function getSessionIcon(session: ApiSession): string { +export default function getSessionIcon(session: ApiSession): DeviceType { const platform = session.platform.toLowerCase(); const device = session.deviceModel.toLowerCase(); const systemVersion = session.systemVersion.toLowerCase(); diff --git a/src/components/main/premium/common/PremiumLimitReachedModal.tsx b/src/components/main/premium/common/PremiumLimitReachedModal.tsx index 4a7349ec6..3649c539a 100644 --- a/src/components/main/premium/common/PremiumLimitReachedModal.tsx +++ b/src/components/main/premium/common/PremiumLimitReachedModal.tsx @@ -3,6 +3,7 @@ import React, { memo, useCallback, useEffect } from '../../../../lib/teact/teact import type { ApiLimitTypeWithModal } from '../../../../global/types'; import type { LangFn } from '../../../../hooks/useLang'; +import type { IconName } from '../../../../types/icons'; import renderText from '../../../common/helpers/renderText'; import buildClassName from '../../../../util/buildClassName'; @@ -52,15 +53,15 @@ const LIMIT_DESCRIPTION_PREMIUM: Record = { chatlistJoined: 'LimitReachedSharedFoldersPremium', }; -const LIMIT_ICON: Record = { - dialogFiltersChats: 'icon-chat-badge', - uploadMaxFileparts: 'icon-file-badge', - dialogFilters: 'icon-folder-badge', - dialogFolderPinned: 'icon-pin-badge', - channelsPublic: 'icon-link-badge', - channels: 'icon-chats-badge', - chatlistInvites: 'icon-link-badge', - chatlistJoined: 'icon-folder-badge', +const LIMIT_ICON: Record = { + dialogFiltersChats: 'chat-badge', + uploadMaxFileparts: 'file-badge', + dialogFilters: 'folder-badge', + dialogFolderPinned: 'pin-badge', + channelsPublic: 'link-badge', + channels: 'chats-badge', + chatlistInvites: 'link-badge', + chatlistJoined: 'folder-badge', }; const LIMIT_VALUE_FORMATTER: Partial string>> = { diff --git a/src/components/main/premium/common/PremiumLimitsCompare.tsx b/src/components/main/premium/common/PremiumLimitsCompare.tsx index 38c1b8074..3eac34dda 100644 --- a/src/components/main/premium/common/PremiumLimitsCompare.tsx +++ b/src/components/main/premium/common/PremiumLimitsCompare.tsx @@ -1,5 +1,7 @@ import React, { memo } from '../../../../lib/teact/teact'; + import type { FC } from '../../../../lib/teact/teact'; +import type { IconName } from '../../../../types/icons'; import buildClassName from '../../../../util/buildClassName'; import useLang from '../../../../hooks/useLang'; @@ -7,7 +9,7 @@ import useLang from '../../../../hooks/useLang'; import styles from './PremiumLimitsCompare.module.scss'; type OwnProps = { - floatingBadgeIcon?: string; + floatingBadgeIcon?: IconName; leftValue?: string; rightValue?: string; className?: string; @@ -27,7 +29,7 @@ const PremiumLimitsCompare: FC = ({
{floatingBadgeIcon && (
- +
{leftValue}
diff --git a/src/components/mediaViewer/MediaViewerActions.tsx b/src/components/mediaViewer/MediaViewerActions.tsx index 5270b2d15..520f80b61 100644 --- a/src/components/mediaViewer/MediaViewerActions.tsx +++ b/src/components/mediaViewer/MediaViewerActions.tsx @@ -211,7 +211,7 @@ const MediaViewerActions: FC = ({ if (!isProtected) { if (isVideo) { menuItems.push({ - icon: isDownloading ? 'cancel' : 'download', + icon: isDownloading ? 'close' : 'download', onClick: handleDownloadClick, children: isDownloading ? `${Math.round(downloadProgress * 100)}% Downloading...` : 'Download', }); diff --git a/src/components/middle/HeaderMenuContainer.tsx b/src/components/middle/HeaderMenuContainer.tsx index 3b81d863b..f73b1ba40 100644 --- a/src/components/middle/HeaderMenuContainer.tsx +++ b/src/components/middle/HeaderMenuContainer.tsx @@ -7,6 +7,7 @@ import { getActions, withGlobal } from '../../global'; import type { ApiBotCommand, ApiChat } from '../../api/types'; import type { IAnchorPosition } from '../../types'; import { MAIN_THREAD_ID } from '../../api/types'; +import type { IconName } from '../../types/icons'; import { REPLIES_USER_ID } from '../../config'; import { disableScrolling, enableScrolling } from '../../util/scrollLock'; @@ -52,7 +53,7 @@ import ReportModal from '../common/ReportModal'; import './HeaderMenuContainer.scss'; -const BOT_BUTTONS: Record = { +const BOT_BUTTONS: Record = { settings: { icon: 'bots', label: 'BotSettings', diff --git a/src/components/middle/MessageSelectToolbar.tsx b/src/components/middle/MessageSelectToolbar.tsx index 81f39358c..f8c5e0520 100644 --- a/src/components/middle/MessageSelectToolbar.tsx +++ b/src/components/middle/MessageSelectToolbar.tsx @@ -3,6 +3,7 @@ import React, { memo, useEffect } from '../../lib/teact/teact'; import { getActions, withGlobal } from '../../global'; import type { MessageListType } from '../../global/types'; +import type { IconName } from '../../types/icons'; import { selectCanDeleteSelectedMessages, @@ -116,7 +117,7 @@ const MessageSelectToolbar: FC = ({ ); const renderButton = ( - icon: string, label: string, onClick: AnyToVoidFunction, destructive?: boolean, + icon: IconName, label: string, onClick: AnyToVoidFunction, destructive?: boolean, ) => { return (
= ({ noStatusOrTyping avatarSize="medium" status={seenByUser ? formatDateAtTime(lang, seenByUser * 1000) : undefined} - statusIcon="icon-message-read" + statusIcon="message-read" /> , ); diff --git a/src/components/middle/ScrollDownButton.tsx b/src/components/middle/ScrollDownButton.tsx index 803f96e33..ed7384085 100644 --- a/src/components/middle/ScrollDownButton.tsx +++ b/src/components/middle/ScrollDownButton.tsx @@ -1,6 +1,8 @@ import type { FC } from '../../lib/teact/teact'; import React, { memo, useRef } from '../../lib/teact/teact'; +import type { IconName } from '../../types/icons'; + import { formatIntegerCompact } from '../../util/textFormat'; import useLang from '../../hooks/useLang'; import useContextMenuHandlers from '../../hooks/useContextMenuHandlers'; @@ -13,7 +15,7 @@ import MenuItem from '../ui/MenuItem'; import styles from './ScrollDownButton.module.scss'; type OwnProps = { - icon: string; + icon: IconName; ariaLabelLang: string; unreadCount?: number; onClick: VoidFunction; diff --git a/src/components/middle/message/helpers/copyOptions.ts b/src/components/middle/message/helpers/copyOptions.ts index c7f0dbb26..105e7c968 100644 --- a/src/components/middle/message/helpers/copyOptions.ts +++ b/src/components/middle/message/helpers/copyOptions.ts @@ -1,6 +1,8 @@ import type { ApiMessage } from '../../../../api/types'; import { ApiMediaFormat } from '../../../../api/types'; +import type { IconName } from '../../../../types/icons'; + import * as mediaLoader from '../../../../util/mediaLoader'; import { getMessageContact, @@ -23,7 +25,7 @@ import { renderMessageText } from '../../../common/helpers/renderMessageText'; type ICopyOptions = { label: string; - icon: string; + icon: IconName; handler: () => void; }[]; diff --git a/src/components/payment/Checkout.tsx b/src/components/payment/Checkout.tsx index dc828c839..e410c84fe 100644 --- a/src/components/payment/Checkout.tsx +++ b/src/components/payment/Checkout.tsx @@ -5,6 +5,7 @@ import type { FC } from '../../lib/teact/teact'; import type { FormEditDispatch } from '../../hooks/reducers/usePaymentReducer'; import type { LangCode, Price } from '../../types'; import type { ApiChat, ApiInvoice, ApiPaymentCredentials } from '../../api/types'; +import type { IconName } from '../../types/icons'; import { PaymentStep } from '../../types'; import { getWebDocumentHash } from '../../global/helpers'; @@ -247,7 +248,7 @@ function renderCheckoutItem({ }: { title : string | undefined; label: string | undefined; - icon?: string; + icon?: IconName; onClick?: NoneToVoidFunction; customIcon?: string; }) { diff --git a/src/components/right/Profile.tsx b/src/components/right/Profile.tsx index 5aeeeae72..e728f0f8e 100644 --- a/src/components/right/Profile.tsx +++ b/src/components/right/Profile.tsx @@ -59,7 +59,7 @@ import Transition from '../ui/Transition'; import InfiniteScroll from '../ui/InfiniteScroll'; import TabList from '../ui/TabList'; import Spinner from '../ui/Spinner'; -import ListItem from '../ui/ListItem'; +import ListItem, { type MenuItemContextAction } from '../ui/ListItem'; import PrivateChatInfo from '../common/PrivateChatInfo'; import ProfileInfo from '../common/ProfileInfo'; import Document from '../common/Document'; @@ -342,7 +342,7 @@ const Profile: FC = ({ } const canRenderContent = useAsyncRendering([chatId, topicId, resultType, renderingActiveTab], renderingDelay); - function getMemberContextAction(memberId: string) { + function getMemberContextAction(memberId: string): MenuItemContextAction[] | undefined { return memberId === currentUserId || !canDeleteMembers ? undefined : [{ title: lang('lng_context_remove_from_group'), icon: 'stop', diff --git a/src/components/right/management/ManageChatRemovedUsers.tsx b/src/components/right/management/ManageChatRemovedUsers.tsx index b63d31009..3d916d966 100644 --- a/src/components/right/management/ManageChatRemovedUsers.tsx +++ b/src/components/right/management/ManageChatRemovedUsers.tsx @@ -12,7 +12,7 @@ import useHistoryBack from '../../../hooks/useHistoryBack'; import useFlag from '../../../hooks/useFlag'; import PrivateChatInfo from '../../common/PrivateChatInfo'; -import ListItem from '../../ui/ListItem'; +import ListItem, { type MenuItemContextAction } from '../../ui/ListItem'; import FloatingActionButton from '../../ui/FloatingActionButton'; import RemoveGroupUserModal from './RemoveGroupUserModal'; @@ -62,7 +62,7 @@ const ManageChatRemovedUsers: FC = ({ return lang('UserRemovedBy', getUserFullName(kickedByUser)); }, [lang, usersById]); - const getContextActions = useCallback((member: ApiChatMember) => { + const getContextActions = useCallback((member: ApiChatMember): MenuItemContextAction[] | undefined => { if (!chat) { return undefined; } diff --git a/src/components/right/management/ManageGroupMembers.tsx b/src/components/right/management/ManageGroupMembers.tsx index 629df1f18..9db24aae9 100644 --- a/src/components/right/management/ManageGroupMembers.tsx +++ b/src/components/right/management/ManageGroupMembers.tsx @@ -19,7 +19,7 @@ import useKeyboardListNavigation from '../../../hooks/useKeyboardListNavigation' import PrivateChatInfo from '../../common/PrivateChatInfo'; import NothingFound from '../../common/NothingFound'; -import ListItem from '../../ui/ListItem'; +import ListItem, { type MenuItemContextAction } from '../../ui/ListItem'; import InputText from '../../ui/InputText'; import InfiniteScroll from '../../ui/InfiniteScroll'; import Loading from '../../ui/Loading'; @@ -165,7 +165,7 @@ const ManageGroupMembers: FC = ({ onBack: onClose, }); - function getMemberContextAction(memberId: string) { + function getMemberContextAction(memberId: string): MenuItemContextAction[] | undefined { return memberId === currentUserId || !canDeleteMembers ? undefined : [{ title: lang('lng_context_remove_from_group'), icon: 'stop', diff --git a/src/components/right/management/ManageInvites.tsx b/src/components/right/management/ManageInvites.tsx index 52294b950..bd3da413d 100644 --- a/src/components/right/management/ManageInvites.tsx +++ b/src/components/right/management/ManageInvites.tsx @@ -20,7 +20,7 @@ import useInterval from '../../../hooks/useInterval'; import useForceUpdate from '../../../hooks/useForceUpdate'; import useFlag from '../../../hooks/useFlag'; -import ListItem from '../../ui/ListItem'; +import ListItem, { type MenuItemContextAction } from '../../ui/ListItem'; import NothingFound from '../../common/NothingFound'; import Button from '../../ui/Button'; import ConfirmDialog from '../../ui/ConfirmDialog'; @@ -237,7 +237,7 @@ const ManageInvites: FC = ({ }; const prepareContextActions = (invite: ApiExportedInvite) => { - const actions = []; + const actions: MenuItemContextAction[] = []; actions.push({ title: lang('Copy'), icon: 'copy', diff --git a/src/components/story/StorySettings.tsx b/src/components/story/StorySettings.tsx index 03c1a2580..416833f98 100644 --- a/src/components/story/StorySettings.tsx +++ b/src/components/story/StorySettings.tsx @@ -5,6 +5,7 @@ import { getActions, withGlobal } from '../../global'; import type { ApiStory, ApiUser } from '../../api/types'; import type { ApiPrivacySettings, PrivacyVisibility } from '../../types'; +import type { IconName } from '../../types/icons'; import buildClassName from '../../util/buildClassName'; import { selectTabState, selectUserStory } from '../../global/selectors'; @@ -44,7 +45,7 @@ interface PrivacyOption { name: string; value: PrivacyVisibility; color: [string, string]; - icon: string; + icon: IconName; actions?: PrivacyAction; } diff --git a/src/components/story/StoryView.tsx b/src/components/story/StoryView.tsx index 4121c2e63..5af091785 100644 --- a/src/components/story/StoryView.tsx +++ b/src/components/story/StoryView.tsx @@ -12,7 +12,7 @@ import { getUserFullName } from '../../global/helpers'; import useLastCallback from '../../hooks/useLastCallback'; import useLang from '../../hooks/useLang'; -import ListItem from '../ui/ListItem'; +import ListItem, { type MenuItemContextAction } from '../ui/ListItem'; import ReactionStaticEmoji from '../common/ReactionStaticEmoji'; import PrivateChatInfo from '../common/PrivateChatInfo'; @@ -54,7 +54,7 @@ const StoryView = ({ const { isContact } = user || {}; const fullName = getUserFullName(user); - const actions = []; + const actions: MenuItemContextAction[] = []; if (!isUserBlocked) { if (!areStoriesBlocked) { @@ -134,7 +134,7 @@ const StoryView = ({ userId={storyView.userId} noStatusOrTyping status={formatDateAtTime(lang, storyView.date * 1000)} - statusIcon="icon-message-read" + statusIcon="message-read" withStory forceShowSelf /> diff --git a/src/components/ui/Checkbox.tsx b/src/components/ui/Checkbox.tsx index fa85041ff..9e8ea0088 100644 --- a/src/components/ui/Checkbox.tsx +++ b/src/components/ui/Checkbox.tsx @@ -2,6 +2,8 @@ import type { ChangeEvent } from 'react'; import type { FC, TeactNode } from '../../lib/teact/teact'; import React, { memo, useCallback, useRef } from '../../lib/teact/teact'; +import type { IconName } from '../../types/icons'; + import buildClassName from '../../util/buildClassName'; import useLang from '../../hooks/useLang'; import renderText from '../common/helpers/renderText'; @@ -17,7 +19,7 @@ type OwnProps = { label: TeactNode; subLabel?: string; checked: boolean; - rightIcon?: string; + rightIcon?: IconName; disabled?: boolean; tabIndex?: number; round?: boolean; diff --git a/src/components/ui/ListItem.tsx b/src/components/ui/ListItem.tsx index 1cd6c20d5..d75bc035f 100644 --- a/src/components/ui/ListItem.tsx +++ b/src/components/ui/ListItem.tsx @@ -3,6 +3,8 @@ import type { FC, TeactNode } from '../../lib/teact/teact'; import React, { useRef } from '../../lib/teact/teact'; import { requestMeasure } from '../../lib/fasterdom/fasterdom'; +import type { IconName } from '../../types/icons'; + import { IS_TOUCH_ENV, MouseButton } from '../../util/windowEnvironment'; import buildClassName from '../../util/buildClassName'; import renderText from '../common/helpers/renderText'; @@ -24,7 +26,7 @@ import './ListItem.scss'; type MenuItemContextActionItem = { title: string; - icon: string; + icon: IconName; destructive?: boolean; handler?: () => void; }; @@ -41,9 +43,10 @@ export type MenuItemContextAction = interface OwnProps { ref?: RefObject; buttonRef?: RefObject; - icon?: string; + icon?: IconName; + iconClassName?: string; leftElement?: TeactNode; - secondaryIcon?: string; + secondaryIcon?: IconName; rightElement?: TeactNode; buttonClassName?: string; className?: string; @@ -74,6 +77,7 @@ const ListItem: FC = ({ ref, buttonRef, icon, + iconClassName, leftElement, buttonClassName, menuBubbleClassName, @@ -234,7 +238,7 @@ const ListItem: FC = ({ > {leftElement} {icon && ( - + )} {multiline && (
{children}
)} {!multiline && children} diff --git a/src/components/ui/MenuItem.tsx b/src/components/ui/MenuItem.tsx index 059028d5a..3e26a0d49 100644 --- a/src/components/ui/MenuItem.tsx +++ b/src/components/ui/MenuItem.tsx @@ -1,6 +1,8 @@ import type { FC } from '../../lib/teact/teact'; import React from '../../lib/teact/teact'; +import type { IconName } from '../../types/icons'; + import { IS_TEST } from '../../config'; import buildClassName from '../../util/buildClassName'; @@ -11,7 +13,7 @@ import useAppLayout from '../../hooks/useAppLayout'; import './MenuItem.scss'; export type MenuItemProps = { - icon?: string; + icon?: IconName | 'A' | 'K'; isCharIcon?: boolean; customIcon?: React.ReactNode; className?: string; diff --git a/src/hooks/reducers/useFoldersReducer.ts b/src/hooks/reducers/useFoldersReducer.ts index e7d94f1ff..c1924df8b 100644 --- a/src/hooks/reducers/useFoldersReducer.ts +++ b/src/hooks/reducers/useFoldersReducer.ts @@ -1,11 +1,12 @@ import type { StateReducer, Dispatch } from '../useReducer'; import type { ApiChatFolder } from '../../api/types'; +import type { IconName } from '../../types/icons'; import { pick, omit } from '../../util/iteratees'; import useReducer from '../useReducer'; export type FolderChatType = { - icon: string; + icon: IconName; title: string; key: keyof Pick