@liveblocks/react-ui 3.9.1-tiptap1 → 3.9.2-tiptap1
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.
- package/dist/components/AiChat.cjs +133 -113
- package/dist/components/AiChat.cjs.map +1 -1
- package/dist/components/AiChat.js +133 -113
- package/dist/components/AiChat.js.map +1 -1
- package/dist/components/AiTool.cjs +120 -93
- package/dist/components/AiTool.cjs.map +1 -1
- package/dist/components/AiTool.js +120 -93
- package/dist/components/AiTool.js.map +1 -1
- package/dist/components/Comment.cjs +374 -374
- package/dist/components/Comment.cjs.map +1 -1
- package/dist/components/Comment.js +374 -374
- package/dist/components/Comment.js.map +1 -1
- package/dist/components/Composer.cjs +208 -259
- package/dist/components/Composer.cjs.map +1 -1
- package/dist/components/Composer.js +208 -259
- package/dist/components/Composer.js.map +1 -1
- package/dist/components/HistoryVersionSummary.cjs +28 -25
- package/dist/components/HistoryVersionSummary.cjs.map +1 -1
- package/dist/components/HistoryVersionSummary.js +28 -25
- package/dist/components/HistoryVersionSummary.js.map +1 -1
- package/dist/components/HistoryVersionSummaryList.cjs +9 -9
- package/dist/components/HistoryVersionSummaryList.cjs.map +1 -1
- package/dist/components/HistoryVersionSummaryList.js +9 -9
- package/dist/components/HistoryVersionSummaryList.js.map +1 -1
- package/dist/components/InboxNotification.cjs +264 -239
- package/dist/components/InboxNotification.cjs.map +1 -1
- package/dist/components/InboxNotification.js +264 -239
- package/dist/components/InboxNotification.js.map +1 -1
- package/dist/components/InboxNotificationList.cjs +19 -19
- package/dist/components/InboxNotificationList.cjs.map +1 -1
- package/dist/components/InboxNotificationList.js +19 -19
- package/dist/components/InboxNotificationList.js.map +1 -1
- package/dist/components/Thread.cjs +102 -82
- package/dist/components/Thread.cjs.map +1 -1
- package/dist/components/Thread.js +102 -82
- package/dist/components/Thread.js.map +1 -1
- package/dist/components/internal/AiChatAssistantMessage.cjs +164 -210
- package/dist/components/internal/AiChatAssistantMessage.cjs.map +1 -1
- package/dist/components/internal/AiChatAssistantMessage.js +164 -210
- package/dist/components/internal/AiChatAssistantMessage.js.map +1 -1
- package/dist/components/internal/AiChatUserMessage.cjs +29 -26
- package/dist/components/internal/AiChatUserMessage.cjs.map +1 -1
- package/dist/components/internal/AiChatUserMessage.js +29 -26
- package/dist/components/internal/AiChatUserMessage.js.map +1 -1
- package/dist/components/internal/AiComposer.cjs +37 -53
- package/dist/components/internal/AiComposer.cjs.map +1 -1
- package/dist/components/internal/AiComposer.js +37 -53
- package/dist/components/internal/AiComposer.js.map +1 -1
- package/dist/components/internal/Attachment.cjs +170 -181
- package/dist/components/internal/Attachment.cjs.map +1 -1
- package/dist/components/internal/Attachment.js +170 -181
- package/dist/components/internal/Attachment.js.map +1 -1
- package/dist/components/internal/Attribution.cjs +27 -18
- package/dist/components/internal/Attribution.cjs.map +1 -1
- package/dist/components/internal/Attribution.js +27 -18
- package/dist/components/internal/Attribution.js.map +1 -1
- package/dist/components/internal/Avatar.cjs +30 -32
- package/dist/components/internal/Avatar.cjs.map +1 -1
- package/dist/components/internal/Avatar.js +30 -32
- package/dist/components/internal/Avatar.js.map +1 -1
- package/dist/components/internal/Button.cjs +34 -47
- package/dist/components/internal/Button.cjs.map +1 -1
- package/dist/components/internal/Button.js +34 -47
- package/dist/components/internal/Button.js.map +1 -1
- package/dist/components/internal/CodeBlock.cjs +15 -34
- package/dist/components/internal/CodeBlock.cjs.map +1 -1
- package/dist/components/internal/CodeBlock.js +15 -34
- package/dist/components/internal/CodeBlock.js.map +1 -1
- package/dist/components/internal/Dropdown.cjs +37 -37
- package/dist/components/internal/Dropdown.cjs.map +1 -1
- package/dist/components/internal/Dropdown.js +37 -37
- package/dist/components/internal/Dropdown.js.map +1 -1
- package/dist/components/internal/Emoji.cjs +16 -13
- package/dist/components/internal/Emoji.cjs.map +1 -1
- package/dist/components/internal/Emoji.js +16 -13
- package/dist/components/internal/Emoji.js.map +1 -1
- package/dist/components/internal/EmojiPicker.cjs +61 -102
- package/dist/components/internal/EmojiPicker.cjs.map +1 -1
- package/dist/components/internal/EmojiPicker.js +61 -102
- package/dist/components/internal/EmojiPicker.js.map +1 -1
- package/dist/components/internal/Favicon.cjs +1 -10
- package/dist/components/internal/Favicon.cjs.map +1 -1
- package/dist/components/internal/Favicon.js +1 -10
- package/dist/components/internal/Favicon.js.map +1 -1
- package/dist/components/internal/Group.cjs +12 -9
- package/dist/components/internal/Group.cjs.map +1 -1
- package/dist/components/internal/Group.js +12 -9
- package/dist/components/internal/Group.js.map +1 -1
- package/dist/components/internal/GroupDescription.cjs +1 -5
- package/dist/components/internal/GroupDescription.cjs.map +1 -1
- package/dist/components/internal/GroupDescription.js +1 -5
- package/dist/components/internal/GroupDescription.js.map +1 -1
- package/dist/components/internal/Icon.cjs +18 -15
- package/dist/components/internal/Icon.cjs.map +1 -1
- package/dist/components/internal/Icon.js +18 -15
- package/dist/components/internal/Icon.js.map +1 -1
- package/dist/components/internal/InboxNotificationThread.cjs +38 -50
- package/dist/components/internal/InboxNotificationThread.cjs.map +1 -1
- package/dist/components/internal/InboxNotificationThread.js +38 -50
- package/dist/components/internal/InboxNotificationThread.js.map +1 -1
- package/dist/components/internal/List.cjs +9 -6
- package/dist/components/internal/List.cjs.map +1 -1
- package/dist/components/internal/List.js +9 -6
- package/dist/components/internal/List.js.map +1 -1
- package/dist/components/internal/Prose.cjs +7 -14
- package/dist/components/internal/Prose.cjs.map +1 -1
- package/dist/components/internal/Prose.js +7 -14
- package/dist/components/internal/Prose.js.map +1 -1
- package/dist/components/internal/Room.cjs +9 -6
- package/dist/components/internal/Room.cjs.map +1 -1
- package/dist/components/internal/Room.js +9 -6
- package/dist/components/internal/Room.js.map +1 -1
- package/dist/components/internal/Tooltip.cjs +43 -56
- package/dist/components/internal/Tooltip.cjs.map +1 -1
- package/dist/components/internal/Tooltip.js +43 -56
- package/dist/components/internal/Tooltip.js.map +1 -1
- package/dist/components/internal/User.cjs +12 -9
- package/dist/components/internal/User.cjs.map +1 -1
- package/dist/components/internal/User.js +12 -9
- package/dist/components/internal/User.js.map +1 -1
- package/dist/components.cjs +1 -4
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +1 -4
- package/dist/components.js.map +1 -1
- package/dist/config.cjs +1 -10
- package/dist/config.cjs.map +1 -1
- package/dist/config.js +1 -10
- package/dist/config.js.map +1 -1
- package/dist/icons/ArrowCornerDownRight.cjs +1 -6
- package/dist/icons/ArrowCornerDownRight.cjs.map +1 -1
- package/dist/icons/ArrowCornerDownRight.js +1 -6
- package/dist/icons/ArrowCornerDownRight.js.map +1 -1
- package/dist/icons/ArrowCornerUpRight.cjs +1 -6
- package/dist/icons/ArrowCornerUpRight.cjs.map +1 -1
- package/dist/icons/ArrowCornerUpRight.js +1 -6
- package/dist/icons/ArrowCornerUpRight.js.map +1 -1
- package/dist/icons/ArrowDown.cjs +1 -6
- package/dist/icons/ArrowDown.cjs.map +1 -1
- package/dist/icons/ArrowDown.js +1 -6
- package/dist/icons/ArrowDown.js.map +1 -1
- package/dist/icons/ArrowUp.cjs +1 -6
- package/dist/icons/ArrowUp.cjs.map +1 -1
- package/dist/icons/ArrowUp.js +1 -6
- package/dist/icons/ArrowUp.js.map +1 -1
- package/dist/icons/Attachment.cjs +1 -6
- package/dist/icons/Attachment.cjs.map +1 -1
- package/dist/icons/Attachment.js +1 -6
- package/dist/icons/Attachment.js.map +1 -1
- package/dist/icons/Bell.cjs +1 -6
- package/dist/icons/Bell.cjs.map +1 -1
- package/dist/icons/Bell.js +1 -6
- package/dist/icons/Bell.js.map +1 -1
- package/dist/icons/BellCrossed.cjs +1 -6
- package/dist/icons/BellCrossed.cjs.map +1 -1
- package/dist/icons/BellCrossed.js +1 -6
- package/dist/icons/BellCrossed.js.map +1 -1
- package/dist/icons/Blockquote.cjs +1 -6
- package/dist/icons/Blockquote.cjs.map +1 -1
- package/dist/icons/Blockquote.js +1 -6
- package/dist/icons/Blockquote.js.map +1 -1
- package/dist/icons/Bold.cjs +1 -6
- package/dist/icons/Bold.cjs.map +1 -1
- package/dist/icons/Bold.js +1 -6
- package/dist/icons/Bold.js.map +1 -1
- package/dist/icons/Check.cjs +1 -6
- package/dist/icons/Check.cjs.map +1 -1
- package/dist/icons/Check.js +1 -6
- package/dist/icons/Check.js.map +1 -1
- package/dist/icons/CheckCircle.cjs +4 -13
- package/dist/icons/CheckCircle.cjs.map +1 -1
- package/dist/icons/CheckCircle.js +4 -13
- package/dist/icons/CheckCircle.js.map +1 -1
- package/dist/icons/CheckCircleFill.cjs +4 -15
- package/dist/icons/CheckCircleFill.cjs.map +1 -1
- package/dist/icons/CheckCircleFill.js +4 -15
- package/dist/icons/CheckCircleFill.js.map +1 -1
- package/dist/icons/ChevronDown.cjs +1 -6
- package/dist/icons/ChevronDown.cjs.map +1 -1
- package/dist/icons/ChevronDown.js +1 -6
- package/dist/icons/ChevronDown.js.map +1 -1
- package/dist/icons/ChevronLeft.cjs +1 -6
- package/dist/icons/ChevronLeft.cjs.map +1 -1
- package/dist/icons/ChevronLeft.js +1 -6
- package/dist/icons/ChevronLeft.js.map +1 -1
- package/dist/icons/ChevronRight.cjs +1 -6
- package/dist/icons/ChevronRight.cjs.map +1 -1
- package/dist/icons/ChevronRight.js +1 -6
- package/dist/icons/ChevronRight.js.map +1 -1
- package/dist/icons/ChevronUp.cjs +1 -6
- package/dist/icons/ChevronUp.cjs.map +1 -1
- package/dist/icons/ChevronUp.js +1 -6
- package/dist/icons/ChevronUp.js.map +1 -1
- package/dist/icons/Code.cjs +1 -6
- package/dist/icons/Code.cjs.map +1 -1
- package/dist/icons/Code.js +1 -6
- package/dist/icons/Code.js.map +1 -1
- package/dist/icons/Comment.cjs +1 -6
- package/dist/icons/Comment.cjs.map +1 -1
- package/dist/icons/Comment.js +1 -6
- package/dist/icons/Comment.js.map +1 -1
- package/dist/icons/Copy.cjs +4 -15
- package/dist/icons/Copy.cjs.map +1 -1
- package/dist/icons/Copy.js +4 -15
- package/dist/icons/Copy.js.map +1 -1
- package/dist/icons/Cross.cjs +4 -11
- package/dist/icons/Cross.cjs.map +1 -1
- package/dist/icons/Cross.js +4 -11
- package/dist/icons/Cross.js.map +1 -1
- package/dist/icons/CrossCircleFill.cjs +4 -15
- package/dist/icons/CrossCircleFill.cjs.map +1 -1
- package/dist/icons/CrossCircleFill.js +4 -15
- package/dist/icons/CrossCircleFill.js.map +1 -1
- package/dist/icons/Delete.cjs +1 -6
- package/dist/icons/Delete.cjs.map +1 -1
- package/dist/icons/Delete.js +1 -6
- package/dist/icons/Delete.js.map +1 -1
- package/dist/icons/Edit.cjs +1 -6
- package/dist/icons/Edit.cjs.map +1 -1
- package/dist/icons/Edit.js +1 -6
- package/dist/icons/Edit.js.map +1 -1
- package/dist/icons/Ellipsis.cjs +5 -21
- package/dist/icons/Ellipsis.cjs.map +1 -1
- package/dist/icons/Ellipsis.js +5 -21
- package/dist/icons/Ellipsis.js.map +1 -1
- package/dist/icons/Emoji.cjs +7 -24
- package/dist/icons/Emoji.cjs.map +1 -1
- package/dist/icons/Emoji.js +7 -24
- package/dist/icons/Emoji.js.map +1 -1
- package/dist/icons/EmojiPlus.cjs +8 -27
- package/dist/icons/EmojiPlus.cjs.map +1 -1
- package/dist/icons/EmojiPlus.js +8 -27
- package/dist/icons/EmojiPlus.js.map +1 -1
- package/dist/icons/Globe.cjs +4 -13
- package/dist/icons/Globe.cjs.map +1 -1
- package/dist/icons/Globe.js +4 -13
- package/dist/icons/Globe.js.map +1 -1
- package/dist/icons/H1.cjs +1 -6
- package/dist/icons/H1.cjs.map +1 -1
- package/dist/icons/H1.js +1 -6
- package/dist/icons/H1.js.map +1 -1
- package/dist/icons/H2.cjs +1 -6
- package/dist/icons/H2.cjs.map +1 -1
- package/dist/icons/H2.js +1 -6
- package/dist/icons/H2.js.map +1 -1
- package/dist/icons/H3.cjs +1 -6
- package/dist/icons/H3.cjs.map +1 -1
- package/dist/icons/H3.js +1 -6
- package/dist/icons/H3.js.map +1 -1
- package/dist/icons/Italic.cjs +1 -6
- package/dist/icons/Italic.cjs.map +1 -1
- package/dist/icons/Italic.js +1 -6
- package/dist/icons/Italic.js.map +1 -1
- package/dist/icons/Lengthen.cjs +1 -6
- package/dist/icons/Lengthen.cjs.map +1 -1
- package/dist/icons/Lengthen.js +1 -6
- package/dist/icons/Lengthen.js.map +1 -1
- package/dist/icons/ListOrdered.cjs +1 -6
- package/dist/icons/ListOrdered.cjs.map +1 -1
- package/dist/icons/ListOrdered.js +1 -6
- package/dist/icons/ListOrdered.js.map +1 -1
- package/dist/icons/ListUnordered.cjs +8 -29
- package/dist/icons/ListUnordered.cjs.map +1 -1
- package/dist/icons/ListUnordered.js +8 -29
- package/dist/icons/ListUnordered.js.map +1 -1
- package/dist/icons/Mention.cjs +4 -11
- package/dist/icons/Mention.cjs.map +1 -1
- package/dist/icons/Mention.js +4 -11
- package/dist/icons/Mention.js.map +1 -1
- package/dist/icons/MinusCircle.cjs +4 -13
- package/dist/icons/MinusCircle.cjs.map +1 -1
- package/dist/icons/MinusCircle.js +4 -13
- package/dist/icons/MinusCircle.js.map +1 -1
- package/dist/icons/QuestionMark.cjs +5 -16
- package/dist/icons/QuestionMark.cjs.map +1 -1
- package/dist/icons/QuestionMark.js +5 -16
- package/dist/icons/QuestionMark.js.map +1 -1
- package/dist/icons/Redo.cjs +4 -11
- package/dist/icons/Redo.cjs.map +1 -1
- package/dist/icons/Redo.js +4 -11
- package/dist/icons/Redo.js.map +1 -1
- package/dist/icons/Restore.cjs +4 -11
- package/dist/icons/Restore.cjs.map +1 -1
- package/dist/icons/Restore.js +4 -11
- package/dist/icons/Restore.js.map +1 -1
- package/dist/icons/Retry.cjs +4 -11
- package/dist/icons/Retry.cjs.map +1 -1
- package/dist/icons/Retry.js +4 -11
- package/dist/icons/Retry.js.map +1 -1
- package/dist/icons/Search.cjs +1 -6
- package/dist/icons/Search.cjs.map +1 -1
- package/dist/icons/Search.js +1 -6
- package/dist/icons/Search.js.map +1 -1
- package/dist/icons/Send.cjs +1 -6
- package/dist/icons/Send.cjs.map +1 -1
- package/dist/icons/Send.js +1 -6
- package/dist/icons/Send.js.map +1 -1
- package/dist/icons/Shorten.cjs +1 -6
- package/dist/icons/Shorten.cjs.map +1 -1
- package/dist/icons/Shorten.js +1 -6
- package/dist/icons/Shorten.js.map +1 -1
- package/dist/icons/Sparkles.cjs +1 -6
- package/dist/icons/Sparkles.cjs.map +1 -1
- package/dist/icons/Sparkles.js +1 -6
- package/dist/icons/Sparkles.js.map +1 -1
- package/dist/icons/SparklesText.cjs +4 -11
- package/dist/icons/SparklesText.cjs.map +1 -1
- package/dist/icons/SparklesText.js +4 -11
- package/dist/icons/SparklesText.js.map +1 -1
- package/dist/icons/Spinner.cjs +1 -7
- package/dist/icons/Spinner.cjs.map +1 -1
- package/dist/icons/Spinner.js +1 -7
- package/dist/icons/Spinner.js.map +1 -1
- package/dist/icons/Stop.cjs +1 -11
- package/dist/icons/Stop.cjs.map +1 -1
- package/dist/icons/Stop.js +1 -11
- package/dist/icons/Stop.js.map +1 -1
- package/dist/icons/Strikethrough.cjs +1 -6
- package/dist/icons/Strikethrough.cjs.map +1 -1
- package/dist/icons/Strikethrough.js +1 -6
- package/dist/icons/Strikethrough.js.map +1 -1
- package/dist/icons/Text.cjs +1 -6
- package/dist/icons/Text.cjs.map +1 -1
- package/dist/icons/Text.js +1 -6
- package/dist/icons/Text.js.map +1 -1
- package/dist/icons/Translate.cjs +4 -11
- package/dist/icons/Translate.cjs.map +1 -1
- package/dist/icons/Translate.js +4 -11
- package/dist/icons/Translate.js.map +1 -1
- package/dist/icons/Underline.cjs +1 -6
- package/dist/icons/Underline.cjs.map +1 -1
- package/dist/icons/Underline.js +1 -6
- package/dist/icons/Underline.js.map +1 -1
- package/dist/icons/Undo.cjs +4 -11
- package/dist/icons/Undo.cjs.map +1 -1
- package/dist/icons/Undo.js +4 -11
- package/dist/icons/Undo.js.map +1 -1
- package/dist/icons/User.cjs +1 -6
- package/dist/icons/User.cjs.map +1 -1
- package/dist/icons/User.js +1 -6
- package/dist/icons/User.js.map +1 -1
- package/dist/icons/Users.cjs +1 -6
- package/dist/icons/Users.cjs.map +1 -1
- package/dist/icons/Users.js +1 -6
- package/dist/icons/Users.js.map +1 -1
- package/dist/icons/Warning.cjs +4 -13
- package/dist/icons/Warning.cjs.map +1 -1
- package/dist/icons/Warning.js +4 -13
- package/dist/icons/Warning.js.map +1 -1
- package/dist/overrides.cjs +102 -150
- package/dist/overrides.cjs.map +1 -1
- package/dist/overrides.js +102 -150
- package/dist/overrides.js.map +1 -1
- package/dist/primitives/AiComposer/index.cjs +77 -65
- package/dist/primitives/AiComposer/index.cjs.map +1 -1
- package/dist/primitives/AiComposer/index.js +77 -65
- package/dist/primitives/AiComposer/index.js.map +1 -1
- package/dist/primitives/AiMessage/index.cjs +28 -49
- package/dist/primitives/AiMessage/index.cjs.map +1 -1
- package/dist/primitives/AiMessage/index.js +28 -49
- package/dist/primitives/AiMessage/index.js.map +1 -1
- package/dist/primitives/AiMessage/tool-invocation.cjs +5 -5
- package/dist/primitives/AiMessage/tool-invocation.cjs.map +1 -1
- package/dist/primitives/AiMessage/tool-invocation.js +5 -5
- package/dist/primitives/AiMessage/tool-invocation.js.map +1 -1
- package/dist/primitives/Collapsible/index.cjs +46 -34
- package/dist/primitives/Collapsible/index.cjs.map +1 -1
- package/dist/primitives/Collapsible/index.js +46 -34
- package/dist/primitives/Collapsible/index.js.map +1 -1
- package/dist/primitives/Comment/index.cjs +41 -64
- package/dist/primitives/Comment/index.cjs.map +1 -1
- package/dist/primitives/Comment/index.js +41 -64
- package/dist/primitives/Comment/index.js.map +1 -1
- package/dist/primitives/Composer/contexts.cjs.map +1 -1
- package/dist/primitives/Composer/contexts.js.map +1 -1
- package/dist/primitives/Composer/index.cjs +324 -312
- package/dist/primitives/Composer/index.cjs.map +1 -1
- package/dist/primitives/Composer/index.js +324 -312
- package/dist/primitives/Composer/index.js.map +1 -1
- package/dist/primitives/Composer/slate/plugins/auto-links.cjs.map +1 -1
- package/dist/primitives/Composer/slate/plugins/auto-links.js.map +1 -1
- package/dist/primitives/Composer/slate/plugins/custom-links.cjs.map +1 -1
- package/dist/primitives/Composer/slate/plugins/custom-links.js.map +1 -1
- package/dist/primitives/Composer/slate/plugins/mentions.cjs +1 -0
- package/dist/primitives/Composer/slate/plugins/mentions.cjs.map +1 -1
- package/dist/primitives/Composer/slate/plugins/mentions.js +1 -0
- package/dist/primitives/Composer/slate/plugins/mentions.js.map +1 -1
- package/dist/primitives/Composer/slate/plugins/paste.cjs +1 -0
- package/dist/primitives/Composer/slate/plugins/paste.cjs.map +1 -1
- package/dist/primitives/Composer/slate/plugins/paste.js +1 -0
- package/dist/primitives/Composer/slate/plugins/paste.js.map +1 -1
- package/dist/primitives/Composer/utils.cjs +3 -0
- package/dist/primitives/Composer/utils.cjs.map +1 -1
- package/dist/primitives/Composer/utils.js +3 -0
- package/dist/primitives/Composer/utils.js.map +1 -1
- package/dist/primitives/Duration.cjs +11 -7
- package/dist/primitives/Duration.cjs.map +1 -1
- package/dist/primitives/Duration.js +11 -7
- package/dist/primitives/Duration.js.map +1 -1
- package/dist/primitives/FileSize.cjs +2 -5
- package/dist/primitives/FileSize.cjs.map +1 -1
- package/dist/primitives/FileSize.js +2 -5
- package/dist/primitives/FileSize.js.map +1 -1
- package/dist/primitives/Markdown.cjs +80 -188
- package/dist/primitives/Markdown.cjs.map +1 -1
- package/dist/primitives/Markdown.js +80 -188
- package/dist/primitives/Markdown.js.map +1 -1
- package/dist/primitives/Timestamp.cjs +12 -7
- package/dist/primitives/Timestamp.cjs.map +1 -1
- package/dist/primitives/Timestamp.js +12 -7
- package/dist/primitives/Timestamp.js.map +1 -1
- package/dist/primitives/slate/utils/get-dom-range.cjs.map +1 -1
- package/dist/primitives/slate/utils/get-dom-range.js.map +1 -1
- package/dist/primitives/slate/utils/get-match-range.cjs.map +1 -1
- package/dist/primitives/slate/utils/get-match-range.js.map +1 -1
- package/dist/primitives/slate/utils/is-empty.cjs.map +1 -1
- package/dist/primitives/slate/utils/is-empty.js.map +1 -1
- package/dist/primitives/slate/utils/marks.cjs.map +1 -1
- package/dist/primitives/slate/utils/marks.js.map +1 -1
- package/dist/shared.cjs.map +1 -1
- package/dist/shared.js.map +1 -1
- package/dist/utils/ErrorBoundary.cjs +1 -6
- package/dist/utils/ErrorBoundary.cjs.map +1 -1
- package/dist/utils/ErrorBoundary.js +1 -6
- package/dist/utils/ErrorBoundary.js.map +1 -1
- package/dist/utils/Persist.cjs +1 -4
- package/dist/utils/Persist.cjs.map +1 -1
- package/dist/utils/Persist.js +1 -4
- package/dist/utils/Persist.js.map +1 -1
- package/dist/utils/Portal.cjs +1 -5
- package/dist/utils/Portal.cjs.map +1 -1
- package/dist/utils/Portal.js +1 -5
- package/dist/utils/Portal.js.map +1 -1
- package/dist/utils/format-file-size.cjs.map +1 -1
- package/dist/utils/format-file-size.js.map +1 -1
- package/dist/utils/is-key.cjs.map +1 -1
- package/dist/utils/is-key.js.map +1 -1
- package/dist/utils/pluralize.cjs.map +1 -1
- package/dist/utils/pluralize.js.map +1 -1
- package/dist/utils/use-controllable-state.cjs.map +1 -1
- package/dist/utils/use-controllable-state.js.map +1 -1
- package/dist/utils/use-rerender.cjs +3 -0
- package/dist/utils/use-rerender.cjs.map +1 -1
- package/dist/utils/use-rerender.js +3 -0
- package/dist/utils/use-rerender.js.map +1 -1
- package/dist/utils/use-visible.cjs.map +1 -1
- package/dist/utils/use-visible.js.map +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiChatUserMessage.cjs","sources":["../../../src/components/internal/AiChatUserMessage.tsx"],"sourcesContent":["import type { AiUserMessage, WithNavigation } from \"@liveblocks/core\";\nimport type { ComponentProps } from \"react\";\nimport { forwardRef, memo } from \"react\";\n\nimport type { GlobalComponents } from \"../../components\";\nimport { type GlobalOverrides, useOverrides } from \"../../overrides\";\nimport * as AiMessage from \"../../primitives/AiMessage\";\nimport type { AiMessageContentTextPartProps } from \"../../primitives/AiMessage/types\";\nimport type { MarkdownComponents } from \"../../primitives/Markdown\";\nimport { cn } from \"../../utils/cn\";\nimport { Prose } from \"./Prose\";\n\ntype UiUserMessage = WithNavigation<AiUserMessage>;\n\ntype AiChatUserMessageComponents = {\n /**\n * The components used to render Markdown content.\n */\n markdown?: Partial<MarkdownComponents>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AiChatUserMessage\n * -----------------------------------------------------------------------------------------------*/\nexport interface AiChatUserMessageProps extends ComponentProps<\"div\"> {\n /**\n * The message to display.\n */\n message: UiUserMessage;\n\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides>;\n\n /**\n * Override the component's components.\n */\n components?: Partial<GlobalComponents & AiChatUserMessageComponents>;\n}\n\ninterface TextPartProps extends AiMessageContentTextPartProps {\n components?: Partial<GlobalComponents & AiChatUserMessageComponents>;\n}\n\nfunction TextPart({ part, components }: TextPartProps) {\n return (\n <Prose\n content={part.text}\n className=\"lb-ai-chat-message-text\"\n components={components}\n />\n );\n}\n\nexport const AiChatUserMessage = memo(\n forwardRef<HTMLDivElement, AiChatUserMessageProps>(\n ({ message, className, overrides, components, ...props }, forwardedRef) => {\n const $ = useOverrides(overrides);\n return (\n <div\n ref={forwardedRef}\n className={cn(\n \"lb-ai-chat-message lb-ai-chat-user-message\",\n className\n )}\n {...props}\n >\n {message.deletedAt !== undefined ? (\n <div className=\"lb-ai-chat-message-deleted\">\n {$.AI_CHAT_MESSAGE_DELETED}\n </div>\n ) : (\n <AiMessage.Content\n className=\"lb-ai-chat-message-content\"\n message={message}\n components={{\n TextPart: (props) => (\n <TextPart {...props} components={components} />\n ),\n }}\n />\n )}\n </div>\n );\n }\n )\n);\n"],"names":["jsx","Prose","memo","forwardRef","overrides","useOverrides","cn","AiMessage.Content","props"],"mappings":";;;;;;;;;AA6CA,SAAS,QAAS,CAAA,EAAE,IAAM,EAAA,UAAA,EAA6B,EAAA;AACrD,
|
|
1
|
+
{"version":3,"file":"AiChatUserMessage.cjs","sources":["../../../src/components/internal/AiChatUserMessage.tsx"],"sourcesContent":["import type { AiUserMessage, WithNavigation } from \"@liveblocks/core\";\nimport type { ComponentProps } from \"react\";\nimport { forwardRef, memo } from \"react\";\n\nimport type { GlobalComponents } from \"../../components\";\nimport { type GlobalOverrides, useOverrides } from \"../../overrides\";\nimport * as AiMessage from \"../../primitives/AiMessage\";\nimport type { AiMessageContentTextPartProps } from \"../../primitives/AiMessage/types\";\nimport type { MarkdownComponents } from \"../../primitives/Markdown\";\nimport { cn } from \"../../utils/cn\";\nimport { Prose } from \"./Prose\";\n\ntype UiUserMessage = WithNavigation<AiUserMessage>;\n\ntype AiChatUserMessageComponents = {\n /**\n * The components used to render Markdown content.\n */\n markdown?: Partial<MarkdownComponents>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AiChatUserMessage\n * -----------------------------------------------------------------------------------------------*/\nexport interface AiChatUserMessageProps extends ComponentProps<\"div\"> {\n /**\n * The message to display.\n */\n message: UiUserMessage;\n\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides>;\n\n /**\n * Override the component's components.\n */\n components?: Partial<GlobalComponents & AiChatUserMessageComponents>;\n}\n\ninterface TextPartProps extends AiMessageContentTextPartProps {\n components?: Partial<GlobalComponents & AiChatUserMessageComponents>;\n}\n\nfunction TextPart({ part, components }: TextPartProps) {\n return (\n <Prose\n content={part.text}\n className=\"lb-ai-chat-message-text\"\n components={components}\n />\n );\n}\n\nexport const AiChatUserMessage = memo(\n forwardRef<HTMLDivElement, AiChatUserMessageProps>(\n ({ message, className, overrides, components, ...props }, forwardedRef) => {\n const $ = useOverrides(overrides);\n return (\n <div\n ref={forwardedRef}\n className={cn(\n \"lb-ai-chat-message lb-ai-chat-user-message\",\n className\n )}\n {...props}\n >\n {message.deletedAt !== undefined ? (\n <div className=\"lb-ai-chat-message-deleted\">\n {$.AI_CHAT_MESSAGE_DELETED}\n </div>\n ) : (\n <AiMessage.Content\n className=\"lb-ai-chat-message-content\"\n message={message}\n components={{\n TextPart: (props) => (\n <TextPart {...props} components={components} />\n ),\n }}\n />\n )}\n </div>\n );\n }\n )\n);\n"],"names":["jsx","Prose","memo","forwardRef","overrides","useOverrides","cn","AiMessage.Content","props"],"mappings":";;;;;;;;;AA6CA,SAAS,QAAS,CAAA,EAAE,IAAM,EAAA,UAAA,EAA6B,EAAA;AACrD,EACE,uBAAAA,cAAA;AAAA,IAACC,WAAA;AAAA,IAAA;AAAA,MACC,SAAS,IAAK,CAAA,IAAA;AAAA,MACd,SAAU,EAAA,yBAAA;AAAA,MACV,UAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAA;AAEO,MAAM,iBAAoB,GAAAC,UAAA;AAAA,EAC/BC,gBAAA;AAAA,IACE,CAAC,EAAE,OAAS,EAAA,SAAA,aAAWC,aAAW,UAAY,EAAA,GAAG,KAAM,EAAA,EAAG,YAAiB,KAAA;AACzE,MAAM,MAAA,CAAA,GAAIC,uBAAaD,WAAS,CAAA,CAAA;AAChC,MACE,uBAAAJ,cAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA,YAAA;AAAA,UACL,SAAW,EAAAM,KAAA;AAAA,YACT,4CAAA;AAAA,YACA,SAAA;AAAA,WACF;AAAA,UACC,GAAG,KAAA;AAAA,UAEH,QAAA,EAAA,OAAA,CAAQ,cAAc,KACrB,CAAA,mBAAAN,cAAA,CAAC,SAAI,SAAU,EAAA,4BAAA,EACZ,QAAE,EAAA,CAAA,CAAA,uBAAA,EACL,CAEA,mBAAAA,cAAA;AAAA,YAACO,aAAU;AAAA,YAAV;AAAA,cACC,SAAU,EAAA,4BAAA;AAAA,cACV,OAAA;AAAA,cACA,UAAY,EAAA;AAAA,gBACV,UAAU,CAACC,MAAAA,oCACR,QAAU,EAAA,EAAA,GAAGA,QAAO,UAAwB,EAAA,CAAA;AAAA,eAEjD;AAAA,aAAA;AAAA,WACF;AAAA,SAAA;AAAA,OAEJ,CAAA;AAAA,KAEJ;AAAA,GACF;AACF;;;;"}
|
|
@@ -6,37 +6,40 @@ import { cn } from '../../utils/cn.js';
|
|
|
6
6
|
import { Prose } from './Prose.js';
|
|
7
7
|
|
|
8
8
|
function TextPart({ part, components }) {
|
|
9
|
-
return /* @__PURE__ */ jsx(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
Prose,
|
|
11
|
+
{
|
|
12
|
+
content: part.text,
|
|
13
|
+
className: "lb-ai-chat-message-text",
|
|
14
|
+
components
|
|
15
|
+
}
|
|
16
|
+
);
|
|
14
17
|
}
|
|
15
18
|
const AiChatUserMessage = memo(
|
|
16
19
|
forwardRef(
|
|
17
20
|
({ message, className, overrides, components, ...props }, forwardedRef) => {
|
|
18
21
|
const $ = useOverrides(overrides);
|
|
19
|
-
return /* @__PURE__ */ jsx(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
className
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
children: $.AI_CHAT_MESSAGE_DELETED
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
22
|
+
return /* @__PURE__ */ jsx(
|
|
23
|
+
"div",
|
|
24
|
+
{
|
|
25
|
+
ref: forwardedRef,
|
|
26
|
+
className: cn(
|
|
27
|
+
"lb-ai-chat-message lb-ai-chat-user-message",
|
|
28
|
+
className
|
|
29
|
+
),
|
|
30
|
+
...props,
|
|
31
|
+
children: message.deletedAt !== void 0 ? /* @__PURE__ */ jsx("div", { className: "lb-ai-chat-message-deleted", children: $.AI_CHAT_MESSAGE_DELETED }) : /* @__PURE__ */ jsx(
|
|
32
|
+
AiMessageContent,
|
|
33
|
+
{
|
|
34
|
+
className: "lb-ai-chat-message-content",
|
|
35
|
+
message,
|
|
36
|
+
components: {
|
|
37
|
+
TextPart: (props2) => /* @__PURE__ */ jsx(TextPart, { ...props2, components })
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
);
|
|
40
43
|
}
|
|
41
44
|
)
|
|
42
45
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiChatUserMessage.js","sources":["../../../src/components/internal/AiChatUserMessage.tsx"],"sourcesContent":["import type { AiUserMessage, WithNavigation } from \"@liveblocks/core\";\nimport type { ComponentProps } from \"react\";\nimport { forwardRef, memo } from \"react\";\n\nimport type { GlobalComponents } from \"../../components\";\nimport { type GlobalOverrides, useOverrides } from \"../../overrides\";\nimport * as AiMessage from \"../../primitives/AiMessage\";\nimport type { AiMessageContentTextPartProps } from \"../../primitives/AiMessage/types\";\nimport type { MarkdownComponents } from \"../../primitives/Markdown\";\nimport { cn } from \"../../utils/cn\";\nimport { Prose } from \"./Prose\";\n\ntype UiUserMessage = WithNavigation<AiUserMessage>;\n\ntype AiChatUserMessageComponents = {\n /**\n * The components used to render Markdown content.\n */\n markdown?: Partial<MarkdownComponents>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AiChatUserMessage\n * -----------------------------------------------------------------------------------------------*/\nexport interface AiChatUserMessageProps extends ComponentProps<\"div\"> {\n /**\n * The message to display.\n */\n message: UiUserMessage;\n\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides>;\n\n /**\n * Override the component's components.\n */\n components?: Partial<GlobalComponents & AiChatUserMessageComponents>;\n}\n\ninterface TextPartProps extends AiMessageContentTextPartProps {\n components?: Partial<GlobalComponents & AiChatUserMessageComponents>;\n}\n\nfunction TextPart({ part, components }: TextPartProps) {\n return (\n <Prose\n content={part.text}\n className=\"lb-ai-chat-message-text\"\n components={components}\n />\n );\n}\n\nexport const AiChatUserMessage = memo(\n forwardRef<HTMLDivElement, AiChatUserMessageProps>(\n ({ message, className, overrides, components, ...props }, forwardedRef) => {\n const $ = useOverrides(overrides);\n return (\n <div\n ref={forwardedRef}\n className={cn(\n \"lb-ai-chat-message lb-ai-chat-user-message\",\n className\n )}\n {...props}\n >\n {message.deletedAt !== undefined ? (\n <div className=\"lb-ai-chat-message-deleted\">\n {$.AI_CHAT_MESSAGE_DELETED}\n </div>\n ) : (\n <AiMessage.Content\n className=\"lb-ai-chat-message-content\"\n message={message}\n components={{\n TextPart: (props) => (\n <TextPart {...props} components={components} />\n ),\n }}\n />\n )}\n </div>\n );\n }\n )\n);\n"],"names":["AiMessage.Content","props"],"mappings":";;;;;;;AA6CA,SAAS,QAAS,CAAA,EAAE,IAAM,EAAA,UAAA,EAA6B,EAAA;AACrD,
|
|
1
|
+
{"version":3,"file":"AiChatUserMessage.js","sources":["../../../src/components/internal/AiChatUserMessage.tsx"],"sourcesContent":["import type { AiUserMessage, WithNavigation } from \"@liveblocks/core\";\nimport type { ComponentProps } from \"react\";\nimport { forwardRef, memo } from \"react\";\n\nimport type { GlobalComponents } from \"../../components\";\nimport { type GlobalOverrides, useOverrides } from \"../../overrides\";\nimport * as AiMessage from \"../../primitives/AiMessage\";\nimport type { AiMessageContentTextPartProps } from \"../../primitives/AiMessage/types\";\nimport type { MarkdownComponents } from \"../../primitives/Markdown\";\nimport { cn } from \"../../utils/cn\";\nimport { Prose } from \"./Prose\";\n\ntype UiUserMessage = WithNavigation<AiUserMessage>;\n\ntype AiChatUserMessageComponents = {\n /**\n * The components used to render Markdown content.\n */\n markdown?: Partial<MarkdownComponents>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AiChatUserMessage\n * -----------------------------------------------------------------------------------------------*/\nexport interface AiChatUserMessageProps extends ComponentProps<\"div\"> {\n /**\n * The message to display.\n */\n message: UiUserMessage;\n\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides>;\n\n /**\n * Override the component's components.\n */\n components?: Partial<GlobalComponents & AiChatUserMessageComponents>;\n}\n\ninterface TextPartProps extends AiMessageContentTextPartProps {\n components?: Partial<GlobalComponents & AiChatUserMessageComponents>;\n}\n\nfunction TextPart({ part, components }: TextPartProps) {\n return (\n <Prose\n content={part.text}\n className=\"lb-ai-chat-message-text\"\n components={components}\n />\n );\n}\n\nexport const AiChatUserMessage = memo(\n forwardRef<HTMLDivElement, AiChatUserMessageProps>(\n ({ message, className, overrides, components, ...props }, forwardedRef) => {\n const $ = useOverrides(overrides);\n return (\n <div\n ref={forwardedRef}\n className={cn(\n \"lb-ai-chat-message lb-ai-chat-user-message\",\n className\n )}\n {...props}\n >\n {message.deletedAt !== undefined ? (\n <div className=\"lb-ai-chat-message-deleted\">\n {$.AI_CHAT_MESSAGE_DELETED}\n </div>\n ) : (\n <AiMessage.Content\n className=\"lb-ai-chat-message-content\"\n message={message}\n components={{\n TextPart: (props) => (\n <TextPart {...props} components={components} />\n ),\n }}\n />\n )}\n </div>\n );\n }\n )\n);\n"],"names":["AiMessage.Content","props"],"mappings":";;;;;;;AA6CA,SAAS,QAAS,CAAA,EAAE,IAAM,EAAA,UAAA,EAA6B,EAAA;AACrD,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAS,IAAK,CAAA,IAAA;AAAA,MACd,SAAU,EAAA,yBAAA;AAAA,MACV,UAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAA;AAEO,MAAM,iBAAoB,GAAA,IAAA;AAAA,EAC/B,UAAA;AAAA,IACE,CAAC,EAAE,OAAS,EAAA,SAAA,EAAW,WAAW,UAAY,EAAA,GAAG,KAAM,EAAA,EAAG,YAAiB,KAAA;AACzE,MAAM,MAAA,CAAA,GAAI,aAAa,SAAS,CAAA,CAAA;AAChC,MACE,uBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA,YAAA;AAAA,UACL,SAAW,EAAA,EAAA;AAAA,YACT,4CAAA;AAAA,YACA,SAAA;AAAA,WACF;AAAA,UACC,GAAG,KAAA;AAAA,UAEH,QAAA,EAAA,OAAA,CAAQ,cAAc,KACrB,CAAA,mBAAA,GAAA,CAAC,SAAI,SAAU,EAAA,4BAAA,EACZ,QAAE,EAAA,CAAA,CAAA,uBAAA,EACL,CAEA,mBAAA,GAAA;AAAA,YAACA,gBAAU;AAAA,YAAV;AAAA,cACC,SAAU,EAAA,4BAAA;AAAA,cACV,OAAA;AAAA,cACA,UAAY,EAAA;AAAA,gBACV,UAAU,CAACC,MAAAA,yBACR,QAAU,EAAA,EAAA,GAAGA,QAAO,UAAwB,EAAA,CAAA;AAAA,eAEjD;AAAA,aAAA;AAAA,WACF;AAAA,SAAA;AAAA,OAEJ,CAAA;AAAA,KAEJ;AAAA,GACF;AACF;;;;"}
|
|
@@ -24,34 +24,27 @@ function AiComposerAction({
|
|
|
24
24
|
const stopPropagation = react.useCallback((event) => {
|
|
25
25
|
event.stopPropagation();
|
|
26
26
|
}, []);
|
|
27
|
-
return canAbort ? /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltip, {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
className: "lb-ai-composer-action",
|
|
49
|
-
variant: "primary",
|
|
50
|
-
"aria-label": $.AI_COMPOSER_SEND,
|
|
51
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(Send.SendIcon, {})
|
|
52
|
-
})
|
|
53
|
-
})
|
|
54
|
-
});
|
|
27
|
+
return canAbort ? /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltip, { content: $.AI_COMPOSER_ABORT, children: /* @__PURE__ */ jsxRuntime.jsx(index.AiComposerAbort, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
28
|
+
Button.Button,
|
|
29
|
+
{
|
|
30
|
+
onPointerDown: preventDefault,
|
|
31
|
+
onClick: stopPropagation,
|
|
32
|
+
className: "lb-ai-composer-action",
|
|
33
|
+
variant: "secondary",
|
|
34
|
+
"aria-label": $.AI_COMPOSER_ABORT,
|
|
35
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(Stop.StopIcon, {})
|
|
36
|
+
}
|
|
37
|
+
) }) }) : /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltip, { content: $.AI_COMPOSER_SEND, shortcut: "Enter", children: /* @__PURE__ */ jsxRuntime.jsx(index.AiComposerSubmit, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
38
|
+
Button.Button,
|
|
39
|
+
{
|
|
40
|
+
onPointerDown: preventDefault,
|
|
41
|
+
onClick: stopPropagation,
|
|
42
|
+
className: "lb-ai-composer-action",
|
|
43
|
+
variant: "primary",
|
|
44
|
+
"aria-label": $.AI_COMPOSER_SEND,
|
|
45
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(Send.SendIcon, {})
|
|
46
|
+
}
|
|
47
|
+
) }) });
|
|
55
48
|
}
|
|
56
49
|
const AiComposer = react.forwardRef(
|
|
57
50
|
({
|
|
@@ -85,8 +78,9 @@ const AiComposer = react.forwardRef(
|
|
|
85
78
|
},
|
|
86
79
|
[onComposerSubmit, sendAiMessage, onComposerSubmitted]
|
|
87
80
|
);
|
|
88
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive.TooltipProvider, {
|
|
89
|
-
|
|
81
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive.TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
82
|
+
index.AiComposerForm,
|
|
83
|
+
{
|
|
90
84
|
className: cn.cn(
|
|
91
85
|
"lb-root lb-ai-composer lb-ai-composer-form",
|
|
92
86
|
className
|
|
@@ -98,33 +92,23 @@ const AiComposer = react.forwardRef(
|
|
|
98
92
|
onComposerSubmit: handleComposerSubmit,
|
|
99
93
|
chatId,
|
|
100
94
|
branchId,
|
|
101
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
95
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lb-ai-composer-editor-container", children: [
|
|
96
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
97
|
+
index.Editor,
|
|
98
|
+
{
|
|
105
99
|
autoFocus,
|
|
106
100
|
className: "lb-ai-composer-editor",
|
|
107
101
|
placeholder: $.AI_COMPOSER_PLACEHOLDER,
|
|
108
102
|
defaultValue
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(AiComposerAction, {
|
|
119
|
-
overrides: overrides$1
|
|
120
|
-
})
|
|
121
|
-
})
|
|
122
|
-
]
|
|
123
|
-
})
|
|
124
|
-
]
|
|
125
|
-
})
|
|
126
|
-
})
|
|
127
|
-
});
|
|
103
|
+
}
|
|
104
|
+
),
|
|
105
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lb-ai-composer-footer", children: [
|
|
106
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "lb-ai-composer-editor-actions" }),
|
|
107
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "lb-ai-composer-actions", children: /* @__PURE__ */ jsxRuntime.jsx(AiComposerAction, { overrides: overrides$1 }) })
|
|
108
|
+
] })
|
|
109
|
+
] })
|
|
110
|
+
}
|
|
111
|
+
) });
|
|
128
112
|
}
|
|
129
113
|
);
|
|
130
114
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiComposer.cjs","sources":["../../../src/components/internal/AiComposer.tsx"],"sourcesContent":["import {\n type AiChatMessage,\n type CopilotId,\n type MessageId,\n} from \"@liveblocks/core\";\nimport { useSendAiMessage } from \"@liveblocks/react\";\nimport {\n type ComponentProps,\n type FormEvent,\n forwardRef,\n type SyntheticEvent,\n useCallback,\n} from \"react\";\n\nimport { SendIcon } from \"../../icons/Send\";\nimport { StopIcon } from \"../../icons/Stop\";\nimport {\n type AiComposerOverrides,\n type GlobalOverrides,\n useOverrides,\n} from \"../../overrides\";\nimport * as AiComposerPrimitive from \"../../primitives/AiComposer\";\nimport { useAiComposer } from \"../../primitives/AiComposer/contexts\";\nimport type {\n AiComposerEditorProps,\n AiComposerFormProps,\n AiComposerSubmitMessage,\n} from \"../../primitives/AiComposer/types\";\nimport { cn } from \"../../utils/cn\";\nimport { Button } from \"./Button\";\nimport { ShortcutTooltip, TooltipProvider } from \"./Tooltip\";\n\n/* -------------------------------------------------------------------------------------------------\n * AiComposer\n * -----------------------------------------------------------------------------------------------*/\nexport interface AiComposerProps\n extends Omit<ComponentProps<\"form\">, \"defaultValue\"> {\n /**\n * The composer's initial value.\n */\n defaultValue?: string;\n\n /**\n * The event handler called when the composer is submitted.\n */\n onComposerSubmit?: (\n message: AiComposerSubmitMessage,\n event: FormEvent<HTMLFormElement>\n ) => void;\n\n /**\n * The event handler called after the composer is submitted.\n *\n * @internal This API will change, and is not considered stable. DO NOT RELY on it.\n */\n onComposerSubmitted?: (message: AiChatMessage) => void;\n\n /**\n * Whether the composer is disabled.\n */\n disabled?: AiComposerFormProps[\"disabled\"];\n\n /**\n * Whether to focus the composer on mount.\n */\n autoFocus?: AiComposerEditorProps[\"autoFocus\"];\n\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides & AiComposerOverrides>;\n\n /**\n * The ID of the chat the composer belongs to.\n */\n chatId: string;\n\n /**\n * The ID of the copilot to use to send the message.\n */\n copilotId?: CopilotId;\n\n /**\n * The time, in milliseconds, before an AI response will timeout.\n */\n responseTimeout?: number;\n\n /**\n * @internal\n */\n branchId?: MessageId;\n\n /**\n * @internal\n */\n stream?: boolean;\n}\n\nfunction AiComposerAction({\n overrides,\n}: {\n overrides?: AiComposerProps[\"overrides\"];\n}) {\n const { canAbort } = useAiComposer();\n const $ = useOverrides(overrides);\n\n const preventDefault = useCallback((event: SyntheticEvent) => {\n event.preventDefault();\n }, []);\n\n const stopPropagation = useCallback((event: SyntheticEvent) => {\n event.stopPropagation();\n }, []);\n\n return canAbort ? (\n <ShortcutTooltip content={$.AI_COMPOSER_ABORT}>\n <AiComposerPrimitive.Abort asChild>\n <Button\n onPointerDown={preventDefault}\n onClick={stopPropagation}\n className=\"lb-ai-composer-action\"\n variant=\"secondary\"\n aria-label={$.AI_COMPOSER_ABORT}\n icon={<StopIcon />}\n />\n </AiComposerPrimitive.Abort>\n </ShortcutTooltip>\n ) : (\n <ShortcutTooltip content={$.AI_COMPOSER_SEND} shortcut=\"Enter\">\n <AiComposerPrimitive.Submit asChild>\n <Button\n onPointerDown={preventDefault}\n onClick={stopPropagation}\n className=\"lb-ai-composer-action\"\n variant=\"primary\"\n aria-label={$.AI_COMPOSER_SEND}\n icon={<SendIcon />}\n />\n </AiComposerPrimitive.Submit>\n </ShortcutTooltip>\n );\n}\n\nexport const AiComposer = forwardRef<HTMLFormElement, AiComposerProps>(\n (\n {\n defaultValue,\n onComposerSubmit,\n disabled,\n autoFocus,\n overrides,\n className,\n chatId,\n branchId,\n copilotId,\n responseTimeout,\n stream = true,\n onComposerSubmitted,\n ...props\n },\n forwardedRef\n ) => {\n const $ = useOverrides(overrides);\n const sendAiMessage = useSendAiMessage(chatId, {\n stream,\n copilotId,\n timeout: responseTimeout,\n });\n\n const handleComposerSubmit = useCallback(\n (message: AiComposerSubmitMessage, event: FormEvent<HTMLFormElement>) => {\n onComposerSubmit?.(message, event);\n\n if (event.isDefaultPrevented()) return;\n\n const newMessage = sendAiMessage(message.text);\n\n onComposerSubmitted?.(newMessage);\n },\n [onComposerSubmit, sendAiMessage, onComposerSubmitted]\n );\n\n return (\n <TooltipProvider>\n <AiComposerPrimitive.Form\n className={cn(\n \"lb-root lb-ai-composer lb-ai-composer-form\",\n className\n )}\n dir={$.dir}\n {...props}\n disabled={disabled}\n ref={forwardedRef}\n onComposerSubmit={handleComposerSubmit}\n chatId={chatId}\n branchId={branchId}\n >\n <div className=\"lb-ai-composer-editor-container\">\n <AiComposerPrimitive.Editor\n autoFocus={autoFocus}\n className=\"lb-ai-composer-editor\"\n placeholder={$.AI_COMPOSER_PLACEHOLDER}\n defaultValue={defaultValue}\n />\n\n <div className=\"lb-ai-composer-footer\">\n <div className=\"lb-ai-composer-editor-actions\">\n {/* No actions for now but it makes sense to keep the DOM structure */}\n </div>\n\n <div className=\"lb-ai-composer-actions\">\n <AiComposerAction overrides={overrides} />\n </div>\n </div>\n </div>\n </AiComposerPrimitive.Form>\n </TooltipProvider>\n );\n }\n);\n"],"names":["overrides","useAiComposer","useOverrides","useCallback","jsx","ShortcutTooltip","AiComposerPrimitive.Abort","Button","StopIcon","AiComposerPrimitive.Submit","SendIcon","forwardRef","useSendAiMessage","TooltipProvider","AiComposerPrimitive.Form","cn","jsxs","AiComposerPrimitive.Editor"],"mappings":";;;;;;;;;;;;;;;AAkGA,SAAS,gBAAiB,CAAA;AAAA,aACxBA,WAAA;AACF,CAEG,EAAA;AACD,EAAM,MAAA,EAAE,QAAS,EAAA,GAAIC,sBAAc,EAAA,CAAA;AACnC,EAAM,MAAA,CAAA,GAAIC,uBAAaF,WAAS,CAAA,CAAA;AAEhC,EAAM,MAAA,cAAA,GAAiBG,iBAAY,CAAA,CAAC,KAA0B,KAAA;AAC5D,IAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AAAA,GACvB,EAAG,EAAE,CAAA,CAAA;AAEL,EAAM,MAAA,eAAA,GAAkBA,iBAAY,CAAA,CAAC,KAA0B,KAAA;AAC7D,IAAA,KAAA,CAAM,eAAgB,EAAA,CAAA;AAAA,GACxB,EAAG,EAAE,CAAA,CAAA;AAEL,
|
|
1
|
+
{"version":3,"file":"AiComposer.cjs","sources":["../../../src/components/internal/AiComposer.tsx"],"sourcesContent":["import {\n type AiChatMessage,\n type CopilotId,\n type MessageId,\n} from \"@liveblocks/core\";\nimport { useSendAiMessage } from \"@liveblocks/react\";\nimport {\n type ComponentProps,\n type FormEvent,\n forwardRef,\n type SyntheticEvent,\n useCallback,\n} from \"react\";\n\nimport { SendIcon } from \"../../icons/Send\";\nimport { StopIcon } from \"../../icons/Stop\";\nimport {\n type AiComposerOverrides,\n type GlobalOverrides,\n useOverrides,\n} from \"../../overrides\";\nimport * as AiComposerPrimitive from \"../../primitives/AiComposer\";\nimport { useAiComposer } from \"../../primitives/AiComposer/contexts\";\nimport type {\n AiComposerEditorProps,\n AiComposerFormProps,\n AiComposerSubmitMessage,\n} from \"../../primitives/AiComposer/types\";\nimport { cn } from \"../../utils/cn\";\nimport { Button } from \"./Button\";\nimport { ShortcutTooltip, TooltipProvider } from \"./Tooltip\";\n\n/* -------------------------------------------------------------------------------------------------\n * AiComposer\n * -----------------------------------------------------------------------------------------------*/\nexport interface AiComposerProps\n extends Omit<ComponentProps<\"form\">, \"defaultValue\"> {\n /**\n * The composer's initial value.\n */\n defaultValue?: string;\n\n /**\n * The event handler called when the composer is submitted.\n */\n onComposerSubmit?: (\n message: AiComposerSubmitMessage,\n event: FormEvent<HTMLFormElement>\n ) => void;\n\n /**\n * The event handler called after the composer is submitted.\n *\n * @internal This API will change, and is not considered stable. DO NOT RELY on it.\n */\n onComposerSubmitted?: (message: AiChatMessage) => void;\n\n /**\n * Whether the composer is disabled.\n */\n disabled?: AiComposerFormProps[\"disabled\"];\n\n /**\n * Whether to focus the composer on mount.\n */\n autoFocus?: AiComposerEditorProps[\"autoFocus\"];\n\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides & AiComposerOverrides>;\n\n /**\n * The ID of the chat the composer belongs to.\n */\n chatId: string;\n\n /**\n * The ID of the copilot to use to send the message.\n */\n copilotId?: CopilotId;\n\n /**\n * The time, in milliseconds, before an AI response will timeout.\n */\n responseTimeout?: number;\n\n /**\n * @internal\n */\n branchId?: MessageId;\n\n /**\n * @internal\n */\n stream?: boolean;\n}\n\nfunction AiComposerAction({\n overrides,\n}: {\n overrides?: AiComposerProps[\"overrides\"];\n}) {\n const { canAbort } = useAiComposer();\n const $ = useOverrides(overrides);\n\n const preventDefault = useCallback((event: SyntheticEvent) => {\n event.preventDefault();\n }, []);\n\n const stopPropagation = useCallback((event: SyntheticEvent) => {\n event.stopPropagation();\n }, []);\n\n return canAbort ? (\n <ShortcutTooltip content={$.AI_COMPOSER_ABORT}>\n <AiComposerPrimitive.Abort asChild>\n <Button\n onPointerDown={preventDefault}\n onClick={stopPropagation}\n className=\"lb-ai-composer-action\"\n variant=\"secondary\"\n aria-label={$.AI_COMPOSER_ABORT}\n icon={<StopIcon />}\n />\n </AiComposerPrimitive.Abort>\n </ShortcutTooltip>\n ) : (\n <ShortcutTooltip content={$.AI_COMPOSER_SEND} shortcut=\"Enter\">\n <AiComposerPrimitive.Submit asChild>\n <Button\n onPointerDown={preventDefault}\n onClick={stopPropagation}\n className=\"lb-ai-composer-action\"\n variant=\"primary\"\n aria-label={$.AI_COMPOSER_SEND}\n icon={<SendIcon />}\n />\n </AiComposerPrimitive.Submit>\n </ShortcutTooltip>\n );\n}\n\nexport const AiComposer = forwardRef<HTMLFormElement, AiComposerProps>(\n (\n {\n defaultValue,\n onComposerSubmit,\n disabled,\n autoFocus,\n overrides,\n className,\n chatId,\n branchId,\n copilotId,\n responseTimeout,\n stream = true,\n onComposerSubmitted,\n ...props\n },\n forwardedRef\n ) => {\n const $ = useOverrides(overrides);\n const sendAiMessage = useSendAiMessage(chatId, {\n stream,\n copilotId,\n timeout: responseTimeout,\n });\n\n const handleComposerSubmit = useCallback(\n (message: AiComposerSubmitMessage, event: FormEvent<HTMLFormElement>) => {\n onComposerSubmit?.(message, event);\n\n if (event.isDefaultPrevented()) return;\n\n const newMessage = sendAiMessage(message.text);\n\n onComposerSubmitted?.(newMessage);\n },\n [onComposerSubmit, sendAiMessage, onComposerSubmitted]\n );\n\n return (\n <TooltipProvider>\n <AiComposerPrimitive.Form\n className={cn(\n \"lb-root lb-ai-composer lb-ai-composer-form\",\n className\n )}\n dir={$.dir}\n {...props}\n disabled={disabled}\n ref={forwardedRef}\n onComposerSubmit={handleComposerSubmit}\n chatId={chatId}\n branchId={branchId}\n >\n <div className=\"lb-ai-composer-editor-container\">\n <AiComposerPrimitive.Editor\n autoFocus={autoFocus}\n className=\"lb-ai-composer-editor\"\n placeholder={$.AI_COMPOSER_PLACEHOLDER}\n defaultValue={defaultValue}\n />\n\n <div className=\"lb-ai-composer-footer\">\n <div className=\"lb-ai-composer-editor-actions\">\n {/* No actions for now but it makes sense to keep the DOM structure */}\n </div>\n\n <div className=\"lb-ai-composer-actions\">\n <AiComposerAction overrides={overrides} />\n </div>\n </div>\n </div>\n </AiComposerPrimitive.Form>\n </TooltipProvider>\n );\n }\n);\n"],"names":["overrides","useAiComposer","useOverrides","useCallback","jsx","ShortcutTooltip","AiComposerPrimitive.Abort","Button","StopIcon","AiComposerPrimitive.Submit","SendIcon","forwardRef","useSendAiMessage","TooltipProvider","AiComposerPrimitive.Form","cn","jsxs","AiComposerPrimitive.Editor"],"mappings":"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"}
|
|
@@ -22,34 +22,27 @@ function AiComposerAction({
|
|
|
22
22
|
const stopPropagation = useCallback((event) => {
|
|
23
23
|
event.stopPropagation();
|
|
24
24
|
}, []);
|
|
25
|
-
return canAbort ? /* @__PURE__ */ jsx(ShortcutTooltip, {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
className: "lb-ai-composer-action",
|
|
47
|
-
variant: "primary",
|
|
48
|
-
"aria-label": $.AI_COMPOSER_SEND,
|
|
49
|
-
icon: /* @__PURE__ */ jsx(SendIcon, {})
|
|
50
|
-
})
|
|
51
|
-
})
|
|
52
|
-
});
|
|
25
|
+
return canAbort ? /* @__PURE__ */ jsx(ShortcutTooltip, { content: $.AI_COMPOSER_ABORT, children: /* @__PURE__ */ jsx(AiComposerAbort, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
26
|
+
Button,
|
|
27
|
+
{
|
|
28
|
+
onPointerDown: preventDefault,
|
|
29
|
+
onClick: stopPropagation,
|
|
30
|
+
className: "lb-ai-composer-action",
|
|
31
|
+
variant: "secondary",
|
|
32
|
+
"aria-label": $.AI_COMPOSER_ABORT,
|
|
33
|
+
icon: /* @__PURE__ */ jsx(StopIcon, {})
|
|
34
|
+
}
|
|
35
|
+
) }) }) : /* @__PURE__ */ jsx(ShortcutTooltip, { content: $.AI_COMPOSER_SEND, shortcut: "Enter", children: /* @__PURE__ */ jsx(AiComposerSubmit, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
36
|
+
Button,
|
|
37
|
+
{
|
|
38
|
+
onPointerDown: preventDefault,
|
|
39
|
+
onClick: stopPropagation,
|
|
40
|
+
className: "lb-ai-composer-action",
|
|
41
|
+
variant: "primary",
|
|
42
|
+
"aria-label": $.AI_COMPOSER_SEND,
|
|
43
|
+
icon: /* @__PURE__ */ jsx(SendIcon, {})
|
|
44
|
+
}
|
|
45
|
+
) }) });
|
|
53
46
|
}
|
|
54
47
|
const AiComposer = forwardRef(
|
|
55
48
|
({
|
|
@@ -83,8 +76,9 @@ const AiComposer = forwardRef(
|
|
|
83
76
|
},
|
|
84
77
|
[onComposerSubmit, sendAiMessage, onComposerSubmitted]
|
|
85
78
|
);
|
|
86
|
-
return /* @__PURE__ */ jsx(TooltipProvider, {
|
|
87
|
-
|
|
79
|
+
return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(
|
|
80
|
+
AiComposerForm,
|
|
81
|
+
{
|
|
88
82
|
className: cn(
|
|
89
83
|
"lb-root lb-ai-composer lb-ai-composer-form",
|
|
90
84
|
className
|
|
@@ -96,33 +90,23 @@ const AiComposer = forwardRef(
|
|
|
96
90
|
onComposerSubmit: handleComposerSubmit,
|
|
97
91
|
chatId,
|
|
98
92
|
branchId,
|
|
99
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
93
|
+
children: /* @__PURE__ */ jsxs("div", { className: "lb-ai-composer-editor-container", children: [
|
|
94
|
+
/* @__PURE__ */ jsx(
|
|
95
|
+
AiComposerEditor,
|
|
96
|
+
{
|
|
103
97
|
autoFocus,
|
|
104
98
|
className: "lb-ai-composer-editor",
|
|
105
99
|
placeholder: $.AI_COMPOSER_PLACEHOLDER,
|
|
106
100
|
defaultValue
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
children: /* @__PURE__ */ jsx(AiComposerAction, {
|
|
117
|
-
overrides
|
|
118
|
-
})
|
|
119
|
-
})
|
|
120
|
-
]
|
|
121
|
-
})
|
|
122
|
-
]
|
|
123
|
-
})
|
|
124
|
-
})
|
|
125
|
-
});
|
|
101
|
+
}
|
|
102
|
+
),
|
|
103
|
+
/* @__PURE__ */ jsxs("div", { className: "lb-ai-composer-footer", children: [
|
|
104
|
+
/* @__PURE__ */ jsx("div", { className: "lb-ai-composer-editor-actions" }),
|
|
105
|
+
/* @__PURE__ */ jsx("div", { className: "lb-ai-composer-actions", children: /* @__PURE__ */ jsx(AiComposerAction, { overrides }) })
|
|
106
|
+
] })
|
|
107
|
+
] })
|
|
108
|
+
}
|
|
109
|
+
) });
|
|
126
110
|
}
|
|
127
111
|
);
|
|
128
112
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiComposer.js","sources":["../../../src/components/internal/AiComposer.tsx"],"sourcesContent":["import {\n type AiChatMessage,\n type CopilotId,\n type MessageId,\n} from \"@liveblocks/core\";\nimport { useSendAiMessage } from \"@liveblocks/react\";\nimport {\n type ComponentProps,\n type FormEvent,\n forwardRef,\n type SyntheticEvent,\n useCallback,\n} from \"react\";\n\nimport { SendIcon } from \"../../icons/Send\";\nimport { StopIcon } from \"../../icons/Stop\";\nimport {\n type AiComposerOverrides,\n type GlobalOverrides,\n useOverrides,\n} from \"../../overrides\";\nimport * as AiComposerPrimitive from \"../../primitives/AiComposer\";\nimport { useAiComposer } from \"../../primitives/AiComposer/contexts\";\nimport type {\n AiComposerEditorProps,\n AiComposerFormProps,\n AiComposerSubmitMessage,\n} from \"../../primitives/AiComposer/types\";\nimport { cn } from \"../../utils/cn\";\nimport { Button } from \"./Button\";\nimport { ShortcutTooltip, TooltipProvider } from \"./Tooltip\";\n\n/* -------------------------------------------------------------------------------------------------\n * AiComposer\n * -----------------------------------------------------------------------------------------------*/\nexport interface AiComposerProps\n extends Omit<ComponentProps<\"form\">, \"defaultValue\"> {\n /**\n * The composer's initial value.\n */\n defaultValue?: string;\n\n /**\n * The event handler called when the composer is submitted.\n */\n onComposerSubmit?: (\n message: AiComposerSubmitMessage,\n event: FormEvent<HTMLFormElement>\n ) => void;\n\n /**\n * The event handler called after the composer is submitted.\n *\n * @internal This API will change, and is not considered stable. DO NOT RELY on it.\n */\n onComposerSubmitted?: (message: AiChatMessage) => void;\n\n /**\n * Whether the composer is disabled.\n */\n disabled?: AiComposerFormProps[\"disabled\"];\n\n /**\n * Whether to focus the composer on mount.\n */\n autoFocus?: AiComposerEditorProps[\"autoFocus\"];\n\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides & AiComposerOverrides>;\n\n /**\n * The ID of the chat the composer belongs to.\n */\n chatId: string;\n\n /**\n * The ID of the copilot to use to send the message.\n */\n copilotId?: CopilotId;\n\n /**\n * The time, in milliseconds, before an AI response will timeout.\n */\n responseTimeout?: number;\n\n /**\n * @internal\n */\n branchId?: MessageId;\n\n /**\n * @internal\n */\n stream?: boolean;\n}\n\nfunction AiComposerAction({\n overrides,\n}: {\n overrides?: AiComposerProps[\"overrides\"];\n}) {\n const { canAbort } = useAiComposer();\n const $ = useOverrides(overrides);\n\n const preventDefault = useCallback((event: SyntheticEvent) => {\n event.preventDefault();\n }, []);\n\n const stopPropagation = useCallback((event: SyntheticEvent) => {\n event.stopPropagation();\n }, []);\n\n return canAbort ? (\n <ShortcutTooltip content={$.AI_COMPOSER_ABORT}>\n <AiComposerPrimitive.Abort asChild>\n <Button\n onPointerDown={preventDefault}\n onClick={stopPropagation}\n className=\"lb-ai-composer-action\"\n variant=\"secondary\"\n aria-label={$.AI_COMPOSER_ABORT}\n icon={<StopIcon />}\n />\n </AiComposerPrimitive.Abort>\n </ShortcutTooltip>\n ) : (\n <ShortcutTooltip content={$.AI_COMPOSER_SEND} shortcut=\"Enter\">\n <AiComposerPrimitive.Submit asChild>\n <Button\n onPointerDown={preventDefault}\n onClick={stopPropagation}\n className=\"lb-ai-composer-action\"\n variant=\"primary\"\n aria-label={$.AI_COMPOSER_SEND}\n icon={<SendIcon />}\n />\n </AiComposerPrimitive.Submit>\n </ShortcutTooltip>\n );\n}\n\nexport const AiComposer = forwardRef<HTMLFormElement, AiComposerProps>(\n (\n {\n defaultValue,\n onComposerSubmit,\n disabled,\n autoFocus,\n overrides,\n className,\n chatId,\n branchId,\n copilotId,\n responseTimeout,\n stream = true,\n onComposerSubmitted,\n ...props\n },\n forwardedRef\n ) => {\n const $ = useOverrides(overrides);\n const sendAiMessage = useSendAiMessage(chatId, {\n stream,\n copilotId,\n timeout: responseTimeout,\n });\n\n const handleComposerSubmit = useCallback(\n (message: AiComposerSubmitMessage, event: FormEvent<HTMLFormElement>) => {\n onComposerSubmit?.(message, event);\n\n if (event.isDefaultPrevented()) return;\n\n const newMessage = sendAiMessage(message.text);\n\n onComposerSubmitted?.(newMessage);\n },\n [onComposerSubmit, sendAiMessage, onComposerSubmitted]\n );\n\n return (\n <TooltipProvider>\n <AiComposerPrimitive.Form\n className={cn(\n \"lb-root lb-ai-composer lb-ai-composer-form\",\n className\n )}\n dir={$.dir}\n {...props}\n disabled={disabled}\n ref={forwardedRef}\n onComposerSubmit={handleComposerSubmit}\n chatId={chatId}\n branchId={branchId}\n >\n <div className=\"lb-ai-composer-editor-container\">\n <AiComposerPrimitive.Editor\n autoFocus={autoFocus}\n className=\"lb-ai-composer-editor\"\n placeholder={$.AI_COMPOSER_PLACEHOLDER}\n defaultValue={defaultValue}\n />\n\n <div className=\"lb-ai-composer-footer\">\n <div className=\"lb-ai-composer-editor-actions\">\n {/* No actions for now but it makes sense to keep the DOM structure */}\n </div>\n\n <div className=\"lb-ai-composer-actions\">\n <AiComposerAction overrides={overrides} />\n </div>\n </div>\n </div>\n </AiComposerPrimitive.Form>\n </TooltipProvider>\n );\n }\n);\n"],"names":["AiComposerPrimitive.Abort","AiComposerPrimitive.Submit","AiComposerPrimitive.Form","AiComposerPrimitive.Editor"],"mappings":";;;;;;;;;;;;;AAkGA,SAAS,gBAAiB,CAAA;AAAA,EACxB,SAAA;AACF,CAEG,EAAA;AACD,EAAM,MAAA,EAAE,QAAS,EAAA,GAAI,aAAc,EAAA,CAAA;AACnC,EAAM,MAAA,CAAA,GAAI,aAAa,SAAS,CAAA,CAAA;AAEhC,EAAM,MAAA,cAAA,GAAiB,WAAY,CAAA,CAAC,KAA0B,KAAA;AAC5D,IAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AAAA,GACvB,EAAG,EAAE,CAAA,CAAA;AAEL,EAAM,MAAA,eAAA,GAAkB,WAAY,CAAA,CAAC,KAA0B,KAAA;AAC7D,IAAA,KAAA,CAAM,eAAgB,EAAA,CAAA;AAAA,GACxB,EAAG,EAAE,CAAA,CAAA;AAEL,
|
|
1
|
+
{"version":3,"file":"AiComposer.js","sources":["../../../src/components/internal/AiComposer.tsx"],"sourcesContent":["import {\n type AiChatMessage,\n type CopilotId,\n type MessageId,\n} from \"@liveblocks/core\";\nimport { useSendAiMessage } from \"@liveblocks/react\";\nimport {\n type ComponentProps,\n type FormEvent,\n forwardRef,\n type SyntheticEvent,\n useCallback,\n} from \"react\";\n\nimport { SendIcon } from \"../../icons/Send\";\nimport { StopIcon } from \"../../icons/Stop\";\nimport {\n type AiComposerOverrides,\n type GlobalOverrides,\n useOverrides,\n} from \"../../overrides\";\nimport * as AiComposerPrimitive from \"../../primitives/AiComposer\";\nimport { useAiComposer } from \"../../primitives/AiComposer/contexts\";\nimport type {\n AiComposerEditorProps,\n AiComposerFormProps,\n AiComposerSubmitMessage,\n} from \"../../primitives/AiComposer/types\";\nimport { cn } from \"../../utils/cn\";\nimport { Button } from \"./Button\";\nimport { ShortcutTooltip, TooltipProvider } from \"./Tooltip\";\n\n/* -------------------------------------------------------------------------------------------------\n * AiComposer\n * -----------------------------------------------------------------------------------------------*/\nexport interface AiComposerProps\n extends Omit<ComponentProps<\"form\">, \"defaultValue\"> {\n /**\n * The composer's initial value.\n */\n defaultValue?: string;\n\n /**\n * The event handler called when the composer is submitted.\n */\n onComposerSubmit?: (\n message: AiComposerSubmitMessage,\n event: FormEvent<HTMLFormElement>\n ) => void;\n\n /**\n * The event handler called after the composer is submitted.\n *\n * @internal This API will change, and is not considered stable. DO NOT RELY on it.\n */\n onComposerSubmitted?: (message: AiChatMessage) => void;\n\n /**\n * Whether the composer is disabled.\n */\n disabled?: AiComposerFormProps[\"disabled\"];\n\n /**\n * Whether to focus the composer on mount.\n */\n autoFocus?: AiComposerEditorProps[\"autoFocus\"];\n\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides & AiComposerOverrides>;\n\n /**\n * The ID of the chat the composer belongs to.\n */\n chatId: string;\n\n /**\n * The ID of the copilot to use to send the message.\n */\n copilotId?: CopilotId;\n\n /**\n * The time, in milliseconds, before an AI response will timeout.\n */\n responseTimeout?: number;\n\n /**\n * @internal\n */\n branchId?: MessageId;\n\n /**\n * @internal\n */\n stream?: boolean;\n}\n\nfunction AiComposerAction({\n overrides,\n}: {\n overrides?: AiComposerProps[\"overrides\"];\n}) {\n const { canAbort } = useAiComposer();\n const $ = useOverrides(overrides);\n\n const preventDefault = useCallback((event: SyntheticEvent) => {\n event.preventDefault();\n }, []);\n\n const stopPropagation = useCallback((event: SyntheticEvent) => {\n event.stopPropagation();\n }, []);\n\n return canAbort ? (\n <ShortcutTooltip content={$.AI_COMPOSER_ABORT}>\n <AiComposerPrimitive.Abort asChild>\n <Button\n onPointerDown={preventDefault}\n onClick={stopPropagation}\n className=\"lb-ai-composer-action\"\n variant=\"secondary\"\n aria-label={$.AI_COMPOSER_ABORT}\n icon={<StopIcon />}\n />\n </AiComposerPrimitive.Abort>\n </ShortcutTooltip>\n ) : (\n <ShortcutTooltip content={$.AI_COMPOSER_SEND} shortcut=\"Enter\">\n <AiComposerPrimitive.Submit asChild>\n <Button\n onPointerDown={preventDefault}\n onClick={stopPropagation}\n className=\"lb-ai-composer-action\"\n variant=\"primary\"\n aria-label={$.AI_COMPOSER_SEND}\n icon={<SendIcon />}\n />\n </AiComposerPrimitive.Submit>\n </ShortcutTooltip>\n );\n}\n\nexport const AiComposer = forwardRef<HTMLFormElement, AiComposerProps>(\n (\n {\n defaultValue,\n onComposerSubmit,\n disabled,\n autoFocus,\n overrides,\n className,\n chatId,\n branchId,\n copilotId,\n responseTimeout,\n stream = true,\n onComposerSubmitted,\n ...props\n },\n forwardedRef\n ) => {\n const $ = useOverrides(overrides);\n const sendAiMessage = useSendAiMessage(chatId, {\n stream,\n copilotId,\n timeout: responseTimeout,\n });\n\n const handleComposerSubmit = useCallback(\n (message: AiComposerSubmitMessage, event: FormEvent<HTMLFormElement>) => {\n onComposerSubmit?.(message, event);\n\n if (event.isDefaultPrevented()) return;\n\n const newMessage = sendAiMessage(message.text);\n\n onComposerSubmitted?.(newMessage);\n },\n [onComposerSubmit, sendAiMessage, onComposerSubmitted]\n );\n\n return (\n <TooltipProvider>\n <AiComposerPrimitive.Form\n className={cn(\n \"lb-root lb-ai-composer lb-ai-composer-form\",\n className\n )}\n dir={$.dir}\n {...props}\n disabled={disabled}\n ref={forwardedRef}\n onComposerSubmit={handleComposerSubmit}\n chatId={chatId}\n branchId={branchId}\n >\n <div className=\"lb-ai-composer-editor-container\">\n <AiComposerPrimitive.Editor\n autoFocus={autoFocus}\n className=\"lb-ai-composer-editor\"\n placeholder={$.AI_COMPOSER_PLACEHOLDER}\n defaultValue={defaultValue}\n />\n\n <div className=\"lb-ai-composer-footer\">\n <div className=\"lb-ai-composer-editor-actions\">\n {/* No actions for now but it makes sense to keep the DOM structure */}\n </div>\n\n <div className=\"lb-ai-composer-actions\">\n <AiComposerAction overrides={overrides} />\n </div>\n </div>\n </div>\n </AiComposerPrimitive.Form>\n </TooltipProvider>\n );\n }\n);\n"],"names":["AiComposerPrimitive.Abort","AiComposerPrimitive.Submit","AiComposerPrimitive.Form","AiComposerPrimitive.Editor"],"mappings":"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"}
|