@liveblocks/react-ui 2.25.0-aiprivatebeta8 → 3.0.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 (181) hide show
  1. package/_private/package.json +2 -2
  2. package/dist/_private/index.cjs +14 -12
  3. package/dist/_private/index.cjs.map +1 -1
  4. package/dist/_private/index.d.cts +146 -113
  5. package/dist/_private/index.d.ts +146 -113
  6. package/dist/_private/index.js +10 -5
  7. package/dist/_private/index.js.map +1 -1
  8. package/dist/components/AiChat.cjs +85 -121
  9. package/dist/components/AiChat.cjs.map +1 -1
  10. package/dist/components/AiChat.js +87 -123
  11. package/dist/components/AiChat.js.map +1 -1
  12. package/dist/components/AiTool.cjs +188 -0
  13. package/dist/components/AiTool.cjs.map +1 -0
  14. package/dist/components/AiTool.js +186 -0
  15. package/dist/components/AiTool.js.map +1 -0
  16. package/dist/components/Comment.cjs +259 -238
  17. package/dist/components/Comment.cjs.map +1 -1
  18. package/dist/components/Comment.js +261 -240
  19. package/dist/components/Comment.js.map +1 -1
  20. package/dist/components/Composer.cjs +42 -30
  21. package/dist/components/Composer.cjs.map +1 -1
  22. package/dist/components/Composer.js +44 -32
  23. package/dist/components/Composer.js.map +1 -1
  24. package/dist/components/InboxNotificationList.cjs +11 -3
  25. package/dist/components/InboxNotificationList.cjs.map +1 -1
  26. package/dist/components/InboxNotificationList.js +12 -4
  27. package/dist/components/InboxNotificationList.js.map +1 -1
  28. package/dist/components/Thread.cjs +7 -1
  29. package/dist/components/Thread.cjs.map +1 -1
  30. package/dist/components/Thread.js +8 -2
  31. package/dist/components/Thread.js.map +1 -1
  32. package/dist/components/internal/AiChatAssistantMessage.cjs +75 -199
  33. package/dist/components/internal/AiChatAssistantMessage.cjs.map +1 -1
  34. package/dist/components/internal/AiChatAssistantMessage.js +77 -201
  35. package/dist/components/internal/AiChatAssistantMessage.js.map +1 -1
  36. package/dist/components/internal/AiChatComposer.cjs +1 -1
  37. package/dist/components/internal/AiChatComposer.cjs.map +1 -1
  38. package/dist/components/internal/AiChatComposer.js +1 -1
  39. package/dist/components/internal/AiChatComposer.js.map +1 -1
  40. package/dist/components/internal/AiChatUserMessage.cjs +17 -10
  41. package/dist/components/internal/AiChatUserMessage.cjs.map +1 -1
  42. package/dist/components/internal/AiChatUserMessage.js +17 -10
  43. package/dist/components/internal/AiChatUserMessage.js.map +1 -1
  44. package/dist/components/internal/Button.cjs.map +1 -1
  45. package/dist/components/internal/Button.js.map +1 -1
  46. package/dist/components/internal/CodeBlock.cjs +75 -0
  47. package/dist/components/internal/CodeBlock.cjs.map +1 -0
  48. package/dist/components/internal/CodeBlock.js +73 -0
  49. package/dist/components/internal/CodeBlock.js.map +1 -0
  50. package/dist/components/internal/Dropdown.cjs +1 -1
  51. package/dist/components/internal/Dropdown.cjs.map +1 -1
  52. package/dist/components/internal/Dropdown.js +2 -2
  53. package/dist/components/internal/Dropdown.js.map +1 -1
  54. package/dist/components/internal/Emoji.cjs +12 -4
  55. package/dist/components/internal/Emoji.cjs.map +1 -1
  56. package/dist/components/internal/Emoji.js +12 -4
  57. package/dist/components/internal/Emoji.js.map +1 -1
  58. package/dist/components/internal/EmojiPicker.cjs +1 -1
  59. package/dist/components/internal/EmojiPicker.cjs.map +1 -1
  60. package/dist/components/internal/EmojiPicker.js +2 -2
  61. package/dist/components/internal/EmojiPicker.js.map +1 -1
  62. package/dist/components/internal/InboxNotificationThread.cjs +5 -2
  63. package/dist/components/internal/InboxNotificationThread.cjs.map +1 -1
  64. package/dist/components/internal/InboxNotificationThread.js +6 -3
  65. package/dist/components/internal/InboxNotificationThread.js.map +1 -1
  66. package/dist/components/internal/Prose.cjs +37 -0
  67. package/dist/components/internal/Prose.cjs.map +1 -0
  68. package/dist/components/internal/Prose.js +35 -0
  69. package/dist/components/internal/Prose.js.map +1 -0
  70. package/dist/components/internal/Tooltip.cjs +1 -1
  71. package/dist/components/internal/Tooltip.cjs.map +1 -1
  72. package/dist/components/internal/Tooltip.js +2 -2
  73. package/dist/components/internal/Tooltip.js.map +1 -1
  74. package/dist/config.cjs +9 -9
  75. package/dist/config.cjs.map +1 -1
  76. package/dist/config.js +8 -8
  77. package/dist/config.js.map +1 -1
  78. package/dist/icons/CrossCircleFill.cjs +25 -0
  79. package/dist/icons/CrossCircleFill.cjs.map +1 -0
  80. package/dist/icons/CrossCircleFill.js +23 -0
  81. package/dist/icons/CrossCircleFill.js.map +1 -0
  82. package/dist/icons/MinusCircle.cjs +23 -0
  83. package/dist/icons/MinusCircle.cjs.map +1 -0
  84. package/dist/icons/MinusCircle.js +21 -0
  85. package/dist/icons/MinusCircle.js.map +1 -0
  86. package/dist/icons/index.cjs +4 -0
  87. package/dist/icons/index.cjs.map +1 -1
  88. package/dist/icons/index.js +2 -0
  89. package/dist/icons/index.js.map +1 -1
  90. package/dist/index.cjs +3 -3
  91. package/dist/index.cjs.map +1 -1
  92. package/dist/index.d.cts +270 -22
  93. package/dist/index.d.ts +270 -22
  94. package/dist/index.js +2 -2
  95. package/dist/index.js.map +1 -1
  96. package/dist/overrides.cjs +6 -4
  97. package/dist/overrides.cjs.map +1 -1
  98. package/dist/overrides.js +6 -4
  99. package/dist/overrides.js.map +1 -1
  100. package/dist/primitives/AiMessage/contexts.cjs +18 -0
  101. package/dist/primitives/AiMessage/contexts.cjs.map +1 -0
  102. package/dist/primitives/AiMessage/contexts.js +15 -0
  103. package/dist/primitives/AiMessage/contexts.js.map +1 -0
  104. package/dist/primitives/AiMessage/index.cjs +77 -0
  105. package/dist/primitives/AiMessage/index.cjs.map +1 -0
  106. package/dist/primitives/AiMessage/index.js +75 -0
  107. package/dist/primitives/AiMessage/index.js.map +1 -0
  108. package/dist/primitives/AiMessage/tool-invocation.cjs +70 -0
  109. package/dist/primitives/AiMessage/tool-invocation.cjs.map +1 -0
  110. package/dist/primitives/AiMessage/tool-invocation.js +68 -0
  111. package/dist/primitives/AiMessage/tool-invocation.js.map +1 -0
  112. package/dist/primitives/{internal/Collapsible → Collapsible}/index.cjs +39 -17
  113. package/dist/primitives/Collapsible/index.cjs.map +1 -0
  114. package/dist/primitives/{internal/Collapsible → Collapsible}/index.js +37 -15
  115. package/dist/primitives/Collapsible/index.js.map +1 -0
  116. package/dist/primitives/Comment/index.cjs +5 -4
  117. package/dist/primitives/Comment/index.cjs.map +1 -1
  118. package/dist/primitives/Comment/index.js +5 -4
  119. package/dist/primitives/Comment/index.js.map +1 -1
  120. package/dist/primitives/Composer/index.cjs +49 -41
  121. package/dist/primitives/Composer/index.cjs.map +1 -1
  122. package/dist/primitives/Composer/index.js +50 -42
  123. package/dist/primitives/Composer/index.js.map +1 -1
  124. package/dist/primitives/Composer/slate/plugins/mentions.cjs +4 -4
  125. package/dist/primitives/Composer/slate/plugins/mentions.cjs.map +1 -1
  126. package/dist/primitives/Composer/slate/plugins/mentions.js +4 -4
  127. package/dist/primitives/Composer/slate/plugins/mentions.js.map +1 -1
  128. package/dist/primitives/Composer/utils.cjs +3 -6
  129. package/dist/primitives/Composer/utils.cjs.map +1 -1
  130. package/dist/primitives/Composer/utils.js +3 -6
  131. package/dist/primitives/Composer/utils.js.map +1 -1
  132. package/dist/primitives/{internal/Markdown.cjs → Markdown.cjs} +105 -65
  133. package/dist/primitives/Markdown.cjs.map +1 -0
  134. package/dist/primitives/{internal/Markdown.js → Markdown.js} +106 -65
  135. package/dist/primitives/Markdown.js.map +1 -0
  136. package/dist/primitives/index.cjs +4 -6
  137. package/dist/primitives/index.cjs.map +1 -1
  138. package/dist/primitives/index.d.cts +20 -93
  139. package/dist/primitives/index.d.ts +20 -93
  140. package/dist/primitives/index.js +4 -6
  141. package/dist/primitives/index.js.map +1 -1
  142. package/dist/utils/ErrorBoundary.cjs +48 -0
  143. package/dist/utils/ErrorBoundary.cjs.map +1 -0
  144. package/dist/utils/ErrorBoundary.js +45 -0
  145. package/dist/utils/ErrorBoundary.js.map +1 -0
  146. package/dist/utils/use-controllable-state.cjs +25 -2
  147. package/dist/utils/use-controllable-state.cjs.map +1 -1
  148. package/dist/utils/use-controllable-state.js +25 -3
  149. package/dist/utils/use-controllable-state.js.map +1 -1
  150. package/dist/utils/use-visible.cjs +65 -45
  151. package/dist/utils/use-visible.cjs.map +1 -1
  152. package/dist/utils/use-visible.js +66 -46
  153. package/dist/utils/use-visible.js.map +1 -1
  154. package/dist/version.cjs +1 -1
  155. package/dist/version.cjs.map +1 -1
  156. package/dist/version.js +1 -1
  157. package/dist/version.js.map +1 -1
  158. package/package.json +16 -5
  159. package/primitives/package.json +2 -2
  160. package/src/styles/constants.css +1 -1
  161. package/src/styles/dark/index.css +7 -3
  162. package/src/styles/index.css +572 -252
  163. package/src/styles/utils.css +1 -1
  164. package/styles/dark/attributes.css +1 -1
  165. package/styles/dark/attributes.css.map +1 -1
  166. package/styles/dark/media-query.css +1 -1
  167. package/styles/dark/media-query.css.map +1 -1
  168. package/styles.css +1 -1
  169. package/styles.css.map +1 -1
  170. package/dist/components/AiToolDebugger.cjs +0 -74
  171. package/dist/components/AiToolDebugger.cjs.map +0 -1
  172. package/dist/components/AiToolDebugger.js +0 -72
  173. package/dist/components/AiToolDebugger.js.map +0 -1
  174. package/dist/primitives/internal/Collapsible/index.cjs.map +0 -1
  175. package/dist/primitives/internal/Collapsible/index.js.map +0 -1
  176. package/dist/primitives/internal/Emoji.cjs +0 -32
  177. package/dist/primitives/internal/Emoji.cjs.map +0 -1
  178. package/dist/primitives/internal/Emoji.js +0 -30
  179. package/dist/primitives/internal/Emoji.js.map +0 -1
  180. package/dist/primitives/internal/Markdown.cjs.map +0 -1
  181. package/dist/primitives/internal/Markdown.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
  {
2
- "main": "../dist/_private/index.js",
3
- "types": "../dist/_private/index.d.ts"
2
+ "main": "../dist/_private/index.cjs",
3
+ "types": "../dist/_private/index.d.cts"
4
4
  }
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var components = require('../components.cjs');
4
- var AiChatAssistantMessage = require('../components/internal/AiChatAssistantMessage.cjs');
5
- var AiChatComposer = require('../components/internal/AiChatComposer.cjs');
6
- var AiChatUserMessage = require('../components/internal/AiChatUserMessage.cjs');
7
3
  var Button = require('../components/internal/Button.cjs');
8
4
  var List = require('../components/internal/List.cjs');
5
+ var Prose = require('../components/internal/Prose.cjs');
9
6
  var Tooltip = require('../components/internal/Tooltip.cjs');
10
7
  var User = require('../components/internal/User.cjs');
11
8
  require('../icons/index.cjs');
12
- var index = require('../primitives/AiChatComposer/index.cjs');
13
9
  var capitalize = require('../utils/capitalize.cjs');
14
10
  var useInitial = require('../utils/use-initial.cjs');
15
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');
16
16
  var TooltipPrimitive = require('@radix-ui/react-tooltip');
17
17
  var ArrowCornerDownRight = require('../icons/ArrowCornerDownRight.cjs');
18
18
  var ArrowCornerUpRight = require('../icons/ArrowCornerUpRight.cjs');
@@ -34,6 +34,7 @@ var Code = require('../icons/Code.cjs');
34
34
  var Comment = require('../icons/Comment.cjs');
35
35
  var Copy = require('../icons/Copy.cjs');
36
36
  var Cross = require('../icons/Cross.cjs');
37
+ var CrossCircleFill = require('../icons/CrossCircleFill.cjs');
37
38
  var Delete = require('../icons/Delete.cjs');
38
39
  var Edit = require('../icons/Edit.cjs');
39
40
  var Ellipsis = require('../icons/Ellipsis.cjs');
@@ -47,6 +48,7 @@ var Lengthen = require('../icons/Lengthen.cjs');
47
48
  var ListOrdered = require('../icons/ListOrdered.cjs');
48
49
  var ListUnordered = require('../icons/ListUnordered.cjs');
49
50
  var Mention = require('../icons/Mention.cjs');
51
+ var MinusCircle = require('../icons/MinusCircle.cjs');
50
52
  var QuestionMark = require('../icons/QuestionMark.cjs');
51
53
  var Redo = require('../icons/Redo.cjs');
52
54
  var Restore = require('../icons/Restore.cjs');
@@ -67,22 +69,20 @@ var Warning = require('../icons/Warning.cjs');
67
69
 
68
70
 
69
71
 
70
- exports.useComponents = components.useComponents;
71
- exports.AiChatAssistantMessage = AiChatAssistantMessage.AiChatAssistantMessage;
72
- exports.AiChatComposer = AiChatComposer.AiChatComposer;
73
- exports.AiChatUserMessage = AiChatUserMessage.AiChatUserMessage;
74
72
  exports.Button = Button.Button;
75
73
  exports.SelectButton = Button.SelectButton;
76
74
  exports.List = List.List;
75
+ exports.Prose = Prose.Prose;
77
76
  exports.ShortcutTooltip = Tooltip.ShortcutTooltip;
78
77
  exports.Tooltip = Tooltip.Tooltip;
79
78
  exports.User = User.User;
80
- exports.AiChatComposerEditor = index.AiChatComposerEditor;
81
- exports.AiChatComposerForm = index.AiChatComposerForm;
82
- exports.AiChatComposerSubmit = index.AiChatComposerSubmit;
83
79
  exports.capitalize = capitalize.capitalize;
84
80
  exports.useInitial = useInitial.useInitial;
85
81
  exports.useRefs = useRefs.useRefs;
82
+ exports.AiChatComposer = index;
83
+ exports.AiMessage = index$1;
84
+ exports.Collapsible = index$2;
85
+ exports.Markdown = Markdown.Markdown;
86
86
  Object.defineProperty(exports, 'TooltipProvider', {
87
87
  enumerable: true,
88
88
  get: function () { return TooltipPrimitive.TooltipProvider; }
@@ -107,6 +107,7 @@ exports.CodeIcon = Code.CodeIcon;
107
107
  exports.CommentIcon = Comment.CommentIcon;
108
108
  exports.CopyIcon = Copy.CopyIcon;
109
109
  exports.CrossIcon = Cross.CrossIcon;
110
+ exports.CrossCircleFillIcon = CrossCircleFill.CrossCircleFillIcon;
110
111
  exports.DeleteIcon = Delete.DeleteIcon;
111
112
  exports.EditIcon = Edit.EditIcon;
112
113
  exports.EllipsisIcon = Ellipsis.EllipsisIcon;
@@ -120,6 +121,7 @@ exports.LengthenIcon = Lengthen.LengthenIcon;
120
121
  exports.ListOrderedIcon = ListOrdered.ListOrderedIcon;
121
122
  exports.ListUnorderedIcon = ListUnordered.ListUnorderedIcon;
122
123
  exports.MentionIcon = Mention.MentionIcon;
124
+ exports.MinusCircleIcon = MinusCircle.MinusCircleIcon;
123
125
  exports.QuestionMarkIcon = QuestionMark.QuestionMarkIcon;
124
126
  exports.RedoIcon = Redo.RedoIcon;
125
127
  exports.RestoreIcon = Restore.RestoreIcon;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,15 +1,18 @@
1
1
  import * as react from 'react';
2
- import { ComponentType, ComponentPropsWithoutRef, ElementType, 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';
6
+ import { AiTextPart, AiReasoningPart, AiChatMessage } from '@liveblocks/core';
7
7
 
8
- interface GlobalComponents {
9
- Anchor: ComponentType<ComponentPropsWithoutRef<"a">> | "a";
8
+ interface ButtonProps extends ComponentProps<"button"> {
9
+ variant?: "default" | "toolbar" | "outline" | "primary" | "secondary" | "destructive";
10
+ size?: "default" | "large";
11
+ disableable?: boolean;
12
+ icon?: ReactNode;
10
13
  }
11
- type Components = GlobalComponents;
12
- declare function useComponents(components?: Partial<Components>): Components;
14
+ declare const Button: react.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
15
+ declare const SelectButton: react.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
13
16
 
14
17
  type SlotProp = {
15
18
  /**
@@ -19,103 +22,6 @@ type SlotProp = {
19
22
  };
20
23
  type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
21
24
 
22
- interface GlobalOverrides {
23
- USER_SELF: string;
24
- USER_UNKNOWN: string;
25
- LIST_REMAINING: (count: number) => string;
26
- LIST_REMAINING_USERS: (count: number) => string;
27
- LIST_REMAINING_COMMENTS: (count: number) => string;
28
- EMOJI_PICKER_SEARCH_PLACEHOLDER: string;
29
- EMOJI_PICKER_EMPTY: ReactNode;
30
- EMOJI_PICKER_ERROR: (error: Error) => ReactNode;
31
- EMOJI_PICKER_CHANGE_SKIN_TONE: string;
32
- ATTACHMENT_TOO_LARGE: (maxSize?: string) => string;
33
- ATTACHMENT_ERROR: (error: Error) => string;
34
- }
35
- interface AiChatComposerOverrides {
36
- AI_CHAT_COMPOSER_PLACEHOLDER: string;
37
- AI_CHAT_COMPOSER_SEND: string;
38
- AI_CHAT_COMPOSER_ABORT: string;
39
- }
40
- interface AiChatMessageOverrides {
41
- AI_CHAT_MESSAGE_DELETED: string;
42
- AI_CHAT_MESSAGE_THINKING: string;
43
- }
44
-
45
- interface AiChatAssistantMessageProps extends ComponentProps<"div"> {
46
- /**
47
- * The message to display.
48
- */
49
- message: UiAssistantMessage;
50
- /**
51
- * Override the component's strings.
52
- */
53
- overrides?: Partial<GlobalOverrides & AiChatMessageOverrides>;
54
- /**
55
- * Override the component's components.
56
- */
57
- components?: Partial<GlobalComponents>;
58
- }
59
- declare const AiChatAssistantMessage: react.MemoExoticComponent<react.ForwardRefExoticComponent<Omit<AiChatAssistantMessageProps, "ref"> & react.RefAttributes<HTMLDivElement>>>;
60
-
61
- interface AiChatComposerProps extends ComponentProps<"form"> {
62
- /**
63
- * The composer's initial value.
64
- */
65
- defaultValue?: string;
66
- /**
67
- * The event handler called when a chat message is submitted.
68
- */
69
- onComposerSubmit?: (message: {
70
- /**
71
- * The submitted message text.
72
- */
73
- text: string;
74
- }, event: FormEvent<HTMLFormElement>) => void;
75
- /**
76
- * Whether the composer is disabled.
77
- */
78
- disabled?: boolean;
79
- /**
80
- * Whether to focus the editor on mount.
81
- */
82
- autoFocus?: boolean;
83
- /**
84
- * Override the component's strings.
85
- */
86
- overrides?: Partial<GlobalOverrides & AiChatComposerOverrides>;
87
- /**
88
- * The id of the chat the composer belongs to.
89
- */
90
- chatId: string;
91
- /**
92
- * The id of the copilot to use to send the message.
93
- */
94
- copilotId?: CopilotId;
95
- }
96
- declare const AiChatComposer: react.ForwardRefExoticComponent<Omit<AiChatComposerProps, "ref"> & react.RefAttributes<HTMLFormElement>>;
97
-
98
- interface AiChatUserMessageProps extends ComponentProps<"div"> {
99
- /**
100
- * The message to display.
101
- */
102
- message: UiUserMessage;
103
- /**
104
- * Override the component's strings.
105
- */
106
- overrides?: Partial<GlobalOverrides>;
107
- }
108
- declare const AiChatUserMessage: react.MemoExoticComponent<react.ForwardRefExoticComponent<Omit<AiChatUserMessageProps, "ref"> & react.RefAttributes<HTMLDivElement>>>;
109
-
110
- interface ButtonProps extends ComponentProps<"button"> {
111
- variant?: "default" | "toolbar" | "outline" | "primary" | "secondary";
112
- size?: "default" | "large";
113
- disableable?: boolean;
114
- icon?: ReactNode;
115
- }
116
- declare const Button: react.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
117
- declare const SelectButton: react.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
118
-
119
25
  interface ListProps extends ComponentPropsWithSlot<"span"> {
120
26
  values: ReactNode[];
121
27
  formatRemaining?: (amount: number) => string;
@@ -124,6 +30,15 @@ interface ListProps extends ComponentPropsWithSlot<"span"> {
124
30
  }
125
31
  declare const List: react.ForwardRefExoticComponent<ListProps & react.RefAttributes<HTMLSpanElement>>;
126
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
+
127
42
  interface TooltipProps extends Pick<TooltipPrimitive.TooltipTriggerProps, "children">, Omit<TooltipPrimitive.TooltipContentProps, "content"> {
128
43
  content: ReactNode;
129
44
  multiline?: boolean;
@@ -186,6 +101,8 @@ declare function CopyIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.E
186
101
 
187
102
  declare function CrossIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
188
103
 
104
+ declare function CrossCircleFillIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
105
+
189
106
  declare function DeleteIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
190
107
 
191
108
  declare function EditIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
@@ -212,6 +129,8 @@ declare function ListUnorderedIcon(props: ComponentProps<"svg">): react_jsx_runt
212
129
 
213
130
  declare function MentionIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
214
131
 
132
+ declare function MinusCircleIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
133
+
215
134
  declare function QuestionMarkIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
216
135
 
217
136
  declare function RedoIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
@@ -246,6 +165,18 @@ declare function UndoIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.E
246
165
 
247
166
  declare function WarningIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
248
167
 
168
+ declare function capitalize(string: string): string;
169
+
170
+ /**
171
+ * "Freezes" a given value, so that it will return the same value/instance on
172
+ * each subsequent render. This can be used to freeze "initial" values for
173
+ * custom hooks, much like how `useState(initialState)` or
174
+ * `useRef(initialValue)` works.
175
+ */
176
+ declare function useInitial<T>(value: T | (() => T)): T;
177
+
178
+ declare function useRefs<T>(...refs: Ref<T>[]): RefCallback<T>;
179
+
249
180
  interface AiChatComposerFormProps extends ComponentPropsWithSlot<"form"> {
250
181
  /**
251
182
  * The event handler called when a chat message is submitted.
@@ -261,7 +192,7 @@ interface AiChatComposerFormProps extends ComponentPropsWithSlot<"form"> {
261
192
  */
262
193
  disabled?: boolean;
263
194
  }
264
- interface AiChatComposerEditorProps extends Omit<ComponentPropsWithoutRef<"div">, "defaultValue"> {
195
+ interface AiChatComposerEditorProps extends Omit<ComponentPropsWithoutRef<"div">, "defaultValue" | "children"> {
265
196
  /**
266
197
  * The editor's initial value.
267
198
  */
@@ -306,16 +237,118 @@ declare const AiChatComposerEditor: react.ForwardRefExoticComponent<AiChatCompos
306
237
  */
307
238
  declare const AiChatComposerSubmit: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & SlotProp & react.RefAttributes<HTMLButtonElement>>;
308
239
 
309
- declare function capitalize(string: string): string;
240
+ declare const index$2_AiChatComposerEditor: typeof AiChatComposerEditor;
241
+ declare const index$2_AiChatComposerForm: typeof AiChatComposerForm;
242
+ declare const index$2_AiChatComposerSubmit: typeof AiChatComposerSubmit;
243
+ declare namespace index$2 {
244
+ export {
245
+ index$2_AiChatComposerEditor as AiChatComposerEditor,
246
+ index$2_AiChatComposerForm as AiChatComposerForm,
247
+ index$2_AiChatComposerSubmit as AiChatComposerSubmit,
248
+ AiChatComposerEditor as Editor,
249
+ AiChatComposerForm as Form,
250
+ AiChatComposerSubmit as Submit,
251
+ };
252
+ }
253
+
254
+ type AiMessageContentTextPartProps = {
255
+ part: AiTextPart;
256
+ };
257
+ type AiMessageContentReasoningPartProps = {
258
+ part: AiReasoningPart;
259
+ };
260
+ interface AiMessageContentComponents {
261
+ /**
262
+ * The component used to display text parts.
263
+ */
264
+ TextPart: ComponentType<AiMessageContentTextPartProps>;
265
+ /**
266
+ * The component used to display reasoning parts.
267
+ */
268
+ ReasoningPart: ComponentType<AiMessageContentReasoningPartProps>;
269
+ }
270
+ interface AiMessageContentProps extends ComponentPropsWithSlot<"div"> {
271
+ /**
272
+ * The message contents to display.
273
+ */
274
+ message: AiChatMessage;
275
+ /**
276
+ * Optional overrides for the default components to render each part within
277
+ * the message content.
278
+ */
279
+ components?: Partial<AiMessageContentComponents>;
280
+ }
310
281
 
311
282
  /**
312
- * "Freezes" a given value, so that it will return the same value/instance on
313
- * each subsequent render. This can be used to freeze "initial" values for
314
- * custom hooks, much like how `useState(initialState)` or
315
- * `useRef(initialValue)` works.
283
+ * --------------------------------------------------------------------------
284
+ * @private The API for this component is not yet stable.
285
+ * --------------------------------------------------------------------------
286
+ *
287
+ * Primitive to help display an user or assistant message’s content, which is
288
+ * an array of parts.
289
+ *
290
+ * @example
291
+ * <AiMessage.Content message={message} components={{ TextPart }} />
316
292
  */
317
- declare function useInitial<T>(value: T | (() => T)): T;
293
+ declare const AiMessageContent: react.ForwardRefExoticComponent<AiMessageContentProps & react.RefAttributes<HTMLDivElement>>;
318
294
 
319
- declare function useRefs<T>(...refs: Ref<T>[]): RefCallback<T>;
295
+ declare namespace index$1 {
296
+ export {
297
+ AiMessageContent as Content,
298
+ };
299
+ }
300
+
301
+ interface RootProps extends ComponentPropsWithSlot<"div"> {
302
+ defaultOpen?: boolean;
303
+ open?: boolean;
304
+ onOpenChange?: (open: boolean) => void;
305
+ disabled?: boolean;
306
+ }
307
+
308
+ declare const CollapsibleRoot: react.ForwardRefExoticComponent<RootProps & react.RefAttributes<HTMLDivElement>>;
309
+ declare const CollapsibleTrigger: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & SlotProp & react.RefAttributes<HTMLButtonElement>>;
310
+ declare const CollapsibleContent: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & SlotProp & react.RefAttributes<HTMLDivElement>>;
311
+
312
+ declare namespace index {
313
+ export {
314
+ CollapsibleContent as Content,
315
+ CollapsibleRoot as Root,
316
+ CollapsibleTrigger as Trigger,
317
+ };
318
+ }
319
+
320
+ type MarkdownComponents = {
321
+ CodeBlock: ComponentType<MarkdownComponentsCodeBlockProps>;
322
+ Link: ComponentType<MarkdownComponentsLinkProps>;
323
+ Heading: ComponentType<MarkdownComponentsHeadingProps>;
324
+ Image: ComponentType<MarkdownComponentsImageProps>;
325
+ Blockquote: ComponentType<MarkdownComponentsBlockquoteProps>;
326
+ };
327
+ interface MarkdownComponentsBlockquoteProps {
328
+ children: ReactNode;
329
+ }
330
+ interface MarkdownComponentsImageProps {
331
+ src: string;
332
+ alt: string;
333
+ title?: string;
334
+ }
335
+ interface MarkdownComponentsHeadingProps {
336
+ level: 1 | 2 | 3 | 4 | 5 | 6;
337
+ children: ReactNode;
338
+ }
339
+ interface MarkdownComponentsLinkProps {
340
+ href: string;
341
+ title?: string;
342
+ children: ReactNode;
343
+ }
344
+ interface MarkdownComponentsCodeBlockProps {
345
+ code: string;
346
+ language?: string;
347
+ }
348
+ interface MarkdownProps extends ComponentPropsWithSlot<"div"> {
349
+ content: string;
350
+ components?: Partial<MarkdownComponents>;
351
+ }
352
+ declare const Markdown: react.ForwardRefExoticComponent<MarkdownProps & react.RefAttributes<HTMLDivElement>>;
320
353
 
321
- export { AiChatAssistantMessage, AiChatAssistantMessageProps, AiChatComposer, AiChatComposerEditor, AiChatComposerEditorProps, AiChatComposerForm, AiChatComposerFormProps, AiChatComposerProps, AiChatComposerSubmit, AiChatComposerSubmitProps, AiChatUserMessage, AiChatUserMessageProps, ArrowCornerDownRightIcon, ArrowCornerUpRightIcon, ArrowDownIcon, ArrowUpIcon, AttachmentIcon, BellCrossedIcon, BellIcon, BlockquoteIcon, BoldIcon, Button, CheckCircleFillIcon, CheckCircleIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CodeIcon, CommentIcon, CopyIcon, CrossIcon, DeleteIcon, EditIcon, EllipsisIcon, EmojiIcon, EmojiPlusIcon, GlobalComponents, H1Icon, H2Icon, H3Icon, ItalicIcon, LengthenIcon, List, ListOrderedIcon, ListUnorderedIcon, MentionIcon, QuestionMarkIcon, RedoIcon, RestoreIcon, RetryIcon, SearchIcon, SelectButton, SendIcon, ShortcutTooltip, ShortenIcon, SparklesIcon, SparklesTextIcon, SpinnerIcon, StopIcon, StrikethroughIcon, TextIcon, Tooltip, TranslateIcon, UnderlineIcon, UndoIcon, User, WarningIcon, capitalize, useComponents, useInitial, useRefs };
354
+ 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, CrossCircleFillIcon, CrossIcon, DeleteIcon, EditIcon, EllipsisIcon, EmojiIcon, EmojiPlusIcon, H1Icon, H2Icon, H3Icon, ItalicIcon, LengthenIcon, List, ListOrderedIcon, ListUnorderedIcon, Markdown, MarkdownComponents, MarkdownComponentsBlockquoteProps, MarkdownComponentsCodeBlockProps, MarkdownComponentsHeadingProps, MarkdownComponentsImageProps, MarkdownComponentsLinkProps, MarkdownProps, MentionIcon, MinusCircleIcon, 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 };