@pstdio/ui 0.20.0 → 0.21.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.
Files changed (60) hide show
  1. package/dist/{MermaidComponent-AmAjWLPm.js → MermaidComponent-BVMyKttu.js} +2 -2
  2. package/dist/{MermaidComponent-AmAjWLPm.js.map → MermaidComponent-BVMyKttu.js.map} +1 -1
  3. package/dist/chat-ui.js +2 -6
  4. package/dist/chat-ui.js.map +1 -1
  5. package/dist/components/data-table/build-columns.d.ts +1 -0
  6. package/dist/components/data-table/types.d.ts +1 -0
  7. package/dist/components/diff-viewer/code-editor.d.ts +2 -0
  8. package/dist/components/diff-viewer/file-change-badge.d.ts +3 -0
  9. package/dist/components/diff-viewer/file-list-panel.d.ts +0 -1
  10. package/dist/components/diff-viewer/index.d.ts +2 -0
  11. package/dist/components/param-editor/param-editor.types.d.ts +2 -0
  12. package/dist/components/tag-editor/tag-editor-row.d.ts +1 -0
  13. package/dist/components/tag-editor/tag-editor.types.d.ts +1 -0
  14. package/dist/components/tag-editor/tag-settings-panel.d.ts +1 -1
  15. package/dist/components/tree-list/tree-list-background.d.ts +8 -0
  16. package/dist/components/tree-list/tree-list-drag.d.ts +7 -0
  17. package/dist/components/tree-list/tree-list-inline-creation-story.d.ts +3 -0
  18. package/dist/components/tree-list/tree-list-inline-input.d.ts +9 -0
  19. package/dist/components/tree-list/tree-list-move-surface.d.ts +7 -0
  20. package/dist/components/tree-list/tree-list-node-row.d.ts +1 -0
  21. package/dist/components/tree-list/tree-list.d.ts +2 -0
  22. package/dist/components/tree-list/tree-list.types.d.ts +13 -0
  23. package/dist/data-table.js +666 -643
  24. package/dist/data-table.js.map +1 -1
  25. package/dist/diff.js +799 -815
  26. package/dist/diff.js.map +1 -1
  27. package/dist/{edit-mode-data-table-4GMiDy75.js → edit-mode-data-table-D6NeiDJx.js} +3 -3
  28. package/dist/{edit-mode-data-table-4GMiDy75.js.map → edit-mode-data-table-D6NeiDJx.js.map} +1 -1
  29. package/dist/{editor-config-Dyh8n5A2.js → editor-config-D9OksZ93.js} +3 -3
  30. package/dist/{editor-config-Dyh8n5A2.js.map → editor-config-D9OksZ93.js.map} +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.js +1025 -1042
  33. package/dist/index.js.map +1 -1
  34. package/dist/{kanban-renderer-toolbar-BcUZvGyY.js → kanban-renderer-toolbar-CpegGbwq.js} +2 -2
  35. package/dist/{kanban-renderer-toolbar-BcUZvGyY.js.map → kanban-renderer-toolbar-CpegGbwq.js.map} +1 -1
  36. package/dist/kanban-renderer.js +5 -5
  37. package/dist/{lazy-markdown-editor-CWSREEhf.js → lazy-markdown-editor-B7uP2ALS.js} +2 -2
  38. package/dist/{lazy-markdown-editor-CWSREEhf.js.map → lazy-markdown-editor-B7uP2ALS.js.map} +1 -1
  39. package/dist/{list-row-B8L4TGsh.js → list-row-9oxy-F0v.js} +228 -253
  40. package/dist/list-row-9oxy-F0v.js.map +1 -0
  41. package/dist/{param-editor-w3xH-t8A.js → param-editor-B8Ff9Nm8.js} +2 -2
  42. package/dist/{param-editor-w3xH-t8A.js.map → param-editor-B8Ff9Nm8.js.map} +1 -1
  43. package/dist/{param-editor-field-C8zRDStn.js → param-editor-field-Cu4pto_a.js} +3 -3
  44. package/dist/{param-editor-field-C8zRDStn.js.map → param-editor-field-Cu4pto_a.js.map} +1 -1
  45. package/dist/{rich-message-jZ2oPQhU.js → rich-message-DdFYRzTo.js} +2 -2
  46. package/dist/{rich-message-jZ2oPQhU.js.map → rich-message-DdFYRzTo.js.map} +1 -1
  47. package/dist/rich-text.js +4 -4
  48. package/dist/terminal.js +1 -1
  49. package/dist/terminal.js.map +1 -1
  50. package/dist/theme/recipes/input.d.ts +32 -0
  51. package/dist/{theme-J8K8KbZi.js → theme-BH4fSst9.js} +33 -1
  52. package/dist/theme-BH4fSst9.js.map +1 -0
  53. package/dist/theme.js +1 -1
  54. package/dist/tree-list-uV4UFj0x.js +1116 -0
  55. package/dist/tree-list-uV4UFj0x.js.map +1 -0
  56. package/package.json +1 -1
  57. package/dist/list-row-B8L4TGsh.js.map +0 -1
  58. package/dist/theme-J8K8KbZi.js.map +0 -1
  59. package/dist/tree-list-CC13pOYi.js +0 -1033
  60. package/dist/tree-list-CC13pOYi.js.map +0 -1
@@ -7,6 +7,7 @@ interface BuildColumnsOptions {
7
7
  compactHeaders?: Partial<Record<string, string>>;
8
8
  enableSelection?: boolean;
9
9
  rowActions?: DataTableRowAction[];
10
+ getRowActions?: (row: RowData) => DataTableRowAction[];
10
11
  selectedRowIds?: RowSelectionState;
11
12
  columnRenderers?: Partial<Record<string, DataTableColumnRenderer>>;
12
13
  }
@@ -96,6 +96,7 @@ export interface DataTableProps {
96
96
  selectionMode?: "none" | "multiple";
97
97
  selectionActions?: DataTableSelectionAction[];
98
98
  rowActions?: DataTableRowAction[];
99
+ getRowActions?: (row: RowData) => DataTableRowAction[];
99
100
  compactHeaders?: Partial<Record<string, string>>;
100
101
  getRowId?: (row: RowData, index: number) => string;
101
102
  toolbarStorageKey?: string;
@@ -1,3 +1,4 @@
1
+ import { OnMount } from '@monaco-editor/react';
1
2
  export declare const createCodeEditorPreloader: (initialize: () => Promise<unknown>) => () => Promise<unknown>;
2
3
  export declare const preloadCodeEditor: () => Promise<unknown>;
3
4
  export declare const customTheme: {
@@ -14,6 +15,7 @@ export declare const customTheme: {
14
15
  "editorIndentGuide.activeBackground": string;
15
16
  };
16
17
  };
18
+ export declare const configureCodeEditor: (editor: Parameters<OnMount>[0], monaco: Parameters<OnMount>[1]) => void;
17
19
  interface CodeEditorProps {
18
20
  language: string;
19
21
  defaultCode?: string;
@@ -0,0 +1,3 @@
1
+ export declare const FileChangeBadge: (props: {
2
+ change: string;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,5 @@
1
1
  import { ChangedFilesViewMode, FileIconInfo } from './types';
2
2
  interface FileListPanelProps {
3
- title: string;
4
3
  paths: string[];
5
4
  selectedPath: string | null;
6
5
  viewMode: ChangedFilesViewMode;
@@ -2,6 +2,8 @@ export { CodeDiffEditor, CodeEditor, preloadCodeEditor } from './code-editor';
2
2
  export { DiffBubble } from './diff-bubble';
3
3
  export type { Diff } from './diff-card';
4
4
  export { DiffDrawer } from './diff-drawer';
5
+ export { isBinaryDiffPath, isGeneratedDiffPath, LARGE_DIFF_LINE_THRESHOLD } from './diff-size';
5
6
  export { DiffViewer, type DiffViewerProps } from './diff-viewer';
6
7
  export { useDiffViewerStore } from './diff-viewer.store';
8
+ export { FileChangeBadge } from './file-change-badge';
7
9
  export type { ChangedFilesViewMode, DiffViewMode, FileIconInfo } from './types';
@@ -194,6 +194,8 @@ export interface FileUploadValue {
194
194
  id: string;
195
195
  file: File;
196
196
  status: FileUploadStatus;
197
+ /** Host-owned upload ref. Set after the selected file reaches storage. */
198
+ ref?: string;
197
199
  progress?: number;
198
200
  error?: string;
199
201
  }
@@ -6,6 +6,7 @@ interface TagEditorRowProps {
6
6
  iconOptions?: readonly IconColorPickerIconOption[];
7
7
  value: TagEditorValue;
8
8
  isSaving?: boolean;
9
+ readOnly?: boolean;
9
10
  showDefault?: boolean;
10
11
  showIcons?: boolean;
11
12
  onActionsChange: (actions: string[]) => void;
@@ -28,6 +28,7 @@ export interface TagEditorProps {
28
28
  /** Marks the heading with the unsaved-changes asterisk. */
29
29
  hasChanges?: boolean;
30
30
  isSaving?: boolean;
31
+ readOnly?: boolean;
31
32
  addLabel?: string;
32
33
  /** Name given to a freshly added option before it is renamed inline. */
33
34
  addName?: string;
@@ -4,7 +4,7 @@ export interface SaveTagSettingsInput<TValue> {
4
4
  drafts: TagEditorValue[];
5
5
  values: TValue[];
6
6
  }
7
- type EditorLabels = Pick<TagEditorProps, "actionOptions" | "addLabel" | "addName" | "colorOptions" | "deleteButtonText" | "deleteHeadline" | "deleteNotificationText" | "description" | "iconOptions" | "showIcons" | "title">;
7
+ type EditorLabels = Pick<TagEditorProps, "actionOptions" | "addLabel" | "addName" | "colorOptions" | "deleteButtonText" | "deleteHeadline" | "deleteNotificationText" | "description" | "iconOptions" | "readOnly" | "showDefault" | "onSetDefault" | "showIcons" | "title">;
8
8
  type SortableValue = {
9
9
  id: string;
10
10
  sortOrder: number;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
3
+ interface TreeListBackgroundProps {
4
+ actions: ResourceContextAction[];
5
+ children: ReactNode;
6
+ }
7
+ export declare const TreeListBackground: (props: TreeListBackgroundProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,7 @@
1
+ interface TreeNodeDataTransfer {
2
+ getData(type: string): string;
3
+ setData(type: string, value: string): void;
4
+ }
5
+ export declare const writeDraggedTreeNodeId: (dataTransfer: TreeNodeDataTransfer, nodeId: string) => void;
6
+ export declare const readDraggedTreeNodeId: (dataTransfer: TreeNodeDataTransfer) => string | undefined;
7
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare const TreeListInlineCreationStory: (props: {
2
+ type?: "file" | "folder";
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ import { TreeListInlineInput } from './tree-list.types';
3
+ interface TreeListInlineInputRowProps {
4
+ input: TreeListInlineInput;
5
+ icon?: ReactNode;
6
+ level: number;
7
+ }
8
+ export declare const TreeListInlineInputRow: (props: TreeListInlineInputRowProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ interface TreeListMoveSurfaceProps {
3
+ children: ReactNode;
4
+ onMoveNode?: (sourceNodeId: string, targetNodeId?: string) => void;
5
+ }
6
+ export declare const TreeListMoveSurface: (props: TreeListMoveSurfaceProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -15,6 +15,7 @@ interface TreeListNodeRowProps {
15
15
  onFocus?: FocusEventHandler<HTMLElement>;
16
16
  onNavigate?: (event: TreeListNavigateEvent) => void;
17
17
  onToggleNode?: (nodeId: string) => void;
18
+ onMoveNode?: (sourceNodeId: string, targetNodeId?: string) => void;
18
19
  }
19
20
  export declare const TreeListNodeRow: (props: TreeListNodeRowProps) => import("react/jsx-runtime").JSX.Element;
20
21
  export {};
@@ -31,6 +31,8 @@ interface TreeListProps {
31
31
  draggable?: boolean;
32
32
  onReorderSections?: (nextSectionIds: string[]) => void;
33
33
  onReorderNodes?: (sectionId: string, nextNodeIds: string[]) => void;
34
+ /** Move a node onto another node, or onto the tree root when the target is omitted. */
35
+ onMoveNode?: (sourceNodeId: string, targetNodeId?: string) => void;
34
36
  backgroundContextActions?: ResourceContextAction[];
35
37
  }
36
38
  export declare const TreeList: (props: TreeListProps) => import("react/jsx-runtime").JSX.Element;
@@ -5,17 +5,30 @@ export type TreeListActionContext = ListRowActionContext;
5
5
  export type TreeListActionMenuItem = ListRowActionMenuItem;
6
6
  export type TreeListAction = ListRowAction;
7
7
  export type TreeListNodeRowVariant = Extract<ListRowVariant, "empty-state">;
8
+ export interface TreeListInlineInput {
9
+ ariaLabel: string;
10
+ defaultValue?: string;
11
+ placeholder?: string;
12
+ onCommit(value: string): Promise<void> | void;
13
+ onCancel?(): void;
14
+ }
8
15
  /** Tree node data rendered by `TreeList`; extends the row API used by `ListRow`. */
9
16
  export type TreeListNode = ListRowItem & {
10
17
  id: string;
11
18
  children?: TreeListNode[];
12
19
  /** Per-node visual row variant. Used for non-interactive placeholder rows. */
13
20
  rowVariant?: TreeListNodeRowVariant;
21
+ inlineInput?: TreeListInlineInput;
22
+ showContextMenuTrigger?: boolean;
14
23
  hiddenByDefault?: boolean;
15
24
  /** Opt in to the tree-customization (hide/show) menu. Items are non-hideable unless this is true. */
16
25
  canHide?: boolean;
17
26
  /** Opt out of reordering while keeping the node visible in its group. */
18
27
  canReorder?: boolean;
28
+ /** Allow this node to be moved to another tree location. */
29
+ canDrag?: boolean;
30
+ /** Allow movable nodes to be dropped on this node. */
31
+ canDrop?: boolean;
19
32
  };
20
33
  /** Top-level tree section with optional header, actions, empty state, and child nodes. */
21
34
  export interface TreeListSection {