@pstdio/ui 0.16.0 → 0.18.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 (210) hide show
  1. package/dist/{MermaidComponent-BCMQqPqu.js → MermaidComponent-BPiVFNYK.js} +2 -2
  2. package/dist/{MermaidComponent-BCMQqPqu.js.map → MermaidComponent-BPiVFNYK.js.map} +1 -1
  3. package/dist/chat-ui.js +1618 -1102
  4. package/dist/chat-ui.js.map +1 -1
  5. package/dist/{checkbox-D5AzFRlb.js → checkbox-B2zYVemL.js} +28 -28
  6. package/dist/checkbox-B2zYVemL.js.map +1 -0
  7. package/dist/components/chat-ui/components/chat-input-actions.d.ts +1 -0
  8. package/dist/components/chat-ui/components/chat-input.d.ts +8 -2
  9. package/dist/components/chat-ui/components/chat-panel.d.ts +11 -5
  10. package/dist/components/chat-ui/components/composer-constants.d.ts +1 -0
  11. package/dist/components/chat-ui/components/conversation-browse.d.ts +22 -0
  12. package/dist/components/chat-ui/components/message-types.d.ts +14 -0
  13. package/dist/components/chat-ui/components/queued-follow-up-list-state.d.ts +4 -0
  14. package/dist/components/chat-ui/components/queued-follow-up-list.d.ts +11 -0
  15. package/dist/components/chat-ui/components/timeline.d.ts +5 -0
  16. package/dist/components/chat-ui/components/working-indicator.d.ts +9 -0
  17. package/dist/components/chat-ui/components/workspace-hub.d.ts +8 -1
  18. package/dist/components/chat-ui/index.d.ts +4 -2
  19. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +2 -2
  20. package/dist/components/chat-ui/tool-rendering/question-prompt.d.ts +9 -0
  21. package/dist/components/data-table/build-columns.d.ts +13 -2
  22. package/dist/components/data-table/categorical-color-cell.d.ts +8 -0
  23. package/dist/components/data-table/color-cell-style.d.ts +13 -0
  24. package/dist/components/data-table/color-scale-cell.d.ts +7 -0
  25. package/dist/components/data-table/data-table-column-menu.d.ts +15 -0
  26. package/dist/components/data-table/data-table-header.d.ts +10 -0
  27. package/dist/components/data-table/data-table-stat-chart.d.ts +21 -0
  28. package/dist/components/data-table/data-table-state.d.ts +27 -0
  29. package/dist/components/data-table/data-table-stats-row.d.ts +11 -0
  30. package/dist/components/data-table/data-table-stats.d.ts +19 -0
  31. package/dist/components/data-table/data-table-table-parts.d.ts +21 -0
  32. package/dist/components/data-table/data-table.story-descriptions.d.ts +6 -0
  33. package/dist/components/data-table/data-table.story-fixtures.d.ts +6 -0
  34. package/dist/components/data-table/editable-cells-story.d.ts +9 -0
  35. package/dist/components/data-table/friendly-json-display.d.ts +31 -0
  36. package/dist/components/data-table/index.d.ts +3 -1
  37. package/dist/components/data-table/json-cell.d.ts +6 -0
  38. package/dist/components/data-table/pagination-footer.d.ts +4 -1
  39. package/dist/components/data-table/selection-toolbar.d.ts +3 -1
  40. package/dist/components/data-table/types.d.ts +72 -0
  41. package/dist/components/diff-viewer/code-editor.d.ts +2 -0
  42. package/dist/components/diff-viewer/index.d.ts +1 -1
  43. package/dist/components/diff-viewer/monaco-browser.d.ts +1 -0
  44. package/dist/components/{data-renderer → kanban-renderer}/display-menu.d.ts +4 -4
  45. package/dist/components/{data-renderer → kanban-renderer}/filter-menu.d.ts +3 -3
  46. package/dist/components/kanban-renderer/index.d.ts +19 -0
  47. package/dist/components/kanban-renderer/kanban-renderer-attribute-badge.d.ts +7 -0
  48. package/dist/components/{data-renderer/data-renderer-board-column-header.d.ts → kanban-renderer/kanban-renderer-board-column-header.d.ts} +2 -2
  49. package/dist/components/{data-renderer/data-renderer-board-group-section.d.ts → kanban-renderer/kanban-renderer-board-group-section.d.ts} +2 -2
  50. package/dist/components/{data-renderer/data-renderer-board-move.d.ts → kanban-renderer/kanban-renderer-board-move.d.ts} +3 -3
  51. package/dist/components/{data-renderer/data-renderer-board.d.ts → kanban-renderer/kanban-renderer-board.d.ts} +15 -14
  52. package/dist/components/{data-renderer/data-renderer-card.d.ts → kanban-renderer/kanban-renderer-card.d.ts} +4 -3
  53. package/dist/components/{data-renderer/data-renderer-content.d.ts → kanban-renderer/kanban-renderer-content.d.ts} +8 -8
  54. package/dist/components/kanban-renderer/kanban-renderer-create-dialog.d.ts +12 -0
  55. package/dist/components/kanban-renderer/kanban-renderer-create-field.d.ts +10 -0
  56. package/dist/components/kanban-renderer/kanban-renderer-grouping.d.ts +23 -0
  57. package/dist/components/{data-renderer/data-renderer-helpers.d.ts → kanban-renderer/kanban-renderer-helpers.d.ts} +15 -15
  58. package/dist/components/kanban-renderer/kanban-renderer-list-items.d.ts +25 -0
  59. package/dist/components/kanban-renderer/kanban-renderer-list.d.ts +43 -0
  60. package/dist/components/{data-renderer/data-renderer-story-fixtures.d.ts → kanban-renderer/kanban-renderer-story-fixtures.d.ts} +3 -2
  61. package/dist/components/kanban-renderer/kanban-renderer-toolbar.d.ts +15 -0
  62. package/dist/components/kanban-renderer/kanban-renderer-view-bar.d.ts +14 -0
  63. package/dist/components/kanban-renderer/kanban-renderer-views.d.ts +12 -0
  64. package/dist/components/{data-renderer/data-renderer.d.ts → kanban-renderer/kanban-renderer.d.ts} +11 -8
  65. package/dist/components/{data-renderer → kanban-renderer}/types.d.ts +51 -8
  66. package/dist/components/kanban-renderer/use-kanban-renderer-store.d.ts +78 -0
  67. package/dist/components/layout/index.d.ts +1 -0
  68. package/dist/components/layout/panel-header.constants.d.ts +2 -0
  69. package/dist/components/layout/resizable-split-layout.d.ts +3 -2
  70. package/dist/components/layout/resizable-split-layout.geometry.d.ts +56 -0
  71. package/dist/components/layout/resizable-split-layout.handle.d.ts +6 -2
  72. package/dist/components/layout/resizable-split-layout.panels.d.ts +25 -0
  73. package/dist/components/list-row/list-row-actions.d.ts +1 -0
  74. package/dist/components/list-row/list-row-content.d.ts +7 -0
  75. package/dist/components/list-row/list-row.types.d.ts +4 -1
  76. package/dist/components/overlays/attached-menu.d.ts +6 -0
  77. package/dist/components/overlays/attachment-chip.d.ts +13 -0
  78. package/dist/components/overlays/index.d.ts +6 -2
  79. package/dist/components/overlays/resource-context-menu.d.ts +13 -1
  80. package/dist/components/overlays/searchable-menu-input.d.ts +9 -0
  81. package/dist/components/param-editor/index.d.ts +6 -2
  82. package/dist/components/param-editor/inputs/action-input.d.ts +1 -0
  83. package/dist/components/param-editor/inputs/boolean-input.d.ts +13 -0
  84. package/dist/components/param-editor/inputs/color-input.d.ts +1 -0
  85. package/dist/components/param-editor/inputs/date-input.d.ts +1 -0
  86. package/dist/components/param-editor/inputs/file-upload-input.d.ts +15 -0
  87. package/dist/components/param-editor/inputs/file-upload-value.d.ts +7 -0
  88. package/dist/components/param-editor/inputs/horizontal-text-input.d.ts +1 -0
  89. package/dist/components/param-editor/inputs/markdown-input.d.ts +13 -0
  90. package/dist/components/param-editor/inputs/number-input.d.ts +1 -0
  91. package/dist/components/param-editor/inputs/range-input.d.ts +1 -0
  92. package/dist/components/param-editor/inputs/resource-input.d.ts +2 -0
  93. package/dist/components/param-editor/inputs/segmented-input.d.ts +1 -0
  94. package/dist/components/param-editor/inputs/selection-input.d.ts +7 -6
  95. package/dist/components/param-editor/inputs/selection-menu.d.ts +33 -0
  96. package/dist/components/param-editor/inputs/text-input.d.ts +1 -0
  97. package/dist/components/param-editor/param-editor-advanced-field.d.ts +14 -0
  98. package/dist/components/param-editor/param-editor-control-fixtures.d.ts +24 -0
  99. package/dist/components/param-editor/param-editor-field.d.ts +2 -0
  100. package/dist/components/param-editor/param-editor-horizontal.d.ts +3 -2
  101. package/dist/components/param-editor/param-editor-label.d.ts +1 -0
  102. package/dist/components/param-editor/param-editor-presentation.d.ts +3 -0
  103. package/dist/components/param-editor/param-editor-read-only-field.d.ts +9 -0
  104. package/dist/components/param-editor/param-editor-section.d.ts +1 -0
  105. package/dist/components/param-editor/param-editor.d.ts +1 -0
  106. package/dist/components/param-editor/param-editor.types.d.ts +59 -18
  107. package/dist/components/param-editor/resolve-param-value.d.ts +2 -0
  108. package/dist/components/primitives/chip.d.ts +4 -0
  109. package/dist/components/primitives/index.d.ts +2 -0
  110. package/dist/components/primitives/resource-badge.d.ts +12 -10
  111. package/dist/components/rich-text/index.d.ts +1 -0
  112. package/dist/components/rich-text/lazy-markdown-editor.d.ts +2 -0
  113. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +2 -1
  114. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +2 -1
  115. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +2 -1
  116. package/dist/components/rich-text/prompt-input/prompt-input.d.ts +3 -2
  117. package/dist/components/rich-text/types.d.ts +1 -1
  118. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  119. package/dist/components/{sidebar/sidebar-footer.d.ts → sidenav/sidenav-footer.d.ts} +2 -2
  120. package/dist/components/{sidebar/sidebar-header.d.ts → sidenav/sidenav-header.d.ts} +2 -2
  121. package/dist/components/sidenav/sidenav.d.ts +2 -0
  122. package/dist/components/sidenav/sidenav.store.d.ts +49 -0
  123. package/dist/components/{sidebar/sidebar.types.d.ts → sidenav/sidenav.types.d.ts} +5 -5
  124. package/dist/components/tab-strip/tab-visibility-filter.d.ts +1 -0
  125. package/dist/components/terminal/terminal.d.ts +11 -0
  126. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +0 -1
  127. package/dist/components/tree-list/tree-list.d.ts +1 -1
  128. package/dist/components/tree-list/tree-list.types.d.ts +4 -0
  129. package/dist/data-table.js +1321 -0
  130. package/dist/data-table.js.map +1 -0
  131. package/dist/diff.js +370 -366
  132. package/dist/diff.js.map +1 -1
  133. package/dist/font/css/prompt-studio-icons.css +690 -0
  134. package/dist/font/prompt-studio-icons.eot +0 -0
  135. package/dist/font/prompt-studio-icons.svg +1 -0
  136. package/dist/font/prompt-studio-icons.ttf +0 -0
  137. package/dist/font/prompt-studio-icons.woff +0 -0
  138. package/dist/font/prompt-studio-icons.woff2 +0 -0
  139. package/dist/index.d.ts +3 -3
  140. package/dist/index.js +1854 -3381
  141. package/dist/index.js.map +1 -1
  142. package/dist/kanban-renderer-toolbar-Db1mIWWd.js +1318 -0
  143. package/dist/kanban-renderer-toolbar-Db1mIWWd.js.map +1 -0
  144. package/dist/kanban-renderer.js +1101 -0
  145. package/dist/kanban-renderer.js.map +1 -0
  146. package/dist/lazy-markdown-editor-DwhqQ-NN.js +26 -0
  147. package/dist/lazy-markdown-editor-DwhqQ-NN.js.map +1 -0
  148. package/dist/list-row-BYWwcbGK.js +823 -0
  149. package/dist/list-row-BYWwcbGK.js.map +1 -0
  150. package/dist/markdown-DDd2ESoH.js +743 -0
  151. package/dist/markdown-DDd2ESoH.js.map +1 -0
  152. package/dist/markdown-editor-CYVkzt8t.js +741 -0
  153. package/dist/markdown-editor-CYVkzt8t.js.map +1 -0
  154. package/dist/monaco-browser-CO0NxK_Z.js +19 -0
  155. package/dist/monaco-browser-CO0NxK_Z.js.map +1 -0
  156. package/dist/param-editor-BCZOw5Gt.js +140 -0
  157. package/dist/param-editor-BCZOw5Gt.js.map +1 -0
  158. package/dist/param-editor-field-ZzZwgjZ_.js +2094 -0
  159. package/dist/param-editor-field-ZzZwgjZ_.js.map +1 -0
  160. package/dist/resource-badge-CuItchgL.js +98 -0
  161. package/dist/resource-badge-CuItchgL.js.map +1 -0
  162. package/dist/rich-message--eRzjWYK.js +730 -0
  163. package/dist/rich-message--eRzjWYK.js.map +1 -0
  164. package/dist/rich-text.js +114 -827
  165. package/dist/rich-text.js.map +1 -1
  166. package/dist/style.css +1 -1
  167. package/dist/terminal.js +197 -177
  168. package/dist/terminal.js.map +1 -1
  169. package/dist/theme/primitives/fonts.d.ts +3 -0
  170. package/dist/theme/primitives/sizes.d.ts +23 -0
  171. package/dist/theme/recipes/badge.d.ts +8 -0
  172. package/dist/theme/recipes/button.d.ts +6 -0
  173. package/dist/theme/recipes/color-picker.d.ts +18 -1
  174. package/dist/theme/recipes/switch.d.ts +17 -0
  175. package/dist/theme/recipes/tabs.d.ts +4 -4
  176. package/dist/theme/tokens/colors.d.ts +18 -24
  177. package/dist/{theme-CJBYBJaA.js → theme-poQlUgt0.js} +414 -240
  178. package/dist/theme-poQlUgt0.js.map +1 -0
  179. package/dist/theme.js +1 -1
  180. package/dist/tree-list-BAja2eXU.js +1033 -0
  181. package/dist/tree-list-BAja2eXU.js.map +1 -0
  182. package/package.json +11 -4
  183. package/dist/checkbox-D5AzFRlb.js.map +0 -1
  184. package/dist/components/data-renderer/card-interaction-guard.d.ts +0 -2
  185. package/dist/components/data-renderer/data-renderer-attribute-badge.d.ts +0 -7
  186. package/dist/components/data-renderer/data-renderer-grouping.d.ts +0 -23
  187. package/dist/components/data-renderer/data-renderer-list.d.ts +0 -39
  188. package/dist/components/data-renderer/data-renderer-toolbar.d.ts +0 -12
  189. package/dist/components/data-renderer/index.d.ts +0 -18
  190. package/dist/components/data-renderer/use-data-renderer-store.d.ts +0 -59
  191. package/dist/components/param-editor/inputs/file-accept.d.ts +0 -22
  192. package/dist/components/param-editor/inputs/file-drop-input.d.ts +0 -14
  193. package/dist/components/sidebar/sidebar.d.ts +0 -2
  194. package/dist/components/sidebar/sidebar.store.d.ts +0 -49
  195. package/dist/data-renderer.js +0 -1669
  196. package/dist/data-renderer.js.map +0 -1
  197. package/dist/list-row-mi3Hn-Um.js +0 -740
  198. package/dist/list-row-mi3Hn-Um.js.map +0 -1
  199. package/dist/resource-badge-qCWHP-wQ.js +0 -99
  200. package/dist/resource-badge-qCWHP-wQ.js.map +0 -1
  201. package/dist/rich-message-DBf_5YlW.js +0 -1450
  202. package/dist/rich-message-DBf_5YlW.js.map +0 -1
  203. package/dist/theme-CJBYBJaA.js.map +0 -1
  204. package/dist/tree-list-CcuZMLS5.js +0 -930
  205. package/dist/tree-list-CcuZMLS5.js.map +0 -1
  206. package/dist/workspace-badge-Fuo-1zPj.js +0 -314
  207. package/dist/workspace-badge-Fuo-1zPj.js.map +0 -1
  208. /package/dist/components/{data-renderer/data-renderer-badge-helpers.d.ts → kanban-renderer/kanban-renderer-badge-helpers.d.ts} +0 -0
  209. /package/dist/components/{data-renderer/data-renderer-enum-helpers.d.ts → kanban-renderer/kanban-renderer-enum-helpers.d.ts} +0 -0
  210. /package/dist/components/{data-renderer → kanban-renderer}/use-resolved-attributes.d.ts +0 -0
@@ -1,34 +1,34 @@
1
- import { jsx as v, jsxs as S } from "react/jsx-runtime";
1
+ import { jsx as m, jsxs as S } from "react/jsx-runtime";
2
2
  import { c as w } from "react/compiler-runtime";
3
- import { Checkbox as u } from "@chakra-ui/react";
4
- import * as j from "react";
5
- const L = j.forwardRef(function(k, R) {
3
+ import { Checkbox as s } from "@chakra-ui/react";
4
+ import * as I from "react";
5
+ const L = I.forwardRef(function(k, R) {
6
6
  const e = w(33);
7
- let r, t, l, i, a, s, f;
7
+ let r, t, l, i, a, f, u;
8
8
  e[0] !== k ? ({
9
9
  icon: t,
10
10
  children: r,
11
11
  inputProps: l,
12
12
  rootRef: a,
13
- disabled: s,
14
- readOnly: f,
13
+ disabled: f,
14
+ readOnly: u,
15
15
  ...i
16
- } = k, e[0] = k, e[1] = r, e[2] = t, e[3] = l, e[4] = i, e[5] = a, e[6] = s, e[7] = f) : (r = e[1], t = e[2], l = e[3], i = e[4], a = e[5], s = e[6], f = e[7]);
17
- const m = s === void 0 ? !1 : s, h = f === void 0 ? !1 : f, o = m ? "not-allowed" : h ? "default" : "pointer";
16
+ } = k, e[0] = k, e[1] = r, e[2] = t, e[3] = l, e[4] = i, e[5] = a, e[6] = f, e[7] = u) : (r = e[1], t = e[2], l = e[3], i = e[4], a = e[5], f = e[6], u = e[7]);
17
+ const h = f === void 0 ? !1 : f, g = u === void 0 ? !1 : u, o = h ? "not-allowed" : g ? "default" : "pointer";
18
18
  let n;
19
- e[8] !== l || e[9] !== R ? (n = /* @__PURE__ */ v(u.HiddenInput, { ref: R, ...l }), e[8] = l, e[9] = R, e[10] = n) : n = e[10];
20
- let g, C, p;
21
- e[11] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = {
22
- borderColor: "border.accent-light"
23
- }, C = {
19
+ e[8] !== l || e[9] !== R ? (n = /* @__PURE__ */ m(s.HiddenInput, { ref: R, ...l }), e[8] = l, e[9] = R, e[10] = n) : n = e[10];
20
+ let C, p, y;
21
+ e[11] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (C = {
24
22
  borderColor: "border.accent-light"
25
23
  }, p = {
24
+ borderColor: "border.accent-light"
25
+ }, y = {
26
26
  borderColor: "border.accent-light",
27
27
  outline: "none",
28
28
  boxShadow: "none"
29
- }, e[11] = g, e[12] = C, e[13] = p) : (g = e[11], C = e[12], p = e[13]);
30
- let y;
31
- e[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (y = {
29
+ }, e[11] = C, e[12] = p, e[13] = y) : (C = e[11], p = e[12], y = e[13]);
30
+ let _;
31
+ e[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (_ = {
32
32
  bg: "bg.button.primary.default",
33
33
  borderColor: "bg.button.primary.default",
34
34
  color: "fg.button.primary.default",
@@ -38,9 +38,9 @@ const L = j.forwardRef(function(k, R) {
38
38
  _active: {
39
39
  borderColor: "bg.button.primary.default"
40
40
  }
41
- }, e[14] = y) : y = e[14];
42
- let _;
43
- e[15] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (_ = {
41
+ }, e[14] = _) : _ = e[14];
42
+ let x;
43
+ e[15] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = {
44
44
  bg: "bg.button.primary.default",
45
45
  borderColor: "bg.button.primary.default",
46
46
  color: "fg.button.primary.default",
@@ -50,21 +50,21 @@ const L = j.forwardRef(function(k, R) {
50
50
  _active: {
51
51
  borderColor: "bg.button.primary.default"
52
52
  }
53
- }, e[15] = _) : _ = e[15];
53
+ }, e[15] = x) : x = e[15];
54
54
  let b;
55
- e[16] !== t ? (b = t || /* @__PURE__ */ v(u.Indicator, {}), e[16] = t, e[17] = b) : b = e[17];
55
+ e[16] !== t ? (b = t ? /* @__PURE__ */ m(s.Indicator, { children: t }) : /* @__PURE__ */ m(s.Indicator, {}), e[16] = t, e[17] = b) : b = e[17];
56
56
  let d;
57
- e[18] !== o || e[19] !== b ? (d = /* @__PURE__ */ v(u.Control, { bg: "bg", borderColor: "border", borderRadius: "xs", color: "fg.button.primary.default", cursor: o, transition: "border-color 0.2s ease-in-out", boxShadow: "none", _hover: g, _active: C, _focusVisible: p, _checked: y, _indeterminate: _, children: b }), e[18] = o, e[19] = b, e[20] = d) : d = e[20];
57
+ e[18] !== o || e[19] !== b ? (d = /* @__PURE__ */ m(s.Control, { bg: "bg", borderColor: "border", borderRadius: "xs", color: "fg.button.primary.default", cursor: o, transition: "border-color 0.2s ease-in-out", boxShadow: "none", _hover: C, _active: p, _focusVisible: y, _checked: _, _indeterminate: x, children: b }), e[18] = o, e[19] = b, e[20] = d) : d = e[20];
58
58
  let c;
59
- e[21] !== r || e[22] !== o ? (c = r != null && /* @__PURE__ */ v(u.Label, { cursor: o, children: r }), e[21] = r, e[22] = o, e[23] = c) : c = e[23];
60
- let x;
61
- return e[24] !== m || e[25] !== o || e[26] !== h || e[27] !== i || e[28] !== a || e[29] !== c || e[30] !== n || e[31] !== d ? (x = /* @__PURE__ */ S(u.Root, { ref: a, disabled: m, readOnly: h, cursor: o, ...i, children: [
59
+ e[21] !== r || e[22] !== o ? (c = r != null && /* @__PURE__ */ m(s.Label, { cursor: o, children: r }), e[21] = r, e[22] = o, e[23] = c) : c = e[23];
60
+ let v;
61
+ return e[24] !== h || e[25] !== o || e[26] !== g || e[27] !== i || e[28] !== a || e[29] !== c || e[30] !== n || e[31] !== d ? (v = /* @__PURE__ */ S(s.Root, { ref: a, disabled: h, readOnly: g, cursor: o, ...i, children: [
62
62
  n,
63
63
  d,
64
64
  c
65
- ] }), e[24] = m, e[25] = o, e[26] = h, e[27] = i, e[28] = a, e[29] = c, e[30] = n, e[31] = d, e[32] = x) : x = e[32], x;
65
+ ] }), e[24] = h, e[25] = o, e[26] = g, e[27] = i, e[28] = a, e[29] = c, e[30] = n, e[31] = d, e[32] = v) : v = e[32], v;
66
66
  });
67
67
  export {
68
68
  L as C
69
69
  };
70
- //# sourceMappingURL=checkbox-D5AzFRlb.js.map
70
+ //# sourceMappingURL=checkbox-B2zYVemL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-B2zYVemL.js","sources":["../src/components/primitives/checkbox.tsx"],"sourcesContent":["import { Checkbox as ChakraCheckbox } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface CheckboxProps extends ChakraCheckbox.RootProps {\n icon?: React.ReactNode;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n rootRef?: React.RefObject<HTMLLabelElement | null>;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(props, ref) {\n const { icon, children, inputProps, rootRef, disabled = false, readOnly = false, ...rest } = props;\n const interactiveCursor = disabled ? \"not-allowed\" : readOnly ? \"default\" : \"pointer\";\n\n return (\n <ChakraCheckbox.Root ref={rootRef} disabled={disabled} readOnly={readOnly} cursor={interactiveCursor} {...rest}>\n <ChakraCheckbox.HiddenInput ref={ref} {...inputProps} />\n <ChakraCheckbox.Control\n bg=\"bg\"\n borderColor=\"border\"\n borderRadius=\"xs\"\n color=\"fg.button.primary.default\"\n cursor={interactiveCursor}\n transition=\"border-color 0.2s ease-in-out\"\n boxShadow=\"none\"\n _hover={{ borderColor: \"border.accent-light\" }}\n _active={{ borderColor: \"border.accent-light\" }}\n _focusVisible={{ borderColor: \"border.accent-light\", outline: \"none\", boxShadow: \"none\" }}\n _checked={{\n bg: \"bg.button.primary.default\",\n borderColor: \"bg.button.primary.default\",\n color: \"fg.button.primary.default\",\n _hover: { borderColor: \"bg.button.primary.default\" },\n _active: { borderColor: \"bg.button.primary.default\" },\n }}\n _indeterminate={{\n bg: \"bg.button.primary.default\",\n borderColor: \"bg.button.primary.default\",\n color: \"fg.button.primary.default\",\n _hover: { borderColor: \"bg.button.primary.default\" },\n _active: { borderColor: \"bg.button.primary.default\" },\n }}\n >\n {icon ? <ChakraCheckbox.Indicator>{icon}</ChakraCheckbox.Indicator> : <ChakraCheckbox.Indicator />}\n </ChakraCheckbox.Control>\n {children != null && <ChakraCheckbox.Label cursor={interactiveCursor}>{children}</ChakraCheckbox.Label>}\n </ChakraCheckbox.Root>\n );\n});\n"],"names":["Checkbox","React","forwardRef","props","ref","$","_c","children","icon","inputProps","rest","rootRef","t0","t1","disabled","readOnly","undefined","interactiveCursor","t2","t3","t4","t5","Symbol","for","borderColor","outline","boxShadow","t6","bg","color","_hover","_active","t7","t8","jsx","ChakraCheckbox","t9","t10","t11","jsxs"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  interface ChatInputActionState {
2
2
  canInterrupt: boolean;
3
+ hasQuestionPrompt: boolean;
3
4
  isDisabled: boolean;
4
5
  streaming: boolean;
5
6
  text: string;
@@ -1,6 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
+ import { ReferenceItem } from '../../rich-text';
2
3
  import { ChatInputQuestionPrompt, ChatInputQuestionResponse } from './chat-input-question-prompt';
3
- interface ChatInputProps {
4
+ export interface ChatInputProps {
4
5
  defaultState: string;
5
6
  placeholder?: string;
6
7
  onSubmit?: (text: string, attachments: string[], questionResponse?: ChatInputQuestionResponse) => void;
@@ -16,8 +17,13 @@ interface ChatInputProps {
16
17
  attachmentList?: ReactNode;
17
18
  actions?: ReactNode;
18
19
  attachedToTop?: boolean;
20
+ /** Recede the resting border to border.subtle when nested inside a stronger shell (the workspace hub). */
21
+ recessed?: boolean;
19
22
  questionPrompt?: ChatInputQuestionPrompt;
20
23
  autoFocus?: boolean;
24
+ focusSignal?: number;
25
+ submitTitle?: string;
26
+ references?: ReferenceItem[];
27
+ onAddReference?: (resourceId: string, resourceType: ReferenceItem["resourceType"]) => void;
21
28
  }
22
29
  export declare const ChatInput: (props: ChatInputProps) => import("react/jsx-runtime").JSX.Element;
23
- export {};
@@ -1,8 +1,10 @@
1
1
  import { ReactNode } from 'react';
2
+ import { ReferenceItem } from '../../rich-text';
2
3
  import { ChatInputQuestionPrompt, ChatInputQuestionResponse } from './chat-input-question-prompt';
3
- import { SessionMessage } from './message-types';
4
+ import { QueuedFollowUp, SessionMessage } from './message-types';
5
+ import { QueuedFollowUpMoveDirection } from './queued-follow-up-list-state';
4
6
  /** Full conversation shell for agent sessions, including messages, input, attachments, and host-provided slots. */
5
- interface ChatPanelProps {
7
+ export interface ChatPanelProps {
6
8
  /** Stable conversation identity used to reset ready state when switching sessions. */
7
9
  conversationKey?: string;
8
10
  messages: SessionMessage[];
@@ -19,9 +21,8 @@ interface ChatPanelProps {
19
21
  onAttachFiles?: (files: File[]) => void;
20
22
  onAttachText?: (text: string) => void;
21
23
  onChatInputChange?: (text: string) => void;
22
- /** Extra controls rendered near the chat input. */
24
+ /** Extra controls rendered in the chat input toolbar (attach, model, params). */
23
25
  actions?: ReactNode;
24
- repoMenu?: ReactNode;
25
26
  attachedResources?: string[];
26
27
  onClearAttachments?: () => void;
27
28
  attachmentList?: ReactNode;
@@ -32,6 +33,11 @@ interface ChatPanelProps {
32
33
  inputDisabled?: boolean;
33
34
  chatInputQuestionPrompt?: ChatInputQuestionPrompt;
34
35
  chatInputAutoFocus?: boolean;
36
+ queuedFollowUps?: QueuedFollowUp[];
37
+ onQueuedFollowUpUpdate?: (itemId: string, prompt: string) => void;
38
+ onQueuedFollowUpRemove?: (itemId: string) => void;
39
+ onQueuedFollowUpMove?: (itemId: string, direction: QueuedFollowUpMoveDirection, steps?: number) => void;
40
+ chatInputReferences?: ReferenceItem[];
41
+ onChatInputAddReference?: (resourceId: string, resourceType: ReferenceItem["resourceType"]) => void;
35
42
  }
36
43
  export declare const ChatPanel: (props: ChatPanelProps) => import("react/jsx-runtime").JSX.Element;
37
- export {};
@@ -0,0 +1 @@
1
+ export declare const COMPOSER_CONTROL_HEIGHT = "7";
@@ -0,0 +1,22 @@
1
+ export interface ConversationBrowseItem {
2
+ /** Turn id used to scroll the log to this user message. */
3
+ id: string;
4
+ /** The user message this tick indexes (shown in the hover card). */
5
+ message: string;
6
+ /** Optional assistant reply preview; hidden for a turn not yet answered. */
7
+ reply?: string;
8
+ }
9
+ interface ConversationBrowseProps {
10
+ items: ConversationBrowseItem[];
11
+ onSelect?: (id: string) => void;
12
+ /** Overlay the log's left edge with a scrim instead of reserving a gutter (panels under ~480px). */
13
+ floating?: boolean;
14
+ }
15
+ /**
16
+ * ChatBrowse — the conversation scrubber for the chat log's left gutter. One tick per user
17
+ * message, in order; the ticks nearest the pointer swell into a lens (growing along X only, so
18
+ * the row you aim at never moves), and the active tick raises a preview card. Clicking a tick
19
+ * selects that turn. Hidden below a few messages, where a gutter costs space and buys nothing.
20
+ */
21
+ export declare const ConversationBrowse: (props: ConversationBrowseProps) => import("react/jsx-runtime").JSX.Element | null;
22
+ export {};
@@ -88,9 +88,23 @@ export type SessionMessage = {
88
88
  };
89
89
  };
90
90
  };
91
+ export type QueuedFollowUp = {
92
+ id: string;
93
+ prompt: string;
94
+ attachments?: Array<{
95
+ id: string;
96
+ name: string;
97
+ mediaType?: string;
98
+ url?: string;
99
+ }>;
100
+ position?: number;
101
+ };
91
102
  export type MessageOrigin = "user" | "assistant" | "developer";
92
103
  export declare const getMessageOrigin: (role: string) => MessageOrigin;
93
104
  export declare const mergeReasoningToolOnlyMessages: (messages: SessionMessage[]) => SessionMessage[];
105
+ export declare const normalizeChatMessagesForDisplay: (messages: SessionMessage[], options?: {
106
+ streaming?: boolean;
107
+ }) => SessionMessage[];
94
108
  export interface MessageGroup {
95
109
  userMessage: SessionMessage;
96
110
  responses: SessionMessage[];
@@ -0,0 +1,4 @@
1
+ import { QueuedFollowUp } from './message-types';
2
+ export type QueuedFollowUpMoveDirection = "up" | "down";
3
+ export declare const moveQueuedFollowUp: (items: QueuedFollowUp[], itemId: string, direction: QueuedFollowUpMoveDirection, steps?: number) => QueuedFollowUp[];
4
+ export declare const reorderQueuedFollowUp: (items: QueuedFollowUp[], itemId: string, targetIndex: number) => QueuedFollowUp[];
@@ -0,0 +1,11 @@
1
+ import { QueuedFollowUp } from './message-types';
2
+ import { QueuedFollowUpMoveDirection } from './queued-follow-up-list-state';
3
+ interface QueuedFollowUpListProps {
4
+ items: QueuedFollowUp[];
5
+ editingItemId?: string | null;
6
+ onEdit?: (item: QueuedFollowUp) => void;
7
+ onRemove?: (itemId: string) => void;
8
+ onMove?: (itemId: string, direction: QueuedFollowUpMoveDirection, steps?: number) => void;
9
+ }
10
+ export declare const QueuedFollowUpList: (props: QueuedFollowUpListProps) => import("react/jsx-runtime").JSX.Element | null;
11
+ export {};
@@ -94,6 +94,11 @@ export type Block = {
94
94
  } | {
95
95
  type: "references";
96
96
  references: string[];
97
+ } | {
98
+ type: "image";
99
+ src: string;
100
+ alt: string;
101
+ caption?: string;
97
102
  } | {
98
103
  type: "component";
99
104
  render: (ctx: {
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Working indicator: a spinner followed by the elapsed run time in mono digits — never a
3
+ * static "Working…" label. The elapsed time is the one thing a static label cannot tell you
4
+ * and how you judge whether a run is stuck. Counts from the start of the active stream, including
5
+ * time spent temporarily hidden while the workspace initializes.
6
+ */
7
+ export declare const WorkingIndicator: (props: {
8
+ hidden?: boolean;
9
+ }) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,12 +1,19 @@
1
1
  import { ReactNode } from 'react';
2
2
  type WorkspaceHubStatus = "ready" | "loading" | "error";
3
3
  interface ChatWorkspaceHubProps {
4
- changesLabel: string;
4
+ /** Workspace identity/selector shown at the start of the header (e.g. GitBranch + name). */
5
+ workspaceControl?: ReactNode;
5
6
  additions: number;
6
7
  deletions: number;
8
+ /** Icon-only action that opens the workspace resource. */
7
9
  action?: ReactNode;
8
10
  status?: WorkspaceHubStatus;
9
11
  statusLabel?: string;
10
12
  }
13
+ /**
14
+ * Workspace hub header: the frame the session sits in. The identity is always present;
15
+ * the slot beside it carries the diff counts, or the setup status while the workspace is
16
+ * being created or has failed. The open action recedes during setup.
17
+ */
11
18
  export declare const ChatWorkspaceHub: (props: ChatWorkspaceHubProps) => import("react/jsx-runtime").JSX.Element;
12
19
  export {};
@@ -6,11 +6,13 @@ export { ApprovalPrompt } from './components/approval-prompt';
6
6
  export { AttachmentList } from './components/attachment-list';
7
7
  export type { AutoScrollProps } from './components/auto-scroll';
8
8
  export { AutoScroll } from './components/auto-scroll';
9
- export { ChatInput } from './components/chat-input';
9
+ export { ChatInput, type ChatInputProps } from './components/chat-input';
10
10
  export type { ChatInputQuestionPrompt, ChatInputQuestionResponse } from './components/chat-input-question-prompt';
11
11
  export { ChatPanel } from './components/chat-panel';
12
12
  export { ChatSkeleton } from './components/chat-skeleton';
13
- export type { AlertPart, ChatMessagePart, SessionMessage, SessionMessagePart, ToolPart, } from './components/message-types';
13
+ export { ConversationBrowse, type ConversationBrowseItem } from './components/conversation-browse';
14
+ export type { AlertPart, ChatMessagePart, QueuedFollowUp, SessionMessage, SessionMessagePart, ToolPart, } from './components/message-types';
15
+ export type { QueuedFollowUpMoveDirection } from './components/queued-follow-up-list-state';
14
16
  export type { SendButtonProps } from './components/send-button';
15
17
  export { SendButton } from './components/send-button';
16
18
  export { ChatWorkspaceHub } from './components/workspace-hub';
@@ -1,8 +1,8 @@
1
1
  import { ToolPart } from '../components/message-types';
2
- import { Block, TitleSegment } from '../components/timeline';
2
+ import { Block, Item, TitleSegment } from '../components/timeline';
3
3
  import { ToolTimelineBuilderOptions } from './types';
4
4
  export declare const buildTimelineDocFromInvocations: (invocations: ToolPart[], options?: ToolTimelineBuilderOptions) => {
5
- items: (import('../components/timeline').Item | {
5
+ items: (Item | {
6
6
  indicator: {
7
7
  readonly type: "icon";
8
8
  readonly icon: "search" | "dot" | "danger" | "file" | "terminal" | "shell" | "ls" | "read_file" | "write_file" | "delete_file" | "patch" | "upload_files" | "download_file" | "move_file" | "browser" | "question" | "todo";
@@ -0,0 +1,9 @@
1
+ import { SessionMessage } from '../components/message-types';
2
+ import { QuestionFormBlockQuestion } from '../components/timeline';
3
+ export declare const getQuestionResponseText: (value: unknown) => string | null;
4
+ export declare const parseQuestionPrompt: (input: unknown) => {
5
+ questions: QuestionFormBlockQuestion[];
6
+ } | null;
7
+ export declare const resolveActiveQuestionPrompt: (messages: SessionMessage[]) => {
8
+ questions: QuestionFormBlockQuestion[];
9
+ } | undefined;
@@ -1,3 +1,14 @@
1
+ import { RowSelectionState } from '@tanstack/react-table';
1
2
  import { ReactNode } from 'react';
2
- import { RowData } from './types';
3
- export declare function buildColumns(data: RowData[], columnKeys: string[], columnIcons?: Partial<Record<string, ReactNode>>): (import('@tanstack/react-table').AccessorFnColumnDef<RowData, number> | import('@tanstack/react-table').AccessorFnColumnDef<RowData, unknown>)[];
3
+ import { DataTableColumnRenderer, DataTableRowAction, RowData } from './types';
4
+ interface BuildColumnsOptions {
5
+ columnIcons?: Partial<Record<string, ReactNode>>;
6
+ columnDescriptions?: Partial<Record<string, string>>;
7
+ compactHeaders?: Partial<Record<string, string>>;
8
+ enableSelection?: boolean;
9
+ rowActions?: DataTableRowAction[];
10
+ selectedRowIds?: RowSelectionState;
11
+ columnRenderers?: Partial<Record<string, DataTableColumnRenderer>>;
12
+ }
13
+ export declare function buildColumns(data: RowData[], columnKeys: string[], options?: BuildColumnsOptions): ((import('@tanstack/react-table').ColumnDefBase<RowData, unknown> & import('@tanstack/react-table').StringHeaderIdentifier) | (import('@tanstack/react-table').ColumnDefBase<RowData, unknown> & import('@tanstack/react-table').IdIdentifier<RowData, unknown>) | (import('@tanstack/react-table').AccessorFnColumnDefBase<RowData, number> & import('@tanstack/react-table').StringHeaderIdentifier) | (import('@tanstack/react-table').AccessorFnColumnDefBase<RowData, number> & import('@tanstack/react-table').IdIdentifier<RowData, number>))[];
14
+ export {};
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { DataTableCategoricalColor } from './types';
3
+ interface CategoricalColorCellProps {
4
+ children: ReactNode;
5
+ }
6
+ export declare const resolveCategoricalColor: (value: unknown, categories: DataTableCategoricalColor[]) => import('./types').DataTableThemeColor | null;
7
+ export declare const CategoricalColorCell: (props: CategoricalColorCellProps) => ReactNode;
8
+ export {};
@@ -0,0 +1,13 @@
1
+ import { DataTableThemeColor } from './types';
2
+ export declare const parseHexColor: (color: string) => {
3
+ r: number;
4
+ g: number;
5
+ b: number;
6
+ } | null;
7
+ export declare const contrastRatioForHexColors: (foregroundColor: string, backgroundColor: string) => number;
8
+ export declare const resolveReadableTextColor: (backgroundColor: string) => string;
9
+ export declare const mixHexColors: (startColor: string, endColor: string, startWeight: number) => string | null;
10
+ export declare const resolveColorCellStyle: (color: DataTableThemeColor) => {
11
+ backgroundColor: string;
12
+ color: string;
13
+ };
@@ -0,0 +1,7 @@
1
+ import { DataTableColorScaleStop, DataTableThemeColor } from './types';
2
+ interface ColorScaleCellProps {
3
+ value: number;
4
+ }
5
+ export declare const resolveColorScaleValue: (value: unknown, stops: DataTableColorScaleStop[]) => DataTableThemeColor | null;
6
+ export declare const ColorScaleCell: (props: ColorScaleCellProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,15 @@
1
+ interface DataTableColumnMenuColumn {
2
+ id: string;
3
+ label: string;
4
+ }
5
+ interface DataTableColumnMenuProps {
6
+ columns: DataTableColumnMenuColumn[];
7
+ visibleColumnIds: Set<string>;
8
+ showStats: boolean;
9
+ statsAvailable: boolean;
10
+ onColumnVisibilityChange: (columnId: string, visible: boolean) => void;
11
+ onColumnReorder: (activeColumnId: string, overColumnId: string) => void;
12
+ onStatsVisibilityChange: (showStats: boolean) => void;
13
+ }
14
+ export declare const DataTableColumnMenu: (props: DataTableColumnMenuProps) => import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ import { AttributeDescriptor, KanbanRendererRow } from '../kanban-renderer/types';
3
+ interface DataTableHeaderProps {
4
+ rows: KanbanRendererRow[];
5
+ attributes: AttributeDescriptor[];
6
+ storageKey: string;
7
+ columnControl: ReactNode;
8
+ }
9
+ export declare const DataTableHeader: (props: DataTableHeaderProps) => import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,21 @@
1
+ import { UseChartProps } from '@chakra-ui/charts';
2
+ import { ReactNode } from 'react';
3
+ type ChartSeries<T> = NonNullable<UseChartProps<T>["series"]>[number];
4
+ type StringKeyOf<T> = Extract<keyof T, string>;
5
+ interface DataTableStatChartProps<T extends object> {
6
+ data: T[];
7
+ dataKey: StringKeyOf<T>;
8
+ color: ChartSeries<T>["color"];
9
+ height: string;
10
+ ariaLabel: string;
11
+ tooltipLabel: (datum: T) => ReactNode;
12
+ tooltipValue: (value: string | number) => ReactNode;
13
+ tooltipSeriesLabel: string;
14
+ layout?: "horizontal" | "vertical";
15
+ categoryKey?: StringKeyOf<T>;
16
+ domain?: [number, number];
17
+ barSize?: number;
18
+ barCategoryGap?: number;
19
+ }
20
+ export declare const DataTableStatChart: <T extends object>(props: DataTableStatChartProps<T>) => import("react/jsx-runtime").JSX.Element;
21
+ export {};
@@ -0,0 +1,27 @@
1
+ import { AttributeDescriptor, KanbanRendererFilterState, KanbanRendererRow } from '../kanban-renderer/types';
2
+ import { DataTableProps, DataTableSelectionAction, RowData } from './types';
3
+ export declare const defaultPageSize = 30;
4
+ export interface DataTableRendererRow extends KanbanRendererRow {
5
+ sourceRow: RowData;
6
+ }
7
+ export declare const resolveDataTableRowId: (row: RowData, index: number, getRowId?: DataTableProps["getRowId"]) => string;
8
+ export declare const resolveInitialPageSize: (props: Pick<DataTableProps, "initialPageSize">) => number;
9
+ export declare const getSelectedOriginalRows: (rows: Array<{
10
+ original: RowData;
11
+ }>) => RowData[];
12
+ export declare const resolveSelectionActions: (props: Pick<DataTableProps, "selectionActions" | "onCSVDownload" | "getRowId">) => DataTableSelectionAction[];
13
+ export declare const shouldEnableSelection: (props: Pick<DataTableProps, "selectionMode" | "selectionActions" | "onCSVDownload">) => boolean;
14
+ export declare const shouldHighlightActiveRow: (props: {
15
+ enableRowActivation?: boolean;
16
+ activeRowId?: string | null;
17
+ rowId: string;
18
+ }) => boolean;
19
+ export declare const buildDataTableRendererAttributes: (rows: RowData[], columnKeys: string[], compactHeaders?: Partial<Record<string, string>>) => AttributeDescriptor[];
20
+ export declare const buildDataTableRendererRows: (rows: RowData[], columnKeys: string[], getRowId?: DataTableProps["getRowId"]) => DataTableRendererRow[];
21
+ export declare const filterDataTableRows: (rows: DataTableRendererRow[], filters: KanbanRendererFilterState, attributes: AttributeDescriptor[]) => DataTableRendererRow[];
22
+ export declare const resolveDataTableColumnOrder: (availableColumnIds: string[], requestedColumnOrder: string[]) => string[];
23
+ export declare const reorderDataTableColumns: (columnIds: string[], activeColumnId: string, overColumnId: string) => string[];
24
+ export declare const resolveDataTableToolbarStorageKey: (props: {
25
+ toolbarStorageKey?: string;
26
+ columnKeys: string[];
27
+ }) => string;
@@ -0,0 +1,11 @@
1
+ import { HeaderGroup } from '@tanstack/react-table';
2
+ import { DataTableColumnStat, RowData } from './types';
3
+ interface DataTableStatsRowProps {
4
+ headerGroup: HeaderGroup<RowData>;
5
+ rows: RowData[];
6
+ columnStats: Partial<Record<string, DataTableColumnStat>>;
7
+ fullWidth?: boolean;
8
+ noBorder?: boolean;
9
+ }
10
+ export declare const DataTableStatsRow: (props: DataTableStatsRowProps) => import("react/jsx-runtime").JSX.Element | null;
11
+ export {};
@@ -0,0 +1,19 @@
1
+ import { RowData } from './types';
2
+ export interface HistogramBin {
3
+ start: number;
4
+ end: number;
5
+ count: number;
6
+ }
7
+ export interface HistogramStat {
8
+ min: number;
9
+ max: number;
10
+ bins: HistogramBin[];
11
+ }
12
+ export interface TopValueStat {
13
+ label: string;
14
+ count: number;
15
+ percentage: number;
16
+ }
17
+ export declare const countUniqueStatValues: (rows: RowData[], columnId: string) => number;
18
+ export declare const buildTopValuesStat: (rows: RowData[], columnId: string, limit: number) => TopValueStat[];
19
+ export declare const buildHistogramStat: (rows: RowData[], columnId: string, binCount: number) => HistogramStat | null;
@@ -0,0 +1,21 @@
1
+ import { Header, HeaderGroup, Row, Table as TanStackTable } from '@tanstack/react-table';
2
+ import { DataTableProps, RowData } from './types';
3
+ interface DataTableColumnHeaderProps {
4
+ header: Header<RowData, unknown>;
5
+ headerGroup: HeaderGroup<RowData>;
6
+ table: TanStackTable<RowData>;
7
+ fullWidth?: boolean;
8
+ hasDescription?: boolean;
9
+ }
10
+ export declare const DataTableColumnHeader: (props: DataTableColumnHeaderProps) => import("react/jsx-runtime").JSX.Element;
11
+ interface DataTableBodyRowProps {
12
+ row: Row<RowData>;
13
+ noBorder?: boolean;
14
+ rowIsInteractive: boolean;
15
+ rowIsActive: boolean;
16
+ rowIsSelected: boolean;
17
+ onRowClick?: DataTableProps["onRowClick"];
18
+ getCellContextMenuActions?: DataTableProps["getCellContextMenuActions"];
19
+ }
20
+ export declare const DataTableBodyRow: (props: DataTableBodyRowProps) => import("react/jsx-runtime").JSX.Element;
21
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const columnDescriptions: {
2
+ Invoice: string;
3
+ Amount: string;
4
+ Status: string;
5
+ Region: string;
6
+ };
@@ -0,0 +1,6 @@
1
+ import { RowData } from './types';
2
+ export declare const tableRows: RowData[];
3
+ export declare const generateTableRows: (count: number) => RowData[];
4
+ export declare const thousandTableRows: RowData[];
5
+ export declare const columnManagementRows: RowData[];
6
+ export declare const friendlyJsonRows: RowData[];
@@ -0,0 +1,9 @@
1
+ import { DataTableProps } from '.';
2
+ interface EditableCellsStoryProps {
3
+ args: DataTableProps;
4
+ height?: string;
5
+ marginX?: string;
6
+ maxWidth?: string;
7
+ }
8
+ export declare const EditableCellsStory: (props: EditableCellsStoryProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,31 @@
1
+ export interface FriendlyJsonDisplayProps {
2
+ value: unknown;
3
+ }
4
+ export declare const parseJsonCellValue: (value: unknown) => unknown;
5
+ export declare const buildJsonFields: (value: unknown) => {
6
+ label: string;
7
+ value: unknown;
8
+ }[];
9
+ export declare const isJsonImageValue: (value: unknown, label: string) => boolean;
10
+ export declare const isJsonImageArray: (value: unknown, label: string) => boolean;
11
+ export declare const getJsonCellSummary: (value: unknown) => string;
12
+ export declare const buildFriendlyJsonParams: (value: unknown) => {
13
+ id: string;
14
+ name: string;
15
+ type: "readOnly";
16
+ value: string | number | boolean | (string | number | boolean | null)[] | {
17
+ type: "image";
18
+ src: string;
19
+ alt: string;
20
+ images?: undefined;
21
+ } | {
22
+ type: "image-gallery";
23
+ images: {
24
+ src: string;
25
+ alt: string;
26
+ }[];
27
+ src?: undefined;
28
+ alt?: undefined;
29
+ } | null;
30
+ }[];
31
+ export declare const FriendlyJsonDisplay: (props: FriendlyJsonDisplayProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,5 @@
1
1
  export { DataTable } from './data-table';
2
+ export type { FriendlyJsonDisplayProps } from './friendly-json-display';
3
+ export { FriendlyJsonDisplay } from './friendly-json-display';
2
4
  export { formatDisplayValue, getIcon } from './helpers';
3
- export type { DataTableProps, RowData } from './types';
5
+ export type { DataTableCategoricalColor, DataTableCategoricalValue, DataTableCellContext, DataTableCellContextAction, DataTableColorScaleStop, DataTableColumnRenderer, DataTableColumnStat, DataTableProps, DataTableRowAction, DataTableSelectionAction, DataTableThemeColor, RowData, } from './types';
@@ -0,0 +1,6 @@
1
+ interface JsonCellProps {
2
+ columnLabel: string;
3
+ value: unknown;
4
+ }
5
+ export declare const JsonCell: (props: JsonCellProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -1,5 +1,8 @@
1
1
  import { useReactTable } from '@tanstack/react-table';
2
2
  import { RowData } from './types';
3
- export declare function PaginationFooter({ table }: {
3
+ export declare function PaginationFooter({ table, pageIndex, pageSize, pageSizeOptions, }: {
4
4
  table: ReturnType<typeof useReactTable<RowData>>;
5
+ pageIndex: number;
6
+ pageSize: number;
7
+ pageSizeOptions: number[];
5
8
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,11 @@
1
+ import { DataTableSelectionAction, RowData } from './types';
1
2
  interface SelectionToolbarProps {
2
3
  selectedCount: number;
3
4
  totalCount: number;
4
5
  onClearSelection: () => void;
5
6
  onSelectAll: () => void;
6
- onCSVDownload: () => void;
7
+ actions: DataTableSelectionAction[];
8
+ selectedRows: RowData[];
7
9
  }
8
10
  export declare function SelectionToolbar(props: SelectionToolbarProps): import("react/jsx-runtime").JSX.Element;
9
11
  export {};