@pstdio/ui 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{MermaidComponent-BCMQqPqu.js → MermaidComponent-BPiVFNYK.js} +2 -2
- package/dist/{MermaidComponent-BCMQqPqu.js.map → MermaidComponent-BPiVFNYK.js.map} +1 -1
- package/dist/chat-ui.js +1618 -1102
- package/dist/chat-ui.js.map +1 -1
- package/dist/{checkbox-D5AzFRlb.js → checkbox-B2zYVemL.js} +28 -28
- package/dist/checkbox-B2zYVemL.js.map +1 -0
- package/dist/components/chat-ui/components/chat-input-actions.d.ts +1 -0
- package/dist/components/chat-ui/components/chat-input.d.ts +8 -2
- package/dist/components/chat-ui/components/chat-panel.d.ts +11 -5
- package/dist/components/chat-ui/components/composer-constants.d.ts +1 -0
- package/dist/components/chat-ui/components/conversation-browse.d.ts +22 -0
- package/dist/components/chat-ui/components/message-types.d.ts +14 -0
- package/dist/components/chat-ui/components/queued-follow-up-list-state.d.ts +4 -0
- package/dist/components/chat-ui/components/queued-follow-up-list.d.ts +11 -0
- package/dist/components/chat-ui/components/timeline.d.ts +5 -0
- package/dist/components/chat-ui/components/working-indicator.d.ts +9 -0
- package/dist/components/chat-ui/components/workspace-hub.d.ts +8 -1
- package/dist/components/chat-ui/index.d.ts +4 -2
- package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +2 -2
- package/dist/components/chat-ui/tool-rendering/question-prompt.d.ts +9 -0
- package/dist/components/data-table/build-columns.d.ts +13 -2
- package/dist/components/data-table/categorical-color-cell.d.ts +8 -0
- package/dist/components/data-table/color-cell-style.d.ts +13 -0
- package/dist/components/data-table/color-scale-cell.d.ts +7 -0
- package/dist/components/data-table/data-table-column-menu.d.ts +15 -0
- package/dist/components/data-table/data-table-header.d.ts +10 -0
- package/dist/components/data-table/data-table-stat-chart.d.ts +21 -0
- package/dist/components/data-table/data-table-state.d.ts +27 -0
- package/dist/components/data-table/data-table-stats-row.d.ts +11 -0
- package/dist/components/data-table/data-table-stats.d.ts +19 -0
- package/dist/components/data-table/data-table-table-parts.d.ts +21 -0
- package/dist/components/data-table/data-table.story-descriptions.d.ts +6 -0
- package/dist/components/data-table/data-table.story-fixtures.d.ts +6 -0
- package/dist/components/data-table/editable-cells-story.d.ts +9 -0
- package/dist/components/data-table/friendly-json-display.d.ts +31 -0
- package/dist/components/data-table/index.d.ts +3 -1
- package/dist/components/data-table/json-cell.d.ts +6 -0
- package/dist/components/data-table/pagination-footer.d.ts +4 -1
- package/dist/components/data-table/selection-toolbar.d.ts +3 -1
- package/dist/components/data-table/types.d.ts +72 -0
- package/dist/components/diff-viewer/code-editor.d.ts +2 -0
- package/dist/components/diff-viewer/index.d.ts +1 -1
- package/dist/components/diff-viewer/monaco-browser.d.ts +1 -0
- package/dist/components/{data-renderer → kanban-renderer}/display-menu.d.ts +4 -4
- package/dist/components/{data-renderer → kanban-renderer}/filter-menu.d.ts +3 -3
- package/dist/components/kanban-renderer/index.d.ts +19 -0
- package/dist/components/kanban-renderer/kanban-renderer-attribute-badge.d.ts +7 -0
- package/dist/components/{data-renderer/data-renderer-board-column-header.d.ts → kanban-renderer/kanban-renderer-board-column-header.d.ts} +2 -2
- package/dist/components/{data-renderer/data-renderer-board-group-section.d.ts → kanban-renderer/kanban-renderer-board-group-section.d.ts} +2 -2
- package/dist/components/{data-renderer/data-renderer-board-move.d.ts → kanban-renderer/kanban-renderer-board-move.d.ts} +3 -3
- package/dist/components/{data-renderer/data-renderer-board.d.ts → kanban-renderer/kanban-renderer-board.d.ts} +15 -14
- package/dist/components/{data-renderer/data-renderer-card.d.ts → kanban-renderer/kanban-renderer-card.d.ts} +4 -3
- package/dist/components/{data-renderer/data-renderer-content.d.ts → kanban-renderer/kanban-renderer-content.d.ts} +8 -8
- package/dist/components/kanban-renderer/kanban-renderer-create-dialog.d.ts +12 -0
- package/dist/components/kanban-renderer/kanban-renderer-create-field.d.ts +10 -0
- package/dist/components/kanban-renderer/kanban-renderer-grouping.d.ts +23 -0
- package/dist/components/{data-renderer/data-renderer-helpers.d.ts → kanban-renderer/kanban-renderer-helpers.d.ts} +15 -15
- package/dist/components/kanban-renderer/kanban-renderer-list-items.d.ts +25 -0
- package/dist/components/kanban-renderer/kanban-renderer-list.d.ts +43 -0
- package/dist/components/{data-renderer/data-renderer-story-fixtures.d.ts → kanban-renderer/kanban-renderer-story-fixtures.d.ts} +3 -2
- package/dist/components/kanban-renderer/kanban-renderer-toolbar.d.ts +15 -0
- package/dist/components/kanban-renderer/kanban-renderer-view-bar.d.ts +14 -0
- package/dist/components/kanban-renderer/kanban-renderer-views.d.ts +12 -0
- package/dist/components/{data-renderer/data-renderer.d.ts → kanban-renderer/kanban-renderer.d.ts} +11 -8
- package/dist/components/{data-renderer → kanban-renderer}/types.d.ts +51 -8
- package/dist/components/kanban-renderer/use-kanban-renderer-store.d.ts +78 -0
- package/dist/components/layout/index.d.ts +1 -0
- package/dist/components/layout/panel-header.constants.d.ts +2 -0
- package/dist/components/layout/resizable-split-layout.d.ts +3 -2
- package/dist/components/layout/resizable-split-layout.geometry.d.ts +56 -0
- package/dist/components/layout/resizable-split-layout.handle.d.ts +6 -2
- package/dist/components/layout/resizable-split-layout.panels.d.ts +25 -0
- package/dist/components/list-row/list-row-actions.d.ts +1 -0
- package/dist/components/list-row/list-row-content.d.ts +7 -0
- package/dist/components/list-row/list-row.types.d.ts +4 -1
- package/dist/components/overlays/attached-menu.d.ts +6 -0
- package/dist/components/overlays/attachment-chip.d.ts +13 -0
- package/dist/components/overlays/index.d.ts +6 -2
- package/dist/components/overlays/resource-context-menu.d.ts +13 -1
- package/dist/components/overlays/searchable-menu-input.d.ts +9 -0
- package/dist/components/param-editor/index.d.ts +6 -2
- package/dist/components/param-editor/inputs/action-input.d.ts +1 -0
- package/dist/components/param-editor/inputs/boolean-input.d.ts +13 -0
- package/dist/components/param-editor/inputs/color-input.d.ts +1 -0
- package/dist/components/param-editor/inputs/date-input.d.ts +1 -0
- package/dist/components/param-editor/inputs/file-upload-input.d.ts +15 -0
- package/dist/components/param-editor/inputs/file-upload-value.d.ts +7 -0
- package/dist/components/param-editor/inputs/horizontal-text-input.d.ts +1 -0
- package/dist/components/param-editor/inputs/markdown-input.d.ts +13 -0
- package/dist/components/param-editor/inputs/number-input.d.ts +1 -0
- package/dist/components/param-editor/inputs/range-input.d.ts +1 -0
- package/dist/components/param-editor/inputs/resource-input.d.ts +2 -0
- package/dist/components/param-editor/inputs/segmented-input.d.ts +1 -0
- package/dist/components/param-editor/inputs/selection-input.d.ts +7 -6
- package/dist/components/param-editor/inputs/selection-menu.d.ts +33 -0
- package/dist/components/param-editor/inputs/text-input.d.ts +1 -0
- package/dist/components/param-editor/param-editor-advanced-field.d.ts +14 -0
- package/dist/components/param-editor/param-editor-control-fixtures.d.ts +24 -0
- package/dist/components/param-editor/param-editor-field.d.ts +2 -0
- package/dist/components/param-editor/param-editor-horizontal.d.ts +3 -2
- package/dist/components/param-editor/param-editor-label.d.ts +1 -0
- package/dist/components/param-editor/param-editor-presentation.d.ts +3 -0
- package/dist/components/param-editor/param-editor-read-only-field.d.ts +9 -0
- package/dist/components/param-editor/param-editor-section.d.ts +1 -0
- package/dist/components/param-editor/param-editor.d.ts +1 -0
- package/dist/components/param-editor/param-editor.types.d.ts +59 -18
- package/dist/components/param-editor/resolve-param-value.d.ts +2 -0
- package/dist/components/primitives/chip.d.ts +4 -0
- package/dist/components/primitives/index.d.ts +2 -0
- package/dist/components/primitives/resource-badge.d.ts +12 -10
- package/dist/components/rich-text/index.d.ts +1 -0
- package/dist/components/rich-text/lazy-markdown-editor.d.ts +2 -0
- package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +2 -1
- package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +2 -1
- package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +2 -1
- package/dist/components/rich-text/prompt-input/prompt-input.d.ts +3 -2
- package/dist/components/rich-text/types.d.ts +1 -1
- package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
- package/dist/components/{sidebar/sidebar-footer.d.ts → sidenav/sidenav-footer.d.ts} +2 -2
- package/dist/components/{sidebar/sidebar-header.d.ts → sidenav/sidenav-header.d.ts} +2 -2
- package/dist/components/sidenav/sidenav.d.ts +2 -0
- package/dist/components/sidenav/sidenav.store.d.ts +49 -0
- package/dist/components/{sidebar/sidebar.types.d.ts → sidenav/sidenav.types.d.ts} +5 -5
- package/dist/components/tab-strip/tab-visibility-filter.d.ts +1 -0
- package/dist/components/terminal/terminal.d.ts +11 -0
- package/dist/components/tree-list/tree-list-visibility-filter.d.ts +0 -1
- package/dist/components/tree-list/tree-list.d.ts +1 -1
- package/dist/components/tree-list/tree-list.types.d.ts +4 -0
- package/dist/data-table.js +1321 -0
- package/dist/data-table.js.map +1 -0
- package/dist/diff.js +370 -366
- package/dist/diff.js.map +1 -1
- package/dist/font/css/prompt-studio-icons.css +690 -0
- package/dist/font/prompt-studio-icons.eot +0 -0
- package/dist/font/prompt-studio-icons.svg +1 -0
- package/dist/font/prompt-studio-icons.ttf +0 -0
- package/dist/font/prompt-studio-icons.woff +0 -0
- package/dist/font/prompt-studio-icons.woff2 +0 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1854 -3381
- package/dist/index.js.map +1 -1
- package/dist/kanban-renderer-toolbar-Db1mIWWd.js +1318 -0
- package/dist/kanban-renderer-toolbar-Db1mIWWd.js.map +1 -0
- package/dist/kanban-renderer.js +1101 -0
- package/dist/kanban-renderer.js.map +1 -0
- package/dist/lazy-markdown-editor-DwhqQ-NN.js +26 -0
- package/dist/lazy-markdown-editor-DwhqQ-NN.js.map +1 -0
- package/dist/list-row-BYWwcbGK.js +823 -0
- package/dist/list-row-BYWwcbGK.js.map +1 -0
- package/dist/markdown-DDd2ESoH.js +743 -0
- package/dist/markdown-DDd2ESoH.js.map +1 -0
- package/dist/markdown-editor-CYVkzt8t.js +741 -0
- package/dist/markdown-editor-CYVkzt8t.js.map +1 -0
- package/dist/monaco-browser-CO0NxK_Z.js +19 -0
- package/dist/monaco-browser-CO0NxK_Z.js.map +1 -0
- package/dist/param-editor-BCZOw5Gt.js +140 -0
- package/dist/param-editor-BCZOw5Gt.js.map +1 -0
- package/dist/param-editor-field-ZzZwgjZ_.js +2094 -0
- package/dist/param-editor-field-ZzZwgjZ_.js.map +1 -0
- package/dist/resource-badge-CuItchgL.js +98 -0
- package/dist/resource-badge-CuItchgL.js.map +1 -0
- package/dist/rich-message--eRzjWYK.js +730 -0
- package/dist/rich-message--eRzjWYK.js.map +1 -0
- package/dist/rich-text.js +114 -827
- package/dist/rich-text.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/terminal.js +197 -177
- package/dist/terminal.js.map +1 -1
- package/dist/theme/primitives/fonts.d.ts +3 -0
- package/dist/theme/primitives/sizes.d.ts +23 -0
- package/dist/theme/recipes/badge.d.ts +8 -0
- package/dist/theme/recipes/button.d.ts +6 -0
- package/dist/theme/recipes/color-picker.d.ts +18 -1
- package/dist/theme/recipes/switch.d.ts +17 -0
- package/dist/theme/recipes/tabs.d.ts +4 -4
- package/dist/theme/tokens/colors.d.ts +18 -24
- package/dist/{theme-CJBYBJaA.js → theme-poQlUgt0.js} +414 -240
- package/dist/theme-poQlUgt0.js.map +1 -0
- package/dist/theme.js +1 -1
- package/dist/tree-list-BAja2eXU.js +1033 -0
- package/dist/tree-list-BAja2eXU.js.map +1 -0
- package/package.json +11 -4
- package/dist/checkbox-D5AzFRlb.js.map +0 -1
- package/dist/components/data-renderer/card-interaction-guard.d.ts +0 -2
- package/dist/components/data-renderer/data-renderer-attribute-badge.d.ts +0 -7
- package/dist/components/data-renderer/data-renderer-grouping.d.ts +0 -23
- package/dist/components/data-renderer/data-renderer-list.d.ts +0 -39
- package/dist/components/data-renderer/data-renderer-toolbar.d.ts +0 -12
- package/dist/components/data-renderer/index.d.ts +0 -18
- package/dist/components/data-renderer/use-data-renderer-store.d.ts +0 -59
- package/dist/components/param-editor/inputs/file-accept.d.ts +0 -22
- package/dist/components/param-editor/inputs/file-drop-input.d.ts +0 -14
- package/dist/components/sidebar/sidebar.d.ts +0 -2
- package/dist/components/sidebar/sidebar.store.d.ts +0 -49
- package/dist/data-renderer.js +0 -1669
- package/dist/data-renderer.js.map +0 -1
- package/dist/list-row-mi3Hn-Um.js +0 -740
- package/dist/list-row-mi3Hn-Um.js.map +0 -1
- package/dist/resource-badge-qCWHP-wQ.js +0 -99
- package/dist/resource-badge-qCWHP-wQ.js.map +0 -1
- package/dist/rich-message-DBf_5YlW.js +0 -1450
- package/dist/rich-message-DBf_5YlW.js.map +0 -1
- package/dist/theme-CJBYBJaA.js.map +0 -1
- package/dist/tree-list-CcuZMLS5.js +0 -930
- package/dist/tree-list-CcuZMLS5.js.map +0 -1
- package/dist/workspace-badge-Fuo-1zPj.js +0 -314
- package/dist/workspace-badge-Fuo-1zPj.js.map +0 -1
- /package/dist/components/{data-renderer/data-renderer-badge-helpers.d.ts → kanban-renderer/kanban-renderer-badge-helpers.d.ts} +0 -0
- /package/dist/components/{data-renderer/data-renderer-enum-helpers.d.ts → kanban-renderer/kanban-renderer-enum-helpers.d.ts} +0 -0
- /package/dist/components/{data-renderer → kanban-renderer}/use-resolved-attributes.d.ts +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SelectionMenuOption {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
icon?: string;
|
|
6
|
+
/** Palette key (e.g. "blue") applied to the option's icon. */
|
|
7
|
+
color?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface SelectionMenuProps {
|
|
12
|
+
triggerLabel: ReactNode;
|
|
13
|
+
options: SelectionMenuOption[];
|
|
14
|
+
selectedIds: string[];
|
|
15
|
+
multiSelect: boolean;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
fullWidth?: boolean;
|
|
18
|
+
triggerVariant?: "button" | "icon";
|
|
19
|
+
triggerAriaLabel?: string;
|
|
20
|
+
size?: "xs" | "sm";
|
|
21
|
+
onToggle: (optionId: string) => void;
|
|
22
|
+
}
|
|
23
|
+
export declare const selectionIndicator: (multiSelect: boolean, selected: boolean) => import("react/jsx-runtime").JSX.Element | null;
|
|
24
|
+
export declare const selectionOptionIcon: (option: SelectionMenuOption | undefined, boxSize: string) => import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
/**
|
|
26
|
+
* The single dropdown behind every option picker in the editor — selection
|
|
27
|
+
* params and editable resource params alike. Sharing it is what keeps a
|
|
28
|
+
* resource attribute and a command param from drifting into two looks.
|
|
29
|
+
*
|
|
30
|
+
* Single-selects clear by re-picking the selected option; a dedicated "none"
|
|
31
|
+
* row would read as just another value to choose.
|
|
32
|
+
*/
|
|
33
|
+
export declare const SelectionMenu: (props: SelectionMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Param, ParamValue, ParamValueMap } from './param-editor.types';
|
|
2
|
+
type AdvancedParam = Extract<Param, {
|
|
3
|
+
type: "range" | "segmented" | "actions" | "anchorGrid" | "vector" | "fileUpload";
|
|
4
|
+
}>;
|
|
5
|
+
interface ParamEditorAdvancedFieldProps {
|
|
6
|
+
param: AdvancedParam;
|
|
7
|
+
defaultValues: ParamValueMap;
|
|
8
|
+
onChange: (id: string, value: ParamValue) => void;
|
|
9
|
+
readOnly?: boolean;
|
|
10
|
+
fullWidth?: boolean;
|
|
11
|
+
presentation: "stacked" | "horizontal";
|
|
12
|
+
}
|
|
13
|
+
export declare const ParamEditorAdvancedField: (props: ParamEditorAdvancedFieldProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Param, ParamValueMap } from './param-editor.types';
|
|
2
|
+
export interface ParamEditorInputFixture {
|
|
3
|
+
param: Param;
|
|
4
|
+
defaultValues: ParamValueMap;
|
|
5
|
+
}
|
|
6
|
+
export declare const paramEditorInputFixtures: {
|
|
7
|
+
boolean: ParamEditorInputFixture;
|
|
8
|
+
number: ParamEditorInputFixture;
|
|
9
|
+
text: ParamEditorInputFixture;
|
|
10
|
+
markdown: ParamEditorInputFixture;
|
|
11
|
+
selection: ParamEditorInputFixture;
|
|
12
|
+
date: ParamEditorInputFixture;
|
|
13
|
+
color: ParamEditorInputFixture;
|
|
14
|
+
property: ParamEditorInputFixture;
|
|
15
|
+
readOnly: ParamEditorInputFixture;
|
|
16
|
+
resource: ParamEditorInputFixture;
|
|
17
|
+
reference: ParamEditorInputFixture;
|
|
18
|
+
range: ParamEditorInputFixture;
|
|
19
|
+
segmented: ParamEditorInputFixture;
|
|
20
|
+
actions: ParamEditorInputFixture;
|
|
21
|
+
anchorGrid: ParamEditorInputFixture;
|
|
22
|
+
vector: ParamEditorInputFixture;
|
|
23
|
+
fileUpload: ParamEditorInputFixture;
|
|
24
|
+
};
|
|
@@ -6,6 +6,8 @@ interface ParamEditorFieldProps {
|
|
|
6
6
|
onOpenResource?: (ref: ResourceRefValue) => void;
|
|
7
7
|
readOnly?: boolean;
|
|
8
8
|
fullWidth?: boolean;
|
|
9
|
+
presentation?: "stacked" | "horizontal";
|
|
10
|
+
size?: "xs" | "sm";
|
|
9
11
|
}
|
|
10
12
|
export declare const ParamEditorField: (props: ParamEditorFieldProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
11
13
|
export {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { InputGroup, Param, ParamValue, ParamValueMap } from './param-editor.types';
|
|
1
|
+
import { InputGroup, Param, ParamValue, ParamValueMap, ResourceRefValue } from './param-editor.types';
|
|
2
2
|
export interface ParamEditorHorizontalProps {
|
|
3
3
|
params?: Param[];
|
|
4
4
|
groups?: InputGroup[];
|
|
5
5
|
defaultValues: ParamValueMap;
|
|
6
6
|
onChange: (id: string, value: ParamValue) => void;
|
|
7
|
+
onOpenResource?: (ref: ResourceRefValue) => void;
|
|
7
8
|
readOnly?: boolean;
|
|
8
|
-
|
|
9
|
+
variant?: "default" | "small";
|
|
9
10
|
}
|
|
10
11
|
export declare const ParamEditorHorizontal: (props: ParamEditorHorizontalProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Param } from './param-editor.types';
|
|
2
|
+
export declare const isParamEditorRichControl: (param: Param) => param is import('./param-editor.types').FileUploadParam;
|
|
3
|
+
export declare const isParamEditorHorizontalControl: (param: Param) => param is import('./param-editor.types').NumberParam | import('./param-editor.types').BooleanParam | import('./param-editor.types').TextParam | import('./param-editor.types').MarkdownParam | import('./param-editor.types').SelectionParam | import('./param-editor.types').DateParam | import('./param-editor.types').ColorParam | import('./param-editor.types').PropertyParam | import('./param-editor.types').ReadOnlyParam | import('./param-editor.types').ResourceParam | import('./param-editor.types').RangeParam | import('./param-editor.types').SegmentedParam | import('./param-editor.types').ActionsParam | import('./param-editor.types').VectorParam | import('./param-editor.types').FileUploadParam;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Param } from './param-editor.types';
|
|
2
|
+
interface ParamEditorReadOnlyFieldProps {
|
|
3
|
+
param: Extract<Param, {
|
|
4
|
+
type: "readOnly";
|
|
5
|
+
}>;
|
|
6
|
+
fullWidth?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const ParamEditorReadOnlyField: (props: ParamEditorReadOnlyFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -11,6 +11,7 @@ interface ParamEditorSectionProps {
|
|
|
11
11
|
collapsible?: boolean;
|
|
12
12
|
defaultCollapsed?: boolean;
|
|
13
13
|
isFirst?: boolean;
|
|
14
|
+
variant?: "default" | "small";
|
|
14
15
|
}
|
|
15
16
|
export declare const ParamEditorSection: (props: ParamEditorSectionProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
17
|
export {};
|
|
@@ -7,5 +7,6 @@ export interface ParamEditorProps {
|
|
|
7
7
|
onOpenResource?: (ref: ResourceRefValue) => void;
|
|
8
8
|
readOnly?: boolean;
|
|
9
9
|
fullWidth?: boolean;
|
|
10
|
+
variant?: "default" | "small";
|
|
10
11
|
}
|
|
11
12
|
export declare const ParamEditor: (props: ParamEditorProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,6 +3,8 @@ export interface BaseParam {
|
|
|
3
3
|
id: string;
|
|
4
4
|
name: string;
|
|
5
5
|
description?: string;
|
|
6
|
+
/** Locks this one param while the rest of the editor stays editable. */
|
|
7
|
+
readOnly?: boolean;
|
|
6
8
|
}
|
|
7
9
|
export interface NumberParam extends BaseParam {
|
|
8
10
|
type: "number";
|
|
@@ -11,21 +13,40 @@ export interface NumberParam extends BaseParam {
|
|
|
11
13
|
max?: number;
|
|
12
14
|
step?: number;
|
|
13
15
|
}
|
|
16
|
+
export interface BooleanParam extends BaseParam {
|
|
17
|
+
type: "boolean";
|
|
18
|
+
defaultValue: boolean;
|
|
19
|
+
}
|
|
14
20
|
export interface TextParam extends BaseParam {
|
|
15
21
|
type: "text";
|
|
16
22
|
defaultValue: string;
|
|
17
23
|
singleLine?: boolean;
|
|
18
24
|
}
|
|
25
|
+
export interface MarkdownParam extends BaseParam {
|
|
26
|
+
type: "markdown";
|
|
27
|
+
defaultValue: string;
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface SelectionOption {
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
icon?: string;
|
|
34
|
+
/** Palette key (e.g. "blue") applied to the option's icon. */
|
|
35
|
+
color?: string;
|
|
36
|
+
}
|
|
19
37
|
export interface SelectionParam extends BaseParam {
|
|
20
38
|
type: "selection";
|
|
21
39
|
defaultValue: string | string[];
|
|
22
|
-
options:
|
|
23
|
-
id: string;
|
|
24
|
-
name: string;
|
|
25
|
-
icon?: string;
|
|
26
|
-
}[];
|
|
40
|
+
options: SelectionOption[];
|
|
27
41
|
multiSelect?: boolean;
|
|
28
42
|
placeholder?: string;
|
|
43
|
+
/** Adds a "clear" row so a single-select can be returned to unset. */
|
|
44
|
+
clearable?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Renders the control inert but still as a control — unlike `readOnly`, which
|
|
47
|
+
* collapses it to plain text and drops the option's icon.
|
|
48
|
+
*/
|
|
49
|
+
disabled?: boolean;
|
|
29
50
|
}
|
|
30
51
|
export interface DateParam extends BaseParam {
|
|
31
52
|
type: "date";
|
|
@@ -41,6 +62,23 @@ export interface PropertyParam extends BaseParam {
|
|
|
41
62
|
type: "property";
|
|
42
63
|
value: ReactNode;
|
|
43
64
|
}
|
|
65
|
+
export interface ParamEditorReadOnlyImage {
|
|
66
|
+
src: string;
|
|
67
|
+
alt: string;
|
|
68
|
+
}
|
|
69
|
+
export type ParamEditorReadOnlyContent = string | number | boolean | null | Array<string | number | boolean | null> | {
|
|
70
|
+
type: "image";
|
|
71
|
+
src: string;
|
|
72
|
+
alt: string;
|
|
73
|
+
} | {
|
|
74
|
+
type: "image-gallery";
|
|
75
|
+
images: ParamEditorReadOnlyImage[];
|
|
76
|
+
};
|
|
77
|
+
/** Serializable display-only value rendered by the read-only Param Editor. */
|
|
78
|
+
export interface ReadOnlyParam extends BaseParam {
|
|
79
|
+
type: "readOnly";
|
|
80
|
+
value: ParamEditorReadOnlyContent;
|
|
81
|
+
}
|
|
44
82
|
/** A reference the host can open (e.g. another resource tab). */
|
|
45
83
|
export interface ResourceRefValue {
|
|
46
84
|
type: string;
|
|
@@ -132,18 +170,21 @@ export interface VectorParam extends BaseParam {
|
|
|
132
170
|
max?: number;
|
|
133
171
|
step?: number;
|
|
134
172
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
173
|
+
export type FileUploadStatus = "queued" | "uploading" | "complete" | "error";
|
|
174
|
+
/** A selected file and the host-controlled state of its upload. */
|
|
175
|
+
export interface FileUploadValue {
|
|
176
|
+
id: string;
|
|
177
|
+
file: File;
|
|
178
|
+
status: FileUploadStatus;
|
|
179
|
+
progress?: number;
|
|
180
|
+
error?: string;
|
|
181
|
+
}
|
|
182
|
+
export interface FileUploadParam extends BaseParam {
|
|
183
|
+
type: "fileUpload";
|
|
184
|
+
defaultValue: FileUploadValue[];
|
|
145
185
|
accept?: string;
|
|
146
|
-
|
|
186
|
+
multiple?: boolean;
|
|
187
|
+
uploadLabel?: string;
|
|
147
188
|
}
|
|
148
189
|
export interface InputGroup {
|
|
149
190
|
id: string;
|
|
@@ -153,6 +194,6 @@ export interface InputGroup {
|
|
|
153
194
|
collapsible?: boolean;
|
|
154
195
|
defaultCollapsed?: boolean;
|
|
155
196
|
}
|
|
156
|
-
export type ParamValue = number | string | null | string[] | RangeValue | VectorValue |
|
|
157
|
-
export type Param = NumberParam | TextParam | SelectionParam | DateParam | ColorParam | PropertyParam | ResourceParam | RangeParam | SegmentedParam | ActionsParam | AnchorGridParam | VectorParam |
|
|
197
|
+
export type ParamValue = number | string | boolean | null | string[] | RangeValue | VectorValue | FileUploadValue[];
|
|
198
|
+
export type Param = NumberParam | BooleanParam | TextParam | MarkdownParam | SelectionParam | DateParam | ColorParam | PropertyParam | ReadOnlyParam | ResourceParam | RangeParam | SegmentedParam | ActionsParam | AnchorGridParam | VectorParam | FileUploadParam;
|
|
158
199
|
export type ParamValueMap = Record<string, ParamValue>;
|
|
@@ -4,6 +4,8 @@ export type { BreadcrumbItem } from './breadcrumb';
|
|
|
4
4
|
export { Breadcrumb } from './breadcrumb';
|
|
5
5
|
export type { CheckboxProps } from './checkbox';
|
|
6
6
|
export { Checkbox } from './checkbox';
|
|
7
|
+
export type { ChipProps } from './chip';
|
|
8
|
+
export { Chip } from './chip';
|
|
7
9
|
export { ContentPlaceholder, Label as ContentPlaceholderLabel } from './content-placeholder';
|
|
8
10
|
export type { EmptyStateProps } from './empty-state';
|
|
9
11
|
export { EmptyState } from './empty-state';
|
|
@@ -3,38 +3,40 @@ import { ReactNode } from 'react';
|
|
|
3
3
|
declare const SIZE_STYLES: {
|
|
4
4
|
readonly sm: {
|
|
5
5
|
readonly container: {
|
|
6
|
-
readonly height: "
|
|
6
|
+
readonly height: "5";
|
|
7
7
|
readonly lineHeight: {
|
|
8
|
-
readonly base: "
|
|
8
|
+
readonly base: "5";
|
|
9
9
|
};
|
|
10
|
-
readonly px: "
|
|
10
|
+
readonly px: "xs";
|
|
11
11
|
};
|
|
12
12
|
readonly iconSize: 12;
|
|
13
|
-
readonly textStyle: "
|
|
13
|
+
readonly textStyle: "label/XS";
|
|
14
14
|
};
|
|
15
15
|
readonly md: {
|
|
16
16
|
readonly container: {
|
|
17
|
-
readonly height: "
|
|
17
|
+
readonly height: "6";
|
|
18
18
|
readonly lineHeight: {
|
|
19
|
-
readonly base: "
|
|
19
|
+
readonly base: "6";
|
|
20
20
|
};
|
|
21
21
|
readonly px: "xs";
|
|
22
22
|
};
|
|
23
23
|
readonly iconSize: 14;
|
|
24
|
-
readonly textStyle: "
|
|
24
|
+
readonly textStyle: "label/S/regular";
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
27
|
declare const TONE_STYLES: {
|
|
28
28
|
readonly neutral: {
|
|
29
|
-
readonly color: "
|
|
30
|
-
readonly bg: "bg.
|
|
29
|
+
readonly color: "fg";
|
|
30
|
+
readonly bg: "bg.subtle";
|
|
31
|
+
readonly borderColor: "border";
|
|
31
32
|
readonly _hover: {
|
|
32
|
-
readonly bg: "bg.
|
|
33
|
+
readonly bg: "bg.hover";
|
|
33
34
|
};
|
|
34
35
|
};
|
|
35
36
|
readonly accent: {
|
|
36
37
|
readonly color: "var(--schub-foreground-accent)";
|
|
37
38
|
readonly bg: "var(--schub-accent-subtle)";
|
|
39
|
+
readonly borderColor: "var(--schub-accent-subtle)";
|
|
38
40
|
readonly _hover: {
|
|
39
41
|
readonly bg: "var(--schub-accent-subtle)";
|
|
40
42
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type { CollaborativeMarkdownEditorProps } from './collaborative-markdown-editor/collaborative-markdown-editor';
|
|
2
2
|
export { CollaborativeMarkdownEditor } from './collaborative-markdown-editor/collaborative-markdown-editor';
|
|
3
|
+
export { LazyMarkdownEditor } from './lazy-markdown-editor';
|
|
3
4
|
export type { MarkdownEditorProps } from './markdown-editor/markdown-editor';
|
|
4
5
|
export { MarkdownEditor } from './markdown-editor/markdown-editor';
|
|
5
6
|
export type { PromptEditorProps, PromptEditorRef, ReferenceItem } from './prompt-input/prompt-input';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ReferenceResourceType } from '../../../prompt-input';
|
|
1
2
|
import { ReferenceMenuOption } from '../ReferenceMenuOption';
|
|
2
3
|
/**
|
|
3
4
|
* Search across all resources and menu options
|
|
@@ -7,7 +8,7 @@ import { ReferenceMenuOption } from '../ReferenceMenuOption';
|
|
|
7
8
|
*/
|
|
8
9
|
export declare function useContextLookup(queryString: string | null, items?: {
|
|
9
10
|
resourceId: string;
|
|
10
|
-
resourceType:
|
|
11
|
+
resourceType: ReferenceResourceType;
|
|
11
12
|
name: string;
|
|
12
13
|
description?: string;
|
|
13
14
|
}[]): ReferenceMenuOption[];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LexicalNode } from 'lexical';
|
|
2
2
|
import { PropsWithChildren } from 'react';
|
|
3
|
+
import { ReferenceResourceType } from '../../prompt-input';
|
|
3
4
|
export declare const $insertExistingReference: (nodeToReplace: LexicalNode, resourceId: string, name: string) => void;
|
|
4
5
|
export declare function ReferencePlugin(props: PropsWithChildren<{
|
|
5
|
-
onAddReference?: (resourceId: string, resourceType:
|
|
6
|
+
onAddReference?: (resourceId: string, resourceType: ReferenceResourceType) => void;
|
|
6
7
|
}>): null;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ReactElement, ForwardRefRenderFunction } from 'react';
|
|
2
2
|
import { PromptEditorRef } from './plugins/ImperativeAPIPlugin';
|
|
3
|
+
export type ReferenceResourceType = "table" | "connector" | "file";
|
|
3
4
|
export type ReferenceItem = {
|
|
4
5
|
resourceId: string;
|
|
5
|
-
resourceType:
|
|
6
|
+
resourceType: ReferenceResourceType;
|
|
6
7
|
name: string;
|
|
7
8
|
description?: string;
|
|
8
9
|
};
|
|
@@ -17,7 +18,7 @@ export interface PromptEditorProps {
|
|
|
17
18
|
/** Dynamic list of references (tables, connectors) shown when typing # */
|
|
18
19
|
references?: ReferenceItem[];
|
|
19
20
|
/** Optional app callback when a reference is inserted */
|
|
20
|
-
onAddReference?: (resourceId: string, resourceType:
|
|
21
|
+
onAddReference?: (resourceId: string, resourceType: ReferenceResourceType) => void;
|
|
21
22
|
}
|
|
22
23
|
export declare const BasePromptEditor: ForwardRefRenderFunction<PromptEditorRef, PromptEditorProps>;
|
|
23
24
|
export declare const PromptEditor: import('react').ForwardRefExoticComponent<PromptEditorProps & import('react').RefAttributes<PromptEditorRef>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type ResourceType = "table" | "connector" | "text" | "image" | "pdf" | "markdown" | "csv" | "json" | "code";
|
|
1
|
+
export type ResourceType = "table" | "connector" | "file" | "text" | "image" | "pdf" | "markdown" | "csv" | "json" | "code";
|
|
2
2
|
export interface Resource {
|
|
3
3
|
resourceId: string;
|
|
4
4
|
resourceType: ResourceType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function inferResourceTypeFromMediaType(mediaType: string): "text" | "table" | "image" | "
|
|
1
|
+
export declare function inferResourceTypeFromMediaType(mediaType: string): "text" | "table" | "image" | "markdown" | "json" | "pdf";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
interface
|
|
2
|
+
interface SidenavFooterProps {
|
|
3
3
|
children?: ReactNode;
|
|
4
4
|
}
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const SidenavFooter: (props: SidenavFooterProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
6
6
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
interface
|
|
2
|
+
interface SidenavHeaderProps {
|
|
3
3
|
children?: ReactNode;
|
|
4
4
|
}
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const SidenavHeader: (props: SidenavHeaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
interface SidenavSnapshot {
|
|
2
|
+
open: boolean;
|
|
3
|
+
expandedSections: string[];
|
|
4
|
+
expandedNodes: string[];
|
|
5
|
+
width: number | null;
|
|
6
|
+
}
|
|
7
|
+
interface SidenavState extends SidenavSnapshot {
|
|
8
|
+
openSidenav: () => void;
|
|
9
|
+
closeSidenav: () => void;
|
|
10
|
+
toggleSidenav: () => void;
|
|
11
|
+
toggleSection: (sectionId: string) => void;
|
|
12
|
+
toggleNode: (nodeId: string) => void;
|
|
13
|
+
setSectionExpanded: (sectionId: string, expanded: boolean) => void;
|
|
14
|
+
setNodeExpanded: (nodeId: string, expanded: boolean) => void;
|
|
15
|
+
setWidth: (width: number) => void;
|
|
16
|
+
reset: () => void;
|
|
17
|
+
}
|
|
18
|
+
interface CreateSidenavStoreOptions {
|
|
19
|
+
storageKey: string;
|
|
20
|
+
initialState?: Partial<SidenavSnapshot>;
|
|
21
|
+
}
|
|
22
|
+
export declare const createSidenavStore: (options: CreateSidenavStoreOptions) => Omit<import('zustand').StoreApi<SidenavState>, "setState" | "persist"> & {
|
|
23
|
+
setState(partial: SidenavState | Partial<SidenavState> | ((state: SidenavState) => SidenavState | Partial<SidenavState>), replace?: false | undefined): unknown;
|
|
24
|
+
setState(state: SidenavState | ((state: SidenavState) => SidenavState), replace: true): unknown;
|
|
25
|
+
persist: {
|
|
26
|
+
setOptions: (options: Partial<import('zustand/middleware').PersistOptions<SidenavState, unknown, unknown>>) => void;
|
|
27
|
+
clearStorage: () => void;
|
|
28
|
+
rehydrate: () => Promise<void> | void;
|
|
29
|
+
hasHydrated: () => boolean;
|
|
30
|
+
onHydrate: (fn: (state: SidenavState) => void) => () => void;
|
|
31
|
+
onFinishHydration: (fn: (state: SidenavState) => void) => () => void;
|
|
32
|
+
getOptions: () => Partial<import('zustand/middleware').PersistOptions<SidenavState, unknown, unknown>>;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export declare const getSidenavStore: (storageKey: string, initialState?: Partial<SidenavSnapshot>) => Omit<import('zustand').StoreApi<SidenavState>, "setState" | "persist"> & {
|
|
36
|
+
setState(partial: SidenavState | Partial<SidenavState> | ((state: SidenavState) => SidenavState | Partial<SidenavState>), replace?: false | undefined): unknown;
|
|
37
|
+
setState(state: SidenavState | ((state: SidenavState) => SidenavState), replace: true): unknown;
|
|
38
|
+
persist: {
|
|
39
|
+
setOptions: (options: Partial<import('zustand/middleware').PersistOptions<SidenavState, unknown, unknown>>) => void;
|
|
40
|
+
clearStorage: () => void;
|
|
41
|
+
rehydrate: () => Promise<void> | void;
|
|
42
|
+
hasHydrated: () => boolean;
|
|
43
|
+
onHydrate: (fn: (state: SidenavState) => void) => () => void;
|
|
44
|
+
onFinishHydration: (fn: (state: SidenavState) => void) => () => void;
|
|
45
|
+
getOptions: () => Partial<import('zustand/middleware').PersistOptions<SidenavState, unknown, unknown>>;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
export declare const useSidenavStore: <T>(storageKey: string, selector: (state: SidenavState) => T, initialState?: Partial<SidenavSnapshot>) => T;
|
|
49
|
+
export {};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { ResourceContextAction } from '../overlays/resource-context-menu';
|
|
3
3
|
import { TreeListLinkComponent, TreeListNavigateEvent, TreeListSection } from '../tree-list/tree-list.types';
|
|
4
|
-
export interface
|
|
4
|
+
export interface SidenavProps {
|
|
5
5
|
storageKey: string;
|
|
6
6
|
sections: TreeListSection[];
|
|
7
7
|
activeNodeId?: string | string[] | null;
|
|
8
8
|
header?: ReactNode;
|
|
9
9
|
footer?: ReactNode;
|
|
10
|
-
/** Right-click menu
|
|
11
|
-
|
|
10
|
+
/** Right-click menu available from every point in the Sidenav. */
|
|
11
|
+
contextActions?: ResourceContextAction[];
|
|
12
12
|
/** Initial width when resizable. Set explicitly to override the persisted width. */
|
|
13
13
|
width?: string | number;
|
|
14
14
|
emptyLabel?: string;
|
|
@@ -17,14 +17,14 @@ export interface SidebarProps {
|
|
|
17
17
|
onNavigate?: (event: TreeListNavigateEvent) => void;
|
|
18
18
|
closable?: boolean;
|
|
19
19
|
onOpenChange?: (open: boolean) => void;
|
|
20
|
-
/** Allow split layouts to resize the
|
|
20
|
+
/** Allow split layouts to resize the sidenav. Defaults to `true`. */
|
|
21
21
|
resizable?: boolean;
|
|
22
22
|
defaultWidth?: number;
|
|
23
23
|
minWidth?: number;
|
|
24
24
|
maxWidth?: number;
|
|
25
25
|
/**
|
|
26
26
|
* When enabled, the scroll content is virtualized — only nodes near the viewport
|
|
27
|
-
* are mounted. Use for
|
|
27
|
+
* are mounted. Use for sidenavs that may contain hundreds of entries. Requires
|
|
28
28
|
* sections with flat nodes (no expandable children).
|
|
29
29
|
*/
|
|
30
30
|
virtualize?: boolean;
|
|
@@ -3,6 +3,15 @@ import { TerminalSink } from './bind-session';
|
|
|
3
3
|
import { TerminalThemeName } from './terminal-theme';
|
|
4
4
|
import { TerminalBridge, TerminalSessionAdapter, TerminalSessionRequest } from './types';
|
|
5
5
|
export declare const createInitialTerminalSessionRequest: (request?: Partial<TerminalSessionRequest>) => TerminalSessionRequest;
|
|
6
|
+
export declare const createTerminalSink: (xterm: Pick<Xterm, "write" | "onData" | "onResize">) => {
|
|
7
|
+
write(data: string | Uint8Array): void;
|
|
8
|
+
onInput(handler: (data: string) => void): () => boolean;
|
|
9
|
+
onResize(handler: (size: {
|
|
10
|
+
cols: number;
|
|
11
|
+
rows: number;
|
|
12
|
+
}) => void): () => void;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
};
|
|
6
15
|
export declare const resizeSessionToTerminalGeometry: (terminal: Pick<Xterm, "cols" | "rows">, session: Pick<TerminalSessionAdapter, "resize">) => void;
|
|
7
16
|
export declare const bindTerminalSession: (terminal: Pick<Xterm, "cols" | "rows">, sink: TerminalSink, session: TerminalSessionAdapter, options: Pick<TerminalProps, "onSessionOpen" | "onSessionExit">) => () => void;
|
|
8
17
|
export interface TerminalSessionCallbackRefs {
|
|
@@ -25,6 +34,8 @@ export interface TerminalProps {
|
|
|
25
34
|
fontSize?: number;
|
|
26
35
|
/** Whether to kill the session when the component unmounts. Defaults to true. */
|
|
27
36
|
killOnUnmount?: boolean;
|
|
37
|
+
/** Focus the terminal while it is the active surface. Defaults to true. */
|
|
38
|
+
autoFocus?: boolean;
|
|
28
39
|
/** Forwarded to the container element. */
|
|
29
40
|
className?: string;
|
|
30
41
|
style?: React.CSSProperties;
|
|
@@ -9,7 +9,6 @@ export interface TreeVisibilityMenuActions {
|
|
|
9
9
|
onToggleSection: (id: string, hiddenByDefault: boolean) => void;
|
|
10
10
|
onToggleNode: (id: string, hiddenByDefault: boolean) => void;
|
|
11
11
|
onResetAll: () => void;
|
|
12
|
-
onResetOrder?: () => void;
|
|
13
12
|
}
|
|
14
13
|
interface BuildMenuOptions {
|
|
15
14
|
visibleIcon: ReactNode;
|
|
@@ -4,7 +4,7 @@ import { ResourceContextAction } from '../overlays/resource-context-menu';
|
|
|
4
4
|
import { TreeListLinkComponent, TreeListNavigateEvent, TreeListSection } from './tree-list.types';
|
|
5
5
|
export { buildVirtualRows } from './tree-list-model';
|
|
6
6
|
type TreeListRowVariant = "compact" | "tree";
|
|
7
|
-
/** Sectioned hierarchical list for files, resources, navigation, and customizable
|
|
7
|
+
/** Sectioned hierarchical list for files, resources, navigation, and customizable sidenavs. */
|
|
8
8
|
interface TreeListProps {
|
|
9
9
|
/** Ordered sections to render, each containing nested tree nodes. */
|
|
10
10
|
sections: TreeListSection[];
|
|
@@ -14,6 +14,8 @@ export type TreeListNode = ListRowItem & {
|
|
|
14
14
|
hiddenByDefault?: boolean;
|
|
15
15
|
/** Opt in to the tree-customization (hide/show) menu. Items are non-hideable unless this is true. */
|
|
16
16
|
canHide?: boolean;
|
|
17
|
+
/** Opt out of reordering while keeping the node visible in its group. */
|
|
18
|
+
canReorder?: boolean;
|
|
17
19
|
};
|
|
18
20
|
/** Top-level tree section with optional header, actions, empty state, and child nodes. */
|
|
19
21
|
export interface TreeListSection {
|
|
@@ -26,6 +28,8 @@ export interface TreeListSection {
|
|
|
26
28
|
hiddenByDefault?: boolean;
|
|
27
29
|
/** Opt in to the tree-customization (hide/show) menu. Sections are non-hideable unless this is true. */
|
|
28
30
|
canHide?: boolean;
|
|
31
|
+
/** Opt out of reordering while keeping the section visible in its group. */
|
|
32
|
+
canReorder?: boolean;
|
|
29
33
|
}
|
|
30
34
|
/** Navigation payload emitted when a navigable tree node is activated. */
|
|
31
35
|
export interface TreeListNavigateEvent {
|