@pstdio/ui 0.18.0 → 0.20.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-BPiVFNYK.js → MermaidComponent-AmAjWLPm.js} +3 -3
- package/dist/{MermaidComponent-BPiVFNYK.js.map → MermaidComponent-AmAjWLPm.js.map} +1 -1
- package/dist/browser-storage-DPtOQJx0.js +127 -0
- package/dist/browser-storage-DPtOQJx0.js.map +1 -0
- package/dist/chat-ui.js +938 -897
- package/dist/chat-ui.js.map +1 -1
- package/dist/components/chat-ui/components/chat-message-list-items.d.ts +17 -0
- package/dist/components/chat-ui/components/message-types.d.ts +1 -0
- package/dist/components/chat-ui/components/timeline.d.ts +2 -0
- package/dist/components/chat-ui/tool-rendering/default-renderers.d.ts +1 -0
- package/dist/components/chat-ui/tool-rendering/shared.d.ts +3 -2
- package/dist/components/chat-ui/tool-rendering/standard-renderers.d.ts +1 -0
- package/dist/components/data-table/data-table-header.d.ts +3 -1
- package/dist/components/data-table/data-table-skeleton.d.ts +13 -0
- package/dist/components/data-table/edit-mode-data-table-body.d.ts +29 -0
- package/dist/components/data-table/edit-mode-data-table-cell.d.ts +15 -0
- package/dist/components/data-table/edit-mode-data-table-editors.d.ts +19 -0
- package/dist/components/data-table/edit-mode-data-table-header.d.ts +23 -0
- package/dist/components/data-table/edit-mode-data-table-selection.d.ts +12 -0
- package/dist/components/data-table/edit-mode-data-table.d.ts +2 -0
- package/dist/components/data-table/edit-mode-story.d.ts +5 -0
- package/dist/components/data-table/index.d.ts +3 -1
- package/dist/components/data-table/pagination-footer.d.ts +8 -5
- package/dist/components/data-table/types.d.ts +24 -0
- package/dist/components/overlays/dialog-accept-shortcut.d.ts +12 -0
- package/dist/components/overlays/index.d.ts +1 -0
- package/dist/components/param-editor/index.d.ts +3 -1
- package/dist/components/param-editor/inputs/selection-input.d.ts +5 -0
- package/dist/components/param-editor/inputs/selection-menu.d.ts +6 -0
- package/dist/components/param-editor/param-editor-row.d.ts +17 -0
- package/dist/components/param-editor/param-editor.types.d.ts +18 -0
- package/dist/components/primitives/glyph-icon.d.ts +16 -0
- package/dist/components/primitives/icon-color-picker.d.ts +3 -13
- package/dist/components/primitives/icon-options.d.ts +301 -0
- package/dist/components/primitives/index.d.ts +10 -3
- package/dist/components/primitives/segmented-control.d.ts +20 -0
- package/dist/components/primitives/tag-swatch.d.ts +10 -0
- package/dist/components/rich-text/index.d.ts +2 -0
- package/dist/components/rich-text/markdown-editor/markdown-editor.d.ts +7 -0
- package/dist/components/rich-text/markdown-editor/markdown-table.story-fixture.d.ts +3 -0
- package/dist/components/rich-text/markdown-editor/plugins/MarkdownSectionNavigationPlugin.d.ts +8 -0
- package/dist/components/rich-text/markdown-editor/plugins/MarkdownSlashCommandPlugin.d.ts +1 -0
- package/dist/components/rich-text/markdown-editor/plugins/markdown-history-plugin.d.ts +1 -0
- package/dist/components/rich-text/markdown-editor/plugins/markdown-section-navigation.d.ts +20 -0
- package/dist/components/rich-text/rich-message/rich-message.d.ts +2 -0
- package/dist/components/rich-text/shared/markdown-ast.d.ts +6 -0
- package/dist/components/rich-text/shared/markdown-codec.d.ts +3 -0
- package/dist/components/rich-text/shared/markdown-export.d.ts +2 -0
- package/dist/components/rich-text/shared/markdown-import.d.ts +2 -0
- package/dist/components/rich-text/shared/markdown-inline.d.ts +5 -0
- package/dist/components/rich-text/shared/markdown-table.d.ts +41 -0
- package/dist/components/rich-text/shared/markdown-url-context.d.ts +9 -0
- package/dist/components/rich-text/shared/markdown-url.d.ts +3 -0
- package/dist/components/rich-text/shared/nodes/DataTableNode.d.ts +13 -11
- package/dist/components/rich-text/shared/nodes/MarkdownImageNode.d.ts +35 -0
- package/dist/components/rich-text/shared/nodes/MarkdownLinkNode.d.ts +18 -0
- package/dist/components/rich-text/shared/nodes/RawHtmlNode.d.ts +31 -0
- package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/floating-toolbar-buttons.d.ts +4 -2
- package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/resolve-block-type.d.ts +1 -1
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/setFloatingElemPos.d.ts +1 -1
- package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidNode.d.ts +1 -0
- package/dist/components/rich-text/shared/transformers/markdown-transformers.d.ts +2 -3
- package/dist/components/tag-editor/index.d.ts +4 -0
- package/dist/components/tag-editor/tag-editor-heading.d.ts +11 -0
- package/dist/components/tag-editor/tag-editor-row.d.ts +1 -1
- package/dist/components/tag-editor/tag-editor-save-bar.d.ts +13 -0
- package/dist/components/tag-editor/tag-editor.types.d.ts +11 -11
- package/dist/components/tag-editor/tag-settings-panel.d.ts +3 -1
- package/dist/data-table.js +773 -931
- package/dist/data-table.js.map +1 -1
- package/dist/dialog-accept-shortcut-DAEBsoWW.js +7 -0
- package/dist/dialog-accept-shortcut-DAEBsoWW.js.map +1 -0
- package/dist/diff.js +4 -4
- package/dist/edit-mode-data-table-4GMiDy75.js +775 -0
- package/dist/edit-mode-data-table-4GMiDy75.js.map +1 -0
- package/dist/editor-config-Dyh8n5A2.js +2416 -0
- package/dist/editor-config-Dyh8n5A2.js.map +1 -0
- package/dist/font/css/prompt-studio-icons.css +36 -6
- package/dist/font/prompt-studio-icons.eot +0 -0
- package/dist/font/prompt-studio-icons.svg +1 -1
- 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 +2 -2
- package/dist/index.js +1976 -1712
- package/dist/index.js.map +1 -1
- package/dist/{kanban-renderer-toolbar-Db1mIWWd.js → kanban-renderer-toolbar-BcUZvGyY.js} +384 -386
- package/dist/kanban-renderer-toolbar-BcUZvGyY.js.map +1 -0
- package/dist/kanban-renderer.js +144 -140
- package/dist/kanban-renderer.js.map +1 -1
- package/dist/{lazy-markdown-editor-DwhqQ-NN.js → lazy-markdown-editor-CWSREEhf.js} +2 -2
- package/dist/{lazy-markdown-editor-DwhqQ-NN.js.map → lazy-markdown-editor-CWSREEhf.js.map} +1 -1
- package/dist/list-row-B8L4TGsh.js +821 -0
- package/dist/list-row-B8L4TGsh.js.map +1 -0
- package/dist/{mermaid-renderer-DZo3qj6D.js → mermaid-renderer-H3IhLqnQ.js} +3 -3
- package/dist/{mermaid-renderer-DZo3qj6D.js.map → mermaid-renderer-H3IhLqnQ.js.map} +1 -1
- package/dist/mermaid.js +1 -1
- package/dist/number-input-WUfejtNx.js +343 -0
- package/dist/number-input-WUfejtNx.js.map +1 -0
- package/dist/param-editor-field-C8zRDStn.js +2845 -0
- package/dist/param-editor-field-C8zRDStn.js.map +1 -0
- package/dist/param-editor-w3xH-t8A.js +161 -0
- package/dist/param-editor-w3xH-t8A.js.map +1 -0
- package/dist/rich-message-jZ2oPQhU.js +658 -0
- package/dist/rich-message-jZ2oPQhU.js.map +1 -0
- package/dist/rich-text.js +182 -110
- package/dist/rich-text.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/theme/primitives/sizes.d.ts +59 -0
- package/dist/theme/recipes/button.d.ts +11 -0
- package/dist/theme/recipes/segmented-control.d.ts +22 -0
- package/dist/theme/recipes/switch.d.ts +1 -0
- package/dist/theme/recipes/tabs.d.ts +11 -0
- package/dist/{theme-poQlUgt0.js → theme-J8K8KbZi.js} +211 -120
- package/dist/theme-J8K8KbZi.js.map +1 -0
- package/dist/{theme-preference-DOzHx64J.js → theme-preference-DyymrYpR.js} +2 -2
- package/dist/{theme-preference-DOzHx64J.js.map → theme-preference-DyymrYpR.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{tree-list-BAja2eXU.js → tree-list-CC13pOYi.js} +2 -2
- package/dist/{tree-list-BAja2eXU.js.map → tree-list-CC13pOYi.js.map} +1 -1
- package/package.json +10 -2
- package/dist/browser-storage-BinyFNJX.js +0 -40
- package/dist/browser-storage-BinyFNJX.js.map +0 -1
- package/dist/checkbox-B2zYVemL.js +0 -70
- package/dist/checkbox-B2zYVemL.js.map +0 -1
- package/dist/components/data-table/editable-cells-story.d.ts +0 -9
- package/dist/kanban-renderer-toolbar-Db1mIWWd.js.map +0 -1
- package/dist/list-row-BYWwcbGK.js +0 -823
- package/dist/list-row-BYWwcbGK.js.map +0 -1
- package/dist/markdown-DDd2ESoH.js +0 -743
- package/dist/markdown-DDd2ESoH.js.map +0 -1
- package/dist/markdown-editor-CYVkzt8t.js +0 -741
- package/dist/markdown-editor-CYVkzt8t.js.map +0 -1
- package/dist/param-editor-BCZOw5Gt.js +0 -140
- package/dist/param-editor-BCZOw5Gt.js.map +0 -1
- package/dist/param-editor-field-ZzZwgjZ_.js +0 -2094
- package/dist/param-editor-field-ZzZwgjZ_.js.map +0 -1
- package/dist/resource-badge-CuItchgL.js +0 -98
- package/dist/resource-badge-CuItchgL.js.map +0 -1
- package/dist/rich-message--eRzjWYK.js +0 -730
- package/dist/rich-message--eRzjWYK.js.map +0 -1
- package/dist/scroll-area-BMbg1WcD.js +0 -91
- package/dist/scroll-area-BMbg1WcD.js.map +0 -1
- package/dist/theme-poQlUgt0.js.map +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { SessionMessage } from './message-types';
|
|
3
|
+
interface ChatMessageListResponseProps {
|
|
4
|
+
message: SessionMessage;
|
|
5
|
+
streaming: boolean;
|
|
6
|
+
hideQuestionForms?: boolean;
|
|
7
|
+
animate?: boolean;
|
|
8
|
+
showAssistantActions: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const ChatMessageListResponse: (props: ChatMessageListResponseProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
interface StickyMessageToggleProps {
|
|
12
|
+
label: string;
|
|
13
|
+
onClick: () => void;
|
|
14
|
+
actionPanel?: ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export declare const StickyMessageToggle: (props: StickyMessageToggleProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
|
@@ -109,6 +109,7 @@ export interface MessageGroup {
|
|
|
109
109
|
userMessage: SessionMessage;
|
|
110
110
|
responses: SessionMessage[];
|
|
111
111
|
}
|
|
112
|
+
export declare const getAssistantMessageActionTargetId: (messages: SessionMessage[]) => string | null;
|
|
112
113
|
export declare const groupMessagesByTurn: (messages: SessionMessage[]) => {
|
|
113
114
|
groups: MessageGroup[];
|
|
114
115
|
leadingResponses: SessionMessage[];
|
|
@@ -6,6 +6,7 @@ export declare const createDefaultToolRenderers: () => {
|
|
|
6
6
|
grep: import('./types').ToolRenderer;
|
|
7
7
|
question: import('./types').ToolRenderer;
|
|
8
8
|
read: import('./types').ToolRenderer;
|
|
9
|
+
shell: import('./types').ToolRenderer;
|
|
9
10
|
skill: import('./types').ToolRenderer;
|
|
10
11
|
todo_write: import('./types').ToolRenderer;
|
|
11
12
|
todowrite: import('./types').ToolRenderer;
|
|
@@ -17,13 +17,14 @@ export declare const buildIndicator: (invocation: ToolPart) => {
|
|
|
17
17
|
readonly type: "icon";
|
|
18
18
|
readonly icon: "search" | "dot" | "danger" | "file" | "terminal" | "shell" | "ls" | "read_file" | "write_file" | "delete_file" | "patch" | "upload_files" | "download_file" | "move_file" | "browser" | "question" | "todo";
|
|
19
19
|
};
|
|
20
|
-
export declare const buildBaseTitle: (invocation: ToolPart, detail?: string, labelOverride?: string) => TitleSegment[];
|
|
20
|
+
export declare const buildBaseTitle: (invocation: ToolPart, detail?: string, labelOverride?: string, detailStyle?: "monospace") => TitleSegment[];
|
|
21
21
|
export declare const getInputObject: (invocation: ToolPart) => Record<string, unknown> | null;
|
|
22
22
|
export declare const getOutputObject: (invocation: ToolPart) => Record<string, unknown> | null;
|
|
23
23
|
export declare const getStringValue: (value: unknown) => string | null;
|
|
24
24
|
export declare const getObjectValue: (value: unknown) => Record<string, unknown> | null;
|
|
25
25
|
export declare const getStateObject: (invocation: ToolPart, key: string) => Record<string, unknown> | null;
|
|
26
26
|
export declare const getApplyPatchMetadataFiles: (invocation: ToolPart) => ApplyPatchMetadataFile[];
|
|
27
|
+
export declare const getApplyPatchInputFilePaths: (invocation: ToolPart) => string[];
|
|
27
28
|
export declare const getApplyPatchDiffText: (invocation: ToolPart) => string | null;
|
|
28
29
|
export declare const buildApplyPatchMetadataTitleSegments: (files: ApplyPatchMetadataFile[]) => TitleSegment[];
|
|
29
30
|
export declare const getApplyPatchMetadataReferences: (files: ApplyPatchMetadataFile[]) => string[];
|
|
@@ -33,7 +34,7 @@ export declare const parseSkillContentBlock: (value: string) => {
|
|
|
33
34
|
content: string;
|
|
34
35
|
} | null;
|
|
35
36
|
export declare const getSkillName: (invocation: ToolPart) => string | undefined;
|
|
36
|
-
export declare const buildFileLinkSegment: (filePath: string) => TitleSegment;
|
|
37
|
+
export declare const buildFileLinkSegment: (filePath: string, variant?: "default" | "bubble") => TitleSegment;
|
|
37
38
|
export declare const prependErrorBlock: (invocation: ToolPart, blocks: Block[]) => Block[];
|
|
38
39
|
export declare const getDiffBlocks: (diffText?: string | null) => {
|
|
39
40
|
type: "diff";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ToolRenderer } from './types';
|
|
2
2
|
export declare const renderRead: ToolRenderer;
|
|
3
3
|
export declare const renderBash: ToolRenderer;
|
|
4
|
+
export declare const renderShell: ToolRenderer;
|
|
4
5
|
export declare const renderGrep: ToolRenderer;
|
|
5
6
|
export declare const renderGlob: ToolRenderer;
|
|
6
7
|
export declare const renderSkill: ToolRenderer;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { AttributeDescriptor, KanbanRendererRow } from '../kanban-renderer/types';
|
|
2
|
+
import { AttributeDescriptor, KanbanRendererRow, KanbanRendererSavedView } from '../kanban-renderer/types';
|
|
3
3
|
interface DataTableHeaderProps {
|
|
4
4
|
rows: KanbanRendererRow[];
|
|
5
5
|
attributes: AttributeDescriptor[];
|
|
6
6
|
storageKey: string;
|
|
7
7
|
columnControl: ReactNode;
|
|
8
|
+
defaultViews?: KanbanRendererSavedView[];
|
|
9
|
+
defaultActiveViewId?: string;
|
|
8
10
|
}
|
|
9
11
|
export declare const DataTableHeader: (props: DataTableHeaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
12
|
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface DataTableSkeletonColumn {
|
|
2
|
+
id: string;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
interface DataTableSkeletonProps {
|
|
6
|
+
/** Real column headers when the caller already knows them. */
|
|
7
|
+
columns?: DataTableSkeletonColumn[];
|
|
8
|
+
/** Placeholder column count when the headers are still unknown. */
|
|
9
|
+
columnCount?: number;
|
|
10
|
+
rowCount?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const DataTableSkeleton: (props: DataTableSkeletonProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DataTableEditModeColumn, DataTableEditModeConfig, RowData } from './types';
|
|
2
|
+
interface ActiveCell {
|
|
3
|
+
rowId: string;
|
|
4
|
+
columnId: string;
|
|
5
|
+
draft: string;
|
|
6
|
+
}
|
|
7
|
+
interface EditModeDataTableBodyProps {
|
|
8
|
+
activeCell: ActiveCell | null;
|
|
9
|
+
columns: DataTableEditModeColumn[];
|
|
10
|
+
data: RowData[];
|
|
11
|
+
editMode: DataTableEditModeConfig;
|
|
12
|
+
enableSelection: boolean;
|
|
13
|
+
isReadOnly: boolean;
|
|
14
|
+
pageIndex: number;
|
|
15
|
+
pageRows: RowData[];
|
|
16
|
+
pageSize: number;
|
|
17
|
+
selectedRowIds: Set<string>;
|
|
18
|
+
showNewRow: boolean;
|
|
19
|
+
onActivateCell: (cell: ActiveCell) => void;
|
|
20
|
+
onAddRow: () => void;
|
|
21
|
+
onCancelCell: () => void;
|
|
22
|
+
onCommitCell: () => void;
|
|
23
|
+
onDraftChange: (cell: ActiveCell) => void;
|
|
24
|
+
onRemoveRow: (rowId: string) => void;
|
|
25
|
+
onToggleRowSelection: (rowId: string, checked: boolean) => void;
|
|
26
|
+
rowIdFor: (row: RowData, index: number) => string;
|
|
27
|
+
}
|
|
28
|
+
export declare const EditModeDataTableBody: (props: EditModeDataTableBodyProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DataTableCellContext, DataTableEditModeColumn, DataTableEditModeConfig } from './types';
|
|
2
|
+
interface EditModeDataTableCellProps {
|
|
3
|
+
activeDraft?: string;
|
|
4
|
+
column: DataTableEditModeColumn;
|
|
5
|
+
context: DataTableCellContext;
|
|
6
|
+
editMode: DataTableEditModeConfig;
|
|
7
|
+
isActive: boolean;
|
|
8
|
+
isReadOnly: boolean;
|
|
9
|
+
onActivate: () => void;
|
|
10
|
+
onCancel: () => void;
|
|
11
|
+
onDraftChange: (draft: string) => void;
|
|
12
|
+
onSave: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const EditModeDataTableCell: (props: EditModeDataTableCellProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactNode, RefObject } from 'react';
|
|
2
|
+
interface EditModeHeaderEditorProps {
|
|
3
|
+
accessibleName: string;
|
|
4
|
+
draft: string;
|
|
5
|
+
onCancel: () => void;
|
|
6
|
+
onChange: (value: string) => void;
|
|
7
|
+
onSave: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const EditModeHeaderEditor: (props: EditModeHeaderEditorProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
interface EditModeCellEditorProps {
|
|
11
|
+
anchorRef: RefObject<HTMLElement | null>;
|
|
12
|
+
customEditor?: ReactNode;
|
|
13
|
+
draft: string;
|
|
14
|
+
onCancel: () => void;
|
|
15
|
+
onChange: (value: string) => void;
|
|
16
|
+
onSave: () => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const EditModeCellEditor: (props: EditModeCellEditorProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DataTableEditModeColumn, DataTableEditModeConfig, RowData } from './types';
|
|
3
|
+
interface ActiveHeader {
|
|
4
|
+
columnId: string;
|
|
5
|
+
draft: string;
|
|
6
|
+
}
|
|
7
|
+
interface EditModeDataTableHeaderProps {
|
|
8
|
+
activeHeader: ActiveHeader | null;
|
|
9
|
+
columnIcons?: Record<string, ReactNode>;
|
|
10
|
+
columns: DataTableEditModeColumn[];
|
|
11
|
+
data: RowData[];
|
|
12
|
+
editMode: DataTableEditModeConfig;
|
|
13
|
+
isReadOnly: boolean;
|
|
14
|
+
selectionHeader?: ReactNode;
|
|
15
|
+
onAddColumn: () => void;
|
|
16
|
+
onCancelHeaderEdit: () => void;
|
|
17
|
+
onDeleteColumn: (columnId: string) => void;
|
|
18
|
+
onHeaderDraftChange: (draft: string) => void;
|
|
19
|
+
onHeaderEdit: (column: DataTableEditModeColumn) => void;
|
|
20
|
+
onSaveHeader: () => void;
|
|
21
|
+
}
|
|
22
|
+
export declare const EditModeDataTableHeader: (props: EditModeDataTableHeaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface EditModeSelectionHeaderProps {
|
|
2
|
+
checked: boolean;
|
|
3
|
+
indeterminate: boolean;
|
|
4
|
+
onChange: (checked: boolean) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const EditModeSelectionHeader: (props: EditModeSelectionHeaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
interface EditModeSelectionCellProps {
|
|
8
|
+
checked: boolean;
|
|
9
|
+
onChange: (checked: boolean) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const EditModeSelectionCell: (props: EditModeSelectionCellProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const EditModeStory: () => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const ModeToggleStory: () => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const RichTextEditModeStory: () => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const EditableSelectableRowsStory: () => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare const EditableWithViewsStory: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { DataTable } from './data-table';
|
|
2
|
+
export type { DataTableSkeletonColumn } from './data-table-skeleton';
|
|
3
|
+
export { DataTableSkeleton } from './data-table-skeleton';
|
|
2
4
|
export type { FriendlyJsonDisplayProps } from './friendly-json-display';
|
|
3
5
|
export { FriendlyJsonDisplay } from './friendly-json-display';
|
|
4
6
|
export { formatDisplayValue, getIcon } from './helpers';
|
|
5
|
-
export type { DataTableCategoricalColor, DataTableCategoricalValue, DataTableCellContext, DataTableCellContextAction, DataTableColorScaleStop, DataTableColumnRenderer, DataTableColumnStat, DataTableProps, DataTableRowAction, DataTableSelectionAction, DataTableThemeColor, RowData, } from './types';
|
|
7
|
+
export type { DataTableCategoricalColor, DataTableCategoricalValue, DataTableCellContext, DataTableCellContextAction, DataTableColorScaleStop, DataTableColumnRenderer, DataTableColumnStat, DataTableEditModeAlignment, DataTableEditModeCellEditorProps, DataTableEditModeColumn, DataTableEditModeConfig, DataTableProps, DataTableRowAction, DataTableSelectionAction, DataTableThemeColor, RowData, } from './types';
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export declare function PaginationFooter({ table, pageIndex, pageSize, pageSizeOptions, }: {
|
|
4
|
-
table: ReturnType<typeof useReactTable<RowData>>;
|
|
1
|
+
interface PaginationFooterProps {
|
|
2
|
+
pageCount: number;
|
|
5
3
|
pageIndex: number;
|
|
6
4
|
pageSize: number;
|
|
7
5
|
pageSizeOptions: number[];
|
|
8
|
-
|
|
6
|
+
totalRows: number;
|
|
7
|
+
onPageChange: (pageIndex: number) => void;
|
|
8
|
+
onPageSizeChange: (pageSize: number) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function PaginationFooter(props: PaginationFooterProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { KanbanRendererSavedView } from '../kanban-renderer/types';
|
|
2
3
|
export type ColumnType = "boolean" | "date" | "number" | "string" | "unknown";
|
|
3
4
|
export type RowData = Record<string, unknown>;
|
|
4
5
|
export type DisplayValue = {
|
|
@@ -64,8 +65,29 @@ export interface DataTableCellContextAction {
|
|
|
64
65
|
destructive?: boolean;
|
|
65
66
|
onSelect: (context: DataTableCellContext) => void;
|
|
66
67
|
}
|
|
68
|
+
export type DataTableEditModeAlignment = "left" | "center" | "right" | null;
|
|
69
|
+
export interface DataTableEditModeColumn {
|
|
70
|
+
id: string;
|
|
71
|
+
label: string;
|
|
72
|
+
alignment: DataTableEditModeAlignment;
|
|
73
|
+
}
|
|
74
|
+
export interface DataTableEditModeCellEditorProps {
|
|
75
|
+
context: DataTableCellContext;
|
|
76
|
+
value: string;
|
|
77
|
+
onChange: (value: string) => void;
|
|
78
|
+
}
|
|
79
|
+
export interface DataTableEditModeConfig {
|
|
80
|
+
columns: DataTableEditModeColumn[];
|
|
81
|
+
onDataChange: (data: RowData[]) => void;
|
|
82
|
+
onColumnsChange: (columns: DataTableEditModeColumn[]) => void;
|
|
83
|
+
isCellEditable?: (context: DataTableCellContext) => boolean;
|
|
84
|
+
renderHeader?: (column: DataTableEditModeColumn) => ReactNode;
|
|
85
|
+
renderCell?: (context: DataTableCellContext) => ReactNode;
|
|
86
|
+
renderCellEditor?: (props: DataTableEditModeCellEditorProps) => ReactNode;
|
|
87
|
+
}
|
|
67
88
|
export interface DataTableProps {
|
|
68
89
|
data: RowData[];
|
|
90
|
+
editMode?: DataTableEditModeConfig;
|
|
69
91
|
isReadOnly?: boolean;
|
|
70
92
|
noBorder?: boolean;
|
|
71
93
|
fullWidth?: boolean;
|
|
@@ -77,6 +99,8 @@ export interface DataTableProps {
|
|
|
77
99
|
compactHeaders?: Partial<Record<string, string>>;
|
|
78
100
|
getRowId?: (row: RowData, index: number) => string;
|
|
79
101
|
toolbarStorageKey?: string;
|
|
102
|
+
defaultViews?: KanbanRendererSavedView[];
|
|
103
|
+
defaultActiveViewId?: string;
|
|
80
104
|
enableRowActivation?: boolean;
|
|
81
105
|
getCellContextMenuActions?: (context: DataTableCellContext) => DataTableCellContextAction[];
|
|
82
106
|
onCSVUpload?: (csv: string) => Promise<void>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface DialogAcceptShortcutEvent {
|
|
2
|
+
key: string;
|
|
3
|
+
ctrlKey: boolean;
|
|
4
|
+
metaKey: boolean;
|
|
5
|
+
shiftKey: boolean;
|
|
6
|
+
altKey: boolean;
|
|
7
|
+
defaultPrevented: boolean;
|
|
8
|
+
preventDefault: () => void;
|
|
9
|
+
stopPropagation: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const handleDialogAcceptShortcut: (event: DialogAcceptShortcutEvent, accept: () => void, enabled?: boolean) => void;
|
|
12
|
+
export {};
|
|
@@ -6,6 +6,7 @@ export { AttachmentChip } from './attachment-chip';
|
|
|
6
6
|
export { BubbleButton } from './bubble-button';
|
|
7
7
|
export { BubblePanel } from './bubble-panel';
|
|
8
8
|
export { DeleteConfirmationModal } from './delete-confirmation-modal';
|
|
9
|
+
export { handleDialogAcceptShortcut } from './dialog-accept-shortcut';
|
|
9
10
|
export type { RepoPickerDialogEntry, RepoPickerDialogProps } from './repo-picker-dialog';
|
|
10
11
|
export { RepoPickerDialog } from './repo-picker-dialog';
|
|
11
12
|
export type { ResourceActionMenuProps, ResourceContextAction } from './resource-context-menu';
|
|
@@ -16,7 +16,7 @@ export { TextInput } from './inputs/text-input';
|
|
|
16
16
|
export { VectorInput } from './inputs/vector-input';
|
|
17
17
|
export type { ParamEditorProps } from './param-editor';
|
|
18
18
|
export { ParamEditor } from './param-editor';
|
|
19
|
-
export type { ActionOption, ActionsParam, AnchorGridParam, AnchorGridValue, BaseParam, BooleanParam, ColorParam, DateParam, FileUploadParam, FileUploadStatus, FileUploadValue, InputGroup, MarkdownParam, NumberParam, Param, ParamEditorReadOnlyContent, ParamEditorReadOnlyImage, ParamValue, ParamValueMap, PropertyParam, RangeParam, RangeValue, ReadOnlyParam, ResourceOption, ResourceParam, ResourceRefValue, SegmentedOption, SegmentedParam, SelectionParam, TextParam, VectorParam, VectorValue, } from './param-editor.types';
|
|
19
|
+
export type { ActionOption, ActionsParam, AnchorGridParam, AnchorGridValue, BaseParam, BooleanParam, ColorParam, DateParam, FileUploadParam, FileUploadStatus, FileUploadValue, InputGroup, MarkdownParam, NumberParam, Param, ParamEditorReadOnlyContent, ParamEditorReadOnlyImage, ParamValue, ParamValueMap, PropertyParam, RangeParam, RangeValue, ReadOnlyParam, ResourceOption, ResourceParam, ResourceRefValue, SegmentedOption, SegmentedParam, SelectionGroup, SelectionOption, SelectionParam, TextParam, VectorParam, VectorValue, } from './param-editor.types';
|
|
20
20
|
export { ParamEditorControlItem } from './param-editor-control-item';
|
|
21
21
|
export { ParamEditorControlList } from './param-editor-control-list';
|
|
22
22
|
export { ParamEditorField } from './param-editor-field';
|
|
@@ -26,4 +26,6 @@ export { ParamEditorLabel } from './param-editor-label';
|
|
|
26
26
|
export { isParamEditorRichControl } from './param-editor-presentation';
|
|
27
27
|
export { ParamEditorReadOnlyField } from './param-editor-read-only-field';
|
|
28
28
|
export { ParamEditorReadOnlyValue } from './param-editor-read-only-value';
|
|
29
|
+
export type { ParamEditorRowProps } from './param-editor-row';
|
|
30
|
+
export { ParamEditorRow } from './param-editor-row';
|
|
29
31
|
export { ParamEditorSection } from './param-editor-section';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SelectionGroup } from '../param-editor.types';
|
|
1
2
|
import { SelectionMenuOption } from './selection-menu';
|
|
2
3
|
interface SelectionInputProps {
|
|
3
4
|
id: string;
|
|
@@ -16,6 +17,10 @@ interface SelectionInputProps {
|
|
|
16
17
|
clearable?: boolean;
|
|
17
18
|
/** Inert, but still rendered as a control. */
|
|
18
19
|
disabled?: boolean;
|
|
20
|
+
searchable?: boolean;
|
|
21
|
+
searchPlaceholder?: string;
|
|
22
|
+
emptyText?: string;
|
|
23
|
+
group?: SelectionGroup;
|
|
19
24
|
size?: "xs" | "sm";
|
|
20
25
|
}
|
|
21
26
|
export declare const SelectionInput: (props: SelectionInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { SelectionGroup } from '../param-editor.types';
|
|
2
3
|
export interface SelectionMenuOption {
|
|
3
4
|
id: string;
|
|
4
5
|
name: string;
|
|
@@ -14,11 +15,16 @@ export interface SelectionMenuProps {
|
|
|
14
15
|
selectedIds: string[];
|
|
15
16
|
multiSelect: boolean;
|
|
16
17
|
disabled?: boolean;
|
|
18
|
+
searchable?: boolean;
|
|
19
|
+
searchPlaceholder?: string;
|
|
20
|
+
emptyText?: string;
|
|
21
|
+
group?: SelectionGroup;
|
|
17
22
|
fullWidth?: boolean;
|
|
18
23
|
triggerVariant?: "button" | "icon";
|
|
19
24
|
triggerAriaLabel?: string;
|
|
20
25
|
size?: "xs" | "sm";
|
|
21
26
|
onToggle: (optionId: string) => void;
|
|
27
|
+
onGroupChange?: (optionId: string) => void;
|
|
22
28
|
}
|
|
23
29
|
export declare const selectionIndicator: (multiSelect: boolean, selected: boolean) => import("react/jsx-runtime").JSX.Element | null;
|
|
24
30
|
export declare const selectionOptionIcon: (option: SelectionMenuOption | undefined, boxSize: string) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Param, ParamValue, ParamValueMap, ResourceRefValue } from './param-editor.types';
|
|
2
|
+
export interface ParamEditorRowProps {
|
|
3
|
+
param: Param;
|
|
4
|
+
values?: ParamValueMap;
|
|
5
|
+
onChange?: (id: string, value: ParamValue) => void;
|
|
6
|
+
onOpenResource?: (ref: ResourceRefValue) => void;
|
|
7
|
+
readOnly?: boolean;
|
|
8
|
+
fullWidth?: boolean;
|
|
9
|
+
variant?: "default" | "small";
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The padded field row every param surface is built from. Surfaces that compose
|
|
13
|
+
* their own list of fields — a command dialog mixing built-in and host-supplied
|
|
14
|
+
* controls — stack these instead of nesting one editor per field, so the whole
|
|
15
|
+
* form keeps a single rhythm.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ParamEditorRow: (props: ParamEditorRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -33,6 +33,20 @@ export interface SelectionOption {
|
|
|
33
33
|
icon?: string;
|
|
34
34
|
/** Palette key (e.g. "blue") applied to the option's icon. */
|
|
35
35
|
color?: string;
|
|
36
|
+
description?: string;
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** Parent selector used to swap the option set of a grouped selection. */
|
|
40
|
+
export interface SelectionGroup {
|
|
41
|
+
id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
defaultValue: string;
|
|
44
|
+
options: SelectionOption[];
|
|
45
|
+
placeholder?: string;
|
|
46
|
+
searchable?: boolean;
|
|
47
|
+
searchPlaceholder?: string;
|
|
48
|
+
emptyText?: string;
|
|
49
|
+
disabled?: boolean;
|
|
36
50
|
}
|
|
37
51
|
export interface SelectionParam extends BaseParam {
|
|
38
52
|
type: "selection";
|
|
@@ -40,6 +54,10 @@ export interface SelectionParam extends BaseParam {
|
|
|
40
54
|
options: SelectionOption[];
|
|
41
55
|
multiSelect?: boolean;
|
|
42
56
|
placeholder?: string;
|
|
57
|
+
searchable?: boolean;
|
|
58
|
+
searchPlaceholder?: string;
|
|
59
|
+
emptyText?: string;
|
|
60
|
+
group?: SelectionGroup;
|
|
43
61
|
/** Adds a "clear" row so a single-select can be returned to unset. */
|
|
44
62
|
clearable?: boolean;
|
|
45
63
|
/**
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ComponentType, HTMLAttributes } from 'react';
|
|
2
|
+
type GlyphIconProps = Omit<HTMLAttributes<HTMLSpanElement>, "children">;
|
|
3
|
+
export interface GlyphIconOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Optical size relative to a round glyph. Every glyph is normalised to the same
|
|
6
|
+
* ink box, so square marks such as the level bars need trimming to carry the
|
|
7
|
+
* same visual weight as the status rings.
|
|
8
|
+
*/
|
|
9
|
+
scale?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Builds a component for one `prompt-studio-icons` glyph so lucide icons and
|
|
13
|
+
* font glyphs share a single component type in the icon registry.
|
|
14
|
+
*/
|
|
15
|
+
export declare const createGlyphIcon: (glyph: string, options?: GlyphIconOptions) => ComponentType<GlyphIconProps>;
|
|
16
|
+
export {};
|
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export interface IconColorPickerIconOption {
|
|
3
|
-
value: string | null;
|
|
4
|
-
label: string;
|
|
5
|
-
icon: ComponentType;
|
|
6
|
-
}
|
|
7
|
-
export declare const optionColors: readonly ["gray", "red", "orange", "yellow", "green", "teal", "blue", "cyan", "purple", "pink"];
|
|
8
|
-
export declare const optionIcons: {
|
|
9
|
-
value: string;
|
|
10
|
-
label: string;
|
|
11
|
-
icon: import('react').ForwardRefExoticComponent<Omit<import('lucide-react').LucideProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
|
|
12
|
-
}[];
|
|
13
|
-
export declare const getIconComponent: (name: string | null | undefined, iconOptions?: readonly IconColorPickerIconOption[]) => ComponentType;
|
|
1
|
+
import { IconColorPickerIconOption } from './icon-options';
|
|
14
2
|
export interface IconColorPickerProps {
|
|
15
3
|
color: string;
|
|
16
4
|
colorOptions?: readonly string[];
|
|
@@ -20,6 +8,8 @@ export interface IconColorPickerProps {
|
|
|
20
8
|
onIconChange?: (icon: string | null) => void;
|
|
21
9
|
disabled?: boolean;
|
|
22
10
|
showIcons?: boolean;
|
|
11
|
+
colorLabel?: string;
|
|
12
|
+
iconLabel?: string;
|
|
23
13
|
"aria-label"?: string;
|
|
24
14
|
}
|
|
25
15
|
export declare const IconColorPicker: (props: IconColorPickerProps) => import("react/jsx-runtime").JSX.Element;
|