@pstdio/ui 0.15.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/dist/{MermaidComponent-DBJsTOmj.js → MermaidComponent-BCMQqPqu.js} +11 -11
  2. package/dist/{MermaidComponent-DBJsTOmj.js.map → MermaidComponent-BCMQqPqu.js.map} +1 -1
  3. package/dist/browser-storage-BinyFNJX.js +40 -0
  4. package/dist/browser-storage-BinyFNJX.js.map +1 -0
  5. package/dist/chat-ui.js +1832 -1275
  6. package/dist/chat-ui.js.map +1 -1
  7. package/dist/checkbox-B2zYVemL.js +70 -0
  8. package/dist/checkbox-B2zYVemL.js.map +1 -0
  9. package/dist/components/chat-ui/components/ai-conversation.d.ts +1 -1
  10. package/dist/components/chat-ui/components/ai-message.d.ts +1 -1
  11. package/dist/components/chat-ui/components/ai-response.d.ts +0 -1
  12. package/dist/components/chat-ui/components/attachment-list.d.ts +1 -1
  13. package/dist/components/chat-ui/components/auto-scroll.d.ts +27 -0
  14. package/dist/components/chat-ui/components/chat-input-actions.d.ts +1 -0
  15. package/dist/components/chat-ui/components/chat-input.d.ts +8 -2
  16. package/dist/components/chat-ui/components/chat-message-animation.d.ts +22 -0
  17. package/dist/components/chat-ui/components/chat-panel.d.ts +11 -5
  18. package/dist/components/chat-ui/components/composer-constants.d.ts +1 -0
  19. package/dist/components/chat-ui/components/conversation-browse.d.ts +22 -0
  20. package/dist/components/chat-ui/components/message-types.d.ts +14 -0
  21. package/dist/components/chat-ui/components/queued-follow-up-list-state.d.ts +4 -0
  22. package/dist/components/chat-ui/components/queued-follow-up-list.d.ts +11 -0
  23. package/dist/components/chat-ui/components/timeline.d.ts +5 -2
  24. package/dist/components/chat-ui/components/working-indicator.d.ts +9 -0
  25. package/dist/components/chat-ui/components/workspace-hub.d.ts +8 -1
  26. package/dist/components/chat-ui/index.d.ts +4 -2
  27. package/dist/components/chat-ui/performance/chat-performance-fixtures.d.ts +0 -1
  28. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +4 -14
  29. package/dist/components/chat-ui/tool-rendering/question-prompt.d.ts +9 -0
  30. package/dist/components/chat-ui/tool-rendering/shared.d.ts +1 -1
  31. package/dist/components/chat-ui/tool-rendering/types.d.ts +1 -2
  32. package/dist/components/command-palette/index.d.ts +4 -0
  33. package/dist/components/data-table/build-columns.d.ts +13 -2
  34. package/dist/components/data-table/categorical-color-cell.d.ts +8 -0
  35. package/dist/components/data-table/color-cell-style.d.ts +13 -0
  36. package/dist/components/data-table/color-scale-cell.d.ts +7 -0
  37. package/dist/components/data-table/data-table-column-menu.d.ts +12 -0
  38. package/dist/components/data-table/data-table-header.d.ts +18 -0
  39. package/dist/components/data-table/data-table-stat-chart.d.ts +21 -0
  40. package/dist/components/data-table/data-table-state.d.ts +27 -0
  41. package/dist/components/data-table/data-table-stats-row.d.ts +11 -0
  42. package/dist/components/data-table/data-table-stats.d.ts +19 -0
  43. package/dist/components/data-table/data-table-table-parts.d.ts +21 -0
  44. package/dist/components/data-table/data-table.story-descriptions.d.ts +6 -0
  45. package/dist/components/data-table/data-table.story-fixtures.d.ts +6 -0
  46. package/dist/components/data-table/friendly-json-display.d.ts +31 -0
  47. package/dist/components/data-table/index.d.ts +3 -1
  48. package/dist/components/data-table/json-cell.d.ts +6 -0
  49. package/dist/components/data-table/pagination-footer.d.ts +4 -1
  50. package/dist/components/data-table/selection-toolbar.d.ts +3 -1
  51. package/dist/components/data-table/types.d.ts +72 -0
  52. package/dist/components/diff-viewer/diff-card.d.ts +1 -0
  53. package/dist/components/diff-viewer/diff-drawer-scroll.d.ts +0 -19
  54. package/dist/components/diff-viewer/diff-drawer.d.ts +1 -0
  55. package/dist/components/diff-viewer/index.d.ts +2 -0
  56. package/dist/components/diff-viewer/use-selected-diff-scroll.d.ts +7 -3
  57. package/dist/components/internal/style-guide.d.ts +14 -0
  58. package/dist/components/internal/token-editor-controls.d.ts +8 -0
  59. package/dist/components/internal/token-editor-data.d.ts +40 -0
  60. package/dist/components/internal/token-editor-state.d.ts +22 -0
  61. package/dist/components/{data-renderer → kanban-renderer}/display-menu.d.ts +4 -4
  62. package/dist/components/{data-renderer → kanban-renderer}/filter-menu.d.ts +3 -3
  63. package/dist/components/kanban-renderer/index.d.ts +19 -0
  64. package/dist/components/kanban-renderer/kanban-renderer-attribute-badge.d.ts +7 -0
  65. package/dist/components/{data-renderer/data-renderer-board-column-header.d.ts → kanban-renderer/kanban-renderer-board-column-header.d.ts} +2 -2
  66. package/dist/components/{data-renderer/data-renderer-board-group-section.d.ts → kanban-renderer/kanban-renderer-board-group-section.d.ts} +2 -2
  67. package/dist/components/{data-renderer/data-renderer-board-move.d.ts → kanban-renderer/kanban-renderer-board-move.d.ts} +3 -3
  68. package/dist/components/{data-renderer/data-renderer-board.d.ts → kanban-renderer/kanban-renderer-board.d.ts} +16 -15
  69. package/dist/components/{data-renderer/data-renderer-card.d.ts → kanban-renderer/kanban-renderer-card.d.ts} +5 -4
  70. package/dist/components/{data-renderer/data-renderer-content.d.ts → kanban-renderer/kanban-renderer-content.d.ts} +8 -8
  71. package/dist/components/kanban-renderer/kanban-renderer-create-dialog.d.ts +12 -0
  72. package/dist/components/kanban-renderer/kanban-renderer-create-field.d.ts +10 -0
  73. package/dist/components/kanban-renderer/kanban-renderer-grouping.d.ts +23 -0
  74. package/dist/components/{data-renderer/data-renderer-helpers.d.ts → kanban-renderer/kanban-renderer-helpers.d.ts} +15 -15
  75. package/dist/components/kanban-renderer/kanban-renderer-list-items.d.ts +25 -0
  76. package/dist/components/kanban-renderer/kanban-renderer-list.d.ts +43 -0
  77. package/dist/components/{data-renderer/data-renderer-story-fixtures.d.ts → kanban-renderer/kanban-renderer-story-fixtures.d.ts} +3 -2
  78. package/dist/components/kanban-renderer/kanban-renderer-toolbar.d.ts +15 -0
  79. package/dist/components/kanban-renderer/kanban-renderer-view-bar.d.ts +14 -0
  80. package/dist/components/kanban-renderer/kanban-renderer-views.d.ts +12 -0
  81. package/dist/components/{data-renderer/data-renderer.d.ts → kanban-renderer/kanban-renderer.d.ts} +12 -9
  82. package/dist/components/{data-renderer → kanban-renderer}/types.d.ts +51 -14
  83. package/dist/components/kanban-renderer/use-kanban-renderer-store.d.ts +78 -0
  84. package/dist/components/layout/index.d.ts +7 -0
  85. package/dist/components/layout/panel-header.constants.d.ts +3 -0
  86. package/dist/components/{resizable-split-layout.d.ts → layout/resizable-split-layout.d.ts} +3 -2
  87. package/dist/components/layout/resizable-split-layout.geometry.d.ts +56 -0
  88. package/dist/components/{resizable-split-layout.handle.d.ts → layout/resizable-split-layout.handle.d.ts} +6 -2
  89. package/dist/components/layout/resizable-split-layout.panels.d.ts +25 -0
  90. package/dist/components/list-row/list-row-actions.d.ts +1 -0
  91. package/dist/components/list-row/list-row-content.d.ts +7 -0
  92. package/dist/components/list-row/list-row.types.d.ts +4 -1
  93. package/dist/components/overlays/attached-menu.d.ts +6 -0
  94. package/dist/components/overlays/attachment-chip.d.ts +13 -0
  95. package/dist/components/overlays/index.d.ts +16 -0
  96. package/dist/components/{resource-context-menu.d.ts → overlays/resource-context-menu.d.ts} +13 -1
  97. package/dist/components/{search-modal-content.d.ts → overlays/search-modal-content.d.ts} +1 -1
  98. package/dist/components/{searchable-menu.d.ts → overlays/searchable-menu.d.ts} +1 -1
  99. package/dist/components/param-editor/index.d.ts +24 -0
  100. package/dist/components/param-editor/inputs/action-input.d.ts +13 -0
  101. package/dist/components/param-editor/inputs/anchor-grid-input.d.ts +12 -0
  102. package/dist/components/param-editor/inputs/anchor-grid.d.ts +4 -0
  103. package/dist/components/param-editor/inputs/file-accept.d.ts +22 -0
  104. package/dist/components/param-editor/inputs/file-drop-input.d.ts +14 -0
  105. package/dist/components/param-editor/inputs/numeric-value.d.ts +6 -0
  106. package/dist/components/param-editor/inputs/range-input.d.ts +17 -0
  107. package/dist/components/param-editor/inputs/range-value.d.ts +5 -0
  108. package/dist/components/param-editor/inputs/resource-input-chips.d.ts +15 -0
  109. package/dist/components/param-editor/inputs/resource-input.d.ts +18 -0
  110. package/dist/components/param-editor/inputs/segmented-input.d.ts +14 -0
  111. package/dist/components/param-editor/{selection-input.d.ts → inputs/selection-input.d.ts} +6 -6
  112. package/dist/components/param-editor/inputs/selection-menu.d.ts +29 -0
  113. package/dist/components/param-editor/inputs/slider-marks.d.ts +5 -0
  114. package/dist/components/param-editor/inputs/vector-input.d.ts +17 -0
  115. package/dist/components/param-editor/inputs/vector-value.d.ts +7 -0
  116. package/dist/components/param-editor/param-editor-control-item.d.ts +15 -0
  117. package/dist/components/param-editor/param-editor-control-list.d.ts +5 -0
  118. package/dist/components/param-editor/param-editor-field-label.d.ts +1 -0
  119. package/dist/components/param-editor/param-editor-field.d.ts +11 -0
  120. package/dist/components/param-editor/param-editor-horizontal.d.ts +1 -0
  121. package/dist/components/param-editor/param-editor-inline-group.d.ts +5 -0
  122. package/dist/components/param-editor/param-editor-read-only-field.d.ts +9 -0
  123. package/dist/components/param-editor/param-editor-section.d.ts +17 -0
  124. package/dist/components/param-editor/param-editor.d.ts +3 -1
  125. package/dist/components/param-editor/param-editor.types.d.ts +135 -24
  126. package/dist/components/{breadcrumb.d.ts → primitives/breadcrumb.d.ts} +1 -1
  127. package/dist/components/primitives/index.d.ts +28 -0
  128. package/dist/components/{number-input.d.ts → primitives/number-input.d.ts} +0 -2
  129. package/dist/components/{session-indicator.d.ts → primitives/session-indicator.d.ts} +2 -1
  130. package/dist/components/{tooltip.d.ts → primitives/tooltip.d.ts} +0 -1
  131. package/dist/components/rich-text/prompt-input/commands.d.ts +0 -17
  132. package/dist/components/rich-text/prompt-input/events.d.ts +0 -13
  133. package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/nodes/CommentNode/CommentNode.d.ts +1 -2
  134. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +2 -1
  135. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +2 -1
  136. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +2 -1
  137. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/nodes/ReferenceNode/ReferenceNode.d.ts +1 -2
  138. package/dist/components/rich-text/prompt-input/prompt-input.d.ts +3 -2
  139. package/dist/components/rich-text/prompt-input/utils.d.ts +1 -2
  140. package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidNode.d.ts +0 -1
  141. package/dist/components/rich-text/types.d.ts +1 -1
  142. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  143. package/dist/components/{sidebar/sidebar-footer.d.ts → sidenav/sidenav-footer.d.ts} +2 -2
  144. package/dist/components/{sidebar/sidebar-header.d.ts → sidenav/sidenav-header.d.ts} +2 -2
  145. package/dist/components/sidenav/sidenav.d.ts +2 -0
  146. package/dist/components/sidenav/sidenav.store.d.ts +49 -0
  147. package/dist/components/{sidebar/sidebar.types.d.ts → sidenav/sidenav.types.d.ts} +6 -6
  148. package/dist/components/tab-strip/tab-visibility-filter.d.ts +2 -1
  149. package/dist/components/tag-editor/tag-editor-row.d.ts +1 -1
  150. package/dist/components/tag-editor/tag-editor.types.d.ts +1 -1
  151. package/dist/components/terminal/bind-session.d.ts +33 -0
  152. package/dist/components/terminal/index.d.ts +6 -0
  153. package/dist/components/terminal/scripted-bridge.d.ts +35 -0
  154. package/dist/components/terminal/terminal-contract.d.ts +22 -0
  155. package/dist/components/terminal/terminal-theme.d.ts +12 -0
  156. package/dist/components/terminal/terminal.d.ts +56 -0
  157. package/dist/components/terminal/types.d.ts +35 -0
  158. package/dist/components/terminal/use-terminal-session.d.ts +21 -0
  159. package/dist/components/tree-list/tree-list-order-filter.d.ts +1 -2
  160. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +1 -2
  161. package/dist/components/tree-list/tree-list.d.ts +2 -2
  162. package/dist/components/tree-list/tree-list.types.d.ts +4 -0
  163. package/dist/data-table.js +1271 -0
  164. package/dist/data-table.js.map +1 -0
  165. package/dist/diff-editor-BnfV8cYB.js +182 -0
  166. package/dist/diff-editor-BnfV8cYB.js.map +1 -0
  167. package/dist/diff.js +1313 -0
  168. package/dist/diff.js.map +1 -0
  169. package/dist/empty-state-Bo4HVrgr.js +34 -0
  170. package/dist/empty-state-Bo4HVrgr.js.map +1 -0
  171. package/dist/foundations/gallery/gallery-frame.d.ts +21 -0
  172. package/dist/foundations/gallery/sections/badges-section.d.ts +1 -0
  173. package/dist/foundations/gallery/sections/buttons-section.d.ts +1 -0
  174. package/dist/foundations/gallery/sections/composite-chat-section.d.ts +1 -0
  175. package/dist/foundations/gallery/sections/composites-section.d.ts +1 -0
  176. package/dist/foundations/gallery/sections/feedback-section.d.ts +1 -0
  177. package/dist/foundations/gallery/sections/input-authoring-card.d.ts +1 -0
  178. package/dist/foundations/gallery/sections/inputs-section.d.ts +1 -0
  179. package/dist/foundations/gallery/sections/layout-section.d.ts +1 -0
  180. package/dist/foundations/gallery/sections/navigation-identity-section.d.ts +1 -0
  181. package/dist/foundations/gallery/sections/overlays-section.d.ts +1 -0
  182. package/dist/foundations/gallery/sections/panels-section.d.ts +1 -0
  183. package/dist/foundations/gallery/sections/param-editor-composite-card.d.ts +1 -0
  184. package/dist/foundations/gallery/sections/settings-composite-cards.d.ts +1 -0
  185. package/dist/index.d.ts +14 -87
  186. package/dist/index.js +2027 -7501
  187. package/dist/index.js.map +1 -1
  188. package/dist/kanban-renderer-toolbar-B9ro-9z1.js +1318 -0
  189. package/dist/kanban-renderer-toolbar-B9ro-9z1.js.map +1 -0
  190. package/dist/kanban-renderer.js +1087 -0
  191. package/dist/kanban-renderer.js.map +1 -0
  192. package/dist/list-row-YRUxEcy3.js +808 -0
  193. package/dist/list-row-YRUxEcy3.js.map +1 -0
  194. package/dist/mermaid-renderer-DZo3qj6D.js +425 -0
  195. package/dist/mermaid-renderer-DZo3qj6D.js.map +1 -0
  196. package/dist/mermaid.js +5 -0
  197. package/dist/mermaid.js.map +1 -0
  198. package/dist/param-editor-CYZJbmKu.js +933 -0
  199. package/dist/param-editor-CYZJbmKu.js.map +1 -0
  200. package/dist/param-editor-read-only-field-DgtLqcFa.js +925 -0
  201. package/dist/param-editor-read-only-field-DgtLqcFa.js.map +1 -0
  202. package/dist/prism-BXb57lxL.js +125 -0
  203. package/dist/prism-BXb57lxL.js.map +1 -0
  204. package/dist/radio-cLMEBBZk.js +76 -0
  205. package/dist/radio-cLMEBBZk.js.map +1 -0
  206. package/dist/resource-badge-qCWHP-wQ.js +99 -0
  207. package/dist/resource-badge-qCWHP-wQ.js.map +1 -0
  208. package/dist/{rich-message-DNSEhxXh.js → rich-message-DBf_5YlW.js} +462 -481
  209. package/dist/rich-message-DBf_5YlW.js.map +1 -0
  210. package/dist/rich-text.js +300 -299
  211. package/dist/rich-text.js.map +1 -1
  212. package/dist/scroll-area-BMbg1WcD.js +91 -0
  213. package/dist/scroll-area-BMbg1WcD.js.map +1 -0
  214. package/dist/style.css +1 -1
  215. package/dist/terminal.js +359 -0
  216. package/dist/terminal.js.map +1 -0
  217. package/dist/theme/global.d.ts +3 -0
  218. package/dist/theme/primitives/sizes.d.ts +23 -0
  219. package/dist/theme/recipes/badge.d.ts +50 -0
  220. package/dist/theme/recipes/button.d.ts +30 -19
  221. package/dist/theme/recipes/color-picker.d.ts +1 -0
  222. package/dist/theme/recipes/dialog.d.ts +1 -1
  223. package/dist/theme/recipes/drawer.d.ts +1 -1
  224. package/dist/theme/recipes/input.d.ts +55 -0
  225. package/dist/theme/recipes/number-input.d.ts +98 -0
  226. package/dist/theme/recipes/tabs.d.ts +49 -28
  227. package/dist/theme/recipes/textarea.d.ts +62 -1
  228. package/dist/theme/recipes/timeline.d.ts +74 -0
  229. package/dist/theme/tokens/borders.d.ts +0 -3
  230. package/dist/theme/tokens/colors.d.ts +118 -94
  231. package/dist/{theme-25P7ij4C.js → theme-CNhnbvcE.js} +1300 -375
  232. package/dist/theme-CNhnbvcE.js.map +1 -0
  233. package/dist/theme-preference-DOzHx64J.js +123 -0
  234. package/dist/theme-preference-DOzHx64J.js.map +1 -0
  235. package/dist/theme.js +1 -1
  236. package/dist/tree-list-CZHLAURU.js +1033 -0
  237. package/dist/tree-list-CZHLAURU.js.map +1 -0
  238. package/package.json +29 -3
  239. package/dist/components/data-renderer/card-interaction-guard.d.ts +0 -2
  240. package/dist/components/data-renderer/data-renderer-attribute-badge.d.ts +0 -7
  241. package/dist/components/data-renderer/data-renderer-grouping.d.ts +0 -23
  242. package/dist/components/data-renderer/data-renderer-list.d.ts +0 -39
  243. package/dist/components/data-renderer/data-renderer-toolbar.d.ts +0 -12
  244. package/dist/components/data-renderer/use-data-renderer-store.d.ts +0 -59
  245. package/dist/components/file-tree-helpers.d.ts +0 -8
  246. package/dist/components/open-source-notices-screen.d.ts +0 -20
  247. package/dist/components/panel-header.constants.d.ts +0 -1
  248. package/dist/components/param-editor/input-group.d.ts +0 -10
  249. package/dist/components/rich-text/shared/plugins/MermaidPlugin/index.d.ts +0 -1
  250. package/dist/components/rich-text/shared/plugins/TableActionMenuPlugin/TableActionMenuPlugin.d.ts +0 -5
  251. package/dist/components/rich-text/shared/plugins/TableCellResizerPlugin/TableCellResizerPlugin.d.ts +0 -2
  252. package/dist/components/rich-text/theme/report-theme.d.ts +0 -3
  253. package/dist/components/sidebar/sidebar.d.ts +0 -2
  254. package/dist/components/sidebar/sidebar.store.d.ts +0 -49
  255. package/dist/components/style-guide-data.d.ts +0 -40
  256. package/dist/components/style-guide.d.ts +0 -1
  257. package/dist/mermaid-renderer-CPGj6vsb.js +0 -570
  258. package/dist/mermaid-renderer-CPGj6vsb.js.map +0 -1
  259. package/dist/radio-DJtQY9po.js +0 -286
  260. package/dist/radio-DJtQY9po.js.map +0 -1
  261. package/dist/resource-badge-CeJTOn8F.js +0 -188
  262. package/dist/resource-badge-CeJTOn8F.js.map +0 -1
  263. package/dist/rich-message-DNSEhxXh.js.map +0 -1
  264. package/dist/theme-25P7ij4C.js.map +0 -1
  265. package/dist/utils/formats.d.ts +0 -7
  266. /package/dist/components/{palette-filter.d.ts → command-palette/palette-filter.d.ts} +0 -0
  267. /package/dist/components/{palette-list.d.ts → command-palette/palette-list.d.ts} +0 -0
  268. /package/dist/components/{palette-shortcut.d.ts → command-palette/palette-shortcut.d.ts} +0 -0
  269. /package/dist/components/{palette.d.ts → command-palette/palette.d.ts} +0 -0
  270. /package/dist/components/{code-editor.d.ts → diff-viewer/code-editor.d.ts} +0 -0
  271. /package/dist/components/{column-file-browser.d.ts → file-browser/column-file-browser.d.ts} +0 -0
  272. /package/dist/components/{performance-panel.d.ts → internal/performance-panel.d.ts} +0 -0
  273. /package/dist/components/{data-renderer/data-renderer-badge-helpers.d.ts → kanban-renderer/kanban-renderer-badge-helpers.d.ts} +0 -0
  274. /package/dist/components/{data-renderer/data-renderer-enum-helpers.d.ts → kanban-renderer/kanban-renderer-enum-helpers.d.ts} +0 -0
  275. /package/dist/components/{data-renderer → kanban-renderer}/use-resolved-attributes.d.ts +0 -0
  276. /package/dist/components/{header.d.ts → layout/header.d.ts} +0 -0
  277. /package/dist/components/{horizontal-menu-stack.d.ts → layout/horizontal-menu-stack.d.ts} +0 -0
  278. /package/dist/components/{item-section.d.ts → layout/item-section.d.ts} +0 -0
  279. /package/dist/components/{attached-panel.d.ts → overlays/attached-panel.d.ts} +0 -0
  280. /package/dist/components/{bubble-button.d.ts → overlays/bubble-button.d.ts} +0 -0
  281. /package/dist/components/{bubble-panel.d.ts → overlays/bubble-panel.d.ts} +0 -0
  282. /package/dist/components/{delete-confirmation-modal.d.ts → overlays/delete-confirmation-modal.d.ts} +0 -0
  283. /package/dist/components/{repo-picker-dialog.d.ts → overlays/repo-picker-dialog.d.ts} +0 -0
  284. /package/dist/components/param-editor/{color-input.d.ts → inputs/color-input.d.ts} +0 -0
  285. /package/dist/components/param-editor/{date-input.d.ts → inputs/date-input.d.ts} +0 -0
  286. /package/dist/components/param-editor/{horizontal-text-input.d.ts → inputs/horizontal-text-input.d.ts} +0 -0
  287. /package/dist/components/param-editor/{number-input.d.ts → inputs/number-input.d.ts} +0 -0
  288. /package/dist/components/param-editor/{text-input.d.ts → inputs/text-input.d.ts} +0 -0
  289. /package/dist/components/{alert.d.ts → primitives/alert.d.ts} +0 -0
  290. /package/dist/components/{checkbox.d.ts → primitives/checkbox.d.ts} +0 -0
  291. /package/dist/components/{content-placeholder.d.ts → primitives/content-placeholder.d.ts} +0 -0
  292. /package/dist/components/{empty-state.d.ts → primitives/empty-state.d.ts} +0 -0
  293. /package/dist/components/{error-boundary.d.ts → primitives/error-boundary.d.ts} +0 -0
  294. /package/dist/components/{icon-color-picker.d.ts → primitives/icon-color-picker.d.ts} +0 -0
  295. /package/dist/components/{info-card.d.ts → primitives/info-card.d.ts} +0 -0
  296. /package/dist/components/{integration-card.d.ts → primitives/integration-card.d.ts} +0 -0
  297. /package/dist/components/{radio.d.ts → primitives/radio.d.ts} +0 -0
  298. /package/dist/components/{resource-badge.d.ts → primitives/resource-badge.d.ts} +0 -0
  299. /package/dist/components/{scroll-area.d.ts → primitives/scroll-area.d.ts} +0 -0
  300. /package/dist/components/{simple-card.d.ts → primitives/simple-card.d.ts} +0 -0
  301. /package/dist/components/{slider.d.ts → primitives/slider.d.ts} +0 -0
  302. /package/dist/components/{switch.d.ts → primitives/switch.d.ts} +0 -0
  303. /package/dist/components/{toaster.d.ts → primitives/toaster.d.ts} +0 -0
  304. /package/dist/components/{workspace-badge.d.ts → primitives/workspace-badge.d.ts} +0 -0
@@ -0,0 +1,23 @@
1
+ import { AttributeDescriptor, KanbanRendererFilterState, KanbanRendererOrdering, KanbanRendererRow } from './types';
2
+ interface GroupingOptions {
3
+ attributes: AttributeDescriptor[];
4
+ columnGrouping: string;
5
+ rowGrouping: string;
6
+ knownColumnKeys?: string[];
7
+ }
8
+ interface KanbanRendererRowGroup {
9
+ key: string;
10
+ label: string;
11
+ rows: KanbanRendererRow[];
12
+ }
13
+ interface KanbanRendererColumnGroup {
14
+ key: string;
15
+ label: string;
16
+ rows: KanbanRendererRow[];
17
+ subgroups: KanbanRendererRowGroup[];
18
+ }
19
+ export declare const orderRows: (rows: KanbanRendererRow[], ordering: KanbanRendererOrdering, attributes: AttributeDescriptor[]) => KanbanRendererRow[];
20
+ export declare const groupRows: (rows: KanbanRendererRow[], options: GroupingOptions) => KanbanRendererColumnGroup[];
21
+ export declare const filterRows: (rows: KanbanRendererRow[], filters: KanbanRendererFilterState, attributes: AttributeDescriptor[]) => KanbanRendererRow[];
22
+ export declare const countFilterValues: (rows: KanbanRendererRow[], attributeId: string, attributes: AttributeDescriptor[]) => Record<string, number>;
23
+ export type { KanbanRendererColumnGroup, KanbanRendererRowGroup };
@@ -1,22 +1,22 @@
1
1
  import { ReactNode } from 'react';
2
- import { AttributeBadge } from './data-renderer-badge-helpers';
3
- import { AttributeDescriptor, DataRendererFilterState, DataRendererRow, DataRendererSettings } from './types';
4
- export type { AttributeBadge } from './data-renderer-badge-helpers';
5
- export { getAttributeBadgeColorPalette } from './data-renderer-badge-helpers';
6
- export { enumOptionLabel, findEnumOption, getEnumOptions, toTitleCase } from './data-renderer-enum-helpers';
2
+ import { AttributeBadge } from './kanban-renderer-badge-helpers';
3
+ import { AttributeDescriptor, KanbanRendererFilterState, KanbanRendererRow, KanbanRendererSettings } from './types';
4
+ export type { AttributeBadge } from './kanban-renderer-badge-helpers';
5
+ export { getAttributeBadgeColorPalette } from './kanban-renderer-badge-helpers';
6
+ export { enumOptionLabel, findEnumOption, getEnumOptions, toTitleCase } from './kanban-renderer-enum-helpers';
7
7
  /**
8
8
  * Read a typed attribute value out of a row. enum-multi normalizes to an array;
9
9
  * single-valued kinds normalize to undefined when missing.
10
10
  */
11
- export declare const getAttributeValue: (row: DataRendererRow, descriptor: AttributeDescriptor) => unknown;
12
- export declare const getAttributeStringValues: (row: DataRendererRow, descriptor: AttributeDescriptor) => string[];
11
+ export declare const getAttributeValue: (row: KanbanRendererRow, descriptor: AttributeDescriptor) => unknown;
12
+ export declare const getAttributeStringValues: (row: KanbanRendererRow, descriptor: AttributeDescriptor) => string[];
13
13
  /**
14
14
  * Per-type default cell summary used by the card / list end-content. Returns
15
15
  * null when the attribute has no displayable value.
16
16
  */
17
- export declare const renderAttributeBadge: (descriptor: AttributeDescriptor, row: DataRendererRow) => AttributeBadge | null;
18
- export declare const collectDisplayBadges: (row: DataRendererRow, attributes: AttributeDescriptor[], displayProperties: string[]) => AttributeBadge[];
19
- export declare const collectDisplayCustomSlots: (row: DataRendererRow, attributes: AttributeDescriptor[], displayProperties: string[]) => ReactNode[];
17
+ export declare const renderAttributeBadge: (descriptor: AttributeDescriptor, row: KanbanRendererRow) => AttributeBadge | null;
18
+ export declare const collectDisplayBadges: (row: KanbanRendererRow, attributes: AttributeDescriptor[], displayProperties: string[]) => AttributeBadge[];
19
+ export declare const collectDisplayCustomSlots: (row: KanbanRendererRow, attributes: AttributeDescriptor[], displayProperties: string[]) => ReactNode[];
20
20
  export interface FilterCategoryView {
21
21
  id: string;
22
22
  label: string;
@@ -33,7 +33,7 @@ export interface FilterCategoryView {
33
33
  * the data fill in the gaps for string / date / number / user attributes (so
34
34
  * filter chips for free-form fields don't require declaring every option).
35
35
  */
36
- export declare const buildFilterCategories: (attributes: AttributeDescriptor[], rows: DataRendererRow[]) => FilterCategoryView[];
36
+ export declare const buildFilterCategories: (attributes: AttributeDescriptor[], rows: KanbanRendererRow[]) => FilterCategoryView[];
37
37
  export interface MenuOption {
38
38
  value: string;
39
39
  label: string;
@@ -45,13 +45,13 @@ export declare const resolveSubGroupingOptions: (options: MenuOption[], columnGr
45
45
  export declare const resolveListDropTargetColumnKey: (columnGrouping: string, placement?: {
46
46
  columnKey?: string;
47
47
  }) => string | undefined;
48
- export declare const resolveKnownColumnKeys: (columnGrouping: string, attributes: AttributeDescriptor[], filters?: DataRendererFilterState) => string[] | undefined;
48
+ export declare const resolveKnownColumnKeys: (columnGrouping: string, attributes: AttributeDescriptor[], filters?: KanbanRendererFilterState) => string[] | undefined;
49
49
  export declare const normalizeFilterValues: (_descriptor: AttributeDescriptor, values: string[]) => string[];
50
- export declare const omitFilterCategory: (filters: DataRendererFilterState, id: string) => DataRendererFilterState;
50
+ export declare const omitFilterCategory: (filters: KanbanRendererFilterState, id: string) => KanbanRendererFilterState;
51
51
  /**
52
52
  * Drop persisted settings entries that reference attribute ids no longer
53
53
  * declared by the contribution. Falls back to defaults for missing grouping
54
54
  * and ordering attributes so a stale saved view still loads cleanly.
55
55
  */
56
- export declare const sanitizeSettings: (settings: DataRendererSettings, attributes: AttributeDescriptor[]) => DataRendererSettings;
57
- export declare const sanitizeFilters: (filters: DataRendererFilterState, attributes: AttributeDescriptor[]) => DataRendererFilterState;
56
+ export declare const sanitizeSettings: (settings: KanbanRendererSettings, attributes: AttributeDescriptor[]) => KanbanRendererSettings;
57
+ export declare const sanitizeFilters: (filters: KanbanRendererFilterState, attributes: AttributeDescriptor[]) => KanbanRendererFilterState;
@@ -0,0 +1,25 @@
1
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
2
+ import { KanbanRendererColumnGroup } from './kanban-renderer-grouping';
3
+ import { KanbanRendererListItem } from './kanban-renderer-list';
4
+ import { AttributeDescriptor, KanbanRendererRow, KanbanRendererSettings } from './types';
5
+ interface BuildKanbanRendererListItemsInput<TRow extends KanbanRendererRow> {
6
+ settings: KanbanRendererSettings;
7
+ visibleRows: TRow[];
8
+ grouped: KanbanRendererColumnGroup[];
9
+ attributes: AttributeDescriptor[];
10
+ onRowClick?: (row: TRow) => void;
11
+ onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
12
+ onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
13
+ getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
14
+ }
15
+ export declare const buildKanbanRendererListItems: <TRow extends KanbanRendererRow>(input: BuildKanbanRendererListItemsInput<TRow>) => (KanbanRendererListItem | {
16
+ onDropRow: ((draggedId: string) => void | Promise<void>) | undefined;
17
+ children: KanbanRendererListItem[];
18
+ statusColorPalette: string | undefined;
19
+ statusIcon: import('react').ComponentType;
20
+ id: string;
21
+ title: string;
22
+ isGroup: boolean;
23
+ countBadge: number;
24
+ })[];
25
+ export {};
@@ -0,0 +1,43 @@
1
+ import { ComponentType, ReactNode } from 'react';
2
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
3
+ import { AttributeBadge } from './kanban-renderer-helpers';
4
+ export interface KanbanRendererListItem {
5
+ id: string;
6
+ eyebrow?: string;
7
+ title: string;
8
+ isGroup?: boolean;
9
+ countBadge?: number;
10
+ countColorPalette?: string;
11
+ statusIcon?: ComponentType<{
12
+ size?: number | string;
13
+ }>;
14
+ statusColor?: string;
15
+ statusColorPalette?: string;
16
+ badges?: AttributeBadge[];
17
+ customSlots?: ReactNode[];
18
+ children?: KanbanRendererListItem[];
19
+ onClick?: () => void;
20
+ onBadgeChange?: (attributeId: string, value: unknown) => void;
21
+ contextMenuActions?: ResourceContextAction[];
22
+ draggable?: boolean;
23
+ onDropRow?: (rowId: string) => void;
24
+ }
25
+ export type KanbanRendererListExpandedState = Record<string, boolean>;
26
+ export interface KanbanRendererListProps {
27
+ items: KanbanRendererListItem[];
28
+ selectedItemId?: string | null;
29
+ expandedGroups?: KanbanRendererListExpandedState;
30
+ onItemClick?: (item: KanbanRendererListItem) => void;
31
+ onExpandedGroupChange?: (rowId: string, isExpanded: boolean) => void;
32
+ }
33
+ interface FlattenedKanbanRendererListItem {
34
+ id: string;
35
+ item: KanbanRendererListItem;
36
+ depth: number;
37
+ isGroup: boolean;
38
+ canExpand: boolean;
39
+ }
40
+ export declare const getKanbanRendererListIndentation: (depth: number) => string | undefined;
41
+ export declare const flattenKanbanRendererListItems: (items: KanbanRendererListItem[], expanded: KanbanRendererListExpandedState, depth?: number) => FlattenedKanbanRendererListItem[];
42
+ export declare const KanbanRendererList: (props: KanbanRendererListProps) => import("react/jsx-runtime").JSX.Element;
43
+ export {};
@@ -1,7 +1,8 @@
1
- import { AttributeDescriptor, DataRendererRow } from './types';
1
+ import { AttributeDescriptor, KanbanRendererRow } from './types';
2
2
  export declare const attributes: AttributeDescriptor[];
3
- export interface StoryRow extends DataRendererRow {
3
+ export interface StoryRow extends KanbanRendererRow {
4
4
  attributes: {
5
+ id?: string;
5
6
  status: string;
6
7
  assignee: string;
7
8
  component: string;
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ import { AttributeDescriptor, KanbanRendererFilterState, KanbanRendererRow, KanbanRendererSavedView, KanbanRendererSettings } from './types';
3
+ export interface KanbanRendererToolbarProps<TRow extends KanbanRendererRow = KanbanRendererRow> {
4
+ rows: TRow[];
5
+ storageKey: string;
6
+ attributes: AttributeDescriptor[];
7
+ defaultSettings?: Partial<KanbanRendererSettings>;
8
+ defaultFilters?: KanbanRendererFilterState;
9
+ defaultViews?: KanbanRendererSavedView[];
10
+ defaultActiveViewId?: string;
11
+ leading?: ReactNode;
12
+ displayControl?: ReactNode;
13
+ align?: "split" | "end";
14
+ }
15
+ export declare const KanbanRendererToolbar: <TRow extends KanbanRendererRow>(props: KanbanRendererToolbarProps<TRow>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { ReactNode } from 'react';
2
+ import { FilterCategoryView } from './kanban-renderer-helpers';
3
+ import { KanbanRendererFilterState } from './types';
4
+ interface KanbanRendererViewBarProps {
5
+ storageKey: string;
6
+ categories: FilterCategoryView[];
7
+ filters: KanbanRendererFilterState;
8
+ leading?: ReactNode;
9
+ filterControl: ReactNode;
10
+ displayControl: ReactNode;
11
+ align?: "split" | "end";
12
+ }
13
+ export declare const KanbanRendererViewBar: (props: KanbanRendererViewBarProps) => import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,12 @@
1
+ import { KanbanRendererFilterState, KanbanRendererSavedView, KanbanRendererSettings } from './types';
2
+ interface KanbanRendererViewState {
3
+ settings: KanbanRendererSettings;
4
+ filters: KanbanRendererFilterState;
5
+ }
6
+ export declare const snapshotKanbanRendererView: (id: string, title: string, state: KanbanRendererViewState, isDefault?: boolean) => KanbanRendererSavedView;
7
+ export declare const applyKanbanRendererView: (view: KanbanRendererSavedView) => {
8
+ settings: KanbanRendererSettings;
9
+ filters: KanbanRendererFilterState;
10
+ };
11
+ export declare const isKanbanRendererViewDirty: (view: KanbanRendererSavedView | undefined, state: KanbanRendererViewState) => boolean;
12
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
- import { ResourceContextAction } from '../resource-context-menu';
3
- import { DataRendererBoardColumnAction } from './data-renderer-board';
4
- import { AttributeDescriptor, DataRendererFilterState, DataRendererRow, DataRendererSettings } from './types';
2
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
3
+ import { KanbanRendererBoardColumnAction } from './kanban-renderer-board';
4
+ import { AttributeDescriptor, KanbanRendererCreateRowConfig, KanbanRendererCreateSubmission, KanbanRendererFilterState, KanbanRendererRow, KanbanRendererSavedView, KanbanRendererSettings } from './types';
5
5
  /** Board-column behavior and menu configuration for a resolved column group. */
6
6
  export interface BoardColumnConfig {
7
7
  /** Chakra color palette used for the column header and group badges. */
@@ -9,10 +9,10 @@ export interface BoardColumnConfig {
9
9
  canDragIn?: boolean;
10
10
  canDragOut?: boolean;
11
11
  canCreate?: boolean;
12
- actions?: DataRendererBoardColumnAction[];
12
+ actions?: KanbanRendererBoardColumnAction[];
13
13
  }
14
14
  /** Switchable list/board renderer for rows with typed attributes, filtering, grouping, and ordering. */
15
- export interface DataRendererProps<TRow extends DataRendererRow = DataRendererRow> {
15
+ export interface KanbanRendererProps<TRow extends KanbanRendererRow = KanbanRendererRow> {
16
16
  /** Stable rows to render. Each row must have an id, title, and attributes map. */
17
17
  rows: TRow[];
18
18
  /** Persistent key used by the renderer store for view, filter, grouping, ordering, and list expansion settings. */
@@ -23,8 +23,10 @@ export interface DataRendererProps<TRow extends DataRendererRow = DataRendererRo
23
23
  emptyState?: ReactNode;
24
24
  emptyTitle?: string;
25
25
  emptyDescription?: string;
26
- defaultSettings?: Partial<DataRendererSettings>;
27
- defaultFilters?: DataRendererFilterState;
26
+ defaultSettings?: Partial<KanbanRendererSettings>;
27
+ defaultFilters?: KanbanRendererFilterState;
28
+ defaultViews?: KanbanRendererSavedView[];
29
+ defaultActiveViewId?: string;
28
30
  hideToolbar?: boolean;
29
31
  toolbarLeading?: ReactNode;
30
32
  onRowClick?: (row: TRow) => void;
@@ -32,9 +34,10 @@ export interface DataRendererProps<TRow extends DataRendererRow = DataRendererRo
32
34
  onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
33
35
  /** Called for manual row ordering when a dragged row is dropped before another row. */
34
36
  onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
35
- onCreateRow?: (columnId: string) => void;
37
+ createRow?: KanbanRendererCreateRowConfig;
38
+ onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
36
39
  onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
37
40
  getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
38
41
  getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
39
42
  }
40
- export declare const DataRenderer: <TRow extends DataRendererRow>(props: DataRendererProps<TRow>) => import("react/jsx-runtime").JSX.Element;
43
+ export declare const KanbanRenderer: <TRow extends KanbanRendererRow>(props: KanbanRendererProps<TRow>) => import("react/jsx-runtime").JSX.Element;
@@ -51,13 +51,13 @@ export interface AttributeDescriptor {
51
51
  displayable?: boolean;
52
52
  editable?: boolean;
53
53
  display?: AttributeDisplayDescriptor;
54
- render?: (value: unknown, row: DataRendererRow) => ReactNode;
54
+ render?: (value: unknown, row: KanbanRendererRow) => ReactNode;
55
55
  compare?: (a: unknown, b: unknown) => number;
56
56
  }
57
57
  /**
58
58
  * Reactive source for an entire attribute schema. Mirrors React's
59
59
  * useSyncExternalStore contract so consumers (e.g. the workbench's
60
- * data-renderer bridge) can subscribe and re-resolve when the schema changes
60
+ * kanban-renderer bridge) can subscribe and re-resolve when the schema changes
61
61
  * — letting a contribution add/remove/edit attributes at runtime without
62
62
  * re-registering.
63
63
  */
@@ -66,7 +66,7 @@ export interface AttributesSource {
66
66
  getSnapshot: () => AttributeDescriptor[];
67
67
  }
68
68
  export declare const isAttributesSource: (attributes: AttributeDescriptor[] | AttributesSource) => attributes is AttributesSource;
69
- export interface DataRendererRow {
69
+ export interface KanbanRendererRow {
70
70
  id: string;
71
71
  title: string;
72
72
  /**
@@ -77,25 +77,62 @@ export interface DataRendererRow {
77
77
  resource?: unknown;
78
78
  attributes: Record<string, unknown>;
79
79
  }
80
- export interface DataRendererOrdering {
80
+ export interface KanbanRendererOrdering {
81
81
  attributeId: string | typeof MANUAL_ORDERING;
82
82
  direction: SortDirection;
83
83
  }
84
- export interface DataRendererSettings {
84
+ export interface KanbanRendererSettings {
85
85
  viewMode: ViewMode;
86
86
  columnGrouping: string | typeof NO_GROUPING;
87
87
  rowGrouping: string | typeof NO_GROUPING;
88
- ordering: DataRendererOrdering;
88
+ ordering: KanbanRendererOrdering;
89
89
  displayProperties: string[];
90
90
  }
91
- export type DataRendererFilterState = Record<string, string[]>;
92
- export declare const DEFAULT_DATA_RENDERER_SETTINGS: DataRendererSettings;
93
- export declare const isEnumType: (type: AttributeType) => type is Extract<AttributeType, {
94
- kind: "enum";
95
- }>;
96
- export declare const isMultiEnumType: (type: AttributeType) => type is Extract<AttributeType, {
97
- kind: "enum-multi";
98
- }>;
91
+ export type KanbanRendererFilterState = Record<string, string[]>;
92
+ export interface KanbanRendererSavedView {
93
+ id: string;
94
+ title: string;
95
+ settings: KanbanRendererSettings;
96
+ filters: KanbanRendererFilterState;
97
+ isDefault?: boolean;
98
+ }
99
+ export type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
100
+ export interface KanbanRendererCreateField {
101
+ id: string;
102
+ label: string;
103
+ description?: string;
104
+ placeholder?: string;
105
+ type: KanbanRendererCreateFieldType;
106
+ required?: boolean;
107
+ defaultValue?: unknown;
108
+ options?: EnumOption[];
109
+ /** `files` fields only. */
110
+ multiple?: boolean;
111
+ accept?: string;
112
+ }
113
+ /** Chrome copy is supplied by the caller so the dialog ships no strings of its own. */
114
+ export interface KanbanRendererCreateLabels {
115
+ cancel: string;
116
+ properties: string;
117
+ submitError: string;
118
+ removeFile: string;
119
+ }
120
+ export interface KanbanRendererCreateRowConfig {
121
+ title: string;
122
+ submitLabel: string;
123
+ fields: KanbanRendererCreateField[];
124
+ labels: KanbanRendererCreateLabels;
125
+ }
126
+ export interface KanbanRendererCreateSubmission {
127
+ columnId: string;
128
+ columnAttributeId?: string;
129
+ /** Declared field values, excluding `files` fields — those arrive as `files`. */
130
+ values: Record<string, unknown>;
131
+ /** Every editable attribute the user set, keyed by attribute id. */
132
+ attributeValues: Record<string, unknown>;
133
+ files: File[];
134
+ }
135
+ export declare const DEFAULT_KANBAN_RENDERER_SETTINGS: KanbanRendererSettings;
99
136
  /**
100
137
  * Look up an attribute by id from a contribution-provided descriptor list.
101
138
  * Returns undefined for sentinels ("none", "manual") or unknown ids.
@@ -0,0 +1,78 @@
1
+ import { KanbanRendererFilterState, KanbanRendererSavedView, KanbanRendererSettings } from './types';
2
+ interface KanbanRendererSnapshot {
3
+ settings: KanbanRendererSettings;
4
+ filters: KanbanRendererFilterState;
5
+ expandedGroups: Record<string, boolean>;
6
+ views: KanbanRendererSavedView[];
7
+ activeViewId: string;
8
+ }
9
+ interface KanbanRendererStoreInitialState {
10
+ settings?: Partial<KanbanRendererSettings>;
11
+ filters?: KanbanRendererFilterState;
12
+ expandedGroups?: Record<string, boolean>;
13
+ views?: KanbanRendererSavedView[];
14
+ activeViewId?: string;
15
+ }
16
+ interface KanbanRendererState extends KanbanRendererSnapshot {
17
+ setViewMode: (viewMode: KanbanRendererSettings["viewMode"]) => void;
18
+ setColumnGrouping: (columnGrouping: KanbanRendererSettings["columnGrouping"]) => void;
19
+ setRowGrouping: (rowGrouping: KanbanRendererSettings["rowGrouping"]) => void;
20
+ setOrdering: (ordering: KanbanRendererSettings["ordering"]) => void;
21
+ setOrderingAttributeId: (attributeId: KanbanRendererSettings["ordering"]["attributeId"]) => void;
22
+ setDisplayProperties: (displayProperties: string[]) => void;
23
+ toggleSortDirection: () => void;
24
+ toggleDisplayProperty: (property: string) => void;
25
+ setFilter: (attributeId: string, values: string[]) => void;
26
+ toggleFilterValue: (attributeId: string, value: string) => void;
27
+ clearFilter: (attributeId: string) => void;
28
+ clearAllFilters: () => void;
29
+ setExpandedGroup: (groupId: string, isExpanded: boolean) => void;
30
+ activateView: (viewId: string) => void;
31
+ createView: (view: {
32
+ id: string;
33
+ title: string;
34
+ }) => void;
35
+ saveActiveView: () => void;
36
+ resetActiveView: () => void;
37
+ renameView: (viewId: string, title: string) => void;
38
+ duplicateView: (viewId: string, duplicate: {
39
+ id: string;
40
+ title: string;
41
+ }) => void;
42
+ deleteView: (viewId: string) => void;
43
+ setDefaultView: (viewId: string) => void;
44
+ reset: () => void;
45
+ }
46
+ interface CreateKanbanRendererStoreOptions {
47
+ storageKey: string;
48
+ initialState?: KanbanRendererStoreInitialState;
49
+ }
50
+ export declare const createKanbanRendererStore: (options: CreateKanbanRendererStoreOptions) => Omit<import('zustand').StoreApi<KanbanRendererState>, "setState" | "persist"> & {
51
+ setState(partial: KanbanRendererState | Partial<KanbanRendererState> | ((state: KanbanRendererState) => KanbanRendererState | Partial<KanbanRendererState>), replace?: false | undefined): unknown;
52
+ setState(state: KanbanRendererState | ((state: KanbanRendererState) => KanbanRendererState), replace: true): unknown;
53
+ persist: {
54
+ setOptions: (options: Partial<import('zustand/middleware').PersistOptions<KanbanRendererState, unknown, unknown>>) => void;
55
+ clearStorage: () => void;
56
+ rehydrate: () => Promise<void> | void;
57
+ hasHydrated: () => boolean;
58
+ onHydrate: (fn: (state: KanbanRendererState) => void) => () => void;
59
+ onFinishHydration: (fn: (state: KanbanRendererState) => void) => () => void;
60
+ getOptions: () => Partial<import('zustand/middleware').PersistOptions<KanbanRendererState, unknown, unknown>>;
61
+ };
62
+ };
63
+ export declare const getKanbanRendererStore: (storageKey: string, initialState?: KanbanRendererStoreInitialState) => Omit<import('zustand').StoreApi<KanbanRendererState>, "setState" | "persist"> & {
64
+ setState(partial: KanbanRendererState | Partial<KanbanRendererState> | ((state: KanbanRendererState) => KanbanRendererState | Partial<KanbanRendererState>), replace?: false | undefined): unknown;
65
+ setState(state: KanbanRendererState | ((state: KanbanRendererState) => KanbanRendererState), replace: true): unknown;
66
+ persist: {
67
+ setOptions: (options: Partial<import('zustand/middleware').PersistOptions<KanbanRendererState, unknown, unknown>>) => void;
68
+ clearStorage: () => void;
69
+ rehydrate: () => Promise<void> | void;
70
+ hasHydrated: () => boolean;
71
+ onHydrate: (fn: (state: KanbanRendererState) => void) => () => void;
72
+ onFinishHydration: (fn: (state: KanbanRendererState) => void) => () => void;
73
+ getOptions: () => Partial<import('zustand/middleware').PersistOptions<KanbanRendererState, unknown, unknown>>;
74
+ };
75
+ };
76
+ export declare const useKanbanRendererStore: <T>(storageKey: string, selector: (state: KanbanRendererState) => T, initialState?: KanbanRendererStoreInitialState) => T;
77
+ export declare const isActiveKanbanRendererViewDirty: (state: Pick<KanbanRendererState, "activeViewId" | "filters" | "settings" | "views">) => boolean;
78
+ export type { KanbanRendererSnapshot, KanbanRendererState, KanbanRendererStoreInitialState };
@@ -0,0 +1,7 @@
1
+ export type { HeaderProps, HeaderVariant } from './header';
2
+ export { Header } from './header';
3
+ export { HorizontalMenuStack } from './horizontal-menu-stack';
4
+ export type { ItemSectionProps } from './item-section';
5
+ export { ItemSection } from './item-section';
6
+ export { PANEL_HEADER_CONTROL_SIZE, PANEL_HEADER_HEIGHT, PANEL_HEADER_TAB_SIZE, } from './panel-header.constants';
7
+ export { ResizableSplitLayout } from './resizable-split-layout';
@@ -0,0 +1,3 @@
1
+ export declare const PANEL_HEADER_HEIGHT = "2.5rem";
2
+ export declare const PANEL_HEADER_CONTROL_SIZE: "2xs";
3
+ export declare const PANEL_HEADER_TAB_SIZE: "sm";
@@ -1,6 +1,6 @@
1
1
  import { FlexProps } from '@chakra-ui/react';
2
2
  import { ReactNode } from 'react';
3
- import { ResizableSplitSide } from './resizable-split-layout.handle';
3
+ import { ResizableSplitSide } from './resizable-split-layout.geometry';
4
4
  interface ResizableSplitLayoutProps extends Omit<FlexProps, "children" | "onResize"> {
5
5
  resizablePanel: ReactNode;
6
6
  contentPanel: ReactNode;
@@ -12,8 +12,9 @@ interface ResizableSplitLayoutProps extends Omit<FlexProps, "children" | "onResi
12
12
  collapsed?: boolean;
13
13
  collapsible?: boolean;
14
14
  resizeLabel?: string;
15
+ resizeHandleSizePx?: number;
15
16
  showResizeSeparator?: boolean;
16
- onSizeChange?: (width: number) => void;
17
+ onSizeChange?: (size: number) => void;
17
18
  onCollapsedChange?: (collapsed: boolean) => void;
18
19
  }
19
20
  export declare const ResizableSplitLayout: (props: ResizableSplitLayoutProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,56 @@
1
+ export type ResizableSplitSide = "left" | "right" | "top" | "bottom";
2
+ export declare const getResizableSplitAxis: (side: ResizableSplitSide) => {
3
+ readonly rootDirection: "row";
4
+ readonly dimension: "width";
5
+ readonly separatorOrientation: "vertical";
6
+ readonly cursor: "col-resize";
7
+ readonly pointerCoordinate: "clientX";
8
+ readonly deltaDirection: 1;
9
+ readonly panelFirst: true;
10
+ } | {
11
+ readonly rootDirection: "row";
12
+ readonly dimension: "width";
13
+ readonly separatorOrientation: "vertical";
14
+ readonly cursor: "col-resize";
15
+ readonly pointerCoordinate: "clientX";
16
+ readonly deltaDirection: -1;
17
+ readonly panelFirst: false;
18
+ } | {
19
+ readonly rootDirection: "column";
20
+ readonly dimension: "height";
21
+ readonly separatorOrientation: "horizontal";
22
+ readonly cursor: "row-resize";
23
+ readonly pointerCoordinate: "clientY";
24
+ readonly deltaDirection: 1;
25
+ readonly panelFirst: true;
26
+ } | {
27
+ readonly rootDirection: "column";
28
+ readonly dimension: "height";
29
+ readonly separatorOrientation: "horizontal";
30
+ readonly cursor: "row-resize";
31
+ readonly pointerCoordinate: "clientY";
32
+ readonly deltaDirection: -1;
33
+ readonly panelFirst: false;
34
+ };
35
+ export declare const resolveResizableBounds: (input: {
36
+ rootSize: number;
37
+ fallbackRootSize: number;
38
+ minSize: number;
39
+ maxSize?: number;
40
+ contentMinSize: number;
41
+ }) => {
42
+ minSize: number;
43
+ maxSize: number;
44
+ };
45
+ export declare const resolveDraggedPanelSize: (input: {
46
+ side: ResizableSplitSide;
47
+ startSize: number;
48
+ pointerDelta: number;
49
+ minSize: number;
50
+ maxSize: number;
51
+ collapsible: boolean;
52
+ }) => {
53
+ rawSize: number;
54
+ size: number;
55
+ collapsed: boolean;
56
+ };
@@ -1,14 +1,18 @@
1
1
  import { KeyboardEvent as ReactKeyboardEvent, PointerEvent as ReactPointerEvent } from 'react';
2
- export type ResizableSplitSide = "left" | "right";
2
+ import { getResizableSplitAxis } from './resizable-split-layout.geometry';
3
3
  interface ResizeHandleProps {
4
+ axis: ReturnType<typeof getResizableSplitAxis>;
4
5
  bounds: {
5
6
  minSize: number;
6
7
  maxSize: number;
7
8
  };
9
+ collapsed: boolean;
10
+ collapsible: boolean;
8
11
  contentPanelId: string;
9
12
  resizablePanelId: string;
13
+ resizeHandleSizePx: number;
10
14
  resizeLabel: string;
11
- resolvedPanelWidth: number;
15
+ resolvedPanelSize: number;
12
16
  showResizeSeparator: boolean;
13
17
  onResizeKeyDown: (event: ReactKeyboardEvent<HTMLDivElement>) => void;
14
18
  onResizeStart: (event: ReactPointerEvent<HTMLDivElement>) => void;
@@ -0,0 +1,25 @@
1
+ import { KeyboardEvent as ReactKeyboardEvent, ReactNode, PointerEvent as ReactPointerEvent, RefObject } from 'react';
2
+ import { getResizableSplitAxis } from './resizable-split-layout.geometry';
3
+ interface ResizableSplitPanelsProps {
4
+ axis: ReturnType<typeof getResizableSplitAxis>;
5
+ bounds: {
6
+ minSize: number;
7
+ maxSize: number;
8
+ };
9
+ collapsed: boolean;
10
+ collapsible: boolean;
11
+ contentPanel: ReactNode;
12
+ contentPanelId: string;
13
+ contentPanelRef: RefObject<HTMLDivElement | null>;
14
+ resizablePanel: ReactNode;
15
+ resizablePanelId: string;
16
+ resizablePanelRef: RefObject<HTMLDivElement | null>;
17
+ resizeHandleSizePx: number;
18
+ resizeLabel: string;
19
+ resolvedPanelSize: number;
20
+ showResizeSeparator: boolean;
21
+ onResizeKeyDown: (event: ReactKeyboardEvent<HTMLDivElement>) => void;
22
+ onResizeStart: (event: ReactPointerEvent<HTMLDivElement>) => void;
23
+ }
24
+ export declare const ResizableSplitPanels: (props: ResizableSplitPanelsProps) => import("react/jsx-runtime").JSX.Element;
25
+ export {};
@@ -5,6 +5,7 @@ interface RowActionsProps {
5
5
  sectionId?: string;
6
6
  nodeId?: string;
7
7
  };
8
+ alwaysVisible?: boolean;
8
9
  }
9
10
  export declare const RowActions: (props: RowActionsProps) => import("react/jsx-runtime").JSX.Element | null;
10
11
  export {};
@@ -1,4 +1,10 @@
1
1
  import { ListRowItem, ListRowProps } from './list-row.types';
2
+ export declare const createResourceRowActions: (item: ListRowItem, showContextMenuTrigger?: boolean) => import('./list-row.types').ListRowAction[] | {
3
+ id: string;
4
+ label: string;
5
+ icon: import("react/jsx-runtime").JSX.Element;
6
+ menuItems: import('./list-row.types').ListRowActionMenuItem[];
7
+ }[];
2
8
  export declare const ListRowContent: (props: {
3
9
  item: ListRowItem;
4
10
  isExpanded: boolean;
@@ -6,4 +12,5 @@ export declare const ListRowContent: (props: {
6
12
  isDisabled: boolean;
7
13
  tone: ListRowProps["tone"];
8
14
  variant: ListRowProps["variant"];
15
+ showContextMenuTrigger: boolean;
9
16
  }) => import("react/jsx-runtime").JSX.Element;
@@ -13,6 +13,7 @@ export interface ListRowActionContext {
13
13
  export interface ListRowActionMenuItem {
14
14
  id: string;
15
15
  label: string;
16
+ commandId?: string;
16
17
  description?: string;
17
18
  icon?: ReactNode | ComponentType<{
18
19
  size?: number | string;
@@ -37,7 +38,7 @@ export interface ListRowAction {
37
38
  menuItems?: ListRowActionMenuItem[];
38
39
  onAction?: (context: ListRowActionContext) => void;
39
40
  }
40
- export type ListRowVariant = "default" | "compact" | "tree" | "empty-state";
41
+ export type ListRowVariant = "default" | "compact" | "collection" | "full-width" | "tree" | "empty-state";
41
42
  export type ListRowTone = "default" | "danger";
42
43
  export type ListRowMenuPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "right" | "right-start" | "right-end" | "left" | "left-start" | "left-end";
43
44
  /** Data model for one reusable row, including labels, icons, menus, actions, and children. */
@@ -80,6 +81,8 @@ export interface ListRowProps extends ListRowItem, Omit<ListRowRootProps, "as" |
80
81
  isExpanded?: boolean;
81
82
  /** Forces the expand affordance when children are lazy-loaded or externally controlled. */
82
83
  showExpandToggle?: boolean;
84
+ /** Shows context-menu actions from an inline trigger in addition to right-click access. */
85
+ showContextMenuTrigger?: boolean;
83
86
  variant?: ListRowVariant;
84
87
  tone?: ListRowTone;
85
88
  selectedBg?: ListRowRootProps["bg"];
@@ -0,0 +1,6 @@
1
+ import { FlexProps } from '@chakra-ui/react';
2
+ import { ReactNode } from 'react';
3
+ export interface AttachedMenuProps extends Omit<FlexProps, "children"> {
4
+ children?: ReactNode;
5
+ }
6
+ export declare const AttachedMenu: (props: AttachedMenuProps) => import("react/jsx-runtime").JSX.Element;