creates video voice memos from audio clips; with bluesky integration. trill.ptr.pet

Compare changes

Choose any two refs to compare.

+2
README.md
···
built with [solidjs](https://solidjs.com) and vite. uses [park-ui](https://park-ui.com) for components and [atcute](https://tangled.org/mary.my.id/atcute) for atproto interactions.
+
see [trill.ptr.pet](https://trill.ptr.pet) for a hosted instance.
+
### usage
1. upload a voice memo or record one.
+1298 -697
deno.lock
···
{
"version": "5",
"specifiers": {
-
"npm:@ark-ui/solid@^5.28.0": "5.28.0_solid-js@1.9.10__seroval@1.3.2_@internationalized+date@3.10.0",
+
"npm:@ark-ui/solid@^5.30.0": "5.30.0_solid-js@1.9.10__seroval@1.3.2_@internationalized+date@3.10.0",
"npm:@atcute/atproto@^3.1.9": "3.1.9",
-
"npm:@atcute/bluesky@^3.2.10": "3.2.10",
-
"npm:@atcute/client@^4.0.5": "4.0.5",
-
"npm:@atcute/identity-resolver@^1.1.4": "1.1.4_@atcute+identity@1.1.2",
-
"npm:@atcute/identity@^1.1.2": "1.1.2",
-
"npm:@atcute/lexicons@^1.2.3": "1.2.3",
+
"npm:@atcute/bluesky@^3.2.14": "3.2.14",
+
"npm:@atcute/client@^4.1.1": "4.1.1",
+
"npm:@atcute/identity-resolver@^1.2.0": "1.2.0_@atcute+identity@1.1.3",
+
"npm:@atcute/identity@^1.1.3": "1.1.3",
+
"npm:@atcute/lexicons@^1.2.5": "1.2.5",
"npm:@atcute/microcosm@1": "1.0.0",
-
"npm:@atcute/oauth-browser-client@^2.0.1": "2.0.1_@atcute+identity@1.1.2",
-
"npm:@pandacss/dev@^1.5.1": "1.5.1_typescript@5.9.3",
-
"npm:@pandacss/preset-base@^1.5.1": "1.5.1",
-
"npm:@park-ui/panda-preset@~0.43.1": "0.43.1_@pandacss+dev@1.5.1__typescript@5.9.3_typescript@5.9.3",
+
"npm:@atcute/oauth-browser-client@^2.0.3": "2.0.3_@atcute+identity@1.1.3",
+
"npm:@huggingface/transformers@^3.8.1": "3.8.1",
+
"npm:@pandacss/dev@^1.7.1": "1.7.1_typescript@5.9.3",
+
"npm:@pandacss/preset-base@^1.7.1": "1.7.1",
+
"npm:@park-ui/panda-preset@~0.43.1": "0.43.1_@pandacss+dev@1.7.1__typescript@5.9.3_typescript@5.9.3",
"npm:@solid-primitives/date@^2.1.4": "2.1.4_solid-js@1.9.10__seroval@1.3.2",
"npm:@solid-primitives/map@~0.7.2": "0.7.2_solid-js@1.9.10__seroval@1.3.2",
"npm:fast-average-color@^9.5.0": "9.5.0",
-
"npm:lucide-solid@0.553": "0.553.0_solid-js@1.9.10__seroval@1.3.2",
-
"npm:mediabunny@^1.25.0": "1.25.0",
-
"npm:solid-devtools@~0.34.3": "0.34.4_solid-js@1.9.10__seroval@1.3.2_vite@7.1.12__picomatch@4.0.3_@babel+core@7.28.5",
-
"npm:solid-js@^1.9.5": "1.9.10_seroval@1.3.2",
-
"npm:typescript@^5.7.2": "5.9.3",
-
"npm:vite-plugin-solid@^2.11.8": "2.11.10_solid-js@1.9.10__seroval@1.3.2_vite@7.1.12__picomatch@4.0.3_@babel+core@7.28.5",
-
"npm:vite-tsconfig-paths@^5.1.4": "5.1.4_vite@7.1.12__picomatch@4.0.3_typescript@5.9.3",
-
"npm:vite@^7.1.4": "7.1.12_picomatch@4.0.3"
+
"npm:lucide-solid@0.562": "0.562.0_solid-js@1.9.10__seroval@1.3.2",
+
"npm:mediabunny@^1.27.1": "1.27.1",
+
"npm:solid-devtools@~0.34.4": "0.34.4_solid-js@1.9.10__seroval@1.3.2_vite@7.3.0__picomatch@4.0.3_@babel+core@7.28.5",
+
"npm:solid-js@^1.9.10": "1.9.10_seroval@1.3.2",
+
"npm:typescript@^5.9.3": "5.9.3",
+
"npm:vite-plugin-solid@^2.11.10": "2.11.10_solid-js@1.9.10__seroval@1.3.2_vite@7.3.0__picomatch@4.0.3_@babel+core@7.28.5",
+
"npm:vite-tsconfig-paths@^6.0.3": "6.0.3_vite@7.3.0__picomatch@4.0.3_typescript@5.9.3",
+
"npm:vite@^7.3.0": "7.3.0_picomatch@4.0.3"
},
"npm": {
"@ark-ui/anatomy@3.5.0": {
···
],
"deprecated": true
},
-
"@ark-ui/solid@5.28.0_solid-js@1.9.10__seroval@1.3.2_@internationalized+date@3.10.0": {
-
"integrity": "sha512-QC3oCnElmUO3lsEXoD2l/HIy7TOCITu3pbJ6udQw/QuzABsTMF5y0L/nsBfR6rzKhHr5Vkggw6W4VBjvhH8w0w==",
+
"@ark-ui/solid@5.30.0_solid-js@1.9.10__seroval@1.3.2_@internationalized+date@3.10.0": {
+
"integrity": "sha512-LLUTmtrNXMraWcZNayQqq/IHEYmRmgl/apP2A5c2aS0okZamaa8j1SQJOihcjRY8yY3zaaEeznrwFSy1Zvrp8w==",
"dependencies": [
"@internationalized/date@3.10.0",
-
"@zag-js/accordion@1.27.1",
-
"@zag-js/anatomy@1.27.1",
+
"@zag-js/accordion@1.31.1",
+
"@zag-js/anatomy@1.31.1",
"@zag-js/angle-slider",
"@zag-js/async-list",
-
"@zag-js/auto-resize@1.27.1",
-
"@zag-js/avatar@1.27.1",
+
"@zag-js/auto-resize@1.31.1",
+
"@zag-js/avatar@1.31.1",
"@zag-js/bottom-sheet",
-
"@zag-js/carousel@1.27.1",
-
"@zag-js/checkbox@1.27.1",
-
"@zag-js/clipboard@1.27.1",
-
"@zag-js/collapsible@1.27.1",
-
"@zag-js/collection@1.27.1",
-
"@zag-js/color-picker@1.27.1",
-
"@zag-js/color-utils@1.27.1",
-
"@zag-js/combobox@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/date-picker@1.27.1_@internationalized+date@3.10.0",
-
"@zag-js/date-utils@1.27.1_@internationalized+date@3.10.0",
-
"@zag-js/dialog@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/editable@1.27.1",
-
"@zag-js/file-upload@1.27.1",
-
"@zag-js/file-utils@1.27.1",
+
"@zag-js/carousel@1.31.1",
+
"@zag-js/checkbox@1.31.1",
+
"@zag-js/clipboard@1.31.1",
+
"@zag-js/collapsible@1.31.1",
+
"@zag-js/collection@1.31.1",
+
"@zag-js/color-picker@1.31.1",
+
"@zag-js/color-utils@1.31.1",
+
"@zag-js/combobox@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/date-picker@1.31.1_@internationalized+date@3.10.0",
+
"@zag-js/date-utils@1.31.1_@internationalized+date@3.10.0",
+
"@zag-js/dialog@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/editable@1.31.1",
+
"@zag-js/file-upload@1.31.1",
+
"@zag-js/file-utils@1.31.1",
"@zag-js/floating-panel",
"@zag-js/focus-trap",
"@zag-js/highlight-word",
-
"@zag-js/hover-card@1.27.1",
-
"@zag-js/i18n-utils@1.27.1",
+
"@zag-js/hover-card@1.31.1",
+
"@zag-js/i18n-utils@1.31.1",
"@zag-js/image-cropper",
"@zag-js/json-tree-utils",
"@zag-js/listbox",
"@zag-js/marquee",
-
"@zag-js/menu@1.27.1",
-
"@zag-js/number-input@1.27.1",
-
"@zag-js/pagination@1.27.1",
+
"@zag-js/menu@1.31.1",
+
"@zag-js/navigation-menu",
+
"@zag-js/number-input@1.31.1",
+
"@zag-js/pagination@1.31.1",
"@zag-js/password-input",
-
"@zag-js/pin-input@1.27.1",
-
"@zag-js/popover@1.27.1",
-
"@zag-js/presence@1.27.1",
-
"@zag-js/progress@1.27.1",
-
"@zag-js/qr-code@1.27.1",
-
"@zag-js/radio-group@1.27.1",
-
"@zag-js/rating-group@1.27.1",
+
"@zag-js/pin-input@1.31.1",
+
"@zag-js/popover@1.31.1",
+
"@zag-js/presence@1.31.1",
+
"@zag-js/progress@1.31.1",
+
"@zag-js/qr-code@1.31.1",
+
"@zag-js/radio-group@1.31.1",
+
"@zag-js/rating-group@1.31.1",
"@zag-js/scroll-area",
-
"@zag-js/select@1.27.1",
-
"@zag-js/signature-pad@1.27.1",
-
"@zag-js/slider@1.27.1",
+
"@zag-js/select@1.31.1",
+
"@zag-js/signature-pad@1.31.1",
+
"@zag-js/slider@1.31.1",
"@zag-js/solid",
-
"@zag-js/splitter@1.27.1",
+
"@zag-js/splitter@1.31.1",
"@zag-js/steps",
-
"@zag-js/switch@1.27.1",
-
"@zag-js/tabs@1.27.1",
-
"@zag-js/tags-input@1.27.1",
+
"@zag-js/switch@1.31.1",
+
"@zag-js/tabs@1.31.1",
+
"@zag-js/tags-input@1.31.1",
"@zag-js/timer",
-
"@zag-js/toast@1.27.1",
+
"@zag-js/toast@1.31.1",
"@zag-js/toggle",
-
"@zag-js/toggle-group@1.27.1",
-
"@zag-js/tooltip@1.27.1",
+
"@zag-js/toggle-group@1.31.1",
+
"@zag-js/tooltip@1.31.1",
"@zag-js/tour",
-
"@zag-js/tree-view@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1",
+
"@zag-js/tree-view@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1",
"solid-js"
]
},
···
"@atcute/lexicons"
]
},
-
"@atcute/bluesky@3.2.10": {
-
"integrity": "sha512-qwQWTzRf3umnh2u41gdU+xWYkbzGlKDupc3zeOB+YjmuP1N9wEaUhwS8H7vgrqr0xC9SGNDjeUVcjC4m5BPLBg==",
+
"@atcute/bluesky@3.2.14": {
+
"integrity": "sha512-XlVuF55AYIyplmKvlGLlj+cUvk9ggxNRPczkTPIY991xJ4qDxDHpBJ39ekAV4dWcuBoRo2o9JynzpafPu2ljDA==",
"dependencies": [
"@atcute/atproto",
"@atcute/lexicons"
]
},
-
"@atcute/client@4.0.5": {
-
"integrity": "sha512-R8Qen8goGmEkynYGg2m6XFlVmz0GTDvQ+9w+4QqOob+XMk8/WDpF4aImev7WKEde/rV2gjcqW7zM8E6W9NShDA==",
+
"@atcute/client@4.1.1": {
+
"integrity": "sha512-FROCbTTCeL5u4tO/n72jDEKyKqjdlXMB56Ehve3W/gnnLGCYWvN42sS7tvL1Mgu6sbO3yZwsXKDrmM2No4XpjA==",
"dependencies": [
"@atcute/identity",
"@atcute/lexicons"
]
},
-
"@atcute/identity-resolver@1.1.4_@atcute+identity@1.1.2": {
-
"integrity": "sha512-/SVh8vf2cXFJenmBnGeYF2aY3WGQm3cJeew5NWTlkqoy3LvJ5wkvKq9PWu4Tv653VF40rPOp6LOdVr9Fa+q5rA==",
+
"@atcute/identity-resolver@1.2.0_@atcute+identity@1.1.3": {
+
"integrity": "sha512-5UbSJfdV3JIkF8ksXz7g4nKBWasf2wROvzM66cfvTIWydWFO6/oS1KZd+zo9Eokje5Scf5+jsY9ZfgVARLepXg==",
"dependencies": [
"@atcute/identity",
"@atcute/lexicons",
···
"@badrap/valita"
]
},
-
"@atcute/identity@1.1.2": {
-
"integrity": "sha512-vn0RN7SUF6N0sEPG9yyT6a0MzpfVS8BhsiLtB8OeS4qp2rLMQW33pelCpNitP1N+fq03MFlDGzs5p7K4qMs4cA==",
+
"@atcute/identity@1.1.3": {
+
"integrity": "sha512-oIqPoI8TwWeQxvcLmFEZLdN2XdWcaLVtlm8pNk0E72As9HNzzD9pwKPrLr3rmTLRIoULPPFmq9iFNsTeCIU9ng==",
"dependencies": [
"@atcute/lexicons",
"@badrap/valita"
]
},
-
"@atcute/lexicons@1.2.3": {
-
"integrity": "sha512-ZNfNWS4jaR8VgWSSBaWRSSmwFeP134BmvpTt9JmM2x5vRoXeIFthxU9USY8ZV4vm0GPoxEMgkDin8HIlnFTg2w==",
+
"@atcute/lexicons@1.2.5": {
+
"integrity": "sha512-9yO9WdgxW8jZ7SbzUycH710z+JmsQ9W9n5S6i6eghYju32kkluFmgBeS47r8e8p2+Dv4DemS7o/3SUGsX9FR5Q==",
"dependencies": [
"@standard-schema/spec",
"esm-env"
···
"@atcute/uint8array"
]
},
-
"@atcute/oauth-browser-client@2.0.1_@atcute+identity@1.1.2": {
-
"integrity": "sha512-lG021GkeORG06zfFf4bH85egObjBEKHNgAWHvbtY/E2dX4wxo88hf370pJDx8acdnuUJLJ2VKPikJtZwo4Heeg==",
+
"@atcute/oauth-browser-client@2.0.3_@atcute+identity@1.1.3": {
+
"integrity": "sha512-rzUjwhjE4LRRKdQnCFQag/zXRZMEAB1hhBoLfnoQuHwWbmDUCL7fzwC3jRhDPp3om8XaYNDj8a/iqRip0wRqoQ==",
"dependencies": [
"@atcute/client",
-
"@atcute/identity",
"@atcute/identity-resolver",
"@atcute/lexicons",
"@atcute/multibase",
···
"nanoid@5.1.6"
]
},
-
"@atcute/uint8array@1.0.5": {
-
"integrity": "sha512-XLWWxoR2HNl2qU+FCr0rp1APwJXci7HnzbOQLxK55OaMNBXZ19+xNC5ii4QCsThsDxa4JS/JTzuiQLziITWf2Q=="
+
"@atcute/uint8array@1.0.6": {
+
"integrity": "sha512-ucfRBQc7BFT8n9eCyGOzDHEMKF/nZwhS2pPao4Xtab1ML3HdFYcX2DM1tadCzas85QTGxHe5urnUAAcNKGRi9A=="
},
-
"@atcute/util-fetch@1.0.3": {
-
"integrity": "sha512-f8zzTb/xlKIwv2OQ31DhShPUNCmIIleX6p7qIXwWwEUjX6x8skUtpdISSjnImq01LXpltGV5y8yhV4/Mlb7CRQ==",
+
"@atcute/util-fetch@1.0.4": {
+
"integrity": "sha512-sIU9Qk0dE8PLEXSfhy+gIJV+HpiiknMytCI2SqLlqd0vgZUtEKI/EQfP+23LHWvP+CLCzVDOa6cpH045OlmNBg==",
"dependencies": [
"@badrap/valita"
]
···
"debug",
"gensync",
"json5",
-
"semver"
+
"semver@6.3.1"
]
},
"@babel/generator@7.28.5": {
···
"dependencies": [
"@babel/compat-data",
"@babel/helper-validator-option",
-
"browserslist@4.28.0",
+
"browserslist",
"lru-cache",
-
"semver"
+
"semver@6.3.1"
]
},
"@babel/helper-globals@7.28.0": {
···
"sisteransi"
]
},
-
"@csstools/postcss-cascade-layers@5.0.2_postcss@8.5.6_postcss-selector-parser@7.1.0": {
+
"@csstools/postcss-cascade-layers@5.0.2_postcss@8.5.6_postcss-selector-parser@7.1.1": {
"integrity": "sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==",
"dependencies": [
"@csstools/selector-specificity",
···
"postcss-selector-parser"
]
},
-
"@csstools/selector-specificity@5.0.0_postcss-selector-parser@7.1.0": {
+
"@csstools/selector-specificity@5.0.0_postcss-selector-parser@7.1.1": {
"integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
"dependencies": [
"postcss-selector-parser"
]
},
+
"@emnapi/runtime@1.7.1": {
+
"integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==",
+
"dependencies": [
+
"tslib"
+
]
+
},
"@esbuild/aix-ppc64@0.25.12": {
"integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
"os": ["aix"],
"cpu": ["ppc64"]
},
+
"@esbuild/aix-ppc64@0.27.2": {
+
"integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==",
+
"os": ["aix"],
+
"cpu": ["ppc64"]
+
},
"@esbuild/android-arm64@0.25.12": {
"integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
"os": ["android"],
"cpu": ["arm64"]
},
+
"@esbuild/android-arm64@0.27.2": {
+
"integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==",
+
"os": ["android"],
+
"cpu": ["arm64"]
+
},
"@esbuild/android-arm@0.25.12": {
"integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
+
"os": ["android"],
+
"cpu": ["arm"]
+
},
+
"@esbuild/android-arm@0.27.2": {
+
"integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==",
"os": ["android"],
"cpu": ["arm"]
},
···
"os": ["android"],
"cpu": ["x64"]
},
+
"@esbuild/android-x64@0.27.2": {
+
"integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==",
+
"os": ["android"],
+
"cpu": ["x64"]
+
},
"@esbuild/darwin-arm64@0.25.12": {
"integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
"os": ["darwin"],
"cpu": ["arm64"]
},
+
"@esbuild/darwin-arm64@0.27.2": {
+
"integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
+
"os": ["darwin"],
+
"cpu": ["arm64"]
+
},
"@esbuild/darwin-x64@0.25.12": {
"integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
"os": ["darwin"],
"cpu": ["x64"]
},
+
"@esbuild/darwin-x64@0.27.2": {
+
"integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==",
+
"os": ["darwin"],
+
"cpu": ["x64"]
+
},
"@esbuild/freebsd-arm64@0.25.12": {
"integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
"os": ["freebsd"],
"cpu": ["arm64"]
},
+
"@esbuild/freebsd-arm64@0.27.2": {
+
"integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==",
+
"os": ["freebsd"],
+
"cpu": ["arm64"]
+
},
"@esbuild/freebsd-x64@0.25.12": {
"integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
"os": ["freebsd"],
"cpu": ["x64"]
},
+
"@esbuild/freebsd-x64@0.27.2": {
+
"integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==",
+
"os": ["freebsd"],
+
"cpu": ["x64"]
+
},
"@esbuild/linux-arm64@0.25.12": {
"integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
"os": ["linux"],
"cpu": ["arm64"]
},
+
"@esbuild/linux-arm64@0.27.2": {
+
"integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==",
+
"os": ["linux"],
+
"cpu": ["arm64"]
+
},
"@esbuild/linux-arm@0.25.12": {
"integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
"os": ["linux"],
"cpu": ["arm"]
},
+
"@esbuild/linux-arm@0.27.2": {
+
"integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==",
+
"os": ["linux"],
+
"cpu": ["arm"]
+
},
"@esbuild/linux-ia32@0.25.12": {
"integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
"os": ["linux"],
"cpu": ["ia32"]
},
+
"@esbuild/linux-ia32@0.27.2": {
+
"integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==",
+
"os": ["linux"],
+
"cpu": ["ia32"]
+
},
"@esbuild/linux-loong64@0.25.12": {
"integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
"os": ["linux"],
"cpu": ["loong64"]
},
+
"@esbuild/linux-loong64@0.27.2": {
+
"integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==",
+
"os": ["linux"],
+
"cpu": ["loong64"]
+
},
"@esbuild/linux-mips64el@0.25.12": {
"integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
"os": ["linux"],
"cpu": ["mips64el"]
},
+
"@esbuild/linux-mips64el@0.27.2": {
+
"integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==",
+
"os": ["linux"],
+
"cpu": ["mips64el"]
+
},
"@esbuild/linux-ppc64@0.25.12": {
"integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
"os": ["linux"],
"cpu": ["ppc64"]
},
+
"@esbuild/linux-ppc64@0.27.2": {
+
"integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==",
+
"os": ["linux"],
+
"cpu": ["ppc64"]
+
},
"@esbuild/linux-riscv64@0.25.12": {
"integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
"os": ["linux"],
"cpu": ["riscv64"]
},
+
"@esbuild/linux-riscv64@0.27.2": {
+
"integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==",
+
"os": ["linux"],
+
"cpu": ["riscv64"]
+
},
"@esbuild/linux-s390x@0.25.12": {
"integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
"os": ["linux"],
"cpu": ["s390x"]
},
+
"@esbuild/linux-s390x@0.27.2": {
+
"integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==",
+
"os": ["linux"],
+
"cpu": ["s390x"]
+
},
"@esbuild/linux-x64@0.25.12": {
"integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
+
"os": ["linux"],
+
"cpu": ["x64"]
+
},
+
"@esbuild/linux-x64@0.27.2": {
+
"integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==",
"os": ["linux"],
"cpu": ["x64"]
},
···
"os": ["netbsd"],
"cpu": ["arm64"]
},
+
"@esbuild/netbsd-arm64@0.27.2": {
+
"integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==",
+
"os": ["netbsd"],
+
"cpu": ["arm64"]
+
},
"@esbuild/netbsd-x64@0.25.12": {
"integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
"os": ["netbsd"],
"cpu": ["x64"]
},
+
"@esbuild/netbsd-x64@0.27.2": {
+
"integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==",
+
"os": ["netbsd"],
+
"cpu": ["x64"]
+
},
"@esbuild/openbsd-arm64@0.25.12": {
"integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
"os": ["openbsd"],
"cpu": ["arm64"]
},
+
"@esbuild/openbsd-arm64@0.27.2": {
+
"integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==",
+
"os": ["openbsd"],
+
"cpu": ["arm64"]
+
},
"@esbuild/openbsd-x64@0.25.12": {
"integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
"os": ["openbsd"],
"cpu": ["x64"]
},
+
"@esbuild/openbsd-x64@0.27.2": {
+
"integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==",
+
"os": ["openbsd"],
+
"cpu": ["x64"]
+
},
"@esbuild/openharmony-arm64@0.25.12": {
"integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
"os": ["openharmony"],
"cpu": ["arm64"]
},
+
"@esbuild/openharmony-arm64@0.27.2": {
+
"integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==",
+
"os": ["openharmony"],
+
"cpu": ["arm64"]
+
},
"@esbuild/sunos-x64@0.25.12": {
"integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
"os": ["sunos"],
"cpu": ["x64"]
},
+
"@esbuild/sunos-x64@0.27.2": {
+
"integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==",
+
"os": ["sunos"],
+
"cpu": ["x64"]
+
},
"@esbuild/win32-arm64@0.25.12": {
"integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
"os": ["win32"],
"cpu": ["arm64"]
},
+
"@esbuild/win32-arm64@0.27.2": {
+
"integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==",
+
"os": ["win32"],
+
"cpu": ["arm64"]
+
},
"@esbuild/win32-ia32@0.25.12": {
"integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
"os": ["win32"],
"cpu": ["ia32"]
},
+
"@esbuild/win32-ia32@0.27.2": {
+
"integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==",
+
"os": ["win32"],
+
"cpu": ["ia32"]
+
},
"@esbuild/win32-x64@0.25.12": {
"integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
+
"os": ["win32"],
+
"cpu": ["x64"]
+
},
+
"@esbuild/win32-x64@0.27.2": {
+
"integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
"os": ["win32"],
"cpu": ["x64"]
},
···
"@floating-ui/utils@0.2.10": {
"integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="
},
+
"@huggingface/jinja@0.5.3": {
+
"integrity": "sha512-asqfZ4GQS0hD876Uw4qiUb7Tr/V5Q+JZuo2L+BtdrD4U40QU58nIRq3ZSgAzJgT874VLjhGVacaYfrdpXtEvtA=="
+
},
+
"@huggingface/transformers@3.8.1": {
+
"integrity": "sha512-tsTk4zVjImqdqjS8/AOZg2yNLd1z9S5v+7oUPpXaasDRwEDhB+xnglK1k5cad26lL5/ZIaeREgWWy0bs9y9pPA==",
+
"dependencies": [
+
"@huggingface/jinja",
+
"onnxruntime-node",
+
"onnxruntime-web",
+
"sharp"
+
]
+
},
+
"@img/colour@1.0.0": {
+
"integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw=="
+
},
+
"@img/sharp-darwin-arm64@0.34.5": {
+
"integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==",
+
"optionalDependencies": [
+
"@img/sharp-libvips-darwin-arm64"
+
],
+
"os": ["darwin"],
+
"cpu": ["arm64"]
+
},
+
"@img/sharp-darwin-x64@0.34.5": {
+
"integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==",
+
"optionalDependencies": [
+
"@img/sharp-libvips-darwin-x64"
+
],
+
"os": ["darwin"],
+
"cpu": ["x64"]
+
},
+
"@img/sharp-libvips-darwin-arm64@1.2.4": {
+
"integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==",
+
"os": ["darwin"],
+
"cpu": ["arm64"]
+
},
+
"@img/sharp-libvips-darwin-x64@1.2.4": {
+
"integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==",
+
"os": ["darwin"],
+
"cpu": ["x64"]
+
},
+
"@img/sharp-libvips-linux-arm64@1.2.4": {
+
"integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==",
+
"os": ["linux"],
+
"cpu": ["arm64"]
+
},
+
"@img/sharp-libvips-linux-arm@1.2.4": {
+
"integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==",
+
"os": ["linux"],
+
"cpu": ["arm"]
+
},
+
"@img/sharp-libvips-linux-ppc64@1.2.4": {
+
"integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==",
+
"os": ["linux"],
+
"cpu": ["ppc64"]
+
},
+
"@img/sharp-libvips-linux-riscv64@1.2.4": {
+
"integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==",
+
"os": ["linux"],
+
"cpu": ["riscv64"]
+
},
+
"@img/sharp-libvips-linux-s390x@1.2.4": {
+
"integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==",
+
"os": ["linux"],
+
"cpu": ["s390x"]
+
},
+
"@img/sharp-libvips-linux-x64@1.2.4": {
+
"integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==",
+
"os": ["linux"],
+
"cpu": ["x64"]
+
},
+
"@img/sharp-libvips-linuxmusl-arm64@1.2.4": {
+
"integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==",
+
"os": ["linux"],
+
"cpu": ["arm64"]
+
},
+
"@img/sharp-libvips-linuxmusl-x64@1.2.4": {
+
"integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==",
+
"os": ["linux"],
+
"cpu": ["x64"]
+
},
+
"@img/sharp-linux-arm64@0.34.5": {
+
"integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==",
+
"optionalDependencies": [
+
"@img/sharp-libvips-linux-arm64"
+
],
+
"os": ["linux"],
+
"cpu": ["arm64"]
+
},
+
"@img/sharp-linux-arm@0.34.5": {
+
"integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==",
+
"optionalDependencies": [
+
"@img/sharp-libvips-linux-arm"
+
],
+
"os": ["linux"],
+
"cpu": ["arm"]
+
},
+
"@img/sharp-linux-ppc64@0.34.5": {
+
"integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==",
+
"optionalDependencies": [
+
"@img/sharp-libvips-linux-ppc64"
+
],
+
"os": ["linux"],
+
"cpu": ["ppc64"]
+
},
+
"@img/sharp-linux-riscv64@0.34.5": {
+
"integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==",
+
"optionalDependencies": [
+
"@img/sharp-libvips-linux-riscv64"
+
],
+
"os": ["linux"],
+
"cpu": ["riscv64"]
+
},
+
"@img/sharp-linux-s390x@0.34.5": {
+
"integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==",
+
"optionalDependencies": [
+
"@img/sharp-libvips-linux-s390x"
+
],
+
"os": ["linux"],
+
"cpu": ["s390x"]
+
},
+
"@img/sharp-linux-x64@0.34.5": {
+
"integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==",
+
"optionalDependencies": [
+
"@img/sharp-libvips-linux-x64"
+
],
+
"os": ["linux"],
+
"cpu": ["x64"]
+
},
+
"@img/sharp-linuxmusl-arm64@0.34.5": {
+
"integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==",
+
"optionalDependencies": [
+
"@img/sharp-libvips-linuxmusl-arm64"
+
],
+
"os": ["linux"],
+
"cpu": ["arm64"]
+
},
+
"@img/sharp-linuxmusl-x64@0.34.5": {
+
"integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==",
+
"optionalDependencies": [
+
"@img/sharp-libvips-linuxmusl-x64"
+
],
+
"os": ["linux"],
+
"cpu": ["x64"]
+
},
+
"@img/sharp-wasm32@0.34.5": {
+
"integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==",
+
"dependencies": [
+
"@emnapi/runtime"
+
],
+
"cpu": ["wasm32"]
+
},
+
"@img/sharp-win32-arm64@0.34.5": {
+
"integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
+
"os": ["win32"],
+
"cpu": ["arm64"]
+
},
+
"@img/sharp-win32-ia32@0.34.5": {
+
"integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==",
+
"os": ["win32"],
+
"cpu": ["ia32"]
+
},
+
"@img/sharp-win32-x64@0.34.5": {
+
"integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==",
+
"os": ["win32"],
+
"cpu": ["x64"]
+
},
"@internationalized/date@3.10.0": {
"integrity": "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw==",
"dependencies": [
···
"integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
"dependencies": [
"@isaacs/balanced-match"
+
]
+
},
+
"@isaacs/fs-minipass@4.0.1": {
+
"integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
+
"dependencies": [
+
"minipass"
]
},
"@jridgewell/gen-mapping@0.3.13": {
···
"@nothing-but/utils@0.17.0": {
"integrity": "sha512-TuCHcHLOqDL0SnaAxACfuRHBNRgNJcNn9X0GiH5H3YSDBVquCr3qEIG3FOQAuMyZCbu9w8nk2CHhOsn7IvhIwQ=="
},
-
"@pandacss/config@1.5.1": {
-
"integrity": "sha512-aO+YVRlccLXuFC30DEO9ZDkvXwjbCXk1blIpii8PuclTAR0+YPq8xXVRTVK3fR3MiA0zROca8nAf5Kb+wHVKPw==",
+
"@pandacss/config@1.7.1": {
+
"integrity": "sha512-JiWs9qYMHT297brM2galiO97f/p/pHQOoLdmSaAQXL3S27/YjwzklcNRdhJX0PS/XYt5QpJwUOjMAGAoEg7HEw==",
"dependencies": [
"@pandacss/logger",
"@pandacss/preset-base",
···
"@pandacss/shared",
"@pandacss/types",
"bundle-n-require",
-
"escalade@3.1.2",
-
"merge-anything",
+
"escalade",
"microdiff",
"typescript"
]
},
-
"@pandacss/core@1.5.1_postcss@8.5.6": {
-
"integrity": "sha512-okuvSm5o0gmQmkpLONH4ReqgBVOMMsfb9MyK8vpcZUpzvMBiraVcgsbLxKQyHlmVDZNbKLLokIycb8KEpqtIDQ==",
+
"@pandacss/core@1.7.1_postcss@8.5.6": {
+
"integrity": "sha512-MaZQHwuKEla177DweOtKObg/amFvX9gLBX92TOQTFXImkaH/0ED9+oheRKEhfyNRx4CVUnm9Fpin6xpnRiyF7g==",
"dependencies": [
"@csstools/postcss-cascade-layers",
"@pandacss/is-valid-prop",
···
"@pandacss/shared",
"@pandacss/token-dictionary",
"@pandacss/types",
-
"browserslist@4.24.4",
+
"browserslist",
"hookable",
"lightningcss",
"lodash.merge",
···
"ts-pattern"
]
},
-
"@pandacss/dev@1.5.1_typescript@5.9.3": {
-
"integrity": "sha512-U1NWO3ZgOLlABtDk6MMQwTNYOCiUtUg+HEoHPdEExLzNn+20mrLf1IZWJyn4zXKSpANGSi79EV7X4yxPa+W+MA==",
+
"@pandacss/dev@1.7.1_typescript@5.9.3": {
+
"integrity": "sha512-nhghw7VDEpc5HySuD9M+z+CPW3gqPuVhPEPG6fPk7FdEH4abKWnptdOjcKIy3AZcNKwWlwDDMOGEl1SHvoxjCw==",
"dependencies": [
"@clack/prompts",
"@pandacss/config",
···
],
"bin": true
},
-
"@pandacss/extractor@1.5.1_typescript@5.9.3": {
-
"integrity": "sha512-/DG4MnVo5LA0SpJq4rI0RgOp8kPjZMP5a1+q4MwLDHPtfWTwPaiKv7LULBW1L11V+fMOYn+d44dBKgU4dj6oSg==",
+
"@pandacss/extractor@1.7.1_typescript@5.9.3": {
+
"integrity": "sha512-R0cIvij6Zs623ANpZQivcFtXIR8qK5Mr0lf7djN/f6cJXVaTJ6KR1Rsq+Md2Hdj2cxXR4GyLxt/MeqBB18BX7w==",
"dependencies": [
"@pandacss/shared",
"ts-evaluator",
"ts-morph"
]
},
-
"@pandacss/generator@1.5.1": {
-
"integrity": "sha512-kijxpjpvRQBz16BiBcghknthsdmVxSJD5C71jlcM4aVeqoZSCWDNcmlL/2SSCMy7oC6HANu2oRXS/L1YgYzHGA==",
+
"@pandacss/generator@1.7.1": {
+
"integrity": "sha512-Or6ZFlCn6Bi3j+pqDyJATouR+cGDke7cdOXLMpB9y0DHDaBnpZUFod8lKRYhlCAjLDgqxvXFBSka/RCGZB4jFg==",
"dependencies": [
"@pandacss/core",
"@pandacss/is-valid-prop",
···
"ts-pattern"
]
},
-
"@pandacss/is-valid-prop@1.5.1": {
-
"integrity": "sha512-AlOt+MqqwDlIdVEdW6wEtvDmX8MmPv004oD+7tdGN54HKpD9jqrwPwwS9p7YQ7nai631JlyladshFHqe1xl7+w=="
+
"@pandacss/is-valid-prop@1.7.1": {
+
"integrity": "sha512-U95nBIhlj6X26W4U0wEbYcgL0A33zqt7bnfjYQ2+RUGfOK17yKx92OHE/ersiRhMWyuSU0Qhj+5CHlCY2126lQ=="
},
-
"@pandacss/logger@1.5.1": {
-
"integrity": "sha512-jC835vvSGIOxCZcqXH1alXdzO/ThUCE3HXGjt17mGli/QiVT3b/v83n/Cfz0wiHP3zSUlwVYaPAlXryepsQNWA==",
+
"@pandacss/logger@1.7.1": {
+
"integrity": "sha512-0lkVoOPcEG7FjGyhaGROkufOqcqz4G9oSj4BSqIFwlBhCge5kmXLexmM3jM9nLX53r7me8uJivi5s1HYLyXUhg==",
"dependencies": [
"@pandacss/types",
"kleur"
]
},
-
"@pandacss/node@1.5.1_typescript@5.9.3": {
-
"integrity": "sha512-qgiydokbjWcSqzsuCP1LR91IOLs7JgsMJkgAbEim/PdVH3NbKNjCUx9mK8bt1JO3/GKNC+GfePpacxGLmt/p6w==",
+
"@pandacss/node@1.7.1_typescript@5.9.3": {
+
"integrity": "sha512-2vlxx4S1G5Do5WNaGSG4if/fL+PW6lb5JpfrzusMW227MIqA5uojJ32F+e7Ir7tUpp5WrXcf01yZlzwiAL9ZSQ==",
"dependencies": [
"@pandacss/config",
"@pandacss/core",
···
"@pandacss/shared",
"@pandacss/token-dictionary",
"@pandacss/types",
-
"browserslist@4.24.4",
+
"browserslist",
"chokidar",
"fast-glob",
"fs-extra",
···
"tsconfck"
]
},
-
"@pandacss/parser@1.5.1_typescript@5.9.3": {
-
"integrity": "sha512-CuG5qdsQkw2xjxzN9pkfl9JaPgK28FJnRj9jmLb98Vo3J+NkUD2NyzL4k69lKZv9nbcmwn7+HbvMP/DKfx8OvQ==",
+
"@pandacss/parser@1.7.1_typescript@5.9.3": {
+
"integrity": "sha512-dVI2sQcqJooErPHt/xPkpsXXAkii6sFgNH2pZSJ+4B73w4ciCIxNrW21o8G/E0RTTxFYeXaX7+LBPeMeGObX8w==",
"dependencies": [
"@pandacss/config",
"@pandacss/core",
···
"ts-pattern"
]
},
-
"@pandacss/postcss@1.5.1_typescript@5.9.3": {
-
"integrity": "sha512-fZZOf0n6WKm3JQnGXC4Y8RGzw9jDdYpFGaSpVLpE4VotbfBq/jZtACw/pLa4ryferJhRp+WraBvYtKg6w2bQ9w==",
+
"@pandacss/postcss@1.7.1_typescript@5.9.3": {
+
"integrity": "sha512-Amj1xir/BBKbYJBma1KkjCsjy3D1AaFd02j9esx4rTV6QKkvrJZ+lprIrImCu1guMXpsSMcrcQ/JZy0ZtlIN4g==",
"dependencies": [
"@pandacss/node",
"postcss"
]
},
-
"@pandacss/preset-base@1.5.1": {
-
"integrity": "sha512-I8USdmUqPPkluznTFilbzLgXzU/+NEzeCvkwuwfi0QZlmGXOXnatM/7IUK7yatNikPx3neqmNh4o4WwWE04dGQ==",
+
"@pandacss/preset-base@1.7.1": {
+
"integrity": "sha512-xCdpBQ4AzMo3uR52maU0So1UCc3aoWCCnjZ2Qj4ivSnjWbKJgEvkXwM5SmluW0UIlrlx2/ppe2IDsmWtszEl/A==",
"dependencies": [
"@pandacss/types"
]
},
-
"@pandacss/preset-panda@1.5.1": {
-
"integrity": "sha512-ZA/MhFK3O/fYIS4p2HDpyPMgCISAi+g5LoPzX/jQbQ5WGfkBS8sTmxIM/XapGNVHAzXFzYOTwqQ87KP3Siiozw==",
+
"@pandacss/preset-panda@1.7.1": {
+
"integrity": "sha512-w9M/hDOMkVvZjxf5cy3+Hzi+1rnm4azpr0mbEowKLhlXFI+ubFt3iJPCEx/nx1Z0gs8kOu0EhydU6hnARlUkJQ==",
"dependencies": [
"@pandacss/types"
]
},
-
"@pandacss/reporter@1.5.1": {
-
"integrity": "sha512-fCgX/VN9ZDZpvfYJU+bdQpwoR48cMmhtTvPYJIek6KoANKXXJFbpgC5t2N6EtTkktg+3+unks3XpU3FvQdGHTQ==",
+
"@pandacss/reporter@1.7.1": {
+
"integrity": "sha512-zrEMRE7VXWcW53lukIBom3+lxMYVRd4nk6hZgawFR41BsCUcG8Qjru8L4L65gr1XRgh2abh19SJd49rpVZhZHg==",
"dependencies": [
"@pandacss/core",
"@pandacss/generator",
···
"wordwrapjs"
]
},
-
"@pandacss/shared@1.5.1": {
-
"integrity": "sha512-pTHbfT6N7vt6/BncGoMduCo4jnYOvyHC8XdSgV3mzStdGJqw+0R30jeULixYrv7HFGDXCNxzohQ2k8YGOk6UoQ=="
+
"@pandacss/shared@1.7.1": {
+
"integrity": "sha512-kwGOqVFHIx7ajrLk1HLUUJsNvrkvHb/KJdW466pLB8UzZhg8BjxaL9mSulMDqy6fyYQxfDwaUmz9xzbAg2nOkQ=="
},
-
"@pandacss/token-dictionary@1.5.1": {
-
"integrity": "sha512-w/dSvEaskD7zYHYWbPdYG+zrFLVsYYYJl9hT2cE2spccgJCid40Ov/4/zuP67rC9rPfs7qETMy6ydTPGbCfZ5A==",
+
"@pandacss/token-dictionary@1.7.1": {
+
"integrity": "sha512-74z3Sc1FHZtF2VPlWGSPHqmH9eT+B1t2Jxzr99bmzD6M51LL+v+cDpZnxb75AQ7TD28RGQu3pbgzyZa+DEFXaA==",
"dependencies": [
"@pandacss/logger",
"@pandacss/shared",
···
"ts-pattern"
]
},
-
"@pandacss/types@1.5.1": {
-
"integrity": "sha512-fUDPtP3+yW8q5gPC2UfDcrdd/QW3H24kNt5vD30f5dt0CGDGkSoRUP4iJVNViEfQS2MzfDCnYI+PFOCw3eeQFw=="
+
"@pandacss/types@1.7.1": {
+
"integrity": "sha512-cT0cyiU7t41CGa3629Ih+A41r7FFIWPnDGgxALKICfW/Xkn8oX/GMFU+cS0vsRcZqSKbEKlaJu/oC320qzYY9w=="
},
-
"@park-ui/panda-preset@0.43.1_@pandacss+dev@1.5.1__typescript@5.9.3_typescript@5.9.3": {
+
"@park-ui/panda-preset@0.43.1_@pandacss+dev@1.7.1__typescript@5.9.3_typescript@5.9.3": {
"integrity": "sha512-kcO1ewx8zU9wHuTjZ/nqPCqjzL9AXkpzDnDrpcZ2unKR/UE3hHpP+Y1F0grTBaluPHLomjfZz3GebczJvoShBQ==",
"dependencies": [
"@ark-ui/anatomy",
···
"effect"
],
"scripts": true
+
},
+
"@protobufjs/aspromise@1.1.2": {
+
"integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
+
},
+
"@protobufjs/base64@1.1.2": {
+
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
+
},
+
"@protobufjs/codegen@2.0.4": {
+
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
+
},
+
"@protobufjs/eventemitter@1.1.0": {
+
"integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
+
},
+
"@protobufjs/fetch@1.1.0": {
+
"integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+
"dependencies": [
+
"@protobufjs/aspromise",
+
"@protobufjs/inquire"
+
]
+
},
+
"@protobufjs/float@1.0.2": {
+
"integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
+
},
+
"@protobufjs/inquire@1.1.0": {
+
"integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
+
},
+
"@protobufjs/path@1.1.2": {
+
"integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
+
},
+
"@protobufjs/pool@1.1.0": {
+
"integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
+
},
+
"@protobufjs/utf8@1.1.0": {
+
"integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
},
"@rollup/rollup-android-arm-eabi@4.52.5": {
"integrity": "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==",
···
"@types/node@17.0.45": {
"integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw=="
},
-
"@vue/compiler-core@3.5.22": {
-
"integrity": "sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==",
+
"@vue/compiler-core@3.5.25": {
+
"integrity": "sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==",
"dependencies": [
"@babel/parser",
"@vue/shared",
···
"source-map-js"
},
-
"@vue/compiler-dom@3.5.22": {
-
"integrity": "sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==",
+
"@vue/compiler-dom@3.5.25": {
+
"integrity": "sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==",
"dependencies": [
"@vue/compiler-core",
"@vue/shared"
},
-
"@vue/compiler-sfc@3.5.22": {
-
"integrity": "sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==",
+
"@vue/compiler-sfc@3.5.25": {
+
"integrity": "sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==",
"dependencies": [
"@babel/parser",
"@vue/compiler-core",
···
"source-map-js"
},
-
"@vue/compiler-ssr@3.5.22": {
-
"integrity": "sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==",
+
"@vue/compiler-ssr@3.5.25": {
+
"integrity": "sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==",
"dependencies": [
"@vue/compiler-dom",
"@vue/shared"
},
-
"@vue/shared@3.5.22": {
-
"integrity": "sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w=="
+
"@vue/shared@3.5.25": {
+
"integrity": "sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg=="
},
"@zag-js/accordion@0.62.1": {
"integrity": "sha512-1lMKuD1GbiMuemOHOu+24BSAAG8iTD6l/4zYrQRBCTsxXzHhWqTtLF7okGgmSAs8iyNfOuWefCfaJJ3BJNSh5A==",
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/accordion@1.27.1": {
-
"integrity": "sha512-c6Ny0M/I4gqhcemD7THNBIKiBXLgJnRLmT1oOSZdPmwWI8Y6HMS/As8DDV3hsyzV/X26dbZiuJtuylAepMN3bQ==",
+
"@zag-js/accordion@1.31.1": {
+
"integrity": "sha512-3sGi4EZpGBz/O1IVkk9dzzWzP5vVVOj4Li6C+jHOnrgaWPouA/mBTP5L9HEL8qtFsECFZwpNo486eqiCmeHoGw==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/anatomy@0.62.1": {
"integrity": "sha512-1JiPQOyVlO1jHwLTSNJpyfy1R1UYoaVU1mKSUww5+htAuT/1txjs04pr+8vTF/L/UVzNEZZYepB1tTabyb9LYg=="
},
-
"@zag-js/anatomy@1.27.1": {
-
"integrity": "sha512-vAgZ9RFm9wSucTMpbV1ZY2soZ6ZHQ9JAMOkLy1EPkWyE7+68VxzDh8rKc3Gq3LAjowgF2yR8tIe05njP9KFRjg=="
+
"@zag-js/anatomy@1.31.1": {
+
"integrity": "sha512-BhIhf3Q0tRA0Jugd7AJfUBzeAb/iATBsw7KyYThMGcPWmrWssL7KWr5AB6RufzGKU7+DCb1QEhlqd4NSOJaYxQ=="
},
-
"@zag-js/angle-slider@1.27.1": {
-
"integrity": "sha512-92rFGXNZTI4KwQPyxlSWMkaaLPgppK8MSUHR9+fhyULDqlGI3DlBrAB9J+jYQxt44rcBMWxGmbherDIz904d9g==",
+
"@zag-js/angle-slider@1.31.1": {
+
"integrity": "sha512-SfWrgnM0zMLX82rsIJOqWk430UnPA17UFGcDqMDRwXy1Wx4yptmx0aFAsSXnRnw4Ee7WaulF2RWBli6O6iYRCA==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/rect-utils@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/rect-utils@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/aria-hidden@0.62.1": {
···
"@zag-js/dom-query@0.62.1"
},
-
"@zag-js/aria-hidden@1.27.1": {
-
"integrity": "sha512-8ax2IG0jOJnvNMb20INgxa5OS7jvr14dxuc8vgaNR9a0yfWzIuINp/O0FrN+8GNzaJzGMODwqGb0I7AOOIOAbw==",
+
"@zag-js/aria-hidden@1.31.1": {
+
"integrity": "sha512-SoNt4S2LkHNWPglQczWN0E5vAV15MT1GoK9MksZzbkMhl+pkDTdLytpXsQ1IgalC1YUng0XNps/Wt6P3uDuzTA==",
"dependencies": [
-
"@zag-js/dom-query@1.27.1"
+
"@zag-js/dom-query@1.31.1"
},
-
"@zag-js/async-list@1.27.1": {
-
"integrity": "sha512-wJkGMrlsKCsbIyTDreRL7ErAC+vwfV8DgpCx1kiY6pwnG4Lq09NR/Qprpwm+vh0d3kJdV2dJes0+dAwp3TvTtw==",
+
"@zag-js/async-list@1.31.1": {
+
"integrity": "sha512-BDZEmr4KKh3JASgkXouOwoTWRS1UPE3gdZYZ7Sk7SJ1i8+Pk6zUQ4FnxaoF/cSAdCXyjSSr92Kns2bTk/QuNkQ==",
"dependencies": [
-
"@zag-js/core@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/core@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/auto-resize@0.62.1": {
···
"@zag-js/dom-query@0.62.1"
},
-
"@zag-js/auto-resize@1.27.1": {
-
"integrity": "sha512-1hfHePSLs2AcESHUTzZhizn6lCCUeqwsWB4MsJwUzEqpGoW7DOKfOy27mfX50YlU7ttJOjlpYJ+Fp2g5FnzWWA==",
+
"@zag-js/auto-resize@1.31.1": {
+
"integrity": "sha512-qzWHibjBekSmFweG+EWY8g0lRzKtok7o9XtQ+JFlOu3s6x4D02z2YDzjDdfSLmS7j0NxISnwQkinWiDAZEYHog==",
"dependencies": [
-
"@zag-js/dom-query@1.27.1"
+
"@zag-js/dom-query@1.31.1"
},
"@zag-js/avatar@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/avatar@1.27.1": {
-
"integrity": "sha512-HTxhl+06CefIQIDnFvEdazCe0To3HDeYx+KrJ7UdBGUgGHVQ/n3/767QdrtIS26h71rTV9q7dMEsmr4ttugn6w==",
+
"@zag-js/avatar@1.31.1": {
+
"integrity": "sha512-Grosi2hRn4wfDYlPd8l+d4GCIFMsoj6ZFqii+1k14AqTDiCUJ/J0jCvOrRHkvkpEqektjuSD7e/GCX+yawqkuQ==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
-
"@zag-js/bottom-sheet@1.27.1": {
-
"integrity": "sha512-priPNZJd5/c8FhzGDCLEmwRxoKqd1/LyOc+hR+xd1iEDKGrhG4VlE3YKNUicUh1FK6zGYysjPTA4s3rRWL1CTg==",
+
"@zag-js/bottom-sheet@1.31.1": {
+
"integrity": "sha512-ZBbIpYyZX2zQeqW36aODVi9/I4J3zS1XmIHUjeXmfmf6TlQUA1ydgYl7ipREfmCzNWX2LEA5ZnPJQw0UBcrB8w==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/aria-hidden@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dismissable@1.27.1",
-
"@zag-js/dom-query@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/aria-hidden@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
"@zag-js/focus-trap",
-
"@zag-js/remove-scroll@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/remove-scroll@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/carousel@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/carousel@1.27.1": {
-
"integrity": "sha512-3lU5KksoEsuT6sR8GZ85K2oxXRQojbK429CsuDolD1d6zoyUC81ORPxNmka5qCFlgO981NVFdrNfWX1ftlSQSQ==",
+
"@zag-js/carousel@1.31.1": {
+
"integrity": "sha512-228Ol86G/lg8crcomy5cALkUYdOHCHcvJnSOQzeUj80JNjlELzrjBpaAj4lx8dZocfwou2Sg4NyZJ+mISSc+Dg==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
"@zag-js/scroll-snap",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/checkbox@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/checkbox@1.27.1": {
-
"integrity": "sha512-aRyAWI1bH2IwdaCOV6YRtCBdHoCyRo9xd1kAnxSn1/Lb+vVQgs2MJrwOUcd7aNLRxpqpeKbUKIgqqgkQQkLmZw==",
+
"@zag-js/checkbox@1.31.1": {
+
"integrity": "sha512-oLS8bqhimckLl6coCNmKPPUmB8wIbVhtkpLwLPLgz4vhhUe7gnpB5dea14Ow2JTBnmug8bMh/bJDtuPa9qQuTw==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
"@zag-js/focus-visible",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/clipboard@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/clipboard@1.27.1": {
-
"integrity": "sha512-Zx9MnvFb5Dx/ajtDJy0tnH+H7/W7Bgu4P5bXiCs+v0qCcWwd/CpW9tTHD6IiF7TBr/FqSWT8mAruPf4rrjIqAw==",
+
"@zag-js/clipboard@1.31.1": {
+
"integrity": "sha512-pv/gOmD9DMg+YmSMjahyd5oSp7/v9K0uQ3att6fPeaNMjB42b3tnY1S1GNVy5Ltf/qHDab6WVwlEN+1zKHXaYw==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/collapsible@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/collapsible@1.27.1": {
-
"integrity": "sha512-y+jw3N9BiIRaCtUFgpIC+Da1Fxn+DgwXnPdt2Ufk7xwDinRcOfD6ueGY+jBEFbZvVlOYzf+wU3rCopeKFNIh2Q==",
+
"@zag-js/collapsible@1.31.1": {
+
"integrity": "sha512-eCC5G6bBZUwF8z2XULQXUNRxqte9I2Sv+WJ2brycPn1a68uYD76RzFBmLQ2er95VbshUdeo8nRuX8MooAFuYzg==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/collection@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/collection@1.27.1": {
-
"integrity": "sha512-zcf2GIpsACn0RUpNJSpRmbWOLbuiqMkRgZP4+Ub2Wy6lsYKi3Fou2A9o6Sm6HuNYMLJYRvos0oEEktHNJsLNyw==",
+
"@zag-js/collection@1.31.1": {
+
"integrity": "sha512-ecpfyfCj8Y0/GUPuHYsLxexIrx10VuR3Wd0H+lamcki3lYgQxZrpLRFMwgTqmI/m7t3zhm5QeEvMUJ1H14YMLA==",
"dependencies": [
-
"@zag-js/utils@1.27.1"
+
"@zag-js/utils@1.31.1"
},
"@zag-js/color-picker@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/color-picker@1.27.1": {
-
"integrity": "sha512-aF/fPHQ4p6YxiMmCGZ7BB9BjGltY3X59vckLv4PqXimJQg+H9L4RBXzFQzzVZI8h8s/ycg2mwHHJfnKyTklvhw==",
+
"@zag-js/color-picker@1.31.1": {
+
"integrity": "sha512-AWNZth49iEDxqh1DBZNSKpfEM/FF+MjL5bgUHVctnHdkpFsZLynJorWQQ4hNXNDFEc/I5w10KSxVCcO6tsPGFw==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/color-utils@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dismissable@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/popper@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/color-utils@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/popper@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/color-utils@0.62.1": {
···
"@zag-js/numeric-range"
},
-
"@zag-js/color-utils@1.27.1": {
-
"integrity": "sha512-fiwHh1tDTwNv3ME5zT4wgr9wcrqsfpfcUj+gSfne0MQWEdKseObXrrQwdGjf97udEsr0RTagseDPXrKG78U24g==",
+
"@zag-js/color-utils@1.31.1": {
+
"integrity": "sha512-HdjTRU8C0tO6hK+PBVlu8iQH1MJaAnJAEdq2FcD97mq0PiPhrSj6iOftnrvPsE4CRieVFjnJWOvaubWFc4VmHA==",
"dependencies": [
-
"@zag-js/utils@1.27.1"
+
"@zag-js/utils@1.31.1"
},
"@zag-js/combobox@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/combobox@1.27.1": {
-
"integrity": "sha512-Q+fC5SQgsLNdZoaaG1TbSZbvgm5H/tjaAbOull2zyrQzoe20WLCTJgHCWmVm1X0u5mEKXVf8xISzys8a+LJxwg==",
+
"@zag-js/combobox@1.31.1": {
+
"integrity": "sha512-IT0getSAGzngdRL20iX/iAh2d7DzVoMDDppOsOFBG2owKAgLpj8uLvUhy+lcrm6N8yxYOya89D6Aef7V5KdwlQ==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/aria-hidden@1.27.1",
-
"@zag-js/collection@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dismissable@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/popper@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/aria-hidden@1.31.1",
+
"@zag-js/collection@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/popper@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/core@0.62.1": {
···
"klona"
},
-
"@zag-js/core@1.27.1": {
-
"integrity": "sha512-C35SJO7O5fyzgk+mhTSRWiApz0QP2MngT/qgCrSEDHss0ESd1scQylpDK8LrKDGHyYObJLLJhOAoeHWKALBTPA==",
+
"@zag-js/core@1.31.1": {
+
"integrity": "sha512-RaMJeqtjxG6k7iFD3WQnlyFJVT3yfQN+pJygAHH37GsMtiNzQQJOoesjb0LV9T27jwMXeNUzrh3MSDr1/0yVcQ==",
"dependencies": [
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/date-picker@0.62.1_@internationalized+date@3.5.5": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/date-picker@1.27.1_@internationalized+date@3.10.0": {
-
"integrity": "sha512-Hf3C6p+rOa7kamvRCaa4iJZZhAQoT6CMnp7V1jy57ICwpiXMhZ78HlzVZBKWmNuZlzibwzx6okfodlidMp+Mhg==",
+
"@zag-js/date-picker@1.31.1_@internationalized+date@3.10.0": {
+
"integrity": "sha512-AOWN/IskGidVQt5g+uE9cILqJBTclE6OG1GC9WSWuyP/y4F+PdP/781SgYpYCZg/6pMGbL01PFKKb7xOOCeZAg==",
"dependencies": [
"@internationalized/date@3.10.0",
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/date-utils@1.27.1_@internationalized+date@3.10.0",
-
"@zag-js/dismissable@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/live-region@1.27.1",
-
"@zag-js/popper@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/date-utils@1.31.1_@internationalized+date@3.10.0",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/live-region@1.31.1",
+
"@zag-js/popper@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/date-utils@0.62.1_@internationalized+date@3.10.0": {
···
"@internationalized/date@3.5.5"
},
-
"@zag-js/date-utils@1.27.1_@internationalized+date@3.10.0": {
-
"integrity": "sha512-0s5qZAv+ZDRtg1fv848yC/2lt8dqNVN3DpW+JmOFioR9Cp2y+aBd+Ae5Y5Zh13kPcRvwDNVJ+kaeBOTJ9756Wg==",
+
"@zag-js/date-utils@1.31.1_@internationalized+date@3.10.0": {
+
"integrity": "sha512-+Aq9g/rqLeiRmnazgdZMc59gAxqxbw3GGy8AngrtNipgRtMhPlzGa3S4Qsq1yau6OKaHZ13uckUS+MhLNbBY+Q==",
"dependencies": [
"@internationalized/date@3.10.0"
···
"focus-trap"
},
-
"@zag-js/dialog@1.27.1": {
-
"integrity": "sha512-FHRSqZaiFu60NMuNE+jdXFDgkapVBtaJG+ts4CHn9wKnyQYmao41Nin5ZEQI8DaLgzxkBAgwEwg33FQ5L+99mg==",
+
"@zag-js/dialog@1.31.1": {
+
"integrity": "sha512-iaWlYQ6TYoVjM/X5+UZVZzKiMboE50GnEzGUpbhbeRNRiLqSu5dODSFzior1G4kde/ns5eN+BTf/Tm6AT4N2og==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/aria-hidden@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dismissable@1.27.1",
-
"@zag-js/dom-query@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/aria-hidden@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
"@zag-js/focus-trap",
-
"@zag-js/remove-scroll@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/remove-scroll@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/dismissable@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/dismissable@1.27.1": {
-
"integrity": "sha512-EZ9xq47m50scGV8JHYTAIL1DjnoFYChBC68cE9XNsqZO2vOINdYAfzsH73otx/CQ6RkhSk7eymP4fIzZVtRTVw==",
+
"@zag-js/dismissable@1.31.1": {
+
"integrity": "sha512-jCdJwQmEkG6PlrN13fUk2l7ZclSu54FZwmT4xOtQpEbaiAiESm5KI5oyFh5jDPY47Goa28UJkEjWXVgKXKWb0g==",
"dependencies": [
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/interact-outside@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/interact-outside@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/dom-event@0.62.1": {
···
"@zag-js/dom-query@0.62.1": {
"integrity": "sha512-sI/urNd3QX/WI7Sii+X1Z/OTWNisn7EaW3T0X9Rbn41u79DC4KeUnP+wpIq1igSJNH2zQWIWBLJ1OGhAjuSl5g=="
},
-
"@zag-js/dom-query@1.27.1": {
-
"integrity": "sha512-+oyhPQ6of1zCCK8iTaxxQc2FMFEJz1mr+1571vaSRdoxG31GhNkq/QDfUvQQnRR+2HV9yNiFk4hcjCDGqdXDTQ==",
+
"@zag-js/dom-query@1.31.1": {
+
"integrity": "sha512-2tCZLwSfoXm62gwl0neiAN6u5VnzUhy5wHtKbX+klqGFatnca3Bm++H9+4PHMrwUWRbPg3H5N151lKFEOQhBfQ==",
"dependencies": [
-
"@zag-js/types@1.27.1"
+
"@zag-js/types@1.31.1"
},
"@zag-js/editable@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/editable@1.27.1": {
-
"integrity": "sha512-JnmrMLijCpIdYmR3PHFFS5oiQkuYsqoZPy9Rt5N6nUhy96IhznaDWghd2mCdxowwSRVySiplJ6qeR+CSgRY5og==",
+
"@zag-js/editable@1.31.1": {
+
"integrity": "sha512-JMICHw4/x0YqDy/n+I+TeaXlFbTA0j9w3UqOWMwUFQ+dAsq4JLXeqZDXu19MQN6yaTFdOpG1EFw4FEVTsu+d3Q==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/interact-outside@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/interact-outside@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/element-rect@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/file-upload@1.27.1": {
-
"integrity": "sha512-xChLU5NGnHn/G+L4GDPkCOa8XWY/gHeBbvQAaHItFKTpVmjWwM8uZ6X/utcWuZmdmUU8j/YfWYmCGdyux58I9Q==",
+
"@zag-js/file-upload@1.31.1": {
+
"integrity": "sha512-cp7qMiXKrIcTfDamOz9wlnJLeBF8gucTI7Y+iKaP+hiIW+OG254GElfQiqXNDad3HUmD+Dt8Tx6uAzL/mw3sbQ==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/file-utils@1.27.1",
-
"@zag-js/i18n-utils@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/file-utils@1.31.1",
+
"@zag-js/i18n-utils@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/file-utils@0.62.1": {
···
"@zag-js/i18n-utils@0.62.1"
},
-
"@zag-js/file-utils@1.27.1": {
-
"integrity": "sha512-Ov5gMd7qUGdWydfjmtq/sm+PEl0LdJr7G4VuLZz3b4pJYVDBMv3pEHRXJj5x+b4mgm5U82vncE/itg/1Z08wKA==",
+
"@zag-js/file-utils@1.31.1": {
+
"integrity": "sha512-MDDz52IdPh/mPUYrqUXvh7qDckJHs+mt5gjfx0N89qh2JNXuRU14zPotOKTzIKM4o+HFZkAT6BAfMpr9CX/0ug==",
"dependencies": [
-
"@zag-js/i18n-utils@1.27.1"
+
"@zag-js/i18n-utils@1.31.1"
},
-
"@zag-js/floating-panel@1.27.1": {
-
"integrity": "sha512-BcTZ4oJj+V+kAhbXXRWS68ivbiVIT3Q6NhcpZ8M4Hv4x7tpsfxC+J9/qsTX4/LF1LYGZZ0v7QidaWa7t4gDGCA==",
+
"@zag-js/floating-panel@1.31.1": {
+
"integrity": "sha512-Pjgd/wjdglZ90dtq/LC4o5sc6w0m+RehhPmJcIzq9T+E/Xrb6qrhf06QhxB9LwSj4DG/gIv87gmD2qF1VH7cRQ==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/popper@1.27.1",
-
"@zag-js/rect-utils@1.27.1",
-
"@zag-js/store@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/popper@1.31.1",
+
"@zag-js/rect-utils@1.31.1",
+
"@zag-js/store@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
-
"@zag-js/focus-trap@1.27.1": {
-
"integrity": "sha512-dHjN8Cxx2q7GyxfLhx6/FZgHRwTz4JnKT0bQxP3PjWsBQM1bVbFIJCL3lRy4NYQ1rJ1DA0LSbTecqqlKv4DgUw==",
+
"@zag-js/focus-trap@1.31.1": {
+
"integrity": "sha512-omgUhAz1r81pYAujqYIIavdTKJzDRExioSiqhnx/xq10a6Q/xavMFflq8w7edMc9JHkTOnr9E5qh9abCVJjhpQ==",
"dependencies": [
-
"@zag-js/dom-query@1.27.1"
+
"@zag-js/dom-query@1.31.1"
},
-
"@zag-js/focus-visible@1.27.1": {
-
"integrity": "sha512-KGQAoiEejkEi0NMS33Q8mc7kedB0Y4g8WyKNaVlMgnqCEpi39cHkszgyZEvX1SYWfv4+RezQGfYOKo0Y6ze4uQ==",
+
"@zag-js/focus-visible@1.31.1": {
+
"integrity": "sha512-GC59A3yd7tj8aKhzvhrM+CEZZraXm5y/SpfIjz1J7kGV6eeXbUtjkbe75g99Ve8iJYfQVQlAj2GyN3oniHc5Zw==",
"dependencies": [
-
"@zag-js/dom-query@1.27.1"
+
"@zag-js/dom-query@1.31.1"
},
"@zag-js/form-utils@0.62.1": {
"integrity": "sha512-GJWRRtEpro8TNEUuEWMhIOWmVFXqiHNTTrrRLxijxUIWbsPrPdPiKL7qwBAESYoZQCmN0hU99S0w2Xmm7Q05Zg=="
},
-
"@zag-js/highlight-word@1.27.1": {
-
"integrity": "sha512-4lmudpn2VfhIlDqfXzUOYqTsUMIXSZRMEeUbyhdidGGXM/r5rUXoYtHQ4wuIF48CUMuAzoAk2yn5hJm1csi8Dw=="
+
"@zag-js/highlight-word@1.31.1": {
+
"integrity": "sha512-nQw7t8LgWXW+6Z5E/p6T+OST0DDXp35mrFCzrkJL54aVTZ3GuLyIP2p0/HGQr2hE/KKLbZEs5i6UcXF84tiI4g=="
},
"@zag-js/hover-card@0.62.1": {
"integrity": "sha512-ryiNHQmmHpiDiZ5nuk9nvGUgnT017q8hYf+wLSI5OJ+klHPjrHObb7I7v/fUmKzWNtIOhaL0uw9afzjRt3bLEw==",
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/hover-card@1.27.1": {
-
"integrity": "sha512-VolB6d8Yu8wjLi9CdGtd3w3qKtop0lQebcA9M12sOs6E+DmrmdCZfgIMMtiUrVch7HTSPa5kXlI+/6svvS6UQA==",
+
"@zag-js/hover-card@1.31.1": {
+
"integrity": "sha512-R74kz2wPgGwB3jKQeD91kdtlvVKpffWBJHqw8yCBd95GXGVmhym+BPoCToJzcqiemP8+0EtSuVPU9IHaSuJnSg==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dismissable@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/popper@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/popper@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/i18n-utils@0.62.1": {
···
"@zag-js/dom-query@0.62.1"
},
-
"@zag-js/i18n-utils@1.27.1": {
-
"integrity": "sha512-dNP7ZMoKxCD8KOc3RPqBpj7mEr5qb2qix8o6AQHw2QMDdgMDj0E9y5ZaNHIzkpMyYmvURY5I+pwWfFricv/rHg==",
+
"@zag-js/i18n-utils@1.31.1": {
+
"integrity": "sha512-SARkFuo1+Q0WcNv4jqvxp5hjCOqu/gBa7p6BTh7v5Bo00QhKRM/bCvVt0EB6V+h2oejrZfkwZ0MwbpQiL6L2aQ==",
"dependencies": [
-
"@zag-js/dom-query@1.27.1"
+
"@zag-js/dom-query@1.31.1"
},
-
"@zag-js/image-cropper@1.27.1": {
-
"integrity": "sha512-fzAlMZwKQVVxaHcxbGmwOY05fFdooxkAYNjuzansQo5nHWQIVVVe7/Ou6GzU7ggc/Ws+a/TY2dp3dZbzrSfc5g==",
+
"@zag-js/image-cropper@1.31.1": {
+
"integrity": "sha512-hFuy4I3jIJ/iyJsnfbLX1l/cJtN42j7lwhw8TeWVX8Y+hHxFPMSKx7AQirt/hALUbyy7QsQgAd5IslpsYq1Nlg==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/interact-outside@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/interact-outside@1.27.1": {
-
"integrity": "sha512-MfZobJhDWSiS9SzF35FJd/R+/ksvwzgjXl51p1sjaqVQoTIfKAe/pK8Hcky7NWX9NsVx77x/YidJpb/Bwf3f6g==",
+
"@zag-js/interact-outside@1.31.1": {
+
"integrity": "sha512-oxBAlBqcatlxGUmhwUCRYTADIBrVoyxM1YrFzR1R8jhvVR/QCaxoLAyKwcA3mWXlZ8+NlXb7n5ELE11BZb/rEg==",
"dependencies": [
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/utils@1.31.1"
},
-
"@zag-js/json-tree-utils@1.27.1": {
-
"integrity": "sha512-ugiV6V4BqKufZr2XRdZB3x4x/uxUbmfG0viMAkCYJKD5wWaMukPqUAxytJ5ybAIfnDDvRRjRzaZX+erVu5rzXA=="
+
"@zag-js/json-tree-utils@1.31.1": {
+
"integrity": "sha512-wrNek2UBE69FWpo2f0E2MxiboBS+Uop79LeQU2jNDujA1o3x6b1Lp2r7Fl1sfnUWMdKVVQb44oqfIj2g3CTEmQ=="
},
-
"@zag-js/listbox@1.27.1": {
-
"integrity": "sha512-qZhmdD4+Gjof21i5C0sthNz+fOylrFnKJR7HxROWOeD2vHuQi4gud5PdZubfm54p7w8huPU8RH+Aw7LsVpwQNA==",
+
"@zag-js/listbox@1.31.1": {
+
"integrity": "sha512-LcTIr4I9eN4MR1nSRfQfseWgj4ybOXXAY2o5dBpEBL67dnCSX3swNb/4LQO+ebj077BViQb66pBb1KSoeHGkEQ==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/collection@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/collection@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
"@zag-js/focus-visible",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/live-region@0.62.1": {
"integrity": "sha512-Giu7d5UWc2Sqb3/T0tSzqSwxJ4mVrNN+MTu06J7EaD4khK5RgX4GRpQ9rpwOS/GJT+8nc6YBhWTi7tqKN/+iHQ=="
},
-
"@zag-js/live-region@1.27.1": {
-
"integrity": "sha512-T5cMSazmWC9AYKHinJQPZSc2bnokF8zK8ly4NGApv6ExM6Mf5wQoH6sJIcv7dhRFfPUFVRndVdKHnWxZjTb8Og=="
+
"@zag-js/live-region@1.31.1": {
+
"integrity": "sha512-RBx8jk1dgvkEUuFs77SBZn0WwvEkeZgVawVu6XUAy4ENfhP0D/qkvwNk+Els8InKmr1gWKajD7sh+g8M40Ex6A=="
},
-
"@zag-js/marquee@1.27.1": {
-
"integrity": "sha512-d0+7SXxsuTdHf6JD4uQFUfKWpEhsi5wEb4TCb6bRDdgkN+iJq1d/lsGx1tTV+/95rpaHkAkbaVQB07IUQnmDiQ==",
+
"@zag-js/marquee@1.31.1": {
+
"integrity": "sha512-Rt7+zy7CDOxXm0PqaTcmuWxcrZOPOpZY4T6IxOZk4ZcOXJQ2v7CkF3EK0pdI9PyI6Zpk/YIwQkENjidT55db0A==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/menu@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/menu@1.27.1": {
-
"integrity": "sha512-e4U7zbfOF6fXphJvP2xaIKTmnKR75pp6gYGUqJUVQo0VIqQh2Ax5VcPq6JcUQE8UWGRQxwuMn9tzEpXGDWm6QA==",
+
"@zag-js/menu@1.31.1": {
+
"integrity": "sha512-eJPRM8tlauRTsAoJXchDBzMzL2RhXYSHmHak2IJCDMApCV51p0MqGYP8Er3DbMSQTPUFuTq779uUIarDqW+zmA==",
+
"dependencies": [
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/popper@1.31.1",
+
"@zag-js/rect-utils@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
+
]
+
},
+
"@zag-js/navigation-menu@1.31.1": {
+
"integrity": "sha512-xS4aynqmB9NYicPbEW8lPPakAfDfSgIDL1pRVSD6f1+VXkHD6LgNn6jUNDNbFt65mGhLpA2IczbvLCxv0g/ISQ==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dismissable@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/popper@1.27.1",
-
"@zag-js/rect-utils@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/number-input@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/number-input@1.27.1": {
-
"integrity": "sha512-oK3cc11apnQzWT6dfAbevrWm0LCKNXDkIudlI2U9FZ8JIsTLO8K4KeGSFGNPA3d6KuNLrhDWC4GsAe+fGdTL6Q==",
+
"@zag-js/number-input@1.31.1": {
+
"integrity": "sha512-vn+BXEZ2/g2CMIFFyjjye/SbCeW3I/rlszL8EyBmhMcuA1l51OX2WKry6HeQNiU41uMyFg2rb1pb5KVw1gJsCg==",
"dependencies": [
"@internationalized/number@3.6.5",
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/number-utils@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/pagination@1.27.1": {
-
"integrity": "sha512-tg23cP07weOtjNeEqOqS3Ilic3ikaIYQ7s9wi/JjvKUPMS+bi/LZRM12cfLD1tIwSUYjjLkr/reTnrYU3s2lZQ==",
+
"@zag-js/pagination@1.31.1": {
+
"integrity": "sha512-icW6FNzIKNz7iXU+prlQWpMFJedDrhmCKzzI39SY+dv5g1Gnrlc0b44PxvNl5PWFLSkB5KBT/R1WCqd8Kh4cCA==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
-
"@zag-js/password-input@1.27.1": {
-
"integrity": "sha512-L6fodHRVxud5aIBh7v0dayOzrK11WaTO6CBGNC/HELf2xvFR4bs7vOPJ/NbKh1UHMZDe3s/nbwxVHpM//JpLcQ==",
+
"@zag-js/password-input@1.31.1": {
+
"integrity": "sha512-AivOeNO14a39xhxVMB2TVmIjmQ89OwVz0+2IjX3JjLS2Pmia+gg9xnVd2kBIcKfnqUN4MBnzmk7t46YWJMQVVQ==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/pin-input@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/pin-input@1.27.1": {
-
"integrity": "sha512-FEJ+hk6oO23ofSaS1DqnSLS8AMkJ4Aw1N1Ny+crwmLCr+29cuNtsgZos8WxRhKguZKW4AqIjgrtIAPJEgDeHFw==",
+
"@zag-js/pin-input@1.31.1": {
+
"integrity": "sha512-k3ESoX5ve5sbWBLTCPYAzgLjRU7mVNEUiqAOhRgazOcBGV5wjGh398zWb1jr0FMxPnoAMrXDN/CQwJTmJcMKrg==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/popover@0.62.1": {
···
"focus-trap"
},
-
"@zag-js/popover@1.27.1": {
-
"integrity": "sha512-HvzogYsWhA2eVavSDJKsA98jzU95r/bSc6SsutnMp32afqf6eo2cZDOMm29tjzP2RPmZFYMwXVrQ4VZB4mIhXw==",
+
"@zag-js/popover@1.31.1": {
+
"integrity": "sha512-uCFJP3DFBkEBAre6lgGLw2xWS2ZIuT/DLeajIXb+8BmC9KCF0wY4c9qojx9F3rGMJQxcGl+WUoXENkOvkTaVhQ==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/aria-hidden@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dismissable@1.27.1",
-
"@zag-js/dom-query@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/aria-hidden@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
"@zag-js/focus-trap",
-
"@zag-js/popper@1.27.1",
-
"@zag-js/remove-scroll@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/popper@1.31.1",
+
"@zag-js/remove-scroll@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/popper@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/popper@1.27.1": {
-
"integrity": "sha512-ac9YpcIvhd9+QDhm85E0BzPmjTuAWc/FRQOhG/EWKSUDvFZGNAcXLSVS6zxIWPEdY2vDG3Ri9jpCNv89bzzpoQ==",
+
"@zag-js/popper@1.31.1": {
+
"integrity": "sha512-wLXcEqzn9MK1rGbsgnDH26o5ZWqR4oeb6ZepKKy0gcuJl/1S5/dr1VBvxJNMZlf9d6etvYklG5LRnIVkXCbrjA==",
"dependencies": [
"@floating-ui/dom@1.7.4",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/presence@0.62.1": {
···
"@zag-js/types@0.62.1"
},
-
"@zag-js/presence@1.27.1": {
-
"integrity": "sha512-8riBzIC8XWiGdNWoUex6GnRo4/ykkeqcuiPCP6Lm67Kdi9hTCOuu3v8BdHgRkb4LxMg1LW7v+d7maCm5My9PMA==",
+
"@zag-js/presence@1.31.1": {
+
"integrity": "sha512-tv+WsBnA0abIlDuEfZMh0lRPF4cMs6kWJosNkGBwzeXnGds+KXjzpL2KDtwDgbJgN3sI0xHPMYjRy2v3ZamcDA==",
"dependencies": [
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1"
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1"
},
"@zag-js/progress@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/progress@1.27.1": {
-
"integrity": "sha512-mBat/fn7jhuZXg+UBZMAQv3uL9W/HoDcrzm606PNycD+QyHFe8J1kpzHr8hFUFtCTzSDzmd5kf9zP0hieVPQTQ==",
+
"@zag-js/progress@1.31.1": {
+
"integrity": "sha512-f9lIDHCRcFAG14LVEKOAPTdqPzphwIIraC6fTr9AwmNlYI6/qFDkz3jOlYVSyk5VsJAIFM/777x/CdqjliiOqg==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/qr-code@0.62.1": {
···
"uqr"
},
-
"@zag-js/qr-code@1.27.1": {
-
"integrity": "sha512-o3cGKXVf7Jea4lDPs5hcA6+8D811d6rt+V4L9mf5OKWdbOi4meGpy1lNNn7szvmtvTOkQcDd6ozRprk/jI1LJA==",
+
"@zag-js/qr-code@1.31.1": {
+
"integrity": "sha512-Rxh+HF12SgUp5rvTelp1qyLK3xkn37h2fT/L4eBQ0f8OUEo8wfowEbs36+1i61d6UuH7PJt4q/07eIf6vNVevA==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1",
"proxy-memoize",
"uqr"
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/radio-group@1.27.1": {
-
"integrity": "sha512-P1IHUrXv9iMHwLNdcIRoW0DQGfJ2DoMREWOohy8Gdekoo4/+xOGbr9qi9++QN//HMLsbB1cnD7+7WqqEZU1Hkw==",
+
"@zag-js/radio-group@1.31.1": {
+
"integrity": "sha512-OfKIdEtSG0EuHM+cFVqcR+04yzZmcDRgG3j0QhoJsyS1my63ZHbwC2HNAtfPFh4U4sJx9yUexwSzPGZ6pOzIdw==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
"@zag-js/focus-visible",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/rating-group@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/rating-group@1.27.1": {
-
"integrity": "sha512-bjsWkUwMtlm0Jsajz4j14ULFEeYtGTShqPZvFuVDrEX8xSuZXujfxOdY0dphc0EreyjL1YjvYboAXvYsVbOaVw==",
+
"@zag-js/rating-group@1.31.1": {
+
"integrity": "sha512-BkQUglKm4a+KXYPACYvIvBJSuEyzV0YQqjjiucwJ5UiOlK72C66VBvyGN+DqJRDnkU1K5azt6E1Ja5ANk3fgsg==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/rect-utils@0.62.1": {
"integrity": "sha512-6w56LuRD382Oa2FXi4AfKQqgtUPS/nc/mZzXiaqKz9b5aFA1CXtmEwNC2GaiXhkqJp5DyxHwujDfQP1WXACnRQ=="
},
-
"@zag-js/rect-utils@1.27.1": {
-
"integrity": "sha512-BYq+dVrNt+H4hX7wkS3j9ZK+BNKrb1f9vm52D5+TnNs61coidfY5zmhOqQjkgSVBWblDqYWrLskNCymW7t5MVA=="
+
"@zag-js/rect-utils@1.31.1": {
+
"integrity": "sha512-lBFheAnz8+3aGDFjqlkw0Iew/F03lFjiIf26hkkcFSZu0ltNZUMG/X3XLHUnHxdfbdBguc8ons6mr2MkVvisng=="
},
"@zag-js/remove-scroll@0.62.1": {
"integrity": "sha512-7xpX6HUrOEq/TNLIWojYnQf7kj20bk8ueOKpu7cTZmoN0LSL6cS09uil+NOqb+SzZsiRmQKvzd3fQBNwbdab5Q==",
···
"@zag-js/dom-query@0.62.1"
},
-
"@zag-js/remove-scroll@1.27.1": {
-
"integrity": "sha512-MOnQXzifbeEuW/XgDMbb76wbWdaq++DEwE6CLmMQZhAR4rJUNIYVhcOFVqBWwMcMIJkvK8ROZucTPxOPmTHz1Q==",
+
"@zag-js/remove-scroll@1.31.1": {
+
"integrity": "sha512-gVVJuFKaCjo652RmajYmkjXKgjJWLQ5ZhZLTaLUKWM1mAarvlqnLui8jrHEHLxqpfsjQylfdhJKkWmyF8NAgTA==",
"dependencies": [
-
"@zag-js/dom-query@1.27.1"
+
"@zag-js/dom-query@1.31.1"
},
-
"@zag-js/scroll-area@1.27.1": {
-
"integrity": "sha512-lfAsmdiKv6racE+rlwUJkgqjIOjjCyJcWNkM4JKZzKCI6jlqKBUOhmNjJcqiIYtGXFapaslXJrcIOTxW7nZoEg==",
+
"@zag-js/scroll-area@1.31.1": {
+
"integrity": "sha512-GBXd1K3U0AHwWlJaqAMKQMZyeoxuBO6XYrVgdvzgiftQbJrZs5fuYOFyDvPLDWHTLYxaHso44/f+9EmAUAiytw==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
-
"@zag-js/scroll-snap@1.27.1": {
-
"integrity": "sha512-XTwox/aHb0J51v0ycObadvDjeA26bZwadAm+5pr1Eic1Tf8gUcMLpwEHBqlp3vay58UzrPWhqCEBKsgYwYgNEA==",
+
"@zag-js/scroll-snap@1.31.1": {
+
"integrity": "sha512-YWsfhcQqiffu2X9HuB0fMnEQAu6rEOfGcvQYinvB6pjWPOvIJGxGMi/dYyy21XQDNJ9K1IcWRIo/yuaajoJyQQ==",
"dependencies": [
-
"@zag-js/dom-query@1.27.1"
+
"@zag-js/dom-query@1.31.1"
},
"@zag-js/select@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/select@1.27.1": {
-
"integrity": "sha512-yZUid+GkASbxsuXeCxn2nK7DoZOBG3fmCR/wJSlBQu/kYkXUPcy1MmrZHakmJNFr6MvrP8RVYV7O3Jr1mPBgaA==",
+
"@zag-js/select@1.31.1": {
+
"integrity": "sha512-vKWb8BiRY83Y3HkDNnimf6cr1yvzJh1HwZlzXFz0y47zEvlikQaf+r96obR78RgTtMjNTTV15tTXdc1/WFoYkw==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/collection@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dismissable@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/popper@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/collection@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/popper@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/signature-pad@0.62.1": {
···
"perfect-freehand"
},
-
"@zag-js/signature-pad@1.27.1": {
-
"integrity": "sha512-NuyKmZwfjBZ+PJb04xQjYf9wTkBMdU9XTS/4cpEWAOK0DoErq4kiqrV/yExPB7V7KtIEIkC4Xd+WgMOD6K1vBQ==",
+
"@zag-js/signature-pad@1.31.1": {
+
"integrity": "sha512-bz3WtLuIZoLrJDKcdS7fPAdD/Qi9wKiKACl5cu+ftv9zg8w+qqYNLtjH9HxeUFbCtQRKqcdXjO/UZ8iL07hgsQ==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1",
"perfect-freehand"
},
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/slider@1.27.1": {
-
"integrity": "sha512-p6zyMLU6cBtubk5673q2wk9JqCHf0l8my7nWY16KWqLWd68IFBSp7wrOyTYa0ifZ9CvmZZSjdL/w2TFJ4SHVKQ==",
+
"@zag-js/slider@1.31.1": {
+
"integrity": "sha512-FILbLTMd3BnyclZ28+ippfyqzYPGK60qZapxtTERmWDC75Okf8AFnTCQf84Y8jRmBKCS1yhjF+IOtkFAENeB6w==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
-
"@zag-js/solid@1.27.1_solid-js@1.9.10__seroval@1.3.2": {
-
"integrity": "sha512-3r3VOWDjW3g7wkxA0AivdM3aiurwrXywwbII6FjHaIL4SrEe7OvAtE7hKHSPlKdCRS9Z0ZVt6C/uKYm/YFo9+Q==",
+
"@zag-js/solid@1.31.1_solid-js@1.9.10__seroval@1.3.2": {
+
"integrity": "sha512-NUgE6/CBl66+rYwQcOT1W0SZFwUmajAL1eIck7BFhoK/UTuNoyZZ6KBBV2GUeW8s4ijk/QoM/FKQ57Knjo9q/A==",
"dependencies": [
"@solid-primitives/keyed",
-
"@zag-js/core@1.27.1",
-
"@zag-js/store@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/store@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1",
"solid-js"
},
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/splitter@1.27.1": {
-
"integrity": "sha512-y7xKYI2d6LxHiWJ/RFl96s+PBr7gEs6J7xLiJ0hP+tqyFDeJ3215slIAuXA7Zkk8OLLcgj6f4QDEQ3xXwZl9EA==",
+
"@zag-js/splitter@1.31.1": {
+
"integrity": "sha512-7SGBT2/xKsOzeSQEg+Otn1XV3RHrAz3jTySjBRKoEmdxubhfREqbKotbGVG65aTve11fQnmJ3Oyt3GJOeraxLA==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
-
"@zag-js/steps@1.27.1": {
-
"integrity": "sha512-RciH9pg3Li3u1BFZlDjFptlrqmovy3BD8lMjcCzcn3Pr+v8AQQb1ZQku40VZ6x+ZBz7ZtIp+EZkBwY93I3YEBA==",
+
"@zag-js/steps@1.31.1": {
+
"integrity": "sha512-KsBH38V3tH9/q8CDgx4sUSXLYwFdcp1crZy8hTIcN0RUiZ55PmqYKkN2znzBjTbaCW9yhP8kXsbuo2s8OIU5lQ==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/store@0.62.1": {
···
"proxy-compare@3.0.0"
},
-
"@zag-js/store@1.27.1": {
-
"integrity": "sha512-oK8NX9gvwi9NzjPo6oujksSli+hgh7m5ZDRM4SY7T3bBaipz7GsNZuXW+i6DMvDNObtTHbVzQ5ZaqlTQUuos0A==",
+
"@zag-js/store@1.31.1": {
+
"integrity": "sha512-d5ZTRciTuXOGQ3nML15kQLaTiR1wJPxT1Fu1nN659X6Rl8DPtubYaRCZ3RCk9Kyiyg2z5HxeVqDswaDvGbM9Rg==",
"dependencies": [
"proxy-compare@3.0.1"
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/switch@1.27.1": {
-
"integrity": "sha512-IuYacFHlQsxkFCU8ABGjwhtvWARexAYS/BMQkD5W8s0cwNHR3uOLPGjrJhSkJqvx3ENpSTRRKqTwawXVeFg2BQ==",
+
"@zag-js/switch@1.31.1": {
+
"integrity": "sha512-Jii3OSqSa9sQux+hvSRvp9dirzUF09+PAjrLjCQs+BT08EZ0XqeGvVzM0Wqf9LFy07HdLZntai3IUaXLF6byBw==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
"@zag-js/focus-visible",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/tabs@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/tabs@1.27.1": {
-
"integrity": "sha512-jI+frE9z+wVfoqYA/7Xxr+SWix3OmjpfA7+F8GK1XPdN8atD/uYRgE7CbqwPc24fhIO/xkl1sNKRv83HaCMjvw==",
+
"@zag-js/tabs@1.31.1": {
+
"integrity": "sha512-QBq4ngpBNMNEI7Wuaq8llwHOqgcVbNHHEDC5zHg60Bf7MY5ltP8wSq6Kldu0zZRVwrLzanYoMELDUyf9H0vtnw==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/tags-input@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/tags-input@1.27.1": {
-
"integrity": "sha512-+XUOwKFWfGwmJpl3hWK8kHq5IeuZUZaR1FgNzbO029ll3p5unBOGzEL51oCH1dpeuMY/FyXEssNLrvVgId6E3Q==",
+
"@zag-js/tags-input@1.31.1": {
+
"integrity": "sha512-V4lJe/aMIs7WVoXYfszU6E3iARLLRQFMiycu76/slb8NWJiLrkSIaMQ4FAe2pqkodgCWXA83tuaeAZRq7ouTFg==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/auto-resize@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/interact-outside@1.27.1",
-
"@zag-js/live-region@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/auto-resize@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/interact-outside@1.31.1",
+
"@zag-js/live-region@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/text-selection@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/timer@1.27.1": {
-
"integrity": "sha512-1t1APVDBoE9GcjKQHjUvfR6nlhPA6bm6JYVQj1PS04i+120fvfpcFSWAbgay2dmGcpdpFrO5W0a5vObYFQ6aXg==",
+
"@zag-js/timer@1.31.1": {
+
"integrity": "sha512-bXfeSbneWGOBKlD5dYq06T8CSY9Ky+qb1yIfJAFsRF4n34mpUYRdtfwpNQYyddGpkLD7oH4VibajeZXB7HaL0g==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/toast@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/toast@1.27.1": {
-
"integrity": "sha512-XfVxYlMkV8K1inmSwF+VKXkEPG/fDZcpjlj2PfbrWQu2PSD5mrJakBi1FzKfcCybp/OOD0V9Nfki1AFkhKKEwg==",
+
"@zag-js/toast@1.31.1": {
+
"integrity": "sha512-MueHEei9ol3H6tWBruLxF7yEUpV3vsJ8brTQVRRtPr/6pqBs5kGzfL4YskhQ2tiwO6egay8YrkbaS3xJfpKt4w==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dismissable@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/toggle-group@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/toggle-group@1.27.1": {
-
"integrity": "sha512-b6KOd9ZKkWIl1vAmNIkeKrxE/ikKS5aGoseNbyFrcSPW43DwFZD24EfVIQ72/afzdTttRga0VbY1JgaCXothFw==",
+
"@zag-js/toggle-group@1.31.1": {
+
"integrity": "sha512-Mojc7mex01/gvwXfrUIIThzT7HOktZoMge9rrb6+P7rQX7ulyNXYPjQrW2tay+t54GOJ3xODo9dU7PpRzXeHbw==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
-
"@zag-js/toggle@1.27.1": {
-
"integrity": "sha512-Klr1DzbBZ1mO6X+jwYvhEW1G/RB6DOlviKPbDQNwcma4fa+qpX0lbgSfQf/9xC8omv1sZXEDxp6dzrRUbDEyAA==",
+
"@zag-js/toggle@1.31.1": {
+
"integrity": "sha512-HbFBuGfdyYkNvOp3cEB8Civ4E92finT4u3e4LKysB4/LboqKA0cJvFhSnHyThbROONTx06W/3CxwoSFR4o8IhA==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/tooltip@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/tooltip@1.27.1": {
-
"integrity": "sha512-RVMFFdqX7HaSoO4GEHikRzrScelwVMr+mbTfrCcGx1i/9AWf7YmNh1P9p3QMIkP2/9TB9FfQfqU7Flyz0qc3Iw==",
+
"@zag-js/tooltip@1.31.1": {
+
"integrity": "sha512-pWEU5XhEPpnyl2VLrGJlyjj7+p+X0UX3Fld+WGhc/hCaWiuW2ZzD/ewDRhSOZu4/TzAO3axrPqG1YhW4fhogKQ==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
"@zag-js/focus-visible",
-
"@zag-js/popper@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/popper@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
-
"@zag-js/tour@1.27.1": {
-
"integrity": "sha512-0VgJEvGNtiuhw/sy2zmG93gwBas5sOjfbqPsCxDr1zyRCHjYIUOG1FhbJmH9Lo6Y+CowQ4j+FRzYAnjHjPp8mg==",
+
"@zag-js/tour@1.31.1": {
+
"integrity": "sha512-ZmcAevXxoENHmHG0xwdIt1oCLe2/DW1CEBFPr7YuGKc+FU3QbBVZMzcBHrJCe0nkKXhUKzHOHM78bOHD/gM76w==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dismissable@1.27.1",
-
"@zag-js/dom-query@1.27.1",
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dismissable@1.31.1",
+
"@zag-js/dom-query@1.31.1",
"@zag-js/focus-trap",
-
"@zag-js/interact-outside@1.27.1",
-
"@zag-js/popper@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/interact-outside@1.31.1",
+
"@zag-js/popper@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/tree-view@0.62.1": {
···
"@zag-js/utils@0.62.1"
},
-
"@zag-js/tree-view@1.27.1": {
-
"integrity": "sha512-YrP/F1d93/fXKtrN1Uhmzv9i13o39cLPno8X0i7PWvPVUv7HH+RqM0JZVROOQqhCWNUvkv/klGuGw5StP/RJGQ==",
+
"@zag-js/tree-view@1.31.1": {
+
"integrity": "sha512-Q+VSQz7X1XR8gT7ICWXlQOJIvzTWw/9BlF7B073UpEgAKRFlD11FmERka5y/BYqj8uE0vazcbSEA3Vc2dgCMJA==",
"dependencies": [
-
"@zag-js/anatomy@1.27.1",
-
"@zag-js/collection@1.27.1",
-
"@zag-js/core@1.27.1",
-
"@zag-js/dom-query@1.27.1",
-
"@zag-js/types@1.27.1",
-
"@zag-js/utils@1.27.1"
+
"@zag-js/anatomy@1.31.1",
+
"@zag-js/collection@1.31.1",
+
"@zag-js/core@1.31.1",
+
"@zag-js/dom-query@1.31.1",
+
"@zag-js/types@1.31.1",
+
"@zag-js/utils@1.31.1"
},
"@zag-js/types@0.62.1": {
"integrity": "sha512-wjJvasoxg/rsFhMTaGLJEjYnSGaXz7DymtO+wWOIfa+O6y44flHc8wRQ1l6ZRRetCz4RALTuwhZI+0ESZ1Bpwg==",
"dependencies": [
-
"csstype"
+
"csstype@3.1.3"
},
-
"@zag-js/types@1.27.1": {
-
"integrity": "sha512-t7AtcXElKEjvvRlC1gcDmKgtIeiOtCL3vWf8K8kq7nVhq29q7PHtXB5ywn+R+CWnqJOmIDezKZjC1emXZKF0OA==",
+
"@zag-js/types@1.31.1": {
+
"integrity": "sha512-mKw5DoeBjFykfUHv3ifCRjcogFTqp0aCCsmqQMfnf+J/mg2aXpAx76AXT1PYXAVVhxdP6qGXNd0mOQZDVrIlSQ==",
"dependencies": [
-
"csstype"
+
"csstype@3.2.3"
},
"@zag-js/utils@0.62.1": {
"integrity": "sha512-90sk7Li2mqoMCAfZbns1xrySEg4PIFPwLpiRO/T2kvKpc9z/qsq2WqDFpS8eqHfYRmkLnmQa0Bw1LzItYYsGVQ=="
},
-
"@zag-js/utils@1.27.1": {
-
"integrity": "sha512-AHSd3VeiBvVoa8lAUe7YsCzk37X9zn2jKiYv13k5Ac+NnbYRbpWzZZZUfNGbFAsu5cSE4X1HUw38H1GTuBeWNQ=="
+
"@zag-js/utils@1.31.1": {
+
"integrity": "sha512-KLm0pmOtf4ydALbaVLboL7W98TDVxwVVLvSuvtRgV53XTjlsVopTRA5/Xmzq2NhWujDZAXv7bRV603NDgDcjSw=="
},
"ajv@8.17.1": {
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
···
"integrity": "sha512-gYjt7OIqdM0PcttNYP2aVrr2G0bMALkBaoehD4BuRGjAOtipg0b6wHg1yNL+s5zSnLZZrGHOw4IrND8CD+3oIQ==",
"bin": true
},
+
"boolean@3.2.0": {
+
"integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
+
"deprecated": true
+
},
"braces@3.0.3": {
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dependencies": [
"fill-range"
},
-
"browserslist@4.24.4": {
-
"integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
-
"dependencies": [
-
"caniuse-lite",
-
"electron-to-chromium",
-
"node-releases",
-
"update-browserslist-db@1.1.4_browserslist@4.24.4"
-
],
-
"bin": true
-
},
"browserslist@4.28.0": {
"integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==",
"dependencies": [
···
"caniuse-lite",
"electron-to-chromium",
"node-releases",
-
"update-browserslist-db@1.1.4_browserslist@4.28.0"
+
"update-browserslist-db"
],
"bin": true
},
"bundle-n-require@1.1.2": {
"integrity": "sha512-bEk2jakVK1ytnZ9R2AAiZEeK/GxPUM8jvcRxHZXifZDMcjkI4EG/GlsJ2YGSVYT9y/p/gA9/0yDY8rCGsSU6Tg==",
"dependencies": [
-
"esbuild",
+
"esbuild@0.25.12",
"node-eval"
},
···
"caniuse-api@3.0.0": {
"integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
"dependencies": [
-
"browserslist@4.28.0",
+
"browserslist",
"caniuse-lite",
"lodash.memoize",
"lodash.uniq"
···
"dependencies": [
"readdirp"
+
},
+
"chownr@3.0.0": {
+
"integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="
},
"code-block-writer@13.0.3": {
"integrity": "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg=="
···
"csstype@3.1.3": {
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
},
+
"csstype@3.2.3": {
+
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="
+
},
"debug@4.4.3": {
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"dependencies": [
"ms"
},
-
"detect-libc@1.0.3": {
-
"integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
-
"bin": true
+
"define-data-property@1.1.4": {
+
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+
"dependencies": [
+
"es-define-property",
+
"es-errors",
+
"gopd"
+
]
+
},
+
"define-properties@1.2.1": {
+
"integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+
"dependencies": [
+
"define-data-property",
+
"has-property-descriptors",
+
"object-keys"
+
]
+
},
+
"detect-libc@2.1.2": {
+
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="
+
},
+
"detect-node@2.1.0": {
+
"integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
},
"effect@3.10.15": {
"integrity": "sha512-LdczPAFbtij3xGr9i+8PyDtuWdlXjSY5UJ8PKrYrr0DClKfR/OW3j8sxtambWYljzJAYD865KFhv7LdbWdG7VQ==",
···
"entities@6.0.1": {
"integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="
},
+
"es-define-property@1.0.1": {
+
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="
+
},
+
"es-errors@1.3.0": {
+
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
+
},
+
"es6-error@4.1.1": {
+
"integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="
+
},
"esbuild@0.25.12": {
"integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
"optionalDependencies": [
-
"@esbuild/aix-ppc64",
-
"@esbuild/android-arm",
-
"@esbuild/android-arm64",
-
"@esbuild/android-x64",
-
"@esbuild/darwin-arm64",
-
"@esbuild/darwin-x64",
-
"@esbuild/freebsd-arm64",
-
"@esbuild/freebsd-x64",
-
"@esbuild/linux-arm",
-
"@esbuild/linux-arm64",
-
"@esbuild/linux-ia32",
-
"@esbuild/linux-loong64",
-
"@esbuild/linux-mips64el",
-
"@esbuild/linux-ppc64",
-
"@esbuild/linux-riscv64",
-
"@esbuild/linux-s390x",
-
"@esbuild/linux-x64",
-
"@esbuild/netbsd-arm64",
-
"@esbuild/netbsd-x64",
-
"@esbuild/openbsd-arm64",
-
"@esbuild/openbsd-x64",
-
"@esbuild/openharmony-arm64",
-
"@esbuild/sunos-x64",
-
"@esbuild/win32-arm64",
-
"@esbuild/win32-ia32",
-
"@esbuild/win32-x64"
+
"@esbuild/aix-ppc64@0.25.12",
+
"@esbuild/android-arm@0.25.12",
+
"@esbuild/android-arm64@0.25.12",
+
"@esbuild/android-x64@0.25.12",
+
"@esbuild/darwin-arm64@0.25.12",
+
"@esbuild/darwin-x64@0.25.12",
+
"@esbuild/freebsd-arm64@0.25.12",
+
"@esbuild/freebsd-x64@0.25.12",
+
"@esbuild/linux-arm@0.25.12",
+
"@esbuild/linux-arm64@0.25.12",
+
"@esbuild/linux-ia32@0.25.12",
+
"@esbuild/linux-loong64@0.25.12",
+
"@esbuild/linux-mips64el@0.25.12",
+
"@esbuild/linux-ppc64@0.25.12",
+
"@esbuild/linux-riscv64@0.25.12",
+
"@esbuild/linux-s390x@0.25.12",
+
"@esbuild/linux-x64@0.25.12",
+
"@esbuild/netbsd-arm64@0.25.12",
+
"@esbuild/netbsd-x64@0.25.12",
+
"@esbuild/openbsd-arm64@0.25.12",
+
"@esbuild/openbsd-x64@0.25.12",
+
"@esbuild/openharmony-arm64@0.25.12",
+
"@esbuild/sunos-x64@0.25.12",
+
"@esbuild/win32-arm64@0.25.12",
+
"@esbuild/win32-ia32@0.25.12",
+
"@esbuild/win32-x64@0.25.12"
],
"scripts": true,
"bin": true
},
-
"escalade@3.1.2": {
-
"integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA=="
+
"esbuild@0.27.2": {
+
"integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==",
+
"optionalDependencies": [
+
"@esbuild/aix-ppc64@0.27.2",
+
"@esbuild/android-arm@0.27.2",
+
"@esbuild/android-arm64@0.27.2",
+
"@esbuild/android-x64@0.27.2",
+
"@esbuild/darwin-arm64@0.27.2",
+
"@esbuild/darwin-x64@0.27.2",
+
"@esbuild/freebsd-arm64@0.27.2",
+
"@esbuild/freebsd-x64@0.27.2",
+
"@esbuild/linux-arm@0.27.2",
+
"@esbuild/linux-arm64@0.27.2",
+
"@esbuild/linux-ia32@0.27.2",
+
"@esbuild/linux-loong64@0.27.2",
+
"@esbuild/linux-mips64el@0.27.2",
+
"@esbuild/linux-ppc64@0.27.2",
+
"@esbuild/linux-riscv64@0.27.2",
+
"@esbuild/linux-s390x@0.27.2",
+
"@esbuild/linux-x64@0.27.2",
+
"@esbuild/netbsd-arm64@0.27.2",
+
"@esbuild/netbsd-x64@0.27.2",
+
"@esbuild/openbsd-arm64@0.27.2",
+
"@esbuild/openbsd-x64@0.27.2",
+
"@esbuild/openharmony-arm64@0.27.2",
+
"@esbuild/sunos-x64@0.27.2",
+
"@esbuild/win32-arm64@0.27.2",
+
"@esbuild/win32-ia32@0.27.2",
+
"@esbuild/win32-x64@0.27.2"
+
],
+
"scripts": true,
+
"bin": true
},
"escalade@3.2.0": {
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="
+
},
+
"escape-string-regexp@4.0.0": {
+
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
},
"esm-env@1.2.2": {
"integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="
···
"to-regex-range"
},
+
"flatbuffers@25.9.23": {
+
"integrity": "sha512-MI1qs7Lo4Syw0EOzUl0xjs2lsoeqFku44KpngfIduHBYvzm8h2+7K8YMQh1JtVVVrUvhLpNwqVi4DERegUJhPQ=="
+
},
"focus-trap@7.5.4": {
"integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==",
"dependencies": [
"tabbable"
},
-
"fs-extra@11.2.0": {
-
"integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
+
"fs-extra@11.3.2": {
+
"integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"dependencies": [
"graceful-fs",
"jsonfile",
···
"is-glob"
},
+
"global-agent@3.0.0": {
+
"integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
+
"dependencies": [
+
"boolean",
+
"es6-error",
+
"matcher",
+
"roarr",
+
"semver@7.7.3",
+
"serialize-error"
+
]
+
},
+
"globalthis@1.0.4": {
+
"integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
+
"dependencies": [
+
"define-properties",
+
"gopd"
+
]
+
},
"globrex@0.1.2": {
"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg=="
},
+
"gopd@1.2.0": {
+
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="
+
},
"graceful-fs@4.2.11": {
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
+
},
+
"guid-typescript@1.0.9": {
+
"integrity": "sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ=="
+
},
+
"has-property-descriptors@1.0.2": {
+
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+
"dependencies": [
+
"es-define-property"
+
]
},
"hookable@5.5.3": {
"integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
···
"json-schema-traverse@1.0.0": {
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
},
+
"json-stringify-safe@5.0.1": {
+
"integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
+
},
"json5@2.2.3": {
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"bin": true
···
"klona@2.0.6": {
"integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA=="
},
-
"lightningcss-darwin-arm64@1.25.1": {
-
"integrity": "sha512-G4Dcvv85bs5NLENcu/s1f7ehzE3D5ThnlWSDwE190tWXRQCQaqwcuHe+MGSVI/slm0XrxnaayXY+cNl3cSricw==",
+
"lightningcss-android-arm64@1.30.2": {
+
"integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==",
+
"os": ["android"],
+
"cpu": ["arm64"]
+
},
+
"lightningcss-darwin-arm64@1.30.2": {
+
"integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==",
"os": ["darwin"],
"cpu": ["arm64"]
},
-
"lightningcss-darwin-x64@1.25.1": {
-
"integrity": "sha512-dYWuCzzfqRueDSmto6YU5SoGHvZTMU1Em9xvhcdROpmtOQLorurUZz8+xFxZ51lCO2LnYbfdjZ/gCqWEkwixNg==",
+
"lightningcss-darwin-x64@1.30.2": {
+
"integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==",
"os": ["darwin"],
"cpu": ["x64"]
},
-
"lightningcss-freebsd-x64@1.25.1": {
-
"integrity": "sha512-hXoy2s9A3KVNAIoKz+Fp6bNeY+h9c3tkcx1J3+pS48CqAt+5bI/R/YY4hxGL57fWAIquRjGKW50arltD6iRt/w==",
+
"lightningcss-freebsd-x64@1.30.2": {
+
"integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==",
"os": ["freebsd"],
"cpu": ["x64"]
},
-
"lightningcss-linux-arm-gnueabihf@1.25.1": {
-
"integrity": "sha512-tWyMgHFlHlp1e5iW3EpqvH5MvsgoN7ZkylBbG2R2LWxnvH3FuWCJOhtGcYx9Ks0Kv0eZOBud789odkYLhyf1ng==",
+
"lightningcss-linux-arm-gnueabihf@1.30.2": {
+
"integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==",
"os": ["linux"],
"cpu": ["arm"]
},
-
"lightningcss-linux-arm64-gnu@1.25.1": {
-
"integrity": "sha512-Xjxsx286OT9/XSnVLIsFEDyDipqe4BcLeB4pXQ/FEA5+2uWCCuAEarUNQumRucnj7k6ftkAHUEph5r821KBccQ==",
+
"lightningcss-linux-arm64-gnu@1.30.2": {
+
"integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==",
"os": ["linux"],
"cpu": ["arm64"]
},
-
"lightningcss-linux-arm64-musl@1.25.1": {
-
"integrity": "sha512-IhxVFJoTW8wq6yLvxdPvyHv4NjzcpN1B7gjxrY3uaykQNXPHNIpChLB52+wfH+yS58zm1PL4LemUp8u9Cfp6Bw==",
+
"lightningcss-linux-arm64-musl@1.30.2": {
+
"integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==",
"os": ["linux"],
"cpu": ["arm64"]
},
-
"lightningcss-linux-x64-gnu@1.25.1": {
-
"integrity": "sha512-RXIaru79KrREPEd6WLXfKfIp4QzoppZvD3x7vuTKkDA64PwTzKJ2jaC43RZHRt8BmyIkRRlmywNhTRMbmkPYpA==",
+
"lightningcss-linux-x64-gnu@1.30.2": {
+
"integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==",
"os": ["linux"],
"cpu": ["x64"]
},
-
"lightningcss-linux-x64-musl@1.25.1": {
-
"integrity": "sha512-TdcNqFsAENEEFr8fJWg0Y4fZ/nwuqTRsIr7W7t2wmDUlA8eSXVepeeONYcb+gtTj1RaXn/WgNLB45SFkz+XBZA==",
+
"lightningcss-linux-x64-musl@1.30.2": {
+
"integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==",
"os": ["linux"],
"cpu": ["x64"]
},
-
"lightningcss-win32-x64-msvc@1.25.1": {
-
"integrity": "sha512-9KZZkmmy9oGDSrnyHuxP6iMhbsgChUiu/NSgOx+U1I/wTngBStDf2i2aGRCHvFqj19HqqBEI4WuGVQBa2V6e0A==",
+
"lightningcss-win32-arm64-msvc@1.30.2": {
+
"integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==",
+
"os": ["win32"],
+
"cpu": ["arm64"]
+
},
+
"lightningcss-win32-x64-msvc@1.30.2": {
+
"integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==",
"os": ["win32"],
"cpu": ["x64"]
},
-
"lightningcss@1.25.1": {
-
"integrity": "sha512-V0RMVZzK1+rCHpymRv4URK2lNhIRyO8g7U7zOFwVAhJuat74HtkjIQpQRKNCwFEYkRGpafOpmXXLoaoBcyVtBg==",
+
"lightningcss@1.30.2": {
+
"integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==",
"dependencies": [
"detect-libc"
],
"optionalDependencies": [
+
"lightningcss-android-arm64",
"lightningcss-darwin-arm64",
"lightningcss-darwin-x64",
"lightningcss-freebsd-x64",
···
"lightningcss-linux-arm64-musl",
"lightningcss-linux-x64-gnu",
"lightningcss-linux-x64-musl",
+
"lightningcss-win32-arm64-msvc",
"lightningcss-win32-x64-msvc"
},
···
"lodash.uniq@4.5.0": {
"integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="
},
+
"long@5.3.2": {
+
"integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="
+
},
"look-it-up@2.1.0": {
"integrity": "sha512-nMoGWW2HurtuJf6XAL56FWTDCWLOTSsanrgwOyaR5Y4e3zfG5N/0cU5xWZSEU3tBxhQugRbV1xL9jb+ug7yZww=="
},
"lru-cache@5.1.1": {
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dependencies": [
-
"yallist"
+
"yallist@3.1.1"
},
-
"lucide-solid@0.553.0_solid-js@1.9.10__seroval@1.3.2": {
-
"integrity": "sha512-FAvWslAqD/HmCfcvFpbYAjPFf80F60aBlvn7M7Ea/FzYChqpkUiUkJEvG0K1bYHadf7dnkK0DSI992VT26sQdg==",
+
"lucide-solid@0.562.0_solid-js@1.9.10__seroval@1.3.2": {
+
"integrity": "sha512-RzxujbWUoa4KqnV+/mYPINzyf1W969bv0jukSKcGExIl96QmRuylvBQ+d0UcOeZL/ASToPOWS34p9MfdzdvS9Q==",
"dependencies": [
"solid-js"
},
-
"magic-string@0.30.19": {
-
"integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==",
+
"magic-string@0.30.21": {
+
"integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
"dependencies": [
"@jridgewell/sourcemap-codec"
},
-
"mediabunny@1.25.0": {
-
"integrity": "sha512-ozaqk6zS2Vbf3+3+OoxKfnCVeZRcv5PO8DgQtBrM5vpWIbpEK+kMVV6pgfo4mC3XtMwvQEMbhj3zEf0LNklh9w==",
+
"matcher@3.0.0": {
+
"integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
+
"dependencies": [
+
"escape-string-regexp"
+
]
+
},
+
"mediabunny@1.27.1": {
+
"integrity": "sha512-XdgXNox1hx2ynQy3jcCbzX1YsJt9en9VnZVidNXTNnQUdl6q2twSoV1GjgTb7Wlw9evCYXcKkgjE8KNU7K5trg==",
"dependencies": [
"@types/dom-mediacapture-transform",
"@types/dom-webcodecs"
···
"@isaacs/brace-expansion"
},
+
"minipass@7.1.2": {
+
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="
+
},
+
"minizlib@3.1.0": {
+
"integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
+
"dependencies": [
+
"minipass"
+
]
+
},
"ms@2.1.3": {
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
···
"node-releases@2.0.27": {
"integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="
},
+
"object-keys@1.1.1": {
+
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+
},
"object-path@0.11.8": {
"integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA=="
},
+
"onnxruntime-common@1.21.0": {
+
"integrity": "sha512-Q632iLLrtCAVOTO65dh2+mNbQir/QNTVBG3h/QdZBpns7mZ0RYbLRBgGABPbpU9351AgYy7SJf1WaeVwMrBFPQ=="
+
},
+
"onnxruntime-common@1.22.0-dev.20250409-89f8206ba4": {
+
"integrity": "sha512-vDJMkfCfb0b1A836rgHj+ORuZf4B4+cc2bASQtpeoJLueuFc5DuYwjIZUBrSvx/fO5IrLjLz+oTrB3pcGlhovQ=="
+
},
+
"onnxruntime-node@1.21.0": {
+
"integrity": "sha512-NeaCX6WW2L8cRCSqy3bInlo5ojjQqu2fD3D+9W5qb5irwxhEyWKXeH2vZ8W9r6VxaMPUan+4/7NDwZMtouZxEw==",
+
"dependencies": [
+
"global-agent",
+
"onnxruntime-common@1.21.0",
+
"tar"
+
],
+
"os": ["win32", "darwin", "linux"],
+
"scripts": true
+
},
+
"onnxruntime-web@1.22.0-dev.20250409-89f8206ba4": {
+
"integrity": "sha512-0uS76OPgH0hWCPrFKlL8kYVV7ckM7t/36HfbgoFw6Nd0CZVVbQC4PkrR8mBX8LtNUFZO25IQBqV2Hx2ho3FlbQ==",
+
"dependencies": [
+
"flatbuffers",
+
"guid-typescript",
+
"long",
+
"onnxruntime-common@1.22.0-dev.20250409-89f8206ba4",
+
"platform",
+
"protobufjs"
+
]
+
},
"outdent@0.8.0": {
"integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A=="
},
-
"package-manager-detector@1.5.0": {
-
"integrity": "sha512-uBj69dVlYe/+wxj8JOpr97XfsxH/eumMt6HqjNTmJDf/6NO9s+0uxeOneIz3AsPt2m6y9PqzDzd3ATcU17MNfw=="
+
"package-manager-detector@1.6.0": {
+
"integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA=="
},
"parse5@7.3.0": {
"integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
···
"pathe"
},
+
"platform@1.3.6": {
+
"integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg=="
+
},
"pluralize@8.0.0": {
"integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="
},
···
"postcss"
},
-
"postcss-merge-rules@7.0.6_postcss@8.5.6": {
-
"integrity": "sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ==",
+
"postcss-merge-rules@7.0.7_postcss@8.5.6": {
+
"integrity": "sha512-njWJrd/Ms6XViwowaaCc+/vqhPG3SmXn725AGrnl+BgTuRPEacjiLEaGq16J6XirMJbtKkTwnt67SS+e2WGoew==",
"dependencies": [
-
"browserslist@4.28.0",
+
"browserslist",
"caniuse-api",
"cssnano-utils",
"postcss",
···
"postcss-value-parser"
},
-
"postcss-selector-parser@7.1.0": {
-
"integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
+
"postcss-selector-parser@7.1.1": {
+
"integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"dependencies": [
"cssesc",
"util-deprecate"
···
"integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
"bin": true
},
+
"protobufjs@7.5.4": {
+
"integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==",
+
"dependencies": [
+
"@protobufjs/aspromise",
+
"@protobufjs/base64",
+
"@protobufjs/codegen",
+
"@protobufjs/eventemitter",
+
"@protobufjs/fetch",
+
"@protobufjs/float",
+
"@protobufjs/inquire",
+
"@protobufjs/path",
+
"@protobufjs/pool",
+
"@protobufjs/utf8",
+
"@types/node",
+
"long"
+
],
+
"scripts": true
+
},
"proxy-compare@3.0.0": {
"integrity": "sha512-y44MCkgtZUCT9tZGuE278fB7PWVf7fRYy0vbRXAts2o5F0EfC4fIQrvQQGBJo1WJbFcVLXzApOscyJuZqHQc1w=="
},
···
"reusify@1.1.0": {
"integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="
},
+
"roarr@2.15.4": {
+
"integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
+
"dependencies": [
+
"boolean",
+
"detect-node",
+
"globalthis",
+
"json-stringify-safe",
+
"semver-compare",
+
"sprintf-js"
+
]
+
},
"rollup@4.52.5": {
"integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==",
"dependencies": [
···
"queue-microtask"
},
+
"semver-compare@1.0.0": {
+
"integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow=="
+
},
"semver@6.3.1": {
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": true
},
+
"semver@7.7.3": {
+
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+
"bin": true
+
},
+
"serialize-error@7.0.1": {
+
"integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
+
"dependencies": [
+
"type-fest"
+
]
+
},
"seroval-plugins@1.3.3_seroval@1.3.2": {
"integrity": "sha512-16OL3NnUBw8JG1jBLUoZJsLnQq0n5Ua6aHalhJK4fMQkz1lqR7Osz1sA30trBtd9VUDc2NgkuRCn8+/pBwqZ+w==",
"dependencies": [
···
"seroval@1.3.2": {
"integrity": "sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ=="
},
+
"sharp@0.34.5": {
+
"integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==",
+
"dependencies": [
+
"@img/colour",
+
"detect-libc",
+
"semver@7.7.3"
+
],
+
"optionalDependencies": [
+
"@img/sharp-darwin-arm64",
+
"@img/sharp-darwin-x64",
+
"@img/sharp-libvips-darwin-arm64",
+
"@img/sharp-libvips-darwin-x64",
+
"@img/sharp-libvips-linux-arm",
+
"@img/sharp-libvips-linux-arm64",
+
"@img/sharp-libvips-linux-ppc64",
+
"@img/sharp-libvips-linux-riscv64",
+
"@img/sharp-libvips-linux-s390x",
+
"@img/sharp-libvips-linux-x64",
+
"@img/sharp-libvips-linuxmusl-arm64",
+
"@img/sharp-libvips-linuxmusl-x64",
+
"@img/sharp-linux-arm",
+
"@img/sharp-linux-arm64",
+
"@img/sharp-linux-ppc64",
+
"@img/sharp-linux-riscv64",
+
"@img/sharp-linux-s390x",
+
"@img/sharp-linux-x64",
+
"@img/sharp-linuxmusl-arm64",
+
"@img/sharp-linuxmusl-x64",
+
"@img/sharp-wasm32",
+
"@img/sharp-win32-arm64",
+
"@img/sharp-win32-ia32",
+
"@img/sharp-win32-x64"
+
],
+
"scripts": true
+
},
"sisteransi@1.0.5": {
"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="
},
···
"is-fullwidth-code-point"
},
-
"solid-devtools@0.34.4_solid-js@1.9.10__seroval@1.3.2_vite@7.1.12__picomatch@4.0.3_@babel+core@7.28.5": {
+
"solid-devtools@0.34.4_solid-js@1.9.10__seroval@1.3.2_vite@7.3.0__picomatch@4.0.3_@babel+core@7.28.5": {
"integrity": "sha512-/s/pPTLvTkuXGZhLfsuvp7ge/cdpEwrUPoRwoJPYgz74GTUSb5Ozi2V6Z6HkO0ILT7hXB04j16HbH1aaP5VFOA==",
"dependencies": [
"@babel/core",
···
"solid-js@1.9.10_seroval@1.3.2": {
"integrity": "sha512-Coz956cos/EPDlhs6+jsdTxKuJDPT7B5SVIWgABwROyxjY7Xbr8wkzD68Et+NxnV7DLJ3nJdAC2r9InuV/4Jew==",
"dependencies": [
-
"csstype",
+
"csstype@3.2.3",
"seroval",
"seroval-plugins"
···
"source-map-js@1.2.1": {
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
},
+
"sprintf-js@1.1.3": {
+
"integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="
+
},
"string-width@4.2.3": {
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dependencies": [
···
"strip-ansi"
},
+
"tar@7.5.2": {
+
"integrity": "sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==",
+
"dependencies": [
+
"@isaacs/fs-minipass",
+
"chownr",
+
"minipass",
+
"minizlib",
+
"yallist@5.0.0"
+
]
+
},
"tinyglobby@0.2.15_picomatch@4.0.3": {
"integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
"dependencies": [
···
"tslib@2.8.1": {
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
},
+
"type-fest@0.13.1": {
+
"integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="
+
},
"typescript@5.9.3": {
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"bin": true
···
"universalify@2.0.1": {
"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="
},
-
"update-browserslist-db@1.1.4_browserslist@4.24.4": {
-
"integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==",
-
"dependencies": [
-
"browserslist@4.24.4",
-
"escalade@3.2.0",
-
"picocolors"
-
],
-
"bin": true
-
},
"update-browserslist-db@1.1.4_browserslist@4.28.0": {
"integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==",
"dependencies": [
-
"browserslist@4.28.0",
-
"escalade@3.2.0",
+
"browserslist",
+
"escalade",
"picocolors"
],
"bin": true
···
"util-deprecate@1.0.2": {
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
-
"vite-plugin-solid@2.11.10_solid-js@1.9.10__seroval@1.3.2_vite@7.1.12__picomatch@4.0.3_@babel+core@7.28.5": {
+
"vite-plugin-solid@2.11.10_solid-js@1.9.10__seroval@1.3.2_vite@7.3.0__picomatch@4.0.3_@babel+core@7.28.5": {
"integrity": "sha512-Yr1dQybmtDtDAHkii6hXuc1oVH9CPcS/Zb2jN/P36qqcrkNnVPsMTzQ06jyzFPFjj3U1IYKMVt/9ZqcwGCEbjw==",
"dependencies": [
"@babel/core",
···
"vitefu"
},
-
"vite-tsconfig-paths@5.1.4_vite@7.1.12__picomatch@4.0.3_typescript@5.9.3": {
-
"integrity": "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==",
+
"vite-tsconfig-paths@6.0.3_vite@7.3.0__picomatch@4.0.3_typescript@5.9.3": {
+
"integrity": "sha512-7bL7FPX/DSviaZGYUKowWF1AiDVWjMjxNbE8lyaVGDezkedWqfGhlnQ4BZXre0ZN5P4kAgIJfAlgFDVyjrCIyg==",
"dependencies": [
"debug",
"globrex",
···
"vite"
},
-
"vite@7.1.12_picomatch@4.0.3": {
-
"integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==",
+
"vite@7.3.0_picomatch@4.0.3": {
+
"integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==",
"dependencies": [
-
"esbuild",
+
"esbuild@0.27.2",
"fdir",
"picomatch@4.0.3",
"postcss",
···
],
"bin": true
},
-
"vitefu@1.1.1_vite@7.1.12__picomatch@4.0.3": {
+
"vitefu@1.1.1_vite@7.3.0__picomatch@4.0.3": {
"integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==",
"dependencies": [
"vite"
···
},
"yallist@3.1.1": {
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+
},
+
"yallist@5.0.0": {
+
"integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="
},
"workspace": {
"packageJson": {
"dependencies": [
-
"npm:@ark-ui/solid@^5.28.0",
+
"npm:@ark-ui/solid@^5.30.0",
"npm:@atcute/atproto@^3.1.9",
-
"npm:@atcute/bluesky@^3.2.10",
-
"npm:@atcute/client@^4.0.5",
-
"npm:@atcute/identity-resolver@^1.1.4",
-
"npm:@atcute/identity@^1.1.2",
-
"npm:@atcute/lexicons@^1.2.3",
+
"npm:@atcute/bluesky@^3.2.14",
+
"npm:@atcute/client@^4.1.1",
+
"npm:@atcute/identity-resolver@^1.2.0",
+
"npm:@atcute/identity@^1.1.3",
+
"npm:@atcute/lexicons@^1.2.5",
"npm:@atcute/microcosm@1",
-
"npm:@atcute/oauth-browser-client@^2.0.1",
-
"npm:@pandacss/dev@^1.5.1",
-
"npm:@pandacss/preset-base@^1.5.1",
+
"npm:@atcute/oauth-browser-client@^2.0.3",
+
"npm:@huggingface/transformers@^3.8.1",
+
"npm:@pandacss/dev@^1.7.1",
+
"npm:@pandacss/preset-base@^1.7.1",
"npm:@park-ui/panda-preset@~0.43.1",
"npm:@solid-primitives/date@^2.1.4",
"npm:@solid-primitives/map@~0.7.2",
"npm:fast-average-color@^9.5.0",
-
"npm:lucide-solid@0.553",
-
"npm:mediabunny@^1.25.0",
-
"npm:solid-devtools@~0.34.3",
-
"npm:solid-js@^1.9.5",
-
"npm:typescript@^5.7.2",
-
"npm:vite-plugin-solid@^2.11.8",
-
"npm:vite-tsconfig-paths@^5.1.4",
-
"npm:vite@^7.1.4"
+
"npm:lucide-solid@0.562",
+
"npm:mediabunny@^1.27.1",
+
"npm:solid-devtools@~0.34.4",
+
"npm:solid-js@^1.9.10",
+
"npm:typescript@^5.9.3",
+
"npm:vite-plugin-solid@^2.11.10",
+
"npm:vite-tsconfig-paths@^6.0.3",
+
"npm:vite@^7.3.0"
+1 -1
index.html
···
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
-
<title>bsky voice memos</title>
+
<title>trill - bsky voice memos</title>
</head>
<body>
<noscript>you need to enable javascript to run this app.</noscript>
+5 -2
nix/default.nix
···
nodejs,
makeBinaryWrapper,
memos-modules,
-
VITE_OAUTH_REDIRECT_URL ? "http://127.0.0.1:3000",
-
VITE_OAUTH_CLIENT_ID ? "http://localhost:3000",
+
oauthMetadata ? builtins.fromJSON (builtins.readFile ../src/lib/oauthMetadata.json),
+
VITE_OAUTH_CLIENT_ID ? oauthMetadata.client_id,
+
VITE_OAUTH_REDIRECT_URL ? VITE_OAUTH_CLIENT_ID,
VITE_CLIENT_URI ? VITE_OAUTH_CLIENT_ID,
+
VITE_OAUTH_SCOPE ? oauthMetadata.scope,
}:
stdenv.mkDerivation {
name = "trill";
···
VITE_OAUTH_REDIRECT_URL
VITE_OAUTH_CLIENT_ID
VITE_CLIENT_URI
+
VITE_OAUTH_SCOPE
;
dontCheck = true;
+1 -1
nix/modules.nix
···
];
};
-
outputHash = "sha256-xWXPFCV7rXsMQLVNLl0YoCOeIYsQJaT/wLfVrFzjsZ4=";
+
outputHash = "sha256-1kcPVL0kpo3Ay5ojrcKAePUafRNuKGRSw0sVchTTZB0=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
+18 -17
package.json
···
},
"license": "MIT",
"devDependencies": {
-
"@pandacss/dev": "^1.5.1",
-
"@pandacss/preset-base": "^1.5.1",
+
"@pandacss/dev": "^1.7.1",
+
"@pandacss/preset-base": "^1.7.1",
"@park-ui/panda-preset": "^0.43.1",
-
"solid-devtools": "^0.34.3",
-
"typescript": "^5.7.2",
-
"vite": "^7.1.4",
-
"vite-plugin-solid": "^2.11.8",
-
"vite-tsconfig-paths": "^5.1.4"
+
"solid-devtools": "^0.34.4",
+
"typescript": "^5.9.3",
+
"vite": "^7.3.0",
+
"vite-plugin-solid": "^2.11.10",
+
"vite-tsconfig-paths": "^6.0.3"
},
"dependencies": {
-
"@ark-ui/solid": "^5.28.0",
+
"@ark-ui/solid": "^5.30.0",
"@atcute/atproto": "^3.1.9",
-
"@atcute/bluesky": "^3.2.10",
-
"@atcute/client": "^4.0.5",
-
"@atcute/identity": "^1.1.2",
-
"@atcute/identity-resolver": "^1.1.4",
-
"@atcute/lexicons": "^1.2.3",
+
"@atcute/bluesky": "^3.2.14",
+
"@atcute/client": "^4.1.1",
+
"@atcute/identity": "^1.1.3",
+
"@atcute/identity-resolver": "^1.2.0",
+
"@atcute/lexicons": "^1.2.5",
"@atcute/microcosm": "^1.0.0",
-
"@atcute/oauth-browser-client": "^2.0.1",
+
"@atcute/oauth-browser-client": "^2.0.3",
+
"@huggingface/transformers": "^3.8.1",
"@solid-primitives/date": "^2.1.4",
"@solid-primitives/map": "^0.7.2",
"fast-average-color": "^9.5.0",
-
"lucide-solid": "^0.553.0",
-
"mediabunny": "^1.25.0",
-
"solid-js": "^1.9.5"
+
"lucide-solid": "^0.562.0",
+
"mediabunny": "^1.27.1",
+
"solid-js": "^1.9.10"
}
}
+105 -62
src/App.tsx
···
-
import { createSignal, For } from "solid-js";
+
import { For } from "solid-js";
-
import {
-
CheckIcon,
-
ChevronsUpDownIcon,
-
ClipboardIcon,
-
MicIcon,
-
Trash2Icon,
-
} from "lucide-solid";
+
import { CheckIcon, ChevronsUpDownIcon } from "lucide-solid";
import { Button } from "./components/ui/button";
import { Card } from "./components/ui/card";
-
import { Stack, Box, StackProps, HStack } from "styled-system/jsx";
+
import { Stack, Box, StackProps, HStack, VStack } from "styled-system/jsx";
import { FileUpload } from "./components/ui/file-upload";
-
import { IconButton } from "./components/ui/icon-button";
import { Text } from "./components/ui/text";
import { AtprotoDid } from "@atcute/lexicons/syntax";
···
import Task from "./components/FileTask";
import Settings from "./components/Settings";
import MicRecorder from "./components/MicRecorder";
+
import { Link } from "./components/ui/link";
const App = () => {
const collection = () =>
···
);
return (
-
<Box
-
py="8"
-
minH="100vh"
-
minW="100vw"
-
display="flex"
-
justifyContent="center"
-
alignItems="center"
-
>
-
<Card.Root maxW="3xl" w="94%" h="max">
-
<Card.Header>
-
<Card.Title w="full">
-
<Stack direction="row" align="center">
-
<Text>memos</Text>
-
<div style="flex-grow: 1;"></div>
-
<AccountSelect />
-
<Settings />
+
<>
+
<VStack
+
py="8"
+
minH="100vh"
+
minW="100vw"
+
justifyContent="center"
+
alignItems="center"
+
>
+
<Card.Root maxW="3xl" w="94%" h="max">
+
<Card.Header>
+
<Card.Title w="full">
+
<Stack direction="row" align="center">
+
<Text>trill</Text>
+
<div style="flex-grow: 1;"></div>
+
<AccountSelect />
+
<Settings />
+
</Stack>
+
</Card.Title>
+
<Card.Description>
+
<ol>
+
<li>1. upload a voice memo or record one.</li>
+
<li>2. it will automatically be converted to a video</li>
+
<li>
+
3. (optional) add an account to enable bluesky integration.
+
</li>
+
</ol>
+
</Card.Description>
+
</Card.Header>
+
<Card.Body>
+
<Stack gap="4" direction={{ base: "row", smDown: "column" }}>
+
<Upload
+
flex="4"
+
acceptedFiles={[]}
+
onFileAccept={(e) =>
+
e.files.forEach((file) => addTask(selectedAccount(), file))
+
}
+
/>
+
<Tasks
+
flex="3"
+
minH="20rem"
+
maxH="20rem"
+
minW="0"
+
overflowY="scroll"
+
currentTasks={tasks.values().toArray()}
+
selectedAccount={accounts().find(
+
(account) => account.did === selectedAccount(),
+
)}
+
/>
</Stack>
-
</Card.Title>
-
<Card.Description>
-
<ol>
-
<li>1. upload a voice memo or record one.</li>
-
<li>2. it will automatically be converted to a video</li>
-
<li>
-
3. (optional) add an account to enable bluesky integration.
-
</li>
-
</ol>
-
</Card.Description>
-
</Card.Header>
-
<Card.Body>
-
<Stack gap="4" direction={{ base: "row", smDown: "column" }}>
-
<Upload
-
flex="4"
-
acceptedFiles={[]}
-
onFileAccept={(e) =>
-
e.files.forEach((file) => addTask(selectedAccount(), file))
-
}
-
/>
-
<Tasks
-
flex="3"
-
minH="20rem"
-
maxH="20rem"
-
minW="0"
-
overflowY="scroll"
-
currentTasks={tasks.values().toArray()}
-
selectedAccount={accounts().find(
-
(account) => account.did === selectedAccount(),
-
)}
-
/>
-
</Stack>
-
</Card.Body>
-
{/*<Card.Footer gap="3"></Card.Footer>*/}
-
</Card.Root>
+
</Card.Body>
+
</Card.Root>
+
<Card.Root maxW="3xl" w="94%">
+
<Card.Header py="2" px="4">
+
<Card.Description>
+
<HStack justifyContent="space-between" alignItems="center">
+
<Text>
+
/made by{" "}
+
<Link
+
target="_blank"
+
rel="noopener noreferrer"
+
href="https://gaze.systems"
+
>
+
{Math.random() < 0.98 ? "dawn" : "90008"}
+
</Link>
+
/
+
</Text>
+
<Link
+
target="_blank"
+
rel="noopener noreferrer"
+
href="https://github.com/sponsors/90-008"
+
transition="all"
+
transitionDuration="250ms"
+
color={{ _hover: "red" }}
+
>
+
<svg
+
xmlns="http://www.w3.org/2000/svg"
+
width="16"
+
height="16"
+
viewBox="0 0 16 16"
+
>
+
<path
+
fill="currentColor"
+
d="M11.8 1c-1.682 0-3.129 1.368-3.799 2.797C7.33 2.368 5.883 1 4.201 1a4.2 4.2 0 0 0-4.2 4.2c0 4.716 4.758 5.953 8 10.616c3.065-4.634 8-6.05 8-10.616c0-2.319-1.882-4.2-4.2-4.2z"
+
/>
+
</svg>
+
</Link>
+
<Text>
+
source on{" "}
+
<Link
+
target="_blank"
+
rel="noopener noreferrer"
+
href="https://tangled.org/did:plc:dfl62fgb7wtjj3fcbb72naae/trill"
+
>
+
tangled
+
</Link>
+
</Text>
+
</HStack>
+
</Card.Description>
+
</Card.Header>
+
</Card.Root>
+
</VStack>
<Toaster />
-
</Box>
+
</>
);
};
export default App;
+50 -22
src/components/FileTask.tsx
···
import {
+
CaptionsIcon,
CircleAlertIcon,
DownloadIcon,
EllipsisVerticalIcon,
···
import { TaskState } from "~/lib/task";
import PostDialog from "./PostDialog";
-
import { Button } from "./ui/button";
+
import { Button, ButtonProps } from "./ui/button";
import { Menu } from "./ui/menu";
import { createSignal } from "solid-js";
+
import { toaster } from "./Toaster";
const downloadFile = (blob: Blob, fileName: string) => {
const url = URL.createObjectURL(blob);
···
</Popover.Positioner>
</Popover.Root>
);
-
const statusSuccess = (result: Blob) => {
+
const statusSuccess = (result: Blob, altText?: string) => {
+
const [menuOpen, setMenuOpen] = createSignal(false);
+
const MenuButton = (props: ButtonProps) => (
+
<Button
+
color={{ _hover: "colorPalette.emphasized" }}
+
variant="ghost"
+
display="flex"
+
justifyContent="space-between"
+
alignItems="center"
+
{...props}
+
onClick={(e) => {
+
if (typeof props.onClick === "function") props.onClick(e);
+
setMenuOpen(false);
+
}}
+
/>
+
);
return (
<>
<PostDialog
openSignal={[dialogOpen, setDialogOpen]}
account={selectedAccount}
result={result}
+
initialAltText={altText}
/>
<Menu.Root
+
open={menuOpen()}
+
onOpenChange={(e) => setMenuOpen(e.open)}
positioning={{ placement: "bottom-start", strategy: "fixed" }}
>
<Menu.Trigger
···
)}
/>
<Menu.Positioner>
-
<Menu.Content>
+
<Menu.Content py="0">
<Menu.ItemGroup>
-
<Button
-
color={{ _hover: "colorPalette.emphasized" }}
-
onClick={() =>
+
<MenuButton
+
onClick={() => {
downloadFile(
result,
process.file.name
···
.slice(0, -1)
.join(".")
.concat(".mp4"),
-
)
-
}
-
variant="ghost"
-
display="flex"
-
justifyContent="space-between"
-
alignItems="center"
+
);
+
toaster.create({
+
title: "downloaded result file",
+
type: "success",
+
duration: 1000,
+
});
+
}}
>
download <DownloadIcon />
-
</Button>
-
<Button
-
onClick={() => setDialogOpen(!dialogOpen())}
+
</MenuButton>
+
<MenuButton
+
disabled={altText === undefined}
+
onClick={() => {
+
navigator.clipboard.writeText(altText!);
+
toaster.create({
+
title: "copied transcribed text to clipboard",
+
type: "success",
+
duration: 1000,
+
});
+
}}
+
>
+
copy transcription <CaptionsIcon />
+
</MenuButton>
+
<MenuButton
disabled={selectedAccount === undefined}
-
color={{ _hover: "colorPalette.emphasized" }}
-
variant="ghost"
-
display="flex"
-
justifyContent="space-between"
-
alignItems="center"
+
onClick={() => setDialogOpen(!dialogOpen())}
>
post to bsky <SendIcon />
-
</Button>
+
</MenuButton>
</Menu.ItemGroup>
</Menu.Content>
</Menu.Positioner>
···
const status = () => {
switch (process.status) {
case "success":
-
return statusSuccess(process.result);
+
return statusSuccess(process.result, process.altText);
case "processing":
return statusProcessing();
default:
+73 -21
src/components/MicRecorder.tsx
···
-
import { createSignal, onCleanup } from "solid-js";
-
import { MicIcon } from "lucide-solid";
+
import { createSignal, onCleanup, Show } from "solid-js";
+
import { CircleStopIcon, MicIcon } from "lucide-solid";
import { IconButton } from "./ui/icon-button";
import { Popover } from "./ui/popover";
import { AtprotoDid } from "@atcute/lexicons/syntax";
···
let mediaStream: MediaStream | null = null;
let audioChunks: Blob[] = [];
+
// Flag to handle case where user releases hold before recording actually starts
+
let stopRequestPending = false;
+
+
const isSafari =
+
typeof navigator !== "undefined" &&
+
navigator.vendor &&
+
navigator.vendor.indexOf("Apple") > -1;
+
+
// const preferredMimeType = isSafari
+
// ? 'audio/mp4; codecs="mp4a.40.2"'
+
// : "audio/webm;codecs=opus";
+
// const fallbackMimeType = isSafari ? "audio/mp4" : "audio/webm";
const preferredMimeType = "audio/webm; codecs=opus";
const fallbackMimeType = "audio/webm";
const startRecording = async () => {
+
if (isRecording()) return;
+
stopRequestPending = false;
+
try {
audioChunks = [];
···
return;
}
-
if (!navigator.mediaDevices) {
-
toaster.create({
-
title: "recording not supported",
-
description: "website is not running in a secure context.",
-
type: "error",
-
});
-
return;
-
}
-
mediaStream = await navigator.mediaDevices.getUserMedia({
audio: {
autoGainControl: { ideal: true },
···
echoCancellation: { ideal: true },
},
});
+
+
// check if holding stopped while waiting for permission/stream
+
if (stopRequestPending) {
+
mediaStream.getTracks().forEach((track) => track.stop());
+
mediaStream = null;
+
return;
+
}
+
const audioTrack = mediaStream.getAudioTracks()[0] ?? null;
if (!audioTrack) throw "no audio track found";
let mimeType = "";
-
if (MediaRecorder.isTypeSupported(preferredMimeType))
+
if (MediaRecorder.isTypeSupported(preferredMimeType)) {
mimeType = preferredMimeType;
-
else if (MediaRecorder.isTypeSupported(fallbackMimeType))
+
} else if (MediaRecorder.isTypeSupported(fallbackMimeType)) {
+
console.warn(`falling back to ${fallbackMimeType} for recording audio`);
mimeType = fallbackMimeType;
-
else {
+
} else {
console.warn(
`browser does not support preffered audio / container type.
falling back to whatever the browser picks`,
···
type: usedMime,
});
+
console.info(usedMime, file.size);
+
addTask(props.selectedAccount(), file);
audioChunks = [];
};
···
setIsRecording(true);
setRecordingStart(Date.now());
+
+
// delayed hold release
+
if (stopRequestPending) stopRecording();
} catch (error) {
console.error("error accessing microphone:", error);
toaster.create({
···
};
const stopRecording = () => {
-
if (!isRecording() || !mediaRecorder) return;
+
if (!isRecording() || !mediaRecorder) {
+
stopRequestPending = true;
+
return;
+
}
if (mediaRecorder.state !== "inactive") mediaRecorder.stop();
setIsRecording(false);
};
···
return `${mins}:${secs.toString().padStart(2, "0")}`;
};
+
let pressStartTime = 0;
+
let startedSession = false;
+
+
const handlePointerDown = (e: PointerEvent) => {
+
if (isRecording()) {
+
stopRecording();
+
startedSession = false;
+
} else {
+
startRecording();
+
pressStartTime = Date.now();
+
startedSession = true;
+
}
+
};
+
+
const handlePointerUp = (e: PointerEvent) => {
+
if (startedSession) {
+
const duration = Date.now() - pressStartTime;
+
if (duration >= 500) stopRecording();
+
+
startedSession = false;
+
}
+
};
+
+
const handlePointerLeave = (e: PointerEvent) => {
+
if (startedSession && isRecording()) {
+
stopRecording();
+
startedSession = false;
+
}
+
};
+
return (
<Popover.Root positioning={{ placement: "top" }} open={isRecording()}>
<Popover.Anchor
···
size="md"
variant={isRecording() ? "solid" : "subtle"}
colorPalette={isRecording() ? "red" : undefined}
-
onMouseDown={startRecording}
-
onMouseUp={stopRecording}
-
onMouseLeave={stopRecording}
-
onTouchStart={startRecording}
-
onTouchEnd={stopRecording}
+
onPointerDown={handlePointerDown}
+
onPointerUp={handlePointerUp}
+
onPointerLeave={handlePointerLeave}
+
onContextMenu={(e) => e.preventDefault()}
>
-
<MicIcon />
+
{isRecording() ? <CircleStopIcon /> : <MicIcon />}
</IconButton>
)}
/>
+112 -8
src/components/PostDialog.tsx
···
-
import { Component, createSignal, Signal } from "solid-js";
+
import { createSignal, Signal } from "solid-js";
-
import { SendIcon, XIcon } from "lucide-solid";
-
import { Stack } from "styled-system/jsx";
+
import { CaptionsIcon, SendIcon, XIcon } from "lucide-solid";
+
import { HStack, Stack, VStack } from "styled-system/jsx";
import { IconButton } from "~/components/ui/icon-button";
import { Spinner } from "~/components/ui/spinner";
import { Text } from "~/components/ui/text";
···
import { parseCanonicalResourceUri } from "@atcute/lexicons/syntax";
import { css } from "styled-system/css";
-
import { sendPost } from "~/lib/at";
+
import { sendPost, UploadStatus } from "~/lib/at";
import { toaster } from "~/components/Toaster";
import { Dialog } from "~/components/ui/dialog";
import { Textarea } from "~/components/ui/textarea";
import { Account } from "~/lib/accounts";
+
import { Popover } from "./ui/popover";
+
import { Progress } from "./ui/progress";
const PostDialog = (props: {
result: Blob;
account: Account | undefined;
openSignal: Signal<boolean>;
+
initialAltText?: string;
}) => {
const [postContent, setPostContent] = createSignal<string>("");
+
const [altText, setAltText] = createSignal<string>(
+
props.initialAltText ?? "",
+
);
const [posting, setPosting] = createSignal(false);
+
const [uploadStatus, setUploadStatus] = createSignal<UploadStatus | null>(
+
null,
+
);
const [open, setOpen] = props.openSignal;
+
const getStatusMessage = () => {
+
const status = uploadStatus();
+
if (!status) return "";
+
+
switch (status.stage) {
+
case "auth":
+
return "authenticating...";
+
case "uploading":
+
return "uploading video...";
+
case "processing":
+
return status.progress
+
? `processing video... ${Math.round(status.progress)}%`
+
: "processing video...";
+
case "posting":
+
return "creating post...";
+
case "complete":
+
return "complete!";
+
default:
+
return "";
+
}
+
};
+
+
const getProgressValue = () => {
+
const status = uploadStatus();
+
if (!status) return 0;
+
+
switch (status.stage) {
+
case "auth":
+
return 5;
+
case "uploading":
+
return 10;
+
case "processing":
+
return status.progress ? 10 + status.progress * 0.6 : 40;
+
case "posting":
+
return 90;
+
case "complete":
+
return 100;
+
default:
+
return 0;
+
}
+
};
+
return (
<Dialog.Root open={open()} onOpenChange={(e) => setOpen(e.open)}>
<Dialog.Backdrop />
···
border="none"
borderTop="1px solid var(--colors-border-muted)"
boxShadow={{ base: "none", _focus: "none" }}
+
disabled={posting()}
/>
</Stack>
<Stack
···
)}
/>
)}
+
<Popover.Root>
+
<Popover.Trigger
+
asChild={(triggerProps) => (
+
<IconButton
+
{...triggerProps()}
+
variant={altText() ? "solid" : "ghost"}
+
size="sm"
+
disabled={posting()}
+
>
+
<CaptionsIcon />
+
</IconButton>
+
)}
+
/>
+
<Popover.Positioner>
+
<Popover.Content width="sm">
+
<Popover.Arrow />
+
<Stack gap="2">
+
<Popover.Title>video alt text</Popover.Title>
+
<Textarea
+
value={altText()}
+
onInput={(e) => setAltText(e.currentTarget.value)}
+
placeholder="describe the video content..."
+
rows={4}
+
/>
+
</Stack>
+
</Popover.Content>
+
</Popover.Positioner>
+
</Popover.Root>
<IconButton
disabled={posting()}
onClick={() => {
setPosting(true);
-
sendPost(props.account?.did!, props.result, postContent())
+
setUploadStatus(null);
+
sendPost(
+
props.account?.did!,
+
props.result,
+
postContent(),
+
altText(),
+
(status) => setUploadStatus(status),
+
)
.then((result) => {
const parsedUri = parseCanonicalResourceUri(result.uri);
if (!parsedUri.ok) throw "failed to parse atproto uri";
···
toaster.create({
title: "post sent",
description: (
-
<>
-
<Text>view post </Text>
+
<HStack gap="1">
+
<Text>view post</Text>
<Link
href={`https://bsky.app/profile/${repo}/post/${rkey}`}
color={{
···
>
here
</Link>
-
</>
+
</HStack>
),
type: "success",
});
···
})
.finally(() => {
setPosting(false);
+
setUploadStatus(null);
});
}}
variant="ghost"
···
<SendIcon />
</IconButton>
</Stack>
+
{posting() && uploadStatus() && (
+
<VStack
+
gap="2"
+
p="2"
+
borderTop="1px solid var(--colors-border-muted)"
+
>
+
<Text fontSize="sm" color="fg.muted">
+
{getStatusMessage()}
+
</Text>
+
<Progress
+
value={getProgressValue()}
+
max={100}
+
colorPalette="blue"
+
/>
+
</VStack>
+
)}
</Stack>
</Dialog.Content>
</Dialog.Positioner>
+119 -61
src/components/Settings.tsx
···
-
import { createSignal, For, Signal } from "solid-js";
+
import { Component, createSignal, For, JSXElement, Signal } from "solid-js";
import {
CheckIcon,
···
backgroundColor as backgroundColorSetting,
frameRate as frameRateSetting,
useDominantColorAsBg as useDominantColorAsBgSetting,
+
autoTranscribe as autoTranscribeSetting,
+
whisperModel as whisperModelSetting,
Setting,
+
defaultWhisperModel,
} from "~/lib/settings";
import { handleResolver } from "~/lib/at";
import { toaster } from "~/components/Toaster";
···
import { type Color, type ListCollection, parseColor } from "@ark-ui/solid";
import { ColorPicker } from "~/components/ui/color-picker";
import { Input } from "~/components/ui/input";
+
import { preloadModel } from "~/lib/transcribe";
const SettingCheckbox = (props: {
setting: Setting<boolean>;
···
);
};
+
const Category = ({
+
title,
+
children,
+
}: {
+
title: string;
+
children: JSXElement;
+
}) => (
+
<Stack>
+
<FormLabel>{title}</FormLabel>
+
<Stack
+
gap="0"
+
border="1px solid var(--colors-border-default)"
+
borderBottomWidth="3px"
+
rounded="xs"
+
>
+
{children}
+
</Stack>
+
</Stack>
+
);
+
const Settings = () => {
const [handle, setHandle] = createSignal("");
const isHandleValid = () => isHandle(handle());
···
</For>
);
return (
-
<Stack>
-
<FormLabel>accounts</FormLabel>
+
<Category title="accounts">
<Stack
-
border="1px solid var(--colors-border-default)"
-
borderBottomWidth="3px"
-
rounded="xs"
+
borderBottom="1px solid var(--colors-border-default)"
+
p="2"
+
marginBottom="2"
+
direction="row"
+
gap="2"
+
w="full"
>
-
<Stack
-
borderBottom="1px solid var(--colors-border-default)"
-
p="2"
-
direction="row"
-
gap="2"
-
w="full"
-
>
-
<Field.Root w="full">
-
<Field.Input
-
placeholder="example.bsky.social"
-
value={handle()}
-
onInput={(e) => setHandle(e.currentTarget.value)}
-
/>
-
</Field.Root>
-
<IconButton onClick={startAccountFlow} disabled={!isHandleValid()}>
-
<PlusIcon />
-
</IconButton>
-
</Stack>
-
{items(accounts())}
+
<Field.Root w="full">
+
<Field.Input
+
placeholder="example.bsky.social"
+
value={handle()}
+
onInput={(e) => setHandle(e.currentTarget.value)}
+
/>
+
</Field.Root>
+
<IconButton onClick={startAccountFlow} disabled={!isHandleValid()}>
+
<PlusIcon />
+
</IconButton>
</Stack>
-
</Stack>
+
{items(accounts())}
+
</Category>
);
};
···
backgroundColorSetting.set(newColor.toString("rgb"));
};
+
const whisperModelCollection = createListCollection({
+
items: [
+
{ tag: "tiny", size: "40MB" },
+
{ tag: "base", size: "80MB" },
+
{ tag: "small", size: "250MB" },
+
].map((model) => ({
+
label: `${model.tag} (${model.size})`,
+
value: `onnx-community/whisper-${model.tag}`,
+
})),
+
});
+
const [whisperModel, _setWhisperModel] = createSignal(
+
(whisperModelSetting.get() ?? defaultWhisperModel).toString(),
+
);
+
const setWhisperModel = (value: string | ((prev: string) => string)) => {
+
const newModel = _setWhisperModel(value);
+
whisperModelSetting.set(newModel);
+
if (autoTranscribe()) setTimeout(() => preloadModel(), 200);
+
};
+
const [autoTranscribe, setAutoTranscribe] = createSignal(
+
autoTranscribeSetting.get() ?? false,
+
);
+
return (
<Drawer.Root>
<Drawer.Trigger
···
<Drawer.Body>
<Stack gap="4">
<Accounts />
-
<Stack>
-
<FormLabel>processing</FormLabel>
-
<Stack
-
gap="0"
-
border="1px solid var(--colors-border-default)"
-
borderBottomWidth="3px"
-
rounded="xs"
-
>
-
<Box borderBottom="1px solid var(--colors-border-subtle)">
-
<SettingCheckbox
-
label="show profile picture"
-
setting={showProfilePictureSetting}
-
signal={[showProfilePicture, setShowProfilePicture]}
-
/>
-
</Box>
+
<Category title="video processing">
+
<Box borderBottom="1px solid var(--colors-border-subtle)">
<SettingCheckbox
-
label="show visualizer"
-
setting={showVisualizerSetting}
-
signal={[showVisualizer, setShowVisualizer]}
+
label="show profile picture"
+
setting={showProfilePictureSetting}
+
signal={[showProfilePicture, setShowProfilePicture]}
/>
-
<Stack gap="0" borderY="1px solid var(--colors-border-muted)">
-
<SettingCheckbox
-
label="use dominant color as bg"
-
setting={useDominantColorAsBgSetting}
-
signal={[useDominantColorAsBg, setUseDominantColorAsBg]}
-
disabled={!showProfilePicture()}
-
/>
-
<SettingColorPicker
-
label="background color"
-
signal={[backgroundColor, setBackgroundColor]}
-
/>
-
</Stack>
-
<SettingSelect
-
label="frame rate"
-
signal={[frameRate, setFrameRate]}
-
collection={frameRateCollection}
+
</Box>
+
<SettingCheckbox
+
label="show visualizer"
+
setting={showVisualizerSetting}
+
signal={[showVisualizer, setShowVisualizer]}
+
/>
+
<Stack gap="0" borderY="1px solid var(--colors-border-muted)">
+
<SettingCheckbox
+
label="use dominant color as bg"
+
setting={useDominantColorAsBgSetting}
+
signal={[useDominantColorAsBg, setUseDominantColorAsBg]}
+
disabled={!showProfilePicture()}
+
/>
+
<SettingColorPicker
+
label="background color"
+
signal={[backgroundColor, setBackgroundColor]}
/>
</Stack>
-
</Stack>
+
<SettingSelect
+
label="frame rate"
+
signal={[frameRate, setFrameRate]}
+
collection={frameRateCollection}
+
/>
+
</Category>
+
<Category title="audio transcription">
+
<Box borderBottom="1px solid var(--colors-border-subtle)">
+
<SettingCheckbox
+
label="transcribe audio"
+
setting={autoTranscribeSetting}
+
signal={[
+
autoTranscribe,
+
(val) => {
+
const newVal = setAutoTranscribe(val);
+
if (newVal) preloadModel();
+
return val;
+
},
+
]}
+
/>
+
</Box>
+
<Box borderBottom="1px solid var(--colors-border-subtle)">
+
<SettingSelect
+
label="whisper model"
+
signal={[whisperModel, setWhisperModel]}
+
collection={whisperModelCollection}
+
/>
+
</Box>
+
<Text color="fg.subtle" p="2" fontSize="sm" fontWeight="normal">
+
note: the model will only be downloaded once.
+
</Text>
+
</Category>
</Stack>
</Drawer.Body>
<Drawer.Footer p="2" gap="3">
+7
src/index.tsx
···
import { accounts, setAccounts } from "./lib/accounts";
import { AtprotoDid } from "@atcute/lexicons/syntax";
import { toaster } from "./components/Toaster";
+
import { autoTranscribe } from "./lib/settings";
+
import { preloadModel } from "./lib/transcribe";
+
import { Text } from "~/components/ui/text";
+
import { Link } from "~/components/ui/link";
+
import { HStack } from "styled-system/jsx";
const root = document.getElementById("root");
···
type: "error",
});
});
+
+
if (autoTranscribe.get()) preloadModel();
render(() => <App />, root!);
+99 -4
src/lib/at.ts
···
if (!didDoc.ok) throw didDoc.data.error;
return {
client: rpc,
+
agent,
did: res.data.did,
handle: res.data.handle,
pds: didDoc.data.pds,
};
};
+
export type UploadStatus = {
+
stage: "auth" | "uploading" | "processing" | "posting" | "complete";
+
progress?: number;
+
};
+
export const sendPost = async (
did: AtprotoDid,
blob: Blob,
postContent: string,
+
altText?: string,
+
onStatus?: (status: UploadStatus) => void,
) => {
const login = await getSessionClient(did);
-
const upload = await login.client.post("com.atproto.repo.uploadBlob", {
-
input: blob,
+
+
onStatus?.({ stage: "auth" });
+
const serviceAuthUrl = new URL(
+
`${login.pds}/xrpc/com.atproto.server.getServiceAuth`,
+
);
+
serviceAuthUrl.searchParams.append(
+
"aud",
+
login.pds!.replace("https://", "did:web:"),
+
);
+
serviceAuthUrl.searchParams.append("lxm", "com.atproto.repo.uploadBlob");
+
serviceAuthUrl.searchParams.append(
+
"exp",
+
(Math.floor(Date.now() / 1000) + 60 * 30).toString(),
+
); // 30 minutes
+
+
const serviceAuthResponse = await login.agent.handle(
+
`${serviceAuthUrl.pathname}${serviceAuthUrl.search}`,
+
{
+
method: "GET",
+
},
+
);
+
+
if (!serviceAuthResponse.ok) {
+
const error = await serviceAuthResponse.text();
+
throw `failed to get service auth: ${error}`;
+
}
+
+
const serviceAuth = await serviceAuthResponse.json();
+
const token = serviceAuth.token;
+
+
onStatus?.({ stage: "uploading" });
+
const uploadUrl = new URL(
+
"https://video.bsky.app/xrpc/app.bsky.video.uploadVideo",
+
);
+
uploadUrl.searchParams.append("did", did);
+
uploadUrl.searchParams.append("name", "video.mp4");
+
+
const uploadResponse = await fetch(uploadUrl.toString(), {
+
method: "POST",
+
headers: {
+
Authorization: `Bearer ${token}`,
+
"Content-Type": "video/mp4",
+
},
+
body: blob,
});
-
if (!upload.ok) throw `failed to upload blob: ${upload.data.error}`;
+
+
if (!uploadResponse.ok) {
+
const error = await uploadResponse.text();
+
throw `failed to upload video: ${error}`;
+
}
+
+
const jobStatus = await uploadResponse.json();
+
let videoBlobRef = jobStatus.blob;
+
+
onStatus?.({ stage: "processing" });
+
while (!videoBlobRef) {
+
await new Promise((resolve) => setTimeout(resolve, 1000));
+
+
const statusResponse = await fetch(
+
`https://video.bsky.app/xrpc/app.bsky.video.getJobStatus?jobId=${jobStatus.jobId}`,
+
);
+
+
if (!statusResponse.ok) {
+
const error = await statusResponse.json();
+
// reuse blob
+
if (error.error === "already_exists" && error.blob) {
+
videoBlobRef = error.blob;
+
break;
+
}
+
throw `failed to get job status: ${error.message || error.error}`;
+
}
+
+
const status = await statusResponse.json();
+
if (status.jobStatus.blob) {
+
videoBlobRef = status.jobStatus.blob;
+
} else if (status.jobStatus.state === "JOB_STATE_FAILED") {
+
throw `video processing failed: ${status.jobStatus.error || "unknown error"}`;
+
} else if (status.jobStatus.progress !== undefined) {
+
onStatus?.({
+
stage: "processing",
+
progress: status.jobStatus.progress,
+
});
+
}
+
}
+
+
onStatus?.({ stage: "posting" });
const record: AppBskyFeedPost.Main = {
$type: "app.bsky.feed.post",
text: postContent,
embed: {
$type: "app.bsky.embed.video",
-
video: upload.data.blob,
+
video: videoBlobRef,
+
alt: altText,
},
createdAt: new Date().toISOString(),
};
+
const result = await login.client.post("com.atproto.repo.createRecord", {
input: {
collection: "app.bsky.feed.post",
···
repo: did,
},
});
+
if (!result.ok) throw `failed to upload post: ${result.data.error}`;
+
+
onStatus?.({ stage: "complete" });
return result.data;
};
+19 -14
src/lib/oauth.ts
···
import type { AtprotoDid } from "@atcute/lexicons/syntax";
import { handleResolver, login } from "./at";
import { loggingIn } from "./accounts";
-
import { clientId, redirectUri } from "./oauthMetadata";
+
import { clientId, redirectUri, scope } from "./oauthMetadata";
-
configureOAuth({
-
metadata: {
+
const setupOAuth = () => {
+
const metadata = {
client_id: clientId,
redirect_uri: redirectUri,
-
},
-
identityResolver: defaultIdentityResolver({
-
handleResolver,
+
};
+
console.log(metadata);
+
configureOAuth({
+
metadata,
+
identityResolver: defaultIdentityResolver({
+
handleResolver,
-
didDocumentResolver: new CompositeDidDocumentResolver({
-
methods: {
-
plc: new PlcDidDocumentResolver(),
-
web: new WebDidDocumentResolver(),
-
},
+
didDocumentResolver: new CompositeDidDocumentResolver({
+
methods: {
+
plc: new PlcDidDocumentResolver(),
+
web: new WebDidDocumentResolver(),
+
},
+
}),
}),
-
}),
-
});
+
});
+
};
+
setupOAuth();
export const sessions = {
get: async (did: AtprotoDid) => {
···
start: async (identifier: ActorIdentifier): Promise<void> => {
const authUrl = await createAuthorizationUrl({
target: { type: "account", identifier },
-
scope: "atproto transition:generic",
+
scope,
});
// recommended to wait for the browser to persist local storage before proceeding
await new Promise((resolve) => setTimeout(resolve, 200));
+2 -1
src/lib/oauthMetadata.json
···
"client_uri": "http://localhost:3000",
"logo_uri": "http://localhost:3000/favicon.png",
"redirect_uris": ["http://127.0.0.1:3000/"],
-
"scope": "atproto transition:generic",
+
"scope": "atproto repo:app.bsky.feed.post?action=create rpc:com.atproto.repo.uploadBlob?aud=* blob:video/*",
"grant_types": ["authorization_code", "refresh_token"],
"response_types": ["code"],
"token_endpoint_auth_method": "none",
"application_type": "web",
+
"subject_type": "public",
"dpop_bound_access_tokens": true
}
+1
src/lib/oauthMetadata.ts
···
export const redirectUri = env.VITE_OAUTH_REDIRECT_URL;
export const clientId = env.VITE_OAUTH_CLIENT_ID;
+
export const scope = env.VITE_OAUTH_SCOPE;
+1 -1
src/lib/render.ts
···
if (!audioTrack) throw "no audio track found.";
if (!(await audioTrack.canDecode()))
-
throw "audio track cannot be decoded by browser.";
+
throw `audio track (${audioTrack.codec}) cannot be decoded by browser.`;
const duration = opts.duration ?? (await audioTrack.computeDuration());
if (!duration) throw "couldn't get audio duration.";
+4
src/lib/settings.ts
···
export const useDominantColorAsBg = setting<boolean>("useDominantColorAsBg");
export const backgroundColor = setting<string>("backgroundColor");
export const frameRate = setting<number>("frameRate");
+
+
export const autoTranscribe = setting<boolean>("autoTranscribe");
+
export const whisperModel = setting<string>("whisperModel");
+
export const defaultWhisperModel = "onnx-community/whisper-tiny";
+16 -8
src/lib/task.ts
···
showProfilePicture,
showVisualizer,
useDominantColorAsBg,
+
autoTranscribe,
} from "./settings";
import { getSessionClient } from "./oauth";
import { is } from "@atcute/lexicons";
···
import { FastAverageColor } from "fast-average-color";
import { toaster } from "~/components/Toaster";
import { parseColor } from "@ark-ui/solid";
+
import { transcribe } from "./transcribe";
export type TaskState = { file: File } & (
| { status: "processing" }
| { status: "error"; error: string }
-
| { status: "success"; result: Blob }
+
| { status: "success"; result: Blob; altText?: string }
);
let _idCounter = 0;
···
});
}
}
-
const result = await render(file, {
-
pfpUrl,
-
visualizer: showVisualizer.get() ?? true,
-
frameRate: frameRate.get() ?? 30,
-
bgColor,
-
duration,
-
});
+
const [result, altText] = await Promise.all([
+
render(file, {
+
pfpUrl,
+
visualizer: showVisualizer.get() ?? true,
+
frameRate: frameRate.get() ?? 30,
+
bgColor,
+
duration,
+
}),
+
(autoTranscribe.get() ?? false)
+
? transcribe(file)
+
: Promise.resolve(undefined),
+
]);
tasks.set(id, {
file,
status: "success",
result,
+
altText,
});
} catch (error) {
console.error(error);
+101
src/lib/transcribe.ts
···
+
import {
+
AutomaticSpeechRecognitionPipeline,
+
pipeline,
+
} from "@huggingface/transformers";
+
import { toaster } from "~/components/Toaster";
+
import { defaultWhisperModel, whisperModel } from "./settings";
+
+
let transcriberPromise: Promise<AutomaticSpeechRecognitionPipeline> | null =
+
null;
+
let model: AutomaticSpeechRecognitionPipeline | null = null;
+
+
const loadModel = () => {
+
if (model) return Promise.resolve(model);
+
+
if (transcriberPromise) return transcriberPromise;
+
+
let toastId: string | undefined;
+
+
const modelName = whisperModel.get() ?? defaultWhisperModel;
+
+
transcriberPromise = pipeline("automatic-speech-recognition", modelName, {
+
progress_callback: (data: any) => {
+
// data contains: { status, file, name, loaded, total, progress }
+
if (data.status === "initiate") {
+
if (!toastId) {
+
toastId = toaster.create({
+
title: "downloading transcription model",
+
description: `fetching ${data.file}...`,
+
type: "info",
+
duration: 999999,
+
});
+
}
+
} else if (data.status === "progress" && toastId) {
+
const percent = data.progress ? Math.round(data.progress) : 0;
+
toaster.update(toastId, {
+
title: "downloading transcription model",
+
description: `fetching ${data.file} (at ${percent}%)...`,
+
type: "info",
+
duration: 999999,
+
});
+
}
+
},
+
})
+
.then((transcriber) => {
+
if (toastId) {
+
toaster.update(toastId, {
+
title: "transcription model loaded",
+
description: `${modelName.split("/")[1]} is ready`,
+
type: "success",
+
duration: 3000,
+
});
+
}
+
model = transcriber;
+
return transcriber;
+
})
+
.catch((err) => {
+
const toastOpts = {
+
title: "transcription model download failed",
+
description: `${err}`,
+
type: "error",
+
duration: 5000,
+
};
+
if (toastId) toaster.update(toastId, toastOpts);
+
else toaster.create(toastOpts);
+
+
model = null;
+
+
throw err;
+
})
+
.finally(() => {
+
transcriberPromise = null;
+
});
+
+
return transcriberPromise;
+
};
+
+
export const preloadModel = () => {
+
model = null;
+
loadModel().catch((e) => console.error("preload failed", e));
+
};
+
+
export const transcribe = async (file: File): Promise<string> => {
+
const url = URL.createObjectURL(file);
+
try {
+
await loadModel();
+
if (!model) throw "model not loaded";
+
+
const output = await model(url);
+
return [output].flat()[0].text.trim();
+
} catch (err) {
+
console.error("transcription failed", err);
+
toaster.create({
+
title: "transcription failed",
+
description: `${err}`,
+
type: "error",
+
});
+
throw err;
+
} finally {
+
URL.revokeObjectURL(url);
+
}
+
};
+7 -1
vite.config.ts
···
client_id: string,
client_uri: string,
redirect_uri: string,
+
scope: string,
) => ({
...oauthMetadata,
client_id,
client_uri,
logo_uri: `${client_uri}/favicon.png`,
redirect_uris: [redirect_uri],
+
scope,
});
export default defineConfig({
···
process.env.VITE_CLIENT_URI = "http://localhost:3000";
const redirectUri = "http://127.0.0.1:3000";
process.env.VITE_OAUTH_REDIRECT_URL = redirectUri;
+
const scope = oauthMetadata.scope;
+
process.env.VITE_OAUTH_SCOPE = scope;
process.env.VITE_OAUTH_CLIENT_ID =
`http://localhost` +
`?redirect_uri=${encodeURIComponent(redirectUri)}` +
-
`&scope=${encodeURIComponent(oauthMetadata.scope)}`;
+
`&scope=${encodeURIComponent(scope)}`;
}
},
configureServer(server) {
···
process.env.VITE_OAUTH_CLIENT_ID!,
process.env.VITE_CLIENT_URI!,
process.env.VITE_OAUTH_REDIRECT_URL!,
+
process.env.VITE_OAUTH_SCOPE!,
),
null,
2,
···
process.env.VITE_OAUTH_CLIENT_ID!,
process.env.VITE_CLIENT_URI!,
process.env.VITE_OAUTH_REDIRECT_URL!,
+
process.env.VITE_OAUTH_SCOPE!,
),
null,
2,