@liveblocks/react-ui 2.25.0-aiprivatebeta7 → 2.25.0-aiprivatebeta9

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 (135) hide show
  1. package/dist/_private/index.cjs +14 -10
  2. package/dist/_private/index.cjs.map +1 -1
  3. package/dist/_private/index.d.cts +200 -105
  4. package/dist/_private/index.d.ts +200 -105
  5. package/dist/_private/index.js +10 -5
  6. package/dist/_private/index.js.map +1 -1
  7. package/dist/components/AiChat.cjs +85 -120
  8. package/dist/components/AiChat.cjs.map +1 -1
  9. package/dist/components/AiChat.js +87 -122
  10. package/dist/components/AiChat.js.map +1 -1
  11. package/dist/components/AiTool.cjs +164 -0
  12. package/dist/components/AiTool.cjs.map +1 -0
  13. package/dist/components/AiTool.js +162 -0
  14. package/dist/components/AiTool.js.map +1 -0
  15. package/dist/components/Comment.cjs +5 -3
  16. package/dist/components/Comment.cjs.map +1 -1
  17. package/dist/components/Comment.js +6 -4
  18. package/dist/components/Comment.js.map +1 -1
  19. package/dist/components/InboxNotificationList.cjs +11 -3
  20. package/dist/components/InboxNotificationList.cjs.map +1 -1
  21. package/dist/components/InboxNotificationList.js +12 -4
  22. package/dist/components/InboxNotificationList.js.map +1 -1
  23. package/dist/components/Thread.cjs +3 -3
  24. package/dist/components/Thread.cjs.map +1 -1
  25. package/dist/components/Thread.js +3 -3
  26. package/dist/components/Thread.js.map +1 -1
  27. package/dist/components/internal/AiChatAssistantMessage.cjs +53 -229
  28. package/dist/components/internal/AiChatAssistantMessage.cjs.map +1 -1
  29. package/dist/components/internal/AiChatAssistantMessage.js +55 -231
  30. package/dist/components/internal/AiChatAssistantMessage.js.map +1 -1
  31. package/dist/components/internal/AiChatComposer.cjs +29 -17
  32. package/dist/components/internal/AiChatComposer.cjs.map +1 -1
  33. package/dist/components/internal/AiChatComposer.js +29 -17
  34. package/dist/components/internal/AiChatComposer.js.map +1 -1
  35. package/dist/components/internal/AiChatUserMessage.cjs +17 -10
  36. package/dist/components/internal/AiChatUserMessage.cjs.map +1 -1
  37. package/dist/components/internal/AiChatUserMessage.js +17 -10
  38. package/dist/components/internal/AiChatUserMessage.js.map +1 -1
  39. package/dist/components/internal/Button.cjs.map +1 -1
  40. package/dist/components/internal/Button.js.map +1 -1
  41. package/dist/components/internal/CodeBlock.cjs +72 -0
  42. package/dist/components/internal/CodeBlock.cjs.map +1 -0
  43. package/dist/components/internal/CodeBlock.js +70 -0
  44. package/dist/components/internal/CodeBlock.js.map +1 -0
  45. package/dist/components/internal/Emoji.cjs +12 -4
  46. package/dist/components/internal/Emoji.cjs.map +1 -1
  47. package/dist/components/internal/Emoji.js +12 -4
  48. package/dist/components/internal/Emoji.js.map +1 -1
  49. package/dist/components/internal/Prose.cjs +37 -0
  50. package/dist/components/internal/Prose.cjs.map +1 -0
  51. package/dist/components/internal/Prose.js +35 -0
  52. package/dist/components/internal/Prose.js.map +1 -0
  53. package/dist/icon.cjs +2 -0
  54. package/dist/icon.cjs.map +1 -1
  55. package/dist/icon.js +1 -0
  56. package/dist/icon.js.map +1 -1
  57. package/dist/icons/{Resolve.cjs → CheckCircle.cjs} +3 -3
  58. package/dist/icons/CheckCircle.cjs.map +1 -0
  59. package/dist/icons/{Resolve.js → CheckCircle.js} +3 -3
  60. package/dist/icons/CheckCircle.js.map +1 -0
  61. package/dist/icons/{Resolved.cjs → CheckCircleFill.cjs} +3 -3
  62. package/dist/icons/CheckCircleFill.cjs.map +1 -0
  63. package/dist/icons/{Resolved.js → CheckCircleFill.js} +3 -3
  64. package/dist/icons/CheckCircleFill.js.map +1 -0
  65. package/dist/icons/index.cjs +4 -4
  66. package/dist/icons/index.js +2 -2
  67. package/dist/index.cjs +2 -0
  68. package/dist/index.cjs.map +1 -1
  69. package/dist/index.d.cts +68 -14
  70. package/dist/index.d.ts +68 -14
  71. package/dist/index.js +1 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/overrides.cjs +2 -8
  74. package/dist/overrides.cjs.map +1 -1
  75. package/dist/overrides.js +2 -8
  76. package/dist/overrides.js.map +1 -1
  77. package/dist/primitives/AiChatComposer/index.cjs +1 -2
  78. package/dist/primitives/AiChatComposer/index.cjs.map +1 -1
  79. package/dist/primitives/AiChatComposer/index.js +1 -2
  80. package/dist/primitives/AiChatComposer/index.js.map +1 -1
  81. package/dist/primitives/AiMessage/contexts.cjs +18 -0
  82. package/dist/primitives/AiMessage/contexts.cjs.map +1 -0
  83. package/dist/primitives/AiMessage/contexts.js +15 -0
  84. package/dist/primitives/AiMessage/contexts.js.map +1 -0
  85. package/dist/primitives/AiMessage/index.cjs +133 -0
  86. package/dist/primitives/AiMessage/index.cjs.map +1 -0
  87. package/dist/primitives/AiMessage/index.js +131 -0
  88. package/dist/primitives/AiMessage/index.js.map +1 -0
  89. package/dist/primitives/{internal/Collapsible → Collapsible}/index.cjs +39 -17
  90. package/dist/primitives/Collapsible/index.cjs.map +1 -0
  91. package/dist/primitives/{internal/Collapsible → Collapsible}/index.js +37 -15
  92. package/dist/primitives/Collapsible/index.js.map +1 -0
  93. package/dist/primitives/{internal/Markdown.cjs → Markdown.cjs} +150 -83
  94. package/dist/primitives/Markdown.cjs.map +1 -0
  95. package/dist/primitives/{internal/Markdown.js → Markdown.js} +151 -83
  96. package/dist/primitives/Markdown.js.map +1 -0
  97. package/dist/primitives/index.cjs +4 -6
  98. package/dist/primitives/index.cjs.map +1 -1
  99. package/dist/primitives/index.d.cts +2 -79
  100. package/dist/primitives/index.d.ts +2 -79
  101. package/dist/primitives/index.js +4 -6
  102. package/dist/primitives/index.js.map +1 -1
  103. package/dist/utils/ErrorBoundary.cjs +48 -0
  104. package/dist/utils/ErrorBoundary.cjs.map +1 -0
  105. package/dist/utils/ErrorBoundary.js +45 -0
  106. package/dist/utils/ErrorBoundary.js.map +1 -0
  107. package/dist/utils/use-visible.cjs +63 -45
  108. package/dist/utils/use-visible.cjs.map +1 -1
  109. package/dist/utils/use-visible.js +64 -46
  110. package/dist/utils/use-visible.js.map +1 -1
  111. package/dist/version.cjs +1 -1
  112. package/dist/version.js +1 -1
  113. package/package.json +5 -5
  114. package/src/styles/constants.css +1 -1
  115. package/src/styles/dark/index.css +7 -3
  116. package/src/styles/index.css +584 -238
  117. package/src/styles/utils.css +1 -1
  118. package/styles/dark/attributes.css +1 -1
  119. package/styles/dark/attributes.css.map +1 -1
  120. package/styles/dark/media-query.css +1 -1
  121. package/styles/dark/media-query.css.map +1 -1
  122. package/styles.css +1 -1
  123. package/styles.css.map +1 -1
  124. package/dist/icons/Resolve.cjs.map +0 -1
  125. package/dist/icons/Resolve.js.map +0 -1
  126. package/dist/icons/Resolved.cjs.map +0 -1
  127. package/dist/icons/Resolved.js.map +0 -1
  128. package/dist/primitives/internal/Collapsible/index.cjs.map +0 -1
  129. package/dist/primitives/internal/Collapsible/index.js.map +0 -1
  130. package/dist/primitives/internal/Emoji.cjs +0 -32
  131. package/dist/primitives/internal/Emoji.cjs.map +0 -1
  132. package/dist/primitives/internal/Emoji.js +0 -30
  133. package/dist/primitives/internal/Emoji.js.map +0 -1
  134. package/dist/primitives/internal/Markdown.cjs.map +0 -1
  135. package/dist/primitives/internal/Markdown.js.map +0 -1
@@ -1,16 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var AiChatAssistantMessage = require('../components/internal/AiChatAssistantMessage.cjs');
4
- var AiChatComposer = require('../components/internal/AiChatComposer.cjs');
5
- var AiChatUserMessage = require('../components/internal/AiChatUserMessage.cjs');
6
3
  var Button = require('../components/internal/Button.cjs');
7
4
  var List = require('../components/internal/List.cjs');
5
+ var Prose = require('../components/internal/Prose.cjs');
8
6
  var Tooltip = require('../components/internal/Tooltip.cjs');
9
7
  var User = require('../components/internal/User.cjs');
10
8
  require('../icons/index.cjs');
11
9
  var capitalize = require('../utils/capitalize.cjs');
12
10
  var useInitial = require('../utils/use-initial.cjs');
13
11
  var useRefs = require('../utils/use-refs.cjs');
12
+ var index = require('../primitives/AiChatComposer/index.cjs');
13
+ var index$1 = require('../primitives/AiMessage/index.cjs');
14
+ var index$2 = require('../primitives/Collapsible/index.cjs');
15
+ var Markdown = require('../primitives/Markdown.cjs');
14
16
  var TooltipPrimitive = require('@radix-ui/react-tooltip');
15
17
  var ArrowCornerDownRight = require('../icons/ArrowCornerDownRight.cjs');
16
18
  var ArrowCornerUpRight = require('../icons/ArrowCornerUpRight.cjs');
@@ -22,6 +24,8 @@ var BellCrossed = require('../icons/BellCrossed.cjs');
22
24
  var Blockquote = require('../icons/Blockquote.cjs');
23
25
  var Bold = require('../icons/Bold.cjs');
24
26
  var Check = require('../icons/Check.cjs');
27
+ var CheckCircle = require('../icons/CheckCircle.cjs');
28
+ var CheckCircleFill = require('../icons/CheckCircleFill.cjs');
25
29
  var ChevronDown = require('../icons/ChevronDown.cjs');
26
30
  var ChevronLeft = require('../icons/ChevronLeft.cjs');
27
31
  var ChevronRight = require('../icons/ChevronRight.cjs');
@@ -45,8 +49,6 @@ var ListUnordered = require('../icons/ListUnordered.cjs');
45
49
  var Mention = require('../icons/Mention.cjs');
46
50
  var QuestionMark = require('../icons/QuestionMark.cjs');
47
51
  var Redo = require('../icons/Redo.cjs');
48
- var Resolve = require('../icons/Resolve.cjs');
49
- var Resolved = require('../icons/Resolved.cjs');
50
52
  var Restore = require('../icons/Restore.cjs');
51
53
  var Retry = require('../icons/Retry.cjs');
52
54
  var Search = require('../icons/Search.cjs');
@@ -65,18 +67,20 @@ var Warning = require('../icons/Warning.cjs');
65
67
 
66
68
 
67
69
 
68
- exports.AiChatAssistantMessage = AiChatAssistantMessage.AiChatAssistantMessage;
69
- exports.AiChatComposer = AiChatComposer.AiChatComposer;
70
- exports.AiChatUserMessage = AiChatUserMessage.AiChatUserMessage;
71
70
  exports.Button = Button.Button;
72
71
  exports.SelectButton = Button.SelectButton;
73
72
  exports.List = List.List;
73
+ exports.Prose = Prose.Prose;
74
74
  exports.ShortcutTooltip = Tooltip.ShortcutTooltip;
75
75
  exports.Tooltip = Tooltip.Tooltip;
76
76
  exports.User = User.User;
77
77
  exports.capitalize = capitalize.capitalize;
78
78
  exports.useInitial = useInitial.useInitial;
79
79
  exports.useRefs = useRefs.useRefs;
80
+ exports.AiChatComposer = index;
81
+ exports.AiMessage = index$1;
82
+ exports.Collapsible = index$2;
83
+ exports.Markdown = Markdown.Markdown;
80
84
  Object.defineProperty(exports, 'TooltipProvider', {
81
85
  enumerable: true,
82
86
  get: function () { return TooltipPrimitive.TooltipProvider; }
@@ -91,6 +95,8 @@ exports.BellCrossedIcon = BellCrossed.BellCrossedIcon;
91
95
  exports.BlockquoteIcon = Blockquote.BlockquoteIcon;
92
96
  exports.BoldIcon = Bold.BoldIcon;
93
97
  exports.CheckIcon = Check.CheckIcon;
98
+ exports.CheckCircleIcon = CheckCircle.CheckCircleIcon;
99
+ exports.CheckCircleFillIcon = CheckCircleFill.CheckCircleFillIcon;
94
100
  exports.ChevronDownIcon = ChevronDown.ChevronDownIcon;
95
101
  exports.ChevronLeftIcon = ChevronLeft.ChevronLeftIcon;
96
102
  exports.ChevronRightIcon = ChevronRight.ChevronRightIcon;
@@ -114,8 +120,6 @@ exports.ListUnorderedIcon = ListUnordered.ListUnorderedIcon;
114
120
  exports.MentionIcon = Mention.MentionIcon;
115
121
  exports.QuestionMarkIcon = QuestionMark.QuestionMarkIcon;
116
122
  exports.RedoIcon = Redo.RedoIcon;
117
- exports.ResolveIcon = Resolve.ResolveIcon;
118
- exports.ResolvedIcon = Resolved.ResolvedIcon;
119
123
  exports.RestoreIcon = Restore.RestoreIcon;
120
124
  exports.RetryIcon = Retry.RetryIcon;
121
125
  exports.SearchIcon = Search.SearchIcon;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,108 +1,12 @@
1
1
  import * as react from 'react';
2
- import { ElementType, ComponentPropsWithoutRef, ReactNode, ComponentProps, FormEvent, Ref, RefCallback } from 'react';
3
- import { UiAssistantMessage, CopilotId, UiUserMessage } from '@liveblocks/core';
2
+ import { ComponentProps, ReactNode, ElementType, ComponentPropsWithoutRef, Ref, RefCallback, FormEvent, ComponentType } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
5
5
  export { TooltipProvider } from '@radix-ui/react-tooltip';
6
- import * as react_jsx_runtime from 'react/jsx-runtime';
7
-
8
- type SlotProp = {
9
- /**
10
- * Replace the rendered element by the one passed as a child.
11
- */
12
- asChild?: boolean;
13
- };
14
- type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
15
-
16
- interface GlobalOverrides {
17
- USER_SELF: string;
18
- USER_UNKNOWN: string;
19
- LIST_REMAINING: (count: number) => string;
20
- LIST_REMAINING_USERS: (count: number) => string;
21
- LIST_REMAINING_COMMENTS: (count: number) => string;
22
- EMOJI_PICKER_SEARCH_PLACEHOLDER: string;
23
- EMOJI_PICKER_EMPTY: ReactNode;
24
- EMOJI_PICKER_ERROR: (error: Error) => ReactNode;
25
- EMOJI_PICKER_CHANGE_SKIN_TONE: string;
26
- ATTACHMENT_TOO_LARGE: (maxSize?: string) => string;
27
- ATTACHMENT_ERROR: (error: Error) => string;
28
- }
29
- interface AiChatComposerOverrides {
30
- AI_CHAT_COMPOSER_PLACEHOLDER: string;
31
- AI_CHAT_COMPOSER_SEND: string;
32
- AI_CHAT_COMPOSER_ATTACH_FILES: string;
33
- AI_CHAT_COMPOSER_REMOVE_ATTACHMENT: string;
34
- AI_CHAT_COMPOSER_ABORT: string;
35
- }
36
- interface AiChatMessageOverrides {
37
- AI_CHAT_MESSAGE_DELETED: string;
38
- AI_CHAT_MESSAGE_THINKING: string;
39
- AI_CHAT_MESSAGE_COPY: string;
40
- AI_CHAT_MESSAGE_TRY_AGAIN: string;
41
- }
42
-
43
- interface AiChatAssistantMessageProps extends ComponentProps<"div"> {
44
- /**
45
- * The message to display.
46
- */
47
- message: UiAssistantMessage;
48
- /**
49
- * Override the component's strings.
50
- */
51
- overrides?: Partial<GlobalOverrides & AiChatMessageOverrides>;
52
- }
53
- declare const AiChatAssistantMessage: react.MemoExoticComponent<react.ForwardRefExoticComponent<Omit<AiChatAssistantMessageProps, "ref"> & react.RefAttributes<HTMLDivElement>>>;
54
-
55
- interface AiChatComposerProps extends ComponentProps<"form"> {
56
- /**
57
- * The composer's initial value.
58
- */
59
- defaultValue?: string;
60
- /**
61
- * The event handler called when a chat message is submitted.
62
- */
63
- onComposerSubmit?: (message: {
64
- /**
65
- * The submitted message text.
66
- */
67
- text: string;
68
- }, event: FormEvent<HTMLFormElement>) => void;
69
- /**
70
- * Whether the composer is disabled.
71
- */
72
- disabled?: boolean;
73
- /**
74
- * Whether to focus the editor on mount.
75
- */
76
- autoFocus?: boolean;
77
- /**
78
- * Override the component's strings.
79
- */
80
- overrides?: Partial<GlobalOverrides & AiChatComposerOverrides>;
81
- /**
82
- * The id of the chat the composer belongs to.
83
- */
84
- chatId: string;
85
- /**
86
- * The id of the copilot to use to send the message.
87
- */
88
- copilotId?: CopilotId;
89
- }
90
- declare const AiChatComposer: react.ForwardRefExoticComponent<Omit<AiChatComposerProps, "ref"> & react.RefAttributes<HTMLFormElement>>;
91
-
92
- interface AiChatUserMessageProps extends ComponentProps<"div"> {
93
- /**
94
- * The message to display.
95
- */
96
- message: UiUserMessage;
97
- /**
98
- * Override the component's strings.
99
- */
100
- overrides?: Partial<GlobalOverrides>;
101
- }
102
- declare const AiChatUserMessage: react.MemoExoticComponent<react.ForwardRefExoticComponent<Omit<AiChatUserMessageProps, "ref"> & react.RefAttributes<HTMLDivElement>>>;
6
+ import { AiTextPart, AiReasoningPart, AiChatMessage } from '@liveblocks/core';
103
7
 
104
8
  interface ButtonProps extends ComponentProps<"button"> {
105
- variant?: "default" | "toolbar" | "outline" | "primary" | "secondary";
9
+ variant?: "default" | "toolbar" | "outline" | "primary" | "secondary" | "destructive";
106
10
  size?: "default" | "large";
107
11
  disableable?: boolean;
108
12
  icon?: ReactNode;
@@ -110,6 +14,14 @@ interface ButtonProps extends ComponentProps<"button"> {
110
14
  declare const Button: react.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
111
15
  declare const SelectButton: react.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
112
16
 
17
+ type SlotProp = {
18
+ /**
19
+ * Replace the rendered element by the one passed as a child.
20
+ */
21
+ asChild?: boolean;
22
+ };
23
+ type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
24
+
113
25
  interface ListProps extends ComponentPropsWithSlot<"span"> {
114
26
  values: ReactNode[];
115
27
  formatRemaining?: (amount: number) => string;
@@ -118,6 +30,15 @@ interface ListProps extends ComponentPropsWithSlot<"span"> {
118
30
  }
119
31
  declare const List: react.ForwardRefExoticComponent<ListProps & react.RefAttributes<HTMLSpanElement>>;
120
32
 
33
+ interface ProseProps extends ComponentProps<"div"> {
34
+ content: string;
35
+ }
36
+ /**
37
+ * This component renders Markdown content with `lb-prose`
38
+ * styles and custom components (code blocks, etc)
39
+ */
40
+ declare function Prose({ content, className, ...props }: ProseProps): react_jsx_runtime.JSX.Element;
41
+
121
42
  interface TooltipProps extends Pick<TooltipPrimitive.TooltipTriggerProps, "children">, Omit<TooltipPrimitive.TooltipContentProps, "content"> {
122
43
  content: ReactNode;
123
44
  multiline?: boolean;
@@ -160,6 +81,10 @@ declare function BoldIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.E
160
81
 
161
82
  declare function CheckIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
162
83
 
84
+ declare function CheckCircleIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
85
+
86
+ declare function CheckCircleFillIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
87
+
163
88
  declare function ChevronDownIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
164
89
 
165
90
  declare function ChevronLeftIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
@@ -206,10 +131,6 @@ declare function QuestionMarkIcon(props: ComponentProps<"svg">): react_jsx_runti
206
131
 
207
132
  declare function RedoIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
208
133
 
209
- declare function ResolveIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
210
-
211
- declare function ResolvedIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
212
-
213
134
  declare function RestoreIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
214
135
 
215
136
  declare function RetryIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
@@ -252,4 +173,178 @@ declare function useInitial<T>(value: T | (() => T)): T;
252
173
 
253
174
  declare function useRefs<T>(...refs: Ref<T>[]): RefCallback<T>;
254
175
 
255
- export { AiChatAssistantMessage, AiChatAssistantMessageProps, AiChatComposer, AiChatComposerProps, AiChatUserMessage, AiChatUserMessageProps, ArrowCornerDownRightIcon, ArrowCornerUpRightIcon, ArrowDownIcon, ArrowUpIcon, AttachmentIcon, BellCrossedIcon, BellIcon, BlockquoteIcon, BoldIcon, Button, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CodeIcon, CommentIcon, CopyIcon, CrossIcon, DeleteIcon, EditIcon, EllipsisIcon, EmojiIcon, EmojiPlusIcon, H1Icon, H2Icon, H3Icon, ItalicIcon, LengthenIcon, List, ListOrderedIcon, ListUnorderedIcon, MentionIcon, QuestionMarkIcon, RedoIcon, ResolveIcon, ResolvedIcon, RestoreIcon, RetryIcon, SearchIcon, SelectButton, SendIcon, ShortcutTooltip, ShortenIcon, SparklesIcon, SparklesTextIcon, SpinnerIcon, StopIcon, StrikethroughIcon, TextIcon, Tooltip, TranslateIcon, UnderlineIcon, UndoIcon, User, WarningIcon, capitalize, useInitial, useRefs };
176
+ interface AiChatComposerFormProps extends ComponentPropsWithSlot<"form"> {
177
+ /**
178
+ * The event handler called when a chat message is submitted.
179
+ */
180
+ onComposerSubmit?: (message: {
181
+ /**
182
+ * The submitted message text.
183
+ */
184
+ text: string;
185
+ }, event: FormEvent<HTMLFormElement>) => void;
186
+ /**
187
+ * Whether the composer is disabled.
188
+ */
189
+ disabled?: boolean;
190
+ }
191
+ interface AiChatComposerEditorProps extends Omit<ComponentPropsWithoutRef<"div">, "defaultValue"> {
192
+ /**
193
+ * The editor's initial value.
194
+ */
195
+ defaultValue?: string;
196
+ /**
197
+ * The text to display when the editor is empty.
198
+ */
199
+ placeholder?: string;
200
+ /**
201
+ * Whether the editor is disabled.
202
+ */
203
+ disabled?: boolean;
204
+ /**
205
+ * Whether to focus the editor on mount.
206
+ */
207
+ autoFocus?: boolean;
208
+ }
209
+ type AiChatComposerSubmitProps = ComponentPropsWithSlot<"button">;
210
+
211
+ /**
212
+ * Surrounds the chat composer's content and handles submissions.
213
+ *
214
+ * @example
215
+ * <AiChatComposer.Form onComposerSubmit={({ text }) => {}}>
216
+ * <AiChatComposer.Editor />
217
+ * <AiChatComposer.Submit />
218
+ * </AiChatComposer.Form>
219
+ */
220
+ declare const AiChatComposerForm: react.ForwardRefExoticComponent<AiChatComposerFormProps & react.RefAttributes<HTMLFormElement>>;
221
+ /**
222
+ * Displays the chat composer's editor.
223
+ *
224
+ * @example
225
+ * <AiChatComposer.Editor placeholder="Write a message…" />
226
+ */
227
+ declare const AiChatComposerEditor: react.ForwardRefExoticComponent<AiChatComposerEditorProps & react.RefAttributes<HTMLDivElement>>;
228
+ /**
229
+ * A button to submit a chat message.
230
+ *
231
+ * @example
232
+ * <AiChatComposer.Submit>Send</AiChatComposer.Submit>
233
+ */
234
+ declare const AiChatComposerSubmit: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & SlotProp & react.RefAttributes<HTMLButtonElement>>;
235
+
236
+ declare const index$2_AiChatComposerEditor: typeof AiChatComposerEditor;
237
+ declare const index$2_AiChatComposerForm: typeof AiChatComposerForm;
238
+ declare const index$2_AiChatComposerSubmit: typeof AiChatComposerSubmit;
239
+ declare namespace index$2 {
240
+ export {
241
+ index$2_AiChatComposerEditor as AiChatComposerEditor,
242
+ index$2_AiChatComposerForm as AiChatComposerForm,
243
+ index$2_AiChatComposerSubmit as AiChatComposerSubmit,
244
+ AiChatComposerEditor as Editor,
245
+ AiChatComposerForm as Form,
246
+ AiChatComposerSubmit as Submit,
247
+ };
248
+ }
249
+
250
+ type AiMessageContentTextPartProps = {
251
+ part: AiTextPart;
252
+ };
253
+ type AiMessageContentReasoningPartProps = {
254
+ part: AiReasoningPart;
255
+ };
256
+ interface AiMessageContentComponents {
257
+ /**
258
+ * The component used to display text parts.
259
+ */
260
+ TextPart: ComponentType<AiMessageContentTextPartProps>;
261
+ /**
262
+ * The component used to display reasoning parts.
263
+ */
264
+ ReasoningPart: ComponentType<AiMessageContentReasoningPartProps>;
265
+ }
266
+ interface AiMessageContentProps extends Omit<ComponentPropsWithSlot<"div">, "children"> {
267
+ /**
268
+ * The message contents to display.
269
+ */
270
+ message: AiChatMessage;
271
+ /**
272
+ * Optional overrides for the default components to render each part within
273
+ * the message content.
274
+ */
275
+ components?: Partial<AiMessageContentComponents>;
276
+ }
277
+
278
+ /**
279
+ * --------------------------------------------------------------------------
280
+ * @private The API for this component is not yet stable.
281
+ * --------------------------------------------------------------------------
282
+ *
283
+ * Primitive to help display an user or assistant message’s content, which is
284
+ * an array of parts.
285
+ *
286
+ * @example
287
+ * <AiMessage.Content message={message} components={{ TextPart }} />
288
+ */
289
+ declare const AiMessageContent: react.ForwardRefExoticComponent<AiMessageContentProps & react.RefAttributes<HTMLDivElement>>;
290
+
291
+ declare namespace index$1 {
292
+ export {
293
+ AiMessageContent as Content,
294
+ };
295
+ }
296
+
297
+ interface RootProps extends ComponentPropsWithSlot<"div"> {
298
+ defaultOpen?: boolean;
299
+ open?: boolean;
300
+ onOpenChange?: (open: boolean) => void;
301
+ disabled?: boolean;
302
+ }
303
+
304
+ declare const CollapsibleRoot: react.ForwardRefExoticComponent<RootProps & react.RefAttributes<HTMLDivElement>>;
305
+ declare const CollapsibleTrigger: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & SlotProp & react.RefAttributes<HTMLButtonElement>>;
306
+ declare const CollapsibleContent: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & SlotProp & react.RefAttributes<HTMLDivElement>>;
307
+
308
+ declare namespace index {
309
+ export {
310
+ CollapsibleContent as Content,
311
+ CollapsibleRoot as Root,
312
+ CollapsibleTrigger as Trigger,
313
+ };
314
+ }
315
+
316
+ type MarkdownComponents = {
317
+ CodeBlock: ComponentType<MarkdownComponentsCodeBlockProps>;
318
+ Link: ComponentType<MarkdownComponentsLinkProps>;
319
+ Heading: ComponentType<MarkdownComponentsHeadingProps>;
320
+ Image: ComponentType<MarkdownComponentsImageProps>;
321
+ Blockquote: ComponentType<MarkdownComponentsBlockquoteProps>;
322
+ };
323
+ interface MarkdownComponentsBlockquoteProps {
324
+ children: ReactNode;
325
+ }
326
+ interface MarkdownComponentsImageProps {
327
+ src: string;
328
+ alt: string;
329
+ title?: string;
330
+ }
331
+ interface MarkdownComponentsHeadingProps {
332
+ level: 1 | 2 | 3 | 4 | 5 | 6;
333
+ children: ReactNode;
334
+ }
335
+ interface MarkdownComponentsLinkProps {
336
+ href: string;
337
+ title?: string;
338
+ children: ReactNode;
339
+ }
340
+ interface MarkdownComponentsCodeBlockProps {
341
+ code: string;
342
+ language?: string;
343
+ }
344
+ interface MarkdownProps extends Omit<ComponentPropsWithSlot<"div">, "children"> {
345
+ content: string;
346
+ components?: Partial<MarkdownComponents>;
347
+ }
348
+ declare const Markdown: react.ForwardRefExoticComponent<MarkdownProps & react.RefAttributes<HTMLDivElement>>;
349
+
350
+ export { index$2 as AiChatComposer, AiChatComposerEditorProps, AiChatComposerFormProps, AiChatComposerSubmitProps, index$1 as AiMessage, AiMessageContentComponents, AiMessageContentProps, AiMessageContentReasoningPartProps, AiMessageContentTextPartProps, ArrowCornerDownRightIcon, ArrowCornerUpRightIcon, ArrowDownIcon, ArrowUpIcon, AttachmentIcon, BellCrossedIcon, BellIcon, BlockquoteIcon, BoldIcon, Button, CheckCircleFillIcon, CheckCircleIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CodeIcon, index as Collapsible, CommentIcon, CopyIcon, CrossIcon, DeleteIcon, EditIcon, EllipsisIcon, EmojiIcon, EmojiPlusIcon, H1Icon, H2Icon, H3Icon, ItalicIcon, LengthenIcon, List, ListOrderedIcon, ListUnorderedIcon, Markdown, MarkdownComponents, MarkdownComponentsBlockquoteProps, MarkdownComponentsCodeBlockProps, MarkdownComponentsHeadingProps, MarkdownComponentsImageProps, MarkdownComponentsLinkProps, MarkdownProps, MentionIcon, Prose, QuestionMarkIcon, RedoIcon, RestoreIcon, RetryIcon, SearchIcon, SelectButton, SendIcon, ShortcutTooltip, ShortenIcon, SparklesIcon, SparklesTextIcon, SpinnerIcon, StopIcon, StrikethroughIcon, TextIcon, Tooltip, TranslateIcon, UnderlineIcon, UndoIcon, User, WarningIcon, capitalize, useInitial, useRefs };