diff --git a/package-lock.json b/package-lock.json index d44f55b06..d84d7068e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2226,55 +2226,17 @@ "babel-plugin-transform-rename-import": "^2.3.0" } }, - "node_modules/@deephaven/chart": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.105.0.tgz", - "integrity": "sha512-tqVCKACUFdqiOHqWfkFDzBLrU508Flbh5YnmEe3gpFEeQQxNgduOMojtLPHxNqjf2HC8PexYv6UEqtb+QQUSbw==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "buffer": "^6.0.3", - "fast-deep-equal": "^3.1.3", - "lodash.debounce": "^4.0.8", - "lodash.set": "^4.3.2", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "plotly.js": "^2.29.1", - "prop-types": "^15.7.2", - "react-plotly.js": "^2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/chart/node_modules/@deephaven/components": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.105.0.tgz", - "integrity": "sha512-Zp9zIx47O157xpwGfp6vSq4XbMMseYNqVS0LCKXUpNHuoBsxSGsGwrQlciJ4Dw+4bzxN+AfNoOwbPJ5AjMVR6Q==", + "node_modules/@deephaven/components": { + "version": "0.40.1", + "license": "Apache-2.0", "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@deephaven/icons": "^0.40.0", + "@deephaven/log": "^0.40.0", + "@deephaven/react-hooks": "^0.40.1", + "@deephaven/utils": "^0.40.1", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", - "@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", "bootstrap": "4.6.2", "classnames": "^2.3.1", "event-target-shim": "^6.0.2", @@ -2282,99 +2244,25 @@ "lodash.debounce": "^4.0.8", "lodash.flatten": "^4.4.0", "memoizee": "^0.4.15", - "nanoid": "^5.0.7", "popper.js": "^1.16.1", "prop-types": "^15.7.2", "react-beautiful-dnd": "^13.1.0", "react-transition-group": "^4.4.2", "react-virtualized-auto-sizer": "1.0.6", - "react-window": "^1.8.6" + "react-window": "^1.8.6", + "shortid": "^2.2.16" }, "engines": { "node": ">=10" }, "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0", - "react-is": ">=16.8.0" - } - }, - "node_modules/@deephaven/chart/node_modules/@deephaven/components/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==", - "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" - }, - "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" + "react": "^17.x", + "react-dom": "^17.x" } }, - "node_modules/@deephaven/chart/node_modules/@deephaven/icons": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.105.0.tgz", - "integrity": "sha512-/h5wISmDcENxWppnRD9aKxBXxGcoupP4midOiSliDNEmRJ/+EfgQNAjznHS7VWc4JG0HQDCs0Jn0JDJXdoLgRw==", + "node_modules/@deephaven/components/node_modules/@deephaven/icons": { + "version": "0.40.0", + "license": "Apache-2.0", "dependencies": { "@fortawesome/fontawesome-common-types": "^6.1.1" }, @@ -2383,59 +2271,60 @@ "@fortawesome/react-fontawesome": "^0.2.0" } }, - "node_modules/@deephaven/chart/node_modules/@deephaven/jsapi-types": { - "version": "1.0.0-dev0.38.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.38.0.tgz", - "integrity": "sha512-g7CNe89hfAQXTOQ4MrCFTdusK6Q/kbuxH7zGUGiGSfxu8t0RiJohSy1luIlvBTT22KOHBdt0sTnlU4emN3lRIg==" - }, - "node_modules/@deephaven/chart/node_modules/@deephaven/jsapi-utils": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.105.0.tgz", - "integrity": "sha512-Z2iHYxbWEw/moMgc8/gY8wACOzqTrODKAt8yOiKkh/pVnVqNOdtetjJtguLN2oZwQf3vch2oB6MKIJKGjM7nMQ==", + "node_modules/@deephaven/components/node_modules/@deephaven/react-hooks": { + "version": "0.40.1", + "license": "Apache-2.0", "dependencies": { - "@deephaven/filters": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "lodash.clamp": "^4.0.3", - "nanoid": "^5.0.7" + "@deephaven/log": "^0.40.0", + "@deephaven/utils": "^0.40.1", + "shortid": "^2.2.16" }, "engines": { "node": ">=16" - } - }, - "node_modules/@deephaven/chart/node_modules/@deephaven/log": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.105.0.tgz", - "integrity": "sha512-Opfjo/us3iS5QJF0QH/kM3vTXRJnt5XZy951v7eoEr00eUF2XjQ3Jsvz8ypNYwXvz2U5FhY4Njy1IE++hvh5OA==", - "dependencies": { - "event-target-shim": "^6.0.2", - "jszip": "^3.10.1" }, - "engines": { - "node": ">=16" + "peerDependencies": { + "react": "^17.x" } }, - "node_modules/@deephaven/chart/node_modules/@deephaven/react-hooks": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.105.0.tgz", - "integrity": "sha512-pcbYdyg2wdH8U8wTeAmmJbfShw7CdAaGfjgVJbjqRbxK1xLNOuIa6w7p9UCVA6i1BjSHKR59Lxwr+j/QrWpQBQ==", + "node_modules/@deephaven/console": { + "version": "0.106.3", + "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.106.3.tgz", + "integrity": "sha512-O+E7wI9PzokCrXA1iO0UKuS0JC2cGoB3tIT/4e0kMXUqGkhh4EOTMQsTBjFSkhzkCgoHy8u3cG9Ti9rvk1LFog==", "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@astral-sh/ruff-wasm-web": "0.6.4", + "@deephaven/chart": "^0.106.2", + "@deephaven/components": "^0.106.2", + "@deephaven/icons": "^0.106.0", + "@deephaven/jsapi-bootstrap": "^0.106.2", + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/jsapi-utils": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@deephaven/storage": "^0.106.2", + "@deephaven/utils": "^0.106.0", + "@fortawesome/react-fontawesome": "^0.2.0", + "classnames": "^2.3.1", + "linkifyjs": "^4.1.0", "lodash.debounce": "^4.0.8", "lodash.throttle": "^4.1.1", - "nanoid": "^5.0.7" + "memoize-one": "^5.1.1", + "memoizee": "^0.4.15", + "monaco-editor": "^0.43.0", + "nanoid": "^5.0.7", + "papaparse": "5.3.2", + "popper.js": "^1.16.1", + "prop-types": "^15.7.2", + "shell-quote": "^1.7.2" }, "engines": { "node": ">=16" }, "peerDependencies": { - "react": ">=16.8.0" + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "node_modules/@deephaven/chart/node_modules/@deephaven/react-hooks/node_modules/@adobe/react-spectrum": { + "node_modules/@deephaven/console/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==", @@ -2507,36 +2396,55 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, - "node_modules/@deephaven/chart/node_modules/@deephaven/utils": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.105.0.tgz", - "integrity": "sha512-25mu+Lvo2mC/XC7ES6N4qsrUt0wfxnno8ZqD9QLPn1HDW3LhUccnkXaCDZ6xbd2GfxqEPpY+27dKVWKkBTg/wg==", + "node_modules/@deephaven/console/node_modules/@deephaven/chart": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.106.2.tgz", + "integrity": "sha512-38nyYZ56wpU8DakpWS2YbrdBUS6miDh6TsC20xYRZ+HFB2Io6NEsfqvW8rtir05N3UQXxTmGAew14Vqpdhc62g==", + "dependencies": { + "@deephaven/components": "^0.106.2", + "@deephaven/icons": "^0.106.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/jsapi-utils": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@deephaven/utils": "^0.106.0", + "buffer": "^6.0.3", + "fast-deep-equal": "^3.1.3", + "lodash.debounce": "^4.0.8", + "lodash.set": "^4.3.2", + "memoize-one": "^5.1.1", + "memoizee": "^0.4.15", + "plotly.js": "^2.29.1", + "prop-types": "^15.7.2", + "react-plotly.js": "^2.6.0" + }, "engines": { "node": ">=16" - } - }, - "node_modules/@deephaven/chart/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==", - "dependencies": { - "@react-types/shared": "^3.26.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + "react": ">=16.8.0" } }, - "node_modules/@deephaven/components": { - "version": "0.40.1", - "license": "Apache-2.0", + "node_modules/@deephaven/console/node_modules/@deephaven/components": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", + "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", "dependencies": { - "@deephaven/icons": "^0.40.0", - "@deephaven/log": "^0.40.0", - "@deephaven/react-hooks": "^0.40.1", - "@deephaven/utils": "^0.40.1", + "@adobe/react-spectrum": "3.38.0", + "@deephaven/icons": "^0.106.0", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@deephaven/utils": "^0.106.0", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", + "@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", "bootstrap": "4.6.2", "classnames": "^2.3.1", "event-target-shim": "^6.0.2", @@ -2544,25 +2452,27 @@ "lodash.debounce": "^4.0.8", "lodash.flatten": "^4.4.0", "memoizee": "^0.4.15", + "nanoid": "^5.0.7", "popper.js": "^1.16.1", "prop-types": "^15.7.2", "react-beautiful-dnd": "^13.1.0", "react-transition-group": "^4.4.2", "react-virtualized-auto-sizer": "1.0.6", - "react-window": "^1.8.6", - "shortid": "^2.2.16" + "react-window": "^1.8.6" }, "engines": { "node": ">=10" }, "peerDependencies": { - "react": "^17.x", - "react-dom": "^17.x" + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-is": ">=16.8.0" } }, - "node_modules/@deephaven/components/node_modules/@deephaven/icons": { - "version": "0.40.0", - "license": "Apache-2.0", + "node_modules/@deephaven/console/node_modules/@deephaven/icons": { + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.106.0.tgz", + "integrity": "sha512-I41Le5SkNrvg2v29ylBHWFsKeep+HxlfJ5fKvAaU67c8Z0J6PsXzOZ8WcwsPkbTdmOf2RIdKgozUMLSVjzk+YQ==", "dependencies": { "@fortawesome/fontawesome-common-types": "^6.1.1" }, @@ -2571,11 +2481,126 @@ "@fortawesome/react-fontawesome": "^0.2.0" } }, - "node_modules/@deephaven/components/node_modules/@deephaven/react-hooks": { - "version": "0.40.1", - "license": "Apache-2.0", + "node_modules/@deephaven/console/node_modules/@deephaven/jsapi-bootstrap": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.106.2.tgz", + "integrity": "sha512-6Yi5X5WddNmbPB96ta7/BK7vsSlmT15XSgGUjMEY1xy14e+dqhedfcsfeq17O7RqSRKT0glvgw2YblD5JGYl8Q==", "dependencies": { - "@deephaven/log": "^0.40.0", + "@deephaven/components": "^0.106.2", + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@deephaven/utils": "^0.106.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@deephaven/console/node_modules/@deephaven/jsapi-types": { + "version": "1.0.0-dev0.37.6", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.37.6.tgz", + "integrity": "sha512-CWBzP2xpxT0VYsUyEk1+6dcJZyZLbC3GvCs0ikIM87e7Kk54NmcpCCbfz6NtFDcSpJWedEL+iPozdzyv65fT7Q==" + }, + "node_modules/@deephaven/console/node_modules/@deephaven/log": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.106.2.tgz", + "integrity": "sha512-0yX5zrT51WDZnAKMlr4Lz4F/GYlsAb0YUq0sd3cSRclqD4OKmJrk57Ev8J4D23Rg4jQBwKunmQvdUatdTKcAHg==", + "dependencies": { + "event-target-shim": "^6.0.2", + "jszip": "^3.10.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/console/node_modules/@deephaven/utils": { + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.106.0.tgz", + "integrity": "sha512-P5EsEl/rtA/KGZDQu8FDtovERRp/muRfJgrPunZdQy9stWSW0zYBFRHnLZCEbeETdduP/q902ZIOw77WSATqCw==", + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/console/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==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@deephaven/dashboard": { + "version": "0.40.4", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/components": "^0.40.1", + "@deephaven/golden-layout": "^0.40.4", + "@deephaven/jsapi-bootstrap": "^0.40.1", + "@deephaven/log": "^0.40.0", + "@deephaven/react-hooks": "^0.40.1", + "@deephaven/redux": "^0.40.4", + "@deephaven/utils": "^0.40.1", + "deep-equal": "^2.0.5", + "lodash.ismatch": "^4.1.1", + "lodash.throttle": "^4.1.1", + "prop-types": "^15.7.2", + "shortid": "^2.2.16" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": "^17.0.0", + "react-dom": "^17.0.0", + "react-redux": "^7.2.4" + } + }, + "node_modules/@deephaven/dashboard/node_modules/@deephaven/filters": { + "version": "0.40.0", + "license": "Apache-2.0", + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/dashboard/node_modules/@deephaven/golden-layout": { + "version": "0.40.4", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/components": "^0.40.1", + "jquery": "^3.6.0" + }, + "peerDependencies": { + "react": "^17.x", + "react-dom": "^17.x" + } + }, + "node_modules/@deephaven/dashboard/node_modules/@deephaven/jsapi-utils": { + "version": "0.40.4", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/filters": "^0.40.0", + "@deephaven/jsapi-types": "^0.40.0", + "@deephaven/log": "^0.40.0", + "@deephaven/utils": "^0.40.1", + "@react-stately/data": "^3.9.1", + "lodash.clamp": "^4.0.3", + "shortid": "^2.2.16" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/dashboard/node_modules/@deephaven/react-hooks": { + "version": "0.40.1", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/log": "^0.40.0", "@deephaven/utils": "^0.40.1", "shortid": "^2.2.16" }, @@ -2586,45 +2611,64 @@ "react": "^17.x" } }, - "node_modules/@deephaven/console": { - "version": "0.106.3", - "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.106.3.tgz", - "integrity": "sha512-O+E7wI9PzokCrXA1iO0UKuS0JC2cGoB3tIT/4e0kMXUqGkhh4EOTMQsTBjFSkhzkCgoHy8u3cG9Ti9rvk1LFog==", + "node_modules/@deephaven/dashboard/node_modules/@deephaven/redux": { + "version": "0.40.4", + "license": "Apache-2.0", "dependencies": { - "@astral-sh/ruff-wasm-web": "0.6.4", - "@deephaven/chart": "^0.106.2", - "@deephaven/components": "^0.106.2", - "@deephaven/icons": "^0.106.0", - "@deephaven/jsapi-bootstrap": "^0.106.2", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.106.2", - "@deephaven/log": "^0.106.2", - "@deephaven/react-hooks": "^0.106.2", - "@deephaven/storage": "^0.106.2", - "@deephaven/utils": "^0.106.0", - "@fortawesome/react-fontawesome": "^0.2.0", - "classnames": "^2.3.1", - "linkifyjs": "^4.1.0", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "monaco-editor": "^0.43.0", - "nanoid": "^5.0.7", - "papaparse": "5.3.2", - "popper.js": "^1.16.1", - "prop-types": "^15.7.2", - "shell-quote": "^1.7.2" + "@deephaven/jsapi-types": "^0.40.0", + "@deephaven/jsapi-utils": "^0.40.4", + "@deephaven/log": "^0.40.0", + "deep-equal": "^2.0.5", + "redux-thunk": "2.4.1" }, "engines": { "node": ">=16" }, + "peerDependencies": { + "redux": "^4.2.0" + } + }, + "node_modules/@deephaven/dashboard/node_modules/redux-thunk": { + "version": "2.4.1", + "license": "MIT", + "peerDependencies": { + "redux": "^4" + } + }, + "node_modules/@deephaven/eslint-config": { + "version": "0.72.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "eslint-config-airbnb": "^19.0.4", + "eslint-config-prettier": "8.3.0", + "eslint-config-react-app": "7.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.46.0", + "@typescript-eslint/parser": "^5.46.0", + "eslint": "^8.29.0", + "eslint-import-resolver-typescript": "^3.5.0", + "eslint-plugin-es": "^4.1.0", + "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-react-refresh": "0.3.4" + } + }, + "node_modules/@deephaven/golden-layout": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.106.2.tgz", + "integrity": "sha512-VI2KN8B4lSC1lnlpgZs3j11ENMnq/mcCm1ulXEetjkkK6iV72hpyJRq0EKI+EEP93aiLvCKV7vCWyMDpHuzPuQ==", + "dependencies": { + "@deephaven/components": "^0.106.2", + "jquery": "^3.6.0", + "nanoid": "^5.0.7" + }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, - "node_modules/@deephaven/console/node_modules/@adobe/react-spectrum": { + "node_modules/@deephaven/golden-layout/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==", @@ -2696,36 +2740,7 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, - "node_modules/@deephaven/console/node_modules/@deephaven/chart": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.106.2.tgz", - "integrity": "sha512-38nyYZ56wpU8DakpWS2YbrdBUS6miDh6TsC20xYRZ+HFB2Io6NEsfqvW8rtir05N3UQXxTmGAew14Vqpdhc62g==", - "dependencies": { - "@deephaven/components": "^0.106.2", - "@deephaven/icons": "^0.106.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.106.2", - "@deephaven/log": "^0.106.2", - "@deephaven/react-hooks": "^0.106.2", - "@deephaven/utils": "^0.106.0", - "buffer": "^6.0.3", - "fast-deep-equal": "^3.1.3", - "lodash.debounce": "^4.0.8", - "lodash.set": "^4.3.2", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "plotly.js": "^2.29.1", - "prop-types": "^15.7.2", - "react-plotly.js": "^2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/console/node_modules/@deephaven/components": { + "node_modules/@deephaven/golden-layout/node_modules/@deephaven/components": { "version": "0.106.2", "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", @@ -2769,7 +2784,7 @@ "react-is": ">=16.8.0" } }, - "node_modules/@deephaven/console/node_modules/@deephaven/icons": { + "node_modules/@deephaven/golden-layout/node_modules/@deephaven/icons": { "version": "0.106.0", "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.106.0.tgz", "integrity": "sha512-I41Le5SkNrvg2v29ylBHWFsKeep+HxlfJ5fKvAaU67c8Z0J6PsXzOZ8WcwsPkbTdmOf2RIdKgozUMLSVjzk+YQ==", @@ -2781,30 +2796,7 @@ "@fortawesome/react-fontawesome": "^0.2.0" } }, - "node_modules/@deephaven/console/node_modules/@deephaven/jsapi-bootstrap": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.106.2.tgz", - "integrity": "sha512-6Yi5X5WddNmbPB96ta7/BK7vsSlmT15XSgGUjMEY1xy14e+dqhedfcsfeq17O7RqSRKT0glvgw2YblD5JGYl8Q==", - "dependencies": { - "@deephaven/components": "^0.106.2", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.106.2", - "@deephaven/react-hooks": "^0.106.2", - "@deephaven/utils": "^0.106.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/console/node_modules/@deephaven/jsapi-types": { - "version": "1.0.0-dev0.37.6", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.37.6.tgz", - "integrity": "sha512-CWBzP2xpxT0VYsUyEk1+6dcJZyZLbC3GvCs0ikIM87e7Kk54NmcpCCbfz6NtFDcSpJWedEL+iPozdzyv65fT7Q==" - }, - "node_modules/@deephaven/console/node_modules/@deephaven/log": { + "node_modules/@deephaven/golden-layout/node_modules/@deephaven/log": { "version": "0.106.2", "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.106.2.tgz", "integrity": "sha512-0yX5zrT51WDZnAKMlr4Lz4F/GYlsAb0YUq0sd3cSRclqD4OKmJrk57Ev8J4D23Rg4jQBwKunmQvdUatdTKcAHg==", @@ -2816,7 +2808,7 @@ "node": ">=16" } }, - "node_modules/@deephaven/console/node_modules/@deephaven/utils": { + "node_modules/@deephaven/golden-layout/node_modules/@deephaven/utils": { "version": "0.106.0", "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.106.0.tgz", "integrity": "sha512-P5EsEl/rtA/KGZDQu8FDtovERRp/muRfJgrPunZdQy9stWSW0zYBFRHnLZCEbeETdduP/q902ZIOw77WSATqCw==", @@ -2824,7 +2816,7 @@ "node": ">=16" } }, - "node_modules/@deephaven/console/node_modules/@react-types/combobox": { + "node_modules/@deephaven/golden-layout/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==", @@ -2835,57 +2827,67 @@ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, - "node_modules/@deephaven/dashboard": { - "version": "0.40.4", - "license": "Apache-2.0", + "node_modules/@deephaven/grid": { + "version": "0.106.3", + "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.106.3.tgz", + "integrity": "sha512-sfAwqmf3rLGiq782+ADEeii2rjk+Os+Qlh1vWdLxavYohTGpwQsVdYMzxxbktz+GR50D1WcHQrsfT+SQr4wAxg==", "dependencies": { - "@deephaven/components": "^0.40.1", - "@deephaven/golden-layout": "^0.40.4", - "@deephaven/jsapi-bootstrap": "^0.40.1", - "@deephaven/log": "^0.40.0", - "@deephaven/react-hooks": "^0.40.1", - "@deephaven/redux": "^0.40.4", - "@deephaven/utils": "^0.40.1", - "deep-equal": "^2.0.5", - "lodash.ismatch": "^4.1.1", - "lodash.throttle": "^4.1.1", - "prop-types": "^15.7.2", - "shortid": "^2.2.16" + "@deephaven/utils": "^0.106.0", + "classnames": "^2.3.1", + "color-convert": "^2.0.1", + "event-target-shim": "^6.0.2", + "linkifyjs": "^4.1.0", + "lodash.clamp": "^4.0.3", + "memoize-one": "^5.1.1", + "memoizee": "^0.4.15", + "prop-types": "^15.7.2" }, "engines": { "node": ">=16" }, "peerDependencies": { - "react": "^17.0.0", - "react-dom": "^17.0.0", - "react-redux": "^7.2.4" + "react": ">=16.8.0" } }, - "node_modules/@deephaven/dashboard-core-plugins": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/dashboard-core-plugins/-/dashboard-core-plugins-0.105.0.tgz", - "integrity": "sha512-qRe2HHrJ/myEeBk9NBUzgDSZKaz1fP3oJ5QCVfFirhtJlTnITo3dCakg/lnBL4Ie/FlNwZbpnQkscN5SaFNEDQ==", - "dependencies": { - "@deephaven/chart": "^0.105.0", - "@deephaven/components": "^0.105.0", - "@deephaven/console": "^0.105.0", - "@deephaven/dashboard": "^0.105.0", - "@deephaven/file-explorer": "^0.105.0", - "@deephaven/filters": "^0.105.0", - "@deephaven/golden-layout": "^0.105.0", - "@deephaven/grid": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/iris-grid": "^0.105.0", - "@deephaven/jsapi-bootstrap": "^0.105.0", - "@deephaven/jsapi-components": "^0.105.0", + "node_modules/@deephaven/grid/node_modules/@deephaven/utils": { + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.106.0.tgz", + "integrity": "sha512-P5EsEl/rtA/KGZDQu8FDtovERRp/muRfJgrPunZdQy9stWSW0zYBFRHnLZCEbeETdduP/q902ZIOw77WSATqCw==", + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/icons": { + "version": "0.87.0", + "license": "Apache-2.0", + "dependencies": { + "@fortawesome/fontawesome-common-types": "^6.1.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "^6.2.1", + "@fortawesome/react-fontawesome": "^0.2.0" + } + }, + "node_modules/@deephaven/iris-grid": { + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.106.4.tgz", + "integrity": "sha512-ntNxbfBUgj0IjErzMysWJb831LKL4R7poSBBk/FGluqUOA5tsP5SyrZ2quGU7qchQMzV0XWY8zvvtiL/xzp4MA==", + "dependencies": { + "@deephaven/components": "^0.106.2", + "@deephaven/console": "^0.106.3", + "@deephaven/filters": "^0.106.0", + "@deephaven/grid": "^0.106.3", + "@deephaven/icons": "^0.106.0", + "@deephaven/jsapi-components": "^0.106.2", "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/plugin": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/redux": "^0.105.0", - "@deephaven/storage": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@deephaven/jsapi-utils": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@deephaven/storage": "^0.106.2", + "@deephaven/utils": "^0.106.0", + "@dnd-kit/core": "^6.1.0", + "@dnd-kit/sortable": "^7.0.2", + "@dnd-kit/utilities": "^3.2.2", "@fortawesome/react-fontawesome": "^0.2.0", "classnames": "^2.3.1", "fast-deep-equal": "^3.1.3", @@ -2894,25 +2896,21 @@ "lodash.throttle": "^4.1.1", "memoize-one": "^5.1.1", "memoizee": "^0.4.15", + "monaco-editor": "^0.43.0", "nanoid": "^5.0.7", "prop-types": "^15.7.2", - "react-markdown": "^8.0.7", - "redux": "^4.2.0", - "redux-thunk": "^2.4.1", - "rehype-mathjax": "^4.0.3", - "remark-gfm": "^3.0.1", - "remark-math": "^5.1.1" + "react-beautiful-dnd": "^13.1.0", + "react-transition-group": "^4.4.2" }, "engines": { - "node": ">=16" + "node": ">=10" }, "peerDependencies": { "react": ">=16.8.0", - "react-dom": ">=16.8.0", - "react-redux": "^7.2.4" + "react-dom": ">=16.8.0" } }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@adobe/react-spectrum": { + "node_modules/@deephaven/iris-grid/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==", @@ -2984,16 +2982,16 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/components": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.105.0.tgz", - "integrity": "sha512-Zp9zIx47O157xpwGfp6vSq4XbMMseYNqVS0LCKXUpNHuoBsxSGsGwrQlciJ4Dw+4bzxN+AfNoOwbPJ5AjMVR6Q==", + "node_modules/@deephaven/iris-grid/node_modules/@deephaven/components": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", + "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", "dependencies": { "@adobe/react-spectrum": "3.38.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@deephaven/icons": "^0.106.0", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@deephaven/utils": "^0.106.0", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", "@internationalized/date": "^3.5.5", @@ -3028,110 +3026,18 @@ "react-is": ">=16.8.0" } }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/console": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.105.0.tgz", - "integrity": "sha512-CiwERTO4coP75vjwFCV8H8rADHO8lqKPIg5EXqblc9xdFNg7Vs3OPM5bLBgrwCS72YnlNUsVt442fTm8cDlQag==", - "dependencies": { - "@astral-sh/ruff-wasm-web": "0.6.4", - "@deephaven/chart": "^0.105.0", - "@deephaven/components": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/jsapi-bootstrap": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/storage": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "@fortawesome/react-fontawesome": "^0.2.0", - "classnames": "^2.3.1", - "linkifyjs": "^4.1.0", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "monaco-editor": "^0.43.0", - "nanoid": "^5.0.7", - "papaparse": "5.3.2", - "popper.js": "^1.16.1", - "prop-types": "^15.7.2", - "shell-quote": "^1.7.2" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/dashboard": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-0.105.0.tgz", - "integrity": "sha512-SqomGGoRE0c1Wst3umHtn+1QfLJ5jwgTJXsFKcFIUa6FEfZcoQAqCN985exihcry/GK/KIz4kLuuKg7s8J506A==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/golden-layout": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/redux": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "fast-deep-equal": "^3.1.3", - "lodash.ismatch": "^4.1.1", - "lodash.throttle": "^4.1.1", - "nanoid": "^5.0.7", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0", - "react-redux": "^7.2.4" - } - }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/golden-layout": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.105.0.tgz", - "integrity": "sha512-NbPADsYf/+Dts1HX48Cpr0RCX4gA3SX72/PoY22D+5vTfeqELFSK4WnBL6w+oPeHWw9YBgh6lJnnq230Fxjh9w==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "jquery": "^3.6.0", - "nanoid": "^5.0.7" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/grid": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.105.0.tgz", - "integrity": "sha512-GFvNWqj9nfEotGW1Q4YfuuwfIdbbiamGd3cecekS7S9ZOLjObwPMuW/WAn0ZIevlVdxxOCv4yJuQZXfFeta4ew==", - "dependencies": { - "@deephaven/utils": "^0.105.0", - "classnames": "^2.3.1", - "color-convert": "^2.0.1", - "event-target-shim": "^6.0.2", - "linkifyjs": "^4.1.0", - "lodash.clamp": "^4.0.3", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "prop-types": "^15.7.2" - }, + "node_modules/@deephaven/iris-grid/node_modules/@deephaven/filters": { + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.106.0.tgz", + "integrity": "sha512-3zMXnUxqy7wSsFU1/74lrTJqm7nWOblSxFgktOH8HtWXSFzzXS9G+aey2cp5YEAEFyC2qoll6jqFilSX1D36Xw==", "engines": { "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" } }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/icons": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.105.0.tgz", - "integrity": "sha512-/h5wISmDcENxWppnRD9aKxBXxGcoupP4midOiSliDNEmRJ/+EfgQNAjznHS7VWc4JG0HQDCs0Jn0JDJXdoLgRw==", + "node_modules/@deephaven/iris-grid/node_modules/@deephaven/icons": { + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.106.0.tgz", + "integrity": "sha512-I41Le5SkNrvg2v29ylBHWFsKeep+HxlfJ5fKvAaU67c8Z0J6PsXzOZ8WcwsPkbTdmOf2RIdKgozUMLSVjzk+YQ==", "dependencies": { "@fortawesome/fontawesome-common-types": "^6.1.1" }, @@ -3140,58 +3046,16 @@ "@fortawesome/react-fontawesome": "^0.2.0" } }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/iris-grid": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.105.0.tgz", - "integrity": "sha512-2ZzMfmjYQBTG8YQWFtGlAgY4cMTWlvluhQLyQ10US245d7Y+E0bR/1yF7Vl2D0FwVO7J3bmgwpS8wDjxFjJepg==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/console": "^0.105.0", - "@deephaven/filters": "^0.105.0", - "@deephaven/grid": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/jsapi-components": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/storage": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "@dnd-kit/core": "^6.1.0", - "@dnd-kit/sortable": "^7.0.2", - "@dnd-kit/utilities": "^3.2.2", - "@fortawesome/react-fontawesome": "^0.2.0", - "classnames": "^2.3.1", - "fast-deep-equal": "^3.1.3", - "lodash.clamp": "^4.0.3", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "monaco-editor": "^0.43.0", - "nanoid": "^5.0.7", - "prop-types": "^15.7.2", - "react-beautiful-dnd": "^13.1.0", - "react-transition-group": "^4.4.2" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/jsapi-bootstrap": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.105.0.tgz", - "integrity": "sha512-guf0ClmlASZdqOVWkbz+BsSBw3SK5CJ082DclGPYjYiRYhMbUrOORSaxYntSR7Y6jOePSpP7STf2j3Ye6GSZUg==", + "node_modules/@deephaven/iris-grid/node_modules/@deephaven/jsapi-bootstrap": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.106.2.tgz", + "integrity": "sha512-6Yi5X5WddNmbPB96ta7/BK7vsSlmT15XSgGUjMEY1xy14e+dqhedfcsfeq17O7RqSRKT0glvgw2YblD5JGYl8Q==", "dependencies": { - "@deephaven/components": "^0.105.0", + "@deephaven/components": "^0.106.2", "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0" + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@deephaven/utils": "^0.106.0" }, "engines": { "node": ">=16" @@ -3200,18 +3064,18 @@ "react": ">=16.8.0" } }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/jsapi-components": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.105.0.tgz", - "integrity": "sha512-2vbNQNk52iByOc7dX1MtNQYYjZIf09wds+Bnf4+ae/5goc07VsbaSnWRDbf41m0RGp9dmebD2AMDpIQrjtQPjw==", + "node_modules/@deephaven/iris-grid/node_modules/@deephaven/jsapi-components": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.106.2.tgz", + "integrity": "sha512-1cxVAqGInoSDyUvBiZ7bGxw5BNYibB+sWSHMu+5kzmLSWgN8YyB7CKP8YaWtcL0FMhdLsahmakmCXuKoyLq1qw==", "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/jsapi-bootstrap": "^0.105.0", + "@deephaven/components": "^0.106.2", + "@deephaven/jsapi-bootstrap": "^0.106.2", "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@deephaven/jsapi-utils": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@deephaven/utils": "^0.106.0", "@types/js-cookie": "^3.0.3", "classnames": "^2.3.2", "js-cookie": "^3.0.5", @@ -3225,31 +3089,15 @@ "react": ">=16.8.0" } }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/jsapi-types": { - "version": "1.0.0-dev0.38.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.38.0.tgz", - "integrity": "sha512-g7CNe89hfAQXTOQ4MrCFTdusK6Q/kbuxH7zGUGiGSfxu8t0RiJohSy1luIlvBTT22KOHBdt0sTnlU4emN3lRIg==" - }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/jsapi-utils": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.105.0.tgz", - "integrity": "sha512-Z2iHYxbWEw/moMgc8/gY8wACOzqTrODKAt8yOiKkh/pVnVqNOdtetjJtguLN2oZwQf3vch2oB6MKIJKGjM7nMQ==", - "dependencies": { - "@deephaven/filters": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "lodash.clamp": "^4.0.3", - "nanoid": "^5.0.7" - }, - "engines": { - "node": ">=16" - } + "node_modules/@deephaven/iris-grid/node_modules/@deephaven/jsapi-types": { + "version": "1.0.0-dev0.37.6", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.37.6.tgz", + "integrity": "sha512-CWBzP2xpxT0VYsUyEk1+6dcJZyZLbC3GvCs0ikIM87e7Kk54NmcpCCbfz6NtFDcSpJWedEL+iPozdzyv65fT7Q==" }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/log": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.105.0.tgz", - "integrity": "sha512-Opfjo/us3iS5QJF0QH/kM3vTXRJnt5XZy951v7eoEr00eUF2XjQ3Jsvz8ypNYwXvz2U5FhY4Njy1IE++hvh5OA==", + "node_modules/@deephaven/iris-grid/node_modules/@deephaven/log": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.106.2.tgz", + "integrity": "sha512-0yX5zrT51WDZnAKMlr4Lz4F/GYlsAb0YUq0sd3cSRclqD4OKmJrk57Ev8J4D23Rg4jQBwKunmQvdUatdTKcAHg==", "dependencies": { "event-target-shim": "^6.0.2", "jszip": "^3.10.1" @@ -3258,209 +3106,125 @@ "node": ">=16" } }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/plugin": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.105.0.tgz", - "integrity": "sha512-P6HH0Y7sDes2I8vS7LhyVmx9R+qIJ/uWgWBwPNXFFOKwzQIbtsjEXt1KeD1MK5QNT50aua/AKWVu872X0nqEAQ==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/golden-layout": "^0.105.0", - "@deephaven/grid": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/iris-grid": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@fortawesome/fontawesome-common-types": "^6.1.1", - "@fortawesome/react-fontawesome": "^0.2.0" - }, + "node_modules/@deephaven/iris-grid/node_modules/@deephaven/utils": { + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.106.0.tgz", + "integrity": "sha512-P5EsEl/rtA/KGZDQu8FDtovERRp/muRfJgrPunZdQy9stWSW0zYBFRHnLZCEbeETdduP/q902ZIOw77WSATqCw==", "engines": { "node": ">=16" + } + }, + "node_modules/@deephaven/iris-grid/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==", + "dependencies": { + "@react-types/shared": "^3.26.0" }, "peerDependencies": { - "react": ">=16.8.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/react-hooks": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.105.0.tgz", - "integrity": "sha512-pcbYdyg2wdH8U8wTeAmmJbfShw7CdAaGfjgVJbjqRbxK1xLNOuIa6w7p9UCVA6i1BjSHKR59Lxwr+j/QrWpQBQ==", - "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "nanoid": "^5.0.7" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } + "node_modules/@deephaven/js-plugin-ag-grid": { + "resolved": "plugins/ag-grid/src/js", + "link": true }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/storage": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.105.0.tgz", - "integrity": "sha512-7wUIw/PbRQ8x45kvA0ou7RUtnHW2+yvuAMF39FPcRPGwstrS6leLMmk8RPqeEhH5JPsv2eMdFkIU7pZN52EiKA==", - "dependencies": { - "@deephaven/filters": "^0.105.0", - "@deephaven/log": "^0.105.0", - "lodash.throttle": "^4.1.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } + "node_modules/@deephaven/js-plugin-auth-keycloak": { + "resolved": "plugins/auth-keycloak/src/js", + "link": true }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/utils": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.105.0.tgz", - "integrity": "sha512-25mu+Lvo2mC/XC7ES6N4qsrUt0wfxnno8ZqD9QLPn1HDW3LhUccnkXaCDZ6xbd2GfxqEPpY+27dKVWKkBTg/wg==", - "engines": { - "node": ">=16" - } + "node_modules/@deephaven/js-plugin-dashboard-object-viewer": { + "resolved": "plugins/dashboard-object-viewer/src/js", + "link": true }, - "node_modules/@deephaven/dashboard-core-plugins/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==", - "dependencies": { - "@react-types/shared": "^3.26.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" - } + "node_modules/@deephaven/js-plugin-example-theme": { + "resolved": "plugins/example-theme/src/js", + "link": true }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/@types/mathjax": { - "version": "0.0.37", - "license": "MIT" + "node_modules/@deephaven/js-plugin-matplotlib": { + "resolved": "plugins/matplotlib/src/js", + "link": true }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/hast-util-from-dom": { - "version": "4.2.0", - "license": "ISC", - "dependencies": { - "hastscript": "^7.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/@deephaven/js-plugin-plotly-express": { + "resolved": "plugins/plotly-express/src/js", + "link": true }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/hast-util-is-element": { - "version": "2.1.3", - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/@deephaven/js-plugin-simple-pivot": { + "resolved": "plugins/simple-pivot/src/js", + "link": true }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/hast-util-parse-selector": { - "version": "3.1.1", - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/@deephaven/js-plugin-table-example": { + "resolved": "plugins/table-example/src/js", + "link": true }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/hast-util-to-text": { - "version": "3.1.2", - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "hast-util-is-element": "^2.0.0", - "unist-util-find-after": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/@deephaven/js-plugin-ui": { + "resolved": "plugins/ui/src/js", + "link": true }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/hastscript": { - "version": "7.2.0", - "license": "MIT", + "node_modules/@deephaven/jsapi-bootstrap": { + "version": "0.40.1", + "license": "Apache-2.0", "dependencies": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^3.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" + "@deephaven/components": "^0.40.1", + "@deephaven/jsapi-types": "^0.40.0", + "@deephaven/log": "^0.40.0", + "@deephaven/react-hooks": "^0.40.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/rehype-mathjax": { - "version": "4.0.3", - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/mathjax": "^0.0.37", - "hast-util-from-dom": "^4.0.0", - "hast-util-to-text": "^3.1.0", - "jsdom": "^20.0.0", - "mathjax-full": "^3.0.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0" + "engines": { + "node": ">=16" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "peerDependencies": { + "react": "^17.x" } }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/unist-util-find-after": { - "version": "4.0.1", - "license": "MIT", + "node_modules/@deephaven/jsapi-bootstrap/node_modules/@deephaven/react-hooks": { + "version": "0.40.1", + "license": "Apache-2.0", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" + "@deephaven/log": "^0.40.0", + "@deephaven/utils": "^0.40.1", + "shortid": "^2.2.16" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@deephaven/dashboard-core-plugins/node_modules/web-namespaces": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/@deephaven/dashboard/node_modules/@deephaven/filters": { - "version": "0.40.0", - "license": "Apache-2.0", "engines": { "node": ">=16" + }, + "peerDependencies": { + "react": "^17.x" } }, - "node_modules/@deephaven/dashboard/node_modules/@deephaven/golden-layout": { + "node_modules/@deephaven/jsapi-components": { "version": "0.40.4", "license": "Apache-2.0", "dependencies": { "@deephaven/components": "^0.40.1", - "jquery": "^3.6.0" + "@deephaven/jsapi-bootstrap": "^0.40.1", + "@deephaven/jsapi-types": "^0.40.0", + "@deephaven/jsapi-utils": "^0.40.4", + "@deephaven/log": "^0.40.0", + "@deephaven/react-hooks": "^0.40.1", + "@deephaven/utils": "^0.40.1", + "@react-stately/data": "^3.9.1", + "@types/js-cookie": "^3.0.3", + "classnames": "^2.3.2", + "js-cookie": "^3.0.5", + "lodash.debounce": "^4.0.8", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=16" }, "peerDependencies": { - "react": "^17.x", - "react-dom": "^17.x" + "react": "^17.x" } }, - "node_modules/@deephaven/dashboard/node_modules/@deephaven/jsapi-utils": { + "node_modules/@deephaven/jsapi-components/node_modules/@deephaven/filters": { + "version": "0.40.0", + "license": "Apache-2.0", + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/jsapi-components/node_modules/@deephaven/jsapi-utils": { "version": "0.40.4", "license": "Apache-2.0", "dependencies": { @@ -3476,7 +3240,7 @@ "node": ">=16" } }, - "node_modules/@deephaven/dashboard/node_modules/@deephaven/react-hooks": { + "node_modules/@deephaven/jsapi-components/node_modules/@deephaven/react-hooks": { "version": "0.40.1", "license": "Apache-2.0", "dependencies": { @@ -3491,64 +3255,113 @@ "react": "^17.x" } }, - "node_modules/@deephaven/dashboard/node_modules/@deephaven/redux": { - "version": "0.40.4", + "node_modules/@deephaven/jsapi-types": { + "version": "0.40.0", "license": "Apache-2.0", + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/jsapi-utils": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.106.2.tgz", + "integrity": "sha512-i/0Zflqa2MuOD47Q11dcAyizVgcJLrMzKIBrj9Txv1ZFDrPxEUamUxTDh7nHysCrz3RQrlNWLiB2ijLkMFuvXw==", "dependencies": { - "@deephaven/jsapi-types": "^0.40.0", - "@deephaven/jsapi-utils": "^0.40.4", - "@deephaven/log": "^0.40.0", - "deep-equal": "^2.0.5", - "redux-thunk": "2.4.1" + "@deephaven/filters": "^0.106.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/log": "^0.106.2", + "@deephaven/utils": "^0.106.0", + "lodash.clamp": "^4.0.3", + "nanoid": "^5.0.7" }, "engines": { "node": ">=16" - }, - "peerDependencies": { - "redux": "^4.2.0" } }, - "node_modules/@deephaven/dashboard/node_modules/redux-thunk": { - "version": "2.4.1", - "license": "MIT", - "peerDependencies": { - "redux": "^4" + "node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/filters": { + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.106.0.tgz", + "integrity": "sha512-3zMXnUxqy7wSsFU1/74lrTJqm7nWOblSxFgktOH8HtWXSFzzXS9G+aey2cp5YEAEFyC2qoll6jqFilSX1D36Xw==", + "engines": { + "node": ">=16" } }, - "node_modules/@deephaven/eslint-config": { - "version": "0.72.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/jsapi-types": { + "version": "1.0.0-dev0.37.6", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.37.6.tgz", + "integrity": "sha512-CWBzP2xpxT0VYsUyEk1+6dcJZyZLbC3GvCs0ikIM87e7Kk54NmcpCCbfz6NtFDcSpJWedEL+iPozdzyv65fT7Q==" + }, + "node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/log": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.106.2.tgz", + "integrity": "sha512-0yX5zrT51WDZnAKMlr4Lz4F/GYlsAb0YUq0sd3cSRclqD4OKmJrk57Ev8J4D23Rg4jQBwKunmQvdUatdTKcAHg==", "dependencies": { - "eslint-config-airbnb": "^19.0.4", - "eslint-config-prettier": "8.3.0", - "eslint-config-react-app": "7.0.0" + "event-target-shim": "^6.0.2", + "jszip": "^3.10.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/utils": { + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.106.0.tgz", + "integrity": "sha512-P5EsEl/rtA/KGZDQu8FDtovERRp/muRfJgrPunZdQy9stWSW0zYBFRHnLZCEbeETdduP/q902ZIOw77WSATqCw==", + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/log": { + "version": "0.40.0", + "license": "Apache-2.0", + "dependencies": { + "event-target-shim": "^6.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/plugin": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/components": "^0.86.0", + "@deephaven/golden-layout": "^0.86.0", + "@deephaven/icons": "^0.86.0", + "@deephaven/iris-grid": "^0.86.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", + "@deephaven/log": "^0.86.0", + "@deephaven/react-hooks": "^0.86.0", + "@fortawesome/fontawesome-common-types": "^6.1.1", + "@fortawesome/react-fontawesome": "^0.2.0" + }, + "engines": { + "node": ">=16" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.46.0", - "@typescript-eslint/parser": "^5.46.0", - "eslint": "^8.29.0", - "eslint-import-resolver-typescript": "^3.5.0", - "eslint-plugin-es": "^4.1.0", - "eslint-plugin-prettier": "^5.0.0", - "eslint-plugin-react-refresh": "0.3.4" + "react": ">=16.8.0" } }, - "node_modules/@deephaven/file-explorer": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/file-explorer/-/file-explorer-0.105.0.tgz", - "integrity": "sha512-f2CCPQhSqU5wLrCKjNbwvnFW8sbRN7LXYP9y8GEempRyjykr93fQzQZGJwTsBSKK/4D1EfSnLuNGzGB8CuMT0g==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/storage": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0", - "classnames": "^2.3.1", - "lodash.throttle": "^4.1.1", - "prop-types": "^15.7.2" + "node_modules/@deephaven/plugin/node_modules/@deephaven/chart": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/components": "^0.86.0", + "@deephaven/icons": "^0.86.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", + "@deephaven/jsapi-utils": "^0.86.0", + "@deephaven/log": "^0.86.0", + "@deephaven/react-hooks": "^0.86.0", + "@deephaven/utils": "^0.86.0", + "buffer": "^6.0.3", + "fast-deep-equal": "^3.1.3", + "lodash.debounce": "^4.0.8", + "lodash.set": "^4.3.2", + "memoize-one": "^5.1.1", + "memoizee": "^0.4.15", + "plotly.js": "^2.29.1", + "prop-types": "^15.7.2", + "react-plotly.js": "^2.6.0" }, "engines": { "node": ">=16" @@ -3557,23 +3370,19 @@ "react": ">=16.8.0" } }, - "node_modules/@deephaven/file-explorer/node_modules/@deephaven/components": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.105.0.tgz", - "integrity": "sha512-Zp9zIx47O157xpwGfp6vSq4XbMMseYNqVS0LCKXUpNHuoBsxSGsGwrQlciJ4Dw+4bzxN+AfNoOwbPJ5AjMVR6Q==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/components": { + "version": "0.86.0", + "license": "Apache-2.0", "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@adobe/react-spectrum": "3.35.1", + "@deephaven/icons": "^0.86.0", + "@deephaven/log": "^0.86.0", + "@deephaven/react-hooks": "^0.86.0", + "@deephaven/utils": "^0.86.0", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", - "@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", @@ -3601,201 +3410,212 @@ "react-is": ">=16.8.0" } }, - "node_modules/@deephaven/file-explorer/node_modules/@deephaven/components/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==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/components/node_modules/@adobe/react-spectrum": { + "version": "3.35.1", + "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", + "@internationalized/string": "^3.2.3", + "@react-aria/i18n": "^3.11.1", + "@react-aria/ssr": "^3.9.4", + "@react-aria/utils": "^3.24.1", + "@react-aria/visually-hidden": "^3.8.12", + "@react-spectrum/actionbar": "^3.4.5", + "@react-spectrum/actiongroup": "^3.10.5", + "@react-spectrum/avatar": "^3.0.12", + "@react-spectrum/badge": "^3.1.13", + "@react-spectrum/breadcrumbs": "^3.9.7", + "@react-spectrum/button": "^3.16.4", + "@react-spectrum/buttongroup": "^3.6.13", + "@react-spectrum/calendar": "^3.4.9", + "@react-spectrum/checkbox": "^3.9.6", + "@react-spectrum/combobox": "^3.12.5", + "@react-spectrum/contextualhelp": "^3.6.11", + "@react-spectrum/datepicker": "^3.9.6", + "@react-spectrum/dialog": "^3.8.11", + "@react-spectrum/divider": "^3.5.13", + "@react-spectrum/dnd": "^3.3.10", + "@react-spectrum/dropzone": "^3.0.1", + "@react-spectrum/filetrigger": "^3.0.1", + "@react-spectrum/form": "^3.7.6", + "@react-spectrum/icon": "^3.7.13", + "@react-spectrum/illustratedmessage": "^3.5.1", + "@react-spectrum/image": "^3.5.1", + "@react-spectrum/inlinealert": "^3.2.5", + "@react-spectrum/labeledvalue": "^3.1.14", + "@react-spectrum/layout": "^3.6.5", + "@react-spectrum/link": "^3.6.7", + "@react-spectrum/list": "^3.7.10", + "@react-spectrum/listbox": "^3.12.9", + "@react-spectrum/menu": "^3.19.1", + "@react-spectrum/meter": "^3.5.1", + "@react-spectrum/numberfield": "^3.9.3", + "@react-spectrum/overlays": "^5.6.1", + "@react-spectrum/picker": "^3.14.5", + "@react-spectrum/progress": "^3.7.7", + "@react-spectrum/provider": "^3.9.7", + "@react-spectrum/radio": "^3.7.6", + "@react-spectrum/searchfield": "^3.8.6", + "@react-spectrum/slider": "^3.6.9", + "@react-spectrum/statuslight": "^3.5.13", + "@react-spectrum/switch": "^3.5.5", + "@react-spectrum/table": "^3.12.10", + "@react-spectrum/tabs": "^3.8.10", + "@react-spectrum/tag": "^3.2.6", + "@react-spectrum/text": "^3.5.5", + "@react-spectrum/textfield": "^3.12.1", + "@react-spectrum/theme-dark": "^3.5.10", + "@react-spectrum/theme-default": "^3.5.10", + "@react-spectrum/theme-light": "^3.4.10", + "@react-spectrum/tooltip": "^3.6.7", + "@react-spectrum/view": "^3.6.10", + "@react-spectrum/well": "^3.4.13", + "@react-stately/collections": "^3.10.7", + "@react-stately/data": "^3.11.4", + "@react-types/shared": "^3.23.1", "client-only": "^0.0.1" }, "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" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@deephaven/file-explorer/node_modules/@deephaven/icons": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.105.0.tgz", - "integrity": "sha512-/h5wISmDcENxWppnRD9aKxBXxGcoupP4midOiSliDNEmRJ/+EfgQNAjznHS7VWc4JG0HQDCs0Jn0JDJXdoLgRw==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/filters": { + "version": "0.86.0", + "license": "Apache-2.0", + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/plugin/node_modules/@deephaven/golden-layout": { + "version": "0.86.0", + "license": "Apache-2.0", "dependencies": { - "@fortawesome/fontawesome-common-types": "^6.1.1" + "@deephaven/components": "^0.86.0", + "jquery": "^3.6.0", + "nanoid": "^5.0.7" }, "peerDependencies": { - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0" + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "node_modules/@deephaven/file-explorer/node_modules/@deephaven/log": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.105.0.tgz", - "integrity": "sha512-Opfjo/us3iS5QJF0QH/kM3vTXRJnt5XZy951v7eoEr00eUF2XjQ3Jsvz8ypNYwXvz2U5FhY4Njy1IE++hvh5OA==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/grid": { + "version": "0.86.0", + "license": "Apache-2.0", "dependencies": { + "@deephaven/utils": "^0.86.0", + "classnames": "^2.3.1", + "color-convert": "^2.0.1", "event-target-shim": "^6.0.2", - "jszip": "^3.10.1" + "linkifyjs": "^4.1.0", + "lodash.clamp": "^4.0.3", + "memoize-one": "^5.1.1", + "memoizee": "^0.4.15", + "prop-types": "^15.7.2" }, "engines": { "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0" } }, - "node_modules/@deephaven/file-explorer/node_modules/@deephaven/react-hooks": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.105.0.tgz", - "integrity": "sha512-pcbYdyg2wdH8U8wTeAmmJbfShw7CdAaGfjgVJbjqRbxK1xLNOuIa6w7p9UCVA6i1BjSHKR59Lxwr+j/QrWpQBQ==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/icons": { + "version": "0.86.0", + "license": "Apache-2.0", "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@fortawesome/fontawesome-common-types": "^6.1.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "^6.2.1", + "@fortawesome/react-fontawesome": "^0.2.0" + } + }, + "node_modules/@deephaven/plugin/node_modules/@deephaven/iris-grid": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/components": "^0.86.0", + "@deephaven/console": "^0.86.0", + "@deephaven/filters": "^0.86.0", + "@deephaven/grid": "^0.86.0", + "@deephaven/icons": "^0.86.0", + "@deephaven/jsapi-components": "^0.86.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", + "@deephaven/jsapi-utils": "^0.86.0", + "@deephaven/log": "^0.86.0", + "@deephaven/react-hooks": "^0.86.0", + "@deephaven/storage": "^0.86.0", + "@deephaven/utils": "^0.86.0", + "@dnd-kit/core": "^6.1.0", + "@dnd-kit/sortable": "^7.0.2", + "@dnd-kit/utilities": "^3.2.2", + "@fortawesome/react-fontawesome": "^0.2.0", + "classnames": "^2.3.1", + "fast-deep-equal": "^3.1.3", + "lodash.clamp": "^4.0.3", "lodash.debounce": "^4.0.8", "lodash.throttle": "^4.1.1", - "nanoid": "^5.0.7" + "memoize-one": "^5.1.1", + "memoizee": "^0.4.15", + "monaco-editor": "^0.41.0", + "nanoid": "^5.0.7", + "prop-types": "^15.7.2", + "react-beautiful-dnd": "^13.1.0", + "react-transition-group": "^4.4.2" }, "engines": { - "node": ">=16" + "node": ">=10" }, "peerDependencies": { - "react": ">=16.8.0" + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "node_modules/@deephaven/file-explorer/node_modules/@deephaven/react-hooks/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==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/iris-grid/node_modules/@deephaven/console": { + "version": "0.86.0", + "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" + "@deephaven/chart": "^0.86.0", + "@deephaven/components": "^0.86.0", + "@deephaven/icons": "^0.86.0", + "@deephaven/jsapi-bootstrap": "^0.86.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", + "@deephaven/log": "^0.86.0", + "@deephaven/react-hooks": "^0.86.0", + "@deephaven/storage": "^0.86.0", + "@deephaven/utils": "^0.86.0", + "@fortawesome/react-fontawesome": "^0.2.0", + "classnames": "^2.3.1", + "linkifyjs": "^4.1.0", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "memoize-one": "^5.1.1", + "memoizee": "^0.4.15", + "monaco-editor": "^0.41.0", + "nanoid": "^5.0.7", + "papaparse": "5.3.2", + "popper.js": "^1.16.1", + "prop-types": "^15.7.2", + "shell-quote": "^1.7.2" + }, + "engines": { + "node": ">=16" }, "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" + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "node_modules/@deephaven/file-explorer/node_modules/@deephaven/storage": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.105.0.tgz", - "integrity": "sha512-7wUIw/PbRQ8x45kvA0ou7RUtnHW2+yvuAMF39FPcRPGwstrS6leLMmk8RPqeEhH5JPsv2eMdFkIU7pZN52EiKA==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/jsapi-bootstrap": { + "version": "0.86.0", + "license": "Apache-2.0", "dependencies": { - "@deephaven/filters": "^0.105.0", - "@deephaven/log": "^0.105.0", - "lodash.throttle": "^4.1.1" + "@deephaven/components": "^0.86.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", + "@deephaven/log": "^0.86.0", + "@deephaven/react-hooks": "^0.86.0", + "@deephaven/utils": "^0.86.0" }, "engines": { "node": ">=16" @@ -3804,83 +3624,235 @@ "react": ">=16.8.0" } }, - "node_modules/@deephaven/file-explorer/node_modules/@deephaven/utils": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.105.0.tgz", - "integrity": "sha512-25mu+Lvo2mC/XC7ES6N4qsrUt0wfxnno8ZqD9QLPn1HDW3LhUccnkXaCDZ6xbd2GfxqEPpY+27dKVWKkBTg/wg==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/jsapi-components": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/components": "^0.86.0", + "@deephaven/jsapi-bootstrap": "^0.86.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", + "@deephaven/jsapi-utils": "^0.86.0", + "@deephaven/log": "^0.86.0", + "@deephaven/react-hooks": "^0.86.0", + "@deephaven/utils": "^0.86.0", + "@types/js-cookie": "^3.0.3", + "classnames": "^2.3.2", + "js-cookie": "^3.0.5", + "lodash.debounce": "^4.0.8", + "prop-types": "^15.8.1" + }, "engines": { "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0" } }, - "node_modules/@deephaven/file-explorer/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==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/jsapi-types": { + "version": "1.0.0-dev0.37.6", + "license": "Apache-2.0" + }, + "node_modules/@deephaven/plugin/node_modules/@deephaven/jsapi-utils": { + "version": "0.86.0", + "license": "Apache-2.0", "dependencies": { - "@react-types/shared": "^3.26.0" + "@deephaven/filters": "^0.86.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", + "@deephaven/log": "^0.86.0", + "@deephaven/utils": "^0.86.0", + "lodash.clamp": "^4.0.3", + "nanoid": "^5.0.7" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + "engines": { + "node": ">=16" } }, - "node_modules/@deephaven/filters": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.105.0.tgz", - "integrity": "sha512-pe7RioQs5zegNd/9VIgPt2ggGeb73GbBbRNFjBWTn/zl/wDYOJwx7/FLWAZvsBED9AfGLt3FFfICCPZkQjmXng==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/log": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "event-target-shim": "^6.0.2" + }, "engines": { "node": ">=16" } }, - "node_modules/@deephaven/golden-layout": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.106.2.tgz", - "integrity": "sha512-VI2KN8B4lSC1lnlpgZs3j11ENMnq/mcCm1ulXEetjkkK6iV72hpyJRq0EKI+EEP93aiLvCKV7vCWyMDpHuzPuQ==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/react-hooks": { + "version": "0.86.0", + "license": "Apache-2.0", "dependencies": { - "@deephaven/components": "^0.106.2", - "jquery": "^3.6.0", + "@adobe/react-spectrum": "3.35.1", + "@deephaven/log": "^0.86.0", + "@deephaven/utils": "^0.86.0", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", "nanoid": "^5.0.7" }, + "engines": { + "node": ">=16" + }, "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" + "react": ">=16.8.0" } }, - "node_modules/@deephaven/golden-layout/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==", + "node_modules/@deephaven/plugin/node_modules/@deephaven/react-hooks/node_modules/@adobe/react-spectrum": { + "version": "3.35.1", + "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", + "@internationalized/string": "^3.2.3", + "@react-aria/i18n": "^3.11.1", + "@react-aria/ssr": "^3.9.4", + "@react-aria/utils": "^3.24.1", + "@react-aria/visually-hidden": "^3.8.12", + "@react-spectrum/actionbar": "^3.4.5", + "@react-spectrum/actiongroup": "^3.10.5", + "@react-spectrum/avatar": "^3.0.12", + "@react-spectrum/badge": "^3.1.13", + "@react-spectrum/breadcrumbs": "^3.9.7", + "@react-spectrum/button": "^3.16.4", + "@react-spectrum/buttongroup": "^3.6.13", + "@react-spectrum/calendar": "^3.4.9", + "@react-spectrum/checkbox": "^3.9.6", + "@react-spectrum/combobox": "^3.12.5", + "@react-spectrum/contextualhelp": "^3.6.11", + "@react-spectrum/datepicker": "^3.9.6", + "@react-spectrum/dialog": "^3.8.11", + "@react-spectrum/divider": "^3.5.13", + "@react-spectrum/dnd": "^3.3.10", + "@react-spectrum/dropzone": "^3.0.1", + "@react-spectrum/filetrigger": "^3.0.1", + "@react-spectrum/form": "^3.7.6", + "@react-spectrum/icon": "^3.7.13", + "@react-spectrum/illustratedmessage": "^3.5.1", + "@react-spectrum/image": "^3.5.1", + "@react-spectrum/inlinealert": "^3.2.5", + "@react-spectrum/labeledvalue": "^3.1.14", + "@react-spectrum/layout": "^3.6.5", + "@react-spectrum/link": "^3.6.7", + "@react-spectrum/list": "^3.7.10", + "@react-spectrum/listbox": "^3.12.9", + "@react-spectrum/menu": "^3.19.1", + "@react-spectrum/meter": "^3.5.1", + "@react-spectrum/numberfield": "^3.9.3", + "@react-spectrum/overlays": "^5.6.1", + "@react-spectrum/picker": "^3.14.5", + "@react-spectrum/progress": "^3.7.7", + "@react-spectrum/provider": "^3.9.7", + "@react-spectrum/radio": "^3.7.6", + "@react-spectrum/searchfield": "^3.8.6", + "@react-spectrum/slider": "^3.6.9", + "@react-spectrum/statuslight": "^3.5.13", + "@react-spectrum/switch": "^3.5.5", + "@react-spectrum/table": "^3.12.10", + "@react-spectrum/tabs": "^3.8.10", + "@react-spectrum/tag": "^3.2.6", + "@react-spectrum/text": "^3.5.5", + "@react-spectrum/textfield": "^3.12.1", + "@react-spectrum/theme-dark": "^3.5.10", + "@react-spectrum/theme-default": "^3.5.10", + "@react-spectrum/theme-light": "^3.4.10", + "@react-spectrum/tooltip": "^3.6.7", + "@react-spectrum/view": "^3.6.10", + "@react-spectrum/well": "^3.4.13", + "@react-stately/collections": "^3.10.7", + "@react-stately/data": "^3.11.4", + "@react-types/shared": "^3.23.1", + "client-only": "^0.0.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@deephaven/plugin/node_modules/@deephaven/storage": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/filters": "^0.86.0", + "@deephaven/log": "^0.86.0", + "lodash.throttle": "^4.1.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@deephaven/plugin/node_modules/@deephaven/utils": { + "version": "0.86.0", + "license": "Apache-2.0", + "engines": { + "node": ">=16" + } + }, + "node_modules/@deephaven/plugin/node_modules/monaco-editor": { + "version": "0.41.0", + "license": "MIT" + }, + "node_modules/@deephaven/prettier-config": { + "version": "0.72.0", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "prettier": "^3.0.0" + } + }, + "node_modules/@deephaven/react-hooks": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.106.2.tgz", + "integrity": "sha512-SOr+HeLTk94Y+d8LUvR5iDAjlry3zr+EOJkkqv08NRY87hmhztYkiGTmFFXIe47DKSg0P12CaMD1Zp7wXvnEAg==", + "dependencies": { + "@adobe/react-spectrum": "3.38.0", + "@deephaven/log": "^0.106.2", + "@deephaven/utils": "^0.106.0", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "nanoid": "^5.0.7" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@deephaven/react-hooks/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==", + "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", @@ -3917,63 +3889,7 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, - "node_modules/@deephaven/golden-layout/node_modules/@deephaven/components": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", - "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", - "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/icons": "^0.106.0", - "@deephaven/log": "^0.106.2", - "@deephaven/react-hooks": "^0.106.2", - "@deephaven/utils": "^0.106.0", - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0", - "@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", - "bootstrap": "4.6.2", - "classnames": "^2.3.1", - "event-target-shim": "^6.0.2", - "lodash.clamp": "^4.0.3", - "lodash.debounce": "^4.0.8", - "lodash.flatten": "^4.4.0", - "memoizee": "^0.4.15", - "nanoid": "^5.0.7", - "popper.js": "^1.16.1", - "prop-types": "^15.7.2", - "react-beautiful-dnd": "^13.1.0", - "react-transition-group": "^4.4.2", - "react-virtualized-auto-sizer": "1.0.6", - "react-window": "^1.8.6" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0", - "react-is": ">=16.8.0" - } - }, - "node_modules/@deephaven/golden-layout/node_modules/@deephaven/icons": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.106.0.tgz", - "integrity": "sha512-I41Le5SkNrvg2v29ylBHWFsKeep+HxlfJ5fKvAaU67c8Z0J6PsXzOZ8WcwsPkbTdmOf2RIdKgozUMLSVjzk+YQ==", - "dependencies": { - "@fortawesome/fontawesome-common-types": "^6.1.1" - }, - "peerDependencies": { - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0" - } - }, - "node_modules/@deephaven/golden-layout/node_modules/@deephaven/log": { + "node_modules/@deephaven/react-hooks/node_modules/@deephaven/log": { "version": "0.106.2", "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.106.2.tgz", "integrity": "sha512-0yX5zrT51WDZnAKMlr4Lz4F/GYlsAb0YUq0sd3cSRclqD4OKmJrk57Ev8J4D23Rg4jQBwKunmQvdUatdTKcAHg==", @@ -3985,7 +3901,7 @@ "node": ">=16" } }, - "node_modules/@deephaven/golden-layout/node_modules/@deephaven/utils": { + "node_modules/@deephaven/react-hooks/node_modules/@deephaven/utils": { "version": "0.106.0", "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.106.0.tgz", "integrity": "sha512-P5EsEl/rtA/KGZDQu8FDtovERRp/muRfJgrPunZdQy9stWSW0zYBFRHnLZCEbeETdduP/q902ZIOw77WSATqCw==", @@ -3993,31 +3909,14 @@ "node": ">=16" } }, - "node_modules/@deephaven/golden-layout/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==", - "dependencies": { - "@react-types/shared": "^3.26.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" - } - }, - "node_modules/@deephaven/grid": { - "version": "0.106.3", - "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.106.3.tgz", - "integrity": "sha512-sfAwqmf3rLGiq782+ADEeii2rjk+Os+Qlh1vWdLxavYohTGpwQsVdYMzxxbktz+GR50D1WcHQrsfT+SQr4wAxg==", + "node_modules/@deephaven/storage": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.106.2.tgz", + "integrity": "sha512-qX+rr93c9kH2u9TsBxRY84ymB08f94O7IA7LFxuJtQcib6UCCguT9QuTtuu5GLo2ciAgV9MqEQJ6ay16c6oFzw==", "dependencies": { - "@deephaven/utils": "^0.106.0", - "classnames": "^2.3.1", - "color-convert": "^2.0.1", - "event-target-shim": "^6.0.2", - "linkifyjs": "^4.1.0", - "lodash.clamp": "^4.0.3", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "prop-types": "^15.7.2" + "@deephaven/filters": "^0.106.0", + "@deephaven/log": "^0.106.2", + "lodash.throttle": "^4.1.1" }, "engines": { "node": ">=16" @@ -4026,1511 +3925,10 @@ "react": ">=16.8.0" } }, - "node_modules/@deephaven/grid/node_modules/@deephaven/utils": { + "node_modules/@deephaven/storage/node_modules/@deephaven/filters": { "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.106.0.tgz", - "integrity": "sha512-P5EsEl/rtA/KGZDQu8FDtovERRp/muRfJgrPunZdQy9stWSW0zYBFRHnLZCEbeETdduP/q902ZIOw77WSATqCw==", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/icons": { - "version": "0.87.0", - "license": "Apache-2.0", - "dependencies": { - "@fortawesome/fontawesome-common-types": "^6.1.1" - }, - "peerDependencies": { - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0" - } - }, - "node_modules/@deephaven/iris-grid": { - "version": "0.106.4", - "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.106.4.tgz", - "integrity": "sha512-ntNxbfBUgj0IjErzMysWJb831LKL4R7poSBBk/FGluqUOA5tsP5SyrZ2quGU7qchQMzV0XWY8zvvtiL/xzp4MA==", - "dependencies": { - "@deephaven/components": "^0.106.2", - "@deephaven/console": "^0.106.3", - "@deephaven/filters": "^0.106.0", - "@deephaven/grid": "^0.106.3", - "@deephaven/icons": "^0.106.0", - "@deephaven/jsapi-components": "^0.106.2", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.106.2", - "@deephaven/log": "^0.106.2", - "@deephaven/react-hooks": "^0.106.2", - "@deephaven/storage": "^0.106.2", - "@deephaven/utils": "^0.106.0", - "@dnd-kit/core": "^6.1.0", - "@dnd-kit/sortable": "^7.0.2", - "@dnd-kit/utilities": "^3.2.2", - "@fortawesome/react-fontawesome": "^0.2.0", - "classnames": "^2.3.1", - "fast-deep-equal": "^3.1.3", - "lodash.clamp": "^4.0.3", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "monaco-editor": "^0.43.0", - "nanoid": "^5.0.7", - "prop-types": "^15.7.2", - "react-beautiful-dnd": "^13.1.0", - "react-transition-group": "^4.4.2" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@deephaven/iris-grid/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==", - "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" - }, - "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/@deephaven/iris-grid/node_modules/@deephaven/components": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", - "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", - "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/icons": "^0.106.0", - "@deephaven/log": "^0.106.2", - "@deephaven/react-hooks": "^0.106.2", - "@deephaven/utils": "^0.106.0", - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0", - "@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", - "bootstrap": "4.6.2", - "classnames": "^2.3.1", - "event-target-shim": "^6.0.2", - "lodash.clamp": "^4.0.3", - "lodash.debounce": "^4.0.8", - "lodash.flatten": "^4.4.0", - "memoizee": "^0.4.15", - "nanoid": "^5.0.7", - "popper.js": "^1.16.1", - "prop-types": "^15.7.2", - "react-beautiful-dnd": "^13.1.0", - "react-transition-group": "^4.4.2", - "react-virtualized-auto-sizer": "1.0.6", - "react-window": "^1.8.6" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0", - "react-is": ">=16.8.0" - } - }, - "node_modules/@deephaven/iris-grid/node_modules/@deephaven/filters": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.106.0.tgz", - "integrity": "sha512-3zMXnUxqy7wSsFU1/74lrTJqm7nWOblSxFgktOH8HtWXSFzzXS9G+aey2cp5YEAEFyC2qoll6jqFilSX1D36Xw==", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/iris-grid/node_modules/@deephaven/icons": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.106.0.tgz", - "integrity": "sha512-I41Le5SkNrvg2v29ylBHWFsKeep+HxlfJ5fKvAaU67c8Z0J6PsXzOZ8WcwsPkbTdmOf2RIdKgozUMLSVjzk+YQ==", - "dependencies": { - "@fortawesome/fontawesome-common-types": "^6.1.1" - }, - "peerDependencies": { - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0" - } - }, - "node_modules/@deephaven/iris-grid/node_modules/@deephaven/jsapi-bootstrap": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.106.2.tgz", - "integrity": "sha512-6Yi5X5WddNmbPB96ta7/BK7vsSlmT15XSgGUjMEY1xy14e+dqhedfcsfeq17O7RqSRKT0glvgw2YblD5JGYl8Q==", - "dependencies": { - "@deephaven/components": "^0.106.2", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.106.2", - "@deephaven/react-hooks": "^0.106.2", - "@deephaven/utils": "^0.106.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/iris-grid/node_modules/@deephaven/jsapi-components": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.106.2.tgz", - "integrity": "sha512-1cxVAqGInoSDyUvBiZ7bGxw5BNYibB+sWSHMu+5kzmLSWgN8YyB7CKP8YaWtcL0FMhdLsahmakmCXuKoyLq1qw==", - "dependencies": { - "@deephaven/components": "^0.106.2", - "@deephaven/jsapi-bootstrap": "^0.106.2", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.106.2", - "@deephaven/log": "^0.106.2", - "@deephaven/react-hooks": "^0.106.2", - "@deephaven/utils": "^0.106.0", - "@types/js-cookie": "^3.0.3", - "classnames": "^2.3.2", - "js-cookie": "^3.0.5", - "lodash.debounce": "^4.0.8", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/iris-grid/node_modules/@deephaven/jsapi-types": { - "version": "1.0.0-dev0.37.6", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.37.6.tgz", - "integrity": "sha512-CWBzP2xpxT0VYsUyEk1+6dcJZyZLbC3GvCs0ikIM87e7Kk54NmcpCCbfz6NtFDcSpJWedEL+iPozdzyv65fT7Q==" - }, - "node_modules/@deephaven/iris-grid/node_modules/@deephaven/log": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.106.2.tgz", - "integrity": "sha512-0yX5zrT51WDZnAKMlr4Lz4F/GYlsAb0YUq0sd3cSRclqD4OKmJrk57Ev8J4D23Rg4jQBwKunmQvdUatdTKcAHg==", - "dependencies": { - "event-target-shim": "^6.0.2", - "jszip": "^3.10.1" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/iris-grid/node_modules/@deephaven/utils": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.106.0.tgz", - "integrity": "sha512-P5EsEl/rtA/KGZDQu8FDtovERRp/muRfJgrPunZdQy9stWSW0zYBFRHnLZCEbeETdduP/q902ZIOw77WSATqCw==", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/iris-grid/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==", - "dependencies": { - "@react-types/shared": "^3.26.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" - } - }, - "node_modules/@deephaven/js-plugin-ag-grid": { - "resolved": "plugins/ag-grid/src/js", - "link": true - }, - "node_modules/@deephaven/js-plugin-auth-keycloak": { - "resolved": "plugins/auth-keycloak/src/js", - "link": true - }, - "node_modules/@deephaven/js-plugin-dashboard-object-viewer": { - "resolved": "plugins/dashboard-object-viewer/src/js", - "link": true - }, - "node_modules/@deephaven/js-plugin-example-theme": { - "resolved": "plugins/example-theme/src/js", - "link": true - }, - "node_modules/@deephaven/js-plugin-matplotlib": { - "resolved": "plugins/matplotlib/src/js", - "link": true - }, - "node_modules/@deephaven/js-plugin-plotly-express": { - "resolved": "plugins/plotly-express/src/js", - "link": true - }, - "node_modules/@deephaven/js-plugin-simple-pivot": { - "resolved": "plugins/simple-pivot/src/js", - "link": true - }, - "node_modules/@deephaven/js-plugin-table-example": { - "resolved": "plugins/table-example/src/js", - "link": true - }, - "node_modules/@deephaven/js-plugin-ui": { - "resolved": "plugins/ui/src/js", - "link": true - }, - "node_modules/@deephaven/jsapi-bootstrap": { - "version": "0.40.1", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/components": "^0.40.1", - "@deephaven/jsapi-types": "^0.40.0", - "@deephaven/log": "^0.40.0", - "@deephaven/react-hooks": "^0.40.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": "^17.x" - } - }, - "node_modules/@deephaven/jsapi-bootstrap/node_modules/@deephaven/react-hooks": { - "version": "0.40.1", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/log": "^0.40.0", - "@deephaven/utils": "^0.40.1", - "shortid": "^2.2.16" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": "^17.x" - } - }, - "node_modules/@deephaven/jsapi-components": { - "version": "0.40.4", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/components": "^0.40.1", - "@deephaven/jsapi-bootstrap": "^0.40.1", - "@deephaven/jsapi-types": "^0.40.0", - "@deephaven/jsapi-utils": "^0.40.4", - "@deephaven/log": "^0.40.0", - "@deephaven/react-hooks": "^0.40.1", - "@deephaven/utils": "^0.40.1", - "@react-stately/data": "^3.9.1", - "@types/js-cookie": "^3.0.3", - "classnames": "^2.3.2", - "js-cookie": "^3.0.5", - "lodash.debounce": "^4.0.8", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": "^17.x" - } - }, - "node_modules/@deephaven/jsapi-components/node_modules/@deephaven/filters": { - "version": "0.40.0", - "license": "Apache-2.0", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/jsapi-components/node_modules/@deephaven/jsapi-utils": { - "version": "0.40.4", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/filters": "^0.40.0", - "@deephaven/jsapi-types": "^0.40.0", - "@deephaven/log": "^0.40.0", - "@deephaven/utils": "^0.40.1", - "@react-stately/data": "^3.9.1", - "lodash.clamp": "^4.0.3", - "shortid": "^2.2.16" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/jsapi-components/node_modules/@deephaven/react-hooks": { - "version": "0.40.1", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/log": "^0.40.0", - "@deephaven/utils": "^0.40.1", - "shortid": "^2.2.16" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": "^17.x" - } - }, - "node_modules/@deephaven/jsapi-types": { - "version": "0.40.0", - "license": "Apache-2.0", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/jsapi-utils": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.106.2.tgz", - "integrity": "sha512-i/0Zflqa2MuOD47Q11dcAyizVgcJLrMzKIBrj9Txv1ZFDrPxEUamUxTDh7nHysCrz3RQrlNWLiB2ijLkMFuvXw==", - "dependencies": { - "@deephaven/filters": "^0.106.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.106.2", - "@deephaven/utils": "^0.106.0", - "lodash.clamp": "^4.0.3", - "nanoid": "^5.0.7" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/filters": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.106.0.tgz", - "integrity": "sha512-3zMXnUxqy7wSsFU1/74lrTJqm7nWOblSxFgktOH8HtWXSFzzXS9G+aey2cp5YEAEFyC2qoll6jqFilSX1D36Xw==", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/jsapi-types": { - "version": "1.0.0-dev0.37.6", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.37.6.tgz", - "integrity": "sha512-CWBzP2xpxT0VYsUyEk1+6dcJZyZLbC3GvCs0ikIM87e7Kk54NmcpCCbfz6NtFDcSpJWedEL+iPozdzyv65fT7Q==" - }, - "node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/log": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.106.2.tgz", - "integrity": "sha512-0yX5zrT51WDZnAKMlr4Lz4F/GYlsAb0YUq0sd3cSRclqD4OKmJrk57Ev8J4D23Rg4jQBwKunmQvdUatdTKcAHg==", - "dependencies": { - "event-target-shim": "^6.0.2", - "jszip": "^3.10.1" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/utils": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.106.0.tgz", - "integrity": "sha512-P5EsEl/rtA/KGZDQu8FDtovERRp/muRfJgrPunZdQy9stWSW0zYBFRHnLZCEbeETdduP/q902ZIOw77WSATqCw==", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/log": { - "version": "0.40.0", - "license": "Apache-2.0", - "dependencies": { - "event-target-shim": "^6.0.2" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/plugin": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/components": "^0.86.0", - "@deephaven/golden-layout": "^0.86.0", - "@deephaven/icons": "^0.86.0", - "@deephaven/iris-grid": "^0.86.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.86.0", - "@deephaven/react-hooks": "^0.86.0", - "@fortawesome/fontawesome-common-types": "^6.1.1", - "@fortawesome/react-fontawesome": "^0.2.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/chart": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/components": "^0.86.0", - "@deephaven/icons": "^0.86.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.86.0", - "@deephaven/log": "^0.86.0", - "@deephaven/react-hooks": "^0.86.0", - "@deephaven/utils": "^0.86.0", - "buffer": "^6.0.3", - "fast-deep-equal": "^3.1.3", - "lodash.debounce": "^4.0.8", - "lodash.set": "^4.3.2", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "plotly.js": "^2.29.1", - "prop-types": "^15.7.2", - "react-plotly.js": "^2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/components": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@adobe/react-spectrum": "3.35.1", - "@deephaven/icons": "^0.86.0", - "@deephaven/log": "^0.86.0", - "@deephaven/react-hooks": "^0.86.0", - "@deephaven/utils": "^0.86.0", - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0", - "@react-spectrum/theme-default": "^3.5.1", - "@react-spectrum/utils": "^3.11.5", - "@react-types/radio": "^3.8.1", - "@react-types/shared": "^3.22.1", - "@react-types/textfield": "^3.9.1", - "bootstrap": "4.6.2", - "classnames": "^2.3.1", - "event-target-shim": "^6.0.2", - "lodash.clamp": "^4.0.3", - "lodash.debounce": "^4.0.8", - "lodash.flatten": "^4.4.0", - "memoizee": "^0.4.15", - "nanoid": "^5.0.7", - "popper.js": "^1.16.1", - "prop-types": "^15.7.2", - "react-beautiful-dnd": "^13.1.0", - "react-transition-group": "^4.4.2", - "react-virtualized-auto-sizer": "1.0.6", - "react-window": "^1.8.6" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0", - "react-is": ">=16.8.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/components/node_modules/@adobe/react-spectrum": { - "version": "3.35.1", - "license": "Apache-2.0", - "dependencies": { - "@internationalized/string": "^3.2.3", - "@react-aria/i18n": "^3.11.1", - "@react-aria/ssr": "^3.9.4", - "@react-aria/utils": "^3.24.1", - "@react-aria/visually-hidden": "^3.8.12", - "@react-spectrum/actionbar": "^3.4.5", - "@react-spectrum/actiongroup": "^3.10.5", - "@react-spectrum/avatar": "^3.0.12", - "@react-spectrum/badge": "^3.1.13", - "@react-spectrum/breadcrumbs": "^3.9.7", - "@react-spectrum/button": "^3.16.4", - "@react-spectrum/buttongroup": "^3.6.13", - "@react-spectrum/calendar": "^3.4.9", - "@react-spectrum/checkbox": "^3.9.6", - "@react-spectrum/combobox": "^3.12.5", - "@react-spectrum/contextualhelp": "^3.6.11", - "@react-spectrum/datepicker": "^3.9.6", - "@react-spectrum/dialog": "^3.8.11", - "@react-spectrum/divider": "^3.5.13", - "@react-spectrum/dnd": "^3.3.10", - "@react-spectrum/dropzone": "^3.0.1", - "@react-spectrum/filetrigger": "^3.0.1", - "@react-spectrum/form": "^3.7.6", - "@react-spectrum/icon": "^3.7.13", - "@react-spectrum/illustratedmessage": "^3.5.1", - "@react-spectrum/image": "^3.5.1", - "@react-spectrum/inlinealert": "^3.2.5", - "@react-spectrum/labeledvalue": "^3.1.14", - "@react-spectrum/layout": "^3.6.5", - "@react-spectrum/link": "^3.6.7", - "@react-spectrum/list": "^3.7.10", - "@react-spectrum/listbox": "^3.12.9", - "@react-spectrum/menu": "^3.19.1", - "@react-spectrum/meter": "^3.5.1", - "@react-spectrum/numberfield": "^3.9.3", - "@react-spectrum/overlays": "^5.6.1", - "@react-spectrum/picker": "^3.14.5", - "@react-spectrum/progress": "^3.7.7", - "@react-spectrum/provider": "^3.9.7", - "@react-spectrum/radio": "^3.7.6", - "@react-spectrum/searchfield": "^3.8.6", - "@react-spectrum/slider": "^3.6.9", - "@react-spectrum/statuslight": "^3.5.13", - "@react-spectrum/switch": "^3.5.5", - "@react-spectrum/table": "^3.12.10", - "@react-spectrum/tabs": "^3.8.10", - "@react-spectrum/tag": "^3.2.6", - "@react-spectrum/text": "^3.5.5", - "@react-spectrum/textfield": "^3.12.1", - "@react-spectrum/theme-dark": "^3.5.10", - "@react-spectrum/theme-default": "^3.5.10", - "@react-spectrum/theme-light": "^3.4.10", - "@react-spectrum/tooltip": "^3.6.7", - "@react-spectrum/view": "^3.6.10", - "@react-spectrum/well": "^3.4.13", - "@react-stately/collections": "^3.10.7", - "@react-stately/data": "^3.11.4", - "@react-types/shared": "^3.23.1", - "client-only": "^0.0.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/filters": { - "version": "0.86.0", - "license": "Apache-2.0", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/golden-layout": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/components": "^0.86.0", - "jquery": "^3.6.0", - "nanoid": "^5.0.7" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/grid": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/utils": "^0.86.0", - "classnames": "^2.3.1", - "color-convert": "^2.0.1", - "event-target-shim": "^6.0.2", - "linkifyjs": "^4.1.0", - "lodash.clamp": "^4.0.3", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/icons": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@fortawesome/fontawesome-common-types": "^6.1.1" - }, - "peerDependencies": { - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/iris-grid": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/components": "^0.86.0", - "@deephaven/console": "^0.86.0", - "@deephaven/filters": "^0.86.0", - "@deephaven/grid": "^0.86.0", - "@deephaven/icons": "^0.86.0", - "@deephaven/jsapi-components": "^0.86.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.86.0", - "@deephaven/log": "^0.86.0", - "@deephaven/react-hooks": "^0.86.0", - "@deephaven/storage": "^0.86.0", - "@deephaven/utils": "^0.86.0", - "@dnd-kit/core": "^6.1.0", - "@dnd-kit/sortable": "^7.0.2", - "@dnd-kit/utilities": "^3.2.2", - "@fortawesome/react-fontawesome": "^0.2.0", - "classnames": "^2.3.1", - "fast-deep-equal": "^3.1.3", - "lodash.clamp": "^4.0.3", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "monaco-editor": "^0.41.0", - "nanoid": "^5.0.7", - "prop-types": "^15.7.2", - "react-beautiful-dnd": "^13.1.0", - "react-transition-group": "^4.4.2" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/iris-grid/node_modules/@deephaven/console": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/chart": "^0.86.0", - "@deephaven/components": "^0.86.0", - "@deephaven/icons": "^0.86.0", - "@deephaven/jsapi-bootstrap": "^0.86.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.86.0", - "@deephaven/react-hooks": "^0.86.0", - "@deephaven/storage": "^0.86.0", - "@deephaven/utils": "^0.86.0", - "@fortawesome/react-fontawesome": "^0.2.0", - "classnames": "^2.3.1", - "linkifyjs": "^4.1.0", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "monaco-editor": "^0.41.0", - "nanoid": "^5.0.7", - "papaparse": "5.3.2", - "popper.js": "^1.16.1", - "prop-types": "^15.7.2", - "shell-quote": "^1.7.2" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/jsapi-bootstrap": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/components": "^0.86.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.86.0", - "@deephaven/react-hooks": "^0.86.0", - "@deephaven/utils": "^0.86.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/jsapi-components": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/components": "^0.86.0", - "@deephaven/jsapi-bootstrap": "^0.86.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.86.0", - "@deephaven/log": "^0.86.0", - "@deephaven/react-hooks": "^0.86.0", - "@deephaven/utils": "^0.86.0", - "@types/js-cookie": "^3.0.3", - "classnames": "^2.3.2", - "js-cookie": "^3.0.5", - "lodash.debounce": "^4.0.8", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/jsapi-types": { - "version": "1.0.0-dev0.37.6", - "license": "Apache-2.0" - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/jsapi-utils": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/filters": "^0.86.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.86.0", - "@deephaven/utils": "^0.86.0", - "lodash.clamp": "^4.0.3", - "nanoid": "^5.0.7" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/log": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "event-target-shim": "^6.0.2" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/react-hooks": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@adobe/react-spectrum": "3.35.1", - "@deephaven/log": "^0.86.0", - "@deephaven/utils": "^0.86.0", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "nanoid": "^5.0.7" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/react-hooks/node_modules/@adobe/react-spectrum": { - "version": "3.35.1", - "license": "Apache-2.0", - "dependencies": { - "@internationalized/string": "^3.2.3", - "@react-aria/i18n": "^3.11.1", - "@react-aria/ssr": "^3.9.4", - "@react-aria/utils": "^3.24.1", - "@react-aria/visually-hidden": "^3.8.12", - "@react-spectrum/actionbar": "^3.4.5", - "@react-spectrum/actiongroup": "^3.10.5", - "@react-spectrum/avatar": "^3.0.12", - "@react-spectrum/badge": "^3.1.13", - "@react-spectrum/breadcrumbs": "^3.9.7", - "@react-spectrum/button": "^3.16.4", - "@react-spectrum/buttongroup": "^3.6.13", - "@react-spectrum/calendar": "^3.4.9", - "@react-spectrum/checkbox": "^3.9.6", - "@react-spectrum/combobox": "^3.12.5", - "@react-spectrum/contextualhelp": "^3.6.11", - "@react-spectrum/datepicker": "^3.9.6", - "@react-spectrum/dialog": "^3.8.11", - "@react-spectrum/divider": "^3.5.13", - "@react-spectrum/dnd": "^3.3.10", - "@react-spectrum/dropzone": "^3.0.1", - "@react-spectrum/filetrigger": "^3.0.1", - "@react-spectrum/form": "^3.7.6", - "@react-spectrum/icon": "^3.7.13", - "@react-spectrum/illustratedmessage": "^3.5.1", - "@react-spectrum/image": "^3.5.1", - "@react-spectrum/inlinealert": "^3.2.5", - "@react-spectrum/labeledvalue": "^3.1.14", - "@react-spectrum/layout": "^3.6.5", - "@react-spectrum/link": "^3.6.7", - "@react-spectrum/list": "^3.7.10", - "@react-spectrum/listbox": "^3.12.9", - "@react-spectrum/menu": "^3.19.1", - "@react-spectrum/meter": "^3.5.1", - "@react-spectrum/numberfield": "^3.9.3", - "@react-spectrum/overlays": "^5.6.1", - "@react-spectrum/picker": "^3.14.5", - "@react-spectrum/progress": "^3.7.7", - "@react-spectrum/provider": "^3.9.7", - "@react-spectrum/radio": "^3.7.6", - "@react-spectrum/searchfield": "^3.8.6", - "@react-spectrum/slider": "^3.6.9", - "@react-spectrum/statuslight": "^3.5.13", - "@react-spectrum/switch": "^3.5.5", - "@react-spectrum/table": "^3.12.10", - "@react-spectrum/tabs": "^3.8.10", - "@react-spectrum/tag": "^3.2.6", - "@react-spectrum/text": "^3.5.5", - "@react-spectrum/textfield": "^3.12.1", - "@react-spectrum/theme-dark": "^3.5.10", - "@react-spectrum/theme-default": "^3.5.10", - "@react-spectrum/theme-light": "^3.4.10", - "@react-spectrum/tooltip": "^3.6.7", - "@react-spectrum/view": "^3.6.10", - "@react-spectrum/well": "^3.4.13", - "@react-stately/collections": "^3.10.7", - "@react-stately/data": "^3.11.4", - "@react-types/shared": "^3.23.1", - "client-only": "^0.0.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/storage": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/filters": "^0.86.0", - "@deephaven/log": "^0.86.0", - "lodash.throttle": "^4.1.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/plugin/node_modules/@deephaven/utils": { - "version": "0.86.0", - "license": "Apache-2.0", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/plugin/node_modules/monaco-editor": { - "version": "0.41.0", - "license": "MIT" - }, - "node_modules/@deephaven/prettier-config": { - "version": "0.72.0", - "dev": true, - "license": "Apache-2.0", - "peerDependencies": { - "prettier": "^3.0.0" - } - }, - "node_modules/@deephaven/react-hooks": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.106.2.tgz", - "integrity": "sha512-SOr+HeLTk94Y+d8LUvR5iDAjlry3zr+EOJkkqv08NRY87hmhztYkiGTmFFXIe47DKSg0P12CaMD1Zp7wXvnEAg==", - "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/log": "^0.106.2", - "@deephaven/utils": "^0.106.0", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "nanoid": "^5.0.7" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/react-hooks/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==", - "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" - }, - "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/@deephaven/react-hooks/node_modules/@deephaven/log": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.106.2.tgz", - "integrity": "sha512-0yX5zrT51WDZnAKMlr4Lz4F/GYlsAb0YUq0sd3cSRclqD4OKmJrk57Ev8J4D23Rg4jQBwKunmQvdUatdTKcAHg==", - "dependencies": { - "event-target-shim": "^6.0.2", - "jszip": "^3.10.1" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/react-hooks/node_modules/@deephaven/utils": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.106.0.tgz", - "integrity": "sha512-P5EsEl/rtA/KGZDQu8FDtovERRp/muRfJgrPunZdQy9stWSW0zYBFRHnLZCEbeETdduP/q902ZIOw77WSATqCw==", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/redux": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.105.0.tgz", - "integrity": "sha512-eHAn4d1NlbkrnYMrFzecUh9FkQZ9V63y9ObUr9fqzgwIrpx1wSafPtXkTb9Lgvhlmt78r7Nx4CLJVVqJ66j/cg==", - "dependencies": { - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/plugin": "^0.105.0", - "fast-deep-equal": "^3.1.3", - "proxy-memoize": "^3.0.0", - "redux-thunk": "2.4.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "redux": "^4.2.0" - } - }, - "node_modules/@deephaven/redux/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==", - "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" - }, - "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/@deephaven/redux/node_modules/@deephaven/components": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.105.0.tgz", - "integrity": "sha512-Zp9zIx47O157xpwGfp6vSq4XbMMseYNqVS0LCKXUpNHuoBsxSGsGwrQlciJ4Dw+4bzxN+AfNoOwbPJ5AjMVR6Q==", - "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0", - "@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", - "bootstrap": "4.6.2", - "classnames": "^2.3.1", - "event-target-shim": "^6.0.2", - "lodash.clamp": "^4.0.3", - "lodash.debounce": "^4.0.8", - "lodash.flatten": "^4.4.0", - "memoizee": "^0.4.15", - "nanoid": "^5.0.7", - "popper.js": "^1.16.1", - "prop-types": "^15.7.2", - "react-beautiful-dnd": "^13.1.0", - "react-transition-group": "^4.4.2", - "react-virtualized-auto-sizer": "1.0.6", - "react-window": "^1.8.6" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0", - "react-is": ">=16.8.0" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/console": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.105.0.tgz", - "integrity": "sha512-CiwERTO4coP75vjwFCV8H8rADHO8lqKPIg5EXqblc9xdFNg7Vs3OPM5bLBgrwCS72YnlNUsVt442fTm8cDlQag==", - "dependencies": { - "@astral-sh/ruff-wasm-web": "0.6.4", - "@deephaven/chart": "^0.105.0", - "@deephaven/components": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/jsapi-bootstrap": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/storage": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "@fortawesome/react-fontawesome": "^0.2.0", - "classnames": "^2.3.1", - "linkifyjs": "^4.1.0", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "monaco-editor": "^0.43.0", - "nanoid": "^5.0.7", - "papaparse": "5.3.2", - "popper.js": "^1.16.1", - "prop-types": "^15.7.2", - "shell-quote": "^1.7.2" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/golden-layout": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.105.0.tgz", - "integrity": "sha512-NbPADsYf/+Dts1HX48Cpr0RCX4gA3SX72/PoY22D+5vTfeqELFSK4WnBL6w+oPeHWw9YBgh6lJnnq230Fxjh9w==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "jquery": "^3.6.0", - "nanoid": "^5.0.7" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/grid": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.105.0.tgz", - "integrity": "sha512-GFvNWqj9nfEotGW1Q4YfuuwfIdbbiamGd3cecekS7S9ZOLjObwPMuW/WAn0ZIevlVdxxOCv4yJuQZXfFeta4ew==", - "dependencies": { - "@deephaven/utils": "^0.105.0", - "classnames": "^2.3.1", - "color-convert": "^2.0.1", - "event-target-shim": "^6.0.2", - "linkifyjs": "^4.1.0", - "lodash.clamp": "^4.0.3", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/icons": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.105.0.tgz", - "integrity": "sha512-/h5wISmDcENxWppnRD9aKxBXxGcoupP4midOiSliDNEmRJ/+EfgQNAjznHS7VWc4JG0HQDCs0Jn0JDJXdoLgRw==", - "dependencies": { - "@fortawesome/fontawesome-common-types": "^6.1.1" - }, - "peerDependencies": { - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/iris-grid": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.105.0.tgz", - "integrity": "sha512-2ZzMfmjYQBTG8YQWFtGlAgY4cMTWlvluhQLyQ10US245d7Y+E0bR/1yF7Vl2D0FwVO7J3bmgwpS8wDjxFjJepg==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/console": "^0.105.0", - "@deephaven/filters": "^0.105.0", - "@deephaven/grid": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/jsapi-components": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/storage": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "@dnd-kit/core": "^6.1.0", - "@dnd-kit/sortable": "^7.0.2", - "@dnd-kit/utilities": "^3.2.2", - "@fortawesome/react-fontawesome": "^0.2.0", - "classnames": "^2.3.1", - "fast-deep-equal": "^3.1.3", - "lodash.clamp": "^4.0.3", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "memoize-one": "^5.1.1", - "memoizee": "^0.4.15", - "monaco-editor": "^0.43.0", - "nanoid": "^5.0.7", - "prop-types": "^15.7.2", - "react-beautiful-dnd": "^13.1.0", - "react-transition-group": "^4.4.2" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/jsapi-bootstrap": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.105.0.tgz", - "integrity": "sha512-guf0ClmlASZdqOVWkbz+BsSBw3SK5CJ082DclGPYjYiRYhMbUrOORSaxYntSR7Y6jOePSpP7STf2j3Ye6GSZUg==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/jsapi-components": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.105.0.tgz", - "integrity": "sha512-2vbNQNk52iByOc7dX1MtNQYYjZIf09wds+Bnf4+ae/5goc07VsbaSnWRDbf41m0RGp9dmebD2AMDpIQrjtQPjw==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/jsapi-bootstrap": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "@types/js-cookie": "^3.0.3", - "classnames": "^2.3.2", - "js-cookie": "^3.0.5", - "lodash.debounce": "^4.0.8", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/jsapi-types": { - "version": "1.0.0-dev0.38.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.38.0.tgz", - "integrity": "sha512-g7CNe89hfAQXTOQ4MrCFTdusK6Q/kbuxH7zGUGiGSfxu8t0RiJohSy1luIlvBTT22KOHBdt0sTnlU4emN3lRIg==" - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/jsapi-utils": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.105.0.tgz", - "integrity": "sha512-Z2iHYxbWEw/moMgc8/gY8wACOzqTrODKAt8yOiKkh/pVnVqNOdtetjJtguLN2oZwQf3vch2oB6MKIJKGjM7nMQ==", - "dependencies": { - "@deephaven/filters": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "lodash.clamp": "^4.0.3", - "nanoid": "^5.0.7" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/log": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.105.0.tgz", - "integrity": "sha512-Opfjo/us3iS5QJF0QH/kM3vTXRJnt5XZy951v7eoEr00eUF2XjQ3Jsvz8ypNYwXvz2U5FhY4Njy1IE++hvh5OA==", - "dependencies": { - "event-target-shim": "^6.0.2", - "jszip": "^3.10.1" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/plugin": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.105.0.tgz", - "integrity": "sha512-P6HH0Y7sDes2I8vS7LhyVmx9R+qIJ/uWgWBwPNXFFOKwzQIbtsjEXt1KeD1MK5QNT50aua/AKWVu872X0nqEAQ==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/golden-layout": "^0.105.0", - "@deephaven/grid": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/iris-grid": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@fortawesome/fontawesome-common-types": "^6.1.1", - "@fortawesome/react-fontawesome": "^0.2.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/react-hooks": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.105.0.tgz", - "integrity": "sha512-pcbYdyg2wdH8U8wTeAmmJbfShw7CdAaGfjgVJbjqRbxK1xLNOuIa6w7p9UCVA6i1BjSHKR59Lxwr+j/QrWpQBQ==", - "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "nanoid": "^5.0.7" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/storage": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.105.0.tgz", - "integrity": "sha512-7wUIw/PbRQ8x45kvA0ou7RUtnHW2+yvuAMF39FPcRPGwstrS6leLMmk8RPqeEhH5JPsv2eMdFkIU7pZN52EiKA==", - "dependencies": { - "@deephaven/filters": "^0.105.0", - "@deephaven/log": "^0.105.0", - "lodash.throttle": "^4.1.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/redux/node_modules/@deephaven/utils": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.105.0.tgz", - "integrity": "sha512-25mu+Lvo2mC/XC7ES6N4qsrUt0wfxnno8ZqD9QLPn1HDW3LhUccnkXaCDZ6xbd2GfxqEPpY+27dKVWKkBTg/wg==", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deephaven/redux/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==", - "dependencies": { - "@react-types/shared": "^3.26.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" - } - }, - "node_modules/@deephaven/redux/node_modules/redux-thunk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.1.tgz", - "integrity": "sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==", - "peerDependencies": { - "redux": "^4" - } - }, - "node_modules/@deephaven/storage": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.106.2.tgz", - "integrity": "sha512-qX+rr93c9kH2u9TsBxRY84ymB08f94O7IA7LFxuJtQcib6UCCguT9QuTtuu5GLo2ciAgV9MqEQJ6ay16c6oFzw==", - "dependencies": { - "@deephaven/filters": "^0.106.0", - "@deephaven/log": "^0.106.2", - "lodash.throttle": "^4.1.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/storage/node_modules/@deephaven/filters": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.106.0.tgz", - "integrity": "sha512-3zMXnUxqy7wSsFU1/74lrTJqm7nWOblSxFgktOH8HtWXSFzzXS9G+aey2cp5YEAEFyC2qoll6jqFilSX1D36Xw==", + "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.106.0.tgz", + "integrity": "sha512-3zMXnUxqy7wSsFU1/74lrTJqm7nWOblSxFgktOH8HtWXSFzzXS9G+aey2cp5YEAEFyC2qoll6jqFilSX1D36Xw==", "engines": { "node": ">=16" } @@ -6190,7 +4588,6 @@ }, "node_modules/@isaacs/cliui": { "version": "8.0.2", - "dev": true, "license": "ISC", "dependencies": { "string-width": "^5.1.2", @@ -6206,7 +4603,6 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.1.0", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -6217,7 +4613,6 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-styles": { "version": "6.2.1", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -6228,7 +4623,6 @@ }, "node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", - "dev": true, "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", @@ -6244,7 +4638,6 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" @@ -6258,7 +4651,6 @@ }, "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { "version": "8.1.0", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", @@ -8222,13 +6614,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -8242,13 +6632,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -8259,7 +6647,6 @@ }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", - "dev": true, "license": "MIT", "optional": true, "engines": { @@ -12528,6 +10915,11 @@ "version": "0.16.7", "license": "MIT" }, + "node_modules/@types/less": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/less/-/less-3.0.8.tgz", + "integrity": "sha512-Gjm4+H9noDJgu5EdT3rUw5MhPBag46fiOy27BefvWkNL8mlZnKnCaVVVTLKj6RYXed9b62CPKnPav9govyQDzA==" + }, "node_modules/@types/mapbox__point-geometry": { "version": "0.1.4", "license": "MIT" @@ -12599,8 +10991,9 @@ }, "node_modules/@types/plotly.js-dist-min": { "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/plotly.js-dist-min/-/plotly.js-dist-min-2.3.4.tgz", + "integrity": "sha512-ISwLFV6Zs/v3DkaRFLyk2rvYAfVdnYP2VVVy7h+fBDWw52sn7sMUzytkWiN4M75uxr1uz1uiBioePTDpAfoFIg==", "dev": true, - "license": "MIT", "dependencies": { "@types/plotly.js": "*" } @@ -12645,6 +11038,15 @@ "redux": "^4.0.0" } }, + "node_modules/@types/sass": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.45.0.tgz", + "integrity": "sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==", + "deprecated": "This is a stub types definition. sass provides its own type definitions, so you do not need this installed.", + "dependencies": { + "sass": "*" + } + }, "node_modules/@types/scheduler": { "version": "0.16.8", "license": "MIT" @@ -12659,6 +11061,14 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/stylus": { + "version": "0.48.43", + "resolved": "https://registry.npmjs.org/@types/stylus/-/stylus-0.48.43.tgz", + "integrity": "sha512-72dv/zdhuyXWVHUXG2VTPEQdOG+oen95/DNFx2aMFFaY6LoITI6PwEqf5x31JF49kp2w9hvUzkNfTGBIeg61LQ==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/supercluster": { "version": "7.1.3", "license": "MIT", @@ -13311,7 +11721,6 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -13319,7 +11728,6 @@ }, "node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -13889,7 +12297,6 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "dev": true, "license": "MIT" }, "node_modules/base16": { @@ -14053,7 +12460,7 @@ }, "node_modules/braces": { "version": "3.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -14402,7 +12809,6 @@ }, "node_modules/chokidar": { "version": "4.0.3", - "dev": true, "license": "MIT", "dependencies": { "readdirp": "^4.0.1" @@ -15084,7 +13490,6 @@ }, "node_modules/cross-spawn": { "version": "7.0.6", - "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -15685,10 +14090,8 @@ }, "node_modules/detect-libc": { "version": "1.0.3", - "dev": true, "license": "Apache-2.0", "optional": true, - "peer": true, "bin": { "detect-libc": "bin/detect-libc.js" }, @@ -15863,7 +14266,6 @@ }, "node_modules/eastasianwidth": { "version": "0.2.0", - "dev": true, "license": "MIT" }, "node_modules/ejs": { @@ -15908,7 +14310,6 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "dev": true, "license": "MIT" }, "node_modules/encoding": { @@ -16260,6 +14661,60 @@ "@esbuild/win32-x64": "0.21.5" } }, + "node_modules/esbuild-style-plugin": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/esbuild-style-plugin/-/esbuild-style-plugin-1.6.3.tgz", + "integrity": "sha512-XPEKf4FjLjEVLv/dJH4UxDzXCrFHYpD93DBO8B+izdZARW5b7nNKQbnKv3J+7VDWJbgCU+hzfgIh2AuIZzlmXQ==", + "dependencies": { + "@types/less": "^3.0.3", + "@types/sass": "^1.43.1", + "@types/stylus": "^0.48.38", + "glob": "^10.2.2", + "postcss": "^8.4.31", + "postcss-modules": "^6.0.0" + } + }, + "node_modules/esbuild-style-plugin/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/esbuild-style-plugin/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/esbuild-style-plugin/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/esbuild/node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -17682,7 +16137,7 @@ }, "node_modules/fill-range": { "version": "7.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -17798,7 +16253,6 @@ }, "node_modules/foreground-child": { "version": "3.3.1", - "dev": true, "license": "ISC", "dependencies": { "cross-spawn": "^7.0.6", @@ -17813,7 +16267,6 @@ }, "node_modules/foreground-child/node_modules/signal-exit": { "version": "4.1.0", - "dev": true, "license": "ISC", "engines": { "node": ">=14" @@ -17971,6 +16424,14 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "dependencies": { + "loader-utils": "^3.2.0" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "dev": true, @@ -19130,7 +17591,6 @@ }, "node_modules/immutable": { "version": "5.0.3", - "dev": true, "license": "MIT" }, "node_modules/import-fresh": { @@ -19526,7 +17986,7 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -19565,7 +18025,6 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -19598,7 +18057,7 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -19643,7 +18102,7 @@ }, "node_modules/is-number": { "version": "7.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -19896,7 +18355,6 @@ }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, "license": "ISC" }, "node_modules/isobject": { @@ -19997,7 +18455,6 @@ }, "node_modules/jackspeak": { "version": "3.4.3", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -21987,6 +20444,14 @@ "node": ">=6.11.5" } }, + "node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "engines": { + "node": ">= 12.13.0" + } + }, "node_modules/locate-path": { "version": "6.0.0", "dev": true, @@ -22005,6 +20470,11 @@ "version": "4.17.21", "license": "MIT" }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, "node_modules/lodash.clamp": { "version": "4.0.3", "license": "MIT" @@ -23475,7 +21945,7 @@ }, "node_modules/micromatch": { "version": "4.0.8", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -23551,7 +22021,6 @@ }, "node_modules/minipass": { "version": "7.1.2", - "dev": true, "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" @@ -25194,7 +23663,6 @@ }, "node_modules/package-json-from-dist": { "version": "1.0.1", - "dev": true, "license": "BlueOak-1.0.0" }, "node_modules/pacote": { @@ -25525,7 +23993,6 @@ }, "node_modules/path-key": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -25537,7 +24004,6 @@ }, "node_modules/path-scurry": { "version": "1.11.1", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", @@ -25552,7 +24018,6 @@ }, "node_modules/path-scurry/node_modules/lru-cache": { "version": "10.4.3", - "dev": true, "license": "ISC" }, "node_modules/path-type": { @@ -25588,7 +24053,7 @@ }, "node_modules/picomatch": { "version": "2.3.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -25787,8 +24252,9 @@ } }, "node_modules/plotly.js-dist-min": { - "version": "2.35.3", - "license": "MIT" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plotly.js-dist-min/-/plotly.js-dist-min-3.0.1.tgz", + "integrity": "sha512-RReOqr6TfoHaTbVAoHR1UbTCOSRDsQ7Hbthd+3XAxOwaKmxCE3oejMhLG7urQSqWC65DAcSKV23kZd8e+7mG7w==" }, "node_modules/point-in-polygon": { "version": "1.1.0", @@ -25839,6 +24305,24 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-modules": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-6.0.1.tgz", + "integrity": "sha512-zyo2sAkVvuZFFy0gc2+4O+xar5dYlaVy/ebO24KT0ftk/iJevSNyPyQellsBLlnccwh7f6V6Y4GvuKRYToNgpQ==", + "dependencies": { + "generic-names": "^4.0.0", + "icss-utils": "^5.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.3" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, "node_modules/postcss-modules-extract-imports": { "version": "3.1.0", "license": "ISC", @@ -26925,7 +25409,6 @@ }, "node_modules/readdirp": { "version": "4.1.2", - "dev": true, "license": "MIT", "engines": { "node": ">= 14.18.0" @@ -26954,13 +25437,6 @@ "@babel/runtime": "^7.9.2" } }, - "node_modules/redux-thunk": { - "version": "2.4.2", - "license": "MIT", - "peerDependencies": { - "redux": "^4" - } - }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "dev": true, @@ -27959,7 +26435,6 @@ }, "node_modules/sass": { "version": "1.86.0", - "dev": true, "license": "MIT", "dependencies": { "chokidar": "^4.0.0", @@ -27978,11 +26453,9 @@ }, "node_modules/sass/node_modules/@parcel/watcher": { "version": "2.5.1", - "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", @@ -28014,10 +26487,8 @@ }, "node_modules/sass/node_modules/node-addon-api": { "version": "7.1.1", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/sax": { "version": "1.4.1", @@ -28173,7 +26644,6 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -28184,7 +26654,6 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -28676,6 +27145,11 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" + }, "node_modules/string-length": { "version": "4.0.2", "dev": true, @@ -28702,7 +27176,6 @@ }, "node_modules/string-width": { "version": "4.2.3", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -28716,7 +27189,6 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -28729,12 +27201,10 @@ }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "license": "MIT" }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "license": "MIT" }, "node_modules/string.prototype.includes": { @@ -28857,7 +27327,6 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -28869,7 +27338,6 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -29598,7 +28066,7 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -30664,7 +29132,6 @@ }, "node_modules/which": { "version": "2.0.2", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -30802,7 +29269,6 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -31375,7 +29841,6 @@ "keycloak-js": "^21.0.2" }, "devDependencies": { - "@types/plotly.js": "^2.12.18", "@types/react": "^17.0.2", "react": "^17.0.2", "typescript": "^4.5.4" @@ -31431,6 +29896,33 @@ "node": ">=4.2.0" } }, + "plugins/deephaven_plugin_template/src/js": { + "version": "0.0.1", + "extraneous": true, + "license": "Apache-2.0", + "dependencies": { + "@deephaven/components": "^1.2.0", + "@deephaven/dashboard": "^1.2.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/jsapi-bootstrap": "^1.2.0", + "@deephaven/jsapi-types": "1.0.0-dev0.39.5", + "@deephaven/log": "^1.1.0", + "@deephaven/plugin": "^1.2.0" + }, + "devDependencies": { + "@deephaven/tsconfig": "^0.72.0", + "@types/react": "^17.0.2", + "@types/react-dom": "^17.0.2", + "@vitejs/plugin-react-swc": "^3.0.0", + "react": "^17.0.2", + "typescript": "^4.5.4", + "vite": "~4.1.4" + }, + "peerDependencies": { + "react": "^17.0.2", + "react-dom": "^17.0.2" + } + }, "plugins/example-theme/src/js": { "name": "@deephaven/js-plugin-example-theme", "version": "0.1.0", @@ -31966,15 +30458,136 @@ "react-window": "^1.8.6" }, "engines": { - "node": ">=10" + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-is": ">=16.8.0" + } + }, + "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/components/node_modules/@adobe/react-spectrum": { + "version": "3.35.1", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/string": "^3.2.3", + "@react-aria/i18n": "^3.11.1", + "@react-aria/ssr": "^3.9.4", + "@react-aria/utils": "^3.24.1", + "@react-aria/visually-hidden": "^3.8.12", + "@react-spectrum/actionbar": "^3.4.5", + "@react-spectrum/actiongroup": "^3.10.5", + "@react-spectrum/avatar": "^3.0.12", + "@react-spectrum/badge": "^3.1.13", + "@react-spectrum/breadcrumbs": "^3.9.7", + "@react-spectrum/button": "^3.16.4", + "@react-spectrum/buttongroup": "^3.6.13", + "@react-spectrum/calendar": "^3.4.9", + "@react-spectrum/checkbox": "^3.9.6", + "@react-spectrum/combobox": "^3.12.5", + "@react-spectrum/contextualhelp": "^3.6.11", + "@react-spectrum/datepicker": "^3.9.6", + "@react-spectrum/dialog": "^3.8.11", + "@react-spectrum/divider": "^3.5.13", + "@react-spectrum/dnd": "^3.3.10", + "@react-spectrum/dropzone": "^3.0.1", + "@react-spectrum/filetrigger": "^3.0.1", + "@react-spectrum/form": "^3.7.6", + "@react-spectrum/icon": "^3.7.13", + "@react-spectrum/illustratedmessage": "^3.5.1", + "@react-spectrum/image": "^3.5.1", + "@react-spectrum/inlinealert": "^3.2.5", + "@react-spectrum/labeledvalue": "^3.1.14", + "@react-spectrum/layout": "^3.6.5", + "@react-spectrum/link": "^3.6.7", + "@react-spectrum/list": "^3.7.10", + "@react-spectrum/listbox": "^3.12.9", + "@react-spectrum/menu": "^3.19.1", + "@react-spectrum/meter": "^3.5.1", + "@react-spectrum/numberfield": "^3.9.3", + "@react-spectrum/overlays": "^5.6.1", + "@react-spectrum/picker": "^3.14.5", + "@react-spectrum/progress": "^3.7.7", + "@react-spectrum/provider": "^3.9.7", + "@react-spectrum/radio": "^3.7.6", + "@react-spectrum/searchfield": "^3.8.6", + "@react-spectrum/slider": "^3.6.9", + "@react-spectrum/statuslight": "^3.5.13", + "@react-spectrum/switch": "^3.5.5", + "@react-spectrum/table": "^3.12.10", + "@react-spectrum/tabs": "^3.8.10", + "@react-spectrum/tag": "^3.2.6", + "@react-spectrum/text": "^3.5.5", + "@react-spectrum/textfield": "^3.12.1", + "@react-spectrum/theme-dark": "^3.5.10", + "@react-spectrum/theme-default": "^3.5.10", + "@react-spectrum/theme-light": "^3.4.10", + "@react-spectrum/tooltip": "^3.6.7", + "@react-spectrum/view": "^3.6.10", + "@react-spectrum/well": "^3.4.13", + "@react-stately/collections": "^3.10.7", + "@react-stately/data": "^3.11.4", + "@react-types/shared": "^3.23.1", + "client-only": "^0.0.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/components/node_modules/@deephaven/icons": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "@fortawesome/fontawesome-common-types": "^6.1.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "^6.2.1", + "@fortawesome/react-fontawesome": "^0.2.0" + } + }, + "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/golden-layout": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/components": "^0.86.0", + "jquery": "^3.6.0", + "nanoid": "^5.0.7" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/log": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "event-target-shim": "^6.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/react-hooks": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "@adobe/react-spectrum": "3.35.1", + "@deephaven/log": "^0.86.0", + "@deephaven/utils": "^0.86.0", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "nanoid": "^5.0.7" + }, + "engines": { + "node": ">=16" }, "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0", - "react-is": ">=16.8.0" + "react": ">=16.8.0" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/components/node_modules/@adobe/react-spectrum": { + "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/react-hooks/node_modules/@adobe/react-spectrum": { "version": "3.35.1", "license": "Apache-2.0", "dependencies": { @@ -32043,47 +30656,44 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/components/node_modules/@deephaven/icons": { + "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/utils": { "version": "0.86.0", "license": "Apache-2.0", - "dependencies": { - "@fortawesome/fontawesome-common-types": "^6.1.1" - }, - "peerDependencies": { - "@fortawesome/fontawesome-svg-core": "^6.2.1", - "@fortawesome/react-fontawesome": "^0.2.0" + "engines": { + "node": ">=16" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/golden-layout": { + "plugins/matplotlib/src/js/node_modules/@deephaven/filters": { "version": "0.86.0", "license": "Apache-2.0", - "dependencies": { - "@deephaven/components": "^0.86.0", - "jquery": "^3.6.0", - "nanoid": "^5.0.7" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" + "engines": { + "node": ">=16" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/log": { - "version": "0.86.0", + "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-bootstrap": { + "version": "0.87.0", "license": "Apache-2.0", "dependencies": { - "event-target-shim": "^6.0.2" + "@deephaven/components": "^0.87.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", + "@deephaven/log": "^0.87.0", + "@deephaven/react-hooks": "^0.87.0", + "@deephaven/utils": "^0.87.0" }, "engines": { "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/react-hooks": { - "version": "0.86.0", + "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-bootstrap/node_modules/@deephaven/react-hooks": { + "version": "0.87.0", "license": "Apache-2.0", "dependencies": { "@adobe/react-spectrum": "3.35.1", - "@deephaven/log": "^0.86.0", - "@deephaven/utils": "^0.86.0", + "@deephaven/log": "^0.87.0", + "@deephaven/utils": "^0.87.0", "lodash.debounce": "^4.0.8", "lodash.throttle": "^4.1.1", "nanoid": "^5.0.7" @@ -32095,7 +30705,7 @@ "react": ">=16.8.0" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/react-hooks/node_modules/@adobe/react-spectrum": { + "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-bootstrap/node_modules/@deephaven/react-hooks/node_modules/@adobe/react-spectrum": { "version": "3.35.1", "license": "Apache-2.0", "dependencies": { @@ -32164,311 +30774,687 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/utils": { + "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-types": { + "version": "1.0.0-dev0.35.2", + "license": "Apache-2.0" + }, + "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-utils": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/filters": "^0.86.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", + "@deephaven/log": "^0.86.0", + "@deephaven/utils": "^0.86.0", + "lodash.clamp": "^4.0.3", + "nanoid": "^5.0.7" + }, + "engines": { + "node": ">=16" + } + }, + "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/log": { "version": "0.86.0", "license": "Apache-2.0", + "dependencies": { + "event-target-shim": "^6.0.2" + }, "engines": { "node": ">=16" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/filters": { + "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/utils": { "version": "0.86.0", "license": "Apache-2.0", "engines": { "node": ">=16" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-bootstrap": { + "plugins/matplotlib/src/js/node_modules/@deephaven/log": { "version": "0.87.0", "license": "Apache-2.0", "dependencies": { - "@deephaven/components": "^0.87.0", + "event-target-shim": "^6.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "plugins/matplotlib/src/js/node_modules/@deephaven/redux": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.87.0", - "@deephaven/react-hooks": "^0.87.0", - "@deephaven/utils": "^0.87.0" + "@deephaven/jsapi-utils": "^0.86.0", + "@deephaven/log": "^0.86.0", + "@deephaven/plugin": "^0.86.0", + "fast-deep-equal": "^3.1.3", + "proxy-memoize": "^3.0.0", + "redux-thunk": "2.4.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "redux": "^4.2.0" + } + }, + "plugins/matplotlib/src/js/node_modules/@deephaven/redux/node_modules/@deephaven/log": { + "version": "0.86.0", + "license": "Apache-2.0", + "dependencies": { + "event-target-shim": "^6.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "plugins/matplotlib/src/js/node_modules/@deephaven/utils": { + "version": "0.87.0", + "license": "Apache-2.0", + "engines": { + "node": ">=16" + } + }, + "plugins/matplotlib/src/js/node_modules/redux-thunk": { + "version": "2.4.1", + "license": "MIT", + "peerDependencies": { + "redux": "^4" + } + }, + "plugins/matplotlib/src/js/node_modules/typescript": { + "version": "4.9.5", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "plugins/plotly-express/src/js": { + "name": "@deephaven/js-plugin-plotly-express", + "version": "0.17.0", + "license": "Apache-2.0", + "dependencies": { + "@deephaven/chart": "^1.2.0", + "@deephaven/components": "^1.2.0", + "@deephaven/dashboard": "^1.2.0", + "@deephaven/dashboard-core-plugins": "^1.2.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/jsapi-bootstrap": "1.2.0", + "@deephaven/jsapi-utils": "1.1.1", + "@deephaven/log": "1.1.0", + "@deephaven/plugin": "^1.2.0", + "@deephaven/redux": "^1.2.0", + "@deephaven/utils": "^1.1.0", + "deep-equal": "^2.2.1", + "memoizee": "^0.4.17", + "nanoid": "^5.0.7", + "plotly.js": "^3.0.0", + "plotly.js-dist-min": "^3.0.0", + "react-plotly.js": "^2.4.0", + "react-redux": "^7.2.9" + }, + "devDependencies": { + "@deephaven/jsapi-types": "^1.0.0-dev0.39.5", + "@deephaven/test-utils": "0.105.0", + "@types/deep-equal": "^1.0.1", + "@types/plotly.js": "^3.0.0", + "@types/plotly.js-dist-min": "^2.3.1", + "@types/react": "^17.0.2", + "@types/react-plotly.js": "^2.6.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "typescript": "^4.5.4" + }, + "peerDependencies": { + "react": "^17.0.2", + "react-dom": "^17.0.2" + } + }, + "plugins/plotly-express/src/js/node_modules/@deephaven/chart": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-1.2.0.tgz", + "integrity": "sha512-8zATwW1Vfd02AeqLrxbVzTCyEVyIXhiiwuMwxNLiF5xQ30HrpiLtoNShZfbYFzLp86/iPEMhQ3K51maIL5K7nQ==", + "dependencies": { + "@deephaven/components": "^1.2.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/jsapi-utils": "^1.1.1", + "@deephaven/log": "^1.1.0", + "@deephaven/react-hooks": "^1.2.0", + "@deephaven/utils": "^1.1.0", + "buffer": "^6.0.3", + "fast-deep-equal": "^3.1.3", + "lodash.debounce": "^4.0.8", + "lodash.set": "^4.3.2", + "memoize-one": "^5.1.1", + "memoizee": "^0.4.15", + "plotly.js": "^3.0.0", + "prop-types": "^15.7.2", + "react-plotly.js": "^2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "plugins/plotly-express/src/js/node_modules/@deephaven/chart/node_modules/@deephaven/react-hooks": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-1.2.0.tgz", + "integrity": "sha512-8CoWWvNv1xNBJBe6HxK2Mnd/oyiVZvPu63gc9gDqGTnhKisHV2IFdiQAIUyS4yFpT/l6Z/i3EmRU2Mfp+Po21A==", + "dependencies": { + "@adobe/react-spectrum": "3.38.0", + "@deephaven/log": "^1.1.0", + "@deephaven/utils": "^1.1.0", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "nanoid": "^5.0.7" }, "engines": { "node": ">=16" }, "peerDependencies": { - "react": ">=16.8.0" + "react": ">=16.8.0" + } + }, + "plugins/plotly-express/src/js/node_modules/@deephaven/chart/node_modules/@deephaven/react-hooks/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==", + "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" + }, + "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" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-bootstrap/node_modules/@deephaven/react-hooks": { - "version": "0.87.0", - "license": "Apache-2.0", + "plugins/plotly-express/src/js/node_modules/@deephaven/components": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-1.2.0.tgz", + "integrity": "sha512-xOh8D34TG1XmrdqSAIAfUbG7jcfhB7Me0l4J7Y44YExkj8KaZtxsdR9ZIb6/BPQLFWUY+ev8wPyZwJowjf1ylA==", "dependencies": { - "@adobe/react-spectrum": "3.35.1", - "@deephaven/log": "^0.87.0", - "@deephaven/utils": "^0.87.0", + "@adobe/react-spectrum": "3.38.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/log": "^1.1.0", + "@deephaven/react-hooks": "^1.2.0", + "@deephaven/utils": "^1.1.0", + "@fortawesome/fontawesome-svg-core": "^6.2.1", + "@fortawesome/react-fontawesome": "^0.2.0", + "@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", + "bootstrap": "4.6.2", + "classnames": "^2.3.1", + "event-target-shim": "^6.0.2", + "lodash.clamp": "^4.0.3", "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "nanoid": "^5.0.7" + "lodash.flatten": "^4.4.0", + "memoizee": "^0.4.15", + "nanoid": "^5.0.7", + "popper.js": "^1.16.1", + "prop-types": "^15.7.2", + "react-beautiful-dnd": "^13.1.0", + "react-reverse-portal": "^2.3.0", + "react-transition-group": "^4.4.2", + "react-virtualized-auto-sizer": "1.0.6", + "react-window": "^1.8.6" }, "engines": { - "node": ">=16" + "node": ">=10" }, "peerDependencies": { - "react": ">=16.8.0" + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-is": ">=16.8.0" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-bootstrap/node_modules/@deephaven/react-hooks/node_modules/@adobe/react-spectrum": { - "version": "3.35.1", - "license": "Apache-2.0", + "plugins/plotly-express/src/js/node_modules/@deephaven/components/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==", "dependencies": { - "@internationalized/string": "^3.2.3", - "@react-aria/i18n": "^3.11.1", - "@react-aria/ssr": "^3.9.4", - "@react-aria/utils": "^3.24.1", - "@react-aria/visually-hidden": "^3.8.12", - "@react-spectrum/actionbar": "^3.4.5", - "@react-spectrum/actiongroup": "^3.10.5", - "@react-spectrum/avatar": "^3.0.12", - "@react-spectrum/badge": "^3.1.13", - "@react-spectrum/breadcrumbs": "^3.9.7", - "@react-spectrum/button": "^3.16.4", - "@react-spectrum/buttongroup": "^3.6.13", - "@react-spectrum/calendar": "^3.4.9", - "@react-spectrum/checkbox": "^3.9.6", - "@react-spectrum/combobox": "^3.12.5", - "@react-spectrum/contextualhelp": "^3.6.11", - "@react-spectrum/datepicker": "^3.9.6", - "@react-spectrum/dialog": "^3.8.11", - "@react-spectrum/divider": "^3.5.13", - "@react-spectrum/dnd": "^3.3.10", - "@react-spectrum/dropzone": "^3.0.1", - "@react-spectrum/filetrigger": "^3.0.1", - "@react-spectrum/form": "^3.7.6", - "@react-spectrum/icon": "^3.7.13", - "@react-spectrum/illustratedmessage": "^3.5.1", - "@react-spectrum/image": "^3.5.1", - "@react-spectrum/inlinealert": "^3.2.5", - "@react-spectrum/labeledvalue": "^3.1.14", - "@react-spectrum/layout": "^3.6.5", - "@react-spectrum/link": "^3.6.7", - "@react-spectrum/list": "^3.7.10", - "@react-spectrum/listbox": "^3.12.9", - "@react-spectrum/menu": "^3.19.1", - "@react-spectrum/meter": "^3.5.1", - "@react-spectrum/numberfield": "^3.9.3", - "@react-spectrum/overlays": "^5.6.1", - "@react-spectrum/picker": "^3.14.5", - "@react-spectrum/progress": "^3.7.7", - "@react-spectrum/provider": "^3.9.7", - "@react-spectrum/radio": "^3.7.6", - "@react-spectrum/searchfield": "^3.8.6", - "@react-spectrum/slider": "^3.6.9", - "@react-spectrum/statuslight": "^3.5.13", - "@react-spectrum/switch": "^3.5.5", - "@react-spectrum/table": "^3.12.10", - "@react-spectrum/tabs": "^3.8.10", - "@react-spectrum/tag": "^3.2.6", - "@react-spectrum/text": "^3.5.5", - "@react-spectrum/textfield": "^3.12.1", - "@react-spectrum/theme-dark": "^3.5.10", - "@react-spectrum/theme-default": "^3.5.10", - "@react-spectrum/theme-light": "^3.4.10", - "@react-spectrum/tooltip": "^3.6.7", - "@react-spectrum/view": "^3.6.10", - "@react-spectrum/well": "^3.4.13", - "@react-stately/collections": "^3.10.7", - "@react-stately/data": "^3.11.4", - "@react-types/shared": "^3.23.1", + "@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" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.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" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-types": { - "version": "1.0.0-dev0.35.2", - "license": "Apache-2.0" - }, - "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-utils": { - "version": "0.86.0", - "license": "Apache-2.0", + "plugins/plotly-express/src/js/node_modules/@deephaven/components/node_modules/@deephaven/react-hooks": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-1.2.0.tgz", + "integrity": "sha512-8CoWWvNv1xNBJBe6HxK2Mnd/oyiVZvPu63gc9gDqGTnhKisHV2IFdiQAIUyS4yFpT/l6Z/i3EmRU2Mfp+Po21A==", "dependencies": { - "@deephaven/filters": "^0.86.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.86.0", - "@deephaven/utils": "^0.86.0", - "lodash.clamp": "^4.0.3", + "@adobe/react-spectrum": "3.38.0", + "@deephaven/log": "^1.1.0", + "@deephaven/utils": "^1.1.0", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", "nanoid": "^5.0.7" }, "engines": { "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/log": { - "version": "0.86.0", - "license": "Apache-2.0", + "plugins/plotly-express/src/js/node_modules/@deephaven/components/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==", "dependencies": { - "event-target-shim": "^6.0.2" + "@react-types/shared": "^3.26.0" }, - "engines": { - "node": ">=16" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/jsapi-utils/node_modules/@deephaven/utils": { - "version": "0.86.0", - "license": "Apache-2.0", - "engines": { - "node": ">=16" + "plugins/plotly-express/src/js/node_modules/@deephaven/components/node_modules/react-reverse-portal": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-reverse-portal/-/react-reverse-portal-2.3.0.tgz", + "integrity": "sha512-kvbPfLPKg6Y3S6tVq83us2RghvDpOS4GcJxbI7cZ0V0tuzUaSzblRIhVnKLOucfqF4lN/i9oWvEmpEi6bAOYlQ==", + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/log": { - "version": "0.87.0", - "license": "Apache-2.0", + "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-1.2.0.tgz", + "integrity": "sha512-v2JSDzwKIfLKL+hArcOmsWM9reIrBcvsbi51jFK+ChSJDFhIy46Wrrc4xNUJ+UmG2jbU0f/FmHPTikb1KF6dcw==", "dependencies": { - "event-target-shim": "^6.0.2" + "@deephaven/components": "^1.2.0", + "@deephaven/golden-layout": "^1.2.0", + "@deephaven/log": "^1.1.0", + "@deephaven/react-hooks": "^1.2.0", + "@deephaven/redux": "^1.2.0", + "@deephaven/utils": "^1.1.0", + "classnames": "^2.3.1", + "fast-deep-equal": "^3.1.3", + "lodash.ismatch": "^4.1.1", + "lodash.throttle": "^4.1.1", + "memoize-one": "^5.1.1", + "nanoid": "^5.0.7", + "prop-types": "^15.7.2" }, "engines": { "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-redux": "^7.2.4" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/redux": { - "version": "0.86.0", - "license": "Apache-2.0", - "dependencies": { - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.86.0", - "@deephaven/log": "^0.86.0", - "@deephaven/plugin": "^0.86.0", + "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard-core-plugins": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/dashboard-core-plugins/-/dashboard-core-plugins-1.2.0.tgz", + "integrity": "sha512-G0xxM3rn92tkQNzjBN/vB2JFL7C5igEdKwYD4BOFbU5A/Cv7B2UtkFwWmOZM6HPs0EA3F5cSRI3LUMeU+xsuhg==", + "dependencies": { + "@deephaven/chart": "^1.2.0", + "@deephaven/components": "^1.2.0", + "@deephaven/console": "^1.2.0", + "@deephaven/dashboard": "^1.2.0", + "@deephaven/file-explorer": "^1.2.0", + "@deephaven/filters": "^1.1.0", + "@deephaven/golden-layout": "^1.2.0", + "@deephaven/grid": "^1.2.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/iris-grid": "^1.2.0", + "@deephaven/jsapi-bootstrap": "^1.2.0", + "@deephaven/jsapi-components": "^1.2.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/jsapi-utils": "^1.1.1", + "@deephaven/log": "^1.1.0", + "@deephaven/plugin": "^1.2.0", + "@deephaven/react-hooks": "^1.2.0", + "@deephaven/redux": "^1.2.0", + "@deephaven/storage": "^1.1.0", + "@deephaven/utils": "^1.1.0", + "@fortawesome/react-fontawesome": "^0.2.0", + "classnames": "^2.3.1", "fast-deep-equal": "^3.1.3", - "proxy-memoize": "^3.0.0", - "redux-thunk": "2.4.1" + "lodash.clamp": "^4.0.3", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "memoize-one": "^5.1.1", + "memoizee": "^0.4.15", + "nanoid": "^5.0.7", + "prop-types": "^15.7.2", + "react-markdown": "^8.0.7", + "redux": "^4.2.0", + "redux-thunk": "^2.4.1", + "rehype-mathjax": "^4.0.3", + "remark-gfm": "^3.0.1", + "remark-math": "^5.1.1" }, "engines": { "node": ">=16" }, "peerDependencies": { - "redux": "^4.2.0" + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-redux": "^7.2.4" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/redux/node_modules/@deephaven/log": { - "version": "0.86.0", - "license": "Apache-2.0", + "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/console": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-1.2.0.tgz", + "integrity": "sha512-9cpQ92NUNHYvdrS5jlImCy+RKG7VqR39BRamlvJclFI5cOqK6q5gynhNkmjVZyKqLSLWYSo0175rDK8FSaKRwQ==", "dependencies": { - "event-target-shim": "^6.0.2" + "@astral-sh/ruff-wasm-web": "0.6.4", + "@deephaven/chart": "^1.2.0", + "@deephaven/components": "^1.2.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/jsapi-bootstrap": "^1.2.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/jsapi-utils": "^1.1.1", + "@deephaven/log": "^1.1.0", + "@deephaven/react-hooks": "^1.2.0", + "@deephaven/storage": "^1.1.0", + "@deephaven/utils": "^1.1.0", + "@fortawesome/react-fontawesome": "^0.2.0", + "classnames": "^2.3.1", + "linkifyjs": "^4.1.0", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "memoize-one": "^5.1.1", + "memoizee": "^0.4.15", + "monaco-editor": "^0.43.0", + "nanoid": "^5.0.7", + "papaparse": "5.3.2", + "popper.js": "^1.16.1", + "prop-types": "^15.7.2", + "shell-quote": "^1.7.2" }, "engines": { "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "plugins/matplotlib/src/js/node_modules/@deephaven/utils": { - "version": "0.87.0", - "license": "Apache-2.0", + "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/file-explorer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/file-explorer/-/file-explorer-1.2.0.tgz", + "integrity": "sha512-RFxysUd60R+860aOaj0mz+C6k4e0mD3ifl+ZeV64HFOvwDn/RACofO0nX4fbmBd2xflfxUhwd8PILyEVgKdMXQ==", + "dependencies": { + "@deephaven/components": "^1.2.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/log": "^1.1.0", + "@deephaven/storage": "^1.1.0", + "@deephaven/utils": "^1.1.0", + "@fortawesome/fontawesome-svg-core": "^6.2.1", + "@fortawesome/react-fontawesome": "^0.2.0", + "classnames": "^2.3.1", + "lodash.throttle": "^4.1.1", + "prop-types": "^15.7.2" + }, "engines": { "node": ">=16" - } - }, - "plugins/matplotlib/src/js/node_modules/redux-thunk": { - "version": "2.4.1", - "license": "MIT", + }, "peerDependencies": { - "redux": "^4" + "react": ">=16.8.0" } }, - "plugins/matplotlib/src/js/node_modules/typescript": { - "version": "4.9.5", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/golden-layout": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-1.2.0.tgz", + "integrity": "sha512-ixSaVTqlKiA9pm96ZMldPA7zjT55HuifCoGr4oFB3GHYq3/H1ZKdUb4xGNtJhkxoE/q9ZU3K+jrlGDc2tiDz2g==", + "dependencies": { + "@deephaven/components": "^1.2.0", + "jquery": "^3.6.0", + "nanoid": "^5.0.7" }, - "engines": { - "node": ">=4.2.0" + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "plugins/plotly-express/src/js": { - "name": "@deephaven/js-plugin-plotly-express", - "version": "0.17.0", - "license": "Apache-2.0", + "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/grid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-1.2.0.tgz", + "integrity": "sha512-l3c0R4OR45mWQVk8nxMT5lE6C67Dq9igGbuSCwXfcsivNaLTg4QQQ+7dFmLE0bvAzkkUTXDq62LIt7QajI3w8g==", "dependencies": { - "@deephaven/chart": "0.105.0", - "@deephaven/components": "0.105.0", - "@deephaven/dashboard": "0.105.0", - "@deephaven/dashboard-core-plugins": "0.105.0", - "@deephaven/icons": "0.105.0", - "@deephaven/jsapi-bootstrap": "0.105.0", - "@deephaven/jsapi-utils": "0.105.0", - "@deephaven/log": "0.105.0", - "@deephaven/plugin": "0.105.0", - "@deephaven/redux": "0.105.0", - "@deephaven/utils": "0.105.0", - "deep-equal": "^2.2.1", - "memoizee": "^0.4.17", - "nanoid": "^5.0.7", - "plotly.js": "^2.29.1", - "plotly.js-dist-min": "^2.29.1", - "react-plotly.js": "^2.4.0", - "react-redux": "^7.2.9" + "@deephaven/utils": "^1.1.0", + "classnames": "^2.3.1", + "color-convert": "^2.0.1", + "event-target-shim": "^6.0.2", + "linkifyjs": "^4.1.0", + "lodash.clamp": "^4.0.3", + "memoize-one": "^5.1.1", + "memoizee": "^0.4.15", + "prop-types": "^15.7.2" }, - "devDependencies": { - "@deephaven/jsapi-types": "1.0.0-dev0.38.0", - "@deephaven/test-utils": "0.105.0", - "@types/deep-equal": "^1.0.1", - "@types/plotly.js": "^2.12.18", - "@types/plotly.js-dist-min": "^2.3.1", - "@types/react": "^17.0.2", - "@types/react-plotly.js": "^2.6.0", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "typescript": "^4.5.4" + "engines": { + "node": ">=16" }, "peerDependencies": { - "react": "^17.0.2", - "react-dom": "^17.0.2" + "react": ">=16.8.0" } }, - "plugins/plotly-express/src/js/node_modules/@deephaven/components": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.105.0.tgz", - "integrity": "sha512-Zp9zIx47O157xpwGfp6vSq4XbMMseYNqVS0LCKXUpNHuoBsxSGsGwrQlciJ4Dw+4bzxN+AfNoOwbPJ5AjMVR6Q==", + "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/iris-grid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-1.2.0.tgz", + "integrity": "sha512-zIoL4+SRix/ucGwkKZeXrvoWSwTZoKfGNAzlM1ib2oyGPq7aXul9TXFFdyUH1Vtch3EUleh3WhaVBySLg/cXtQ==", "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "@fortawesome/fontawesome-svg-core": "^6.2.1", + "@deephaven/components": "^1.2.0", + "@deephaven/console": "^1.2.0", + "@deephaven/filters": "^1.1.0", + "@deephaven/grid": "^1.2.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/jsapi-components": "^1.2.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/jsapi-utils": "^1.1.1", + "@deephaven/log": "^1.1.0", + "@deephaven/react-hooks": "^1.2.0", + "@deephaven/storage": "^1.1.0", + "@deephaven/utils": "^1.1.0", + "@dnd-kit/core": "^6.1.0", + "@dnd-kit/sortable": "^7.0.2", + "@dnd-kit/utilities": "^3.2.2", "@fortawesome/react-fontawesome": "^0.2.0", - "@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", - "bootstrap": "4.6.2", "classnames": "^2.3.1", - "event-target-shim": "^6.0.2", + "fast-deep-equal": "^3.1.3", "lodash.clamp": "^4.0.3", "lodash.debounce": "^4.0.8", - "lodash.flatten": "^4.4.0", + "lodash.throttle": "^4.1.1", + "memoize-one": "^5.1.1", "memoizee": "^0.4.15", + "monaco-editor": "^0.43.0", "nanoid": "^5.0.7", - "popper.js": "^1.16.1", "prop-types": "^15.7.2", "react-beautiful-dnd": "^13.1.0", - "react-transition-group": "^4.4.2", - "react-virtualized-auto-sizer": "1.0.6", - "react-window": "^1.8.6" + "react-transition-group": "^4.4.2" }, "engines": { "node": ">=10" }, "peerDependencies": { "react": ">=16.8.0", - "react-dom": ">=16.8.0", - "react-is": ">=16.8.0" + "react-dom": ">=16.8.0" } }, - "plugins/plotly-express/src/js/node_modules/@deephaven/components/node_modules/@adobe/react-spectrum": { + "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/jsapi-components": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-1.2.0.tgz", + "integrity": "sha512-acmrnm8qouKg9r9AxE3KwdacDtn8u9D1yiQgjlu8DOX+k3p+J/R2VNE591hVagaNdUc30Y2HIFmv8s/3KHYRog==", + "dependencies": { + "@deephaven/components": "^1.2.0", + "@deephaven/jsapi-bootstrap": "^1.2.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/jsapi-utils": "^1.1.1", + "@deephaven/log": "^1.1.0", + "@deephaven/react-hooks": "^1.2.0", + "@deephaven/utils": "^1.1.0", + "@types/js-cookie": "^3.0.3", + "classnames": "^2.3.2", + "js-cookie": "^3.0.5", + "lodash.debounce": "^4.0.8", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/react-hooks": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-1.2.0.tgz", + "integrity": "sha512-8CoWWvNv1xNBJBe6HxK2Mnd/oyiVZvPu63gc9gDqGTnhKisHV2IFdiQAIUyS4yFpT/l6Z/i3EmRU2Mfp+Po21A==", + "dependencies": { + "@adobe/react-spectrum": "3.38.0", + "@deephaven/log": "^1.1.0", + "@deephaven/utils": "^1.1.0", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "nanoid": "^5.0.7" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/react-hooks/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==", @@ -32540,17 +31526,14 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, - "plugins/plotly-express/src/js/node_modules/@deephaven/components/node_modules/@deephaven/react-hooks": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.105.0.tgz", - "integrity": "sha512-pcbYdyg2wdH8U8wTeAmmJbfShw7CdAaGfjgVJbjqRbxK1xLNOuIa6w7p9UCVA6i1BjSHKR59Lxwr+j/QrWpQBQ==", + "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard-core-plugins/node_modules/@deephaven/storage": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-1.1.0.tgz", + "integrity": "sha512-H/ggOTHagkO8ghvbqllS87wH/My4Ob6dppP8UjakoOax560VOXUh0d2w23OHW97PvoeVK+MJlNXnLahJQtgVqg==", "dependencies": { - "@adobe/react-spectrum": "3.38.0", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "nanoid": "^5.0.7" + "@deephaven/filters": "^1.1.0", + "@deephaven/log": "^1.1.0", + "lodash.throttle": "^4.1.1" }, "engines": { "node": ">=16" @@ -32559,49 +31542,12 @@ "react": ">=16.8.0" } }, - "plugins/plotly-express/src/js/node_modules/@deephaven/components/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==", - "dependencies": { - "@react-types/shared": "^3.26.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" - } - }, - "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-0.105.0.tgz", - "integrity": "sha512-SqomGGoRE0c1Wst3umHtn+1QfLJ5jwgTJXsFKcFIUa6FEfZcoQAqCN985exihcry/GK/KIz4kLuuKg7s8J506A==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/golden-layout": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/redux": "^0.105.0", - "@deephaven/utils": "^0.105.0", - "fast-deep-equal": "^3.1.3", - "lodash.ismatch": "^4.1.1", - "lodash.throttle": "^4.1.1", - "nanoid": "^5.0.7", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0", - "react-redux": "^7.2.4" - } - }, "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/golden-layout": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.105.0.tgz", - "integrity": "sha512-NbPADsYf/+Dts1HX48Cpr0RCX4gA3SX72/PoY22D+5vTfeqELFSK4WnBL6w+oPeHWw9YBgh6lJnnq230Fxjh9w==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-1.2.0.tgz", + "integrity": "sha512-ixSaVTqlKiA9pm96ZMldPA7zjT55HuifCoGr4oFB3GHYq3/H1ZKdUb4xGNtJhkxoE/q9ZU3K+jrlGDc2tiDz2g==", "dependencies": { - "@deephaven/components": "^0.105.0", + "@deephaven/components": "^1.2.0", "jquery": "^3.6.0", "nanoid": "^5.0.7" }, @@ -32611,13 +31557,13 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/dashboard/node_modules/@deephaven/react-hooks": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.105.0.tgz", - "integrity": "sha512-pcbYdyg2wdH8U8wTeAmmJbfShw7CdAaGfjgVJbjqRbxK1xLNOuIa6w7p9UCVA6i1BjSHKR59Lxwr+j/QrWpQBQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-1.2.0.tgz", + "integrity": "sha512-8CoWWvNv1xNBJBe6HxK2Mnd/oyiVZvPu63gc9gDqGTnhKisHV2IFdiQAIUyS4yFpT/l6Z/i3EmRU2Mfp+Po21A==", "dependencies": { "@adobe/react-spectrum": "3.38.0", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@deephaven/log": "^1.1.0", + "@deephaven/utils": "^1.1.0", "lodash.debounce": "^4.0.8", "lodash.throttle": "^4.1.1", "nanoid": "^5.0.7" @@ -32701,10 +31647,18 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, + "plugins/plotly-express/src/js/node_modules/@deephaven/filters": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-1.1.0.tgz", + "integrity": "sha512-SMWKYT8aFtZ/CyVUtUiF1/RPQGl4Y6dvNG43KvmIMKKMXYqhliKD291aynYSl7C8IafkHNzdDtdAZPgPXLoOWA==", + "engines": { + "node": ">=16" + } + }, "plugins/plotly-express/src/js/node_modules/@deephaven/icons": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.105.0.tgz", - "integrity": "sha512-/h5wISmDcENxWppnRD9aKxBXxGcoupP4midOiSliDNEmRJ/+EfgQNAjznHS7VWc4JG0HQDCs0Jn0JDJXdoLgRw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-1.2.0.tgz", + "integrity": "sha512-esxuQcRjQxuu+AycLIB7TWNDDGReDuol6KMx6LpcVHMx6AHp8Zm/u90qHyDrzDSJ6bhBTM6ZNEscWzWL58WUzg==", "dependencies": { "@fortawesome/fontawesome-common-types": "^6.1.1" }, @@ -32714,15 +31668,15 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/jsapi-bootstrap": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.105.0.tgz", - "integrity": "sha512-guf0ClmlASZdqOVWkbz+BsSBw3SK5CJ082DclGPYjYiRYhMbUrOORSaxYntSR7Y6jOePSpP7STf2j3Ye6GSZUg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-1.2.0.tgz", + "integrity": "sha512-KGhyebqhufveTrg7P/LlJvZbeL/mW2P80WUgPDPvY0S2yRvRTZd970aNSf6/aF9pplmGAO+NSBsrX7jJK4gA+A==", "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0" + "@deephaven/components": "^1.2.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/log": "^1.1.0", + "@deephaven/react-hooks": "^1.2.0", + "@deephaven/utils": "^1.1.0" }, "engines": { "node": ">=16" @@ -32732,13 +31686,13 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/jsapi-bootstrap/node_modules/@deephaven/react-hooks": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.105.0.tgz", - "integrity": "sha512-pcbYdyg2wdH8U8wTeAmmJbfShw7CdAaGfjgVJbjqRbxK1xLNOuIa6w7p9UCVA6i1BjSHKR59Lxwr+j/QrWpQBQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-1.2.0.tgz", + "integrity": "sha512-8CoWWvNv1xNBJBe6HxK2Mnd/oyiVZvPu63gc9gDqGTnhKisHV2IFdiQAIUyS4yFpT/l6Z/i3EmRU2Mfp+Po21A==", "dependencies": { "@adobe/react-spectrum": "3.38.0", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@deephaven/log": "^1.1.0", + "@deephaven/utils": "^1.1.0", "lodash.debounce": "^4.0.8", "lodash.throttle": "^4.1.1", "nanoid": "^5.0.7" @@ -32823,19 +31777,19 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/jsapi-types": { - "version": "1.0.0-dev0.38.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.38.0.tgz", - "integrity": "sha512-g7CNe89hfAQXTOQ4MrCFTdusK6Q/kbuxH7zGUGiGSfxu8t0RiJohSy1luIlvBTT22KOHBdt0sTnlU4emN3lRIg==" + "version": "1.0.0-dev0.39.5", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.39.5.tgz", + "integrity": "sha512-R3YjoTj22+d4r/yl4haq40Ep5uV2Xk7xnqZX7N1Ah/9ARPvoi7O0afv+OZQoALpWChhuhk3PvlBgpCW7AbnmoQ==" }, "plugins/plotly-express/src/js/node_modules/@deephaven/jsapi-utils": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.105.0.tgz", - "integrity": "sha512-Z2iHYxbWEw/moMgc8/gY8wACOzqTrODKAt8yOiKkh/pVnVqNOdtetjJtguLN2oZwQf3vch2oB6MKIJKGjM7nMQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-1.1.1.tgz", + "integrity": "sha512-G2GBxIBwtZrGw4TKYMQcvIiYA21NYYxrN1lNOp+8SVuTMI88DVJP/ap8UHTucckWex0P4WBz11XockXvLV5KUA==", "dependencies": { - "@deephaven/filters": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@deephaven/filters": "^1.1.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/log": "^1.1.0", + "@deephaven/utils": "^1.1.0", "lodash.clamp": "^4.0.3", "nanoid": "^5.0.7" }, @@ -32844,9 +31798,9 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/log": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.105.0.tgz", - "integrity": "sha512-Opfjo/us3iS5QJF0QH/kM3vTXRJnt5XZy951v7eoEr00eUF2XjQ3Jsvz8ypNYwXvz2U5FhY4Njy1IE++hvh5OA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-1.1.0.tgz", + "integrity": "sha512-07Ww5o1iA9M65KoyHTfHTmCnzGIa/5OVP29pyP+FGmaXXMgujdvFRPfLHki0EeW92WOttXfK51kjDyzkBcs11Q==", "dependencies": { "event-target-shim": "^6.0.2", "jszip": "^3.10.1" @@ -32856,20 +31810,21 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/plugin": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.105.0.tgz", - "integrity": "sha512-P6HH0Y7sDes2I8vS7LhyVmx9R+qIJ/uWgWBwPNXFFOKwzQIbtsjEXt1KeD1MK5QNT50aua/AKWVu872X0nqEAQ==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/golden-layout": "^0.105.0", - "@deephaven/grid": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/iris-grid": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-1.2.0.tgz", + "integrity": "sha512-sZZqHt3KuAQNzk4t+DED+pdssQTu61ALEBagZTnojBgUWS31eIhiB3ZuugjtpG0VD2fbjeVqyHTbOZOFtfPG9A==", + "dependencies": { + "@deephaven/components": "^1.2.0", + "@deephaven/golden-layout": "^1.2.0", + "@deephaven/grid": "^1.2.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/iris-grid": "^1.2.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/log": "^1.1.0", + "@deephaven/react-hooks": "^1.2.0", "@fortawesome/fontawesome-common-types": "^6.1.1", - "@fortawesome/react-fontawesome": "^0.2.0" + "@fortawesome/react-fontawesome": "^0.2.0", + "nanoid": "^5.0.7" }, "engines": { "node": ">=16" @@ -32879,11 +31834,11 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/plugin/node_modules/@deephaven/golden-layout": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.105.0.tgz", - "integrity": "sha512-NbPADsYf/+Dts1HX48Cpr0RCX4gA3SX72/PoY22D+5vTfeqELFSK4WnBL6w+oPeHWw9YBgh6lJnnq230Fxjh9w==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-1.2.0.tgz", + "integrity": "sha512-ixSaVTqlKiA9pm96ZMldPA7zjT55HuifCoGr4oFB3GHYq3/H1ZKdUb4xGNtJhkxoE/q9ZU3K+jrlGDc2tiDz2g==", "dependencies": { - "@deephaven/components": "^0.105.0", + "@deephaven/components": "^1.2.0", "jquery": "^3.6.0", "nanoid": "^5.0.7" }, @@ -32893,11 +31848,11 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/plugin/node_modules/@deephaven/grid": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.105.0.tgz", - "integrity": "sha512-GFvNWqj9nfEotGW1Q4YfuuwfIdbbiamGd3cecekS7S9ZOLjObwPMuW/WAn0ZIevlVdxxOCv4yJuQZXfFeta4ew==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-1.2.0.tgz", + "integrity": "sha512-l3c0R4OR45mWQVk8nxMT5lE6C67Dq9igGbuSCwXfcsivNaLTg4QQQ+7dFmLE0bvAzkkUTXDq62LIt7QajI3w8g==", "dependencies": { - "@deephaven/utils": "^0.105.0", + "@deephaven/utils": "^1.1.0", "classnames": "^2.3.1", "color-convert": "^2.0.1", "event-target-shim": "^6.0.2", @@ -32915,22 +31870,22 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/plugin/node_modules/@deephaven/iris-grid": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.105.0.tgz", - "integrity": "sha512-2ZzMfmjYQBTG8YQWFtGlAgY4cMTWlvluhQLyQ10US245d7Y+E0bR/1yF7Vl2D0FwVO7J3bmgwpS8wDjxFjJepg==", - "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/console": "^0.105.0", - "@deephaven/filters": "^0.105.0", - "@deephaven/grid": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/jsapi-components": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/storage": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-1.2.0.tgz", + "integrity": "sha512-zIoL4+SRix/ucGwkKZeXrvoWSwTZoKfGNAzlM1ib2oyGPq7aXul9TXFFdyUH1Vtch3EUleh3WhaVBySLg/cXtQ==", + "dependencies": { + "@deephaven/components": "^1.2.0", + "@deephaven/console": "^1.2.0", + "@deephaven/filters": "^1.1.0", + "@deephaven/grid": "^1.2.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/jsapi-components": "^1.2.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/jsapi-utils": "^1.1.1", + "@deephaven/log": "^1.1.0", + "@deephaven/react-hooks": "^1.2.0", + "@deephaven/storage": "^1.1.0", + "@deephaven/utils": "^1.1.0", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.2", @@ -32957,21 +31912,21 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/plugin/node_modules/@deephaven/iris-grid/node_modules/@deephaven/console": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.105.0.tgz", - "integrity": "sha512-CiwERTO4coP75vjwFCV8H8rADHO8lqKPIg5EXqblc9xdFNg7Vs3OPM5bLBgrwCS72YnlNUsVt442fTm8cDlQag==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-1.2.0.tgz", + "integrity": "sha512-9cpQ92NUNHYvdrS5jlImCy+RKG7VqR39BRamlvJclFI5cOqK6q5gynhNkmjVZyKqLSLWYSo0175rDK8FSaKRwQ==", "dependencies": { "@astral-sh/ruff-wasm-web": "0.6.4", - "@deephaven/chart": "^0.105.0", - "@deephaven/components": "^0.105.0", - "@deephaven/icons": "^0.105.0", - "@deephaven/jsapi-bootstrap": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/storage": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@deephaven/chart": "^1.2.0", + "@deephaven/components": "^1.2.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/jsapi-bootstrap": "^1.2.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/jsapi-utils": "^1.1.1", + "@deephaven/log": "^1.1.0", + "@deephaven/react-hooks": "^1.2.0", + "@deephaven/storage": "^1.1.0", + "@deephaven/utils": "^1.1.0", "@fortawesome/react-fontawesome": "^0.2.0", "classnames": "^2.3.1", "linkifyjs": "^4.1.0", @@ -32995,17 +31950,17 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/plugin/node_modules/@deephaven/iris-grid/node_modules/@deephaven/jsapi-components": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.105.0.tgz", - "integrity": "sha512-2vbNQNk52iByOc7dX1MtNQYYjZIf09wds+Bnf4+ae/5goc07VsbaSnWRDbf41m0RGp9dmebD2AMDpIQrjtQPjw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-1.2.0.tgz", + "integrity": "sha512-acmrnm8qouKg9r9AxE3KwdacDtn8u9D1yiQgjlu8DOX+k3p+J/R2VNE591hVagaNdUc30Y2HIFmv8s/3KHYRog==", "dependencies": { - "@deephaven/components": "^0.105.0", - "@deephaven/jsapi-bootstrap": "^0.105.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.105.0", - "@deephaven/log": "^0.105.0", - "@deephaven/react-hooks": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@deephaven/components": "^1.2.0", + "@deephaven/jsapi-bootstrap": "^1.2.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/jsapi-utils": "^1.1.1", + "@deephaven/log": "^1.1.0", + "@deephaven/react-hooks": "^1.2.0", + "@deephaven/utils": "^1.1.0", "@types/js-cookie": "^3.0.3", "classnames": "^2.3.2", "js-cookie": "^3.0.5", @@ -33020,12 +31975,12 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/plugin/node_modules/@deephaven/iris-grid/node_modules/@deephaven/storage": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.105.0.tgz", - "integrity": "sha512-7wUIw/PbRQ8x45kvA0ou7RUtnHW2+yvuAMF39FPcRPGwstrS6leLMmk8RPqeEhH5JPsv2eMdFkIU7pZN52EiKA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-1.1.0.tgz", + "integrity": "sha512-H/ggOTHagkO8ghvbqllS87wH/My4Ob6dppP8UjakoOax560VOXUh0d2w23OHW97PvoeVK+MJlNXnLahJQtgVqg==", "dependencies": { - "@deephaven/filters": "^0.105.0", - "@deephaven/log": "^0.105.0", + "@deephaven/filters": "^1.1.0", + "@deephaven/log": "^1.1.0", "lodash.throttle": "^4.1.1" }, "engines": { @@ -33036,13 +31991,13 @@ } }, "plugins/plotly-express/src/js/node_modules/@deephaven/plugin/node_modules/@deephaven/react-hooks": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.105.0.tgz", - "integrity": "sha512-pcbYdyg2wdH8U8wTeAmmJbfShw7CdAaGfjgVJbjqRbxK1xLNOuIa6w7p9UCVA6i1BjSHKR59Lxwr+j/QrWpQBQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-1.2.0.tgz", + "integrity": "sha512-8CoWWvNv1xNBJBe6HxK2Mnd/oyiVZvPu63gc9gDqGTnhKisHV2IFdiQAIUyS4yFpT/l6Z/i3EmRU2Mfp+Po21A==", "dependencies": { "@adobe/react-spectrum": "3.38.0", - "@deephaven/log": "^0.105.0", - "@deephaven/utils": "^0.105.0", + "@deephaven/log": "^1.1.0", + "@deephaven/utils": "^1.1.0", "lodash.debounce": "^4.0.8", "lodash.throttle": "^4.1.1", "nanoid": "^5.0.7" @@ -33126,14 +32081,222 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, + "plugins/plotly-express/src/js/node_modules/@deephaven/redux": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-1.2.0.tgz", + "integrity": "sha512-44xT2bJb3UHSDLWh8n3JTZUCuNXk8eyrywWfBDnL8PWVEmamp02WnlZeyekep+lRxO2H2Hioi0i5VdngN9ddDQ==", + "dependencies": { + "@deephaven/jsapi-types": "^1.0.0-dev0.39.4", + "@deephaven/jsapi-utils": "^1.1.1", + "@deephaven/log": "^1.1.0", + "@deephaven/plugin": "^1.2.0", + "fast-deep-equal": "^3.1.3", + "proxy-memoize": "^3.0.0", + "redux-thunk": "2.4.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "redux": "^4.2.0" + } + }, "plugins/plotly-express/src/js/node_modules/@deephaven/utils": { - "version": "0.105.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.105.0.tgz", - "integrity": "sha512-25mu+Lvo2mC/XC7ES6N4qsrUt0wfxnno8ZqD9QLPn1HDW3LhUccnkXaCDZ6xbd2GfxqEPpY+27dKVWKkBTg/wg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-1.1.0.tgz", + "integrity": "sha512-GIEwXa5fdq2RWF2kx9YSu12mqhpt15YY4Z3pbdfZFMbLw/ilPZKVhpJK/twlFFo69ruwcetwORrVS2SKW4ng2g==", + "dependencies": { + "@deephaven/log": "^1.1.0", + "nanoid": "^5.0.7" + }, "engines": { "node": ">=16" } }, + "plugins/plotly-express/src/js/node_modules/@types/mathjax": { + "version": "0.0.37", + "resolved": "https://registry.npmjs.org/@types/mathjax/-/mathjax-0.0.37.tgz", + "integrity": "sha512-y0WSZBtBNQwcYipTU/BhgeFu1EZNlFvUNCmkMXV9kBQZq7/o5z82dNVyH3yy2Xv5zzeNeQoHSL4Xm06+EQiH+g==" + }, + "plugins/plotly-express/src/js/node_modules/@types/plotly.js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/plotly.js/-/plotly.js-3.0.0.tgz", + "integrity": "sha512-WiUzfUh5Mn7+ySbuh2j0fIr7AtLmPzfu/zjtjVx4mftbuZonkQ6UqwylO9F1LqM9+PXZM8XYtyovIHw8cE+4ug==", + "dev": true + }, + "plugins/plotly-express/src/js/node_modules/color-rgba": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-3.0.0.tgz", + "integrity": "sha512-PPwZYkEY3M2THEHHV6Y95sGUie77S7X8v+h1r6LSAPF3/LL2xJ8duUXSrkic31Nzc4odPwHgUbiX/XuTYzQHQg==", + "dependencies": { + "color-parse": "^2.0.0", + "color-space": "^2.0.0" + } + }, + "plugins/plotly-express/src/js/node_modules/color-space": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/color-space/-/color-space-2.3.1.tgz", + "integrity": "sha512-5DJdKYwoDji3ik/i0xSn+SiwXsfwr+1FEcCMUz2GS5speGCfGSbBMOLd84SDUBOuX8y4CvdFJmOBBJuC4wp7sQ==" + }, + "plugins/plotly-express/src/js/node_modules/hast-util-from-dom": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-4.2.0.tgz", + "integrity": "sha512-t1RJW/OpJbCAJQeKi3Qrj1cAOLA0+av/iPFori112+0X7R3wng+jxLA+kXec8K4szqPRGI8vPxbbpEYvvpwaeQ==", + "dependencies": { + "hastscript": "^7.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "plugins/plotly-express/src/js/node_modules/hast-util-is-element": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz", + "integrity": "sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "plugins/plotly-express/src/js/node_modules/hast-util-parse-selector": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", + "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "plugins/plotly-express/src/js/node_modules/hast-util-to-text": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-3.1.2.tgz", + "integrity": "sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "hast-util-is-element": "^2.0.0", + "unist-util-find-after": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "plugins/plotly-express/src/js/node_modules/hastscript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", + "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "plugins/plotly-express/src/js/node_modules/plotly.js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-3.0.1.tgz", + "integrity": "sha512-eWEUkqdv4sblmUQJ7xGlEA+LghzEVPJOlPBZMJuagG0CsQxlmBb+7rd0UFVig5jhRnN8PQqRQaLv6qXIjnvzgg==", + "dependencies": { + "@plotly/d3": "3.8.2", + "@plotly/d3-sankey": "0.7.2", + "@plotly/d3-sankey-circular": "0.33.1", + "@plotly/mapbox-gl": "1.13.4", + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/centroid": "^7.1.0", + "base64-arraybuffer": "^1.0.2", + "canvas-fit": "^1.5.0", + "color-alpha": "1.0.4", + "color-normalize": "1.5.0", + "color-parse": "2.0.0", + "color-rgba": "3.0.0", + "country-regex": "^1.1.0", + "css-loader": "^7.1.2", + "d3-force": "^1.2.1", + "d3-format": "^1.4.5", + "d3-geo": "^1.12.1", + "d3-geo-projection": "^2.9.0", + "d3-hierarchy": "^1.1.9", + "d3-interpolate": "^3.0.1", + "d3-time": "^1.1.0", + "d3-time-format": "^2.2.3", + "esbuild-style-plugin": "^1.6.3", + "fast-isnumeric": "^1.1.4", + "gl-mat4": "^1.2.0", + "gl-text": "^1.4.0", + "has-hover": "^1.0.1", + "has-passive-events": "^1.0.0", + "is-mobile": "^4.0.0", + "maplibre-gl": "^4.7.1", + "mouse-change": "^1.4.0", + "mouse-event-offset": "^3.0.2", + "mouse-wheel": "^1.2.0", + "native-promise-only": "^0.8.1", + "parse-svg-path": "^0.1.2", + "point-in-polygon": "^1.1.0", + "polybooljs": "^1.2.2", + "probe-image-size": "^7.2.3", + "regl": "npm:@plotly/regl@^2.1.2", + "regl-error2d": "^2.0.12", + "regl-line2d": "^3.1.3", + "regl-scatter2d": "^3.3.1", + "regl-splom": "^1.0.14", + "strongly-connected-components": "^1.0.1", + "style-loader": "^4.0.0", + "superscript-text": "^1.0.0", + "svg-path-sdf": "^1.1.3", + "tinycolor2": "^1.4.2", + "to-px": "1.0.1", + "topojson-client": "^3.1.0", + "webgl-context": "^2.2.0", + "world-calendars": "^1.0.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "plugins/plotly-express/src/js/node_modules/redux-thunk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.1.tgz", + "integrity": "sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==", + "peerDependencies": { + "redux": "^4" + } + }, + "plugins/plotly-express/src/js/node_modules/rehype-mathjax": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/rehype-mathjax/-/rehype-mathjax-4.0.3.tgz", + "integrity": "sha512-QIwWH9U+r54nMQklVkT1qluxhKyzdPWz9dFwgel3BrseQsWZafRTDTUj8VR8/14nFuRIV2ChuCMz4zpACPoYvg==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mathjax": "^0.0.37", + "hast-util-from-dom": "^4.0.0", + "hast-util-to-text": "^3.1.0", + "jsdom": "^20.0.0", + "mathjax-full": "^3.0.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "plugins/plotly-express/src/js/node_modules/typescript": { "version": "4.9.5", "dev": true, @@ -33146,6 +32309,28 @@ "node": ">=4.2.0" } }, + "plugins/plotly-express/src/js/node_modules/unist-util-find-after": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-4.0.1.tgz", + "integrity": "sha512-QO/PuPMm2ERxC6vFXEPtmAutOopy5PknD+Oq64gGwxKtk4xwo9Z97t9Av1obPmGU0IyTa6EKYUfTrK2QJS3Ozw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "plugins/plotly-express/src/js/node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "plugins/simple-pivot/src/js": { "name": "@deephaven/js-plugin-simple-pivot", "version": "0.0.3-dev.2", diff --git a/plugins/auth-keycloak/src/js/package.json b/plugins/auth-keycloak/src/js/package.json index a3e98a0f3..09f7e61d2 100644 --- a/plugins/auth-keycloak/src/js/package.json +++ b/plugins/auth-keycloak/src/js/package.json @@ -27,7 +27,6 @@ "update-dh-packages": "node ../../../../tools/update-dh-packages.mjs" }, "devDependencies": { - "@types/plotly.js": "^2.12.18", "@types/react": "^17.0.2", "react": "^17.0.2", "typescript": "^4.5.4" diff --git a/plugins/plotly-express/setup.cfg b/plugins/plotly-express/setup.cfg index 2c3a198a8..6c0d4c462 100644 --- a/plugins/plotly-express/setup.cfg +++ b/plugins/plotly-express/setup.cfg @@ -27,7 +27,7 @@ packages=find_namespace: install_requires = deephaven-core>=0.37.6 deephaven-plugin>=0.6.0 - plotly>=5.15.0,<6.0.0 + plotly>=6.0.0,<7.0.0 deephaven-plugin-utilities>=0.0.2 typing_extensions;python_version<'3.11' jpy diff --git a/plugins/plotly-express/src/deephaven/plot/express/__init__.py b/plugins/plotly-express/src/deephaven/plot/express/__init__.py index 3dd82122c..24ec4fbdf 100644 --- a/plugins/plotly-express/src/deephaven/plot/express/__init__.py +++ b/plugins/plotly-express/src/deephaven/plot/express/__init__.py @@ -43,6 +43,9 @@ line_mapbox, density_heatmap, indicator, + scatter_map, + density_map, + line_map, ) from .data import data_generators diff --git a/plugins/plotly-express/src/deephaven/plot/express/deephaven_figure/custom_draw.py b/plugins/plotly-express/src/deephaven/plot/express/deephaven_figure/custom_draw.py index 0af774075..9316b4518 100644 --- a/plugins/plotly-express/src/deephaven/plot/express/deephaven_figure/custom_draw.py +++ b/plugins/plotly-express/src/deephaven/plot/express/deephaven_figure/custom_draw.py @@ -6,7 +6,7 @@ from pandas import DataFrame import plotly.graph_objects as go from plotly.graph_objects import Figure -from plotly.validators.heatmap import ColorscaleValidator +from plotly.validator_cache import ValidatorCache # attach a prefix to the number format so that we can identify it as the GWT Java NumberFormat syntax # https://www.gwtproject.org/javadoc/latest/com/google/gwt/i18n/client/NumberFormat.html @@ -57,10 +57,10 @@ def draw_finance( data.append( go_func( x=data_frame[x_f], - open=data_frame[open], - high=data_frame[high], - low=data_frame[low], - close=data_frame[close], + open=data_frame[o], + high=data_frame[h], + low=data_frame[l], + close=data_frame[c], ) ) @@ -185,7 +185,7 @@ def draw_density_heatmap( range_color_list = range_color or [None, None] - colorscale_validator = ColorscaleValidator("colorscale", "draw_density_heatmap") + colorscale_validator = ValidatorCache.get_validator("heatmap", "colorscale") coloraxis_layout = dict( colorscale=colorscale_validator.validate_coerce(color_continuous_scale), @@ -200,7 +200,7 @@ def draw_density_heatmap( heatmap.update_layout( coloraxis1=coloraxis_layout, - title=title, + title_text=title, template=template, xaxis_title=x, yaxis_title=y, @@ -276,7 +276,7 @@ def draw_indicator( fig.update_traces(delta_reference=data_frame[reference][0]) if layout_title: - fig.update_layout(title=layout_title) + fig.update_layout(title_text=layout_title) if title: # This is the title on the indicator trace. This is where it should go by default. diff --git a/plugins/plotly-express/src/deephaven/plot/express/plots/__init__.py b/plugins/plotly-express/src/deephaven/plot/express/plots/__init__.py index de604c716..c83c7e779 100644 --- a/plugins/plotly-express/src/deephaven/plot/express/plots/__init__.py +++ b/plugins/plotly-express/src/deephaven/plot/express/plots/__init__.py @@ -8,6 +8,15 @@ from .pie import pie from ._layer import layer from .subplots import make_subplots -from .maps import scatter_geo, scatter_mapbox, density_mapbox, line_geo, line_mapbox +from .maps import ( + scatter_geo, + scatter_mapbox, + density_mapbox, + line_geo, + line_mapbox, + scatter_map, + density_map, + line_map, +) from .heatmap import density_heatmap from .indicator import indicator diff --git a/plugins/plotly-express/src/deephaven/plot/express/plots/maps.py b/plugins/plotly-express/src/deephaven/plot/express/plots/maps.py index 7d287e478..c39a9bda3 100644 --- a/plugins/plotly-express/src/deephaven/plot/express/plots/maps.py +++ b/plugins/plotly-express/src/deephaven/plot/express/plots/maps.py @@ -1,6 +1,7 @@ from __future__ import annotations from typing import Callable +import warnings from plotly import express as px @@ -159,7 +160,55 @@ def scatter_geo( return process_args(args, {"scatter"}, px_func=px.scatter_geo) -def scatter_mapbox( +def scatter_mapbox(*args, **kwargs) -> DeephavenFigure: + """ + c + """ + warnings.warn( + "scatter_mapbox is deprecated and will be removed in a future release. Use scatter_map instead.", + DeprecationWarning, + stacklevel=2, + ) + + if "style_mapbox" in kwargs: + kwargs["map_style"] = kwargs.pop("style_mapbox") + + return scatter_map(*args, **kwargs) + + +def line_mapbox(*args, **kwargs) -> DeephavenFigure: + """ + Deprecated function. Use line_map instead. + """ + warnings.warn( + "line_mapbox is deprecated and will be removed in a future release. Use line_map instead.", + DeprecationWarning, + stacklevel=2, + ) + + if "style_mapbox" in kwargs: + kwargs["map_style"] = kwargs.pop("style_mapbox") + + return line_map(*args, **kwargs) + + +def density_mapbox(*args, **kwargs) -> DeephavenFigure: + """ + Deprecated function. Use density_map instead. + """ + warnings.warn( + "density_mapbox is deprecated and will be removed in a future release. Use density_map instead.", + DeprecationWarning, + stacklevel=2, + ) + + if "style_mapbox" in kwargs: + kwargs["map_style"] = kwargs.pop("style_mapbox") + + return density_map(*args, **kwargs) + + +def scatter_map( table: PartitionableTableLike, lat: str | None = None, lon: str | None = None, @@ -191,13 +240,13 @@ def scatter_mapbox( opacity: float | None = None, zoom: float | None = None, center: dict[str, float] | None = None, - mapbox_style: str = "open-street-map", + map_style: str = "open-street-map", title: str | None = None, template: str | None = None, unsafe_update_figure: Callable = default_callback, ) -> DeephavenFigure: """ - Create a scatter_mapbox plot + Create a scatter_map plot Args: table: A table to pull data from. @@ -263,7 +312,7 @@ def scatter_mapbox( center: A dictionary of center coordinates. The keys should be 'lat' and 'lon' and the values should be floats that represent the lat and lon of the center of the map. - mapbox_style: The style of the map. + map_style: The style of the map. One of 'open-street-map', 'white-bg', 'carto-positron', 'carto-darkmatter', and 'stamen-terrain', 'stamen-toner', 'stamen-watercolor' title: The title of the chart @@ -277,11 +326,11 @@ def scatter_mapbox( mappings. Returns: - DeephavenFigure: A DeephavenFigure that contains the scatter_mapbox figure + DeephavenFigure: A DeephavenFigure that contains the scatter_map figure """ args = locals() - return process_args(args, {"scatter"}, px_func=px.scatter_mapbox) + return process_args(args, {"scatter"}, px_func=px.scatter_map) def line_geo( @@ -441,7 +490,7 @@ def line_geo( return process_args(args, {"line"}, px_func=px.line_geo) -def line_mapbox( +def line_map( table: PartitionableTableLike, lat: str | None = None, lon: str | None = None, @@ -468,14 +517,14 @@ def line_mapbox( width_sequence: list[int] | None = None, width_map: dict[str | tuple[str], str] | None = None, zoom: float | None = None, - mapbox_style: str = "open-street-map", + map_style: str = "open-street-map", center: dict[str, float] | None = None, title: str | None = None, template: str | None = None, unsafe_update_figure: Callable = default_callback, ) -> DeephavenFigure: """ - Create a line_mapbox plot + Create a line_map plot Args: table: A table to pull data from. @@ -550,7 +599,7 @@ def line_mapbox( center: A dictionary of center coordinates. The keys should be 'lat' and 'lon' and the values should be floats that represent the lat and lon of the center of the map. - mapbox_style: The style of the map. + map_style: The style of the map. One of 'open-street-map', 'white-bg', 'carto-positron', 'carto-darkmatter', and 'stamen-terrain', 'stamen-toner', 'stamen-watercolor' title: The title of the chart @@ -564,15 +613,15 @@ def line_mapbox( mappings. Returns: - DeephavenFigure: A DeephavenFigure that contains the line_mapbox figure + DeephavenFigure: A DeephavenFigure that contains the line_map figure """ args = locals() - return process_args(args, {"line"}, px_func=px.line_mapbox) + return process_args(args, {"line"}, px_func=px.line_map) -def density_mapbox( +def density_map( table: TableLike, lat: str | None = None, lon: str | None = None, @@ -586,13 +635,13 @@ def density_mapbox( opacity: float | None = None, zoom: float | None = None, center: dict[str, float] | None = None, - mapbox_style: str = "open-street-map", + map_style: str = "open-street-map", title: str | None = None, template: str | None = None, unsafe_update_figure: Callable = default_callback, ) -> DeephavenFigure: """ - Create a density_mapbox plot + Create a density_map plot Args: table: A table to pull data from. @@ -611,7 +660,7 @@ def density_mapbox( center: A dictionary of center coordinates. The keys should be 'lat' and 'lon' and the values should be floats that represent the lat and lon of the center of the map. - mapbox_style: The style of the map. + map_style: The style of the map. One of 'open-street-map', 'white-bg', 'carto-positron', 'carto-darkmatter', and 'stamen-terrain', 'stamen-toner', 'stamen-watercolor' title: The title of the chart @@ -625,8 +674,8 @@ def density_mapbox( mappings. Returns: - DeephavenFigure: A DeephavenFigure that contains the density_mapbox figure + DeephavenFigure: A DeephavenFigure that contains the density_map figure """ args = locals() - return process_args(args, set(), px_func=px.density_mapbox) + return process_args(args, set(), px_func=px.density_map) diff --git a/plugins/plotly-express/src/js/package.json b/plugins/plotly-express/src/js/package.json index e7ba5fa50..6252c1b96 100644 --- a/plugins/plotly-express/src/js/package.json +++ b/plugins/plotly-express/src/js/package.json @@ -38,10 +38,10 @@ "update-dh-packages": "node ../../../../tools/update-dh-packages.mjs" }, "devDependencies": { - "@deephaven/jsapi-types": "1.0.0-dev0.38.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.39.5", "@deephaven/test-utils": "0.105.0", "@types/deep-equal": "^1.0.1", - "@types/plotly.js": "^2.12.18", + "@types/plotly.js": "^3.0.0", "@types/plotly.js-dist-min": "^2.3.1", "@types/react": "^17.0.2", "@types/react-plotly.js": "^2.6.0", @@ -54,22 +54,22 @@ "react-dom": "^17.0.2" }, "dependencies": { - "@deephaven/chart": "0.105.0", - "@deephaven/components": "0.105.0", - "@deephaven/dashboard": "0.105.0", - "@deephaven/dashboard-core-plugins": "0.105.0", - "@deephaven/icons": "0.105.0", - "@deephaven/jsapi-bootstrap": "0.105.0", - "@deephaven/jsapi-utils": "0.105.0", - "@deephaven/log": "0.105.0", - "@deephaven/plugin": "0.105.0", - "@deephaven/redux": "0.105.0", - "@deephaven/utils": "0.105.0", + "@deephaven/chart": "^1.2.0", + "@deephaven/components": "^1.2.0", + "@deephaven/dashboard": "^1.2.0", + "@deephaven/dashboard-core-plugins": "^1.2.0", + "@deephaven/icons": "^1.2.0", + "@deephaven/jsapi-bootstrap": "1.2.0", + "@deephaven/jsapi-utils": "1.1.1", + "@deephaven/log": "1.1.0", + "@deephaven/plugin": "^1.2.0", + "@deephaven/redux": "^1.2.0", + "@deephaven/utils": "^1.1.0", "deep-equal": "^2.2.1", "memoizee": "^0.4.17", "nanoid": "^5.0.7", - "plotly.js": "^2.29.1", - "plotly.js-dist-min": "^2.29.1", + "plotly.js": "^3.0.0", + "plotly.js-dist-min": "^3.0.0", "react-plotly.js": "^2.4.0", "react-redux": "^7.2.9" }, diff --git a/plugins/plotly-express/src/js/src/PlotlyExpressChart.tsx b/plugins/plotly-express/src/js/src/PlotlyExpressChart.tsx index e1a29cb4b..b2e9d142a 100644 --- a/plugins/plotly-express/src/js/src/PlotlyExpressChart.tsx +++ b/plugins/plotly-express/src/js/src/PlotlyExpressChart.tsx @@ -46,6 +46,7 @@ export function PlotlyExpressChart( containerRef={containerRef} model={model} settings={settings} + // @ts-expect-error https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/72099 Plotly={Plotly} /> ) : null; diff --git a/plugins/plotly-express/src/js/src/PlotlyExpressChartModel.test.ts b/plugins/plotly-express/src/js/src/PlotlyExpressChartModel.test.ts index 85f7b6c5c..f787f28c7 100644 --- a/plugins/plotly-express/src/js/src/PlotlyExpressChartModel.test.ts +++ b/plugins/plotly-express/src/js/src/PlotlyExpressChartModel.test.ts @@ -37,7 +37,7 @@ jest.mock('./PlotlyExpressChartUtils', () => ({ function createMockWidget( tables: DhType.Table[], plotType = 'scatter', - title: string | Partial | undefined = 'Test', + title: Partial | string = 'Title', filterColumns: FilterColumns | undefined = undefined, layoutTitle: string | undefined = undefined ) { @@ -52,6 +52,8 @@ function createMockWidget( } }); + const titleObj = typeof title === 'string' ? { text: title } : title; + const widgetData = { type: 'test', figure: { @@ -88,7 +90,7 @@ function createMockWidget( yaxis: i === 0 ? 'y' : `y${i + 1}`, })), layout: { - title, + title: titleObj, legend: { title: { text: layoutTitle, @@ -467,10 +469,13 @@ describe('PlotlyExpressChartModel', () => { expect(setDefaultValueFormat).toHaveBeenCalledTimes(2); }); - it('should emit layout update events if a widget is updated and has a title', async () => { + it('should emit layout update events if a widget is updated and has a new title', async () => { const mockWidget = createMockWidget([SMALL_TABLE], 'scatter', { text: 'Test', }); + const updatedWidget = createMockWidget([SMALL_TABLE], 'scatter', { + text: 'Updated Test', + }); const chartModel = new PlotlyExpressChartModel( mockDh, mockWidget, @@ -480,13 +485,19 @@ describe('PlotlyExpressChartModel', () => { const mockSubscribe = jest.fn(); await chartModel.subscribe(mockSubscribe); await new Promise(process.nextTick); - if (chartModel.widget instanceof Object) { - chartModel.handleWidgetUpdated( - getWidgetData(chartModel.widget), - chartModel.widget.exportedObjects - ); - } - expect(mockSubscribe).toHaveBeenCalledTimes(2); + chartModel.handleWidgetUpdated( + getWidgetData(mockWidget), + mockWidget.exportedObjects + ); + + expect(mockSubscribe).toHaveBeenCalledTimes(0); + + chartModel.handleWidgetUpdated( + getWidgetData(updatedWidget), + updatedWidget.exportedObjects + ); + + expect(mockSubscribe).toHaveBeenCalledTimes(1); expect(mockSubscribe).toHaveBeenLastCalledWith( new CustomEvent(ChartModel.EVENT_LAYOUT_UPDATED) ); diff --git a/plugins/plotly-express/src/js/src/PlotlyExpressChartModel.ts b/plugins/plotly-express/src/js/src/PlotlyExpressChartModel.ts index d6bd5a539..fc6461199 100644 --- a/plugins/plotly-express/src/js/src/PlotlyExpressChartModel.ts +++ b/plugins/plotly-express/src/js/src/PlotlyExpressChartModel.ts @@ -541,9 +541,13 @@ export class PlotlyExpressChartModel extends ChartModel { // title and legend title are the only things expected to be updated after init from the layout if ( typeof plotlyLayout.title === 'object' && - plotlyLayout.title.text != null + plotlyLayout.title.text != null && + plotlyLayout.title.text !== this.layout.title?.text ) { this.fireLayoutUpdated({ title: plotlyLayout.title }); + // Keep track of the title to make sure it is not unnecessarily updated + // fireLayoutUpdated does not update this.layout so it must be set here + this.layout.title = plotlyLayout.title; } if (plotlyLayout.legend?.title?.text != null) { @@ -902,24 +906,22 @@ export class PlotlyExpressChartModel extends ChartModel { } shouldPauseOnUserInteraction(): boolean { - return ( - this.hasScene() || this.hasGeo() || this.hasMapbox() || this.hasPolar() - ); + return this.hasScene() || this.hasGeo() || this.hasMap() || this.hasPolar(); } - hasScene(): boolean { + private hasScene(): boolean { return this.plotlyData.some(d => 'scene' in d && d.scene != null); } - hasGeo(): boolean { + private hasGeo(): boolean { return this.plotlyData.some(d => 'geo' in d && d.geo != null); } - hasMapbox(): boolean { - return this.plotlyData.some(({ type }) => type?.includes('mapbox')); + private hasMap(): boolean { + return this.plotlyData.some(({ type }) => type?.includes('map')); } - hasPolar(): boolean { + private hasPolar(): boolean { return this.plotlyData.some(({ type }) => type?.includes('polar')); } diff --git a/plugins/plotly-express/src/js/src/PlotlyExpressChartPanel.tsx b/plugins/plotly-express/src/js/src/PlotlyExpressChartPanel.tsx index bf9193952..59392847b 100644 --- a/plugins/plotly-express/src/js/src/PlotlyExpressChartPanel.tsx +++ b/plugins/plotly-express/src/js/src/PlotlyExpressChartPanel.tsx @@ -30,6 +30,7 @@ export function PlotlyExpressChartPanel( {...(rest as ChartPanelProps)} containerRef={setContainer} makeModel={makeModel} + // @ts-expect-error https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/72099 Plotly={Plotly} metadata={metadata as ChartPanelProps['metadata']} /> diff --git a/plugins/plotly-express/src/js/src/PlotlyExpressChartUtils.test.ts b/plugins/plotly-express/src/js/src/PlotlyExpressChartUtils.test.ts index e5cda307a..968a19abb 100644 --- a/plugins/plotly-express/src/js/src/PlotlyExpressChartUtils.test.ts +++ b/plugins/plotly-express/src/js/src/PlotlyExpressChartUtils.test.ts @@ -316,7 +316,7 @@ describe('hasUnreplaceableWebGlTraces', () => { expect( hasUnreplaceableWebGlTraces([ { - type: 'scattermapbox', + type: 'scatter3d', }, ]) ).toBe(true); diff --git a/plugins/plotly-express/src/js/src/PlotlyExpressChartUtils.ts b/plugins/plotly-express/src/js/src/PlotlyExpressChartUtils.ts index 868207484..70457df0a 100644 --- a/plugins/plotly-express/src/js/src/PlotlyExpressChartUtils.ts +++ b/plugins/plotly-express/src/js/src/PlotlyExpressChartUtils.ts @@ -23,9 +23,9 @@ const UNREPLACEABLE_WEBGL_TRACE_TYPES = new Set([ 'mesh3d', 'cone', 'streamtube', - 'scattermapbox', - 'choroplethmapbox', - 'densitymapbox', + 'scattermap', + 'choroplethmap', + 'densitymap', ]); /* diff --git a/plugins/plotly-express/test/deephaven/plot/express/BaseTest.py b/plugins/plotly-express/test/deephaven/plot/express/BaseTest.py index 7afebcfad..2e54544f5 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/BaseTest.py +++ b/plugins/plotly-express/test/deephaven/plot/express/BaseTest.py @@ -4,11 +4,13 @@ from unittest.mock import patch import pandas as pd -from deephaven import DHError from deephaven.plot.express import DeephavenFigure -from typing import List, Any -import os -import pathlib +from typing import List + +# Deephaven's NULL_INT and NULL_DOUBLE, converted with Plotly's base64 API +# https://github.com/plotly/plotly.py/pull/4470 +PLOTLY_NULL_INT = {"dtype": "i4", "bdata": "AAAAgA=="} +PLOTLY_NULL_DOUBLE = {"dtype": "f8", "bdata": "////////7/8="} def remap_types( diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_area.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_area.py index f704c11da..2fd4e79f1 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_area.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_area.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT class AreaTestCase(BaseTestCase): @@ -25,7 +25,6 @@ def setUp(self) -> None: def test_basic_area(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.area(self.source, x="X", y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -45,9 +44,9 @@ def test_basic_area(self): "orientation": "v", "showlegend": False, "stackgroup": "1", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scatter", } @@ -87,7 +86,6 @@ def test_basic_area(self): def test_area_step(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.area(self.source, x="X", y="Y", line_shape="hvh").to_dict( self.exporter @@ -109,9 +107,9 @@ def test_area_step(self): "orientation": "v", "showlegend": False, "stackgroup": "1", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scatter", } @@ -151,7 +149,6 @@ def test_area_step(self): def test_area_pandas(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.area(self.pandas_source, x="X", y="Y").to_dict(self.exporter) @@ -167,9 +164,9 @@ def test_area_pandas(self): "orientation": "v", "showlegend": False, "stackgroup": "1", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scatter", } diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_bar.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_bar.py index ee06f1a08..cc93b6d6d 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_bar.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_bar.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT class BarTestCase(BaseTestCase): @@ -23,7 +23,7 @@ def setUp(self) -> None: def test_basic_bar_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_INT + from deephaven.constants import NULL_LONG chart = dx.bar(self.source, x="X").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -33,17 +33,15 @@ def test_basic_bar_x(self): expected_data = [ { - "alignmentgroup": "True", "hovertemplate": "X=%{x}
count=%{y}", "legendgroup": "", "marker": {"color": "#636efa", "pattern": {"shape": ""}}, "name": "", - "offsetgroup": "", "orientation": "v", "showlegend": False, "textposition": "auto", "type": "bar", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", "y": [NULL_LONG], "yaxis": "y", @@ -88,7 +86,7 @@ def test_basic_bar_x(self): def test_basic_bar_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_INT + from deephaven.constants import NULL_LONG chart = dx.bar(self.source, y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -98,19 +96,17 @@ def test_basic_bar_y(self): expected_data = [ { - "alignmentgroup": "True", "hovertemplate": "count=%{x}
Y=%{y}", "legendgroup": "", "marker": {"color": "#636efa", "pattern": {"shape": ""}}, "name": "", - "offsetgroup": "", "orientation": "h", "showlegend": False, "textposition": "auto", "type": "bar", "x": [NULL_LONG], "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -153,7 +149,6 @@ def test_basic_bar_y(self): def test_basic_bar_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.bar(self.source, x="X", y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -163,19 +158,17 @@ def test_basic_bar_x_y(self): expected_data = [ { - "alignmentgroup": "True", "hovertemplate": "X=%{x}
Y=%{y}", "legendgroup": "", "marker": {"color": "#636efa", "pattern": {"shape": ""}}, "name": "", - "offsetgroup": "", "orientation": "v", "showlegend": False, "textposition": "auto", "type": "bar", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_distribution.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_distribution.py index 7923923b9..5ddfb2f30 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_distribution.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_distribution.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT, PLOTLY_NULL_DOUBLE class DistributionTestCase(BaseTestCase): @@ -41,7 +41,7 @@ def assert_hist_agg_label_equal(self, chart, x, y): def test_basic_histogram_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE + from deephaven.constants import NULL_LONG chart = dx.histogram(self.source, x="X").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -60,7 +60,7 @@ def test_basic_histogram_x(self): "orientation": "v", "showlegend": False, "textposition": "auto", - "x": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, "xaxis": "x", "y": [NULL_LONG], "yaxis": "y", @@ -108,7 +108,7 @@ def test_basic_histogram_x(self): def test_basic_histogram_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE + from deephaven.constants import NULL_LONG chart = dx.histogram(self.source, y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -129,7 +129,7 @@ def test_basic_histogram_y(self): "textposition": "auto", "x": [NULL_LONG], "xaxis": "x", - "y": [NULL_DOUBLE], + "y": PLOTLY_NULL_DOUBLE, "yaxis": "y", "type": "bar", } @@ -175,7 +175,7 @@ def test_basic_histogram_y(self): def test_marginal_histogram_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE, NULL_INT + from deephaven.constants import NULL_LONG chart = dx.histogram(self.source, x="X", marginal="violin").to_dict( self.exporter @@ -196,7 +196,7 @@ def test_marginal_histogram_x(self): "orientation": "v", "showlegend": False, "textposition": "auto", - "x": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, "xaxis": "x", "y": [NULL_LONG], "yaxis": "y", @@ -213,7 +213,7 @@ def test_marginal_histogram_x(self): "orientation": "h", "scalegroup": "True", "showlegend": False, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x2", "y0": " ", @@ -281,7 +281,7 @@ def test_marginal_histogram_x(self): def test_marginal_histogram_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE, NULL_INT + from deephaven.constants import NULL_LONG chart = dx.histogram(self.source, x="X", marginal="box").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -300,7 +300,7 @@ def test_marginal_histogram_y(self): "orientation": "v", "showlegend": False, "textposition": "auto", - "x": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, "xaxis": "x", "y": [NULL_LONG], "yaxis": "y", @@ -316,7 +316,7 @@ def test_marginal_histogram_y(self): "offsetgroup": "", "orientation": "h", "showlegend": False, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x2", "y0": " ", @@ -384,7 +384,7 @@ def test_marginal_histogram_y(self): def test_basic_histogram_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE + from deephaven.constants import NULL_LONG chart = dx.histogram(self.source, x="X", y="Y").to_dict(self.exporter) @@ -399,7 +399,7 @@ def test_basic_histogram_x_y(self): "orientation": "v", "showlegend": False, "textposition": "auto", - "x": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, "xaxis": "x", "y": [NULL_LONG], "yaxis": "y", @@ -447,7 +447,7 @@ def test_basic_histogram_x_y(self): def test_basic_histogram_x_y_h(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE + from deephaven.constants import NULL_LONG chart = dx.histogram(self.source, x="X", y="Y", orientation="h").to_dict( self.exporter @@ -466,7 +466,7 @@ def test_basic_histogram_x_y_h(self): "textposition": "auto", "x": [NULL_LONG], "xaxis": "x", - "y": [NULL_DOUBLE], + "y": PLOTLY_NULL_DOUBLE, "yaxis": "y", "type": "bar", } @@ -512,7 +512,7 @@ def test_basic_histogram_x_y_h(self): def test_basic_histogram_x_list(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE + from deephaven.constants import NULL_LONG chart = dx.histogram(self.source, x=["X", "X2"]).to_dict(self.exporter) @@ -527,7 +527,7 @@ def test_basic_histogram_x_list(self): "orientation": "v", "showlegend": True, "textposition": "auto", - "x": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, "xaxis": "x", "y": [NULL_LONG], "yaxis": "y", @@ -543,7 +543,7 @@ def test_basic_histogram_x_list(self): "orientation": "v", "showlegend": True, "textposition": "auto", - "x": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, "xaxis": "x", "y": [NULL_LONG], "yaxis": "y", @@ -600,7 +600,7 @@ def test_basic_histogram_x_list(self): def test_basic_histogram_y_list(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE + from deephaven.constants import NULL_LONG chart = dx.histogram(self.source, y=["Y", "Y2"]).to_dict(self.exporter) @@ -618,7 +618,7 @@ def test_basic_histogram_y_list(self): "type": "bar", "x": [NULL_LONG], "xaxis": "x", - "y": [NULL_DOUBLE], + "y": PLOTLY_NULL_DOUBLE, "yaxis": "y", }, { @@ -634,7 +634,7 @@ def test_basic_histogram_y_list(self): "type": "bar", "x": [NULL_LONG], "xaxis": "x", - "y": [NULL_DOUBLE], + "y": PLOTLY_NULL_DOUBLE, "yaxis": "y", }, ] @@ -688,7 +688,7 @@ def test_basic_histogram_y_list(self): def test_basic_histogram_x_y_list(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE + from deephaven.constants import NULL_LONG chart = dx.histogram(self.source, x="X", y=["Y", "Y2"]).to_dict(self.exporter) @@ -704,7 +704,7 @@ def test_basic_histogram_x_y_list(self): "showlegend": True, "textposition": "auto", "type": "bar", - "x": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, "xaxis": "x", "y": [NULL_LONG], "yaxis": "y", @@ -720,7 +720,7 @@ def test_basic_histogram_x_y_list(self): "showlegend": True, "textposition": "auto", "type": "bar", - "x": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, "xaxis": "x", "y": [NULL_LONG], "yaxis": "y", @@ -776,7 +776,7 @@ def test_basic_histogram_x_y_list(self): def test_basic_histogram_x_list_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE + from deephaven.constants import NULL_LONG chart = dx.histogram(self.source, x=["X", "X2"], y="Y").to_dict(self.exporter) @@ -792,7 +792,7 @@ def test_basic_histogram_x_list_y(self): "showlegend": True, "textposition": "auto", "type": "bar", - "x": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, "xaxis": "x", "y": [NULL_LONG], "yaxis": "y", @@ -808,7 +808,7 @@ def test_basic_histogram_x_list_y(self): "showlegend": True, "textposition": "auto", "type": "bar", - "x": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, "xaxis": "x", "y": [NULL_LONG], "yaxis": "y", @@ -1021,7 +1021,6 @@ def test_basic_histogram_hist_agg_label(self): def test_basic_violin_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, x="X").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -1042,7 +1041,7 @@ def test_basic_violin_x(self): "points": "outliers", "scalegroup": "True", "showlegend": False, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -1076,7 +1075,6 @@ def test_basic_violin_x(self): def test_basic_violin_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, y="X").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -1099,7 +1097,7 @@ def test_basic_violin_y(self): "showlegend": False, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", "type": "violin", @@ -1132,7 +1130,6 @@ def test_basic_violin_y(self): def test_basic_violin_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, x="X", y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -1154,10 +1151,10 @@ def test_basic_violin_x_y(self): "scalegroup": "True", "showlegend": False, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", } @@ -1199,7 +1196,6 @@ def test_basic_violin_x_y(self): def test_list_violin_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, x=["X", "Y"]).to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -1221,7 +1217,7 @@ def test_list_violin_x(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -1240,7 +1236,7 @@ def test_list_violin_x(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -1279,7 +1275,6 @@ def test_list_violin_x(self): def test_list_violin_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, y=["X", "Y"]).to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -1303,7 +1298,7 @@ def test_list_violin_y(self): "type": "violin", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1322,7 +1317,7 @@ def test_list_violin_y(self): "type": "violin", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1359,7 +1354,6 @@ def test_list_violin_y(self): def test_list_violin_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, x=["X", "X2"], y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -1381,10 +1375,10 @@ def test_list_violin_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1401,10 +1395,10 @@ def test_list_violin_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1476,10 +1470,10 @@ def test_list_violin_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1496,10 +1490,10 @@ def test_list_violin_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1553,7 +1547,6 @@ def test_list_violin_x_y(self): def test_by_violin_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, x="X", by="category").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -1575,7 +1568,7 @@ def test_by_violin_x(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -1594,7 +1587,7 @@ def test_by_violin_x(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -1633,7 +1626,6 @@ def test_by_violin_x(self): def test_by_violin_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, y="Y", by="category").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -1657,7 +1649,7 @@ def test_by_violin_y(self): "type": "violin", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1676,7 +1668,7 @@ def test_by_violin_y(self): "type": "violin", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1713,7 +1705,6 @@ def test_by_violin_y(self): def test_by_violin_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, x="X", y="Y", by="category").to_dict( self.exporter @@ -1737,10 +1728,10 @@ def test_by_violin_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1757,10 +1748,10 @@ def test_by_violin_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1808,7 +1799,6 @@ def test_by_violin_x_y(self): def test_list_by_violin_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, x=["X", "X2"], by="category").to_dict( self.exporter @@ -1832,7 +1822,7 @@ def test_list_by_violin_x(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -1851,7 +1841,7 @@ def test_list_by_violin_x(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -1890,7 +1880,6 @@ def test_list_by_violin_x(self): def test_list_by_violin_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, y=["Y", "Y2"], by="category").to_dict( self.exporter @@ -1916,7 +1905,7 @@ def test_list_by_violin_y(self): "type": "violin", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1935,7 +1924,7 @@ def test_list_by_violin_y(self): "type": "violin", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -1972,7 +1961,6 @@ def test_list_by_violin_y(self): def test_list_by_violin_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, x=["X", "X2"], y="Y", by="category").to_dict( self.exporter @@ -1996,10 +1984,10 @@ def test_list_by_violin_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2016,10 +2004,10 @@ def test_list_by_violin_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2072,7 +2060,6 @@ def test_list_by_violin_x_y(self): self.assertEqual(deephaven["is_user_set_color"], True) import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, x="X", y=["Y", "Y2"], by="category").to_dict( self.exporter @@ -2096,10 +2083,10 @@ def test_list_by_violin_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2116,10 +2103,10 @@ def test_list_by_violin_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2173,7 +2160,6 @@ def test_list_by_violin_x_y(self): def test_basic_box_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, x="X").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -2193,7 +2179,7 @@ def test_basic_box_x(self): "offsetgroup": "", "orientation": "h", "showlegend": False, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -2228,7 +2214,6 @@ def test_basic_box_x(self): def test_basic_box_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, y="X").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -2250,7 +2235,7 @@ def test_basic_box_y(self): "showlegend": False, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", "type": "box", @@ -2283,7 +2268,6 @@ def test_basic_box_y(self): def test_basic_box_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, x="X", y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -2304,10 +2288,10 @@ def test_basic_box_x_y(self): "orientation": "v", "showlegend": False, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", } @@ -2349,7 +2333,6 @@ def test_basic_box_x_y(self): def test_list_box_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, x=["X", "Y"]).to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -2370,7 +2353,7 @@ def test_list_box_x(self): "orientation": "h", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -2388,7 +2371,7 @@ def test_list_box_x(self): "orientation": "h", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -2427,7 +2410,6 @@ def test_list_box_x(self): def test_list_box_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, y=["X", "Y"]).to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -2450,7 +2432,7 @@ def test_list_box_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2468,7 +2450,7 @@ def test_list_box_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2505,7 +2487,6 @@ def test_list_box_y(self): def test_list_box_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, x=["X", "X2"], y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -2526,10 +2507,10 @@ def test_list_box_x_y(self): "orientation": "v", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2545,10 +2526,10 @@ def test_list_box_x_y(self): "orientation": "v", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2619,10 +2600,10 @@ def test_list_box_x_y(self): "orientation": "v", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2638,10 +2619,10 @@ def test_list_box_x_y(self): "orientation": "v", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2695,7 +2676,6 @@ def test_list_box_x_y(self): def test_by_box_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, x="X", by="category").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -2716,7 +2696,7 @@ def test_by_box_x(self): "orientation": "h", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -2734,7 +2714,7 @@ def test_by_box_x(self): "orientation": "h", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -2773,7 +2753,6 @@ def test_by_box_x(self): def test_by_box_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, y="Y", by="category").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -2796,7 +2775,7 @@ def test_by_box_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2814,7 +2793,7 @@ def test_by_box_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2851,7 +2830,6 @@ def test_by_box_y(self): def test_by_box_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, x="X", y="Y", by="category").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -2872,10 +2850,10 @@ def test_by_box_x_y(self): "orientation": "v", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2891,10 +2869,10 @@ def test_by_box_x_y(self): "orientation": "v", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -2942,7 +2920,6 @@ def test_by_box_x_y(self): def test_list_by_box_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, x=["X", "X2"], by="category").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -2963,7 +2940,7 @@ def test_list_by_box_x(self): "orientation": "h", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -2981,7 +2958,7 @@ def test_list_by_box_x(self): "orientation": "h", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -3020,7 +2997,6 @@ def test_list_by_box_x(self): def test_list_by_box_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, y="Y", by="category").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -3043,7 +3019,7 @@ def test_list_by_box_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3061,7 +3037,7 @@ def test_list_by_box_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3098,7 +3074,6 @@ def test_list_by_box_y(self): def test_list_by_box_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, x=["X", "X2"], y="Y", by="category").to_dict( self.exporter @@ -3121,10 +3096,10 @@ def test_list_by_box_x_y(self): "orientation": "v", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3140,10 +3115,10 @@ def test_list_by_box_x_y(self): "orientation": "v", "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3196,7 +3171,6 @@ def test_list_by_box_x_y(self): self.assertEqual(deephaven["is_user_set_color"], True) import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.violin(self.source, x="X", y=["Y", "Y2"], by="category").to_dict( self.exporter @@ -3220,10 +3194,10 @@ def test_list_by_box_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3240,10 +3214,10 @@ def test_list_by_box_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3297,7 +3271,6 @@ def test_list_by_box_x_y(self): def test_basic_strip_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.strip(self.source, x="X").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -3320,7 +3293,7 @@ def test_basic_strip_x(self): "orientation": "h", "pointpos": 0, "showlegend": False, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -3355,7 +3328,6 @@ def test_basic_strip_x(self): def test_basic_strip_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.box(self.source, y="X").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -3377,7 +3349,7 @@ def test_basic_strip_y(self): "showlegend": False, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", "type": "box", @@ -3410,7 +3382,6 @@ def test_basic_strip_y(self): def test_basic_strip_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.strip(self.source, x="X", y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -3434,10 +3405,10 @@ def test_basic_strip_x_y(self): "pointpos": 0, "showlegend": False, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", } @@ -3479,7 +3450,6 @@ def test_basic_strip_x_y(self): def test_list_strip_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.strip(self.source, x=["X", "Y"]).to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -3503,7 +3473,7 @@ def test_list_strip_x(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -3524,7 +3494,7 @@ def test_list_strip_x(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -3563,7 +3533,6 @@ def test_list_strip_x(self): def test_list_strip_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.strip(self.source, y=["X", "Y"]).to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -3589,7 +3558,7 @@ def test_list_strip_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3610,7 +3579,7 @@ def test_list_strip_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3647,7 +3616,6 @@ def test_list_strip_y(self): def test_list_strip_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.strip(self.source, x=["X", "X2"], y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -3671,10 +3639,10 @@ def test_list_strip_x_y(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3693,10 +3661,10 @@ def test_list_strip_x_y(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3768,10 +3736,10 @@ def test_list_strip_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3788,10 +3756,10 @@ def test_list_strip_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3845,7 +3813,6 @@ def test_list_strip_x_y(self): def test_by_strip_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.strip(self.source, x="X", by="category").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -3869,7 +3836,7 @@ def test_by_strip_x(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -3890,7 +3857,7 @@ def test_by_strip_x(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -3929,7 +3896,6 @@ def test_by_strip_x(self): def test_by_strip_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.strip(self.source, y="Y", by="category").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -3955,7 +3921,7 @@ def test_by_strip_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -3976,7 +3942,7 @@ def test_by_strip_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -4013,7 +3979,6 @@ def test_by_strip_y(self): def test_by_strip_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.strip(self.source, x="X", y="Y", by="category").to_dict( self.exporter @@ -4039,10 +4004,10 @@ def test_by_strip_x_y(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -4061,10 +4026,10 @@ def test_by_strip_x_y(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -4112,7 +4077,6 @@ def test_by_strip_x_y(self): def test_list_by_strip_x(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.strip(self.source, x=["X", "X2"], by="category").to_dict( self.exporter @@ -4138,7 +4102,7 @@ def test_list_by_strip_x(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -4159,7 +4123,7 @@ def test_list_by_strip_x(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", "y0": " ", @@ -4198,7 +4162,6 @@ def test_list_by_strip_x(self): def test_list_by_strip_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.strip(self.source, y="Y", by="category").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -4224,7 +4187,7 @@ def test_list_by_strip_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -4245,7 +4208,7 @@ def test_list_by_strip_y(self): "type": "box", "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -4282,7 +4245,6 @@ def test_list_by_strip_y(self): def test_list_by_strip_x_y(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.strip(self.source, x=["X", "X2"], y="Y", by="category").to_dict( self.exporter @@ -4308,10 +4270,10 @@ def test_list_by_strip_x_y(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -4330,10 +4292,10 @@ def test_list_by_strip_x_y(self): "pointpos": 0, "showlegend": True, "type": "box", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -4407,10 +4369,10 @@ def test_list_by_strip_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, @@ -4427,10 +4389,10 @@ def test_list_by_strip_x_y(self): "scalegroup": "True", "showlegend": True, "type": "violin", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "y0": " ", "yaxis": "y", }, diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_filter_by.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_filter_by.py index ee1561616..0e4c5630d 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_filter_by.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_filter_by.py @@ -4,6 +4,7 @@ DEFAULT_PLOTLY_DATA, DEFAULT_PLOTLY_LAYOUT, DEFAULT_PLOTLY_TRACE, + PLOTLY_NULL_INT, ) @@ -67,9 +68,9 @@ def test_filter(self): "name": "A", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -81,9 +82,9 @@ def test_filter(self): "name": "B", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, ] @@ -138,9 +139,9 @@ def test_filter(self): "name": "A", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -224,9 +225,9 @@ def test_filters(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -238,9 +239,9 @@ def test_filters(self): "name": "B, D", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, ] @@ -298,9 +299,9 @@ def test_filters(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -354,9 +355,9 @@ def test_filters(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -455,9 +456,9 @@ def test_required_filter(self): "name": "A", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -573,9 +574,9 @@ def test_required_filters(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -694,9 +695,9 @@ def test_mixed_filters(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -750,9 +751,9 @@ def test_mixed_filters(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -834,9 +835,9 @@ def test_filter_plot_by(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -848,9 +849,9 @@ def test_filter_plot_by(self): "name": "B, D", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, ] @@ -908,9 +909,9 @@ def test_filter_plot_by(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -1012,9 +1013,9 @@ def test_required_filter_plot_by(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -1097,9 +1098,9 @@ def test_partitioned_filter(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -1111,9 +1112,9 @@ def test_partitioned_filter(self): "name": "B, D", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, ] @@ -1171,9 +1172,9 @@ def test_partitioned_filter(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -1227,9 +1228,9 @@ def test_partitioned_filter(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -1348,9 +1349,9 @@ def test_partitioned_required_filter(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -1410,9 +1411,9 @@ def test_partitioned_filter_plot_by(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -1424,9 +1425,9 @@ def test_partitioned_filter_plot_by(self): "name": "B, D", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, ] @@ -1484,9 +1485,9 @@ def test_partitioned_filter_plot_by(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -1594,9 +1595,9 @@ def test_partitioned_required_filter_plot_by(self): "name": "A, C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", } ] @@ -1726,9 +1727,9 @@ def test_subplot_same_filter(self): "name": "A", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, { @@ -1740,9 +1741,9 @@ def test_subplot_same_filter(self): "name": "B", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, ] @@ -1799,9 +1800,9 @@ def test_subplot_same_filter(self): "name": "A", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -1813,9 +1814,9 @@ def test_subplot_same_filter(self): "name": "A", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, ] @@ -1953,9 +1954,9 @@ def test_subplot_different_filter(self): "name": "A", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, { @@ -1967,9 +1968,9 @@ def test_subplot_different_filter(self): "name": "B", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, ] @@ -2040,9 +2041,9 @@ def test_subplot_different_filter(self): "name": "A", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, ] @@ -2095,9 +2096,9 @@ def test_subplot_different_filter(self): "name": "C", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -2109,9 +2110,9 @@ def test_subplot_different_filter(self): "name": "A", "showlegend": True, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, ] diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_financial.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_financial.py index 8424dbdbd..f4c26c6ef 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_financial.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_financial.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT class FinancialTestCase(BaseTestCase): @@ -20,7 +20,6 @@ def setUp(self) -> None: def test_basic_ohlc(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.ohlc( self.source, x="X", open="Open", high="High", low="Low", close="Close" @@ -28,12 +27,12 @@ def test_basic_ohlc(self): expected_data = [ { - "close": [[NULL_INT]], - "high": [[NULL_INT]], - "low": [[NULL_INT]], - "open": [[NULL_INT]], + "close": PLOTLY_NULL_INT, + "high": PLOTLY_NULL_INT, + "low": PLOTLY_NULL_INT, + "open": PLOTLY_NULL_INT, "type": "ohlc", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, } ] @@ -66,7 +65,6 @@ def test_basic_ohlc(self): def test_basic_candlestick(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.candlestick( self.source, x="X", open="Open", high="High", low="Low", close="Close" @@ -74,12 +72,12 @@ def test_basic_candlestick(self): expected_data = [ { - "close": [[NULL_INT]], - "high": [[NULL_INT]], - "low": [[NULL_INT]], - "open": [[NULL_INT]], + "close": PLOTLY_NULL_INT, + "high": PLOTLY_NULL_INT, + "low": PLOTLY_NULL_INT, + "open": PLOTLY_NULL_INT, "type": "candlestick", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, } ] diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_heatmap.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_heatmap.py index bc5ad0b1b..40b84346d 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_heatmap.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_heatmap.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_DOUBLE class HeatmapTestCase(BaseTestCase): @@ -18,7 +18,7 @@ def setUp(self) -> None: def test_basic_heatmap(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE + from deephaven.constants import NULL_LONG chart = dx.density_heatmap(self.source, x="X", y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -31,8 +31,8 @@ def test_basic_heatmap(self): "coloraxis": "coloraxis", "hovertemplate": "X=%{x}
Y=%{y}
count=%{z}", "opacity": 1.0, - "x": [NULL_DOUBLE], - "y": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, + "y": PLOTLY_NULL_DOUBLE, "z": [NULL_LONG], "type": "heatmap", } @@ -80,7 +80,7 @@ def test_basic_heatmap(self): def test_heatmap_relabel_z(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE, NULL_INT + from deephaven.constants import NULL_LONG chart = dx.density_heatmap( self.source, @@ -99,8 +99,8 @@ def test_heatmap_relabel_z(self): "coloraxis": "coloraxis", "hovertemplate": "Column X=%{x}
Column Y=%{y}
count of Column Z=%{z}", "opacity": 1.0, - "x": [NULL_DOUBLE], - "y": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, + "y": PLOTLY_NULL_DOUBLE, "z": [NULL_LONG], "type": "heatmap", } @@ -147,7 +147,7 @@ def test_heatmap_relabel_z(self): def test_heatmap_relabel_agg_z(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE, NULL_INT + from deephaven.constants import NULL_LONG chart = dx.density_heatmap( self.source, @@ -167,8 +167,8 @@ def test_heatmap_relabel_agg_z(self): "coloraxis": "coloraxis", "hovertemplate": "Column X=%{x}
Column Y=%{y}
count=%{z}", "opacity": 1.0, - "x": [NULL_DOUBLE], - "y": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, + "y": PLOTLY_NULL_DOUBLE, "z": [NULL_LONG], "type": "heatmap", } @@ -215,7 +215,7 @@ def test_heatmap_relabel_agg_z(self): def test_full_heatmap(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_LONG, NULL_DOUBLE, NULL_INT + from deephaven.constants import NULL_LONG chart = dx.density_heatmap( self.source, @@ -255,8 +255,8 @@ def test_full_heatmap(self): "hovertemplate": "Column X=%{x}
Column Y=%{y}
sum=%{z}", "opacity": 0.5, "type": "heatmap", - "x": [NULL_DOUBLE], - "y": [NULL_DOUBLE], + "x": PLOTLY_NULL_DOUBLE, + "y": PLOTLY_NULL_DOUBLE, "z": [NULL_LONG], } ] diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_icicle.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_icicle.py index fa36ff390..eae6262e5 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_icicle.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_icicle.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT, PLOTLY_NULL_DOUBLE class TreemapTestCase(BaseTestCase): @@ -26,7 +26,6 @@ def setUp(self) -> None: def test_basic_icicle(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.icicle( self.source, names="names", parents="parents", values="values" @@ -40,7 +39,7 @@ def test_basic_icicle(self): "name": "", "parents": ["None"], "type": "icicle", - "values": [NULL_INT], + "values": PLOTLY_NULL_INT, } ] @@ -114,7 +113,7 @@ def test_icicle_path(self): def test_icicle_path_numeric_colors(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_DOUBLE, NULL_LONG + from deephaven.constants import NULL_LONG chart = dx.icicle( self.source, @@ -133,7 +132,7 @@ def test_icicle_path_numeric_colors(self): "labels": ["None"], "marker": { "coloraxis": "coloraxis", - "colors": [NULL_DOUBLE], + "colors": PLOTLY_NULL_DOUBLE, }, "name": "", "parents": ["None"], diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_indicator.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_indicator.py index e35ac6a2b..3c8a50c7d 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_indicator.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_indicator.py @@ -233,6 +233,7 @@ def test_by_indicators(self): def test_color_indicators(self): import src.deephaven.plot.express as dx + from deephaven.constants import NULL_INT chart = dx.indicator( self.source, diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_layer.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_layer.py index 1b2ecf111..bea6cc7e1 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_layer.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_layer.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT class LayerTestCase(BaseTestCase): @@ -22,7 +22,6 @@ def setUp(self) -> None: def test_same_layered(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.area(self.source, x="X", y="Y") layered = dx.layer(chart, chart).to_dict(self.exporter) @@ -44,9 +43,9 @@ def test_same_layered(self): "orientation": "v", "showlegend": False, "stackgroup": "1", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scatter", }, @@ -61,9 +60,9 @@ def test_same_layered(self): "orientation": "v", "showlegend": False, "stackgroup": "1", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scatter", }, @@ -107,7 +106,6 @@ def test_same_layered(self): def test_different_layered(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.area(self.source, x="X", y="Y") chart2 = dx.area(self.source, x="X2", y="Y2") @@ -130,9 +128,9 @@ def test_different_layered(self): "orientation": "v", "showlegend": False, "stackgroup": "1", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scatter", }, @@ -147,9 +145,9 @@ def test_different_layered(self): "orientation": "v", "showlegend": False, "stackgroup": "1", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scatter", }, diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_line.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_line.py index ad24af49e..13773478f 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_line.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_line.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT class LineTestCase(BaseTestCase): @@ -23,7 +23,6 @@ def setUp(self) -> None: def test_basic_line(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.line(self.source, x="X", y="Y").to_dict(self.exporter) @@ -36,9 +35,9 @@ def test_basic_line(self): "mode": "lines", "name": "", "showlegend": False, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", } diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_make_subplots.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_make_subplots.py index 6e7750419..b27350783 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_make_subplots.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_make_subplots.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT class MakeSubplotsTestCase(BaseTestCase): @@ -31,9 +31,9 @@ def test_basic_make_subplots(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -44,9 +44,9 @@ def test_basic_make_subplots(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, ] @@ -117,9 +117,9 @@ def test_make_subplots_shared_axes_all(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -130,9 +130,9 @@ def test_make_subplots_shared_axes_all(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, ] @@ -207,9 +207,9 @@ def test_make_subplots_shared_xaxes(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -220,9 +220,9 @@ def test_make_subplots_shared_xaxes(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, ] @@ -295,9 +295,9 @@ def test_make_subplots_shared_xaxes_row(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -308,9 +308,9 @@ def test_make_subplots_shared_xaxes_row(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, ] @@ -383,9 +383,9 @@ def test_make_subplots_shared_yaxes(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -396,9 +396,9 @@ def test_make_subplots_shared_yaxes(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, ] @@ -471,9 +471,9 @@ def test_make_subplots_shared_yaxes_col(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", }, { @@ -484,9 +484,9 @@ def test_make_subplots_shared_yaxes_col(self): "name": "", "showlegend": False, "type": "scattergl", - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x2", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y2", }, ] diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_maps.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_maps.py index 24285fdad..560e50e4b 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_maps.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_maps.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT class MapTestCase(BaseTestCase): @@ -18,7 +18,6 @@ def setUp(self) -> None: def test_basic_scatter_geo(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.scatter_geo(self.source, lat="lat", lon="lon").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -31,9 +30,9 @@ def test_basic_scatter_geo(self): "featureidkey": "id", "geo": "geo", "hovertemplate": "lat=%{lat}
lon=%{lon}", - "lat": [NULL_INT], + "lat": PLOTLY_NULL_INT, "legendgroup": "", - "lon": [NULL_INT], + "lon": PLOTLY_NULL_INT, "marker": {"color": "#636efa", "symbol": "circle"}, "mode": "markers", "name": "", @@ -51,13 +50,11 @@ def test_basic_scatter_geo(self): self.assertEqual(plotly["layout"], expected_layout) - def test_basic_scatter_mapbox(self): + def test_basic_scatter_map(self): import src.deephaven.plot.express as dx from deephaven.constants import NULL_INT - chart = dx.scatter_mapbox(self.source, lat="lat", lon="lon").to_dict( - self.exporter - ) + chart = dx.scatter_map(self.source, lat="lat", lon="lon").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] # pop template as we currently do not modify it @@ -66,15 +63,15 @@ def test_basic_scatter_mapbox(self): expected_data = [ { "hovertemplate": "lat=%{lat}
lon=%{lon}", - "lat": [NULL_INT], + "lat": PLOTLY_NULL_INT, "legendgroup": "", - "lon": [NULL_INT], + "lon": PLOTLY_NULL_INT, "marker": {"color": "#636efa"}, "mode": "markers", "name": "", "showlegend": False, - "subplot": "mapbox", - "type": "scattermapbox", + "subplot": "map", + "type": "scattermap", } ] @@ -82,19 +79,23 @@ def test_basic_scatter_mapbox(self): expected_layout = { "legend": {"tracegroupgap": 0}, - "mapbox": { + "map": { "center": {"lat": NULL_INT, "lon": NULL_INT}, "domain": {"x": [0.0, 1.0], "y": [0.0, 1.0]}, "style": "open-street-map", "zoom": 8, }, + "mapbox": { + "center": {"lat": -2147483648.0, "lon": -2147483648.0}, + "style": "open-street-map", + "zoom": 8, + }, } self.assertEqual(plotly["layout"], expected_layout) def test_basic_line_geo(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.line_geo(self.source, lat="lat", lon="lon").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -107,10 +108,10 @@ def test_basic_line_geo(self): "featureidkey": "id", "geo": "geo", "hovertemplate": "lat=%{lat}
lon=%{lon}", - "lat": [NULL_INT], + "lat": PLOTLY_NULL_INT, "legendgroup": "", "line": {"color": "#636efa", "dash": "solid"}, - "lon": [NULL_INT], + "lon": PLOTLY_NULL_INT, "marker": {"symbol": "circle"}, "mode": "lines", "name": "", @@ -128,11 +129,10 @@ def test_basic_line_geo(self): self.assertEqual(plotly["layout"], expected_layout) - def test_basic_line_mapbox(self): + def test_basic_line_map(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT - chart = dx.line_mapbox(self.source, lat="lat", lon="lon").to_dict(self.exporter) + chart = dx.line_map(self.source, lat="lat", lon="lon").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] # pop template as we currently do not modify it @@ -141,15 +141,15 @@ def test_basic_line_mapbox(self): expected_data = [ { "hovertemplate": "lat=%{lat}
lon=%{lon}", - "lat": [NULL_INT], + "lat": PLOTLY_NULL_INT, "legendgroup": "", "line": {"color": "#636efa"}, - "lon": [NULL_INT], + "lon": PLOTLY_NULL_INT, "mode": "lines", "name": "", "showlegend": False, - "subplot": "mapbox", - "type": "scattermapbox", + "subplot": "map", + "type": "scattermap", } ] @@ -157,21 +157,25 @@ def test_basic_line_mapbox(self): expected_layout = { "legend": {"tracegroupgap": 0}, - "mapbox": { - "center": {"lat": NULL_INT, "lon": NULL_INT}, + "map": { + "center": {"lat": -2147483648.0, "lon": -2147483648.0}, "domain": {"x": [0.0, 1.0], "y": [0.0, 1.0]}, "style": "open-street-map", "zoom": 8, }, + "mapbox": { + "center": {"lat": -2147483648.0, "lon": -2147483648.0}, + "style": "open-street-map", + "zoom": 8, + }, } self.assertEqual(plotly["layout"], expected_layout) - def test_basic_density_mapbox(self): + def test_basic_density_map(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT - chart = dx.density_mapbox(self.source, lat="lat", lon="lon", z="z").to_dict( + chart = dx.density_map(self.source, lat="lat", lon="lon", z="z").to_dict( self.exporter ) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -183,13 +187,13 @@ def test_basic_density_mapbox(self): { "coloraxis": "coloraxis", "hovertemplate": "lat=%{lat}
lon=%{lon}
z=%{z}", - "lat": [NULL_INT], - "lon": [NULL_INT], + "lat": PLOTLY_NULL_INT, + "lon": PLOTLY_NULL_INT, "name": "", "radius": 30, - "subplot": "mapbox", - "z": [-2147483648], - "type": "densitymapbox", + "subplot": "map", + "z": PLOTLY_NULL_INT, + "type": "densitymap", } ] @@ -212,12 +216,17 @@ def test_basic_density_mapbox(self): ], }, "legend": {"tracegroupgap": 0}, - "mapbox": { - "center": {"lat": NULL_INT, "lon": NULL_INT}, + "map": { + "center": {"lat": -2147483648.0, "lon": -2147483648.0}, "domain": {"x": [0.0, 1.0], "y": [0.0, 1.0]}, "style": "open-street-map", "zoom": 8, }, + "mapbox": { + "center": {"lat": -2147483648.0, "lon": -2147483648.0}, + "style": "open-street-map", + "zoom": 8, + }, } self.assertEqual(plotly["layout"], expected_layout) diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_pie.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_pie.py index 5aa7e94e9..b04104974 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_pie.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_pie.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT class PieTestCase(BaseTestCase): @@ -21,7 +21,6 @@ def setUp(self) -> None: def test_basic_pie(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.pie(self.source, names="names", values="values").to_dict( self.exporter @@ -36,7 +35,7 @@ def test_basic_pie(self): "name": "", "showlegend": True, "type": "pie", - "values": [NULL_INT], + "values": PLOTLY_NULL_INT, } ] @@ -63,7 +62,6 @@ def test_basic_pie(self): def test_pie_colors(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.pie( self.source, names="names", values="values", color="colors" @@ -79,7 +77,7 @@ def test_pie_colors(self): "name": "", "showlegend": True, "type": "pie", - "values": [NULL_INT], + "values": PLOTLY_NULL_INT, } ] diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_scatter.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_scatter.py index 5d1329c7b..4f9769f43 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_scatter.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_scatter.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT, PLOTLY_NULL_DOUBLE class ScatterTestCase(BaseTestCase): @@ -23,7 +23,6 @@ def setUp(self) -> None: def test_basic_scatter(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.scatter(self.source, x="X", y="Y").to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -39,9 +38,9 @@ def test_basic_scatter(self): "mode": "markers", "name": "", "showlegend": False, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", } @@ -81,7 +80,6 @@ def test_basic_scatter(self): def test_list_scatter(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.scatter(self.source, x="X", y=["Y", "Y2"]).to_dict(self.exporter) plotly, deephaven = chart["plotly"], chart["deephaven"] @@ -97,9 +95,9 @@ def test_list_scatter(self): "mode": "markers", "name": "Y", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -110,9 +108,9 @@ def test_list_scatter(self): "mode": "markers", "name": "Y2", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -165,7 +163,6 @@ def test_list_scatter(self): def test_by_scatter(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.scatter(self.source, x="X", y="Y", by="category").to_dict( self.exporter @@ -183,9 +180,9 @@ def test_by_scatter(self): "mode": "markers", "name": "1", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -196,9 +193,9 @@ def test_by_scatter(self): "mode": "markers", "name": "2", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -245,7 +242,6 @@ def test_by_scatter(self): def test_by_none_scatter(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.scatter( self.source, x="X", y="Y", by="category", by_vars=None @@ -263,9 +259,9 @@ def test_by_none_scatter(self): "mode": "markers", "name": "1", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -276,9 +272,9 @@ def test_by_none_scatter(self): "mode": "markers", "name": "2", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -325,7 +321,6 @@ def test_by_none_scatter(self): def test_list_by_scatter(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.scatter(self.source, x="X", y=["Y", "Y2"], by="category").to_dict( self.exporter @@ -343,9 +338,9 @@ def test_list_by_scatter(self): "mode": "markers", "name": "1", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -356,9 +351,9 @@ def test_list_by_scatter(self): "mode": "markers", "name": "2", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -411,7 +406,6 @@ def test_list_by_scatter(self): def test_by_variable_scatter(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.scatter(self.source, x="X", y=["Y", "Y2"], by="variable").to_dict( self.exporter @@ -429,9 +423,9 @@ def test_by_variable_scatter(self): "mode": "markers", "name": "Y", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -442,9 +436,9 @@ def test_by_variable_scatter(self): "mode": "markers", "name": "Y2", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -497,7 +491,6 @@ def test_by_variable_scatter(self): def test_list_by_variable_scatter(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.scatter( self.source, x="X", y=["Y", "Y2"], by=["variable", "category"] @@ -515,9 +508,9 @@ def test_list_by_variable_scatter(self): "mode": "markers", "name": "1, Y", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -528,9 +521,9 @@ def test_list_by_variable_scatter(self): "mode": "markers", "name": "2, Y", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -541,9 +534,9 @@ def test_list_by_variable_scatter(self): "mode": "markers", "name": "1, Y2", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -554,9 +547,9 @@ def test_list_by_variable_scatter(self): "mode": "markers", "name": "2, Y2", "showlegend": True, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -623,7 +616,7 @@ def test_list_by_variable_scatter(self): def test_marginal_scatter(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT, NULL_LONG, NULL_DOUBLE + from deephaven.constants import NULL_LONG chart = dx.scatter( self.source, x="X", y="Y", marginal_x="rug", marginal_y="histogram" @@ -641,9 +634,9 @@ def test_marginal_scatter(self): "mode": "markers", "name": "", "showlegend": False, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "xaxis": "x", - "y": [NULL_INT], + "y": PLOTLY_NULL_INT, "yaxis": "y", "type": "scattergl", }, @@ -662,7 +655,7 @@ def test_marginal_scatter(self): "orientation": "h", "pointpos": 0, "showlegend": False, - "x": [NULL_INT], + "x": PLOTLY_NULL_INT, "x0": " ", "xaxis": "x2", "y0": " ", @@ -670,7 +663,6 @@ def test_marginal_scatter(self): "type": "box", }, { - "alignmentgroup": "True", "hovertemplate": "Y=%{y}
count=%{x}", "legendgroup": "", "marker": { @@ -679,13 +671,12 @@ def test_marginal_scatter(self): "pattern": {"shape": ""}, }, "name": "", - "offsetgroup": "", "orientation": "h", "showlegend": False, "textposition": "auto", "x": [NULL_LONG], "xaxis": "x3", - "y": [NULL_DOUBLE], + "y": PLOTLY_NULL_DOUBLE, "yaxis": "y3", "type": "bar", }, diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_sunburst.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_sunburst.py index 895ca051b..601aa4efe 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_sunburst.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_sunburst.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT, PLOTLY_NULL_DOUBLE class TreemapTestCase(BaseTestCase): @@ -26,7 +26,6 @@ def setUp(self) -> None: def test_basic_sunburst(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.sunburst( self.source, names="names", parents="parents", values="values" @@ -40,7 +39,7 @@ def test_basic_sunburst(self): "name": "", "parents": ["None"], "type": "sunburst", - "values": [NULL_INT], + "values": PLOTLY_NULL_INT, } ] @@ -114,7 +113,7 @@ def test_sunburst_path(self): def test_sunburst_path_numeric_colors(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_DOUBLE, NULL_LONG + from deephaven.constants import NULL_LONG chart = dx.sunburst( self.source, @@ -133,7 +132,7 @@ def test_sunburst_path_numeric_colors(self): "labels": ["None"], "marker": { "coloraxis": "coloraxis", - "colors": [NULL_DOUBLE], + "colors": PLOTLY_NULL_DOUBLE, }, "name": "", "parents": ["None"], diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_timeline.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_timeline.py index a7c5d40be..75e313274 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_timeline.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_timeline.py @@ -36,17 +36,15 @@ def test_basic_timeline(self): expected_data = [ { - "alignmentgroup": "True", - "base": ["2000-01-01"], + "base": ["2000-01-01T00:00:00.000000000"], "hovertemplate": "Start=%{base}
Category=%{y}
x_diff=%{x}", "legendgroup": "", "marker": {"color": "#636efa", "pattern": {"shape": ""}}, "name": "", - "offsetgroup": "", "orientation": "h", "showlegend": False, "textposition": "auto", - "x": [0.0], + "x": {"bdata": "AA==", "dtype": "i1"}, "xaxis": "x", "y": ["None"], "yaxis": "y", diff --git a/plugins/plotly-express/test/deephaven/plot/express/plots/test_treemap.py b/plugins/plotly-express/test/deephaven/plot/express/plots/test_treemap.py index 8846a82fe..6a9e21998 100644 --- a/plugins/plotly-express/test/deephaven/plot/express/plots/test_treemap.py +++ b/plugins/plotly-express/test/deephaven/plot/express/plots/test_treemap.py @@ -1,6 +1,6 @@ import unittest -from ..BaseTest import BaseTestCase +from ..BaseTest import BaseTestCase, PLOTLY_NULL_INT, PLOTLY_NULL_DOUBLE class TreemapTestCase(BaseTestCase): @@ -27,7 +27,6 @@ def setUp(self) -> None: def test_basic_treemap(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.treemap( self.source, names="names", parents="parents", values="values" @@ -41,7 +40,7 @@ def test_basic_treemap(self): "name": "", "parents": ["None"], "type": "treemap", - "values": [NULL_INT], + "values": PLOTLY_NULL_INT, } ] @@ -69,7 +68,6 @@ def test_basic_treemap(self): def test_treemap_numeric_colors(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.treemap( self.source, @@ -86,10 +84,10 @@ def test_treemap_numeric_colors(self): "color}", "labels": ["None"], "name": "", - "marker": {"coloraxis": "coloraxis", "colors": [NULL_INT]}, + "marker": {"coloraxis": "coloraxis", "colors": PLOTLY_NULL_INT}, "parents": ["None"], "type": "treemap", - "values": [NULL_INT], + "values": PLOTLY_NULL_INT, } ] @@ -135,7 +133,6 @@ def test_treemap_numeric_colors(self): def test_treemap_categorical_colors(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_INT chart = dx.treemap( self.source, @@ -154,7 +151,7 @@ def test_treemap_categorical_colors(self): "marker": {"colors": []}, "parents": ["None"], "type": "treemap", - "values": [NULL_INT], + "values": PLOTLY_NULL_INT, } ] @@ -231,7 +228,7 @@ def test_treemap_path(self): def test_treemap_path_numeric_colors(self): import src.deephaven.plot.express as dx - from deephaven.constants import NULL_DOUBLE, NULL_LONG + from deephaven.constants import NULL_LONG chart = dx.treemap( self.source, @@ -250,7 +247,7 @@ def test_treemap_path_numeric_colors(self): "labels": ["None"], "marker": { "coloraxis": "coloraxis", - "colors": [NULL_DOUBLE], + "colors": PLOTLY_NULL_DOUBLE, }, "name": "", "parents": ["None"], diff --git a/tests/app.d/express.py b/tests/app.d/express.py index e3729c3f4..2d1db8fd4 100644 --- a/tests/app.d/express.py +++ b/tests/app.d/express.py @@ -1,9 +1,10 @@ -from deephaven.column import int_col, string_col, double_col +from deephaven.column import int_col, string_col, double_col, datetime_col from deephaven import new_table, merge, time_table, empty_table import deephaven.plot.express as dx import plotly.express as px from deephaven.calendar import calendar from deephaven import ui +from deephaven.time import to_j_instant # Test basic deephaven plots express_source = new_table( @@ -76,8 +77,63 @@ line_calendar = dx.line(source, x="Timestamp", y="Price", calendar=nyse_cal) - # Test that the image is generated correctly line_plot = dx.line(express_source, x="Values", y="Values2") line_plot_bytes = line_plot.to_image(template="ggplot2") line_plot_img = ui.image(src=line_plot_bytes, height=250, width=350) + +# Test bar charts +bar_x_fig = dx.bar(express_source, x="Values") +bar_y_fig = dx.bar(express_source, y="Values2") + +start = to_j_instant("2021-07-04T08:00:00 ET") +end = to_j_instant("2021-07-04T09:00:00 ET") + +timeline_source = new_table( + [ + datetime_col( + "Start", + [start, start, start, start, start, start, start, start, start], + ), + datetime_col("End", [end, end, end, end, end, end, end, end, end]), + string_col("Category", ["A", "B", "C", "D", "E", "F", "G", "H", "I"]), + ] +) + +timeline_fig = dx.timeline(timeline_source, x_start="Start", x_end="End", y="Category") + +# Test marginal charts +marginal_scatter_fig = dx.scatter( + express_source, + x="Values", + y="Values2", + marginal_x="rug", + marginal_y="histogram", + color_discrete_sequence=["salmon"], +) + +# Test financial charts +ohlc_source = new_table( + [ + datetime_col( + "Timestamp", + [ + to_j_instant("2021-07-04T08:00:00 ET"), + to_j_instant("2021-07-04T09:00:00 ET"), + to_j_instant("2021-07-04T10:00:00 ET"), + ], + ), + double_col("Open", [1.0, 2.0, 3.0]), + double_col("High", [2.0, 3.0, 4.0]), + double_col("Low", [0.5, 1.5, 2.5]), + double_col("Close", [1.5, 2.5, 3.5]), + ] +) + +ohlc_fig = dx.ohlc( + ohlc_source, x="Timestamp", open="Open", high="High", low="Low", close="Close" +) + +candlestick_fig = dx.candlestick( + ohlc_source, x="Timestamp", open="Open", high="High", low="Low", close="Close" +) diff --git a/tests/express.spec.ts b/tests/express.spec.ts index af84cee60..a61f74705 100644 --- a/tests/express.spec.ts +++ b/tests/express.spec.ts @@ -65,4 +65,40 @@ test('Chart image loads', async ({ page }) => { await gotoPage(page, ''); await openPanel(page, 'line_plot_img', SELECTORS.REACT_PANEL_VISIBLE); await expect(page.locator(SELECTORS.REACT_PANEL_VISIBLE)).toHaveScreenshot(); +}); + +test('Bar chart on x loads', async ({ page }) => { + await gotoPage(page, ''); + await openPanel(page, 'bar_x_fig', '.js-plotly-plot'); + await expect(page.locator('.iris-chart-panel')).toHaveScreenshot(); +}); + +test('Bar chart on y loads', async ({ page }) => { + await gotoPage(page, ''); + await openPanel(page, 'bar_y_fig', '.js-plotly-plot'); + await expect(page.locator('.iris-chart-panel')).toHaveScreenshot(); +}); + +test('Timeline chart loads', async ({ page }) => { + await gotoPage(page, ''); + await openPanel(page, 'timeline_fig', '.js-plotly-plot'); + await expect(page.locator('.iris-chart-panel')).toHaveScreenshot(); +}); + +test('Marginal chart loads', async ({ page }) => { + await gotoPage(page, ''); + await openPanel(page, 'marginal_scatter_fig', '.js-plotly-plot'); + await expect(page.locator('.iris-chart-panel')).toHaveScreenshot(); +}); + +test('OHLC chart loads', async ({ page }) => { + await gotoPage(page, ''); + await openPanel(page, 'ohlc_fig', '.js-plotly-plot'); + await expect(page.locator('.iris-chart-panel')).toHaveScreenshot(); +}); + +test('Candlestick chart loads', async ({ page }) => { + await gotoPage(page, ''); + await openPanel(page, 'candlestick_fig', '.js-plotly-plot'); + await expect(page.locator('.iris-chart-panel')).toHaveScreenshot(); }); \ No newline at end of file diff --git a/tests/express.spec.ts-snapshots/Bar-chart-on-x-loads-1-chromium-linux.png b/tests/express.spec.ts-snapshots/Bar-chart-on-x-loads-1-chromium-linux.png new file mode 100644 index 000000000..418aeadf4 Binary files /dev/null and b/tests/express.spec.ts-snapshots/Bar-chart-on-x-loads-1-chromium-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Bar-chart-on-x-loads-1-firefox-linux.png b/tests/express.spec.ts-snapshots/Bar-chart-on-x-loads-1-firefox-linux.png new file mode 100644 index 000000000..6dbf293cf Binary files /dev/null and b/tests/express.spec.ts-snapshots/Bar-chart-on-x-loads-1-firefox-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Bar-chart-on-x-loads-1-webkit-linux.png b/tests/express.spec.ts-snapshots/Bar-chart-on-x-loads-1-webkit-linux.png new file mode 100644 index 000000000..f7c278612 Binary files /dev/null and b/tests/express.spec.ts-snapshots/Bar-chart-on-x-loads-1-webkit-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Bar-chart-on-y-loads-1-chromium-linux.png b/tests/express.spec.ts-snapshots/Bar-chart-on-y-loads-1-chromium-linux.png new file mode 100644 index 000000000..f54909b9e Binary files /dev/null and b/tests/express.spec.ts-snapshots/Bar-chart-on-y-loads-1-chromium-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Bar-chart-on-y-loads-1-firefox-linux.png b/tests/express.spec.ts-snapshots/Bar-chart-on-y-loads-1-firefox-linux.png new file mode 100644 index 000000000..c403a9f66 Binary files /dev/null and b/tests/express.spec.ts-snapshots/Bar-chart-on-y-loads-1-firefox-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Bar-chart-on-y-loads-1-webkit-linux.png b/tests/express.spec.ts-snapshots/Bar-chart-on-y-loads-1-webkit-linux.png new file mode 100644 index 000000000..9d210defa Binary files /dev/null and b/tests/express.spec.ts-snapshots/Bar-chart-on-y-loads-1-webkit-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Candlestick-chart-loads-1-chromium-linux.png b/tests/express.spec.ts-snapshots/Candlestick-chart-loads-1-chromium-linux.png new file mode 100644 index 000000000..55fbdfffa Binary files /dev/null and b/tests/express.spec.ts-snapshots/Candlestick-chart-loads-1-chromium-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Candlestick-chart-loads-1-firefox-linux.png b/tests/express.spec.ts-snapshots/Candlestick-chart-loads-1-firefox-linux.png new file mode 100644 index 000000000..e8a778b7e Binary files /dev/null and b/tests/express.spec.ts-snapshots/Candlestick-chart-loads-1-firefox-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Candlestick-chart-loads-1-webkit-linux.png b/tests/express.spec.ts-snapshots/Candlestick-chart-loads-1-webkit-linux.png new file mode 100644 index 000000000..a158f1242 Binary files /dev/null and b/tests/express.spec.ts-snapshots/Candlestick-chart-loads-1-webkit-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Marginal-chart-loads-1-chromium-linux.png b/tests/express.spec.ts-snapshots/Marginal-chart-loads-1-chromium-linux.png new file mode 100644 index 000000000..b2a396d77 Binary files /dev/null and b/tests/express.spec.ts-snapshots/Marginal-chart-loads-1-chromium-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Marginal-chart-loads-1-firefox-linux.png b/tests/express.spec.ts-snapshots/Marginal-chart-loads-1-firefox-linux.png new file mode 100644 index 000000000..0309b48ce Binary files /dev/null and b/tests/express.spec.ts-snapshots/Marginal-chart-loads-1-firefox-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Marginal-chart-loads-1-webkit-linux.png b/tests/express.spec.ts-snapshots/Marginal-chart-loads-1-webkit-linux.png new file mode 100644 index 000000000..fa0b3fd0f Binary files /dev/null and b/tests/express.spec.ts-snapshots/Marginal-chart-loads-1-webkit-linux.png differ diff --git a/tests/express.spec.ts-snapshots/OHLC-chart-loads-1-chromium-linux.png b/tests/express.spec.ts-snapshots/OHLC-chart-loads-1-chromium-linux.png new file mode 100644 index 000000000..aeeb09d5f Binary files /dev/null and b/tests/express.spec.ts-snapshots/OHLC-chart-loads-1-chromium-linux.png differ diff --git a/tests/express.spec.ts-snapshots/OHLC-chart-loads-1-firefox-linux.png b/tests/express.spec.ts-snapshots/OHLC-chart-loads-1-firefox-linux.png new file mode 100644 index 000000000..c91faf34b Binary files /dev/null and b/tests/express.spec.ts-snapshots/OHLC-chart-loads-1-firefox-linux.png differ diff --git a/tests/express.spec.ts-snapshots/OHLC-chart-loads-1-webkit-linux.png b/tests/express.spec.ts-snapshots/OHLC-chart-loads-1-webkit-linux.png new file mode 100644 index 000000000..4139559b2 Binary files /dev/null and b/tests/express.spec.ts-snapshots/OHLC-chart-loads-1-webkit-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Timeline-chart-loads-1-chromium-linux.png b/tests/express.spec.ts-snapshots/Timeline-chart-loads-1-chromium-linux.png new file mode 100644 index 000000000..80def3d51 Binary files /dev/null and b/tests/express.spec.ts-snapshots/Timeline-chart-loads-1-chromium-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Timeline-chart-loads-1-firefox-linux.png b/tests/express.spec.ts-snapshots/Timeline-chart-loads-1-firefox-linux.png new file mode 100644 index 000000000..81e08dcbc Binary files /dev/null and b/tests/express.spec.ts-snapshots/Timeline-chart-loads-1-firefox-linux.png differ diff --git a/tests/express.spec.ts-snapshots/Timeline-chart-loads-1-webkit-linux.png b/tests/express.spec.ts-snapshots/Timeline-chart-loads-1-webkit-linux.png new file mode 100644 index 000000000..3796f7d5e Binary files /dev/null and b/tests/express.spec.ts-snapshots/Timeline-chart-loads-1-webkit-linux.png differ