@octaviaflow/core 3.0.18 → 3.1.0-beta.53

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 (257) hide show
  1. package/dist/chunk-2NGC7AI3.js +2637 -0
  2. package/dist/chunk-2NGC7AI3.js.map +1 -0
  3. package/dist/chunk-2O6K5PLY.js +2637 -0
  4. package/dist/chunk-2O6K5PLY.js.map +1 -0
  5. package/dist/chunk-2ZIOFEIS.js +3001 -0
  6. package/dist/chunk-2ZIOFEIS.js.map +1 -0
  7. package/dist/chunk-3DWB2PUF.js +2991 -0
  8. package/dist/chunk-3DWB2PUF.js.map +1 -0
  9. package/dist/chunk-4ZALUTZS.js +2936 -0
  10. package/dist/chunk-4ZALUTZS.js.map +1 -0
  11. package/dist/chunk-5ARKSRED.js +2951 -0
  12. package/dist/chunk-5ARKSRED.js.map +1 -0
  13. package/dist/chunk-5OSGSJMM.js +2981 -0
  14. package/dist/chunk-5OSGSJMM.js.map +1 -0
  15. package/dist/chunk-5YQQMEF3.js +2981 -0
  16. package/dist/chunk-5YQQMEF3.js.map +1 -0
  17. package/dist/chunk-6QCJK7H7.js +2991 -0
  18. package/dist/chunk-6QCJK7H7.js.map +1 -0
  19. package/dist/chunk-6QDYERZD.js +2944 -0
  20. package/dist/chunk-6QDYERZD.js.map +1 -0
  21. package/dist/chunk-76TP67ED.js +2984 -0
  22. package/dist/chunk-76TP67ED.js.map +1 -0
  23. package/dist/chunk-A6KMO4JV.js +2949 -0
  24. package/dist/chunk-A6KMO4JV.js.map +1 -0
  25. package/dist/chunk-B7FTWSTM.js +2938 -0
  26. package/dist/chunk-B7FTWSTM.js.map +1 -0
  27. package/dist/chunk-BCO6M26F.js +2940 -0
  28. package/dist/chunk-BCO6M26F.js.map +1 -0
  29. package/dist/chunk-C3UD2AZ5.js +2637 -0
  30. package/dist/chunk-C3UD2AZ5.js.map +1 -0
  31. package/dist/chunk-CEUP4NK2.js +2850 -0
  32. package/dist/chunk-CEUP4NK2.js.map +1 -0
  33. package/dist/chunk-DBNSBJO7.js +2993 -0
  34. package/dist/chunk-DBNSBJO7.js.map +1 -0
  35. package/dist/chunk-ECIHUVU7.js +2986 -0
  36. package/dist/chunk-ECIHUVU7.js.map +1 -0
  37. package/dist/chunk-EERNYLFL.js +2860 -0
  38. package/dist/chunk-EERNYLFL.js.map +1 -0
  39. package/dist/chunk-EKFDJX4G.js +2872 -0
  40. package/dist/chunk-EKFDJX4G.js.map +1 -0
  41. package/dist/chunk-GJA3GJUZ.js +2844 -0
  42. package/dist/chunk-GJA3GJUZ.js.map +1 -0
  43. package/dist/chunk-HDOTOZNA.js +2936 -0
  44. package/dist/chunk-HDOTOZNA.js.map +1 -0
  45. package/dist/chunk-IOKUV7FD.js +2658 -0
  46. package/dist/chunk-IOKUV7FD.js.map +1 -0
  47. package/dist/chunk-IUIICQU5.js +2946 -0
  48. package/dist/chunk-IUIICQU5.js.map +1 -0
  49. package/dist/chunk-J2UYZI6D.js +2946 -0
  50. package/dist/chunk-J2UYZI6D.js.map +1 -0
  51. package/dist/chunk-J7YASALS.js +2859 -0
  52. package/dist/chunk-J7YASALS.js.map +1 -0
  53. package/dist/chunk-JIEUYBQT.js +2658 -0
  54. package/dist/chunk-JIEUYBQT.js.map +1 -0
  55. package/dist/chunk-K2H7JLQW.js +2952 -0
  56. package/dist/chunk-K2H7JLQW.js.map +1 -0
  57. package/dist/chunk-KOE4VS4I.js +2945 -0
  58. package/dist/chunk-KOE4VS4I.js.map +1 -0
  59. package/dist/chunk-KUXYBP66.js +2953 -0
  60. package/dist/chunk-KUXYBP66.js.map +1 -0
  61. package/dist/chunk-KYMYNYFV.js +2656 -0
  62. package/dist/chunk-KYMYNYFV.js.map +1 -0
  63. package/dist/chunk-M2QXKYL2.js +2945 -0
  64. package/dist/chunk-M2QXKYL2.js.map +1 -0
  65. package/dist/chunk-MMXL343D.js +2974 -0
  66. package/dist/chunk-MMXL343D.js.map +1 -0
  67. package/dist/chunk-MXJL3EPE.js +2986 -0
  68. package/dist/chunk-MXJL3EPE.js.map +1 -0
  69. package/dist/chunk-MYZ25B2R.js +2995 -0
  70. package/dist/chunk-MYZ25B2R.js.map +1 -0
  71. package/dist/chunk-NTMEYB7B.js +2949 -0
  72. package/dist/chunk-NTMEYB7B.js.map +1 -0
  73. package/dist/chunk-PVJXX6GP.js +2640 -0
  74. package/dist/chunk-PVJXX6GP.js.map +1 -0
  75. package/dist/chunk-Q6ERDPQR.js +2981 -0
  76. package/dist/chunk-Q6ERDPQR.js.map +1 -0
  77. package/dist/chunk-S2SSBMWJ.js +2658 -0
  78. package/dist/chunk-S2SSBMWJ.js.map +1 -0
  79. package/dist/chunk-SLVDAZSX.js +2946 -0
  80. package/dist/chunk-SLVDAZSX.js.map +1 -0
  81. package/dist/chunk-UQBPYONV.js +2991 -0
  82. package/dist/chunk-UQBPYONV.js.map +1 -0
  83. package/dist/chunk-UXMNBS22.js +2955 -0
  84. package/dist/chunk-UXMNBS22.js.map +1 -0
  85. package/dist/chunk-WEGED7TA.js +2991 -0
  86. package/dist/chunk-WEGED7TA.js.map +1 -0
  87. package/dist/chunk-WEPTBLWX.js +2847 -0
  88. package/dist/chunk-WEPTBLWX.js.map +1 -0
  89. package/dist/chunk-WG4ZQMPS.js +2844 -0
  90. package/dist/chunk-WG4ZQMPS.js.map +1 -0
  91. package/dist/chunk-XEPEBHAW.js +2808 -0
  92. package/dist/chunk-XEPEBHAW.js.map +1 -0
  93. package/dist/chunk-XG2OYFX6.js +2925 -0
  94. package/dist/chunk-XG2OYFX6.js.map +1 -0
  95. package/dist/chunk-XSRJM2TR.js +2944 -0
  96. package/dist/chunk-XSRJM2TR.js.map +1 -0
  97. package/dist/chunk-ZAMJEU42.js +2992 -0
  98. package/dist/chunk-ZAMJEU42.js.map +1 -0
  99. package/dist/chunk-ZRAM6FXB.js +2949 -0
  100. package/dist/chunk-ZRAM6FXB.js.map +1 -0
  101. package/dist/components/ChatAttachment/ChatAttachment.d.ts +20 -0
  102. package/dist/components/ChatAttachment/ChatAttachment.d.ts.map +1 -0
  103. package/dist/components/ChatAttachment/index.d.ts +2 -0
  104. package/dist/components/ChatAttachment/index.d.ts.map +1 -0
  105. package/dist/components/ChatBubble/ChatBubble.d.ts +11 -1
  106. package/dist/components/ChatBubble/ChatBubble.d.ts.map +1 -1
  107. package/dist/components/ChatCodeBlock/ChatCodeBlock.d.ts +19 -0
  108. package/dist/components/ChatCodeBlock/ChatCodeBlock.d.ts.map +1 -0
  109. package/dist/components/ChatCodeBlock/index.d.ts +2 -0
  110. package/dist/components/ChatCodeBlock/index.d.ts.map +1 -0
  111. package/dist/components/ChatComposer/ChatComposer.d.ts +51 -0
  112. package/dist/components/ChatComposer/ChatComposer.d.ts.map +1 -0
  113. package/dist/components/ChatComposer/index.d.ts +2 -0
  114. package/dist/components/ChatComposer/index.d.ts.map +1 -0
  115. package/dist/components/ChatDayDivider/ChatDayDivider.d.ts +11 -0
  116. package/dist/components/ChatDayDivider/ChatDayDivider.d.ts.map +1 -0
  117. package/dist/components/ChatDayDivider/index.d.ts +2 -0
  118. package/dist/components/ChatDayDivider/index.d.ts.map +1 -0
  119. package/dist/components/ChatFeedback/ChatFeedback.d.ts +22 -0
  120. package/dist/components/ChatFeedback/ChatFeedback.d.ts.map +1 -0
  121. package/dist/components/ChatFeedback/index.d.ts +2 -0
  122. package/dist/components/ChatFeedback/index.d.ts.map +1 -0
  123. package/dist/components/ChatPanel/ChatPanel.d.ts +34 -0
  124. package/dist/components/ChatPanel/ChatPanel.d.ts.map +1 -0
  125. package/dist/components/ChatPanel/index.d.ts +2 -0
  126. package/dist/components/ChatPanel/index.d.ts.map +1 -0
  127. package/dist/components/ChatScrollToBottom/ChatScrollToBottom.d.ts +12 -0
  128. package/dist/components/ChatScrollToBottom/ChatScrollToBottom.d.ts.map +1 -0
  129. package/dist/components/ChatScrollToBottom/index.d.ts +2 -0
  130. package/dist/components/ChatScrollToBottom/index.d.ts.map +1 -0
  131. package/dist/components/ChatSources/ChatSources.d.ts +34 -0
  132. package/dist/components/ChatSources/ChatSources.d.ts.map +1 -0
  133. package/dist/components/ChatSources/index.d.ts +2 -0
  134. package/dist/components/ChatSources/index.d.ts.map +1 -0
  135. package/dist/components/ChatSuggestions/ChatSuggestions.d.ts +30 -0
  136. package/dist/components/ChatSuggestions/ChatSuggestions.d.ts.map +1 -0
  137. package/dist/components/ChatSuggestions/index.d.ts +2 -0
  138. package/dist/components/ChatSuggestions/index.d.ts.map +1 -0
  139. package/dist/components/ChatThinking/ChatThinking.d.ts +29 -0
  140. package/dist/components/ChatThinking/ChatThinking.d.ts.map +1 -0
  141. package/dist/components/ChatThinking/index.d.ts +2 -0
  142. package/dist/components/ChatThinking/index.d.ts.map +1 -0
  143. package/dist/components/ChatThread/ChatThread.d.ts +25 -0
  144. package/dist/components/ChatThread/ChatThread.d.ts.map +1 -0
  145. package/dist/components/ChatThread/index.d.ts +2 -0
  146. package/dist/components/ChatThread/index.d.ts.map +1 -0
  147. package/dist/components/ChatToolTrace/ChatToolTrace.d.ts +27 -0
  148. package/dist/components/ChatToolTrace/ChatToolTrace.d.ts.map +1 -0
  149. package/dist/components/ChatToolTrace/index.d.ts +2 -0
  150. package/dist/components/ChatToolTrace/index.d.ts.map +1 -0
  151. package/dist/components/ConditionBuilder/ConditionBuilder.d.ts +6 -0
  152. package/dist/components/ConditionBuilder/ConditionBuilder.d.ts.map +1 -1
  153. package/dist/components/CsvViewer/CsvViewer.d.ts +51 -0
  154. package/dist/components/CsvViewer/CsvViewer.d.ts.map +1 -0
  155. package/dist/components/CsvViewer/index.d.ts +2 -0
  156. package/dist/components/CsvViewer/index.d.ts.map +1 -0
  157. package/dist/components/DataTable/DataTable.d.ts +19 -1
  158. package/dist/components/DataTable/DataTable.d.ts.map +1 -1
  159. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
  160. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  161. package/dist/components/DropdownMenu/DropdownMenu.d.ts +12 -2
  162. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  163. package/dist/components/ExecutionConsole/ExecutionConsole.d.ts +8 -2
  164. package/dist/components/ExecutionConsole/ExecutionConsole.d.ts.map +1 -1
  165. package/dist/components/FlowMinimap/FlowMinimap.d.ts +17 -1
  166. package/dist/components/FlowMinimap/FlowMinimap.d.ts.map +1 -1
  167. package/dist/components/FlowToolbar/FlowToolbar.d.ts +16 -10
  168. package/dist/components/FlowToolbar/FlowToolbar.d.ts.map +1 -1
  169. package/dist/components/Input/Input.d.ts +1 -1
  170. package/dist/components/Input/Input.d.ts.map +1 -1
  171. package/dist/components/JsonViewer/JsonViewer.d.ts +42 -7
  172. package/dist/components/JsonViewer/JsonViewer.d.ts.map +1 -1
  173. package/dist/components/JsonViewer/index.d.ts +1 -1
  174. package/dist/components/JsonViewer/index.d.ts.map +1 -1
  175. package/dist/components/MultiSelect/MultiSelect.d.ts +7 -0
  176. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  177. package/dist/components/NumberInput/NumberInput.d.ts +7 -0
  178. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  179. package/dist/components/PageHeader/PageHeader.d.ts +5 -1
  180. package/dist/components/PageHeader/PageHeader.d.ts.map +1 -1
  181. package/dist/components/Select/Select.d.ts.map +1 -1
  182. package/dist/components/SlideoutPanel/SlideoutPanel.d.ts.map +1 -1
  183. package/dist/components/TimePicker/TimePicker.d.ts.map +1 -1
  184. package/dist/components/VersionHistory/VersionHistory.d.ts +82 -0
  185. package/dist/components/VersionHistory/VersionHistory.d.ts.map +1 -0
  186. package/dist/components/VersionHistory/index.d.ts +2 -0
  187. package/dist/components/VersionHistory/index.d.ts.map +1 -0
  188. package/dist/components/WorkflowHeader/WorkflowHeader.d.ts +130 -0
  189. package/dist/components/WorkflowHeader/WorkflowHeader.d.ts.map +1 -0
  190. package/dist/components/WorkflowHeader/WorkflowHeaderExpanded.d.ts +69 -0
  191. package/dist/components/WorkflowHeader/WorkflowHeaderExpanded.d.ts.map +1 -0
  192. package/dist/components/WorkflowHeader/index.d.ts +3 -0
  193. package/dist/components/WorkflowHeader/index.d.ts.map +1 -0
  194. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCentered.d.ts +40 -0
  195. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCentered.d.ts.map +1 -0
  196. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCommand.d.ts +39 -0
  197. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCommand.d.ts.map +1 -0
  198. package/dist/components/WorkflowHeader/misc/WorkflowHeaderMinimal.d.ts +44 -0
  199. package/dist/components/WorkflowHeader/misc/WorkflowHeaderMinimal.d.ts.map +1 -0
  200. package/dist/components/WorkflowHeader/misc/WorkflowHeaderRail.d.ts +45 -0
  201. package/dist/components/WorkflowHeader/misc/WorkflowHeaderRail.d.ts.map +1 -0
  202. package/dist/components/WorkflowHeader/misc/WorkflowHeaderStudio.d.ts +48 -0
  203. package/dist/components/WorkflowHeader/misc/WorkflowHeaderStudio.d.ts.map +1 -0
  204. package/dist/components/WorkflowHeader/misc/WorkflowHeaderTiered.d.ts +52 -0
  205. package/dist/components/WorkflowHeader/misc/WorkflowHeaderTiered.d.ts.map +1 -0
  206. package/dist/components/XmlViewer/XmlViewer.d.ts +26 -1
  207. package/dist/components/XmlViewer/XmlViewer.d.ts.map +1 -1
  208. package/dist/components/XmlViewer/index.d.ts +1 -1
  209. package/dist/components/XmlViewer/index.d.ts.map +1 -1
  210. package/dist/components/YamlViewer/YamlViewer.d.ts +26 -1
  211. package/dist/components/YamlViewer/YamlViewer.d.ts.map +1 -1
  212. package/dist/components/YamlViewer/index.d.ts +1 -1
  213. package/dist/components/YamlViewer/index.d.ts.map +1 -1
  214. package/dist/hooks/useRelativeTime.d.ts +28 -0
  215. package/dist/hooks/useRelativeTime.d.ts.map +1 -0
  216. package/dist/hooks/useWorkflowRuntime.d.ts +20 -0
  217. package/dist/hooks/useWorkflowRuntime.d.ts.map +1 -0
  218. package/dist/index.cjs +7702 -4815
  219. package/dist/index.cjs.map +1 -1
  220. package/dist/index.d.ts +21 -3
  221. package/dist/index.d.ts.map +1 -1
  222. package/dist/index.js +7937 -5334
  223. package/dist/index.js.map +1 -1
  224. package/dist/styles.css +1 -1
  225. package/dist/utils/useAnchoredPopover.d.ts +63 -0
  226. package/dist/utils/useAnchoredPopover.d.ts.map +1 -0
  227. package/dist/workflow/components/ConfigPanel/ConfigPanel.d.ts +27 -9
  228. package/dist/workflow/components/ConfigPanel/ConfigPanel.d.ts.map +1 -1
  229. package/dist/workflow/components/FlowCanvas/FlowCanvas.d.ts +49 -1
  230. package/dist/workflow/components/FlowCanvas/FlowCanvas.d.ts.map +1 -1
  231. package/dist/workflow/components/FlowEdge/FlowEdge.d.ts.map +1 -1
  232. package/dist/workflow/components/FxPanel/DataRefButton.d.ts +9 -0
  233. package/dist/workflow/components/FxPanel/DataRefButton.d.ts.map +1 -0
  234. package/dist/workflow/components/FxPanel/FxPanel.d.ts +74 -0
  235. package/dist/workflow/components/FxPanel/FxPanel.d.ts.map +1 -0
  236. package/dist/workflow/components/FxPanel/FxToggleButton.d.ts +9 -0
  237. package/dist/workflow/components/FxPanel/FxToggleButton.d.ts.map +1 -0
  238. package/dist/workflow/components/Handle/Handle.d.ts +9 -1
  239. package/dist/workflow/components/Handle/Handle.d.ts.map +1 -1
  240. package/dist/workflow/components/Handle/handleRegistry.d.ts +19 -0
  241. package/dist/workflow/components/Handle/handleRegistry.d.ts.map +1 -1
  242. package/dist/workflow/components/kinds/index.d.ts +4 -0
  243. package/dist/workflow/components/kinds/index.d.ts.map +1 -1
  244. package/dist/workflow/index.d.ts +3 -1
  245. package/dist/workflow/index.d.ts.map +1 -1
  246. package/dist/workflow/layout/elk.d.ts.map +1 -1
  247. package/dist/workflow/store/selectors.d.ts +12 -0
  248. package/dist/workflow/store/selectors.d.ts.map +1 -1
  249. package/dist/workflow/types.d.ts +108 -0
  250. package/dist/workflow/types.d.ts.map +1 -1
  251. package/dist/workflow/utils/parenting.d.ts +5 -3
  252. package/dist/workflow/utils/parenting.d.ts.map +1 -1
  253. package/dist/workflow.cjs +1114 -473
  254. package/dist/workflow.cjs.map +1 -1
  255. package/dist/workflow.js +540 -251
  256. package/dist/workflow.js.map +1 -1
  257. package/package.json +7 -3
@@ -0,0 +1,20 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export type ChatAttachmentKind = "file" | "image" | "pdf" | "audio" | "video" | "code" | "archive";
3
+ export interface ChatAttachmentProps extends Omit<ComponentPropsWithoutRef<"div">, "onRemove"> {
4
+ /** File / attachment name. */
5
+ name: ReactNode;
6
+ /** Human size or any meta, e.g. "8.2 KB". */
7
+ size?: ReactNode;
8
+ /** Drives the type glyph. Default `"file"`. */
9
+ kind?: ChatAttachmentKind;
10
+ /** Image thumbnail URL — replaces the type glyph with a preview. */
11
+ thumbnail?: string;
12
+ /** Makes the chip a download/open link. */
13
+ href?: string;
14
+ /** When set, shows a remove (✕) button and calls this on click. */
15
+ onRemove?: () => void;
16
+ /** Compact density. Default `false`. */
17
+ compact?: boolean;
18
+ }
19
+ export declare const ChatAttachment: import("react").ForwardRefExoticComponent<ChatAttachmentProps & import("react").RefAttributes<HTMLDivElement>>;
20
+ //# sourceMappingURL=ChatAttachment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatAttachment.d.ts","sourceRoot":"","sources":["../../../src/components/ChatAttachment/ChatAttachment.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAOf,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,OAAO,GACP,KAAK,GACL,OAAO,GACP,OAAO,GACP,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,8BAA8B;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA+BD,eAAO,MAAM,cAAc,gHAgE1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatAttachment, type ChatAttachmentProps, type ChatAttachmentKind, } from "./ChatAttachment";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatAttachment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC"}
@@ -14,8 +14,18 @@ export interface ChatBubbleProps extends Omit<ComponentPropsWithoutRef<"div">, "
14
14
  /** Override the auto-derived initial (first char of `author`). */
15
15
  initial?: string;
16
16
  /** Hide the avatar entirely — useful for "consecutive messages from the
17
- * same author" patterns. */
17
+ * same author" patterns. The avatar's WIDTH is still reserved so messages
18
+ * stay aligned. */
18
19
  hideAvatar?: boolean;
20
+ /** Render this bubble as a CONTINUATION of the previous same-author message:
21
+ * reserves the avatar's width (no avatar) and squares the corner that meets
22
+ * the message above so a stack reads as one grouped turn. Pair with a small
23
+ * gap between bubbles. */
24
+ continuation?: boolean;
25
+ /** Where the author / timestamp / status meta sits relative to the bubble:
26
+ * `"top"` (header style — best for the FIRST message of a group, so the meta
27
+ * never gets sandwiched between two bubbles) or `"bottom"` (default). */
28
+ metaPlacement?: "top" | "bottom";
19
29
  /** Show a typing indicator instead of children (three pulsing dots). */
20
30
  isTyping?: boolean;
21
31
  /** Delivery state badge in the meta row. `failed` adds an error tint to
@@ -1 +1 @@
1
- {"version":3,"file":"ChatBubble.d.ts","sourceRoot":"","sources":["../../../src/components/ChatBubble/ChatBubble.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAI7B,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AASf,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExE,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAChE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;gCAC4B;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;qBACiB;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAE1B;sCACkC;IAClC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;iCAC6B;IAC7B,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;;yBAGqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAiDD,eAAO,MAAM,UAAU,4GAgItB,CAAC"}
1
+ {"version":3,"file":"ChatBubble.d.ts","sourceRoot":"","sources":["../../../src/components/ChatBubble/ChatBubble.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAI7B,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AASf,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExE,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAChE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;uBAEmB;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;8BAG0B;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;6EAEyE;IACzE,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAEjC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;qBACiB;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAE1B;sCACkC;IAClC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;iCAC6B;IAC7B,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;;yBAGqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAiDD,eAAO,MAAM,UAAU,4GAuJtB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export interface ChatCodeBlockProps extends Omit<ComponentPropsWithoutRef<"div">, "title"> {
3
+ /** The code to render (kept verbatim — no syntax highlighting in v1). */
4
+ code: string;
5
+ /** Language label shown in the header, e.g. "ts". */
6
+ language?: ReactNode;
7
+ /** Filename shown in the header (takes the left slot over `language`). */
8
+ filename?: ReactNode;
9
+ /** Show a copy button. Default `true`. */
10
+ copyable?: boolean;
11
+ /** Copy handler. When omitted, copies `code` via the Clipboard API. */
12
+ onCopy?: () => void;
13
+ /** Render a line-number gutter. Default `false`. */
14
+ showLineNumbers?: boolean;
15
+ /** Wrap long lines instead of scrolling horizontally. Default `false`. */
16
+ wrap?: boolean;
17
+ }
18
+ export declare const ChatCodeBlock: import("react").ForwardRefExoticComponent<ChatCodeBlockProps & import("react").RefAttributes<HTMLDivElement>>;
19
+ //# sourceMappingURL=ChatCodeBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatCodeBlock.d.ts","sourceRoot":"","sources":["../../../src/components/ChatCodeBlock/ChatCodeBlock.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACtD,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oDAAoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA0BD,eAAO,MAAM,aAAa,+GAoEzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatCodeBlock, type ChatCodeBlockProps } from "./ChatCodeBlock";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatCodeBlock/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export type ChatComposerSize = "sm" | "md" | "lg";
3
+ export interface ChatComposerProps extends Omit<ComponentPropsWithoutRef<"textarea">, "value" | "defaultValue" | "onChange" | "children" | "size"> {
4
+ /** Controlled value. Omit for an uncontrolled composer (it clears itself
5
+ * after each send). */
6
+ value?: string;
7
+ /** Initial value when uncontrolled. */
8
+ defaultValue?: string;
9
+ /** Fires on every keystroke with the new value. */
10
+ onChange?: (value: string) => void;
11
+ /** Fires when the user submits — Enter (without Shift) or the send button.
12
+ * Receives the current text. Never fires while empty (unless
13
+ * `allowEmpty`) or while `sending`/`disabled`. */
14
+ onSend?: (value: string) => void;
15
+ placeholder?: string;
16
+ disabled?: boolean;
17
+ /** Spinner on the send button + sending is blocked. The field stays
18
+ * editable so the user can keep typing the next message. */
19
+ sending?: boolean;
20
+ /** Allow sending an empty message. Default `false`. */
21
+ allowEmpty?: boolean;
22
+ size?: ChatComposerSize;
23
+ /** Visible rows the field starts at. Default `1`. */
24
+ minRows?: number;
25
+ /** Rows before the field stops growing and scrolls. Default `6`. */
26
+ maxRows?: number;
27
+ /**
28
+ * Which edge stays anchored as the field auto-grows.
29
+ * - `"up"` — bottom edge fixed, the composer expands upward (the chat
30
+ * default: docked above the send line, it grows into the thread).
31
+ * - `"down"` — top edge fixed, expands downward (classic textarea).
32
+ * - `"both"` — expands from the centre.
33
+ * Visible when the composer has spare vertical space (a flex child / fixed
34
+ * height); a content-sized composer simply hugs its content. Default `"up"`.
35
+ */
36
+ grow?: "up" | "down" | "both";
37
+ /** Leading slot, left of the field (e.g. an attach button). */
38
+ leading?: ReactNode;
39
+ /** Controls between the field and the send button (e.g. a model picker). */
40
+ trailing?: ReactNode;
41
+ /** Override the send button's glyph. */
42
+ sendIcon?: ReactNode;
43
+ /** Accessible label for the send button. Default `"Send message"`. */
44
+ sendLabel?: string;
45
+ /** Accessible name for the text field. Default `"Message"`. */
46
+ fieldLabel?: string;
47
+ /** Helper line under the composer (e.g. an Enter-to-send hint). */
48
+ hint?: ReactNode;
49
+ }
50
+ export declare const ChatComposer: import("react").ForwardRefExoticComponent<ChatComposerProps & import("react").RefAttributes<HTMLTextAreaElement>>;
51
+ //# sourceMappingURL=ChatComposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../src/components/ChatComposer/ChatComposer.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAOf,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,MAAM,WAAW,iBAIf,SAAQ,IAAI,CACV,wBAAwB,CAAC,UAAU,CAAC,EACpC,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAC5D;IACD;4BACwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;uDAEmD;IACnD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;iEAC6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAE9B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAqCD,eAAO,MAAM,YAAY,mHAgJxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatComposer, type ChatComposerProps, type ChatComposerSize, } from "./ChatComposer";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatComposer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export type ChatDayDividerVariant = "default" | "highlight";
3
+ export interface ChatDayDividerProps extends Omit<ComponentPropsWithoutRef<"div">, "children"> {
4
+ /** Centered label, e.g. "Today", "May 28", "New messages". */
5
+ label: ReactNode;
6
+ /** `"highlight"` tints the label (good for an unread marker). Default
7
+ * `"default"`. */
8
+ variant?: ChatDayDividerVariant;
9
+ }
10
+ export declare const ChatDayDivider: import("react").ForwardRefExoticComponent<ChatDayDividerProps & import("react").RefAttributes<HTMLDivElement>>;
11
+ //# sourceMappingURL=ChatDayDivider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatDayDivider.d.ts","sourceRoot":"","sources":["../../../src/components/ChatDayDivider/ChatDayDivider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOlF,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,WAAW,CAAC;AAE5D,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,8DAA8D;IAC9D,KAAK,EAAE,SAAS,CAAC;IACjB;uBACmB;IACnB,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAMD,eAAO,MAAM,cAAc,gHAgB1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatDayDivider, type ChatDayDividerProps, type ChatDayDividerVariant, } from "./ChatDayDivider";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatDayDivider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export type ChatFeedbackRating = "up" | "down";
3
+ export type ChatFeedbackSize = "sm" | "md";
4
+ export interface ChatFeedbackProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
5
+ /** Controlled rating. Omit for uncontrolled. */
6
+ rating?: ChatFeedbackRating | null;
7
+ /** Initial rating when uncontrolled. */
8
+ defaultRating?: ChatFeedbackRating | null;
9
+ /** Fires when the rating changes. Re-clicking the active thumb clears it
10
+ * (passes `null`). */
11
+ onRate?: (rating: ChatFeedbackRating | null) => void;
12
+ /** Copy handler. When set, a Copy control appears (with a transient
13
+ * "Copied" state). */
14
+ onCopy?: () => void;
15
+ /** Regenerate handler. When set, a Regenerate control appears. */
16
+ onRegenerate?: () => void;
17
+ /** Extra controls appended to the row. */
18
+ children?: ReactNode;
19
+ size?: ChatFeedbackSize;
20
+ }
21
+ export declare const ChatFeedback: import("react").ForwardRefExoticComponent<ChatFeedbackProps & import("react").RefAttributes<HTMLDivElement>>;
22
+ //# sourceMappingURL=ChatFeedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatFeedback.d.ts","sourceRoot":"","sources":["../../../src/components/ChatFeedback/ChatFeedback.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAQf,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,MAAM,CAAC;AAC/C,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,gDAAgD;IAChD,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnC,wCAAwC;IACxC,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C;2BACuB;IACvB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD;2BACuB;IACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAkDD,eAAO,MAAM,YAAY,8GAqFxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatFeedback, type ChatFeedbackProps, type ChatFeedbackRating, type ChatFeedbackSize, } from "./ChatFeedback";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatFeedback/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ import { type ChatThreadProps } from "../ChatThread/ChatThread";
3
+ import { type ChatComposerProps } from "../ChatComposer/ChatComposer";
4
+ export interface ChatPanelProps extends Omit<ComponentPropsWithoutRef<"div">, "onSubmit"> {
5
+ /** Top bar — agent name, status, actions. Omit for no header. */
6
+ header?: ReactNode;
7
+ /** Messages: ChatBubble elements, dividers, etc. */
8
+ children?: ReactNode;
9
+ /** Centered empty state when there are no messages. */
10
+ emptyState?: ReactNode;
11
+ /** Initial-load spinner inside the thread. */
12
+ loading?: boolean;
13
+ /** Typing/thinking footer (e.g. `<ChatThinking/>` or `<ChatBubble isTyping/>`). */
14
+ thinking?: ReactNode;
15
+ /** Pinned above the messages (e.g. a "Load earlier" button). */
16
+ threadHeader?: ReactNode;
17
+ /** Quick-reply row shown just above the composer (e.g. `<ChatSuggestions/>`). */
18
+ suggestions?: ReactNode;
19
+ /** The composer. Provide a wired `<ChatComposer/>`, OR pass `onSend` and a
20
+ * built-in composer is rendered. */
21
+ composer?: ReactNode;
22
+ /** Convenience: render a built-in `<ChatComposer onSend={…}/>` when no
23
+ * `composer` slot is given. */
24
+ onSend?: (value: string) => void;
25
+ /** Props for the built-in composer (when using `onSend`). */
26
+ composerProps?: Partial<ChatComposerProps>;
27
+ /** Props forwarded to the inner `ChatThread`. */
28
+ threadProps?: Partial<ChatThreadProps>;
29
+ /** Show the floating "jump to latest" button when scrolled up. Default
30
+ * `true`. */
31
+ showScrollToBottom?: boolean;
32
+ }
33
+ export declare const ChatPanel: import("react").ForwardRefExoticComponent<ChatPanelProps & import("react").RefAttributes<HTMLDivElement>>;
34
+ //# sourceMappingURL=ChatPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/components/ChatPanel/ChatPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AACf,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAQpF,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,iEAAiE;IACjE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,uDAAuD;IACvD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,iFAAiF;IACjF,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;yCACqC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;oCACgC;IAChC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3C,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACvC;kBACc;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AASD,eAAO,MAAM,SAAS,2GAoErB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatPanel, type ChatPanelProps } from "./ChatPanel";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type ComponentPropsWithoutRef } from "react";
2
+ export interface ChatScrollToBottomProps extends Omit<ComponentPropsWithoutRef<"button">, "children"> {
3
+ /** Unread/new-message count shown as a badge. `0` / undefined hides it. */
4
+ count?: number;
5
+ /** Accessible label. Default `"Jump to latest"`. */
6
+ label?: string;
7
+ /** Render the label text beside the arrow (otherwise icon-only). Default
8
+ * `true` when there's a `count`, else `false`. */
9
+ showLabel?: boolean;
10
+ }
11
+ export declare const ChatScrollToBottom: import("react").ForwardRefExoticComponent<ChatScrollToBottomProps & import("react").RefAttributes<HTMLButtonElement>>;
12
+ //# sourceMappingURL=ChatScrollToBottom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatScrollToBottom.d.ts","sourceRoot":"","sources":["../../../src/components/ChatScrollToBottom/ChatScrollToBottom.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,wBAAwB,EAA8B,MAAM,OAAO,CAAC;AAOlF,MAAM,WAAW,uBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAC5D,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;uDACmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD,eAAO,MAAM,kBAAkB,uHAiC9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatScrollToBottom, type ChatScrollToBottomProps, } from "./ChatScrollToBottom";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatScrollToBottom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ /**
3
+ * How the sources render inside the expanded panel:
4
+ * - `"links"` — stacked rows, title links out, optional snippet.
5
+ * - `"chips"` — compact pills that link out.
6
+ * - `"plain-chips"` — compact pills, NO link (labels only).
7
+ * - `"urls"` — rows showing the raw URL (monospace), links out.
8
+ */
9
+ export type ChatSourcesDisplay = "links" | "chips" | "plain-chips" | "urls";
10
+ export interface ChatSource {
11
+ /** Stable key. Falls back to the index. */
12
+ id?: string;
13
+ /** Source title / name. */
14
+ title: ReactNode;
15
+ /** Link — makes the source clickable (opens in a new tab). */
16
+ url?: string;
17
+ /** Short excerpt the answer drew from (`links` display). */
18
+ snippet?: ReactNode;
19
+ /** Small trailing label, e.g. a domain or file path. */
20
+ meta?: ReactNode;
21
+ }
22
+ export interface ChatSourcesProps extends Omit<ComponentPropsWithoutRef<"details">, "title" | "onToggle"> {
23
+ sources: ChatSource[];
24
+ /** Trigger label. Default `"Sources"`. */
25
+ label?: ReactNode;
26
+ /** How the sources render once expanded. Default `"links"`. */
27
+ display?: ChatSourcesDisplay;
28
+ /** Prefix sources with `[n]` (applies to `links` / `urls`). Default `true`. */
29
+ numbered?: boolean;
30
+ /** Start expanded. Default `false`. */
31
+ defaultOpen?: boolean;
32
+ }
33
+ export declare const ChatSources: import("react").ForwardRefExoticComponent<ChatSourcesProps & import("react").RefAttributes<HTMLDetailsElement>>;
34
+ //# sourceMappingURL=ChatSources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatSources.d.ts","sourceRoot":"","sources":["../../../src/components/ChatSources/ChatSources.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAOf;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC;AAE5E,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,wDAAwD;IACxD,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACvE,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAkBD,eAAO,MAAM,WAAW,iHA8GvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatSources, type ChatSource, type ChatSourcesProps, type ChatSourcesDisplay, } from "./ChatSources";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatSources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export type ChatSuggestionsSize = "sm" | "md";
3
+ export type ChatSuggestionsLayout = "wrap" | "scroll";
4
+ export interface ChatSuggestion {
5
+ /** Stable key. Falls back to the index. */
6
+ id?: string;
7
+ /** Chip label. */
8
+ label: ReactNode;
9
+ /** Text sent on select. Defaults to `label` when it's a string. */
10
+ value?: string;
11
+ /** Optional leading glyph. */
12
+ icon?: ReactNode;
13
+ disabled?: boolean;
14
+ }
15
+ export interface ChatSuggestionsProps extends Omit<ComponentPropsWithoutRef<"div">, "onSelect"> {
16
+ /** Suggestions — plain strings or `{ label, value, … }` objects. */
17
+ items: Array<string | ChatSuggestion>;
18
+ /** Fires with the resolved text + the source item when a chip is clicked. */
19
+ onSelect?: (value: string, item: ChatSuggestion) => void;
20
+ /** Optional heading above the chips. */
21
+ label?: ReactNode;
22
+ size?: ChatSuggestionsSize;
23
+ /** `"wrap"` (chips wrap to new rows) or `"scroll"` (single scrolling row).
24
+ * Default `"wrap"`. */
25
+ layout?: ChatSuggestionsLayout;
26
+ /** Disable the whole set. */
27
+ disabled?: boolean;
28
+ }
29
+ export declare const ChatSuggestions: import("react").ForwardRefExoticComponent<ChatSuggestionsProps & import("react").RefAttributes<HTMLDivElement>>;
30
+ //# sourceMappingURL=ChatSuggestions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatSuggestions.d.ts","sourceRoot":"","sources":["../../../src/components/ChatSuggestions/ChatSuggestions.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAOf,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,oEAAoE;IACpE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;IACtC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,wCAAwC;IACxC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B;4BACwB;IACxB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAmBD,eAAO,MAAM,eAAe,iHAmD3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatSuggestions, type ChatSuggestion, type ChatSuggestionsProps, type ChatSuggestionsSize, type ChatSuggestionsLayout, } from "./ChatSuggestions";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatSuggestions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ /**
3
+ * Thinking / typing animation style:
4
+ * - `"dots"` — three bouncing dots (classic typing).
5
+ * - `"wave"` — five dots in a smooth travelling wave.
6
+ * - `"pulse"` — a single pulsing orb (compact "alive" cue).
7
+ * - `"bars"` — equalizer bars (good for "listening / generating audio").
8
+ * - `"shimmer"` — a shimmering label, e.g. "Thinking…" with a light sweep.
9
+ * - `"cursor"` — a label + blinking caret (streaming-text feel).
10
+ */
11
+ export type ChatThinkingVariant = "dots" | "wave" | "pulse" | "bars" | "shimmer" | "cursor";
12
+ export type ChatThinkingSize = "sm" | "md" | "lg";
13
+ export interface ChatThinkingProps extends Omit<ComponentPropsWithoutRef<"div">, "children"> {
14
+ variant?: ChatThinkingVariant;
15
+ /** Optional label, e.g. "Thinking…", "Searching the web…". For `shimmer` /
16
+ * `cursor` the label IS the animated element (defaults to "Thinking…"). */
17
+ label?: ReactNode;
18
+ /** Cycle through these labels in a loop (with a fade transition) until the
19
+ * component unmounts — e.g. while waiting for a response. Overrides
20
+ * `label`. Best with the `shimmer` variant. */
21
+ labels?: string[];
22
+ /** Milliseconds each label stays before the next. Default `2200`. */
23
+ cycleMs?: number;
24
+ size?: ChatThinkingSize;
25
+ /** Accessible status announced to AT. Default `"Assistant is thinking"`. */
26
+ srLabel?: string;
27
+ }
28
+ export declare const ChatThinking: import("react").ForwardRefExoticComponent<ChatThinkingProps & import("react").RefAttributes<HTMLDivElement>>;
29
+ //# sourceMappingURL=ChatThinking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatThinking.d.ts","sourceRoot":"","sources":["../../../src/components/ChatThinking/ChatThinking.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAOf;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B;gFAC4E;IAC5E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;oDAEgD;IAChD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,eAAO,MAAM,YAAY,8GA+GxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatThinking, type ChatThinkingProps, type ChatThinkingVariant, type ChatThinkingSize, } from "./ChatThinking";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatThinking/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export type ChatThreadGap = "sm" | "md" | "lg";
3
+ export interface ChatThreadProps extends Omit<ComponentPropsWithoutRef<"div">, "title"> {
4
+ /** Messages — typically <ChatBubble> elements. */
5
+ children?: ReactNode;
6
+ /** Rendered (centered) when there are no messages and no `footer`. */
7
+ emptyState?: ReactNode;
8
+ /** Centered loading state for the initial fetch — takes precedence over
9
+ * messages / empty state while `true`. */
10
+ loading?: boolean;
11
+ /** Pinned above the messages, scrolling with them — the home for a
12
+ * "Load earlier" button or a day / context divider (history trails). */
13
+ header?: ReactNode;
14
+ /** Pinned to the bottom of the list, after the messages — e.g. a
15
+ * <ChatBubble isTyping /> row while the agent is responding. */
16
+ footer?: ReactNode;
17
+ /** Auto-scroll to the newest message when content changes — but only when
18
+ * the user is already near the bottom, so reading history isn't yanked.
19
+ * Default `true`. */
20
+ stickToBottom?: boolean;
21
+ /** Vertical gap between messages. Default `"md"`. */
22
+ gap?: ChatThreadGap;
23
+ }
24
+ export declare const ChatThread: import("react").ForwardRefExoticComponent<ChatThreadProps & import("react").RefAttributes<HTMLDivElement>>;
25
+ //# sourceMappingURL=ChatThread.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatThread.d.ts","sourceRoot":"","sources":["../../../src/components/ChatThread/ChatThread.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAQf,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACtD,kDAAkD;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,sEAAsE;IACtE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;+CAC2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;6EACyE;IACzE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;qEACiE;IACjE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;0BAEsB;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB;AASD,eAAO,MAAM,UAAU,4GA0EtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatThread, type ChatThreadProps, type ChatThreadGap, } from "./ChatThread";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatThread/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export type ChatToolCallStatus = "success" | "error" | "running" | "pending";
3
+ export interface ChatToolCall {
4
+ /** Stable key. Falls back to the index. */
5
+ id?: string;
6
+ /** Tool / function name. */
7
+ name: ReactNode;
8
+ /** Invocation arguments — rendered monospace. */
9
+ args?: ReactNode;
10
+ /** Call outcome. Default `"success"`. */
11
+ status?: ChatToolCallStatus;
12
+ /** Short result / summary line. */
13
+ result?: ReactNode;
14
+ /** Wall-clock duration in ms — shown as a trailing badge. */
15
+ durationMs?: number;
16
+ }
17
+ export interface ChatToolTraceProps extends Omit<ComponentPropsWithoutRef<"details">, "title" | "onToggle"> {
18
+ calls: ChatToolCall[];
19
+ /** Collapsed summary. Defaults to a live "Working…" while a step runs, or
20
+ * "Used N tool(s)" once finished. */
21
+ summary?: ReactNode;
22
+ /** Start expanded. Default `false` — but the trace auto-opens while a step
23
+ * is still running so the activity is visible. */
24
+ defaultOpen?: boolean;
25
+ }
26
+ export declare const ChatToolTrace: import("react").ForwardRefExoticComponent<ChatToolTraceProps & import("react").RefAttributes<HTMLDetailsElement>>;
27
+ //# sourceMappingURL=ChatToolTrace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatToolTrace.d.ts","sourceRoot":"","sources":["../../../src/components/ChatToolTrace/ChatToolTrace.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAOf,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,iDAAiD;IACjD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,yCAAyC;IACzC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,mCAAmC;IACnC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACvE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB;0CACsC;IACtC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;uDACmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAoCD,eAAO,MAAM,aAAa,mHAyEzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatToolTrace, type ChatToolCall, type ChatToolCallStatus, type ChatToolTraceProps, } from "./ChatToolTrace";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatToolTrace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC"}
@@ -52,6 +52,12 @@ export interface ConditionBuilderProps extends Omit<ComponentPropsWithoutRef<"di
52
52
  addLabel?: ReactNode;
53
53
  /** Custom aria-label for the remove buttons. Defaults to "Remove condition". */
54
54
  removeLabel?: string;
55
+ /** Cap the rows-area height to roughly N rows; beyond N the rows scroll
56
+ * inside a contained viewport so the panel stops growing unboundedly.
57
+ * The "Add condition" action sits OUTSIDE the scroll viewport so it
58
+ * stays reachable regardless of how many rows are configured.
59
+ * Set to 0 / omitted to disable the cap (legacy behavior). */
60
+ maxVisibleRows?: number;
55
61
  }
56
62
  export declare const ConditionBuilder: import("react").ForwardRefExoticComponent<ConditionBuilderProps & import("react").RefAttributes<HTMLDivElement>>;
57
63
  //# sourceMappingURL=ConditionBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/ConditionBuilder.tsx"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAGf,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;;4DAEwD;IACxD,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;4EACwE;IACxE,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B;yEACqE;IACrE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAsMD,eAAO,MAAM,gBAAgB,kHA4L3B,CAAC"}
1
+ {"version":3,"file":"ConditionBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/ConditionBuilder.tsx"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAQf,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;;4DAEwD;IACxD,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;4EACwE;IACxE,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B;yEACqE;IACrE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;mEAI+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA0OD,eAAO,MAAM,gBAAgB,kHA+M3B,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from "react";
2
+ export type CsvViewerViewLayout = "table" | "raw";
3
+ /** Result reported through `onValidate` after each edit-mode keystroke. */
4
+ export interface CsvViewerValidationResult {
5
+ /** True when papaparse reports no errors. */
6
+ valid: boolean;
7
+ /** First parse error — only present when `valid` is false. */
8
+ error?: {
9
+ /** 1-indexed row number from the parser. */
10
+ line: number;
11
+ /** Column index where the error occurred (1-indexed; defaults to 1 when
12
+ * the parser doesn't report a specific column). */
13
+ col: number;
14
+ /** Human-readable error message. */
15
+ message: string;
16
+ };
17
+ }
18
+ export interface CsvViewerProps extends Omit<ComponentPropsWithoutRef<"div">, "title" | "children" | "onChange"> {
19
+ /** Raw CSV text. */
20
+ data: string;
21
+ /**
22
+ * `view` (default) — toggle between parsed table and raw text via the
23
+ * header SegmentedControl.
24
+ * `edit` — CodeEditor with parse validation (papaparse).
25
+ */
26
+ mode?: "view" | "edit";
27
+ /** Default layout in `mode='view'`. Default `"table"`. */
28
+ defaultLayout?: CsvViewerViewLayout;
29
+ /** Treat the first row as a header. Default true. */
30
+ hasHeader?: boolean;
31
+ /** Delimiter — pass `","`, `";"`, `"\t"`, etc. Auto-detected if omitted. */
32
+ delimiter?: string;
33
+ /** Show line numbers in the raw layout. Default true. */
34
+ showLineNumbers?: boolean;
35
+ /** Fires on every keystroke in `mode='edit'` with the raw editor text. */
36
+ onChange?: (rawText: string) => void;
37
+ /** Fires after each parse attempt in `mode='edit'`. */
38
+ onValidate?: (result: CsvViewerValidationResult) => void;
39
+ /** Optional title. */
40
+ title?: ReactNode;
41
+ /** Optional status pill next to title. */
42
+ status?: ReactNode;
43
+ /** Show a copy-document button in the header. */
44
+ copyable?: boolean;
45
+ /** Fixed body height — number → pixels, string → any CSS length. */
46
+ height?: number | string;
47
+ /** Upper bound on body height; ignored when `height` is set. */
48
+ maxHeight?: number | string;
49
+ }
50
+ export declare const CsvViewer: import("react").ForwardRefExoticComponent<CsvViewerProps & import("react").RefAttributes<HTMLDivElement>>;
51
+ //# sourceMappingURL=CsvViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CsvViewer.d.ts","sourceRoot":"","sources":["../../../src/components/CsvViewer/CsvViewer.tsx"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAQf,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,KAAK,CAAC;AAElD,2EAA2E;AAC3E,MAAM,WAAW,yBAAyB;IACxC,6CAA6C;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE;QACN,4CAA4C;QAC5C,IAAI,EAAE,MAAM,CAAC;QACb;4DACoD;QACpD,GAAG,EAAE,MAAM,CAAC;QACZ,oCAAoC;QACpC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IAChF,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,uDAAuD;IACvD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACzD,sBAAsB;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AA8CD,eAAO,MAAM,SAAS,2GA6HrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { CsvViewer, type CsvViewerProps, type CsvViewerValidationResult, type CsvViewerViewLayout, } from "./CsvViewer";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CsvViewer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC"}