From 8a9c0a268afaa5d691f7b32ce8ec8c3d15ef6ced Mon Sep 17 00:00:00 2001 From: Sacha Weatherstone Date: Sun, 24 Oct 2021 22:15:22 +1100 Subject: [PATCH] WIP --- package.json | 28 +- pnpm-lock.yaml | 819 +++++++++++------- src/App.tsx | 12 +- src/components/chat/MessageBar.tsx | 10 +- src/components/generic/Button.tsx | 2 +- .../menu/buttons/DeviceStatusDropdown.tsx | 41 +- src/core/slices/meshtasticSlice.ts | 8 +- src/pages/Nodes/Node.tsx | 8 + src/pages/Plugins/Files.tsx | 2 +- src/pages/Plugins/RangeTest.tsx | 2 +- src/pages/settings/Channels.tsx | 117 +++ src/pages/settings/Device.tsx | 21 +- src/pages/settings/Index.tsx | 15 + src/pages/settings/Radio.tsx | 3 +- 14 files changed, 739 insertions(+), 349 deletions(-) create mode 100644 src/pages/settings/Channels.tsx diff --git a/package.json b/package.json index e780fa60..38c4842c 100644 --- a/package.json +++ b/package.json @@ -12,11 +12,11 @@ }, "dependencies": { "@headlessui/react": "^1.4.1", - "@meshtastic/meshtasticjs": "^0.6.17", + "@meshtastic/meshtasticjs": "^0.6.18", "@reduxjs/toolkit": "^1.6.2", - "apexcharts": "^3.28.3", + "apexcharts": "^3.29.0", "boring-avatars": "^1.5.8", - "i18next": "^21.2.6", + "i18next": "^21.3.3", "i18next-browser-languagedetector": "^6.1.2", "moment": "^2.29.1", "react": "^17.0.2", @@ -24,7 +24,7 @@ "react-dom": "^17.0.2", "react-file-icon": "^1.1.0", "react-flags-select": "^2.1.2", - "react-hook-form": "^7.17.2", + "react-hook-form": "^7.17.5", "react-i18next": "^11.12.0", "react-icons": "^4.3.1", "react-redux": "^7.2.5", @@ -37,29 +37,29 @@ "@snowpack/plugin-postcss": "^1.4.3", "@snowpack/plugin-react-refresh": "^2.5.0", "@snowpack/plugin-typescript": "^1.2.1", - "@types/react": "^17.0.27", - "@types/react-dom": "^17.0.9", + "@types/react": "^17.0.32", + "@types/react-dom": "^17.0.10", "@types/react-file-icon": "^1.0.1", - "@types/react-redux": "^7.1.19", + "@types/react-redux": "^7.1.20", "@types/snowpack-env": "^2.3.4", - "@typescript-eslint/eslint-plugin": "^4.33.0", - "@typescript-eslint/parser": "^4.33.0", + "@typescript-eslint/eslint-plugin": "^5.1.0", + "@typescript-eslint/parser": "^5.1.0", "@verypossible/eslint-config": "^1.6.1", "autoprefixer": "^10.3.7", "babel-plugin-module-resolver": "^4.1.0", - "eslint": "7.32.0", + "eslint": "8.1.0", "eslint-config-prettier": "^8.3.0", "eslint-import-resolver-babel-module": "^5.3.1", "eslint-import-resolver-typescript": "^2.5.0", - "eslint-plugin-import": "^2.24.2", + "eslint-plugin-import": "^2.25.2", "eslint-plugin-react": "^7.26.1", "eslint-plugin-react-hooks": "^4.2.0", - "gzipper": "^5.0.1", - "postcss": "^8.3.9", + "gzipper": "^6.0.0", + "postcss": "^8.3.11", "prettier": "^2.4.1", "snowpack": "^3.8.8", "tailwindcss": "^3.0.0-alpha.1", "tar": "^6.1.11", - "typescript": "^4.4.3" + "typescript": "^4.4.4" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 64e4b20f..bc3949e7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,43 +2,43 @@ lockfileVersion: 5.3 specifiers: '@headlessui/react': ^1.4.1 - '@meshtastic/meshtasticjs': ^0.6.17 + '@meshtastic/meshtasticjs': ^0.6.18 '@reduxjs/toolkit': ^1.6.2 '@snowpack/plugin-dotenv': ^2.2.0 '@snowpack/plugin-postcss': ^1.4.3 '@snowpack/plugin-react-refresh': ^2.5.0 '@snowpack/plugin-typescript': ^1.2.1 - '@types/react': ^17.0.27 - '@types/react-dom': ^17.0.9 + '@types/react': ^17.0.32 + '@types/react-dom': ^17.0.10 '@types/react-file-icon': ^1.0.1 - '@types/react-redux': ^7.1.19 + '@types/react-redux': ^7.1.20 '@types/snowpack-env': ^2.3.4 - '@typescript-eslint/eslint-plugin': ^4.33.0 - '@typescript-eslint/parser': ^4.33.0 + '@typescript-eslint/eslint-plugin': ^5.1.0 + '@typescript-eslint/parser': ^5.1.0 '@verypossible/eslint-config': ^1.6.1 - apexcharts: ^3.28.3 + apexcharts: ^3.29.0 autoprefixer: ^10.3.7 babel-plugin-module-resolver: ^4.1.0 boring-avatars: ^1.5.8 - eslint: 7.32.0 + eslint: 8.1.0 eslint-config-prettier: ^8.3.0 eslint-import-resolver-babel-module: ^5.3.1 eslint-import-resolver-typescript: ^2.5.0 - eslint-plugin-import: ^2.24.2 + eslint-plugin-import: ^2.25.2 eslint-plugin-react: ^7.26.1 eslint-plugin-react-hooks: ^4.2.0 - gzipper: ^5.0.1 - i18next: ^21.2.6 + gzipper: ^6.0.0 + i18next: ^21.3.3 i18next-browser-languagedetector: ^6.1.2 moment: ^2.29.1 - postcss: ^8.3.9 + postcss: ^8.3.11 prettier: ^2.4.1 react: ^17.0.2 react-apexcharts: ^1.3.9 react-dom: ^17.0.2 react-file-icon: ^1.1.0 react-flags-select: ^2.1.2 - react-hook-form: ^7.17.2 + react-hook-form: ^7.17.5 react-i18next: ^11.12.0 react-icons: ^4.3.1 react-redux: ^7.2.5 @@ -47,25 +47,25 @@ specifiers: tailwindcss: ^3.0.0-alpha.1 tar: ^6.1.11 type-route: ^0.6.0 - typescript: ^4.4.3 + typescript: ^4.4.4 use-breakpoint: ^2.0.2 dependencies: '@headlessui/react': 1.4.1_react-dom@17.0.2+react@17.0.2 - '@meshtastic/meshtasticjs': 0.6.17 + '@meshtastic/meshtasticjs': 0.6.18 '@reduxjs/toolkit': 1.6.2_react-redux@7.2.5+react@17.0.2 - apexcharts: 3.28.3 + apexcharts: 3.29.0 boring-avatars: 1.5.8 - i18next: 21.2.6 + i18next: 21.3.3 i18next-browser-languagedetector: 6.1.2 moment: 2.29.1 react: 17.0.2 - react-apexcharts: 1.3.9_apexcharts@3.28.3+react@17.0.2 + react-apexcharts: 1.3.9_apexcharts@3.29.0+react@17.0.2 react-dom: 17.0.2_react@17.0.2 react-file-icon: 1.1.0_react-dom@17.0.2+react@17.0.2 react-flags-select: 2.1.2_react-dom@17.0.2+react@17.0.2 - react-hook-form: 7.17.2_react@17.0.2 - react-i18next: 11.12.0_i18next@21.2.6+react@17.0.2 + react-hook-form: 7.17.5_react@17.0.2 + react-i18next: 11.12.0_i18next@21.3.3+react@17.0.2 react-icons: 4.3.1_react@17.0.2 react-redux: 7.2.5_react-dom@17.0.2+react@17.0.2 swr: 1.0.1_react@17.0.2 @@ -74,33 +74,33 @@ dependencies: devDependencies: '@snowpack/plugin-dotenv': 2.2.0 - '@snowpack/plugin-postcss': 1.4.3_postcss@8.3.9 + '@snowpack/plugin-postcss': 1.4.3_postcss@8.3.11 '@snowpack/plugin-react-refresh': 2.5.0_react-dom@17.0.2+react@17.0.2 - '@snowpack/plugin-typescript': 1.2.1_typescript@4.4.3 - '@types/react': 17.0.27 - '@types/react-dom': 17.0.9 + '@snowpack/plugin-typescript': 1.2.1_typescript@4.4.4 + '@types/react': 17.0.32 + '@types/react-dom': 17.0.10 '@types/react-file-icon': 1.0.1 - '@types/react-redux': 7.1.19 + '@types/react-redux': 7.1.20 '@types/snowpack-env': 2.3.4 - '@typescript-eslint/eslint-plugin': 4.33.0_d753869925cce96d3eb2141eeedafe57 - '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.4.3 - '@verypossible/eslint-config': 1.6.1_typescript@4.4.3 - autoprefixer: 10.3.7_postcss@8.3.9 + '@typescript-eslint/eslint-plugin': 5.1.0_273a00ec265649c49755eee7222c1c12 + '@typescript-eslint/parser': 5.1.0_eslint@8.1.0+typescript@4.4.4 + '@verypossible/eslint-config': 1.6.1_typescript@4.4.4 + autoprefixer: 10.3.7_postcss@8.3.11 babel-plugin-module-resolver: 4.1.0 - eslint: 7.32.0 - eslint-config-prettier: 8.3.0_eslint@7.32.0 + eslint: 8.1.0 + eslint-config-prettier: 8.3.0_eslint@8.1.0 eslint-import-resolver-babel-module: 5.3.1_e51044130ac762fd207a8cd2109b5344 - eslint-import-resolver-typescript: 2.5.0_b7a4de75e7d0094cbe979e30a9a325ab - eslint-plugin-import: 2.24.2_eslint@7.32.0 - eslint-plugin-react: 7.26.1_eslint@7.32.0 - eslint-plugin-react-hooks: 4.2.0_eslint@7.32.0 - gzipper: 5.0.1 - postcss: 8.3.9 + eslint-import-resolver-typescript: 2.5.0_f3fc3a8f1727ab01eb417b5ed5016c22 + eslint-plugin-import: 2.25.2_eslint@8.1.0 + eslint-plugin-react: 7.26.1_eslint@8.1.0 + eslint-plugin-react-hooks: 4.2.0_eslint@8.1.0 + gzipper: 6.0.0 + postcss: 8.3.11 prettier: 2.4.1 snowpack: 3.8.8 - tailwindcss: 3.0.0-alpha.1_96f83969316717847b3edf58a3f353f3 + tailwindcss: 3.0.0-alpha.1_fa866e6aa6eb85ed70431566fb699b34 tar: 6.1.11 - typescript: 4.4.3 + typescript: 4.4.4 packages: @@ -163,7 +163,7 @@ packages: '@babel/compat-data': 7.15.0 '@babel/core': 7.15.8 '@babel/helper-validator-option': 7.14.5 - browserslist: 4.17.3 + browserslist: 4.17.5 semver: 6.3.0 dev: true @@ -360,6 +360,23 @@ packages: - supports-color dev: true + /@eslint/eslintrc/1.0.3: + resolution: {integrity: sha512-DHI1wDPoKCBPoLZA3qDR91+3te/wDSc1YhKg3jR8NxKKRJq2hwHwcWv31cSwSYvIBrmbENoYMWcenW8uproQqg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.2 + espree: 9.0.0 + globals: 13.11.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + js-yaml: 3.14.1 + minimatch: 3.0.4 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + /@gar/promisify/1.1.2: resolution: {integrity: sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==} dev: true @@ -386,6 +403,17 @@ packages: - supports-color dev: true + /@humanwhocodes/config-array/0.6.0: + resolution: {integrity: sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.0 + debug: 4.3.2 + minimatch: 3.0.4 + transitivePeerDependencies: + - supports-color + dev: true + /@humanwhocodes/object-schema/1.2.0: resolution: {integrity: sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==} dev: true @@ -394,10 +422,10 @@ packages: resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==} dev: true - /@meshtastic/meshtasticjs/0.6.17: - resolution: {integrity: sha512-//1Opyv8IM9FiONGJ52w2TLvv6Gs3d0zaInqw73SzFZl9eRv8ZqiVhZA91wqleVilwPmsudyT+XAljKrrTn9VQ==} + /@meshtastic/meshtasticjs/0.6.18: + resolution: {integrity: sha512-e/mgP+nhkf9M2JtB/tT4GJMefiJrbhenqgNGpzn4v7+IzvAPTQc3Mn8yPfWWHuu72OWFUFVH9qrqCRpMJvyAhw==} dependencies: - '@protobuf-ts/runtime': 2.0.6 + '@protobuf-ts/runtime': 2.0.7 sub-events: 1.8.9 dev: false @@ -436,7 +464,7 @@ packages: '@npmcli/node-gyp': 1.0.3 '@npmcli/package-json': 1.0.1 '@npmcli/run-script': 1.8.6 - bin-links: 2.2.1 + bin-links: 2.3.0 cacache: 15.3.0 common-ancestor-path: 1.0.1 json-parse-even-better-errors: 2.3.1 @@ -549,8 +577,8 @@ packages: read-package-json-fast: 2.0.3 dev: true - /@protobuf-ts/runtime/2.0.6: - resolution: {integrity: sha512-9yeRqxexKxctDHt6uYwFiuigw3mg8OC36WmViemYlQ9sj/ENg4OGOduzYIdHoJUlr1RSmPL5leN36QdGubCnJg==} + /@protobuf-ts/runtime/2.0.7: + resolution: {integrity: sha512-jT8FYEX7NkAzxZXVjshIhtCV/ReuZm/3sCH0GWnaa8woy9VG+He0N+dpj2svaJbkdUThSxJE3zwmJcH0/3vEsw==} dev: false /@reduxjs/toolkit/1.6.2_react-redux@7.2.5+react@17.0.2: @@ -588,13 +616,13 @@ packages: rollup: 2.37.1 dev: true - /@rollup/plugin-inject/4.0.2_rollup@2.37.1: - resolution: {integrity: sha512-TSLMA8waJ7Dmgmoc8JfPnwUwVZgLjjIAM6MqeIFqPO2ODK36JqE0Cf2F54UTgCUuW8da93Mvoj75a6KAVWgylw==} + /@rollup/plugin-inject/4.0.3_rollup@2.37.1: + resolution: {integrity: sha512-lzMXmj0LZjd67MI+M8H9dk/oCxR0TYqYAdZ6ZOejWQLSUtud+FUPu4NCMAO8KyWWAalFo8ean7yFHCMvCNsCZw==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: '@rollup/pluginutils': 3.1.0_rollup@2.37.1 - estree-walker: 1.0.1 + estree-walker: 2.0.2 magic-string: 0.25.7 rollup: 2.37.1 dev: true @@ -657,14 +685,14 @@ packages: dotenv-expand: 5.1.0 dev: true - /@snowpack/plugin-postcss/1.4.3_postcss@8.3.9: + /@snowpack/plugin-postcss/1.4.3_postcss@8.3.11: resolution: {integrity: sha512-RJGYagse6Pi86Bqm8vPukhCwFVa92VIB81qP3PXPQ/ITQy5gVWDYi4oU+r1A6hsEZ9scUNZevfw6ISya+oiMNQ==} peerDependencies: postcss: '*' dependencies: minimatch: 3.0.4 normalize-path: 3.0.0 - postcss: 8.3.9 + postcss: 8.3.11 postcss-load-config: 3.1.0 workerpool: 6.1.5 transitivePeerDependencies: @@ -686,14 +714,14 @@ packages: - supports-color dev: true - /@snowpack/plugin-typescript/1.2.1_typescript@4.4.3: + /@snowpack/plugin-typescript/1.2.1_typescript@4.4.4: resolution: {integrity: sha512-wU+JNaMVkqGsqTaUY7TnEMhGt/3URTgA9dpMCtZX6wn/ceA7Gwlmue/sOLynf0OTNLygHPvjiQECQYkEi3LTtg==} peerDependencies: typescript: '*' dependencies: execa: 5.1.1 npm-run-path: 4.0.1 - typescript: 4.4.3 + typescript: 4.4.4 dev: true /@szmarczak/http-timer/4.0.6: @@ -713,7 +741,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.3 - '@types/node': 16.10.3 + '@types/node': 16.11.4 '@types/responselike': 1.0.0 dev: true @@ -728,7 +756,7 @@ packages: /@types/hoist-non-react-statics/3.3.1: resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} dependencies: - '@types/react': 17.0.27 + '@types/react': 17.0.32 hoist-non-react-statics: 3.3.2 /@types/http-cache-semantics/4.0.1: @@ -746,11 +774,11 @@ packages: /@types/keyv/3.1.3: resolution: {integrity: sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==} dependencies: - '@types/node': 16.10.3 + '@types/node': 16.11.4 dev: true - /@types/node/16.10.3: - resolution: {integrity: sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ==} + /@types/node/16.11.4: + resolution: {integrity: sha512-TMgXmy0v2xWyuCSCJM6NCna2snndD8yvQF67J29ipdzMcsPa9u+o0tjF5+EQNdhcuZplYuouYqpc4zcd5I6amQ==} dev: true /@types/parse-json/4.0.0: @@ -760,28 +788,28 @@ packages: /@types/prop-types/15.7.4: resolution: {integrity: sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==} - /@types/react-dom/17.0.9: - resolution: {integrity: sha512-wIvGxLfgpVDSAMH5utdL9Ngm5Owu0VsGmldro3ORLXV8CShrL8awVj06NuEXFQ5xyaYfdca7Sgbk/50Ri1GdPg==} + /@types/react-dom/17.0.10: + resolution: {integrity: sha512-8oz3NAUId2z/zQdFI09IMhQPNgIbiP8Lslhv39DIDamr846/0spjZK0vnrMak0iB8EKb9QFTTIdg2Wj2zH5a3g==} dependencies: - '@types/react': 17.0.27 + '@types/react': 17.0.32 dev: true /@types/react-file-icon/1.0.1: resolution: {integrity: sha512-QTdYCkYXzh/PfKEIwcPxRdaPQkii5R4Ke7fcO+KB++IDPbYAG1jj+ulEcTA7pRf0gZ5jAvjWcTXBJJRtfYHjlw==} dependencies: - '@types/react': 17.0.27 + '@types/react': 17.0.32 dev: true - /@types/react-redux/7.1.19: - resolution: {integrity: sha512-L37dSCT0aoJnCgpR8Iuginlbxoh7qhWOXiaDqEsxVMrER1CmVhFD+63NxgJeT4pkmEM28oX0NH4S4f+sXHTZjA==} + /@types/react-redux/7.1.20: + resolution: {integrity: sha512-q42es4c8iIeTgcnB+yJgRTTzftv3eYYvCZOh1Ckn2eX/3o5TdsQYKUWpLoLuGlcY/p+VAhV9IOEZJcWk/vfkXw==} dependencies: '@types/hoist-non-react-statics': 3.3.1 - '@types/react': 17.0.27 + '@types/react': 17.0.32 hoist-non-react-statics: 3.3.2 redux: 4.1.1 - /@types/react/17.0.27: - resolution: {integrity: sha512-zgiJwtsggVGtr53MndV7jfiUESTqrbxOcBvwfe6KS/9bzaVPCTDieTWnFNecVNx6EAaapg5xsLLWFfHHR437AA==} + /@types/react/17.0.32: + resolution: {integrity: sha512-hAm1pmwA3oZWbkB985RFwNvBRMG0F3KWSiC4/hNmanigKZMiKQoH5Q6etNw8HIDztTGfvXyOjPvdNnvBUCuaPg==} dependencies: '@types/prop-types': 15.7.4 '@types/scheduler': 0.16.2 @@ -790,13 +818,13 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 16.10.3 + '@types/node': 16.11.4 dev: true /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 16.10.3 + '@types/node': 16.11.4 dev: true /@types/scheduler/0.16.2: @@ -806,7 +834,7 @@ packages: resolution: {integrity: sha512-zYzMb2aMyzXW5VgOQHy+FgI8N5tLFb+tIsUqk35CIgSr9pT4pji2GR8BCOTMdniusVuRHIp/DaYQNQGYGLVZHQ==} dev: true - /@typescript-eslint/eslint-plugin/4.33.0_d753869925cce96d3eb2141eeedafe57: + /@typescript-eslint/eslint-plugin/4.33.0_cc617358c89d3f38c52462f6d809db4c: resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -817,8 +845,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 4.33.0_eslint@7.32.0+typescript@4.4.3 - '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.4.3 + '@typescript-eslint/experimental-utils': 4.33.0_eslint@7.32.0+typescript@4.4.4 + '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.4.4 '@typescript-eslint/scope-manager': 4.33.0 debug: 4.3.2 eslint: 7.32.0 @@ -826,13 +854,39 @@ packages: ignore: 5.1.8 regexpp: 3.2.0 semver: 7.3.5 - tsutils: 3.21.0_typescript@4.4.3 - typescript: 4.4.3 + tsutils: 3.21.0_typescript@4.4.4 + typescript: 4.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/experimental-utils/4.33.0_eslint@7.32.0+typescript@4.4.3: + /@typescript-eslint/eslint-plugin/5.1.0_273a00ec265649c49755eee7222c1c12: + resolution: {integrity: sha512-bekODL3Tqf36Yz8u+ilha4zGxL9mdB6LIsIoMAvvC5FAuWo4NpZYXtCbv7B2CeR1LhI/lLtLk+q4tbtxuoVuCg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/experimental-utils': 5.1.0_eslint@8.1.0+typescript@4.4.4 + '@typescript-eslint/parser': 5.1.0_eslint@8.1.0+typescript@4.4.4 + '@typescript-eslint/scope-manager': 5.1.0 + debug: 4.3.2 + eslint: 8.1.0 + functional-red-black-tree: 1.0.1 + ignore: 5.1.8 + regexpp: 3.2.0 + semver: 7.3.5 + tsutils: 3.21.0_typescript@4.4.4 + typescript: 4.4.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/experimental-utils/4.33.0_eslint@7.32.0+typescript@4.4.4: resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -841,7 +895,7 @@ packages: '@types/json-schema': 7.0.9 '@typescript-eslint/scope-manager': 4.33.0 '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.4.3 + '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.4.4 eslint: 7.32.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@7.32.0 @@ -850,7 +904,25 @@ packages: - typescript dev: true - /@typescript-eslint/parser/4.33.0_eslint@7.32.0+typescript@4.4.3: + /@typescript-eslint/experimental-utils/5.1.0_eslint@8.1.0+typescript@4.4.4: + resolution: {integrity: sha512-ovE9qUiZMOMgxQAESZsdBT+EXIfx/YUYAbwGUI6V03amFdOOxI9c6kitkgRvLkJaLusgMZ2xBhss+tQ0Y1HWxA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + dependencies: + '@types/json-schema': 7.0.9 + '@typescript-eslint/scope-manager': 5.1.0 + '@typescript-eslint/types': 5.1.0 + '@typescript-eslint/typescript-estree': 5.1.0_typescript@4.4.4 + eslint: 8.1.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0_eslint@8.1.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/parser/4.33.0_eslint@7.32.0+typescript@4.4.4: resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -862,10 +934,30 @@ packages: dependencies: '@typescript-eslint/scope-manager': 4.33.0 '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.4.3 + '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.4.4 debug: 4.3.2 eslint: 7.32.0 - typescript: 4.4.3 + typescript: 4.4.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser/5.1.0_eslint@8.1.0+typescript@4.4.4: + resolution: {integrity: sha512-vx1P+mhCtYw3+bRHmbalq/VKP2Y3gnzNgxGxfEWc6OFpuEL7iQdAeq11Ke3Rhy8NjgB+AHsIWEwni3e+Y7djKA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.1.0 + '@typescript-eslint/types': 5.1.0 + '@typescript-eslint/typescript-estree': 5.1.0_typescript@4.4.4 + debug: 4.3.2 + eslint: 8.1.0 + typescript: 4.4.4 transitivePeerDependencies: - supports-color dev: true @@ -878,12 +970,25 @@ packages: '@typescript-eslint/visitor-keys': 4.33.0 dev: true + /@typescript-eslint/scope-manager/5.1.0: + resolution: {integrity: sha512-yYlyVjvn5lvwCL37i4hPsa1s0ORsjkauhTqbb8MnpvUs7xykmcjGqwlNZ2Q5QpoqkJ1odlM2bqHqJwa28qV6Tw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.1.0 + '@typescript-eslint/visitor-keys': 5.1.0 + dev: true + /@typescript-eslint/types/4.33.0: resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} dev: true - /@typescript-eslint/typescript-estree/4.33.0_typescript@4.4.3: + /@typescript-eslint/types/5.1.0: + resolution: {integrity: sha512-sEwNINVxcB4ZgC6Fe6rUyMlvsB2jvVdgxjZEjQUQVlaSPMNamDOwO6/TB98kFt4sYYfNhdhTPBEQqNQZjMMswA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree/4.33.0_typescript@4.4.4: resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -898,8 +1003,29 @@ packages: globby: 11.0.4 is-glob: 4.0.3 semver: 7.3.5 - tsutils: 3.21.0_typescript@4.4.3 - typescript: 4.4.3 + tsutils: 3.21.0_typescript@4.4.4 + typescript: 4.4.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree/5.1.0_typescript@4.4.4: + resolution: {integrity: sha512-SSz+l9YrIIsW4s0ZqaEfnjl156XQ4VRmJsbA0ZE1XkXrD3cRpzuZSVCyqeCMR3EBjF27IisWakbBDGhGNIOvfQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.1.0 + '@typescript-eslint/visitor-keys': 5.1.0 + debug: 4.3.2 + globby: 11.0.4 + is-glob: 4.0.3 + semver: 7.3.5 + tsutils: 3.21.0_typescript@4.4.4 + typescript: 4.4.4 transitivePeerDependencies: - supports-color dev: true @@ -912,17 +1038,25 @@ packages: eslint-visitor-keys: 2.1.0 dev: true - /@verypossible/eslint-config/1.6.1_typescript@4.4.3: + /@typescript-eslint/visitor-keys/5.1.0: + resolution: {integrity: sha512-uqNXepKBg81JVwjuqAxYrXa1Ql/YDzM+8g/pS+TCPxba0wZttl8m5DkrasbfnmJGHs4lQ2jTbcZ5azGhI7kK+w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.1.0 + eslint-visitor-keys: 3.0.0 + dev: true + + /@verypossible/eslint-config/1.6.1_typescript@4.4.4: resolution: {integrity: sha512-3qf2FSag49zqI6rZlwKcF8RryLX0RJ3W+koJuhDhdQNyelSEeTxiijQ+Y/Xss4ILFzyqpBnzqiphmABGcOgj1Q==} dependencies: - '@typescript-eslint/eslint-plugin': 4.33.0_d753869925cce96d3eb2141eeedafe57 - '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.4.3 + '@typescript-eslint/eslint-plugin': 4.33.0_cc617358c89d3f38c52462f6d809db4c + '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.4.4 babel-plugin-module-resolver: 4.1.0 eslint: 7.32.0 eslint-config-prettier: 8.3.0_eslint@7.32.0 eslint-import-resolver-babel-module: 5.3.1_e51044130ac762fd207a8cd2109b5344 - eslint-import-resolver-typescript: 2.5.0_b7a4de75e7d0094cbe979e30a9a325ab - eslint-plugin-import: 2.24.2_eslint@7.32.0 + eslint-import-resolver-typescript: 2.5.0_560ef94424f7023f0ab025f67f79aa67 + eslint-plugin-import: 2.25.2_eslint@7.32.0 eslint-plugin-react: 7.26.1_eslint@7.32.0 eslint-plugin-react-hooks: 4.2.0_eslint@7.32.0 prettier: 2.4.1 @@ -944,6 +1078,14 @@ packages: acorn: 7.4.1 dev: true + /acorn-jsx/5.3.2_acorn@8.5.0: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.5.0 + dev: true + /acorn-node/1.8.2: resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} dependencies: @@ -963,6 +1105,12 @@ packages: hasBin: true dev: true + /acorn/8.5.0: + resolution: {integrity: sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /address/1.1.2: resolution: {integrity: sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==} engines: {node: '>= 0.12.0'} @@ -1051,8 +1199,8 @@ packages: picomatch: 2.3.0 dev: true - /apexcharts/3.28.3: - resolution: {integrity: sha512-EhghB2P27/Gjhwct8sSS0V63mdpRMx/ikH34dwUTqZQnkAEyOS/RKDmYjXBNA7zsAKBE/pThOdoTya6ADyk6zQ==} + /apexcharts/3.29.0: + resolution: {integrity: sha512-PhI17VayidYAbLb5/g+7WOeirgFrVopzt0qGwLq8V+cd6NXx4CeHYq3S0pDZiUGO7UFQ4YIrT8+ie9/Fnler+w==} dependencies: svg.draggable.js: 2.2.2 svg.easing.js: 2.0.0 @@ -1083,6 +1231,10 @@ packages: sprintf-js: 1.0.3 dev: true + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + /array-includes/3.1.4: resolution: {integrity: sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==} engines: {node: '>= 0.4'} @@ -1148,19 +1300,19 @@ packages: resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} dev: true - /autoprefixer/10.3.7_postcss@8.3.9: + /autoprefixer/10.3.7_postcss@8.3.11: resolution: {integrity: sha512-EmGpu0nnQVmMhX8ROoJ7Mx8mKYPlcUHuxkwrRYEYMz85lu7H09v8w6R1P0JPdn/hKU32GjpLBFEOuIlDWCRWvg==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.17.3 - caniuse-lite: 1.0.30001265 + browserslist: 4.17.5 + caniuse-lite: 1.0.30001271 fraction.js: 4.1.1 normalize-range: 0.1.2 picocolors: 0.2.1 - postcss: 8.3.9 + postcss: 8.3.11 postcss-value-parser: 4.1.0 dev: true @@ -1198,8 +1350,8 @@ packages: tweetnacl: 0.14.5 dev: true - /big-integer/1.6.49: - resolution: {integrity: sha512-KJ7VhqH+f/BOt9a3yMwJNmcZjG53ijWMTjSAGMveQWyLwqIiwkjNP5PFgDob3Snnx86SjDj6I89fIbv0dkQeNw==} + /big-integer/1.6.50: + resolution: {integrity: sha512-+O2uoQWFRo8ysZNo/rjtri2jIwjr3XfeAgRjAUADRqGG+ZITvyn8J1kvXLTaKVr3hhGXk+f23tKfdzmklVM9vQ==} engines: {node: '>=0.6'} dev: true @@ -1207,12 +1359,12 @@ packages: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: true - /bin-links/2.2.1: - resolution: {integrity: sha512-wFzVTqavpgCCYAh8SVBdnZdiQMxTkGR+T3b14CNpBXIBe2neJWaMGAZ55XWWHELJJ89dscuq0VCBqcVaIOgCMg==} + /bin-links/2.3.0: + resolution: {integrity: sha512-JzrOLHLwX2zMqKdyYZjkDgQGT+kHDkIhv2/IK2lJ00qLxV4TmFoHi8drDBb6H5Zrz1YfgHkai4e2MGPqnoUhqA==} engines: {node: '>=10'} dependencies: cmd-shim: 4.1.0 - mkdirp: 1.0.4 + mkdirp-infer-owner: 2.0.0 npm-normalize-package-bin: 1.0.1 read-cmd-shim: 2.0.0 rimraf: 3.0.2 @@ -1235,7 +1387,7 @@ packages: /bplist-parser/0.1.1: resolution: {integrity: sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=} dependencies: - big-integer: 1.6.49 + big-integer: 1.6.50 dev: true /brace-expansion/1.1.11: @@ -1252,20 +1404,20 @@ packages: fill-range: 7.0.1 dev: true - /browserslist/4.17.3: - resolution: {integrity: sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ==} + /browserslist/4.17.5: + resolution: {integrity: sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001265 - electron-to-chromium: 1.3.864 + caniuse-lite: 1.0.30001271 + electron-to-chromium: 1.3.878 escalade: 3.1.1 - node-releases: 1.1.77 - picocolors: 0.2.1 + node-releases: 2.0.1 + picocolors: 1.0.0 dev: true - /bufferutil/4.0.4: - resolution: {integrity: sha512-VNxjXUCrF3LvbLgwfkTb5LsFvk6pGIn7OBb9x+3o+iJ6mKw0JTUp4chBFc88hi1aspeZGeZG9jAIbpFYPQSLZw==} + /bufferutil/4.0.5: + resolution: {integrity: sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==} engines: {node: '>=6.14.2'} requiresBuild: true dependencies: @@ -1345,8 +1497,8 @@ packages: engines: {node: '>= 6'} dev: true - /caniuse-lite/1.0.30001265: - resolution: {integrity: sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw==} + /caniuse-lite/1.0.30001271: + resolution: {integrity: sha512-BBruZFWmt3HFdVPS8kceTBIguKxu4f99n5JNp06OlPD/luoAMIaIK5ieV5YjnBLH3Nysai9sxj9rpJj4ZisXOA==} dev: true /caseless/0.12.0: @@ -1781,8 +1933,8 @@ packages: safer-buffer: 2.1.2 dev: true - /electron-to-chromium/1.3.864: - resolution: {integrity: sha512-v4rbad8GO6/yVI92WOeU9Wgxc4NA0n4f6P1FvZTY+jyY7JHEhw3bduYu60v3Q1h81Cg6eo4ApZrFPuycwd5hGw==} + /electron-to-chromium/1.3.878: + resolution: {integrity: sha512-O6yxWCN9ph2AdspAIszBnd9v8s11hQx8ub9w4UGApzmNRnoKhbulOWqbO8THEQec/aEHtvy+donHZMlh6l1rbA==} dev: true /emoji-regex/8.0.0: @@ -1914,7 +2066,7 @@ packages: resolution: {integrity: sha512-irDsrIF7fZ5BCQEAV5gmH+4nsK6JhnkI9C9VloXdmzJLbM1EcshPw8Ap95UUGc4ZJdzGeOrjV+jgKjQ/Z7Q3pg==} dependencies: '@rollup/plugin-commonjs': 16.0.0_rollup@2.37.1 - '@rollup/plugin-inject': 4.0.2_rollup@2.37.1 + '@rollup/plugin-inject': 4.0.3_rollup@2.37.1 '@rollup/plugin-json': 4.1.0_rollup@2.37.1 '@rollup/plugin-node-resolve': 10.0.0_rollup@2.37.1 '@rollup/plugin-replace': 2.4.2_rollup@2.37.1 @@ -1932,7 +2084,7 @@ packages: rollup-plugin-polyfill-node: 0.6.2_rollup@2.37.1 slash: 3.0.0 validate-npm-package-name: 3.0.0 - vm2: 3.9.3 + vm2: 3.9.5 dev: true /eslint-config-prettier/8.3.0_eslint@7.32.0: @@ -1944,6 +2096,15 @@ packages: eslint: 7.32.0 dev: true + /eslint-config-prettier/8.3.0_eslint@8.1.0: + resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.1.0 + dev: true + /eslint-import-resolver-babel-module/5.3.1_e51044130ac762fd207a8cd2109b5344: resolution: {integrity: sha512-WomQAkjO7lUNOdU3FG2zgNgylkoAVUmaw04bHgSpM9QrMWuOLLWa2qcP6CrsBd4VWuLRbUPyzrgBc9ZQIx9agw==} engines: {node: '>=10.0.0'} @@ -1963,7 +2124,7 @@ packages: resolve: 1.20.0 dev: true - /eslint-import-resolver-typescript/2.5.0_b7a4de75e7d0094cbe979e30a9a325ab: + /eslint-import-resolver-typescript/2.5.0_560ef94424f7023f0ab025f67f79aa67: resolution: {integrity: sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ==} engines: {node: '>=4'} peerDependencies: @@ -1972,7 +2133,7 @@ packages: dependencies: debug: 4.3.2 eslint: 7.32.0 - eslint-plugin-import: 2.24.2_eslint@7.32.0 + eslint-plugin-import: 2.25.2_eslint@7.32.0 glob: 7.2.0 is-glob: 4.0.3 resolve: 1.20.0 @@ -1981,19 +2142,38 @@ packages: - supports-color dev: true - /eslint-module-utils/2.6.2: - resolution: {integrity: sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==} + /eslint-import-resolver-typescript/2.5.0_f3fc3a8f1727ab01eb417b5ed5016c22: + resolution: {integrity: sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ==} + engines: {node: '>=4'} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.2 + eslint: 8.1.0 + eslint-plugin-import: 2.25.2_eslint@8.1.0 + glob: 7.2.0 + is-glob: 4.0.3 + resolve: 1.20.0 + tsconfig-paths: 3.11.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils/2.7.1: + resolution: {integrity: sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==} engines: {node: '>=4'} dependencies: debug: 3.2.7 + find-up: 2.1.0 pkg-dir: 2.0.0 dev: true - /eslint-plugin-import/2.24.2_eslint@7.32.0: - resolution: {integrity: sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==} + /eslint-plugin-import/2.25.2_eslint@7.32.0: + resolution: {integrity: sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g==} engines: {node: '>=4'} peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 dependencies: array-includes: 3.1.4 array.prototype.flat: 1.2.5 @@ -2001,14 +2181,34 @@ packages: doctrine: 2.1.0 eslint: 7.32.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.6.2 - find-up: 2.1.0 + eslint-module-utils: 2.7.1 has: 1.0.3 - is-core-module: 2.7.0 + is-core-module: 2.8.0 + is-glob: 4.0.3 + minimatch: 3.0.4 + object.values: 1.1.5 + resolve: 1.20.0 + tsconfig-paths: 3.11.0 + dev: true + + /eslint-plugin-import/2.25.2_eslint@8.1.0: + resolution: {integrity: sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + dependencies: + array-includes: 3.1.4 + array.prototype.flat: 1.2.5 + debug: 2.6.9 + doctrine: 2.1.0 + eslint: 8.1.0 + eslint-import-resolver-node: 0.3.6 + eslint-module-utils: 2.7.1 + has: 1.0.3 + is-core-module: 2.8.0 + is-glob: 4.0.3 minimatch: 3.0.4 object.values: 1.1.5 - pkg-up: 2.0.0 - read-pkg-up: 3.0.0 resolve: 1.20.0 tsconfig-paths: 3.11.0 dev: true @@ -2022,6 +2222,15 @@ packages: eslint: 7.32.0 dev: true + /eslint-plugin-react-hooks/4.2.0_eslint@8.1.0: + resolution: {integrity: sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + dependencies: + eslint: 8.1.0 + dev: true + /eslint-plugin-react/7.26.1_eslint@7.32.0: resolution: {integrity: sha512-Lug0+NOFXeOE+ORZ5pbsh6mSKjBKXDXItUD2sQoT+5Yl0eoT82DqnXeTMfUare4QVCn9QwXbfzO/dBLjLXwVjQ==} engines: {node: '>=4'} @@ -2045,6 +2254,29 @@ packages: string.prototype.matchall: 4.0.6 dev: true + /eslint-plugin-react/7.26.1_eslint@8.1.0: + resolution: {integrity: sha512-Lug0+NOFXeOE+ORZ5pbsh6mSKjBKXDXItUD2sQoT+5Yl0eoT82DqnXeTMfUare4QVCn9QwXbfzO/dBLjLXwVjQ==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 + dependencies: + array-includes: 3.1.4 + array.prototype.flatmap: 1.2.5 + doctrine: 2.1.0 + eslint: 8.1.0 + estraverse: 5.2.0 + jsx-ast-utils: 3.2.1 + minimatch: 3.0.4 + object.entries: 1.1.5 + object.fromentries: 2.0.5 + object.hasown: 1.1.0 + object.values: 1.1.5 + prop-types: 15.7.2 + resolve: 2.0.0-next.3 + semver: 6.3.0 + string.prototype.matchall: 4.0.6 + dev: true + /eslint-scope/5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -2053,6 +2285,14 @@ packages: estraverse: 4.3.0 dev: true + /eslint-scope/6.0.0: + resolution: {integrity: sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.2.0 + dev: true + /eslint-utils/2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} @@ -2070,6 +2310,16 @@ packages: eslint-visitor-keys: 2.1.0 dev: true + /eslint-utils/3.0.0_eslint@8.1.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.1.0 + eslint-visitor-keys: 2.1.0 + dev: true + /eslint-visitor-keys/1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} @@ -2080,6 +2330,11 @@ packages: engines: {node: '>=10'} dev: true + /eslint-visitor-keys/3.0.0: + resolution: {integrity: sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /eslint/7.32.0: resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2129,6 +2384,53 @@ packages: - supports-color dev: true + /eslint/8.1.0: + resolution: {integrity: sha512-JZvNneArGSUsluHWJ8g8MMs3CfIEzwaLx9KyH4tZ2i+R2/rPWzL8c0zg3rHdwYVpN/1sB9gqnjHwz9HoeJpGHw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint/eslintrc': 1.0.3 + '@humanwhocodes/config-array': 0.6.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.2 + doctrine: 3.0.0 + enquirer: 2.3.6 + escape-string-regexp: 4.0.0 + eslint-scope: 6.0.0 + eslint-utils: 3.0.0_eslint@8.1.0 + eslint-visitor-keys: 3.0.0 + espree: 9.0.0 + esquery: 1.4.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 6.0.2 + globals: 13.11.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.0.4 + natural-compare: 1.4.0 + optionator: 0.9.1 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.3.5 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + v8-compile-cache: 2.3.0 + transitivePeerDependencies: + - supports-color + dev: true + /espree/7.3.1: resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2138,6 +2440,15 @@ packages: eslint-visitor-keys: 1.3.0 dev: true + /espree/9.0.0: + resolution: {integrity: sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.5.0 + acorn-jsx: 5.3.2_acorn@8.5.0 + eslint-visitor-keys: 3.0.0 + dev: true + /esprima/4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -2385,7 +2696,7 @@ packages: signal-exit: 3.0.5 string-width: 1.0.2 strip-ansi: 3.0.1 - wide-align: 1.1.3 + wide-align: 1.1.5 dev: true /generic-names/2.0.1: @@ -2503,8 +2814,8 @@ packages: resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} dev: true - /gzipper/5.0.1: - resolution: {integrity: sha512-dGrx0KGY3pycpw1ecbQN35zA0SfJERJjwO2rN8F3zgtbNXdlgB1DlbUl4BnmyRrIjioN2g1o91lIDpMzXb95JQ==} + /gzipper/6.0.0: + resolution: {integrity: sha512-48rB8e5boI2cGjti7nscwN13/bdFEqV+8IUciVacy6akGOq3mGJySf2gXLqpoYGyHUwmP0JFsSPciXC6uolb8A==} engines: {node: '>=12'} hasBin: true dependencies: @@ -2575,10 +2886,6 @@ packages: dependencies: react-is: 16.13.1 - /hosted-git-info/2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true - /hosted-git-info/4.0.2: resolution: {integrity: sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==} engines: {node: '>=10'} @@ -2665,8 +2972,8 @@ packages: '@babel/runtime': 7.15.4 dev: false - /i18next/21.2.6: - resolution: {integrity: sha512-xnCodgPo1ASLfdPs2/GS8jQFqQsaWrQKdsqfYgf5juANavIos4kjahgBkrMU8SUCn2kv7TSssfnyVu5LZjBWXw==} + /i18next/21.3.3: + resolution: {integrity: sha512-Wv5arCT9pK35nfhOzTdS64T7JpPcoqnkOEidxc4zF0DZ8KetpvmnkO+uWkXy+DFz6zWzPX7U9bIemwBqpFRprw==} dependencies: '@babel/runtime': 7.15.4 dev: false @@ -2683,13 +2990,13 @@ packages: resolution: {integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=} dev: true - /icss-utils/5.1.0_postcss@8.3.9: + /icss-utils/5.1.0_postcss@8.3.11: resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.3.9 + postcss: 8.3.11 dev: true /ignore-walk/3.0.4: @@ -2814,8 +3121,8 @@ packages: engines: {node: '>= 0.4'} dev: true - /is-core-module/2.7.0: - resolution: {integrity: sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==} + /is-core-module/2.8.0: + resolution: {integrity: sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==} dependencies: has: 1.0.3 dev: true @@ -3006,6 +3313,13 @@ packages: esprima: 4.0.1 dev: true + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + /jsbn/0.1.1: resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=} dev: true @@ -3020,10 +3334,6 @@ packages: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true - /json-parse-better-errors/1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true - /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -3135,16 +3445,6 @@ packages: resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=} dev: true - /load-json-file/4.0.0: - resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} - engines: {node: '>=4'} - dependencies: - graceful-fs: 4.2.8 - parse-json: 4.0.0 - pify: 3.0.0 - strip-bom: 3.0.0 - dev: true - /loader-utils/1.4.0: resolution: {integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==} engines: {node: '>=4.0.0'} @@ -3410,8 +3710,8 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /nanoid/3.1.29: - resolution: {integrity: sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg==} + /nanoid/3.1.30: + resolution: {integrity: sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true @@ -3447,8 +3747,8 @@ packages: which: 2.0.2 dev: true - /node-releases/1.1.77: - resolution: {integrity: sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==} + /node-releases/2.0.1: + resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==} dev: true /nopt/5.0.0: @@ -3459,15 +3759,6 @@ packages: abbrev: 1.1.1 dev: true - /normalize-package-data/2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.20.0 - semver: 5.7.1 - validate-npm-package-license: 3.0.4 - dev: true - /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -3657,8 +3948,8 @@ packages: mimic-fn: 2.1.0 dev: true - /open/8.3.0: - resolution: {integrity: sha512-7INcPWb1UcOwSQxAXTnBJ+FxVV4MPs/X++FWWBtgY69/J5lc+tCteMt/oFK1MnkyHC4VILLa9ntmwKTwDR4Q9w==} + /open/8.4.0: + resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} engines: {node: '>=12'} dependencies: define-lazy-prop: 2.0.0 @@ -3817,14 +4108,6 @@ packages: just-diff-apply: 3.0.0 dev: true - /parse-json/4.0.0: - resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=} - engines: {node: '>=4'} - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - dev: true - /parse-json/5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -3869,13 +4152,6 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-type/3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} - dependencies: - pify: 3.0.0 - dev: true - /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -3896,6 +4172,10 @@ packages: resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} dev: true + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + /picomatch/2.3.0: resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} engines: {node: '>=8.6'} @@ -3906,11 +4186,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /pify/3.0.0: - resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} - engines: {node: '>=4'} - dev: true - /pkg-dir/2.0.0: resolution: {integrity: sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=} engines: {node: '>=4'} @@ -3925,13 +4200,6 @@ packages: find-up: 4.1.0 dev: true - /pkg-up/2.0.0: - resolution: {integrity: sha1-yBmscoBZpGHKscOImivjxJoATX8=} - engines: {node: '>=4'} - dependencies: - find-up: 2.1.0 - dev: true - /pkg-up/3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} @@ -3944,7 +4212,7 @@ packages: engines: {node: '>=10.0'} dependencies: camelcase-css: 2.0.1 - postcss: 8.3.9 + postcss: 8.3.11 dev: true /postcss-load-config/3.1.0: @@ -3961,48 +4229,48 @@ packages: yaml: 1.10.2 dev: true - /postcss-modules-extract-imports/3.0.0_postcss@8.3.9: + /postcss-modules-extract-imports/3.0.0_postcss@8.3.11: resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.3.9 + postcss: 8.3.11 dev: true - /postcss-modules-local-by-default/4.0.0_postcss@8.3.9: + /postcss-modules-local-by-default/4.0.0_postcss@8.3.11: resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.3.9 - postcss: 8.3.9 + icss-utils: 5.1.0_postcss@8.3.11 + postcss: 8.3.11 postcss-selector-parser: 6.0.6 postcss-value-parser: 4.1.0 dev: true - /postcss-modules-scope/3.0.0_postcss@8.3.9: + /postcss-modules-scope/3.0.0_postcss@8.3.11: resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.3.9 + postcss: 8.3.11 postcss-selector-parser: 6.0.6 dev: true - /postcss-modules-values/4.0.0_postcss@8.3.9: + /postcss-modules-values/4.0.0_postcss@8.3.11: resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.3.9 - postcss: 8.3.9 + icss-utils: 5.1.0_postcss@8.3.11 + postcss: 8.3.11 dev: true - /postcss-modules/4.2.2_postcss@8.3.9: + /postcss-modules/4.2.2_postcss@8.3.11: resolution: {integrity: sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==} peerDependencies: postcss: ^8.0.0 @@ -4010,21 +4278,21 @@ packages: generic-names: 2.0.1 icss-replace-symbols: 1.1.0 lodash.camelcase: 4.3.0 - postcss: 8.3.9 - postcss-modules-extract-imports: 3.0.0_postcss@8.3.9 - postcss-modules-local-by-default: 4.0.0_postcss@8.3.9 - postcss-modules-scope: 3.0.0_postcss@8.3.9 - postcss-modules-values: 4.0.0_postcss@8.3.9 + postcss: 8.3.11 + postcss-modules-extract-imports: 3.0.0_postcss@8.3.11 + postcss-modules-local-by-default: 4.0.0_postcss@8.3.11 + postcss-modules-scope: 3.0.0_postcss@8.3.11 + postcss-modules-values: 4.0.0_postcss@8.3.11 string-hash: 1.1.3 dev: true - /postcss-nested/5.0.6_postcss@8.3.9: + /postcss-nested/5.0.6_postcss@8.3.11: resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.3.9 + postcss: 8.3.11 postcss-selector-parser: 6.0.6 dev: true @@ -4040,12 +4308,12 @@ packages: resolution: {integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==} dev: true - /postcss/8.3.9: - resolution: {integrity: sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw==} + /postcss/8.3.11: + resolution: {integrity: sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.1.29 - picocolors: 0.2.1 + nanoid: 3.1.30 + picocolors: 1.0.0 source-map-js: 0.6.2 dev: true @@ -4130,13 +4398,13 @@ packages: engines: {node: '>=10'} dev: true - /react-apexcharts/1.3.9_apexcharts@3.28.3+react@17.0.2: + /react-apexcharts/1.3.9_apexcharts@3.29.0+react@17.0.2: resolution: {integrity: sha512-KPonT5uQPHOHSVgTNEzpB0HhCkZtoicQYGjR9P+3DRDSgTsC+DM2vDUfo/B2Fn1m+wdgVeDXWL0VJYDc6JD/tw==} peerDependencies: apexcharts: ^3.18.0 react: '>=0.13' dependencies: - apexcharts: 3.28.3 + apexcharts: 3.29.0 prop-types: 15.7.2 react: 17.0.2 dev: false @@ -4176,15 +4444,15 @@ packages: react-dom: 17.0.2_react@17.0.2 dev: false - /react-hook-form/7.17.2_react@17.0.2: - resolution: {integrity: sha512-oBaHwlYnbpzSFdNrs43QpcM+K2A0kUeNjV86ECYkCimlR1Ctl+tz4oQQd9plfGYkO7PJGLVMOVpUtL5EHjAcYQ==} + /react-hook-form/7.17.5_react@17.0.2: + resolution: {integrity: sha512-4bPtPGkpVhZlgtTbtMGi0RFphKHgxCj5u3AsGz3SBdleELlG1pDf9zRQOtfGlOGkZlc7u78RzD0xu9kOw7PYdQ==} peerDependencies: react: ^16.8.0 || ^17 dependencies: react: 17.0.2 dev: false - /react-i18next/11.12.0_i18next@21.2.6+react@17.0.2: + /react-i18next/11.12.0_i18next@21.3.3+react@17.0.2: resolution: {integrity: sha512-M9BT+hqVG03ywrl+L7CK74ugK+4jIo7AeKJ17+g9BoqJz2+/aVbs8SIVXT4KMQ1rjIdcw+GcSRDy1CXjcz6tLQ==} peerDependencies: i18next: '>= 19.0.0' @@ -4192,7 +4460,7 @@ packages: dependencies: '@babel/runtime': 7.15.4 html-parse-stringify: 3.0.1 - i18next: 21.2.6 + i18next: 21.3.3 react: 17.0.2 dev: false @@ -4220,7 +4488,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.15.4 - '@types/react-redux': 7.1.19 + '@types/react-redux': 7.1.20 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 prop-types: 15.7.2 @@ -4254,23 +4522,6 @@ packages: npm-normalize-package-bin: 1.0.1 dev: true - /read-pkg-up/3.0.0: - resolution: {integrity: sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=} - engines: {node: '>=4'} - dependencies: - find-up: 2.1.0 - read-pkg: 3.0.0 - dev: true - - /read-pkg/3.0.0: - resolution: {integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=} - engines: {node: '>=4'} - dependencies: - load-json-file: 4.0.0 - normalize-package-data: 2.5.0 - path-type: 3.0.0 - dev: true - /readable-stream/2.3.7: resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: @@ -4376,14 +4627,14 @@ packages: /resolve/1.20.0: resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} dependencies: - is-core-module: 2.7.0 + is-core-module: 2.8.0 path-parse: 1.0.7 dev: true /resolve/2.0.0-next.3: resolution: {integrity: sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==} dependencies: - is-core-module: 2.7.0 + is-core-module: 2.8.0 path-parse: 1.0.7 dev: true @@ -4413,7 +4664,7 @@ packages: /rollup-plugin-polyfill-node/0.6.2_rollup@2.37.1: resolution: {integrity: sha512-gMCVuR0zsKq0jdBn8pSXN1Ejsc458k2QsFFvQdbHoM0Pot5hEnck+pBP/FDwFS6uAi77pD3rDTytsaUStsOMlA==} dependencies: - '@rollup/plugin-inject': 4.0.2_rollup@2.37.1 + '@rollup/plugin-inject': 4.0.3_rollup@2.37.1 transitivePeerDependencies: - rollup dev: true @@ -4451,11 +4702,6 @@ packages: object-assign: 4.1.1 dev: false - /semver/5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - dev: true - /semver/6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true @@ -4540,7 +4786,7 @@ packages: hasBin: true dependencies: '@npmcli/arborist': 2.10.0 - bufferutil: 4.0.4 + bufferutil: 4.0.5 cachedir: 2.3.0 cheerio: 1.0.0-rc.10 chokidar: 3.5.2 @@ -4571,12 +4817,12 @@ packages: mime-types: 2.1.33 mkdirp: 1.0.4 npm-run-path: 4.0.1 - open: 8.3.0 + open: 8.4.0 pacote: 11.3.5 periscopic: 2.0.3 picomatch: 2.3.0 - postcss: 8.3.9 - postcss-modules: 4.2.2_postcss@8.3.9 + postcss: 8.3.11 + postcss-modules: 4.2.2_postcss@8.3.11 resolve: 1.20.0 resolve-from: 5.0.0 rimraf: 3.0.2 @@ -4587,8 +4833,8 @@ packages: source-map: 0.7.3 strip-ansi: 6.0.1 strip-comments: 2.0.1 - utf-8-validate: 5.0.6 - ws: 7.5.5_b2e6c579793e9551e64081320e3d8aea + utf-8-validate: 5.0.7 + ws: 7.5.5_5971b5a749a91823f5467a6d31a2f8b3 yargs-parser: 20.2.9 optionalDependencies: fsevents: 2.3.2 @@ -4634,28 +4880,6 @@ packages: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} dev: true - /spdx-correct/3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.10 - dev: true - - /spdx-exceptions/2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - dev: true - - /spdx-expression-parse/3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.10 - dev: true - - /spdx-license-ids/3.0.10: - resolution: {integrity: sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==} - dev: true - /sprintf-js/1.0.3: resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} dev: true @@ -4866,7 +5090,7 @@ packages: strip-ansi: 6.0.1 dev: true - /tailwindcss/3.0.0-alpha.1_96f83969316717847b3edf58a3f353f3: + /tailwindcss/3.0.0-alpha.1_fa866e6aa6eb85ed70431566fb699b34: resolution: {integrity: sha512-VweVLyu1tpo/i2MnoyDIunToZHYhHRZLGuKDt9I+nnjFoW07NhDwwHWsUyRHKowP5MZaHduhV+AVlM6Auy7m3A==} engines: {node: '>=12.13.0'} hasBin: true @@ -4875,7 +5099,7 @@ packages: postcss: ^8.0.9 dependencies: arg: 5.0.1 - autoprefixer: 10.3.7_postcss@8.3.9 + autoprefixer: 10.3.7_postcss@8.3.11 chalk: 4.1.2 chokidar: 3.5.2 color-name: 1.1.4 @@ -4888,10 +5112,10 @@ packages: is-glob: 4.0.3 normalize-path: 3.0.0 object-hash: 2.2.0 - postcss: 8.3.9 + postcss: 8.3.11 postcss-js: 3.0.3 postcss-load-config: 3.1.0 - postcss-nested: 5.0.6_postcss@8.3.9 + postcss-nested: 5.0.6_postcss@8.3.11 postcss-selector-parser: 6.0.6 postcss-value-parser: 4.1.0 quick-lru: 5.1.1 @@ -4969,14 +5193,14 @@ packages: resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} dev: true - /tsutils/3.21.0_typescript@4.4.3: + /tsutils/3.21.0_typescript@4.4.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.4.3 + typescript: 4.4.4 dev: true /tunnel-agent/0.6.0: @@ -5013,8 +5237,8 @@ packages: is-typedarray: 1.0.0 dev: true - /typescript/4.4.3: - resolution: {integrity: sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==} + /typescript/4.4.4: + resolution: {integrity: sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==} engines: {node: '>=4.2.0'} hasBin: true dev: true @@ -5063,8 +5287,8 @@ packages: react-dom: 17.0.2_react@17.0.2 dev: false - /utf-8-validate/5.0.6: - resolution: {integrity: sha512-hoY0gOf9EkCw+nimK21FVKHUIG1BMqSiRwxB/q3A9yKZOrOI99PP77BxmarDqWz6rG3vVYiBWfhG8z2Tl+7fZA==} + /utf-8-validate/5.0.7: + resolution: {integrity: sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==} engines: {node: '>=6.14.2'} requiresBuild: true dependencies: @@ -5096,13 +5320,6 @@ packages: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true - /validate-npm-package-license/3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - dependencies: - spdx-correct: 3.1.1 - spdx-expression-parse: 3.0.1 - dev: true - /validate-npm-package-name/3.0.0: resolution: {integrity: sha1-X6kS2B630MdK/BQN5zF/DKffQ34=} dependencies: @@ -5118,8 +5335,8 @@ packages: extsprintf: 1.3.0 dev: true - /vm2/3.9.3: - resolution: {integrity: sha512-smLS+18RjXYMl9joyJxMNI9l4w7biW8ilSDaVRvFBDwOH8P0BK1ognFQTpg0wyQ6wIKLTblHJvROW692L/E53Q==} + /vm2/3.9.5: + resolution: {integrity: sha512-LuCAHZN75H9tdrAiLFf030oW7nJV5xwNMuk1ymOZwopmuK3d2H4L1Kv4+GFHgarKiLfXXLFU+7LDABHnwOkWng==} engines: {node: '>=6.0'} hasBin: true dev: true @@ -5172,8 +5389,8 @@ packages: isexe: 2.0.0 dev: true - /wide-align/1.1.3: - resolution: {integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==} + /wide-align/1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: string-width: 1.0.2 dev: true @@ -5200,7 +5417,7 @@ packages: typedarray-to-buffer: 3.1.5 dev: true - /ws/7.5.5_b2e6c579793e9551e64081320e3d8aea: + /ws/7.5.5_5971b5a749a91823f5467a6d31a2f8b3: resolution: {integrity: sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==} engines: {node: '>=8.3.0'} peerDependencies: @@ -5212,8 +5429,8 @@ packages: utf-8-validate: optional: true dependencies: - bufferutil: 4.0.4 - utf-8-validate: 5.0.6 + bufferutil: 4.0.5 + utf-8-validate: 5.0.7 dev: true /xtend/4.0.2: diff --git a/src/App.tsx b/src/App.tsx index bb60737e..8fd17c62 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -10,7 +10,6 @@ import { Navigation } from '@components/menu/Navigation'; import { connection } from '@core/connection'; import { useRoute } from '@core/router'; import { - ackMessage, addChannel, addMessage, addNode, @@ -52,10 +51,9 @@ const App = (): JSX.Element => { SettingsManager.debugMode = Protobuf.LogRecord_Level.TRACE; void connection.connect({ - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment address: connectionURL, - receiveBatchRequests: false, tls: false, + receiveBatchRequests: false, fetchInterval: 2000, }); }, [hostOverrideEnabled, hostOverride, connectionURL]); @@ -116,14 +114,6 @@ const App = (): JSX.Element => { ); }); - connection.onRoutingPacket.subscribe((routingPacket) => { - if (routingPacket.packet.payloadVariant.oneofKind === 'decoded') { - dispatch( - ackMessage(routingPacket.packet.payloadVariant.decoded.requestId), - ); - } - }); - return (): void => { connection.onDeviceStatus.cancelAll(); connection.onMyNodeInfo.cancelAll(); diff --git a/src/components/chat/MessageBar.tsx b/src/components/chat/MessageBar.tsx index c12c04d0..be28adfe 100644 --- a/src/components/chat/MessageBar.tsx +++ b/src/components/chat/MessageBar.tsx @@ -3,17 +3,23 @@ import React from 'react'; import { useTranslation } from 'react-i18next'; import { FiPaperclip, FiSend, FiSmile } from 'react-icons/fi'; -import { useAppSelector } from '@app/hooks/redux'; +import { ackMessage } from '@app/core/slices/meshtasticSlice.js'; +import { useAppDispatch, useAppSelector } from '@app/hooks/redux'; import { Button } from '@components/generic/Button'; import { Input } from '@components/generic/Input'; import { connection } from '@core/connection'; export const MessageBar = (): JSX.Element => { + const dispatch = useAppDispatch(); const ready = useAppSelector((state) => state.meshtastic.ready); const [currentMessage, setCurrentMessage] = React.useState(''); const sendMessage = (): void => { if (ready) { - void connection.sendText(currentMessage, undefined, true); + void connection.sendText(currentMessage, undefined, true, (id) => { + dispatch(ackMessage(id)); + + return Promise.resolve(); + }); setCurrentMessage(''); } }; diff --git a/src/components/generic/Button.tsx b/src/components/generic/Button.tsx index 328fea10..cb4f061f 100644 --- a/src/components/generic/Button.tsx +++ b/src/components/generic/Button.tsx @@ -40,7 +40,7 @@ export const Button = ({ return ( + } + > +
+ +
+ + + +
+ + +
+ +
+
+ +
+ {channels.map((channel) => ( +
+
+ {Protobuf.Channel_Role[channel.role]} + {channel.settings?.name} +
+
+ ))} +
+
+
+ + ); +}; diff --git a/src/pages/settings/Device.tsx b/src/pages/settings/Device.tsx index 1c391e07..85ca6686 100644 --- a/src/pages/settings/Device.tsx +++ b/src/pages/settings/Device.tsx @@ -22,20 +22,22 @@ export const Device = ({ navOpen, setNavOpen }: DeviceProps): JSX.Element => { const { t } = useTranslation(); const user = useAppSelector((state) => state.meshtastic.user); const { register, handleSubmit, formState } = useForm<{ - isLicensed: boolean; - shortName: string; longName: string; + shortName: string; + isLicensed: boolean; }>({ defaultValues: { - isLicensed: user.isLicensed, - shortName: user.shortName, longName: user.longName, + shortName: user.shortName, + isLicensed: user.isLicensed, }, }); const onSubmit = handleSubmit((data) => { - Protobuf.User.mergePartial(user, data); - void connection.setOwner(user); + // Protobuf.User.mergePartial(user, data); + + void connection.setOwner({ ...user, ...data }); + console.log('submitted'); }); return ( @@ -56,6 +58,7 @@ export const Device = ({ navOpen, setNavOpen }: DeviceProps): JSX.Element => { className="px-10 ml-auto" icon={} disabled={!formState.isDirty} + onClick={onSubmit} active border > @@ -69,6 +72,12 @@ export const Device = ({ navOpen, setNavOpen }: DeviceProps): JSX.Element => { >
+ + { /> )} + + {({ selected }): JSX.Element => ( + } + /> + )} +
@@ -113,6 +125,9 @@ export const Settings = (): JSX.Element => { + + +
diff --git a/src/pages/settings/Radio.tsx b/src/pages/settings/Radio.tsx index a44a582d..ae13e674 100644 --- a/src/pages/settings/Radio.tsx +++ b/src/pages/settings/Radio.tsx @@ -10,7 +10,7 @@ import { useAppSelector } from '@app/hooks/redux'; import { Button } from '@components/generic/Button'; import { Input } from '@components/generic/Input'; import { PrimaryTemplate } from '@components/templates/PrimaryTemplate'; -import type { Protobuf } from '@meshtastic/meshtasticjs'; +import { Protobuf } from '@meshtastic/meshtasticjs'; export interface RadioProps { navOpen: boolean; @@ -76,6 +76,7 @@ export const Radio = ({ navOpen, setNavOpen }: RadioProps): JSX.Element => { disabled {...register('gpsAttemptTime')} /> + {Protobuf.PositionFlags[radioConfig.positionFlags]}