@pstdio/ui 0.21.0 → 0.23.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 (116) hide show
  1. package/dist/{MermaidComponent-BVMyKttu.js → MermaidComponent-BTgLnpLA.js} +3 -3
  2. package/dist/{MermaidComponent-BVMyKttu.js.map → MermaidComponent-BTgLnpLA.js.map} +1 -1
  3. package/dist/chat-ui.d.ts +2 -0
  4. package/dist/chat-ui.js +2 -2
  5. package/dist/components/data-table/build-columns.d.ts +1 -0
  6. package/dist/components/data-table/data-table-column-menu.d.ts +2 -0
  7. package/dist/components/data-table/data-table-row-display.d.ts +11 -0
  8. package/dist/components/data-table/data-table-table-parts.d.ts +1 -0
  9. package/dist/components/data-table/edit-mode-data-table-body.d.ts +1 -0
  10. package/dist/components/data-table/edit-mode-data-table-cell.d.ts +1 -0
  11. package/dist/components/data-table/edit-mode-data-table-header.d.ts +1 -0
  12. package/dist/components/diff-viewer/code-editor.d.ts +8 -2
  13. package/dist/components/kanban-renderer/collection-badge.d.ts +7 -0
  14. package/dist/components/kanban-renderer/index.d.ts +1 -1
  15. package/dist/components/kanban-renderer/kanban-renderer-helpers.d.ts +2 -1
  16. package/dist/components/kanban-renderer/types.d.ts +20 -1
  17. package/dist/components/list-row/list-row-content.d.ts +1 -0
  18. package/dist/components/list-row/list-row-root-props.d.ts +34 -0
  19. package/dist/components/param-editor/param-editor-presentation.d.ts +1 -1
  20. package/dist/components/param-editor/param-editor.types.d.ts +5 -193
  21. package/dist/components/rich-text/shared/markdown-ast.d.ts +1 -0
  22. package/dist/components/rich-text/shared/markdown-source-document.d.ts +7 -0
  23. package/dist/components/rich-text/shared/markdown-source-links.d.ts +11 -0
  24. package/dist/components/rich-text/shared/markdown-source-map.d.ts +10 -0
  25. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  26. package/dist/components/tab-strip/window-tabs.d.ts +14 -0
  27. package/dist/components/tab-strip/window-title-bar.d.ts +6 -0
  28. package/dist/components/tag-editor/tag-editor-row.d.ts +1 -1
  29. package/dist/components/tag-editor/tag-editor.types.d.ts +12 -0
  30. package/dist/components/tag-editor/tag-settings-panel.d.ts +1 -1
  31. package/dist/components/tree-list/tree-list-drag-provider.d.ts +13 -0
  32. package/dist/components/tree-list/tree-list-order.store.d.ts +4 -1
  33. package/dist/components/tree-list/tree-list-reorder.d.ts +14 -3
  34. package/dist/components/tree-list/tree-list-sortable.d.ts +2 -0
  35. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +2 -2
  36. package/dist/components/tree-list/tree-list.d.ts +3 -0
  37. package/dist/components/tree-list/tree-list.types.d.ts +4 -0
  38. package/dist/data-table.d.ts +2 -0
  39. package/dist/data-table.js +806 -793
  40. package/dist/data-table.js.map +1 -1
  41. package/dist/diff.d.ts +2 -0
  42. package/dist/diff.js +489 -489
  43. package/dist/diff.js.map +1 -1
  44. package/dist/edit-mode-data-table-BrydKuMM.js +846 -0
  45. package/dist/edit-mode-data-table-BrydKuMM.js.map +1 -0
  46. package/dist/index.d.ts +4 -0
  47. package/dist/index.js +1580 -1407
  48. package/dist/index.js.map +1 -1
  49. package/dist/{kanban-renderer-toolbar-CpegGbwq.js → kanban-renderer-toolbar-ebqlG13w.js} +527 -469
  50. package/dist/kanban-renderer-toolbar-ebqlG13w.js.map +1 -0
  51. package/dist/kanban-renderer.d.ts +2 -0
  52. package/dist/kanban-renderer.js +21 -21
  53. package/dist/kanban-renderer.js.map +1 -1
  54. package/dist/lazy-markdown-editor-Obb0M8xc.js +235 -0
  55. package/dist/lazy-markdown-editor-Obb0M8xc.js.map +1 -0
  56. package/dist/list-row-CRi3Luog.js +815 -0
  57. package/dist/list-row-CRi3Luog.js.map +1 -0
  58. package/dist/markdown-editor-Bj_QX4oN.js +1019 -0
  59. package/dist/markdown-editor-Bj_QX4oN.js.map +1 -0
  60. package/dist/markdown-kuU19Oh3.js +1643 -0
  61. package/dist/markdown-kuU19Oh3.js.map +1 -0
  62. package/dist/{mermaid-renderer-H3IhLqnQ.js → mermaid-renderer-CVnuKs-A.js} +2 -2
  63. package/dist/{mermaid-renderer-H3IhLqnQ.js.map → mermaid-renderer-CVnuKs-A.js.map} +1 -1
  64. package/dist/mermaid.d.ts +2 -0
  65. package/dist/mermaid.js +1 -1
  66. package/dist/monaco-browser-l82HnffN.js +22 -0
  67. package/dist/monaco-browser-l82HnffN.js.map +1 -0
  68. package/dist/{param-editor-B8Ff9Nm8.js → param-editor-DgzVeyJ0.js} +2 -2
  69. package/dist/{param-editor-B8Ff9Nm8.js.map → param-editor-DgzVeyJ0.js.map} +1 -1
  70. package/dist/param-editor-field-BMvuSAP5.js +2809 -0
  71. package/dist/param-editor-field-BMvuSAP5.js.map +1 -0
  72. package/dist/rich-message-dNYvLDd4.js +628 -0
  73. package/dist/{rich-message-DdFYRzTo.js.map → rich-message-dNYvLDd4.js.map} +1 -1
  74. package/dist/rich-text.d.ts +2 -0
  75. package/dist/rich-text.js +48 -47
  76. package/dist/rich-text.js.map +1 -1
  77. package/dist/style.css +1 -1
  78. package/dist/terminal.d.ts +2 -0
  79. package/dist/theme/primitives/sizes.d.ts +27 -0
  80. package/dist/theme/recipes/button.d.ts +5 -3
  81. package/dist/theme/recipes/window-title-bar.d.ts +16 -0
  82. package/dist/{theme-BH4fSst9.js → theme-C0empEin.js} +321 -145
  83. package/dist/theme-C0empEin.js.map +1 -0
  84. package/dist/theme-preference-Bpobguh4.js +114 -0
  85. package/dist/theme-preference-Bpobguh4.js.map +1 -0
  86. package/dist/theme.d.ts +2 -0
  87. package/dist/theme.js +1 -1
  88. package/dist/tree-list-BHFSyvIZ.js +1262 -0
  89. package/dist/tree-list-BHFSyvIZ.js.map +1 -0
  90. package/dist/utils/theme-preference.d.ts +4 -1
  91. package/dist/workspace-badge-BR_GgsAG.js +175 -0
  92. package/dist/workspace-badge-BR_GgsAG.js.map +1 -0
  93. package/package.json +5 -42
  94. package/dist/dialog-accept-shortcut-DAEBsoWW.js +0 -7
  95. package/dist/dialog-accept-shortcut-DAEBsoWW.js.map +0 -1
  96. package/dist/edit-mode-data-table-D6NeiDJx.js +0 -775
  97. package/dist/edit-mode-data-table-D6NeiDJx.js.map +0 -1
  98. package/dist/editor-config-D9OksZ93.js +0 -2416
  99. package/dist/editor-config-D9OksZ93.js.map +0 -1
  100. package/dist/kanban-renderer-toolbar-CpegGbwq.js.map +0 -1
  101. package/dist/lazy-markdown-editor-B7uP2ALS.js +0 -26
  102. package/dist/lazy-markdown-editor-B7uP2ALS.js.map +0 -1
  103. package/dist/list-row-9oxy-F0v.js +0 -796
  104. package/dist/list-row-9oxy-F0v.js.map +0 -1
  105. package/dist/monaco-browser-CO0NxK_Z.js +0 -19
  106. package/dist/monaco-browser-CO0NxK_Z.js.map +0 -1
  107. package/dist/number-input-WUfejtNx.js +0 -343
  108. package/dist/number-input-WUfejtNx.js.map +0 -1
  109. package/dist/param-editor-field-Cu4pto_a.js +0 -2845
  110. package/dist/param-editor-field-Cu4pto_a.js.map +0 -1
  111. package/dist/rich-message-DdFYRzTo.js +0 -658
  112. package/dist/theme-BH4fSst9.js.map +0 -1
  113. package/dist/theme-preference-DyymrYpR.js +0 -123
  114. package/dist/theme-preference-DyymrYpR.js.map +0 -1
  115. package/dist/tree-list-uV4UFj0x.js +0 -1116
  116. package/dist/tree-list-uV4UFj0x.js.map +0 -1
@@ -5,8 +5,8 @@ import { useLexicalComposerContext as K } from "@lexical/react/LexicalComposerCo
5
5
  import { useLexicalEditable as L } from "@lexical/react/useLexicalEditable";
6
6
  import { $getNodeByKey as N } from "lexical";
7
7
  import { useState as z, useEffect as P } from "react";
8
- import { M as _ } from "./mermaid-renderer-H3IhLqnQ.js";
9
- import { $ as q } from "./editor-config-D9OksZ93.js";
8
+ import { M as _ } from "./mermaid-renderer-CVnuKs-A.js";
9
+ import { $ as q } from "./markdown-kuU19Oh3.js";
10
10
  function O(B) {
11
11
  const e = S(28), {
12
12
  code: i,
@@ -57,4 +57,4 @@ function O(B) {
57
57
  export {
58
58
  O as default
59
59
  };
60
- //# sourceMappingURL=MermaidComponent-BVMyKttu.js.map
60
+ //# sourceMappingURL=MermaidComponent-BTgLnpLA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MermaidComponent-BVMyKttu.js","sources":["../src/components/rich-text/shared/plugins/MermaidPlugin/MermaidComponent.tsx"],"sourcesContent":["import { Box, Button, Flex, Textarea } from \"@chakra-ui/react\";\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { useLexicalEditable } from \"@lexical/react/useLexicalEditable\";\nimport { $getNodeByKey } from \"lexical\";\nimport { useEffect, useState } from \"react\";\nimport { MermaidRenderer } from \"@/components/mermaid-renderer\";\nimport { $isMermaidNode } from \"./MermaidNode\";\n\ninterface MermaidComponentProps {\n code: string;\n nodeKey: string;\n}\n\nexport default function MermaidComponent(props: MermaidComponentProps) {\n const { code, nodeKey } = props;\n const [editor] = useLexicalComposerContext();\n const isEditable = useLexicalEditable();\n const [isEditing, setIsEditing] = useState(false);\n const [draftCode, setDraftCode] = useState(code);\n const [previewCode, setPreviewCode] = useState(code);\n\n useEffect(() => {\n setDraftCode(code);\n setPreviewCode(code);\n }, [code]);\n\n const commitCodeChanges = () => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n if ($isMermaidNode(node)) {\n node.setCode(draftCode);\n }\n });\n\n setPreviewCode(draftCode);\n setIsEditing(false);\n };\n\n const cancelEditing = () => {\n setDraftCode(previewCode);\n setIsEditing(false);\n };\n\n if (!isEditing) {\n return (\n <MermaidRenderer\n key={previewCode}\n code={previewCode}\n isEditable={isEditable}\n onRequestEdit={isEditable ? () => setIsEditing(true) : undefined}\n />\n );\n }\n\n return (\n <Box borderWidth=\"1px\" borderColor=\"border.subtle\" borderRadius=\"md\" overflow=\"hidden\" width=\"100%\">\n <Flex justifyContent=\"flex-end\" alignItems=\"center\" gap=\"xs\" paddingX=\"sm\" paddingY=\"xs\" bg=\"bg.muted\">\n <Button size=\"xs\" variant=\"subtle\" onClick={cancelEditing}>\n Cancel\n </Button>\n <Button size=\"xs\" onClick={commitCodeChanges}>\n Preview\n </Button>\n </Flex>\n <Box padding=\"sm\" bg=\"bg.muted\">\n <Textarea\n value={draftCode}\n onChange={(event) => setDraftCode(event.target.value)}\n minHeight=\"180px\"\n resize=\"vertical\"\n fontFamily=\"mono\"\n fontSize=\"sm\"\n spellCheck={false}\n />\n </Box>\n </Box>\n );\n}\n"],"names":["MermaidComponent","props","$","_c","code","nodeKey","editor","useLexicalComposerContext","isEditable","useLexicalEditable","isEditing","setIsEditing","useState","draftCode","setDraftCode","previewCode","setPreviewCode","t0","t1","useEffect","t2","update","node","$getNodeByKey","$isMermaidNode","setCode","commitCodeChanges","t3","cancelEditing","t4","undefined","t5","MermaidRenderer","Button","t6","jsxs","Flex","t7","Symbol","for","event","target","value","t8","jsx","Box","Textarea","t9"],"mappings":"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"}
1
+ {"version":3,"file":"MermaidComponent-BTgLnpLA.js","sources":["../src/components/rich-text/shared/plugins/MermaidPlugin/MermaidComponent.tsx"],"sourcesContent":["import { Box, Button, Flex, Textarea } from \"@chakra-ui/react\";\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { useLexicalEditable } from \"@lexical/react/useLexicalEditable\";\nimport { $getNodeByKey } from \"lexical\";\nimport { useEffect, useState } from \"react\";\nimport { MermaidRenderer } from \"@/components/mermaid-renderer\";\nimport { $isMermaidNode } from \"./MermaidNode\";\n\ninterface MermaidComponentProps {\n code: string;\n nodeKey: string;\n}\n\nexport default function MermaidComponent(props: MermaidComponentProps) {\n const { code, nodeKey } = props;\n const [editor] = useLexicalComposerContext();\n const isEditable = useLexicalEditable();\n const [isEditing, setIsEditing] = useState(false);\n const [draftCode, setDraftCode] = useState(code);\n const [previewCode, setPreviewCode] = useState(code);\n\n useEffect(() => {\n setDraftCode(code);\n setPreviewCode(code);\n }, [code]);\n\n const commitCodeChanges = () => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n if ($isMermaidNode(node)) {\n node.setCode(draftCode);\n }\n });\n\n setPreviewCode(draftCode);\n setIsEditing(false);\n };\n\n const cancelEditing = () => {\n setDraftCode(previewCode);\n setIsEditing(false);\n };\n\n if (!isEditing) {\n return (\n <MermaidRenderer\n key={previewCode}\n code={previewCode}\n isEditable={isEditable}\n onRequestEdit={isEditable ? () => setIsEditing(true) : undefined}\n />\n );\n }\n\n return (\n <Box borderWidth=\"1px\" borderColor=\"border.subtle\" borderRadius=\"md\" overflow=\"hidden\" width=\"100%\">\n <Flex justifyContent=\"flex-end\" alignItems=\"center\" gap=\"xs\" paddingX=\"sm\" paddingY=\"xs\" bg=\"bg.muted\">\n <Button size=\"xs\" variant=\"subtle\" onClick={cancelEditing}>\n Cancel\n </Button>\n <Button size=\"xs\" onClick={commitCodeChanges}>\n Preview\n </Button>\n </Flex>\n <Box padding=\"sm\" bg=\"bg.muted\">\n <Textarea\n value={draftCode}\n onChange={(event) => setDraftCode(event.target.value)}\n minHeight=\"180px\"\n resize=\"vertical\"\n fontFamily=\"mono\"\n fontSize=\"sm\"\n spellCheck={false}\n />\n </Box>\n </Box>\n );\n}\n"],"names":["MermaidComponent","props","$","_c","code","nodeKey","editor","useLexicalComposerContext","isEditable","useLexicalEditable","isEditing","setIsEditing","useState","draftCode","setDraftCode","previewCode","setPreviewCode","t0","t1","useEffect","t2","update","node","$getNodeByKey","$isMermaidNode","setCode","commitCodeChanges","t3","cancelEditing","t4","undefined","t5","MermaidRenderer","Button","t6","jsxs","Flex","t7","Symbol","for","event","target","value","t8","jsx","Box","Textarea","t9"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './components/chat-ui/index'
2
+ export {}
package/dist/chat-ui.js CHANGED
@@ -5,8 +5,8 @@ import { ArrowDownIcon as _s, ShieldX as vs, ShieldCheck as Rs, Check as Dn, Pau
5
5
  import { useStickToBottomContext as It, StickToBottom as Gs } from "use-stick-to-bottom";
6
6
  import { S as _t, T as sn } from "./browser-storage-DPtOQJx0.js";
7
7
  import { Fragment as Ys, useRef as Te, useEffect as le, useState as H } from "react";
8
- import { R as on, C as $n } from "./number-input-WUfejtNx.js";
9
- import { a as Vt, P as Js, g as Zs, R as On } from "./rich-message-DdFYRzTo.js";
8
+ import { R as on, C as $n } from "./lazy-markdown-editor-Obb0M8xc.js";
9
+ import { a as Vt, P as Js, g as Zs, R as On } from "./rich-message-dNYvLDd4.js";
10
10
  import { R as eo, a as to, A as mn } from "./radio-cLMEBBZk.js";
11
11
  import { E as no } from "./empty-state-Bo4HVrgr.js";
12
12
  import { useVirtualizer as so } from "@tanstack/react-virtual";
@@ -10,6 +10,7 @@ interface BuildColumnsOptions {
10
10
  getRowActions?: (row: RowData) => DataTableRowAction[];
11
11
  selectedRowIds?: RowSelectionState;
12
12
  columnRenderers?: Partial<Record<string, DataTableColumnRenderer>>;
13
+ wrapRows?: boolean;
13
14
  }
14
15
  export declare function buildColumns(data: RowData[], columnKeys: string[], options?: BuildColumnsOptions): ((import('@tanstack/react-table').ColumnDefBase<RowData, unknown> & import('@tanstack/react-table').StringHeaderIdentifier) | (import('@tanstack/react-table').ColumnDefBase<RowData, unknown> & import('@tanstack/react-table').IdIdentifier<RowData, unknown>) | (import('@tanstack/react-table').AccessorFnColumnDefBase<RowData, number> & import('@tanstack/react-table').StringHeaderIdentifier) | (import('@tanstack/react-table').AccessorFnColumnDefBase<RowData, number> & import('@tanstack/react-table').IdIdentifier<RowData, number>))[];
15
16
  export {};
@@ -5,10 +5,12 @@ interface DataTableColumnMenuColumn {
5
5
  interface DataTableColumnMenuProps {
6
6
  columns: DataTableColumnMenuColumn[];
7
7
  visibleColumnIds: Set<string>;
8
+ wrapRows: boolean;
8
9
  showStats: boolean;
9
10
  statsAvailable: boolean;
10
11
  onColumnVisibilityChange: (columnId: string, visible: boolean) => void;
11
12
  onColumnReorder: (activeColumnId: string, overColumnId: string) => void;
13
+ onWrapRowsChange: (wrapRows: boolean) => void;
12
14
  onStatsVisibilityChange: (showStats: boolean) => void;
13
15
  }
14
16
  export declare const DataTableColumnMenu: (props: DataTableColumnMenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ interface DataTableRowDisplaySwitchProps {
2
+ showDivider?: boolean;
3
+ wrapRows: boolean;
4
+ onWrapRowsChange: (wrapRows: boolean) => void;
5
+ }
6
+ export declare const DataTableRowDisplaySwitch: (props: DataTableRowDisplaySwitchProps) => import("react/jsx-runtime").JSX.Element;
7
+ interface DataTableRowDisplayMenuProps extends DataTableRowDisplaySwitchProps {
8
+ compact?: boolean;
9
+ }
10
+ export declare const DataTableRowDisplayMenu: (props: DataTableRowDisplayMenuProps) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -14,6 +14,7 @@ interface DataTableBodyRowProps {
14
14
  rowIsInteractive: boolean;
15
15
  rowIsActive: boolean;
16
16
  rowIsSelected: boolean;
17
+ wrapRows: boolean;
17
18
  onRowClick?: DataTableProps["onRowClick"];
18
19
  getCellContextMenuActions?: DataTableProps["getCellContextMenuActions"];
19
20
  }
@@ -16,6 +16,7 @@ interface EditModeDataTableBodyProps {
16
16
  pageSize: number;
17
17
  selectedRowIds: Set<string>;
18
18
  showNewRow: boolean;
19
+ wrapRows: boolean;
19
20
  onActivateCell: (cell: ActiveCell) => void;
20
21
  onAddRow: () => void;
21
22
  onCancelCell: () => void;
@@ -6,6 +6,7 @@ interface EditModeDataTableCellProps {
6
6
  editMode: DataTableEditModeConfig;
7
7
  isActive: boolean;
8
8
  isReadOnly: boolean;
9
+ wrapRows: boolean;
9
10
  onActivate: () => void;
10
11
  onCancel: () => void;
11
12
  onDraftChange: (draft: string) => void;
@@ -11,6 +11,7 @@ interface EditModeDataTableHeaderProps {
11
11
  data: RowData[];
12
12
  editMode: DataTableEditModeConfig;
13
13
  isReadOnly: boolean;
14
+ rowDisplayControl?: ReactNode;
14
15
  selectionHeader?: ReactNode;
15
16
  onAddColumn: () => void;
16
17
  onCancelHeaderEdit: () => void;
@@ -1,4 +1,4 @@
1
- import { OnMount } from '@monaco-editor/react';
1
+ import type * as Monaco from "monaco-editor";
2
2
  export declare const createCodeEditorPreloader: (initialize: () => Promise<unknown>) => () => Promise<unknown>;
3
3
  export declare const preloadCodeEditor: () => Promise<unknown>;
4
4
  export declare const customTheme: {
@@ -15,7 +15,13 @@ export declare const customTheme: {
15
15
  "editorIndentGuide.activeBackground": string;
16
16
  };
17
17
  };
18
- export declare const configureCodeEditor: (editor: Parameters<OnMount>[0], monaco: Parameters<OnMount>[1]) => void;
18
+ export declare const configureCodeEditor: (editor: {
19
+ addCommand: (key: number, handler: () => Promise<void>) => unknown;
20
+ getAction: (id: string) => Pick<Monaco.editor.IEditorAction, "run"> | null;
21
+ }, monaco: {
22
+ KeyMod: Pick<typeof Monaco.KeyMod, "CtrlCmd">;
23
+ KeyCode: Pick<typeof Monaco.KeyCode, "KeyS">;
24
+ }) => void;
19
25
  interface CodeEditorProps {
20
26
  language: string;
21
27
  defaultCode?: string;
@@ -0,0 +1,7 @@
1
+ interface CollectionBadgeProps {
2
+ label: string;
3
+ icon?: string;
4
+ onClick?: () => void;
5
+ }
6
+ export declare const CollectionBadge: (props: CollectionBadgeProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -8,7 +8,7 @@ export type { KanbanRendererCardProps } from './kanban-renderer-card';
8
8
  export { KanbanRendererCard } from './kanban-renderer-card';
9
9
  export { KanbanRendererCreateDialog } from './kanban-renderer-create-dialog';
10
10
  export type { AttributeBadge, FilterCategoryView, MenuOption } from './kanban-renderer-helpers';
11
- export { buildDisplayPropertyOptions, buildFilterCategories, buildGroupingOptions, buildOrderingOptions, collectDisplayBadges, getAttributeStringValues, getAttributeValue, getEnumOptions, renderAttributeBadge, sanitizeFilters, sanitizeSettings, } from './kanban-renderer-helpers';
11
+ export { buildDisplayPropertyOptions, buildFilterCategories, buildGroupingOptions, buildOrderingOptions, collectDisplayBadges, getAttributeStringValues, getAttributeValue, getEnumOptions, renderAttributeBadge, renderBadgeListDisplay, sanitizeFilters, sanitizeSettings, } from './kanban-renderer-helpers';
12
12
  export type { KanbanRendererListItem } from './kanban-renderer-list';
13
13
  export { KanbanRendererList } from './kanban-renderer-list';
14
14
  export type { KanbanRendererToolbarProps } from './kanban-renderer-toolbar';
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { AttributeBadge } from './kanban-renderer-badge-helpers';
3
- import { AttributeDescriptor, KanbanRendererFilterState, KanbanRendererRow, KanbanRendererSettings } from './types';
3
+ import { AttributeDescriptor, CollectionBadgeItem, KanbanRendererFilterState, KanbanRendererRow, KanbanRendererSettings } from './types';
4
4
  export type { AttributeBadge } from './kanban-renderer-badge-helpers';
5
5
  export { getAttributeBadgeColorPalette } from './kanban-renderer-badge-helpers';
6
6
  export { enumOptionLabel, findEnumOption, getEnumOptions, toTitleCase } from './kanban-renderer-enum-helpers';
@@ -10,6 +10,7 @@ export { enumOptionLabel, findEnumOption, getEnumOptions, toTitleCase } from './
10
10
  */
11
11
  export declare const getAttributeValue: (row: KanbanRendererRow, descriptor: AttributeDescriptor) => unknown;
12
12
  export declare const getAttributeStringValues: (row: KanbanRendererRow, descriptor: AttributeDescriptor) => string[];
13
+ export declare const renderBadgeListDisplay: (descriptor: AttributeDescriptor, value: unknown, row: KanbanRendererRow, openResource?: (resource: NonNullable<CollectionBadgeItem["resource"]>) => void) => ReactNode;
13
14
  /**
14
15
  * Per-type default cell summary used by the card / list end-content. Returns
15
16
  * null when the attribute has no displayable value.
@@ -38,9 +38,27 @@ export type AttributeType = {
38
38
  export declare const isEnumOptionsSource: (options: EnumOptions) => options is EnumOptionsSource;
39
39
  export type AttributeKind = AttributeType["kind"];
40
40
  export type AttributeDisplayDescriptor = {
41
- kind: "workspace-badge";
41
+ kind: "badge-list";
42
42
  itemsAttributeId: string;
43
43
  };
44
+ type CollectionBadgeJsonValue = string | number | boolean | null | CollectionBadgeJsonValue[] | CollectionBadgeJsonObject;
45
+ interface CollectionBadgeJsonObject {
46
+ [key: string]: CollectionBadgeJsonValue;
47
+ }
48
+ export interface CollectionBadgeResource {
49
+ type: string;
50
+ id: string;
51
+ projectId?: string;
52
+ label?: string;
53
+ extensionId?: string;
54
+ metadata?: CollectionBadgeJsonObject;
55
+ }
56
+ export interface CollectionBadgeItem {
57
+ id: string;
58
+ label: string;
59
+ icon?: string;
60
+ resource?: CollectionBadgeResource;
61
+ }
44
62
  export interface AttributeDescriptor {
45
63
  id: string;
46
64
  label: string;
@@ -138,3 +156,4 @@ export declare const DEFAULT_KANBAN_RENDERER_SETTINGS: KanbanRendererSettings;
138
156
  * Returns undefined for sentinels ("none", "manual") or unknown ids.
139
157
  */
140
158
  export declare const findAttribute: (attributes: AttributeDescriptor[], id: string | undefined) => AttributeDescriptor | undefined;
159
+ export {};
@@ -6,6 +6,7 @@ export declare const createResourceRowActions: (item: ListRowItem, showContextMe
6
6
  menuItems: import('./list-row.types').ListRowActionMenuItem[];
7
7
  }[];
8
8
  export declare const ListRowContent: (props: {
9
+ labelId: string;
9
10
  item: ListRowItem;
10
11
  isExpanded: boolean;
11
12
  showChevron: boolean;
@@ -0,0 +1,34 @@
1
+ import { chakra } from '@chakra-ui/react';
2
+ import { ComponentPropsWithoutRef } from 'react';
3
+ import { ListRowProps } from './list-row.types';
4
+ type ListRowRootProps = ComponentPropsWithoutRef<typeof chakra.div>;
5
+ export declare const computePaddingLeft: (depth: number) => string | undefined;
6
+ export declare const resolveListRowSizing: (variant: ListRowProps["variant"], hasDescription: boolean) => {
7
+ rowHeight: string;
8
+ minHeight: undefined;
9
+ } | {
10
+ rowHeight: string;
11
+ minHeight: string;
12
+ };
13
+ export declare const createListRowRootProps: (input: {
14
+ rootProps: ListRowRootProps;
15
+ labelId: string;
16
+ hasEndContent: boolean;
17
+ rowRole: ListRowRootProps["role"];
18
+ className?: string;
19
+ isSelected: boolean;
20
+ isExpanded: boolean;
21
+ showChevron: boolean;
22
+ rowHeight: ListRowRootProps["height"];
23
+ minHeight: ListRowRootProps["minHeight"];
24
+ verticalPadding: ListRowRootProps["py"];
25
+ paddingLeft: ListRowRootProps["pl"];
26
+ selectedBg: ListRowProps["selectedBg"];
27
+ hoverBg: ListRowProps["hoverBg"];
28
+ tone: NonNullable<ListRowProps["tone"]>;
29
+ isDisabled: boolean;
30
+ variant: ListRowProps["variant"];
31
+ }) => Omit<Omit<import('@chakra-ui/react').PatchHtmlProps<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">>, "color" | "background" | "translate" | "transition" | "width" | "height" | "content" | "_hover" | "_active" | "_focus" | "_focusWithin" | "_focusVisible" | "_disabled" | "_visited" | "_target" | "_readOnly" | "_readWrite" | "_empty" | "_checked" | "_enabled" | "_expanded" | "_highlighted" | "_complete" | "_incomplete" | "_dragging" | "_before" | "_after" | "_firstLetter" | "_firstLine" | "_marker" | "_selection" | "_file" | "_backdrop" | "_first" | "_last" | "_notFirst" | "_notLast" | "_only" | "_even" | "_odd" | "_peerFocus" | "_peerHover" | "_peerActive" | "_peerFocusWithin" | "_peerFocusVisible" | "_peerDisabled" | "_peerChecked" | "_peerInvalid" | "_peerExpanded" | "_peerPlaceholderShown" | "_groupFocus" | "_groupHover" | "_groupActive" | "_groupFocusWithin" | "_groupFocusVisible" | "_groupDisabled" | "_groupChecked" | "_groupExpanded" | "_groupInvalid" | "_indeterminate" | "_required" | "_valid" | "_invalid" | "_autofill" | "_inRange" | "_outOfRange" | "_placeholder" | "_placeholderShown" | "_pressed" | "_selected" | "_grabbed" | "_underValue" | "_overValue" | "_atValue" | "_default" | "_optional" | "_open" | "_closed" | "_fullscreen" | "_loading" | "_hidden" | "_current" | "_currentPage" | "_currentStep" | "_today" | "_unavailable" | "_rangeStart" | "_rangeEnd" | "_now" | "_topmost" | "_motionReduce" | "_motionSafe" | "_print" | "_landscape" | "_portrait" | "_dark" | "_light" | "_osDark" | "_osLight" | "_highContrast" | "_lessContrast" | "_moreContrast" | "_ltr" | "_rtl" | "_scrollbar" | "_scrollbarThumb" | "_scrollbarTrack" | "_horizontal" | "_vertical" | "_icon" | "_starting" | "sm" | "smOnly" | "smDown" | "md" | "mdOnly" | "mdDown" | "lg" | "lgOnly" | "lgDown" | "xl" | "xlOnly" | "xlDown" | "2xl" | "2xlOnly" | "2xlDown" | "3xl" | "3xlOnly" | "3xlDown" | "4xl" | "4xlOnly" | "4xlDown" | "smToMd" | "smToLg" | "smToXl" | "smTo2xl" | "smTo3xl" | "smTo4xl" | "mdToLg" | "mdToXl" | "mdTo2xl" | "mdTo3xl" | "mdTo4xl" | "lgToXl" | "lgTo2xl" | "lgTo3xl" | "lgTo4xl" | "xlTo2xl" | "xlTo3xl" | "xlTo4xl" | "2xlTo3xl" | "2xlTo4xl" | "3xlTo4xl" | "base" | "page" | "container" | "css" | "WebkitAppearance" | "WebkitBorderBefore" | "WebkitBorderBeforeColor" | "WebkitBorderBeforeStyle" | "WebkitBorderBeforeWidth" | "WebkitBoxReflect" | "WebkitLineClamp" | "WebkitMask" | "WebkitMaskAttachment" | "WebkitMaskClip" | "WebkitMaskComposite" | "WebkitMaskImage" | "WebkitMaskOrigin" | "WebkitMaskPosition" | "WebkitMaskPositionX" | "WebkitMaskPositionY" | "WebkitMaskRepeat" | "WebkitMaskRepeatX" | "WebkitMaskRepeatY" | "WebkitMaskSize" | "WebkitOverflowScrolling" | "WebkitTapHighlightColor" | "WebkitTextFillColor" | "WebkitTextStroke" | "WebkitTextStrokeColor" | "WebkitTextStrokeWidth" | "WebkitTouchCallout" | "WebkitUserModify" | "WebkitUserSelect" | "accentColor" | "alignContent" | "alignItems" | "alignSelf" | "alignTracks" | "all" | "anchorName" | "anchorScope" | "animation" | "animationComposition" | "animationDelay" | "animationDirection" | "animationDuration" | "animationFillMode" | "animationIterationCount" | "animationName" | "animationPlayState" | "animationRange" | "animationRangeEnd" | "animationRangeStart" | "animationTimeline" | "animationTimingFunction" | "appearance" | "aspectRatio" | "backdropFilter" | "backfaceVisibility" | "backgroundAttachment" | "backgroundBlendMode" | "backgroundClip" | "backgroundColor" | "backgroundImage" | "backgroundOrigin" | "backgroundPosition" | "backgroundPositionX" | "backgroundPositionY" | "backgroundRepeat" | "backgroundSize" | "blockSize" | "border" | "borderBlock" | "borderBlockColor" | "borderBlockEnd" | "borderBlockEndColor" | "borderBlockEndStyle" | "borderBlockEndWidth" | "borderBlockStart" | "borderBlockStartColor" | "borderBlockStartStyle" | "borderBlockStartWidth" | "borderBlockStyle" | "borderBlockWidth" | "borderBottom" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderCollapse" | "borderColor" | "borderEndEndRadius" | "borderEndStartRadius" | "borderImage" | "borderImageOutset" | "borderImageRepeat" | "borderImageSlice" | "borderImageSource" | "borderImageWidth" | "borderInline" | "borderInlineColor" | "borderInlineEnd" | "borderInlineEndColor" | "borderInlineEndStyle" | "borderInlineEndWidth" | "borderInlineStart" | "borderInlineStartColor" | "borderInlineStartStyle" | "borderInlineStartWidth" | "borderInlineStyle" | "borderInlineWidth" | "borderLeft" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRadius" | "borderRight" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderSpacing" | "borderStartEndRadius" | "borderStartStartRadius" | "borderStyle" | "borderTop" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "borderWidth" | "bottom" | "boxAlign" | "boxDecorationBreak" | "boxDirection" | "boxFlex" | "boxFlexGroup" | "boxLines" | "boxOrdinalGroup" | "boxOrient" | "boxPack" | "boxShadow" | "boxSizing" | "breakAfter" | "breakBefore" | "breakInside" | "captionSide" | "caret" | "caretColor" | "caretShape" | "clear" | "clip" | "clipPath" | "clipRule" | "colorInterpolationFilters" | "colorScheme" | "columnCount" | "columnFill" | "columnGap" | "columnRule" | "columnRuleColor" | "columnRuleStyle" | "columnRuleWidth" | "columnSpan" | "columnWidth" | "columns" | "contain" | "containIntrinsicBlockSize" | "containIntrinsicHeight" | "containIntrinsicInlineSize" | "containIntrinsicSize" | "containIntrinsicWidth" | "containerName" | "containerType" | "contentVisibility" | "counterIncrement" | "counterReset" | "counterSet" | "cursor" | "cx" | "cy" | "d" | "direction" | "display" | "dominantBaseline" | "emptyCells" | "fieldSizing" | "fill" | "fillOpacity" | "fillRule" | "filter" | "flex" | "flexBasis" | "flexDirection" | "flexFlow" | "flexGrow" | "flexShrink" | "flexWrap" | "float" | "floodColor" | "floodOpacity" | "font" | "fontFamily" | "fontFeatureSettings" | "fontKerning" | "fontLanguageOverride" | "fontOpticalSizing" | "fontPalette" | "fontSize" | "fontSizeAdjust" | "fontSmooth" | "fontStretch" | "fontStyle" | "fontSynthesis" | "fontSynthesisPosition" | "fontSynthesisSmallCaps" | "fontSynthesisStyle" | "fontSynthesisWeight" | "fontVariant" | "fontVariantAlternates" | "fontVariantCaps" | "fontVariantEastAsian" | "fontVariantEmoji" | "fontVariantLigatures" | "fontVariantNumeric" | "fontVariantPosition" | "fontVariationSettings" | "fontWeight" | "forcedColorAdjust" | "gap" | "grid" | "gridArea" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridColumn" | "gridColumnEnd" | "gridColumnGap" | "gridColumnStart" | "gridGap" | "gridRow" | "gridRowEnd" | "gridRowGap" | "gridRowStart" | "gridTemplate" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "hangingPunctuation" | "hyphenateCharacter" | "hyphenateLimitChars" | "hyphens" | "imageOrientation" | "imageRendering" | "imageResolution" | "imeMode" | "initialLetter" | "initialLetterAlign" | "inlineSize" | "inset" | "insetBlock" | "insetBlockEnd" | "insetBlockStart" | "insetInline" | "insetInlineEnd" | "insetInlineStart" | "interpolateSize" | "isolation" | "justifyContent" | "justifyItems" | "justifySelf" | "justifyTracks" | "left" | "letterSpacing" | "lightingColor" | "lineBreak" | "lineClamp" | "lineHeight" | "lineHeightStep" | "listStyle" | "listStyleImage" | "listStylePosition" | "listStyleType" | "margin" | "marginBlock" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInline" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "marginTrim" | "marker" | "markerEnd" | "markerMid" | "markerStart" | "mask" | "maskBorder" | "maskBorderMode" | "maskBorderOutset" | "maskBorderRepeat" | "maskBorderSlice" | "maskBorderSource" | "maskBorderWidth" | "maskClip" | "maskComposite" | "maskImage" | "maskMode" | "maskOrigin" | "maskPosition" | "maskRepeat" | "maskSize" | "maskType" | "masonryAutoFlow" | "mathDepth" | "mathShift" | "mathStyle" | "maxBlockSize" | "maxHeight" | "maxInlineSize" | "maxLines" | "maxWidth" | "minBlockSize" | "minHeight" | "minInlineSize" | "minWidth" | "mixBlendMode" | "objectFit" | "objectPosition" | "offset" | "offsetAnchor" | "offsetDistance" | "offsetPath" | "offsetPosition" | "offsetRotate" | "opacity" | "order" | "orphans" | "outline" | "outlineColor" | "outlineOffset" | "outlineStyle" | "outlineWidth" | "overflow" | "overflowAnchor" | "overflowBlock" | "overflowClipBox" | "overflowClipMargin" | "overflowInline" | "overflowWrap" | "overflowX" | "overflowY" | "overlay" | "overscrollBehavior" | "overscrollBehaviorBlock" | "overscrollBehaviorInline" | "overscrollBehaviorX" | "overscrollBehaviorY" | "padding" | "paddingBlock" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInline" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "pageBreakAfter" | "pageBreakBefore" | "pageBreakInside" | "paintOrder" | "perspective" | "perspectiveOrigin" | "placeContent" | "placeItems" | "placeSelf" | "pointerEvents" | "position" | "positionAnchor" | "positionArea" | "positionTry" | "positionTryFallbacks" | "positionTryOrder" | "positionVisibility" | "printColorAdjust" | "quotes" | "r" | "resize" | "right" | "rotate" | "rowGap" | "rubyAlign" | "rubyMerge" | "rubyPosition" | "rx" | "ry" | "scale" | "scrollBehavior" | "scrollMargin" | "scrollMarginBlock" | "scrollMarginBlockEnd" | "scrollMarginBlockStart" | "scrollMarginBottom" | "scrollMarginInline" | "scrollMarginInlineEnd" | "scrollMarginInlineStart" | "scrollMarginLeft" | "scrollMarginRight" | "scrollMarginTop" | "scrollPadding" | "scrollPaddingBlock" | "scrollPaddingBlockEnd" | "scrollPaddingBlockStart" | "scrollPaddingBottom" | "scrollPaddingInline" | "scrollPaddingInlineEnd" | "scrollPaddingInlineStart" | "scrollPaddingLeft" | "scrollPaddingRight" | "scrollPaddingTop" | "scrollSnapAlign" | "scrollSnapCoordinate" | "scrollSnapDestination" | "scrollSnapPointsX" | "scrollSnapPointsY" | "scrollSnapStop" | "scrollSnapType" | "scrollSnapTypeX" | "scrollSnapTypeY" | "scrollTimeline" | "scrollTimelineAxis" | "scrollTimelineName" | "scrollbarColor" | "scrollbarGutter" | "scrollbarWidth" | "shapeImageThreshold" | "shapeMargin" | "shapeOutside" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "tabSize" | "tableLayout" | "textAlign" | "textAlignLast" | "textAnchor" | "textBox" | "textBoxEdge" | "textBoxTrim" | "textCombineUpright" | "textDecoration" | "textDecorationColor" | "textDecorationLine" | "textDecorationSkip" | "textDecorationSkipInk" | "textDecorationStyle" | "textDecorationThickness" | "textEmphasis" | "textEmphasisColor" | "textEmphasisPosition" | "textEmphasisStyle" | "textIndent" | "textJustify" | "textOrientation" | "textOverflow" | "textRendering" | "textShadow" | "textSizeAdjust" | "textSpacingTrim" | "textTransform" | "textUnderlineOffset" | "textUnderlinePosition" | "textWrap" | "textWrapMode" | "textWrapStyle" | "timelineScope" | "top" | "touchAction" | "transform" | "transformBox" | "transformOrigin" | "transformStyle" | "transitionBehavior" | "transitionDelay" | "transitionDuration" | "transitionProperty" | "transitionTimingFunction" | "unicodeBidi" | "userSelect" | "vectorEffect" | "verticalAlign" | "viewTimeline" | "viewTimelineAxis" | "viewTimelineInset" | "viewTimelineName" | "viewTransitionName" | "visibility" | "whiteSpace" | "whiteSpaceCollapse" | "widows" | "willChange" | "wordBreak" | "wordSpacing" | "wordWrap" | "writingMode" | "x" | "y" | "zIndex" | "zoom" | "alignmentBaseline" | "baselineShift" | "colorInterpolation" | "colorRendering" | "glyphOrientationVertical" | "bg" | "bgColor" | "bgSize" | "bgPos" | "bgRepeat" | "bgAttachment" | "bgClip" | "bgGradient" | "bgImg" | "bgImage" | "borderStart" | "borderEnd" | "borderX" | "borderY" | "borderStartColor" | "borderEndColor" | "borderStartStyle" | "borderEndStyle" | "rounded" | "roundedTopLeft" | "roundedStartStart" | "borderTopStartRadius" | "roundedEndStart" | "borderBottomStartRadius" | "roundedTopRight" | "roundedStartEnd" | "borderTopEndRadius" | "roundedEndEnd" | "borderBottomEndRadius" | "roundedBottomLeft" | "roundedBottomRight" | "roundedStart" | "borderStartRadius" | "roundedEnd" | "borderEndRadius" | "roundedTop" | "roundedBottom" | "roundedLeft" | "roundedRight" | "borderXWidth" | "borderStartWidth" | "borderEndWidth" | "borderYWidth" | "shadow" | "shadowColor" | "blendMode" | "bgBlendMode" | "gapY" | "gapX" | "flexDir" | "w" | "h" | "minW" | "minH" | "maxW" | "maxH" | "overscroll" | "overscrollX" | "overscrollY" | "scrollPaddingX" | "scrollPaddingY" | "listStylePos" | "listStyleImg" | "pos" | "insetX" | "insetY" | "insetStart" | "insetEnd" | "m" | "mt" | "mr" | "mb" | "ml" | "ms" | "marginStart" | "me" | "marginEnd" | "mx" | "marginX" | "my" | "marginY" | "p" | "pt" | "pr" | "pb" | "pl" | "ps" | "paddingStart" | "pe" | "paddingEnd" | "px" | "paddingX" | "py" | "paddingY" | "textDecor" | "backgroundGradient" | "gradientFrom" | "gradientTo" | "gradientVia" | "borderInlineStartRadius" | "borderInlineEndRadius" | "borderTopRadius" | "borderBottomRadius" | "borderLeftRadius" | "borderRightRadius" | "divideX" | "divideY" | "divideColor" | "divideStyle" | "boxShadowColor" | "blur" | "brightness" | "contrast" | "grayscale" | "hueRotate" | "invert" | "saturate" | "sepia" | "dropShadow" | "backdropBlur" | "backdropBrightness" | "backdropContrast" | "backdropGrayscale" | "backdropHueRotate" | "backdropInvert" | "backdropOpacity" | "backdropSaturate" | "backdropSepia" | "focusRing" | "focusVisibleRing" | "focusRingColor" | "focusRingOffset" | "focusRingWidth" | "focusRingStyle" | "boxSize" | "hideFrom" | "hideBelow" | "scrollbar" | "scrollMarginX" | "scrollMarginY" | "scrollSnapStrictness" | "scrollSnapMargin" | "scrollSnapMarginTop" | "scrollSnapMarginBottom" | "scrollSnapMarginLeft" | "scrollSnapMarginRight" | "ring" | "ringColor" | "ringOffset" | "ringOffsetColor" | "ringInset" | "skewX" | "skewY" | "scaleX" | "scaleY" | "spaceXReverse" | "spaceX" | "spaceYReverse" | "spaceY" | "rotateX" | "rotateY" | "translateX" | "translateY" | "truncate" | "borderSpacingX" | "borderSpacingY" | "srOnly" | "debug" | "WebkitAppRegion" | "colorPalette" | "textStyle" | "layerStyle" | "animationStyle" | keyof import('@chakra-ui/react').PolymorphicProps> & Omit<import('@chakra-ui/react').JsxStyleProps, never> & import('@chakra-ui/react').PolymorphicProps & {
32
+ ref?: any | undefined;
33
+ }, "ref">;
34
+ export {};
@@ -1,3 +1,3 @@
1
1
  import { Param } from './param-editor.types';
2
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;
3
+ export declare const isParamEditorHorizontalControl: (param: Param) => param is import('./param-editor.types').PropertyParam | import('./param-editor.types').FileUploadParam | import('@pstdio/sdk/extensions').NumberControl | import('@pstdio/sdk/extensions').BooleanControl | import('@pstdio/sdk/extensions').TextControl | import('@pstdio/sdk/extensions').MarkdownControl | import('@pstdio/sdk/extensions').SelectionControl | import('@pstdio/sdk/extensions').DateControl | import('@pstdio/sdk/extensions').ColorControl | import('@pstdio/sdk/extensions').ReadOnlyControl | import('@pstdio/sdk/extensions').ResourceControl | import('@pstdio/sdk/extensions').RangeControl | import('@pstdio/sdk/extensions').SegmentedControl | import('@pstdio/sdk/extensions').ActionsControl | import('@pstdio/sdk/extensions').VectorControl;
@@ -1,193 +1,10 @@
1
+ import { BaseControl as BaseParam, ControlGroup, ControlParam, ControlValue } from '@pstdio/sdk/extensions';
1
2
  import { ReactNode } from 'react';
2
- export interface BaseParam {
3
- id: string;
4
- name: string;
5
- description?: string;
6
- /** Locks this one param while the rest of the editor stays editable. */
7
- readOnly?: boolean;
8
- }
9
- export interface NumberParam extends BaseParam {
10
- type: "number";
11
- defaultValue: number;
12
- min?: number;
13
- max?: number;
14
- step?: number;
15
- }
16
- export interface BooleanParam extends BaseParam {
17
- type: "boolean";
18
- defaultValue: boolean;
19
- }
20
- export interface TextParam extends BaseParam {
21
- type: "text";
22
- defaultValue: string;
23
- singleLine?: boolean;
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
- 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;
50
- }
51
- export interface SelectionParam extends BaseParam {
52
- type: "selection";
53
- defaultValue: string | string[];
54
- options: SelectionOption[];
55
- multiSelect?: boolean;
56
- placeholder?: string;
57
- searchable?: boolean;
58
- searchPlaceholder?: string;
59
- emptyText?: string;
60
- group?: SelectionGroup;
61
- /** Adds a "clear" row so a single-select can be returned to unset. */
62
- clearable?: boolean;
63
- /**
64
- * Renders the control inert but still as a control — unlike `readOnly`, which
65
- * collapses it to plain text and drops the option's icon.
66
- */
67
- disabled?: boolean;
68
- }
69
- export interface DateParam extends BaseParam {
70
- type: "date";
71
- defaultValue: string;
72
- min?: string;
73
- max?: string;
74
- }
75
- export interface ColorParam extends BaseParam {
76
- type: "color";
77
- defaultValue: string;
78
- }
3
+ export type { ActionOption, ActionsControl as ActionsParam, AnchorGridControl as AnchorGridParam, AnchorGridValue, BaseControl as BaseParam, BooleanControl as BooleanParam, ColorControl as ColorParam, ControlGroup, ControlParam, ControlValue, ControlValueMap, DateControl as DateParam, MarkdownControl as MarkdownParam, NumberControl as NumberParam, ParamEditorReadOnlyContent, ParamEditorReadOnlyImage, RangeControl as RangeParam, RangeValue, ReadOnlyControl as ReadOnlyParam, ResourceControl as ResourceParam, ResourceOption, ResourceRefValue, SegmentedControl as SegmentedParam, SegmentedOption, SelectionControl as SelectionParam, SelectionGroup, SelectionOption, TextControl as TextParam, VectorControl as VectorParam, VectorValue, } from '@pstdio/sdk/extensions';
79
4
  export interface PropertyParam extends BaseParam {
80
5
  type: "property";
81
6
  value: ReactNode;
82
7
  }
83
- export interface ParamEditorReadOnlyImage {
84
- src: string;
85
- alt: string;
86
- }
87
- export type ParamEditorReadOnlyContent = string | number | boolean | null | Array<string | number | boolean | null> | {
88
- type: "image";
89
- src: string;
90
- alt: string;
91
- } | {
92
- type: "image-gallery";
93
- images: ParamEditorReadOnlyImage[];
94
- };
95
- /** Serializable display-only value rendered by the read-only Param Editor. */
96
- export interface ReadOnlyParam extends BaseParam {
97
- type: "readOnly";
98
- value: ParamEditorReadOnlyContent;
99
- }
100
- /** A reference the host can open (e.g. another resource tab). */
101
- export interface ResourceRefValue {
102
- type: string;
103
- id: string;
104
- label?: string;
105
- }
106
- /**
107
- * Serializable resource chip. Clicking it opens `href` externally, opens `ref` via
108
- * `onOpenResource`, or copies `copyText` to the clipboard — whichever is set.
109
- */
110
- export interface ResourceOption {
111
- id: string;
112
- name: string;
113
- icon?: string;
114
- color?: string;
115
- description?: string;
116
- href?: string;
117
- ref?: ResourceRefValue;
118
- copyText?: string;
119
- }
120
- /**
121
- * Resource references rendered as tags/chips. View-only by default; set `editable`
122
- * to pick from `options` via a dropdown. Value is the selected option id(s), mirroring
123
- * {@link SelectionParam}, so it stays JSON-safe across the controls-command boundary.
124
- */
125
- export interface ResourceParam extends BaseParam {
126
- type: "resource";
127
- defaultValue: string | string[];
128
- options: ResourceOption[];
129
- multiSelect?: boolean;
130
- editable?: boolean;
131
- placeholder?: string;
132
- emptyText?: string;
133
- }
134
- export type RangeValue = [number, number];
135
- /** Two-handle numeric range control. Values normalize to ordered `[start, end]`. */
136
- export interface RangeParam extends BaseParam {
137
- type: "range";
138
- defaultValue: RangeValue;
139
- min: number;
140
- max: number;
141
- step?: number;
142
- unit?: string;
143
- markerCount?: number;
144
- }
145
- export interface SegmentedOption {
146
- id: string;
147
- name: string;
148
- icon?: string;
149
- indicatorColor?: string;
150
- }
151
- /** Mutually-exclusive mode control rendered as a segmented button group. */
152
- export interface SegmentedParam extends BaseParam {
153
- type: "segmented";
154
- defaultValue: string;
155
- options: SegmentedOption[];
156
- variant?: "default" | "dots";
157
- }
158
- export interface ActionOption {
159
- id: string;
160
- name: string;
161
- icon?: string;
162
- disabled?: boolean;
163
- }
164
- /** Compact command set rendered as an action button row. */
165
- export interface ActionsParam extends BaseParam {
166
- type: "actions";
167
- defaultValue?: string;
168
- options: ActionOption[];
169
- }
170
- export type AnchorGridValue = "top-left" | "top" | "top-right" | "left" | "center" | "right" | "bottom-left" | "bottom" | "bottom-right";
171
- /** Nine-point alignment picker. */
172
- export interface AnchorGridParam extends BaseParam {
173
- type: "anchorGrid";
174
- defaultValue: AnchorGridValue;
175
- }
176
- export interface VectorValue {
177
- x: number;
178
- y: number;
179
- }
180
- /** Paired x/y numeric control. */
181
- export interface VectorParam extends BaseParam {
182
- type: "vector";
183
- defaultValue: VectorValue;
184
- coordinateMode?: "cartesian" | "screen";
185
- xLabel?: string;
186
- yLabel?: string;
187
- min?: number;
188
- max?: number;
189
- step?: number;
190
- }
191
8
  export type FileUploadStatus = "queued" | "uploading" | "complete" | "error";
192
9
  /** A selected file and the host-controlled state of its upload. */
193
10
  export interface FileUploadValue {
@@ -206,14 +23,9 @@ export interface FileUploadParam extends BaseParam {
206
23
  multiple?: boolean;
207
24
  uploadLabel?: string;
208
25
  }
209
- export interface InputGroup {
210
- id: string;
211
- title: string;
212
- description?: string;
26
+ export interface InputGroup extends Omit<ControlGroup, "params"> {
213
27
  params: Param[];
214
- collapsible?: boolean;
215
- defaultCollapsed?: boolean;
216
28
  }
217
- export type ParamValue = number | string | boolean | null | string[] | RangeValue | VectorValue | FileUploadValue[];
218
- export type Param = NumberParam | BooleanParam | TextParam | MarkdownParam | SelectionParam | DateParam | ColorParam | PropertyParam | ReadOnlyParam | ResourceParam | RangeParam | SegmentedParam | ActionsParam | AnchorGridParam | VectorParam | FileUploadParam;
29
+ export type Param = ControlParam | PropertyParam | FileUploadParam;
30
+ export type ParamValue = ControlValue | FileUploadValue[];
219
31
  export type ParamValueMap = Record<string, ParamValue>;
@@ -1,5 +1,6 @@
1
1
  import { PhrasingContent, Root, RootContent } from 'mdast';
2
2
  export declare const parseMarkdown: (markdown: string) => Root;
3
+ export declare const parseMarkdownSource: (markdown: string) => Root;
3
4
  export declare const serializeMarkdownAst: (tree: Root) => string;
4
5
  export declare const serializeMarkdownBlock: (node: RootContent) => string;
5
6
  export declare const serializeMarkdownInline: (children: PhrasingContent[]) => string;
@@ -0,0 +1,7 @@
1
+ import { ElementNode } from 'lexical';
2
+ import { MarkdownUrlResolver } from './markdown-url';
3
+ export interface MarkdownSourceDocument {
4
+ exportFromLexical: (root: ElementNode) => string;
5
+ importToLexical: () => void;
6
+ }
7
+ export declare const createMarkdownSourceDocument: (source: string, resolver?: MarkdownUrlResolver) => MarkdownSourceDocument;
@@ -0,0 +1,11 @@
1
+ interface TextEdit {
2
+ end: number;
3
+ replacement: string;
4
+ start: number;
5
+ }
6
+ interface LinkChanges {
7
+ edits: TextEdit[];
8
+ normalizedCurrent: string;
9
+ }
10
+ export declare const collectMarkdownLinkChanges: (source: string, baseline: string, current: string) => LinkChanges;
11
+ export {};
@@ -0,0 +1,10 @@
1
+ export interface SourceMap {
2
+ end: number[];
3
+ start: number[];
4
+ }
5
+ export declare const buildSourceMap: (canonical: string, source: string) => {
6
+ end: number[];
7
+ start: number[];
8
+ };
9
+ export declare const mappedStart: (map: SourceMap, index: number) => number;
10
+ export declare const mappedEnd: (map: SourceMap, index: number) => number;
@@ -1 +1 @@
1
- export declare function inferResourceTypeFromMediaType(mediaType: string): "text" | "table" | "image" | "markdown" | "json" | "pdf";
1
+ export declare function inferResourceTypeFromMediaType(mediaType: string): "text" | "table" | "image" | "json" | "pdf" | "markdown";
@@ -0,0 +1,14 @@
1
+ import { ReactNode } from 'react';
2
+ export interface WindowTab {
3
+ id: string;
4
+ label: string;
5
+ icon?: ReactNode;
6
+ }
7
+ export interface WindowTabsProps {
8
+ tabs: WindowTab[];
9
+ selectedId?: string;
10
+ onSelect: (id: string) => void;
11
+ onClose: (id: string) => void;
12
+ "aria-label": string;
13
+ }
14
+ export declare const WindowTabs: (props: WindowTabsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ export interface WindowTitleBarProps {
3
+ platform: string;
4
+ children?: ReactNode;
5
+ }
6
+ export declare const WindowTitleBar: (props: WindowTitleBarProps) => import("react/jsx-runtime").JSX.Element;
@@ -2,6 +2,7 @@ import { IconColorPickerIconOption } from '../primitives/icon-options';
2
2
  import { TagEditorAction, TagEditorValue } from './tag-editor.types';
3
3
  interface TagEditorRowProps {
4
4
  actionOptions?: TagEditorAction[];
5
+ actionsLabel?: string;
5
6
  colorOptions?: readonly string[];
6
7
  iconOptions?: readonly IconColorPickerIconOption[];
7
8
  value: TagEditorValue;
@@ -14,7 +15,6 @@ interface TagEditorRowProps {
14
15
  onDelete: () => void;
15
16
  onIconChange: (icon: string | null) => void;
16
17
  onNameChange: (name: string) => void;
17
- onSetDefault: () => void;
18
18
  }
19
19
  export declare const TagEditorRow: (props: TagEditorRowProps) => import("react/jsx-runtime").JSX.Element;
20
20
  export {};