From 8641c150ddb0a2b2c7ea6188535be8ffda111640 Mon Sep 17 00:00:00 2001 From: Sacha Weatherstone Date: Wed, 3 Jan 2024 14:22:18 +1000 Subject: [PATCH] update to namespaced protobufs --- package.json | 16 +- pnpm-lock.yaml | 674 +++++++++--------- src/components/Dialog/DeviceNameDialog.tsx | 2 +- src/components/Dialog/ImportDialog.tsx | 16 +- src/components/Dialog/QRDialog.tsx | 12 +- src/components/PageComponents/Channel.tsx | 6 +- .../PageComponents/Config/Bluetooth.tsx | 7 +- .../PageComponents/Config/Device.tsx | 6 +- .../PageComponents/Config/Display.tsx | 11 +- src/components/PageComponents/Config/LoRa.tsx | 6 +- .../PageComponents/Config/Network.tsx | 18 +- .../PageComponents/Config/Position.tsx | 4 +- .../PageComponents/Config/Power.tsx | 2 +- src/components/PageComponents/Connect/BLE.tsx | 4 +- .../PageComponents/Connect/HTTP.tsx | 4 +- .../PageComponents/Connect/Serial.tsx | 4 +- .../PageComponents/Messages/Message.tsx | 2 +- .../ModuleConfig/AmbientLighting.tsx | 2 +- .../PageComponents/ModuleConfig/Audio.tsx | 5 +- .../ModuleConfig/CannedMessage.tsx | 11 +- .../ModuleConfig/DetectionSensor.tsx | 2 +- .../ModuleConfig/ExternalNotification.tsx | 2 +- .../PageComponents/ModuleConfig/MQTT.tsx | 8 +- .../ModuleConfig/NeighborInfo.tsx | 2 +- .../PageComponents/ModuleConfig/RangeTest.tsx | 2 +- .../PageComponents/ModuleConfig/Serial.tsx | 8 +- .../ModuleConfig/StoreForward.tsx | 2 +- .../PageComponents/ModuleConfig/Telemetry.tsx | 2 +- src/core/stores/deviceStore.ts | 71 +- src/core/subscriptions.ts | 4 +- src/pages/Channels.tsx | 2 +- src/pages/Messages.tsx | 2 +- src/pages/Peers.tsx | 2 +- src/validation/channel.ts | 11 +- src/validation/config/bluetooth.ts | 9 +- src/validation/config/device.ts | 12 +- src/validation/config/display.ts | 20 +- src/validation/config/lora.ts | 12 +- src/validation/config/network.ts | 20 +- src/validation/config/position.ts | 6 +- src/validation/config/power.ts | 4 +- .../moduleConfig/ambientLighting.ts | 6 +- src/validation/moduleConfig/audio.ts | 9 +- src/validation/moduleConfig/cannedMessage.ts | 19 +- .../moduleConfig/detectionSensor.ts | 6 +- .../moduleConfig/externalNotification.ts | 6 +- src/validation/moduleConfig/mqtt.ts | 7 +- src/validation/moduleConfig/neighborInfo.ts | 9 +- src/validation/moduleConfig/rangeTest.ts | 4 +- src/validation/moduleConfig/serial.ts | 12 +- src/validation/moduleConfig/storeForward.ts | 7 +- src/validation/moduleConfig/telemetry.ts | 4 +- tsconfig.json | 36 +- 53 files changed, 568 insertions(+), 572 deletions(-) diff --git a/package.json b/package.json index 56d324d7..98ce130e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meshtastic-web", - "version": "2.2.16-0", + "version": "2.2.17-0", "type": "module", "description": "Meshtastic web client", "license": "GPL-3.0-only", @@ -20,8 +20,9 @@ }, "homepage": "https://meshtastic.org", "dependencies": { + "@bufbuild/protobuf": "^1.6.0", "@emeraldpay/hashicon-react": "^0.5.2", - "@meshtastic/js": "2.2.16-0", + "@meshtastic/js": "2.2.17-4", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", @@ -41,10 +42,10 @@ "class-transformer": "^0.5.1", "class-validator": "^0.14.0", "class-variance-authority": "^0.7.0", - "clsx": "^2.0.0", + "clsx": "^2.1.0", "cmdk": "^0.2.0", "immer": "^10.0.3", - "lucide-react": "^0.302.0", + "lucide-react": "^0.303.0", "mapbox-gl": "npm:empty-npm-package@^1.0.0", "maplibre-gl": "3.6.2", "react": "^18.2.0", @@ -59,9 +60,10 @@ "zustand": "4.4.7" }, "devDependencies": { + "@buf/meshtastic_protobufs.bufbuild_es": "1.6.0-20231227193150-3f9c1dfd2a29.1", "@types/chrome": "^0.0.254", - "@types/node": "^20.10.5", - "@types/react": "^18.2.45", + "@types/node": "^20.10.6", + "@types/react": "^18.2.46", "@types/react-dom": "^18.2.18", "@types/w3c-web-serial": "^1.0.6", "@types/web-bluetooth": "^0.0.20", @@ -70,7 +72,7 @@ "biome": "^0.3.3", "gzipper": "^7.2.0", "postcss": "^8.4.32", - "rollup-plugin-visualizer": "^5.11.0", + "rollup-plugin-visualizer": "^5.12.0", "tailwindcss": "^3.4.0", "tar": "^6.2.0", "tslib": "^2.6.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29fdd35f..59825afb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,54 +5,57 @@ settings: excludeLinksFromLockfile: false dependencies: + '@bufbuild/protobuf': + specifier: ^1.6.0 + version: 1.6.0 '@emeraldpay/hashicon-react': specifier: ^0.5.2 version: 0.5.2 '@meshtastic/js': - specifier: 2.2.16-0 - version: 2.2.16-0 + specifier: 2.2.17-4 + version: 2.2.17-4 '@radix-ui/react-accordion': specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-checkbox': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dialog': specifier: ^1.0.5 - version: 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dropdown-menu': specifier: ^2.0.6 - version: 2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-label': specifier: ^2.0.2 - version: 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-menubar': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-popover': specifier: ^1.0.7 - version: 1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-scroll-area': specifier: ^1.0.5 - version: 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-select': specifier: ^2.0.0 - version: 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-separator': specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-switch': specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tabs': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-toast': specifier: ^1.1.5 - version: 1.1.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tooltip': specifier: ^1.0.7 - version: 1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) '@turf/turf': specifier: ^6.5.0 version: 6.5.0 @@ -69,17 +72,17 @@ dependencies: specifier: ^0.7.0 version: 0.7.0 clsx: - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.1.0 + version: 2.1.0 cmdk: specifier: ^0.2.0 - version: 0.2.0(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 0.2.0(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) immer: specifier: ^10.0.3 version: 10.0.3 lucide-react: - specifier: ^0.302.0 - version: 0.302.0(react@18.2.0) + specifier: ^0.303.0 + version: 0.303.0(react@18.2.0) mapbox-gl: specifier: npm:empty-npm-package@^1.0.0 version: /empty-npm-package@1.0.0 @@ -115,18 +118,21 @@ dependencies: version: 3.0.6(react@18.2.0) zustand: specifier: 4.4.7 - version: 4.4.7(@types/react@18.2.45)(immer@10.0.3)(react@18.2.0) + version: 4.4.7(@types/react@18.2.46)(immer@10.0.3)(react@18.2.0) devDependencies: + '@buf/meshtastic_protobufs.bufbuild_es': + specifier: 1.6.0-20231227193150-3f9c1dfd2a29.1 + version: 1.6.0-20231227193150-3f9c1dfd2a29.1(@bufbuild/protobuf@1.6.0) '@types/chrome': specifier: ^0.0.254 version: 0.0.254 '@types/node': - specifier: ^20.10.5 - version: 20.10.5 + specifier: ^20.10.6 + version: 20.10.6 '@types/react': - specifier: ^18.2.45 - version: 18.2.45 + specifier: ^18.2.46 + version: 18.2.46 '@types/react-dom': specifier: ^18.2.18 version: 18.2.18 @@ -152,8 +158,8 @@ devDependencies: specifier: ^8.4.32 version: 8.4.32 rollup-plugin-visualizer: - specifier: ^5.11.0 - version: 5.11.0 + specifier: ^5.12.0 + version: 5.12.0 tailwindcss: specifier: ^3.4.0 version: 3.4.0 @@ -168,7 +174,7 @@ devDependencies: version: 5.3.3 vite: specifier: ^5.0.10 - version: 5.0.10(@types/node@20.10.5) + version: 5.0.10(@types/node@20.10.6) vite-plugin-environment: specifier: ^1.1.3 version: 1.1.3(vite@5.0.10) @@ -410,17 +416,16 @@ packages: to-fast-properties: 2.0.0 dev: true - /@buf/meshtastic_protobufs.bufbuild_es@1.6.0-20231217172755-5fd2f2d6c2a0.1(@bufbuild/protobuf@1.6.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/meshtastic_protobufs.bufbuild_es/-/meshtastic_protobufs.bufbuild_es-1.6.0-20231217172755-5fd2f2d6c2a0.1.tgz} + /@buf/meshtastic_protobufs.bufbuild_es@1.6.0-20231227193150-3f9c1dfd2a29.1(@bufbuild/protobuf@1.6.0): + resolution: {tarball: https://buf.build/gen/npm/v1/@buf/meshtastic_protobufs.bufbuild_es/-/meshtastic_protobufs.bufbuild_es-1.6.0-20231227193150-3f9c1dfd2a29.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.6.0 dependencies: '@bufbuild/protobuf': 1.6.0 - dev: false + dev: true /@bufbuild/protobuf@1.6.0: resolution: {integrity: sha512-hp19vSFgNw3wBBcVBx5qo5pufCqjaJ0Cfk5H/pfjNOfNWU+4/w0QVOmfAOZNRrNWRrVuaJWxcN8P2vhOkkzbBQ==} - dev: false /@emeraldpay/hashicon-react@0.5.2: resolution: {integrity: sha512-XCoYKpq8QQOniiSZf5ouzdvXbKfG6q4ICHRqCO/GNofiF0Ra+LR/7+tomHlXVcLPBS9sDAoZQQw/Sr24KRAbJg==} @@ -764,11 +769,9 @@ packages: sort-object: 3.0.3 dev: false - /@meshtastic/js@2.2.16-0: - resolution: {integrity: sha512-uwo6ODtHr+x5HSrSkMcUsqW3DC75ANfqby2N7dKMJ1xnoU7G9NPbrHAGm8xMv0N6QR+118yWSLbx3HSvVIsN8w==} + /@meshtastic/js@2.2.17-4: + resolution: {integrity: sha512-L7nFKzv+Jl/q9TbSmedOqmM2+LKQT7yDUn5TJJ2kjSYP/Gvgb5P+Xby+YmhErfIRaunRtQ0DJM8a0IPrFzoRPg==} dependencies: - '@buf/meshtastic_protobufs.bufbuild_es': 1.6.0-20231217172755-5fd2f2d6c2a0.1(@bufbuild/protobuf@1.6.0) - '@bufbuild/protobuf': 1.6.0 crc: 4.3.2 sub-events: 1.9.0 tslog: 4.9.2 @@ -818,7 +821,7 @@ packages: '@babel/runtime': 7.23.6 dev: false - /@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==} peerDependencies: '@types/react': '*' @@ -833,21 +836,21 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -861,14 +864,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-checkbox@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-checkbox@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==} peerDependencies: '@types/react': '*' @@ -883,20 +886,20 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} peerDependencies: '@types/react': '*' @@ -911,20 +914,20 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -938,11 +941,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -957,7 +960,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' @@ -967,7 +970,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 dev: false @@ -980,7 +983,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-context@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-context@1.0.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' @@ -990,11 +993,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 dev: false - /@radix-ui/react-dialog@1.0.0(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.0(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 @@ -1016,12 +1019,12 @@ packages: aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.4(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll: 2.5.4(@types/react@18.2.46)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false - /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} peerDependencies: '@types/react': '*' @@ -1036,26 +1039,26 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.46)(react@18.2.0) dev: false - /@radix-ui/react-direction@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-direction@1.0.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: '@types/react': '*' @@ -1065,7 +1068,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 dev: false @@ -1085,7 +1088,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' @@ -1100,17 +1103,17 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==} peerDependencies: '@types/react': '*' @@ -1125,13 +1128,13 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1146,7 +1149,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: '@types/react': '*' @@ -1156,7 +1159,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 dev: false @@ -1174,7 +1177,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' @@ -1188,10 +1191,10 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1207,7 +1210,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-id@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-id@1.0.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' @@ -1217,12 +1220,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 react: 18.2.0 dev: false - /@radix-ui/react-label@2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-label@2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==} peerDependencies: '@types/react': '*' @@ -1236,14 +1239,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==} peerDependencies: '@types/react': '*' @@ -1258,30 +1261,30 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.46)(react@18.2.0) dev: false - /@radix-ui/react-menubar@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-menubar@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-bHgUo9gayKZfaQcWSSLr++LyS0rgh+MvD89DE4fJ6TkGHvjHgPaBZf44hdka7ogOxIOdj9163J+5xL2Dn4qzzg==} peerDependencies: '@types/react': '*' @@ -1296,22 +1299,22 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} peerDependencies: '@types/react': '*' @@ -1326,27 +1329,27 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.46)(react@18.2.0) dev: false - /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} peerDependencies: '@types/react': '*' @@ -1361,16 +1364,16 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.46)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.45 + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1388,7 +1391,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' @@ -1402,8 +1405,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1422,7 +1425,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -1436,9 +1439,9 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1456,7 +1459,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -1470,14 +1473,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' @@ -1492,21 +1495,21 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-scroll-area@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-scroll-area@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-b6PAgH4GQf9QEn8zbT2XUHpW5z8BzqEc7Kl11TwDrvuTrxlkcjTD5qa/bxgKr+nmuXKu4L/W5UZ4mlP/VG/5Gw==} peerDependencies: '@types/react': '*' @@ -1522,20 +1525,20 @@ packages: '@babel/runtime': 7.23.6 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-select@2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-select@2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==} peerDependencies: '@types/react': '*' @@ -1551,32 +1554,32 @@ packages: '@babel/runtime': 7.23.6 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.46)(react@18.2.0) dev: false - /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} peerDependencies: '@types/react': '*' @@ -1590,8 +1593,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1607,7 +1610,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-slot@1.0.2(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' @@ -1617,12 +1620,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 react: 18.2.0 dev: false - /@radix-ui/react-switch@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-switch@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow==} peerDependencies: '@types/react': '*' @@ -1637,19 +1640,19 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-tabs@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tabs@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==} peerDependencies: '@types/react': '*' @@ -1664,20 +1667,20 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toast@1.1.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toast@1.1.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==} peerDependencies: '@types/react': '*' @@ -1692,24 +1695,24 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==} peerDependencies: '@types/react': '*' @@ -1724,18 +1727,18 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1750,7 +1753,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' @@ -1760,7 +1763,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 dev: false @@ -1774,7 +1777,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' @@ -1784,8 +1787,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 react: 18.2.0 dev: false @@ -1799,7 +1802,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' @@ -1809,8 +1812,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 react: 18.2.0 dev: false @@ -1823,7 +1826,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' @@ -1833,11 +1836,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 dev: false - /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} peerDependencies: '@types/react': '*' @@ -1847,11 +1850,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 dev: false - /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' @@ -1862,11 +1865,11 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 dev: false - /@radix-ui/react-use-size@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-size@1.0.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' @@ -1876,12 +1879,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.46)(react@18.2.0) + '@types/react': 18.2.46 react: 18.2.0 dev: false - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -1895,8 +1898,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.46 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -3144,8 +3147,8 @@ packages: '@types/pbf': 3.0.5 dev: false - /@types/node@20.10.5: - resolution: {integrity: sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==} + /@types/node@20.10.6: + resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==} dependencies: undici-types: 5.26.5 dev: true @@ -3160,10 +3163,10 @@ packages: /@types/react-dom@18.2.18: resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.46 - /@types/react@18.2.45: - resolution: {integrity: sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==} + /@types/react@18.2.46: + resolution: {integrity: sha512-nNCvVBcZlvX4NU1nRRNV/mFl1nNRuTuslAJglQsq+8ldXe5Xv0Wd2f7WTE3jOxhLH2BFfiZGC6GCp+kHQbgG+w==} dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 @@ -3201,7 +3204,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.6) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 5.0.10(@types/node@20.10.5) + vite: 5.0.10(@types/node@20.10.6) transitivePeerDependencies: - supports-color dev: true @@ -3518,13 +3521,18 @@ packages: engines: {node: '>=6'} dev: false - /cmdk@0.2.0(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /clsx@2.1.0: + resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} + engines: {node: '>=6'} + dev: false + + /cmdk@0.2.0(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-JQpKvEOb86SnvMZbYaFKYhvzFntWBeSZdyii0rZPhKJj9uwJBxu4DaVYDrRN7r3mPop56oPhRw+JYWTKs66TYw==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) command-score: 0.1.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -4587,8 +4595,8 @@ packages: yallist: 3.1.1 dev: true - /lucide-react@0.302.0(react@18.2.0): - resolution: {integrity: sha512-JZX+1fjpqxvQmEgItvPOAwRlqf0Eg9dSZMxljA2/V2M6dluOhQCPBhewIlSJWgkNu0M36kViOgmTAMnDaAMOFw==} + /lucide-react@0.303.0(react@18.2.0): + resolution: {integrity: sha512-B0B9T3dLEFBYPCUlnUS1mvAhW1craSbF9HO+JfBjAtpFUJ7gMIqmEwNSclikY3RiN2OnCkj/V1ReAQpaHae8Bg==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 dependencies: @@ -5066,7 +5074,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-remove-scroll-bar@2.3.4(@types/react@18.2.45)(react@18.2.0): + /react-remove-scroll-bar@2.3.4(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} engines: {node: '>=10'} peerDependencies: @@ -5076,13 +5084,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.45)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.46)(react@18.2.0) tslib: 2.6.2 dev: false - /react-remove-scroll@2.5.4(@types/react@18.2.45)(react@18.2.0): + /react-remove-scroll@2.5.4(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==} engines: {node: '>=10'} peerDependencies: @@ -5092,16 +5100,16 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.45)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll-bar: 2.3.4(@types/react@18.2.46)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.46)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.1(@types/react@18.2.45)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.45)(react@18.2.0) + use-callback-ref: 1.3.1(@types/react@18.2.46)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.46)(react@18.2.0) dev: false - /react-remove-scroll@2.5.5(@types/react@18.2.45)(react@18.2.0): + /react-remove-scroll@2.5.5(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} peerDependencies: @@ -5111,16 +5119,16 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.45)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll-bar: 2.3.4(@types/react@18.2.46)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.46)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.1(@types/react@18.2.45)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.45)(react@18.2.0) + use-callback-ref: 1.3.1(@types/react@18.2.46)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.46)(react@18.2.0) dev: false - /react-style-singleton@2.2.1(@types/react@18.2.45)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -5130,7 +5138,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.46 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 @@ -5296,8 +5304,8 @@ packages: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} dev: false - /rollup-plugin-visualizer@5.11.0: - resolution: {integrity: sha512-exM0Ms2SN3AgTzMeW7y46neZQcyLY7eKwWAop1ZoRTCZwyrIRdMMJ6JjToAJbML77X/9N8ZEpmXG4Z/Clb9k8g==} + /rollup-plugin-visualizer@5.12.0: + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true peerDependencies: @@ -5821,7 +5829,7 @@ packages: punycode: 2.3.1 dev: true - /use-callback-ref@1.3.1(@types/react@18.2.45)(react@18.2.0): + /use-callback-ref@1.3.1(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==} engines: {node: '>=10'} peerDependencies: @@ -5831,12 +5839,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.46 react: 18.2.0 tslib: 2.6.2 dev: false - /use-sidecar@1.1.2(@types/react@18.2.45)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.2.46)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -5846,7 +5854,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.46 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 @@ -5905,10 +5913,10 @@ packages: peerDependencies: vite: '>= 2.7' dependencies: - vite: 5.0.10(@types/node@20.10.5) + vite: 5.0.10(@types/node@20.10.6) dev: true - /vite@5.0.10(@types/node@20.10.5): + /vite@5.0.10(@types/node@20.10.6): resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5936,7 +5944,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.10.5 + '@types/node': 20.10.6 esbuild: 0.19.10 postcss: 8.4.32 rollup: 4.9.1 @@ -6056,7 +6064,7 @@ packages: yargs-parser: 21.1.1 dev: true - /zustand@4.4.7(@types/react@18.2.45)(immer@10.0.3)(react@18.2.0): + /zustand@4.4.7(@types/react@18.2.46)(immer@10.0.3)(react@18.2.0): resolution: {integrity: sha512-QFJWJMdlETcI69paJwhSMJz7PPWjVP8Sjhclxmxmxv/RYI7ZOvR5BHX+ktH0we9gTWQMxcne8q1OY8xxz604gw==} engines: {node: '>=12.7.0'} peerDependencies: @@ -6071,7 +6079,7 @@ packages: react: optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.46 immer: 10.0.3 react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) diff --git a/src/components/Dialog/DeviceNameDialog.tsx b/src/components/Dialog/DeviceNameDialog.tsx index f77b6958..403f4e8c 100644 --- a/src/components/Dialog/DeviceNameDialog.tsx +++ b/src/components/Dialog/DeviceNameDialog.tsx @@ -40,7 +40,7 @@ export const DeviceNameDialog = ({ const onSubmit = handleSubmit((data) => { connection?.setOwner( - new Protobuf.User({ + new Protobuf.Mesh.User({ ...myNode?.user, ...data, }), diff --git a/src/components/Dialog/ImportDialog.tsx b/src/components/Dialog/ImportDialog.tsx index 5f4e0fe7..6691f90f 100644 --- a/src/components/Dialog/ImportDialog.tsx +++ b/src/components/Dialog/ImportDialog.tsx @@ -19,7 +19,7 @@ import { useEffect, useState } from "react"; export interface ImportDialogProps { open: boolean; onOpenChange: (open: boolean) => void; - loraConfig?: Protobuf.Config_LoRaConfig; + loraConfig?: Protobuf.Config.Config_LoRaConfig; } export const ImportDialog = ({ @@ -27,7 +27,7 @@ export const ImportDialog = ({ onOpenChange, }: ImportDialogProps): JSX.Element => { const [QRCodeURL, setQRCodeURL] = useState(""); - const [channelSet, setChannelSet] = useState(); + const [channelSet, setChannelSet] = useState(); const [validURL, setValidURL] = useState(false); const { connection } = useDevice(); @@ -39,7 +39,9 @@ export const ImportDialog = ({ .replace(/-/g, "+") .replace(/_/g, "/"); try { - setChannelSet(Protobuf.ChannelSet.fromBinary(toByteArray(paddedString))); + setChannelSet( + Protobuf.AppOnly.ChannelSet.fromBinary(toByteArray(paddedString)), + ); setValidURL(true); } catch (error) { setValidURL(false); @@ -50,12 +52,12 @@ export const ImportDialog = ({ const apply = () => { channelSet?.settings.map((ch, index) => { connection?.setChannel( - new Protobuf.Channel({ + new Protobuf.Channel.Channel({ index, role: index === 0 - ? Protobuf.Channel_Role.PRIMARY - : Protobuf.Channel_Role.SECONDARY, + ? Protobuf.Channel.Channel_Role.PRIMARY + : Protobuf.Channel.Channel_Role.SECONDARY, settings: ch, }), ); @@ -63,7 +65,7 @@ export const ImportDialog = ({ if (channelSet?.loraConfig) { connection?.setConfig( - new Protobuf.Config({ + new Protobuf.Config.Config({ payloadVariant: { case: "lora", value: channelSet.loraConfig, diff --git a/src/components/Dialog/QRDialog.tsx b/src/components/Dialog/QRDialog.tsx index 0bc4fd07..f31d3f4d 100644 --- a/src/components/Dialog/QRDialog.tsx +++ b/src/components/Dialog/QRDialog.tsx @@ -18,8 +18,8 @@ import { QRCode } from "react-qrcode-logo"; export interface QRDialogProps { open: boolean; onOpenChange: (open: boolean) => void; - loraConfig?: Protobuf.Config_LoRaConfig; - channels: Map; + loraConfig?: Protobuf.Config.Config_LoRaConfig; + channels: Map; } export const QRDialog = ({ @@ -37,9 +37,9 @@ export const QRDialog = ({ const channelsToEncode = allChannels .filter((ch) => selectedChannels.includes(ch.index)) .map((channel) => channel.settings) - .filter((ch): ch is Protobuf.ChannelSettings => !!ch); - const encoded = new Protobuf.ChannelSet( - new Protobuf.ChannelSet({ + .filter((ch): ch is Protobuf.Channel.ChannelSettings => !!ch); + const encoded = new Protobuf.AppOnly.ChannelSet( + new Protobuf.AppOnly.ChannelSet({ loraConfig, settings: channelsToEncode, }), @@ -69,7 +69,7 @@ export const QRDialog = ({ diff --git a/src/components/PageComponents/Channel.tsx b/src/components/PageComponents/Channel.tsx index 0766c9bb..825156ad 100644 --- a/src/components/PageComponents/Channel.tsx +++ b/src/components/PageComponents/Channel.tsx @@ -6,7 +6,7 @@ import { Protobuf } from "@meshtastic/js"; import { fromByteArray, toByteArray } from "base64-js"; export interface SettingsPanelProps { - channel: Protobuf.Channel; + channel: Protobuf.Channel.Channel; } export const Channel = ({ channel }: SettingsPanelProps): JSX.Element => { @@ -14,7 +14,7 @@ export const Channel = ({ channel }: SettingsPanelProps): JSX.Element => { const { toast } = useToast(); const onSubmit = (data: ChannelValidation) => { - const channel = new Protobuf.Channel({ + const channel = new Protobuf.Channel.Channel({ ...data, settings: { ...data.settings, @@ -55,7 +55,7 @@ export const Channel = ({ channel }: SettingsPanelProps): JSX.Element => { description: "Device telemetry is sent over PRIMARY. Only one PRIMARY allowed", properties: { - enumValue: Protobuf.Channel_Role, + enumValue: Protobuf.Channel.Channel_Role, }, }, { diff --git a/src/components/PageComponents/Config/Bluetooth.tsx b/src/components/PageComponents/Config/Bluetooth.tsx index a0f1b297..797a6dff 100644 --- a/src/components/PageComponents/Config/Bluetooth.tsx +++ b/src/components/PageComponents/Config/Bluetooth.tsx @@ -8,7 +8,7 @@ export const Bluetooth = (): JSX.Element => { const onSubmit = (data: BluetoothValidation) => { setWorkingConfig( - new Protobuf.Config({ + new Protobuf.Config.Config({ payloadVariant: { case: "bluetooth", value: data, @@ -43,7 +43,7 @@ export const Bluetooth = (): JSX.Element => { }, ], properties: { - enumValue: Protobuf.Config_BluetoothConfig_PairingMode, + enumValue: Protobuf.Config.Config_BluetoothConfig_PairingMode, formatEnumName: true, }, }, @@ -56,7 +56,8 @@ export const Bluetooth = (): JSX.Element => { { fieldName: "mode", selector: - Protobuf.Config_BluetoothConfig_PairingMode.FIXED_PIN, + Protobuf.Config.Config_BluetoothConfig_PairingMode + .FIXED_PIN, invert: true, }, { diff --git a/src/components/PageComponents/Config/Device.tsx b/src/components/PageComponents/Config/Device.tsx index ac83d3d1..c0f3bfc4 100644 --- a/src/components/PageComponents/Config/Device.tsx +++ b/src/components/PageComponents/Config/Device.tsx @@ -8,7 +8,7 @@ export const Device = (): JSX.Element => { const onSubmit = (data: DeviceValidation) => { setWorkingConfig( - new Protobuf.Config({ + new Protobuf.Config.Config({ payloadVariant: { case: "device", value: data, @@ -32,7 +32,7 @@ export const Device = (): JSX.Element => { label: "Role", description: "What role the device performs on the mesh", properties: { - enumValue: Protobuf.Config_DeviceConfig_Role, + enumValue: Protobuf.Config.Config_DeviceConfig_Role, formatEnumName: true, }, }, @@ -67,7 +67,7 @@ export const Device = (): JSX.Element => { label: "Rebroadcast Mode", description: "How to handle rebroadcasting", properties: { - enumValue: Protobuf.Config_DeviceConfig_RebroadcastMode, + enumValue: Protobuf.Config.Config_DeviceConfig_RebroadcastMode, formatEnumName: true, }, }, diff --git a/src/components/PageComponents/Config/Display.tsx b/src/components/PageComponents/Config/Display.tsx index f6cb67a1..d75ac7d3 100644 --- a/src/components/PageComponents/Config/Display.tsx +++ b/src/components/PageComponents/Config/Display.tsx @@ -8,7 +8,7 @@ export const Display = (): JSX.Element => { const onSubmit = (data: DisplayValidation) => { setWorkingConfig( - new Protobuf.Config({ + new Protobuf.Config.Config({ payloadVariant: { case: "display", value: data, @@ -41,7 +41,8 @@ export const Display = (): JSX.Element => { label: "GPS Display Units", description: "Coordinate display format", properties: { - enumValue: Protobuf.Config_DisplayConfig_GpsCoordinateFormat, + enumValue: + Protobuf.Config.Config_DisplayConfig_GpsCoordinateFormat, }, }, { @@ -68,7 +69,7 @@ export const Display = (): JSX.Element => { label: "Display Units", description: "Display metric or imperial units", properties: { - enumValue: Protobuf.Config_DisplayConfig_DisplayUnits, + enumValue: Protobuf.Config.Config_DisplayConfig_DisplayUnits, formatEnumName: true, }, }, @@ -78,7 +79,7 @@ export const Display = (): JSX.Element => { label: "OLED Type", description: "Type of OLED screen attached to the device", properties: { - enumValue: Protobuf.Config_DisplayConfig_OledType, + enumValue: Protobuf.Config.Config_DisplayConfig_OledType, }, }, { @@ -87,7 +88,7 @@ export const Display = (): JSX.Element => { label: "Display Mode", description: "Screen layout variant", properties: { - enumValue: Protobuf.Config_DisplayConfig_DisplayMode, + enumValue: Protobuf.Config.Config_DisplayConfig_DisplayMode, formatEnumName: true, }, }, diff --git a/src/components/PageComponents/Config/LoRa.tsx b/src/components/PageComponents/Config/LoRa.tsx index 51b09778..ef31f4fd 100644 --- a/src/components/PageComponents/Config/LoRa.tsx +++ b/src/components/PageComponents/Config/LoRa.tsx @@ -8,7 +8,7 @@ export const LoRa = (): JSX.Element => { const onSubmit = (data: LoRaValidation) => { setWorkingConfig( - new Protobuf.Config({ + new Protobuf.Config.Config({ payloadVariant: { case: "lora", value: data, @@ -32,7 +32,7 @@ export const LoRa = (): JSX.Element => { label: "Region", description: "Sets the region for your node", properties: { - enumValue: Protobuf.Config_LoRaConfig_RegionCode, + enumValue: Protobuf.Config.Config_LoRaConfig_RegionCode, }, }, { @@ -70,7 +70,7 @@ export const LoRa = (): JSX.Element => { }, ], properties: { - enumValue: Protobuf.Config_LoRaConfig_ModemPreset, + enumValue: Protobuf.Config.Config_LoRaConfig_ModemPreset, formatEnumName: true, }, }, diff --git a/src/components/PageComponents/Config/Network.tsx b/src/components/PageComponents/Config/Network.tsx index 62a28044..1b31db59 100644 --- a/src/components/PageComponents/Config/Network.tsx +++ b/src/components/PageComponents/Config/Network.tsx @@ -8,12 +8,12 @@ export const Network = (): JSX.Element => { const onSubmit = (data: NetworkValidation) => { setWorkingConfig( - new Protobuf.Config({ + new Protobuf.Config.Config({ payloadVariant: { case: "network", value: { ...data, - ipv4Config: new Protobuf.Config_NetworkConfig_IpV4Config( + ipv4Config: new Protobuf.Config.Config_NetworkConfig_IpV4Config( data.ipv4Config, ), }, @@ -83,7 +83,7 @@ export const Network = (): JSX.Element => { label: "Address Mode", description: "Address assignment selection", properties: { - enumValue: Protobuf.Config_NetworkConfig_AddressMode, + enumValue: Protobuf.Config.Config_NetworkConfig_AddressMode, }, }, { @@ -94,7 +94,8 @@ export const Network = (): JSX.Element => { disabledBy: [ { fieldName: "addressMode", - selector: Protobuf.Config_NetworkConfig_AddressMode.DHCP, + selector: + Protobuf.Config.Config_NetworkConfig_AddressMode.DHCP, }, ], }, @@ -106,7 +107,8 @@ export const Network = (): JSX.Element => { disabledBy: [ { fieldName: "addressMode", - selector: Protobuf.Config_NetworkConfig_AddressMode.DHCP, + selector: + Protobuf.Config.Config_NetworkConfig_AddressMode.DHCP, }, ], }, @@ -118,7 +120,8 @@ export const Network = (): JSX.Element => { disabledBy: [ { fieldName: "addressMode", - selector: Protobuf.Config_NetworkConfig_AddressMode.DHCP, + selector: + Protobuf.Config.Config_NetworkConfig_AddressMode.DHCP, }, ], }, @@ -130,7 +133,8 @@ export const Network = (): JSX.Element => { disabledBy: [ { fieldName: "addressMode", - selector: Protobuf.Config_NetworkConfig_AddressMode.DHCP, + selector: + Protobuf.Config.Config_NetworkConfig_AddressMode.DHCP, }, ], }, diff --git a/src/components/PageComponents/Config/Position.tsx b/src/components/PageComponents/Config/Position.tsx index c8e5beb6..e9231e8b 100644 --- a/src/components/PageComponents/Config/Position.tsx +++ b/src/components/PageComponents/Config/Position.tsx @@ -8,7 +8,7 @@ export const Position = (): JSX.Element => { const onSubmit = (data: PositionValidation) => { setWorkingConfig( - new Protobuf.Config({ + new Protobuf.Config.Config({ payloadVariant: { case: "position", value: data, @@ -52,7 +52,7 @@ export const Position = (): JSX.Element => { label: "Position Flags", description: "Configuration options for Position messages", properties: { - enumValue: Protobuf.Config_PositionConfig_PositionFlags, + enumValue: Protobuf.Config.Config_PositionConfig_PositionFlags, }, }, { diff --git a/src/components/PageComponents/Config/Power.tsx b/src/components/PageComponents/Config/Power.tsx index 8e600026..8698248a 100644 --- a/src/components/PageComponents/Config/Power.tsx +++ b/src/components/PageComponents/Config/Power.tsx @@ -8,7 +8,7 @@ export const Power = (): JSX.Element => { const onSubmit = (data: PowerValidation) => { setWorkingConfig( - new Protobuf.Config({ + new Protobuf.Config.Config({ payloadVariant: { case: "power", value: data, diff --git a/src/components/PageComponents/Connect/BLE.tsx b/src/components/PageComponents/Connect/BLE.tsx index ba9b94ec..59a41f8a 100644 --- a/src/components/PageComponents/Connect/BLE.tsx +++ b/src/components/PageComponents/Connect/BLE.tsx @@ -4,7 +4,7 @@ import { useAppStore } from "@core/stores/appStore.js"; import { useDeviceStore } from "@core/stores/deviceStore.js"; import { subscribeAll } from "@core/subscriptions.js"; import { randId } from "@core/utils/randId.js"; -import { Constants, IBLEConnection } from "@meshtastic/js"; +import { Constants, BleConnection } from "@meshtastic/js"; import { useCallback, useEffect, useState } from "react"; export const BLE = (): JSX.Element => { @@ -24,7 +24,7 @@ export const BLE = (): JSX.Element => { const id = randId(); const device = addDevice(id); setSelectedDevice(id); - const connection = new IBLEConnection(id); + const connection = new BleConnection(id); await connection.connect({ device: bleDevice, }); diff --git a/src/components/PageComponents/Connect/HTTP.tsx b/src/components/PageComponents/Connect/HTTP.tsx index f68e4f47..8011d30e 100644 --- a/src/components/PageComponents/Connect/HTTP.tsx +++ b/src/components/PageComponents/Connect/HTTP.tsx @@ -6,7 +6,7 @@ import { useAppStore } from "@core/stores/appStore.js"; import { useDeviceStore } from "@core/stores/deviceStore.js"; import { subscribeAll } from "@core/subscriptions.js"; import { randId } from "@core/utils/randId.js"; -import { IHTTPConnection } from "@meshtastic/js"; +import { HttpConnection } from "@meshtastic/js"; import { Controller, useForm, useWatch } from "react-hook-form"; export const HTTP = (): JSX.Element => { @@ -36,7 +36,7 @@ export const HTTP = (): JSX.Element => { const id = randId(); const device = addDevice(id); setSelectedDevice(id); - const connection = new IHTTPConnection(id); + const connection = new HttpConnection(id); // TODO: Promise never resolves await connection.connect({ address: data.ip, diff --git a/src/components/PageComponents/Connect/Serial.tsx b/src/components/PageComponents/Connect/Serial.tsx index 1600314a..82dc775d 100644 --- a/src/components/PageComponents/Connect/Serial.tsx +++ b/src/components/PageComponents/Connect/Serial.tsx @@ -4,7 +4,7 @@ import { useAppStore } from "@core/stores/appStore.js"; import { useDeviceStore } from "@core/stores/deviceStore.js"; import { subscribeAll } from "@core/subscriptions.js"; import { randId } from "@core/utils/randId.js"; -import { ISerialConnection } from "@meshtastic/js"; +import { SerialConnection } from "@meshtastic/js"; import { useCallback, useEffect, useState } from "react"; export const Serial = (): JSX.Element => { @@ -30,7 +30,7 @@ export const Serial = (): JSX.Element => { const id = randId(); const device = addDevice(id); setSelectedDevice(id); - const connection = new ISerialConnection(id); + const connection = new SerialConnection(id); await connection .connect({ port, diff --git a/src/components/PageComponents/Messages/Message.tsx b/src/components/PageComponents/Messages/Message.tsx index 24b22348..b958b803 100644 --- a/src/components/PageComponents/Messages/Message.tsx +++ b/src/components/PageComponents/Messages/Message.tsx @@ -10,7 +10,7 @@ import { export interface MessageProps { lastMsgSameUser: boolean; message: MessageWithState; - sender?: Protobuf.NodeInfo; + sender?: Protobuf.Mesh.NodeInfo; } export const Message = ({ diff --git a/src/components/PageComponents/ModuleConfig/AmbientLighting.tsx b/src/components/PageComponents/ModuleConfig/AmbientLighting.tsx index 6d9c7d5e..275487a8 100644 --- a/src/components/PageComponents/ModuleConfig/AmbientLighting.tsx +++ b/src/components/PageComponents/ModuleConfig/AmbientLighting.tsx @@ -8,7 +8,7 @@ export const AmbientLighting = (): JSX.Element => { const onSubmit = (data: AmbientLightingValidation) => { setWorkingModuleConfig( - new Protobuf.ModuleConfig({ + new Protobuf.ModuleConfig.ModuleConfig({ payloadVariant: { case: "ambientLighting", value: data, diff --git a/src/components/PageComponents/ModuleConfig/Audio.tsx b/src/components/PageComponents/ModuleConfig/Audio.tsx index 69073cdd..807218fb 100644 --- a/src/components/PageComponents/ModuleConfig/Audio.tsx +++ b/src/components/PageComponents/ModuleConfig/Audio.tsx @@ -8,7 +8,7 @@ export const Audio = (): JSX.Element => { const onSubmit = (data: AudioValidation) => { setWorkingModuleConfig( - new Protobuf.ModuleConfig({ + new Protobuf.ModuleConfig.ModuleConfig({ payloadVariant: { case: "audio", value: data, @@ -44,7 +44,8 @@ export const Audio = (): JSX.Element => { label: "Bitrate", description: "Bitrate to use for audio encoding", properties: { - enumValue: Protobuf.ModuleConfig_AudioConfig_Audio_Baud, + enumValue: + Protobuf.ModuleConfig.ModuleConfig_AudioConfig_Audio_Baud, }, }, { diff --git a/src/components/PageComponents/ModuleConfig/CannedMessage.tsx b/src/components/PageComponents/ModuleConfig/CannedMessage.tsx index cf693fcd..1ab3da31 100644 --- a/src/components/PageComponents/ModuleConfig/CannedMessage.tsx +++ b/src/components/PageComponents/ModuleConfig/CannedMessage.tsx @@ -8,7 +8,7 @@ export const CannedMessage = (): JSX.Element => { const onSubmit = (data: CannedMessageValidation) => { setWorkingModuleConfig( - new Protobuf.ModuleConfig({ + new Protobuf.ModuleConfig.ModuleConfig({ payloadVariant: { case: "cannedMessage", value: data, @@ -63,7 +63,8 @@ export const CannedMessage = (): JSX.Element => { description: "Select input event.", properties: { enumValue: - Protobuf.ModuleConfig_CannedMessageConfig_InputEventChar, + Protobuf.ModuleConfig + .ModuleConfig_CannedMessageConfig_InputEventChar, }, }, { @@ -73,7 +74,8 @@ export const CannedMessage = (): JSX.Element => { description: "Select input event.", properties: { enumValue: - Protobuf.ModuleConfig_CannedMessageConfig_InputEventChar, + Protobuf.ModuleConfig + .ModuleConfig_CannedMessageConfig_InputEventChar, }, }, { @@ -83,7 +85,8 @@ export const CannedMessage = (): JSX.Element => { description: "Select input event", properties: { enumValue: - Protobuf.ModuleConfig_CannedMessageConfig_InputEventChar, + Protobuf.ModuleConfig + .ModuleConfig_CannedMessageConfig_InputEventChar, }, }, { diff --git a/src/components/PageComponents/ModuleConfig/DetectionSensor.tsx b/src/components/PageComponents/ModuleConfig/DetectionSensor.tsx index b50a7e52..e98af1d5 100644 --- a/src/components/PageComponents/ModuleConfig/DetectionSensor.tsx +++ b/src/components/PageComponents/ModuleConfig/DetectionSensor.tsx @@ -8,7 +8,7 @@ export const DetectionSensor = (): JSX.Element => { const onSubmit = (data: DetectionSensorValidation) => { setWorkingModuleConfig( - new Protobuf.ModuleConfig({ + new Protobuf.ModuleConfig.ModuleConfig({ payloadVariant: { case: "detectionSensor", value: data, diff --git a/src/components/PageComponents/ModuleConfig/ExternalNotification.tsx b/src/components/PageComponents/ModuleConfig/ExternalNotification.tsx index 7b7431ac..44abc6c1 100644 --- a/src/components/PageComponents/ModuleConfig/ExternalNotification.tsx +++ b/src/components/PageComponents/ModuleConfig/ExternalNotification.tsx @@ -8,7 +8,7 @@ export const ExternalNotification = (): JSX.Element => { const onSubmit = (data: ExternalNotificationValidation) => { setWorkingModuleConfig( - new Protobuf.ModuleConfig({ + new Protobuf.ModuleConfig.ModuleConfig({ payloadVariant: { case: "externalNotification", value: data, diff --git a/src/components/PageComponents/ModuleConfig/MQTT.tsx b/src/components/PageComponents/ModuleConfig/MQTT.tsx index 6a41894a..874d7c3f 100644 --- a/src/components/PageComponents/ModuleConfig/MQTT.tsx +++ b/src/components/PageComponents/ModuleConfig/MQTT.tsx @@ -1,14 +1,14 @@ import { useDevice } from "@app/core/stores/deviceStore.js"; -import type { MQTTValidation } from "@app/validation/moduleConfig/mqtt.js"; +import type { MqttValidation } from "@app/validation/moduleConfig/mqtt.js"; import { DynamicForm } from "@components/Form/DynamicForm.js"; import { Protobuf } from "@meshtastic/js"; export const MQTT = (): JSX.Element => { const { moduleConfig, setWorkingModuleConfig } = useDevice(); - const onSubmit = (data: MQTTValidation) => { + const onSubmit = (data: MqttValidation) => { setWorkingModuleConfig( - new Protobuf.ModuleConfig({ + new Protobuf.ModuleConfig.ModuleConfig({ payloadVariant: { case: "mqtt", value: data, @@ -18,7 +18,7 @@ export const MQTT = (): JSX.Element => { }; return ( - + onSubmit={onSubmit} defaultValues={moduleConfig.mqtt} fieldGroups={[ diff --git a/src/components/PageComponents/ModuleConfig/NeighborInfo.tsx b/src/components/PageComponents/ModuleConfig/NeighborInfo.tsx index d1e74992..397fabf4 100644 --- a/src/components/PageComponents/ModuleConfig/NeighborInfo.tsx +++ b/src/components/PageComponents/ModuleConfig/NeighborInfo.tsx @@ -8,7 +8,7 @@ export const NeighborInfo = (): JSX.Element => { const onSubmit = (data: NeighborInfoValidation) => { setWorkingModuleConfig( - new Protobuf.ModuleConfig({ + new Protobuf.ModuleConfig.ModuleConfig({ payloadVariant: { case: "neighborInfo", value: data, diff --git a/src/components/PageComponents/ModuleConfig/RangeTest.tsx b/src/components/PageComponents/ModuleConfig/RangeTest.tsx index eb7e978d..ee396225 100644 --- a/src/components/PageComponents/ModuleConfig/RangeTest.tsx +++ b/src/components/PageComponents/ModuleConfig/RangeTest.tsx @@ -8,7 +8,7 @@ export const RangeTest = (): JSX.Element => { const onSubmit = (data: RangeTestValidation) => { setWorkingModuleConfig( - new Protobuf.ModuleConfig({ + new Protobuf.ModuleConfig.ModuleConfig({ payloadVariant: { case: "rangeTest", value: data, diff --git a/src/components/PageComponents/ModuleConfig/Serial.tsx b/src/components/PageComponents/ModuleConfig/Serial.tsx index c65a8969..7fd40571 100644 --- a/src/components/PageComponents/ModuleConfig/Serial.tsx +++ b/src/components/PageComponents/ModuleConfig/Serial.tsx @@ -8,7 +8,7 @@ export const Serial = (): JSX.Element => { const onSubmit = (data: SerialValidation) => { setWorkingModuleConfig( - new Protobuf.ModuleConfig({ + new Protobuf.ModuleConfig.ModuleConfig({ payloadVariant: { case: "serial", value: data, @@ -78,7 +78,8 @@ export const Serial = (): JSX.Element => { }, ], properties: { - enumValue: Protobuf.ModuleConfig_SerialConfig_Serial_Baud, + enumValue: + Protobuf.ModuleConfig.ModuleConfig_SerialConfig_Serial_Baud, }, }, { @@ -109,7 +110,8 @@ export const Serial = (): JSX.Element => { }, ], properties: { - enumValue: Protobuf.ModuleConfig_SerialConfig_Serial_Mode, + enumValue: + Protobuf.ModuleConfig.ModuleConfig_SerialConfig_Serial_Mode, formatEnumName: true, }, }, diff --git a/src/components/PageComponents/ModuleConfig/StoreForward.tsx b/src/components/PageComponents/ModuleConfig/StoreForward.tsx index fd8e570c..994f6051 100644 --- a/src/components/PageComponents/ModuleConfig/StoreForward.tsx +++ b/src/components/PageComponents/ModuleConfig/StoreForward.tsx @@ -8,7 +8,7 @@ export const StoreForward = (): JSX.Element => { const onSubmit = (data: StoreForwardValidation) => { setWorkingModuleConfig( - new Protobuf.ModuleConfig({ + new Protobuf.ModuleConfig.ModuleConfig({ payloadVariant: { case: "storeForward", value: data, diff --git a/src/components/PageComponents/ModuleConfig/Telemetry.tsx b/src/components/PageComponents/ModuleConfig/Telemetry.tsx index 5c4aac99..817f3bf2 100644 --- a/src/components/PageComponents/ModuleConfig/Telemetry.tsx +++ b/src/components/PageComponents/ModuleConfig/Telemetry.tsx @@ -8,7 +8,7 @@ export const Telemetry = (): JSX.Element => { const onSubmit = (data: TelemetryValidation) => { setWorkingModuleConfig( - new Protobuf.ModuleConfig({ + new Protobuf.ModuleConfig.ModuleConfig({ payloadVariant: { case: "telemetry", value: data, diff --git a/src/core/stores/deviceStore.ts b/src/core/stores/deviceStore.ts index 6bd315a1..579cfe4e 100644 --- a/src/core/stores/deviceStore.ts +++ b/src/core/stores/deviceStore.ts @@ -11,7 +11,7 @@ export interface MessageWithState extends Types.PacketMetadata { state: MessageState; } -export type MessageState = "ack" | "waiting" | Protobuf.Routing_Error; +export type MessageState = "ack" | "waiting" | Protobuf.Mesh.Routing_Error; export interface ProcessPacketParams { from: number; @@ -29,14 +29,14 @@ export type DialogVariant = export interface Device { id: number; status: Types.DeviceStatusEnum; - channels: Map; - config: Protobuf.LocalConfig; - moduleConfig: Protobuf.LocalModuleConfig; - workingConfig: Protobuf.Config[]; - workingModuleConfig: Protobuf.ModuleConfig[]; - hardware: Protobuf.MyNodeInfo; - nodes: Map; - metadata: Map; + channels: Map; + config: Protobuf.LocalOnly.LocalConfig; + moduleConfig: Protobuf.LocalOnly.LocalModuleConfig; + workingConfig: Protobuf.Config.Config[]; + workingModuleConfig: Protobuf.ModuleConfig.ModuleConfig[]; + hardware: Protobuf.Mesh.MyNodeInfo; + nodes: Map; + metadata: Map; messages: { direct: Map; broadcast: Map; @@ -44,7 +44,7 @@ export interface Device { connection?: Types.ConnectionType; activePage: Page; activePeer: number; - waypoints: Protobuf.Waypoint[]; + waypoints: Protobuf.Mesh.Waypoint[]; // currentMetrics: Protobuf.DeviceMetrics; pendingSettingsChanges: boolean; messageDraft: string; @@ -57,23 +57,23 @@ export interface Device { }; setStatus: (status: Types.DeviceStatusEnum) => void; - setConfig: (config: Protobuf.Config) => void; - setModuleConfig: (config: Protobuf.ModuleConfig) => void; - setWorkingConfig: (config: Protobuf.Config) => void; - setWorkingModuleConfig: (config: Protobuf.ModuleConfig) => void; - setHardware: (hardware: Protobuf.MyNodeInfo) => void; + setConfig: (config: Protobuf.Config.Config) => void; + setModuleConfig: (config: Protobuf.ModuleConfig.ModuleConfig) => void; + setWorkingConfig: (config: Protobuf.Config.Config) => void; + setWorkingModuleConfig: (config: Protobuf.ModuleConfig.ModuleConfig) => void; + setHardware: (hardware: Protobuf.Mesh.MyNodeInfo) => void; // setMetrics: (metrics: Types.PacketMetadata) => void; setActivePage: (page: Page) => void; setActivePeer: (peer: number) => void; setPendingSettingsChanges: (state: boolean) => void; - addChannel: (channel: Protobuf.Channel) => void; - addWaypoint: (waypoint: Protobuf.Waypoint) => void; - addNodeInfo: (nodeInfo: Protobuf.NodeInfo) => void; - addUser: (user: Types.PacketMetadata) => void; - addPosition: (position: Types.PacketMetadata) => void; + addChannel: (channel: Protobuf.Channel.Channel) => void; + addWaypoint: (waypoint: Protobuf.Mesh.Waypoint) => void; + addNodeInfo: (nodeInfo: Protobuf.Mesh.NodeInfo) => void; + addUser: (user: Types.PacketMetadata) => void; + addPosition: (position: Types.PacketMetadata) => void; addConnection: (connection: Types.ConnectionType) => void; addMessage: (message: MessageWithState) => void; - addMetadata: (from: number, metadata: Protobuf.DeviceMetadata) => void; + addMetadata: (from: number, metadata: Protobuf.Mesh.DeviceMetadata) => void; setMessageState: ( type: "direct" | "broadcast", channelIndex: Types.ChannelNumber, @@ -108,11 +108,11 @@ export const useDeviceStore = create((set, get) => ({ id, status: Types.DeviceStatusEnum.DEVICE_DISCONNECTED, channels: new Map(), - config: new Protobuf.LocalConfig(), - moduleConfig: new Protobuf.LocalModuleConfig(), + config: new Protobuf.LocalOnly.LocalConfig(), + moduleConfig: new Protobuf.LocalOnly.LocalModuleConfig(), workingConfig: [], workingModuleConfig: [], - hardware: new Protobuf.MyNodeInfo(), + hardware: new Protobuf.Mesh.MyNodeInfo(), nodes: new Map(), metadata: new Map(), messages: { @@ -144,7 +144,7 @@ export const useDeviceStore = create((set, get) => ({ }), ); }, - setConfig: (config: Protobuf.Config) => { + setConfig: (config: Protobuf.Config.Config) => { set( produce((draft) => { const device = draft.devices.get(id); @@ -184,7 +184,7 @@ export const useDeviceStore = create((set, get) => ({ }), ); }, - setModuleConfig: (config: Protobuf.ModuleConfig) => { + setModuleConfig: (config: Protobuf.ModuleConfig.ModuleConfig) => { set( produce((draft) => { const device = draft.devices.get(id); @@ -248,7 +248,7 @@ export const useDeviceStore = create((set, get) => ({ }), ); }, - setWorkingConfig: (config: Protobuf.Config) => { + setWorkingConfig: (config: Protobuf.Config.Config) => { set( produce((draft) => { const device = draft.devices.get(id); @@ -266,7 +266,9 @@ export const useDeviceStore = create((set, get) => ({ }), ); }, - setWorkingModuleConfig: (moduleConfig: Protobuf.ModuleConfig) => { + setWorkingModuleConfig: ( + moduleConfig: Protobuf.ModuleConfig.ModuleConfig, + ) => { set( produce((draft) => { const device = draft.devices.get(id); @@ -288,7 +290,7 @@ export const useDeviceStore = create((set, get) => ({ }), ); }, - setHardware: (hardware: Protobuf.MyNodeInfo) => { + setHardware: (hardware: Protobuf.Mesh.MyNodeInfo) => { set( produce((draft) => { const device = draft.devices.get(id); @@ -362,7 +364,7 @@ export const useDeviceStore = create((set, get) => ({ }), ); }, - addChannel: (channel: Protobuf.Channel) => { + addChannel: (channel: Protobuf.Channel.Channel) => { set( produce((draft) => { const device = draft.devices.get(id); @@ -373,7 +375,7 @@ export const useDeviceStore = create((set, get) => ({ }), ); }, - addWaypoint: (waypoint: Protobuf.Waypoint) => { + addWaypoint: (waypoint: Protobuf.Mesh.Waypoint) => { set( produce((draft) => { const device = draft.devices.get(id); @@ -420,7 +422,7 @@ export const useDeviceStore = create((set, get) => ({ return; } const currentNode = - device.nodes.get(user.from) ?? new Protobuf.NodeInfo(); + device.nodes.get(user.from) ?? new Protobuf.Mesh.NodeInfo(); currentNode.user = user.data; device.nodes.set(user.from, currentNode); }), @@ -434,7 +436,8 @@ export const useDeviceStore = create((set, get) => ({ return; } const currentNode = - device.nodes.get(position.from) ?? new Protobuf.NodeInfo(); + device.nodes.get(position.from) ?? + new Protobuf.Mesh.NodeInfo(); currentNode.position = position.data; device.nodes.set(position.from, currentNode); }), @@ -557,7 +560,7 @@ export const useDeviceStore = create((set, get) => ({ } else { device.nodes.set( data.from, - new Protobuf.NodeInfo({ + new Protobuf.Mesh.NodeInfo({ num: data.from, lastHeard: data.time, snr: data.snr, diff --git a/src/core/subscriptions.ts b/src/core/subscriptions.ts index 97e9a189..cdbaa892 100644 --- a/src/core/subscriptions.ts +++ b/src/core/subscriptions.ts @@ -17,7 +17,9 @@ export const subscribeAll = ( connection.events.onRoutingPacket.subscribe((routingPacket) => { switch (routingPacket.data.variant.case) { case "errorReason": { - if (routingPacket.data.variant.value === Protobuf.Routing_Error.NONE) { + if ( + routingPacket.data.variant.value === Protobuf.Mesh.Routing_Error.NONE + ) { return; } console.log(`Routing Error: ${routingPacket.data.variant.value}`); diff --git a/src/pages/Channels.tsx b/src/pages/Channels.tsx index e6823dc7..516e5413 100644 --- a/src/pages/Channels.tsx +++ b/src/pages/Channels.tsx @@ -13,7 +13,7 @@ import { Protobuf, Types } from "@meshtastic/js"; import { ImportIcon, QrCodeIcon } from "lucide-react"; import { useState } from "react"; -export const getChannelName = (channel: Protobuf.Channel) => +export const getChannelName = (channel: Protobuf.Channel.Channel) => channel.settings?.name.length ? channel.settings?.name : channel.index === 0 diff --git a/src/pages/Messages.tsx b/src/pages/Messages.tsx index c0278dda..74f8f43d 100644 --- a/src/pages/Messages.tsx +++ b/src/pages/Messages.tsx @@ -22,7 +22,7 @@ export const MessagesPage = (): JSX.Element => { ); const allChannels = Array.from(channels.values()); const filteredChannels = allChannels.filter( - (ch) => ch.role !== Protobuf.Channel_Role.DISABLED, + (ch) => ch.role !== Protobuf.Channel.Channel_Role.DISABLED, ); const currentChannel = channels.get(activeChat); diff --git a/src/pages/Peers.tsx b/src/pages/Peers.tsx index 96e59f32..3dc58714 100644 --- a/src/pages/Peers.tsx +++ b/src/pages/Peers.tsx @@ -38,7 +38,7 @@ export const PeersPage = (): JSX.Element => { : `UNK: ${node.num}`)} , - {Protobuf.HardwareModel[node.user?.hwModel ?? 0]}, + {Protobuf.Mesh.HardwareModel[node.user?.hwModel ?? 0]}, {base16 .stringify(node.user?.macaddr ?? []) diff --git a/src/validation/channel.ts b/src/validation/channel.ts index 5e8e4fe2..f9296357 100644 --- a/src/validation/channel.ts +++ b/src/validation/channel.ts @@ -6,24 +6,23 @@ import { IsString, Length, } from "class-validator"; - import { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class ChannelValidation - implements Omit + implements Omit { @IsNumber() index: number; settings: Channel_SettingsValidation; - @IsEnum(Protobuf.Channel_Role) - role: Protobuf.Channel_Role; + @IsEnum(Protobuf.Channel.Channel_Role) + role: Protobuf.Channel.Channel_Role; } export class Channel_SettingsValidation - implements - Omit + implements Omit { @IsNumber() channelNum: number; diff --git a/src/validation/config/bluetooth.ts b/src/validation/config/bluetooth.ts index 8409aa68..63f0b4da 100644 --- a/src/validation/config/bluetooth.ts +++ b/src/validation/config/bluetooth.ts @@ -1,16 +1,15 @@ import { IsBoolean, IsEnum, IsInt } from "class-validator"; - import { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class BluetoothValidation - implements - Omit + implements Omit { @IsBoolean() enabled: boolean; - @IsEnum(Protobuf.Config_BluetoothConfig_PairingMode) - mode: Protobuf.Config_BluetoothConfig_PairingMode; + @IsEnum(Protobuf.Config.Config_BluetoothConfig_PairingMode) + mode: Protobuf.Config.Config_BluetoothConfig_PairingMode; @IsInt() fixedPin: number; diff --git a/src/validation/config/device.ts b/src/validation/config/device.ts index 416b2f37..165c94d9 100644 --- a/src/validation/config/device.ts +++ b/src/validation/config/device.ts @@ -1,12 +1,12 @@ import { IsBoolean, IsEnum, IsInt } from "class-validator"; - import { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class DeviceValidation - implements Omit + implements Omit { - @IsEnum(Protobuf.Config_DeviceConfig_Role) - role: Protobuf.Config_DeviceConfig_Role; + @IsEnum(Protobuf.Config.Config_DeviceConfig_Role) + role: Protobuf.Config.Config_DeviceConfig_Role; @IsBoolean() serialEnabled: boolean; @@ -20,8 +20,8 @@ export class DeviceValidation @IsInt() buzzerGpio: number; - @IsEnum(Protobuf.Config_DeviceConfig_RebroadcastMode) - rebroadcastMode: Protobuf.Config_DeviceConfig_RebroadcastMode; + @IsEnum(Protobuf.Config.Config_DeviceConfig_RebroadcastMode) + rebroadcastMode: Protobuf.Config.Config_DeviceConfig_RebroadcastMode; @IsInt() nodeInfoBroadcastSecs: number; diff --git a/src/validation/config/display.ts b/src/validation/config/display.ts index 8f1a82ba..48df479b 100644 --- a/src/validation/config/display.ts +++ b/src/validation/config/display.ts @@ -1,15 +1,15 @@ import { IsBoolean, IsEnum, IsInt } from "class-validator"; - import { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class DisplayValidation - implements Omit + implements Omit { @IsInt() screenOnSecs: number; - @IsEnum(Protobuf.Config_DisplayConfig_GpsCoordinateFormat) - gpsFormat: Protobuf.Config_DisplayConfig_GpsCoordinateFormat; + @IsEnum(Protobuf.Config.Config_DisplayConfig_GpsCoordinateFormat) + gpsFormat: Protobuf.Config.Config_DisplayConfig_GpsCoordinateFormat; @IsInt() autoScreenCarouselSecs: number; @@ -20,14 +20,14 @@ export class DisplayValidation @IsBoolean() flipScreen: boolean; - @IsEnum(Protobuf.Config_DisplayConfig_DisplayUnits) - units: Protobuf.Config_DisplayConfig_DisplayUnits; + @IsEnum(Protobuf.Config.Config_DisplayConfig_DisplayUnits) + units: Protobuf.Config.Config_DisplayConfig_DisplayUnits; - @IsEnum(Protobuf.Config_DisplayConfig_OledType) - oled: Protobuf.Config_DisplayConfig_OledType; + @IsEnum(Protobuf.Config.Config_DisplayConfig_OledType) + oled: Protobuf.Config.Config_DisplayConfig_OledType; - @IsEnum(Protobuf.Config_DisplayConfig_DisplayMode) - displaymode: Protobuf.Config_DisplayConfig_DisplayMode; + @IsEnum(Protobuf.Config.Config_DisplayConfig_DisplayMode) + displaymode: Protobuf.Config.Config_DisplayConfig_DisplayMode; @IsBoolean() headingBold: boolean; diff --git a/src/validation/config/lora.ts b/src/validation/config/lora.ts index 8638a5ca..7210a053 100644 --- a/src/validation/config/lora.ts +++ b/src/validation/config/lora.ts @@ -1,15 +1,15 @@ import { IsArray, IsBoolean, IsEnum, IsInt, Max, Min } from "class-validator"; - import { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class LoRaValidation - implements Omit + implements Omit { @IsBoolean() usePreset: boolean; - @IsEnum(Protobuf.Config_LoRaConfig_ModemPreset) - modemPreset: Protobuf.Config_LoRaConfig_ModemPreset; + @IsEnum(Protobuf.Config.Config_LoRaConfig_ModemPreset) + modemPreset: Protobuf.Config.Config_LoRaConfig_ModemPreset; @IsInt() bandwidth: number; @@ -27,8 +27,8 @@ export class LoRaValidation @IsInt() frequencyOffset: number; - @IsEnum(Protobuf.Config_LoRaConfig_RegionCode) - region: Protobuf.Config_LoRaConfig_RegionCode; + @IsEnum(Protobuf.Config.Config_LoRaConfig_RegionCode) + region: Protobuf.Config.Config_LoRaConfig_RegionCode; @IsInt() @Min(1) diff --git a/src/validation/config/network.ts b/src/validation/config/network.ts index 9be53576..977938eb 100644 --- a/src/validation/config/network.ts +++ b/src/validation/config/network.ts @@ -6,15 +6,12 @@ import { IsString, Length, } from "class-validator"; - import { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class NetworkValidation implements - Omit< - Protobuf.Config_NetworkConfig, - keyof Protobuf.native.Message | "ipv4Config" - > + Omit { @IsBoolean() wifiEnabled: boolean; @@ -33,21 +30,18 @@ export class NetworkValidation @IsBoolean() ethEnabled: boolean; - @IsEnum(Protobuf.Config_NetworkConfig_AddressMode) - addressMode: Protobuf.Config_NetworkConfig_AddressMode; + @IsEnum(Protobuf.Config.Config_NetworkConfig_AddressMode) + addressMode: Protobuf.Config.Config_NetworkConfig_AddressMode; - ipv4Config: NetworkValidation_IpV4Config; + ipv4Config: NetworkValidationIpV4Config; @IsString() rsyslogServer: string; } -export class NetworkValidation_IpV4Config +export class NetworkValidationIpV4Config implements - Omit< - Protobuf.Config_NetworkConfig_IpV4Config, - keyof Protobuf.native.Message - > + Omit { @IsIP() @IsOptional() diff --git a/src/validation/config/position.ts b/src/validation/config/position.ts index 3451ff4b..6458e946 100644 --- a/src/validation/config/position.ts +++ b/src/validation/config/position.ts @@ -1,9 +1,9 @@ -import { IsBoolean, IsInt, IsNumber } from "class-validator"; - +import { IsBoolean, IsInt } from "class-validator"; import type { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class PositionValidation - implements Omit + implements Omit { @IsInt() positionBroadcastSecs: number; diff --git a/src/validation/config/power.ts b/src/validation/config/power.ts index b3ef605a..27946782 100644 --- a/src/validation/config/power.ts +++ b/src/validation/config/power.ts @@ -1,9 +1,9 @@ import { IsBoolean, IsInt, Max, Min } from "class-validator"; - import type { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class PowerValidation - implements Omit + implements Omit { @IsBoolean() isPowerSaving: boolean; diff --git a/src/validation/moduleConfig/ambientLighting.ts b/src/validation/moduleConfig/ambientLighting.ts index 23af42fc..ac097fa4 100644 --- a/src/validation/moduleConfig/ambientLighting.ts +++ b/src/validation/moduleConfig/ambientLighting.ts @@ -1,12 +1,12 @@ import { IsBoolean, IsInt } from "class-validator"; - import type { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class AmbientLightingValidation implements Omit< - Protobuf.ModuleConfig_AmbientLightingConfig, - keyof Protobuf.native.Message + Protobuf.ModuleConfig.ModuleConfig_AmbientLightingConfig, + keyof Message > { @IsBoolean() diff --git a/src/validation/moduleConfig/audio.ts b/src/validation/moduleConfig/audio.ts index c96910b7..d8cadcac 100644 --- a/src/validation/moduleConfig/audio.ts +++ b/src/validation/moduleConfig/audio.ts @@ -1,10 +1,9 @@ import { IsBoolean, IsEnum, IsInt } from "class-validator"; - import { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class AudioValidation - implements - Omit + implements Omit { @IsBoolean() codec2Enabled: boolean; @@ -12,8 +11,8 @@ export class AudioValidation @IsInt() pttPin: number; - @IsEnum(Protobuf.ModuleConfig_AudioConfig_Audio_Baud) - bitrate: Protobuf.ModuleConfig_AudioConfig_Audio_Baud; + @IsEnum(Protobuf.ModuleConfig.ModuleConfig_AudioConfig_Audio_Baud) + bitrate: Protobuf.ModuleConfig.ModuleConfig_AudioConfig_Audio_Baud; @IsInt() i2sWs: number; diff --git a/src/validation/moduleConfig/cannedMessage.ts b/src/validation/moduleConfig/cannedMessage.ts index b73f0cbb..d1f89197 100644 --- a/src/validation/moduleConfig/cannedMessage.ts +++ b/src/validation/moduleConfig/cannedMessage.ts @@ -1,13 +1,10 @@ import { IsBoolean, IsEnum, IsInt, Length } from "class-validator"; - import { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class CannedMessageValidation implements - Omit< - Protobuf.ModuleConfig_CannedMessageConfig, - keyof Protobuf.native.Message - > + Omit { @IsBoolean() rotary1Enabled: boolean; @@ -21,14 +18,14 @@ export class CannedMessageValidation @IsInt() inputbrokerPinPress: number; - @IsEnum(Protobuf.ModuleConfig_CannedMessageConfig_InputEventChar) - inputbrokerEventCw: Protobuf.ModuleConfig_CannedMessageConfig_InputEventChar; + @IsEnum(Protobuf.ModuleConfig.ModuleConfig_CannedMessageConfig_InputEventChar) + inputbrokerEventCw: Protobuf.ModuleConfig.ModuleConfig_CannedMessageConfig_InputEventChar; - @IsEnum(Protobuf.ModuleConfig_CannedMessageConfig_InputEventChar) - inputbrokerEventCcw: Protobuf.ModuleConfig_CannedMessageConfig_InputEventChar; + @IsEnum(Protobuf.ModuleConfig.ModuleConfig_CannedMessageConfig_InputEventChar) + inputbrokerEventCcw: Protobuf.ModuleConfig.ModuleConfig_CannedMessageConfig_InputEventChar; - @IsEnum(Protobuf.ModuleConfig_CannedMessageConfig_InputEventChar) - inputbrokerEventPress: Protobuf.ModuleConfig_CannedMessageConfig_InputEventChar; + @IsEnum(Protobuf.ModuleConfig.ModuleConfig_CannedMessageConfig_InputEventChar) + inputbrokerEventPress: Protobuf.ModuleConfig.ModuleConfig_CannedMessageConfig_InputEventChar; @IsBoolean() updown1Enabled: boolean; diff --git a/src/validation/moduleConfig/detectionSensor.ts b/src/validation/moduleConfig/detectionSensor.ts index a6fb2605..738f5bc8 100644 --- a/src/validation/moduleConfig/detectionSensor.ts +++ b/src/validation/moduleConfig/detectionSensor.ts @@ -1,12 +1,12 @@ import { IsBoolean, IsInt, Length } from "class-validator"; - import type { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class DetectionSensorValidation implements Omit< - Protobuf.ModuleConfig_DetectionSensorConfig, - keyof Protobuf.native.Message + Protobuf.ModuleConfig.ModuleConfig_DetectionSensorConfig, + keyof Message > { @IsBoolean() diff --git a/src/validation/moduleConfig/externalNotification.ts b/src/validation/moduleConfig/externalNotification.ts index 5e531fe0..91508efa 100644 --- a/src/validation/moduleConfig/externalNotification.ts +++ b/src/validation/moduleConfig/externalNotification.ts @@ -1,12 +1,12 @@ import { IsBoolean, IsInt } from "class-validator"; - import type { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class ExternalNotificationValidation implements Omit< - Protobuf.ModuleConfig_ExternalNotificationConfig, - keyof Protobuf.native.Message + Protobuf.ModuleConfig.ModuleConfig_ExternalNotificationConfig, + keyof Message > { @IsBoolean() diff --git a/src/validation/moduleConfig/mqtt.ts b/src/validation/moduleConfig/mqtt.ts index c62b8c45..99e80e33 100644 --- a/src/validation/moduleConfig/mqtt.ts +++ b/src/validation/moduleConfig/mqtt.ts @@ -1,10 +1,9 @@ import { IsBoolean, IsString, Length } from "class-validator"; - import type { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; -export class MQTTValidation - implements - Omit +export class MqttValidation + implements Omit { @IsBoolean() enabled: boolean; diff --git a/src/validation/moduleConfig/neighborInfo.ts b/src/validation/moduleConfig/neighborInfo.ts index 69b2ae44..5381f777 100644 --- a/src/validation/moduleConfig/neighborInfo.ts +++ b/src/validation/moduleConfig/neighborInfo.ts @@ -1,13 +1,10 @@ -import { IsBoolean, IsInt, Length } from "class-validator"; - +import { IsBoolean, IsInt } from "class-validator"; import type { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class NeighborInfoValidation implements - Omit< - Protobuf.ModuleConfig_NeighborInfoConfig, - keyof Protobuf.native.Message - > + Omit { @IsBoolean() enabled: boolean; diff --git a/src/validation/moduleConfig/rangeTest.ts b/src/validation/moduleConfig/rangeTest.ts index ee8e9d58..eb475cb9 100644 --- a/src/validation/moduleConfig/rangeTest.ts +++ b/src/validation/moduleConfig/rangeTest.ts @@ -1,10 +1,10 @@ import { IsBoolean, IsInt } from "class-validator"; - import type { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class RangeTestValidation implements - Omit + Omit { @IsBoolean() enabled: boolean; diff --git a/src/validation/moduleConfig/serial.ts b/src/validation/moduleConfig/serial.ts index 4ae36959..9b5d1c6d 100644 --- a/src/validation/moduleConfig/serial.ts +++ b/src/validation/moduleConfig/serial.ts @@ -1,10 +1,10 @@ import { IsBoolean, IsEnum, IsInt } from "class-validator"; - import { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class SerialValidation implements - Omit + Omit { @IsBoolean() enabled: boolean; @@ -18,14 +18,14 @@ export class SerialValidation @IsInt() txd: number; - @IsEnum(Protobuf.ModuleConfig_SerialConfig_Serial_Baud) - baud: Protobuf.ModuleConfig_SerialConfig_Serial_Baud; + @IsEnum(Protobuf.ModuleConfig.ModuleConfig_SerialConfig_Serial_Baud) + baud: Protobuf.ModuleConfig.ModuleConfig_SerialConfig_Serial_Baud; @IsInt() timeout: number; - @IsEnum(Protobuf.ModuleConfig_SerialConfig_Serial_Mode) - mode: Protobuf.ModuleConfig_SerialConfig_Serial_Mode; + @IsEnum(Protobuf.ModuleConfig.ModuleConfig_SerialConfig_Serial_Mode) + mode: Protobuf.ModuleConfig.ModuleConfig_SerialConfig_Serial_Mode; @IsBoolean() overrideConsoleSerialPort: boolean; diff --git a/src/validation/moduleConfig/storeForward.ts b/src/validation/moduleConfig/storeForward.ts index 284c08a7..5c2a0e7f 100644 --- a/src/validation/moduleConfig/storeForward.ts +++ b/src/validation/moduleConfig/storeForward.ts @@ -1,13 +1,10 @@ import { IsBoolean, IsInt } from "class-validator"; - import type { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class StoreForwardValidation implements - Omit< - Protobuf.ModuleConfig_StoreForwardConfig, - keyof Protobuf.native.Message - > + Omit { @IsBoolean() enabled: boolean; diff --git a/src/validation/moduleConfig/telemetry.ts b/src/validation/moduleConfig/telemetry.ts index 1db7f7f1..ce67dab2 100644 --- a/src/validation/moduleConfig/telemetry.ts +++ b/src/validation/moduleConfig/telemetry.ts @@ -1,10 +1,10 @@ import { IsBoolean, IsInt } from "class-validator"; - import type { Protobuf } from "@meshtastic/js"; +import type { Message } from "@bufbuild/protobuf"; export class TelemetryValidation implements - Omit + Omit { @IsInt() deviceUpdateInterval: number; diff --git a/tsconfig.json b/tsconfig.json index 4872a6b4..af036a6e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,15 +1,9 @@ { - "include": [ - "src" - ], + "include": ["src"], "compilerOptions": { "target": "ESNext", "useDefineForClassFields": true, - "lib": [ - "DOM", - "DOM.Iterable", - "ESNext" - ], + "lib": ["DOM", "DOM.Iterable", "ESNext"], "allowJs": false, "skipLibCheck": true, "esModuleInterop": true, @@ -24,30 +18,22 @@ "jsx": "react-jsx", "baseUrl": "./", "paths": { - "@app/*": [ - "./src/*" - ], - "@pages/*": [ - "./src/pages/*" - ], - "@components/*": [ - "./src/components/*" - ], - "@core/*": [ - "./src/core/*" - ], - "@layouts/*": [ - "./src/layouts/*" - ] + "@app/*": ["./src/*"], + "@pages/*": ["./src/pages/*"], + "@components/*": ["./src/components/*"], + "@core/*": ["./src/core/*"], + "@layouts/*": ["./src/layouts/*"] }, "importHelpers": true, "removeComments": true, "strictNullChecks": true, "types": [ "vite/client", - "node" + "node", + "@types/web-bluetooth", + "@types/w3c-web-serial" ], "strictPropertyInitialization": false, "experimentalDecorators": true } -} \ No newline at end of file +}