From c33f0f049e9a2e9eeda1aa24667619e0f694818d Mon Sep 17 00:00:00 2001 From: mikebender Date: Fri, 12 Sep 2025 13:16:37 -0400 Subject: [PATCH 1/7] WIP ag-grid example --- package-lock.json | 1191 +++++++++++++++++++++++++++++- package.json | 2 + src/App.tsx | 22 +- src/DeephavenAgGridComponent.tsx | 20 + src/Utils.ts | 17 +- 5 files changed, 1228 insertions(+), 24 deletions(-) create mode 100644 src/DeephavenAgGridComponent.tsx diff --git a/package-lock.json b/package-lock.json index 7f843d4..5b0194e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,8 @@ "@deephaven/components": "^0.102.0", "@deephaven/dashboard": "^0.102.0", "@deephaven/iris-grid": "^0.102.0", + "@deephaven/js-plugin-ag-grid": "0.2.1-ag-grid-no-components.930+0ba58bc", + "@deephaven/jsapi-bootstrap": "^0.102.0", "@deephaven/jsapi-shim": "^0.102.0", "@deephaven/jsapi-types": "^1.0.0-dev0.39.5", "@deephaven/jsapi-utils": "^0.102.0", @@ -114,6 +116,97 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, + "node_modules/@ag-grid-community/core": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-community/core/-/core-32.3.9.tgz", + "integrity": "sha512-oZeAEPgaJVMzfKqbAPCyadcN5+iy+tjvhRLqEYJdBxtLgW/s2s0qXcXQvnrz7eUMD3Z7h3BQRVt2h/p0T6Ox/w==", + "dependencies": { + "ag-charts-types": "10.3.9", + "tslib": "^2.3.0" + } + }, + "node_modules/@ag-grid-community/react": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-community/react/-/react-32.3.9.tgz", + "integrity": "sha512-W21ELmhbniJQ2LMCytv5lwxz3FHpZp1iMp0Kvm9TXXxhldgDwMqVQa1uePeNBa068KIfXwnst0D2TGD8r0N/iA==", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "@ag-grid-community/core": "32.3.9", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@ag-grid-community/styles": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-community/styles/-/styles-32.3.9.tgz", + "integrity": "sha512-uPNR5EXeQqAIC0gohmY7CJ97cTIA/JtNSqAUzJ8AdVZcz4dbk9JJIl9DRFUYL+qWhMY+fUSTw2a+Yi6aOGSs8A==" + }, + "node_modules/@ag-grid-community/theming": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-community/theming/-/theming-32.3.9.tgz", + "integrity": "sha512-NRqeoISBJncWDYDATc+cxG7D5CgVuOkJRpz3hWnEBY/CjEHCM/HBIDJnv1ALsNsro/6iwALrpHrPaScJbDF9vw==", + "dependencies": { + "@ag-grid-community/core": "32.3.9", + "tslib": "^2.6.3" + } + }, + "node_modules/@ag-grid-enterprise/column-tool-panel": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/column-tool-panel/-/column-tool-panel-32.3.9.tgz", + "integrity": "sha512-+IlSh7EkTbBUSMF0IPqyix/Aogq7cjZDOvu0CQLZCmfZYuh4THoh5czrc+nk98V0b0nXxTopnvuuzfvfkInBsg==", + "dependencies": { + "@ag-grid-community/core": "32.3.9", + "@ag-grid-enterprise/core": "32.3.9", + "@ag-grid-enterprise/row-grouping": "32.3.9", + "@ag-grid-enterprise/side-bar": "32.3.9" + } + }, + "node_modules/@ag-grid-enterprise/core": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/core/-/core-32.3.9.tgz", + "integrity": "sha512-1iqtkoOdg/idVWLa8Dq6lfJOjajSkw8Z/MWFmDQTYgfhf2D/IZ9ECEo0BmU3fv42yjc7xIB8eLUIJsQ/UzZHXw==", + "dependencies": { + "@ag-grid-community/core": "32.3.9" + } + }, + "node_modules/@ag-grid-enterprise/row-grouping": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/row-grouping/-/row-grouping-32.3.9.tgz", + "integrity": "sha512-uvjuXp/B5jHTAf5v2y/v7R+/yZ8g8Y0YUaxOnapIAqRfqn7PdHqSk1RQySsz0pfLSWzNDWdag494VKRdO/3J+A==", + "dependencies": { + "@ag-grid-community/core": "32.3.9", + "@ag-grid-enterprise/core": "32.3.9" + } + }, + "node_modules/@ag-grid-enterprise/server-side-row-model": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/server-side-row-model/-/server-side-row-model-32.3.9.tgz", + "integrity": "sha512-D7QsBuDYiGAA3dBSKT6/PE5U9Uf3KyA+qoksggluooqRcSfwIzFMjlDXDfyGtKFTImO3/orO8Lo+XWbeyu5sRQ==", + "dependencies": { + "@ag-grid-community/core": "32.3.9", + "@ag-grid-enterprise/core": "32.3.9" + } + }, + "node_modules/@ag-grid-enterprise/side-bar": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/side-bar/-/side-bar-32.3.9.tgz", + "integrity": "sha512-sZbB/RSnuZzDk5Y3WRTc0QB2EjsCF6nvsl8fAnZz++UN3demYjNy6FLr0MWCtKe10dM7HbONC63gkW0qB6l7NA==", + "dependencies": { + "@ag-grid-community/core": "32.3.9", + "@ag-grid-enterprise/core": "32.3.9" + } + }, + "node_modules/@ag-grid-enterprise/viewport-row-model": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/viewport-row-model/-/viewport-row-model-32.3.9.tgz", + "integrity": "sha512-TFTr9fXueCKKZFvTQsf1eNG/rTCzpjbjfurE5gpiOqWSKZ42FgfCuCJKltYikSdYU8EgaPa2SE6XQgiYmAgH8w==", + "dependencies": { + "@ag-grid-community/core": "32.3.9", + "@ag-grid-enterprise/core": "32.3.9" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -500,6 +593,14 @@ "findup": "bin/findup.js" } }, + "node_modules/@deephaven-enterprise/jsapi-coreplus-types": { + "version": "1.20240517.510", + "resolved": "https://registry.npmjs.org/@deephaven-enterprise/jsapi-coreplus-types/-/jsapi-coreplus-types-1.20240517.510.tgz", + "integrity": "sha512-Hnm/qrmuu58I7NoTwIHr1Wgfm5r94DNCairn+nvjlFFdHGpmLuYoo6g74lqgyv9qPlr7TJfro8XLNznDYF3tWQ==", + "dependencies": { + "@deephaven/jsapi-types": "^1.0.0-dev0.39.2" + } + }, "node_modules/@deephaven-enterprise/jsapi-types": { "version": "1.20240723.147-beta", "resolved": "https://registry.npmjs.org/@deephaven-enterprise/jsapi-types/-/jsapi-types-1.20240723.147-beta.tgz", @@ -827,6 +928,552 @@ "node": "^18 || >=20" } }, + "node_modules/@deephaven/js-plugin-ag-grid": { + "version": "0.2.1-ag-grid-no-components.930", + "resolved": "https://registry.npmjs.org/@deephaven/js-plugin-ag-grid/-/js-plugin-ag-grid-0.2.1-ag-grid-no-components.930.tgz", + "integrity": "sha512-vI68CrLAy2loQdNwgl1HtywVgNidSCr2gABKM0nH5bPUm0wj811WeJ+Z8uwQrf0bofiAsSH6BkJRe/PUnaDkDA==", + "dependencies": { + "@ag-grid-community/core": "^32.3.9", + "@ag-grid-community/react": "^32.3.9", + "@ag-grid-community/styles": "^32.3.9", + "@ag-grid-community/theming": "^32.3.9", + "@ag-grid-enterprise/column-tool-panel": "^32.3.9", + "@ag-grid-enterprise/core": "^32.3.9", + "@ag-grid-enterprise/row-grouping": "^32.3.9", + "@ag-grid-enterprise/server-side-row-model": "^32.3.9", + "@ag-grid-enterprise/viewport-row-model": "^32.3.9", + "@deephaven-enterprise/jsapi-coreplus-types": "^1.20240517.510", + "@deephaven/icons": "^0.106.0", + "@deephaven/jsapi-bootstrap": "^0.106.2", + "@deephaven/jsapi-utils": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/plugin": "^0.106.4", + "@deephaven/redux": "^0.106.2", + "@deephaven/utils": "^0.106.0", + "classnames": "^2.5.1", + "lodash.throttle": "^4.1.1", + "react-redux": "^7.x" + }, + "peerDependencies": { + "react": "^17.0.2 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@deephaven/js-plugin-ag-grid/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/js-plugin-ag-grid/node_modules/@deephaven/chart/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/js-plugin-ag-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/js-plugin-ag-grid/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/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": ">=16.8.0" + } + }, + "node_modules/@deephaven/js-plugin-ag-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/js-plugin-ag-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/js-plugin-ag-grid/node_modules/@deephaven/jsapi-bootstrap/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/js-plugin-ag-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/js-plugin-ag-grid/node_modules/@deephaven/jsapi-components/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/js-plugin-ag-grid/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/js-plugin-ag-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/js-plugin-ag-grid/node_modules/@deephaven/plugin": { + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.106.4.tgz", + "integrity": "sha512-yjnKaBbYJk2Jozv8nTb9UCPv9zAs31SglNeeX1CCRGbk0u3U5Mo8e2KgsLJPszOHqxxMBgrtCRnbE5w9BYAN1w==", + "dependencies": { + "@deephaven/components": "^0.106.2", + "@deephaven/golden-layout": "^0.106.2", + "@deephaven/grid": "^0.106.3", + "@deephaven/icons": "^0.106.0", + "@deephaven/iris-grid": "^0.106.4", + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@fortawesome/fontawesome-common-types": "^6.1.1", + "@fortawesome/react-fontawesome": "^0.2.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@deephaven/js-plugin-ag-grid/node_modules/@deephaven/plugin/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/js-plugin-ag-grid/node_modules/@deephaven/plugin/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/js-plugin-ag-grid/node_modules/@deephaven/plugin/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/js-plugin-ag-grid/node_modules/@deephaven/plugin/node_modules/@deephaven/iris-grid/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": { + "@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" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@deephaven/js-plugin-ag-grid/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/js-plugin-ag-grid/node_modules/@deephaven/redux": { + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.106.4.tgz", + "integrity": "sha512-397hFksZ6J4HKu2KOU/ddRCklL6ZHX66KfCkdzE1RwIqaMp7DL3MpuFBdQemzYoUjhnlVBhyD1Y9J+Yk+aFgpg==", + "dependencies": { + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/jsapi-utils": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/plugin": "^0.106.4", + "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/js-plugin-ag-grid/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/js-plugin-ag-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/js-plugin-ag-grid/node_modules/nanoid": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, "node_modules/@deephaven/jsapi-bootstrap": { "version": "0.102.0", "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.102.0.tgz", @@ -5564,6 +6211,11 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/ag-charts-types": { + "version": "10.3.9", + "resolved": "https://registry.npmjs.org/ag-charts-types/-/ag-charts-types-10.3.9.tgz", + "integrity": "sha512-drcRiJVencliC8LnRwk4MmeQDNNBg5GzmOoLFihO3/k0CUK0VF/N+2nc7iFozwaNG0btSB9vAhYuJLjqHMtRrQ==" + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -5997,9 +6649,9 @@ "integrity": "sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==" }, "node_modules/classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" }, "node_modules/client-only": { "version": "0.0.1", @@ -10542,6 +11194,92 @@ "client-only": "^0.0.1" } }, + "@ag-grid-community/core": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-community/core/-/core-32.3.9.tgz", + "integrity": "sha512-oZeAEPgaJVMzfKqbAPCyadcN5+iy+tjvhRLqEYJdBxtLgW/s2s0qXcXQvnrz7eUMD3Z7h3BQRVt2h/p0T6Ox/w==", + "requires": { + "ag-charts-types": "10.3.9", + "tslib": "^2.3.0" + } + }, + "@ag-grid-community/react": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-community/react/-/react-32.3.9.tgz", + "integrity": "sha512-W21ELmhbniJQ2LMCytv5lwxz3FHpZp1iMp0Kvm9TXXxhldgDwMqVQa1uePeNBa068KIfXwnst0D2TGD8r0N/iA==", + "requires": { + "prop-types": "^15.8.1" + } + }, + "@ag-grid-community/styles": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-community/styles/-/styles-32.3.9.tgz", + "integrity": "sha512-uPNR5EXeQqAIC0gohmY7CJ97cTIA/JtNSqAUzJ8AdVZcz4dbk9JJIl9DRFUYL+qWhMY+fUSTw2a+Yi6aOGSs8A==" + }, + "@ag-grid-community/theming": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-community/theming/-/theming-32.3.9.tgz", + "integrity": "sha512-NRqeoISBJncWDYDATc+cxG7D5CgVuOkJRpz3hWnEBY/CjEHCM/HBIDJnv1ALsNsro/6iwALrpHrPaScJbDF9vw==", + "requires": { + "@ag-grid-community/core": "32.3.9", + "tslib": "^2.6.3" + } + }, + "@ag-grid-enterprise/column-tool-panel": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/column-tool-panel/-/column-tool-panel-32.3.9.tgz", + "integrity": "sha512-+IlSh7EkTbBUSMF0IPqyix/Aogq7cjZDOvu0CQLZCmfZYuh4THoh5czrc+nk98V0b0nXxTopnvuuzfvfkInBsg==", + "requires": { + "@ag-grid-community/core": "32.3.9", + "@ag-grid-enterprise/core": "32.3.9", + "@ag-grid-enterprise/row-grouping": "32.3.9", + "@ag-grid-enterprise/side-bar": "32.3.9" + } + }, + "@ag-grid-enterprise/core": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/core/-/core-32.3.9.tgz", + "integrity": "sha512-1iqtkoOdg/idVWLa8Dq6lfJOjajSkw8Z/MWFmDQTYgfhf2D/IZ9ECEo0BmU3fv42yjc7xIB8eLUIJsQ/UzZHXw==", + "requires": { + "@ag-grid-community/core": "32.3.9" + } + }, + "@ag-grid-enterprise/row-grouping": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/row-grouping/-/row-grouping-32.3.9.tgz", + "integrity": "sha512-uvjuXp/B5jHTAf5v2y/v7R+/yZ8g8Y0YUaxOnapIAqRfqn7PdHqSk1RQySsz0pfLSWzNDWdag494VKRdO/3J+A==", + "requires": { + "@ag-grid-community/core": "32.3.9", + "@ag-grid-enterprise/core": "32.3.9" + } + }, + "@ag-grid-enterprise/server-side-row-model": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/server-side-row-model/-/server-side-row-model-32.3.9.tgz", + "integrity": "sha512-D7QsBuDYiGAA3dBSKT6/PE5U9Uf3KyA+qoksggluooqRcSfwIzFMjlDXDfyGtKFTImO3/orO8Lo+XWbeyu5sRQ==", + "requires": { + "@ag-grid-community/core": "32.3.9", + "@ag-grid-enterprise/core": "32.3.9" + } + }, + "@ag-grid-enterprise/side-bar": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/side-bar/-/side-bar-32.3.9.tgz", + "integrity": "sha512-sZbB/RSnuZzDk5Y3WRTc0QB2EjsCF6nvsl8fAnZz++UN3demYjNy6FLr0MWCtKe10dM7HbONC63gkW0qB6l7NA==", + "requires": { + "@ag-grid-community/core": "32.3.9", + "@ag-grid-enterprise/core": "32.3.9" + } + }, + "@ag-grid-enterprise/viewport-row-model": { + "version": "32.3.9", + "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/viewport-row-model/-/viewport-row-model-32.3.9.tgz", + "integrity": "sha512-TFTr9fXueCKKZFvTQsf1eNG/rTCzpjbjfurE5gpiOqWSKZ42FgfCuCJKltYikSdYU8EgaPa2SE6XQgiYmAgH8w==", + "requires": { + "@ag-grid-community/core": "32.3.9", + "@ag-grid-enterprise/core": "32.3.9" + } + }, "@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -10829,6 +11567,14 @@ "commander": "^2.15.1" } }, + "@deephaven-enterprise/jsapi-coreplus-types": { + "version": "1.20240517.510", + "resolved": "https://registry.npmjs.org/@deephaven-enterprise/jsapi-coreplus-types/-/jsapi-coreplus-types-1.20240517.510.tgz", + "integrity": "sha512-Hnm/qrmuu58I7NoTwIHr1Wgfm5r94DNCairn+nvjlFFdHGpmLuYoo6g74lqgyv9qPlr7TJfro8XLNznDYF3tWQ==", + "requires": { + "@deephaven/jsapi-types": "^1.0.0-dev0.39.2" + } + }, "@deephaven-enterprise/jsapi-types": { "version": "1.20240723.147-beta", "resolved": "https://registry.npmjs.org/@deephaven-enterprise/jsapi-types/-/jsapi-types-1.20240723.147-beta.tgz", @@ -11053,6 +11799,434 @@ } } }, + "@deephaven/js-plugin-ag-grid": { + "version": "0.2.1-ag-grid-no-components.930", + "resolved": "https://registry.npmjs.org/@deephaven/js-plugin-ag-grid/-/js-plugin-ag-grid-0.2.1-ag-grid-no-components.930.tgz", + "integrity": "sha512-vI68CrLAy2loQdNwgl1HtywVgNidSCr2gABKM0nH5bPUm0wj811WeJ+Z8uwQrf0bofiAsSH6BkJRe/PUnaDkDA==", + "requires": { + "@ag-grid-community/core": "^32.3.9", + "@ag-grid-community/react": "^32.3.9", + "@ag-grid-community/styles": "^32.3.9", + "@ag-grid-community/theming": "^32.3.9", + "@ag-grid-enterprise/column-tool-panel": "^32.3.9", + "@ag-grid-enterprise/core": "^32.3.9", + "@ag-grid-enterprise/row-grouping": "^32.3.9", + "@ag-grid-enterprise/server-side-row-model": "^32.3.9", + "@ag-grid-enterprise/viewport-row-model": "^32.3.9", + "@deephaven-enterprise/jsapi-coreplus-types": "^1.20240517.510", + "@deephaven/icons": "^0.106.0", + "@deephaven/jsapi-bootstrap": "^0.106.2", + "@deephaven/jsapi-utils": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/plugin": "^0.106.4", + "@deephaven/redux": "^0.106.2", + "@deephaven/utils": "^0.106.0", + "classnames": "^2.5.1", + "lodash.throttle": "^4.1.1", + "react-redux": "^7.x" + }, + "dependencies": { + "@deephaven/chart": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.106.2.tgz", + "integrity": "sha512-38nyYZ56wpU8DakpWS2YbrdBUS6miDh6TsC20xYRZ+HFB2Io6NEsfqvW8rtir05N3UQXxTmGAew14Vqpdhc62g==", + "requires": { + "@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" + }, + "dependencies": { + "@deephaven/components": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", + "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", + "requires": { + "@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" + } + } + } + }, + "@deephaven/filters": { + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.106.0.tgz", + "integrity": "sha512-3zMXnUxqy7wSsFU1/74lrTJqm7nWOblSxFgktOH8HtWXSFzzXS9G+aey2cp5YEAEFyC2qoll6jqFilSX1D36Xw==" + }, + "@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==", + "requires": { + "@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/icons": { + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.106.0.tgz", + "integrity": "sha512-I41Le5SkNrvg2v29ylBHWFsKeep+HxlfJ5fKvAaU67c8Z0J6PsXzOZ8WcwsPkbTdmOf2RIdKgozUMLSVjzk+YQ==", + "requires": { + "@fortawesome/fontawesome-common-types": "^6.1.1" + } + }, + "@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==", + "requires": { + "@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" + }, + "dependencies": { + "@deephaven/components": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", + "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", + "requires": { + "@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" + } + } + } + }, + "@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==", + "requires": { + "@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" + }, + "dependencies": { + "@deephaven/components": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", + "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", + "requires": { + "@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" + } + } + } + }, + "@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==", + "requires": { + "@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" + } + }, + "@deephaven/log": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.106.2.tgz", + "integrity": "sha512-0yX5zrT51WDZnAKMlr4Lz4F/GYlsAb0YUq0sd3cSRclqD4OKmJrk57Ev8J4D23Rg4jQBwKunmQvdUatdTKcAHg==", + "requires": { + "event-target-shim": "^6.0.2", + "jszip": "^3.10.1" + } + }, + "@deephaven/plugin": { + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.106.4.tgz", + "integrity": "sha512-yjnKaBbYJk2Jozv8nTb9UCPv9zAs31SglNeeX1CCRGbk0u3U5Mo8e2KgsLJPszOHqxxMBgrtCRnbE5w9BYAN1w==", + "requires": { + "@deephaven/components": "^0.106.2", + "@deephaven/golden-layout": "^0.106.2", + "@deephaven/grid": "^0.106.3", + "@deephaven/icons": "^0.106.0", + "@deephaven/iris-grid": "^0.106.4", + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@fortawesome/fontawesome-common-types": "^6.1.1", + "@fortawesome/react-fontawesome": "^0.2.0" + }, + "dependencies": { + "@deephaven/components": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", + "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", + "requires": { + "@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" + } + }, + "@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==", + "requires": { + "@deephaven/components": "^0.106.2", + "jquery": "^3.6.0", + "nanoid": "^5.0.7" + } + }, + "@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==", + "requires": { + "@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" + }, + "dependencies": { + "@deephaven/console": { + "version": "0.106.3", + "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.106.3.tgz", + "integrity": "sha512-O+E7wI9PzokCrXA1iO0UKuS0JC2cGoB3tIT/4e0kMXUqGkhh4EOTMQsTBjFSkhzkCgoHy8u3cG9Ti9rvk1LFog==", + "requires": { + "@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/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==", + "requires": { + "@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" + } + }, + "@deephaven/redux": { + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.106.4.tgz", + "integrity": "sha512-397hFksZ6J4HKu2KOU/ddRCklL6ZHX66KfCkdzE1RwIqaMp7DL3MpuFBdQemzYoUjhnlVBhyD1Y9J+Yk+aFgpg==", + "requires": { + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/jsapi-utils": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/plugin": "^0.106.4", + "fast-deep-equal": "^3.1.3", + "proxy-memoize": "^3.0.0", + "redux-thunk": "2.4.1" + } + }, + "@deephaven/storage": { + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.106.2.tgz", + "integrity": "sha512-qX+rr93c9kH2u9TsBxRY84ymB08f94O7IA7LFxuJtQcib6UCCguT9QuTtuu5GLo2ciAgV9MqEQJ6ay16c6oFzw==", + "requires": { + "@deephaven/filters": "^0.106.0", + "@deephaven/log": "^0.106.2", + "lodash.throttle": "^4.1.1" + } + }, + "@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==" + }, + "nanoid": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==" + } + } + }, "@deephaven/jsapi-bootstrap": { "version": "0.102.0", "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.102.0.tgz", @@ -14679,6 +15853,11 @@ "dev": true, "requires": {} }, + "ag-charts-types": { + "version": "10.3.9", + "resolved": "https://registry.npmjs.org/ag-charts-types/-/ag-charts-types-10.3.9.tgz", + "integrity": "sha512-drcRiJVencliC8LnRwk4MmeQDNNBg5GzmOoLFihO3/k0CUK0VF/N+2nc7iFozwaNG0btSB9vAhYuJLjqHMtRrQ==" + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -14978,9 +16157,9 @@ "integrity": "sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==" }, "classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" }, "client-only": { "version": "0.0.1", diff --git a/package.json b/package.json index b67b370..f751c1f 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,8 @@ "@deephaven/components": "^0.102.0", "@deephaven/dashboard": "^0.102.0", "@deephaven/iris-grid": "^0.102.0", + "@deephaven/js-plugin-ag-grid": "0.2.1-ag-grid-no-components.930+0ba58bc", + "@deephaven/jsapi-bootstrap": "^0.102.0", "@deephaven/jsapi-shim": "^0.102.0", "@deephaven/jsapi-types": "^1.0.0-dev0.39.5", "@deephaven/jsapi-utils": "^0.102.0", diff --git a/src/App.tsx b/src/App.tsx index 76a7094..6e8496e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -17,7 +17,7 @@ import "./App.scss"; // Styles for in this app import { clientConnected, getCorePlusApi, - getGridModelByQueryName, + getTableByQueryName, getWebsocketUrl, isCorePlusWorkerKind, } from "./Utils"; @@ -40,7 +40,7 @@ const enterpriseApi = dh as EnterpriseDhType; */ async function createGridModel( client: EnterpriseClient -): Promise { +): Promise { // Create a new session... API is currently undocumented and subject to change in future revisions const ide: Ide = new enterpriseApi.Ide(client); @@ -128,7 +128,8 @@ async function createGridModel( const table = await session.getObject(definition); - return IrisGridModelFactory.makeModel(coreApi, table); + return table; + // return IrisGridModelFactory.makeModel(coreApi, table); } const dhConsole = await ide.createConsole(config); @@ -156,7 +157,8 @@ async function createGridModel( const table = await session.getObject(definition); - return IrisGridModelFactory.makeModel(enterpriseApi, table); + return table; + // return IrisGridModelFactory.makeModel(enterpriseApi, table); } /** @@ -168,7 +170,7 @@ async function createGridModel( * See create-react-app docs for how to update these env vars: https://create-react-app.dev/docs/adding-custom-environment-variables/ */ function App() { - const [model, setModel] = useState(); + const [table, setTable] = useState(); const [error, setError] = useState(); const [isLoading, setIsLoading] = useState(true); const [client, setClient] = useState(); @@ -196,11 +198,11 @@ function App() { const tableName = searchParams.get("tableName"); // If a table name was specified, load that table. Otherwise, create a new table. - const newModel = await (queryName && tableName - ? getGridModelByQueryName(client, queryName, tableName) + const newTable = await (queryName && tableName + ? getTableByQueryName(client, queryName, tableName) : createGridModel(client)); - setModel(newModel); + setTable(newTable); console.log("Table successfully loaded!"); } catch (e) { @@ -221,11 +223,11 @@ function App() { }; }, [client]); - const isLoaded = model != null; + const isLoaded = table != null; return (
- {isLoaded && } + {isLoaded && } {!isLoaded && ( + + + ); +} + +export default DeephavenAgGridComponent; diff --git a/src/Utils.ts b/src/Utils.ts index 6132051..9174421 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -10,7 +10,6 @@ import type { WorkerKind, } from "@deephaven-enterprise/jsapi-types"; import { dh as CoreDhType } from "@deephaven/jsapi-types"; -import { IrisGridModel, IrisGridModelFactory } from "@deephaven/iris-grid"; export const CLIENT_TIMEOUT = 60_000; @@ -137,11 +136,11 @@ export async function getCorePlusConnection( * @param name Name of the table to get * @returns Table object */ -export async function getGridModel( +export async function getTableModel( legacyClient: EnterpriseClient, queryInfo: QueryInfo, name: string -): Promise { +): Promise { const { workerKinds } = await legacyClient.getServerConfigValues(); if (isCorePlusQuery(queryInfo, workerKinds)) { // Getting the table from the Core+ query requires a Core+ API instance @@ -154,11 +153,13 @@ export async function getGridModel( type: "Table", }; const table = await connection.getObject(objectDefinition); - return IrisGridModelFactory.makeModel(api, table); + return table; + // return IrisGridModelFactory.makeModel(api, table); } // Get the table from the legacy query const table = await queryInfo.getTable(name); - return IrisGridModelFactory.makeModel(enterpriseApi, table); + return table; + // return IrisGridModelFactory.makeModel(enterpriseApi, table); } /** @@ -210,13 +211,13 @@ export async function getQuery( * @param tableName Name of the table to load * @returns Deephaven table */ -export async function getGridModelByQueryName( +export async function getTableByQueryName( legacyClient: EnterpriseClient, queryName: string, tableName: string -): Promise { +): Promise { const query = await getQuery(legacyClient, queryName); - return getGridModel(legacyClient, query, tableName); + return getTableModel(legacyClient, query, tableName); } /** From fb13c4fd19cc86a3fede15eaa202daf78be5ead6 Mon Sep 17 00:00:00 2001 From: mikebender Date: Tue, 13 Jan 2026 13:08:07 -0500 Subject: [PATCH 2/7] Update version of ag-grid plugin --- package-lock.json | 363 +++++++++++++++++++--------------------------- package.json | 2 +- src/App.tsx | 1 + 3 files changed, 155 insertions(+), 211 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5b0194e..03f259d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@deephaven/components": "^0.102.0", "@deephaven/dashboard": "^0.102.0", "@deephaven/iris-grid": "^0.102.0", - "@deephaven/js-plugin-ag-grid": "0.2.1-ag-grid-no-components.930+0ba58bc", + "@deephaven/js-plugin-ag-grid": "^0.5.2", "@deephaven/jsapi-bootstrap": "^0.102.0", "@deephaven/jsapi-shim": "^0.102.0", "@deephaven/jsapi-types": "^1.0.0-dev0.39.5", @@ -116,97 +116,6 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, - "node_modules/@ag-grid-community/core": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-community/core/-/core-32.3.9.tgz", - "integrity": "sha512-oZeAEPgaJVMzfKqbAPCyadcN5+iy+tjvhRLqEYJdBxtLgW/s2s0qXcXQvnrz7eUMD3Z7h3BQRVt2h/p0T6Ox/w==", - "dependencies": { - "ag-charts-types": "10.3.9", - "tslib": "^2.3.0" - } - }, - "node_modules/@ag-grid-community/react": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-community/react/-/react-32.3.9.tgz", - "integrity": "sha512-W21ELmhbniJQ2LMCytv5lwxz3FHpZp1iMp0Kvm9TXXxhldgDwMqVQa1uePeNBa068KIfXwnst0D2TGD8r0N/iA==", - "dependencies": { - "prop-types": "^15.8.1" - }, - "peerDependencies": { - "@ag-grid-community/core": "32.3.9", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/@ag-grid-community/styles": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-community/styles/-/styles-32.3.9.tgz", - "integrity": "sha512-uPNR5EXeQqAIC0gohmY7CJ97cTIA/JtNSqAUzJ8AdVZcz4dbk9JJIl9DRFUYL+qWhMY+fUSTw2a+Yi6aOGSs8A==" - }, - "node_modules/@ag-grid-community/theming": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-community/theming/-/theming-32.3.9.tgz", - "integrity": "sha512-NRqeoISBJncWDYDATc+cxG7D5CgVuOkJRpz3hWnEBY/CjEHCM/HBIDJnv1ALsNsro/6iwALrpHrPaScJbDF9vw==", - "dependencies": { - "@ag-grid-community/core": "32.3.9", - "tslib": "^2.6.3" - } - }, - "node_modules/@ag-grid-enterprise/column-tool-panel": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/column-tool-panel/-/column-tool-panel-32.3.9.tgz", - "integrity": "sha512-+IlSh7EkTbBUSMF0IPqyix/Aogq7cjZDOvu0CQLZCmfZYuh4THoh5czrc+nk98V0b0nXxTopnvuuzfvfkInBsg==", - "dependencies": { - "@ag-grid-community/core": "32.3.9", - "@ag-grid-enterprise/core": "32.3.9", - "@ag-grid-enterprise/row-grouping": "32.3.9", - "@ag-grid-enterprise/side-bar": "32.3.9" - } - }, - "node_modules/@ag-grid-enterprise/core": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/core/-/core-32.3.9.tgz", - "integrity": "sha512-1iqtkoOdg/idVWLa8Dq6lfJOjajSkw8Z/MWFmDQTYgfhf2D/IZ9ECEo0BmU3fv42yjc7xIB8eLUIJsQ/UzZHXw==", - "dependencies": { - "@ag-grid-community/core": "32.3.9" - } - }, - "node_modules/@ag-grid-enterprise/row-grouping": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/row-grouping/-/row-grouping-32.3.9.tgz", - "integrity": "sha512-uvjuXp/B5jHTAf5v2y/v7R+/yZ8g8Y0YUaxOnapIAqRfqn7PdHqSk1RQySsz0pfLSWzNDWdag494VKRdO/3J+A==", - "dependencies": { - "@ag-grid-community/core": "32.3.9", - "@ag-grid-enterprise/core": "32.3.9" - } - }, - "node_modules/@ag-grid-enterprise/server-side-row-model": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/server-side-row-model/-/server-side-row-model-32.3.9.tgz", - "integrity": "sha512-D7QsBuDYiGAA3dBSKT6/PE5U9Uf3KyA+qoksggluooqRcSfwIzFMjlDXDfyGtKFTImO3/orO8Lo+XWbeyu5sRQ==", - "dependencies": { - "@ag-grid-community/core": "32.3.9", - "@ag-grid-enterprise/core": "32.3.9" - } - }, - "node_modules/@ag-grid-enterprise/side-bar": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/side-bar/-/side-bar-32.3.9.tgz", - "integrity": "sha512-sZbB/RSnuZzDk5Y3WRTc0QB2EjsCF6nvsl8fAnZz++UN3demYjNy6FLr0MWCtKe10dM7HbONC63gkW0qB6l7NA==", - "dependencies": { - "@ag-grid-community/core": "32.3.9", - "@ag-grid-enterprise/core": "32.3.9" - } - }, - "node_modules/@ag-grid-enterprise/viewport-row-model": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/viewport-row-model/-/viewport-row-model-32.3.9.tgz", - "integrity": "sha512-TFTr9fXueCKKZFvTQsf1eNG/rTCzpjbjfurE5gpiOqWSKZ42FgfCuCJKltYikSdYU8EgaPa2SE6XQgiYmAgH8w==", - "dependencies": { - "@ag-grid-community/core": "32.3.9", - "@ag-grid-enterprise/core": "32.3.9" - } - }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -929,19 +838,10 @@ } }, "node_modules/@deephaven/js-plugin-ag-grid": { - "version": "0.2.1-ag-grid-no-components.930", - "resolved": "https://registry.npmjs.org/@deephaven/js-plugin-ag-grid/-/js-plugin-ag-grid-0.2.1-ag-grid-no-components.930.tgz", - "integrity": "sha512-vI68CrLAy2loQdNwgl1HtywVgNidSCr2gABKM0nH5bPUm0wj811WeJ+Z8uwQrf0bofiAsSH6BkJRe/PUnaDkDA==", - "dependencies": { - "@ag-grid-community/core": "^32.3.9", - "@ag-grid-community/react": "^32.3.9", - "@ag-grid-community/styles": "^32.3.9", - "@ag-grid-community/theming": "^32.3.9", - "@ag-grid-enterprise/column-tool-panel": "^32.3.9", - "@ag-grid-enterprise/core": "^32.3.9", - "@ag-grid-enterprise/row-grouping": "^32.3.9", - "@ag-grid-enterprise/server-side-row-model": "^32.3.9", - "@ag-grid-enterprise/viewport-row-model": "^32.3.9", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@deephaven/js-plugin-ag-grid/-/js-plugin-ag-grid-0.5.2.tgz", + "integrity": "sha512-WZJpYQV3HuhfcHcX/80HhMCunV1AoXxx+HvCrSE8Y6SFOdP3/pkk2bwInCL5APv0cZBD41UsSf/5yi8KFGkt5A==", + "dependencies": { "@deephaven-enterprise/jsapi-coreplus-types": "^1.20240517.510", "@deephaven/icons": "^0.106.0", "@deephaven/jsapi-bootstrap": "^0.106.2", @@ -950,6 +850,9 @@ "@deephaven/plugin": "^0.106.4", "@deephaven/redux": "^0.106.2", "@deephaven/utils": "^0.106.0", + "ag-grid-community": "^34.3.1", + "ag-grid-enterprise": "^34.3.1", + "ag-grid-react": "^34.3.1", "classnames": "^2.5.1", "lodash.throttle": "^4.1.1", "react-redux": "^7.x" @@ -6211,10 +6114,79 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/ag-charts-community": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ag-charts-community/-/ag-charts-community-12.3.1.tgz", + "integrity": "sha512-uRaUFmCl8e0Y3KxjaHUYlkCPS5OtwtfTChkdpoZuBKDXqerCPTjPu+uvlun3rYUSYxScwVf2LZCI0Hfw4Vc+WQ==", + "optional": true, + "dependencies": { + "ag-charts-core": "12.3.1", + "ag-charts-locale": "12.3.1", + "ag-charts-types": "12.3.1" + } + }, + "node_modules/ag-charts-core": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ag-charts-core/-/ag-charts-core-12.3.1.tgz", + "integrity": "sha512-711UJ0fXengb8+4PEW4nlzWDowmbYymPcjW2eJWHRzzvttUf14hnh+wP/l/s3EGVgYkEHe9vkXFwmeOJUlkC0Q==", + "optional": true, + "dependencies": { + "ag-charts-types": "12.3.1" + } + }, + "node_modules/ag-charts-enterprise": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ag-charts-enterprise/-/ag-charts-enterprise-12.3.1.tgz", + "integrity": "sha512-2sQIwLfksRTcI4JVRjgQkyGq6z68UVTO/I91HKmtpukrQLsW/o0TzzHmgTtVJOXd9yO9gx2KWa2DMg0+FKdXEQ==", + "optional": true, + "dependencies": { + "ag-charts-community": "12.3.1", + "ag-charts-core": "12.3.1" + } + }, + "node_modules/ag-charts-locale": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ag-charts-locale/-/ag-charts-locale-12.3.1.tgz", + "integrity": "sha512-dCn7oHh3xLI576FT514aBedNQgtb5zwh/Gcj7jHvjOWYRnfH8kaekZzLzntITA6dF6E78okJfoI7CUCbYduQ4Q==", + "optional": true + }, "node_modules/ag-charts-types": { - "version": "10.3.9", - "resolved": "https://registry.npmjs.org/ag-charts-types/-/ag-charts-types-10.3.9.tgz", - "integrity": "sha512-drcRiJVencliC8LnRwk4MmeQDNNBg5GzmOoLFihO3/k0CUK0VF/N+2nc7iFozwaNG0btSB9vAhYuJLjqHMtRrQ==" + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ag-charts-types/-/ag-charts-types-12.3.1.tgz", + "integrity": "sha512-5216xYoawnvMXDFI6kTpPku+mH0Csiwu/FE7lsAm8Z22HEN6ciSG/V7g+IrpLWncELqksgENebCTP75PZ3CsHA==" + }, + "node_modules/ag-grid-community": { + "version": "34.3.1", + "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-34.3.1.tgz", + "integrity": "sha512-PwlrPudsFOzGumphi2y9ihWeaUlIwKhOra/MXu2LjeV2U8DgLLcYS8CartE5Hszhn1poJHawwI9HWrxlKliwdw==", + "dependencies": { + "ag-charts-types": "12.3.1" + } + }, + "node_modules/ag-grid-enterprise": { + "version": "34.3.1", + "resolved": "https://registry.npmjs.org/ag-grid-enterprise/-/ag-grid-enterprise-34.3.1.tgz", + "integrity": "sha512-pee4Zh0gLeQED+RM+ofxNun9JSrYrE0ZVw90BibuBkhBCLXrtXtjGPiwM+Ylntl+GwJUuCXrTcVLXRHpdXVYbQ==", + "dependencies": { + "ag-grid-community": "34.3.1" + }, + "optionalDependencies": { + "ag-charts-community": "12.3.1", + "ag-charts-enterprise": "12.3.1" + } + }, + "node_modules/ag-grid-react": { + "version": "34.3.1", + "resolved": "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-34.3.1.tgz", + "integrity": "sha512-1UTlBT+xJkjNZAuf7RxK61mgxKGTPB+6XR99oIHq7cYC89kJmLbWqhHt/1XqRWF5cAgSKk8u+HtOQaN8tAZStw==", + "dependencies": { + "ag-grid-community": "34.3.1", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } }, "node_modules/ajv": { "version": "6.12.6", @@ -11194,92 +11166,6 @@ "client-only": "^0.0.1" } }, - "@ag-grid-community/core": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-community/core/-/core-32.3.9.tgz", - "integrity": "sha512-oZeAEPgaJVMzfKqbAPCyadcN5+iy+tjvhRLqEYJdBxtLgW/s2s0qXcXQvnrz7eUMD3Z7h3BQRVt2h/p0T6Ox/w==", - "requires": { - "ag-charts-types": "10.3.9", - "tslib": "^2.3.0" - } - }, - "@ag-grid-community/react": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-community/react/-/react-32.3.9.tgz", - "integrity": "sha512-W21ELmhbniJQ2LMCytv5lwxz3FHpZp1iMp0Kvm9TXXxhldgDwMqVQa1uePeNBa068KIfXwnst0D2TGD8r0N/iA==", - "requires": { - "prop-types": "^15.8.1" - } - }, - "@ag-grid-community/styles": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-community/styles/-/styles-32.3.9.tgz", - "integrity": "sha512-uPNR5EXeQqAIC0gohmY7CJ97cTIA/JtNSqAUzJ8AdVZcz4dbk9JJIl9DRFUYL+qWhMY+fUSTw2a+Yi6aOGSs8A==" - }, - "@ag-grid-community/theming": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-community/theming/-/theming-32.3.9.tgz", - "integrity": "sha512-NRqeoISBJncWDYDATc+cxG7D5CgVuOkJRpz3hWnEBY/CjEHCM/HBIDJnv1ALsNsro/6iwALrpHrPaScJbDF9vw==", - "requires": { - "@ag-grid-community/core": "32.3.9", - "tslib": "^2.6.3" - } - }, - "@ag-grid-enterprise/column-tool-panel": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/column-tool-panel/-/column-tool-panel-32.3.9.tgz", - "integrity": "sha512-+IlSh7EkTbBUSMF0IPqyix/Aogq7cjZDOvu0CQLZCmfZYuh4THoh5czrc+nk98V0b0nXxTopnvuuzfvfkInBsg==", - "requires": { - "@ag-grid-community/core": "32.3.9", - "@ag-grid-enterprise/core": "32.3.9", - "@ag-grid-enterprise/row-grouping": "32.3.9", - "@ag-grid-enterprise/side-bar": "32.3.9" - } - }, - "@ag-grid-enterprise/core": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/core/-/core-32.3.9.tgz", - "integrity": "sha512-1iqtkoOdg/idVWLa8Dq6lfJOjajSkw8Z/MWFmDQTYgfhf2D/IZ9ECEo0BmU3fv42yjc7xIB8eLUIJsQ/UzZHXw==", - "requires": { - "@ag-grid-community/core": "32.3.9" - } - }, - "@ag-grid-enterprise/row-grouping": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/row-grouping/-/row-grouping-32.3.9.tgz", - "integrity": "sha512-uvjuXp/B5jHTAf5v2y/v7R+/yZ8g8Y0YUaxOnapIAqRfqn7PdHqSk1RQySsz0pfLSWzNDWdag494VKRdO/3J+A==", - "requires": { - "@ag-grid-community/core": "32.3.9", - "@ag-grid-enterprise/core": "32.3.9" - } - }, - "@ag-grid-enterprise/server-side-row-model": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/server-side-row-model/-/server-side-row-model-32.3.9.tgz", - "integrity": "sha512-D7QsBuDYiGAA3dBSKT6/PE5U9Uf3KyA+qoksggluooqRcSfwIzFMjlDXDfyGtKFTImO3/orO8Lo+XWbeyu5sRQ==", - "requires": { - "@ag-grid-community/core": "32.3.9", - "@ag-grid-enterprise/core": "32.3.9" - } - }, - "@ag-grid-enterprise/side-bar": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/side-bar/-/side-bar-32.3.9.tgz", - "integrity": "sha512-sZbB/RSnuZzDk5Y3WRTc0QB2EjsCF6nvsl8fAnZz++UN3demYjNy6FLr0MWCtKe10dM7HbONC63gkW0qB6l7NA==", - "requires": { - "@ag-grid-community/core": "32.3.9", - "@ag-grid-enterprise/core": "32.3.9" - } - }, - "@ag-grid-enterprise/viewport-row-model": { - "version": "32.3.9", - "resolved": "https://registry.npmjs.org/@ag-grid-enterprise/viewport-row-model/-/viewport-row-model-32.3.9.tgz", - "integrity": "sha512-TFTr9fXueCKKZFvTQsf1eNG/rTCzpjbjfurE5gpiOqWSKZ42FgfCuCJKltYikSdYU8EgaPa2SE6XQgiYmAgH8w==", - "requires": { - "@ag-grid-community/core": "32.3.9", - "@ag-grid-enterprise/core": "32.3.9" - } - }, "@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -11800,19 +11686,10 @@ } }, "@deephaven/js-plugin-ag-grid": { - "version": "0.2.1-ag-grid-no-components.930", - "resolved": "https://registry.npmjs.org/@deephaven/js-plugin-ag-grid/-/js-plugin-ag-grid-0.2.1-ag-grid-no-components.930.tgz", - "integrity": "sha512-vI68CrLAy2loQdNwgl1HtywVgNidSCr2gABKM0nH5bPUm0wj811WeJ+Z8uwQrf0bofiAsSH6BkJRe/PUnaDkDA==", - "requires": { - "@ag-grid-community/core": "^32.3.9", - "@ag-grid-community/react": "^32.3.9", - "@ag-grid-community/styles": "^32.3.9", - "@ag-grid-community/theming": "^32.3.9", - "@ag-grid-enterprise/column-tool-panel": "^32.3.9", - "@ag-grid-enterprise/core": "^32.3.9", - "@ag-grid-enterprise/row-grouping": "^32.3.9", - "@ag-grid-enterprise/server-side-row-model": "^32.3.9", - "@ag-grid-enterprise/viewport-row-model": "^32.3.9", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@deephaven/js-plugin-ag-grid/-/js-plugin-ag-grid-0.5.2.tgz", + "integrity": "sha512-WZJpYQV3HuhfcHcX/80HhMCunV1AoXxx+HvCrSE8Y6SFOdP3/pkk2bwInCL5APv0cZBD41UsSf/5yi8KFGkt5A==", + "requires": { "@deephaven-enterprise/jsapi-coreplus-types": "^1.20240517.510", "@deephaven/icons": "^0.106.0", "@deephaven/jsapi-bootstrap": "^0.106.2", @@ -11821,6 +11698,9 @@ "@deephaven/plugin": "^0.106.4", "@deephaven/redux": "^0.106.2", "@deephaven/utils": "^0.106.0", + "ag-grid-community": "^34.3.1", + "ag-grid-enterprise": "^34.3.1", + "ag-grid-react": "^34.3.1", "classnames": "^2.5.1", "lodash.throttle": "^4.1.1", "react-redux": "^7.x" @@ -15853,10 +15733,73 @@ "dev": true, "requires": {} }, + "ag-charts-community": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ag-charts-community/-/ag-charts-community-12.3.1.tgz", + "integrity": "sha512-uRaUFmCl8e0Y3KxjaHUYlkCPS5OtwtfTChkdpoZuBKDXqerCPTjPu+uvlun3rYUSYxScwVf2LZCI0Hfw4Vc+WQ==", + "optional": true, + "requires": { + "ag-charts-core": "12.3.1", + "ag-charts-locale": "12.3.1", + "ag-charts-types": "12.3.1" + } + }, + "ag-charts-core": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ag-charts-core/-/ag-charts-core-12.3.1.tgz", + "integrity": "sha512-711UJ0fXengb8+4PEW4nlzWDowmbYymPcjW2eJWHRzzvttUf14hnh+wP/l/s3EGVgYkEHe9vkXFwmeOJUlkC0Q==", + "optional": true, + "requires": { + "ag-charts-types": "12.3.1" + } + }, + "ag-charts-enterprise": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ag-charts-enterprise/-/ag-charts-enterprise-12.3.1.tgz", + "integrity": "sha512-2sQIwLfksRTcI4JVRjgQkyGq6z68UVTO/I91HKmtpukrQLsW/o0TzzHmgTtVJOXd9yO9gx2KWa2DMg0+FKdXEQ==", + "optional": true, + "requires": { + "ag-charts-community": "12.3.1", + "ag-charts-core": "12.3.1" + } + }, + "ag-charts-locale": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ag-charts-locale/-/ag-charts-locale-12.3.1.tgz", + "integrity": "sha512-dCn7oHh3xLI576FT514aBedNQgtb5zwh/Gcj7jHvjOWYRnfH8kaekZzLzntITA6dF6E78okJfoI7CUCbYduQ4Q==", + "optional": true + }, "ag-charts-types": { - "version": "10.3.9", - "resolved": "https://registry.npmjs.org/ag-charts-types/-/ag-charts-types-10.3.9.tgz", - "integrity": "sha512-drcRiJVencliC8LnRwk4MmeQDNNBg5GzmOoLFihO3/k0CUK0VF/N+2nc7iFozwaNG0btSB9vAhYuJLjqHMtRrQ==" + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/ag-charts-types/-/ag-charts-types-12.3.1.tgz", + "integrity": "sha512-5216xYoawnvMXDFI6kTpPku+mH0Csiwu/FE7lsAm8Z22HEN6ciSG/V7g+IrpLWncELqksgENebCTP75PZ3CsHA==" + }, + "ag-grid-community": { + "version": "34.3.1", + "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-34.3.1.tgz", + "integrity": "sha512-PwlrPudsFOzGumphi2y9ihWeaUlIwKhOra/MXu2LjeV2U8DgLLcYS8CartE5Hszhn1poJHawwI9HWrxlKliwdw==", + "requires": { + "ag-charts-types": "12.3.1" + } + }, + "ag-grid-enterprise": { + "version": "34.3.1", + "resolved": "https://registry.npmjs.org/ag-grid-enterprise/-/ag-grid-enterprise-34.3.1.tgz", + "integrity": "sha512-pee4Zh0gLeQED+RM+ofxNun9JSrYrE0ZVw90BibuBkhBCLXrtXtjGPiwM+Ylntl+GwJUuCXrTcVLXRHpdXVYbQ==", + "requires": { + "ag-charts-community": "12.3.1", + "ag-charts-enterprise": "12.3.1", + "ag-grid-community": "34.3.1" + } + }, + "ag-grid-react": { + "version": "34.3.1", + "resolved": "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-34.3.1.tgz", + "integrity": "sha512-1UTlBT+xJkjNZAuf7RxK61mgxKGTPB+6XR99oIHq7cYC89kJmLbWqhHt/1XqRWF5cAgSKk8u+HtOQaN8tAZStw==", + "requires": { + "ag-grid-community": "34.3.1", + "prop-types": "^15.8.1" + } }, "ajv": { "version": "6.12.6", diff --git a/package.json b/package.json index f751c1f..1647250 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "@deephaven/components": "^0.102.0", "@deephaven/dashboard": "^0.102.0", "@deephaven/iris-grid": "^0.102.0", - "@deephaven/js-plugin-ag-grid": "0.2.1-ag-grid-no-components.930+0ba58bc", + "@deephaven/js-plugin-ag-grid": "^0.5.2", "@deephaven/jsapi-bootstrap": "^0.102.0", "@deephaven/jsapi-shim": "^0.102.0", "@deephaven/jsapi-types": "^1.0.0-dev0.39.5", diff --git a/src/App.tsx b/src/App.tsx index 6e8496e..0b957b5 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -21,6 +21,7 @@ import { getWebsocketUrl, isCorePlusWorkerKind, } from "./Utils"; +import DeephavenAgGridComponent from "./DeephavenAgGridComponent"; const API_URL = import.meta.env.VITE_DEEPHAVEN_API_URL ?? ""; From 6664d7168575f7ed1f1dea97751faef6863607f6 Mon Sep 17 00:00:00 2001 From: mikebender Date: Wed, 14 Jan 2026 10:48:46 -0500 Subject: [PATCH 3/7] Update packages --- package-lock.json | 2288 ++++++++++++++------------------------------- package.json | 12 +- 2 files changed, 700 insertions(+), 1600 deletions(-) diff --git a/package-lock.json b/package-lock.json index 03f259d..6d526d5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,14 +9,14 @@ "version": "0.0.0", "dependencies": { "@deephaven-enterprise/jsapi-types": "1.20240723.147-beta", - "@deephaven/components": "^0.102.0", - "@deephaven/dashboard": "^0.102.0", - "@deephaven/iris-grid": "^0.102.0", + "@deephaven/components": "^0.106.2", + "@deephaven/dashboard": "^0.106.2", + "@deephaven/iris-grid": "^0.106.2", "@deephaven/js-plugin-ag-grid": "^0.5.2", - "@deephaven/jsapi-bootstrap": "^0.102.0", - "@deephaven/jsapi-shim": "^0.102.0", + "@deephaven/jsapi-bootstrap": "^0.106.2", + "@deephaven/jsapi-shim": "^0.106.0", "@deephaven/jsapi-types": "^1.0.0-dev0.39.5", - "@deephaven/jsapi-utils": "^0.102.0", + "@deephaven/jsapi-utils": "^0.106.2", "react": "^17.0.2", "react-dom": "^17.0.2", "react-router-dom": "^6.24.0" @@ -519,17 +519,17 @@ } }, "node_modules/@deephaven/chart": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.102.0.tgz", - "integrity": "sha512-uztL+K5IlTXPVXcLzYVkO3VlyGlBTEJbqyqc3bIMsRuwiG27YSfU+Wc6B2s8OljhR1If3Ejae27bgkCAVWcKZg==", - "dependencies": { - "@deephaven/components": "^0.102.0", - "@deephaven/icons": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "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", @@ -548,21 +548,22 @@ } }, "node_modules/@deephaven/components": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.102.0.tgz", - "integrity": "sha512-cofLvfexDVWGdUQBbymD6DbplkIbzmuAY2MQFTO25Orj664Y0rhmA5d3nk1Bdu7XFc1nzFzoOQMm8OWEsla3nw==", + "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.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/utils": "^0.102.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", @@ -608,21 +609,21 @@ } }, "node_modules/@deephaven/console": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.102.0.tgz", - "integrity": "sha512-3SXLkW555/Yh0WQBZwzq2VjprqyzgRk0mkN/o3yrl3GznLd6VJGspA4heVX9+nSe/bHaHdoOrXolt+b0tfQtJA==", + "version": "0.106.3", + "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.106.3.tgz", + "integrity": "sha512-O+E7wI9PzokCrXA1iO0UKuS0JC2cGoB3tIT/4e0kMXUqGkhh4EOTMQsTBjFSkhzkCgoHy8u3cG9Ti9rvk1LFog==", "dependencies": { "@astral-sh/ruff-wasm-web": "0.6.4", - "@deephaven/chart": "^0.102.0", - "@deephaven/components": "^0.102.0", - "@deephaven/icons": "^0.102.0", - "@deephaven/jsapi-bootstrap": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/storage": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "@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", @@ -646,9 +647,9 @@ } }, "node_modules/@deephaven/console/node_modules/nanoid": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", - "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", "funding": [ { "type": "github", @@ -663,16 +664,16 @@ } }, "node_modules/@deephaven/dashboard": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-0.102.0.tgz", - "integrity": "sha512-vi1Cr6fFW3uCt3T+XDky6fQ5V2m/8Yl0OCpDfYpmZqRdfYGsCj83FWa12OA7jUsA7vgeGWbL9X8/KJ4Lr7xW3A==", - "dependencies": { - "@deephaven/components": "^0.102.0", - "@deephaven/golden-layout": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/redux": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-0.106.4.tgz", + "integrity": "sha512-PkSMbw7ykALAID3OPqKP5OggQXwjHe8MFysPLLaSI4gIYObB3y8l1PuUbMnILMdPVlbgar9m20WjrgIoLynWtg==", + "dependencies": { + "@deephaven/components": "^0.106.2", + "@deephaven/golden-layout": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@deephaven/redux": "^0.106.4", + "@deephaven/utils": "^0.106.0", "fast-deep-equal": "^3.1.3", "lodash.ismatch": "^4.1.1", "lodash.throttle": "^4.1.1", @@ -706,19 +707,19 @@ } }, "node_modules/@deephaven/filters": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.102.0.tgz", - "integrity": "sha512-K1NIZnDpCY43KUEijeLoL5T7qRMTrFs1JEZJSOwrqSvazcQiojz9ZgxXiLmnSCz4vPq9/cYarC05ShJklNptJg==", + "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/golden-layout": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.102.0.tgz", - "integrity": "sha512-Uku10hS+mPLi8xyy+rUqRWDJv4ooB1qlnxKb6qThF8rNLtnzczq41jc4SijHWWCSWtv7DaFw8HkeNuMwHrUHMw==", + "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.102.0", + "@deephaven/components": "^0.106.2", "jquery": "^3.6.0", "nanoid": "^5.0.7" }, @@ -728,9 +729,9 @@ } }, "node_modules/@deephaven/golden-layout/node_modules/nanoid": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", - "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", "funding": [ { "type": "github", @@ -745,11 +746,11 @@ } }, "node_modules/@deephaven/grid": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.102.0.tgz", - "integrity": "sha512-C3e+uxTNJA2aTM+CJsxfDeqXT50jpKn2//zVdUeAe4qoSUkPEH85A+xdMZHQX1FL6GBy8sB+szIa0NAUQ4tCDw==", + "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/utils": "^0.102.0", + "@deephaven/utils": "^0.106.0", "classnames": "^2.3.1", "color-convert": "^2.0.1", "event-target-shim": "^6.0.2", @@ -767,9 +768,9 @@ } }, "node_modules/@deephaven/icons": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.102.0.tgz", - "integrity": "sha512-k5XjVhQcm679NtBVEZs8g826+fU4D6NDz6igzPs3JszuiY5ca/zGW1wWS5mZPjBGOh2urLeS0gG8E87oX8Oo3Q==", + "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" }, @@ -779,22 +780,22 @@ } }, "node_modules/@deephaven/iris-grid": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.102.0.tgz", - "integrity": "sha512-taOX/rK0oK/AH6fnU6GXke1x2FlEiWAo67XMiTsuvFYyOScIfqLyUt7l+zTVlq871oFuKGwOoy9i5aWfvnhLFg==", - "dependencies": { - "@deephaven/components": "^0.102.0", - "@deephaven/console": "^0.102.0", - "@deephaven/filters": "^0.102.0", - "@deephaven/grid": "^0.102.0", - "@deephaven/icons": "^0.102.0", - "@deephaven/jsapi-components": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/storage": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "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", @@ -821,9 +822,9 @@ } }, "node_modules/@deephaven/iris-grid/node_modules/nanoid": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", - "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", "funding": [ { "type": "github", @@ -862,122 +863,7 @@ "react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0" } }, - "node_modules/@deephaven/js-plugin-ag-grid/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/js-plugin-ag-grid/node_modules/@deephaven/chart/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/js-plugin-ag-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/js-plugin-ag-grid/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/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": ">=16.8.0" - } - }, - "node_modules/@deephaven/js-plugin-ag-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/js-plugin-ag-grid/node_modules/@deephaven/jsapi-bootstrap": { + "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==", @@ -985,408 +871,8 @@ "@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/js-plugin-ag-grid/node_modules/@deephaven/jsapi-bootstrap/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/js-plugin-ag-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/js-plugin-ag-grid/node_modules/@deephaven/jsapi-components/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/js-plugin-ag-grid/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/js-plugin-ag-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/js-plugin-ag-grid/node_modules/@deephaven/plugin": { - "version": "0.106.4", - "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.106.4.tgz", - "integrity": "sha512-yjnKaBbYJk2Jozv8nTb9UCPv9zAs31SglNeeX1CCRGbk0u3U5Mo8e2KgsLJPszOHqxxMBgrtCRnbE5w9BYAN1w==", - "dependencies": { - "@deephaven/components": "^0.106.2", - "@deephaven/golden-layout": "^0.106.2", - "@deephaven/grid": "^0.106.3", - "@deephaven/icons": "^0.106.0", - "@deephaven/iris-grid": "^0.106.4", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.106.2", - "@deephaven/react-hooks": "^0.106.2", - "@fortawesome/fontawesome-common-types": "^6.1.1", - "@fortawesome/react-fontawesome": "^0.2.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@deephaven/js-plugin-ag-grid/node_modules/@deephaven/plugin/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/js-plugin-ag-grid/node_modules/@deephaven/plugin/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/js-plugin-ag-grid/node_modules/@deephaven/plugin/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/js-plugin-ag-grid/node_modules/@deephaven/plugin/node_modules/@deephaven/iris-grid/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": { - "@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" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@deephaven/js-plugin-ag-grid/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/js-plugin-ag-grid/node_modules/@deephaven/redux": { - "version": "0.106.4", - "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.106.4.tgz", - "integrity": "sha512-397hFksZ6J4HKu2KOU/ddRCklL6ZHX66KfCkdzE1RwIqaMp7DL3MpuFBdQemzYoUjhnlVBhyD1Y9J+Yk+aFgpg==", - "dependencies": { - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.106.2", - "@deephaven/log": "^0.106.2", - "@deephaven/plugin": "^0.106.4", - "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/js-plugin-ag-grid/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/js-plugin-ag-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/js-plugin-ag-grid/node_modules/nanoid": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", - "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.js" - }, - "engines": { - "node": "^18 || >=20" - } - }, - "node_modules/@deephaven/jsapi-bootstrap": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.102.0.tgz", - "integrity": "sha512-+k/rKJKzlzCzopKG1p6IfdhHSnSvq/5LnxipQ/DK6oQq/QPC7lLjUq14ifyTDe4fS5ns/golPn6VHBmKcWFkxQ==", - "dependencies": { - "@deephaven/components": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/utils": "^0.102.0" + "@deephaven/react-hooks": "^0.106.2", + "@deephaven/utils": "^0.106.0" }, "engines": { "node": ">=16" @@ -1396,17 +882,17 @@ } }, "node_modules/@deephaven/jsapi-components": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.102.0.tgz", - "integrity": "sha512-MdS7OU3GBETGL8DbvAfvIg2xx/AbZddqKz9vml7KGAnDOzuCQef6fF9TjujG/bYrXyAThon1f297+RVr/JWLJw==", - "dependencies": { - "@deephaven/components": "^0.102.0", - "@deephaven/jsapi-bootstrap": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "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", @@ -1421,11 +907,11 @@ } }, "node_modules/@deephaven/jsapi-shim": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-shim/-/jsapi-shim-0.102.0.tgz", - "integrity": "sha512-BTgKBmba3YZ1BVka5JUsSYkDUe4xbNDbfSFqShreme2g/lZRIlxYcZbNhlpnvZ96Gxxvh9MLrfCD5ocCZLcY2w==", + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-shim/-/jsapi-shim-0.106.0.tgz", + "integrity": "sha512-SHvrruII0ixX1NHmm/2l0F99fmp3zrvRiv8KpQLd0h+lJbLXRh/WWqrTs3IXZKahAr86/c2RaydsbiMaXFTWwQ==", "dependencies": { - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", "prop-types": "^15.7.2" }, "engines": { @@ -1438,14 +924,14 @@ "integrity": "sha512-R3YjoTj22+d4r/yl4haq40Ep5uV2Xk7xnqZX7N1Ah/9ARPvoi7O0afv+OZQoALpWChhuhk3PvlBgpCW7AbnmoQ==" }, "node_modules/@deephaven/jsapi-utils": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.102.0.tgz", - "integrity": "sha512-5bV8iOChttvU/+gxymmchiPFMBJ0RTtKzLOZ8z8tEOiW1/AV2bks+QDIOu6T7oDLpsSAFXdDg0J3MxHaw52X9Q==", - "dependencies": { - "@deephaven/filters": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "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" }, @@ -1454,9 +940,9 @@ } }, "node_modules/@deephaven/jsapi-utils/node_modules/nanoid": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", - "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", "funding": [ { "type": "github", @@ -1471,9 +957,9 @@ } }, "node_modules/@deephaven/log": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.102.0.tgz", - "integrity": "sha512-RaWHil+xJw9FwchXjeJFuWKvNFjd/7LaiuYmPx1zXuSH1Ah7gRNKPEMKGBUC911OtRxNVBsO9P4UPccMm6PyLA==", + "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" @@ -1483,18 +969,18 @@ } }, "node_modules/@deephaven/plugin": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.102.0.tgz", - "integrity": "sha512-5GruTOAvMkY7rxYcisDMjLQTHAh3ptCP1f9a4f6zIoJGKJWB2VEJb2uIKrZhv6is2azSBSsxYn5j5LyH718z0g==", - "dependencies": { - "@deephaven/components": "^0.102.0", - "@deephaven/golden-layout": "^0.102.0", - "@deephaven/grid": "^0.102.0", - "@deephaven/icons": "^0.102.0", - "@deephaven/iris-grid": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.106.4.tgz", + "integrity": "sha512-yjnKaBbYJk2Jozv8nTb9UCPv9zAs31SglNeeX1CCRGbk0u3U5Mo8e2KgsLJPszOHqxxMBgrtCRnbE5w9BYAN1w==", + "dependencies": { + "@deephaven/components": "^0.106.2", + "@deephaven/golden-layout": "^0.106.2", + "@deephaven/grid": "^0.106.3", + "@deephaven/icons": "^0.106.0", + "@deephaven/iris-grid": "^0.106.4", + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", "@fortawesome/fontawesome-common-types": "^6.1.1", "@fortawesome/react-fontawesome": "^0.2.0" }, @@ -1506,13 +992,13 @@ } }, "node_modules/@deephaven/react-hooks": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.102.0.tgz", - "integrity": "sha512-ewMcD8QG5P15dJ2p1pk37ZcZxomFZGa9rTmz6PlW8NyP1Ib4hW9yGdtXO1PoXUUaLRklGM1zrTv4DKdmTEG2Fg==", + "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.102.0", - "@deephaven/utils": "^0.102.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" @@ -1525,9 +1011,9 @@ } }, "node_modules/@deephaven/react-hooks/node_modules/nanoid": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", - "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", "funding": [ { "type": "github", @@ -1542,14 +1028,14 @@ } }, "node_modules/@deephaven/redux": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.102.0.tgz", - "integrity": "sha512-5l7E6MggDStWyvY00S6xJOxsAiHOwyIUb2JDqKbzFlD1KtKrVlaGMLKUpHGK6L3/Ku213CkzmAYOMlO/D2jr6g==", - "dependencies": { - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/plugin": "^0.102.0", + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.106.4.tgz", + "integrity": "sha512-397hFksZ6J4HKu2KOU/ddRCklL6ZHX66KfCkdzE1RwIqaMp7DL3MpuFBdQemzYoUjhnlVBhyD1Y9J+Yk+aFgpg==", + "dependencies": { + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/jsapi-utils": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/plugin": "^0.106.4", "fast-deep-equal": "^3.1.3", "proxy-memoize": "^3.0.0", "redux-thunk": "2.4.1" @@ -1562,12 +1048,12 @@ } }, "node_modules/@deephaven/storage": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.102.0.tgz", - "integrity": "sha512-kgmHB4/gbrK4BP3dM4W7zoKEGimGVVpvJlzXVWiv/UqnFJ72FezJfJsBg3zhAEfjKsIpRhmArBL1Hq/5xHOPqA==", + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.106.2.tgz", + "integrity": "sha512-qX+rr93c9kH2u9TsBxRY84ymB08f94O7IA7LFxuJtQcib6UCCguT9QuTtuu5GLo2ciAgV9MqEQJ6ay16c6oFzw==", "dependencies": { - "@deephaven/filters": "^0.102.0", - "@deephaven/log": "^0.102.0", + "@deephaven/filters": "^0.106.0", + "@deephaven/log": "^0.106.2", "lodash.throttle": "^4.1.1" }, "engines": { @@ -1578,9 +1064,9 @@ } }, "node_modules/@deephaven/utils": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.102.0.tgz", - "integrity": "sha512-aD12/ObluzmonUtxotASZTeyOtjSiJySTC13o5y/RS9/oVwihhKURsOyAnc2h6k2BW2MDZxgencUyNg7T0w03g==", + "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" } @@ -5518,12 +5004,12 @@ } }, "node_modules/@turf/area": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.2.0.tgz", - "integrity": "sha512-zuTTdQ4eoTI9nSSjerIy4QwgvxqwJVciQJ8tOPuMHbXJ9N/dNjI7bU8tasjhxas/Cx3NE9NxVHtNpYHL0FSzoA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.3.1.tgz", + "integrity": "sha512-9nSiwt4zB5QDMcSoTxF28WpK1f741MNKcpUJDiHVRX08CZ4qfGWGV9ZIPQ8TVEn5RE4LyYkFuQ47Z9pdEUZE9Q==", "dependencies": { - "@turf/helpers": "^7.2.0", - "@turf/meta": "^7.2.0", + "@turf/helpers": "7.3.1", + "@turf/meta": "7.3.1", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5532,12 +5018,12 @@ } }, "node_modules/@turf/bbox": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.2.0.tgz", - "integrity": "sha512-wzHEjCXlYZiDludDbXkpBSmv8Zu6tPGLmJ1sXQ6qDwpLE1Ew3mcWqt8AaxfTP5QwDNQa3sf2vvgTEzNbPQkCiA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.3.1.tgz", + "integrity": "sha512-/IyMKoS7P9B0ch5PIlQ6gMfoE8gRr48+cSbzlyexvEjuDuaAV1VURjH1jAthS0ipFG8RrFxFJKnp7TLL1Skong==", "dependencies": { - "@turf/helpers": "^7.2.0", - "@turf/meta": "^7.2.0", + "@turf/helpers": "7.3.1", + "@turf/meta": "7.3.1", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5546,12 +5032,12 @@ } }, "node_modules/@turf/centroid": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-7.2.0.tgz", - "integrity": "sha512-yJqDSw25T7P48au5KjvYqbDVZ7qVnipziVfZ9aSo7P2/jTE7d4BP21w0/XLi3T/9bry/t9PR1GDDDQljN4KfDw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-7.3.1.tgz", + "integrity": "sha512-hRnsDdVBH4pX9mAjYympb2q5W8TCMUMNEjcRrAF7HTCyjIuRmjJf8vUtlzf7TTn9RXbsvPc1vtm3kLw20Jm8DQ==", "dependencies": { - "@turf/helpers": "^7.2.0", - "@turf/meta": "^7.2.0", + "@turf/helpers": "7.3.1", + "@turf/meta": "7.3.1", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5560,9 +5046,9 @@ } }, "node_modules/@turf/helpers": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.2.0.tgz", - "integrity": "sha512-cXo7bKNZoa7aC7ydLmUR02oB3IgDe7MxiPuRz3cCtYQHn+BJ6h1tihmamYDWWUlPHgSNF0i3ATc4WmDECZafKw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.3.1.tgz", + "integrity": "sha512-zkL34JVhi5XhsuMEO0MUTIIFEJ8yiW1InMu4hu/oRqamlY4mMoZql0viEmH6Dafh/p+zOl8OYvMJ3Vm3rFshgg==", "dependencies": { "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" @@ -5572,11 +5058,11 @@ } }, "node_modules/@turf/meta": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.2.0.tgz", - "integrity": "sha512-igzTdHsQc8TV1RhPuOLVo74Px/hyPrVgVOTgjWQZzt3J9BVseCdpfY/0cJBdlSRI4S/yTmmHl7gAqjhpYH5Yaw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.3.1.tgz", + "integrity": "sha512-NWsfOE5RVtWpLQNkfOF/RrYvLRPwwruxhZUV0UFIzHqfiRJ50aO9Y6uLY4bwCUe2TumLJQSR4yaoA72Rmr2mnQ==", "dependencies": { - "@turf/helpers": "^7.2.0", + "@turf/helpers": "7.3.1", "@types/geojson": "^7946.0.10" }, "funding": { @@ -5604,15 +5090,15 @@ } }, "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "peer": true }, "node_modules/@types/geojson": { - "version": "7946.0.15", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.15.tgz", - "integrity": "sha512-9oSxFzDCT2Rj6DfcHF8G++jxBKS7mBqXl5xrRW+Kbvjry6Uduya2iiwqHPhVXpasAVMBYKkEPGgKhd3+/HZ6xA==" + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==" }, "node_modules/@types/geojson-vt": { "version": "3.2.5", @@ -5637,9 +5123,9 @@ "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==" }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/mapbox__point-geometry": { "version": "0.1.4", @@ -6095,9 +5581,9 @@ "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==" }, "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "bin": { "acorn": "bin/acorn" }, @@ -6105,6 +5591,18 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "peer": true, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -6192,6 +5690,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -6242,15 +5741,6 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "peer": true }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, "node_modules/almost-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", @@ -6384,6 +5874,14 @@ } ] }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.14", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.14.tgz", + "integrity": "sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg==", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -6459,9 +5957,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "funding": [ { "type": "opencollective", @@ -6477,10 +5975,11 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -6527,9 +6026,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001690", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", - "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", + "version": "1.0.30001764", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001764.tgz", + "integrity": "sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g==", "funding": [ { "type": "opencollective", @@ -7126,9 +6625,9 @@ "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==" }, "node_modules/electron-to-chromium": { - "version": "1.5.79", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.79.tgz", - "integrity": "sha512-nYOxJNxQ9Om4EC88BE4pPoNI8xwSFf8pU/BAeOl4Hh/b/i6V4biTAzwV7pXi3ARKeoYO5JZKMIXTryXSVer5RA==" + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==" }, "node_modules/element-size": { "version": "1.1.1", @@ -7144,17 +6643,17 @@ } }, "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz", - "integrity": "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==", + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", "peer": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -7165,9 +6664,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", "peer": true }, "node_modules/es5-ext": { @@ -7671,7 +7170,8 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -7680,9 +7180,9 @@ "dev": true }, "node_modules/fast-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.5.tgz", - "integrity": "sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "funding": [ { "type": "github", @@ -7860,9 +7360,9 @@ "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==" }, "node_modules/gl-matrix": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", - "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.4.tgz", + "integrity": "sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==" }, "node_modules/gl-text": { "version": "1.4.0", @@ -8608,7 +8108,8 @@ "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -8684,12 +8185,16 @@ "integrity": "sha512-pCj3PrQyATaoTYKHrgWRF3SJwsm61udVh+vuls/Rl6SptiDhgE7ziUIudAedRY9QEfynmM7/RmLEfPUyw1HPCw==" }, "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", "peer": true, "engines": { "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/locate-path": { @@ -8860,9 +8365,9 @@ } }, "node_modules/maplibre-gl/node_modules/@mapbox/tiny-sdf": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.6.tgz", - "integrity": "sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.7.tgz", + "integrity": "sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug==" }, "node_modules/maplibre-gl/node_modules/@mapbox/unitbezier": { "version": "0.0.1", @@ -8870,9 +8375,9 @@ "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==" }, "node_modules/maplibre-gl/node_modules/earcut": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.1.tgz", - "integrity": "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.2.tgz", + "integrity": "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==" }, "node_modules/maplibre-gl/node_modules/geojson-vt": { "version": "4.0.2", @@ -8880,9 +8385,9 @@ "integrity": "sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==" }, "node_modules/maplibre-gl/node_modules/potpack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.0.0.tgz", - "integrity": "sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.1.0.tgz", + "integrity": "sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==" }, "node_modules/maplibre-gl/node_modules/quickselect": { "version": "3.0.0", @@ -9115,9 +8620,9 @@ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==" + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -9494,9 +8999,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -9576,6 +9081,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, "engines": { "node": ">=6" } @@ -10053,11 +9559,11 @@ } }, "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dependencies": { - "is-core-module": "^2.16.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -10190,9 +9696,12 @@ } }, "node_modules/sax": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "engines": { + "node": ">=11.0.0" + } }, "node_modules/scheduler": { "version": "0.20.2", @@ -10204,14 +9713,15 @@ } }, "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "peer": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { "node": ">= 10.13.0" @@ -10221,6 +9731,40 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "peer": true + }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -10292,9 +9836,9 @@ } }, "node_modules/shell-quote": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", - "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", "engines": { "node": ">= 0.4" }, @@ -10522,12 +10066,16 @@ } }, "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "peer": true, "engines": { "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/terser": { @@ -10549,9 +10097,9 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", - "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", @@ -10582,59 +10130,6 @@ } } }, - "node_modules/terser-webpack-plugin/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "peer": true - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", - "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -10806,9 +10301,9 @@ "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" }, "node_modules/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "funding": [ { "type": "opencollective", @@ -10843,6 +10338,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -10934,9 +10430,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz", + "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==", "peer": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -10960,34 +10456,36 @@ } }, "node_modules/webpack": { - "version": "5.97.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", - "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.104.1.tgz", + "integrity": "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==", "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", + "enhanced-resolve": "^5.17.4", + "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", + "loader-runner": "^4.3.1", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.16", + "watchpack": "^2.4.4", + "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" @@ -11006,9 +10504,9 @@ } }, "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", "peer": true, "engines": { "node": ">=10.13.0" @@ -11052,9 +10550,9 @@ } }, "node_modules/world-calendars": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/world-calendars/-/world-calendars-1.0.3.tgz", - "integrity": "sha512-sAjLZkBnsbHkHWVhrsCU5Sa/EVuf9QqgvrN8zyJ2L/F9FR9Oc6CvVK0674+PGAtmmmYQMH98tCUSO4QLQv3/TQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/world-calendars/-/world-calendars-1.0.4.tgz", + "integrity": "sha512-VGRnLJS+xJmGDPodgJRnGIDwGu0s+Cr9V2HB3EzlDZ5n0qb8h5SJtGUEkjrphZYAglEiXZ6kiXdmk0H/h/uu/w==", "dependencies": { "object-assign": "^4.1.0" } @@ -11470,17 +10968,17 @@ } }, "@deephaven/chart": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.102.0.tgz", - "integrity": "sha512-uztL+K5IlTXPVXcLzYVkO3VlyGlBTEJbqyqc3bIMsRuwiG27YSfU+Wc6B2s8OljhR1If3Ejae27bgkCAVWcKZg==", - "requires": { - "@deephaven/components": "^0.102.0", - "@deephaven/icons": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.106.2.tgz", + "integrity": "sha512-38nyYZ56wpU8DakpWS2YbrdBUS6miDh6TsC20xYRZ+HFB2Io6NEsfqvW8rtir05N3UQXxTmGAew14Vqpdhc62g==", + "requires": { + "@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", @@ -11493,21 +10991,22 @@ } }, "@deephaven/components": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.102.0.tgz", - "integrity": "sha512-cofLvfexDVWGdUQBbymD6DbplkIbzmuAY2MQFTO25Orj664Y0rhmA5d3nk1Bdu7XFc1nzFzoOQMm8OWEsla3nw==", + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", + "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", "requires": { "@adobe/react-spectrum": "3.38.0", - "@deephaven/icons": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/utils": "^0.102.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", @@ -11535,21 +11034,21 @@ } }, "@deephaven/console": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.102.0.tgz", - "integrity": "sha512-3SXLkW555/Yh0WQBZwzq2VjprqyzgRk0mkN/o3yrl3GznLd6VJGspA4heVX9+nSe/bHaHdoOrXolt+b0tfQtJA==", + "version": "0.106.3", + "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.106.3.tgz", + "integrity": "sha512-O+E7wI9PzokCrXA1iO0UKuS0JC2cGoB3tIT/4e0kMXUqGkhh4EOTMQsTBjFSkhzkCgoHy8u3cG9Ti9rvk1LFog==", "requires": { "@astral-sh/ruff-wasm-web": "0.6.4", - "@deephaven/chart": "^0.102.0", - "@deephaven/components": "^0.102.0", - "@deephaven/icons": "^0.102.0", - "@deephaven/jsapi-bootstrap": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/storage": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "@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", @@ -11566,23 +11065,23 @@ }, "dependencies": { "nanoid": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", - "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==" + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==" } } }, "@deephaven/dashboard": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-0.102.0.tgz", - "integrity": "sha512-vi1Cr6fFW3uCt3T+XDky6fQ5V2m/8Yl0OCpDfYpmZqRdfYGsCj83FWa12OA7jUsA7vgeGWbL9X8/KJ4Lr7xW3A==", - "requires": { - "@deephaven/components": "^0.102.0", - "@deephaven/golden-layout": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/redux": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-0.106.4.tgz", + "integrity": "sha512-PkSMbw7ykALAID3OPqKP5OggQXwjHe8MFysPLLaSI4gIYObB3y8l1PuUbMnILMdPVlbgar9m20WjrgIoLynWtg==", + "requires": { + "@deephaven/components": "^0.106.2", + "@deephaven/golden-layout": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", + "@deephaven/redux": "^0.106.4", + "@deephaven/utils": "^0.106.0", "fast-deep-equal": "^3.1.3", "lodash.ismatch": "^4.1.1", "lodash.throttle": "^4.1.1", @@ -11598,33 +11097,33 @@ } }, "@deephaven/filters": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.102.0.tgz", - "integrity": "sha512-K1NIZnDpCY43KUEijeLoL5T7qRMTrFs1JEZJSOwrqSvazcQiojz9ZgxXiLmnSCz4vPq9/cYarC05ShJklNptJg==" + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.106.0.tgz", + "integrity": "sha512-3zMXnUxqy7wSsFU1/74lrTJqm7nWOblSxFgktOH8HtWXSFzzXS9G+aey2cp5YEAEFyC2qoll6jqFilSX1D36Xw==" }, "@deephaven/golden-layout": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.102.0.tgz", - "integrity": "sha512-Uku10hS+mPLi8xyy+rUqRWDJv4ooB1qlnxKb6qThF8rNLtnzczq41jc4SijHWWCSWtv7DaFw8HkeNuMwHrUHMw==", + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.106.2.tgz", + "integrity": "sha512-VI2KN8B4lSC1lnlpgZs3j11ENMnq/mcCm1ulXEetjkkK6iV72hpyJRq0EKI+EEP93aiLvCKV7vCWyMDpHuzPuQ==", "requires": { - "@deephaven/components": "^0.102.0", + "@deephaven/components": "^0.106.2", "jquery": "^3.6.0", "nanoid": "^5.0.7" }, "dependencies": { "nanoid": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", - "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==" + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==" } } }, "@deephaven/grid": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.102.0.tgz", - "integrity": "sha512-C3e+uxTNJA2aTM+CJsxfDeqXT50jpKn2//zVdUeAe4qoSUkPEH85A+xdMZHQX1FL6GBy8sB+szIa0NAUQ4tCDw==", + "version": "0.106.3", + "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.106.3.tgz", + "integrity": "sha512-sfAwqmf3rLGiq782+ADEeii2rjk+Os+Qlh1vWdLxavYohTGpwQsVdYMzxxbktz+GR50D1WcHQrsfT+SQr4wAxg==", "requires": { - "@deephaven/utils": "^0.102.0", + "@deephaven/utils": "^0.106.0", "classnames": "^2.3.1", "color-convert": "^2.0.1", "event-target-shim": "^6.0.2", @@ -11636,30 +11135,30 @@ } }, "@deephaven/icons": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.102.0.tgz", - "integrity": "sha512-k5XjVhQcm679NtBVEZs8g826+fU4D6NDz6igzPs3JszuiY5ca/zGW1wWS5mZPjBGOh2urLeS0gG8E87oX8Oo3Q==", + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.106.0.tgz", + "integrity": "sha512-I41Le5SkNrvg2v29ylBHWFsKeep+HxlfJ5fKvAaU67c8Z0J6PsXzOZ8WcwsPkbTdmOf2RIdKgozUMLSVjzk+YQ==", "requires": { "@fortawesome/fontawesome-common-types": "^6.1.1" } }, "@deephaven/iris-grid": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.102.0.tgz", - "integrity": "sha512-taOX/rK0oK/AH6fnU6GXke1x2FlEiWAo67XMiTsuvFYyOScIfqLyUt7l+zTVlq871oFuKGwOoy9i5aWfvnhLFg==", - "requires": { - "@deephaven/components": "^0.102.0", - "@deephaven/console": "^0.102.0", - "@deephaven/filters": "^0.102.0", - "@deephaven/grid": "^0.102.0", - "@deephaven/icons": "^0.102.0", - "@deephaven/jsapi-components": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/storage": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.106.4.tgz", + "integrity": "sha512-ntNxbfBUgj0IjErzMysWJb831LKL4R7poSBBk/FGluqUOA5tsP5SyrZ2quGU7qchQMzV0XWY8zvvtiL/xzp4MA==", + "requires": { + "@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", @@ -11679,9 +11178,9 @@ }, "dependencies": { "nanoid": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", - "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==" + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==" } } }, @@ -11704,433 +11203,32 @@ "classnames": "^2.5.1", "lodash.throttle": "^4.1.1", "react-redux": "^7.x" - }, - "dependencies": { - "@deephaven/chart": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.106.2.tgz", - "integrity": "sha512-38nyYZ56wpU8DakpWS2YbrdBUS6miDh6TsC20xYRZ+HFB2Io6NEsfqvW8rtir05N3UQXxTmGAew14Vqpdhc62g==", - "requires": { - "@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" - }, - "dependencies": { - "@deephaven/components": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", - "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", - "requires": { - "@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" - } - } - } - }, - "@deephaven/filters": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.106.0.tgz", - "integrity": "sha512-3zMXnUxqy7wSsFU1/74lrTJqm7nWOblSxFgktOH8HtWXSFzzXS9G+aey2cp5YEAEFyC2qoll6jqFilSX1D36Xw==" - }, - "@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==", - "requires": { - "@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/icons": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.106.0.tgz", - "integrity": "sha512-I41Le5SkNrvg2v29ylBHWFsKeep+HxlfJ5fKvAaU67c8Z0J6PsXzOZ8WcwsPkbTdmOf2RIdKgozUMLSVjzk+YQ==", - "requires": { - "@fortawesome/fontawesome-common-types": "^6.1.1" - } - }, - "@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==", - "requires": { - "@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" - }, - "dependencies": { - "@deephaven/components": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", - "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", - "requires": { - "@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" - } - } - } - }, - "@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==", - "requires": { - "@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" - }, - "dependencies": { - "@deephaven/components": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", - "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", - "requires": { - "@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" - } - } - } - }, - "@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==", - "requires": { - "@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" - } - }, - "@deephaven/log": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.106.2.tgz", - "integrity": "sha512-0yX5zrT51WDZnAKMlr4Lz4F/GYlsAb0YUq0sd3cSRclqD4OKmJrk57Ev8J4D23Rg4jQBwKunmQvdUatdTKcAHg==", - "requires": { - "event-target-shim": "^6.0.2", - "jszip": "^3.10.1" - } - }, - "@deephaven/plugin": { - "version": "0.106.4", - "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.106.4.tgz", - "integrity": "sha512-yjnKaBbYJk2Jozv8nTb9UCPv9zAs31SglNeeX1CCRGbk0u3U5Mo8e2KgsLJPszOHqxxMBgrtCRnbE5w9BYAN1w==", - "requires": { - "@deephaven/components": "^0.106.2", - "@deephaven/golden-layout": "^0.106.2", - "@deephaven/grid": "^0.106.3", - "@deephaven/icons": "^0.106.0", - "@deephaven/iris-grid": "^0.106.4", - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/log": "^0.106.2", - "@deephaven/react-hooks": "^0.106.2", - "@fortawesome/fontawesome-common-types": "^6.1.1", - "@fortawesome/react-fontawesome": "^0.2.0" - }, - "dependencies": { - "@deephaven/components": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.106.2.tgz", - "integrity": "sha512-nQz3o2ty95SrT6+mm8BNaDAKK5jhPJdTOhxyzMUmMEJWTBSxb53hvfzP/760hpn9r5S25FqFLZc/heVZXVJ4Aw==", - "requires": { - "@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" - } - }, - "@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==", - "requires": { - "@deephaven/components": "^0.106.2", - "jquery": "^3.6.0", - "nanoid": "^5.0.7" - } - }, - "@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==", - "requires": { - "@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" - }, - "dependencies": { - "@deephaven/console": { - "version": "0.106.3", - "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.106.3.tgz", - "integrity": "sha512-O+E7wI9PzokCrXA1iO0UKuS0JC2cGoB3tIT/4e0kMXUqGkhh4EOTMQsTBjFSkhzkCgoHy8u3cG9Ti9rvk1LFog==", - "requires": { - "@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/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==", - "requires": { - "@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" - } - }, - "@deephaven/redux": { - "version": "0.106.4", - "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.106.4.tgz", - "integrity": "sha512-397hFksZ6J4HKu2KOU/ddRCklL6ZHX66KfCkdzE1RwIqaMp7DL3MpuFBdQemzYoUjhnlVBhyD1Y9J+Yk+aFgpg==", - "requires": { - "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", - "@deephaven/jsapi-utils": "^0.106.2", - "@deephaven/log": "^0.106.2", - "@deephaven/plugin": "^0.106.4", - "fast-deep-equal": "^3.1.3", - "proxy-memoize": "^3.0.0", - "redux-thunk": "2.4.1" - } - }, - "@deephaven/storage": { - "version": "0.106.2", - "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.106.2.tgz", - "integrity": "sha512-qX+rr93c9kH2u9TsBxRY84ymB08f94O7IA7LFxuJtQcib6UCCguT9QuTtuu5GLo2ciAgV9MqEQJ6ay16c6oFzw==", - "requires": { - "@deephaven/filters": "^0.106.0", - "@deephaven/log": "^0.106.2", - "lodash.throttle": "^4.1.1" - } - }, - "@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==" - }, - "nanoid": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", - "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==" - } } }, "@deephaven/jsapi-bootstrap": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.102.0.tgz", - "integrity": "sha512-+k/rKJKzlzCzopKG1p6IfdhHSnSvq/5LnxipQ/DK6oQq/QPC7lLjUq14ifyTDe4fS5ns/golPn6VHBmKcWFkxQ==", + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.106.2.tgz", + "integrity": "sha512-6Yi5X5WddNmbPB96ta7/BK7vsSlmT15XSgGUjMEY1xy14e+dqhedfcsfeq17O7RqSRKT0glvgw2YblD5JGYl8Q==", "requires": { - "@deephaven/components": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/utils": "^0.102.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" } }, "@deephaven/jsapi-components": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.102.0.tgz", - "integrity": "sha512-MdS7OU3GBETGL8DbvAfvIg2xx/AbZddqKz9vml7KGAnDOzuCQef6fF9TjujG/bYrXyAThon1f297+RVr/JWLJw==", - "requires": { - "@deephaven/components": "^0.102.0", - "@deephaven/jsapi-bootstrap": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.106.2.tgz", + "integrity": "sha512-1cxVAqGInoSDyUvBiZ7bGxw5BNYibB+sWSHMu+5kzmLSWgN8YyB7CKP8YaWtcL0FMhdLsahmakmCXuKoyLq1qw==", + "requires": { + "@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", @@ -12139,11 +11237,11 @@ } }, "@deephaven/jsapi-shim": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-shim/-/jsapi-shim-0.102.0.tgz", - "integrity": "sha512-BTgKBmba3YZ1BVka5JUsSYkDUe4xbNDbfSFqShreme2g/lZRIlxYcZbNhlpnvZ96Gxxvh9MLrfCD5ocCZLcY2w==", + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-shim/-/jsapi-shim-0.106.0.tgz", + "integrity": "sha512-SHvrruII0ixX1NHmm/2l0F99fmp3zrvRiv8KpQLd0h+lJbLXRh/WWqrTs3IXZKahAr86/c2RaydsbiMaXFTWwQ==", "requires": { - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", "prop-types": "^15.7.2" } }, @@ -12153,99 +11251,99 @@ "integrity": "sha512-R3YjoTj22+d4r/yl4haq40Ep5uV2Xk7xnqZX7N1Ah/9ARPvoi7O0afv+OZQoALpWChhuhk3PvlBgpCW7AbnmoQ==" }, "@deephaven/jsapi-utils": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.102.0.tgz", - "integrity": "sha512-5bV8iOChttvU/+gxymmchiPFMBJ0RTtKzLOZ8z8tEOiW1/AV2bks+QDIOu6T7oDLpsSAFXdDg0J3MxHaw52X9Q==", - "requires": { - "@deephaven/filters": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.102.0", - "@deephaven/utils": "^0.102.0", + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.106.2.tgz", + "integrity": "sha512-i/0Zflqa2MuOD47Q11dcAyizVgcJLrMzKIBrj9Txv1ZFDrPxEUamUxTDh7nHysCrz3RQrlNWLiB2ijLkMFuvXw==", + "requires": { + "@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" }, "dependencies": { "nanoid": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", - "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==" + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==" } } }, "@deephaven/log": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.102.0.tgz", - "integrity": "sha512-RaWHil+xJw9FwchXjeJFuWKvNFjd/7LaiuYmPx1zXuSH1Ah7gRNKPEMKGBUC911OtRxNVBsO9P4UPccMm6PyLA==", + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.106.2.tgz", + "integrity": "sha512-0yX5zrT51WDZnAKMlr4Lz4F/GYlsAb0YUq0sd3cSRclqD4OKmJrk57Ev8J4D23Rg4jQBwKunmQvdUatdTKcAHg==", "requires": { "event-target-shim": "^6.0.2", "jszip": "^3.10.1" } }, "@deephaven/plugin": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.102.0.tgz", - "integrity": "sha512-5GruTOAvMkY7rxYcisDMjLQTHAh3ptCP1f9a4f6zIoJGKJWB2VEJb2uIKrZhv6is2azSBSsxYn5j5LyH718z0g==", - "requires": { - "@deephaven/components": "^0.102.0", - "@deephaven/golden-layout": "^0.102.0", - "@deephaven/grid": "^0.102.0", - "@deephaven/icons": "^0.102.0", - "@deephaven/iris-grid": "^0.102.0", - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/log": "^0.102.0", - "@deephaven/react-hooks": "^0.102.0", + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.106.4.tgz", + "integrity": "sha512-yjnKaBbYJk2Jozv8nTb9UCPv9zAs31SglNeeX1CCRGbk0u3U5Mo8e2KgsLJPszOHqxxMBgrtCRnbE5w9BYAN1w==", + "requires": { + "@deephaven/components": "^0.106.2", + "@deephaven/golden-layout": "^0.106.2", + "@deephaven/grid": "^0.106.3", + "@deephaven/icons": "^0.106.0", + "@deephaven/iris-grid": "^0.106.4", + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/log": "^0.106.2", + "@deephaven/react-hooks": "^0.106.2", "@fortawesome/fontawesome-common-types": "^6.1.1", "@fortawesome/react-fontawesome": "^0.2.0" } }, "@deephaven/react-hooks": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.102.0.tgz", - "integrity": "sha512-ewMcD8QG5P15dJ2p1pk37ZcZxomFZGa9rTmz6PlW8NyP1Ib4hW9yGdtXO1PoXUUaLRklGM1zrTv4DKdmTEG2Fg==", + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.106.2.tgz", + "integrity": "sha512-SOr+HeLTk94Y+d8LUvR5iDAjlry3zr+EOJkkqv08NRY87hmhztYkiGTmFFXIe47DKSg0P12CaMD1Zp7wXvnEAg==", "requires": { "@adobe/react-spectrum": "3.38.0", - "@deephaven/log": "^0.102.0", - "@deephaven/utils": "^0.102.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" }, "dependencies": { "nanoid": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", - "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==" + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==" } } }, "@deephaven/redux": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.102.0.tgz", - "integrity": "sha512-5l7E6MggDStWyvY00S6xJOxsAiHOwyIUb2JDqKbzFlD1KtKrVlaGMLKUpHGK6L3/Ku213CkzmAYOMlO/D2jr6g==", - "requires": { - "@deephaven/jsapi-types": "^1.0.0-dev0.34.0", - "@deephaven/jsapi-utils": "^0.102.0", - "@deephaven/log": "^0.102.0", - "@deephaven/plugin": "^0.102.0", + "version": "0.106.4", + "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.106.4.tgz", + "integrity": "sha512-397hFksZ6J4HKu2KOU/ddRCklL6ZHX66KfCkdzE1RwIqaMp7DL3MpuFBdQemzYoUjhnlVBhyD1Y9J+Yk+aFgpg==", + "requires": { + "@deephaven/jsapi-types": "^1.0.0-dev0.37.2", + "@deephaven/jsapi-utils": "^0.106.2", + "@deephaven/log": "^0.106.2", + "@deephaven/plugin": "^0.106.4", "fast-deep-equal": "^3.1.3", "proxy-memoize": "^3.0.0", "redux-thunk": "2.4.1" } }, "@deephaven/storage": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.102.0.tgz", - "integrity": "sha512-kgmHB4/gbrK4BP3dM4W7zoKEGimGVVpvJlzXVWiv/UqnFJ72FezJfJsBg3zhAEfjKsIpRhmArBL1Hq/5xHOPqA==", + "version": "0.106.2", + "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.106.2.tgz", + "integrity": "sha512-qX+rr93c9kH2u9TsBxRY84ymB08f94O7IA7LFxuJtQcib6UCCguT9QuTtuu5GLo2ciAgV9MqEQJ6ay16c6oFzw==", "requires": { - "@deephaven/filters": "^0.102.0", - "@deephaven/log": "^0.102.0", + "@deephaven/filters": "^0.106.0", + "@deephaven/log": "^0.106.2", "lodash.throttle": "^4.1.1" } }, "@deephaven/utils": { - "version": "0.102.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.102.0.tgz", - "integrity": "sha512-aD12/ObluzmonUtxotASZTeyOtjSiJySTC13o5y/RS9/oVwihhKURsOyAnc2h6k2BW2MDZxgencUyNg7T0w03g==" + "version": "0.106.0", + "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.106.0.tgz", + "integrity": "sha512-P5EsEl/rtA/KGZDQu8FDtovERRp/muRfJgrPunZdQy9stWSW0zYBFRHnLZCEbeETdduP/q902ZIOw77WSATqCw==" }, "@dnd-kit/accessibility": { "version": "3.1.1", @@ -15255,53 +14353,53 @@ } }, "@turf/area": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.2.0.tgz", - "integrity": "sha512-zuTTdQ4eoTI9nSSjerIy4QwgvxqwJVciQJ8tOPuMHbXJ9N/dNjI7bU8tasjhxas/Cx3NE9NxVHtNpYHL0FSzoA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.3.1.tgz", + "integrity": "sha512-9nSiwt4zB5QDMcSoTxF28WpK1f741MNKcpUJDiHVRX08CZ4qfGWGV9ZIPQ8TVEn5RE4LyYkFuQ47Z9pdEUZE9Q==", "requires": { - "@turf/helpers": "^7.2.0", - "@turf/meta": "^7.2.0", + "@turf/helpers": "7.3.1", + "@turf/meta": "7.3.1", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" } }, "@turf/bbox": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.2.0.tgz", - "integrity": "sha512-wzHEjCXlYZiDludDbXkpBSmv8Zu6tPGLmJ1sXQ6qDwpLE1Ew3mcWqt8AaxfTP5QwDNQa3sf2vvgTEzNbPQkCiA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.3.1.tgz", + "integrity": "sha512-/IyMKoS7P9B0ch5PIlQ6gMfoE8gRr48+cSbzlyexvEjuDuaAV1VURjH1jAthS0ipFG8RrFxFJKnp7TLL1Skong==", "requires": { - "@turf/helpers": "^7.2.0", - "@turf/meta": "^7.2.0", + "@turf/helpers": "7.3.1", + "@turf/meta": "7.3.1", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" } }, "@turf/centroid": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-7.2.0.tgz", - "integrity": "sha512-yJqDSw25T7P48au5KjvYqbDVZ7qVnipziVfZ9aSo7P2/jTE7d4BP21w0/XLi3T/9bry/t9PR1GDDDQljN4KfDw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-7.3.1.tgz", + "integrity": "sha512-hRnsDdVBH4pX9mAjYympb2q5W8TCMUMNEjcRrAF7HTCyjIuRmjJf8vUtlzf7TTn9RXbsvPc1vtm3kLw20Jm8DQ==", "requires": { - "@turf/helpers": "^7.2.0", - "@turf/meta": "^7.2.0", + "@turf/helpers": "7.3.1", + "@turf/meta": "7.3.1", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" } }, "@turf/helpers": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.2.0.tgz", - "integrity": "sha512-cXo7bKNZoa7aC7ydLmUR02oB3IgDe7MxiPuRz3cCtYQHn+BJ6h1tihmamYDWWUlPHgSNF0i3ATc4WmDECZafKw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.3.1.tgz", + "integrity": "sha512-zkL34JVhi5XhsuMEO0MUTIIFEJ8yiW1InMu4hu/oRqamlY4mMoZql0viEmH6Dafh/p+zOl8OYvMJ3Vm3rFshgg==", "requires": { "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" } }, "@turf/meta": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.2.0.tgz", - "integrity": "sha512-igzTdHsQc8TV1RhPuOLVo74Px/hyPrVgVOTgjWQZzt3J9BVseCdpfY/0cJBdlSRI4S/yTmmHl7gAqjhpYH5Yaw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.3.1.tgz", + "integrity": "sha512-NWsfOE5RVtWpLQNkfOF/RrYvLRPwwruxhZUV0UFIzHqfiRJ50aO9Y6uLY4bwCUe2TumLJQSR4yaoA72Rmr2mnQ==", "requires": { - "@turf/helpers": "^7.2.0", + "@turf/helpers": "7.3.1", "@types/geojson": "^7946.0.10" } }, @@ -15326,15 +14424,15 @@ } }, "@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "peer": true }, "@types/geojson": { - "version": "7946.0.15", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.15.tgz", - "integrity": "sha512-9oSxFzDCT2Rj6DfcHF8G++jxBKS7mBqXl5xrRW+Kbvjry6Uduya2iiwqHPhVXpasAVMBYKkEPGgKhd3+/HZ6xA==" + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==" }, "@types/geojson-vt": { "version": "3.2.5", @@ -15359,9 +14457,9 @@ "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==" }, "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "@types/mapbox__point-geometry": { "version": "0.1.4", @@ -15722,9 +14820,16 @@ "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==" }, "acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==" + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==" + }, + "acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "peer": true, + "requires": {} }, "acorn-jsx": { "version": "5.3.2", @@ -15805,6 +14910,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -15841,13 +14947,6 @@ } } }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peer": true, - "requires": {} - }, "almost-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", @@ -15951,6 +15050,11 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, + "baseline-browser-mapping": { + "version": "2.9.14", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.14.tgz", + "integrity": "sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg==" + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -16007,14 +15111,15 @@ } }, "browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "requires": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" } }, "buffer": { @@ -16038,9 +15143,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001690", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", - "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==" + "version": "1.0.30001764", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001764.tgz", + "integrity": "sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g==" }, "canvas-fit": { "version": "1.5.0", @@ -16539,9 +15644,9 @@ "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==" }, "electron-to-chromium": { - "version": "1.5.79", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.79.tgz", - "integrity": "sha512-nYOxJNxQ9Om4EC88BE4pPoNI8xwSFf8pU/BAeOl4Hh/b/i6V4biTAzwV7pXi3ARKeoYO5JZKMIXTryXSVer5RA==" + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==" }, "element-size": { "version": "1.1.1", @@ -16557,17 +15662,17 @@ } }, "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "requires": { "once": "^1.4.0" } }, "enhanced-resolve": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz", - "integrity": "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==", + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", "peer": true, "requires": { "graceful-fs": "^4.2.4", @@ -16575,9 +15680,9 @@ } }, "es-module-lexer": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", "peer": true }, "es5-ext": { @@ -16955,7 +16060,8 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -16964,9 +16070,9 @@ "dev": true }, "fast-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.5.tgz", - "integrity": "sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "peer": true }, "fastq": { @@ -17100,9 +16206,9 @@ "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==" }, "gl-matrix": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", - "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.4.tgz", + "integrity": "sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==" }, "gl-text": { "version": "1.4.0", @@ -17716,7 +16822,8 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -17780,9 +16887,9 @@ "integrity": "sha512-pCj3PrQyATaoTYKHrgWRF3SJwsm61udVh+vuls/Rl6SptiDhgE7ziUIudAedRY9QEfynmM7/RmLEfPUyw1HPCw==" }, "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", "peer": true }, "locate-path": { @@ -17936,9 +17043,9 @@ }, "dependencies": { "@mapbox/tiny-sdf": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.6.tgz", - "integrity": "sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.7.tgz", + "integrity": "sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug==" }, "@mapbox/unitbezier": { "version": "0.0.1", @@ -17946,9 +17053,9 @@ "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==" }, "earcut": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.1.tgz", - "integrity": "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.2.tgz", + "integrity": "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==" }, "geojson-vt": { "version": "4.0.2", @@ -17956,9 +17063,9 @@ "integrity": "sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==" }, "potpack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.0.0.tgz", - "integrity": "sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.1.0.tgz", + "integrity": "sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==" }, "quickselect": { "version": "3.0.0", @@ -18155,9 +17262,9 @@ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, "node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==" + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==" }, "normalize-path": { "version": "3.0.0", @@ -18441,9 +17548,9 @@ } }, "postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -18518,7 +17625,8 @@ "punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true }, "queue-microtask": { "version": "1.2.3", @@ -18901,11 +18009,11 @@ "peer": true }, "resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "requires": { - "is-core-module": "^2.16.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -18989,9 +18097,9 @@ } }, "sax": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==" }, "scheduler": { "version": "0.20.2", @@ -19003,14 +18111,44 @@ } }, "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "peer": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "dependencies": { + "ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "peer": true + } } }, "semver": { @@ -19071,9 +18209,9 @@ "dev": true }, "shell-quote": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", - "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==" + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==" }, "signum": { "version": "1.0.0", @@ -19262,9 +18400,9 @@ } }, "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "peer": true }, "terser": { @@ -19280,9 +18418,9 @@ } }, "terser-webpack-plugin": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", - "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", "peer": true, "requires": { "@jridgewell/trace-mapping": "^0.3.25", @@ -19290,47 +18428,6 @@ "schema-utils": "^4.3.0", "serialize-javascript": "^6.0.2", "terser": "^5.31.1" - }, - "dependencies": { - "ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "peer": true, - "requires": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "peer": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "peer": true - }, - "schema-utils": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", - "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", - "peer": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } } }, "text-table": { @@ -19472,9 +18569,9 @@ "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" }, "update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "requires": { "escalade": "^3.2.0", "picocolors": "^1.1.1" @@ -19489,6 +18586,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "requires": { "punycode": "^2.1.0" } @@ -19533,9 +18631,9 @@ } }, "watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz", + "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==", "peer": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -19556,34 +18654,36 @@ } }, "webpack": { - "version": "5.97.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", - "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.104.1.tgz", + "integrity": "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==", "peer": true, "requires": { "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", + "enhanced-resolve": "^5.17.4", + "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", + "loader-runner": "^4.3.1", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.16", + "watchpack": "^2.4.4", + "webpack-sources": "^3.3.3" }, "dependencies": { "eslint-scope": { @@ -19605,9 +18705,9 @@ } }, "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", "peer": true }, "which": { @@ -19620,9 +18720,9 @@ } }, "world-calendars": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/world-calendars/-/world-calendars-1.0.3.tgz", - "integrity": "sha512-sAjLZkBnsbHkHWVhrsCU5Sa/EVuf9QqgvrN8zyJ2L/F9FR9Oc6CvVK0674+PGAtmmmYQMH98tCUSO4QLQv3/TQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/world-calendars/-/world-calendars-1.0.4.tgz", + "integrity": "sha512-VGRnLJS+xJmGDPodgJRnGIDwGu0s+Cr9V2HB3EzlDZ5n0qb8h5SJtGUEkjrphZYAglEiXZ6kiXdmk0H/h/uu/w==", "requires": { "object-assign": "^4.1.0" } diff --git a/package.json b/package.json index 1647250..4c2cc11 100644 --- a/package.json +++ b/package.json @@ -10,14 +10,14 @@ "preview": "vite preview" }, "dependencies": { - "@deephaven/components": "^0.102.0", - "@deephaven/dashboard": "^0.102.0", - "@deephaven/iris-grid": "^0.102.0", + "@deephaven/components": "^0.106.2", + "@deephaven/dashboard": "^0.106.2", + "@deephaven/iris-grid": "^0.106.2", "@deephaven/js-plugin-ag-grid": "^0.5.2", - "@deephaven/jsapi-bootstrap": "^0.102.0", - "@deephaven/jsapi-shim": "^0.102.0", + "@deephaven/jsapi-bootstrap": "^0.106.2", + "@deephaven/jsapi-shim": "^0.106.0", "@deephaven/jsapi-types": "^1.0.0-dev0.39.5", - "@deephaven/jsapi-utils": "^0.102.0", + "@deephaven/jsapi-utils": "^0.106.2", "@deephaven-enterprise/jsapi-types": "1.20240723.147-beta", "react": "^17.0.2", "react-dom": "^17.0.2", From 5d166c49569625091c278af3f827dfff78730065 Mon Sep 17 00:00:00 2001 From: mikebender Date: Wed, 14 Jan 2026 10:49:06 -0500 Subject: [PATCH 4/7] Wire it up to handle fetching a pivot table, print out selection - Now just need to get it to actually use the selection, extract the keys, and apply them on a filter of a copy of the pivot table --- src/App.tsx | 19 +++++++++-------- src/DeephavenAgGridComponent.tsx | 25 +++++++++++++++++++---- src/Utils.ts | 35 ++++++++++++++++++++++++++------ 3 files changed, 61 insertions(+), 18 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 0b957b5..cc9b90e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,10 +1,5 @@ import { useCallback, useEffect, useState } from "react"; import { LoadingOverlay } from "@deephaven/components"; // Use the loading spinner from the Deephaven components package -import { - IrisGrid, - IrisGridModel, - IrisGridModelFactory, -} from "@deephaven/iris-grid"; // iris-grid is used to display Deephaven tables import dh from "@deephaven/jsapi-shim"; // Import the shim to use the JS API import type { ConsoleConfig, @@ -17,6 +12,7 @@ import "./App.scss"; // Styles for in this app import { clientConnected, getCorePlusApi, + getQuery, getTableByQueryName, getWebsocketUrl, isCorePlusWorkerKind, @@ -171,10 +167,13 @@ async function createGridModel( * See create-react-app docs for how to update these env vars: https://create-react-app.dev/docs/adding-custom-environment-variables/ */ function App() { - const [table, setTable] = useState(); + const [table, setTable] = useState< + DhType.Table | DhType.coreplus.pivot.PivotTable + >(); const [error, setError] = useState(); const [isLoading, setIsLoading] = useState(true); const [client, setClient] = useState(); + const [coreApi, setCoreApi] = useState(); const initApp = useCallback(async () => { try { @@ -198,6 +197,10 @@ function App() { const queryName = searchParams.get("queryName"); const tableName = searchParams.get("tableName"); + const query = await getQuery(client, queryName ?? ""); + const coreApi = await getCorePlusApi(query.designated?.jsApiUrl ?? ""); + setCoreApi(coreApi); + // If a table name was specified, load that table. Otherwise, create a new table. const newTable = await (queryName && tableName ? getTableByQueryName(client, queryName, tableName) @@ -224,11 +227,11 @@ function App() { }; }, [client]); - const isLoaded = table != null; + const isLoaded = table != null && coreApi != null; return (
- {isLoaded && } + {isLoaded && } {!isLoaded && ( { + console.log("Selection changed:", event); + }, []); + const agGridProps: AgGridViewProps["agGridProps"] = useMemo( + () => ({ + ...getDefaultProps(), + rowSelection: { + mode: "singleRow", + }, + onSelectionChanged: handleSelectionChanged, + }), + [handleSelectionChanged] + ); return ( - + ); } diff --git a/src/Utils.ts b/src/Utils.ts index 9174421..9bdf95a 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -17,6 +17,16 @@ export const QUERY_TIMEOUT = 10_000; const enterpriseApi = dh as EnterpriseDhType; +export function isWidget(obj: unknown): obj is CoreDhType.Widget { + return ( + obj != null && + typeof obj === "object" && + "exportedObjects" in obj && + "type" in obj && + typeof (obj as CoreDhType.Widget).type === "string" + ); +} + /** * Get the WebSocket URL for connecting to the JS API * @param baseUrl Base URL to get the websocket URL for @@ -140,7 +150,7 @@ export async function getTableModel( legacyClient: EnterpriseClient, queryInfo: QueryInfo, name: string -): Promise { +): Promise { const { workerKinds } = await legacyClient.getServerConfigValues(); if (isCorePlusQuery(queryInfo, workerKinds)) { // Getting the table from the Core+ query requires a Core+ API instance @@ -148,11 +158,24 @@ export async function getTableModel( const api = await getCorePlusApi(queryInfo.jsApiUrl); const token = await legacyClient.createAuthToken("RemoteQueryProcessor"); const connection = await getCorePlusConnection(api, token, queryInfo); - const objectDefinition = { - name, - type: "Table", - }; + const objectDefinition = queryInfo.designated?.objects.find( + (obj) => obj.name === name + ); + if (objectDefinition == null) { + throw new Error( + `Table ${name} not found in designated objects for query ${queryInfo.name}` + ); + } const table = await connection.getObject(objectDefinition); + if (isWidget(table)) { + if (table.type === "PivotTable") { + return new api.coreplus.pivot.PivotTable(table); + } + throw new Error( + `Object ${name} is an unrecognized Widget type ${table.type}, not a Table` + ); + } + return table; // return IrisGridModelFactory.makeModel(api, table); } @@ -215,7 +238,7 @@ export async function getTableByQueryName( legacyClient: EnterpriseClient, queryName: string, tableName: string -): Promise { +): Promise { const query = await getQuery(legacyClient, queryName); return getTableModel(legacyClient, query, tableName); } From f8256e9eea79dc4bc5bc678e95f226540711b4dc Mon Sep 17 00:00:00 2001 From: mikebender Date: Wed, 14 Jan 2026 16:33:25 -0500 Subject: [PATCH 5/7] Wire it up so select data in the left table filters the table on the right - Need the `.copy()` function on PivotTable, but otherwise it works well - Need to clarify if this is the format desired, or if we'd rather just a flat table with the leaf nodes --- package-lock.json | 1 + package.json | 1 + src/DeephavenAgGridComponent.tsx | 72 +++++++++++++++++++++++++++++--- 3 files changed, 68 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6d526d5..c7617b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,6 +27,7 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "@vitejs/plugin-react": "^4.0.3", + "ag-grid-community": "^34.3.1", "eslint": "^8.45.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.3", diff --git a/package.json b/package.json index 4c2cc11..23ea32b 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "@vitejs/plugin-react": "^4.0.3", + "ag-grid-community": "^34.3.1", "eslint": "^8.45.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.3", diff --git a/src/DeephavenAgGridComponent.tsx b/src/DeephavenAgGridComponent.tsx index 2aaa7fa..8319761 100644 --- a/src/DeephavenAgGridComponent.tsx +++ b/src/DeephavenAgGridComponent.tsx @@ -1,11 +1,15 @@ -import React, { useCallback, useMemo } from "react"; +import React, { useCallback, useEffect, useMemo, useState } from "react"; import type { dh as DhType } from "@deephaven/jsapi-types"; import { AgGridView, AgGridViewProps, getDefaultProps, + isPivotTable, + TREE_NODE_KEY, } from "@deephaven/js-plugin-ag-grid"; import { ApiContext } from "@deephaven/jsapi-bootstrap"; +import { Grid } from "@deephaven/components"; +import { type SelectionChangedEvent } from "ag-grid-community"; function DeephavenAgGridComponent({ api, @@ -14,22 +18,78 @@ function DeephavenAgGridComponent({ api: typeof DhType; table: DhType.Table | DhType.coreplus.pivot.PivotTable; }) { - const handleSelectionChanged = useCallback((event: unknown) => { - console.log("Selection changed:", event); - }, []); + const [tableCopy, setTableCopy] = useState< + DhType.Table | DhType.coreplus.pivot.PivotTable + >(); + const handleSelectionChanged = useCallback( + async (event: SelectionChangedEvent) => { + console.log("Selection changed:", event); + const { selectedNodes } = event; + if (selectedNodes == null || selectedNodes.length === 0) { + return; + } + + if (tableCopy == null) { + console.warn("No table copy available to apply selection filter to"); + return; + } + + // Now we need to build the appropriate filters to filter the original table to just these selected rows + const filters = selectedNodes.map((node) => { + const { data } = node; + const treeNodeKey = data[TREE_NODE_KEY]; + if (isPivotTable(table)) { + // If it's a pivot table, we need to look at the row sources to build the filters + // Only up to the depth of this selection + const rowSourceFilters = []; + for (let depth = 0; depth <= treeNodeKey.depth - 2; depth += 1) { + const rowSource = table.rowSources[depth]; + const key = data[rowSource.name]; + rowSourceFilters.push( + rowSource.filter().eq(api.FilterValue.ofString(key)) + ); + } + + return rowSourceFilters.reduce((acc, rowSour) => { + return acc.and(rowSour); + }); + } + + throw new Error("Other table types not yet supported"); + }); + + tableCopy.applyFilter([filters.reduce((acc, filter) => acc.or(filter))]); + }, + [api, table, tableCopy] + ); const agGridProps: AgGridViewProps["agGridProps"] = useMemo( () => ({ ...getDefaultProps(), rowSelection: { - mode: "singleRow", + mode: "multiRow", }, onSelectionChanged: handleSelectionChanged, }), [handleSelectionChanged] ); + + useEffect(() => { + async function copyTable() { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const newTableCopy = await (table as any).copy(); + setTableCopy(newTableCopy); + } + copyTable(); + }, [table]); + return ( - + + + {tableCopy != null && ( + + )} + ); } From dd51106428fcc053ec35143f2b2f677e8f579bff Mon Sep 17 00:00:00 2001 From: mikebender Date: Mon, 19 Jan 2026 17:41:25 -0500 Subject: [PATCH 6/7] feat: Apply AG Grid filter model on pivot table row selection - Updated handleSelectionChanged to build an AG Grid FilterModel instead of Deephaven filters - Uses text filter with equals type for single values, OR conditions for multiple values - DeephavenViewportDatasource listens for filterChanged event and applies the filter to the Deephaven table server-side - Added Playwright test to verify filtering works correctly - Updated Node.js version to v22.13.1 LTS - Added Playwright as dev dependency for e2e testing - Added playwright-report and test-results to .gitignore --- .gitignore | 4 ++ .nvmrc | 2 +- package-lock.json | 94 ++++++++++++++++++++++++++++++++ package.json | 7 ++- playwright.config.ts | 20 +++++++ src/DeephavenAgGridComponent.tsx | 91 +++++++++++++++++++++---------- tests/pivot-filter.spec.ts | 62 +++++++++++++++++++++ 7 files changed, 248 insertions(+), 32 deletions(-) create mode 100644 playwright.config.ts create mode 100644 tests/pivot-filter.spec.ts diff --git a/.gitignore b/.gitignore index a547bf3..3dca698 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,7 @@ dist-ssr *.njsproj *.sln *.sw? + +# Playwright +playwright-report/ +test-results/ diff --git a/.nvmrc b/.nvmrc index 0e9dc6b..cc7ce7f 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18.13.0 +v22.13.1 diff --git a/package-lock.json b/package-lock.json index c7617b4..7c70d11 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "react-router-dom": "^6.24.0" }, "devDependencies": { + "@playwright/test": "^1.57.0", "@types/react": "^17.0.2", "@types/react-dom": "^17.0.9", "@typescript-eslint/eslint-plugin": "^6.0.0", @@ -1870,6 +1871,21 @@ "node": ">= 8" } }, + "node_modules/@playwright/test": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.57.0.tgz", + "integrity": "sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==", + "dev": true, + "dependencies": { + "playwright": "1.57.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@plotly/d3": { "version": "3.8.2", "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.2.tgz", @@ -8838,6 +8854,50 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/playwright": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.57.0.tgz", + "integrity": "sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==", + "dev": true, + "dependencies": { + "playwright-core": "1.57.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.57.0.tgz", + "integrity": "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==", + "dev": true, + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/plotly.js": { "version": "2.35.3", "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.35.3.tgz", @@ -11856,6 +11916,15 @@ "fastq": "^1.6.0" } }, + "@playwright/test": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.57.0.tgz", + "integrity": "sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==", + "dev": true, + "requires": { + "playwright": "1.57.0" + } + }, "@plotly/d3": { "version": "3.8.2", "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.2.tgz", @@ -17432,6 +17501,31 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "playwright": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.57.0.tgz", + "integrity": "sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==", + "dev": true, + "requires": { + "fsevents": "2.3.2", + "playwright-core": "1.57.0" + }, + "dependencies": { + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + } + } + }, + "playwright-core": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.57.0.tgz", + "integrity": "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==", + "dev": true + }, "plotly.js": { "version": "2.35.3", "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.35.3.tgz", diff --git a/package.json b/package.json index 23ea32b..1272475 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,12 @@ "start": "vite", "build": "tsc && vite build", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", - "preview": "vite preview" + "preview": "vite preview", + "test": "playwright test", + "test:ui": "playwright test --ui" }, "dependencies": { + "@deephaven-enterprise/jsapi-types": "1.20240723.147-beta", "@deephaven/components": "^0.106.2", "@deephaven/dashboard": "^0.106.2", "@deephaven/iris-grid": "^0.106.2", @@ -18,12 +21,12 @@ "@deephaven/jsapi-shim": "^0.106.0", "@deephaven/jsapi-types": "^1.0.0-dev0.39.5", "@deephaven/jsapi-utils": "^0.106.2", - "@deephaven-enterprise/jsapi-types": "1.20240723.147-beta", "react": "^17.0.2", "react-dom": "^17.0.2", "react-router-dom": "^6.24.0" }, "devDependencies": { + "@playwright/test": "^1.57.0", "@types/react": "^17.0.2", "@types/react-dom": "^17.0.9", "@typescript-eslint/eslint-plugin": "^6.0.0", diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 0000000..d578214 --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,20 @@ +import { defineConfig, devices } from "@playwright/test"; + +export default defineConfig({ + testDir: "./tests", + fullyParallel: true, + forbidOnly: !!process.env.CI, + retries: process.env.CI ? 2 : 0, + workers: process.env.CI ? 1 : undefined, + reporter: "html", + use: { + baseURL: "http://localhost:5173", + trace: "on-first-retry", + }, + projects: [ + { + name: "chromium", + use: { ...devices["Desktop Chrome"] }, + }, + ], +}); diff --git a/src/DeephavenAgGridComponent.tsx b/src/DeephavenAgGridComponent.tsx index 8319761..96cdc46 100644 --- a/src/DeephavenAgGridComponent.tsx +++ b/src/DeephavenAgGridComponent.tsx @@ -9,7 +9,11 @@ import { } from "@deephaven/js-plugin-ag-grid"; import { ApiContext } from "@deephaven/jsapi-bootstrap"; import { Grid } from "@deephaven/components"; -import { type SelectionChangedEvent } from "ag-grid-community"; +import { + FilterModel, + GridApi, + type SelectionChangedEvent, +} from "ag-grid-community"; function DeephavenAgGridComponent({ api, @@ -18,49 +22,68 @@ function DeephavenAgGridComponent({ api: typeof DhType; table: DhType.Table | DhType.coreplus.pivot.PivotTable; }) { - const [tableCopy, setTableCopy] = useState< - DhType.Table | DhType.coreplus.pivot.PivotTable - >(); + const [sourceTable, setSourceTable] = useState(); + const [gridApi, setGridApi] = useState(); const handleSelectionChanged = useCallback( async (event: SelectionChangedEvent) => { - console.log("Selection changed:", event); const { selectedNodes } = event; if (selectedNodes == null || selectedNodes.length === 0) { return; } - if (tableCopy == null) { - console.warn("No table copy available to apply selection filter to"); - return; - } + // Build an AG Grid filter model to filter the source table to just these selected rows + // We need to collect unique values per column, then build a combined filter model + const columnValues: Record> = {}; - // Now we need to build the appropriate filters to filter the original table to just these selected rows - const filters = selectedNodes.map((node) => { + selectedNodes.forEach((node) => { const { data } = node; const treeNodeKey = data[TREE_NODE_KEY]; if (isPivotTable(table)) { // If it's a pivot table, we need to look at the row sources to build the filters // Only up to the depth of this selection - const rowSourceFilters = []; for (let depth = 0; depth <= treeNodeKey.depth - 2; depth += 1) { const rowSource = table.rowSources[depth]; const key = data[rowSource.name]; - rowSourceFilters.push( - rowSource.filter().eq(api.FilterValue.ofString(key)) - ); - } - return rowSourceFilters.reduce((acc, rowSour) => { - return acc.and(rowSour); - }); + if (!columnValues[rowSource.name]) { + columnValues[rowSource.name] = new Set(); + } + columnValues[rowSource.name].add(key); + } + } else { + throw new Error("Other table types not yet supported"); } + }); - throw new Error("Other table types not yet supported"); + // Build the filter model using text filters with OR conditions for multiple values + const filterModel: FilterModel = {}; + Object.entries(columnValues).forEach(([columnName, values]) => { + const valuesArray = Array.from(values); + if (valuesArray.length === 1) { + // Single value: use simple text filter with equals + filterModel[columnName] = { + filterType: "text", + type: "equals", + filter: valuesArray[0], + }; + } else { + // Multiple values: use combined filter with OR operator + filterModel[columnName] = { + filterType: "text", + operator: "OR", + conditions: valuesArray.map((value) => ({ + filterType: "text", + type: "equals", + filter: value, + })), + }; + } }); - tableCopy.applyFilter([filters.reduce((acc, filter) => acc.or(filter))]); + // Apply the filter model via the AG Grid API + gridApi?.setFilterModel(filterModel); }, - [api, table, tableCopy] + [gridApi, table], ); const agGridProps: AgGridViewProps["agGridProps"] = useMemo( () => ({ @@ -70,24 +93,34 @@ function DeephavenAgGridComponent({ }, onSelectionChanged: handleSelectionChanged, }), - [handleSelectionChanged] + [handleSelectionChanged], + ); + + const sourceProps: AgGridViewProps["agGridProps"] = useMemo( + () => ({ + ...getDefaultProps(), + onModelUpdated: (event) => { + setGridApi(event.api); + }, + }), + [], ); useEffect(() => { - async function copyTable() { + async function getSourceTable() { // eslint-disable-next-line @typescript-eslint/no-explicit-any - const newTableCopy = await (table as any).copy(); - setTableCopy(newTableCopy); + const newSourceTable = await (table as any).getSourceTable(); + setSourceTable(newSourceTable); } - copyTable(); + getSourceTable(); }, [table]); return ( - {tableCopy != null && ( - + {sourceTable != null && ( + )} diff --git a/tests/pivot-filter.spec.ts b/tests/pivot-filter.spec.ts new file mode 100644 index 0000000..68b9020 --- /dev/null +++ b/tests/pivot-filter.spec.ts @@ -0,0 +1,62 @@ +import { test, expect } from "@playwright/test"; + +test.describe("Pivot Table Selection Filter", () => { + test("selecting a row in the pivot table should filter the source table", async ({ + page, + }) => { + // Navigate to the pivot table page + await page.goto("/?queryName=pivots&tableName=fish_market_pivot"); + + // Wait for the AG Grid tables to load - there should be two grids + const grids = page.locator(".ag-root-wrapper"); + await expect(grids).toHaveCount(2, { timeout: 30000 }); + + // Wait for both grids to have data loaded + const leftGrid = grids.nth(0); + const rightGrid = grids.nth(1); + + // Wait for rows to appear in both grids + await expect(leftGrid.locator(".ag-row")).not.toHaveCount(0, { + timeout: 30000, + }); + await expect(rightGrid.locator(".ag-row")).not.toHaveCount(0, { + timeout: 30000, + }); + + // Get the text content of all cells in the first row of the pivot table + // This will help us understand what value we're selecting + const firstPivotRow = leftGrid.locator(".ag-row").first(); + const firstRowText = await firstPivotRow.textContent(); + console.log(`First pivot row content: ${firstRowText}`); + + // Get the initial content of the source table to compare later + const sourceTableContent = await rightGrid.textContent(); + console.log( + `Initial source table content length: ${sourceTableContent?.length}`, + ); + + // Click the checkbox to select the first row + const firstRowCheckbox = firstPivotRow.locator(".ag-selection-checkbox"); + if ((await firstRowCheckbox.count()) > 0) { + await firstRowCheckbox.click(); + console.log("Clicked checkbox on first pivot row"); + } + + // Wait for the filter to apply + await page.waitForTimeout(2000); + + // Get the new content of the source table + const filteredSourceTableContent = await rightGrid.textContent(); + console.log( + `Filtered source table content length: ${filteredSourceTableContent?.length}`, + ); + + // The content should have changed (either different content or different length) + // since we've filtered the data + const contentChanged = sourceTableContent !== filteredSourceTableContent; + console.log(`Source table content changed: ${contentChanged}`); + + // Verify the filter was applied by checking that the source table content changed + expect(contentChanged).toBe(true); + }); +}); From 57c97ddc682fb4b93110aa73ff4bec5ed733e36f Mon Sep 17 00:00:00 2001 From: mikebender Date: Tue, 27 Jan 2026 09:54:07 -0500 Subject: [PATCH 7/7] Update the theme for AG Grid --- src/DeephavenAgGridComponent.tsx | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/DeephavenAgGridComponent.tsx b/src/DeephavenAgGridComponent.tsx index 96cdc46..508a187 100644 --- a/src/DeephavenAgGridComponent.tsx +++ b/src/DeephavenAgGridComponent.tsx @@ -1,6 +1,7 @@ import React, { useCallback, useEffect, useMemo, useState } from "react"; import type { dh as DhType } from "@deephaven/jsapi-types"; import { + AgGridDhTheme, AgGridView, AgGridViewProps, getDefaultProps, @@ -10,8 +11,9 @@ import { import { ApiContext } from "@deephaven/jsapi-bootstrap"; import { Grid } from "@deephaven/components"; import { - FilterModel, - GridApi, + type FilterModel, + type GridApi, + themeQuartz, type SelectionChangedEvent, } from "ag-grid-community"; @@ -22,6 +24,13 @@ function DeephavenAgGridComponent({ api: typeof DhType; table: DhType.Table | DhType.coreplus.pivot.PivotTable; }) { + const themeParams = useMemo(() => AgGridDhTheme.getThemeParams(), []); + + const theme = useMemo( + () => themeQuartz.withParams(themeParams), + [themeParams], + ); + const [sourceTable, setSourceTable] = useState(); const [gridApi, setGridApi] = useState(); const handleSelectionChanged = useCallback( @@ -92,8 +101,9 @@ function DeephavenAgGridComponent({ mode: "multiRow", }, onSelectionChanged: handleSelectionChanged, + theme, }), - [handleSelectionChanged], + [handleSelectionChanged, theme], ); const sourceProps: AgGridViewProps["agGridProps"] = useMemo( @@ -102,8 +112,9 @@ function DeephavenAgGridComponent({ onModelUpdated: (event) => { setGridApi(event.api); }, + theme, }), - [], + [theme], ); useEffect(() => {