diff --git a/package-lock.json b/package-lock.json
index 27fa22c83..e2d8becbc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -101,72 +101,23 @@
"license": "MIT"
},
"node_modules/@adobe/react-spectrum": {
- "version": "3.38.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.38.0.tgz",
- "integrity": "sha512-0/zFmTz/sKf8rvB8EHMuWIE5miY1gSAvTr5q4fPIiQJQwMAlQyXfH3oy++/MsiC30HyT3Mp93scxX2F1ErKL4g==",
+ "version": "3.47.0",
+ "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
+ "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
"license": "Apache-2.0",
"dependencies": {
- "@internationalized/string": "^3.2.5",
- "@react-aria/i18n": "^3.12.4",
- "@react-aria/ssr": "^3.9.7",
- "@react-aria/utils": "^3.26.0",
- "@react-aria/visually-hidden": "^3.8.18",
- "@react-spectrum/accordion": "^3.0.0",
- "@react-spectrum/actionbar": "^3.6.2",
- "@react-spectrum/actiongroup": "^3.10.10",
- "@react-spectrum/avatar": "^3.0.17",
- "@react-spectrum/badge": "^3.1.18",
- "@react-spectrum/breadcrumbs": "^3.9.12",
- "@react-spectrum/button": "^3.16.9",
- "@react-spectrum/buttongroup": "^3.6.17",
- "@react-spectrum/calendar": "^3.5.0",
- "@react-spectrum/checkbox": "^3.9.11",
- "@react-spectrum/color": "^3.0.2",
- "@react-spectrum/combobox": "^3.14.0",
- "@react-spectrum/contextualhelp": "^3.6.16",
- "@react-spectrum/datepicker": "^3.11.0",
- "@react-spectrum/dialog": "^3.8.16",
- "@react-spectrum/divider": "^3.5.18",
- "@react-spectrum/dnd": "^3.5.0",
- "@react-spectrum/dropzone": "^3.0.6",
- "@react-spectrum/filetrigger": "^3.0.6",
- "@react-spectrum/form": "^3.7.10",
- "@react-spectrum/icon": "^3.8.0",
- "@react-spectrum/illustratedmessage": "^3.5.5",
- "@react-spectrum/image": "^3.5.6",
- "@react-spectrum/inlinealert": "^3.2.10",
- "@react-spectrum/labeledvalue": "^3.1.18",
- "@react-spectrum/layout": "^3.6.10",
- "@react-spectrum/link": "^3.6.12",
- "@react-spectrum/list": "^3.9.0",
- "@react-spectrum/listbox": "^3.14.0",
- "@react-spectrum/menu": "^3.21.0",
- "@react-spectrum/meter": "^3.5.5",
- "@react-spectrum/numberfield": "^3.9.8",
- "@react-spectrum/overlays": "^5.7.0",
- "@react-spectrum/picker": "^3.15.4",
- "@react-spectrum/progress": "^3.7.11",
- "@react-spectrum/provider": "^3.10.0",
- "@react-spectrum/radio": "^3.7.11",
- "@react-spectrum/searchfield": "^3.8.11",
- "@react-spectrum/slider": "^3.7.0",
- "@react-spectrum/statuslight": "^3.5.17",
- "@react-spectrum/switch": "^3.5.10",
- "@react-spectrum/table": "^3.15.0",
- "@react-spectrum/tabs": "^3.8.15",
- "@react-spectrum/tag": "^3.2.11",
- "@react-spectrum/text": "^3.5.10",
- "@react-spectrum/textfield": "^3.12.7",
- "@react-spectrum/theme-dark": "^3.5.14",
- "@react-spectrum/theme-default": "^3.5.14",
- "@react-spectrum/theme-light": "^3.4.14",
- "@react-spectrum/tooltip": "^3.7.0",
- "@react-spectrum/view": "^3.6.14",
- "@react-spectrum/well": "^3.4.18",
- "@react-stately/collections": "^3.12.0",
- "@react-stately/data": "^3.12.0",
- "@react-types/shared": "^3.26.0",
- "client-only": "^0.0.1"
+ "@internationalized/date": "^3.12.1",
+ "@react-types/shared": "^3.34.0",
+ "@spectrum-icons/ui": "^3.7.0",
+ "@spectrum-icons/workflow": "^4.3.0",
+ "@swc/helpers": "^0.5.0",
+ "client-only": "^0.0.1",
+ "clsx": "^2.0.0",
+ "react-aria": "3.48.0",
+ "react-aria-components": "1.17.0",
+ "react-stately": "3.46.0",
+ "react-transition-group": "^4.4.5",
+ "use-sync-external-store": "^1.6.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
@@ -230,7 +181,6 @@
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0",
@@ -876,7 +826,6 @@
"integrity": "sha512-D+OrJumc9McXNEBI/JmFnc/0uCM2/Y3PEBG3gfV3QIYkKv5pvnpzFrl1kYCrcHJP8nOeFB/SHi1IHz29pNGuew==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.28.6"
},
@@ -1802,7 +1751,6 @@
"integrity": "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.3",
"@babel/helper-module-imports": "^7.28.6",
@@ -2313,6 +2261,7 @@
"integrity": "sha512-FvEb29x5wVwu/Kf93IWwsOOEuhHh6dYCJF3vcKLzXc0KXIW181AOzv6ceT4ZpBHDvAfG60eqb+ekmrnLHIy+jw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@cacheable/utils": "^2.4.0",
"@keyv/bigmap": "^1.3.1",
@@ -2326,6 +2275,7 @@
"integrity": "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"hashery": "^1.4.0",
"hookified": "^1.15.0"
@@ -2354,6 +2304,7 @@
"integrity": "sha512-eiFgzCbIneyMlLOmNG4g9xzF7Hv3Mga4LjxjcSC/ues6VYq2+gUbQI8JqNuw/ZM8tJIeIaBGpswAsqV2V7ApgA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"hashery": "^1.5.1",
"keyv": "^5.6.0"
@@ -2365,6 +2316,7 @@
"integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@keyv/serialize": "^1.1.1"
}
@@ -2397,6 +2349,7 @@
}
],
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.19.0"
},
@@ -2445,6 +2398,7 @@
}
],
"license": "MIT-0",
+ "peer": true,
"peerDependencies": {
"css-tree": "^3.2.1"
},
@@ -2491,6 +2445,7 @@
}
],
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.19.0"
},
@@ -2515,6 +2470,7 @@
}
],
"license": "MIT-0",
+ "peer": true,
"engines": {
"node": ">=20.19.0"
},
@@ -2538,6 +2494,7 @@
}
],
"license": "MIT-0",
+ "peer": true,
"engines": {
"node": ">=20.19.0"
},
@@ -2597,17 +2554,17 @@
}
},
"node_modules/@deephaven/chart": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-1.17.0.tgz",
- "integrity": "sha512-5HG0YfZrMali/6NVtKidpDYO+vOdLq2piWiwqHZf2XApdhwrn502I8xj1w2KsSLhbMJH8X6HFRMsqLLQjDZvbA==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-1.21.1.tgz",
+ "integrity": "sha512-KdOegNcp0EMPijbFSDYsIaAlx6XTeMEaCKdwwYbkIPZn309FPZrm8nfn9zCzynYIOWolUnWPBPt+Xkj1lBPvTg==",
"license": "Apache-2.0",
"dependencies": {
- "@deephaven/components": "^1.17.0",
+ "@deephaven/components": "^1.21.1",
"@deephaven/icons": "^1.2.0",
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
"@deephaven/jsapi-utils": "^1.16.0",
"@deephaven/log": "^1.8.0",
- "@deephaven/react-hooks": "^1.14.0",
+ "@deephaven/react-hooks": "^1.21.1",
"@deephaven/utils": "^1.10.0",
"buffer": "^6.0.3",
"fast-deep-equal": "^3.1.3",
@@ -2710,15 +2667,15 @@
}
},
"node_modules/@deephaven/components": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-1.17.0.tgz",
- "integrity": "sha512-0H/W0q3iH07rKvS/Ev3OLLfeAQtZi/sujuZL+MnQInPJTX3rNHb8XcwAKI5bI/u5a/+PvGkNswZcS3njvKxJ0Q==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-1.21.1.tgz",
+ "integrity": "sha512-eZrjkw4FmZ9qtUZyt8+hdq9HI+NuIYlvqs7QeJkhKBbLrWyi4ApDTO+8WuquoDgh/Tp8GkZeHTjpiagHd82NNw==",
"license": "Apache-2.0",
"dependencies": {
- "@adobe/react-spectrum": "3.38.0",
+ "@adobe/react-spectrum": "3.47.0",
"@deephaven/icons": "^1.2.0",
"@deephaven/log": "^1.8.0",
- "@deephaven/react-hooks": "^1.14.0",
+ "@deephaven/react-hooks": "^1.21.1",
"@deephaven/utils": "^1.10.0",
"@fontsource/fira-mono": "5.0.13",
"@fontsource/fira-sans": "5.0.20",
@@ -2726,13 +2683,20 @@
"@fortawesome/react-fontawesome": "^0.2.0",
"@hello-pangea/dnd": "^18.0.1",
"@internationalized/date": "^3.5.5",
- "@react-spectrum/theme-default": "^3.5.1",
- "@react-spectrum/toast": "^3.0.0-beta.16",
- "@react-spectrum/utils": "^3.11.5",
- "@react-types/combobox": "3.13.1",
- "@react-types/radio": "^3.8.1",
- "@react-types/shared": "^3.22.1",
- "@react-types/textfield": "^3.9.1",
+ "@react-aria/focus": "3.22.0",
+ "@react-aria/i18n": "3.13.0",
+ "@react-spectrum/label": "3.17.0",
+ "@react-spectrum/overlays": "5.10.0",
+ "@react-spectrum/theme-default": "3.6.0",
+ "@react-spectrum/toast": "3.2.0",
+ "@react-spectrum/utils": "3.13.0",
+ "@react-stately/overlays": "3.7.0",
+ "@react-stately/utils": "3.12.0",
+ "@react-types/combobox": "3.15.0",
+ "@react-types/radio": "3.10.0",
+ "@react-types/shared": "3.34.0",
+ "@react-types/textfield": "3.13.0",
+ "@spectrum-icons/ui": "3.7.0",
"bootstrap": "4.6.2",
"classnames": "^2.3.1",
"event-target-shim": "^6.0.2",
@@ -2775,20 +2739,20 @@
}
},
"node_modules/@deephaven/console": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-1.17.0.tgz",
- "integrity": "sha512-6ppKiIEauOsaoQqNVvnuy/sAUQ08jlt1oqpA+zDGExa4johJQznGtw33OlTCDpmOINui8JEQy8XRdRne/ND9tw==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-1.21.1.tgz",
+ "integrity": "sha512-RYgkaDvvzo0jhUCyofjw59U7mEMlLYqLTv8J/T+bjMZptWYUwGYk/YWQmsMrF+RvPS6mzXVGxF3qgdkEZtr7fA==",
"license": "Apache-2.0",
"dependencies": {
"@astral-sh/ruff-wasm-web": "0.6.4",
- "@deephaven/chart": "^1.17.0",
- "@deephaven/components": "^1.17.0",
+ "@deephaven/chart": "^1.21.1",
+ "@deephaven/components": "^1.21.1",
"@deephaven/icons": "^1.2.0",
- "@deephaven/jsapi-bootstrap": "^1.17.0",
+ "@deephaven/jsapi-bootstrap": "^1.21.1",
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
"@deephaven/jsapi-utils": "^1.16.0",
"@deephaven/log": "^1.8.0",
- "@deephaven/react-hooks": "^1.14.0",
+ "@deephaven/react-hooks": "^1.21.1",
"@deephaven/storage": "^1.8.0",
"@deephaven/utils": "^1.10.0",
"@fortawesome/react-fontawesome": "^0.2.0",
@@ -2831,16 +2795,16 @@
}
},
"node_modules/@deephaven/dashboard": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-1.17.1.tgz",
- "integrity": "sha512-ToEAhv9Im/kumvv+OLJgQO27rc+jRJGoNbej4rbRRU2PQGjKh9+eJlYMA4kHM4jSQrM9EJUtmF5MAoU9fwwyPA==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-1.21.1.tgz",
+ "integrity": "sha512-YtKeFA9D+Am5Y00jH6FXi/+OpumWI2HMQ7rpQSF77jg77yG9ftzU5kvwSlqaNf0J92nwJU1iKzZZsti2KGuiHQ==",
"license": "Apache-2.0",
"dependencies": {
- "@deephaven/components": "^1.17.0",
- "@deephaven/golden-layout": "^1.17.1",
+ "@deephaven/components": "^1.21.1",
+ "@deephaven/golden-layout": "^1.21.1",
"@deephaven/log": "^1.8.0",
- "@deephaven/react-hooks": "^1.14.0",
- "@deephaven/redux": "^1.17.0",
+ "@deephaven/react-hooks": "^1.21.1",
+ "@deephaven/redux": "^1.19.0",
"@deephaven/utils": "^1.10.0",
"classnames": "^2.3.1",
"fast-deep-equal": "^3.1.3",
@@ -2860,29 +2824,29 @@
}
},
"node_modules/@deephaven/dashboard-core-plugins": {
- "version": "1.18.0",
- "resolved": "https://registry.npmjs.org/@deephaven/dashboard-core-plugins/-/dashboard-core-plugins-1.18.0.tgz",
- "integrity": "sha512-dnzylWF6wZ4gFqoh/FE9aHrn+B0pWVbjiPcj2kOtE+xjh6IpfcuCin09J+atGUbnpXmun4LmR5yKU8bowds3kQ==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/dashboard-core-plugins/-/dashboard-core-plugins-1.21.1.tgz",
+ "integrity": "sha512-coD0/T6+i/Q1lJtNIOPLz1ag+PKgzm5ynA2a7BrdAoWxCThlE1uh2y5wjsjvyOMvGOo88smr4GwyybPo5pJUVQ==",
"license": "Apache-2.0",
"dependencies": {
- "@deephaven/chart": "^1.17.0",
- "@deephaven/components": "^1.17.0",
- "@deephaven/console": "^1.17.0",
- "@deephaven/dashboard": "^1.17.1",
- "@deephaven/file-explorer": "^1.17.0",
+ "@deephaven/chart": "^1.21.1",
+ "@deephaven/components": "^1.21.1",
+ "@deephaven/console": "^1.21.1",
+ "@deephaven/dashboard": "^1.21.1",
+ "@deephaven/file-explorer": "^1.21.1",
"@deephaven/filters": "^1.1.0",
- "@deephaven/golden-layout": "^1.17.1",
- "@deephaven/grid": "^1.18.0",
+ "@deephaven/golden-layout": "^1.21.1",
+ "@deephaven/grid": "^1.18.2",
"@deephaven/icons": "^1.2.0",
- "@deephaven/iris-grid": "^1.18.0",
- "@deephaven/jsapi-bootstrap": "^1.17.0",
- "@deephaven/jsapi-components": "^1.17.0",
+ "@deephaven/iris-grid": "^1.21.1",
+ "@deephaven/jsapi-bootstrap": "^1.21.1",
+ "@deephaven/jsapi-components": "^1.21.1",
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
"@deephaven/jsapi-utils": "^1.16.0",
"@deephaven/log": "^1.8.0",
- "@deephaven/plugin": "^1.18.0",
- "@deephaven/react-hooks": "^1.14.0",
- "@deephaven/redux": "^1.17.0",
+ "@deephaven/plugin": "^1.21.1",
+ "@deephaven/react-hooks": "^1.21.1",
+ "@deephaven/redux": "^1.19.0",
"@deephaven/storage": "^1.8.0",
"@deephaven/utils": "^1.10.0",
"@fortawesome/react-fontawesome": "^0.2.0",
@@ -2969,12 +2933,12 @@
}
},
"node_modules/@deephaven/file-explorer": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/@deephaven/file-explorer/-/file-explorer-1.17.0.tgz",
- "integrity": "sha512-bFMN3oQ6RikiPskD9aXoEyCN0voej8r8Zl6jgUzgym8HCFegSt5nJccBxgWmC3LppuZIgDMQqqjcfxPgfKLwRw==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/file-explorer/-/file-explorer-1.21.1.tgz",
+ "integrity": "sha512-Eadt+EmVR8dTbcnzdgliC7x5eepaFRXCRvqDmv8LAdUbpg8uBWT4MTOQraTPP/0NnO2lbzBgFrYGjCCA4DdyuQ==",
"license": "Apache-2.0",
"dependencies": {
- "@deephaven/components": "^1.17.0",
+ "@deephaven/components": "^1.21.1",
"@deephaven/icons": "^1.2.0",
"@deephaven/log": "^1.8.0",
"@deephaven/storage": "^1.8.0",
@@ -3001,12 +2965,12 @@
}
},
"node_modules/@deephaven/golden-layout": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-1.17.1.tgz",
- "integrity": "sha512-lnA87WSFcFoceK7DtsxNqKjEYCF7L427VxtMdMR7xU/tsTJUQnlT5MNR9BV/2Ybz8AR8Kh1qQv/3EmY1vlHGmA==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-1.21.1.tgz",
+ "integrity": "sha512-7kLxFWtwzQ77nakHKhXe1n8Z6B3ceRX5UGwK4GI3/LxYlt928K2YXaB5a6h2FmjWH5pX1yb0mkLbms3uaHMa5A==",
"license": "Apache-2.0",
"dependencies": {
- "@deephaven/components": "^1.17.0",
+ "@deephaven/components": "^1.21.1",
"jquery": "^3.6.0",
"nanoid": "^5.0.7"
},
@@ -3034,9 +2998,9 @@
}
},
"node_modules/@deephaven/grid": {
- "version": "1.18.0",
- "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-1.18.0.tgz",
- "integrity": "sha512-2uF99HNqRhvqVOmLL1HSDlF7P8mjkS3LgFIxVZA6qxDbBQVo6sxr6ymPWChAd3I+MseDJedojgMjfsGTOOedFw==",
+ "version": "1.18.2",
+ "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-1.18.2.tgz",
+ "integrity": "sha512-bPqymdO9cjVGw3yfdPsa9TqYzxXVIri3iw4fkp8EB7JsdXcKgDSE0iafSvuq2zXK+/O1ndS7kh/vExiJ7RkMGw==",
"license": "Apache-2.0",
"dependencies": {
"@deephaven/utils": "^1.10.0",
@@ -3069,21 +3033,21 @@
}
},
"node_modules/@deephaven/iris-grid": {
- "version": "1.18.0",
- "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-1.18.0.tgz",
- "integrity": "sha512-DP6Hh2Nn0R3CgC4ED3eNPN8Ns9nUvHu3Ezi/++PerzqC6Ej0K1493KtapObJy9xESqBNkvzMStakypZ7nfm0PA==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-1.21.1.tgz",
+ "integrity": "sha512-xeBCIS5aNtKFYdDiqJqbeBw+w5dGOKj1K21Vum1MxDi9Z8JZsN2Ry9SzZFZaaoIys3WTIlTtg7M+6GiarMEvwA==",
"license": "Apache-2.0",
"dependencies": {
- "@deephaven/components": "^1.17.0",
- "@deephaven/console": "^1.17.0",
+ "@deephaven/components": "^1.21.1",
+ "@deephaven/console": "^1.21.1",
"@deephaven/filters": "^1.1.0",
- "@deephaven/grid": "^1.18.0",
+ "@deephaven/grid": "^1.18.2",
"@deephaven/icons": "^1.2.0",
- "@deephaven/jsapi-components": "^1.17.0",
+ "@deephaven/jsapi-components": "^1.21.1",
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
"@deephaven/jsapi-utils": "^1.16.0",
"@deephaven/log": "^1.8.0",
- "@deephaven/react-hooks": "^1.14.0",
+ "@deephaven/react-hooks": "^1.21.1",
"@deephaven/storage": "^1.8.0",
"@deephaven/utils": "^1.10.0",
"@dnd-kit/core": "^6.1.0",
@@ -3167,15 +3131,15 @@
"link": true
},
"node_modules/@deephaven/jsapi-bootstrap": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-1.17.0.tgz",
- "integrity": "sha512-0ffPtsrq0oTOzfjwG/JYx7gMVIrJ0125Axk0yDt1/ozOnPzVMSN9MpK9EtUyGxgckWCdCwvQ8XYgkYtliNmHPw==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-1.21.1.tgz",
+ "integrity": "sha512-SgxMUTtP1d/FxopHP33QtYvl3q14+QYWTIwurAfWtDKYr+c+3v6+30qRrv2/lvcn5yzxgwY9UQ2hwK/5sBX4SQ==",
"license": "Apache-2.0",
"dependencies": {
- "@deephaven/components": "^1.17.0",
+ "@deephaven/components": "^1.21.1",
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
"@deephaven/log": "^1.8.0",
- "@deephaven/react-hooks": "^1.14.0",
+ "@deephaven/react-hooks": "^1.21.1",
"@deephaven/utils": "^1.10.0"
},
"engines": {
@@ -3186,17 +3150,17 @@
}
},
"node_modules/@deephaven/jsapi-components": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-1.17.0.tgz",
- "integrity": "sha512-am7GSuDiAa2L8+otndrK3wQ5HIZOiSnxBf/ytIEZo9J+bpuCuDH31J5E1GrXWNnRjKxEqSACwk7e5+fCysJXbw==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-1.21.1.tgz",
+ "integrity": "sha512-m7R4YkPyskANh0hgbalceoslZ3MauSgPnVDMc1jwcOShV3MyrLgGxaUyjrD1JRwcScspwTTVe8BxtFGaUCG91Q==",
"license": "Apache-2.0",
"dependencies": {
- "@deephaven/components": "^1.17.0",
- "@deephaven/jsapi-bootstrap": "^1.17.0",
+ "@deephaven/components": "^1.21.1",
+ "@deephaven/jsapi-bootstrap": "^1.21.1",
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
"@deephaven/jsapi-utils": "^1.16.0",
"@deephaven/log": "^1.8.0",
- "@deephaven/react-hooks": "^1.14.0",
+ "@deephaven/react-hooks": "^1.21.1",
"@deephaven/utils": "^1.10.0",
"@types/js-cookie": "^3.0.3",
"classnames": "^2.3.2",
@@ -3266,20 +3230,20 @@
}
},
"node_modules/@deephaven/plugin": {
- "version": "1.18.0",
- "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-1.18.0.tgz",
- "integrity": "sha512-vn5AKTlPDeI9p/yMDsacJqrkIL4FiQkQzGkctMbQH4c3tsbkcC+iPUIBbqKrvWOYDs42+ZoHHpQqDMOAM4c/tQ==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-1.21.1.tgz",
+ "integrity": "sha512-u3BX2ZhbWg82ZSrb2INxopxcSMCyOVUlZBYg6Tr9mhnfguhBENYUh/9MB/We1LbwtQuCuWaf9GhKPZlf2itU5Q==",
"license": "Apache-2.0",
"dependencies": {
- "@deephaven/components": "^1.17.0",
- "@deephaven/dashboard": "^1.17.1",
- "@deephaven/golden-layout": "^1.17.1",
- "@deephaven/grid": "^1.18.0",
+ "@deephaven/components": "^1.21.1",
+ "@deephaven/dashboard": "^1.21.1",
+ "@deephaven/golden-layout": "^1.21.1",
+ "@deephaven/grid": "^1.18.2",
"@deephaven/icons": "^1.2.0",
- "@deephaven/iris-grid": "^1.18.0",
+ "@deephaven/iris-grid": "^1.21.1",
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
"@deephaven/log": "^1.8.0",
- "@deephaven/react-hooks": "^1.14.0",
+ "@deephaven/react-hooks": "^1.21.1",
"@fortawesome/fontawesome-common-types": "^6.1.1",
"@fortawesome/react-fontawesome": "^0.2.0",
"nanoid": "^5.0.7"
@@ -3320,12 +3284,12 @@
}
},
"node_modules/@deephaven/react-hooks": {
- "version": "1.14.0",
- "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-1.14.0.tgz",
- "integrity": "sha512-VWRU6Hka5GyN0zO5LJYI5YgKrEsf0xAKrQ5LnEX4WSloB1C5DFoS1K1kH3fPqVBhid5JTu7R7oe0y4Tvt4wesQ==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-1.21.1.tgz",
+ "integrity": "sha512-i0rx4hsoGyD8o91tyv600RPkbBd0JI4u4NYasttZXUEHNCjhTGrreG82ssrtlkFkzNgpQr7FI4GJBYPNFDCqcA==",
"license": "Apache-2.0",
"dependencies": {
- "@adobe/react-spectrum": "3.38.0",
+ "@adobe/react-spectrum": "3.47.0",
"@deephaven/log": "^1.8.0",
"@deephaven/utils": "^1.10.0",
"lodash.debounce": "^4.0.8",
@@ -3340,9 +3304,9 @@
}
},
"node_modules/@deephaven/react-hooks/node_modules/nanoid": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.9.tgz",
- "integrity": "sha512-ZUvP7KeBLe3OZ1ypw6dI/TzYJuvHP77IM4Ry73waSQTLn8/g8rpdjfyVAh7t1/+FjBtG4lCP42MEbDxOsRpBMw==",
+ "version": "5.1.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.11.tgz",
+ "integrity": "sha512-v+KEsUv2ps74PaSKv0gHTxTCgMXOIfBEbaqa6w6ISIGC7ZsvHN4N9oJ8d4cmf0n5oTzQz2SLmThbQWhjd/8eKg==",
"funding": [
{
"type": "github",
@@ -3358,9 +3322,9 @@
}
},
"node_modules/@deephaven/redux": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-1.17.0.tgz",
- "integrity": "sha512-pbq1Npd0JHkZDiK7gt5Oj4EVJuikQ76Jd0qoo20P5Ouan5M2iZg3HZNHVmicAJHA9p7+EmYAeXpHS52rUmQszg==",
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-1.19.0.tgz",
+ "integrity": "sha512-ChzeUsaaoTMhM9Qrw9t0yCmEjdNNBoVf9RDfBQhTb2ifxNh2ZVxAgN4/yWB7kIlynfEmUwqYNQ7f2gcRNeEIHw==",
"license": "Apache-2.0",
"dependencies": {
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
@@ -3469,7 +3433,6 @@
"resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz",
"integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@dnd-kit/accessibility": "^3.1.1",
"@dnd-kit/utilities": "^3.2.2",
@@ -4059,7 +4022,6 @@
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.2.tgz",
"integrity": "sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@fortawesome/fontawesome-common-types": "6.7.2"
},
@@ -4073,7 +4035,6 @@
"integrity": "sha512-mtBFIi1UsYQo7rYonYFkjgYKGoL8T+fEH6NGUpvuqtY3ytMsAoDaPo5rk25KuMtKDipY4bGYM/CkmCHA1N3FUg==",
"deprecated": "v0.2.x is no longer supported. Unless you are still using FontAwesome 5, please update to v3.1.1 or greater.",
"license": "MIT",
- "peer": true,
"dependencies": {
"prop-types": "^15.8.1"
},
@@ -4136,8 +4097,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
"integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==",
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.13.0",
@@ -5221,7 +5181,8 @@
"resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz",
"integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/@mapbox/geojson-rewind": {
"version": "0.5.2",
@@ -6391,7 +6352,6 @@
"integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@octokit/auth-token": "^4.0.0",
"@octokit/graphql": "^7.1.0",
@@ -6880,6 +6840,7 @@
"integrity": "sha512-fdDH1LSGfZdTH2sxdpVMw31BanV28K/Gry0cVFxaNP77neJSkd82mM8ErPNYs9e+0O7SdHBLTDzDgwUuy18RnQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": "^12.20.0 || ^14.18.0 || >=16.0.0"
},
@@ -6998,30 +6959,26 @@
"integrity": "sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw==",
"license": "MIT"
},
- "node_modules/@react-aria/i18n": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.13.0.tgz",
- "integrity": "sha512-APjw4EwmvlnIyDxixSWfjHvOFFkW2rVTyKZ4l9FV0v7hOerh+FWLE6mF1XnnX3pgz3yARkKWwhSR9xYcRK6tpg==",
+ "node_modules/@react-aria/combobox": {
+ "version": "3.16.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.16.1.tgz",
+ "integrity": "sha512-Ufoos0z66dRx8bxN3OJ25ASqksukPQaxVP5thr7dnu2QqqhxlZb1Va1ebaVxzMAnSrB78oQh3h1d9/hS4uhcPQ==",
"license": "Apache-2.0",
"dependencies": {
- "@internationalized/date": "^3.12.1",
- "@internationalized/message": "^3.1.9",
- "@internationalized/string": "^3.2.8",
"@swc/helpers": "^0.5.0",
- "react-aria": "3.48.0"
+ "react-aria": "^3.48.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-aria/radio": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.13.0.tgz",
- "integrity": "sha512-3aqUvX2xV9AAriddw/INm/l1rkMEVdxTRi8BovDnpGUuDmOetKLI2geojiwftmSsHDwqknFwqEH1g7MYFDPaTw==",
+ "node_modules/@react-aria/focus": {
+ "version": "3.22.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.22.0.tgz",
+ "integrity": "sha512-ZfDOVuVhqDsM9mkNji3QUZ/d40JhlVgXrDkrfXylM1035QCrcTHN7m2DpbE95sU2A8EQb4wikvt5jM6K/73BPg==",
"license": "Apache-2.0",
"dependencies": {
- "@react-types/shared": "^3.34.0",
"@swc/helpers": "^0.5.0",
"react-aria": "3.48.0"
},
@@ -7030,29 +6987,30 @@
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-aria/ssr": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.10.0.tgz",
- "integrity": "sha512-mnelvACtfNWWKFCT1YHebxJRmfBmmANGwHQhCFPByMVTx1L8RumcaLxChYkE87g2KPuP5xX2il/oRn1DytW+qQ==",
+ "node_modules/@react-aria/i18n": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.13.0.tgz",
+ "integrity": "sha512-APjw4EwmvlnIyDxixSWfjHvOFFkW2rVTyKZ4l9FV0v7hOerh+FWLE6mF1XnnX3pgz3yARkKWwhSR9xYcRK6tpg==",
"license": "Apache-2.0",
"dependencies": {
+ "@internationalized/date": "^3.12.1",
+ "@internationalized/message": "^3.1.9",
+ "@internationalized/string": "^3.2.8",
"@swc/helpers": "^0.5.0",
"react-aria": "3.48.0"
},
- "engines": {
- "node": ">= 12"
- },
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-aria/textfield": {
- "version": "3.19.0",
- "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.19.0.tgz",
- "integrity": "sha512-P5Da8QFV/bCp3oCXQAqaTWhXNtx4vWEjvoqa49oG5TM1blodLjFrzNyiRM7TmQU0VLwiQPAQrqD4yaDLXZ0Nqg==",
+ "node_modules/@react-aria/radio": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.13.0.tgz",
+ "integrity": "sha512-3aqUvX2xV9AAriddw/INm/l1rkMEVdxTRi8BovDnpGUuDmOetKLI2geojiwftmSsHDwqknFwqEH1g7MYFDPaTw==",
"license": "Apache-2.0",
"dependencies": {
+ "@react-types/shared": "^3.34.0",
"@swc/helpers": "^0.5.0",
"react-aria": "3.48.0"
},
@@ -7061,25 +7019,10 @@
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-aria/utils": {
- "version": "3.34.0",
- "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.34.0.tgz",
- "integrity": "sha512-ZM1ZXIqpwGTJjjL6o3JhlZkEaBpQdxuOCqLEvwEwooaj5GsYI3E9UfOl5vy3UW6bYiEEWl9pNBntrb9CR9kItQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@swc/helpers": "^0.5.0",
- "react-aria": "3.48.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-aria/visually-hidden": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.9.0.tgz",
- "integrity": "sha512-OBSwuke98mVtd2po43VOT999rO9mpL7yaSehMuIylOT2wyY01Tut+ATpjavKbcZAust4eZFALVARYAS/0+GHyA==",
+ "node_modules/@react-aria/textfield": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.19.0.tgz",
+ "integrity": "sha512-P5Da8QFV/bCp3oCXQAqaTWhXNtx4vWEjvoqa49oG5TM1blodLjFrzNyiRM7TmQU0VLwiQPAQrqD4yaDLXZ0Nqg==",
"license": "Apache-2.0",
"dependencies": {
"@swc/helpers": "^0.5.0",
@@ -7090,3681 +7033,82 @@
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-spectrum/accordion": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/accordion/-/accordion-3.1.0.tgz",
- "integrity": "sha512-pcTpvAcrZ2WyOAr3Fh9cWYzaYbxeM4c5yCP36Wwui2j+qZ34PFHxss1BzhWN0VbuHp4aZQX4StwDpTUX30UKtA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/accordion/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/accordion/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/accordion/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
+ "node_modules/@react-spectrum/combobox": {
+ "version": "3.17.1",
+ "resolved": "https://registry.npmjs.org/@react-spectrum/combobox/-/combobox-3.17.1.tgz",
+ "integrity": "sha512-687FgU6lYIFSUducoqp77YJaAL5BZDhuwB6q7B01pNMuq6oAa6PAW6b2iNA8QGbI/JBw/UMVga8DAziiZchcug==",
"license": "Apache-2.0",
"dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
"@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/actionbar": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/actionbar/-/actionbar-3.7.0.tgz",
- "integrity": "sha512-uh/hmcu9pRc5ikPszIyBe+xtegT3ABcwq+D02QL/sI/K2HiNyg/gI+3aps0WDa9w/8AqLRJOH3Xr6iQTBTqh4g==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/actionbar/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
"@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/actionbar/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/actionbar/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
+ "react-stately": "^3.46.0"
},
"peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-spectrum/actiongroup": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/actiongroup/-/actiongroup-3.12.0.tgz",
- "integrity": "sha512-cred7cSV58oTLF0JRiO0OCWxVq5WSjUyM/yzH0lv0a/0w72XHH+lFKKM+NWglHOJy1HYJwOzQj6M+hK/PqVMQw==",
+ "node_modules/@react-spectrum/label": {
+ "version": "3.17.0",
+ "resolved": "https://registry.npmjs.org/@react-spectrum/label/-/label-3.17.0.tgz",
+ "integrity": "sha512-cv3cHYSOvKfDvjyYSZylyhxZHnWDEm6k0RvqxAv9DKu3KMPgNxiUHoQAWHhJ9pzz4Jqch7DF9ZiL9t6TNDfb3Q==",
"license": "Apache-2.0",
"dependencies": {
"@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
+ "@swc/helpers": "^0.5.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
- },
- "node_modules/@react-spectrum/actiongroup/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/actiongroup/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/actiongroup/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/avatar": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/avatar/-/avatar-3.1.0.tgz",
- "integrity": "sha512-TGnu2DE7HUV8NKyRdTECu0+Tk2RCiLio/b2nZ/gIyXBtFtF/g6YEksDhut05j3aykFOTdczF4q6k1p9IUABIfw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/avatar/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/avatar/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/avatar/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/badge": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/badge/-/badge-3.2.0.tgz",
- "integrity": "sha512-Tf1FBqKS6PBg9i3VCBwdXHGpVdDm+Pjh6YQS2sVlGuBKFiOFrOKxFJH5aCzRgp40RyTYMqAhYLbC0pahCIfyzQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/badge/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/badge/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/badge/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/breadcrumbs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/breadcrumbs/-/breadcrumbs-3.10.0.tgz",
- "integrity": "sha512-3m4CQlnPNIEVW5oytJHtWMxtc4jVSzewWeUmoxsrTzJl8N4T158YxdF9xyvM65y95CRrgfvLahqUwDeaPdtRiA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/breadcrumbs/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/breadcrumbs/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/breadcrumbs/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/button": {
- "version": "3.18.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/button/-/button-3.18.0.tgz",
- "integrity": "sha512-SmjsXt+mLK2cf8PGstNZvLBfjqE5TjHW15yPIATI6ddqMdcC9JZ3ldnBTdFji9P/B6Rlop4ajnAdDV6bpxLtXA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/button/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/button/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/button/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/buttongroup": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/buttongroup/-/buttongroup-3.7.0.tgz",
- "integrity": "sha512-wswBAiZAxDtvgNCWySXw/8Y82GMOQi+hu32JjbVuVr3VXaIAJIcmRxfECE9DI/CJUKueqrwh1wYWuqx8/oF/jg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/buttongroup/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/buttongroup/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/buttongroup/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/calendar": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/calendar/-/calendar-3.8.0.tgz",
- "integrity": "sha512-Qnkbiu8cS3h0cXFIv12QxEe6FGHA+byaw8diCVMgGKJyKZHao3AU3IYbrpXPI8eDNwiDwFF9XfKPdelYXQ56Ww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/calendar/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/calendar/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/calendar/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/checkbox": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/checkbox/-/checkbox-3.11.0.tgz",
- "integrity": "sha512-76jDNkUcMUJO8ukXnn2fsNwLT7z0x/T++UwFH4dNymInKCLxSve2uJrgIDvWBQBwYUwLbPZ3tS5lJEIkpCGRSg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/checkbox/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/checkbox/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/checkbox/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/color": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/color/-/color-3.2.0.tgz",
- "integrity": "sha512-Xg/U8+l1CQdvPRF4Zrv7AvtqsjuYUNkMxJMG0cIug9RKtIfEoyh7VR4Xg3FNd4Y/AwKXNJZZN4l94qz4WlK23Q==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/color/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/color/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/color/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/combobox": {
- "version": "3.17.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/combobox/-/combobox-3.17.0.tgz",
- "integrity": "sha512-HuJjm7m5W/lvpak0KQXAdqkvO17GpIfQ6/AuddnXEyltWhl481oRok04b9VQKdZAy9xrmmpReFcvXJ4zFDIGvg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/combobox/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/combobox/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/combobox/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/contextualhelp": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/contextualhelp/-/contextualhelp-3.7.0.tgz",
- "integrity": "sha512-KmwkhFPlzOEIYyqFIzoVU5R8YYCFxZjUmcNesymCyt7OrTclfPr1R8F84IAZg4xCfA5kzd62Dt+yQV/dTB4gOg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/contextualhelp/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/contextualhelp/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/contextualhelp/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/datepicker": {
- "version": "3.15.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/datepicker/-/datepicker-3.15.0.tgz",
- "integrity": "sha512-VS12NUz3f9JE622FNgWWn6KSmLJx6OR6nW/RxUkg5EjQ8o/C0kjWZvogPd/t7a69SCMbZYkGYZDSiHQeM3W3BQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/datepicker/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/datepicker/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/datepicker/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dialog": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/dialog/-/dialog-3.10.0.tgz",
- "integrity": "sha512-U+0rTx1eG+BIpIb3vUAtP/n65CsyGydhtkJSNDTGUzG8yHgc7jGU/siwhY6/C8Y25wU4QggkXhIcn0y6rLvJ4g==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dialog/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dialog/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dialog/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/divider": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/divider/-/divider-3.6.0.tgz",
- "integrity": "sha512-CWR3hUuGslO8bYcetzOKu/IK1fAeU4HZIO+QIid9E9gPwqcB7kRsT80FlOCAByjVjw8MwjTT1g+d71jR4cHeJQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/divider/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/divider/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/divider/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dnd": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/dnd/-/dnd-3.7.0.tgz",
- "integrity": "sha512-Zs+PJGL070ttC/POGBKzXRCiLgyty9jIjVuaos7RfMRGyXE1nkLBHrVPmBmFxD8ijzi3ow79/hQP6aMLFtqs3g==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@react-types/shared": "^3.34.0",
- "@swc/helpers": "^0.5.0",
- "react-aria": "3.48.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dnd/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dnd/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dnd/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dropzone": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/dropzone/-/dropzone-3.1.0.tgz",
- "integrity": "sha512-65zjquBNvhMCECi9R8XOWaG9guOkwOjD3r9o1j/icD+GJbm2/3R35pR8TN1uM2D9fmLaUqQxyH2+r3sY210ppg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dropzone/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dropzone/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/dropzone/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/filetrigger": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/filetrigger/-/filetrigger-3.1.0.tgz",
- "integrity": "sha512-Skipc9Sq95bJxs92CD5xYpkglYzZiXejSI5iAAR/02VkrYGBqA0xlm8Vg8blLrdzP7CUGYkMojprZ9i41pKy+Q==",
- "license": "Apache-2.0",
- "dependencies": {
- "@swc/helpers": "^0.5.0",
- "react-aria-components": "1.17.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/form": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/form/-/form-3.8.0.tgz",
- "integrity": "sha512-zNFA1zRFvoEZAhK6HxWyo2yUDlUXqCaaySxHvuCaevq4Zw3DKndbxq72ax9YDaUAvYlhgnb/bI616JBCZUAhdA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/form/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/form/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/form/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/icon": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/icon/-/icon-3.9.0.tgz",
- "integrity": "sha512-eD/Dg7QYTKRdzwHF+kdzZud0sKnTzZ0TjgK5XDjt5ZdCeMO98jWOZNy5kpSiUlE69+lmhxPQGCAjpWS+NBWU/Q==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/icon/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/icon/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/icon/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/illustratedmessage": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/illustratedmessage/-/illustratedmessage-3.6.0.tgz",
- "integrity": "sha512-jjqpf7WBq/R486djHIn6CkK1ujgvsv5dajNJp4d15pwEph1tnFJK+Z2anfL3irjVw1eQZ24Hjv6RICh7KECMQw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/illustratedmessage/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/illustratedmessage/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/illustratedmessage/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/image": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/image/-/image-3.7.0.tgz",
- "integrity": "sha512-qNcD3YfsoZIkJ7K4ylTsebdRZbkhhTeVOPxh9w9ob3KBzNLxydSaA6ZBnD4yNBAl9mdYZfVrDqiodfW3Txtjvw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/image/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/image/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/image/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/inlinealert": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/inlinealert/-/inlinealert-3.3.0.tgz",
- "integrity": "sha512-1CrlWZKeCBB4ShnQtPJmRA3pRRZusACrRXBLTQK+DWVqHTUcYL3NbgFbST4Wr4+PQj1rFtx2GPVWscxehrvwag==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/inlinealert/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/inlinealert/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/inlinealert/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/labeledvalue": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/labeledvalue/-/labeledvalue-3.3.0.tgz",
- "integrity": "sha512-DQ5PrPXwc3oQlzObYJxVw4ufX/LDvZ1MKHcjuBsas08pz8Kgsk3RfDR/XjkkJk1w/dOA5ZFyYjlykHlxW+oOuQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/labeledvalue/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/labeledvalue/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/labeledvalue/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/layout": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/layout/-/layout-3.7.0.tgz",
- "integrity": "sha512-UZal20cErK6Eqz7EKHzal5yOk5kl/LopQIkaYT+suiF1xMRc9zKEjYnjJJQlQImjqF4pg77d64N6pARWBrEsJg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@react-types/shared": "^3.34.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/layout/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/layout/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/layout/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/link": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/link/-/link-3.7.0.tgz",
- "integrity": "sha512-JE2aN/f0A29R0qb1KVc9ZkW3ve8iOSBqxjiaXSH+ldeGOokQ7uQiRvxwv0JIFKbSAJ0C30AqQcovbBJ8WSXS0Q==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/link/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/link/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/link/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/list": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/list/-/list-3.11.0.tgz",
- "integrity": "sha512-m6W/Al36LS0oywR/yrqGvg1Df+AGUt1tnVqPgZis3VEjpm8cMskUfLd3gkkb2YpjkMcJJKAiayY0DZ6E1tNQXg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/list/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/list/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/list/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/listbox": {
- "version": "3.16.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/listbox/-/listbox-3.16.0.tgz",
- "integrity": "sha512-yYpBUScaF7v2qA6wcUM1D2bGlU63ZvFphkiu5qGeQHd4TdDNqVfmF4tlkUQZIH/PPPoXwvyFpKHwVfbNgqzJ5Q==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/listbox/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/listbox/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/listbox/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/menu": {
- "version": "3.23.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/menu/-/menu-3.23.0.tgz",
- "integrity": "sha512-oM7VjcoUbF8HU/jnHzGowQ1kSyntoIviVlvm00uvHUbQiwm0w59PMeL++JSG3sQ1WhZz5vk2B/sEnUjPvu6ruQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/menu/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/menu/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/menu/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/meter": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/meter/-/meter-3.6.0.tgz",
- "integrity": "sha512-Qmqqnek11eoSHOmA5ET7m4KYtkQMSiDx0n3kTzA/Lvff9EvBuM0Wxr4uwW9bCEPAdXdW2gxeWFktcYxHRz4BRw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/meter/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/meter/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/meter/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/numberfield": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/numberfield/-/numberfield-3.11.0.tgz",
- "integrity": "sha512-58O3URmyBDgqRr543Bfa1TOzzbXrYOON8o+g2fPZEvmZs2MdNdyuiR6Yg7aeGUpZtQLvGA9C1Cn64cRKHUBJlQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/numberfield/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/numberfield/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/numberfield/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/overlays": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/overlays/-/overlays-5.10.0.tgz",
- "integrity": "sha512-iGHXE5wdF4wNqdkgTKWAoeJUeKec+ki1BeRdiguywjY/SGMIx8Htd4dWyglDsOboBBJuEWMHKFAmTbMDhz6B9w==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/overlays/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/overlays/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/overlays/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/picker": {
- "version": "3.17.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/picker/-/picker-3.17.0.tgz",
- "integrity": "sha512-KY7EKR51pXkGg0hl1ZggxWQz9blatF7RczTk/l1FAjnKDLBIN4AhE/bZOTQDRgBY/l0EMzAzzmaZy58YEJg5/w==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/picker/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/picker/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/picker/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/progress": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/progress/-/progress-3.8.0.tgz",
- "integrity": "sha512-pvJR9U7nPZ7zRX875CP0uK6IHjAr7oIVaPyJf2Bp5Nj8e2AolxttHaOaunZ6X1RAWyUNH2uK7XBoK8Ggy4s8Ww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/progress/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/progress/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/progress/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/provider": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/provider/-/provider-3.11.0.tgz",
- "integrity": "sha512-W2Gxbj8AcG5OR2K5Ua3K8qQqxdsiytEiz+2rhr6oQyBM8VafEgDcNPYSOTtfjrQM3snl2Uhp8LzwN0jwQe/6nQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/provider/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/provider/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/provider/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/radio": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/radio/-/radio-3.8.0.tgz",
- "integrity": "sha512-89wHBWM974JnI8IhM5FV5ptz6SaSq//wPG1tGPxPa1uNWlBa/7u0ItGwhAPg5Oix9EH4Va/PoFjTUwXIsen/WQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/radio/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/radio/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/radio/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/searchfield": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/searchfield/-/searchfield-3.9.0.tgz",
- "integrity": "sha512-so1IeolnYPsgjoIJmoGakUuQv+Ij5NVoWx2VTBc3o2sUva1GkxtFp6Woiow2Qqw0mFyoTwwoKi6zQJHLMqHhvQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/searchfield/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/searchfield/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/searchfield/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/slider": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/slider/-/slider-3.9.0.tgz",
- "integrity": "sha512-FTsfWfn6+BkXi8ZDcd7mBQs/KbKYJRHV6aQ64pC4gCnMw54eFcKSuCtlCtdGw3exLPQtGHCNVWGznOjgc8PtGw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/slider/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/slider/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/slider/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/statuslight": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/statuslight/-/statuslight-3.6.0.tgz",
- "integrity": "sha512-uJ9ofz1plxJ5kVbYyx9YoluHLr0Wh3C5Eiw5X1f36jCa4lKKlU7bHoaHDpIAAFFoSn2lYOIoJiDL6UbRqMS0Rw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/statuslight/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/statuslight/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/statuslight/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/switch": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/switch/-/switch-3.7.0.tgz",
- "integrity": "sha512-xr+/6BefcxnuD2OJ8X2/nuz1XQOsHcbR1nnYE2B/KUJhrrTSxKpQcPnU36E1N1U8iQUO3TYn8zwCl3NHxpuByQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/switch/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/switch/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/switch/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/table": {
- "version": "3.18.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/table/-/table-3.18.0.tgz",
- "integrity": "sha512-ckvjjz/Tp8Y/Ck/OOOXX/dTs8PtoWCy7+QDBxWzNpqvxcLiLviudNKJFhGfeyGGDi3IOMWRSaG5yWN9wrvItNQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/table/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/table/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/table/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tabs": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/tabs/-/tabs-3.9.0.tgz",
- "integrity": "sha512-gTHgc7pONFCQDlOu9PYn2LueWQd5Oq49YVcRR8UxTM2TwrXf1gHcBnZKPmsfNoZ6FWMsXUG7ByeQJ6gdGoZC1g==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tabs/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tabs/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tabs/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tag": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/tag/-/tag-3.4.0.tgz",
- "integrity": "sha512-OKUUlATl+nBHOd7LBaMeJMPgI4FTxeHPu4nmx6h53lO3ZWGev0F8LlQ8pubLd22YnGIHOecaJJFz5wsg1c6Rog==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tag/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tag/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tag/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/text": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/text/-/text-3.6.0.tgz",
- "integrity": "sha512-MwQkXYwBmrv+GNYZhlT9mmmnQ4vd2QDvUPeg4KvQ8z73tAld/H5GNiDyzN4aSMVsOuh6veuq+mg4QWDHVeMrRw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/text/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/text/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/text/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/textfield": {
- "version": "3.15.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/textfield/-/textfield-3.15.0.tgz",
- "integrity": "sha512-FUDUOjPml2zyYzax7fYIV6P72wyMSLXj65GKvAofmUzu1g7rSD6M1AGHarwA8hbQf2O6ogt7TgN1goreAP25CQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/textfield/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/textfield/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/textfield/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-dark": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/theme-dark/-/theme-dark-3.6.0.tgz",
- "integrity": "sha512-Ea8z3B6I0rbSk2UlzIH5s2w1yUWnIzIsfuJ+W/3WGqgsUOlN427gxqXV7P653V6FGElretUzKZ3B5DfCKUmYNA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-dark/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-dark/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-dark/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-default": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/theme-default/-/theme-default-3.6.0.tgz",
- "integrity": "sha512-zrsr/Bl/iw8H3/XPEwrsOJQbxQYCJTK7bC6dkX1OQnlOObmYA3wI+HhGeF3Q7j5NVS4+qcukSqSiLVewfh247w==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-default/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-default/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-default/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-light": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/theme-light/-/theme-light-3.5.0.tgz",
- "integrity": "sha512-zN/tIZYQUsTMN7dDX+mht1C8NaGEl5nmaRhzh8KP84uPlVvE+qr3jc0Yr4dYM/Xp5hNhJ16X8Zd2XOmro06SAg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-light/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-light/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/theme-light/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/toast": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/toast/-/toast-3.2.0.tgz",
- "integrity": "sha512-V9hWjjb1+RKIPwyWvE0z+ObADNDl5DQnASgG4fY2nfcERR5uRasm1UNCQD9idtpS6T9ZTS3OqET9BcLYIoJzyQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/toast/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/toast/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/toast/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tooltip": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/tooltip/-/tooltip-3.9.0.tgz",
- "integrity": "sha512-e0EOJaJZgNQtY3XWpJdoc0/+SIfEv1F9tumDeIJSQIFsd65dk4x5CnFFyHfauYNRgrt7qr65zKqbxmgy0/tBnA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tooltip/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tooltip/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/tooltip/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/utils": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/utils/-/utils-3.13.0.tgz",
- "integrity": "sha512-xtuKCwbsP2xwRtsYojSh/kbm5/YfVs398Five1RfJZNLSc/dXrz6KWdyusHp+gNCpv4Z83hwCaO8TPwbrehwoQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0",
- "react-aria": "3.48.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/utils/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/utils/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/utils/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/view": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/view/-/view-3.7.0.tgz",
- "integrity": "sha512-XjCCSvdX2c4nacsEbgNQkmIaLQlTsN6/LhAvocf/DAsf8Um/eOz9WzdLDx9oCkRNwVWu8JGEkz5S3gVo0hmyiw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@adobe/react-spectrum": "3.47.0",
- "@swc/helpers": "^0.5.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
- }
- },
- "node_modules/@react-spectrum/view/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
+ },
+ "node_modules/@react-spectrum/overlays": {
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/@react-spectrum/overlays/-/overlays-5.10.0.tgz",
+ "integrity": "sha512-iGHXE5wdF4wNqdkgTKWAoeJUeKec+ki1BeRdiguywjY/SGMIx8Htd4dWyglDsOboBBJuEWMHKFAmTbMDhz6B9w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@adobe/react-spectrum": "3.47.0",
+ "@swc/helpers": "^0.5.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-spectrum/view/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
+ "node_modules/@react-spectrum/provider": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/@react-spectrum/provider/-/provider-3.11.0.tgz",
+ "integrity": "sha512-W2Gxbj8AcG5OR2K5Ua3K8qQqxdsiytEiz+2rhr6oQyBM8VafEgDcNPYSOTtfjrQM3snl2Uhp8LzwN0jwQe/6nQ==",
"license": "Apache-2.0",
+ "peer": true,
"dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
+ "@adobe/react-spectrum": "3.47.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-spectrum/view/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
+ "node_modules/@react-spectrum/radio": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/@react-spectrum/radio/-/radio-3.8.0.tgz",
+ "integrity": "sha512-89wHBWM974JnI8IhM5FV5ptz6SaSq//wPG1tGPxPa1uNWlBa/7u0ItGwhAPg5Oix9EH4Va/PoFjTUwXIsen/WQ==",
"license": "Apache-2.0",
"dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
+ "@adobe/react-spectrum": "3.47.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-spectrum/well": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/@react-spectrum/well/-/well-3.5.0.tgz",
- "integrity": "sha512-cWYQxH+Rm0XbZrK5f18tO7YMQ3O/7GC2tPfOXLScfCq4BOiMUMuyKvqouJoh29OrMO12u1zfFPURSllBa+weTg==",
+ "node_modules/@react-spectrum/textfield": {
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/@react-spectrum/textfield/-/textfield-3.15.0.tgz",
+ "integrity": "sha512-FUDUOjPml2zyYzax7fYIV6P72wyMSLXj65GKvAofmUzu1g7rSD6M1AGHarwA8hbQf2O6ogt7TgN1goreAP25CQ==",
"license": "Apache-2.0",
"dependencies": {
"@adobe/react-spectrum": "3.47.0",
@@ -10775,80 +7119,67 @@
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-spectrum/well/node_modules/@adobe/react-spectrum": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/@adobe/react-spectrum/-/react-spectrum-3.47.0.tgz",
- "integrity": "sha512-EDQuMzz0kUeiMUUlxoeLFQyyxOXaAC7qlBw2PYOUfFLYd87xcV7VVV0JxiYx8zGk1IIY3UgQHgXrS1fv7CgezQ==",
+ "node_modules/@react-spectrum/theme-default": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@react-spectrum/theme-default/-/theme-default-3.6.0.tgz",
+ "integrity": "sha512-zrsr/Bl/iw8H3/XPEwrsOJQbxQYCJTK7bC6dkX1OQnlOObmYA3wI+HhGeF3Q7j5NVS4+qcukSqSiLVewfh247w==",
"license": "Apache-2.0",
- "peer": true,
"dependencies": {
- "@internationalized/date": "^3.12.1",
- "@react-types/shared": "^3.34.0",
- "@spectrum-icons/ui": "^3.7.0",
- "@spectrum-icons/workflow": "^4.3.0",
- "@swc/helpers": "^0.5.0",
- "client-only": "^0.0.1",
- "clsx": "^2.0.0",
- "react-aria": "3.48.0",
- "react-aria-components": "1.17.0",
- "react-stately": "3.46.0",
- "react-transition-group": "^4.4.5",
- "use-sync-external-store": "^1.6.0"
+ "@adobe/react-spectrum": "3.47.0",
+ "@swc/helpers": "^0.5.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-spectrum/well/node_modules/@spectrum-icons/ui": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
- "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
+ "node_modules/@react-spectrum/toast": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@react-spectrum/toast/-/toast-3.2.0.tgz",
+ "integrity": "sha512-V9hWjjb1+RKIPwyWvE0z+ObADNDl5DQnASgG4fY2nfcERR5uRasm1UNCQD9idtpS6T9ZTS3OqET9BcLYIoJzyQ==",
"license": "Apache-2.0",
"dependencies": {
- "@adobe/react-spectrum-ui": "1.2.1",
- "@babel/runtime": "^7.24.4",
+ "@adobe/react-spectrum": "3.47.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-spectrum/well/node_modules/@spectrum-icons/workflow": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.0.tgz",
- "integrity": "sha512-ILuhgWh9jMXaEVMRuOYgTAjMc22cKyvCtUDyZmc8OEMfOYuejj+Gcp5t6DhaCfE0M9rORtVxCrRgsO2WyEgfUw==",
+ "node_modules/@react-spectrum/utils": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/@react-spectrum/utils/-/utils-3.13.0.tgz",
+ "integrity": "sha512-xtuKCwbsP2xwRtsYojSh/kbm5/YfVs398Five1RfJZNLSc/dXrz6KWdyusHp+gNCpv4Z83hwCaO8TPwbrehwoQ==",
"license": "Apache-2.0",
"dependencies": {
- "@adobe/react-spectrum-workflow": "2.3.5",
- "@swc/helpers": "^0.5.0"
+ "@adobe/react-spectrum": "3.47.0",
+ "@swc/helpers": "^0.5.0",
+ "react-aria": "3.48.0"
},
"peerDependencies": {
- "@adobe/react-spectrum": "^3.47.0",
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-stately/collections": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.13.0.tgz",
- "integrity": "sha512-f5HPoCjofrubOTbxch/GfGCV53U7C2y8JJM6RmLssbraw/iYGFME+UiorO+i7UFdMPQbyB6SoOpvtIYwuzS9WA==",
+ "node_modules/@react-stately/combobox": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.14.1.tgz",
+ "integrity": "sha512-Sko1oHiKt07LERxUgpgmbQOYh5Yk8cU1dgRZlcE1wmmaxSVZBzBnd3fGZrEGRKSDezVOKHLibsmuYYDbxPEc+Q==",
"license": "Apache-2.0",
"dependencies": {
"@swc/helpers": "^0.5.0",
- "react-stately": "3.46.0"
+ "react-stately": "^3.46.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
- "node_modules/@react-stately/data": {
- "version": "3.16.0",
- "resolved": "https://registry.npmjs.org/@react-stately/data/-/data-3.16.0.tgz",
- "integrity": "sha512-1bxU6mgKJsTR/exvqRHMmgwZTnKhEEAETj/94uBiCndYvowTHBQwON8rZjXkjpee7ZAAzk8YpVVb3ZkNw/ib/g==",
+ "node_modules/@react-stately/overlays": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.7.0.tgz",
+ "integrity": "sha512-VyFlju6JqEUTyr+igrEjTeUi2MXw7IBOxWYzLoq26UJxf+45okqUWfyKRdXTvNjGJqQol9fqIg5Nv8fU4H/CvQ==",
"license": "Apache-2.0",
"dependencies": {
"@swc/helpers": "^0.5.0",
@@ -10873,16 +7204,34 @@
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
+ "node_modules/@react-stately/utils": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.12.0.tgz",
+ "integrity": "sha512-7q+iHz9cENvro1dVKgdTxNh1i1mtWuLUI6UHp10TAgpxM9DyRDvmuN35zLXYCmMDgx3WLY2xkwqoez8xd+CdxQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0",
+ "react-stately": "3.46.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
"node_modules/@react-types/combobox": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.13.1.tgz",
- "integrity": "sha512-7xr+HknfhReN4QPqKff5tbKTe2kGZvH+DGzPYskAtb51FAAiZsKo+WvnNAvLwg3kRoC9Rkn4TAiVBp/HgymRDw==",
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.15.0.tgz",
+ "integrity": "sha512-iWV9UfLg1P0XhEqPTbnhsVMHFwc0RnrZjHfCLwgilH0Af0z1CQ8RyWiT8cOd1eqbkOAiVgCv29Xs8PAxaQBHSg==",
"license": "Apache-2.0",
"dependencies": {
- "@react-types/shared": "^3.26.0"
+ "@react-aria/combobox": "^3.16.0",
+ "@react-spectrum/combobox": "^3.17.0",
+ "@react-stately/combobox": "^3.14.0"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ "@react-spectrum/provider": "^3.0.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
}
},
"node_modules/@react-types/radio": {
@@ -11464,6 +7813,7 @@
"integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -11491,6 +7841,37 @@
"@sinonjs/commons": "^3.0.0"
}
},
+ "node_modules/@spectrum-icons/ui": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@spectrum-icons/ui/-/ui-3.7.0.tgz",
+ "integrity": "sha512-86iQSDfJb3Ama1WSJ/mEiFy4DJT7e/v4pSmEuX4aKKMzbNYft+O40N18S2POUnmblrb7MQneLC/pgIp1SDBwEQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@adobe/react-spectrum-ui": "1.2.1",
+ "@babel/runtime": "^7.24.4",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "@adobe/react-spectrum": "^3.47.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@spectrum-icons/workflow": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@spectrum-icons/workflow/-/workflow-4.3.1.tgz",
+ "integrity": "sha512-kDF+/EbFVyLGytotqqdYt4uSij4j/PQmDQO5km/C6DyzKjyuic3FnSBFinR+mA6oFv1OjMcLvrrDBqK3wbqRlA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@adobe/react-spectrum-workflow": "2.3.5",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "@adobe/react-spectrum": "^3.47.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
"node_modules/@swc/core": {
"version": "1.15.30",
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.30.tgz",
@@ -12178,7 +8559,8 @@
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
"integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/@types/babel__core": {
"version": "7.20.5",
@@ -12490,7 +8872,6 @@
"integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"undici-types": "~6.21.0"
}
@@ -12724,7 +9105,6 @@
"integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
"dev": true,
"license": "BSD-2-Clause",
- "peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "5.62.0",
"@typescript-eslint/types": "5.62.0",
@@ -13023,7 +9403,6 @@
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
"integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
"license": "MIT",
- "peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -13539,6 +9918,7 @@
"integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=8"
}
@@ -14115,7 +10495,6 @@
}
],
"license": "MIT",
- "peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.10.12",
"caniuse-lite": "^1.0.30001782",
@@ -14328,6 +10707,7 @@
"integrity": "sha512-djgxybDbw9fL/ZWMI3+CE8ZilNxcwFkVtDc1gJ+IlOSSWkSMPQabhV/XCHTQ6pwwN6aivXPZ43omTooZiX06Ew==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@cacheable/memory": "^2.0.8",
"@cacheable/utils": "^2.4.0",
@@ -14342,6 +10722,7 @@
"integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@keyv/serialize": "^1.1.1"
}
@@ -14820,7 +11201,8 @@
"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/columnify": {
"version": "1.6.0",
@@ -15257,6 +11639,7 @@
"integrity": "sha512-8HFEBPKhOpJPEPu70wJJetjKta86Gw9+CCyCnB3sui2qQfOvRyqBy4IKLKKAwdMpWb2lHXWk9Wb4Z6AmaUT1Pg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
}
@@ -16152,6 +12535,7 @@
"integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"graceful-fs": "^4.2.4",
"tapable": "^2.3.0"
@@ -16951,7 +13335,6 @@
"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
@@ -17050,7 +13433,6 @@
"integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==",
"dev": true,
"license": "MIT",
- "peer": true,
"bin": {
"eslint-config-prettier": "bin/cli.js"
},
@@ -17139,6 +13521,7 @@
"integrity": "sha512-DEfpfuk+O/T5e9HBZOxocmwMuUGkvQQd5WRiMJF9kKNT9amByqOyGlWoAZAQiv0SZSy4GMtG1clmnvQA/RzA0A==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"debug": "^4.3.4",
"enhanced-resolve": "^5.10.0",
@@ -17165,6 +13548,7 @@
"integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"dir-glob": "^3.0.1",
"fast-glob": "^3.3.0",
@@ -17185,6 +13569,7 @@
"integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -17266,7 +13651,6 @@
"integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@rtsao/scc": "^1.1.0",
"array-includes": "^3.1.9",
@@ -17349,7 +13733,6 @@
"integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"aria-query": "^5.3.2",
"array-includes": "^3.1.8",
@@ -17390,6 +13773,7 @@
"integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"prettier-linter-helpers": "^1.0.1",
"synckit": "^0.11.12"
@@ -17421,6 +13805,7 @@
"integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": "^12.20.0 || ^14.18.0 || >=16.0.0"
},
@@ -17434,6 +13819,7 @@
"integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@pkgr/core": "^0.2.9"
},
@@ -17450,7 +13836,6 @@
"integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"array-includes": "^3.1.8",
"array.prototype.findlast": "^1.2.5",
@@ -17484,7 +13869,6 @@
"integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=10"
},
@@ -17587,6 +13971,7 @@
"integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"eslint-visitor-keys": "^1.1.0"
},
@@ -17603,6 +13988,7 @@
"integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
"dev": true,
"license": "Apache-2.0",
+ "peer": true,
"engines": {
"node": ">=4"
}
@@ -17899,7 +14285,8 @@
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
"integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
"dev": true,
- "license": "Apache-2.0"
+ "license": "Apache-2.0",
+ "peer": true
},
"node_modules/fast-glob": {
"version": "3.3.3",
@@ -17975,7 +14362,8 @@
"url": "https://opencollective.com/fastify"
}
],
- "license": "BSD-3-Clause"
+ "license": "BSD-3-Clause",
+ "peer": true
},
"node_modules/fastest-levenshtein": {
"version": "1.0.16",
@@ -17983,6 +14371,7 @@
"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">= 4.9.1"
}
@@ -18441,6 +14830,7 @@
"integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -18642,6 +15032,7 @@
"integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"resolve-pkg-maps": "^1.0.0"
},
@@ -18837,6 +15228,7 @@
"integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"global-prefix": "^3.0.0"
},
@@ -18850,6 +15242,7 @@
"integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ini": "^1.3.5",
"kind-of": "^6.0.2",
@@ -18865,6 +15258,7 @@
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"isexe": "^2.0.0"
},
@@ -18931,7 +15325,8 @@
"resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
"integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/glsl-inject-defines": {
"version": "1.0.3",
@@ -19373,6 +15768,7 @@
"integrity": "sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"hookified": "^1.15.0"
},
@@ -19496,7 +15892,8 @@
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.15.1.tgz",
"integrity": "sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/hosted-git-info": {
"version": "9.0.2",
@@ -19546,6 +15943,7 @@
"integrity": "sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.10"
},
@@ -19765,6 +16163,7 @@
"integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -20328,6 +16727,7 @@
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -20693,7 +17093,6 @@
"integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@jest/core": "^29.7.0",
"@jest/types": "^29.6.3",
@@ -22114,8 +18513,7 @@
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/js-cookie": {
"version": "3.0.5",
@@ -23065,7 +19463,8 @@
"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
"integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/log-symbols": {
"version": "4.1.0",
@@ -23148,6 +19547,7 @@
"integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"bin": {
"lz-string": "bin/bin.js"
}
@@ -23464,6 +19864,7 @@
"integrity": "sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -23717,7 +20118,8 @@
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz",
"integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==",
"dev": true,
- "license": "CC0-1.0"
+ "license": "CC0-1.0",
+ "peer": true
},
"node_modules/memoize-one": {
"version": "5.2.1",
@@ -25618,7 +22020,6 @@
"dev": true,
"hasInstallScript": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@napi-rs/wasm-runtime": "0.2.4",
"@yarnpkg/lockfile": "^1.1.0",
@@ -26865,7 +23266,6 @@
"resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-3.5.0.tgz",
"integrity": "sha512-a3AYQIMG7OdZmrJ/fJ65HSt3g1l5qDeludKqjjafU1dh5E+fwqDhsEBndW7VCYwjlducCfN6KtPdWdiWFcoBWw==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@plotly/d3": "3.8.2",
"@plotly/d3-sankey": "0.7.2",
@@ -26946,7 +23346,6 @@
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
"deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1",
"license": "MIT",
- "peer": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
@@ -26981,7 +23380,6 @@
}
],
"license": "MIT",
- "peer": true,
"dependencies": {
"nanoid": "^3.3.11",
"picocolors": "^1.1.1",
@@ -27011,6 +23409,7 @@
}
],
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18.0"
},
@@ -27024,7 +23423,6 @@
"integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -27038,7 +23436,8 @@
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/potpack": {
"version": "1.0.2",
@@ -27062,7 +23461,6 @@
"integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==",
"dev": true,
"license": "MIT",
- "peer": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -27079,6 +23477,7 @@
"integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"fast-diff": "^1.1.2"
},
@@ -27092,6 +23491,7 @@
"integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-regex": "^5.0.1",
"ansi-styles": "^5.0.0",
@@ -27107,6 +23507,7 @@
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=10"
},
@@ -27321,6 +23722,7 @@
"integrity": "sha512-n7mar4T0xQ+39dE2vGTAlbxUEpndwPANH0kDef1/MYsB8Bba9wshkybIRx74qgcvKQPEWErf9AqAdYjhzY2Ilg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"hookified": "^2.1.1"
},
@@ -27333,7 +23735,8 @@
"resolved": "https://registry.npmjs.org/hookified/-/hookified-2.1.1.tgz",
"integrity": "sha512-AHb76R16GB5EsPBE2J7Ko5kiEyXwviB9P5SMrAKcuAu4vJPZttViAbj9+tZeaQE5zjDme+1vcHP78Yj/WoAveA==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/querystringify": {
"version": "2.2.0",
@@ -27398,7 +23801,6 @@
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"loose-envify": "^1.1.0"
},
@@ -27450,7 +23852,6 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
"license": "MIT",
- "peer": true,
"dependencies": {
"loose-envify": "^1.1.0",
"scheduler": "^0.23.2"
@@ -27463,8 +23864,7 @@
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/react-markdown": {
"version": "8.0.7",
@@ -27521,7 +23921,6 @@
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz",
"integrity": "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@babel/runtime": "^7.15.4",
"@types/react-redux": "^7.1.20",
@@ -27881,7 +24280,6 @@
"resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz",
"integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@babel/runtime": "^7.9.2"
}
@@ -27964,6 +24362,7 @@
"integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=8"
},
@@ -28191,6 +24590,7 @@
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -28261,6 +24661,7 @@
"integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"funding": {
"url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
}
@@ -28727,7 +25128,6 @@
"integrity": "sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"chokidar": "^4.0.0",
"immutable": "^5.1.5",
@@ -29003,6 +25403,7 @@
"integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"astral-regex": "^2.0.0",
@@ -29589,6 +25990,7 @@
}
],
"license": "MIT",
+ "peer": true,
"dependencies": {
"@csstools/css-calc": "^3.1.1",
"@csstools/css-parser-algorithms": "^4.0.0",
@@ -29640,6 +26042,7 @@
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -29653,6 +26056,7 @@
"integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"env-paths": "^2.2.1",
"import-fresh": "^3.3.0",
@@ -29680,6 +26084,7 @@
"integrity": "sha512-N2WFfK12gmrK1c1GXOqiAJ1tc5YE+R53zvQ+t5P8S5XhnmKYVB5eZEiLNZKDSmoG8wqqbF9EXYBBW/nef19log==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"flat-cache": "^6.1.20"
}
@@ -29690,6 +26095,7 @@
"integrity": "sha512-N2dnzVJIphnNsjHcrxGW7DePckJ6haPrSFqpsBUhHYgwtKGVq4JrBGielEGD2fCVnsGm1zlBVZ8wGhkyuetgug==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"cacheable": "^2.3.4",
"flatted": "^3.4.2",
@@ -29702,6 +26108,7 @@
"integrity": "sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@sindresorhus/merge-streams": "^4.0.0",
"fast-glob": "^3.3.3",
@@ -29723,6 +26130,7 @@
"integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">= 4"
}
@@ -29733,6 +26141,7 @@
"integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -29746,6 +26155,7 @@
"integrity": "sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20"
},
@@ -29759,6 +26169,7 @@
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
"license": "ISC",
+ "peer": true,
"engines": {
"node": ">=14"
},
@@ -29772,6 +26183,7 @@
"integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=14.16"
},
@@ -29785,6 +26197,7 @@
"integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"get-east-asian-width": "^1.5.0",
"strip-ansi": "^7.1.2"
@@ -29802,6 +26215,7 @@
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"ansi-regex": "^6.2.2"
},
@@ -29818,6 +26232,7 @@
"integrity": "sha512-OTIk8iR8/aCRWBqvxrzxR0hgxWpnYBblY1S5hDWBQfk/VFmJwzmJgQFN3WsoUKHISv2eAwe+PpbUzyL1CKTLXg==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"signal-exit": "^4.0.1"
},
@@ -29865,6 +26280,7 @@
"integrity": "sha512-UKbpT93hN5Nr9go5UY7bopIB9YQlMz9nm/ct4IXt/irb5YRkn9WaqrOBJGZ5Pwvsd5FQzSVeYlGdXoCAPQZrPg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"has-flag": "^5.0.1",
"supports-color": "^10.2.2"
@@ -29882,6 +26298,7 @@
"integrity": "sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -29895,6 +26312,7 @@
"integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=18"
},
@@ -29958,7 +26376,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
"integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/symbol-tree": {
"version": "3.2.4",
@@ -29972,6 +26391,7 @@
"integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@pkgr/core": "^0.1.0",
"tslib": "^2.6.2"
@@ -29989,6 +26409,7 @@
"integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==",
"dev": true,
"license": "BSD-3-Clause",
+ "peer": true,
"dependencies": {
"ajv": "^8.0.1",
"lodash.truncate": "^4.4.2",
@@ -30006,6 +26427,7 @@
"integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
@@ -30022,7 +26444,8 @@
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/tapable": {
"version": "2.3.2",
@@ -30030,6 +26453,7 @@
"integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=6"
},
@@ -30240,7 +26664,6 @@
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=12"
},
@@ -30621,7 +27044,6 @@
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
- "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -30720,6 +27142,7 @@
"integrity": "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20"
},
@@ -31055,7 +27478,6 @@
"integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"esbuild": "^0.21.3",
"postcss": "^8.4.43",
@@ -31951,23 +28373,23 @@
"version": "0.37.0",
"license": "Apache-2.0",
"dependencies": {
- "@deephaven/chart": "^1.17.0",
- "@deephaven/components": "^1.17.0",
- "@deephaven/console": "^1.17.0",
- "@deephaven/dashboard": "^1.17.1",
- "@deephaven/dashboard-core-plugins": "^1.18.0",
- "@deephaven/golden-layout": "^1.17.1",
- "@deephaven/grid": "^1.18.0",
+ "@deephaven/chart": "^1.21.1",
+ "@deephaven/components": "^1.21.1",
+ "@deephaven/console": "^1.21.1",
+ "@deephaven/dashboard": "^1.21.1",
+ "@deephaven/dashboard-core-plugins": "^1.21.1",
+ "@deephaven/golden-layout": "^1.21.1",
+ "@deephaven/grid": "^1.18.2",
"@deephaven/icons": "^1.2.0",
- "@deephaven/iris-grid": "^1.18.0",
- "@deephaven/jsapi-bootstrap": "^1.17.0",
- "@deephaven/jsapi-components": "^1.17.0",
+ "@deephaven/iris-grid": "^1.21.1",
+ "@deephaven/jsapi-bootstrap": "^1.21.1",
+ "@deephaven/jsapi-components": "^1.21.1",
"@deephaven/jsapi-types": "^1.0.0-dev0.39.6",
"@deephaven/jsapi-utils": "^1.16.0",
"@deephaven/log": "^1.8.0",
- "@deephaven/plugin": "^1.18.0",
- "@deephaven/react-hooks": "^1.14.0",
- "@deephaven/redux": "^1.17.0",
+ "@deephaven/plugin": "^1.21.1",
+ "@deephaven/react-hooks": "^1.21.1",
+ "@deephaven/redux": "^1.19.0",
"@deephaven/test-utils": "^1.8.0",
"@deephaven/utils": "^1.10.0",
"@fortawesome/react-fontawesome": "^0.2.0",
diff --git a/plugins/ui/docs/components/combo_box.md b/plugins/ui/docs/components/combo_box.md
index 65e4e9c20..7756027b3 100644
--- a/plugins/ui/docs/components/combo_box.md
+++ b/plugins/ui/docs/components/combo_box.md
@@ -36,14 +36,15 @@ my_combo_box_basic = ui_combo_box_basic()
Recommendations for creating clear and effective combo boxes:
1. The combo box's text input simplifies searching through large lists. For lists with fewer than 6 items, use radio buttons. For lists with more than 6 items, assess if the list is complex enough to need searching and filtering, and if not, use a picker instead.
-2. Every combo box should have a label specified. Without one, the combo box is ambiguous and not accessible.
-3. Options in the combo box should be kept short and concise; multiple lines are strongly discouraged. If more than one line is needed, consider using a description to add context to the option.
-4. Choose a `width` for your combo boxes that can accommodate most of the available options.
-5. The field labels, menu items, and placeholder text should all be in sentence case.
-6. Identify which combo boxes are required or optional, and use the `is_required` field or the `necessity_indicator` to mark them accordingly.
-7. A combo box's help text should provide actionable guidance on what to select and how to select it, offering additional context without repeating the placeholder text.
-8. When an error occurs, the help text specified in a combo box is replaced by error text; thus, ensure both help and error text convey the same essential information to maintain consistent messaging and prevent loss of critical details.
-9. Write error messages in a clear, concise, and helpful manner, guiding users to resolve the issue without ambiguity; ideally, they should be 1-2 short, complete sentences.
+2. For selecting multiple options, use a [multi-select](multi_select.md) instead.
+3. Every combo box should have a label specified. Without one, the combo box is ambiguous and not accessible.
+4. Options in the combo box should be kept short and concise; multiple lines are strongly discouraged. If more than one line is needed, consider using a description to add context to the option.
+5. Choose a `width` for your combo boxes that can accommodate most of the available options.
+6. The field labels, menu items, and placeholder text should all be in sentence case.
+7. Identify which combo boxes are required or optional, and use the `is_required` field or the `necessity_indicator` to mark them accordingly.
+8. A combo box's help text should provide actionable guidance on what to select and how to select it, offering additional context without repeating the placeholder text.
+9. When an error occurs, the help text specified in a combo box is replaced by error text; thus, ensure both help and error text convey the same essential information to maintain consistent messaging and prevent loss of critical details.
+10. Write error messages in a clear, concise, and helpful manner, guiding users to resolve the issue without ambiguity; ideally, they should be 1-2 short, complete sentences.
## Data sources
@@ -767,7 +768,7 @@ my_combo_box_alignment_direction_examples = ui_combo_box_alignment_direction_exa
## How to create a multi-select component
-By leveraging the `on_change` handler of `ui.combo_box` to dynamically generate items, you can pair it with `ui.tag_group` to build a multi-select component.
+It is recommended to use [`multi_select`](multi_select.md) for `multi-select` use cases, but if you want the `combo_box` separate from the tags, you can also use a `tag_group` to show selected items, and use the `on_input_change` and `on_change` events to manage the state between them.
```python
from deephaven import ui
diff --git a/plugins/ui/docs/components/multi_select.md b/plugins/ui/docs/components/multi_select.md
new file mode 100644
index 000000000..479736fb9
--- /dev/null
+++ b/plugins/ui/docs/components/multi_select.md
@@ -0,0 +1,759 @@
+# Multi Select
+
+Multi select displays selected items as tags inside the input area and presents a filterable dropdown list for multi-selection.
+
+## Example
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_basic():
+ selected, set_selected = ui.use_state([])
+
+ return ui.multi_select(
+ ui.item("red panda"),
+ ui.item("cat"),
+ ui.item("dog"),
+ ui.item("aardvark"),
+ ui.item("kangaroo"),
+ ui.item("snake"),
+ ui.item("ant"),
+ label="Favorite Animals",
+ selected_keys=selected,
+ on_change=set_selected,
+ )
+
+
+my_multi_select_basic = ui_multi_select_basic()
+```
+
+## UI Recommendations
+
+Recommendations for creating clear and effective multi selects:
+
+1. The multi select's text input simplifies searching through large lists. For lists with fewer than 6 items, use a checkbox group.
+2. For selecting only one option, use a [`combo_box`](combo_box.md) instead.
+3. Every multi select should have a label specified. Without one, the multi select is ambiguous and not accessible.
+4. Options in the multi select should be kept short and concise; multiple lines are strongly discouraged. If more than one line is needed, consider using a description to add context to the option.
+5. Choose a `width` for your multi selects that can accommodate most of the available options.
+6. The field labels, menu items, and placeholder text should all be in sentence case.
+7. Identify which multi selects are required or optional, and use the `is_required` field or the `necessity_indicator` to mark them accordingly.
+8. A multi select's help text should provide actionable guidance on what to select and how to select it, offering additional context without repeating the placeholder text.
+9. When an error occurs, the help text specified in a multi select is replaced by error text; thus, ensure both help and error text convey the same essential information to maintain consistent messaging and prevent loss of critical details.
+10. Write error messages in a clear, concise, and helpful manner, guiding users to resolve the issue without ambiguity; ideally, they should be 1-2 short, complete sentences.
+
+## Data sources
+
+For multi selects, we can use a Deephaven table or [URI](uri.md) as a data source to populate the options. When using a table, the first column automatically is used as both the key and the label. If there are any duplicate keys, an error will be thrown; to avoid this, a `select_distinct` can be used on the table prior to using it as a multi select data source.
+
+```python order=my_multi_select_table_source_example,countries
+from deephaven import ui
+from deephaven.plot import express as dx
+
+
+countries = dx.data.gapminder().select_distinct("Country")
+
+
+my_multi_select_table_source_example = ui.multi_select(countries, label="Sample Multi Select")
+```
+
+## Item table sources
+
+If you wish to manually specify the keys and labels, use a `ui.item_table_source` to dynamically derive the options from a table.
+
+```python order=my_multi_select_item_table_source_example,column_types
+from deephaven import ui, empty_table
+
+account_icon = "vsAccount"
+columns = [
+ "Key=new Integer(i)",
+ "Label=new String(`Display `+i)",
+ "Icon=(String) account_icon",
+]
+column_types = empty_table(20).update(columns)
+
+
+item_table_source = ui.item_table_source(
+ column_types,
+ key_column="Key",
+ label_column="Label",
+ icon_column="Icon",
+)
+
+
+my_multi_select_item_table_source_example = ui.multi_select(
+ item_table_source, label="User Multi Select"
+)
+```
+
+## Custom Value
+
+By default, when a multi select loses focus, it resets its input value. To allow users to enter custom values as tags, use the `allows_custom_value` prop. Pressing **Enter** when no item is focused adds the typed text as a custom tag. If the typed text matches an existing item's label, that item's key is used instead.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_custom_value_example():
+ selected, set_selected = ui.use_state([])
+ return ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ allows_custom_value=True,
+ selected_keys=selected,
+ on_change=set_selected,
+ label="Select or type options",
+ )
+
+
+my_multi_select_custom_value_example = ui_multi_select_custom_value_example()
+```
+
+## HTML Forms
+
+Multi selects can support a `name` prop for integration with HTML forms, allowing for easy identification of a value on form submission. The `form_value` prop determines whether comma-joined keys or labels of the selected items are submitted via the hidden form input.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_form_example():
+ return ui.form(
+ ui.multi_select(
+ ui.item("Chocolate"),
+ ui.item("Mint"),
+ ui.item("Vanilla"),
+ ui.item("Strawberry"),
+ ui.item("Cookies and Cream"),
+ ui.item("Coffee"),
+ ui.item("Mango"),
+ label="Ice cream flavors",
+ name="flavors",
+ ),
+ ui.button("Submit", type="submit"),
+ on_submit=lambda event: print(event),
+ )
+
+
+my_multi_select_form_example = ui_multi_select_form_example()
+```
+
+## Labeling
+
+Use the `label` prop to label a multi select. If no label is provided, you must use an `aria_label` to identify the control for accessibility purposes.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_label_examples():
+ return [
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ label="Pick options",
+ ),
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ aria_label="Pick options",
+ ),
+ ]
+
+
+my_multi_select_label_examples = ui_multi_select_label_examples()
+```
+
+Use the `is_required` prop and the `necessity_indicator` props to show whether selecting an option in the multi-select is required or optional.
+
+When the `necessity_indicator` prop is set to "label", a localized string for "(required)" or "(optional)" will automatically be generated.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_required_examples():
+ return [
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ label="Pick options",
+ is_required=True,
+ ),
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ label="Pick options",
+ is_required=True,
+ necessity_indicator="label",
+ ),
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ ui.item("Option 9"),
+ label="Pick options",
+ necessity_indicator="label",
+ ),
+ ]
+
+
+my_multi_select_required_examples = ui_multi_select_required_examples()
+```
+
+## Selection
+
+Use `selected_keys` or `default_selected_keys` to set the selected options.
+
+`default_selected_keys` is useful for simpler scenarios where you don't need to control the state externally. Use `selected_keys`for scenarios where the state should be managed by the parent component, providing control and flexibility over the selection of the multi select.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_selected_keys_examples():
+ options, set_options = ui.use_state(["Option 1", "Option 3"])
+ return [
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ ui.item("Option 9"),
+ default_selected_keys=["Option 2", "Option 4"],
+ label="Pick options (uncontrolled)",
+ ),
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ ui.item("Option 9"),
+ selected_keys=options,
+ on_change=set_options,
+ label="Pick options (controlled)",
+ ),
+ ]
+
+
+my_multi_select_selected_keys_examples = ui_multi_select_selected_keys_examples()
+```
+
+## Sections
+
+Multi selects support sections to group options. Sections can be used by wrapping groups of items in a `section` element. Each Section takes a title and key prop.
+
+Note that, when searching for options, searching by section will not result in the respective options within that section appearing.
+
+> [!CAUTION]
+> Sections can only be used directly, not from a table data source.
+
+```python
+from deephaven import ui
+
+
+my_multi_select_section_example = ui.multi_select(
+ ui.section(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ title="Section 1",
+ ),
+ ui.section(
+ ui.item("Option 9"),
+ ui.item("Option 10"),
+ ui.item("Option 11"),
+ ui.item("Option 12"),
+ ui.item("Option 13"),
+ ui.item("Option 14"),
+ ui.item("Option 15"),
+ ui.item("Option 16"),
+ title="Section 2",
+ ),
+ label="Pick options",
+)
+```
+
+## Events
+
+Multi selects support selection via mouse, keyboard, and touch. You can handle all these via the `on_change` prop. Additionally, multi selects accept an `on_input_change` prop, which is triggered whenever the search value is edited by the user, whether through typing or option selection.
+
+Each interaction within the multi select will trigger its associated event handler. For instance, typing in the input field triggers the `on_input_change`, not the `on_change`.
+
+> [!NOTE]
+> This is not the case for selections: when a selection is made, both the `on_change` and `on_input_change` are triggered.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_events_example():
+ input_value, set_input_value = ui.use_state("")
+ selection_state, set_selection_state = ui.use_state([])
+
+ def handle_input_change(new_value):
+ set_input_value(new_value)
+ print(f"Text changed to {new_value}")
+
+ def handle_selection_change(new_value):
+ set_selection_state(new_value)
+ print(f"Selection changed to {new_value}")
+
+ return ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ ui.item("Option 9"),
+ input_value=input_value,
+ on_input_change=handle_input_change,
+ selected_keys=selection_state,
+ on_change=handle_selection_change,
+ label="Pick options",
+ )
+
+
+my_multi_select_events_example = ui_multi_select_events_example()
+```
+
+## Complex items
+
+Items within a multi select can include additional content to better convey options. You can add icons, avatars, and descriptions to the children of an `ui.item`. When adding a description, set the `slot` prop to "description" to differentiate between the text elements.
+
+```python
+from deephaven import ui
+
+
+my_multi_select_complex_items_example = ui.multi_select(
+ ui.item(
+ ui.icon("vsGithubAlt"),
+ ui.text("Github"),
+ ui.text("Github Option", slot="description"),
+ text_value="Github",
+ ),
+ ui.item(
+ ui.icon("vsAzureDevops"),
+ ui.text("Azure"),
+ ui.text("Azure Option", slot="description"),
+ text_value="Azure",
+ ),
+ label="Pick services",
+)
+```
+
+## Validation
+
+The `is_required` prop ensures that the user selects an option. The related `validation_behaviour` prop allows the user to specify aria or native verification.
+
+When the prop is set to "native", validation errors block form submission and are displayed automatically as help text.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_validation_behaviour_example():
+ return ui.form(
+ ui.multi_select(
+ ui.section(ui.item("Option 1"), ui.item("Option 2"), title="Section 1"),
+ validation_behavior="aria",
+ is_required=True,
+ label="Pick options",
+ )
+ )
+
+
+my_multi_select_validation_behaviour_example = (
+ ui_multi_select_validation_behaviour_example()
+)
+```
+
+## Trigger Options
+
+By default, the multi select's menu opens when the user types into the input field (`"input"`). This behavior can be changed to open on focus (`"focus"`) or only when the field button is clicked (`"manual"`) using the `menu_trigger` prop.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_trigger_option_examples():
+ return [
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ ui.item("Option 9"),
+ label="Select Options",
+ ),
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ ui.item("Option 9"),
+ label="Select Options",
+ menu_trigger="focus",
+ ),
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ ui.item("Option 9"),
+ label="Select Options",
+ menu_trigger="manual",
+ ),
+ ]
+
+
+my_multi_select_trigger_option_examples = ui_multi_select_trigger_option_examples()
+```
+
+## Label position
+
+By default, the label is positioned above the multi select, but it can be moved to the side using the `label_position` prop.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_label_position_examples():
+ return [
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ ui.item("Option 9"),
+ label="Test Label",
+ ),
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ ui.item("Option 9"),
+ label="Test Label",
+ label_position="side",
+ ),
+ ]
+
+
+my_multi_select_label_position_examples = ui_multi_select_label_position_examples()
+```
+
+## Quiet State
+
+The `is_quiet` prop makes a multi select "quiet". This can be useful when the multi select and its corresponding styling should not distract users from surrounding content.
+
+```python
+from deephaven import ui
+
+
+my_multi_select_is_quiet_example = ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ ui.item("Option 9"),
+ is_quiet=True,
+ label="Pick options",
+)
+```
+
+## Disabled State
+
+The `is_disabled` prop disables a multi select to prevent user interaction. This is useful when the multi select should be visible but unavailable for selection.
+
+```python
+from deephaven import ui
+
+
+my_multi_select_is_disabled_example = ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ ui.item("Option 9"),
+ is_disabled=True,
+ label="Pick options",
+)
+```
+
+## Read-only State
+
+The `is_read_only` prop prevents user input in a multi select, but the selected options should be visible.
+
+```python
+from deephaven import ui
+
+
+my_multi_select_is_read_only_example = ui.multi_select(
+ ui.item("Option 1", key="Option 1"),
+ ui.item("Option 2", key="Option 2"),
+ ui.item("Option 3", key="Option 3"),
+ ui.item("Option 4", key="Option 4"),
+ ui.item("Option 5", key="Option 5"),
+ ui.item("Option 6", key="Option 6"),
+ ui.item("Option 7", key="Option 7"),
+ ui.item("Option 8", key="Option 8"),
+ default_selected_keys=["Option 1", "Option 3"],
+ is_read_only=True,
+ label="Pick options",
+)
+```
+
+## Help text
+
+A multi select can have both a `description` and an `error_message`. The description remains visible at all times. Use the error message to offer specific guidance on how to correct the input.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_help_text_examples():
+ return [
+ ui.multi_select(
+ ui.section(
+ ui.item("Option 1", key="Option 1"),
+ ui.item("Option 2", key="Option 2"),
+ ui.item("Option 3", key="Option 3"),
+ ui.item("Option 4", key="Option 4"),
+ ui.item("Option 5", key="Option 5"),
+ ui.item("Option 6", key="Option 6"),
+ ui.item("Option 7", key="Option 7"),
+ ui.item("Option 8", key="Option 8"),
+ title="Section 1",
+ ),
+ label="Sample Label",
+ description="Select one or more options.",
+ ),
+ ui.multi_select(
+ ui.section(
+ ui.item("Option 1", key="Option 1"),
+ ui.item("Option 2", key="Option 2"),
+ ui.item("Option 3", key="Option 3"),
+ ui.item("Option 4", key="Option 4"),
+ ui.item("Option 5", key="Option 5"),
+ ui.item("Option 6", key="Option 6"),
+ ui.item("Option 7", key="Option 7"),
+ ui.item("Option 8", key="Option 8"),
+ title="Section 1",
+ ),
+ label="Sample Label",
+ validation_state="invalid",
+ error_message="Sample invalid error message.",
+ ),
+ ]
+
+
+my_multi_select_help_text_examples = ui_multi_select_help_text_examples()
+```
+
+## Contextual Help
+
+Using the `contextual_help` prop, a `ui.contextual_help` can be placed next to the label to provide additional information about the multi select.
+
+```python
+from deephaven import ui
+
+
+my_multi_select_contextual_help_example = ui.multi_select(
+ ui.section(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ title="Section 1",
+ ),
+ label="Sample Label",
+ contextual_help=ui.contextual_help(
+ ui.heading("Content tips"), ui.content("Tips for the content.")
+ ),
+)
+```
+
+## Custom width
+
+The `width` prop adjusts the width of a multi select, and the `max_width` prop enforces a maximum width.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_width_examples():
+ return [
+ ui.multi_select(
+ ui.item("Option 1", key="Option 1"),
+ ui.item("Option 2", key="Option 2"),
+ ui.item("Option 3", key="Option 3"),
+ ui.item("Option 4", key="Option 4"),
+ ui.item("Option 5", key="Option 5"),
+ ui.item("Option 6", key="Option 6"),
+ ui.item("Option 7", key="Option 7"),
+ ui.item("Option 8", key="Option 8"),
+ width="size-3600",
+ ),
+ ui.multi_select(
+ ui.item("Option 1", key="Option 1"),
+ ui.item("Option 2", key="Option 2"),
+ ui.item("Option 3", key="Option 3"),
+ ui.item("Option 4", key="Option 4"),
+ ui.item("Option 5", key="Option 5"),
+ ui.item("Option 6", key="Option 6"),
+ ui.item("Option 7", key="Option 7"),
+ ui.item("Option 8", key="Option 8"),
+ width="size-3600",
+ max_width="100%",
+ ),
+ ]
+
+
+my_multi_select_width_examples = ui_multi_select_width_examples()
+```
+
+## Align and Direction
+
+The `align` prop sets the text alignment of the options in the multi select, while the `direction` prop specifies which direction the menu will open.
+
+```python
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_alignment_direction_examples():
+ return ui.view(
+ ui.flex(
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ align="end",
+ menu_width="size-3000",
+ ),
+ ui.multi_select(
+ ui.item("Option 1"),
+ ui.item("Option 2"),
+ ui.item("Option 3"),
+ ui.item("Option 4"),
+ ui.item("Option 5"),
+ ui.item("Option 6"),
+ ui.item("Option 7"),
+ ui.item("Option 8"),
+ direction="top",
+ ),
+ gap="size-150",
+ direction="column",
+ ),
+ padding=40,
+ )
+
+
+my_multi_select_alignment_direction_examples = (
+ ui_multi_select_alignment_direction_examples()
+)
+```
+
+## API Reference
+
+```{eval-rst}
+.. dhautofunction:: deephaven.ui.multi_select
+```
diff --git a/plugins/ui/docs/sidebar.json b/plugins/ui/docs/sidebar.json
index 41a688a24..2d7c4e19a 100644
--- a/plugins/ui/docs/sidebar.json
+++ b/plugins/ui/docs/sidebar.json
@@ -326,6 +326,10 @@
"label": "meter",
"path": "components/meter.md"
},
+ {
+ "label": "multi_select",
+ "path": "components/multi_select.md"
+ },
{
"label": "number_field",
"path": "components/number_field.md"
@@ -359,7 +363,7 @@
"path": "components/range_slider.md"
},
{
- "label": "route",
+ "label": "router",
"path": "components/router.md"
},
{
diff --git a/plugins/ui/docs/snapshots/0761e766ac976e28061e143e034b23bf.json b/plugins/ui/docs/snapshots/0761e766ac976e28061e143e034b23bf.json
index 62b851727..ef787579e 100644
--- a/plugins/ui/docs/snapshots/0761e766ac976e28061e143e034b23bf.json
+++ b/plugins/ui/docs/snapshots/0761e766ac976e28061e143e034b23bf.json
@@ -1 +1 @@
-{"file":"components/combo_box.md","objects":{"my_combo_box_selected_key_examples":{"type":"deephaven.ui.Element","data":{"document":{"props":{"children":[{"__dhElemName":"deephaven.ui.components.ComboBox","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","defaultSelectedKey":"Option 2","validationBehavior":"aria","label":"Pick an option (uncontrolled)","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}},{"__dhElemName":"deephaven.ui.components.ComboBox","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","selectedKey":"Option 1","validationBehavior":"aria","label":"Pick an option (controlled)","labelPosition":"top","onChange":{"__dhCbid":"cb0"},"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}}]},"__dhElemName":"__main__.ui_combo_box_selected_key_examples"},"state":"{\"state\": {\"0\": \"Option 1\"}}"}}}}
\ No newline at end of file
+{"file":"components/combo_box.md","objects":{"my_combo_box_selected_key_examples":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_combo_box_selected_key_examples","props":{"children":[{"__dhElemName":"deephaven.ui.components.ComboBox","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","defaultSelectedKey":"Option 2","validationBehavior":"aria","label":"Pick an option (uncontrolled)","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}},{"__dhElemName":"deephaven.ui.components.ComboBox","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","selectedKey":"Option 1","validationBehavior":"aria","label":"Pick an option (controlled)","labelPosition":"top","onChange":{"__dhCbid":"cb0"},"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}}]}},"state":"{\"state\": {\"0\": \"Option 1\"}}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/16d416b14e0b60ca58840768ebb3377f.json b/plugins/ui/docs/snapshots/16d416b14e0b60ca58840768ebb3377f.json
new file mode 100644
index 000000000..8b043ad0e
--- /dev/null
+++ b/plugins/ui/docs/snapshots/16d416b14e0b60ca58840768ebb3377f.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_contextual_help_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Sample Label","labelPosition":"top","contextualHelp":{"__dhElemName":"deephaven.ui.components.ContextualHelp","props":{"heading":{"__dhElemName":"deephaven.ui.components.Heading","props":{"children":["Content tips"],"level":3}},"content":{"__dhElemName":"deephaven.ui.components.Content","props":{"children":["Tips for the content."]}},"variant":"help","placement":"bottom start"}},"children":{"__dhElemName":"deephaven.ui.components.Section","props":{"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}}]}}}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/2de457dcb8fd02dae37ae4d35d28a023.json b/plugins/ui/docs/snapshots/2de457dcb8fd02dae37ae4d35d28a023.json
new file mode 100644
index 000000000..0395334b8
--- /dev/null
+++ b/plugins/ui/docs/snapshots/2de457dcb8fd02dae37ae4d35d28a023.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"column_types":{"type":"Table","data":{"columns":[{"name":"Key","type":"int"},{"name":"Label","type":"java.lang.String"},{"name":"Icon","type":"java.lang.String"}],"rows":[[{"value":"0"},{"value":"Display 0"},{"value":"vsAccount"}],[{"value":"1"},{"value":"Display 1"},{"value":"vsAccount"}],[{"value":"2"},{"value":"Display 2"},{"value":"vsAccount"}],[{"value":"3"},{"value":"Display 3"},{"value":"vsAccount"}],[{"value":"4"},{"value":"Display 4"},{"value":"vsAccount"}],[{"value":"5"},{"value":"Display 5"},{"value":"vsAccount"}],[{"value":"6"},{"value":"Display 6"},{"value":"vsAccount"}],[{"value":"7"},{"value":"Display 7"},{"value":"vsAccount"}],[{"value":"8"},{"value":"Display 8"},{"value":"vsAccount"}],[{"value":"9"},{"value":"Display 9"},{"value":"vsAccount"}],[{"value":"10"},{"value":"Display 10"},{"value":"vsAccount"}],[{"value":"11"},{"value":"Display 11"},{"value":"vsAccount"}],[{"value":"12"},{"value":"Display 12"},{"value":"vsAccount"}],[{"value":"13"},{"value":"Display 13"},{"value":"vsAccount"}],[{"value":"14"},{"value":"Display 14"},{"value":"vsAccount"}],[{"value":"15"},{"value":"Display 15"},{"value":"vsAccount"}],[{"value":"16"},{"value":"Display 16"},{"value":"vsAccount"}],[{"value":"17"},{"value":"Display 17"},{"value":"vsAccount"}],[{"value":"18"},{"value":"Display 18"},{"value":"vsAccount"}],[{"value":"19"},{"value":"Display 19"},{"value":"vsAccount"}]]}},"my_multi_select_item_table_source_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"User Multi Select","labelPosition":"top","labelColumn":"Label","iconColumn":"Icon","keyColumn":"Key","children":{"__dhObid":0}}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/388471963fdcbabcc15e590d509e0263.json b/plugins/ui/docs/snapshots/388471963fdcbabcc15e590d509e0263.json
new file mode 100644
index 000000000..2d952a883
--- /dev/null
+++ b/plugins/ui/docs/snapshots/388471963fdcbabcc15e590d509e0263.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_complex_items_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Pick services","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"textValue":"Github","children":[{"__dhElemName":"deephaven.ui.icons.vsGithubAlt","props":{"name":"vsGithubAlt","slot":"icon"}},{"__dhElemName":"deephaven.ui.components.Text","props":{"children":["Github"],"slot":"text"}},{"__dhElemName":"deephaven.ui.components.Text","props":{"children":["Github Option"],"slot":"description"}}]}},{"__dhElemName":"deephaven.ui.components.Item","props":{"textValue":"Azure","children":[{"__dhElemName":"deephaven.ui.icons.vsAzureDevops","props":{"name":"vsAzureDevops","slot":"icon"}},{"__dhElemName":"deephaven.ui.components.Text","props":{"children":["Azure"],"slot":"text"}},{"__dhElemName":"deephaven.ui.components.Text","props":{"children":["Azure Option"],"slot":"description"}}]}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/3e1db3f10151d0f7fddf9f4259d62447.json b/plugins/ui/docs/snapshots/3e1db3f10151d0f7fddf9f4259d62447.json
new file mode 100644
index 000000000..f7a7998ec
--- /dev/null
+++ b/plugins/ui/docs/snapshots/3e1db3f10151d0f7fddf9f4259d62447.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_selected_keys_examples":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_selected_keys_examples","props":{"children":[{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","defaultSelectedKeys":["Option 2","Option 4"],"validationBehavior":"aria","label":"Pick options (uncontrolled)","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}},{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","selectedKeys":["Option 1","Option 3"],"validationBehavior":"aria","label":"Pick options (controlled)","labelPosition":"top","onChange":{"__dhCbid":"cb0"},"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/415bf47be017adfd4bc2f5c6cba8a5fe.json b/plugins/ui/docs/snapshots/415bf47be017adfd4bc2f5c6cba8a5fe.json
new file mode 100644
index 000000000..e8d1af4ca
--- /dev/null
+++ b/plugins/ui/docs/snapshots/415bf47be017adfd4bc2f5c6cba8a5fe.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_is_disabled_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","isDisabled":true,"validationBehavior":"aria","label":"Pick options","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/41b900591efc757b23440b1380150047.json b/plugins/ui/docs/snapshots/41b900591efc757b23440b1380150047.json
new file mode 100644
index 000000000..4bd0a5d1a
--- /dev/null
+++ b/plugins/ui/docs/snapshots/41b900591efc757b23440b1380150047.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_label_examples":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_label_examples","props":{"children":[{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Pick options","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}}]}},{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","labelPosition":"top","aria-label":"Pick options","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}}]}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/4d5923035666817d4436260b412c39bf.json b/plugins/ui/docs/snapshots/4d5923035666817d4436260b412c39bf.json
new file mode 100644
index 000000000..b09d3cd00
--- /dev/null
+++ b/plugins/ui/docs/snapshots/4d5923035666817d4436260b412c39bf.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_label_position_examples":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_label_position_examples","props":{"children":[{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Test Label","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}},{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Test Label","labelPosition":"side","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/52d601a9bcb4a2a8f8be03c3992b8d63.json b/plugins/ui/docs/snapshots/52d601a9bcb4a2a8f8be03c3992b8d63.json
new file mode 100644
index 000000000..df416ae26
--- /dev/null
+++ b/plugins/ui/docs/snapshots/52d601a9bcb4a2a8f8be03c3992b8d63.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_alignment_direction_examples":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_alignment_direction_examples","props":{"children":{"__dhElemName":"deephaven.ui.components.View","props":{"children":[{"__dhElemName":"deephaven.ui.components.Flex","props":{"direction":"column","gap":"size-150","flex":"auto","children":[{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"menuWidth":"size-3000","formValue":"text","validationBehavior":"aria","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}}]}},{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"top","shouldFlip":true,"formValue":"text","validationBehavior":"aria","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}}]}}]}}],"padding":40}}}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/560d89953fdb8d1b95ca2898778b9519.json b/plugins/ui/docs/snapshots/560d89953fdb8d1b95ca2898778b9519.json
new file mode 100644
index 000000000..06e22fe45
--- /dev/null
+++ b/plugins/ui/docs/snapshots/560d89953fdb8d1b95ca2898778b9519.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_help_text_examples":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_help_text_examples","props":{"children":[{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Sample Label","description":"Select one or more options.","labelPosition":"top","children":{"__dhElemName":"deephaven.ui.components.Section","props":{"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 1","children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 2","children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 3","children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 4","children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 5","children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 6","children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 7","children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 8","children":"Option 8"}}]}}}},{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Sample Label","errorMessage":"Sample invalid error message.","validationState":"invalid","labelPosition":"top","children":{"__dhElemName":"deephaven.ui.components.Section","props":{"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 1","children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 2","children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 3","children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 4","children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 5","children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 6","children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 7","children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 8","children":"Option 8"}}]}}}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/5d3ed3fecda2d0bd4ae4d8825d6fbea9.json b/plugins/ui/docs/snapshots/5d3ed3fecda2d0bd4ae4d8825d6fbea9.json
new file mode 100644
index 000000000..abf8a23dc
--- /dev/null
+++ b/plugins/ui/docs/snapshots/5d3ed3fecda2d0bd4ae4d8825d6fbea9.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_width_examples":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_width_examples","props":{"children":[{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","labelPosition":"top","width":"size-3600","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 1","children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 2","children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 3","children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 4","children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 5","children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 6","children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 7","children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 8","children":"Option 8"}}]}},{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","labelPosition":"top","width":"size-3600","maxWidth":"100%","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 1","children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 2","children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 3","children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 4","children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 5","children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 6","children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 7","children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 8","children":"Option 8"}}]}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/607ba14453021687f50ec3ebd1fd4c77.json b/plugins/ui/docs/snapshots/607ba14453021687f50ec3ebd1fd4c77.json
new file mode 100644
index 000000000..fd56b06ce
--- /dev/null
+++ b/plugins/ui/docs/snapshots/607ba14453021687f50ec3ebd1fd4c77.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"countries":{"type":"Table","data":{"columns":[{"name":"Country","type":"java.lang.String"}],"rows":[[{"value":"Afghanistan"}],[{"value":"Albania"}],[{"value":"Algeria"}],[{"value":"Angola"}],[{"value":"Argentina"}],[{"value":"Australia"}],[{"value":"Austria"}],[{"value":"Bahrain"}],[{"value":"Bangladesh"}],[{"value":"Belgium"}],[{"value":"Benin"}],[{"value":"Bolivia"}],[{"value":"Bosnia and Herzegovina"}],[{"value":"Botswana"}],[{"value":"Brazil"}],[{"value":"Bulgaria"}],[{"value":"Burkina Faso"}],[{"value":"Burundi"}],[{"value":"Cambodia"}],[{"value":"Cameroon"}],[{"value":"Canada"}],[{"value":"Central African Republic"}],[{"value":"Chad"}],[{"value":"Chile"}],[{"value":"China"}],[{"value":"Colombia"}],[{"value":"Comoros"}],[{"value":"Congo, Dem. Rep."}],[{"value":"Congo, Rep."}],[{"value":"Costa Rica"}],[{"value":"Cote d'Ivoire"}],[{"value":"Croatia"}],[{"value":"Cuba"}],[{"value":"Czech Republic"}],[{"value":"Denmark"}],[{"value":"Djibouti"}],[{"value":"Dominican Republic"}],[{"value":"Ecuador"}],[{"value":"Egypt"}],[{"value":"El Salvador"}],[{"value":"Equatorial Guinea"}],[{"value":"Eritrea"}],[{"value":"Ethiopia"}],[{"value":"Finland"}],[{"value":"France"}],[{"value":"Gabon"}],[{"value":"Gambia"}],[{"value":"Germany"}],[{"value":"Ghana"}],[{"value":"Greece"}],[{"value":"Guatemala"}],[{"value":"Guinea"}],[{"value":"Guinea-Bissau"}],[{"value":"Haiti"}],[{"value":"Honduras"}],[{"value":"Hong Kong, China"}],[{"value":"Hungary"}],[{"value":"Iceland"}],[{"value":"India"}],[{"value":"Indonesia"}],[{"value":"Iran"}],[{"value":"Iraq"}],[{"value":"Ireland"}],[{"value":"Israel"}],[{"value":"Italy"}],[{"value":"Jamaica"}],[{"value":"Japan"}],[{"value":"Jordan"}],[{"value":"Kenya"}],[{"value":"Korea, Dem. Rep."}],[{"value":"Korea, Rep."}],[{"value":"Kuwait"}],[{"value":"Lebanon"}],[{"value":"Lesotho"}],[{"value":"Liberia"}],[{"value":"Libya"}],[{"value":"Madagascar"}],[{"value":"Malawi"}],[{"value":"Malaysia"}],[{"value":"Mali"}],[{"value":"Mauritania"}],[{"value":"Mauritius"}],[{"value":"Mexico"}],[{"value":"Mongolia"}],[{"value":"Montenegro"}],[{"value":"Morocco"}],[{"value":"Mozambique"}],[{"value":"Myanmar"}],[{"value":"Namibia"}],[{"value":"Nepal"}],[{"value":"Netherlands"}],[{"value":"New Zealand"}],[{"value":"Nicaragua"}],[{"value":"Niger"}],[{"value":"Nigeria"}],[{"value":"Norway"}],[{"value":"Oman"}],[{"value":"Pakistan"}],[{"value":"Panama"}],[{"value":"Paraguay"}]]}},"my_multi_select_table_source_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Sample Multi Select","labelPosition":"top","children":{"__dhObid":0}}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/6b92d2a00b4d446f687c171939f4549c.json b/plugins/ui/docs/snapshots/6b92d2a00b4d446f687c171939f4549c.json
new file mode 100644
index 000000000..ebc28d478
--- /dev/null
+++ b/plugins/ui/docs/snapshots/6b92d2a00b4d446f687c171939f4549c.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_section_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Pick options","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Section","props":{"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}}]}},{"__dhElemName":"deephaven.ui.components.Section","props":{"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 10"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 11"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 12"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 13"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 14"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 15"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 16"}}]}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/6d5a83c0b867d4737036ba0c7df3d06a.json b/plugins/ui/docs/snapshots/6d5a83c0b867d4737036ba0c7df3d06a.json
new file mode 100644
index 000000000..462654c41
--- /dev/null
+++ b/plugins/ui/docs/snapshots/6d5a83c0b867d4737036ba0c7df3d06a.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_validation_behaviour_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_validation_behaviour_example","props":{"children":{"__dhElemName":"deephaven.ui.components.Form","props":{"children":[{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","isRequired":true,"validationBehavior":"aria","label":"Pick options","labelPosition":"top","children":{"__dhElemName":"deephaven.ui.components.Section","props":{"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}}]}}}}],"validationBehavior":"aria","labelPosition":"top"}}}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/8c0650bf02ecad7705b427d2ba3dcae9.json b/plugins/ui/docs/snapshots/8c0650bf02ecad7705b427d2ba3dcae9.json
new file mode 100644
index 000000000..83a6df562
--- /dev/null
+++ b/plugins/ui/docs/snapshots/8c0650bf02ecad7705b427d2ba3dcae9.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_events_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_events_example","props":{"children":{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","inputValue":"","selectedKeys":[],"validationBehavior":"aria","label":"Pick options","labelPosition":"top","onChange":{"__dhCbid":"cb0"},"onInputChange":{"__dhCbid":"cb1"},"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}}}},"state":"{\"state\": {\"0\": \"\"}}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/8f831cd9142e5f4d10792383db92ffb8.json b/plugins/ui/docs/snapshots/8f831cd9142e5f4d10792383db92ffb8.json
new file mode 100644
index 000000000..fec855f76
--- /dev/null
+++ b/plugins/ui/docs/snapshots/8f831cd9142e5f4d10792383db92ffb8.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_is_read_only_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","defaultSelectedKeys":["Option 1","Option 3"],"isReadOnly":true,"validationBehavior":"aria","label":"Pick options","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 1","children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 2","children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 3","children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 4","children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 5","children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 6","children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 7","children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 8","children":"Option 8"}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/94ab46014a1ec4241a826e7b08b163ef.json b/plugins/ui/docs/snapshots/94ab46014a1ec4241a826e7b08b163ef.json
index cc1802ac2..243247a7b 100644
--- a/plugins/ui/docs/snapshots/94ab46014a1ec4241a826e7b08b163ef.json
+++ b/plugins/ui/docs/snapshots/94ab46014a1ec4241a826e7b08b163ef.json
@@ -1 +1 @@
-{"file":"components/combo_box.md","objects":{"my_combo_box_is_read_only_example":{"type":"deephaven.ui.Element","data":{"document":{"props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","defaultSelectedKey":"Option 1","isReadOnly":true,"validationBehavior":"aria","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 1","children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 2","children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 3","children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 4","children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 5","children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 6","children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 7","children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 8","children":"Option 8"}}]},"__dhElemName":"deephaven.ui.components.ComboBox"},"state":"{}"}}}}
\ No newline at end of file
+{"file":"components/combo_box.md","objects":{"my_combo_box_is_read_only_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"deephaven.ui.components.ComboBox","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","defaultSelectedKey":"Option 1","isReadOnly":true,"validationBehavior":"aria","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 1","children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 2","children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 3","children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 4","children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 5","children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 6","children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 7","children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"key":"Option 8","children":"Option 8"}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/9bf473151e912a23a38ae067fbcd5d60.json b/plugins/ui/docs/snapshots/9bf473151e912a23a38ae067fbcd5d60.json
new file mode 100644
index 000000000..88b320ef3
--- /dev/null
+++ b/plugins/ui/docs/snapshots/9bf473151e912a23a38ae067fbcd5d60.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_basic":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_basic","props":{"children":{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","selectedKeys":[],"validationBehavior":"aria","label":"Favorite Animals","labelPosition":"top","onChange":{"__dhCbid":"cb0"},"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"red panda"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"cat"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"dog"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"aardvark"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"kangaroo"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"snake"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"ant"}}]}}}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/b895d93116f94b87b7b2d8a4ced584ef.json b/plugins/ui/docs/snapshots/b895d93116f94b87b7b2d8a4ced584ef.json
new file mode 100644
index 000000000..2c47abe8c
--- /dev/null
+++ b/plugins/ui/docs/snapshots/b895d93116f94b87b7b2d8a4ced584ef.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_required_examples":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_required_examples","props":{"children":[{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","isRequired":true,"validationBehavior":"aria","label":"Pick options","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}}]}},{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","isRequired":true,"validationBehavior":"aria","label":"Pick options","labelPosition":"top","necessityIndicator":"label","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}}]}},{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Pick options","labelPosition":"top","necessityIndicator":"label","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/ba962573b1353e4b0230301ecf71f981.json b/plugins/ui/docs/snapshots/ba962573b1353e4b0230301ecf71f981.json
new file mode 100644
index 000000000..662385143
--- /dev/null
+++ b/plugins/ui/docs/snapshots/ba962573b1353e4b0230301ecf71f981.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_custom_value_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_custom_value_example","props":{"children":{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","allowsCustomValue":true,"selectedKeys":[],"validationBehavior":"aria","label":"Select or type options","labelPosition":"top","onChange":{"__dhCbid":"cb0"},"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}}]}}}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/d90e47400a6a9800a0dcf18d62cfa277.json b/plugins/ui/docs/snapshots/d90e47400a6a9800a0dcf18d62cfa277.json
new file mode 100644
index 000000000..cb3f90984
--- /dev/null
+++ b/plugins/ui/docs/snapshots/d90e47400a6a9800a0dcf18d62cfa277.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_form_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_form_example","props":{"children":{"__dhElemName":"deephaven.ui.components.Form","props":{"children":[{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Ice cream flavors","name":"flavors","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Chocolate"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Mint"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Vanilla"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Strawberry"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Cookies and Cream"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Coffee"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Mango"}}]}},{"__dhElemName":"deephaven.ui.components.Button","props":{"variant":"accent","style":"fill","type":"submit","children":"Submit"}}],"validationBehavior":"aria","labelPosition":"top","onSubmit":{"__dhCbid":"cb0"}}}}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/f1891462b585b31dabf2e7d96395c968.json b/plugins/ui/docs/snapshots/f1891462b585b31dabf2e7d96395c968.json
index 861e7edad..b9d3df24e 100644
--- a/plugins/ui/docs/snapshots/f1891462b585b31dabf2e7d96395c968.json
+++ b/plugins/ui/docs/snapshots/f1891462b585b31dabf2e7d96395c968.json
@@ -1 +1 @@
-{"file":"components/combo_box.md","objects":{"my_combo_box_control_example":{"type":"deephaven.ui.Element","data":{"document":{"props":{"children":[{"__dhElemName":"deephaven.ui.components.ComboBox","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","inputValue":"","selectedKey":"","validationBehavior":"aria","labelPosition":"top","onChange":{"__dhCbid":"cb0"},"onInputChange":{"__dhCbid":"cb1"},"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}}]},"__dhElemName":"__main__.ui_combo_box_control_example"},"state":"{\"state\": {\"0\": \"\", \"1\": \"\"}}"}}}}
\ No newline at end of file
+{"file":"components/combo_box.md","objects":{"my_combo_box_control_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_combo_box_control_example","props":{"children":[{"__dhElemName":"deephaven.ui.components.ComboBox","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","inputValue":"","selectedKey":"","validationBehavior":"aria","labelPosition":"top","onChange":{"__dhCbid":"cb0"},"onInputChange":{"__dhCbid":"cb1"},"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}}]}},"state":"{\"state\": {\"0\": \"\", \"1\": \"\"}}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/f51c43058b3f9e3badc91be0005f516b.json b/plugins/ui/docs/snapshots/f51c43058b3f9e3badc91be0005f516b.json
new file mode 100644
index 000000000..cb697b537
--- /dev/null
+++ b/plugins/ui/docs/snapshots/f51c43058b3f9e3badc91be0005f516b.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_trigger_option_examples":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_multi_select_trigger_option_examples","props":{"children":[{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Select Options","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}},{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"focus","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Select Options","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}},{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"manual","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Select Options","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/fa4c431cba8e02a50fb02b9cbf6dd6de.json b/plugins/ui/docs/snapshots/fa4c431cba8e02a50fb02b9cbf6dd6de.json
index 626eb4f37..f640bfcb1 100644
--- a/plugins/ui/docs/snapshots/fa4c431cba8e02a50fb02b9cbf6dd6de.json
+++ b/plugins/ui/docs/snapshots/fa4c431cba8e02a50fb02b9cbf6dd6de.json
@@ -1 +1 @@
-{"file":"components/combo_box.md","objects":{"my_combo_box_basic":{"type":"deephaven.ui.Element","data":{"document":{"props":{"children":{"__dhElemName":"deephaven.ui.components.ComboBox","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","selectedKey":"","validationBehavior":"aria","label":"Favorite Animal","labelPosition":"top","onChange":{"__dhCbid":"cb0"},"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"red panda"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"cat"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"dog"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"aardvark"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"kangaroo"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"snake"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"ant"}}]}}},"__dhElemName":"__main__.ui_combo_box_basic"},"state":"{\"state\": {\"0\": \"\"}}"}}}}
\ No newline at end of file
+{"file":"components/combo_box.md","objects":{"my_combo_box_basic":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"__main__.ui_combo_box_basic","props":{"children":{"__dhElemName":"deephaven.ui.components.ComboBox","props":{"menuTrigger":"input","align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","selectedKey":"","validationBehavior":"aria","label":"Favorite Animal","labelPosition":"top","onChange":{"__dhCbid":"cb0"},"children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"red panda"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"cat"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"dog"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"aardvark"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"kangaroo"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"snake"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"ant"}}]}}}},"state":"{\"state\": {\"0\": \"\"}}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/docs/snapshots/fe8c8adb28d909d50fb4fef51e2ab1c9.json b/plugins/ui/docs/snapshots/fe8c8adb28d909d50fb4fef51e2ab1c9.json
new file mode 100644
index 000000000..af3e3b6bd
--- /dev/null
+++ b/plugins/ui/docs/snapshots/fe8c8adb28d909d50fb4fef51e2ab1c9.json
@@ -0,0 +1 @@
+{"file":"components/multi_select.md","objects":{"my_multi_select_is_quiet_example":{"type":"deephaven.ui.Element","data":{"document":{"__dhElemName":"deephaven.ui.components.MultiSelect","props":{"menuTrigger":"input","isQuiet":true,"align":"end","direction":"bottom","shouldFlip":true,"formValue":"text","validationBehavior":"aria","label":"Pick options","labelPosition":"top","children":[{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 1"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 2"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 3"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 4"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 5"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 6"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 7"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 8"}},{"__dhElemName":"deephaven.ui.components.Item","props":{"children":"Option 9"}}]}},"state":"{}"}}}}
\ No newline at end of file
diff --git a/plugins/ui/src/deephaven/ui/components/__init__.py b/plugins/ui/src/deephaven/ui/components/__init__.py
index 26f9eae1b..ed6a631a6 100644
--- a/plugins/ui/src/deephaven/ui/components/__init__.py
+++ b/plugins/ui/src/deephaven/ui/components/__init__.py
@@ -53,6 +53,7 @@
from .menu import menu
from .menu_trigger import menu_trigger
from .meter import meter
+from .multi_select import multi_select
from .number_field import number_field
from .panel import panel
from .picker import picker
@@ -143,6 +144,7 @@
"menu",
"menu_trigger",
"meter",
+ "multi_select",
"number_field",
"panel",
"picker",
diff --git a/plugins/ui/src/deephaven/ui/components/multi_select.py b/plugins/ui/src/deephaven/ui/components/multi_select.py
new file mode 100644
index 000000000..af494decc
--- /dev/null
+++ b/plugins/ui/src/deephaven/ui/components/multi_select.py
@@ -0,0 +1,257 @@
+from __future__ import annotations
+
+from typing import Callable, Any, Sequence
+
+from .types import (
+ FocusEventCallable,
+ KeyboardEventCallable,
+ LayoutFlex,
+ DimensionValue,
+ AlignSelf,
+ JustifySelf,
+ Position,
+ CSSProperties,
+ LabelPosition,
+ ValidationBehavior,
+ NecessityIndicator,
+ ValidationState,
+ MenuTriggerAction,
+ Align,
+ MenuDirection,
+ LoadingState,
+ FormValue,
+ Alignment,
+)
+
+from deephaven.table import Table, PartitionedTable
+from .section import SectionElement
+from .item import Item
+from .item_table_source import ItemTableSource
+from ..elements import BaseElement, Element, NodeType
+from .._internal.utils import create_props, unpack_item_table_source
+from ..types import Key, Selection
+from .basic import component_element
+
+
+MultiSelectElement = BaseElement
+
+SUPPORTED_SOURCE_ARGS = {
+ "key_column",
+ "label_column",
+ "description_column",
+ "icon_column",
+ "title_column",
+}
+
+
+def multi_select(
+ *children: Item | SectionElement | Table | PartitionedTable | ItemTableSource,
+ menu_trigger: MenuTriggerAction | None = "input",
+ is_quiet: bool | None = None,
+ align: Align | None = "end",
+ direction: MenuDirection | None = "bottom",
+ loading_state: LoadingState | None = None,
+ should_flip: bool = True,
+ menu_width: DimensionValue | None = None,
+ form_value: FormValue | None = "text",
+ should_focus_wrap: bool | None = None,
+ input_value: str | None = None,
+ default_input_value: str | None = None,
+ allows_custom_value: bool | None = None,
+ disabled_keys: list[Key] | None = None,
+ selected_keys: Selection | None = None,
+ default_selected_keys: Selection | None = None,
+ is_disabled: bool | None = None,
+ is_read_only: bool | None = None,
+ is_required: bool | None = None,
+ validation_behavior: ValidationBehavior = "aria",
+ auto_focus: bool | None = None,
+ label: NodeType = None,
+ description: Element | None = None,
+ error_message: Element | None = None,
+ name: str | None = None,
+ validation_state: ValidationState | None = None,
+ label_position: LabelPosition = "top",
+ label_align: Alignment | None = None,
+ necessity_indicator: NecessityIndicator | None = None,
+ contextual_help: Element | None = None,
+ on_open_change: Callable[[bool, MenuTriggerAction], None] | None = None,
+ on_selection_change: Callable[[Selection], None] | None = None,
+ on_change: Callable[[Selection], None] | None = None,
+ on_input_change: Callable[[str], None] | None = None,
+ on_focus: Callable[[FocusEventCallable], None] | None = None,
+ on_blur: Callable[[FocusEventCallable], None] | None = None,
+ on_focus_change: Callable[[bool], None] | None = None,
+ on_key_down: Callable[[KeyboardEventCallable], None] | None = None,
+ on_key_up: Callable[[KeyboardEventCallable], None] | None = None,
+ flex: LayoutFlex | None = None,
+ flex_grow: float | None = None,
+ flex_shrink: float | None = None,
+ flex_basis: DimensionValue | None = None,
+ align_self: AlignSelf | None = None,
+ justify_self: JustifySelf | None = None,
+ order: int | None = None,
+ grid_area: str | None = None,
+ grid_row: str | None = None,
+ grid_row_start: str | None = None,
+ grid_row_end: str | None = None,
+ grid_column: str | None = None,
+ grid_column_start: str | None = None,
+ grid_column_end: str | None = None,
+ margin: DimensionValue | None = None,
+ margin_top: DimensionValue | None = None,
+ margin_bottom: DimensionValue | None = None,
+ margin_start: DimensionValue | None = None,
+ margin_end: DimensionValue | None = None,
+ margin_x: DimensionValue | None = None,
+ margin_y: DimensionValue | None = None,
+ width: DimensionValue | None = None,
+ height: DimensionValue | None = None,
+ min_width: DimensionValue | None = None,
+ min_height: DimensionValue | None = None,
+ max_width: DimensionValue | None = None,
+ max_height: DimensionValue | None = None,
+ position: Position | None = None,
+ top: DimensionValue | None = None,
+ bottom: DimensionValue | None = None,
+ start: DimensionValue | None = None,
+ end: DimensionValue | None = None,
+ left: DimensionValue | None = None,
+ right: DimensionValue | None = None,
+ z_index: int | None = None,
+ is_hidden: bool | None = None,
+ id: str | None = None,
+ aria_label: str | None = None,
+ aria_labelledby: str | None = None,
+ aria_describedby: str | None = None,
+ aria_details: str | None = None,
+ UNSAFE_class_name: str | None = None,
+ UNSAFE_style: CSSProperties | None = None,
+ key: str | None = None,
+) -> MultiSelectElement:
+ """
+ A multi-select component that displays selected items as tags inside the input area
+ and presents a filterable dropdown list for multi-selection.
+
+ Children should be one of five types:
+
+ 1. If children are of type `Item`, they are the dropdown options.
+ 2. If children are of type `SectionElement`, they are the dropdown sections.
+ 3. If children are of type `Table`, the values in the table are the dropdown options.
+ There can only be one child, the `Table`.
+ The first column is used as the key and label by default.
+ 4. If children are of type `PartitionedTable`, the values in the table are the dropdown options
+ and the partitions create multiple sections. There can only be one child, the `PartitionedTable`.
+ The first column is used as the key and label by default.
+ 5. If children are of type `ItemTableSource`, complex items are created from the source.
+ There can only be one child, the `ItemTableSource`.
+ Supported ItemTableSource arguments are `key_column`, `label_column`, `description_column`,
+ `icon_column`, and `title_column`.
+
+ Args:
+ *children: The options to render within the multi-select.
+ menu_trigger: The interaction required to display the menu.
+ is_quiet: Whether the component should be displayed with a quiet style.
+ align: Alignment of the menu relative to the input target.
+ direction: Direction the menu will render relative to the component.
+ loading_state: The current loading state.
+ Determines whether or not the progress circle should be shown.
+ should_flip: Whether the menu should automatically flip direction when space is limited.
+ menu_width: Width of the menu. By default, matches width of the component.
+ Note that the minimum width of the dropdown is always equal to the component's width.
+ form_value: Whether the text or key of the selected items is submitted as part of an HTML form.
+ Controls whether comma-joined keys or labels are submitted via the hidden form input.
+ should_focus_wrap: Whether keyboard navigation is circular.
+ input_value: The value of the search input (controlled).
+ default_input_value: The default value of the search input (uncontrolled).
+ allows_custom_value: Whether the component allows a non-item matching input value to be set.
+ Pressing Enter when no item is focused adds the typed text as a custom tag.
+ If the typed text matches an existing item's label, that item's key is used instead.
+ disabled_keys: The item keys that are disabled.
+ These items cannot be selected, focused, or otherwise interacted with.
+ selected_keys: The currently selected keys in the collection (controlled).
+ default_selected_keys: The initial selected keys in the collection (uncontrolled).
+ is_disabled: Whether the input is disabled.
+ is_read_only: Whether the input can be selected but not changed by the user.
+ is_required: Whether user input is required on the input before form submission.
+ validation_behavior: Whether to use native HTML form validation to prevent
+ form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.
+ auto_focus: Whether the element should receive focus on render.
+ label: The content to display as the label.
+ description: A description for the field. Provides a hint such as specific requirements for what to choose.
+ error_message: An error message for the field.
+ name: The name of the input element, used when submitting an HTML form.
+ validation_state: Whether the input should display its "valid" or "invalid" visual styling.
+ label_position: The label's overall position relative to the element it is labeling.
+ label_align: The label's horizontal alignment relative to the element it is labeling.
+ necessity_indicator: Whether the required state should be shown as an icon or text.
+ contextual_help: A ContextualHelp element to place next to the label.
+ on_open_change: Method that is called when the open state of the menu changes.
+ Returns the new open state and the action that caused the opening of the menu.
+ on_selection_change: Handler that is called when the selection changes.
+ Receives a `Selection` (list of keys).
+ on_change: Alias of `on_selection_change`. Handler that is called when the selection changes.
+ Receives a `Selection` (list of keys).
+ on_input_change: Handler that is called when the input value changes.
+ on_focus: Handler that is called when the element receives focus.
+ on_blur: Handler that is called when the element loses focus.
+ on_focus_change: Handler that is called when the element's focus status changes.
+ on_key_down: Handler that is called when a key is pressed.
+ on_key_up: Handler that is called when a key is released.
+ flex: When used in a flex layout, specifies how the element will grow or shrink to fit the space available.
+ flex_grow: When used in a flex layout, specifies how much the element will grow to fit the space available.
+ flex_shrink: When used in a flex layout, specifies how much the element will shrink to fit the space available.
+ flex_basis: When used in a flex layout, specifies the initial size of the element.
+ align_self: Overrides the align_items property of a flex or grid container.
+ justify_self: Specifies how the element is justified inside a flex or grid container.
+ order: The layout order for the element within a flex or grid container.
+ grid_area: The name of the grid area to place the element in.
+ grid_row: The name of the grid row to place the element in.
+ grid_row_start: The name of the grid row to start the element in.
+ grid_row_end: The name of the grid row to end the element in.
+ grid_column: The name of the grid column to place the element in.
+ grid_column_start: The name of the grid column to start the element in.
+ grid_column_end: The name of the grid column to end the element in.
+ margin: The margin to apply around the element.
+ margin_top: The margin to apply above the element.
+ margin_bottom: The margin to apply below the element.
+ margin_start: The margin to apply before the element.
+ margin_end: The margin to apply after the element.
+ margin_x: The margin to apply to the left and right of the element.
+ margin_y: The margin to apply to the top and bottom of the element.
+ width: The width of the element.
+ height: The height of the element.
+ min_width: The minimum width of the element.
+ min_height: The minimum height of the element.
+ max_width: The maximum width of the element.
+ max_height: The maximum height of the element.
+ position: Specifies how the element is positioned.
+ top: The distance from the top of the containing element.
+ bottom: The distance from the bottom of the containing element.
+ start: The distance from the start of the containing element.
+ end: The distance from the end of the containing element.
+ left: The distance from the left of the containing element.
+ right: The distance from the right of the containing element.
+ z_index: The stack order of the element.
+ is_hidden: Whether the element is hidden.
+ id: A unique identifier for the element.
+ aria_label: The label for the element.
+ aria_labelledby: The id of the element that labels the element.
+ aria_describedby: The id of the element that describes the element.
+ aria_details: The details for the element.
+ UNSAFE_class_name: A CSS class to apply to the element.
+ UNSAFE_style: A CSS style to apply to the element.
+ key: A unique identifier used by React to render elements in a list.
+
+ Returns:
+ The rendered MultiSelect.
+ """
+ children, props = create_props(locals())
+
+ children, props = unpack_item_table_source(children, props, SUPPORTED_SOURCE_ARGS)
+
+ return component_element(
+ "MultiSelect",
+ *children,
+ **props,
+ )
diff --git a/plugins/ui/src/js/package.json b/plugins/ui/src/js/package.json
index 28e8a1f5e..0c4c4a3b0 100644
--- a/plugins/ui/src/js/package.json
+++ b/plugins/ui/src/js/package.json
@@ -40,23 +40,23 @@
"react-dom": "^18.0.0 || ^19.0.0"
},
"dependencies": {
- "@deephaven/chart": "^1.17.0",
- "@deephaven/components": "^1.17.0",
- "@deephaven/console": "^1.17.0",
- "@deephaven/dashboard": "^1.17.1",
- "@deephaven/dashboard-core-plugins": "^1.18.0",
- "@deephaven/golden-layout": "^1.17.1",
- "@deephaven/grid": "^1.18.0",
+ "@deephaven/chart": "^1.21.1",
+ "@deephaven/components": "^1.21.1",
+ "@deephaven/console": "^1.21.1",
+ "@deephaven/dashboard": "^1.21.1",
+ "@deephaven/dashboard-core-plugins": "^1.21.1",
+ "@deephaven/golden-layout": "^1.21.1",
+ "@deephaven/grid": "^1.18.2",
"@deephaven/icons": "^1.2.0",
- "@deephaven/iris-grid": "^1.18.0",
- "@deephaven/jsapi-bootstrap": "^1.17.0",
- "@deephaven/jsapi-components": "^1.17.0",
+ "@deephaven/iris-grid": "^1.21.1",
+ "@deephaven/jsapi-bootstrap": "^1.21.1",
+ "@deephaven/jsapi-components": "^1.21.1",
"@deephaven/jsapi-types": "^1.0.0-dev0.39.6",
"@deephaven/jsapi-utils": "^1.16.0",
"@deephaven/log": "^1.8.0",
- "@deephaven/plugin": "^1.18.0",
- "@deephaven/react-hooks": "^1.14.0",
- "@deephaven/redux": "^1.17.0",
+ "@deephaven/plugin": "^1.21.1",
+ "@deephaven/react-hooks": "^1.21.1",
+ "@deephaven/redux": "^1.19.0",
"@deephaven/test-utils": "^1.8.0",
"@deephaven/utils": "^1.10.0",
"@fortawesome/react-fontawesome": "^0.2.0",
diff --git a/plugins/ui/src/js/src/elements/ComboBox.tsx b/plugins/ui/src/js/src/elements/ComboBox.tsx
index a322f6fa0..0db613082 100644
--- a/plugins/ui/src/js/src/elements/ComboBox.tsx
+++ b/plugins/ui/src/js/src/elements/ComboBox.tsx
@@ -48,17 +48,13 @@ export function ComboBox(
{...pickerProps}
errorMessage={message}
validationState="invalid"
- >
- {[]}
-
+ />
);
}
if (isLoading || table == null || api == null) {
return (
// eslint-disable-next-line react/jsx-props-no-spreading
-
- {[]}
-
+
);
}
return (
diff --git a/plugins/ui/src/js/src/elements/ListView.tsx b/plugins/ui/src/js/src/elements/ListView.tsx
index 44741c92f..68e39f471 100644
--- a/plugins/ui/src/js/src/elements/ListView.tsx
+++ b/plugins/ui/src/js/src/elements/ListView.tsx
@@ -38,9 +38,7 @@ export function ListView(props: SerializedListViewProps): JSX.Element | null {
// eslint-disable-next-line react/jsx-props-no-spreading
{...listViewProps}
renderEmptyState={() => }
- >
- {[]}
-
+ />
);
}
if (isLoading || table == null || api == null) {
@@ -49,9 +47,7 @@ export function ListView(props: SerializedListViewProps): JSX.Element | null {
// eslint-disable-next-line react/jsx-props-no-spreading
{...listViewProps}
loadingState="loading"
- >
- {[]}
-
+ />
);
}
return (
diff --git a/plugins/ui/src/js/src/elements/MultiSelect.test.tsx b/plugins/ui/src/js/src/elements/MultiSelect.test.tsx
new file mode 100644
index 000000000..7018b8a0c
--- /dev/null
+++ b/plugins/ui/src/js/src/elements/MultiSelect.test.tsx
@@ -0,0 +1,169 @@
+import React from 'react';
+import { render } from '@testing-library/react';
+import { MultiSelect } from './MultiSelect';
+import type { SerializedMultiSelectProps } from './hooks/useMultiSelectProps';
+
+// Mock ObjectView and UriObjectView before they trigger deep dependency chains
+jest.mock('./ObjectView', () => jest.fn(() => null));
+jest.mock('./UriObjectView', () => jest.fn(() => null));
+jest.mock('../widget/WidgetErrorUtils', () => ({
+ getErrorShortMessage: jest.fn((e: Error) => e.message),
+}));
+
+// Mock all heavy dependencies
+jest.mock('react-redux', () => ({
+ useSelector: jest.fn(() => ({})),
+}));
+
+jest.mock('./hooks/useMultiSelectProps', () => ({
+ useMultiSelectProps: jest.fn((props: Record) => {
+ const {
+ onChange,
+ onSelectionChange,
+ onFocus,
+ onBlur,
+ onKeyDown,
+ onKeyUp,
+ ...rest
+ } = props;
+ return rest;
+ }),
+}));
+
+jest.mock('./hooks/useObjectViewObject', () => ({
+ useObjectViewObject: jest.fn(() => ({
+ widget: null,
+ api: null,
+ isLoading: false,
+ error: null,
+ })),
+}));
+
+jest.mock('@deephaven/components', () => ({
+ MultiSelect: jest.fn(
+ ({ children }: { children?: React.ReactNode; [key: string]: unknown }) => (
+ {children}
+ )
+ ),
+}));
+
+jest.mock('@deephaven/jsapi-components', () => ({
+ MultiSelect: jest.fn(() => ),
+}));
+
+jest.mock('@deephaven/react-hooks', () => ({
+ isElementOfType: jest.fn(() => false),
+}));
+
+jest.mock('@deephaven/jsapi-bootstrap', () => ({
+ ApiContext: {
+ Provider: ({ children }: { children: React.ReactNode }) => children,
+ },
+}));
+
+jest.mock('@deephaven/redux', () => ({
+ getSettings: jest.fn(() => ({})),
+}));
+
+describe('MultiSelect', () => {
+ it('renders DHMultiSelect with children when not an ObjectView', () => {
+ const props = {
+ children: ['Option A', 'Option B'],
+ label: 'Test',
+ } as unknown as SerializedMultiSelectProps;
+
+ const { getByTestId } = render(
+
+ );
+ expect(getByTestId('dh-multi-select')).toBeTruthy();
+ });
+
+ it('renders loading state when ObjectView with no table', () => {
+ const { isElementOfType } = jest.requireMock('@deephaven/react-hooks');
+ isElementOfType.mockReturnValue(true);
+
+ const { useObjectViewObject } = jest.requireMock(
+ './hooks/useObjectViewObject'
+ );
+ useObjectViewObject.mockReturnValue({
+ widget: null,
+ api: null,
+ isLoading: true,
+ error: null,
+ });
+
+ const props = {
+ children: React.createElement('div'),
+ label: 'Loading test',
+ } as unknown as SerializedMultiSelectProps;
+
+ const { getByTestId } = render(
+
+ );
+ const el = getByTestId('dh-multi-select');
+ expect(el).toBeTruthy();
+ });
+
+ it('renders error state when ObjectView has error', () => {
+ const { isElementOfType } = jest.requireMock('@deephaven/react-hooks');
+ isElementOfType.mockReturnValue(true);
+
+ const { useObjectViewObject } = jest.requireMock(
+ './hooks/useObjectViewObject'
+ );
+ useObjectViewObject.mockReturnValue({
+ widget: null,
+ api: null,
+ isLoading: false,
+ error: new Error('Test error'),
+ });
+
+ const props = {
+ children: React.createElement('div'),
+ label: 'Error test',
+ } as unknown as SerializedMultiSelectProps;
+
+ const { getByTestId } = render(
+
+ );
+ const el = getByTestId('dh-multi-select');
+ expect(el).toBeTruthy();
+ });
+
+ it('renders JSApi MultiSelect when ObjectView has table and api', () => {
+ const { isElementOfType } = jest.requireMock('@deephaven/react-hooks');
+ isElementOfType.mockReturnValue(true);
+
+ const { useObjectViewObject } = jest.requireMock(
+ './hooks/useObjectViewObject'
+ );
+ useObjectViewObject.mockReturnValue({
+ widget: {},
+ api: {},
+ isLoading: false,
+ error: null,
+ });
+
+ const props = {
+ children: React.createElement('div'),
+ label: 'JSApi test',
+ } as unknown as SerializedMultiSelectProps;
+
+ const { getByTestId } = render(
+
+ );
+ expect(getByTestId('dh-multi-select-jsapi')).toBeTruthy();
+ });
+});
diff --git a/plugins/ui/src/js/src/elements/MultiSelect.tsx b/plugins/ui/src/js/src/elements/MultiSelect.tsx
new file mode 100644
index 000000000..b89bdec42
--- /dev/null
+++ b/plugins/ui/src/js/src/elements/MultiSelect.tsx
@@ -0,0 +1,67 @@
+import { useSelector } from 'react-redux';
+import { MultiSelect as DHMultiSelect } from '@deephaven/components';
+import { MultiSelect as DHMultiSelectJSApi } from '@deephaven/jsapi-components';
+import { isElementOfType } from '@deephaven/react-hooks';
+import type { dh } from '@deephaven/jsapi-types';
+import { ApiContext } from '@deephaven/jsapi-bootstrap';
+import { getSettings, type RootState } from '@deephaven/redux';
+import {
+ type SerializedMultiSelectProps,
+ useMultiSelectProps,
+} from './hooks/useMultiSelectProps';
+import ObjectView from './ObjectView';
+import { useObjectViewObject } from './hooks/useObjectViewObject';
+import UriObjectView from './UriObjectView';
+import { getErrorShortMessage } from '../widget/WidgetErrorUtils';
+
+export function MultiSelect(
+ props: SerializedMultiSelectProps
+): JSX.Element | null {
+ const settings = useSelector(getSettings);
+ const { children, ...multiSelectProps } = useMultiSelectProps(props);
+
+ const isObjectView =
+ isElementOfType(children, ObjectView) ||
+ isElementOfType(children, UriObjectView);
+ const { widget: table, api, error } = useObjectViewObject(children);
+
+ if (isObjectView) {
+ if (error != null) {
+ const message = getErrorShortMessage(error);
+ return (
+
+ );
+ }
+ // Don't gate on `isLoading` as it flips true on server round-trips and
+ // would unmount/remount the spectrum MultiSelect, closing any open
+ // popover.
+ if (table == null || api == null) {
+ return (
+ // eslint-disable-next-line react/jsx-props-no-spreading
+
+ );
+ }
+ return (
+
+
+
+ );
+ }
+
+ return (
+ // eslint-disable-next-line react/jsx-props-no-spreading
+ {children}
+ );
+}
+
+export default MultiSelect;
diff --git a/plugins/ui/src/js/src/elements/Picker.tsx b/plugins/ui/src/js/src/elements/Picker.tsx
index 59e5ce501..9998c07d0 100644
--- a/plugins/ui/src/js/src/elements/Picker.tsx
+++ b/plugins/ui/src/js/src/elements/Picker.tsx
@@ -44,17 +44,13 @@ export function Picker(
const message = getErrorShortMessage(error);
return (
// eslint-disable-next-line react/jsx-props-no-spreading
-
- {[]}
-
+
);
}
if (isLoading || table == null || api == null) {
return (
// eslint-disable-next-line react/jsx-props-no-spreading
-
- {[]}
-
+
);
}
return (
diff --git a/plugins/ui/src/js/src/elements/hooks/useMultiSelectProps.test.ts b/plugins/ui/src/js/src/elements/hooks/useMultiSelectProps.test.ts
new file mode 100644
index 000000000..54c1540b9
--- /dev/null
+++ b/plugins/ui/src/js/src/elements/hooks/useMultiSelectProps.test.ts
@@ -0,0 +1,127 @@
+import { renderHook, act } from '@testing-library/react';
+import { useMultiSelectProps } from './useMultiSelectProps';
+import type { SerializedMultiSelectProps } from './useMultiSelectProps';
+
+describe('useMultiSelectProps', () => {
+ it('passes through other props unchanged', () => {
+ const props = {
+ label: 'Test Label',
+ isDisabled: true,
+ selectedKeys: ['a', 'b'],
+ } as unknown as SerializedMultiSelectProps;
+
+ const { result } = renderHook(() => useMultiSelectProps(props));
+
+ expect(result.current).toMatchObject({
+ label: 'Test Label',
+ isDisabled: true,
+ selectedKeys: ['a', 'b'],
+ });
+ });
+
+ it('deserializes onChange into a function', () => {
+ const onChange = jest.fn();
+ const props = {
+ onChange,
+ } as unknown as SerializedMultiSelectProps;
+
+ const { result } = renderHook(() => useMultiSelectProps(props));
+
+ expect(result.current.onChange).toBeDefined();
+ expect(typeof result.current.onChange).toBe('function');
+ });
+
+ it('deserializes onSelectionChange into a function', () => {
+ const onSelectionChange = jest.fn();
+ const props = {
+ onSelectionChange,
+ } as unknown as SerializedMultiSelectProps;
+
+ const { result } = renderHook(() => useMultiSelectProps(props));
+
+ expect(result.current.onSelectionChange).toBeDefined();
+ expect(typeof result.current.onSelectionChange).toBe('function');
+ });
+
+ it('serializes Set selection to array when onChange fires', () => {
+ const onChange = jest.fn();
+ const props = {
+ onChange,
+ } as unknown as SerializedMultiSelectProps;
+
+ const { result } = renderHook(() => useMultiSelectProps(props));
+
+ act(() => {
+ result.current.onChange?.(new Set(['a', 'b']));
+ });
+
+ expect(onChange).toHaveBeenCalledWith(['a', 'b']);
+ });
+
+ it('serializes Set selection to array when onSelectionChange fires', () => {
+ const onSelectionChange = jest.fn();
+ const props = {
+ onSelectionChange,
+ } as unknown as SerializedMultiSelectProps;
+
+ const { result } = renderHook(() => useMultiSelectProps(props));
+
+ act(() => {
+ result.current.onSelectionChange?.(new Set(['x', 'y']));
+ });
+
+ expect(onSelectionChange).toHaveBeenCalledWith(['x', 'y']);
+ });
+
+ it('passes "all" selection through unchanged', () => {
+ const onChange = jest.fn();
+ const props = {
+ onChange,
+ } as unknown as SerializedMultiSelectProps;
+
+ const { result } = renderHook(() => useMultiSelectProps(props));
+
+ act(() => {
+ result.current.onChange?.('all');
+ });
+
+ expect(onChange).toHaveBeenCalledWith('all');
+ });
+
+ it('deserializes focus and blur callbacks', () => {
+ const onFocus = jest.fn();
+ const onBlur = jest.fn();
+ const props = {
+ onFocus,
+ onBlur,
+ } as unknown as SerializedMultiSelectProps;
+
+ const { result } = renderHook(() => useMultiSelectProps(props));
+
+ expect(result.current.onFocus).toBeDefined();
+ expect(result.current.onBlur).toBeDefined();
+ });
+
+ it('deserializes keyboard callbacks', () => {
+ const onKeyDown = jest.fn();
+ const onKeyUp = jest.fn();
+ const props = {
+ onKeyDown,
+ onKeyUp,
+ } as unknown as SerializedMultiSelectProps;
+
+ const { result } = renderHook(() => useMultiSelectProps(props));
+
+ expect(result.current.onKeyDown).toBeDefined();
+ expect(result.current.onKeyUp).toBeDefined();
+ });
+
+ it('returns undefined for omitted callbacks', () => {
+ const props = {} as SerializedMultiSelectProps;
+
+ const { result } = renderHook(() => useMultiSelectProps(props));
+
+ expect(result.current.onChange).toBeUndefined();
+ expect(result.current.onSelectionChange).toBeUndefined();
+ });
+});
diff --git a/plugins/ui/src/js/src/elements/hooks/useMultiSelectProps.ts b/plugins/ui/src/js/src/elements/hooks/useMultiSelectProps.ts
new file mode 100644
index 000000000..62119083d
--- /dev/null
+++ b/plugins/ui/src/js/src/elements/hooks/useMultiSelectProps.ts
@@ -0,0 +1,63 @@
+import type { MultiSelectProps as DHMultiSelectProps } from '@deephaven/components';
+import type { MultiSelectProps as DHMultiSelectJSApiProps } from '@deephaven/jsapi-components';
+import {
+ type SerializedSelectionProps,
+ useSelectionProps,
+} from './useSelectionProps';
+import type {
+ SerializedPickerEventProps,
+ WrappedDHPickerJSApiProps,
+} from './usePickerProps';
+import { useFocusEventCallback } from './useFocusEventCallback';
+import { useKeyboardEventCallback } from './useKeyboardEventCallback';
+
+type WrappedDHMultiSelectJSApiProps =
+ WrappedDHPickerJSApiProps;
+
+export type SerializedMultiSelectProps = (
+ | DHMultiSelectProps
+ | WrappedDHMultiSelectJSApiProps
+) &
+ SerializedSelectionProps &
+ SerializedPickerEventProps;
+
+/**
+ * Wrap MultiSelect props with the appropriate serialized event callbacks.
+ * @param props Props to wrap
+ * @returns Wrapped props
+ */
+export function useMultiSelectProps({
+ onChange: serializedOnChange,
+ onSelectionChange: serializedOnSelectionChange,
+ onFocus,
+ onBlur,
+ onKeyDown,
+ onKeyUp,
+ ...otherProps
+}: SerializedMultiSelectProps):
+ | DHMultiSelectProps
+ | WrappedDHMultiSelectJSApiProps {
+ const { onChange, onSelectionChange } = useSelectionProps({
+ onChange: serializedOnChange,
+ onSelectionChange: serializedOnSelectionChange,
+ });
+
+ const deserializedOnFocus = useFocusEventCallback(onFocus);
+ const deserializedOnBlur = useFocusEventCallback(onBlur);
+ const deserializedOnKeyDown = useKeyboardEventCallback(onKeyDown);
+ const deserializedOnKeyUp = useKeyboardEventCallback(onKeyUp);
+
+ return {
+ onChange,
+ onSelectionChange,
+ onFocus: deserializedOnFocus,
+ onBlur: deserializedOnBlur,
+ onKeyDown: deserializedOnKeyDown,
+ onKeyUp: deserializedOnKeyUp,
+ // The @deephaven/components `MultiSelect` has its own normalization logic
+ // that handles primitive children types (string, number, boolean). It also
+ // handles nested children inside of `Item` and `Section` components, so
+ // we are intentionally not wrapping `otherProps` in `mapSpectrumProps`
+ ...otherProps,
+ };
+}
diff --git a/plugins/ui/src/js/src/elements/index.ts b/plugins/ui/src/js/src/elements/index.ts
index ecb7ad07c..dcd60ceae 100644
--- a/plugins/ui/src/js/src/elements/index.ts
+++ b/plugins/ui/src/js/src/elements/index.ts
@@ -29,6 +29,7 @@ export * from './LogicButton';
export * from './Markdown';
export * from './Menu';
export * from './Meter';
+export * from './MultiSelect';
export * from './model';
export * from './ObjectView';
export * from './Picker';
diff --git a/plugins/ui/src/js/src/elements/model/ElementConstants.ts b/plugins/ui/src/js/src/elements/model/ElementConstants.ts
index 928da2331..c8447b82b 100644
--- a/plugins/ui/src/js/src/elements/model/ElementConstants.ts
+++ b/plugins/ui/src/js/src/elements/model/ElementConstants.ts
@@ -71,6 +71,7 @@ export const ELEMENT_NAME = {
menu: uiComponentName('Menu'),
menuTrigger: uiComponentName('MenuTrigger'),
meter: uiComponentName('Meter'),
+ multiSelect: uiComponentName('MultiSelect'),
numberField: uiComponentName('NumberField'),
picker: uiComponentName('Picker'),
progressBar: uiComponentName('ProgressBar'),
diff --git a/plugins/ui/src/js/src/widget/WidgetUtils.tsx b/plugins/ui/src/js/src/widget/WidgetUtils.tsx
index 136b32f30..2172f0025 100644
--- a/plugins/ui/src/js/src/widget/WidgetUtils.tsx
+++ b/plugins/ui/src/js/src/widget/WidgetUtils.tsx
@@ -87,6 +87,7 @@ import {
Markdown,
Menu,
Meter,
+ MultiSelect,
Picker,
ProgressBar,
ProgressCircle,
@@ -186,6 +187,7 @@ export const elementComponentMap: Record, unknown> = {
[ELEMENT_NAME.menu]: Menu,
[ELEMENT_NAME.menuTrigger]: MenuTrigger,
[ELEMENT_NAME.meter]: Meter,
+ [ELEMENT_NAME.multiSelect]: MultiSelect,
[ELEMENT_NAME.numberField]: NumberField,
[ELEMENT_NAME.picker]: Picker,
[ELEMENT_NAME.progressBar]: ProgressBar,
diff --git a/plugins/ui/test/deephaven/ui/test_combo_box.py b/plugins/ui/test/deephaven/ui/test_combo_box.py
new file mode 100644
index 000000000..9efa6db91
--- /dev/null
+++ b/plugins/ui/test/deephaven/ui/test_combo_box.py
@@ -0,0 +1,35 @@
+import unittest
+
+from .BaseTest import BaseTestCase
+
+
+class ComboBoxTest(BaseTestCase):
+ def test_renders_combo_box(self):
+ from deephaven.ui import combo_box
+
+ result = combo_box(label="Test")
+ self.assertEqual(result.name, "deephaven.ui.components.ComboBox")
+
+ def test_selected_key(self):
+ from deephaven.ui import combo_box
+
+ result = combo_box(selected_key="a", label="Test")
+ self.assertEqual(result.name, "deephaven.ui.components.ComboBox")
+
+
+class MultiSelectTest(BaseTestCase):
+ def test_renders_multi_select(self):
+ from deephaven.ui import multi_select
+
+ result = multi_select(label="Test")
+ self.assertEqual(result.name, "deephaven.ui.components.MultiSelect")
+
+ def test_accepts_selected_keys(self):
+ from deephaven.ui import multi_select
+
+ result = multi_select(selected_keys=["a", "b"], label="Test")
+ self.assertEqual(result.name, "deephaven.ui.components.MultiSelect")
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/tests/app.d/tests.app b/tests/app.d/tests.app
index a508c3393..f10ec43d8 100644
--- a/tests/app.d/tests.app
+++ b/tests/app.d/tests.app
@@ -19,4 +19,6 @@ file_12=theme_demo.py
file_13=ui_nested_dashboard.py
file_14=ui_query_params.py
file_15=ui_home_screen.py
-file_16=ui_routing.py
\ No newline at end of file
+file_16=ui_routing.py
+file_17=ui_combo_box.py
+file_18=ui_multi_select.py
\ No newline at end of file
diff --git a/tests/app.d/ui_combo_box.py b/tests/app.d/ui_combo_box.py
new file mode 100644
index 000000000..3e583c048
--- /dev/null
+++ b/tests/app.d/ui_combo_box.py
@@ -0,0 +1,38 @@
+from deephaven import ui
+
+
+@ui.component
+def ui_combo_box_basic():
+ value, set_value = ui.use_state(None)
+ return ui.flex(
+ ui.combo_box(
+ "Option A",
+ "Option B",
+ "Option C",
+ label="Select an option",
+ on_change=set_value,
+ ),
+ ui.text(f"Selected: {value}"),
+ direction="column",
+ )
+
+
+@ui.component
+def ui_combo_box_controlled():
+ value, set_value = ui.use_state("Option B")
+ return ui.flex(
+ ui.combo_box(
+ "Option A",
+ "Option B",
+ "Option C",
+ label="Controlled",
+ selected_key=value,
+ on_change=set_value,
+ ),
+ ui.text(f"Selected: {value}"),
+ direction="column",
+ )
+
+
+cb_basic = ui_combo_box_basic()
+cb_controlled = ui_combo_box_controlled()
diff --git a/tests/app.d/ui_multi_select.py b/tests/app.d/ui_multi_select.py
new file mode 100644
index 000000000..70f883619
--- /dev/null
+++ b/tests/app.d/ui_multi_select.py
@@ -0,0 +1,40 @@
+from deephaven import ui
+
+
+@ui.component
+def ui_multi_select_basic():
+ values, set_values = ui.use_state(None)
+ return ui.flex(
+ ui.multi_select(
+ "Option A",
+ "Option B",
+ "Option C",
+ "Option D",
+ label="Select options",
+ on_change=set_values,
+ ),
+ ui.text(f"Count: {len(values) if values else 0}"),
+ direction="column",
+ )
+
+
+@ui.component
+def ui_multi_select_controlled():
+ values, set_values = ui.use_state(["Option A", "Option C"])
+ return ui.flex(
+ ui.multi_select(
+ "Option A",
+ "Option B",
+ "Option C",
+ "Option D",
+ label="Controlled",
+ selected_keys=values,
+ on_change=set_values,
+ ),
+ ui.text(f"Count: {len(values) if values else 0}"),
+ direction="column",
+ )
+
+
+ms_basic = ui_multi_select_basic()
+ms_controlled = ui_multi_select_controlled()
diff --git a/tests/ui_combo_box.spec.ts b/tests/ui_combo_box.spec.ts
new file mode 100644
index 000000000..5570f693d
--- /dev/null
+++ b/tests/ui_combo_box.spec.ts
@@ -0,0 +1,43 @@
+import { expect, test } from '@playwright/test';
+import { openPanel, gotoPage, SELECTORS } from './utils';
+
+test.describe('UI combo_box', () => {
+ test('renders basic combo box', async ({ page }) => {
+ await gotoPage(page, '');
+ await openPanel(page, 'cb_basic', SELECTORS.WIDGET_LOADER_ELEMENT_VISIBLE);
+
+ const panel = page.locator(SELECTORS.WIDGET_LOADER_ELEMENT_VISIBLE);
+ await expect(panel.getByText('Selected: None')).toBeVisible();
+ await expect(panel).toHaveScreenshot();
+ });
+
+ test('renders controlled combo box with initial value', async ({ page }) => {
+ await gotoPage(page, '');
+ await openPanel(
+ page,
+ 'cb_controlled',
+ SELECTORS.WIDGET_LOADER_ELEMENT_VISIBLE
+ );
+
+ const panel = page.locator(SELECTORS.WIDGET_LOADER_ELEMENT_VISIBLE);
+ await expect(panel.getByText('Selected: Option B')).toBeVisible();
+ });
+
+ test('selects an option', async ({ page }) => {
+ await gotoPage(page, '');
+ await openPanel(page, 'cb_basic', SELECTORS.WIDGET_LOADER_ELEMENT_VISIBLE);
+
+ const panel = page.locator(SELECTORS.WIDGET_LOADER_ELEMENT_VISIBLE);
+
+ // Click the combo box trigger button to open the dropdown
+ await panel.getByRole('button', { name: 'Show suggestions' }).click();
+
+ // Wait for the listbox to appear and select an option
+ const listbox = page.getByRole('listbox');
+ await expect(listbox).toBeVisible();
+ await listbox.getByRole('option', { name: 'Option A' }).click();
+
+ // Verify the selection was applied
+ await expect(panel.getByText('Selected: Option A')).toBeVisible();
+ });
+});
diff --git a/tests/ui_combo_box.spec.ts-snapshots/UI-combo-box-renders-basic-combo-box-1-chromium-linux.png b/tests/ui_combo_box.spec.ts-snapshots/UI-combo-box-renders-basic-combo-box-1-chromium-linux.png
new file mode 100644
index 000000000..250ab645e
Binary files /dev/null and b/tests/ui_combo_box.spec.ts-snapshots/UI-combo-box-renders-basic-combo-box-1-chromium-linux.png differ
diff --git a/tests/ui_combo_box.spec.ts-snapshots/UI-combo-box-renders-basic-combo-box-1-firefox-linux.png b/tests/ui_combo_box.spec.ts-snapshots/UI-combo-box-renders-basic-combo-box-1-firefox-linux.png
new file mode 100644
index 000000000..53c5b5623
Binary files /dev/null and b/tests/ui_combo_box.spec.ts-snapshots/UI-combo-box-renders-basic-combo-box-1-firefox-linux.png differ
diff --git a/tests/ui_combo_box.spec.ts-snapshots/UI-combo-box-renders-basic-combo-box-1-webkit-linux.png b/tests/ui_combo_box.spec.ts-snapshots/UI-combo-box-renders-basic-combo-box-1-webkit-linux.png
new file mode 100644
index 000000000..55f8503a7
Binary files /dev/null and b/tests/ui_combo_box.spec.ts-snapshots/UI-combo-box-renders-basic-combo-box-1-webkit-linux.png differ
diff --git a/tests/ui_multi_select.spec.ts b/tests/ui_multi_select.spec.ts
new file mode 100644
index 000000000..fc287eae4
--- /dev/null
+++ b/tests/ui_multi_select.spec.ts
@@ -0,0 +1,26 @@
+import { expect, test } from '@playwright/test';
+import { openPanel, gotoPage, SELECTORS } from './utils';
+
+test.describe('UI multi_select', () => {
+ test('renders basic multi select', async ({ page }) => {
+ await gotoPage(page, '');
+ await openPanel(page, 'ms_basic', SELECTORS.WIDGET_LOADER_ELEMENT_VISIBLE);
+
+ const panel = page.locator(SELECTORS.WIDGET_LOADER_ELEMENT_VISIBLE);
+ await expect(panel).toHaveScreenshot();
+ });
+
+ test('renders controlled multi select with initial values', async ({
+ page,
+ }) => {
+ await gotoPage(page, '');
+ await openPanel(
+ page,
+ 'ms_controlled',
+ SELECTORS.WIDGET_LOADER_ELEMENT_VISIBLE
+ );
+
+ const panel = page.locator(SELECTORS.WIDGET_LOADER_ELEMENT_VISIBLE);
+ await expect(panel).toHaveScreenshot();
+ });
+});
diff --git a/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-basic-multi-select-1-chromium-linux.png b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-basic-multi-select-1-chromium-linux.png
new file mode 100644
index 000000000..a2166fd71
Binary files /dev/null and b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-basic-multi-select-1-chromium-linux.png differ
diff --git a/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-basic-multi-select-1-firefox-linux.png b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-basic-multi-select-1-firefox-linux.png
new file mode 100644
index 000000000..e0dee1c3b
Binary files /dev/null and b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-basic-multi-select-1-firefox-linux.png differ
diff --git a/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-basic-multi-select-1-webkit-linux.png b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-basic-multi-select-1-webkit-linux.png
new file mode 100644
index 000000000..acb076a46
Binary files /dev/null and b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-basic-multi-select-1-webkit-linux.png differ
diff --git a/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-controlled-multi-select-with-initial-values-1-chromium-linux.png b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-controlled-multi-select-with-initial-values-1-chromium-linux.png
new file mode 100644
index 000000000..da0c9df97
Binary files /dev/null and b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-controlled-multi-select-with-initial-values-1-chromium-linux.png differ
diff --git a/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-controlled-multi-select-with-initial-values-1-firefox-linux.png b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-controlled-multi-select-with-initial-values-1-firefox-linux.png
new file mode 100644
index 000000000..2cddb3134
Binary files /dev/null and b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-controlled-multi-select-with-initial-values-1-firefox-linux.png differ
diff --git a/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-controlled-multi-select-with-initial-values-1-webkit-linux.png b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-controlled-multi-select-with-initial-values-1-webkit-linux.png
new file mode 100644
index 000000000..0caa53c3b
Binary files /dev/null and b/tests/ui_multi_select.spec.ts-snapshots/UI-multi-select-renders-controlled-multi-select-with-initial-values-1-webkit-linux.png differ