@pstdio/ui 0.17.0 → 0.19.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 (132) hide show
  1. package/dist/{MermaidComponent-BCMQqPqu.js → MermaidComponent-BPiVFNYK.js} +2 -2
  2. package/dist/{MermaidComponent-BCMQqPqu.js.map → MermaidComponent-BPiVFNYK.js.map} +1 -1
  3. package/dist/chat-ui.js +941 -899
  4. package/dist/chat-ui.js.map +1 -1
  5. package/dist/components/chat-ui/components/chat-message-list-items.d.ts +17 -0
  6. package/dist/components/chat-ui/components/message-types.d.ts +1 -0
  7. package/dist/components/chat-ui/components/timeline.d.ts +2 -0
  8. package/dist/components/chat-ui/tool-rendering/default-renderers.d.ts +1 -0
  9. package/dist/components/chat-ui/tool-rendering/shared.d.ts +3 -2
  10. package/dist/components/chat-ui/tool-rendering/standard-renderers.d.ts +1 -0
  11. package/dist/components/data-table/data-table-column-menu.d.ts +4 -1
  12. package/dist/components/data-table/data-table-header.d.ts +0 -8
  13. package/dist/components/data-table/data-table-skeleton.d.ts +13 -0
  14. package/dist/components/data-table/editable-cells-story.d.ts +9 -0
  15. package/dist/components/data-table/index.d.ts +2 -0
  16. package/dist/components/diff-viewer/code-editor.d.ts +2 -0
  17. package/dist/components/diff-viewer/index.d.ts +1 -1
  18. package/dist/components/diff-viewer/monaco-browser.d.ts +1 -0
  19. package/dist/components/overlays/dialog-accept-shortcut.d.ts +12 -0
  20. package/dist/components/overlays/index.d.ts +1 -0
  21. package/dist/components/overlays/searchable-menu-input.d.ts +9 -0
  22. package/dist/components/param-editor/index.d.ts +7 -2
  23. package/dist/components/param-editor/inputs/action-input.d.ts +1 -0
  24. package/dist/components/param-editor/inputs/boolean-input.d.ts +13 -0
  25. package/dist/components/param-editor/inputs/color-input.d.ts +1 -0
  26. package/dist/components/param-editor/inputs/date-input.d.ts +1 -0
  27. package/dist/components/param-editor/inputs/file-upload-input.d.ts +15 -0
  28. package/dist/components/param-editor/inputs/file-upload-value.d.ts +7 -0
  29. package/dist/components/param-editor/inputs/horizontal-text-input.d.ts +1 -0
  30. package/dist/components/param-editor/inputs/markdown-input.d.ts +13 -0
  31. package/dist/components/param-editor/inputs/number-input.d.ts +1 -0
  32. package/dist/components/param-editor/inputs/range-input.d.ts +1 -0
  33. package/dist/components/param-editor/inputs/resource-input.d.ts +2 -0
  34. package/dist/components/param-editor/inputs/segmented-input.d.ts +1 -0
  35. package/dist/components/param-editor/inputs/selection-input.d.ts +6 -0
  36. package/dist/components/param-editor/inputs/selection-menu.d.ts +10 -0
  37. package/dist/components/param-editor/inputs/text-input.d.ts +1 -0
  38. package/dist/components/param-editor/param-editor-advanced-field.d.ts +14 -0
  39. package/dist/components/param-editor/param-editor-control-fixtures.d.ts +24 -0
  40. package/dist/components/param-editor/param-editor-field.d.ts +2 -0
  41. package/dist/components/param-editor/param-editor-horizontal.d.ts +2 -2
  42. package/dist/components/param-editor/param-editor-label.d.ts +1 -0
  43. package/dist/components/param-editor/param-editor-presentation.d.ts +3 -0
  44. package/dist/components/param-editor/param-editor-row.d.ts +17 -0
  45. package/dist/components/param-editor/param-editor.types.d.ts +43 -13
  46. package/dist/components/param-editor/resolve-param-value.d.ts +2 -0
  47. package/dist/components/primitives/chip.d.ts +4 -0
  48. package/dist/components/primitives/glyph-icon.d.ts +16 -0
  49. package/dist/components/primitives/icon-color-picker.d.ts +3 -13
  50. package/dist/components/primitives/icon-options.d.ts +301 -0
  51. package/dist/components/primitives/index.d.ts +12 -3
  52. package/dist/components/primitives/resource-badge.d.ts +12 -10
  53. package/dist/components/primitives/segmented-control.d.ts +20 -0
  54. package/dist/components/primitives/tag-swatch.d.ts +10 -0
  55. package/dist/components/rich-text/index.d.ts +1 -0
  56. package/dist/components/rich-text/lazy-markdown-editor.d.ts +2 -0
  57. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  58. package/dist/components/tag-editor/index.d.ts +4 -0
  59. package/dist/components/tag-editor/tag-editor-heading.d.ts +11 -0
  60. package/dist/components/tag-editor/tag-editor-row.d.ts +1 -1
  61. package/dist/components/tag-editor/tag-editor-save-bar.d.ts +13 -0
  62. package/dist/components/tag-editor/tag-editor.types.d.ts +11 -11
  63. package/dist/components/tag-editor/tag-settings-panel.d.ts +3 -1
  64. package/dist/data-table.js +1018 -926
  65. package/dist/data-table.js.map +1 -1
  66. package/dist/dialog-accept-shortcut-DAEBsoWW.js +7 -0
  67. package/dist/dialog-accept-shortcut-DAEBsoWW.js.map +1 -0
  68. package/dist/diff.js +370 -366
  69. package/dist/diff.js.map +1 -1
  70. package/dist/font/css/prompt-studio-icons.css +720 -0
  71. package/dist/font/prompt-studio-icons.eot +0 -0
  72. package/dist/font/prompt-studio-icons.svg +1 -0
  73. package/dist/font/prompt-studio-icons.ttf +0 -0
  74. package/dist/font/prompt-studio-icons.woff +0 -0
  75. package/dist/font/prompt-studio-icons.woff2 +0 -0
  76. package/dist/index.d.ts +2 -2
  77. package/dist/index.js +1958 -1744
  78. package/dist/index.js.map +1 -1
  79. package/dist/{kanban-renderer-toolbar-B9ro-9z1.js → kanban-renderer-toolbar-Bcj_N1qr.js} +66 -66
  80. package/dist/kanban-renderer-toolbar-Bcj_N1qr.js.map +1 -0
  81. package/dist/kanban-renderer.js +834 -817
  82. package/dist/kanban-renderer.js.map +1 -1
  83. package/dist/lazy-markdown-editor-DwhqQ-NN.js +26 -0
  84. package/dist/lazy-markdown-editor-DwhqQ-NN.js.map +1 -0
  85. package/dist/list-row-BtoVJpFs.js +821 -0
  86. package/dist/list-row-BtoVJpFs.js.map +1 -0
  87. package/dist/markdown-DDd2ESoH.js +743 -0
  88. package/dist/markdown-DDd2ESoH.js.map +1 -0
  89. package/dist/markdown-editor-CYVkzt8t.js +741 -0
  90. package/dist/markdown-editor-CYVkzt8t.js.map +1 -0
  91. package/dist/monaco-browser-CO0NxK_Z.js +19 -0
  92. package/dist/monaco-browser-CO0NxK_Z.js.map +1 -0
  93. package/dist/param-editor-XRjSu6MT.js +161 -0
  94. package/dist/param-editor-XRjSu6MT.js.map +1 -0
  95. package/dist/param-editor-field-B9lEPq8c.js +3028 -0
  96. package/dist/param-editor-field-B9lEPq8c.js.map +1 -0
  97. package/dist/resource-badge-CuItchgL.js +98 -0
  98. package/dist/resource-badge-CuItchgL.js.map +1 -0
  99. package/dist/rich-message--eRzjWYK.js +730 -0
  100. package/dist/rich-message--eRzjWYK.js.map +1 -0
  101. package/dist/rich-text.js +114 -827
  102. package/dist/rich-text.js.map +1 -1
  103. package/dist/style.css +1 -1
  104. package/dist/theme/primitives/fonts.d.ts +3 -0
  105. package/dist/theme/primitives/sizes.d.ts +59 -0
  106. package/dist/theme/recipes/badge.d.ts +8 -0
  107. package/dist/theme/recipes/color-picker.d.ts +18 -1
  108. package/dist/theme/recipes/segmented-control.d.ts +22 -0
  109. package/dist/theme/recipes/switch.d.ts +18 -0
  110. package/dist/theme/recipes/tabs.d.ts +11 -0
  111. package/dist/{theme-CNhnbvcE.js → theme-7PDdD9OD.js} +403 -195
  112. package/dist/theme-7PDdD9OD.js.map +1 -0
  113. package/dist/theme.js +1 -1
  114. package/dist/{tree-list-CZHLAURU.js → tree-list-B2L0cTj2.js} +2 -2
  115. package/dist/{tree-list-CZHLAURU.js.map → tree-list-B2L0cTj2.js.map} +1 -1
  116. package/package.json +3 -2
  117. package/dist/components/param-editor/inputs/file-accept.d.ts +0 -22
  118. package/dist/components/param-editor/inputs/file-drop-input.d.ts +0 -14
  119. package/dist/kanban-renderer-toolbar-B9ro-9z1.js.map +0 -1
  120. package/dist/list-row-YRUxEcy3.js +0 -808
  121. package/dist/list-row-YRUxEcy3.js.map +0 -1
  122. package/dist/param-editor-CYZJbmKu.js +0 -933
  123. package/dist/param-editor-CYZJbmKu.js.map +0 -1
  124. package/dist/param-editor-read-only-field-DgtLqcFa.js +0 -925
  125. package/dist/param-editor-read-only-field-DgtLqcFa.js.map +0 -1
  126. package/dist/prism-BXb57lxL.js +0 -125
  127. package/dist/prism-BXb57lxL.js.map +0 -1
  128. package/dist/resource-badge-qCWHP-wQ.js +0 -99
  129. package/dist/resource-badge-qCWHP-wQ.js.map +0 -1
  130. package/dist/rich-message-DBf_5YlW.js +0 -1450
  131. package/dist/rich-message-DBf_5YlW.js.map +0 -1
  132. package/dist/theme-CNhnbvcE.js.map +0 -1
@@ -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 { ComponentType } from 'react';
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;
@@ -0,0 +1,301 @@
1
+ import { ComponentType } from 'react';
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: ComponentType<{
12
+ color?: string | undefined | undefined;
13
+ translate?: "yes" | "no" | undefined | undefined;
14
+ content?: string | undefined | undefined;
15
+ slot?: string | undefined | undefined;
16
+ style?: import('react').CSSProperties | undefined;
17
+ title?: string | undefined | undefined;
18
+ defaultChecked?: boolean | undefined | undefined;
19
+ defaultValue?: string | number | readonly string[] | undefined;
20
+ suppressContentEditableWarning?: boolean | undefined | undefined;
21
+ suppressHydrationWarning?: boolean | undefined | undefined;
22
+ accessKey?: string | undefined | undefined;
23
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
24
+ autoFocus?: boolean | undefined | undefined;
25
+ className?: string | undefined | undefined;
26
+ contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
27
+ contextMenu?: string | undefined | undefined;
28
+ dir?: string | undefined | undefined;
29
+ draggable?: (boolean | "true" | "false") | undefined;
30
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
31
+ hidden?: boolean | undefined | undefined;
32
+ id?: string | undefined | undefined;
33
+ lang?: string | undefined | undefined;
34
+ nonce?: string | undefined | undefined;
35
+ spellCheck?: (boolean | "true" | "false") | undefined;
36
+ tabIndex?: number | undefined | undefined;
37
+ radioGroup?: string | undefined | undefined;
38
+ role?: import('react').AriaRole | undefined;
39
+ about?: string | undefined | undefined;
40
+ datatype?: string | undefined | undefined;
41
+ inlist?: any;
42
+ prefix?: string | undefined | undefined;
43
+ property?: string | undefined | undefined;
44
+ rel?: string | undefined | undefined;
45
+ resource?: string | undefined | undefined;
46
+ rev?: string | undefined | undefined;
47
+ typeof?: string | undefined | undefined;
48
+ vocab?: string | undefined | undefined;
49
+ autoCorrect?: string | undefined | undefined;
50
+ autoSave?: string | undefined | undefined;
51
+ itemProp?: string | undefined | undefined;
52
+ itemScope?: boolean | undefined | undefined;
53
+ itemType?: string | undefined | undefined;
54
+ itemID?: string | undefined | undefined;
55
+ itemRef?: string | undefined | undefined;
56
+ results?: number | undefined | undefined;
57
+ security?: string | undefined | undefined;
58
+ unselectable?: "on" | "off" | undefined | undefined;
59
+ popover?: "" | "auto" | "manual" | "hint" | undefined | undefined;
60
+ popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
61
+ popoverTarget?: string | undefined | undefined;
62
+ inert?: boolean | undefined | undefined;
63
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
64
+ is?: string | undefined | undefined;
65
+ exportparts?: string | undefined | undefined;
66
+ part?: string | undefined | undefined;
67
+ "aria-activedescendant"?: string | undefined | undefined;
68
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
69
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
70
+ "aria-braillelabel"?: string | undefined | undefined;
71
+ "aria-brailleroledescription"?: string | undefined | undefined;
72
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
73
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
74
+ "aria-colcount"?: number | undefined | undefined;
75
+ "aria-colindex"?: number | undefined | undefined;
76
+ "aria-colindextext"?: string | undefined | undefined;
77
+ "aria-colspan"?: number | undefined | undefined;
78
+ "aria-controls"?: string | undefined | undefined;
79
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
80
+ "aria-describedby"?: string | undefined | undefined;
81
+ "aria-description"?: string | undefined | undefined;
82
+ "aria-details"?: string | undefined | undefined;
83
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
84
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
85
+ "aria-errormessage"?: string | undefined | undefined;
86
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
87
+ "aria-flowto"?: string | undefined | undefined;
88
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
89
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
90
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
91
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
92
+ "aria-keyshortcuts"?: string | undefined | undefined;
93
+ "aria-label"?: string | undefined | undefined;
94
+ "aria-labelledby"?: string | undefined | undefined;
95
+ "aria-level"?: number | undefined | undefined;
96
+ "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
97
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
98
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
99
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
100
+ "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
101
+ "aria-owns"?: string | undefined | undefined;
102
+ "aria-placeholder"?: string | undefined | undefined;
103
+ "aria-posinset"?: number | undefined | undefined;
104
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
105
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
106
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
107
+ "aria-required"?: (boolean | "true" | "false") | undefined;
108
+ "aria-roledescription"?: string | undefined | undefined;
109
+ "aria-rowcount"?: number | undefined | undefined;
110
+ "aria-rowindex"?: number | undefined | undefined;
111
+ "aria-rowindextext"?: string | undefined | undefined;
112
+ "aria-rowspan"?: number | undefined | undefined;
113
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
114
+ "aria-setsize"?: number | undefined | undefined;
115
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
116
+ "aria-valuemax"?: number | undefined | undefined;
117
+ "aria-valuemin"?: number | undefined | undefined;
118
+ "aria-valuenow"?: number | undefined | undefined;
119
+ "aria-valuetext"?: string | undefined | undefined;
120
+ dangerouslySetInnerHTML?: {
121
+ __html: string | TrustedHTML;
122
+ } | undefined | undefined;
123
+ onCopy?: import('react').ClipboardEventHandler<HTMLSpanElement> | undefined;
124
+ onCopyCapture?: import('react').ClipboardEventHandler<HTMLSpanElement> | undefined;
125
+ onCut?: import('react').ClipboardEventHandler<HTMLSpanElement> | undefined;
126
+ onCutCapture?: import('react').ClipboardEventHandler<HTMLSpanElement> | undefined;
127
+ onPaste?: import('react').ClipboardEventHandler<HTMLSpanElement> | undefined;
128
+ onPasteCapture?: import('react').ClipboardEventHandler<HTMLSpanElement> | undefined;
129
+ onCompositionEnd?: import('react').CompositionEventHandler<HTMLSpanElement> | undefined;
130
+ onCompositionEndCapture?: import('react').CompositionEventHandler<HTMLSpanElement> | undefined;
131
+ onCompositionStart?: import('react').CompositionEventHandler<HTMLSpanElement> | undefined;
132
+ onCompositionStartCapture?: import('react').CompositionEventHandler<HTMLSpanElement> | undefined;
133
+ onCompositionUpdate?: import('react').CompositionEventHandler<HTMLSpanElement> | undefined;
134
+ onCompositionUpdateCapture?: import('react').CompositionEventHandler<HTMLSpanElement> | undefined;
135
+ onFocus?: import('react').FocusEventHandler<HTMLSpanElement> | undefined;
136
+ onFocusCapture?: import('react').FocusEventHandler<HTMLSpanElement> | undefined;
137
+ onBlur?: import('react').FocusEventHandler<HTMLSpanElement> | undefined;
138
+ onBlurCapture?: import('react').FocusEventHandler<HTMLSpanElement> | undefined;
139
+ onChange?: import('react').ChangeEventHandler<HTMLSpanElement, Element> | undefined;
140
+ onChangeCapture?: import('react').ChangeEventHandler<HTMLSpanElement, Element> | undefined;
141
+ onBeforeInput?: import('react').InputEventHandler<HTMLSpanElement> | undefined;
142
+ onBeforeInputCapture?: import('react').InputEventHandler<HTMLSpanElement> | undefined;
143
+ onInput?: import('react').InputEventHandler<HTMLSpanElement> | undefined;
144
+ onInputCapture?: import('react').InputEventHandler<HTMLSpanElement> | undefined;
145
+ onReset?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
146
+ onResetCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
147
+ onSubmit?: import('react').SubmitEventHandler<HTMLSpanElement> | undefined;
148
+ onSubmitCapture?: import('react').SubmitEventHandler<HTMLSpanElement> | undefined;
149
+ onInvalid?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
150
+ onInvalidCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
151
+ onLoad?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
152
+ onLoadCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
153
+ onError?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
154
+ onErrorCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
155
+ onKeyDown?: import('react').KeyboardEventHandler<HTMLSpanElement> | undefined;
156
+ onKeyDownCapture?: import('react').KeyboardEventHandler<HTMLSpanElement> | undefined;
157
+ onKeyPress?: import('react').KeyboardEventHandler<HTMLSpanElement> | undefined;
158
+ onKeyPressCapture?: import('react').KeyboardEventHandler<HTMLSpanElement> | undefined;
159
+ onKeyUp?: import('react').KeyboardEventHandler<HTMLSpanElement> | undefined;
160
+ onKeyUpCapture?: import('react').KeyboardEventHandler<HTMLSpanElement> | undefined;
161
+ onAbort?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
162
+ onAbortCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
163
+ onCanPlay?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
164
+ onCanPlayCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
165
+ onCanPlayThrough?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
166
+ onCanPlayThroughCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
167
+ onDurationChange?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
168
+ onDurationChangeCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
169
+ onEmptied?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
170
+ onEmptiedCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
171
+ onEncrypted?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
172
+ onEncryptedCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
173
+ onEnded?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
174
+ onEndedCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
175
+ onLoadedData?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
176
+ onLoadedDataCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
177
+ onLoadedMetadata?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
178
+ onLoadedMetadataCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
179
+ onLoadStart?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
180
+ onLoadStartCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
181
+ onPause?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
182
+ onPauseCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
183
+ onPlay?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
184
+ onPlayCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
185
+ onPlaying?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
186
+ onPlayingCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
187
+ onProgress?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
188
+ onProgressCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
189
+ onRateChange?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
190
+ onRateChangeCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
191
+ onSeeked?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
192
+ onSeekedCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
193
+ onSeeking?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
194
+ onSeekingCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
195
+ onStalled?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
196
+ onStalledCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
197
+ onSuspend?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
198
+ onSuspendCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
199
+ onTimeUpdate?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
200
+ onTimeUpdateCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
201
+ onVolumeChange?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
202
+ onVolumeChangeCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
203
+ onWaiting?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
204
+ onWaitingCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
205
+ onAuxClick?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
206
+ onAuxClickCapture?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
207
+ onClick?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
208
+ onClickCapture?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
209
+ onContextMenu?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
210
+ onContextMenuCapture?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
211
+ onDoubleClick?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
212
+ onDoubleClickCapture?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
213
+ onDrag?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
214
+ onDragCapture?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
215
+ onDragEnd?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
216
+ onDragEndCapture?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
217
+ onDragEnter?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
218
+ onDragEnterCapture?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
219
+ onDragExit?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
220
+ onDragExitCapture?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
221
+ onDragLeave?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
222
+ onDragLeaveCapture?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
223
+ onDragOver?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
224
+ onDragOverCapture?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
225
+ onDragStart?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
226
+ onDragStartCapture?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
227
+ onDrop?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
228
+ onDropCapture?: import('react').DragEventHandler<HTMLSpanElement> | undefined;
229
+ onMouseDown?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
230
+ onMouseDownCapture?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
231
+ onMouseEnter?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
232
+ onMouseLeave?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
233
+ onMouseMove?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
234
+ onMouseMoveCapture?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
235
+ onMouseOut?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
236
+ onMouseOutCapture?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
237
+ onMouseOver?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
238
+ onMouseOverCapture?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
239
+ onMouseUp?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
240
+ onMouseUpCapture?: import('react').MouseEventHandler<HTMLSpanElement> | undefined;
241
+ onSelect?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
242
+ onSelectCapture?: import('react').ReactEventHandler<HTMLSpanElement> | undefined;
243
+ onTouchCancel?: import('react').TouchEventHandler<HTMLSpanElement> | undefined;
244
+ onTouchCancelCapture?: import('react').TouchEventHandler<HTMLSpanElement> | undefined;
245
+ onTouchEnd?: import('react').TouchEventHandler<HTMLSpanElement> | undefined;
246
+ onTouchEndCapture?: import('react').TouchEventHandler<HTMLSpanElement> | undefined;
247
+ onTouchMove?: import('react').TouchEventHandler<HTMLSpanElement> | undefined;
248
+ onTouchMoveCapture?: import('react').TouchEventHandler<HTMLSpanElement> | undefined;
249
+ onTouchStart?: import('react').TouchEventHandler<HTMLSpanElement> | undefined;
250
+ onTouchStartCapture?: import('react').TouchEventHandler<HTMLSpanElement> | undefined;
251
+ onPointerDown?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
252
+ onPointerDownCapture?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
253
+ onPointerMove?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
254
+ onPointerMoveCapture?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
255
+ onPointerUp?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
256
+ onPointerUpCapture?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
257
+ onPointerCancel?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
258
+ onPointerCancelCapture?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
259
+ onPointerEnter?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
260
+ onPointerLeave?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
261
+ onPointerOver?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
262
+ onPointerOverCapture?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
263
+ onPointerOut?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
264
+ onPointerOutCapture?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
265
+ onGotPointerCapture?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
266
+ onGotPointerCaptureCapture?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
267
+ onLostPointerCapture?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
268
+ onLostPointerCaptureCapture?: import('react').PointerEventHandler<HTMLSpanElement> | undefined;
269
+ onScroll?: import('react').UIEventHandler<HTMLSpanElement> | undefined;
270
+ onScrollCapture?: import('react').UIEventHandler<HTMLSpanElement> | undefined;
271
+ onScrollEnd?: import('react').UIEventHandler<HTMLSpanElement> | undefined;
272
+ onScrollEndCapture?: import('react').UIEventHandler<HTMLSpanElement> | undefined;
273
+ onWheel?: import('react').WheelEventHandler<HTMLSpanElement> | undefined;
274
+ onWheelCapture?: import('react').WheelEventHandler<HTMLSpanElement> | undefined;
275
+ onAnimationStart?: import('react').AnimationEventHandler<HTMLSpanElement> | undefined;
276
+ onAnimationStartCapture?: import('react').AnimationEventHandler<HTMLSpanElement> | undefined;
277
+ onAnimationEnd?: import('react').AnimationEventHandler<HTMLSpanElement> | undefined;
278
+ onAnimationEndCapture?: import('react').AnimationEventHandler<HTMLSpanElement> | undefined;
279
+ onAnimationIteration?: import('react').AnimationEventHandler<HTMLSpanElement> | undefined;
280
+ onAnimationIterationCapture?: import('react').AnimationEventHandler<HTMLSpanElement> | undefined;
281
+ onToggle?: import('react').ToggleEventHandler<HTMLSpanElement> | undefined;
282
+ onBeforeToggle?: import('react').ToggleEventHandler<HTMLSpanElement> | undefined;
283
+ onTransitionCancel?: import('react').TransitionEventHandler<HTMLSpanElement> | undefined;
284
+ onTransitionCancelCapture?: import('react').TransitionEventHandler<HTMLSpanElement> | undefined;
285
+ onTransitionEnd?: import('react').TransitionEventHandler<HTMLSpanElement> | undefined;
286
+ onTransitionEndCapture?: import('react').TransitionEventHandler<HTMLSpanElement> | undefined;
287
+ onTransitionRun?: import('react').TransitionEventHandler<HTMLSpanElement> | undefined;
288
+ onTransitionRunCapture?: import('react').TransitionEventHandler<HTMLSpanElement> | undefined;
289
+ onTransitionStart?: import('react').TransitionEventHandler<HTMLSpanElement> | undefined;
290
+ onTransitionStartCapture?: import('react').TransitionEventHandler<HTMLSpanElement> | undefined;
291
+ }>;
292
+ } | {
293
+ value: null;
294
+ label: string;
295
+ icon: import('react').ForwardRefExoticComponent<Omit<import('lucide-react').LucideProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
296
+ } | {
297
+ value: string;
298
+ label: string;
299
+ icon: import('react').ForwardRefExoticComponent<Omit<import('lucide-react').LucideProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
300
+ })[];
301
+ export declare const getIconComponent: (name: string | null | undefined, iconOptions?: readonly IconColorPickerIconOption[]) => ComponentType;
@@ -4,24 +4,33 @@ export type { BreadcrumbItem } from './breadcrumb';
4
4
  export { Breadcrumb } from './breadcrumb';
5
5
  export type { CheckboxProps } from './checkbox';
6
6
  export { Checkbox } from './checkbox';
7
+ export type { ChipProps } from './chip';
8
+ export { Chip } from './chip';
7
9
  export { ContentPlaceholder, Label as ContentPlaceholderLabel } from './content-placeholder';
8
10
  export type { EmptyStateProps } from './empty-state';
9
11
  export { EmptyState } from './empty-state';
10
12
  export { ErrorBoundary } from './error-boundary';
11
- export type { IconColorPickerIconOption, IconColorPickerProps } from './icon-color-picker';
12
- export { getIconComponent, IconColorPicker, optionColors, optionIcons } from './icon-color-picker';
13
+ export { createGlyphIcon } from './glyph-icon';
14
+ export type { IconColorPickerProps } from './icon-color-picker';
15
+ export { IconColorPicker } from './icon-color-picker';
16
+ export type { IconColorPickerIconOption } from './icon-options';
17
+ export { getIconComponent, optionColors, optionIcons } from './icon-options';
13
18
  export type { IntegrationCardProps } from './integration-card';
14
19
  export { IntegrationCard } from './integration-card';
15
20
  export type { RadioProps } from './radio';
16
21
  export { Radio, RadioGroup } from './radio';
17
22
  export { ResourceBadge } from './resource-badge';
18
23
  export { ScrollArea } from './scroll-area';
24
+ export type { SegmentedControlOption, SegmentedControlProps } from './segmented-control';
25
+ export { SegmentedControl } from './segmented-control';
19
26
  export type { SessionCompletionStatus } from './session-indicator';
20
- export { resolveSessionIndicatorColor, resolveSessionIndicatorIcon, SessionIndicator } from './session-indicator';
27
+ export { resolveSessionIndicatorColor, resolveSessionIndicatorIcon, SessionIndicator, sessionCompletionStatuses, } from './session-indicator';
21
28
  export type { SimpleCardBodyProps, SimpleCardProps } from './simple-card';
22
29
  export { SimpleCard, SimpleCardBody } from './simple-card';
23
30
  export type { SwitchProps } from './switch';
24
31
  export { Switch } from './switch';
32
+ export type { TagSwatchProps } from './tag-swatch';
33
+ export { TagSwatch } from './tag-swatch';
25
34
  export { Toaster, toaster } from './toaster';
26
35
  export { Tooltip } from './tooltip';
27
36
  export type { WorkspaceBadgeProps } from './workspace-badge';
@@ -3,38 +3,40 @@ import { ReactNode } from 'react';
3
3
  declare const SIZE_STYLES: {
4
4
  readonly sm: {
5
5
  readonly container: {
6
- readonly height: "20px";
6
+ readonly height: "5";
7
7
  readonly lineHeight: {
8
- readonly base: "20px";
8
+ readonly base: "5";
9
9
  };
10
- readonly px: "2xs";
10
+ readonly px: "xs";
11
11
  };
12
12
  readonly iconSize: 12;
13
- readonly textStyle: "xs";
13
+ readonly textStyle: "label/XS";
14
14
  };
15
15
  readonly md: {
16
16
  readonly container: {
17
- readonly height: "24px";
17
+ readonly height: "6";
18
18
  readonly lineHeight: {
19
- readonly base: "24px";
19
+ readonly base: "6";
20
20
  };
21
21
  readonly px: "xs";
22
22
  };
23
23
  readonly iconSize: 14;
24
- readonly textStyle: "sm";
24
+ readonly textStyle: "label/S/regular";
25
25
  };
26
26
  };
27
27
  declare const TONE_STYLES: {
28
28
  readonly neutral: {
29
- readonly color: "color.primary";
30
- readonly bg: "bg.muted";
29
+ readonly color: "fg";
30
+ readonly bg: "bg.subtle";
31
+ readonly borderColor: "border";
31
32
  readonly _hover: {
32
- readonly bg: "bg.emphasized";
33
+ readonly bg: "bg.hover";
33
34
  };
34
35
  };
35
36
  readonly accent: {
36
37
  readonly color: "var(--schub-foreground-accent)";
37
38
  readonly bg: "var(--schub-accent-subtle)";
39
+ readonly borderColor: "var(--schub-accent-subtle)";
38
40
  readonly _hover: {
39
41
  readonly bg: "var(--schub-accent-subtle)";
40
42
  };
@@ -0,0 +1,20 @@
1
+ import { HTMLChakraProps, RecipeVariantProps } from '@chakra-ui/react';
2
+ import { segmentedControlSlotRecipe as recipe } from '../../theme/recipes/segmented-control';
3
+ type VariantProps = RecipeVariantProps<typeof recipe>;
4
+ export interface SegmentedControlRootProps extends HTMLChakraProps<"div">, VariantProps {
5
+ }
6
+ export interface SegmentedControlItemProps extends HTMLChakraProps<"button"> {
7
+ }
8
+ export interface SegmentedControlOption {
9
+ value: string;
10
+ label: string;
11
+ }
12
+ export interface SegmentedControlProps extends Omit<SegmentedControlRootProps, "onChange"> {
13
+ options: SegmentedControlOption[];
14
+ value: string;
15
+ onValueChange: (value: string) => void;
16
+ disabled?: boolean;
17
+ "aria-label"?: string;
18
+ }
19
+ export declare const SegmentedControl: (props: SegmentedControlProps) => import("react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1,10 @@
1
+ import { CenterProps } from '@chakra-ui/react';
2
+ import { IconColorPickerIconOption } from './icon-options';
3
+ export interface TagSwatchProps extends Omit<CenterProps, "color"> {
4
+ color: string;
5
+ icon?: string | null;
6
+ iconOptions?: readonly IconColorPickerIconOption[];
7
+ /** Renders the icon glyph instead of a plain colour dot when the value carries an icon. */
8
+ showIcon?: boolean;
9
+ }
10
+ export declare const TagSwatch: (props: TagSwatchProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,6 @@
1
1
  export type { CollaborativeMarkdownEditorProps } from './collaborative-markdown-editor/collaborative-markdown-editor';
2
2
  export { CollaborativeMarkdownEditor } from './collaborative-markdown-editor/collaborative-markdown-editor';
3
+ export { LazyMarkdownEditor } from './lazy-markdown-editor';
3
4
  export type { MarkdownEditorProps } from './markdown-editor/markdown-editor';
4
5
  export { MarkdownEditor } from './markdown-editor/markdown-editor';
5
6
  export type { PromptEditorProps, PromptEditorRef, ReferenceItem } from './prompt-input/prompt-input';
@@ -0,0 +1,2 @@
1
+ import { MarkdownEditorProps } from './markdown-editor/markdown-editor';
2
+ export declare const LazyMarkdownEditor: (props: MarkdownEditorProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- export declare function inferResourceTypeFromMediaType(mediaType: string): "text" | "table" | "image" | "json" | "pdf" | "markdown";
1
+ export declare function inferResourceTypeFromMediaType(mediaType: string): "text" | "table" | "image" | "markdown" | "json" | "pdf";
@@ -1,4 +1,8 @@
1
1
  export { TagEditor } from './tag-editor';
2
2
  export type { TagEditorAction, TagEditorProps, TagEditorValue } from './tag-editor.types';
3
+ export type { TagEditorHeadingProps } from './tag-editor-heading';
4
+ export { TagEditorHeading } from './tag-editor-heading';
5
+ export type { TagEditorSaveBarProps } from './tag-editor-save-bar';
6
+ export { TagEditorSaveBar } from './tag-editor-save-bar';
3
7
  export type { SaveTagSettingsInput, TagSettingsPanelProps } from './tag-settings-panel';
4
8
  export { TagSettingsPanel } from './tag-settings-panel';
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ export interface TagEditorHeadingProps {
3
+ children: ReactNode;
4
+ /** Appends the unsaved-changes marker. */
5
+ hasChanges?: boolean;
6
+ }
7
+ /**
8
+ * Screen heading for a tag settings panel. The asterisk stays quiet on purpose —
9
+ * the enabled Save button in the same header is the loud signal.
10
+ */
11
+ export declare const TagEditorHeading: (props: TagEditorHeadingProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { IconColorPickerIconOption } from '../primitives/icon-color-picker';
1
+ import { IconColorPickerIconOption } from '../primitives/icon-options';
2
2
  import { TagEditorAction, TagEditorValue } from './tag-editor.types';
3
3
  interface TagEditorRowProps {
4
4
  actionOptions?: TagEditorAction[];
@@ -0,0 +1,13 @@
1
+ export interface TagEditorSaveBarProps {
2
+ onSave: () => void;
3
+ onReset: () => void;
4
+ hasChanges?: boolean;
5
+ isSaving?: boolean;
6
+ resetLabel?: string;
7
+ saveLabel?: string;
8
+ }
9
+ /**
10
+ * The single commit point for a tag settings screen, anchored in its header.
11
+ * Reset only appears while edits are pending, so the resting state stays quiet.
12
+ */
13
+ export declare const TagEditorSaveBar: (props: TagEditorSaveBarProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
1
- import { IconColorPickerIconOption } from '../primitives/icon-color-picker';
1
+ import { ReactNode } from 'react';
2
+ import { IconColorPickerIconOption } from '../primitives/icon-options';
2
3
  export interface TagEditorValue {
3
4
  id: string;
4
5
  name: string;
@@ -14,31 +15,30 @@ export interface TagEditorAction {
14
15
  label: string;
15
16
  }
16
17
  export interface TagEditorProps {
17
- title: string;
18
- description?: string;
19
18
  values: TagEditorValue[];
20
19
  onValuesChange: (values: TagEditorValue[]) => void;
21
- onSave: () => void | Promise<void>;
22
- onCancel: () => void;
23
20
  onDeleteValue?: (value: TagEditorValue) => void;
24
21
  onSetDefault?: (value: TagEditorValue) => void;
22
+ /** Enables inline renaming of the tag definition itself. */
23
+ onTitleChange?: (title: string) => void;
24
+ title?: string;
25
+ description?: string;
26
+ /** Rendered on the right of the header row, e.g. a mode toggle and a delete action. */
27
+ headerActions?: ReactNode;
28
+ /** Marks the heading with the unsaved-changes asterisk. */
25
29
  hasChanges?: boolean;
26
30
  isSaving?: boolean;
27
31
  addLabel?: string;
28
- addPlaceholder?: string;
32
+ /** Name given to a freshly added option before it is renamed inline. */
33
+ addName?: string;
29
34
  actionOptions?: TagEditorAction[];
30
- actionsColumnLabel?: string;
31
- cancelLabel?: string;
32
35
  defaultAddColor?: string;
33
36
  defaultAddIcon?: string | null;
34
- defaultColumnLabel?: string;
35
37
  deleteButtonText?: string;
36
38
  deleteHeadline?: string;
37
39
  deleteNotificationText?: (value: TagEditorValue) => string;
38
40
  colorOptions?: readonly string[];
39
41
  iconOptions?: readonly IconColorPickerIconOption[];
40
- saveLabel?: string;
41
42
  showDefault?: boolean;
42
43
  showIcons?: boolean;
43
- valueColumnLabel?: string;
44
44
  }
@@ -4,7 +4,7 @@ export interface SaveTagSettingsInput<TValue> {
4
4
  drafts: TagEditorValue[];
5
5
  values: TValue[];
6
6
  }
7
- type EditorLabels = Pick<TagEditorProps, "actionOptions" | "actionsColumnLabel" | "addLabel" | "addPlaceholder" | "colorOptions" | "deleteButtonText" | "deleteHeadline" | "deleteNotificationText" | "description" | "iconOptions" | "showIcons" | "title" | "valueColumnLabel">;
7
+ type EditorLabels = Pick<TagEditorProps, "actionOptions" | "addLabel" | "addName" | "colorOptions" | "deleteButtonText" | "deleteHeadline" | "deleteNotificationText" | "description" | "iconOptions" | "showIcons" | "title">;
8
8
  type SortableValue = {
9
9
  id: string;
10
10
  sortOrder: number;
@@ -12,6 +12,8 @@ type SortableValue = {
12
12
  export interface TagSettingsPanelProps<TValue extends SortableValue> extends EditorLabels {
13
13
  errorTitle: string;
14
14
  loadingText?: string;
15
+ resetLabel?: string;
16
+ saveLabel?: string;
15
17
  /** Loaded values; pass undefined while the initial load is pending. */
16
18
  values: TValue[] | undefined;
17
19
  /** Load/save error surfaced by the host's data layer. */