diff --git a/package.json b/package.json index f4d3e411..c6bb26de 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "homepage": "https://meshtastic.org", "dependencies": { "@emeraldpay/hashicon-react": "^0.5.2", - "@headlessui/react": "^1.7.5", + "@headlessui/react": "^1.7.7", "@heroicons/react": "^2.0.13", "@hookform/error-message": "^2.0.1", "@hookform/resolvers": "^2.9.10", @@ -31,7 +31,7 @@ "@tailwindcss/line-clamp": "^0.4.2", "@tailwindcss/typography": "^0.5.8", "base64-js": "^1.5.1", - "chart.js": "^4.0.1", + "chart.js": "^4.1.1", "chartjs-adapter-date-fns": "^3.0.0", "class-transformer": "^0.5.1", "class-validator": "^0.14.0", @@ -42,9 +42,9 @@ "maplibre-gl": "2.4.0", "pretty-ms": "^8.0.0", "react": "^18.2.0", - "react-chartjs-2": "^5.0.1", + "react-chartjs-2": "^5.1.0", "react-dom": "^18.2.0", - "react-hook-form": "^7.40.0", + "react-hook-form": "^7.41.1", "react-hot-toast": "^2.4.0", "react-icons": "^4.7.1", "react-json-pretty": "^2.2.0", @@ -56,25 +56,25 @@ }, "devDependencies": { "@tailwindcss/forms": "^0.5.3", - "@types/chrome": "^0.0.204", + "@types/chrome": "^0.0.206", "@types/geodesy": "^2.2.3", - "@types/node": "^18.11.13", + "@types/node": "^18.11.18", "@types/react": "^18.0.26", - "@types/react-dom": "^18.0.9", + "@types/react-dom": "^18.0.10", "@types/w3c-web-serial": "^1.0.3", "@types/web-bluetooth": "^0.0.16", - "@typescript-eslint/eslint-plugin": "^5.46.0", - "@typescript-eslint/parser": "^5.46.0", + "@typescript-eslint/eslint-plugin": "^5.47.1", + "@typescript-eslint/parser": "^5.47.1", "@vitejs/plugin-react": "^3.0.0", "autoprefixer": "^10.4.13", - "eslint": "^8.29.0", + "eslint": "^8.30.0", "eslint-config-prettier": "^8.5.0", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.26.0", "eslint-plugin-react": "^7.31.11", "eslint-plugin-react-hooks": "^4.6.0", "gzipper": "^7.2.0", - "postcss": "^8.4.19", + "postcss": "^8.4.20", "prettier": "^2.8.1", "prettier-plugin-tailwindcss": "^0.2.1", "rollup-plugin-visualizer": "^5.8.3", @@ -82,8 +82,8 @@ "tar": "^6.1.13", "tslib": "^2.4.1", "typescript": "^4.9.4", - "unimported": "^1.23.0", - "vite": "^4.0.0", + "unimported": "^1.24.0", + "vite": "^4.0.3", "vite-plugin-environment": "^1.1.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e705ace..30f9b6e2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,7 +2,7 @@ lockfileVersion: 5.4 specifiers: '@emeraldpay/hashicon-react': ^0.5.2 - '@headlessui/react': ^1.7.5 + '@headlessui/react': ^1.7.7 '@heroicons/react': ^2.0.13 '@hookform/error-message': ^2.0.1 '@hookform/resolvers': ^2.9.10 @@ -10,24 +10,24 @@ specifiers: '@tailwindcss/forms': ^0.5.3 '@tailwindcss/line-clamp': ^0.4.2 '@tailwindcss/typography': ^0.5.8 - '@types/chrome': ^0.0.204 + '@types/chrome': ^0.0.206 '@types/geodesy': ^2.2.3 - '@types/node': ^18.11.13 + '@types/node': ^18.11.18 '@types/react': ^18.0.26 - '@types/react-dom': ^18.0.9 + '@types/react-dom': ^18.0.10 '@types/w3c-web-serial': ^1.0.3 '@types/web-bluetooth': ^0.0.16 - '@typescript-eslint/eslint-plugin': ^5.46.0 - '@typescript-eslint/parser': ^5.46.0 + '@typescript-eslint/eslint-plugin': ^5.47.1 + '@typescript-eslint/parser': ^5.47.1 '@vitejs/plugin-react': ^3.0.0 autoprefixer: ^10.4.13 base64-js: ^1.5.1 - chart.js: ^4.0.1 + chart.js: ^4.1.1 chartjs-adapter-date-fns: ^3.0.0 class-transformer: ^0.5.1 class-validator: ^0.14.0 date-fns: ^2.29.3 - eslint: ^8.29.0 + eslint: ^8.30.0 eslint-config-prettier: ^8.5.0 eslint-import-resolver-typescript: ^3.5.2 eslint-plugin-import: ^2.26.0 @@ -38,14 +38,14 @@ specifiers: immer: ^9.0.16 mapbox-gl: npm:empty-npm-package@^1.0.0 maplibre-gl: 2.4.0 - postcss: ^8.4.19 + postcss: ^8.4.20 prettier: ^2.8.1 prettier-plugin-tailwindcss: ^0.2.1 pretty-ms: ^8.0.0 react: ^18.2.0 - react-chartjs-2: ^5.0.1 + react-chartjs-2: ^5.1.0 react-dom: ^18.2.0 - react-hook-form: ^7.40.0 + react-hook-form: ^7.41.1 react-hot-toast: ^2.4.0 react-icons: ^4.7.1 react-json-pretty: ^2.2.0 @@ -58,23 +58,23 @@ specifiers: tar: ^6.1.13 tslib: ^2.4.1 typescript: ^4.9.4 - unimported: ^1.23.0 - vite: ^4.0.0 + unimported: ^1.24.0 + vite: ^4.0.3 vite-plugin-environment: ^1.1.3 zustand: 4.1.5 dependencies: '@emeraldpay/hashicon-react': 0.5.2 - '@headlessui/react': 1.7.5_biqbaboplfbrettd7655fr4n2y + '@headlessui/react': 1.7.7_biqbaboplfbrettd7655fr4n2y '@heroicons/react': 2.0.13_react@18.2.0 - '@hookform/error-message': 2.0.1_nrnvpvixg5xdweezd67llqjwze - '@hookform/resolvers': 2.9.10_react-hook-form@7.40.0 - '@meshtastic/meshtasticjs': 0.7.3 + '@hookform/error-message': 2.0.1_jfzeisyfbrsqympidfnhz6i2mm + '@hookform/resolvers': 2.9.10_react-hook-form@7.41.1 + '@meshtastic/meshtasticjs': link:../js '@tailwindcss/line-clamp': 0.4.2_tailwindcss@3.2.4 '@tailwindcss/typography': 0.5.8_tailwindcss@3.2.4 base64-js: 1.5.1 - chart.js: 4.0.1 - chartjs-adapter-date-fns: 3.0.0_thp3sedjxvmiqxrdsmekdnimom + chart.js: 4.1.1 + chartjs-adapter-date-fns: 3.0.0_iln6v37jwapfq6ambblo6nwala class-transformer: 0.5.1 class-validator: 0.14.0 date-fns: 2.29.3 @@ -84,9 +84,9 @@ dependencies: maplibre-gl: 2.4.0 pretty-ms: 8.0.0 react: 18.2.0 - react-chartjs-2: 5.0.1_mdhqntb7qznawtkbfweh7f2mzm + react-chartjs-2: 5.1.0_dxa6kz4w32vmgoazz4fv7vwm2e react-dom: 18.2.0_react@18.2.0 - react-hook-form: 7.40.0_react@18.2.0 + react-hook-form: 7.41.1_react@18.2.0 react-hot-toast: 2.4.0_biqbaboplfbrettd7655fr4n2y react-icons: 4.7.1_react@18.2.0 react-json-pretty: 2.2.0_biqbaboplfbrettd7655fr4n2y @@ -98,35 +98,35 @@ dependencies: devDependencies: '@tailwindcss/forms': 0.5.3_tailwindcss@3.2.4 - '@types/chrome': 0.0.204 + '@types/chrome': 0.0.206 '@types/geodesy': 2.2.3 - '@types/node': 18.11.13 + '@types/node': 18.11.18 '@types/react': 18.0.26 - '@types/react-dom': 18.0.9 + '@types/react-dom': 18.0.10 '@types/w3c-web-serial': 1.0.3 '@types/web-bluetooth': 0.0.16 - '@typescript-eslint/eslint-plugin': 5.46.0_5mle7isnkfgjmrghnnczirv6iy - '@typescript-eslint/parser': 5.46.0_ha6vam6werchizxrnqvarmz2zu - '@vitejs/plugin-react': 3.0.0_vite@4.0.0 - autoprefixer: 10.4.13_postcss@8.4.19 - eslint: 8.29.0 - eslint-config-prettier: 8.5.0_eslint@8.29.0 - eslint-import-resolver-typescript: 3.5.2_lt3hqehuojhfcbzgzqfngbtmrq - eslint-plugin-import: 2.26.0_hmezkefo75s2prddlqllgjxqc4 - eslint-plugin-react: 7.31.11_eslint@8.29.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.29.0 + '@typescript-eslint/eslint-plugin': 5.47.1_txmweb6yn7coi7nfrp22gpyqmy + '@typescript-eslint/parser': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa + '@vitejs/plugin-react': 3.0.0_vite@4.0.3 + autoprefixer: 10.4.13_postcss@8.4.20 + eslint: 8.30.0 + eslint-config-prettier: 8.5.0_eslint@8.30.0 + eslint-import-resolver-typescript: 3.5.2_2lbwmhbr7bncddqbzzpg77o75m + eslint-plugin-import: 2.26.0_wspzxxdxgd6sryq2cmxnia3diy + eslint-plugin-react: 7.31.11_eslint@8.30.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.30.0 gzipper: 7.2.0 - postcss: 8.4.19 + postcss: 8.4.20 prettier: 2.8.1 prettier-plugin-tailwindcss: 0.2.1_prettier@2.8.1 rollup-plugin-visualizer: 5.8.3 - tailwindcss: 3.2.4_postcss@8.4.19 + tailwindcss: 3.2.4_postcss@8.4.20 tar: 6.1.13 tslib: 2.4.1 typescript: 4.9.4 - unimported: 1.23.0 - vite: 4.0.0_@types+node@18.11.13 - vite-plugin-environment: 1.1.3_vite@4.0.0 + unimported: 1.24.0_eslint@8.30.0 + vite: 4.0.3_@types+node@18.11.18 + vite-plugin-environment: 1.1.3_vite@4.0.3 packages: @@ -138,12 +138,6 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true - /@babel/code-frame/7.12.11: - resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} - dependencies: - '@babel/highlight': 7.18.6 - dev: true - /@babel/code-frame/7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} @@ -151,53 +145,54 @@ packages: '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data/7.20.5: - resolution: {integrity: sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==} + /@babel/compat-data/7.20.10: + resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==} engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.20.5: - resolution: {integrity: sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==} + /@babel/core/7.20.7: + resolution: {integrity: sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.5 - '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.5 - '@babel/helper-module-transforms': 7.20.2 - '@babel/helpers': 7.20.6 - '@babel/parser': 7.20.5 - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.5 - '@babel/types': 7.20.5 + '@babel/generator': 7.20.7 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.7 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helpers': 7.20.7 + '@babel/parser': 7.20.7 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.10 + '@babel/types': 7.20.7 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 - json5: 2.2.1 + json5: 2.2.2 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/generator/7.20.5: - resolution: {integrity: sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==} + /@babel/generator/7.20.7: + resolution: {integrity: sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.5 + '@babel/types': 7.20.7 '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 dev: true - /@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.5: - resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==} + /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.20.5 - '@babel/core': 7.20.5 + '@babel/compat-data': 7.20.10 + '@babel/core': 7.20.7 '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.4 + lru-cache: 5.1.1 semver: 6.3.0 dev: true @@ -210,26 +205,26 @@ packages: resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.18.10 - '@babel/types': 7.20.5 + '@babel/template': 7.20.7 + '@babel/types': 7.20.7 dev: true /@babel/helper-hoist-variables/7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.5 + '@babel/types': 7.20.7 dev: true /@babel/helper-module-imports/7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.5 + '@babel/types': 7.20.7 dev: true - /@babel/helper-module-transforms/7.20.2: - resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==} + /@babel/helper-module-transforms/7.20.11: + resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 @@ -237,9 +232,9 @@ packages: '@babel/helper-simple-access': 7.20.2 '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.5 - '@babel/types': 7.20.5 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.10 + '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color dev: true @@ -253,14 +248,14 @@ packages: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.5 + '@babel/types': 7.20.7 dev: true /@babel/helper-split-export-declaration/7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.5 + '@babel/types': 7.20.7 dev: true /@babel/helper-string-parser/7.19.4: @@ -278,13 +273,13 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helpers/7.20.6: - resolution: {integrity: sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==} + /@babel/helpers/7.20.7: + resolution: {integrity: sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.5 - '@babel/types': 7.20.5 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.10 + '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color dev: true @@ -298,70 +293,70 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.20.5: - resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==} + /@babel/parser/7.20.7: + resolution: {integrity: sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.20.5 + '@babel/types': 7.20.7 dev: true - /@babel/plugin-transform-react-jsx-self/7.18.6_@babel+core@7.20.5: + /@babel/plugin-transform-react-jsx-self/7.18.6_@babel+core@7.20.7: resolution: {integrity: sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-react-jsx-source/7.19.6_@babel+core@7.20.5: + /@babel/plugin-transform-react-jsx-source/7.19.6_@babel+core@7.20.7: resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/runtime/7.20.6: - resolution: {integrity: sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==} + /@babel/runtime/7.20.7: + resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 dev: false - /@babel/template/7.18.10: - resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} + /@babel/template/7.20.7: + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.20.5 - '@babel/types': 7.20.5 + '@babel/parser': 7.20.7 + '@babel/types': 7.20.7 dev: true - /@babel/traverse/7.20.5: - resolution: {integrity: sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==} + /@babel/traverse/7.20.10: + resolution: {integrity: sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.5 + '@babel/generator': 7.20.7 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.20.5 - '@babel/types': 7.20.5 + '@babel/parser': 7.20.7 + '@babel/types': 7.20.7 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types/7.20.5: - resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} + /@babel/types/7.20.7: + resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.19.4 @@ -385,8 +380,8 @@ packages: js-sha3: 0.8.0 dev: false - /@esbuild/android-arm/0.16.4: - resolution: {integrity: sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw==} + /@esbuild/android-arm/0.16.11: + resolution: {integrity: sha512-j2xsG1OETgCe+OBA54DG5vLuGjmMZtQvyxt+rTw2aYK/RqjcG/F+UDdj43uoUOv8lSRC3lM4XpKLOVZfY/82yA==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -394,8 +389,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64/0.16.4: - resolution: {integrity: sha512-VPuTzXFm/m2fcGfN6CiwZTlLzxrKsWbPkG7ArRFpuxyaHUm/XFHQPD4xNwZT6uUmpIHhnSjcaCmcla8COzmZ5Q==} + /@esbuild/android-arm64/0.16.11: + resolution: {integrity: sha512-CPwhZd15PasQSlkFuZv1st37xvuBeklztfb9y2GZWLQu59zcMIDkZVSEz/TTIxzt811+eJfblg5HhP49iVVDWQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -403,8 +398,8 @@ packages: dev: true optional: true - /@esbuild/android-x64/0.16.4: - resolution: {integrity: sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g==} + /@esbuild/android-x64/0.16.11: + resolution: {integrity: sha512-vbFn+0JXX6FkKq+0sNeA6aF2QhuOt9ZkBl+DSyqKIF+Ms58lUOhbqSwberKWQDm0udgOp3d/LhOFTYmpvmlZmA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -412,8 +407,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64/0.16.4: - resolution: {integrity: sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg==} + /@esbuild/darwin-arm64/0.16.11: + resolution: {integrity: sha512-1tqsIG6AySZ9njT8V2ddH1F/J01zX+0obPCpP0uD9TMIUlAA5WUF/+abFlnIsNY4jACcbN/13NUbLRWE9bayjw==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -421,8 +416,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64/0.16.4: - resolution: {integrity: sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA==} + /@esbuild/darwin-x64/0.16.11: + resolution: {integrity: sha512-Gqx2/nYqnK46dwEDPGv3SwLqgLIZQJ7m2xNoNRzO50VZPvoCWSUqDaoirrZZf7uVfl+fxHoZBcdQJx2gOdxffQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -430,8 +425,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64/0.16.4: - resolution: {integrity: sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w==} + /@esbuild/freebsd-arm64/0.16.11: + resolution: {integrity: sha512-58FTdlgIQ3ZxFtGphjbIBmo7kfDhQih/PlfAnKraAcCDZOYXWcRFmHJtW+EVg32IIxuEAqhLAzCgrqpm5o8Wlw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -439,8 +434,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64/0.16.4: - resolution: {integrity: sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q==} + /@esbuild/freebsd-x64/0.16.11: + resolution: {integrity: sha512-L7hr6VnpqZzYEDVQeaViz1QnmfFRCRm3zVtljbYi/CU6InKs6tda1J3pAvqVsbNpbGMA9AvyiyBrgjJAFCawVg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -448,8 +443,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm/0.16.4: - resolution: {integrity: sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA==} + /@esbuild/linux-arm/0.16.11: + resolution: {integrity: sha512-Mk6TZij71alyS0FGuKEKYjTZGjUw2uXi07V/AiGZW1b5grTfGx6lpsbQdystgDJqju99Osq2Ix+C7WteSnwrHg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -457,8 +452,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64/0.16.4: - resolution: {integrity: sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g==} + /@esbuild/linux-arm64/0.16.11: + resolution: {integrity: sha512-OKU0ajh9Xu7Pd1MlSq8Xqj5SJEV+4yVnALydPTDrrmTyvU72P8mTRJgZMilHw7H+Jqc0utryjNOwlJ/+fOkwGw==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -466,8 +461,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32/0.16.4: - resolution: {integrity: sha512-uxdSrpe9wFhz4yBwt2kl2TxS/NWEINYBUFIxQtaEVtglm1eECvsj1vEKI0KX2k2wCe17zDdQ3v+jVxfwVfvvjw==} + /@esbuild/linux-ia32/0.16.11: + resolution: {integrity: sha512-pr1/tdDfgQQ9hp2IskSKMuwkx2X4jR7iHLbqEmmj/lPLKeoa6AUulnglGY4y0OPo+0eAYd6DzWp7ve3KI4lOCA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -475,8 +470,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.16.4: - resolution: {integrity: sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg==} + /@esbuild/linux-loong64/0.16.11: + resolution: {integrity: sha512-2MCYdDBh9R+R1xuBFiApgkbp/tW1uV+aVeefKYqWSEk3o6MHzWo1FxEGA4dSnC+kThSBOMVpCV9z4/DPouA3bQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -484,8 +479,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el/0.16.4: - resolution: {integrity: sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA==} + /@esbuild/linux-mips64el/0.16.11: + resolution: {integrity: sha512-IyotdnRg0J8F9FKttYe3cy/M9ZJ5W/Gm6whH08sbXMxRVKs/TyyoqFIA8oT1MzR+si6GLlRpcF7JbUnOXssjPA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -493,8 +488,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64/0.16.4: - resolution: {integrity: sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g==} + /@esbuild/linux-ppc64/0.16.11: + resolution: {integrity: sha512-NUMtxvb0j41UL8yf8VnTMNbCQxKqIPmF0Wf/N44UrxpKE8iCNmWT95Wt98Ivr2ebHdz+V3kptlgBuZNYcJLI6g==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -502,8 +497,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64/0.16.4: - resolution: {integrity: sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA==} + /@esbuild/linux-riscv64/0.16.11: + resolution: {integrity: sha512-03/B26az/JezvVkgck+lhauP13t6RqzCQgnrkBCBrXXpX+2r02DfSU43BEhpErJrsrDA8GXSE/rvsfbGCX6OvA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -511,8 +506,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x/0.16.4: - resolution: {integrity: sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A==} + /@esbuild/linux-s390x/0.16.11: + resolution: {integrity: sha512-Xs2tRB0fgly4XfC4FMv1Fd699AMEH8BClp36mzqRuVzm/285XIJaK5cPEZ9cLLn9ukNHdvvSX/83u5uS1BCd8g==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -520,8 +515,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64/0.16.4: - resolution: {integrity: sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw==} + /@esbuild/linux-x64/0.16.11: + resolution: {integrity: sha512-CiNialxsjJllrG3ggzOKzSaqQK/De/Mv4g/3r7jxLt01GLerPh0Q3TVTndFG9VfOrR1PdN7Fz5AOV3bE6Isd1Q==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -529,8 +524,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64/0.16.4: - resolution: {integrity: sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ==} + /@esbuild/netbsd-x64/0.16.11: + resolution: {integrity: sha512-PiljZi6QZ3Pz0pL8rfJqPln8F/a3mEJwh2vhBb1kDYLniLufo9/7AInb/ZyhvgR7FxUQluUYyz64owPomgaLJA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -538,8 +533,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64/0.16.4: - resolution: {integrity: sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw==} + /@esbuild/openbsd-x64/0.16.11: + resolution: {integrity: sha512-Nyk8aJM+w6NoS4RGQJ0ybb516jEIbEVlLvhRIdpCssUuqKU0lr9lJPHnFY2QqyoVaJkd6VxaHOBU/v/ieuiENQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -547,8 +542,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64/0.16.4: - resolution: {integrity: sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ==} + /@esbuild/sunos-x64/0.16.11: + resolution: {integrity: sha512-shxBLdNJecr7KxuyZQ19idBU8x7Mq7m+N5Fj8ROWMWQbDdjSjlBPxz7EZJIxSh7FUgSMKl7qSCCVaczXrta4MQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -556,8 +551,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64/0.16.4: - resolution: {integrity: sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ==} + /@esbuild/win32-arm64/0.16.11: + resolution: {integrity: sha512-vyTbfoEBn7cGXK8writbsB+G2wyRoOA+EbTNQ9cu5lyLU65sfWetCaL8T7mX338AN8tTbCYl6ce5YRKTonpA3w==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -565,8 +560,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32/0.16.4: - resolution: {integrity: sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w==} + /@esbuild/win32-ia32/0.16.11: + resolution: {integrity: sha512-ATGCGc52LNqakUE9i54RzFC4lm70UTcTW721AFGjQotc6uCg7sf7QeRd05wD5tLBFafHdMSZv4rsU/Nh7LT/rQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -574,8 +569,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64/0.16.4: - resolution: {integrity: sha512-sN/I8FMPtmtT2Yw+Dly8Ur5vQ5a/RmC8hW7jO9PtPSQUPkowxWpcUZnqOggU7VwyT3Xkj6vcXWd3V/qTXwultQ==} + /@esbuild/win32-x64/0.16.11: + resolution: {integrity: sha512-7NcClJIctrO3iRu5CCqwdSBePm8bL2Iu1DYsuOnxuYJ+a1Kv3Wn3MzNdJIrUPLi1yADVwRliRUU/jtMC/tJnJA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -583,32 +578,15 @@ packages: dev: true optional: true - /@eslint/eslintrc/0.4.3: - resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 7.3.1 - globals: 13.18.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - js-yaml: 3.14.1 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/eslintrc/1.3.3: - resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} + /@eslint/eslintrc/1.4.0: + resolution: {integrity: sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 espree: 9.4.1 - globals: 13.18.0 - ignore: 5.2.1 + globals: 13.19.0 + ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -624,8 +602,8 @@ packages: base64-js: 1.5.1 dev: true - /@headlessui/react/1.7.5_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-UZSxOfA0CYKO7QDT5OGlFvesvlR1SKkawwSjwQJwt7XQItpzRKdE3ZUQxHcg4LEz3C0Wler2s9psdb872ynwrQ==} + /@headlessui/react/1.7.7_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-BqDOd/tB9u2tA0T3Z0fn18ktw+KbVwMnkxxsGPIH2hzssrQhKB5n/6StZOyvLYP/FsYtvuXfi9I0YowKPv2c1w==} engines: {node: '>=10'} peerDependencies: react: ^16 || ^17 || ^18 @@ -644,7 +622,7 @@ packages: react: 18.2.0 dev: false - /@hookform/error-message/2.0.1_nrnvpvixg5xdweezd67llqjwze: + /@hookform/error-message/2.0.1_jfzeisyfbrsqympidfnhz6i2mm: resolution: {integrity: sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg==} peerDependencies: react: '>=16.8.0' @@ -653,30 +631,19 @@ packages: dependencies: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - react-hook-form: 7.40.0_react@18.2.0 + react-hook-form: 7.41.1_react@18.2.0 dev: false - /@hookform/resolvers/2.9.10_react-hook-form@7.40.0: + /@hookform/resolvers/2.9.10_react-hook-form@7.41.1: resolution: {integrity: sha512-JIL1DgJIlH9yuxcNGtyhsWX/PgNltz+5Gr6+8SX9fhXc/hPbEIk6wPI82nhgvp3uUb6ZfAM5mqg/x7KR7NAb+A==} peerDependencies: react-hook-form: ^7.0.0 dependencies: - react-hook-form: 7.40.0_react@18.2.0 + react-hook-form: 7.41.1_react@18.2.0 dev: false - /@humanwhocodes/config-array/0.11.7: - resolution: {integrity: sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/config-array/0.5.0: - resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} + /@humanwhocodes/config-array/0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -733,6 +700,10 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@kurkle/color/0.3.1: + resolution: {integrity: sha512-hW0GwZj06z/ZFUW2Espl7toVDjghJN+EKqyXzPSV8NV89d5BYp5rRMBJoc+aUN0x5OXDMeRQHazejr2Xmqj2tw==} + dev: false + /@kwsites/file-exists/1.1.1: resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} dependencies: @@ -785,15 +756,6 @@ packages: engines: {node: '>=6.0.0'} dev: false - /@meshtastic/meshtasticjs/0.7.3: - resolution: {integrity: sha512-9NvWvTQSqCRNhYrE7FnhW9/bVSmnZ9LYGy04P+8IwhQzlYduhnaIb5vDKgLSURl5YhpnHlWOQFJVXs8tuZv2CQ==} - dependencies: - '@protobuf-ts/runtime': 2.8.2 - glob: 8.0.3 - sub-events: 1.9.0 - tslog: 4.4.4 - dev: false - /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -824,10 +786,6 @@ packages: tslib: 2.4.1 dev: true - /@protobuf-ts/runtime/2.8.2: - resolution: {integrity: sha512-PVxsH81y9kEbHldxxG/8Y3z2mTXWQytRl8zNS0mTPUjkEC+8GUX6gj6LsA8EFp25fAs9V0ruh+aNWmPccEI9MA==} - dev: false - /@stablelib/binary/1.0.1: resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==} dependencies: @@ -860,7 +818,7 @@ packages: tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.2.4_postcss@8.4.19 + tailwindcss: 3.2.4_postcss@8.4.20 dev: true /@tailwindcss/line-clamp/0.4.2_tailwindcss@3.2.4: @@ -868,7 +826,7 @@ packages: peerDependencies: tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1' dependencies: - tailwindcss: 3.2.4_postcss@8.4.19 + tailwindcss: 3.2.4_postcss@8.4.20 dev: false /@tailwindcss/typography/0.5.8_tailwindcss@3.2.4: @@ -880,15 +838,15 @@ packages: lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.2.4_postcss@8.4.19 + tailwindcss: 3.2.4_postcss@8.4.20 dev: false /@types/base16/1.0.2: resolution: {integrity: sha512-oYO/U4VD1DavwrKuCSQWdLG+5K22SLPem2OQaHmFcQuwHoVeGC+JGVRji2MUqZUAIQZHEonOeVfAX09hYiLsdg==} dev: false - /@types/chrome/0.0.204: - resolution: {integrity: sha512-EvnHfxMHUWP5EAlRMK66uIEUiy36t72vg5RwmzQv9tdIl2ZmAp92NwvmEZJKpbRnIMTEc2BmSmtrFiEISUJ0Sw==} + /@types/chrome/0.0.206: + resolution: {integrity: sha512-fQnTFjghPB9S4UzbfublUB6KmsBkvvJeGXGaaoD5Qu+ZxrDUfgJnKN5egLSzDcGAH5YxQubDgbCdNwwUGewQHg==} dependencies: '@types/filesystem': 0.0.32 '@types/har-format': 1.2.10 @@ -946,8 +904,8 @@ packages: '@types/pbf': 3.0.2 dev: false - /@types/node/18.11.13: - resolution: {integrity: sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w==} + /@types/node/18.11.18: + resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} dev: true /@types/normalize-package-data/2.4.1: @@ -961,8 +919,8 @@ packages: /@types/prop-types/15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - /@types/react-dom/18.0.9: - resolution: {integrity: sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==} + /@types/react-dom/18.0.10: + resolution: {integrity: sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==} dependencies: '@types/react': 18.0.26 dev: true @@ -993,8 +951,8 @@ packages: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} dev: true - /@typescript-eslint/eslint-plugin/5.46.0_5mle7isnkfgjmrghnnczirv6iy: - resolution: {integrity: sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q==} + /@typescript-eslint/eslint-plugin/5.47.1_txmweb6yn7coi7nfrp22gpyqmy: + resolution: {integrity: sha512-r4RZ2Jl9kcQN7K/dcOT+J7NAimbiis4sSM9spvWimsBvDegMhKLA5vri2jG19PmIPbDjPeWzfUPQ2hjEzA4Nmg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1004,13 +962,13 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.46.0_ha6vam6werchizxrnqvarmz2zu - '@typescript-eslint/scope-manager': 5.46.0 - '@typescript-eslint/type-utils': 5.46.0_ha6vam6werchizxrnqvarmz2zu - '@typescript-eslint/utils': 5.46.0_ha6vam6werchizxrnqvarmz2zu + '@typescript-eslint/parser': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa + '@typescript-eslint/scope-manager': 5.47.1 + '@typescript-eslint/type-utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa + '@typescript-eslint/utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa debug: 4.3.4 - eslint: 8.29.0 - ignore: 5.2.1 + eslint: 8.30.0 + ignore: 5.2.4 natural-compare-lite: 1.4.0 regexpp: 3.2.0 semver: 7.3.8 @@ -1020,8 +978,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.46.0_ha6vam6werchizxrnqvarmz2zu: - resolution: {integrity: sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA==} + /@typescript-eslint/parser/5.47.1_lzzuuodtsqwxnvqeq4g4likcqa: + resolution: {integrity: sha512-9Vb+KIv29r6GPu4EboWOnQM7T+UjpjXvjCPhNORlgm40a9Ia9bvaPJswvtae1gip2QEeVeGh6YquqAzEgoRAlw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1030,46 +988,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.46.0 - '@typescript-eslint/types': 5.46.0 - '@typescript-eslint/typescript-estree': 5.46.0_typescript@4.9.4 + '@typescript-eslint/scope-manager': 5.47.1 + '@typescript-eslint/types': 5.47.1 + '@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 debug: 4.3.4 - eslint: 8.29.0 + eslint: 8.30.0 typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.46.0_yfqovispp7u7jaktymfaqwl2py: - resolution: {integrity: sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA==} + /@typescript-eslint/scope-manager/5.47.1: + resolution: {integrity: sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw==} 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.46.0 - '@typescript-eslint/types': 5.46.0 - '@typescript-eslint/typescript-estree': 5.46.0_typescript@4.9.4 - debug: 4.3.4 - eslint: 7.32.0 - typescript: 4.9.4 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types': 5.47.1 + '@typescript-eslint/visitor-keys': 5.47.1 dev: true - /@typescript-eslint/scope-manager/5.46.0: - resolution: {integrity: sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.46.0 - '@typescript-eslint/visitor-keys': 5.46.0 - dev: true - - /@typescript-eslint/type-utils/5.46.0_ha6vam6werchizxrnqvarmz2zu: - resolution: {integrity: sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg==} + /@typescript-eslint/type-utils/5.47.1_lzzuuodtsqwxnvqeq4g4likcqa: + resolution: {integrity: sha512-/UKOeo8ee80A7/GJA427oIrBi/Gd4osk/3auBUg4Rn9EahFpevVV1mUK8hjyQD5lHPqX397x6CwOk5WGh1E/1w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -1078,23 +1016,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.46.0_typescript@4.9.4 - '@typescript-eslint/utils': 5.46.0_ha6vam6werchizxrnqvarmz2zu + '@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 + '@typescript-eslint/utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa debug: 4.3.4 - eslint: 8.29.0 + eslint: 8.30.0 tsutils: 3.21.0_typescript@4.9.4 typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.46.0: - resolution: {integrity: sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw==} + /@typescript-eslint/types/5.47.1: + resolution: {integrity: sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.46.0_typescript@4.9.4: - resolution: {integrity: sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw==} + /@typescript-eslint/typescript-estree/5.47.1_typescript@4.9.4: + resolution: {integrity: sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1102,8 +1040,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.46.0 - '@typescript-eslint/visitor-keys': 5.46.0 + '@typescript-eslint/types': 5.47.1 + '@typescript-eslint/visitor-keys': 5.47.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1114,58 +1052,50 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.46.0_ha6vam6werchizxrnqvarmz2zu: - resolution: {integrity: sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g==} + /@typescript-eslint/utils/5.47.1_lzzuuodtsqwxnvqeq4g4likcqa: + resolution: {integrity: sha512-l90SdwqfmkuIVaREZ2ykEfCezepCLxzWMo5gVfcJsJCaT4jHT+QjgSkYhs5BMQmWqE9k3AtIfk4g211z/sTMVw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.46.0 - '@typescript-eslint/types': 5.46.0 - '@typescript-eslint/typescript-estree': 5.46.0_typescript@4.9.4 - eslint: 8.29.0 + '@typescript-eslint/scope-manager': 5.47.1 + '@typescript-eslint/types': 5.47.1 + '@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 + eslint: 8.30.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.29.0 + eslint-utils: 3.0.0_eslint@8.30.0 semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.46.0: - resolution: {integrity: sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw==} + /@typescript-eslint/visitor-keys/5.47.1: + resolution: {integrity: sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.46.0 + '@typescript-eslint/types': 5.47.1 eslint-visitor-keys: 3.3.0 dev: true - /@vitejs/plugin-react/3.0.0_vite@4.0.0: + /@vitejs/plugin-react/3.0.0_vite@4.0.3: resolution: {integrity: sha512-1mvyPc0xYW5G8CHQvJIJXLoMjl5Ct3q2g5Y2s6Ccfgwm45y48LBvsla7az+GkkAtYikWQ4Lxqcsq5RHLcZgtNQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 dependencies: - '@babel/core': 7.20.5 - '@babel/plugin-transform-react-jsx-self': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.20.5 + '@babel/core': 7.20.7 + '@babel/plugin-transform-react-jsx-self': 7.18.6_@babel+core@7.20.7 + '@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.20.7 magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 4.0.0_@types+node@18.11.13 + vite: 4.0.3_@types+node@18.11.18 transitivePeerDependencies: - supports-color dev: true - /acorn-jsx/5.3.2_acorn@7.4.1: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 7.4.1 - dev: true - /acorn-jsx/5.3.2_acorn@8.8.1: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1205,20 +1135,6 @@ packages: uri-js: 4.4.1 dev: true - /ajv/8.11.2: - resolution: {integrity: sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - - /ansi-colors/4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true - /ansi-regex/5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1248,12 +1164,6 @@ packages: /arg/5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - /argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true @@ -1304,12 +1214,7 @@ packages: get-intrinsic: 1.1.3 dev: true - /astral-regex/2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - - /autoprefixer/10.4.13_postcss@8.4.19: + /autoprefixer/10.4.13_postcss@8.4.20: resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -1317,11 +1222,11 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.4 - caniuse-lite: 1.0.30001439 + caniuse-lite: 1.0.30001441 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.19 + postcss: 8.4.20 postcss-value-parser: 4.2.0 dev: true @@ -1332,6 +1237,7 @@ packages: /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true /base16/1.0.0: resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==} @@ -1359,12 +1265,6 @@ packages: concat-map: 0.0.1 dev: true - /brace-expansion/2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: false - /braces/3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -1376,9 +1276,9 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001439 + caniuse-lite: 1.0.30001441 electron-to-chromium: 1.4.284 - node-releases: 2.0.6 + node-releases: 2.0.8 update-browserslist-db: 1.0.10_browserslist@4.21.4 dev: true @@ -1409,8 +1309,8 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - /caniuse-lite/1.0.30001439: - resolution: {integrity: sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==} + /caniuse-lite/1.0.30001441: + resolution: {integrity: sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==} dev: true /chalk/2.4.2: @@ -1430,18 +1330,20 @@ packages: supports-color: 7.2.0 dev: true - /chart.js/4.0.1: - resolution: {integrity: sha512-5/8/9eBivwBZK81mKvmIwTb2Pmw4D/5h1RK9fBWZLLZ8mCJ+kfYNmV9rMrGoa5Hgy2/wVDBMLSUDudul2/9ihA==} + /chart.js/4.1.1: + resolution: {integrity: sha512-P0pCosNXp+LR8zO/QTkZKT6Hb7p0DPFtypEeVOf+6x06hX13NIb75R0DXUA4Ksx/+48chDQKtCCmRCviQRTqsA==} engines: {pnpm: ^7.0.0} + dependencies: + '@kurkle/color': 0.3.1 dev: false - /chartjs-adapter-date-fns/3.0.0_thp3sedjxvmiqxrdsmekdnimom: + /chartjs-adapter-date-fns/3.0.0_iln6v37jwapfq6ambblo6nwala: resolution: {integrity: sha512-Rs3iEB3Q5pJ973J93OBTpnP7qoGwvq3nUnoMdtxO+9aoJof7UFcRbWcIDteXuYd1fgAvct/32T9qaLyLuZVwCg==} peerDependencies: chart.js: '>=2.8.0' date-fns: '>=2.0.0' dependencies: - chart.js: 4.0.1 + chart.js: 4.1.1 date-fns: 2.29.3 dev: false @@ -1552,7 +1454,7 @@ packages: dev: true /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true /convert-source-map/1.9.0: @@ -1748,13 +1650,6 @@ packages: tapable: 2.2.1 dev: true - /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.3 - dev: true - /error-ex/1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -1775,7 +1670,7 @@ packages: has: 1.0.3 has-property-descriptors: 1.0.0 has-symbols: 1.0.3 - internal-slot: 1.0.3 + internal-slot: 1.0.4 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 @@ -1820,34 +1715,34 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild/0.16.4: - resolution: {integrity: sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA==} + /esbuild/0.16.11: + resolution: {integrity: sha512-Al0hhRUz/cCDvDp9VZp1L500HZZQ/HLjgTnQTmnW97+PoLmw+PuvB3e19JHYZtWnrxoh3qYrN/0tiRIbrE2oVQ==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.16.4 - '@esbuild/android-arm64': 0.16.4 - '@esbuild/android-x64': 0.16.4 - '@esbuild/darwin-arm64': 0.16.4 - '@esbuild/darwin-x64': 0.16.4 - '@esbuild/freebsd-arm64': 0.16.4 - '@esbuild/freebsd-x64': 0.16.4 - '@esbuild/linux-arm': 0.16.4 - '@esbuild/linux-arm64': 0.16.4 - '@esbuild/linux-ia32': 0.16.4 - '@esbuild/linux-loong64': 0.16.4 - '@esbuild/linux-mips64el': 0.16.4 - '@esbuild/linux-ppc64': 0.16.4 - '@esbuild/linux-riscv64': 0.16.4 - '@esbuild/linux-s390x': 0.16.4 - '@esbuild/linux-x64': 0.16.4 - '@esbuild/netbsd-x64': 0.16.4 - '@esbuild/openbsd-x64': 0.16.4 - '@esbuild/sunos-x64': 0.16.4 - '@esbuild/win32-arm64': 0.16.4 - '@esbuild/win32-ia32': 0.16.4 - '@esbuild/win32-x64': 0.16.4 + '@esbuild/android-arm': 0.16.11 + '@esbuild/android-arm64': 0.16.11 + '@esbuild/android-x64': 0.16.11 + '@esbuild/darwin-arm64': 0.16.11 + '@esbuild/darwin-x64': 0.16.11 + '@esbuild/freebsd-arm64': 0.16.11 + '@esbuild/freebsd-x64': 0.16.11 + '@esbuild/linux-arm': 0.16.11 + '@esbuild/linux-arm64': 0.16.11 + '@esbuild/linux-ia32': 0.16.11 + '@esbuild/linux-loong64': 0.16.11 + '@esbuild/linux-mips64el': 0.16.11 + '@esbuild/linux-ppc64': 0.16.11 + '@esbuild/linux-riscv64': 0.16.11 + '@esbuild/linux-s390x': 0.16.11 + '@esbuild/linux-x64': 0.16.11 + '@esbuild/netbsd-x64': 0.16.11 + '@esbuild/openbsd-x64': 0.16.11 + '@esbuild/sunos-x64': 0.16.11 + '@esbuild/win32-arm64': 0.16.11 + '@esbuild/win32-ia32': 0.16.11 + '@esbuild/win32-x64': 0.16.11 dev: true /escalade/3.1.1: @@ -1865,13 +1760,13 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier/8.5.0_eslint@8.29.0: + /eslint-config-prettier/8.5.0_eslint@8.30.0: resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.29.0 + eslint: 8.30.0 dev: true /eslint-import-resolver-node/0.3.6: @@ -1883,7 +1778,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript/3.5.2_lt3hqehuojhfcbzgzqfngbtmrq: + /eslint-import-resolver-typescript/3.5.2_2lbwmhbr7bncddqbzzpg77o75m: resolution: {integrity: sha512-zX4ebnnyXiykjhcBvKIf5TNvt8K7yX6bllTRZ14MiurKPjDpCAZujlszTdB8pcNXhZcOf+god4s9SjQa5GnytQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -1892,10 +1787,10 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.12.0 - eslint: 8.29.0 - eslint-plugin-import: 2.26.0_hmezkefo75s2prddlqllgjxqc4 + eslint: 8.30.0 + eslint-plugin-import: 2.26.0_wspzxxdxgd6sryq2cmxnia3diy get-tsconfig: 4.2.0 - globby: 13.1.2 + globby: 13.1.3 is-core-module: 2.11.0 is-glob: 4.0.3 synckit: 0.8.4 @@ -1903,7 +1798,7 @@ packages: - supports-color dev: true - /eslint-module-utils/2.7.4_rnhsyrmqgagohklwa74m5i2wxm: + /eslint-module-utils/2.7.4_romg76skn5tvuutm5tcl5qm5vm: resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -1924,16 +1819,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.46.0_ha6vam6werchizxrnqvarmz2zu + '@typescript-eslint/parser': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa debug: 3.2.7 - eslint: 8.29.0 + eslint: 8.30.0 eslint-import-resolver-node: 0.3.6 - eslint-import-resolver-typescript: 3.5.2_lt3hqehuojhfcbzgzqfngbtmrq + eslint-import-resolver-typescript: 3.5.2_2lbwmhbr7bncddqbzzpg77o75m transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import/2.26.0_hmezkefo75s2prddlqllgjxqc4: + /eslint-plugin-import/2.26.0_wspzxxdxgd6sryq2cmxnia3diy: resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} engines: {node: '>=4'} peerDependencies: @@ -1943,14 +1838,14 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.46.0_ha6vam6werchizxrnqvarmz2zu + '@typescript-eslint/parser': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa array-includes: 3.1.6 array.prototype.flat: 1.3.1 debug: 2.6.9 doctrine: 2.1.0 - eslint: 8.29.0 + eslint: 8.30.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.4_rnhsyrmqgagohklwa74m5i2wxm + eslint-module-utils: 2.7.4_romg76skn5tvuutm5tcl5qm5vm has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -1964,16 +1859,16 @@ packages: - supports-color dev: true - /eslint-plugin-react-hooks/4.6.0_eslint@8.29.0: + /eslint-plugin-react-hooks/4.6.0_eslint@8.30.0: resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.29.0 + eslint: 8.30.0 dev: true - /eslint-plugin-react/7.31.11_eslint@8.29.0: + /eslint-plugin-react/7.31.11_eslint@8.30.0: resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==} engines: {node: '>=4'} peerDependencies: @@ -1983,7 +1878,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.29.0 + eslint: 8.30.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -2013,28 +1908,16 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} - dependencies: - eslint-visitor-keys: 1.3.0 - dev: true - - /eslint-utils/3.0.0_eslint@8.29.0: + /eslint-utils/3.0.0_eslint@8.30.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.29.0 + eslint: 8.30.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'} - dev: true - /eslint-visitor-keys/2.1.0: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} engines: {node: '>=10'} @@ -2045,62 +1928,13 @@ packages: 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} - hasBin: true - dependencies: - '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.4.3 - '@humanwhocodes/config-array': 0.5.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - enquirer: 2.3.6 - escape-string-regexp: 4.0.0 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 - eslint-visitor-keys: 2.1.0 - espree: 7.3.1 - 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: 5.1.2 - globals: 13.18.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - js-yaml: 3.14.1 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.1 - progress: 2.0.3 - regexpp: 3.2.0 - semver: 7.3.8 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - table: 6.8.1 - text-table: 0.2.0 - v8-compile-cache: 2.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint/8.29.0: - resolution: {integrity: sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==} + /eslint/8.30.0: + resolution: {integrity: sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.3.3 - '@humanwhocodes/config-array': 0.11.7 + '@eslint/eslintrc': 1.4.0 + '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 @@ -2110,7 +1944,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.29.0 + eslint-utils: 3.0.0_eslint@8.30.0 eslint-visitor-keys: 3.3.0 espree: 9.4.1 esquery: 1.4.0 @@ -2119,9 +1953,9 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.18.0 + globals: 13.19.0 grapheme-splitter: 1.0.4 - ignore: 5.2.1 + ignore: 5.2.4 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 @@ -2142,15 +1976,6 @@ packages: - 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} - dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.2_acorn@7.4.1 - eslint-visitor-keys: 1.3.0 - dev: true - /espree/9.4.1: resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2160,12 +1985,6 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /esprima/4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - /esquery/1.4.0: resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} engines: {node: '>=0.10'} @@ -2297,6 +2116,7 @@ packages: /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true /fsevents/2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} @@ -2318,10 +2138,6 @@ packages: functions-have-names: 1.2.3 dev: true - /functional-red-black-tree/1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} - dev: true - /functions-have-names/1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true @@ -2397,17 +2213,6 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob/8.0.3: - resolution: {integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.1 - once: 1.4.0 - dev: false - /global-prefix/3.0.0: resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} engines: {node: '>=6'} @@ -2422,8 +2227,8 @@ packages: engines: {node: '>=4'} dev: true - /globals/13.18.0: - resolution: {integrity: sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==} + /globals/13.19.0: + resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -2440,18 +2245,18 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.2.12 - ignore: 5.2.1 + ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 dev: true - /globby/13.1.2: - resolution: {integrity: sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==} + /globby/13.1.3: + resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 fast-glob: 3.2.12 - ignore: 5.2.1 + ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 dev: true @@ -2537,13 +2342,8 @@ packages: /ieee754/1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - /ignore/4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} - dev: true - - /ignore/5.2.1: - resolution: {integrity: sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==} + /ignore/5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} dev: true @@ -2569,16 +2369,18 @@ packages: dependencies: once: 1.4.0 wrappy: 1.0.2 + dev: true /inherits/2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true /ini/1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: false - /internal-slot/1.0.3: - resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} + /internal-slot/1.0.4: + resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==} engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.1.3 @@ -2788,14 +2590,6 @@ packages: /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - /js-yaml/4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -2817,10 +2611,6 @@ packages: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true - /json-schema-traverse/1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true - /json-stable-stringify-without-jsonify/1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true @@ -2832,8 +2622,8 @@ packages: minimist: 1.2.7 dev: true - /json5/2.2.1: - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + /json5/2.2.2: + resolution: {integrity: sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==} engines: {node: '>=6'} hasBin: true dev: true @@ -2908,10 +2698,6 @@ packages: /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - /lodash.truncate/4.4.2: - resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} - dev: true - /log-symbols/4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} @@ -2926,6 +2712,12 @@ packages: dependencies: js-tokens: 4.0.0 + /lru-cache/5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + /lru-cache/6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -2997,13 +2789,6 @@ packages: brace-expansion: 1.1.11 dev: true - /minimatch/5.1.1: - resolution: {integrity: sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: false - /minimist/1.2.7: resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} @@ -3069,8 +2854,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /node-releases/2.0.6: - resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + /node-releases/2.0.8: + resolution: {integrity: sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==} dev: true /normalize-package-data/2.5.0: @@ -3164,6 +2949,7 @@ packages: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 + dev: true /onetime/5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} @@ -3325,27 +3111,27 @@ packages: node-modules-regexp: 1.0.0 dev: true - /postcss-import/14.1.0_postcss@8.4.19: + /postcss-import/14.1.0_postcss@8.4.20: resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.19 + postcss: 8.4.20 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 - /postcss-js/4.0.0_postcss@8.4.19: + /postcss-js/4.0.0_postcss@8.4.20: resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.3.3 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.19 + postcss: 8.4.20 - /postcss-load-config/3.1.4_postcss@8.4.19: + /postcss-load-config/3.1.4_postcss@8.4.20: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -3358,16 +3144,16 @@ packages: optional: true dependencies: lilconfig: 2.0.6 - postcss: 8.4.19 + postcss: 8.4.20 yaml: 1.10.2 - /postcss-nested/6.0.0_postcss@8.4.19: + /postcss-nested/6.0.0_postcss@8.4.20: resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.19 + postcss: 8.4.20 postcss-selector-parser: 6.0.11 /postcss-selector-parser/6.0.10: @@ -3388,8 +3174,8 @@ packages: /postcss-value-parser/4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss/8.4.19: - resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} + /postcss/8.4.20: + resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.4 @@ -3439,11 +3225,6 @@ packages: tempfile: 1.1.1 dev: true - /progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true - /prop-types/15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: @@ -3476,13 +3257,13 @@ packages: dev: false /quotemeta/0.0.0: - resolution: {integrity: sha1-UdOgbuD81uO1AdvSiQQ1Gtelo4w=} + resolution: {integrity: sha512-1XGObUh7RN5b58vKuAsrlfqT+Rc4vmw8N4pP9gFCq1GFlTdV0Ex/D2Ro1Drvrqj++HPi3ig0Np17XPslELeMRA==} dev: true /react-base16-styling/0.9.1: resolution: {integrity: sha512-1s0CY1zRBOQ5M3T61wetEpvQmsYSNtWEcdYzyZNxKa8t7oDvaOn9d21xrGezGAHFWLM7SHcktPuPTrvoqxSfKw==} dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@types/base16': 1.0.2 '@types/lodash': 4.14.191 base16: 1.0.0 @@ -3491,13 +3272,13 @@ packages: lodash.curry: 4.1.1 dev: false - /react-chartjs-2/5.0.1_mdhqntb7qznawtkbfweh7f2mzm: - resolution: {integrity: sha512-u38C9OxynlNCBp+79grgXRs7DSJ9w8FuQ5/HO5FbYBbri8HSZW+9SWgjVshLkbXBfXnMGWakbHEtvN0nL2UG7Q==} + /react-chartjs-2/5.1.0_dxa6kz4w32vmgoazz4fv7vwm2e: + resolution: {integrity: sha512-Gt76b7+p7nMQq0MvkWfUSNAzIm/TLAnAO32zIpSzrQyc9JWRbVCtq8qOzPJmfpDzPcIJ7Y9Gp5g+VdTRrGITsQ==} peerDependencies: - chart.js: ^4.0.0 + chart.js: ^4.1.1 react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - chart.js: 4.0.1 + chart.js: 4.1.1 react: 18.2.0 dev: false @@ -3511,8 +3292,8 @@ packages: scheduler: 0.23.0 dev: false - /react-hook-form/7.40.0_react@18.2.0: - resolution: {integrity: sha512-0rokdxMPJs0k9bvFtY6dbcSydyNhnZNXCR49jgDr/aR03FDHFOK6gfh8ccqB3fl696Mk7lqh04xdm+agqWXKSw==} + /react-hook-form/7.41.1_react@18.2.0: + resolution: {integrity: sha512-IHUozfwuqE+P201KIJwotMd+UCKqzIprseR8UUjz1jRupkZeubg0xyeMLIaT192zHv7vBBu9bibpNV5cIB4E9g==} engines: {node: '>=12.22.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 @@ -3562,7 +3343,7 @@ packages: '@types/react': ^16.3.0 || ^17.0.0 || ^18.0.0 react: ^16.3.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@types/lodash': 4.14.191 '@types/prop-types': 15.7.5 '@types/react': 18.0.26 @@ -3689,11 +3470,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /require-from-string/2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: true - /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -3760,8 +3536,8 @@ packages: yargs: 17.6.2 dev: true - /rollup/3.7.2: - resolution: {integrity: sha512-orqIX5zkHyHKVsIBl8J5a2tnVikOAMte0DgOLViyW6McYuj45FG+cQPrXILhaifBSmy0D0hKbHg2RbgzFJcwTg==} + /rollup/3.8.1: + resolution: {integrity: sha512-4yh9eMW7byOroYcN8DlF9P/2jCpu6txVIHjEqquQVSx7DI0RgyCCN3tjrcy4ra6yVtV336aLBB3v2AarYAxePQ==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -3872,15 +3648,6 @@ packages: engines: {node: '>=12'} dev: true - /slice-ansi/4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - /source-map-js/1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} @@ -3912,10 +3679,6 @@ packages: resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} dev: true - /sprintf-js/1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - /stream-shift/1.0.1: resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} dev: true @@ -3937,7 +3700,7 @@ packages: es-abstract: 1.20.5 get-intrinsic: 1.1.3 has-symbols: 1.0.3 - internal-slot: 1.0.3 + internal-slot: 1.0.4 regexp.prototype.flags: 1.4.3 side-channel: 1.0.4 dev: true @@ -3987,11 +3750,6 @@ packages: engines: {node: '>=8'} dev: true - /sub-events/1.9.0: - resolution: {integrity: sha512-dnFBayilG9Ku0k/lNs1Y7WV4kv91+ovCoeBV3uIYrY49DylvBb6z9d9ED2ctcrvX2YlReFalpCgJNtSgmrOaJg==} - engines: {node: '>=10.0.0'} - dev: false - /supercluster/7.1.5: resolution: {integrity: sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==} dependencies: @@ -4024,18 +3782,7 @@ packages: tslib: 2.4.1 dev: true - /table/6.8.1: - resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} - engines: {node: '>=10.0.0'} - dependencies: - ajv: 8.11.2 - lodash.truncate: 4.4.2 - slice-ansi: 4.0.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /tailwindcss/3.2.4_postcss@8.4.19: + /tailwindcss/3.2.4_postcss@8.4.20: resolution: {integrity: sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==} engines: {node: '>=12.13.0'} hasBin: true @@ -4056,11 +3803,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.19 - postcss-import: 14.1.0_postcss@8.4.19 - postcss-js: 4.0.0_postcss@8.4.19 - postcss-load-config: 3.1.4_postcss@8.4.19 - postcss-nested: 6.0.0_postcss@8.4.19 + postcss: 8.4.20 + postcss-import: 14.1.0_postcss@8.4.20 + postcss-js: 4.0.0_postcss@8.4.20 + postcss-load-config: 3.1.4_postcss@8.4.20 + postcss-nested: 6.0.0_postcss@8.4.20 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 @@ -4154,11 +3901,6 @@ packages: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} dev: true - /tslog/4.4.4: - resolution: {integrity: sha512-+IJBVcB6h4BhMH3+IvB69lDZ/5ClHX40I66bGTKPAx+/S9nDqJCYN323MxR/gch3Agvrwif4HQorI/YLqAeoNA==} - engines: {node: '>=16'} - dev: false - /tsutils/3.21.0_typescript@4.9.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -4206,20 +3948,19 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /unimported/1.23.0: - resolution: {integrity: sha512-+Z4uvmDt0AOrBXK9HyPP7YuxTZhQbVEvad/EoaYG4QD2uTjD0Zl6TrSheuZXpFAl9N4DEumxJrTSKpC4IqYjkQ==} + /unimported/1.24.0_eslint@8.30.0: + resolution: {integrity: sha512-Hb/PMg3pjEZ+4LdHMH5GRDwryWnNsgCh8i8sefWAnWjol8uCFwrmp37wv+qbo2XFrYg7UM8u8xD+Dc30gwVBpg==} engines: {node: '>=14.0.0'} hasBin: true dependencies: - '@typescript-eslint/parser': 5.46.0_yfqovispp7u7jaktymfaqwl2py - '@typescript-eslint/typescript-estree': 5.46.0_typescript@4.9.4 + '@typescript-eslint/parser': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa + '@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 chalk: 4.1.2 debug: 4.3.4 - eslint: 7.32.0 file-entry-cache: 6.0.1 flow-remove-types: 2.156.0 glob: 7.2.3 - json5: 2.2.1 + json5: 2.2.2 ora: 5.4.1 read-pkg-up: 7.0.1 resolve: 1.22.1 @@ -4228,6 +3969,7 @@ packages: typescript: 4.9.4 yargs: 16.2.0 transitivePeerDependencies: + - eslint - supports-color dev: true @@ -4269,10 +4011,6 @@ packages: hasBin: true dev: true - /v8-compile-cache/2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - dev: true - /validate-npm-package-license/3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -4285,16 +4023,16 @@ packages: engines: {node: '>= 0.10'} dev: false - /vite-plugin-environment/1.1.3_vite@4.0.0: + /vite-plugin-environment/1.1.3_vite@4.0.3: resolution: {integrity: sha512-9LBhB0lx+2lXVBEWxFZC+WO7PKEyE/ykJ7EPWCq95NEcCpblxamTbs5Dm3DLBGzwODpJMEnzQywJU8fw6XGGGA==} peerDependencies: vite: '>= 2.7' dependencies: - vite: 4.0.0_@types+node@18.11.13 + vite: 4.0.3_@types+node@18.11.18 dev: true - /vite/4.0.0_@types+node@18.11.13: - resolution: {integrity: sha512-ynad+4kYs8Jcnn8J7SacS9vAbk7eMy0xWg6E7bAhS1s79TK+D7tVFGXVZ55S7RNLRROU1rxoKlvZ/qjaB41DGA==} + /vite/4.0.3_@types+node@18.11.18: + resolution: {integrity: sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -4318,11 +4056,11 @@ packages: terser: optional: true dependencies: - '@types/node': 18.11.13 - esbuild: 0.16.4 - postcss: 8.4.19 + '@types/node': 18.11.18 + esbuild: 0.16.11 + postcss: 8.4.20 resolve: 1.22.1 - rollup: 3.7.2 + rollup: 3.8.1 optionalDependencies: fsevents: 2.3.2 dev: true @@ -4407,6 +4145,7 @@ packages: /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true /xtend/4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} @@ -4417,6 +4156,10 @@ packages: engines: {node: '>=10'} dev: true + /yallist/3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true diff --git a/src/components/CommandPalette/Index.tsx b/src/components/CommandPalette/Index.tsx index c8059549..11189032 100644 --- a/src/components/CommandPalette/Index.tsx +++ b/src/components/CommandPalette/Index.tsx @@ -28,6 +28,7 @@ import { Hashicon } from "@emeraldpay/hashicon-react"; import { Combobox, Dialog, Transition } from "@headlessui/react"; import { ArchiveBoxXMarkIcon, + ArrowDownOnSquareStackIcon, ArrowPathIcon, ArrowsRightLeftIcon, BeakerIcon, @@ -44,6 +45,7 @@ import { PlusIcon, PowerIcon, QrCodeIcon, + QueueListIcon, Square3Stack3DIcon, TrashIcon, UsersIcon, @@ -83,6 +85,7 @@ export const CommandPalette = (): JSX.Element => { const { setQRDialogOpen, + setImportDialogOpen, setShutdownDialogOpen, setRebootDialogOpen, setActivePage, @@ -167,7 +170,7 @@ export const CommandPalette = (): JSX.Element => { )?.data.user?.longName ?? device.hardware.myNodeNum.toString(), icon: ( ), @@ -191,11 +194,24 @@ export const CommandPalette = (): JSX.Element => { icon: CubeTransparentIcon, commands: [ { - name: "QR Code Generator", + name: "QR Code", icon: QrCodeIcon, - action() { - setQRDialogOpen(true); - } + subItems: [ + { + name: "Generator", + icon: , + action() { + setQRDialogOpen(true); + } + }, + { + name: "Import", + icon: , + action() { + setImportDialogOpen(true); + } + } + ] }, { name: "Reset Peers", diff --git a/src/components/CommandPalette/SearchResult.tsx b/src/components/CommandPalette/SearchResult.tsx index 402b2fef..f7b136ff 100644 --- a/src/components/CommandPalette/SearchResult.tsx +++ b/src/components/CommandPalette/SearchResult.tsx @@ -53,6 +53,7 @@ export const SearchResult = ({ group }: SearchResultProps): JSX.Element => { > {({ active }) => ( <> + {item.icon} {item.name} {active && ( diff --git a/src/components/Dialog/DialogManager.tsx b/src/components/Dialog/DialogManager.tsx index 97971442..cb95b77e 100644 --- a/src/components/Dialog/DialogManager.tsx +++ b/src/components/Dialog/DialogManager.tsx @@ -5,11 +5,14 @@ import { QRDialog } from "@components/Dialog/QRDialog.js"; import { RebootDialog } from "./RebootDialog.js"; import { ShutdownDialog } from "./ShutdownDialog.js"; +import { ImportDialog } from "./ImportDialog.js"; export const DialogManager = (): JSX.Element => { const { channels, config, + importDialogOpen, + setImportDialogOpen, QRDialogOpen, setQRDialogOpen, shutdownDialogOpen, @@ -27,6 +30,14 @@ export const DialogManager = (): JSX.Element => { channels={channels.map((ch) => ch.config)} loraConfig={config.lora} /> + { + setImportDialogOpen(false); + }} + channels={channels.map((ch) => ch.config)} + loraConfig={config.lora} + /> { diff --git a/src/components/Dialog/ImportDialog.tsx b/src/components/Dialog/ImportDialog.tsx new file mode 100644 index 00000000..94b81d43 --- /dev/null +++ b/src/components/Dialog/ImportDialog.tsx @@ -0,0 +1,134 @@ +import type React from "react"; +import { useEffect, useState } from "react"; + +import { fromByteArray, toByteArray } from "base64-js"; +import { toast } from "react-hot-toast"; +import { QRCode } from "react-qrcode-logo"; + +import { Checkbox } from "@components/form/Checkbox.js"; +import { Input } from "@components/form/Input.js"; +import { Dialog } from "@components/generic/Dialog.js"; +import { ClipboardIcon } from "@heroicons/react/24/outline"; +import { Protobuf } from "@meshtastic/meshtasticjs"; +import { Select } from "../form/Select.js"; +import { renderOptions } from "@app/core/utils/selectEnumOptions.js"; +import { Toggle } from "../form/Toggle.js"; +import { Button } from "../form/Button.js"; +import { useDevice } from "@app/core/providers/useDevice.js"; + +export interface ImportDialogProps { + isOpen: boolean; + close: () => void; + loraConfig?: Protobuf.Config_LoRaConfig; + channels: Protobuf.Channel[]; +} + +export const ImportDialog = ({ + isOpen, + close, +}: ImportDialogProps): JSX.Element => { + const [QRCodeURL, setQRCodeURL] = useState(""); + const [channelSet, setChannelSet] = useState(); + const [validURL, setValidURL] = useState(false); + + const {connection} = useDevice() + + useEffect(() => { + const base64String = QRCodeURL.split("e/#")[1] + ?.replace(/-/g, "+") + .replace(/_/g, "/") + .padEnd(QRCodeURL.length + ((4 - (QRCodeURL.length % 4)) % 4), "="); + try { + setChannelSet(Protobuf.ChannelSet.fromBinary(toByteArray(base64String))); + setValidURL(true); + } catch (error) { + setValidURL(false); + setChannelSet(undefined); + } + }, [QRCodeURL]); + + const apply = () => { + + channelSet?.settings.map(((ch, index) => { + connection?.setChannel({ + channel: { + index, + role: index === 0 ? Protobuf.Channel_Role.PRIMARY: Protobuf.Channel_Role.SECONDARY, + settings: ch + } + }) + })) + + if (channelSet?.loraConfig) { + connection?.setConfig({ + config: { + payloadVariant: { + oneofKind: 'lora', + lora: channelSet.loraConfig + } + } + }) + } + + } + + return ( + + + { + setQRCodeURL(e.target.value); + }} + />{validURL && ( + + + + + + + + {renderOptions(Protobuf.Config_LoRaConfig_ModemPreset)} + + + + {renderOptions(Protobuf.Config_LoRaConfig_RegionCode)} + + + + Channels: + + {channelSet?.settings.map((channel, index) => ( + + ))} + + )} + apply()} disabled={!validURL}>Apply + + ); +}; diff --git a/src/components/form/Toggle.tsx b/src/components/form/Toggle.tsx index 147e964b..aca28009 100644 --- a/src/components/form/Toggle.tsx +++ b/src/components/form/Toggle.tsx @@ -7,6 +7,7 @@ export interface ToggleProps { label?: string; description?: string; disabled?: boolean; + className?: string; onChange?: (checked: boolean) => void; } @@ -15,15 +16,19 @@ export const Toggle = ({ label, description, disabled, + className, onChange }: ToggleProps): JSX.Element => { return ( - + {label && ( {label} @@ -41,7 +46,7 @@ export const Toggle = ({ onChange={onChange} className={`relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-orange-500 focus:ring-offset-2 ${ checked ? "bg-orange-600" : "bg-orange-100" - } ${disabled ? "cursor-not-allowed bg-orange-400" : ""}`} + } ${disabled ? "cursor-not-allowed bg-orange-200" : ""}`} > void; addDeviceMetadataMessage: (metadata: Types.DeviceMetadataPacket) => void; ackMessage: (channelIndex: number, messageId: number) => void; + setImportDialogOpen: (open: boolean) => void; setQRDialogOpen: (open: boolean) => void; setShutdownDialogOpen: (open: boolean) => void; setRebootDialogOpen: (open: boolean) => void; @@ -118,6 +120,7 @@ export const useDeviceStore = create((set, get) => ({ waypoints: [], regionUnset: false, currentMetrics: Protobuf.DeviceMetrics.create(), + importDialogOpen: false, QRDialogOpen: false, shutdownDialogOpen: false, rebootDialogOpen: false, @@ -536,6 +539,16 @@ export const useDeviceStore = create((set, get) => ({ }) ); }, + setImportDialogOpen: (open: boolean) => { + set( + produce((draft) => { + const device = draft.devices.get(id); + if (device) { + device.importDialogOpen = open; + } + }) + ); + }, setQRDialogOpen: (open: boolean) => { set( produce((draft) => { diff --git a/src/pages/Channels.tsx b/src/pages/Channels.tsx index 78dc8953..0b9ada08 100644 --- a/src/pages/Channels.tsx +++ b/src/pages/Channels.tsx @@ -11,7 +11,7 @@ import { import { Protobuf } from "@meshtastic/meshtasticjs"; export const ChannelsPage = (): JSX.Element => { - const { channels, setQRDialogOpen } = useDevice(); + const { channels, setQRDialogOpen, setImportDialogOpen } = useDevice(); const tabs: TabType[] = channels.map((channel) => { return { @@ -33,7 +33,7 @@ export const ChannelsPage = (): JSX.Element => { variant="secondary" iconBefore={} onClick={() => { - setQRDialogOpen(true); + setImportDialogOpen(true); }} > Import