pith-ui 0.1.0 → 0.1.4

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 (124) hide show
  1. package/AI.md +20 -1
  2. package/API.md +834 -272
  3. package/README.md +3 -1
  4. package/dist/composer.d.ts.map +1 -1
  5. package/dist/composer.js +48 -29
  6. package/dist/composer.js.map +1 -1
  7. package/dist/content/conversation-reader.d.ts.map +1 -1
  8. package/dist/content/conversation-reader.js +8 -1
  9. package/dist/content/conversation-reader.js.map +1 -1
  10. package/dist/content/conversation-view.d.ts +21 -4
  11. package/dist/content/conversation-view.d.ts.map +1 -1
  12. package/dist/content/conversation-view.js +72 -13
  13. package/dist/content/conversation-view.js.map +1 -1
  14. package/dist/content/image-viewer.d.ts +4 -2
  15. package/dist/content/image-viewer.d.ts.map +1 -1
  16. package/dist/content/image-viewer.js +36 -15
  17. package/dist/content/image-viewer.js.map +1 -1
  18. package/dist/content/paged-preview.d.ts +1 -1
  19. package/dist/content/paged-preview.d.ts.map +1 -1
  20. package/dist/content/paged-preview.js +10 -5
  21. package/dist/content/paged-preview.js.map +1 -1
  22. package/dist/content/views.d.ts +3 -0
  23. package/dist/content/views.d.ts.map +1 -1
  24. package/dist/content/views.js +110 -41
  25. package/dist/content/views.js.map +1 -1
  26. package/dist/content/welcome.d.ts.map +1 -1
  27. package/dist/content/welcome.js +19 -7
  28. package/dist/content/welcome.js.map +1 -1
  29. package/dist/dom.js +1 -1
  30. package/dist/dom.js.map +1 -1
  31. package/dist/files/panels.d.ts +8 -1
  32. package/dist/files/panels.d.ts.map +1 -1
  33. package/dist/files/panels.js +235 -120
  34. package/dist/files/panels.js.map +1 -1
  35. package/dist/files/systems.d.ts.map +1 -1
  36. package/dist/files/systems.js +81 -91
  37. package/dist/files/systems.js.map +1 -1
  38. package/dist/forms/actions.d.ts +28 -7
  39. package/dist/forms/actions.d.ts.map +1 -1
  40. package/dist/forms/actions.js +59 -11
  41. package/dist/forms/actions.js.map +1 -1
  42. package/dist/forms/custom-connection.d.ts +2 -1
  43. package/dist/forms/custom-connection.d.ts.map +1 -1
  44. package/dist/forms/custom-connection.js +36 -28
  45. package/dist/forms/custom-connection.js.map +1 -1
  46. package/dist/forms/dialog-frame.d.ts +2 -0
  47. package/dist/forms/dialog-frame.d.ts.map +1 -1
  48. package/dist/forms/dialog-frame.js +46 -26
  49. package/dist/forms/dialog-frame.js.map +1 -1
  50. package/dist/forms/history.d.ts +1 -1
  51. package/dist/forms/history.d.ts.map +1 -1
  52. package/dist/forms/history.js +78 -15
  53. package/dist/forms/history.js.map +1 -1
  54. package/dist/forms/identity.d.ts +12 -0
  55. package/dist/forms/identity.d.ts.map +1 -1
  56. package/dist/forms/identity.js +16 -0
  57. package/dist/forms/identity.js.map +1 -1
  58. package/dist/forms/model-editor.d.ts +8 -3
  59. package/dist/forms/model-editor.d.ts.map +1 -1
  60. package/dist/forms/model-editor.js +73 -62
  61. package/dist/forms/model-editor.js.map +1 -1
  62. package/dist/forms/panels.d.ts +103 -7
  63. package/dist/forms/panels.d.ts.map +1 -1
  64. package/dist/forms/panels.js +183 -77
  65. package/dist/forms/panels.js.map +1 -1
  66. package/dist/forms/provider-login.d.ts.map +1 -1
  67. package/dist/forms/provider-login.js +25 -39
  68. package/dist/forms/provider-login.js.map +1 -1
  69. package/dist/forms/resource-editor.d.ts +9 -5
  70. package/dist/forms/resource-editor.d.ts.map +1 -1
  71. package/dist/forms/resource-editor.js +20 -9
  72. package/dist/forms/resource-editor.js.map +1 -1
  73. package/dist/foundations.d.ts +95 -0
  74. package/dist/foundations.d.ts.map +1 -0
  75. package/dist/foundations.js +299 -0
  76. package/dist/foundations.js.map +1 -0
  77. package/dist/navigation/context-menu.d.ts +8 -1
  78. package/dist/navigation/context-menu.d.ts.map +1 -1
  79. package/dist/navigation/context-menu.js +67 -50
  80. package/dist/navigation/context-menu.js.map +1 -1
  81. package/dist/navigation/navigation.d.ts +55 -7
  82. package/dist/navigation/navigation.d.ts.map +1 -1
  83. package/dist/navigation/navigation.js +167 -18
  84. package/dist/navigation/navigation.js.map +1 -1
  85. package/dist/operation.d.ts +12 -0
  86. package/dist/operation.d.ts.map +1 -0
  87. package/dist/operation.js +49 -0
  88. package/dist/operation.js.map +1 -0
  89. package/dist/primitives.d.ts +11 -1
  90. package/dist/primitives.d.ts.map +1 -1
  91. package/dist/primitives.js +164 -301
  92. package/dist/primitives.js.map +1 -1
  93. package/dist/reconcile.d.ts +11 -0
  94. package/dist/reconcile.d.ts.map +1 -0
  95. package/dist/reconcile.js +36 -0
  96. package/dist/reconcile.js.map +1 -0
  97. package/dist/select.d.ts +14 -0
  98. package/dist/select.d.ts.map +1 -0
  99. package/dist/select.js +304 -0
  100. package/dist/select.js.map +1 -0
  101. package/dist/styles.css +452 -382
  102. package/dist/surface.d.ts +60 -0
  103. package/dist/surface.d.ts.map +1 -0
  104. package/dist/surface.js +344 -0
  105. package/dist/surface.js.map +1 -0
  106. package/dist/tasks/approval.d.ts.map +1 -1
  107. package/dist/tasks/approval.js +86 -45
  108. package/dist/tasks/approval.js.map +1 -1
  109. package/dist/tasks/permission-element.d.ts +3 -0
  110. package/dist/tasks/permission-element.d.ts.map +1 -0
  111. package/dist/tasks/permission-element.js +10 -0
  112. package/dist/tasks/permission-element.js.map +1 -0
  113. package/dist/tasks/permission.d.ts +5 -3
  114. package/dist/tasks/permission.d.ts.map +1 -1
  115. package/dist/tasks/permission.js +47 -22
  116. package/dist/tasks/permission.js.map +1 -1
  117. package/dist/tasks/runtime.d.ts.map +1 -1
  118. package/dist/tasks/runtime.js +30 -13
  119. package/dist/tasks/runtime.js.map +1 -1
  120. package/dist/workspace.d.ts +58 -4
  121. package/dist/workspace.d.ts.map +1 -1
  122. package/dist/workspace.js +202 -44
  123. package/dist/workspace.js.map +1 -1
  124. package/package.json +1 -1
package/API.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Public API reference
2
2
 
3
- Generated for `pith-ui@0.1.0` by `node scripts/api-docs.ts` from TypeScript declaration emit. Do not edit this file by hand. The installed public declarations are authoritative; this reference reproduces every public declaration, including all 73 create/install/mount factories and their state, options, callback and handle types.
3
+ Generated for `pith-ui@0.1.4` by `node scripts/api-docs.ts` from TypeScript declaration emit. Do not edit this file by hand. The installed public declarations are authoritative; this reference reproduces every public declaration, including all 73 create/install/mount factories and their state, options, callback and handle types.
4
4
 
5
5
  Use the [catalog](https://github.com/minifish-org/pith-ui/blob/main/docs/catalog.md) to choose a complete block first, then inspect its exact signature and linked types here. Gallery links are related experiences; adapter APIs may point to their preferred replacement. Source links point to the implementation, not a second usage contract.
6
6
 
@@ -17,13 +17,13 @@ Regenerate: `node scripts/api-docs.ts`. Verify without writing: `node scripts/ap
17
17
  | [`createArtifactPanel`](#createartifactpanel) | [artifact-panel](https://minifish-org.github.io/pith-ui/?item=artifact-panel) |
18
18
  | [`createAttachments`](#createattachments) | [attachments](https://minifish-org.github.io/pith-ui/?item=attachments) |
19
19
  | [`createBranchHistory`](#createbranchhistory) | [branch-history](https://minifish-org.github.io/pith-ui/?item=branch-history) |
20
- | [`createButton`](#createbutton) | [actions](https://minifish-org.github.io/pith-ui/?item=actions), [button](https://minifish-org.github.io/pith-ui/?item=button), [confirmation](https://minifish-org.github.io/pith-ui/?item=confirmation), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [resources-panel](https://minifish-org.github.io/pith-ui/?item=resources-panel), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [text-edit-dialog](https://minifish-org.github.io/pith-ui/?item=text-edit-dialog), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar) |
20
+ | [`createButton`](#createbutton) | [actions](https://minifish-org.github.io/pith-ui/?item=actions), [button](https://minifish-org.github.io/pith-ui/?item=button), [confirmation](https://minifish-org.github.io/pith-ui/?item=confirmation), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [text-edit-dialog](https://minifish-org.github.io/pith-ui/?item=text-edit-dialog), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar) |
21
21
  | [`createCheckbox`](#createcheckbox) | [checkbox](https://minifish-org.github.io/pith-ui/?item=checkbox), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion) |
22
22
  | [`createCollectionState`](#createcollectionstate) | [collection-state](https://minifish-org.github.io/pith-ui/?item=collection-state) |
23
23
  | [`createCompletionNotices`](#createcompletionnotices) | [completion-notices](https://minifish-org.github.io/pith-ui/?item=completion-notices) |
24
24
  | [`createComposerView`](#createcomposerview) | [composer](https://minifish-org.github.io/pith-ui/?item=composer), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback) |
25
25
  | [`createConfirmDialog`](#createconfirmdialog) | [confirmation](https://minifish-org.github.io/pith-ui/?item=confirmation) |
26
- | [`createContextMenu`](#createcontextmenu) | [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu) |
26
+ | [`createContextMenu`](#createcontextmenu) | [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [workspace-navigation](https://minifish-org.github.io/pith-ui/?item=workspace-navigation) |
27
27
  | [`createConversationView`](#createconversationview) | [conversation-messages](https://minifish-org.github.io/pith-ui/?item=conversation-messages), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion) |
28
28
  | [`createCopyFeedback`](#createcopyfeedback) | [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback) |
29
29
  | [`createCostLedger`](#createcostledger) | [cost-ledger](https://minifish-org.github.io/pith-ui/?item=cost-ledger) |
@@ -47,7 +47,7 @@ Regenerate: `node scripts/api-docs.ts`. Verify without writing: `node scripts/ap
47
47
  | [`createListRow`](#createlistrow) | [collection-state](https://minifish-org.github.io/pith-ui/?item=collection-state), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row) |
48
48
  | [`createMCPConnectionList`](#createmcpconnectionlist) | [mcp-connections](https://minifish-org.github.io/pith-ui/?item=mcp-connections) |
49
49
  | [`createMCPConnectionsPanel`](#createmcpconnectionspanel) | [mcp-connections](https://minifish-org.github.io/pith-ui/?item=mcp-connections) |
50
- | [`createMenu`](#createmenu) | [menu](https://minifish-org.github.io/pith-ui/?item=menu) |
50
+ | [`createMenu`](#createmenu) | [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [menu](https://minifish-org.github.io/pith-ui/?item=menu) |
51
51
  | [`createModelEditor`](#createmodeleditor) | [model-picker](https://minifish-org.github.io/pith-ui/?item=model-picker) |
52
52
  | [`createModelPicker`](#createmodelpicker) | [model-picker](https://minifish-org.github.io/pith-ui/?item=model-picker) |
53
53
  | [`createNotice`](#createnotice) | [notice](https://minifish-org.github.io/pith-ui/?item=notice) |
@@ -68,7 +68,7 @@ Regenerate: `node scripts/api-docs.ts`. Verify without writing: `node scripts/ap
68
68
  | [`createScrollArea`](#createscrollarea) | [scroll-area](https://minifish-org.github.io/pith-ui/?item=scroll-area) |
69
69
  | [`createSearchInput`](#createsearchinput) | [search-input](https://minifish-org.github.io/pith-ui/?item=search-input) |
70
70
  | [`createSecretInput`](#createsecretinput) | [secret-input](https://minifish-org.github.io/pith-ui/?item=secret-input) |
71
- | [`createSelect`](#createselect) | [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [select](https://minifish-org.github.io/pith-ui/?item=select) |
71
+ | [`createSelect`](#createselect) | [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [select](https://minifish-org.github.io/pith-ui/?item=select) |
72
72
  | [`createSettingsPanel`](#createsettingspanel) | [settings-panel](https://minifish-org.github.io/pith-ui/?item=settings-panel) |
73
73
  | [`createStatus`](#createstatus) | [status](https://minifish-org.github.io/pith-ui/?item=status) |
74
74
  | [`createTaskFailure`](#createtaskfailure) | [task-failure](https://minifish-org.github.io/pith-ui/?item=task-failure) |
@@ -77,7 +77,7 @@ Regenerate: `node scripts/api-docs.ts`. Verify without writing: `node scripts/ap
77
77
  | [`createTextEditDialog`](#createtexteditdialog) | [pending-messages](https://minifish-org.github.io/pith-ui/?item=pending-messages), [text-edit-dialog](https://minifish-org.github.io/pith-ui/?item=text-edit-dialog) |
78
78
  | [`createTextInput`](#createtextinput) | [form-section](https://minifish-org.github.io/pith-ui/?item=form-section), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [popover](https://minifish-org.github.io/pith-ui/?item=popover), [text-input](https://minifish-org.github.io/pith-ui/?item=text-input) |
79
79
  | [`createToolbar`](#createtoolbar) | [button](https://minifish-org.github.io/pith-ui/?item=button), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [icon-button](https://minifish-org.github.io/pith-ui/?item=icon-button), [icons](https://minifish-org.github.io/pith-ui/?item=icons), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar) |
80
- | [`createUpdatePanel`](#createupdatepanel) | [updates](https://minifish-org.github.io/pith-ui/?item=updates) |
80
+ | [`createUpdatePanel`](#createupdatepanel) | [settings-panel](https://minifish-org.github.io/pith-ui/?item=settings-panel), [updates](https://minifish-org.github.io/pith-ui/?item=updates) |
81
81
  | [`createWelcomeView`](#createwelcomeview) | [welcome](https://minifish-org.github.io/pith-ui/?item=welcome) |
82
82
  | [`createWorkspaceNavigation`](#createworkspacenavigation) | [workspace-navigation](https://minifish-org.github.io/pith-ui/?item=workspace-navigation) |
83
83
  | [`createWorkspacePicker`](#createworkspacepicker) | [workspace-picker](https://minifish-org.github.io/pith-ui/?item=workspace-picker) |
@@ -90,7 +90,7 @@ Regenerate: `node scripts/api-docs.ts`. Verify without writing: `node scripts/ap
90
90
 
91
91
  ### createAttachments
92
92
 
93
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L63)
93
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L67)
94
94
 
95
95
  ```ts
96
96
  export declare function createAttachments(options?: {
@@ -106,7 +106,7 @@ Related gallery: [attachments](https://minifish-org.github.io/pith-ui/?item=atta
106
106
 
107
107
  ### createDropFeedback
108
108
 
109
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L53)
109
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L57)
110
110
 
111
111
  ```ts
112
112
  export declare function createDropFeedback(options: {
@@ -123,7 +123,7 @@ Related gallery: [drop-feedback](https://minifish-org.github.io/pith-ui/?item=dr
123
123
 
124
124
  ### createPendingMessages
125
125
 
126
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L10)
126
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L12)
127
127
 
128
128
  ```ts
129
129
  export declare function createPendingMessages(options?: PendingMessagesOptions): UIBlock<PendingMessagesState>;
@@ -135,7 +135,7 @@ Related gallery: [pending-messages](https://minifish-org.github.io/pith-ui/?item
135
135
 
136
136
  ### AttachmentItem
137
137
 
138
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L51)
138
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L55)
139
139
 
140
140
  ```ts
141
141
  export interface AttachmentItem {
@@ -147,7 +147,7 @@ export interface AttachmentItem {
147
147
 
148
148
  ### AttachmentsState
149
149
 
150
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L62)
150
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L66)
151
151
 
152
152
  ```ts
153
153
  export interface AttachmentsState {
@@ -160,7 +160,7 @@ Referenced public types and APIs: [`AttachmentItem`](#attachmentitem).
160
160
 
161
161
  ### PendingMessage
162
162
 
163
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L4)
163
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L6)
164
164
 
165
165
  ```ts
166
166
  export interface PendingMessage {
@@ -173,7 +173,7 @@ export interface PendingMessage {
173
173
 
174
174
  ### PendingMessagesOptions
175
175
 
176
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L6)
176
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L8)
177
177
 
178
178
  ```ts
179
179
  export interface PendingMessagesOptions {
@@ -184,7 +184,7 @@ export interface PendingMessagesOptions {
184
184
 
185
185
  ### PendingMessagesState
186
186
 
187
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L5)
187
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/composer.ts#L7)
188
188
 
189
189
  ```ts
190
190
  export interface PendingMessagesState {
@@ -254,19 +254,19 @@ export interface TextRange {
254
254
 
255
255
  ### createConversationView
256
256
 
257
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L34)
257
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L43)
258
258
 
259
259
  ```ts
260
- export declare function createConversationView(options?: ConversationViewOptions): UIBlock<ConversationViewState>;
260
+ export declare function createConversationView(options?: ConversationViewOptions): ConversationViewBlock;
261
261
  ```
262
262
 
263
- Referenced public types and APIs: [`ConversationViewOptions`](#conversationviewoptions), [`ConversationViewState`](#conversationviewstate), [`UIBlock`](#uiblock).
263
+ Referenced public types and APIs: [`ConversationViewBlock`](#conversationviewblock), [`ConversationViewOptions`](#conversationviewoptions).
264
264
 
265
265
  Related gallery: [conversation-messages](https://minifish-org.github.io/pith-ui/?item=conversation-messages), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion).
266
266
 
267
267
  ### ConversationAction
268
268
 
269
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L25)
269
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L26)
270
270
 
271
271
  ```ts
272
272
  export interface ConversationAction {
@@ -276,9 +276,34 @@ export interface ConversationAction {
276
276
  }
277
277
  ```
278
278
 
279
+ ### ConversationActionAvailability
280
+
281
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L27)
282
+
283
+ ```ts
284
+ export interface ConversationActionAvailability {
285
+ copy?: boolean;
286
+ edit?: boolean;
287
+ branch?: boolean;
288
+ }
289
+ ```
290
+
291
+ ### ConversationImageState
292
+
293
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L28)
294
+
295
+ ```ts
296
+ export type ConversationImageState = {
297
+ status: 'ready';
298
+ src: string;
299
+ } | {
300
+ status: 'unavailable';
301
+ };
302
+ ```
303
+
279
304
  ### ConversationMessage
280
305
 
281
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L7)
306
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L8)
282
307
 
283
308
  ```ts
284
309
  /** UI data only. Hosts decide copy/edit/branch eligibility and resolve images. */
@@ -312,16 +337,31 @@ export interface ConversationMessage {
312
337
 
313
338
  Related gallery: [conversation-messages](https://minifish-org.github.io/pith-ui/?item=conversation-messages), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader).
314
339
 
340
+ ### ConversationViewBlock
341
+
342
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L29)
343
+
344
+ ```ts
345
+ export interface ConversationViewBlock extends UIBlock<ConversationViewState> {
346
+ /** Disabled state, separate from whether an action exists for a message. */
347
+ updateActionAvailability(disabled: Readonly<ConversationActionAvailability>): void;
348
+ images(): readonly HTMLImageElement[];
349
+ setImageState(image: HTMLImageElement, state: ConversationImageState): void;
350
+ }
351
+ ```
352
+
353
+ Referenced public types and APIs: [`ConversationActionAvailability`](#conversationactionavailability), [`ConversationImageState`](#conversationimagestate), [`ConversationViewState`](#conversationviewstate), [`UIBlock`](#uiblock).
354
+
315
355
  ### ConversationViewOptions
316
356
 
317
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L26)
357
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L35)
318
358
 
319
359
  ```ts
320
360
  export interface ConversationViewOptions {
321
361
  container?: HTMLElement;
322
362
  markdown?: (conversationId: string) => MarkdownOptions;
323
- onAction?: (action: ConversationAction) => void;
324
- onCopyCode?: (text: string) => void;
363
+ onAction?: (action: ConversationAction, button: HTMLButtonElement) => void;
364
+ onCopyCode?: (text: string, button: HTMLButtonElement) => void;
325
365
  }
326
366
  ```
327
367
 
@@ -329,7 +369,7 @@ Referenced public types and APIs: [`ConversationAction`](#conversationaction), [
329
369
 
330
370
  ### ConversationViewState
331
371
 
332
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L19)
372
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/conversation-view.ts#L20)
333
373
 
334
374
  ```ts
335
375
  export interface ConversationViewState {
@@ -346,7 +386,7 @@ Referenced public types and APIs: [`ConversationMessage`](#conversationmessage).
346
386
 
347
387
  ### createImageViewer
348
388
 
349
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L8)
389
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L10)
350
390
 
351
391
  ```ts
352
392
  /** A modal above either a generated-file preview or a conversation attachment. */
@@ -364,14 +404,16 @@ Related gallery: [image-viewer](https://minifish-org.github.io/pith-ui/?item=ima
364
404
 
365
405
  ### installImageViewer
366
406
 
367
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L87)
407
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L94)
368
408
 
369
409
  ```ts
370
- export declare function installImageViewer(dialog: HTMLDialogElement): {
410
+ export declare function installImageViewer(dialog: HTMLDialogElement, options?: {
411
+ triggerRoot?: HTMLElement;
412
+ }): {
413
+ destroy(): void;
371
414
  element: HTMLDialogElement;
372
415
  open(target: HTMLImageElement | ImageViewerInput): void;
373
416
  close: () => void;
374
- destroy(): void;
375
417
  };
376
418
  ```
377
419
 
@@ -381,7 +423,7 @@ Related gallery: [image-viewer](https://minifish-org.github.io/pith-ui/?item=ima
381
423
 
382
424
  ### ImageViewerInput
383
425
 
384
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L4)
426
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L6)
385
427
 
386
428
  ```ts
387
429
  export interface ImageViewerInput {
@@ -393,7 +435,7 @@ export interface ImageViewerInput {
393
435
 
394
436
  ### ImageViewerOptions
395
437
 
396
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L3)
438
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/image-viewer.ts#L5)
397
439
 
398
440
  ```ts
399
441
  export interface ImageViewerOptions {
@@ -451,7 +493,7 @@ Referenced public types and APIs: [`MarkdownOptions`](#markdownoptions).
451
493
 
452
494
  ### createPagedPreview
453
495
 
454
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L30)
496
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L31)
455
497
 
456
498
  ```ts
457
499
  export declare function createPagedPreview(options: PagedPreviewOptions): UIBlock<PagedPreviewState>;
@@ -463,7 +505,7 @@ Related gallery: [markdown-content](https://minifish-org.github.io/pith-ui/?item
463
505
 
464
506
  ### mountPagedPreview
465
507
 
466
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L59)
508
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L60)
467
509
 
468
510
  ```ts
469
511
  export declare function mountPagedPreview(container: HTMLElement, text: string, kind: PreviewKind): void;
@@ -475,12 +517,12 @@ Related gallery: [markdown-content](https://minifish-org.github.io/pith-ui/?item
475
517
 
476
518
  ### PagedPreviewOptions
477
519
 
478
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L28)
520
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L29)
479
521
 
480
522
  ```ts
481
523
  export interface PagedPreviewOptions extends PagedPreviewState {
482
524
  container?: HTMLElement;
483
- onCopyCode?: (text: string) => void;
525
+ onCopyCode?: (text: string, button: HTMLButtonElement) => void;
484
526
  }
485
527
  ```
486
528
 
@@ -488,7 +530,7 @@ Referenced public types and APIs: [`PagedPreviewState`](#pagedpreviewstate).
488
530
 
489
531
  ### PagedPreviewState
490
532
 
491
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L27)
533
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L28)
492
534
 
493
535
  ```ts
494
536
  export interface PagedPreviewState {
@@ -501,7 +543,7 @@ Referenced public types and APIs: [`PreviewKind`](#previewkind).
501
543
 
502
544
  ### PreviewKind
503
545
 
504
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L26)
546
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L27)
505
547
 
506
548
  ```ts
507
549
  export type PreviewKind = 'text' | 'markdown' | 'diff';
@@ -509,7 +551,7 @@ export type PreviewKind = 'text' | 'markdown' | 'diff';
509
551
 
510
552
  ### previewPageBytes
511
553
 
512
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L6)
554
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L7)
513
555
 
514
556
  ```ts
515
557
  export declare const previewPageBytes: number;
@@ -517,7 +559,7 @@ export declare const previewPageBytes: number;
517
559
 
518
560
  ### previewPageRanges
519
561
 
520
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L8)
562
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/paged-preview.ts#L9)
521
563
 
522
564
  ```ts
523
565
  export declare function previewPageRanges(bytes: Uint8Array, window?: number): Array<[
@@ -530,7 +572,7 @@ export declare function previewPageRanges(bytes: Uint8Array, window?: number): A
530
572
 
531
573
  ### createWelcomeView
532
574
 
533
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/welcome.ts#L17)
575
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/welcome.ts#L18)
534
576
 
535
577
  ```ts
536
578
  export declare function createWelcomeView(options?: WelcomeOptions): UIBlock<WelcomeState>;
@@ -542,7 +584,7 @@ Related gallery: [welcome](https://minifish-org.github.io/pith-ui/?item=welcome)
542
584
 
543
585
  ### WelcomeOptions
544
586
 
545
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/welcome.ts#L10)
587
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/welcome.ts#L11)
546
588
 
547
589
  ```ts
548
590
  export interface WelcomeOptions {
@@ -555,7 +597,7 @@ export interface WelcomeOptions {
555
597
 
556
598
  ### WelcomeState
557
599
 
558
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/welcome.ts#L4)
600
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/content/welcome.ts#L5)
559
601
 
560
602
  ```ts
561
603
  export interface WelcomeState {
@@ -700,7 +742,7 @@ export declare function element<K extends keyof HTMLElementTagNameMap>(tag: K, c
700
742
 
701
743
  Referenced public types and APIs: [`DOMChild`](#domchild).
702
744
 
703
- Related gallery: [actions](https://minifish-org.github.io/pith-ui/?item=actions), [artifact-panel](https://minifish-org.github.io/pith-ui/?item=artifact-panel), [button](https://minifish-org.github.io/pith-ui/?item=button), [collection-state](https://minifish-org.github.io/pith-ui/?item=collection-state), [completion-notices](https://minifish-org.github.io/pith-ui/?item=completion-notices), [composer](https://minifish-org.github.io/pith-ui/?item=composer), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-messages](https://minifish-org.github.io/pith-ui/?item=conversation-messages), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [disclosure](https://minifish-org.github.io/pith-ui/?item=disclosure), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [file-actions](https://minifish-org.github.io/pith-ui/?item=file-actions), [file-preview](https://minifish-org.github.io/pith-ui/?item=file-preview), [form-section](https://minifish-org.github.io/pith-ui/?item=form-section), [foundation-borders](https://minifish-org.github.io/pith-ui/?item=foundation-borders), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [foundation-surfaces](https://minifish-org.github.io/pith-ui/?item=foundation-surfaces), [foundation-typography](https://minifish-org.github.io/pith-ui/?item=foundation-typography), [icon-button](https://minifish-org.github.io/pith-ui/?item=icon-button), [icons](https://minifish-org.github.io/pith-ui/?item=icons), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [mcp-connections](https://minifish-org.github.io/pith-ui/?item=mcp-connections), [model-picker](https://minifish-org.github.io/pith-ui/?item=model-picker), [pending-messages](https://minifish-org.github.io/pith-ui/?item=pending-messages), [permission-control](https://minifish-org.github.io/pith-ui/?item=permission-control), [popover](https://minifish-org.github.io/pith-ui/?item=popover), [provider-resource-actions](https://minifish-org.github.io/pith-ui/?item=provider-resource-actions), [resource-editor](https://minifish-org.github.io/pith-ui/?item=resource-editor), [resources-panel](https://minifish-org.github.io/pith-ui/?item=resources-panel), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [scroll-area](https://minifish-org.github.io/pith-ui/?item=scroll-area), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar), [updates](https://minifish-org.github.io/pith-ui/?item=updates), [workspace-navigation](https://minifish-org.github.io/pith-ui/?item=workspace-navigation).
745
+ Related gallery: [actions](https://minifish-org.github.io/pith-ui/?item=actions), [artifact-panel](https://minifish-org.github.io/pith-ui/?item=artifact-panel), [button](https://minifish-org.github.io/pith-ui/?item=button), [collection-state](https://minifish-org.github.io/pith-ui/?item=collection-state), [completion-notices](https://minifish-org.github.io/pith-ui/?item=completion-notices), [composer](https://minifish-org.github.io/pith-ui/?item=composer), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [disclosure](https://minifish-org.github.io/pith-ui/?item=disclosure), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [file-preview](https://minifish-org.github.io/pith-ui/?item=file-preview), [form-section](https://minifish-org.github.io/pith-ui/?item=form-section), [foundation-borders](https://minifish-org.github.io/pith-ui/?item=foundation-borders), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [foundation-surfaces](https://minifish-org.github.io/pith-ui/?item=foundation-surfaces), [foundation-typography](https://minifish-org.github.io/pith-ui/?item=foundation-typography), [icon-button](https://minifish-org.github.io/pith-ui/?item=icon-button), [icons](https://minifish-org.github.io/pith-ui/?item=icons), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [mcp-connections](https://minifish-org.github.io/pith-ui/?item=mcp-connections), [pending-messages](https://minifish-org.github.io/pith-ui/?item=pending-messages), [permission-control](https://minifish-org.github.io/pith-ui/?item=permission-control), [popover](https://minifish-org.github.io/pith-ui/?item=popover), [provider-resource-actions](https://minifish-org.github.io/pith-ui/?item=provider-resource-actions), [resources-panel](https://minifish-org.github.io/pith-ui/?item=resources-panel), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [scroll-area](https://minifish-org.github.io/pith-ui/?item=scroll-area), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar), [updates](https://minifish-org.github.io/pith-ui/?item=updates), [workspace-navigation](https://minifish-org.github.io/pith-ui/?item=workspace-navigation).
704
746
 
705
747
  ### escape
706
748
 
@@ -775,7 +817,7 @@ Related gallery: [foundation-focus](https://minifish-org.github.io/pith-ui/?item
775
817
 
776
818
  ### createArtifactPanel
777
819
 
778
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L30)
820
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L43)
779
821
 
780
822
  ```ts
781
823
  export declare function createArtifactPanel(options: ArtifactPanelOptions): {
@@ -793,11 +835,12 @@ Related gallery: [artifact-panel](https://minifish-org.github.io/pith-ui/?item=a
793
835
 
794
836
  ### createFileActions
795
837
 
796
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L16)
838
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L21)
797
839
 
798
840
  ```ts
799
841
  export declare function createFileActions(options: FileActionOptions): {
800
842
  element: HTMLElement;
843
+ setDisabled(disabled: boolean): void;
801
844
  destroy(): void;
802
845
  };
803
846
  ```
@@ -808,7 +851,7 @@ Related gallery: [file-actions](https://minifish-org.github.io/pith-ui/?item=fil
808
851
 
809
852
  ### createFilePreview
810
853
 
811
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L153)
854
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L232)
812
855
 
813
856
  ```ts
814
857
  export declare function createFilePreview(options?: FilePreviewOptions): {
@@ -830,13 +873,14 @@ Related gallery: [file-preview](https://minifish-org.github.io/pith-ui/?item=fil
830
873
 
831
874
  ### createResourcesPanel
832
875
 
833
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L94)
876
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L113)
834
877
 
835
878
  ```ts
836
879
  export declare function createResourcesPanel(options?: ResourcesPanelOptions): {
837
880
  element: HTMLElement;
838
- open(workspaceName: string, toolbar: Node): void;
881
+ open(workspaceName: string, toolbar?: Node): void;
839
882
  setError(message: string): void;
883
+ setCreateDisabled(disabled: boolean): void;
840
884
  update(state: Readonly<ResourcesPanelState>): void;
841
885
  destroy(): void;
842
886
  };
@@ -848,7 +892,7 @@ Related gallery: [resources-panel](https://minifish-org.github.io/pith-ui/?item=
848
892
 
849
893
  ### ArtifactPanelOptions
850
894
 
851
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L29)
895
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L42)
852
896
 
853
897
  ```ts
854
898
  export interface ArtifactPanelOptions {
@@ -857,12 +901,13 @@ export interface ArtifactPanelOptions {
857
901
  toggle: HTMLElement;
858
902
  count: HTMLElement;
859
903
  headingId?: string;
904
+ dismissExclusions?: readonly HTMLElement[];
860
905
  }
861
906
  ```
862
907
 
863
908
  ### ArtifactPanelState
864
909
 
865
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L28)
910
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L41)
866
911
 
867
912
  ```ts
868
913
  export interface ArtifactPanelState {
@@ -879,7 +924,7 @@ export interface ArtifactPanelState {
879
924
 
880
925
  ### FileActionOptions
881
926
 
882
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L5)
927
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L9)
883
928
 
884
929
  ```ts
885
930
  export interface FileActionOptions {
@@ -894,7 +939,7 @@ export interface FileActionOptions {
894
939
 
895
940
  ### fileActionsMarkup
896
941
 
897
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L10)
942
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L14)
898
943
 
899
944
  ```ts
900
945
  export declare function fileActionsMarkup(options: FileActionOptions): string;
@@ -904,7 +949,7 @@ Referenced public types and APIs: [`FileActionOptions`](#fileactionoptions).
904
949
 
905
950
  ### FilePreviewOptions
906
951
 
907
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L152)
952
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L231)
908
953
 
909
954
  ```ts
910
955
  export interface FilePreviewOptions {
@@ -913,12 +958,13 @@ export interface FilePreviewOptions {
913
958
  dialogId?: string;
914
959
  bodyId?: string;
915
960
  onClose?: () => void;
961
+ onCopyCode?: (text: string, button: HTMLButtonElement) => void;
916
962
  }
917
963
  ```
918
964
 
919
965
  ### FilePreviewState
920
966
 
921
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L151)
967
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L230)
922
968
 
923
969
  ```ts
924
970
  export interface FilePreviewState {
@@ -935,7 +981,7 @@ Referenced public types and APIs: [`PreviewKind`](#previewkind).
935
981
 
936
982
  ### ResourceDisplayEntry
937
983
 
938
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L88)
984
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L107)
939
985
 
940
986
  ```ts
941
987
  export interface ResourceDisplayEntry {
@@ -950,7 +996,7 @@ export interface ResourceDisplayEntry {
950
996
 
951
997
  ### ResourcesPanelOptions
952
998
 
953
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L93)
999
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L112)
954
1000
 
955
1001
  ```ts
956
1002
  export interface ResourcesPanelOptions {
@@ -960,12 +1006,14 @@ export interface ResourcesPanelOptions {
960
1006
  listId?: string;
961
1007
  errorId?: string;
962
1008
  onClose?: () => void;
1009
+ onRefresh?: () => void;
1010
+ onCreate?: (kind: 'instructions' | 'skill' | 'template') => void;
963
1011
  }
964
1012
  ```
965
1013
 
966
1014
  ### ResourcesPanelState
967
1015
 
968
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L89)
1016
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/panels.ts#L108)
969
1017
 
970
1018
  ```ts
971
1019
  export interface ResourcesPanelState {
@@ -974,6 +1022,7 @@ export interface ResourcesPanelState {
974
1022
  templates: readonly ResourceDisplayEntry[];
975
1023
  diagnostics: readonly string[];
976
1024
  createInstructions?: Node;
1025
+ canCreateInstructions?: boolean;
977
1026
  }
978
1027
  ```
979
1028
 
@@ -983,7 +1032,7 @@ Referenced public types and APIs: [`ResourceDisplayEntry`](#resourcedisplayentry
983
1032
 
984
1033
  ### createCompletionNotices
985
1034
 
986
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L120)
1035
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L119)
987
1036
 
988
1037
  ```ts
989
1038
  export declare function createCompletionNotices(options?: {
@@ -999,7 +1048,7 @@ Related gallery: [completion-notices](https://minifish-org.github.io/pith-ui/?it
999
1048
 
1000
1049
  ### createCopyFeedback
1001
1050
 
1002
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L159)
1051
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L157)
1003
1052
 
1004
1053
  ```ts
1005
1054
  export declare function createCopyFeedback(options: {
@@ -1016,7 +1065,7 @@ Related gallery: [copy-feedback](https://minifish-org.github.io/pith-ui/?item=co
1016
1065
 
1017
1066
  ### createCostLedger
1018
1067
 
1019
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L21)
1068
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L24)
1020
1069
 
1021
1070
  ```ts
1022
1071
  export declare function createCostLedger(options?: {
@@ -1037,7 +1086,7 @@ Related gallery: [cost-ledger](https://minifish-org.github.io/pith-ui/?item=cost
1037
1086
 
1038
1087
  ### createUpdatePanel
1039
1088
 
1040
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L80)
1089
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L78)
1041
1090
 
1042
1091
  ```ts
1043
1092
  export declare function createUpdatePanel(options?: {
@@ -1058,11 +1107,11 @@ export declare function createUpdatePanel(options?: {
1058
1107
 
1059
1108
  Referenced public types and APIs: [`UpdatePanelState`](#updatepanelstate).
1060
1109
 
1061
- Related gallery: [updates](https://minifish-org.github.io/pith-ui/?item=updates).
1110
+ Related gallery: [settings-panel](https://minifish-org.github.io/pith-ui/?item=settings-panel), [updates](https://minifish-org.github.io/pith-ui/?item=updates).
1062
1111
 
1063
1112
  ### CompletionNoticeDisplay
1064
1113
 
1065
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L113)
1114
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L112)
1066
1115
 
1067
1116
  ```ts
1068
1117
  export interface CompletionNoticeDisplay {
@@ -1077,7 +1126,7 @@ Related gallery: [completion-notices](https://minifish-org.github.io/pith-ui/?it
1077
1126
 
1078
1127
  ### CostLedgerState
1079
1128
 
1080
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L20)
1129
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L23)
1081
1130
 
1082
1131
  ```ts
1083
1132
  export interface CostLedgerState {
@@ -1090,7 +1139,7 @@ Referenced public types and APIs: [`CostRequestDisplay`](#costrequestdisplay).
1090
1139
 
1091
1140
  ### CostRequestDisplay
1092
1141
 
1093
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L15)
1142
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L18)
1094
1143
 
1095
1144
  ```ts
1096
1145
  export interface CostRequestDisplay {
@@ -1120,7 +1169,7 @@ export interface CostRequestDisplay {
1120
1169
 
1121
1170
  ### CostSummaryDisplay
1122
1171
 
1123
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L6)
1172
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L9)
1124
1173
 
1125
1174
  ```ts
1126
1175
  export interface CostSummaryDisplay {
@@ -1136,7 +1185,7 @@ export interface CostSummaryDisplay {
1136
1185
 
1137
1186
  ### formatCost
1138
1187
 
1139
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L7)
1188
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L10)
1140
1189
 
1141
1190
  ```ts
1142
1191
  export declare function formatCost(cost: CostSummaryDisplay | undefined, latestTask?: boolean): string;
@@ -1146,7 +1195,7 @@ Referenced public types and APIs: [`CostSummaryDisplay`](#costsummarydisplay).
1146
1195
 
1147
1196
  ### historyStatusMarkup
1148
1197
 
1149
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L114)
1198
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L113)
1150
1199
 
1151
1200
  ```ts
1152
1201
  export declare function historyStatusMarkup(status: 'approval' | 'running' | 'unread' | 'idle'): string;
@@ -1156,7 +1205,7 @@ Related gallery: [completion-notices](https://minifish-org.github.io/pith-ui/?it
1156
1205
 
1157
1206
  ### UpdatePanelState
1158
1207
 
1159
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L79)
1208
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/files/systems.ts#L77)
1160
1209
 
1161
1210
  ```ts
1162
1211
  export interface UpdatePanelState {
@@ -1173,35 +1222,64 @@ export interface UpdatePanelState {
1173
1222
 
1174
1223
  ### createProviderActions
1175
1224
 
1176
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L16)
1225
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L38)
1177
1226
 
1178
1227
  ```ts
1179
- export declare function createProviderActions(state: ProviderActionsState, options?: {
1180
- onAction?: (action: string, target: DOMStringMap) => void;
1181
- }): UIBlock<ProviderActionsState>;
1228
+ export declare function createProviderActions(state: ProviderActionsState, options?: ProviderActionOptions): UIBlock<ProviderActionsState>;
1182
1229
  ```
1183
1230
 
1184
- Referenced public types and APIs: [`ProviderActionsState`](#provideractionsstate), [`UIBlock`](#uiblock).
1231
+ Referenced public types and APIs: [`ProviderActionOptions`](#provideractionoptions), [`ProviderActionsState`](#provideractionsstate), [`UIBlock`](#uiblock).
1185
1232
 
1186
1233
  Related gallery: [provider-resource-actions](https://minifish-org.github.io/pith-ui/?item=provider-resource-actions).
1187
1234
 
1188
1235
  ### createResourceActions
1189
1236
 
1190
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L17)
1237
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L46)
1191
1238
 
1192
1239
  ```ts
1193
- export declare function createResourceActions(state: ResourceActionsState, options?: {
1194
- onAction?: (action: string, target: DOMStringMap) => void;
1195
- }): UIBlock<ResourceActionsState>;
1240
+ export declare function createResourceActions(state: ResourceActionsState, options?: ResourceActionOptions): UIBlock<ResourceActionsState>;
1196
1241
  ```
1197
1242
 
1198
- Referenced public types and APIs: [`ResourceActionsState`](#resourceactionsstate), [`UIBlock`](#uiblock).
1243
+ Referenced public types and APIs: [`ResourceActionOptions`](#resourceactionoptions), [`ResourceActionsState`](#resourceactionsstate), [`UIBlock`](#uiblock).
1199
1244
 
1200
1245
  Related gallery: [provider-resource-actions](https://minifish-org.github.io/pith-ui/?item=provider-resource-actions), [resources-panel](https://minifish-org.github.io/pith-ui/?item=resources-panel).
1201
1246
 
1247
+ ### FeatureActionOptions
1248
+
1249
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L17)
1250
+
1251
+ ```ts
1252
+ export interface FeatureActionOptions {
1253
+ onAction?: (action: string, target: DOMStringMap) => ReturnType<UIAction>;
1254
+ onError?: (message: string) => void;
1255
+ }
1256
+ ```
1257
+
1258
+ Referenced public types and APIs: [`UIAction`](#uiaction).
1259
+
1260
+ ### ProviderAction
1261
+
1262
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L8)
1263
+
1264
+ ```ts
1265
+ export type ProviderAction = 'login' | 'logout' | 'custom' | 'remove-connection';
1266
+ ```
1267
+
1268
+ ### ProviderActionOptions
1269
+
1270
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L18)
1271
+
1272
+ ```ts
1273
+ export interface ProviderActionOptions extends FeatureActionOptions {
1274
+ onProviderAction?: (action: ProviderAction, target: ProviderActionTarget) => ReturnType<UIAction>;
1275
+ }
1276
+ ```
1277
+
1278
+ Referenced public types and APIs: [`FeatureActionOptions`](#featureactionoptions), [`ProviderAction`](#provideraction), [`ProviderActionTarget`](#provideractiontarget), [`UIAction`](#uiaction).
1279
+
1202
1280
  ### providerActionsMarkup
1203
1281
 
1204
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L5)
1282
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L12)
1205
1283
 
1206
1284
  ```ts
1207
1285
  export declare function providerActionsMarkup(provider: ProviderActionsState): string;
@@ -1211,7 +1289,7 @@ Referenced public types and APIs: [`ProviderActionsState`](#provideractionsstate
1211
1289
 
1212
1290
  ### ProviderActionsState
1213
1291
 
1214
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L3)
1292
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L5)
1215
1293
 
1216
1294
  ```ts
1217
1295
  export interface ProviderActionsState {
@@ -1222,9 +1300,39 @@ export interface ProviderActionsState {
1222
1300
  }
1223
1301
  ```
1224
1302
 
1303
+ ### ProviderActionTarget
1304
+
1305
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L10)
1306
+
1307
+ ```ts
1308
+ export interface ProviderActionTarget {
1309
+ readonly id: string;
1310
+ }
1311
+ ```
1312
+
1313
+ ### ResourceAction
1314
+
1315
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L9)
1316
+
1317
+ ```ts
1318
+ export type ResourceAction = 'use-resource' | 'resource';
1319
+ ```
1320
+
1321
+ ### ResourceActionOptions
1322
+
1323
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L19)
1324
+
1325
+ ```ts
1326
+ export interface ResourceActionOptions extends FeatureActionOptions {
1327
+ onResourceAction?: (action: ResourceAction, target: ResourceActionTarget) => ReturnType<UIAction>;
1328
+ }
1329
+ ```
1330
+
1331
+ Referenced public types and APIs: [`FeatureActionOptions`](#featureactionoptions), [`ResourceAction`](#resourceaction), [`ResourceActionTarget`](#resourceactiontarget), [`UIAction`](#uiaction).
1332
+
1225
1333
  ### resourceActionsMarkup
1226
1334
 
1227
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L6)
1335
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L14)
1228
1336
 
1229
1337
  ```ts
1230
1338
  export declare function resourceActionsMarkup(kind: string, resource: {
@@ -1235,7 +1343,7 @@ export declare function resourceActionsMarkup(kind: string, resource: {
1235
1343
 
1236
1344
  ### ResourceActionsState
1237
1345
 
1238
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L4)
1346
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L7)
1239
1347
 
1240
1348
  ```ts
1241
1349
  export interface ResourceActionsState {
@@ -1248,28 +1356,53 @@ export interface ResourceActionsState {
1248
1356
  }
1249
1357
  ```
1250
1358
 
1359
+ ### ResourceActionTarget
1360
+
1361
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L11)
1362
+
1363
+ ```ts
1364
+ export interface ResourceActionTarget {
1365
+ readonly workspaceId: string;
1366
+ readonly kind: string;
1367
+ readonly resource: {
1368
+ readonly name: string;
1369
+ readonly path: string;
1370
+ };
1371
+ readonly command?: string;
1372
+ }
1373
+ ```
1374
+
1375
+ ### ResourceKind
1376
+
1377
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/actions.ts#L6)
1378
+
1379
+ ```ts
1380
+ export type ResourceKind = 'instructions' | 'skill' | 'template';
1381
+ ```
1382
+
1251
1383
  ## src/forms/custom-connection.ts
1252
1384
 
1253
1385
  ### createCustomConnectionEditor
1254
1386
 
1255
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L26)
1387
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L28)
1256
1388
 
1257
1389
  ```ts
1258
1390
  export declare function createCustomConnectionEditor(state: CustomConnectionState, options?: {
1259
1391
  idPrefix?: string;
1392
+ onSubmit?: (draft: CustomConnectionDraft) => ActionResult | Promise<ActionResult>;
1260
1393
  }): UIBlock<CustomConnectionState> & {
1261
1394
  read(): CustomConnectionDraft;
1262
1395
  readonly form: HTMLFormElement;
1263
1396
  };
1264
1397
  ```
1265
1398
 
1266
- Referenced public types and APIs: [`CustomConnectionDraft`](#customconnectiondraft), [`CustomConnectionState`](#customconnectionstate), [`UIBlock`](#uiblock).
1399
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`CustomConnectionDraft`](#customconnectiondraft), [`CustomConnectionState`](#customconnectionstate), [`UIBlock`](#uiblock).
1267
1400
 
1268
1401
  Related gallery: [custom-connection](https://minifish-org.github.io/pith-ui/?item=custom-connection).
1269
1402
 
1270
1403
  ### createCustomModelRow
1271
1404
 
1272
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L11)
1405
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L12)
1273
1406
 
1274
1407
  ```ts
1275
1408
  export declare function createCustomModelRow(model: CustomModelRowState, index?: number): UIBlock<CustomModelRowState> & {
@@ -1284,7 +1417,7 @@ Related gallery: [custom-connection](https://minifish-org.github.io/pith-ui/?ite
1284
1417
 
1285
1418
  ### CustomConnectionDraft
1286
1419
 
1287
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L7)
1420
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L8)
1288
1421
 
1289
1422
  ```ts
1290
1423
  export interface CustomConnectionDraft {
@@ -1300,7 +1433,7 @@ Referenced public types and APIs: [`CustomModelDraft`](#custommodeldraft).
1300
1433
 
1301
1434
  ### CustomConnectionState
1302
1435
 
1303
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L5)
1436
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L6)
1304
1437
 
1305
1438
  ```ts
1306
1439
  export interface CustomConnectionState {
@@ -1318,7 +1451,7 @@ Referenced public types and APIs: [`CustomModelValue`](#custommodelvalue).
1318
1451
 
1319
1452
  ### CustomModelDraft
1320
1453
 
1321
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L6)
1454
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L7)
1322
1455
 
1323
1456
  ```ts
1324
1457
  export interface CustomModelDraft {
@@ -1340,7 +1473,7 @@ export interface CustomModelDraft {
1340
1473
 
1341
1474
  ### CustomModelRowState
1342
1475
 
1343
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L10)
1476
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L11)
1344
1477
 
1345
1478
  ```ts
1346
1479
  export interface CustomModelRowState extends CustomModelValue {
@@ -1353,7 +1486,7 @@ Referenced public types and APIs: [`CustomModelValue`](#custommodelvalue).
1353
1486
 
1354
1487
  ### CustomModelValue
1355
1488
 
1356
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L4)
1489
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/custom-connection.ts#L5)
1357
1490
 
1358
1491
  ```ts
1359
1492
  export interface CustomModelValue {
@@ -1376,13 +1509,14 @@ export interface CustomModelValue {
1376
1509
 
1377
1510
  ### createFeatureDialogFrame
1378
1511
 
1379
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L8)
1512
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L10)
1380
1513
 
1381
1514
  ```ts
1382
1515
  export declare function createFeatureDialogFrame(options?: FeatureDialogOptions): UIBlock<FeatureDialogState> & {
1383
1516
  open(state: FeatureDialogState): void;
1384
1517
  close(): void;
1385
1518
  fail(message: string): void;
1519
+ isOpen(): boolean;
1386
1520
  };
1387
1521
  ```
1388
1522
 
@@ -1392,7 +1526,7 @@ Related gallery: [feature-dialog](https://minifish-org.github.io/pith-ui/?item=f
1392
1526
 
1393
1527
  ### createFeatureStatus
1394
1528
 
1395
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L38)
1529
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L57)
1396
1530
 
1397
1531
  ```ts
1398
1532
  export declare function createFeatureStatus(state: {
@@ -1410,7 +1544,7 @@ Related gallery: [feature-dialog](https://minifish-org.github.io/pith-ui/?item=f
1410
1544
 
1411
1545
  ### createSDKDialogElements
1412
1546
 
1413
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L43)
1547
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L63)
1414
1548
 
1415
1549
  ```ts
1416
1550
  export declare function createSDKDialogElements(options?: {
@@ -1428,7 +1562,7 @@ Related gallery: [feature-dialog](https://minifish-org.github.io/pith-ui/?item=f
1428
1562
 
1429
1563
  ### DialogContent
1430
1564
 
1431
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L5)
1565
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L7)
1432
1566
 
1433
1567
  ```ts
1434
1568
  export interface DialogContent {
@@ -1439,7 +1573,7 @@ export interface DialogContent {
1439
1573
 
1440
1574
  ### FeatureDialogOptions
1441
1575
 
1442
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L7)
1576
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L9)
1443
1577
 
1444
1578
  ```ts
1445
1579
  export interface FeatureDialogOptions {
@@ -1449,12 +1583,13 @@ export interface FeatureDialogOptions {
1449
1583
  titleId?: string;
1450
1584
  errorId?: string;
1451
1585
  eyebrow?: string;
1586
+ onClose?: () => void;
1452
1587
  }
1453
1588
  ```
1454
1589
 
1455
1590
  ### FeatureDialogState
1456
1591
 
1457
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L6)
1592
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/dialog-frame.ts#L8)
1458
1593
 
1459
1594
  ```ts
1460
1595
  export interface FeatureDialogState {
@@ -1469,10 +1604,10 @@ Referenced public types and APIs: [`DialogContent`](#dialogcontent).
1469
1604
 
1470
1605
  ### createBranchHistory
1471
1606
 
1472
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/history.ts#L5)
1607
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/history.ts#L8)
1473
1608
 
1474
1609
  ```ts
1475
- export declare function createBranchHistory(state: BranchHistoryState, options?: {
1610
+ export declare function createBranchHistory(initial: BranchHistoryState, options?: {
1476
1611
  onContinue?: (id: string) => void | Promise<void>;
1477
1612
  }): UIBlock<BranchHistoryState>;
1478
1613
  ```
@@ -1483,7 +1618,7 @@ Related gallery: [branch-history](https://minifish-org.github.io/pith-ui/?item=b
1483
1618
 
1484
1619
  ### BranchHistoryNode
1485
1620
 
1486
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/history.ts#L3)
1621
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/history.ts#L5)
1487
1622
 
1488
1623
  ```ts
1489
1624
  export interface BranchHistoryNode {
@@ -1496,7 +1631,7 @@ export interface BranchHistoryNode {
1496
1631
 
1497
1632
  ### BranchHistoryState
1498
1633
 
1499
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/history.ts#L4)
1634
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/history.ts#L6)
1500
1635
 
1501
1636
  ```ts
1502
1637
  export interface BranchHistoryState {
@@ -1512,31 +1647,52 @@ Referenced public types and APIs: [`BranchHistoryNode`](#branchhistorynode).
1512
1647
 
1513
1648
  ### createModelEditor
1514
1649
 
1515
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L9)
1650
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L37)
1516
1651
 
1517
1652
  ```ts
1518
1653
  export declare function createModelEditor(initial: ModelEditorState, options?: {
1519
1654
  prefix?: string;
1520
1655
  element?: HTMLElement;
1521
1656
  onChange?: (selection: ModelSelection) => void;
1522
- }): UIBlock<ModelEditorState> & {
1657
+ }): ModelEditorBlock;
1658
+ ```
1659
+
1660
+ Referenced public types and APIs: [`ModelEditorBlock`](#modeleditorblock), [`ModelEditorState`](#modeleditorstate), [`ModelSelection`](#modelselection).
1661
+
1662
+ Related gallery: [model-picker](https://minifish-org.github.io/pith-ui/?item=model-picker).
1663
+
1664
+ ### ModelEditorBlock
1665
+
1666
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L30)
1667
+
1668
+ ```ts
1669
+ export interface ModelEditorBlock extends UIBlock<ModelEditorState> {
1523
1670
  read(): ModelSelection;
1524
- };
1671
+ reset(selection: ModelSelection): void;
1672
+ focus(): void;
1673
+ }
1525
1674
  ```
1526
1675
 
1527
1676
  Referenced public types and APIs: [`ModelEditorState`](#modeleditorstate), [`ModelSelection`](#modelselection), [`UIBlock`](#uiblock).
1528
1677
 
1529
- Related gallery: [model-picker](https://minifish-org.github.io/pith-ui/?item=model-picker).
1678
+ ### modelEditorMarkup
1679
+
1680
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L36)
1681
+
1682
+ ```ts
1683
+ export declare function modelEditorMarkup(prefix: string): string;
1684
+ ```
1530
1685
 
1531
1686
  ### ModelEditorState
1532
1687
 
1533
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L6)
1688
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L19)
1534
1689
 
1535
1690
  ```ts
1536
1691
  export interface ModelEditorState {
1537
1692
  providers: readonly ModelProviderOption[] | null;
1538
1693
  models: readonly ModelOption[] | null;
1539
1694
  selection: ModelSelection;
1695
+ disabled?: boolean;
1540
1696
  }
1541
1697
  ```
1542
1698
 
@@ -1544,7 +1700,7 @@ Referenced public types and APIs: [`ModelOption`](#modeloption), [`ModelProvider
1544
1700
 
1545
1701
  ### ModelOption
1546
1702
 
1547
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L5)
1703
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L10)
1548
1704
 
1549
1705
  ```ts
1550
1706
  export interface ModelOption {
@@ -1573,7 +1729,7 @@ export interface ModelProviderOption {
1573
1729
 
1574
1730
  ### ModelSelection
1575
1731
 
1576
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L7)
1732
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L25)
1577
1733
 
1578
1734
  ```ts
1579
1735
  export interface ModelSelection {
@@ -1585,7 +1741,7 @@ export interface ModelSelection {
1585
1741
 
1586
1742
  ### thinkingLabel
1587
1743
 
1588
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L8)
1744
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/model-editor.ts#L35)
1589
1745
 
1590
1746
  ```ts
1591
1747
  export declare function thinkingLabel(level: string): string;
@@ -1595,55 +1751,59 @@ export declare function thinkingLabel(level: string): string;
1595
1751
 
1596
1752
  ### createMCPConnectionList
1597
1753
 
1598
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L130)
1754
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L202)
1599
1755
 
1600
1756
  ```ts
1601
- export declare function createMCPConnectionList(initial: MCPConnectionListState): UIBlock<MCPConnectionListState>;
1757
+ export declare function createMCPConnectionList(initial: MCPConnectionListState, options?: MCPConnectionListOptions): UIBlock<MCPConnectionListState>;
1602
1758
  ```
1603
1759
 
1604
- Referenced public types and APIs: [`MCPConnectionListState`](#mcpconnectionliststate), [`UIBlock`](#uiblock).
1760
+ Referenced public types and APIs: [`MCPConnectionListOptions`](#mcpconnectionlistoptions), [`MCPConnectionListState`](#mcpconnectionliststate), [`UIBlock`](#uiblock).
1605
1761
 
1606
1762
  Related gallery: [mcp-connections](https://minifish-org.github.io/pith-ui/?item=mcp-connections).
1607
1763
 
1608
1764
  ### createMCPConnectionsPanel
1609
1765
 
1610
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L95)
1766
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L146)
1611
1767
 
1612
1768
  ```ts
1613
- export declare function createMCPConnectionsPanel(state?: FormFeedback, options?: FormOptions): MCPConnectionsPanel;
1769
+ export declare function createMCPConnectionsPanel(state?: MCPConnectionsState, options?: FormOptions & {
1770
+ onSubmit?: (draft: MCPConnectionDraft) => ActionResult | Promise<ActionResult>;
1771
+ }): MCPConnectionsPanel;
1614
1772
  ```
1615
1773
 
1616
- Referenced public types and APIs: [`FormFeedback`](#formfeedback), [`FormOptions`](#formoptions), [`MCPConnectionsPanel`](#mcpconnectionspanel).
1774
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`FormOptions`](#formoptions), [`MCPConnectionDraft`](#mcpconnectiondraft), [`MCPConnectionsPanel`](#mcpconnectionspanel), [`MCPConnectionsState`](#mcpconnectionsstate).
1617
1775
 
1618
1776
  Related gallery: [mcp-connections](https://minifish-org.github.io/pith-ui/?item=mcp-connections).
1619
1777
 
1620
1778
  ### createModelPicker
1621
1779
 
1622
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L121)
1780
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L182)
1623
1781
 
1624
1782
  ```ts
1625
- export declare function createModelPicker(state?: FormFeedback, options?: FormOptions): FormDOMBlock<FormFeedback>;
1783
+ export declare function createModelPicker(state?: ModelPickerState, options?: FormOptions & {
1784
+ onSubmit?: (selection: ModelSelection) => ActionResult | Promise<ActionResult>;
1785
+ }): ModelPicker;
1626
1786
  ```
1627
1787
 
1628
- Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`FormFeedback`](#formfeedback), [`FormOptions`](#formoptions).
1788
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`FormOptions`](#formoptions), [`ModelPicker`](#modelpicker), [`ModelPickerState`](#modelpickerstate), [`ModelSelection`](#modelselection).
1629
1789
 
1630
1790
  Related gallery: [model-picker](https://minifish-org.github.io/pith-ui/?item=model-picker).
1631
1791
 
1632
1792
  ### createSettingsPanel
1633
1793
 
1634
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L37)
1794
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L47)
1635
1795
 
1636
1796
  ```ts
1637
- export declare function createSettingsPanel(state: SettingsPanelState, options?: FormOptions): FormDOMBlock<SettingsPanelState>;
1797
+ export declare function createSettingsPanel(state: SettingsPanelState, options?: SettingsPanelOptions): SettingsPanel;
1638
1798
  ```
1639
1799
 
1640
- Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`FormOptions`](#formoptions), [`SettingsPanelState`](#settingspanelstate).
1800
+ Referenced public types and APIs: [`SettingsPanel`](#settingspanel), [`SettingsPanelOptions`](#settingspaneloptions), [`SettingsPanelState`](#settingspanelstate).
1641
1801
 
1642
1802
  Related gallery: [settings-panel](https://minifish-org.github.io/pith-ui/?item=settings-panel).
1643
1803
 
1644
1804
  ### FormDOMBlock
1645
1805
 
1646
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L6)
1806
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L11)
1647
1807
 
1648
1808
  ```ts
1649
1809
  export interface FormDOMBlock<State extends FormFeedback> extends UIBlock<State> {
@@ -1656,7 +1816,7 @@ Referenced public types and APIs: [`FormFeedback`](#formfeedback), [`UIBlock`](#
1656
1816
 
1657
1817
  ### FormFeedback
1658
1818
 
1659
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L5)
1819
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L10)
1660
1820
 
1661
1821
  ```ts
1662
1822
  export interface FormFeedback {
@@ -1667,7 +1827,7 @@ export interface FormFeedback {
1667
1827
 
1668
1828
  ### FormOptions
1669
1829
 
1670
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L36)
1830
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L41)
1671
1831
 
1672
1832
  ```ts
1673
1833
  export interface FormOptions {
@@ -1675,9 +1835,39 @@ export interface FormOptions {
1675
1835
  }
1676
1836
  ```
1677
1837
 
1838
+ ### MCPConnectionAction
1839
+
1840
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L198)
1841
+
1842
+ ```ts
1843
+ export type MCPConnectionAction = 'mcp-login' | 'mcp-logout' | 'mcp-edit' | 'mcp-toggle' | 'mcp-remove';
1844
+ ```
1845
+
1846
+ ### MCPConnectionDraft
1847
+
1848
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L143)
1849
+
1850
+ ```ts
1851
+ export interface MCPConnectionDraft {
1852
+ name: string;
1853
+ type: 'http' | 'stdio';
1854
+ url: string;
1855
+ oauth: boolean;
1856
+ oauthClientId: string;
1857
+ oauthScope: string;
1858
+ command: string;
1859
+ args: string;
1860
+ enabled: boolean;
1861
+ bearerToken: string;
1862
+ clearBearerToken: boolean;
1863
+ env: string;
1864
+ clearEnv: boolean;
1865
+ }
1866
+ ```
1867
+
1678
1868
  ### MCPConnectionItem
1679
1869
 
1680
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L124)
1870
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L193)
1681
1871
 
1682
1872
  ```ts
1683
1873
  export interface MCPConnectionItem {
@@ -1697,9 +1887,21 @@ export interface MCPConnectionItem {
1697
1887
  }
1698
1888
  ```
1699
1889
 
1890
+ ### MCPConnectionListOptions
1891
+
1892
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L200)
1893
+
1894
+ ```ts
1895
+ export interface MCPConnectionListOptions {
1896
+ onAction?: (action: MCPConnectionAction, target: MCPConnectionTarget) => ReturnType<UIAction>;
1897
+ }
1898
+ ```
1899
+
1900
+ Referenced public types and APIs: [`MCPConnectionAction`](#mcpconnectionaction), [`MCPConnectionTarget`](#mcpconnectiontarget), [`UIAction`](#uiaction).
1901
+
1700
1902
  ### MCPConnectionListState
1701
1903
 
1702
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L128)
1904
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L197)
1703
1905
 
1704
1906
  ```ts
1705
1907
  export interface MCPConnectionListState extends FormFeedback {
@@ -1711,20 +1913,47 @@ Referenced public types and APIs: [`FormFeedback`](#formfeedback), [`MCPConnecti
1711
1913
 
1712
1914
  ### MCPConnectionsPanel
1713
1915
 
1714
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L94)
1916
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L145)
1715
1917
 
1716
1918
  ```ts
1717
- export interface MCPConnectionsPanel extends FormDOMBlock<FormFeedback> {
1919
+ export interface MCPConnectionsPanel extends FormDOMBlock<MCPConnectionsState> {
1718
1920
  renderType(): void;
1719
1921
  edit(value?: MCPEditorValue): void;
1922
+ read(): MCPConnectionDraft;
1923
+ clearBearerToken(): void;
1924
+ clearSecrets(): void;
1925
+ toggleEnvironment(): void;
1926
+ readonly list: HTMLElement;
1927
+ }
1928
+ ```
1929
+
1930
+ Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`MCPConnectionDraft`](#mcpconnectiondraft), [`MCPConnectionsState`](#mcpconnectionsstate), [`MCPEditorValue`](#mcpeditorvalue).
1931
+
1932
+ ### MCPConnectionsState
1933
+
1934
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L144)
1935
+
1936
+ ```ts
1937
+ export interface MCPConnectionsState extends FormFeedback {
1938
+ formError?: string;
1720
1939
  }
1721
1940
  ```
1722
1941
 
1723
- Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`FormFeedback`](#formfeedback), [`MCPEditorValue`](#mcpeditorvalue).
1942
+ Referenced public types and APIs: [`FormFeedback`](#formfeedback).
1943
+
1944
+ ### MCPConnectionTarget
1945
+
1946
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L199)
1947
+
1948
+ ```ts
1949
+ export interface MCPConnectionTarget {
1950
+ readonly name: string;
1951
+ }
1952
+ ```
1724
1953
 
1725
1954
  ### MCPEditorValue
1726
1955
 
1727
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L93)
1956
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L142)
1728
1957
 
1729
1958
  ```ts
1730
1959
  export interface MCPEditorValue {
@@ -1742,32 +1971,142 @@ export interface MCPEditorValue {
1742
1971
  }
1743
1972
  ```
1744
1973
 
1745
- ### modelEditorMarkup
1974
+ ### ModelPicker
1746
1975
 
1747
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L120)
1976
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L181)
1748
1977
 
1749
1978
  ```ts
1750
- export declare function modelEditorMarkup(prefix: string): string;
1979
+ export interface ModelPicker extends FormDOMBlock<ModelPickerState> {
1980
+ read(): ModelSelection;
1981
+ reset(selection: ModelSelection): void;
1982
+ focus(): void;
1983
+ }
1984
+ ```
1985
+
1986
+ Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`ModelPickerState`](#modelpickerstate), [`ModelSelection`](#modelselection).
1987
+
1988
+ ### ModelPickerState
1989
+
1990
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L180)
1991
+
1992
+ ```ts
1993
+ export interface ModelPickerState extends FormFeedback {
1994
+ editor?: ModelEditorState;
1995
+ loading?: boolean;
1996
+ }
1997
+ ```
1998
+
1999
+ Referenced public types and APIs: [`FormFeedback`](#formfeedback), [`ModelEditorState`](#modeleditorstate).
2000
+
2001
+ ### SettingsCredentialView
2002
+
2003
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L44)
2004
+
2005
+ ```ts
2006
+ export interface SettingsCredentialView {
2007
+ status: string;
2008
+ hidden: boolean;
2009
+ required: boolean;
2010
+ placeholder: string;
2011
+ removeVisible: boolean;
2012
+ hint?: string;
2013
+ actions?: Node;
2014
+ }
2015
+ ```
2016
+
2017
+ ### SettingsDraft
2018
+
2019
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L42)
2020
+
2021
+ ```ts
2022
+ export interface SettingsDraft {
2023
+ provider: string;
2024
+ baseUrl: string;
2025
+ apiKey: string;
2026
+ }
1751
2027
  ```
1752
2028
 
2029
+ ### SettingsPanel
2030
+
2031
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L45)
2032
+
2033
+ ```ts
2034
+ export interface SettingsPanel extends FormDOMBlock<SettingsPanelState> {
2035
+ read(): SettingsDraft;
2036
+ setProviders(providers: readonly SettingsProviderOption[], selected?: string): void;
2037
+ resetProvider(value: {
2038
+ provider: string;
2039
+ baseUrl: string;
2040
+ clearKey?: boolean;
2041
+ collapseAdvanced?: boolean;
2042
+ }): void;
2043
+ setCredential(view: SettingsCredentialView): void;
2044
+ clearSecrets(): void;
2045
+ readonly updates: HTMLElement;
2046
+ }
2047
+ ```
2048
+
2049
+ Referenced public types and APIs: [`FormDOMBlock`](#formdomblock), [`SettingsCredentialView`](#settingscredentialview), [`SettingsDraft`](#settingsdraft), [`SettingsPanelState`](#settingspanelstate), [`SettingsProviderOption`](#settingsprovideroption).
2050
+
2051
+ ### SettingsPanelOptions
2052
+
2053
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L46)
2054
+
2055
+ ```ts
2056
+ export interface SettingsPanelOptions extends FormOptions {
2057
+ onAppearanceChange?: (mode: string) => void;
2058
+ onProviderChange?: (provider: string) => void;
2059
+ onDraftChange?: (draft: SettingsDraft) => void;
2060
+ onSubmit?: (draft: SettingsDraft) => ActionResult | Promise<ActionResult>;
2061
+ onTest?: (draft: SettingsDraft) => void;
2062
+ onRemoveKey?: (draft: SettingsDraft) => ActionResult | Promise<ActionResult>;
2063
+ }
2064
+ ```
2065
+
2066
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`FormOptions`](#formoptions), [`SettingsDraft`](#settingsdraft).
2067
+
1753
2068
  ### SettingsPanelState
1754
2069
 
1755
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L35)
2070
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L40)
1756
2071
 
1757
2072
  ```ts
1758
2073
  export interface SettingsPanelState extends FormFeedback {
1759
2074
  baseUrl: string;
1760
2075
  hasApiKey: boolean;
2076
+ ready?: boolean;
2077
+ testing?: boolean;
2078
+ appearance?: {
2079
+ mode: 'light' | 'dark' | 'system';
2080
+ disabled?: boolean;
2081
+ error?: string;
2082
+ };
2083
+ testResult?: {
2084
+ message: string;
2085
+ ok?: boolean;
2086
+ };
1761
2087
  }
1762
2088
  ```
1763
2089
 
1764
2090
  Referenced public types and APIs: [`FormFeedback`](#formfeedback).
1765
2091
 
2092
+ ### SettingsProviderOption
2093
+
2094
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/panels.ts#L43)
2095
+
2096
+ ```ts
2097
+ export interface SettingsProviderOption {
2098
+ id: string;
2099
+ name: string;
2100
+ configured?: boolean;
2101
+ signedIn?: boolean;
2102
+ }
2103
+ ```
2104
+
1766
2105
  ## src/forms/provider-login.ts
1767
2106
 
1768
2107
  ### createProviderLoginPanel
1769
2108
 
1770
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/provider-login.ts#L5)
2109
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/provider-login.ts#L8)
1771
2110
 
1772
2111
  ```ts
1773
2112
  export declare function createProviderLoginPanel(initial: ProviderLoginState, options?: {
@@ -1784,7 +2123,7 @@ Related gallery: [provider-login](https://minifish-org.github.io/pith-ui/?item=p
1784
2123
 
1785
2124
  ### ProviderLoginState
1786
2125
 
1787
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/provider-login.ts#L4)
2126
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/provider-login.ts#L7)
1788
2127
 
1789
2128
  ```ts
1790
2129
  export interface ProviderLoginState {
@@ -1807,28 +2146,38 @@ export interface ProviderLoginState {
1807
2146
 
1808
2147
  ### createResourceEditor
1809
2148
 
1810
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/resource-editor.ts#L5)
2149
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/resource-editor.ts#L7)
1811
2150
 
1812
2151
  ```ts
1813
2152
  export declare function createResourceEditor(state: ResourceEditorState, options?: {
1814
2153
  idPrefix?: string;
2154
+ onSubmit?: (draft: ResourceDraft) => ActionResult | Promise<ActionResult>;
2155
+ onDelete?: () => void;
1815
2156
  }): UIBlock<ResourceEditorState> & {
1816
- read(): {
1817
- name: string;
1818
- content: string;
1819
- };
2157
+ read(): ResourceDraft;
1820
2158
  readonly form: HTMLFormElement;
1821
2159
  readonly removeButton: HTMLButtonElement | null;
1822
2160
  };
1823
2161
  ```
1824
2162
 
1825
- Referenced public types and APIs: [`ResourceEditorState`](#resourceeditorstate), [`UIBlock`](#uiblock).
2163
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`ResourceDraft`](#resourcedraft), [`ResourceEditorState`](#resourceeditorstate), [`UIBlock`](#uiblock).
1826
2164
 
1827
2165
  Related gallery: [resource-editor](https://minifish-org.github.io/pith-ui/?item=resource-editor).
1828
2166
 
2167
+ ### ResourceDraft
2168
+
2169
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/resource-editor.ts#L6)
2170
+
2171
+ ```ts
2172
+ export interface ResourceDraft {
2173
+ name: string;
2174
+ content: string;
2175
+ }
2176
+ ```
2177
+
1829
2178
  ### ResourceEditorState
1830
2179
 
1831
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/resource-editor.ts#L4)
2180
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/forms/resource-editor.ts#L5)
1832
2181
 
1833
2182
  ```ts
1834
2183
  export interface ResourceEditorState {
@@ -1836,6 +2185,7 @@ export interface ResourceEditorState {
1836
2185
  workspacePath: string;
1837
2186
  path?: string;
1838
2187
  kind: string;
2188
+ name?: string;
1839
2189
  content: string;
1840
2190
  editable: boolean;
1841
2191
  workspaceBusy: boolean;
@@ -1848,7 +2198,7 @@ export interface ResourceEditorState {
1848
2198
 
1849
2199
  ### createContextMenu
1850
2200
 
1851
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L7)
2201
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L11)
1852
2202
 
1853
2203
  ```ts
1854
2204
  export declare function createContextMenu(options?: {
@@ -1856,21 +2206,22 @@ export declare function createContextMenu(options?: {
1856
2206
  onDismiss?: (restoreFocus: boolean) => void;
1857
2207
  onAction?: (item: ContextMenuItem) => void;
1858
2208
  }): UIBlock<ContextMenuState> & {
1859
- open(trigger: HTMLElement, state: ContextMenuState): void;
2209
+ open(trigger: HTMLElement, state: ContextMenuState, options?: ContextMenuOpenOptions): void;
1860
2210
  close(restoreFocus?: boolean): void;
1861
2211
  };
1862
2212
  ```
1863
2213
 
1864
- Referenced public types and APIs: [`ContextMenuItem`](#contextmenuitem), [`ContextMenuState`](#contextmenustate), [`UIBlock`](#uiblock).
2214
+ Referenced public types and APIs: [`ContextMenuItem`](#contextmenuitem), [`ContextMenuOpenOptions`](#contextmenuopenoptions), [`ContextMenuState`](#contextmenustate), [`UIBlock`](#uiblock).
1865
2215
 
1866
- Related gallery: [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu).
2216
+ Related gallery: [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [workspace-navigation](https://minifish-org.github.io/pith-ui/?item=workspace-navigation).
1867
2217
 
1868
2218
  ### ContextMenuItem
1869
2219
 
1870
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L2)
2220
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L5)
1871
2221
 
1872
2222
  ```ts
1873
2223
  export interface ContextMenuItem {
2224
+ id?: string;
1874
2225
  label: string;
1875
2226
  action?: string;
1876
2227
  sdkAction?: string;
@@ -1883,9 +2234,22 @@ export interface ContextMenuItem {
1883
2234
  }
1884
2235
  ```
1885
2236
 
2237
+ ### ContextMenuOpenOptions
2238
+
2239
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L10)
2240
+
2241
+ ```ts
2242
+ export interface ContextMenuOpenOptions {
2243
+ point?: {
2244
+ x: number;
2245
+ y: number;
2246
+ };
2247
+ }
2248
+ ```
2249
+
1886
2250
  ### ContextMenuState
1887
2251
 
1888
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L6)
2252
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/context-menu.ts#L9)
1889
2253
 
1890
2254
  ```ts
1891
2255
  export interface ContextMenuState {
@@ -1900,24 +2264,19 @@ Referenced public types and APIs: [`ContextMenuItem`](#contextmenuitem).
1900
2264
 
1901
2265
  ### createRenameConversation
1902
2266
 
1903
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L63)
2267
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L101)
1904
2268
 
1905
2269
  ```ts
1906
- export declare function createRenameConversation(initial: RenameConversationState, options?: {
1907
- idPrefix?: string;
1908
- }): UIBlock<RenameConversationState> & {
1909
- readonly input: HTMLInputElement;
1910
- readonly form: HTMLFormElement;
1911
- };
2270
+ export declare function createRenameConversation(initial: RenameConversationState, options?: RenameConversationOptions): RenameConversationBlock;
1912
2271
  ```
1913
2272
 
1914
- Referenced public types and APIs: [`RenameConversationState`](#renameconversationstate), [`UIBlock`](#uiblock).
2273
+ Referenced public types and APIs: [`RenameConversationBlock`](#renameconversationblock), [`RenameConversationOptions`](#renameconversationoptions), [`RenameConversationState`](#renameconversationstate).
1915
2274
 
1916
2275
  Related gallery: [rename-conversation](https://minifish-org.github.io/pith-ui/?item=rename-conversation).
1917
2276
 
1918
2277
  ### createWorkspaceNavigation
1919
2278
 
1920
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L9)
2279
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L17)
1921
2280
 
1922
2281
  ```ts
1923
2282
  export declare function createWorkspaceNavigation(initial: WorkspaceNavigationState, options?: {
@@ -1925,34 +2284,29 @@ export declare function createWorkspaceNavigation(initial: WorkspaceNavigationSt
1925
2284
  idPrefix?: string;
1926
2285
  onToggle?: (id: string) => void;
1927
2286
  onSelect?: (id: string) => void;
2287
+ onAction?: (action: WorkspaceNavigationAction) => void;
1928
2288
  }): UIBlock<WorkspaceNavigationState>;
1929
2289
  ```
1930
2290
 
1931
- Referenced public types and APIs: [`UIBlock`](#uiblock), [`WorkspaceNavigationState`](#workspacenavigationstate).
2291
+ Referenced public types and APIs: [`UIBlock`](#uiblock), [`WorkspaceNavigationAction`](#workspacenavigationaction), [`WorkspaceNavigationState`](#workspacenavigationstate).
1932
2292
 
1933
2293
  Related gallery: [workspace-navigation](https://minifish-org.github.io/pith-ui/?item=workspace-navigation).
1934
2294
 
1935
2295
  ### createWorkspacePicker
1936
2296
 
1937
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L70)
2297
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L151)
1938
2298
 
1939
2299
  ```ts
1940
- export declare function createWorkspacePicker(initial: WorkspacePickerState, options?: {
1941
- idPrefix?: string;
1942
- }): UIBlock<WorkspacePickerState> & {
1943
- readonly input: HTMLInputElement;
1944
- readonly form: HTMLFormElement;
1945
- readonly pickButton: HTMLButtonElement;
1946
- };
2300
+ export declare function createWorkspacePicker(initial: WorkspacePickerState, options?: WorkspacePickerOptions): WorkspacePickerBlock;
1947
2301
  ```
1948
2302
 
1949
- Referenced public types and APIs: [`UIBlock`](#uiblock), [`WorkspacePickerState`](#workspacepickerstate).
2303
+ Referenced public types and APIs: [`WorkspacePickerBlock`](#workspacepickerblock), [`WorkspacePickerOptions`](#workspacepickeroptions), [`WorkspacePickerState`](#workspacepickerstate).
1950
2304
 
1951
2305
  Related gallery: [workspace-picker](https://minifish-org.github.io/pith-ui/?item=workspace-picker).
1952
2306
 
1953
2307
  ### NavigationConversation
1954
2308
 
1955
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L4)
2309
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L8)
1956
2310
 
1957
2311
  ```ts
1958
2312
  export interface NavigationConversation {
@@ -1966,7 +2320,7 @@ export interface NavigationConversation {
1966
2320
 
1967
2321
  ### NavigationWorkspace
1968
2322
 
1969
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L5)
2323
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L9)
1970
2324
 
1971
2325
  ```ts
1972
2326
  export interface NavigationWorkspace {
@@ -1982,9 +2336,55 @@ export interface NavigationWorkspace {
1982
2336
 
1983
2337
  Referenced public types and APIs: [`NavigationConversation`](#navigationconversation).
1984
2338
 
2339
+ ### RenameConversationBlock
2340
+
2341
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L92)
2342
+
2343
+ ```ts
2344
+ export interface RenameConversationBlock extends UIBlock<RenameConversationState> {
2345
+ readonly input: HTMLInputElement;
2346
+ readonly form: HTMLFormElement;
2347
+ read(): RenameConversationDraft;
2348
+ reset(state: RenameConversationState): void;
2349
+ open(state?: RenameConversationState): void;
2350
+ close(): void;
2351
+ focus(): void;
2352
+ }
2353
+ ```
2354
+
2355
+ Referenced public types and APIs: [`RenameConversationDraft`](#renameconversationdraft), [`RenameConversationState`](#renameconversationstate), [`UIBlock`](#uiblock).
2356
+
2357
+ ### RenameConversationDraft
2358
+
2359
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L83)
2360
+
2361
+ ```ts
2362
+ export interface RenameConversationDraft {
2363
+ id: string;
2364
+ title: string;
2365
+ }
2366
+ ```
2367
+
2368
+ ### RenameConversationOptions
2369
+
2370
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L84)
2371
+
2372
+ ```ts
2373
+ export interface RenameConversationOptions {
2374
+ idPrefix?: string;
2375
+ dialog?: HTMLDialogElement;
2376
+ unavailable?: () => boolean;
2377
+ onSubmit?: (draft: RenameConversationDraft) => Promise<ActionResult> | ActionResult;
2378
+ onSubmitted?: () => void;
2379
+ onCancel?: () => void;
2380
+ }
2381
+ ```
2382
+
2383
+ Referenced public types and APIs: [`ActionResult`](#actionresult), [`RenameConversationDraft`](#renameconversationdraft).
2384
+
1985
2385
  ### RenameConversationState
1986
2386
 
1987
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L62)
2387
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L82)
1988
2388
 
1989
2389
  ```ts
1990
2390
  export interface RenameConversationState {
@@ -1995,9 +2395,28 @@ export interface RenameConversationState {
1995
2395
  }
1996
2396
  ```
1997
2397
 
2398
+ ### WorkspaceNavigationAction
2399
+
2400
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L11)
2401
+
2402
+ ```ts
2403
+ export type WorkspaceNavigationAction = {
2404
+ action: 'add-workspace';
2405
+ trigger: HTMLButtonElement;
2406
+ } | {
2407
+ action: 'new-conversation' | 'workspace-menu';
2408
+ workspaceId: string;
2409
+ trigger: HTMLButtonElement;
2410
+ } | {
2411
+ action: 'conversation-menu';
2412
+ conversationId: string;
2413
+ trigger: HTMLButtonElement;
2414
+ };
2415
+ ```
2416
+
1998
2417
  ### WorkspaceNavigationState
1999
2418
 
2000
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L6)
2419
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L10)
2001
2420
 
2002
2421
  ```ts
2003
2422
  export interface WorkspaceNavigationState {
@@ -2009,9 +2428,52 @@ export interface WorkspaceNavigationState {
2009
2428
 
2010
2429
  Referenced public types and APIs: [`NavigationWorkspace`](#navigationworkspace).
2011
2430
 
2431
+ ### WorkspacePickerBlock
2432
+
2433
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L141)
2434
+
2435
+ ```ts
2436
+ export interface WorkspacePickerBlock extends UIBlock<WorkspacePickerState> {
2437
+ readonly input: HTMLInputElement;
2438
+ readonly form: HTMLFormElement;
2439
+ readonly pickButton: HTMLButtonElement;
2440
+ read(): {
2441
+ path: string;
2442
+ };
2443
+ reset(path?: string): void;
2444
+ open(): void;
2445
+ close(): void;
2446
+ focus(): void;
2447
+ }
2448
+ ```
2449
+
2450
+ Referenced public types and APIs: [`UIBlock`](#uiblock), [`WorkspacePickerState`](#workspacepickerstate).
2451
+
2452
+ ### WorkspacePickerOptions
2453
+
2454
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L131)
2455
+
2456
+ ```ts
2457
+ export interface WorkspacePickerOptions {
2458
+ idPrefix?: string;
2459
+ dialog?: HTMLDialogElement;
2460
+ unavailable?: () => boolean;
2461
+ onSubmit?: (path: string) => Promise<ActionResult> | ActionResult;
2462
+ onPick?: () => Promise<{
2463
+ path?: string;
2464
+ error?: string;
2465
+ }>;
2466
+ onSelect?: (id: string) => void;
2467
+ onSubmitted?: () => void;
2468
+ onCancel?: () => void;
2469
+ }
2470
+ ```
2471
+
2472
+ Referenced public types and APIs: [`ActionResult`](#actionresult).
2473
+
2012
2474
  ### WorkspacePickerState
2013
2475
 
2014
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L69)
2476
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/navigation/navigation.ts#L130)
2015
2477
 
2016
2478
  ```ts
2017
2479
  export interface WorkspacePickerState {
@@ -2029,7 +2491,7 @@ export interface WorkspacePickerState {
2029
2491
 
2030
2492
  ### createActions
2031
2493
 
2032
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L346)
2494
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L319)
2033
2495
 
2034
2496
  ```ts
2035
2497
  export declare function createActions(options?: ActionsState & {
@@ -2043,7 +2505,7 @@ Related gallery: [actions](https://minifish-org.github.io/pith-ui/?item=actions)
2043
2505
 
2044
2506
  ### createButton
2045
2507
 
2046
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L21)
2508
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L27)
2047
2509
 
2048
2510
  ```ts
2049
2511
  export declare function createButton(options: ButtonOptions): ButtonBlock;
@@ -2051,11 +2513,11 @@ export declare function createButton(options: ButtonOptions): ButtonBlock;
2051
2513
 
2052
2514
  Referenced public types and APIs: [`ButtonBlock`](#buttonblock), [`ButtonOptions`](#buttonoptions).
2053
2515
 
2054
- Related gallery: [actions](https://minifish-org.github.io/pith-ui/?item=actions), [button](https://minifish-org.github.io/pith-ui/?item=button), [confirmation](https://minifish-org.github.io/pith-ui/?item=confirmation), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [resources-panel](https://minifish-org.github.io/pith-ui/?item=resources-panel), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [text-edit-dialog](https://minifish-org.github.io/pith-ui/?item=text-edit-dialog), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar).
2516
+ Related gallery: [actions](https://minifish-org.github.io/pith-ui/?item=actions), [button](https://minifish-org.github.io/pith-ui/?item=button), [confirmation](https://minifish-org.github.io/pith-ui/?item=confirmation), [context-menu](https://minifish-org.github.io/pith-ui/?item=context-menu), [conversation-reader](https://minifish-org.github.io/pith-ui/?item=conversation-reader), [copy-feedback](https://minifish-org.github.io/pith-ui/?item=copy-feedback), [dialog](https://minifish-org.github.io/pith-ui/?item=dialog), [drop-feedback](https://minifish-org.github.io/pith-ui/?item=drop-feedback), [feature-dialog](https://minifish-org.github.io/pith-ui/?item=feature-dialog), [foundation-colors](https://minifish-org.github.io/pith-ui/?item=foundation-colors), [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-motion](https://minifish-org.github.io/pith-ui/?item=foundation-motion), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [image-viewer](https://minifish-org.github.io/pith-ui/?item=image-viewer), [list-row](https://minifish-org.github.io/pith-ui/?item=list-row), [runtime-panel](https://minifish-org.github.io/pith-ui/?item=runtime-panel), [text-edit-dialog](https://minifish-org.github.io/pith-ui/?item=text-edit-dialog), [toolbar](https://minifish-org.github.io/pith-ui/?item=toolbar).
2055
2517
 
2056
2518
  ### createCheckbox
2057
2519
 
2058
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L294)
2520
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L272)
2059
2521
 
2060
2522
  ```ts
2061
2523
  export declare function createCheckbox(options: CheckboxState & {
@@ -2070,7 +2532,7 @@ Related gallery: [checkbox](https://minifish-org.github.io/pith-ui/?item=checkbo
2070
2532
 
2071
2533
  ### createCollectionState
2072
2534
 
2073
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L382)
2535
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L356)
2074
2536
 
2075
2537
  ```ts
2076
2538
  export declare function createCollectionState(options: CollectionState & {
@@ -2085,7 +2547,7 @@ Related gallery: [collection-state](https://minifish-org.github.io/pith-ui/?item
2085
2547
 
2086
2548
  ### createConfirmDialog
2087
2549
 
2088
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L513)
2550
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L472)
2089
2551
 
2090
2552
  ```ts
2091
2553
  export declare function createConfirmDialog(options: ConfirmState & {
@@ -2108,7 +2570,7 @@ Related gallery: [confirmation](https://minifish-org.github.io/pith-ui/?item=con
2108
2570
 
2109
2571
  ### createDialog
2110
2572
 
2111
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L404)
2573
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L378)
2112
2574
 
2113
2575
  ```ts
2114
2576
  export declare function createDialog(options: DialogOptions): DialogBlock;
@@ -2120,7 +2582,7 @@ Related gallery: [dialog](https://minifish-org.github.io/pith-ui/?item=dialog).
2120
2582
 
2121
2583
  ### createDisclosure
2122
2584
 
2123
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L353)
2585
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L327)
2124
2586
 
2125
2587
  ```ts
2126
2588
  export declare function createDisclosure(options: DisclosureState & {
@@ -2136,7 +2598,7 @@ Related gallery: [disclosure](https://minifish-org.github.io/pith-ui/?item=discl
2136
2598
 
2137
2599
  ### createDivider
2138
2600
 
2139
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L100)
2601
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L75)
2140
2602
 
2141
2603
  ```ts
2142
2604
  export declare function createDivider(state?: {
@@ -2152,7 +2614,7 @@ Related gallery: [divider](https://minifish-org.github.io/pith-ui/?item=divider)
2152
2614
 
2153
2615
  ### createField
2154
2616
 
2155
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L146)
2617
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L119)
2156
2618
 
2157
2619
  ```ts
2158
2620
  export declare function createField(options: FieldState & {
@@ -2166,7 +2628,7 @@ Related gallery: [number-input](https://minifish-org.github.io/pith-ui/?item=num
2166
2628
 
2167
2629
  ### createFormSection
2168
2630
 
2169
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L338)
2631
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L311)
2170
2632
 
2171
2633
  ```ts
2172
2634
  export declare function createFormSection(options: FormSectionState & {
@@ -2180,7 +2642,7 @@ Related gallery: [form-section](https://minifish-org.github.io/pith-ui/?item=for
2180
2642
 
2181
2643
  ### createIcon
2182
2644
 
2183
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L89)
2645
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L64)
2184
2646
 
2185
2647
  ```ts
2186
2648
  export declare function createIcon(state: IconState): UIBlock<IconState>;
@@ -2192,7 +2654,7 @@ Related gallery: [foundation-sizing](https://minifish-org.github.io/pith-ui/?ite
2192
2654
 
2193
2655
  ### createIconButton
2194
2656
 
2195
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L67)
2657
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L42)
2196
2658
 
2197
2659
  ```ts
2198
2660
  export declare function createIconButton(options: ButtonOptions & {
@@ -2206,7 +2668,7 @@ Related gallery: [icon-button](https://minifish-org.github.io/pith-ui/?item=icon
2206
2668
 
2207
2669
  ### createKeyValue
2208
2670
 
2209
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L107)
2671
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L82)
2210
2672
 
2211
2673
  ```ts
2212
2674
  export declare function createKeyValue(options: KeyValueState): UIBlock<KeyValueState>;
@@ -2218,7 +2680,7 @@ Related gallery: [foundation-motion](https://minifish-org.github.io/pith-ui/?ite
2218
2680
 
2219
2681
  ### createListRow
2220
2682
 
2221
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L367)
2683
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L341)
2222
2684
 
2223
2685
  ```ts
2224
2686
  export declare function createListRow(options: ListRowState & {
@@ -2232,19 +2694,19 @@ Related gallery: [collection-state](https://minifish-org.github.io/pith-ui/?item
2232
2694
 
2233
2695
  ### createMenu
2234
2696
 
2235
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L585)
2697
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L531)
2236
2698
 
2237
2699
  ```ts
2238
- export declare function createMenu(options: MenuState): PopoverBlock & UIBlock<MenuState>;
2700
+ export declare function createMenu(options: MenuOptions): PopoverBlock & UIBlock<MenuState>;
2239
2701
  ```
2240
2702
 
2241
- Referenced public types and APIs: [`MenuState`](#menustate), [`PopoverBlock`](#popoverblock), [`UIBlock`](#uiblock).
2703
+ Referenced public types and APIs: [`MenuOptions`](#menuoptions), [`MenuState`](#menustate), [`PopoverBlock`](#popoverblock), [`UIBlock`](#uiblock).
2242
2704
 
2243
- Related gallery: [menu](https://minifish-org.github.io/pith-ui/?item=menu).
2705
+ Related gallery: [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [menu](https://minifish-org.github.io/pith-ui/?item=menu).
2244
2706
 
2245
2707
  ### createNotice
2246
2708
 
2247
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L310)
2709
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L287)
2248
2710
 
2249
2711
  ```ts
2250
2712
  export declare function createNotice(state: NoticeState): UIBlock<NoticeState>;
@@ -2256,7 +2718,7 @@ Related gallery: [notice](https://minifish-org.github.io/pith-ui/?item=notice).
2256
2718
 
2257
2719
  ### createNumberInput
2258
2720
 
2259
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L225)
2721
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L185)
2260
2722
 
2261
2723
  ```ts
2262
2724
  export declare const createNumberInput: (options: InputOptions) => InputBlock;
@@ -2268,7 +2730,7 @@ Related gallery: [number-input](https://minifish-org.github.io/pith-ui/?item=num
2268
2730
 
2269
2731
  ### createPopover
2270
2732
 
2271
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L560)
2733
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L514)
2272
2734
 
2273
2735
  ```ts
2274
2736
  export declare function createPopover(options: PopoverState & {
@@ -2283,7 +2745,7 @@ Related gallery: [popover](https://minifish-org.github.io/pith-ui/?item=popover)
2283
2745
 
2284
2746
  ### createProgress
2285
2747
 
2286
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L327)
2748
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L300)
2287
2749
 
2288
2750
  ```ts
2289
2751
  export declare function createProgress(state: ProgressState): UIBlock<ProgressState>;
@@ -2295,7 +2757,7 @@ Related gallery: [progress](https://minifish-org.github.io/pith-ui/?item=progres
2295
2757
 
2296
2758
  ### createScrollArea
2297
2759
 
2298
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L129)
2760
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L102)
2299
2761
 
2300
2762
  ```ts
2301
2763
  export declare function createScrollArea(options: ScrollAreaState & {
@@ -2309,7 +2771,7 @@ Related gallery: [scroll-area](https://minifish-org.github.io/pith-ui/?item=scro
2309
2771
 
2310
2772
  ### createSearchInput
2311
2773
 
2312
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L224)
2774
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L184)
2313
2775
 
2314
2776
  ```ts
2315
2777
  export declare const createSearchInput: (options: InputOptions) => InputBlock;
@@ -2321,7 +2783,7 @@ Related gallery: [search-input](https://minifish-org.github.io/pith-ui/?item=sea
2321
2783
 
2322
2784
  ### createSecretInput
2323
2785
 
2324
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L228)
2786
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L188)
2325
2787
 
2326
2788
  ```ts
2327
2789
  export declare function createSecretInput(options: InputOptions): InputBlock;
@@ -2333,7 +2795,7 @@ Related gallery: [secret-input](https://minifish-org.github.io/pith-ui/?item=sec
2333
2795
 
2334
2796
  ### createSelect
2335
2797
 
2336
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L256)
2798
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L226)
2337
2799
 
2338
2800
  ```ts
2339
2801
  export declare function createSelect(options: SelectOptions): SelectBlock;
@@ -2341,11 +2803,11 @@ export declare function createSelect(options: SelectOptions): SelectBlock;
2341
2803
 
2342
2804
  Referenced public types and APIs: [`SelectBlock`](#selectblock), [`SelectOptions`](#selectoptions).
2343
2805
 
2344
- Related gallery: [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [foundation-spacing](https://minifish-org.github.io/pith-ui/?item=foundation-spacing), [select](https://minifish-org.github.io/pith-ui/?item=select).
2806
+ Related gallery: [foundation-focus](https://minifish-org.github.io/pith-ui/?item=foundation-focus), [foundation-sizing](https://minifish-org.github.io/pith-ui/?item=foundation-sizing), [select](https://minifish-org.github.io/pith-ui/?item=select).
2345
2807
 
2346
2808
  ### createStatus
2347
2809
 
2348
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L321)
2810
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L293)
2349
2811
 
2350
2812
  ```ts
2351
2813
  export declare function createStatus(state: StatusState): UIBlock<StatusState>;
@@ -2357,7 +2819,7 @@ Related gallery: [status](https://minifish-org.github.io/pith-ui/?item=status).
2357
2819
 
2358
2820
  ### createTextAction
2359
2821
 
2360
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L80)
2822
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L55)
2361
2823
 
2362
2824
  ```ts
2363
2825
  export declare function createTextAction(options: ButtonOptions): ButtonBlock;
@@ -2369,7 +2831,7 @@ Related gallery: [text-action](https://minifish-org.github.io/pith-ui/?item=text
2369
2831
 
2370
2832
  ### createTextArea
2371
2833
 
2372
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L226)
2834
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L186)
2373
2835
 
2374
2836
  ```ts
2375
2837
  export declare const createTextArea: (options: InputOptions) => InputBlock;
@@ -2381,7 +2843,7 @@ Related gallery: [foundation-typography](https://minifish-org.github.io/pith-ui/
2381
2843
 
2382
2844
  ### createTextEditDialog
2383
2845
 
2384
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L462)
2846
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L420)
2385
2847
 
2386
2848
  ```ts
2387
2849
  export declare function createTextEditDialog(options?: TextEditOptions): TextEditBlock;
@@ -2393,7 +2855,7 @@ Related gallery: [pending-messages](https://minifish-org.github.io/pith-ui/?item
2393
2855
 
2394
2856
  ### createTextInput
2395
2857
 
2396
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L223)
2858
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L183)
2397
2859
 
2398
2860
  ```ts
2399
2861
  export declare const createTextInput: (options: InputOptions) => InputBlock;
@@ -2405,7 +2867,7 @@ Related gallery: [form-section](https://minifish-org.github.io/pith-ui/?item=for
2405
2867
 
2406
2868
  ### createToolbar
2407
2869
 
2408
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L122)
2870
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L94)
2409
2871
 
2410
2872
  ```ts
2411
2873
  export declare function createToolbar(options: ToolbarState & {
@@ -2419,7 +2881,7 @@ Related gallery: [button](https://minifish-org.github.io/pith-ui/?item=button),
2419
2881
 
2420
2882
  ### ActionsState
2421
2883
 
2422
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L345)
2884
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L318)
2423
2885
 
2424
2886
  ```ts
2425
2887
  export interface ActionsState {
@@ -2429,7 +2891,7 @@ export interface ActionsState {
2429
2891
 
2430
2892
  ### ButtonBlock
2431
2893
 
2432
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L19)
2894
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L25)
2433
2895
 
2434
2896
  ```ts
2435
2897
  export interface ButtonBlock extends UIBlock<ButtonState> {
@@ -2441,7 +2903,7 @@ Referenced public types and APIs: [`ButtonState`](#buttonstate), [`UIBlock`](#ui
2441
2903
 
2442
2904
  ### ButtonOptions
2443
2905
 
2444
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L14)
2906
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L20)
2445
2907
 
2446
2908
  ```ts
2447
2909
  export interface ButtonOptions extends ButtonState {
@@ -2455,7 +2917,7 @@ Referenced public types and APIs: [`ButtonState`](#buttonstate), [`UIAction`](#u
2455
2917
 
2456
2918
  ### ButtonState
2457
2919
 
2458
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L5)
2920
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L9)
2459
2921
 
2460
2922
  ```ts
2461
2923
  export interface ButtonState {
@@ -2466,6 +2928,8 @@ export interface ButtonState {
2466
2928
  pending?: boolean;
2467
2929
  icon?: string;
2468
2930
  title?: string;
2931
+ /** Secondary product action, including the accepted compact application style. */
2932
+ appearance?: 'standard' | 'secondary';
2469
2933
  }
2470
2934
  ```
2471
2935
 
@@ -2473,7 +2937,7 @@ Referenced public types and APIs: [`Density`](#density), [`Intent`](#intent).
2473
2937
 
2474
2938
  ### CheckboxBlock
2475
2939
 
2476
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L288)
2940
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L266)
2477
2941
 
2478
2942
  ```ts
2479
2943
  export interface CheckboxBlock extends UIBlock<CheckboxState> {
@@ -2488,7 +2952,7 @@ Referenced public types and APIs: [`CheckboxState`](#checkboxstate), [`UIBlock`]
2488
2952
 
2489
2953
  ### CheckboxState
2490
2954
 
2491
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L287)
2955
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L265)
2492
2956
 
2493
2957
  ```ts
2494
2958
  export interface CheckboxState {
@@ -2500,7 +2964,7 @@ export interface CheckboxState {
2500
2964
 
2501
2965
  ### CollectionState
2502
2966
 
2503
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L381)
2967
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L355)
2504
2968
 
2505
2969
  ```ts
2506
2970
  export interface CollectionState {
@@ -2512,7 +2976,7 @@ export interface CollectionState {
2512
2976
 
2513
2977
  ### ConfirmBlock
2514
2978
 
2515
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L512)
2979
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L471)
2516
2980
 
2517
2981
  ```ts
2518
2982
  export interface ConfirmBlock extends UIBlock<ConfirmState> {
@@ -2521,6 +2985,7 @@ export interface ConfirmBlock extends UIBlock<ConfirmState> {
2521
2985
  readonly cancelButton: HTMLButtonElement;
2522
2986
  open(state?: ConfirmState): void;
2523
2987
  close(): void;
2988
+ refreshAvailability(): void;
2524
2989
  }
2525
2990
  ```
2526
2991
 
@@ -2528,7 +2993,7 @@ Referenced public types and APIs: [`ConfirmState`](#confirmstate), [`UIBlock`](#
2528
2993
 
2529
2994
  ### ConfirmState
2530
2995
 
2531
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L511)
2996
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L470)
2532
2997
 
2533
2998
  ```ts
2534
2999
  export interface ConfirmState extends DialogState {
@@ -2545,7 +3010,7 @@ Referenced public types and APIs: [`DialogState`](#dialogstate).
2545
3010
 
2546
3011
  ### DialogBlock
2547
3012
 
2548
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L398)
3013
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L372)
2549
3014
 
2550
3015
  ```ts
2551
3016
  export interface DialogBlock extends UIBlock<DialogState> {
@@ -2560,7 +3025,7 @@ Referenced public types and APIs: [`DialogState`](#dialogstate), [`UIBlock`](#ui
2560
3025
 
2561
3026
  ### DialogOptions
2562
3027
 
2563
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L397)
3028
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L371)
2564
3029
 
2565
3030
  ```ts
2566
3031
  export interface DialogOptions extends DialogState {
@@ -2576,7 +3041,7 @@ Referenced public types and APIs: [`DialogState`](#dialogstate).
2576
3041
 
2577
3042
  ### DialogState
2578
3043
 
2579
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L396)
3044
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L370)
2580
3045
 
2581
3046
  ```ts
2582
3047
  export interface DialogState {
@@ -2589,7 +3054,7 @@ export interface DialogState {
2589
3054
 
2590
3055
  ### DisclosureBlock
2591
3056
 
2592
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L352)
3057
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L326)
2593
3058
 
2594
3059
  ```ts
2595
3060
  export interface DisclosureBlock extends UIBlock<DisclosureState> {
@@ -2602,7 +3067,7 @@ Referenced public types and APIs: [`DisclosureState`](#disclosurestate), [`UIBlo
2602
3067
 
2603
3068
  ### DisclosureState
2604
3069
 
2605
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L351)
3070
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L325)
2606
3071
 
2607
3072
  ```ts
2608
3073
  export interface DisclosureState {
@@ -2614,7 +3079,7 @@ export interface DisclosureState {
2614
3079
 
2615
3080
  ### FieldBlock
2616
3081
 
2617
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L142)
3082
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L115)
2618
3083
 
2619
3084
  ```ts
2620
3085
  export interface FieldBlock extends UIBlock<FieldState> {
@@ -2626,7 +3091,7 @@ Referenced public types and APIs: [`FieldState`](#fieldstate), [`UIBlock`](#uibl
2626
3091
 
2627
3092
  ### FieldState
2628
3093
 
2629
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L135)
3094
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L108)
2630
3095
 
2631
3096
  ```ts
2632
3097
  export interface FieldState {
@@ -2640,7 +3105,7 @@ export interface FieldState {
2640
3105
 
2641
3106
  ### FormSectionState
2642
3107
 
2643
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L337)
3108
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L310)
2644
3109
 
2645
3110
  ```ts
2646
3111
  export interface FormSectionState {
@@ -2651,7 +3116,7 @@ export interface FormSectionState {
2651
3116
 
2652
3117
  ### IconState
2653
3118
 
2654
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L88)
3119
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L63)
2655
3120
 
2656
3121
  ```ts
2657
3122
  export interface IconState {
@@ -2663,7 +3128,7 @@ export interface IconState {
2663
3128
 
2664
3129
  ### InputBlock
2665
3130
 
2666
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L191)
3131
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L154)
2667
3132
 
2668
3133
  ```ts
2669
3134
  export interface InputBlock extends UIBlock<InputState> {
@@ -2678,7 +3143,7 @@ Referenced public types and APIs: [`InputState`](#inputstate), [`UIBlock`](#uibl
2678
3143
 
2679
3144
  ### InputOptions
2680
3145
 
2681
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L182)
3146
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L145)
2682
3147
 
2683
3148
  ```ts
2684
3149
  export interface InputOptions extends InputState {
@@ -2696,7 +3161,7 @@ Referenced public types and APIs: [`InputState`](#inputstate).
2696
3161
 
2697
3162
  ### InputState
2698
3163
 
2699
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L177)
3164
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L140)
2700
3165
 
2701
3166
  ```ts
2702
3167
  export interface InputState extends FieldState {
@@ -2710,7 +3175,7 @@ Referenced public types and APIs: [`Density`](#density), [`FieldState`](#fieldst
2710
3175
 
2711
3176
  ### KeyValueState
2712
3177
 
2713
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L106)
3178
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L81)
2714
3179
 
2715
3180
  ```ts
2716
3181
  export interface KeyValueState {
@@ -2724,7 +3189,7 @@ export interface KeyValueState {
2724
3189
 
2725
3190
  ### ListRowState
2726
3191
 
2727
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L366)
3192
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L340)
2728
3193
 
2729
3194
  ```ts
2730
3195
  export interface ListRowState {
@@ -2738,7 +3203,7 @@ export interface ListRowState {
2738
3203
 
2739
3204
  ### MenuItem
2740
3205
 
2741
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L583)
3206
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L528)
2742
3207
 
2743
3208
  ```ts
2744
3209
  export interface MenuItem {
@@ -2753,9 +3218,21 @@ export interface MenuItem {
2753
3218
 
2754
3219
  Referenced public types and APIs: [`Intent`](#intent), [`UIAction`](#uiaction).
2755
3220
 
3221
+ ### MenuOptions
3222
+
3223
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L530)
3224
+
3225
+ ```ts
3226
+ export interface MenuOptions extends MenuState {
3227
+ onError?: (message: string) => void;
3228
+ }
3229
+ ```
3230
+
3231
+ Referenced public types and APIs: [`MenuState`](#menustate).
3232
+
2756
3233
  ### MenuState
2757
3234
 
2758
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L584)
3235
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L529)
2759
3236
 
2760
3237
  ```ts
2761
3238
  export interface MenuState extends PopoverState {
@@ -2767,7 +3244,7 @@ Referenced public types and APIs: [`MenuItem`](#menuitem), [`PopoverState`](#pop
2767
3244
 
2768
3245
  ### NoticeState
2769
3246
 
2770
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L309)
3247
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L286)
2771
3248
 
2772
3249
  ```ts
2773
3250
  export interface NoticeState {
@@ -2778,7 +3255,7 @@ export interface NoticeState {
2778
3255
 
2779
3256
  ### PopoverBlock
2780
3257
 
2781
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L553)
3258
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L507)
2782
3259
 
2783
3260
  ```ts
2784
3261
  export interface PopoverBlock extends UIBlock<PopoverState> {
@@ -2794,7 +3271,7 @@ Referenced public types and APIs: [`PopoverState`](#popoverstate), [`UIBlock`](#
2794
3271
 
2795
3272
  ### PopoverState
2796
3273
 
2797
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L552)
3274
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L506)
2798
3275
 
2799
3276
  ```ts
2800
3277
  export interface PopoverState {
@@ -2805,7 +3282,7 @@ export interface PopoverState {
2805
3282
 
2806
3283
  ### ProgressState
2807
3284
 
2808
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L326)
3285
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L299)
2809
3286
 
2810
3287
  ```ts
2811
3288
  export interface ProgressState {
@@ -2817,7 +3294,7 @@ export interface ProgressState {
2817
3294
 
2818
3295
  ### ScrollAreaState
2819
3296
 
2820
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L128)
3297
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L101)
2821
3298
 
2822
3299
  ```ts
2823
3300
  export interface ScrollAreaState {
@@ -2828,13 +3305,15 @@ export interface ScrollAreaState {
2828
3305
 
2829
3306
  ### SelectBlock
2830
3307
 
2831
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L250)
3308
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L218)
2832
3309
 
2833
3310
  ```ts
2834
3311
  export interface SelectBlock extends UIBlock<SelectState> {
2835
3312
  readonly control: HTMLSelectElement;
2836
3313
  getValue(): string;
3314
+ getValues(): string[];
2837
3315
  reset(value: string): void;
3316
+ resetValues(values: readonly string[]): void;
2838
3317
  focus(): void;
2839
3318
  }
2840
3319
  ```
@@ -2843,7 +3322,7 @@ Referenced public types and APIs: [`SelectState`](#selectstate), [`UIBlock`](#ui
2843
3322
 
2844
3323
  ### SelectOption
2845
3324
 
2846
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L247)
3325
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L208)
2847
3326
 
2848
3327
  ```ts
2849
3328
  export interface SelectOption {
@@ -2855,12 +3334,14 @@ export interface SelectOption {
2855
3334
 
2856
3335
  ### SelectOptions
2857
3336
 
2858
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L249)
3337
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L210)
2859
3338
 
2860
3339
  ```ts
2861
3340
  export interface SelectOptions extends SelectState {
2862
3341
  value?: string;
3342
+ values?: readonly string[];
2863
3343
  onChange?: (value: string) => void;
3344
+ onValuesChange?: (values: readonly string[]) => void;
2864
3345
  multiple?: boolean;
2865
3346
  size?: number;
2866
3347
  }
@@ -2870,7 +3351,7 @@ Referenced public types and APIs: [`SelectState`](#selectstate).
2870
3351
 
2871
3352
  ### SelectState
2872
3353
 
2873
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L248)
3354
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L209)
2874
3355
 
2875
3356
  ```ts
2876
3357
  export interface SelectState extends FieldState {
@@ -2883,7 +3364,7 @@ Referenced public types and APIs: [`Density`](#density), [`FieldState`](#fieldst
2883
3364
 
2884
3365
  ### StatusState
2885
3366
 
2886
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L320)
3367
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L292)
2887
3368
 
2888
3369
  ```ts
2889
3370
  export interface StatusState {
@@ -2894,7 +3375,7 @@ export interface StatusState {
2894
3375
 
2895
3376
  ### TextEditBlock
2896
3377
 
2897
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L453)
3378
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L411)
2898
3379
 
2899
3380
  ```ts
2900
3381
  export interface TextEditBlock extends Omit<UIBlock<TextEditState>, 'element'> {
@@ -2912,7 +3393,7 @@ Referenced public types and APIs: [`TextEditInput`](#texteditinput), [`TextEditS
2912
3393
 
2913
3394
  ### TextEditInput
2914
3395
 
2915
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L444)
3396
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L402)
2916
3397
 
2917
3398
  ```ts
2918
3399
  export interface TextEditInput {
@@ -2925,7 +3406,7 @@ export interface TextEditInput {
2925
3406
 
2926
3407
  ### TextEditOptions
2927
3408
 
2928
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L445)
3409
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L403)
2929
3410
 
2930
3411
  ```ts
2931
3412
  export interface TextEditOptions extends Partial<TextEditState> {
@@ -2949,7 +3430,7 @@ Referenced public types and APIs: [`ActionResult`](#actionresult), [`TextEditSta
2949
3430
 
2950
3431
  ### TextEditState
2951
3432
 
2952
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L443)
3433
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L401)
2953
3434
 
2954
3435
  ```ts
2955
3436
  export interface TextEditState extends DialogState {
@@ -2966,7 +3447,7 @@ Referenced public types and APIs: [`DialogState`](#dialogstate).
2966
3447
 
2967
3448
  ### ToolbarState
2968
3449
 
2969
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L121)
3450
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/primitives.ts#L93)
2970
3451
 
2971
3452
  ```ts
2972
3453
  export interface ToolbarState {
@@ -2981,7 +3462,7 @@ Referenced public types and APIs: [`Density`](#density).
2981
3462
 
2982
3463
  ### createApprovalPanel
2983
3464
 
2984
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L7)
3465
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L8)
2985
3466
 
2986
3467
  ```ts
2987
3468
  export declare function createApprovalPanel(initial: ApprovalPanelState, options?: {
@@ -2997,7 +3478,7 @@ Related gallery: [approval-panel](https://minifish-org.github.io/pith-ui/?item=a
2997
3478
 
2998
3479
  ### ApprovalPanelState
2999
3480
 
3000
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L6)
3481
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L7)
3001
3482
 
3002
3483
  ```ts
3003
3484
  export interface ApprovalPanelState {
@@ -3010,7 +3491,7 @@ Referenced public types and APIs: [`ApprovalView`](#approvalview).
3010
3491
 
3011
3492
  ### ApprovalView
3012
3493
 
3013
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L5)
3494
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/approval.ts#L6)
3014
3495
 
3015
3496
  ```ts
3016
3497
  export interface ApprovalView {
@@ -3033,23 +3514,21 @@ export interface ApprovalView {
3033
3514
 
3034
3515
  ### createFullAccessConfirmation
3035
3516
 
3036
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L5)
3517
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L9)
3037
3518
 
3038
3519
  ```ts
3039
- export declare function createFullAccessConfirmation(initial: FullAccessState, options?: {
3040
- idPrefix?: string;
3041
- }): UIBlock<FullAccessState> & {
3520
+ export declare function createFullAccessConfirmation(initial: FullAccessState, options?: FullAccessOptions): UIBlock<FullAccessState> & {
3042
3521
  readonly confirmButton: HTMLButtonElement;
3043
3522
  };
3044
3523
  ```
3045
3524
 
3046
- Referenced public types and APIs: [`FullAccessState`](#fullaccessstate), [`UIBlock`](#uiblock).
3525
+ Referenced public types and APIs: [`FullAccessOptions`](#fullaccessoptions), [`FullAccessState`](#fullaccessstate), [`UIBlock`](#uiblock).
3047
3526
 
3048
3527
  Related gallery: [full-access-confirmation](https://minifish-org.github.io/pith-ui/?item=full-access-confirmation).
3049
3528
 
3050
3529
  ### createPermissionControl
3051
3530
 
3052
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L19)
3531
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L40)
3053
3532
 
3054
3533
  ```ts
3055
3534
  export declare function createPermissionControl(initial: PermissionControlState, options?: {
@@ -3065,7 +3544,7 @@ Related gallery: [permission-control](https://minifish-org.github.io/pith-ui/?it
3065
3544
 
3066
3545
  ### createTaskFailure
3067
3546
 
3068
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L12)
3547
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L19)
3069
3548
 
3070
3549
  ```ts
3071
3550
  export declare function createTaskFailure(initial: TaskFailureState, options?: {
@@ -3080,9 +3559,22 @@ Referenced public types and APIs: [`TaskFailureState`](#taskfailurestate), [`UIB
3080
3559
 
3081
3560
  Related gallery: [task-failure](https://minifish-org.github.io/pith-ui/?item=task-failure).
3082
3561
 
3562
+ ### FullAccessOptions
3563
+
3564
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L8)
3565
+
3566
+ ```ts
3567
+ export interface FullAccessOptions {
3568
+ idPrefix?: string;
3569
+ onConfirm?: () => ActionResult | Promise<ActionResult>;
3570
+ }
3571
+ ```
3572
+
3573
+ Referenced public types and APIs: [`ActionResult`](#actionresult).
3574
+
3083
3575
  ### FullAccessState
3084
3576
 
3085
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L4)
3577
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L7)
3086
3578
 
3087
3579
  ```ts
3088
3580
  export interface FullAccessState {
@@ -3094,7 +3586,7 @@ export interface FullAccessState {
3094
3586
 
3095
3587
  ### PermissionControlState
3096
3588
 
3097
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L18)
3589
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L39)
3098
3590
 
3099
3591
  ```ts
3100
3592
  export interface PermissionControlState {
@@ -3106,7 +3598,7 @@ export interface PermissionControlState {
3106
3598
 
3107
3599
  ### TaskFailureState
3108
3600
 
3109
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L11)
3601
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/permission.ts#L18)
3110
3602
 
3111
3603
  ```ts
3112
3604
  export interface TaskFailureState {
@@ -3122,7 +3614,7 @@ export interface TaskFailureState {
3122
3614
 
3123
3615
  ### createRuntimePanel
3124
3616
 
3125
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/runtime.ts#L5)
3617
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/runtime.ts#L6)
3126
3618
 
3127
3619
  ```ts
3128
3620
  export declare function createRuntimePanel(initial: RuntimePanelState, options?: {
@@ -3144,7 +3636,7 @@ Related gallery: [runtime-panel](https://minifish-org.github.io/pith-ui/?item=ru
3144
3636
 
3145
3637
  ### RuntimePanelState
3146
3638
 
3147
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/runtime.ts#L4)
3639
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/tasks/runtime.ts#L5)
3148
3640
 
3149
3641
  ```ts
3150
3642
  export interface RuntimePanelState {
@@ -3194,7 +3686,7 @@ Related gallery: [foundation-colors](https://minifish-org.github.io/pith-ui/?ite
3194
3686
 
3195
3687
  ### createComposerView
3196
3688
 
3197
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L14)
3689
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L33)
3198
3690
 
3199
3691
  ```ts
3200
3692
  export declare function createComposerView(options?: ComposerViewOptions): {
@@ -3205,6 +3697,7 @@ export declare function createComposerView(options?: ComposerViewOptions): {
3205
3697
  reset(value: string): void;
3206
3698
  focus: () => void;
3207
3699
  resize: () => void;
3700
+ pickImages(): void;
3208
3701
  destroy(): void;
3209
3702
  };
3210
3703
  ```
@@ -3215,22 +3708,51 @@ Related gallery: [composer](https://minifish-org.github.io/pith-ui/?item=compose
3215
3708
 
3216
3709
  ### createWorkspaceShell
3217
3710
 
3218
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L67)
3219
-
3220
- ```ts
3221
- export declare function createWorkspaceShell(options: WorkspaceShellOptions): UIBlock<WorkspaceShellState> & {
3222
- composer: ReturnType<typeof createComposerView>;
3223
- part<T extends HTMLElement = HTMLElement>(name: string): T;
3711
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L121)
3712
+
3713
+ ```ts
3714
+ export declare function createWorkspaceShell(options: WorkspaceShellOptions): {
3715
+ element: HTMLDivElement;
3716
+ composer: {
3717
+ element: HTMLFormElement;
3718
+ input: HTMLTextAreaElement;
3719
+ update: (state: ComposerViewState) => void;
3720
+ getValue: () => string;
3721
+ reset(value: string): void;
3722
+ focus: () => void;
3723
+ resize: () => void;
3724
+ pickImages(): void;
3725
+ destroy(): void;
3726
+ };
3727
+ part: <T extends HTMLElement = HTMLElement>(name: string) => T;
3728
+ update(state: Readonly<WorkspaceShellState>): void;
3729
+ setSidebarOpen: (open: boolean) => void;
3730
+ openDialog(name: WorkspaceDialogName): void;
3731
+ closeDialog(name: WorkspaceDialogName): void;
3732
+ isDialogOpen(name: WorkspaceDialogName): boolean;
3733
+ updateActionAvailability(unavailable: (scope: ActionScope) => boolean, root?: ParentNode): void;
3734
+ destroy(): void;
3224
3735
  };
3225
3736
  ```
3226
3737
 
3227
- Referenced public types and APIs: [`UIBlock`](#uiblock), [`WorkspaceShellOptions`](#workspaceshelloptions), [`WorkspaceShellState`](#workspaceshellstate), [`createComposerView`](#createcomposerview).
3738
+ Referenced public types and APIs: [`ActionScope`](#actionscope), [`ComposerViewState`](#composerviewstate), [`WorkspaceDialogName`](#workspacedialogname), [`WorkspaceShellOptions`](#workspaceshelloptions), [`WorkspaceShellState`](#workspaceshellstate).
3228
3739
 
3229
3740
  Related gallery: [workspace-chat](https://minifish-org.github.io/pith-ui/?item=workspace-chat).
3230
3741
 
3742
+ ### ActionScope
3743
+
3744
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L118)
3745
+
3746
+ ```ts
3747
+ export interface ActionScope {
3748
+ kind: 'global' | 'conversation' | 'workspace' | 'active';
3749
+ id?: string;
3750
+ }
3751
+ ```
3752
+
3231
3753
  ### ComposerViewOptions
3232
3754
 
3233
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L5)
3755
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L15)
3234
3756
 
3235
3757
  ```ts
3236
3758
  export interface ComposerViewOptions {
@@ -3238,6 +3760,10 @@ export interface ComposerViewOptions {
3238
3760
  onSubmit?: (text: string) => void | ActionResult | Promise<void | ActionResult>;
3239
3761
  onStop?: () => void | ActionResult | Promise<void | ActionResult>;
3240
3762
  onInput?: (text: string) => void;
3763
+ onModel?: () => void;
3764
+ onAttach?: () => void;
3765
+ onImages?: (files: File[]) => void;
3766
+ onThinkingChange?: (value: string) => void;
3241
3767
  }
3242
3768
  ```
3243
3769
 
@@ -3245,7 +3771,7 @@ Referenced public types and APIs: [`ActionResult`](#actionresult).
3245
3771
 
3246
3772
  ### ComposerViewState
3247
3773
 
3248
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L4)
3774
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L9)
3249
3775
 
3250
3776
  ```ts
3251
3777
  export interface ComposerViewState {
@@ -3254,28 +3780,64 @@ export interface ComposerViewState {
3254
3780
  readOnly?: boolean;
3255
3781
  action?: 'send' | 'queue' | 'stop';
3256
3782
  actionDisabled?: boolean;
3783
+ model?: {
3784
+ label: string;
3785
+ description: string;
3786
+ disabled?: boolean;
3787
+ };
3788
+ thinking?: {
3789
+ options: readonly {
3790
+ value: string;
3791
+ label: string;
3792
+ }[];
3793
+ value: string;
3794
+ disabled?: boolean;
3795
+ };
3257
3796
  }
3258
3797
  ```
3259
3798
 
3799
+ ### WorkspaceDialogName
3800
+
3801
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L117)
3802
+
3803
+ ```ts
3804
+ export type WorkspaceDialogName = 'model' | 'settings' | 'workspace' | 'permissions' | 'delete' | 'rename' | 'queue-edit' | 'message-edit' | 'resources' | 'connections' | 'preview' | 'image';
3805
+ ```
3806
+
3260
3807
  ### WorkspaceShellOptions
3261
3808
 
3262
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L65)
3809
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L119)
3263
3810
 
3264
3811
  ```ts
3265
3812
  export interface WorkspaceShellOptions {
3266
3813
  brand: Node;
3267
3814
  prefix?: string;
3815
+ composer?: ComposerViewOptions;
3816
+ onDialogClose?: (name: WorkspaceDialogName) => void;
3817
+ onSearch?: (query: string) => void;
3818
+ onBusyAction?: (key: string) => void;
3268
3819
  }
3269
3820
  ```
3270
3821
 
3822
+ Referenced public types and APIs: [`ComposerViewOptions`](#composerviewoptions), [`WorkspaceDialogName`](#workspacedialogname).
3823
+
3271
3824
  ### WorkspaceShellState
3272
3825
 
3273
- [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L66)
3826
+ [Source](https://github.com/minifish-org/pith-ui/blob/main/src/workspace.ts#L120)
3274
3827
 
3275
3828
  ```ts
3276
3829
  export interface WorkspaceShellState {
3277
3830
  workspace?: string;
3278
3831
  conversation?: string;
3279
3832
  reconnecting?: boolean;
3833
+ error?: {
3834
+ message: string;
3835
+ hidden?: boolean;
3836
+ };
3837
+ busy?: {
3838
+ key: string;
3839
+ message: string;
3840
+ actionLabel: string;
3841
+ } | null;
3280
3842
  }
3281
3843
  ```