diff --git a/packages/code-studio/src/styleguide/grid-examples/DataBarExample.tsx b/packages/code-studio/src/styleguide/grid-examples/DataBarExample.tsx index 9e5ff2bd88..0777441102 100644 --- a/packages/code-studio/src/styleguide/grid-examples/DataBarExample.tsx +++ b/packages/code-studio/src/styleguide/grid-examples/DataBarExample.tsx @@ -1,6 +1,6 @@ import React, { useState } from 'react'; import { Grid, MockDataBarGridModel } from '@deephaven/grid'; -import { ColorMap } from 'packages/grid/src/DataBarGridModel'; +import type { ColorMap } from '@deephaven/grid'; function DataBarExample(): JSX.Element { const columnData = [100, 50, 20, 10, -10, -20, -50, -30, 100, 0, 1]; diff --git a/packages/iris-grid/src/IrisGridTableModelTemplate.ts b/packages/iris-grid/src/IrisGridTableModelTemplate.ts index 26578c8e9f..ca1ed9a01c 100644 --- a/packages/iris-grid/src/IrisGridTableModelTemplate.ts +++ b/packages/iris-grid/src/IrisGridTableModelTemplate.ts @@ -39,13 +39,13 @@ import { assertNotNull, } from '@deephaven/utils'; import { TableUtils, Formatter, FormatterUtils } from '@deephaven/jsapi-utils'; -import { +import type { AxisOption, DataBarOptions, DirectionOption, Marker, ValuePlacementOption, -} from 'packages/grid/src/DataBarGridModel'; +} from '@deephaven/grid'; import IrisGridModel from './IrisGridModel'; import AggregationOperation from './sidebar/aggregations/AggregationOperation'; import IrisGridUtils from './IrisGridUtils'; diff --git a/packages/redux/src/selectors.ts b/packages/redux/src/selectors.ts index 8ba98e34fb..df7670d9c0 100644 --- a/packages/redux/src/selectors.ts +++ b/packages/redux/src/selectors.ts @@ -1,8 +1,5 @@ -import type { - CustomizableWorkspace, - RootState, - WorkspaceSettings, -} from './store'; +import type { UndoPartial } from '@deephaven/utils'; +import type { RootState, WorkspaceSettings } from './store'; const EMPTY_OBJECT = Object.freeze({}); @@ -52,7 +49,7 @@ export const getDefaultWorkspaceSettings = ( // Workspace export const getWorkspace = ( store: State -): CustomizableWorkspace => { +): State['workspace'] => { const { workspace } = store; return workspace; }; @@ -60,7 +57,7 @@ export const getWorkspace = ( // Settings export const getSettings = ( store: State -): WorkspaceSettings => { +): UndoPartial => { const customizedSettings = getWorkspace(store).data.settings; const settings = { ...getDefaultWorkspaceSettings(store) }; @@ -72,7 +69,7 @@ export const getSettings = ( settings[key] = customizedSettings[key]; } } - return settings; + return settings as UndoPartial; }; export const getDefaultSettings = ( diff --git a/packages/utils/src/TypeUtils.ts b/packages/utils/src/TypeUtils.ts index cbc5374961..c77dd2e2a0 100644 --- a/packages/utils/src/TypeUtils.ts +++ b/packages/utils/src/TypeUtils.ts @@ -27,6 +27,13 @@ export type OnlyOneProp = { [P in keyof T]: { [ONEPROP in P]: T[ONEPROP] }; }[keyof T]; +/** + * Remove `Partial` wrapper from a type. Note that this is slightly different + * than `Required` because it will preserve optional properties on the original + * target type. + */ +export type UndoPartial = T extends Partial ? U : never; + /** * Util type to extract the value from an object. *