From 6313bdf86e6c7fc057abb3ee4caf01f77608497d Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Fri, 22 Mar 2024 12:30:29 -0500 Subject: [PATCH 01/10] Picker table support (#293) --- plugins/ui/src/js/src/elements/Picker.tsx | 51 ++++++++++++++++--- .../ui/src/js/src/elements/usePickerProps.ts | 3 ++ 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/plugins/ui/src/js/src/elements/Picker.tsx b/plugins/ui/src/js/src/elements/Picker.tsx index d19e34699..9e11c7ba4 100644 --- a/plugins/ui/src/js/src/elements/Picker.tsx +++ b/plugins/ui/src/js/src/elements/Picker.tsx @@ -1,15 +1,54 @@ -import React from 'react'; +import React, { useEffect } from 'react'; +import { Picker as DHPicker } from '@deephaven/components'; import { - Picker as DHPicker, - PickerProps as DHPickerProps, -} from '@deephaven/components'; + Picker as DHPickerJSApi, + PickerProps as DHPickerJSApiProps, +} from '@deephaven/jsapi-components'; +import type { Table } from '@deephaven/jsapi-types'; import { SerializedPickerEventProps, usePickerProps } from './usePickerProps'; -function Picker(props: DHPickerProps & SerializedPickerEventProps) { +function Picker({ + children, + ...props +}: DHPickerJSApiProps & SerializedPickerEventProps) { const pickerProps = usePickerProps(props); + const [table, setTable] = React.useState(null); + const maybeExportedObject = children?.props?.object; + + useEffect(() => { + if (maybeExportedObject == null) { + return; + } + + let isMounted = true; + async function load() { + console.log('[TESTING] exportedTable:', maybeExportedObject); + const reexportedTable = await maybeExportedObject.reexport(); + const newTable = await reexportedTable.fetch
(); + + if (!isMounted) { + return; + } + + setTable(newTable); + } + + load(); + + return () => { + isMounted = false; + }; + }, [maybeExportedObject]); + + if (maybeExportedObject == null) { + // eslint-disable-next-line react/jsx-props-no-spreading + return {children}; + } + + const { children: _throwAway, ...restProps } = pickerProps; // eslint-disable-next-line react/jsx-props-no-spreading - return ; + return table && ; } export default Picker; diff --git a/plugins/ui/src/js/src/elements/usePickerProps.ts b/plugins/ui/src/js/src/elements/usePickerProps.ts index 5261f3de6..2a9d06aae 100644 --- a/plugins/ui/src/js/src/elements/usePickerProps.ts +++ b/plugins/ui/src/js/src/elements/usePickerProps.ts @@ -1,3 +1,4 @@ +import ObjectView from './ObjectView'; import { SerializedFocusEventCallback, useFocusEventCallback, @@ -8,6 +9,8 @@ import { } from './spectrum/useKeyboardEventCallback'; export interface SerializedPickerEventProps { + children: typeof ObjectView; + /** Handler that is called when the element receives focus. */ onFocus?: SerializedFocusEventCallback; From 8310594cd7509d4412e28c1da7903bbaf8eb4fdb Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Mon, 25 Mar 2024 17:19:01 -0500 Subject: [PATCH 02/10] Fixed issue with dh jsapi updates (#293) --- tools/update-dh-packages.mjs | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/tools/update-dh-packages.mjs b/tools/update-dh-packages.mjs index f533e0516..af734f8a7 100644 --- a/tools/update-dh-packages.mjs +++ b/tools/update-dh-packages.mjs @@ -15,6 +15,9 @@ * * Or for a specific plugin via: * `npm run update-dh-packages -- --scope=@deephaven/js-plugin-ui` + * + * To target a specific version, pass the version as an argument: + * `npm run update-dh-packages -- --scope=@deephaven/js-plugin-ui -- 0.70.1-alpha-picker-table.34` */ /* eslint-disable no-console */ @@ -23,9 +26,14 @@ import { promises as fs } from 'fs'; import path from 'path'; import process from 'process'; -// Optional targetVersion argument or fallback to 'latest' -const targetVersion = process.argv[2] ?? 'latest'; -console.log('targetVersion:', targetVersion); +// Optional targetVersionOverride argument +const targetVersionOverride = process.argv[2]; +const targetVersionDefault = 'latest'; + +console.log('targetVersion:', { + default: targetVersionDefault, + override: targetVersionOverride, +}); // Read package.json to get dependency lists const packageJsonPath = path.join(process.cwd(), 'package.json'); @@ -42,6 +50,17 @@ const dhPackageNames = [ ), ]; +const dhPackageUpdates = new Map( + dhPackageNames.map(name => [ + name, + // If targetVersionOverride is set, use it for all packages except for + // `@deephaven/jsapi-types` since it has it's own versioning cadence. + targetVersionOverride == null || name === '@deephaven/jsapi-types' + ? targetVersionDefault + : targetVersionOverride, + ]) +); + if (dhPackageNames.length === 0) { console.log( 'No @deephaven packages found in dependencies or devDependencies.' @@ -49,10 +68,10 @@ if (dhPackageNames.length === 0) { process.exit(0); } -console.log('Updating packages:', dhPackageNames); +console.log('Updating packages:', dhPackageUpdates); -const cmd = `npm i --save ${dhPackageNames - .map(name => `${name}@${targetVersion}`) +const cmd = `npm i --save ${[...dhPackageUpdates.entries()] + .map(([name, version]) => `${name}@${version}`) .join(' ')}`; console.log(cmd); From 288958975f501b5f3d66bbe07b12b36acf740772 Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Tue, 26 Mar 2024 10:07:51 -0500 Subject: [PATCH 03/10] Cleanup (#293) --- .../ui/src/js/src/elements/ElementUtils.tsx | 17 ++++++ plugins/ui/src/js/src/elements/Picker.tsx | 60 ++++++++----------- .../ui/src/js/src/elements/usePickerProps.ts | 3 - 3 files changed, 41 insertions(+), 39 deletions(-) diff --git a/plugins/ui/src/js/src/elements/ElementUtils.tsx b/plugins/ui/src/js/src/elements/ElementUtils.tsx index 3e6a28f42..3058ec267 100644 --- a/plugins/ui/src/js/src/elements/ElementUtils.tsx +++ b/plugins/ui/src/js/src/elements/ElementUtils.tsx @@ -46,6 +46,23 @@ export function isObjectNode(obj: unknown): obj is ObjectNode { return obj != null && typeof obj === 'object' && OBJECT_KEY in obj; } +/** + * Re-export and fetch the table from the given exported object. + * @param exportedObject + * @returns Promise that resolves to the table or null if given + * object is null + */ +export async function fetchReexportedTable( + exportedObject: dh.WidgetExportedObject | null +): Promise { + if (exportedObject == null) { + return null; + } + + const reexportedTable = await exportedObject.reexport(); + return reexportedTable.fetch(); +} + /** * Type guard for `ElementNode` objects. If `name` is provided, it will also check * that the element name matches the provided name. diff --git a/plugins/ui/src/js/src/elements/Picker.tsx b/plugins/ui/src/js/src/elements/Picker.tsx index 9e11c7ba4..e30878782 100644 --- a/plugins/ui/src/js/src/elements/Picker.tsx +++ b/plugins/ui/src/js/src/elements/Picker.tsx @@ -1,54 +1,42 @@ -import React, { useEffect } from 'react'; -import { Picker as DHPicker } from '@deephaven/components'; +import React, { ReactElement } from 'react'; +import { + Picker as DHPicker, + PickerProps as DHPickerProps, +} from '@deephaven/components'; import { Picker as DHPickerJSApi, PickerProps as DHPickerJSApiProps, } from '@deephaven/jsapi-components'; -import type { Table } from '@deephaven/jsapi-types'; +import { isElementOfType, usePromiseFactory } from '@deephaven/react-hooks'; import { SerializedPickerEventProps, usePickerProps } from './usePickerProps'; +import ObjectView, { ObjectViewProps } from './ObjectView'; +import { fetchReexportedTable } from './ElementUtils'; -function Picker({ - children, - ...props -}: DHPickerJSApiProps & SerializedPickerEventProps) { - const pickerProps = usePickerProps(props); - const [table, setTable] = React.useState
(null); - - const maybeExportedObject = children?.props?.object; +type WrappedDHPickerJSApiProps = Omit & { + children: ReactElement; +}; - useEffect(() => { - if (maybeExportedObject == null) { - return; - } +export type PickerProps = (DHPickerProps | WrappedDHPickerJSApiProps) & + SerializedPickerEventProps; - let isMounted = true; - async function load() { - console.log('[TESTING] exportedTable:', maybeExportedObject); - const reexportedTable = await maybeExportedObject.reexport(); - const newTable = await reexportedTable.fetch
(); - - if (!isMounted) { - return; - } - - setTable(newTable); - } +function Picker({ children, ...props }: PickerProps) { + const pickerProps = usePickerProps(props); - load(); + const maybeExportedObject = isElementOfType(children, ObjectView) + ? children.props.object + : null; - return () => { - isMounted = false; - }; - }, [maybeExportedObject]); + const { data: table } = usePromiseFactory(fetchReexportedTable, [ + maybeExportedObject, + ]); - if (maybeExportedObject == null) { + if (isElementOfType(children, ObjectView)) { // eslint-disable-next-line react/jsx-props-no-spreading - return {children}; + return table && ; } - const { children: _throwAway, ...restProps } = pickerProps; // eslint-disable-next-line react/jsx-props-no-spreading - return table && ; + return {children}; } export default Picker; diff --git a/plugins/ui/src/js/src/elements/usePickerProps.ts b/plugins/ui/src/js/src/elements/usePickerProps.ts index 2a9d06aae..5261f3de6 100644 --- a/plugins/ui/src/js/src/elements/usePickerProps.ts +++ b/plugins/ui/src/js/src/elements/usePickerProps.ts @@ -1,4 +1,3 @@ -import ObjectView from './ObjectView'; import { SerializedFocusEventCallback, useFocusEventCallback, @@ -9,8 +8,6 @@ import { } from './spectrum/useKeyboardEventCallback'; export interface SerializedPickerEventProps { - children: typeof ObjectView; - /** Handler that is called when the element receives focus. */ onFocus?: SerializedFocusEventCallback; From 56b1e2704f38c63fb4590b2bcf1c8394b5da261e Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Tue, 26 Mar 2024 10:43:36 -0500 Subject: [PATCH 04/10] fetchReexportedTable tests (#293) --- .../src/js/src/elements/ElementUtils.test.tsx | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/plugins/ui/src/js/src/elements/ElementUtils.test.tsx b/plugins/ui/src/js/src/elements/ElementUtils.test.tsx index fd9ce8416..e01c13501 100644 --- a/plugins/ui/src/js/src/elements/ElementUtils.test.tsx +++ b/plugins/ui/src/js/src/elements/ElementUtils.test.tsx @@ -2,11 +2,36 @@ import React from 'react'; import { Text } from '@adobe/react-spectrum'; import type { dh } from '@deephaven/jsapi-types'; import { TestUtils } from '@deephaven/utils'; -import { ELEMENT_KEY, isPrimitive, wrapElementChildren } from './ElementUtils'; +import { + ELEMENT_KEY, + fetchReexportedTable, + isPrimitive, + wrapElementChildren, +} from './ElementUtils'; import ObjectView from './ObjectView'; import { ITEM_ELEMENT_NAME } from './ElementConstants'; -const { createMockProxy } = TestUtils; +const { asMock, createMockProxy } = TestUtils; + +describe('fetchReexportedTable', () => { + it('should return null for null object', async () => { + const actual = await fetchReexportedTable(null); + expect(actual).toBeNull(); + }); + + it('should return table for non-null object', async () => { + const table = createMockProxy(); + + const reexported = createMockProxy(); + asMock(reexported.fetch).mockResolvedValue(table); + + const exported = createMockProxy(); + asMock(exported.reexport).mockResolvedValue(reexported); + + const actual = await fetchReexportedTable(exported); + expect(actual).toBe(table); + }); +}); describe('isPrimitive', () => { it.each(['test', 444, true, false])( From 6051ffffa24d160c9486e3aeb477cb3997dd361d Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Tue, 26 Mar 2024 11:04:21 -0500 Subject: [PATCH 05/10] Exclude 'Table' type from unknown widget type error log (#293) --- plugins/ui/src/js/src/DashboardPlugin.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/ui/src/js/src/DashboardPlugin.tsx b/plugins/ui/src/js/src/DashboardPlugin.tsx index c67ba4225..6d966144b 100644 --- a/plugins/ui/src/js/src/DashboardPlugin.tsx +++ b/plugins/ui/src/js/src/DashboardPlugin.tsx @@ -34,6 +34,7 @@ import DashboardWidgetHandler from './widget/DashboardWidgetHandler'; const NAME_ELEMENT = 'deephaven.ui.Element'; const DASHBOARD_ELEMENT = 'deephaven.ui.Dashboard'; +const TABLE_TYPE = 'Table'; const PLUGIN_NAME = '@deephaven/js-plugin-ui.DashboardPlugin'; const log = Log.module('@deephaven/js-plugin-ui.DashboardPlugin'); @@ -144,6 +145,9 @@ export function DashboardPlugin( handleDashboardOpen({ widget, dashboardId: widgetId }); break; } + case TABLE_TYPE: { + break; + } default: { log.error('Unknown widget type', type); } From 4ed93b2ea88d2f32810f007fdc019dd49157135f Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Thu, 28 Mar 2024 08:06:24 -0500 Subject: [PATCH 06/10] Handle empty dependency config (#293) --- tools/update-dh-packages.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/update-dh-packages.mjs b/tools/update-dh-packages.mjs index af734f8a7..a7c1b5bef 100644 --- a/tools/update-dh-packages.mjs +++ b/tools/update-dh-packages.mjs @@ -37,7 +37,7 @@ console.log('targetVersion:', { // Read package.json to get dependency lists const packageJsonPath = path.join(process.cwd(), 'package.json'); -const { dependencies, devDependencies } = JSON.parse( +const { dependencies = {}, devDependencies = {} } = JSON.parse( String(await fs.readFile(packageJsonPath, 'utf8')) ); From 4eae49dbf8bd37dfaf8ece0438968cc6922446b5 Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Thu, 28 Mar 2024 08:07:45 -0500 Subject: [PATCH 07/10] Run dh updates in series instead of parallel (#293) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6a9b1dbdc..6e62cd333 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "e2e": "playwright run", "e2e:docker": "DEEPHAVEN_PORT=10001 ./tools/run_docker.sh e2e-tests", "e2e:update-snapshots": "./tools/run_docker.sh update-snapshots", - "update-dh-packages": "lerna run update-dh-packages" + "update-dh-packages": "lerna run --concurrency 1 update-dh-packages" }, "devDependencies": { "@deephaven/babel-preset": "^0.40.0", From 37794299fba3401b8fa7db921e45ee62238ad3da Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Thu, 28 Mar 2024 08:25:40 -0500 Subject: [PATCH 08/10] Update dh packages to ^0.71.0 (#293) --- package-lock.json | 970 +++++++++++++++++---------------- plugins/ui/src/js/package.json | 30 +- 2 files changed, 527 insertions(+), 473 deletions(-) diff --git a/package-lock.json b/package-lock.json index 70781d861..abe817447 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2185,9 +2185,9 @@ } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.0.tgz", - "integrity": "sha512-YfEHq0eRH98ffb5/EsrrDspVWAuph6gDggAE74ZtjecsmyyWpW768hOyiONa8zwWGbIWYfa2Xp4tRTrpQQ00CQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz", + "integrity": "sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==", "dev": true, "funding": [ { @@ -2204,13 +2204,13 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.3" + "@csstools/css-tokenizer": "^2.2.4" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.3.tgz", - "integrity": "sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz", + "integrity": "sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==", "dev": true, "funding": [ { @@ -2228,9 +2228,9 @@ } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.8.tgz", - "integrity": "sha512-DiD3vG5ciNzeuTEoh74S+JMjQDs50R3zlxHnBnfd04YYfA/kh2KiBCGhzqLxlJcNq+7yNQ3stuZZYLX6wK/U2g==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz", + "integrity": "sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==", "dev": true, "funding": [ { @@ -2247,8 +2247,8 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.6.0", - "@csstools/css-tokenizer": "^2.2.3" + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" } }, "node_modules/@csstools/selector-specificity": { @@ -4353,6 +4353,17 @@ "react": ">=16.8.0" } }, + "node_modules/@dual-bundle/import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==", + "dev": true, + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", @@ -15485,9 +15496,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.1.tgz", - "integrity": "sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", "dev": true, "peer": true, "dependencies": { @@ -17396,9 +17407,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", + "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", "dev": true, "peer": true, "dependencies": { @@ -18309,9 +18320,9 @@ ] }, "node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" @@ -22104,9 +22115,9 @@ } }, "node_modules/known-css-properties": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", - "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.30.0.tgz", + "integrity": "sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==", "dev": true, "peer": true }, @@ -28935,9 +28946,9 @@ } }, "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "dev": true, "funding": [ { @@ -28956,7 +28967,7 @@ "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" @@ -28997,9 +29008,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -31077,9 +31088,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -31621,16 +31632,17 @@ } }, "node_modules/stylelint": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.2.1.tgz", - "integrity": "sha512-SfIMGFK+4n7XVAyv50CpVfcGYWG4v41y6xG7PqOgQSY8M/PgdK0SQbjWFblxjJZlN9jNq879mB4BCZHJRIJ1hA==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.3.1.tgz", + "integrity": "sha512-/JOwQnBvxEKOT2RtNgGpBVXnCSMBgKOL2k7w0K52htwCyJls4+cHvc4YZgXlVoAZS9QJd2DgYAiRnja96pTgxw==", "dev": true, "peer": true, "dependencies": { - "@csstools/css-parser-algorithms": "^2.5.0", - "@csstools/css-tokenizer": "^2.2.3", - "@csstools/media-query-list-parser": "^2.1.7", - "@csstools/selector-specificity": "^3.0.1", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/media-query-list-parser": "^2.1.9", + "@csstools/selector-specificity": "^3.0.2", + "@dual-bundle/import-meta-resolve": "^4.0.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^9.0.0", @@ -31644,19 +31656,19 @@ "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", - "ignore": "^5.3.0", + "ignore": "^5.3.1", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.29.0", + "known-css-properties": "^0.30.0", "mathml-tag-names": "^2.1.3", - "meow": "^13.1.0", + "meow": "^13.2.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.33", + "postcss": "^8.4.38", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^7.0.0", - "postcss-selector-parser": "^6.0.15", + "postcss-selector-parser": "^6.0.16", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", "string-width": "^4.2.3", @@ -31939,9 +31951,9 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "node_modules/table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", "dev": true, "peer": true, "dependencies": { @@ -35389,21 +35401,21 @@ "license": "Apache-2.0", "dependencies": { "@adobe/react-spectrum": "^3.34.1", - "@deephaven/chart": "^0.68.0", - "@deephaven/components": "^0.68.0", - "@deephaven/dashboard": "^0.68.0", - "@deephaven/dashboard-core-plugins": "^0.68.0", - "@deephaven/grid": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/iris-grid": "^0.68.0", - "@deephaven/jsapi-bootstrap": "^0.68.0", - "@deephaven/jsapi-components": "^0.68.0", - "@deephaven/jsapi-types": "1.0.0-dev0.33.2", - "@deephaven/log": "^0.68.0", - "@deephaven/plugin": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/redux": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/chart": "^0.71.0", + "@deephaven/components": "^0.71.0", + "@deephaven/dashboard": "^0.71.0", + "@deephaven/dashboard-core-plugins": "^0.71.0", + "@deephaven/grid": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/iris-grid": "^0.71.0", + "@deephaven/jsapi-bootstrap": "^0.71.0", + "@deephaven/jsapi-components": "^0.71.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.33.3", + "@deephaven/log": "^0.71.0", + "@deephaven/plugin": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/redux": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@fortawesome/react-fontawesome": "^0.2.0", "@react-types/shared": "^3.22.0", "json-rpc-2.0": "^1.6.0", @@ -35424,17 +35436,18 @@ } }, "plugins/ui/src/js/node_modules/@deephaven/chart": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.68.0.tgz", - "integrity": "sha512-KDrQm6id+MCPY8v+rraORQOaUbamyjFYeMFz5gAgJka1ls/gkEDCXTynEkEHseDjTKXb/S1y7Yy7MXGjNeKH6Q==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.71.0.tgz", + "integrity": "sha512-/dv07HJSMxywWBrdTzhD1/1rDpX3k2FN3PYLlSrXixGhUdNhiYKxgT9mhbZ5ETt5JZ6Tn0oktiiuCjp9u839QA==", "dependencies": { - "@deephaven/components": "^0.68.0", - "@deephaven/icons": "^0.68.0", + "@deephaven/components": "^0.71.0", + "@deephaven/icons": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/jsapi-utils": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/jsapi-utils": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/utils": "^0.71.0", + "buffer": "^6.0.3", "deep-equal": "^2.0.5", "lodash.debounce": "^4.0.8", "lodash.set": "^4.3.2", @@ -35448,7 +35461,7 @@ "node": ">=16" }, "peerDependencies": { - "react": "^17.x" + "react": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/chart/node_modules/@deephaven/jsapi-types": { @@ -35457,19 +35470,20 @@ "integrity": "sha512-1f0ZsR7zpXGQFs6vyRovBUECUPg7tNYrzCuHA0iJCrTlJ0FfFDVcDg8uZxsH+11cERcAEs5xdSHXqpo/fM6dKQ==" }, "plugins/ui/src/js/node_modules/@deephaven/components": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.68.0.tgz", - "integrity": "sha512-3AJaLtUvHrduXxl8CprviR/5lQfR5rsvnWQJBgVRPs6XZxcwyEPmBu0c1UEu5JFXYYDVnnt47TbMaZA9kB7ZFw==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.71.0.tgz", + "integrity": "sha512-o9NaRpu0BGyd0pdtxDYVva8YoIP5vFU1sQ11wv8SZ8mnCGT9iY2LA8jMpeKlfefAcKp4gGNLHaDh4wQ6F66Gwg==", "dependencies": { "@adobe/react-spectrum": "^3.34.1", - "@deephaven/icons": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", "@react-spectrum/theme-default": "^3.5.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", @@ -35489,24 +35503,24 @@ "node": ">=10" }, "peerDependencies": { - "react": "^17.x", - "react-dom": "^17.x" + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/console": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.68.0.tgz", - "integrity": "sha512-aRg6L6n+/6RgE+Qad6EGdrka4Qd/9kaRqPPp3bqom5QSowOB0ZZ8auf4hBp9fT6/u7nxdTbz0uVKhI3lCXn7Bw==", - "dependencies": { - "@deephaven/chart": "^0.68.0", - "@deephaven/components": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/jsapi-bootstrap": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.71.0.tgz", + "integrity": "sha512-eSfRuLAbIsnLLE5tSStGY09apYyM3tJNst/iOuPGNgtSku0UHutr/N9LbK+XU3Mby11D/JQzkbTCD54Ba+R1Yg==", + "dependencies": { + "@deephaven/chart": "^0.71.0", + "@deephaven/components": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/jsapi-bootstrap": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/storage": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/storage": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@fortawesome/react-fontawesome": "^0.2.0", "classnames": "^2.3.1", "linkifyjs": "^4.1.0", @@ -35525,8 +35539,8 @@ "node": ">=16" }, "peerDependencies": { - "react": "^17.x", - "react-dom": "^17.x" + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/console/node_modules/@deephaven/jsapi-types": { @@ -35535,16 +35549,16 @@ "integrity": "sha512-1f0ZsR7zpXGQFs6vyRovBUECUPg7tNYrzCuHA0iJCrTlJ0FfFDVcDg8uZxsH+11cERcAEs5xdSHXqpo/fM6dKQ==" }, "plugins/ui/src/js/node_modules/@deephaven/dashboard": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-0.68.0.tgz", - "integrity": "sha512-jPd9dU/ZwGTAc6BSM/Yfu+vAzTJyfSLziNWRHFqAA3xA3r2+a2QiRhfkEVYN4Kua2QVhO3NGQMY6th7t0gTQAw==", - "dependencies": { - "@deephaven/components": "^0.68.0", - "@deephaven/golden-layout": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/redux": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-0.71.0.tgz", + "integrity": "sha512-0u0CqLx0KO5R4kYdlvRJbDNNew4fUAKv37xQCiwOnJCHBBkCiHBxysH/Qr4DZ4yBPCgun5HQw6q1B2pdAlAccQ==", + "dependencies": { + "@deephaven/components": "^0.71.0", + "@deephaven/golden-layout": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/redux": "^0.71.0", + "@deephaven/utils": "^0.71.0", "deep-equal": "^2.0.5", "lodash.ismatch": "^4.1.1", "lodash.throttle": "^4.1.1", @@ -35555,37 +35569,37 @@ "node": ">=16" }, "peerDependencies": { - "react": "^17.0.0", - "react-dom": "^17.0.0", - "react-is": "^17.0.0", + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-is": ">=16.8.0", "react-redux": "^7.2.4" } }, "plugins/ui/src/js/node_modules/@deephaven/dashboard-core-plugins": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/dashboard-core-plugins/-/dashboard-core-plugins-0.68.0.tgz", - "integrity": "sha512-ivYF6cYj20sKf9HNzhKwnEaX1VfwsMSTWRhdvXyy67XQbcV3+v/kgiZnrCQKw3547nsETWT1EI4UuIX2L59S+w==", - "dependencies": { - "@deephaven/chart": "^0.68.0", - "@deephaven/components": "^0.68.0", - "@deephaven/console": "^0.68.0", - "@deephaven/dashboard": "^0.68.0", - "@deephaven/file-explorer": "^0.68.0", - "@deephaven/filters": "^0.68.0", - "@deephaven/golden-layout": "^0.68.0", - "@deephaven/grid": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/iris-grid": "^0.68.0", - "@deephaven/jsapi-bootstrap": "^0.68.0", - "@deephaven/jsapi-components": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/dashboard-core-plugins/-/dashboard-core-plugins-0.71.0.tgz", + "integrity": "sha512-HufxV+hikNlaut0eE1+Hup7hEWX5YTFyzQTZLx4iH/AZY3vBlXoxgMvZOW8oMSXLsJT3vTqqEB6bpI2lG1eC5Q==", + "dependencies": { + "@deephaven/chart": "^0.71.0", + "@deephaven/components": "^0.71.0", + "@deephaven/console": "^0.71.0", + "@deephaven/dashboard": "^0.71.0", + "@deephaven/file-explorer": "^0.71.0", + "@deephaven/filters": "^0.71.0", + "@deephaven/golden-layout": "^0.71.0", + "@deephaven/grid": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/iris-grid": "^0.71.0", + "@deephaven/jsapi-bootstrap": "^0.71.0", + "@deephaven/jsapi-components": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/jsapi-utils": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/plugin": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/redux": "^0.68.0", - "@deephaven/storage": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/jsapi-utils": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/plugin": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/redux": "^0.71.0", + "@deephaven/storage": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@fortawesome/react-fontawesome": "^0.2.0", "classnames": "^2.3.1", "deep-equal": "^2.0.5", @@ -35596,7 +35610,6 @@ "memoizee": "^0.4.15", "prop-types": "^15.7.2", "react-markdown": "^8.0.7", - "react-transition-group": "^4.4.2", "redux": "^4.2.0", "redux-thunk": "^2.4.1", "rehype-mathjax": "^4.0.3", @@ -35608,8 +35621,8 @@ "node": ">=16" }, "peerDependencies": { - "react": "^17.0.0", - "react-dom": "^17.0.0", + "react": ">=16.8.0", + "react-dom": ">=16.8.0", "react-redux": "^7.2.4" } }, @@ -35619,15 +35632,15 @@ "integrity": "sha512-1f0ZsR7zpXGQFs6vyRovBUECUPg7tNYrzCuHA0iJCrTlJ0FfFDVcDg8uZxsH+11cERcAEs5xdSHXqpo/fM6dKQ==" }, "plugins/ui/src/js/node_modules/@deephaven/file-explorer": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/file-explorer/-/file-explorer-0.68.0.tgz", - "integrity": "sha512-78PMW1dAOULDSwXTyLnn/d8T8OwTrGd53k4p0py8XFfXtIgsIouJElER6v4+5p5oeK1rHI9DC1CjvNWUUqvvHQ==", - "dependencies": { - "@deephaven/components": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/storage": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/file-explorer/-/file-explorer-0.71.0.tgz", + "integrity": "sha512-p1nSlMZgL8lkQHDP+NDQNoY8RV2Vs+KdPNhDqpsAE1bS6ZtpdOEnyoCfrDBoZ4RuV3yj21byFZs/PqXY/GJ6fg==", + "dependencies": { + "@deephaven/components": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/storage": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", "classnames": "^2.3.1", @@ -35638,36 +35651,36 @@ "node": ">=16" }, "peerDependencies": { - "react": "^17.0.0" + "react": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/filters": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.68.0.tgz", - "integrity": "sha512-H6eOMdbbzqTsRRDRwILbVjdQnCOaKRE1B3gHHPdUvRoKIAlNqQxBh4L+DW3WbuOBYjAuCcMutRHpy5gohaPchw==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.71.0.tgz", + "integrity": "sha512-qt1dYNXPTxWUmaOgyQ5/3z6IViYVlkIG9FqKRmokWtfHabTNLc/eeM6XfUAPBmAgkC8Aawe8xtRrkaPd8knqyg==", "engines": { "node": ">=16" } }, "plugins/ui/src/js/node_modules/@deephaven/golden-layout": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.68.0.tgz", - "integrity": "sha512-+kwnRD2NCir0RrfPQRdc+03TLtORzfe2bIbzxTDBZro0FDPBifPgNUAO5IUsTDw0wfDrTezyEk1KtMzHf/U7vA==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.71.0.tgz", + "integrity": "sha512-kpqJDJC+cwQlY7YN93kscdkm9Edy68ptRNdiSSPwwcY1hdr/NbdR+NuZNtqy2VOp9AV4GGKsoKlpa+HQb1YDXA==", "dependencies": { - "@deephaven/components": "^0.68.0", + "@deephaven/components": "^0.71.0", "jquery": "^3.6.0" }, "peerDependencies": { - "react": "^17.x", - "react-dom": "^17.x" + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/grid": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.68.0.tgz", - "integrity": "sha512-cSEWNq3ANtLCAWAgzXz/4ifGGAjYR9/Aex2p+xJWS73fmFHtAw7IsI63K5QB+9mxqVdH9TNZ1IztdDbucEwq8Q==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.71.0.tgz", + "integrity": "sha512-++oWzFZ4o53q7PgqJlPWnxnXXSgLFU00LTWYTW8qB8nkBkJAW5VjFVTlEmSEwmjbURF0ATNIcH3nMl6oGXaNrQ==", "dependencies": { - "@deephaven/utils": "^0.68.0", + "@deephaven/utils": "^0.71.0", "classnames": "^2.3.1", "color-convert": "^2.0.1", "event-target-shim": "^6.0.2", @@ -35681,13 +35694,13 @@ "node": ">=16" }, "peerDependencies": { - "react": "^17.x" + "react": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/icons": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.68.0.tgz", - "integrity": "sha512-FUF+eKocoqr1l5sKN3+vA7BBJGWhHRndofwt8QQmt7nv6Oh6SM/I3x37Jx/riacuMN+yUqes5yuEgWqS0QM+Nw==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.71.0.tgz", + "integrity": "sha512-O7ZO+DAM8EXf/GR2sZ/Vl16ciXaTFEoFXMlExj/EXvBAr3ceILuLlh6YLtc12yxI+i3EkBB2DZWIhEURNzH0tQ==", "dependencies": { "@fortawesome/fontawesome-common-types": "^6.1.1" }, @@ -35697,22 +35710,22 @@ } }, "plugins/ui/src/js/node_modules/@deephaven/iris-grid": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.68.0.tgz", - "integrity": "sha512-6LP6rOdWfCQrumQNZAxMZnYpSZFOC/sKYDgs3oDSpIbGSLxsLVcdp9z6/sCQ0I+KwRcWAEzq47QZ6UjTe2QH/Q==", - "dependencies": { - "@deephaven/components": "^0.68.0", - "@deephaven/console": "^0.68.0", - "@deephaven/filters": "^0.68.0", - "@deephaven/grid": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/jsapi-components": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.71.0.tgz", + "integrity": "sha512-G6VpMuWCV3zzfKmaH9RbfGvq5pcCNpSp+fHpUO+bN3xAOFhB66u48xSS1Ep90YyjCve73QMSju99Uknkh13ILw==", + "dependencies": { + "@deephaven/components": "^0.71.0", + "@deephaven/console": "^0.71.0", + "@deephaven/filters": "^0.71.0", + "@deephaven/grid": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/jsapi-components": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/jsapi-utils": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/storage": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/jsapi-utils": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/storage": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.2", @@ -35734,8 +35747,8 @@ "node": ">=10" }, "peerDependencies": { - "react": "^17.x", - "react-dom": "^17.x" + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/iris-grid/node_modules/@deephaven/jsapi-types": { @@ -35744,20 +35757,20 @@ "integrity": "sha512-1f0ZsR7zpXGQFs6vyRovBUECUPg7tNYrzCuHA0iJCrTlJ0FfFDVcDg8uZxsH+11cERcAEs5xdSHXqpo/fM6dKQ==" }, "plugins/ui/src/js/node_modules/@deephaven/jsapi-bootstrap": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.68.0.tgz", - "integrity": "sha512-i0Tlnh50yhnPXuotw2JSzPgjNe76bVh2MrAGHE9AUkhvO1P/3kFQ1EfVXIvxQ4K2z/9Uhq8b3uFWi6iAGiZ7Hg==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.71.0.tgz", + "integrity": "sha512-0SEH75x1RwvV2T5c2cLzpOezDy+Dbwg7hg9JCyd9UJQEwY4e7wQVlRE2YRowKWvKvMk6Pd0967K/8ly0c16NRg==", "dependencies": { - "@deephaven/components": "^0.68.0", + "@deephaven/components": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0" + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0" }, "engines": { "node": ">=16" }, "peerDependencies": { - "react": "^17.x" + "react": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/jsapi-bootstrap/node_modules/@deephaven/jsapi-types": { @@ -35766,17 +35779,17 @@ "integrity": "sha512-1f0ZsR7zpXGQFs6vyRovBUECUPg7tNYrzCuHA0iJCrTlJ0FfFDVcDg8uZxsH+11cERcAEs5xdSHXqpo/fM6dKQ==" }, "plugins/ui/src/js/node_modules/@deephaven/jsapi-components": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.68.0.tgz", - "integrity": "sha512-eiVLFFVORP8tOEueYjLvvjTF9hd6B/gMi7zZMcNMWYEzCvtF1v0/8qakK02pEo659g28ixRBKQQQPyni00B09Q==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.71.0.tgz", + "integrity": "sha512-7UF/MVBbp1B0n5Crf4e/ZuCasFaz2mPW7HXt5bEdoIHXA25u9ev32J6lXGDE1xIiZKilvKs6rMDc8o9nPDdiAQ==", "dependencies": { - "@deephaven/components": "^0.68.0", - "@deephaven/jsapi-bootstrap": "^0.68.0", + "@deephaven/components": "^0.71.0", + "@deephaven/jsapi-bootstrap": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/jsapi-utils": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/jsapi-utils": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@types/js-cookie": "^3.0.3", "classnames": "^2.3.2", "js-cookie": "^3.0.5", @@ -35787,7 +35800,7 @@ "node": ">=16" }, "peerDependencies": { - "react": "^17.x" + "react": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/jsapi-components/node_modules/@deephaven/jsapi-types": { @@ -35796,19 +35809,19 @@ "integrity": "sha512-1f0ZsR7zpXGQFs6vyRovBUECUPg7tNYrzCuHA0iJCrTlJ0FfFDVcDg8uZxsH+11cERcAEs5xdSHXqpo/fM6dKQ==" }, "plugins/ui/src/js/node_modules/@deephaven/jsapi-types": { - "version": "1.0.0-dev0.33.2", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.33.2.tgz", - "integrity": "sha512-lTUlZtoPvvwMU5X4UFdtXIQKkKdarnBTJh9QdsMwP+WHa2IigsyMTS3lQhGrX9A8h8f6LCjfuCuChAUJS7d0Kg==" + "version": "1.0.0-dev0.33.3", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.33.3.tgz", + "integrity": "sha512-N0TAylzPpEkPsOgEiWbz5Wm8GMXOzgLXsSDTUmExykveh+/CkBtbZY7W1ZVe6vgvy0Fvikiymd9VIUHQFwsJ5w==" }, "plugins/ui/src/js/node_modules/@deephaven/jsapi-utils": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.68.0.tgz", - "integrity": "sha512-bQ4+ZLmpaYlMBc6p7YI0n/OJvQA5zUManW+3bFf9WaZsYI8rxeyDzDtGn8NdI0jQirl0rt/9Uvak7AelqEInJw==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.71.0.tgz", + "integrity": "sha512-8BcMPqApg2w3cL2WgUCggkGHvYkAcqcVkFZxspkx5TOBHiJhXMsazrDwcU8Ss3Cgy8wWh+KS8oP7kMuRoHG/YQ==", "dependencies": { - "@deephaven/filters": "^0.68.0", + "@deephaven/filters": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/log": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/log": "^0.71.0", + "@deephaven/utils": "^0.71.0", "lodash.clamp": "^4.0.3", "shortid": "^2.2.16" }, @@ -35822,9 +35835,9 @@ "integrity": "sha512-1f0ZsR7zpXGQFs6vyRovBUECUPg7tNYrzCuHA0iJCrTlJ0FfFDVcDg8uZxsH+11cERcAEs5xdSHXqpo/fM6dKQ==" }, "plugins/ui/src/js/node_modules/@deephaven/log": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.68.0.tgz", - "integrity": "sha512-F3kZYudez4Jxnunwhw97WcWySol/4Maqd4wD93fydmnMPMe05WA+Hya9b4CQ4J3XZIbRnuV9kS3laf6YEI6xig==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.71.0.tgz", + "integrity": "sha512-sHgDLtrl8KRKythq/vnfq0S5sTTWlhJRxJ1YLu9DcfakBefigwWdz1HWoHoKAIS1Y0cBHhrxgoGkpmNZykKsTA==", "dependencies": { "event-target-shim": "^6.0.2" }, @@ -35833,17 +35846,17 @@ } }, "plugins/ui/src/js/node_modules/@deephaven/plugin": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.68.0.tgz", - "integrity": "sha512-FlSF6CSKTKAGi88iLF9mEEROTJ6BnPOSbMAUAFTXEGJSngcEZ4EaybwjYV0HxMrSKhbs0MtpHJZaAVLfQjfRPw==", - "dependencies": { - "@deephaven/components": "^0.68.0", - "@deephaven/golden-layout": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/iris-grid": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.71.0.tgz", + "integrity": "sha512-zY5Qen0fv6u4TAyi6+fha4tBXSfApC6/KVt2qeDDKYjJPGbbaFqP5PE9aGD1PW+5ilS/txsl1z2CqxGkdnDTPQ==", + "dependencies": { + "@deephaven/components": "^0.71.0", + "@deephaven/golden-layout": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/iris-grid": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", "@fortawesome/fontawesome-common-types": "^6.1.1", "@fortawesome/react-fontawesome": "^0.2.0" }, @@ -35851,7 +35864,7 @@ "node": ">=16" }, "peerDependencies": { - "react": "^17.x" + "react": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/plugin/node_modules/@deephaven/jsapi-types": { @@ -35860,13 +35873,13 @@ "integrity": "sha512-1f0ZsR7zpXGQFs6vyRovBUECUPg7tNYrzCuHA0iJCrTlJ0FfFDVcDg8uZxsH+11cERcAEs5xdSHXqpo/fM6dKQ==" }, "plugins/ui/src/js/node_modules/@deephaven/react-hooks": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.68.0.tgz", - "integrity": "sha512-d7mWy2utLGVkXqKO+LT1Xrg1KjPPcGsahPETAlnrTKRf777woyHzuHb3DTMD+ghnt0JjZdireyShIorrlDLAyw==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.71.0.tgz", + "integrity": "sha512-Jw6PeoYSUGoWzTH4NQyZbUIf/SayaycbMyCLc87925BIdrcdvIXuqEHey1gZAJ9PvER5RvcB/mHOds+jAnkV1g==", "dependencies": { "@adobe/react-spectrum": "^3.34.1", - "@deephaven/log": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/log": "^0.71.0", + "@deephaven/utils": "^0.71.0", "lodash.debounce": "^4.0.8", "shortid": "^2.2.16" }, @@ -35874,18 +35887,18 @@ "node": ">=16" }, "peerDependencies": { - "react": "^17.x" + "react": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/redux": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.68.0.tgz", - "integrity": "sha512-GPA+5Z79RumLpwzse4eQ0qyfBigDZx6n8YK6yMdYMIbOB8u6EtwFucz+K3uBYSmCp1sGLExyn9d4SIE6yyYMpw==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.71.0.tgz", + "integrity": "sha512-CVL6YAmJedwkxaeBRvxKoX5f15SpfQPjU1ew7AZ7sG4Ycz0CrlXWFvpK4J95hciBro45nxRjd6JXBsue4GB1Bg==", "dependencies": { "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/jsapi-utils": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/plugin": "^0.68.0", + "@deephaven/jsapi-utils": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/plugin": "^0.71.0", "deep-equal": "^2.0.5", "redux-thunk": "2.4.1" }, @@ -35902,29 +35915,52 @@ "integrity": "sha512-1f0ZsR7zpXGQFs6vyRovBUECUPg7tNYrzCuHA0iJCrTlJ0FfFDVcDg8uZxsH+11cERcAEs5xdSHXqpo/fM6dKQ==" }, "plugins/ui/src/js/node_modules/@deephaven/storage": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.68.0.tgz", - "integrity": "sha512-B7mXYFTeR4pcmgVr5wKwDygdaLWwyo9n9XFZ7aOvUXx2m7knsGVxUVuXGl3WDTNbdknHkNSNG5PMGGC93IefaA==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.71.0.tgz", + "integrity": "sha512-JgWPlIjPmdqu8yIFOTEzGdM596ie197579box2BYpNa9qoiBjZSxPdSlhGiKA9eyEYtt7KU/K+27k8O8PCedDw==", "dependencies": { - "@deephaven/filters": "^0.68.0", - "@deephaven/log": "^0.68.0", + "@deephaven/filters": "^0.71.0", + "@deephaven/log": "^0.71.0", "lodash.throttle": "^4.1.1" }, "engines": { "node": ">=16" }, "peerDependencies": { - "react": "^17.x" + "react": ">=16.8.0" } }, "plugins/ui/src/js/node_modules/@deephaven/utils": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.68.0.tgz", - "integrity": "sha512-Nl8PO0q7a17ejAO3dehQdcJSuuaCWqE0PVGmuIDXALGC2OcUYta6AjZH+HgKFHIUepqXCHP160YFGDV7K8evOg==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.71.0.tgz", + "integrity": "sha512-Cf9vlo7n41GdsitP8V+m5hOc0cy/BRUt3hjud/TE/KdYrLy9QHHJxPa3DyQ8gs1/J7EE0J8Ld6djhyOQrCpa4Q==", "engines": { "node": ">=16" } }, + "plugins/ui/src/js/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "plugins/ui/src/js/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -37456,24 +37492,24 @@ } }, "@csstools/css-parser-algorithms": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.0.tgz", - "integrity": "sha512-YfEHq0eRH98ffb5/EsrrDspVWAuph6gDggAE74ZtjecsmyyWpW768hOyiONa8zwWGbIWYfa2Xp4tRTrpQQ00CQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz", + "integrity": "sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==", "dev": true, "peer": true, "requires": {} }, "@csstools/css-tokenizer": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.3.tgz", - "integrity": "sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz", + "integrity": "sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==", "dev": true, "peer": true }, "@csstools/media-query-list-parser": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.8.tgz", - "integrity": "sha512-DiD3vG5ciNzeuTEoh74S+JMjQDs50R3zlxHnBnfd04YYfA/kh2KiBCGhzqLxlJcNq+7yNQ3stuZZYLX6wK/U2g==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz", + "integrity": "sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==", "dev": true, "peer": true, "requires": {} @@ -39755,21 +39791,21 @@ "version": "file:plugins/ui/src/js", "requires": { "@adobe/react-spectrum": "^3.34.1", - "@deephaven/chart": "^0.68.0", - "@deephaven/components": "^0.68.0", - "@deephaven/dashboard": "^0.68.0", - "@deephaven/dashboard-core-plugins": "^0.68.0", - "@deephaven/grid": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/iris-grid": "^0.68.0", - "@deephaven/jsapi-bootstrap": "^0.68.0", - "@deephaven/jsapi-components": "^0.68.0", - "@deephaven/jsapi-types": "1.0.0-dev0.33.2", - "@deephaven/log": "^0.68.0", - "@deephaven/plugin": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/redux": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/chart": "^0.71.0", + "@deephaven/components": "^0.71.0", + "@deephaven/dashboard": "^0.71.0", + "@deephaven/dashboard-core-plugins": "^0.71.0", + "@deephaven/grid": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/iris-grid": "^0.71.0", + "@deephaven/jsapi-bootstrap": "^0.71.0", + "@deephaven/jsapi-components": "^0.71.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.33.3", + "@deephaven/log": "^0.71.0", + "@deephaven/plugin": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/redux": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@fortawesome/react-fontawesome": "^0.2.0", "@react-types/shared": "^3.22.0", "@types/react": "^17.0.2", @@ -39784,17 +39820,18 @@ }, "dependencies": { "@deephaven/chart": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.68.0.tgz", - "integrity": "sha512-KDrQm6id+MCPY8v+rraORQOaUbamyjFYeMFz5gAgJka1ls/gkEDCXTynEkEHseDjTKXb/S1y7Yy7MXGjNeKH6Q==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/chart/-/chart-0.71.0.tgz", + "integrity": "sha512-/dv07HJSMxywWBrdTzhD1/1rDpX3k2FN3PYLlSrXixGhUdNhiYKxgT9mhbZ5ETt5JZ6Tn0oktiiuCjp9u839QA==", "requires": { - "@deephaven/components": "^0.68.0", - "@deephaven/icons": "^0.68.0", + "@deephaven/components": "^0.71.0", + "@deephaven/icons": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/jsapi-utils": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/jsapi-utils": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/utils": "^0.71.0", + "buffer": "^6.0.3", "deep-equal": "^2.0.5", "lodash.debounce": "^4.0.8", "lodash.set": "^4.3.2", @@ -39813,19 +39850,20 @@ } }, "@deephaven/components": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.68.0.tgz", - "integrity": "sha512-3AJaLtUvHrduXxl8CprviR/5lQfR5rsvnWQJBgVRPs6XZxcwyEPmBu0c1UEu5JFXYYDVnnt47TbMaZA9kB7ZFw==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/components/-/components-0.71.0.tgz", + "integrity": "sha512-o9NaRpu0BGyd0pdtxDYVva8YoIP5vFU1sQ11wv8SZ8mnCGT9iY2LA8jMpeKlfefAcKp4gGNLHaDh4wQ6F66Gwg==", "requires": { "@adobe/react-spectrum": "^3.34.1", - "@deephaven/icons": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", "@react-spectrum/theme-default": "^3.5.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", @@ -39843,19 +39881,19 @@ } }, "@deephaven/console": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.68.0.tgz", - "integrity": "sha512-aRg6L6n+/6RgE+Qad6EGdrka4Qd/9kaRqPPp3bqom5QSowOB0ZZ8auf4hBp9fT6/u7nxdTbz0uVKhI3lCXn7Bw==", - "requires": { - "@deephaven/chart": "^0.68.0", - "@deephaven/components": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/jsapi-bootstrap": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/console/-/console-0.71.0.tgz", + "integrity": "sha512-eSfRuLAbIsnLLE5tSStGY09apYyM3tJNst/iOuPGNgtSku0UHutr/N9LbK+XU3Mby11D/JQzkbTCD54Ba+R1Yg==", + "requires": { + "@deephaven/chart": "^0.71.0", + "@deephaven/components": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/jsapi-bootstrap": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/storage": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/storage": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@fortawesome/react-fontawesome": "^0.2.0", "classnames": "^2.3.1", "linkifyjs": "^4.1.0", @@ -39879,16 +39917,16 @@ } }, "@deephaven/dashboard": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-0.68.0.tgz", - "integrity": "sha512-jPd9dU/ZwGTAc6BSM/Yfu+vAzTJyfSLziNWRHFqAA3xA3r2+a2QiRhfkEVYN4Kua2QVhO3NGQMY6th7t0gTQAw==", - "requires": { - "@deephaven/components": "^0.68.0", - "@deephaven/golden-layout": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/redux": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/dashboard/-/dashboard-0.71.0.tgz", + "integrity": "sha512-0u0CqLx0KO5R4kYdlvRJbDNNew4fUAKv37xQCiwOnJCHBBkCiHBxysH/Qr4DZ4yBPCgun5HQw6q1B2pdAlAccQ==", + "requires": { + "@deephaven/components": "^0.71.0", + "@deephaven/golden-layout": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/redux": "^0.71.0", + "@deephaven/utils": "^0.71.0", "deep-equal": "^2.0.5", "lodash.ismatch": "^4.1.1", "lodash.throttle": "^4.1.1", @@ -39897,30 +39935,30 @@ } }, "@deephaven/dashboard-core-plugins": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/dashboard-core-plugins/-/dashboard-core-plugins-0.68.0.tgz", - "integrity": "sha512-ivYF6cYj20sKf9HNzhKwnEaX1VfwsMSTWRhdvXyy67XQbcV3+v/kgiZnrCQKw3547nsETWT1EI4UuIX2L59S+w==", - "requires": { - "@deephaven/chart": "^0.68.0", - "@deephaven/components": "^0.68.0", - "@deephaven/console": "^0.68.0", - "@deephaven/dashboard": "^0.68.0", - "@deephaven/file-explorer": "^0.68.0", - "@deephaven/filters": "^0.68.0", - "@deephaven/golden-layout": "^0.68.0", - "@deephaven/grid": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/iris-grid": "^0.68.0", - "@deephaven/jsapi-bootstrap": "^0.68.0", - "@deephaven/jsapi-components": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/dashboard-core-plugins/-/dashboard-core-plugins-0.71.0.tgz", + "integrity": "sha512-HufxV+hikNlaut0eE1+Hup7hEWX5YTFyzQTZLx4iH/AZY3vBlXoxgMvZOW8oMSXLsJT3vTqqEB6bpI2lG1eC5Q==", + "requires": { + "@deephaven/chart": "^0.71.0", + "@deephaven/components": "^0.71.0", + "@deephaven/console": "^0.71.0", + "@deephaven/dashboard": "^0.71.0", + "@deephaven/file-explorer": "^0.71.0", + "@deephaven/filters": "^0.71.0", + "@deephaven/golden-layout": "^0.71.0", + "@deephaven/grid": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/iris-grid": "^0.71.0", + "@deephaven/jsapi-bootstrap": "^0.71.0", + "@deephaven/jsapi-components": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/jsapi-utils": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/plugin": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/redux": "^0.68.0", - "@deephaven/storage": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/jsapi-utils": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/plugin": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/redux": "^0.71.0", + "@deephaven/storage": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@fortawesome/react-fontawesome": "^0.2.0", "classnames": "^2.3.1", "deep-equal": "^2.0.5", @@ -39931,7 +39969,6 @@ "memoizee": "^0.4.15", "prop-types": "^15.7.2", "react-markdown": "^8.0.7", - "react-transition-group": "^4.4.2", "redux": "^4.2.0", "redux-thunk": "^2.4.1", "rehype-mathjax": "^4.0.3", @@ -39948,15 +39985,15 @@ } }, "@deephaven/file-explorer": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/file-explorer/-/file-explorer-0.68.0.tgz", - "integrity": "sha512-78PMW1dAOULDSwXTyLnn/d8T8OwTrGd53k4p0py8XFfXtIgsIouJElER6v4+5p5oeK1rHI9DC1CjvNWUUqvvHQ==", - "requires": { - "@deephaven/components": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/storage": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/file-explorer/-/file-explorer-0.71.0.tgz", + "integrity": "sha512-p1nSlMZgL8lkQHDP+NDQNoY8RV2Vs+KdPNhDqpsAE1bS6ZtpdOEnyoCfrDBoZ4RuV3yj21byFZs/PqXY/GJ6fg==", + "requires": { + "@deephaven/components": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/storage": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", "classnames": "^2.3.1", @@ -39965,25 +40002,25 @@ } }, "@deephaven/filters": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.68.0.tgz", - "integrity": "sha512-H6eOMdbbzqTsRRDRwILbVjdQnCOaKRE1B3gHHPdUvRoKIAlNqQxBh4L+DW3WbuOBYjAuCcMutRHpy5gohaPchw==" + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/filters/-/filters-0.71.0.tgz", + "integrity": "sha512-qt1dYNXPTxWUmaOgyQ5/3z6IViYVlkIG9FqKRmokWtfHabTNLc/eeM6XfUAPBmAgkC8Aawe8xtRrkaPd8knqyg==" }, "@deephaven/golden-layout": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.68.0.tgz", - "integrity": "sha512-+kwnRD2NCir0RrfPQRdc+03TLtORzfe2bIbzxTDBZro0FDPBifPgNUAO5IUsTDw0wfDrTezyEk1KtMzHf/U7vA==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/golden-layout/-/golden-layout-0.71.0.tgz", + "integrity": "sha512-kpqJDJC+cwQlY7YN93kscdkm9Edy68ptRNdiSSPwwcY1hdr/NbdR+NuZNtqy2VOp9AV4GGKsoKlpa+HQb1YDXA==", "requires": { - "@deephaven/components": "^0.68.0", + "@deephaven/components": "^0.71.0", "jquery": "^3.6.0" } }, "@deephaven/grid": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.68.0.tgz", - "integrity": "sha512-cSEWNq3ANtLCAWAgzXz/4ifGGAjYR9/Aex2p+xJWS73fmFHtAw7IsI63K5QB+9mxqVdH9TNZ1IztdDbucEwq8Q==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/grid/-/grid-0.71.0.tgz", + "integrity": "sha512-++oWzFZ4o53q7PgqJlPWnxnXXSgLFU00LTWYTW8qB8nkBkJAW5VjFVTlEmSEwmjbURF0ATNIcH3nMl6oGXaNrQ==", "requires": { - "@deephaven/utils": "^0.68.0", + "@deephaven/utils": "^0.71.0", "classnames": "^2.3.1", "color-convert": "^2.0.1", "event-target-shim": "^6.0.2", @@ -39995,30 +40032,30 @@ } }, "@deephaven/icons": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.68.0.tgz", - "integrity": "sha512-FUF+eKocoqr1l5sKN3+vA7BBJGWhHRndofwt8QQmt7nv6Oh6SM/I3x37Jx/riacuMN+yUqes5yuEgWqS0QM+Nw==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/icons/-/icons-0.71.0.tgz", + "integrity": "sha512-O7ZO+DAM8EXf/GR2sZ/Vl16ciXaTFEoFXMlExj/EXvBAr3ceILuLlh6YLtc12yxI+i3EkBB2DZWIhEURNzH0tQ==", "requires": { "@fortawesome/fontawesome-common-types": "^6.1.1" } }, "@deephaven/iris-grid": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.68.0.tgz", - "integrity": "sha512-6LP6rOdWfCQrumQNZAxMZnYpSZFOC/sKYDgs3oDSpIbGSLxsLVcdp9z6/sCQ0I+KwRcWAEzq47QZ6UjTe2QH/Q==", - "requires": { - "@deephaven/components": "^0.68.0", - "@deephaven/console": "^0.68.0", - "@deephaven/filters": "^0.68.0", - "@deephaven/grid": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/jsapi-components": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/iris-grid/-/iris-grid-0.71.0.tgz", + "integrity": "sha512-G6VpMuWCV3zzfKmaH9RbfGvq5pcCNpSp+fHpUO+bN3xAOFhB66u48xSS1Ep90YyjCve73QMSju99Uknkh13ILw==", + "requires": { + "@deephaven/components": "^0.71.0", + "@deephaven/console": "^0.71.0", + "@deephaven/filters": "^0.71.0", + "@deephaven/grid": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/jsapi-components": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/jsapi-utils": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/storage": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/jsapi-utils": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/storage": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.2", @@ -40045,14 +40082,14 @@ } }, "@deephaven/jsapi-bootstrap": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.68.0.tgz", - "integrity": "sha512-i0Tlnh50yhnPXuotw2JSzPgjNe76bVh2MrAGHE9AUkhvO1P/3kFQ1EfVXIvxQ4K2z/9Uhq8b3uFWi6iAGiZ7Hg==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-bootstrap/-/jsapi-bootstrap-0.71.0.tgz", + "integrity": "sha512-0SEH75x1RwvV2T5c2cLzpOezDy+Dbwg7hg9JCyd9UJQEwY4e7wQVlRE2YRowKWvKvMk6Pd0967K/8ly0c16NRg==", "requires": { - "@deephaven/components": "^0.68.0", + "@deephaven/components": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0" + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0" }, "dependencies": { "@deephaven/jsapi-types": { @@ -40063,17 +40100,17 @@ } }, "@deephaven/jsapi-components": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.68.0.tgz", - "integrity": "sha512-eiVLFFVORP8tOEueYjLvvjTF9hd6B/gMi7zZMcNMWYEzCvtF1v0/8qakK02pEo659g28ixRBKQQQPyni00B09Q==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-components/-/jsapi-components-0.71.0.tgz", + "integrity": "sha512-7UF/MVBbp1B0n5Crf4e/ZuCasFaz2mPW7HXt5bEdoIHXA25u9ev32J6lXGDE1xIiZKilvKs6rMDc8o9nPDdiAQ==", "requires": { - "@deephaven/components": "^0.68.0", - "@deephaven/jsapi-bootstrap": "^0.68.0", + "@deephaven/components": "^0.71.0", + "@deephaven/jsapi-bootstrap": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/jsapi-utils": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/jsapi-utils": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@types/js-cookie": "^3.0.3", "classnames": "^2.3.2", "js-cookie": "^3.0.5", @@ -40089,19 +40126,19 @@ } }, "@deephaven/jsapi-types": { - "version": "1.0.0-dev0.33.2", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.33.2.tgz", - "integrity": "sha512-lTUlZtoPvvwMU5X4UFdtXIQKkKdarnBTJh9QdsMwP+WHa2IigsyMTS3lQhGrX9A8h8f6LCjfuCuChAUJS7d0Kg==" + "version": "1.0.0-dev0.33.3", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-types/-/jsapi-types-1.0.0-dev0.33.3.tgz", + "integrity": "sha512-N0TAylzPpEkPsOgEiWbz5Wm8GMXOzgLXsSDTUmExykveh+/CkBtbZY7W1ZVe6vgvy0Fvikiymd9VIUHQFwsJ5w==" }, "@deephaven/jsapi-utils": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.68.0.tgz", - "integrity": "sha512-bQ4+ZLmpaYlMBc6p7YI0n/OJvQA5zUManW+3bFf9WaZsYI8rxeyDzDtGn8NdI0jQirl0rt/9Uvak7AelqEInJw==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/jsapi-utils/-/jsapi-utils-0.71.0.tgz", + "integrity": "sha512-8BcMPqApg2w3cL2WgUCggkGHvYkAcqcVkFZxspkx5TOBHiJhXMsazrDwcU8Ss3Cgy8wWh+KS8oP7kMuRoHG/YQ==", "requires": { - "@deephaven/filters": "^0.68.0", + "@deephaven/filters": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/log": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/log": "^0.71.0", + "@deephaven/utils": "^0.71.0", "lodash.clamp": "^4.0.3", "shortid": "^2.2.16" }, @@ -40114,25 +40151,25 @@ } }, "@deephaven/log": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.68.0.tgz", - "integrity": "sha512-F3kZYudez4Jxnunwhw97WcWySol/4Maqd4wD93fydmnMPMe05WA+Hya9b4CQ4J3XZIbRnuV9kS3laf6YEI6xig==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/log/-/log-0.71.0.tgz", + "integrity": "sha512-sHgDLtrl8KRKythq/vnfq0S5sTTWlhJRxJ1YLu9DcfakBefigwWdz1HWoHoKAIS1Y0cBHhrxgoGkpmNZykKsTA==", "requires": { "event-target-shim": "^6.0.2" } }, "@deephaven/plugin": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.68.0.tgz", - "integrity": "sha512-FlSF6CSKTKAGi88iLF9mEEROTJ6BnPOSbMAUAFTXEGJSngcEZ4EaybwjYV0HxMrSKhbs0MtpHJZaAVLfQjfRPw==", - "requires": { - "@deephaven/components": "^0.68.0", - "@deephaven/golden-layout": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/iris-grid": "^0.68.0", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/plugin/-/plugin-0.71.0.tgz", + "integrity": "sha512-zY5Qen0fv6u4TAyi6+fha4tBXSfApC6/KVt2qeDDKYjJPGbbaFqP5PE9aGD1PW+5ilS/txsl1z2CqxGkdnDTPQ==", + "requires": { + "@deephaven/components": "^0.71.0", + "@deephaven/golden-layout": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/iris-grid": "^0.71.0", "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/log": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", + "@deephaven/log": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", "@fortawesome/fontawesome-common-types": "^6.1.1", "@fortawesome/react-fontawesome": "^0.2.0" }, @@ -40145,26 +40182,26 @@ } }, "@deephaven/react-hooks": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.68.0.tgz", - "integrity": "sha512-d7mWy2utLGVkXqKO+LT1Xrg1KjPPcGsahPETAlnrTKRf777woyHzuHb3DTMD+ghnt0JjZdireyShIorrlDLAyw==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/react-hooks/-/react-hooks-0.71.0.tgz", + "integrity": "sha512-Jw6PeoYSUGoWzTH4NQyZbUIf/SayaycbMyCLc87925BIdrcdvIXuqEHey1gZAJ9PvER5RvcB/mHOds+jAnkV1g==", "requires": { "@adobe/react-spectrum": "^3.34.1", - "@deephaven/log": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/log": "^0.71.0", + "@deephaven/utils": "^0.71.0", "lodash.debounce": "^4.0.8", "shortid": "^2.2.16" } }, "@deephaven/redux": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.68.0.tgz", - "integrity": "sha512-GPA+5Z79RumLpwzse4eQ0qyfBigDZx6n8YK6yMdYMIbOB8u6EtwFucz+K3uBYSmCp1sGLExyn9d4SIE6yyYMpw==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/redux/-/redux-0.71.0.tgz", + "integrity": "sha512-CVL6YAmJedwkxaeBRvxKoX5f15SpfQPjU1ew7AZ7sG4Ycz0CrlXWFvpK4J95hciBro45nxRjd6JXBsue4GB1Bg==", "requires": { "@deephaven/jsapi-types": "1.0.0-dev0.33.1", - "@deephaven/jsapi-utils": "^0.68.0", - "@deephaven/log": "^0.68.0", - "@deephaven/plugin": "^0.68.0", + "@deephaven/jsapi-utils": "^0.71.0", + "@deephaven/log": "^0.71.0", + "@deephaven/plugin": "^0.71.0", "deep-equal": "^2.0.5", "redux-thunk": "2.4.1" }, @@ -40177,19 +40214,28 @@ } }, "@deephaven/storage": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.68.0.tgz", - "integrity": "sha512-B7mXYFTeR4pcmgVr5wKwDygdaLWwyo9n9XFZ7aOvUXx2m7knsGVxUVuXGl3WDTNbdknHkNSNG5PMGGC93IefaA==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/storage/-/storage-0.71.0.tgz", + "integrity": "sha512-JgWPlIjPmdqu8yIFOTEzGdM596ie197579box2BYpNa9qoiBjZSxPdSlhGiKA9eyEYtt7KU/K+27k8O8PCedDw==", "requires": { - "@deephaven/filters": "^0.68.0", - "@deephaven/log": "^0.68.0", + "@deephaven/filters": "^0.71.0", + "@deephaven/log": "^0.71.0", "lodash.throttle": "^4.1.1" } }, "@deephaven/utils": { - "version": "0.68.0", - "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.68.0.tgz", - "integrity": "sha512-Nl8PO0q7a17ejAO3dehQdcJSuuaCWqE0PVGmuIDXALGC2OcUYta6AjZH+HgKFHIUepqXCHP160YFGDV7K8evOg==" + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@deephaven/utils/-/utils-0.71.0.tgz", + "integrity": "sha512-Cf9vlo7n41GdsitP8V+m5hOc0cy/BRUt3hjud/TE/KdYrLy9QHHJxPa3DyQ8gs1/J7EE0J8Ld6djhyOQrCpa4Q==" + }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } }, "color-convert": { "version": "2.0.1", @@ -40526,6 +40572,13 @@ "tslib": "^2.0.0" } }, + "@dual-bundle/import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==", + "dev": true, + "peer": true + }, "@esbuild/aix-ppc64": { "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", @@ -48962,9 +49015,9 @@ } }, "enhanced-resolve": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.1.tgz", - "integrity": "sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", "dev": true, "peer": true, "requires": { @@ -50426,9 +50479,9 @@ } }, "get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", + "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", "dev": true, "peer": true, "requires": { @@ -51178,9 +51231,9 @@ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true }, "ignore-walk": { @@ -53978,9 +54031,9 @@ "dev": true }, "known-css-properties": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", - "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.30.0.tgz", + "integrity": "sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==", "dev": true, "peer": true }, @@ -58696,14 +58749,14 @@ "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" }, "postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "dev": true, "requires": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" } }, "postcss-resolve-nested-selector": { @@ -58722,9 +58775,9 @@ "requires": {} }, "postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -60304,9 +60357,9 @@ "devOptional": true }, "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true }, "source-map-support": { @@ -60745,16 +60798,17 @@ } }, "stylelint": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.2.1.tgz", - "integrity": "sha512-SfIMGFK+4n7XVAyv50CpVfcGYWG4v41y6xG7PqOgQSY8M/PgdK0SQbjWFblxjJZlN9jNq879mB4BCZHJRIJ1hA==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.3.1.tgz", + "integrity": "sha512-/JOwQnBvxEKOT2RtNgGpBVXnCSMBgKOL2k7w0K52htwCyJls4+cHvc4YZgXlVoAZS9QJd2DgYAiRnja96pTgxw==", "dev": true, "peer": true, "requires": { - "@csstools/css-parser-algorithms": "^2.5.0", - "@csstools/css-tokenizer": "^2.2.3", - "@csstools/media-query-list-parser": "^2.1.7", - "@csstools/selector-specificity": "^3.0.1", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/media-query-list-parser": "^2.1.9", + "@csstools/selector-specificity": "^3.0.2", + "@dual-bundle/import-meta-resolve": "^4.0.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^9.0.0", @@ -60768,19 +60822,19 @@ "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", - "ignore": "^5.3.0", + "ignore": "^5.3.1", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.29.0", + "known-css-properties": "^0.30.0", "mathml-tag-names": "^2.1.3", - "meow": "^13.1.0", + "meow": "^13.2.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.33", + "postcss": "^8.4.38", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^7.0.0", - "postcss-selector-parser": "^6.0.15", + "postcss-selector-parser": "^6.0.16", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", "string-width": "^4.2.3", @@ -60991,9 +61045,9 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", "dev": true, "peer": true, "requires": { diff --git a/plugins/ui/src/js/package.json b/plugins/ui/src/js/package.json index 6adb2b675..3fd186bac 100644 --- a/plugins/ui/src/js/package.json +++ b/plugins/ui/src/js/package.json @@ -42,21 +42,21 @@ }, "dependencies": { "@adobe/react-spectrum": "^3.34.1", - "@deephaven/chart": "^0.68.0", - "@deephaven/components": "^0.68.0", - "@deephaven/dashboard": "^0.68.0", - "@deephaven/dashboard-core-plugins": "^0.68.0", - "@deephaven/grid": "^0.68.0", - "@deephaven/icons": "^0.68.0", - "@deephaven/iris-grid": "^0.68.0", - "@deephaven/jsapi-bootstrap": "^0.68.0", - "@deephaven/jsapi-components": "^0.68.0", - "@deephaven/jsapi-types": "1.0.0-dev0.33.2", - "@deephaven/log": "^0.68.0", - "@deephaven/plugin": "^0.68.0", - "@deephaven/react-hooks": "^0.68.0", - "@deephaven/redux": "^0.68.0", - "@deephaven/utils": "^0.68.0", + "@deephaven/chart": "^0.71.0", + "@deephaven/components": "^0.71.0", + "@deephaven/dashboard": "^0.71.0", + "@deephaven/dashboard-core-plugins": "^0.71.0", + "@deephaven/grid": "^0.71.0", + "@deephaven/icons": "^0.71.0", + "@deephaven/iris-grid": "^0.71.0", + "@deephaven/jsapi-bootstrap": "^0.71.0", + "@deephaven/jsapi-components": "^0.71.0", + "@deephaven/jsapi-types": "^1.0.0-dev0.33.3", + "@deephaven/log": "^0.71.0", + "@deephaven/plugin": "^0.71.0", + "@deephaven/react-hooks": "^0.71.0", + "@deephaven/redux": "^0.71.0", + "@deephaven/utils": "^0.71.0", "@fortawesome/react-fontawesome": "^0.2.0", "@react-types/shared": "^3.22.0", "json-rpc-2.0": "^1.6.0", From 43e5c7dc9f1736a4894e238e69f6fa39b51ef096 Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Wed, 3 Apr 2024 10:43:05 -0500 Subject: [PATCH 09/10] Addressed review comments (#293) --- plugins/ui/src/js/src/DashboardPlugin.tsx | 6 +----- plugins/ui/src/js/src/elements/Picker.tsx | 11 +++++++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/plugins/ui/src/js/src/DashboardPlugin.tsx b/plugins/ui/src/js/src/DashboardPlugin.tsx index 6d966144b..a5e137fec 100644 --- a/plugins/ui/src/js/src/DashboardPlugin.tsx +++ b/plugins/ui/src/js/src/DashboardPlugin.tsx @@ -34,7 +34,6 @@ import DashboardWidgetHandler from './widget/DashboardWidgetHandler'; const NAME_ELEMENT = 'deephaven.ui.Element'; const DASHBOARD_ELEMENT = 'deephaven.ui.Dashboard'; -const TABLE_TYPE = 'Table'; const PLUGIN_NAME = '@deephaven/js-plugin-ui.DashboardPlugin'; const log = Log.module('@deephaven/js-plugin-ui.DashboardPlugin'); @@ -145,11 +144,8 @@ export function DashboardPlugin( handleDashboardOpen({ widget, dashboardId: widgetId }); break; } - case TABLE_TYPE: { - break; - } default: { - log.error('Unknown widget type', type); + break; } } }, diff --git a/plugins/ui/src/js/src/elements/Picker.tsx b/plugins/ui/src/js/src/elements/Picker.tsx index e30878782..dc4d36ae5 100644 --- a/plugins/ui/src/js/src/elements/Picker.tsx +++ b/plugins/ui/src/js/src/elements/Picker.tsx @@ -6,6 +6,7 @@ import { import { Picker as DHPickerJSApi, PickerProps as DHPickerJSApiProps, + useTableClose, } from '@deephaven/jsapi-components'; import { isElementOfType, usePromiseFactory } from '@deephaven/react-hooks'; import { SerializedPickerEventProps, usePickerProps } from './usePickerProps'; @@ -22,15 +23,17 @@ export type PickerProps = (DHPickerProps | WrappedDHPickerJSApiProps) & function Picker({ children, ...props }: PickerProps) { const pickerProps = usePickerProps(props); - const maybeExportedObject = isElementOfType(children, ObjectView) - ? children.props.object - : null; + const isObjectView = isElementOfType(children, ObjectView); + + const maybeExportedObject = isObjectView ? children.props.object : null; const { data: table } = usePromiseFactory(fetchReexportedTable, [ maybeExportedObject, ]); - if (isElementOfType(children, ObjectView)) { + useTableClose(table); + + if (isObjectView) { // eslint-disable-next-line react/jsx-props-no-spreading return table && ; } From 346f06a03092c49bc0c494e6fe75c93304bd3890 Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Wed, 3 Apr 2024 10:53:46 -0500 Subject: [PATCH 10/10] Handling non-table exported object (#293) --- plugins/ui/src/js/src/elements/Picker.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/ui/src/js/src/elements/Picker.tsx b/plugins/ui/src/js/src/elements/Picker.tsx index dc4d36ae5..d7b1b74ef 100644 --- a/plugins/ui/src/js/src/elements/Picker.tsx +++ b/plugins/ui/src/js/src/elements/Picker.tsx @@ -25,10 +25,13 @@ function Picker({ children, ...props }: PickerProps) { const isObjectView = isElementOfType(children, ObjectView); - const maybeExportedObject = isObjectView ? children.props.object : null; + const maybeExportedTable = + isObjectView && children.props.object.type === 'Table' + ? children.props.object + : null; const { data: table } = usePromiseFactory(fetchReexportedTable, [ - maybeExportedObject, + maybeExportedTable, ]); useTableClose(table);