@pstdio/ui 0.15.0 → 0.16.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 (216) 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 +1188 -1147
  6. package/dist/chat-ui.js.map +1 -1
  7. package/dist/checkbox-D5AzFRlb.js +70 -0
  8. package/dist/checkbox-D5AzFRlb.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-message-animation.d.ts +22 -0
  15. package/dist/components/chat-ui/components/timeline.d.ts +0 -2
  16. package/dist/components/chat-ui/performance/chat-performance-fixtures.d.ts +0 -1
  17. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +2 -12
  18. package/dist/components/chat-ui/tool-rendering/shared.d.ts +1 -1
  19. package/dist/components/chat-ui/tool-rendering/types.d.ts +1 -2
  20. package/dist/components/command-palette/index.d.ts +4 -0
  21. package/dist/components/data-renderer/data-renderer-board.d.ts +1 -1
  22. package/dist/components/data-renderer/data-renderer-card.d.ts +1 -1
  23. package/dist/components/data-renderer/data-renderer-list.d.ts +1 -1
  24. package/dist/components/data-renderer/data-renderer.d.ts +1 -1
  25. package/dist/components/data-renderer/index.d.ts +18 -0
  26. package/dist/components/data-renderer/types.d.ts +0 -6
  27. package/dist/components/diff-viewer/diff-card.d.ts +1 -0
  28. package/dist/components/diff-viewer/diff-drawer-scroll.d.ts +0 -19
  29. package/dist/components/diff-viewer/diff-drawer.d.ts +1 -0
  30. package/dist/components/diff-viewer/index.d.ts +2 -0
  31. package/dist/components/diff-viewer/use-selected-diff-scroll.d.ts +7 -3
  32. package/dist/components/internal/style-guide.d.ts +14 -0
  33. package/dist/components/internal/token-editor-controls.d.ts +8 -0
  34. package/dist/components/internal/token-editor-data.d.ts +40 -0
  35. package/dist/components/internal/token-editor-state.d.ts +22 -0
  36. package/dist/components/layout/index.d.ts +6 -0
  37. package/dist/components/list-row/list-row.types.d.ts +1 -1
  38. package/dist/components/overlays/index.d.ts +12 -0
  39. package/dist/components/{search-modal-content.d.ts → overlays/search-modal-content.d.ts} +1 -1
  40. package/dist/components/{searchable-menu.d.ts → overlays/searchable-menu.d.ts} +1 -1
  41. package/dist/components/param-editor/index.d.ts +23 -0
  42. package/dist/components/param-editor/inputs/action-input.d.ts +13 -0
  43. package/dist/components/param-editor/inputs/anchor-grid-input.d.ts +12 -0
  44. package/dist/components/param-editor/inputs/anchor-grid.d.ts +4 -0
  45. package/dist/components/param-editor/inputs/file-accept.d.ts +22 -0
  46. package/dist/components/param-editor/inputs/file-drop-input.d.ts +14 -0
  47. package/dist/components/param-editor/inputs/numeric-value.d.ts +6 -0
  48. package/dist/components/param-editor/inputs/range-input.d.ts +17 -0
  49. package/dist/components/param-editor/inputs/range-value.d.ts +5 -0
  50. package/dist/components/param-editor/inputs/resource-input-chips.d.ts +15 -0
  51. package/dist/components/param-editor/inputs/resource-input.d.ts +18 -0
  52. package/dist/components/param-editor/inputs/segmented-input.d.ts +14 -0
  53. package/dist/components/param-editor/inputs/slider-marks.d.ts +5 -0
  54. package/dist/components/param-editor/inputs/vector-input.d.ts +17 -0
  55. package/dist/components/param-editor/inputs/vector-value.d.ts +7 -0
  56. package/dist/components/param-editor/param-editor-control-item.d.ts +15 -0
  57. package/dist/components/param-editor/param-editor-control-list.d.ts +5 -0
  58. package/dist/components/param-editor/param-editor-field-label.d.ts +1 -0
  59. package/dist/components/param-editor/param-editor-field.d.ts +11 -0
  60. package/dist/components/param-editor/param-editor-inline-group.d.ts +5 -0
  61. package/dist/components/param-editor/param-editor-section.d.ts +16 -0
  62. package/dist/components/param-editor/param-editor.d.ts +2 -1
  63. package/dist/components/param-editor/param-editor.types.d.ts +101 -19
  64. package/dist/components/{breadcrumb.d.ts → primitives/breadcrumb.d.ts} +1 -1
  65. package/dist/components/primitives/index.d.ts +28 -0
  66. package/dist/components/{number-input.d.ts → primitives/number-input.d.ts} +0 -2
  67. package/dist/components/{session-indicator.d.ts → primitives/session-indicator.d.ts} +2 -1
  68. package/dist/components/{tooltip.d.ts → primitives/tooltip.d.ts} +0 -1
  69. package/dist/components/rich-text/prompt-input/commands.d.ts +0 -17
  70. package/dist/components/rich-text/prompt-input/events.d.ts +0 -13
  71. package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/nodes/CommentNode/CommentNode.d.ts +1 -2
  72. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/nodes/ReferenceNode/ReferenceNode.d.ts +1 -2
  73. package/dist/components/rich-text/prompt-input/utils.d.ts +1 -2
  74. package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidNode.d.ts +0 -1
  75. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  76. package/dist/components/sidebar/sidebar.types.d.ts +1 -1
  77. package/dist/components/tab-strip/tab-visibility-filter.d.ts +1 -1
  78. package/dist/components/tag-editor/tag-editor-row.d.ts +1 -1
  79. package/dist/components/tag-editor/tag-editor.types.d.ts +1 -1
  80. package/dist/components/terminal/bind-session.d.ts +33 -0
  81. package/dist/components/terminal/index.d.ts +6 -0
  82. package/dist/components/terminal/scripted-bridge.d.ts +35 -0
  83. package/dist/components/terminal/terminal-contract.d.ts +22 -0
  84. package/dist/components/terminal/terminal-theme.d.ts +12 -0
  85. package/dist/components/terminal/terminal.d.ts +45 -0
  86. package/dist/components/terminal/types.d.ts +35 -0
  87. package/dist/components/terminal/use-terminal-session.d.ts +21 -0
  88. package/dist/components/tree-list/tree-list-order-filter.d.ts +1 -2
  89. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +1 -1
  90. package/dist/components/tree-list/tree-list.d.ts +1 -1
  91. package/dist/data-renderer.js +1669 -0
  92. package/dist/data-renderer.js.map +1 -0
  93. package/dist/diff-editor-BnfV8cYB.js +182 -0
  94. package/dist/diff-editor-BnfV8cYB.js.map +1 -0
  95. package/dist/diff.js +1313 -0
  96. package/dist/diff.js.map +1 -0
  97. package/dist/empty-state-Bo4HVrgr.js +34 -0
  98. package/dist/empty-state-Bo4HVrgr.js.map +1 -0
  99. package/dist/foundations/gallery/gallery-frame.d.ts +21 -0
  100. package/dist/foundations/gallery/sections/badges-section.d.ts +1 -0
  101. package/dist/foundations/gallery/sections/buttons-section.d.ts +1 -0
  102. package/dist/foundations/gallery/sections/composite-chat-section.d.ts +1 -0
  103. package/dist/foundations/gallery/sections/composites-section.d.ts +1 -0
  104. package/dist/foundations/gallery/sections/feedback-section.d.ts +1 -0
  105. package/dist/foundations/gallery/sections/input-authoring-card.d.ts +1 -0
  106. package/dist/foundations/gallery/sections/inputs-section.d.ts +1 -0
  107. package/dist/foundations/gallery/sections/layout-section.d.ts +1 -0
  108. package/dist/foundations/gallery/sections/navigation-identity-section.d.ts +1 -0
  109. package/dist/foundations/gallery/sections/overlays-section.d.ts +1 -0
  110. package/dist/foundations/gallery/sections/panels-section.d.ts +1 -0
  111. package/dist/foundations/gallery/sections/param-editor-composite-card.d.ts +1 -0
  112. package/dist/foundations/gallery/sections/settings-composite-cards.d.ts +1 -0
  113. package/dist/index.d.ts +11 -84
  114. package/dist/index.js +3570 -7569
  115. package/dist/index.js.map +1 -1
  116. package/dist/list-row-mi3Hn-Um.js +740 -0
  117. package/dist/list-row-mi3Hn-Um.js.map +1 -0
  118. package/dist/mermaid-renderer-DZo3qj6D.js +425 -0
  119. package/dist/mermaid-renderer-DZo3qj6D.js.map +1 -0
  120. package/dist/mermaid.js +5 -0
  121. package/dist/mermaid.js.map +1 -0
  122. package/dist/radio-cLMEBBZk.js +76 -0
  123. package/dist/radio-cLMEBBZk.js.map +1 -0
  124. package/dist/resource-badge-qCWHP-wQ.js +99 -0
  125. package/dist/resource-badge-qCWHP-wQ.js.map +1 -0
  126. package/dist/{rich-message-DNSEhxXh.js → rich-message-DBf_5YlW.js} +462 -481
  127. package/dist/rich-message-DBf_5YlW.js.map +1 -0
  128. package/dist/rich-text.js +300 -299
  129. package/dist/rich-text.js.map +1 -1
  130. package/dist/scroll-area-BMbg1WcD.js +91 -0
  131. package/dist/scroll-area-BMbg1WcD.js.map +1 -0
  132. package/dist/style.css +1 -1
  133. package/dist/terminal.js +339 -0
  134. package/dist/terminal.js.map +1 -0
  135. package/dist/theme/global.d.ts +3 -0
  136. package/dist/theme/recipes/badge.d.ts +50 -0
  137. package/dist/theme/recipes/button.d.ts +24 -19
  138. package/dist/theme/recipes/color-picker.d.ts +1 -0
  139. package/dist/theme/recipes/dialog.d.ts +1 -1
  140. package/dist/theme/recipes/drawer.d.ts +1 -1
  141. package/dist/theme/recipes/input.d.ts +55 -0
  142. package/dist/theme/recipes/number-input.d.ts +98 -0
  143. package/dist/theme/recipes/tabs.d.ts +49 -28
  144. package/dist/theme/recipes/textarea.d.ts +62 -1
  145. package/dist/theme/recipes/timeline.d.ts +74 -0
  146. package/dist/theme/tokens/borders.d.ts +0 -3
  147. package/dist/theme/tokens/colors.d.ts +100 -70
  148. package/dist/{theme-25P7ij4C.js → theme-CJBYBJaA.js} +1194 -315
  149. package/dist/theme-CJBYBJaA.js.map +1 -0
  150. package/dist/theme-preference-DOzHx64J.js +123 -0
  151. package/dist/theme-preference-DOzHx64J.js.map +1 -0
  152. package/dist/theme.js +1 -1
  153. package/dist/tree-list-CcuZMLS5.js +930 -0
  154. package/dist/tree-list-CcuZMLS5.js.map +1 -0
  155. package/dist/workspace-badge-Fuo-1zPj.js +314 -0
  156. package/dist/workspace-badge-Fuo-1zPj.js.map +1 -0
  157. package/package.json +23 -3
  158. package/dist/components/file-tree-helpers.d.ts +0 -8
  159. package/dist/components/open-source-notices-screen.d.ts +0 -20
  160. package/dist/components/param-editor/input-group.d.ts +0 -10
  161. package/dist/components/rich-text/shared/plugins/MermaidPlugin/index.d.ts +0 -1
  162. package/dist/components/rich-text/shared/plugins/TableActionMenuPlugin/TableActionMenuPlugin.d.ts +0 -5
  163. package/dist/components/rich-text/shared/plugins/TableCellResizerPlugin/TableCellResizerPlugin.d.ts +0 -2
  164. package/dist/components/rich-text/theme/report-theme.d.ts +0 -3
  165. package/dist/components/style-guide-data.d.ts +0 -40
  166. package/dist/components/style-guide.d.ts +0 -1
  167. package/dist/mermaid-renderer-CPGj6vsb.js +0 -570
  168. package/dist/mermaid-renderer-CPGj6vsb.js.map +0 -1
  169. package/dist/radio-DJtQY9po.js +0 -286
  170. package/dist/radio-DJtQY9po.js.map +0 -1
  171. package/dist/resource-badge-CeJTOn8F.js +0 -188
  172. package/dist/resource-badge-CeJTOn8F.js.map +0 -1
  173. package/dist/rich-message-DNSEhxXh.js.map +0 -1
  174. package/dist/theme-25P7ij4C.js.map +0 -1
  175. package/dist/utils/formats.d.ts +0 -7
  176. /package/dist/components/{palette-filter.d.ts → command-palette/palette-filter.d.ts} +0 -0
  177. /package/dist/components/{palette-list.d.ts → command-palette/palette-list.d.ts} +0 -0
  178. /package/dist/components/{palette-shortcut.d.ts → command-palette/palette-shortcut.d.ts} +0 -0
  179. /package/dist/components/{palette.d.ts → command-palette/palette.d.ts} +0 -0
  180. /package/dist/components/{code-editor.d.ts → diff-viewer/code-editor.d.ts} +0 -0
  181. /package/dist/components/{column-file-browser.d.ts → file-browser/column-file-browser.d.ts} +0 -0
  182. /package/dist/components/{performance-panel.d.ts → internal/performance-panel.d.ts} +0 -0
  183. /package/dist/components/{header.d.ts → layout/header.d.ts} +0 -0
  184. /package/dist/components/{horizontal-menu-stack.d.ts → layout/horizontal-menu-stack.d.ts} +0 -0
  185. /package/dist/components/{item-section.d.ts → layout/item-section.d.ts} +0 -0
  186. /package/dist/components/{panel-header.constants.d.ts → layout/panel-header.constants.d.ts} +0 -0
  187. /package/dist/components/{resizable-split-layout.d.ts → layout/resizable-split-layout.d.ts} +0 -0
  188. /package/dist/components/{resizable-split-layout.handle.d.ts → layout/resizable-split-layout.handle.d.ts} +0 -0
  189. /package/dist/components/{attached-panel.d.ts → overlays/attached-panel.d.ts} +0 -0
  190. /package/dist/components/{bubble-button.d.ts → overlays/bubble-button.d.ts} +0 -0
  191. /package/dist/components/{bubble-panel.d.ts → overlays/bubble-panel.d.ts} +0 -0
  192. /package/dist/components/{delete-confirmation-modal.d.ts → overlays/delete-confirmation-modal.d.ts} +0 -0
  193. /package/dist/components/{repo-picker-dialog.d.ts → overlays/repo-picker-dialog.d.ts} +0 -0
  194. /package/dist/components/{resource-context-menu.d.ts → overlays/resource-context-menu.d.ts} +0 -0
  195. /package/dist/components/param-editor/{color-input.d.ts → inputs/color-input.d.ts} +0 -0
  196. /package/dist/components/param-editor/{date-input.d.ts → inputs/date-input.d.ts} +0 -0
  197. /package/dist/components/param-editor/{horizontal-text-input.d.ts → inputs/horizontal-text-input.d.ts} +0 -0
  198. /package/dist/components/param-editor/{number-input.d.ts → inputs/number-input.d.ts} +0 -0
  199. /package/dist/components/param-editor/{selection-input.d.ts → inputs/selection-input.d.ts} +0 -0
  200. /package/dist/components/param-editor/{text-input.d.ts → inputs/text-input.d.ts} +0 -0
  201. /package/dist/components/{alert.d.ts → primitives/alert.d.ts} +0 -0
  202. /package/dist/components/{checkbox.d.ts → primitives/checkbox.d.ts} +0 -0
  203. /package/dist/components/{content-placeholder.d.ts → primitives/content-placeholder.d.ts} +0 -0
  204. /package/dist/components/{empty-state.d.ts → primitives/empty-state.d.ts} +0 -0
  205. /package/dist/components/{error-boundary.d.ts → primitives/error-boundary.d.ts} +0 -0
  206. /package/dist/components/{icon-color-picker.d.ts → primitives/icon-color-picker.d.ts} +0 -0
  207. /package/dist/components/{info-card.d.ts → primitives/info-card.d.ts} +0 -0
  208. /package/dist/components/{integration-card.d.ts → primitives/integration-card.d.ts} +0 -0
  209. /package/dist/components/{radio.d.ts → primitives/radio.d.ts} +0 -0
  210. /package/dist/components/{resource-badge.d.ts → primitives/resource-badge.d.ts} +0 -0
  211. /package/dist/components/{scroll-area.d.ts → primitives/scroll-area.d.ts} +0 -0
  212. /package/dist/components/{simple-card.d.ts → primitives/simple-card.d.ts} +0 -0
  213. /package/dist/components/{slider.d.ts → primitives/slider.d.ts} +0 -0
  214. /package/dist/components/{switch.d.ts → primitives/switch.d.ts} +0 -0
  215. /package/dist/components/{toaster.d.ts → primitives/toaster.d.ts} +0 -0
  216. /package/dist/components/{workspace-badge.d.ts → primitives/workspace-badge.d.ts} +0 -0
@@ -0,0 +1,70 @@
1
+ import { jsx as v, jsxs as S } from "react/jsx-runtime";
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) {
6
+ const e = w(33);
7
+ let r, t, l, i, a, s, f;
8
+ e[0] !== k ? ({
9
+ icon: t,
10
+ children: r,
11
+ inputProps: l,
12
+ rootRef: a,
13
+ disabled: s,
14
+ readOnly: f,
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";
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 = {
24
+ borderColor: "border.accent-light"
25
+ }, p = {
26
+ borderColor: "border.accent-light",
27
+ outline: "none",
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 = {
32
+ bg: "bg.button.primary.default",
33
+ borderColor: "bg.button.primary.default",
34
+ color: "fg.button.primary.default",
35
+ _hover: {
36
+ borderColor: "bg.button.primary.default"
37
+ },
38
+ _active: {
39
+ borderColor: "bg.button.primary.default"
40
+ }
41
+ }, e[14] = y) : y = e[14];
42
+ let _;
43
+ e[15] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (_ = {
44
+ bg: "bg.button.primary.default",
45
+ borderColor: "bg.button.primary.default",
46
+ color: "fg.button.primary.default",
47
+ _hover: {
48
+ borderColor: "bg.button.primary.default"
49
+ },
50
+ _active: {
51
+ borderColor: "bg.button.primary.default"
52
+ }
53
+ }, e[15] = _) : _ = e[15];
54
+ let b;
55
+ e[16] !== t ? (b = t || /* @__PURE__ */ v(u.Indicator, {}), e[16] = t, e[17] = b) : b = e[17];
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];
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: [
62
+ n,
63
+ d,
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;
66
+ });
67
+ export {
68
+ L as C
69
+ };
70
+ //# sourceMappingURL=checkbox-D5AzFRlb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-D5AzFRlb.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 />}\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,6 +1,6 @@
1
1
  import { HTMLChakraProps, IconButtonProps } from '@chakra-ui/react';
2
2
  import { StickToBottom as StickToBottomEl } from 'use-stick-to-bottom';
3
- import { ScrollArea } from '../../scroll-area';
3
+ import { ScrollArea } from '../../primitives/scroll-area';
4
4
  export type ConversationRootProps = HTMLChakraProps<"div", React.ComponentProps<typeof StickToBottomEl>>;
5
5
  export declare const conversationRootDefaultProps: {
6
6
  readonly "aria-roledescription": "conversation";
@@ -11,7 +11,7 @@ declare const recipe: import('@chakra-ui/react').SlotRecipeDefinition<"content"
11
11
  borderRightWidth: "1px";
12
12
  borderBottomWidth: "1px";
13
13
  borderLeftWidth: "1px";
14
- borderColor: "border.muted";
14
+ borderColor: "border.subtle";
15
15
  bg: "bg.subtle";
16
16
  px: "xs";
17
17
  py: "xs";
@@ -2,5 +2,4 @@ import { BoxProps } from '@chakra-ui/react';
2
2
  export interface ChatRichContentProps extends Omit<BoxProps, "children"> {
3
3
  children: string;
4
4
  }
5
- export declare const ChatRichContent: (props: ChatRichContentProps) => import("react/jsx-runtime").JSX.Element;
6
5
  export declare const Response: (props: ChatRichContentProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { ResourceBadgeProps } from '../../resource-badge';
2
+ import { ResourceBadgeProps } from '../../primitives/resource-badge';
3
3
  export type AttachmentListRenderBadge = (props: AttachmentListItemRenderProps) => ReactNode;
4
4
  export interface AttachmentListItemRenderProps {
5
5
  attachmentId: string;
@@ -1,10 +1,37 @@
1
1
  export interface AutoScrollProps {
2
2
  userMessageCount: number;
3
+ conversationKey?: string | null;
3
4
  }
4
5
  interface ShouldAutoScrollArgs {
5
6
  previousUserMessageCount: number;
6
7
  userMessageCount: number;
7
8
  }
9
+ export interface AutoScrollState {
10
+ conversationKey: string | null;
11
+ userMessageCount: number;
12
+ }
13
+ interface NextAutoScrollStateArgs {
14
+ state: AutoScrollState;
15
+ conversationKey?: string | null;
16
+ userMessageCount: number;
17
+ }
18
+ interface ScrollForNextAutoScrollStateArgs extends NextAutoScrollStateArgs {
19
+ scrollToBottom: (animation?: "instant") => void;
20
+ }
8
21
  export declare const shouldAutoScroll: (args: ShouldAutoScrollArgs) => boolean;
22
+ export declare const getNextAutoScrollState: (args: NextAutoScrollStateArgs) => {
23
+ shouldScroll: boolean;
24
+ state: {
25
+ conversationKey: string | null;
26
+ userMessageCount: number;
27
+ };
28
+ };
29
+ export declare const scrollForNextAutoScrollState: (args: ScrollForNextAutoScrollStateArgs) => {
30
+ shouldScroll: boolean;
31
+ state: {
32
+ conversationKey: string | null;
33
+ userMessageCount: number;
34
+ };
35
+ };
9
36
  export declare function AutoScroll(props: AutoScrollProps): null;
10
37
  export {};
@@ -0,0 +1,22 @@
1
+ export interface MessageAnimationState {
2
+ initialized: boolean;
3
+ seenKeys: Set<string>;
4
+ }
5
+ interface NextMessageAnimationStateArgs {
6
+ itemKeys: string[];
7
+ state: MessageAnimationState;
8
+ }
9
+ export declare const messageFadeInProps: {
10
+ readonly animationName: "message-fade-in";
11
+ readonly animationDuration: "200ms";
12
+ readonly animationTimingFunction: "ease-out";
13
+ };
14
+ export declare const getNextMessageAnimationState: (args: NextMessageAnimationStateArgs) => {
15
+ animatedKeys: Set<string>;
16
+ state: {
17
+ initialized: boolean;
18
+ seenKeys: Set<string>;
19
+ };
20
+ };
21
+ export declare const useMessageAnimationKeys: (itemKeys: string[]) => Set<string>;
22
+ export {};
@@ -1,7 +1,5 @@
1
- import { Timeline as ChakraTimeline } from '@chakra-ui/react';
2
1
  import { ReactNode } from 'react';
3
2
  import { IconName } from '../utils/get-icon';
4
- export declare const Timeline: typeof ChakraTimeline;
5
3
  export type TimelineDoc = {
6
4
  items: Item[];
7
5
  };
@@ -11,7 +11,6 @@ export interface ChatPerformanceSession {
11
11
  messages: SessionMessage[];
12
12
  }
13
13
  export declare const CHAT_PERFORMANCE_STRESS_TURNS = 500;
14
- export declare const CHAT_PERFORMANCE_STRESS_MESSAGE_COUNT: number;
15
14
  export declare const buildLargeChatConversation: (options: LargeChatConversationOptions) => SessionMessage[];
16
15
  export declare const buildChatSessionSwitchFixture: () => {
17
16
  primarySession: {
@@ -1,21 +1,11 @@
1
1
  import { ToolPart } from '../components/message-types';
2
2
  import { Block, TitleSegment } from '../components/timeline';
3
- import { ToolRenderersMap, ToolTimelineBuilderOptions } from './types';
3
+ import { ToolTimelineBuilderOptions } from './types';
4
4
  export declare const buildTimelineDocFromInvocations: (invocations: ToolPart[], options?: ToolTimelineBuilderOptions) => {
5
5
  items: (import('../components/timeline').Item | {
6
6
  indicator: {
7
7
  readonly type: "icon";
8
- readonly icon: "search" | "dot" | "danger" | "file" | "shell" | "ls" | "read_file" | "write_file" | "delete_file" | "patch" | "upload_files" | "download_file" | "move_file" | "browser" | "question" | "todo" | "terminal";
9
- };
10
- title: TitleSegment[];
11
- blocks: Block[];
12
- })[];
13
- };
14
- export declare const createToolTimelineBuilder: (toolRenderers: ToolRenderersMap) => (invocations: ToolPart[], options?: ToolTimelineBuilderOptions) => {
15
- items: (import('../components/timeline').Item | {
16
- indicator: {
17
- readonly type: "icon";
18
- readonly icon: "search" | "dot" | "danger" | "file" | "shell" | "ls" | "read_file" | "write_file" | "delete_file" | "patch" | "upload_files" | "download_file" | "move_file" | "browser" | "question" | "todo" | "terminal";
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";
19
9
  };
20
10
  title: TitleSegment[];
21
11
  blocks: Block[];
@@ -15,7 +15,7 @@ export declare const getStateLabel: (invocation: ToolPart) => string | null;
15
15
  export declare const isErrorState: (invocation: ToolPart) => boolean;
16
16
  export declare const buildIndicator: (invocation: ToolPart) => {
17
17
  readonly type: "icon";
18
- readonly icon: "search" | "dot" | "danger" | "file" | "shell" | "ls" | "read_file" | "write_file" | "delete_file" | "patch" | "upload_files" | "download_file" | "move_file" | "browser" | "question" | "todo" | "terminal";
18
+ 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";
19
19
  };
20
20
  export declare const buildBaseTitle: (invocation: ToolPart, detail?: string, labelOverride?: string) => TitleSegment[];
21
21
  export declare const getInputObject: (invocation: ToolPart) => Record<string, unknown> | null;
@@ -1,5 +1,5 @@
1
1
  import { ToolPart } from '../components/message-types';
2
- import { Item, TimelineDoc } from '../components/timeline';
2
+ import { Item } from '../components/timeline';
3
3
  export type ToolRenderResult = Item;
4
4
  export type ToolRenderOptions = {
5
5
  labeledBlocks?: boolean;
@@ -10,4 +10,3 @@ export type ToolTimelineBuilderOptions = {
10
10
  labeledBlocks?: boolean;
11
11
  toolRenderers?: ToolRenderersMap;
12
12
  };
13
- export type ToolTimelineBuilder = (invocations: ToolPart[], options?: ToolTimelineBuilderOptions) => TimelineDoc;
@@ -0,0 +1,4 @@
1
+ export type { FilterPaletteEntriesOptions, PaletteEntry, PaletteEscapeContext, PaletteMode, PaletteProps, PaletteSearchEntry, PaletteState, PaletteStateValue, } from './palette';
2
+ export { DEFAULT_PALETTE_ASSET_LIMIT, filterPaletteEntries, Palette } from './palette';
3
+ export type { PaletteShortcutBinding } from './palette-shortcut';
4
+ export { PaletteShortcut } from './palette-shortcut';
@@ -1,5 +1,5 @@
1
1
  import { ComponentProps, ComponentType } from 'react';
2
- import { ResourceContextAction } from '../resource-context-menu';
2
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
3
3
  import { DataRendererCard } from './data-renderer-card';
4
4
  type DataRendererCardProps = ComponentProps<typeof DataRendererCard>;
5
5
  export interface DataRendererBoardItem {
@@ -1,5 +1,5 @@
1
1
  import { DragEventHandler, ReactNode } from 'react';
2
- import { WorkspaceBadgeProps } from '../workspace-badge';
2
+ import { WorkspaceBadgeProps } from '../primitives/workspace-badge';
3
3
  import { AttributeBadge } from './data-renderer-helpers';
4
4
  export interface DataRendererCardProps {
5
5
  title: string;
@@ -1,5 +1,5 @@
1
1
  import { ComponentType, ReactNode } from 'react';
2
- import { ResourceContextAction } from '../resource-context-menu';
2
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
3
3
  import { AttributeBadge } from './data-renderer-helpers';
4
4
  export interface DataRendererListItem {
5
5
  id: string;
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { ResourceContextAction } from '../resource-context-menu';
2
+ import { ResourceContextAction } from '../overlays/resource-context-menu';
3
3
  import { DataRendererBoardColumnAction } from './data-renderer-board';
4
4
  import { AttributeDescriptor, DataRendererFilterState, DataRendererRow, DataRendererSettings } from './types';
5
5
  /** Board-column behavior and menu configuration for a resolved column group. */
@@ -0,0 +1,18 @@
1
+ export type { BoardColumnConfig, DataRendererProps } from './data-renderer';
2
+ export { DataRenderer } from './data-renderer';
3
+ export type { DataRendererBoardColumn, DataRendererBoardColumnAction, DataRendererBoardItem, } from './data-renderer-board';
4
+ export { DataRendererBoard } from './data-renderer-board';
5
+ export type { DataRendererCardProps } from './data-renderer-card';
6
+ export { DataRendererCard } from './data-renderer-card';
7
+ export type { AttributeBadge, FilterCategoryView, MenuOption } from './data-renderer-helpers';
8
+ export { buildDisplayPropertyOptions, buildFilterCategories, buildGroupingOptions, buildOrderingOptions, collectDisplayBadges, getAttributeStringValues, getAttributeValue, getEnumOptions, renderAttributeBadge, sanitizeFilters, sanitizeSettings, } from './data-renderer-helpers';
9
+ export type { DataRendererListItem } from './data-renderer-list';
10
+ export { DataRendererList } from './data-renderer-list';
11
+ export type { DataRendererToolbarProps } from './data-renderer-toolbar';
12
+ export { DataRendererToolbar } from './data-renderer-toolbar';
13
+ export { DisplayMenu } from './display-menu';
14
+ export { FilterMenu } from './filter-menu';
15
+ export type { AttributeDescriptor, AttributeDisplayDescriptor, AttributeKind, AttributesSource, AttributeType, DataRendererFilterState, DataRendererOrdering, DataRendererRow, DataRendererSettings, EnumOption, EnumOptions, EnumOptionsSource, SortDirection, ViewMode, } from './types';
16
+ export { findAttribute, isAttributesSource, isEnumOptionsSource, MANUAL_ORDERING, NO_GROUPING, } from './types';
17
+ export { useDataRendererStore } from './use-data-renderer-store';
18
+ export { resolveAttributeOptions, useResolvedAttributes } from './use-resolved-attributes';
@@ -90,12 +90,6 @@ export interface DataRendererSettings {
90
90
  }
91
91
  export type DataRendererFilterState = Record<string, string[]>;
92
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
- }>;
99
93
  /**
100
94
  * Look up an attribute by id from a contribution-provided descriptor list.
101
95
  * Returns undefined for sentinels ("none", "manual") or unknown ids.
@@ -40,6 +40,7 @@ export declare const resolveRequestedDiffPath: (input: {
40
40
  hasDiffContent: boolean;
41
41
  }) => string | null;
42
42
  export declare const shouldShowDiffStats: (filePath: string) => boolean;
43
+ export declare const resolveDiffFilePath: (diff: Diff) => string;
43
44
  export declare const DiffCard: (props: DiffCardProps) => import("react/jsx-runtime").JSX.Element;
44
45
  export declare const DiffCardHeader: (props: DiffCardHeaderProps) => import("react/jsx-runtime").JSX.Element;
45
46
  export {};
@@ -1,13 +1,4 @@
1
1
  import { Diff } from './diff-card';
2
- import { DiffViewMode } from './types';
3
- interface EstimateDiffRangeHeightInput {
4
- diffs: Diff[];
5
- collapsedPaths: Set<string>;
6
- largeDiffOptInPaths: Set<string>;
7
- diffViewMode: DiffViewMode;
8
- startIndex: number;
9
- endIndex: number;
10
- }
11
2
  interface SelectedExpansionCommand {
12
3
  action: string;
13
4
  id: number;
@@ -21,11 +12,6 @@ interface ResolveSelectedScrollStateInput {
21
12
  expansionCommand: SelectedExpansionCommand | null;
22
13
  completedScrollCommandId: number | null;
23
14
  }
24
- export interface RenderedDiffItem {
25
- element: HTMLElement;
26
- index: number;
27
- }
28
- export declare const estimateDiffRangeHeight: (input: EstimateDiffRangeHeightInput) => number;
29
15
  export declare const resolveSelectedScrollState: (input: ResolveSelectedScrollStateInput) => {
30
16
  selectedScrollPath: string | null;
31
17
  selectedScrollKey: string | null;
@@ -39,9 +25,4 @@ export declare const includePinnedDiffIndexes: (input: {
39
25
  selectedScrollIndex: number;
40
26
  shouldPinSelectedScrollIndex: boolean;
41
27
  }) => number[];
42
- export declare const getRenderedDiffItems: (scrollElement: HTMLElement | null) => RenderedDiffItem[];
43
- export declare const getElementScrollOffset: (input: {
44
- element: HTMLElement;
45
- scrollElement: HTMLElement | null;
46
- }) => number;
47
28
  export {};
@@ -25,4 +25,5 @@ export declare const buildInitialCollapsedPaths: (diffs: Diff[]) => Set<string>;
25
25
  export declare const buildAllCollapsedPaths: (diffs: Diff[]) => Set<string>;
26
26
  export declare const toggleCollapsedPath: (collapsedPaths: Set<string>, path: string) => Set<string>;
27
27
  export declare const resolveCollapsedPathsForSelectedDiff: (diffs: Diff[], collapsedPaths: Set<string>, selectedDiffPath: string | null) => Set<string>;
28
+ export declare const resolveCollapsedPathsForNavigation: (diffs: Diff[], collapsedPaths: Set<string>, selectedDiffPath: string, previousNavigatedPath: string | null) => Set<string>;
28
29
  export declare function DiffDrawer(props: DiffDrawerProps): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,5 @@
1
+ export { CodeDiffEditor, CodeEditor } from './code-editor';
2
+ export { DiffBubble } from './diff-bubble';
1
3
  export type { Diff } from './diff-card';
2
4
  export { DiffDrawer } from './diff-drawer';
3
5
  export { DiffViewer, type DiffViewerProps } from './diff-viewer';
@@ -1,16 +1,20 @@
1
+ import { Virtualizer } from '@tanstack/react-virtual';
1
2
  import { Diff } from './diff-card';
2
3
  import { DiffExpansionCommand } from './diff-drawer';
3
- import { DiffViewMode } from './types';
4
4
  interface UseSelectedDiffScrollInput {
5
5
  diffs: Diff[];
6
6
  selectedDiffPath: string | null;
7
7
  collapsedPaths: Set<string>;
8
- largeDiffOptInPaths: Set<string>;
9
8
  expansionCommand: DiffExpansionCommand | null;
10
- diffViewMode: DiffViewMode;
11
9
  scrollRef: {
12
10
  current: HTMLDivElement | null;
13
11
  };
12
+ virtualizerRef: {
13
+ current: Virtualizer<HTMLDivElement, Element> | null;
14
+ };
15
+ suppressScrollAdjustRef: {
16
+ current: boolean;
17
+ };
14
18
  }
15
19
  export declare const useSelectedDiffScroll: (input: UseSelectedDiffScrollInput) => {
16
20
  selectedScrollIndex: number;
@@ -0,0 +1,14 @@
1
+ import { ReactNode } from 'react';
2
+ import { TokenEditorPresetId, TokenEditorValues } from './token-editor-data';
3
+ export interface TokenPreviewScopeProps {
4
+ values: TokenEditorValues;
5
+ children: ReactNode;
6
+ }
7
+ export interface TokenEditorOverlayProps {
8
+ basePresetId?: TokenEditorPresetId;
9
+ baseValues?: TokenEditorValues;
10
+ values: TokenEditorValues;
11
+ onChange: (values: TokenEditorValues) => void;
12
+ }
13
+ export declare const TokenPreviewScope: (props: TokenPreviewScopeProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const TokenEditorOverlay: (props: TokenEditorOverlayProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { TokenEditorToken } from './token-editor-data';
2
+ interface TokenEditorControlProps {
3
+ token: TokenEditorToken;
4
+ value: string;
5
+ onValueChange: (tokenId: string, value: string) => void;
6
+ }
7
+ export declare const TokenValueEditor: (props: TokenEditorControlProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,40 @@
1
+ export type TokenEditorPresetId = "pst-dark" | "pst-light" | "monokai" | "solarized";
2
+ export type TokenEditorMode = "light" | "dark";
3
+ export type TokenEditorTokenKind = "border" | "color" | "dimension" | "font" | "number";
4
+ export type TokenEditorValues = Record<string, string>;
5
+ export interface TokenEditorToken {
6
+ id: string;
7
+ cssVariable: string;
8
+ defaultValue: string;
9
+ darkValue: string;
10
+ groupId: string;
11
+ kind: TokenEditorTokenKind;
12
+ lightValue: string;
13
+ name: string;
14
+ }
15
+ export interface TokenEditorGroup {
16
+ id: string;
17
+ title: string;
18
+ description: string;
19
+ tokens: TokenEditorToken[];
20
+ }
21
+ export interface TokenEditorPreset {
22
+ id: TokenEditorPresetId;
23
+ label: string;
24
+ values: TokenEditorValues;
25
+ }
26
+ export declare const tokenEditorGroups: TokenEditorGroup[];
27
+ export declare const tokenEditorTokens: TokenEditorToken[];
28
+ export declare const pstLightTokenEditorValues: {
29
+ [k: string]: string;
30
+ };
31
+ export declare const pstDarkTokenEditorValues: {
32
+ [k: string]: string;
33
+ };
34
+ export declare const tokenEditorPresets: TokenEditorPreset[];
35
+ export declare const defaultTokenEditorValues: {
36
+ [k: string]: string;
37
+ };
38
+ export declare const createTokenEditorStyle: (values: TokenEditorValues) => {
39
+ [k: string]: string;
40
+ };
@@ -0,0 +1,22 @@
1
+ import { TokenEditorPresetId, TokenEditorValues } from './token-editor-data';
2
+ import { ThemePreference, ThemePreferenceOption } from '../../utils/apply-theme-preference';
3
+ interface UseTokenEditorValuesOptions {
4
+ themePreference?: ThemePreference;
5
+ themePreferences?: readonly ThemePreferenceOption[];
6
+ }
7
+ export declare const getDefaultTokenEditorPresetId: () => TokenEditorPresetId;
8
+ export declare const getDefaultTokenEditorValues: (presetId?: TokenEditorPresetId) => {
9
+ [k: string]: string;
10
+ };
11
+ export declare const getTokenEditorOverrides: (values: TokenEditorValues, baseValues: TokenEditorValues) => {
12
+ [k: string]: string;
13
+ };
14
+ export declare const useTokenEditorValues: (options?: UseTokenEditorValuesOptions) => {
15
+ values: TokenEditorValues;
16
+ setValues: (nextValues: TokenEditorValues) => void;
17
+ basePresetId: TokenEditorPresetId;
18
+ baseValues: TokenEditorValues;
19
+ themePreference: string;
20
+ };
21
+ export declare const exportTokenEditorOverrides: (values: TokenEditorValues, basePresetId?: TokenEditorPresetId, baseValues?: TokenEditorValues) => void;
22
+ export {};
@@ -0,0 +1,6 @@
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 { ResizableSplitLayout } from './resizable-split-layout';
@@ -37,7 +37,7 @@ export interface ListRowAction {
37
37
  menuItems?: ListRowActionMenuItem[];
38
38
  onAction?: (context: ListRowActionContext) => void;
39
39
  }
40
- export type ListRowVariant = "default" | "compact" | "tree" | "empty-state";
40
+ export type ListRowVariant = "default" | "compact" | "full-width" | "tree" | "empty-state";
41
41
  export type ListRowTone = "default" | "danger";
42
42
  export type ListRowMenuPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "right" | "right-start" | "right-end" | "left" | "left-start" | "left-end";
43
43
  /** Data model for one reusable row, including labels, icons, menus, actions, and children. */
@@ -0,0 +1,12 @@
1
+ export { AttachedPanel } from './attached-panel';
2
+ export { BubbleButton } from './bubble-button';
3
+ export { BubblePanel } from './bubble-panel';
4
+ export { DeleteConfirmationModal } from './delete-confirmation-modal';
5
+ export type { RepoPickerDialogEntry, RepoPickerDialogProps } from './repo-picker-dialog';
6
+ export { RepoPickerDialog } from './repo-picker-dialog';
7
+ export type { ResourceContextAction } from './resource-context-menu';
8
+ export { ResourceContextMenu } from './resource-context-menu';
9
+ export type { SearchModalContentProps } from './search-modal-content';
10
+ export { SearchModalContent } from './search-modal-content';
11
+ export type { SearchableMenuItem, SearchableMenuParentList } from './searchable-menu';
12
+ export { SearchableMenu } from './searchable-menu';
@@ -1,5 +1,5 @@
1
1
  import { KeyboardEventHandler, ReactNode, Ref } from 'react';
2
- import { ScrollAreaProps } from './scroll-area';
2
+ import { ScrollAreaProps } from '../primitives/scroll-area';
3
3
  export interface SearchModalContentProps {
4
4
  children: ReactNode;
5
5
  searchValue: string;
@@ -9,7 +9,7 @@ export interface SearchableMenuItem {
9
9
  secondaryLabel?: string;
10
10
  tooltipLabel?: ReactNode;
11
11
  icon?: ElementType;
12
- variant?: "default" | "compact";
12
+ variant?: "default" | "compact" | "full-width";
13
13
  isDisabled?: boolean;
14
14
  isSelected?: boolean;
15
15
  onSelect?: () => void;
@@ -1,2 +1,25 @@
1
+ export { ActionInput } from './inputs/action-input';
2
+ export { ANCHOR_GRID_VALUES, isAnchorGridValue } from './inputs/anchor-grid';
3
+ export { AnchorGridInput } from './inputs/anchor-grid-input';
4
+ export { ColorInput } from './inputs/color-input';
5
+ export { DateInput } from './inputs/date-input';
6
+ export { FileDropInput } from './inputs/file-drop-input';
7
+ export { HorizontalTextInput } from './inputs/horizontal-text-input';
8
+ export { NumberInput } from './inputs/number-input';
9
+ export { RangeInput } from './inputs/range-input';
10
+ export { ResourceInput } from './inputs/resource-input';
11
+ export { SegmentedInput } from './inputs/segmented-input';
12
+ export { SelectionInput } from './inputs/selection-input';
13
+ export { TextInput } from './inputs/text-input';
14
+ export { VectorInput } from './inputs/vector-input';
1
15
  export type { ParamEditorProps } from './param-editor';
2
16
  export { ParamEditor } from './param-editor';
17
+ export type { ActionOption, ActionsParam, AnchorGridParam, AnchorGridValue, BaseParam, ColorParam, DateParam, FileDropParam, FileDropValue, InputGroup, NumberParam, Param, ParamValue, ParamValueMap, PropertyParam, RangeParam, RangeValue, ResourceOption, ResourceParam, ResourceRefValue, SegmentedOption, SegmentedParam, SelectionParam, TextParam, VectorParam, VectorValue, } from './param-editor.types';
18
+ export { ParamEditorControlItem } from './param-editor-control-item';
19
+ export { ParamEditorControlList } from './param-editor-control-list';
20
+ export { ParamEditorField } from './param-editor-field';
21
+ export { ParamEditorFieldLabel } from './param-editor-field-label';
22
+ export { ParamEditorInlineGroup } from './param-editor-inline-group';
23
+ export { ParamEditorLabel } from './param-editor-label';
24
+ export { ParamEditorReadOnlyValue } from './param-editor-read-only-value';
25
+ export { ParamEditorSection } from './param-editor-section';
@@ -0,0 +1,13 @@
1
+ import { ActionOption } from '../param-editor.types';
2
+ interface ActionInputProps {
3
+ id: string;
4
+ name: string;
5
+ description?: string;
6
+ defaultValue?: string;
7
+ options: ActionOption[];
8
+ onChange: (id: string, value: string) => void;
9
+ readOnly?: boolean;
10
+ fullWidth?: boolean;
11
+ }
12
+ export declare const ActionInput: (props: ActionInputProps) => import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,12 @@
1
+ import { AnchorGridValue } from '../param-editor.types';
2
+ interface AnchorGridInputProps {
3
+ id: string;
4
+ name: string;
5
+ description?: string;
6
+ defaultValue: AnchorGridValue;
7
+ onChange: (id: string, value: AnchorGridValue) => void;
8
+ readOnly?: boolean;
9
+ fullWidth?: boolean;
10
+ }
11
+ export declare const AnchorGridInput: (props: AnchorGridInputProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,4 @@
1
+ import { AnchorGridValue } from '../param-editor.types';
2
+ /** The nine anchors in row-major order (top-left → bottom-right). */
3
+ export declare const ANCHOR_GRID_VALUES: AnchorGridValue[];
4
+ export declare const isAnchorGridValue: (value: unknown) => value is AnchorGridValue;