@brainfish-ai/components 0.35.19 → 0.36.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.
- package/dist/colors/blue.d.ts +13 -0
- package/dist/colors/dark.d.ts +15 -0
- package/dist/colors/green.d.ts +13 -0
- package/dist/{colors.d.ts → colors/index.d.ts} +159 -161
- package/dist/colors/lime.d.ts +13 -0
- package/dist/colors/magenta.d.ts +13 -0
- package/dist/colors/orange.d.ts +13 -0
- package/dist/colors/pink.d.ts +13 -0
- package/dist/colors/primary.d.ts +14 -0
- package/dist/colors/purple.d.ts +13 -0
- package/dist/colors/red.d.ts +13 -0
- package/dist/colors/teal.d.ts +13 -0
- package/dist/colors/yellow.d.ts +13 -0
- package/dist/components/ai-button/ai-badge.d.ts +6 -0
- package/dist/components/ai-button/ai-button.d.ts +5 -0
- package/dist/components/ai-button/index.d.ts +2 -0
- package/dist/components/article-suggestions-banner/article-suggestions-banner.d.ts +12 -0
- package/dist/components/article-suggestions-banner/index.d.ts +1 -0
- package/dist/components/articles-coverage/articles-coverage.d.ts +14 -0
- package/dist/components/articles-coverage/index.d.ts +1 -0
- package/dist/components/articles-updated/articles-updated.d.ts +14 -0
- package/dist/components/articles-updated/index.d.ts +1 -0
- package/dist/components/breadcrumbs/breadcrumbs.d.ts +22 -0
- package/dist/components/breadcrumbs/index.d.ts +1 -0
- package/dist/components/chart-area-linear/chart-area-linear.d.ts +18 -0
- package/dist/components/chart-area-linear/index.d.ts +1 -0
- package/dist/components/chart-radial-stacked/chart-radial-stacked.d.ts +12 -0
- package/dist/components/chart-radial-stacked/index.d.ts +1 -0
- package/dist/components/chat-search/ActiveConversations.d.ts +14 -0
- package/dist/components/chat-search/Answer.d.ts +36 -0
- package/dist/components/chat-search/AnswerActions.d.ts +14 -0
- package/dist/components/chat-search/AnswerBlock.d.ts +8 -0
- package/dist/components/chat-search/AnswerLoadingStatus.d.ts +6 -0
- package/dist/components/chat-search/AttachmentThumbnails.d.ts +36 -0
- package/dist/components/chat-search/ChatSearch.d.ts +12 -0
- package/dist/components/chat-search/ChatSearchContext.d.ts +37 -0
- package/dist/components/chat-search/FollowUpQuestions.d.ts +7 -0
- package/dist/components/chat-search/FollowUpSearchBar.d.ts +17 -0
- package/dist/components/chat-search/Header.d.ts +15 -0
- package/dist/components/chat-search/HistoryPage.d.ts +20 -0
- package/dist/components/chat-search/IncludePageToggle.d.ts +9 -0
- package/dist/components/chat-search/KnowledgeGroupSelector.d.ts +8 -0
- package/dist/components/chat-search/LoadingConversation.d.ts +2 -0
- package/dist/components/chat-search/LoadingSkeleton.d.ts +6 -0
- package/dist/components/chat-search/NextBestActions.d.ts +8 -0
- package/dist/components/chat-search/PrimarySearch.d.ts +38 -0
- package/dist/components/chat-search/ResolvedConversationFooter.d.ts +7 -0
- package/dist/components/chat-search/Suggestions.d.ts +9 -0
- package/dist/components/chat-search/TimelineNavigation.d.ts +9 -0
- package/dist/components/chat-search/ToastContainer.d.ts +6 -0
- package/dist/components/chat-search/blocks/ActionButtons.d.ts +5 -0
- package/dist/components/chat-search/blocks/ActionInputForm.d.ts +20 -0
- package/dist/components/chat-search/blocks/MarkdownText.d.ts +8 -0
- package/dist/components/chat-search/blocks/utils.d.ts +16 -0
- package/dist/components/chat-search/helpers/buildConversationContext.d.ts +2 -0
- package/dist/components/chat-search/helpers/cancelStreamReader.d.ts +7 -0
- package/dist/components/chat-search/helpers/excuteClientAction.d.ts +9 -0
- package/dist/components/chat-search/helpers/initialAiMessage.d.ts +2 -0
- package/dist/components/chat-search/helpers/nextBestActions.d.ts +7 -0
- package/dist/components/chat-search/helpers/preChatFormForWidget.d.ts +6 -0
- package/dist/components/chat-search/hooks/index.d.ts +10 -0
- package/dist/components/chat-search/hooks/useAccessibleColor.d.ts +1 -0
- package/dist/components/chat-search/hooks/useAnswerList.d.ts +253 -0
- package/dist/components/chat-search/hooks/useConversationHistory.d.ts +32 -0
- package/dist/components/chat-search/hooks/useConversationId.d.ts +5 -0
- package/dist/components/chat-search/hooks/useConversationLoader.d.ts +19 -0
- package/dist/components/chat-search/hooks/useDarkMode.d.ts +1 -0
- package/dist/components/chat-search/hooks/useFileAttachment.d.ts +20 -0
- package/dist/components/chat-search/hooks/useIncludePage.d.ts +20 -0
- package/dist/components/chat-search/hooks/useIsChatSearchDirty.d.ts +1 -0
- package/dist/components/chat-search/hooks/useScrollManager.d.ts +6 -0
- package/dist/components/chat-search/hooks/useSubscriptionManager.d.ts +4 -0
- package/dist/components/chat-search/hooks/useToast.d.ts +9 -0
- package/dist/components/chat-search/hooks/useUrlManager.d.ts +8 -0
- package/dist/components/chat-search/index.d.ts +7 -0
- package/dist/components/chat-search/text-config.d.ts +3 -0
- package/dist/components/chat-search/theme.d.ts +0 -0
- package/dist/components/chat-search/types/messages.d.ts +21 -0
- package/dist/components/chat-search/types.d.ts +388 -0
- package/dist/{combobox.d.ts → components/combobox/combobox.d.ts} +43 -49
- package/dist/components/combobox/index.d.ts +1 -0
- package/dist/components/confirm-dialog/confirm-dialog.d.ts +21 -0
- package/dist/components/confirm-dialog/index.d.ts +1 -0
- package/dist/components/conversation/AttachmentPreviews.d.ts +14 -0
- package/dist/components/conversation/ContextPillBadge.d.ts +8 -0
- package/dist/components/conversation/Conversation.d.ts +45 -0
- package/dist/components/conversation/ConversationActions.d.ts +11 -0
- package/dist/components/conversation/ConversationContext.d.ts +17 -0
- package/dist/components/conversation/ConversationHeader.d.ts +12 -0
- package/dist/components/conversation/ConversationInput.d.ts +16 -0
- package/dist/components/conversation/ConversationMessage.d.ts +8 -0
- package/dist/components/conversation/ConversationMessageAssistant.d.ts +11 -0
- package/dist/components/conversation/ConversationMessageUser.d.ts +11 -0
- package/dist/components/conversation/ConversationMessages.d.ts +11 -0
- package/dist/components/conversation/ConversationStatus.d.ts +11 -0
- package/dist/components/conversation/ConversationSuggestions.d.ts +10 -0
- package/dist/components/conversation/attachmentUtils.d.ts +2 -0
- package/dist/components/conversation/blocks/CitationBlock.d.ts +8 -0
- package/dist/components/conversation/blocks/TextBlock.d.ts +8 -0
- package/dist/components/conversation/blocks/index.d.ts +10 -0
- package/dist/components/conversation/index.d.ts +13 -0
- package/dist/components/conversation/mocks.d.ts +14 -0
- package/dist/components/conversation/status.d.ts +15 -0
- package/dist/components/conversation/types.d.ts +149 -0
- package/dist/components/conversation/welcome.d.ts +11 -0
- package/dist/components/convos/answer-diagnostics.d.ts +21 -0
- package/dist/components/convos/attributes-dialog.d.ts +7 -0
- package/dist/components/convos/confidence-badge.d.ts +6 -0
- package/dist/components/convos/convo.d.ts +29 -0
- package/dist/components/convos/convos.d.ts +39 -0
- package/dist/components/convos/discard-form.d.ts +31 -0
- package/dist/components/convos/empty-convos.d.ts +4 -0
- package/dist/components/convos/feedback-dialog.d.ts +14 -0
- package/dist/components/convos/index.d.ts +5 -0
- package/dist/components/convos/message.d.ts +79 -0
- package/dist/components/convos/mocks.d.ts +43 -0
- package/dist/components/convos/status-badge.d.ts +8 -0
- package/dist/components/convos/stream-badge.d.ts +5 -0
- package/dist/components/data-table/data-table.d.ts +17 -0
- package/dist/components/data-table/index.d.ts +2 -0
- package/dist/{date-picker.d.ts → components/date-picker/date-picker.d.ts} +9 -12
- package/dist/components/date-picker/index.d.ts +1 -0
- package/dist/components/discoveries-created/discoveries-created.d.ts +22 -0
- package/dist/components/discoveries-created/index.d.ts +1 -0
- package/dist/components/editable-label/editable-label.d.ts +6 -0
- package/dist/components/editable-label/index.d.ts +1 -0
- package/dist/components/feedback/feedback-reason.d.ts +10 -0
- package/dist/{feedback.d.ts → components/feedback/feedback.d.ts} +17 -21
- package/dist/components/feedback/index.d.ts +1 -0
- package/dist/components/file-upload/file-upload-status.d.ts +17 -0
- package/dist/components/file-upload/file-upload.d.ts +4 -0
- package/dist/components/file-upload/index.d.ts +4 -0
- package/dist/components/file-upload/types.d.ts +18 -0
- package/dist/components/file-upload/utils.d.ts +1 -0
- package/dist/components/filter/components/CustomValueInput.d.ts +11 -0
- package/dist/components/filter/components/MultiSelectDropdown.d.ts +10 -0
- package/dist/components/filter/components/SingleSelectDropdown.d.ts +9 -0
- package/dist/components/filter/filter.d.ts +6 -0
- package/dist/components/filter/filters.d.ts +12 -0
- package/dist/components/filter/hooks.d.ts +9 -0
- package/dist/components/filter/index.d.ts +3 -0
- package/dist/{filter.d.ts → components/filter/types.d.ts} +59 -82
- package/dist/components/font-picker/font-picker-item.d.ts +13 -0
- package/dist/components/font-picker/font-picker.d.ts +44 -0
- package/dist/components/font-picker/font-utils.d.ts +18 -0
- package/dist/components/font-picker/index.d.ts +5 -0
- package/dist/components/font-picker/types.d.ts +6 -0
- package/dist/components/font-picker/use-font-options.d.ts +17 -0
- package/dist/components/generating-star/generating-star.d.ts +10 -0
- package/dist/components/generating-star/index.d.ts +1 -0
- package/dist/components/input-with-tags/index.d.ts +1 -0
- package/dist/{input-with-tags.d.ts → components/input-with-tags/input-with-tags.d.ts} +26 -31
- package/dist/components/logo/ai-logo.d.ts +12 -0
- package/dist/components/logo/chat-logo.d.ts +8 -0
- package/dist/components/logo/index.d.ts +3 -0
- package/dist/components/logo/logo.d.ts +8 -0
- package/dist/components/love/index.d.ts +1 -0
- package/dist/components/love/love.d.ts +7 -0
- package/dist/components/markdown/CodeBlock.d.ts +7 -0
- package/dist/components/markdown/FormattedMessage.d.ts +14 -0
- package/dist/components/markdown/Frame.d.ts +10 -0
- package/dist/components/markdown/MemoizedReactMarkdown.d.ts +6 -0
- package/dist/components/markdown/MermaidDiagram.d.ts +6 -0
- package/dist/components/markdown/SmartImage.d.ts +5 -0
- package/dist/components/markdown/ZoomableImage.d.ts +7 -0
- package/dist/components/markdown/embeds/Loom.d.ts +7 -0
- package/dist/components/markdown/embeds/NativeVideo.d.ts +6 -0
- package/dist/components/markdown/embeds/Supademo.d.ts +7 -0
- package/dist/components/markdown/embeds/Typeform.d.ts +7 -0
- package/dist/components/markdown/embeds/VideoTimeline.d.ts +9 -0
- package/dist/components/markdown/embeds/Vimeo.d.ts +7 -0
- package/dist/components/markdown/embeds/Wistia.d.ts +7 -0
- package/dist/components/markdown/embeds/Youtube.d.ts +7 -0
- package/dist/components/markdown/embeds/index.d.ts +9 -0
- package/dist/components/markdown/index.d.ts +6 -0
- package/dist/components/markdown/utils/codeblock.d.ts +6 -0
- package/dist/components/markdown/utils/stripNewLines.d.ts +1 -0
- package/dist/components/markdown/utils/urls.d.ts +6 -0
- package/dist/components/metric-card/index.d.ts +1 -0
- package/dist/components/metric-card/metric-card.d.ts +11 -0
- package/dist/components/metric-card-group/index.d.ts +1 -0
- package/dist/components/metric-card-group/metric-card-group.d.ts +6 -0
- package/dist/components/plan-usage-card/index.d.ts +1 -0
- package/dist/{plan-usage-card.d.ts → components/plan-usage-card/plan-usage-card.d.ts} +10 -15
- package/dist/components/rich-text-input/LexicalEditor.d.ts +7 -0
- package/dist/components/rich-text-input/RichTextInput.d.ts +31 -0
- package/dist/components/rich-text-input/index.d.ts +2 -0
- package/dist/components/select/index.d.ts +1 -0
- package/dist/{select.d.ts → components/select/simpleSelect.d.ts} +15 -20
- package/dist/components/trend-value/index.d.ts +1 -0
- package/dist/components/trend-value/trend-value.d.ts +14 -0
- package/dist/components/two-level-combobox/index.d.ts +1 -0
- package/dist/{two-level-combobox.d.ts → components/two-level-combobox/two-level-combobox.d.ts} +15 -26
- package/dist/components/ui/accordion.d.ts +7 -2
- package/dist/components/ui/alert-dialog.d.ts +37 -2
- package/dist/components/ui/alert.d.ts +11 -2
- package/dist/components/ui/avatar.d.ts +11 -2
- package/dist/components/ui/badge.d.ts +9 -2
- package/dist/components/ui/breadcrumb.d.ts +19 -2
- package/dist/components/ui/button-group.d.ts +13 -2
- package/dist/components/ui/button.d.ts +13 -2
- package/dist/components/ui/calendar.d.ts +8 -2
- package/dist/components/ui/card.d.ts +8 -2
- package/dist/components/ui/chart.d.ts +62 -0
- package/dist/components/ui/collapsible.d.ts +6 -2
- package/dist/components/ui/combobox.d.ts +2 -2
- package/dist/components/ui/command.d.ts +80 -2
- package/dist/components/ui/dialog.d.ts +19 -2
- package/dist/components/ui/div-button.d.ts +11 -2
- package/dist/components/ui/dropdown-menu.d.ts +31 -2
- package/dist/components/ui/hover-card.d.ts +6 -2
- package/dist/components/ui/icon.d.ts +8 -2
- package/dist/components/ui/input.d.ts +10 -2
- package/dist/components/ui/item.d.ts +23 -2
- package/dist/components/ui/label.d.ts +5 -2
- package/dist/components/ui/popover.d.ts +13 -2
- package/dist/components/ui/progress.d.ts +6 -2
- package/dist/components/ui/radio-group.d.ts +5 -2
- package/dist/components/ui/resizable.d.ts +8 -2
- package/dist/components/ui/ripple-status.d.ts +14 -0
- package/dist/components/ui/ripple.d.ts +5 -0
- package/dist/components/ui/scroll-area.d.ts +5 -2
- package/dist/components/ui/select.d.ts +13 -2
- package/dist/components/ui/separator.d.ts +4 -2
- package/dist/components/ui/sheet.d.ts +25 -2
- package/dist/components/ui/spinner.d.ts +3 -2
- package/dist/components/ui/sweep-text.d.ts +14 -0
- package/dist/components/ui/switch.d.ts +4 -2
- package/dist/components/ui/table.d.ts +10 -2
- package/dist/components/ui/tabs.d.ts +7 -2
- package/dist/components/ui/textarea.d.ts +6 -2
- package/dist/components/ui/tooltip.d.ts +10 -2
- package/dist/components/ui/types.d.ts +1 -0
- package/dist/components/usage-indicator-pill/index.d.ts +1 -0
- package/dist/components/usage-indicator-pill/usage-indicator-pill.d.ts +23 -0
- package/dist/env.d.ts +5 -0
- package/dist/esm/colors/blue.js +16 -0
- package/dist/esm/colors/dark.js +17 -0
- package/dist/esm/colors/green.js +16 -0
- package/dist/esm/colors/lime.js +16 -0
- package/dist/esm/colors/magenta.js +16 -0
- package/dist/esm/colors/orange.js +16 -0
- package/dist/esm/colors/pink.js +16 -0
- package/dist/esm/colors/primary.js +17 -0
- package/dist/esm/colors/purple.js +16 -0
- package/dist/esm/colors/red.js +16 -0
- package/dist/esm/colors/teal.js +16 -0
- package/dist/esm/colors/yellow.js +16 -0
- package/dist/esm/colors.js +29 -2
- package/dist/esm/components/ai-button/ai-badge.js +44 -0
- package/dist/esm/components/article-suggestions-banner/article-suggestions-banner.js +49 -0
- package/dist/esm/components/article-suggestions-banner.js +1 -5
- package/dist/esm/components/articles-coverage/articles-coverage.js +116 -0
- package/dist/esm/components/articles-coverage.js +1 -5
- package/dist/esm/components/articles-updated/articles-updated.js +74 -0
- package/dist/esm/components/articles-updated.js +1 -5
- package/dist/esm/components/breadcrumbs/breadcrumbs.js +13 -0
- package/dist/esm/components/breadcrumbs.js +1 -4
- package/dist/esm/components/chart-area-linear/chart-area-linear.js +66 -0
- package/dist/esm/components/chart-area-linear.js +1 -7
- package/dist/esm/components/chart-radial-stacked/chart-radial-stacked.js +48 -0
- package/dist/esm/components/chart-radial-stacked.js +1 -3
- package/dist/esm/components/chat-search/ActiveConversations.js +16 -0
- package/dist/esm/components/chat-search/Answer.js +175 -0
- package/dist/esm/components/chat-search/AnswerActions.js +64 -0
- package/dist/esm/components/chat-search/AnswerBlock.js +19 -0
- package/dist/esm/components/chat-search/AnswerLoadingStatus.js +8 -0
- package/dist/esm/components/chat-search/AttachmentThumbnails.js +45 -0
- package/dist/esm/components/chat-search/ChatSearch.js +1175 -0
- package/dist/esm/components/chat-search/ChatSearchContext.js +73 -0
- package/dist/esm/components/chat-search/FollowUpQuestions.js +39 -0
- package/dist/esm/components/chat-search/FollowUpSearchBar.js +189 -0
- package/dist/esm/components/chat-search/FollowUpSearchBar.module.css +4 -0
- package/dist/esm/components/chat-search/FollowUpSearchBar.module.css.js +6 -0
- package/dist/esm/components/chat-search/Header.js +104 -0
- package/dist/esm/components/chat-search/HistoryPage.js +82 -0
- package/dist/esm/components/chat-search/IncludePageToggle.js +8 -0
- package/dist/esm/components/chat-search/KnowledgeGroupSelector.js +23 -0
- package/dist/esm/components/chat-search/LoadingConversation.js +19 -0
- package/dist/esm/components/chat-search/NextBestActions.js +210 -0
- package/dist/esm/components/chat-search/PrimarySearch.js +415 -0
- package/dist/esm/components/chat-search/ResolvedConversationFooter.js +28 -0
- package/dist/esm/components/chat-search/Suggestions.js +20 -0
- package/dist/esm/components/chat-search/TimelineNavigation.js +113 -0
- package/dist/esm/components/chat-search/ToastContainer.js +29 -0
- package/dist/esm/components/chat-search/blocks/ActionButtons.js +5 -0
- package/dist/esm/components/chat-search/blocks/ActionInputForm.js +154 -0
- package/dist/esm/components/chat-search/blocks/MarkdownText.js +24 -0
- package/dist/esm/components/chat-search/blocks/utils.js +36 -0
- package/dist/esm/components/chat-search/helpers/buildConversationContext.js +11 -0
- package/dist/esm/components/chat-search/helpers/cancelStreamReader.js +21 -0
- package/dist/esm/components/chat-search/helpers/excuteClientAction.js +32 -0
- package/dist/esm/components/chat-search/helpers/initialAiMessage.js +4 -0
- package/dist/esm/components/chat-search/helpers/nextBestActions.js +97 -0
- package/dist/esm/components/chat-search/helpers/preChatFormForWidget.js +20 -0
- package/dist/esm/components/chat-search/hooks/useAccessibleColor.js +23 -0
- package/dist/esm/components/chat-search/hooks/useAnswerList.js +366 -0
- package/dist/esm/components/chat-search/hooks/useConversationHistory.js +128 -0
- package/dist/esm/components/chat-search/hooks/useConversationId.js +41 -0
- package/dist/esm/components/chat-search/hooks/useConversationLoader.js +99 -0
- package/dist/esm/components/chat-search/hooks/useDarkMode.js +18 -0
- package/dist/esm/components/chat-search/hooks/useFileAttachment.js +105 -0
- package/dist/esm/components/chat-search/hooks/useIncludePage.js +133 -0
- package/dist/esm/components/chat-search/hooks/useIsChatSearchDirty.js +9 -0
- package/dist/esm/components/chat-search/hooks/useScrollManager.js +36 -0
- package/dist/esm/components/chat-search/hooks/useSubscriptionManager.js +31 -0
- package/dist/esm/components/chat-search/hooks/useToast.js +22 -0
- package/dist/esm/components/chat-search/text-config.js +29 -0
- package/dist/esm/components/chat-search/types.js +40 -0
- package/dist/esm/components/chat-search.js +5 -2
- package/dist/esm/components/combobox/combobox.js +94 -0
- package/dist/esm/components/combobox.js +1 -2
- package/dist/esm/components/confirm-dialog/confirm-dialog.js +46 -0
- package/dist/esm/components/confirm-dialog.js +1 -3
- package/dist/esm/components/conversation/AttachmentPreviews.js +86 -0
- package/dist/esm/components/conversation/ContextPillBadge.js +35 -0
- package/dist/esm/components/conversation/Conversation.js +106 -0
- package/dist/esm/components/conversation/ConversationActions.js +20 -0
- package/dist/esm/components/conversation/ConversationContext.js +49 -0
- package/dist/esm/components/conversation/ConversationHeader.js +49 -0
- package/dist/esm/components/conversation/ConversationInput.js +350 -0
- package/dist/esm/components/conversation/ConversationMessage.js +16 -0
- package/dist/esm/components/conversation/ConversationMessageAssistant.js +53 -0
- package/dist/esm/components/conversation/ConversationMessageUser.js +46 -0
- package/dist/esm/components/conversation/ConversationMessages.js +50 -0
- package/dist/esm/components/conversation/ConversationStatus.js +13 -0
- package/dist/esm/components/conversation/ConversationSuggestions.js +21 -0
- package/dist/esm/components/conversation/attachmentUtils.js +9 -0
- package/dist/esm/components/conversation/blocks/CitationBlock.js +21 -0
- package/dist/esm/components/conversation/blocks/TextBlock.js +8 -0
- package/dist/esm/components/conversation/blocks/index.js +12 -0
- package/dist/esm/components/conversation/status.js +34 -0
- package/dist/esm/components/conversation/welcome.js +50 -0
- package/dist/esm/components/conversation.js +11 -2
- package/dist/esm/components/convos/answer-diagnostics.js +17 -0
- package/dist/esm/components/convos/attributes-dialog.css +51 -0
- package/dist/esm/components/convos/attributes-dialog.js +70 -0
- package/dist/esm/components/convos/confidence-badge.js +17 -0
- package/dist/esm/components/convos/convo.js +142 -0
- package/dist/esm/components/convos/convos.js +85 -0
- package/dist/esm/components/convos/discard-form.js +187 -0
- package/dist/esm/components/convos/empty-convos.js +8 -0
- package/dist/esm/components/convos/feedback-dialog.js +61 -0
- package/dist/esm/components/convos/message.css +258 -0
- package/dist/esm/components/convos/message.js +113 -0
- package/dist/esm/components/convos/status-badge.js +45 -0
- package/dist/esm/components/convos/stream-badge.js +33 -0
- package/dist/esm/components/convos.js +5 -29
- package/dist/esm/components/data-table/data-table.js +101 -0
- package/dist/esm/components/data-table.js +1 -2
- package/dist/esm/components/date-picker/date-picker.js +26 -0
- package/dist/esm/components/date-picker.js +1 -2
- package/dist/esm/components/discoveries-created/discoveries-created.js +64 -0
- package/dist/esm/components/discoveries-created.js +1 -5
- package/dist/esm/components/editable-label/editable-label.js +73 -0
- package/dist/esm/components/editable-label.js +1 -3
- package/dist/esm/components/feedback/feedback-reason.js +81 -0
- package/dist/esm/components/feedback/feedback.js +90 -0
- package/dist/esm/components/feedback.js +1 -2
- package/dist/esm/components/file-upload/file-upload-status.js +78 -0
- package/dist/esm/components/file-upload/file-upload.js +62 -0
- package/dist/esm/components/file-upload/utils.js +9 -0
- package/dist/esm/components/file-upload.js +3 -2
- package/dist/esm/components/filter/components/CustomValueInput.js +49 -0
- package/dist/esm/components/filter/components/MultiSelectDropdown.js +109 -0
- package/dist/esm/components/filter/components/SingleSelectDropdown.js +50 -0
- package/dist/esm/components/filter/filter.js +260 -0
- package/dist/esm/components/filter/filters.js +85 -0
- package/dist/esm/components/filter/hooks.js +28 -0
- package/dist/esm/components/filter/types.js +10 -0
- package/dist/esm/components/filter.js +3 -2
- package/dist/esm/components/font-picker/font-picker-item.js +47 -0
- package/dist/esm/components/font-picker/font-picker.js +54 -0
- package/dist/esm/components/font-picker/font-utils.js +45 -0
- package/dist/esm/components/font-picker/use-font-options.js +46 -0
- package/dist/esm/components/font-picker.js +4 -2
- package/dist/esm/components/generating-star/generating-star.js +85 -0
- package/dist/esm/components/generating-star.js +1 -2
- package/dist/esm/components/input-with-tags/input-with-tags.js +109 -0
- package/dist/esm/components/input-with-tags.js +1 -2
- package/dist/esm/components/logo/ai-logo.js +46 -0
- package/dist/esm/components/logo/chat-logo.js +32 -0
- package/dist/esm/components/logo/logo.js +191 -0
- package/dist/esm/components/logo.js +3 -2
- package/dist/esm/components/love/love.js +55 -0
- package/dist/esm/components/markdown/CodeBlock.js +76 -0
- package/dist/esm/components/markdown/FormattedMessage.js +227 -0
- package/dist/esm/components/markdown/Frame.js +46 -0
- package/dist/esm/components/markdown/MemoizedReactMarkdown.js +9 -0
- package/dist/esm/components/markdown/MermaidDiagram.js +49 -0
- package/dist/esm/components/markdown/SmartImage.js +25 -0
- package/dist/esm/components/markdown/ZoomableImage.js +96 -0
- package/dist/esm/components/markdown/embeds/Loom.js +13 -0
- package/dist/esm/components/markdown/embeds/NativeVideo.js +85 -0
- package/dist/esm/components/markdown/embeds/Supademo.js +12 -0
- package/dist/esm/components/markdown/embeds/Typeform.js +12 -0
- package/dist/esm/components/markdown/embeds/VideoTimeline.js +42 -0
- package/dist/esm/components/markdown/embeds/Vimeo.js +21 -0
- package/dist/esm/components/markdown/embeds/Wistia.js +21 -0
- package/dist/esm/components/markdown/embeds/Youtube.js +33 -0
- package/dist/esm/components/markdown/embeds/index.js +36 -0
- package/dist/esm/components/markdown/utils/codeblock.js +36 -0
- package/dist/esm/components/markdown/utils/stripNewLines.js +3 -0
- package/dist/esm/components/markdown/utils/urls.js +34 -0
- package/dist/esm/components/markdown.js +5 -2
- package/dist/esm/components/metric-card/metric-card.js +29 -0
- package/dist/esm/components/metric-card-group/metric-card-group.js +8 -0
- package/dist/esm/components/metric-card-group.js +1 -3
- package/dist/esm/components/metric-card.js +1 -4
- package/dist/esm/components/plan-usage-card/plan-usage-card.js +16 -0
- package/dist/esm/components/plan-usage-card.js +1 -3
- package/dist/esm/components/rich-text-input/LexicalEditor.js +108 -0
- package/dist/esm/components/rich-text-input/RichTextInput.js +7 -0
- package/dist/esm/components/select/simpleSelect.js +22 -0
- package/dist/esm/components/select.js +1 -2
- package/dist/esm/components/trend-value/trend-value.js +50 -0
- package/dist/esm/components/trend-value.js +1 -2
- package/dist/esm/components/two-level-combobox/two-level-combobox.js +131 -0
- package/dist/esm/components/two-level-combobox.js +1 -2
- package/dist/esm/components/ui/accordion.js +46 -8
- package/dist/esm/components/ui/alert-dialog.js +114 -4
- package/dist/esm/components/ui/alert.js +103 -5
- package/dist/esm/components/ui/avatar.js +89 -8
- package/dist/esm/components/ui/badge.js +26 -3
- package/dist/esm/components/ui/breadcrumb.js +60 -5
- package/dist/esm/components/ui/button-group.js +88 -5
- package/dist/esm/components/ui/button.js +63 -2
- package/dist/esm/components/ui/calendar.css +255 -0
- package/dist/esm/components/ui/calendar.js +20 -3
- package/dist/esm/components/ui/card.js +55 -2
- package/dist/esm/components/ui/chart.js +198 -0
- package/dist/esm/components/ui/collapsible.js +33 -2
- package/dist/esm/components/ui/combobox.js +1 -2
- package/dist/esm/components/ui/command.js +79 -3
- package/dist/esm/components/ui/dialog.js +53 -3
- package/dist/esm/components/ui/div-button.js +61 -3
- package/dist/esm/components/ui/dropdown-menu.js +114 -4
- package/dist/esm/components/ui/hover-card.js +22 -2
- package/dist/esm/components/ui/icon.js +25 -3
- package/dist/esm/components/ui/input.js +47 -5
- package/dist/esm/components/ui/item.js +140 -12
- package/dist/esm/components/ui/label.js +19 -2
- package/dist/esm/components/ui/popover.js +31 -2
- package/dist/esm/components/ui/progress.js +22 -3
- package/dist/esm/components/ui/radio-group.js +33 -3
- package/dist/esm/components/ui/resizable.js +38 -5
- package/dist/esm/components/ui/ripple-status.js +22 -0
- package/dist/esm/components/ui/ripple.js +23 -0
- package/dist/esm/components/ui/ripple.module.css +47 -0
- package/dist/esm/components/ui/ripple.module.css.js +8 -0
- package/dist/esm/components/ui/scroll-area.js +32 -3
- package/dist/esm/components/ui/select.js +66 -6
- package/dist/esm/components/ui/separator.js +23 -2
- package/dist/esm/components/ui/sheet.js +62 -4
- package/dist/esm/components/ui/spinner.js +17 -3
- package/dist/esm/components/ui/sweep-text.js +24 -0
- package/dist/esm/components/ui/switch.js +26 -3
- package/dist/esm/components/ui/table.js +82 -2
- package/dist/esm/components/ui/tabs.js +65 -2
- package/dist/esm/components/ui/textarea.js +33 -2
- package/dist/esm/components/ui/tooltip.js +31 -4
- package/dist/esm/components/usage-indicator-pill/usage-indicator-pill.js +45 -0
- package/dist/esm/global.css +5321 -1
- package/dist/esm/index.js +94 -6
- package/dist/esm/layouts/full-layout/blurry-blob.js +21 -0
- package/dist/esm/layouts/full-layout/components/body.js +8 -0
- package/dist/esm/layouts/full-layout/components/header.js +28 -0
- package/dist/esm/layouts/full-layout/components/left-sidebar.js +33 -0
- package/dist/esm/layouts/full-layout/components/main-area.js +8 -0
- package/dist/esm/layouts/full-layout/components/main.js +23 -0
- package/dist/esm/layouts/full-layout/components/right-sidebar.js +21 -0
- package/dist/esm/layouts/full-layout/context.js +24 -0
- package/dist/esm/layouts/full-layout/header-pane.js +49 -0
- package/dist/esm/layouts/full-layout/layout.js +305 -0
- package/dist/esm/layouts/full-layout/left-sidebar-pane.js +66 -0
- package/dist/esm/layouts/full-layout/right-sidebar-pane.js +28 -0
- package/dist/esm/layouts/full-layout.js +5 -2
- package/dist/esm/layouts/header-nav/account-dropdown.js +90 -0
- package/dist/esm/layouts/header-nav/header-nav.js +116 -0
- package/dist/esm/layouts/header-nav.js +1 -2
- package/dist/esm/layouts/sidebar/app-nav/app-nav.js +47 -0
- package/dist/esm/layouts/sidebar/article-nav/article-item.js +138 -0
- package/dist/esm/layouts/sidebar/article-nav/article-nav.js +75 -0
- package/dist/esm/layouts/sidebar/article-nav/article-search-results.js +46 -0
- package/dist/esm/layouts/sidebar/article-nav/article-search.js +44 -0
- package/dist/esm/layouts/sidebar/article-nav/article-tree.js +243 -0
- package/dist/esm/layouts/sidebar/article-nav/expansion.js +6 -0
- package/dist/esm/layouts/sidebar/article-nav/status-icons/article-status-icon.js +34 -0
- package/dist/esm/layouts/sidebar/article-nav/status-icons/chevron-slot.js +8 -0
- package/dist/esm/layouts/sidebar/article-nav/status-icons/constant.js +3 -0
- package/dist/esm/layouts/sidebar/article-nav/status-icons/discovery-icon.js +15 -0
- package/dist/esm/layouts/sidebar/article-nav/status-icons/file/file-status-icon.js +31 -0
- package/dist/esm/layouts/sidebar/article-nav/status-icons/folder/folder-status-icon.js +59 -0
- package/dist/esm/layouts/sidebar/article-nav/status-icons/icon-shell.js +12 -0
- package/dist/esm/layouts/sidebar/article-nav/tree-sync.js +52 -0
- package/dist/esm/layouts/sidebar/context.js +72 -0
- package/dist/esm/layouts/sidebar/section-nav/section-nav.js +26 -0
- package/dist/esm/layouts/sidebar/sidebar.js +85 -0
- package/dist/esm/layouts/sidebar.js +2 -2
- package/dist/esm/lib/addUtmParams.js +26 -0
- package/dist/esm/lib/ajvResolver.js +60 -0
- package/dist/esm/lib/api.js +240 -0
- package/dist/esm/lib/countSuggestions.js +21 -0
- package/dist/esm/lib/feature-flags.js +21 -0
- package/dist/esm/lib/features.js +5 -0
- package/dist/esm/lib/fetchClient.js +77 -0
- package/dist/esm/lib/formatDate.js +40 -0
- package/dist/esm/lib/formatNumber.js +9 -0
- package/dist/esm/lib/getContentType.js +36 -0
- package/dist/esm/lib/hooks.js +80 -0
- package/dist/esm/lib/pluralise.js +6 -0
- package/dist/esm/lib/sortAttributeKeys.js +13 -0
- package/dist/esm/lib/styles.js +3 -0
- package/dist/esm/lib/useChartDateFormatters.js +10 -0
- package/dist/esm/lib/utils.js +45 -0
- package/dist/esm/logos/microsoft-logo.js +66 -7
- package/dist/esm/logos/microsoft-teams-logo.js +112 -13
- package/dist/esm/logos/slack-logo.js +39 -4
- package/dist/esm/scenes/knowledge-review/context.js +69 -0
- package/dist/esm/scenes/knowledge-review/diff-loader.js +42 -0
- package/dist/esm/scenes/knowledge-review/knowledge-review-panel.js +83 -0
- package/dist/esm/scenes/knowledge-review/knowledge-review.css +14 -0
- package/dist/esm/scenes/knowledge-review/review-list/edit-count.js +8 -0
- package/dist/esm/scenes/knowledge-review/review-list/review-list-item.js +37 -0
- package/dist/esm/scenes/knowledge-review/review-list/review-list.js +23 -0
- package/dist/esm/scenes/knowledge-review/scene.js +122 -0
- package/dist/esm/scenes/knowledge-review/status-source-summary.js +41 -0
- package/dist/esm/scenes/knowledge-review/suggestion-card/suggestion-card.js +110 -0
- package/dist/esm/scenes/knowledge-review/suggestions-header/suggestions-header-title-nav.js +54 -0
- package/dist/esm/scenes/knowledge-review/suggestions-header/suggestions-header-toolbar.js +114 -0
- package/dist/esm/scenes/knowledge-review/suggestions-header/suggestions-header.js +105 -0
- package/dist/esm/scenes/knowledge-review.js +5 -20
- package/dist/esm/tailwind.preset.js +305 -2
- package/dist/esm/tokens.css +539 -0
- package/dist/index.d.ts +60 -2634
- package/dist/layouts/full-layout/blurry-blob.d.ts +11 -0
- package/dist/layouts/full-layout/components/body.d.ts +7 -0
- package/dist/layouts/full-layout/components/header.d.ts +6 -0
- package/dist/layouts/full-layout/components/index.d.ts +7 -0
- package/dist/layouts/full-layout/components/left-sidebar.d.ts +6 -0
- package/dist/layouts/full-layout/components/main-area.d.ts +7 -0
- package/dist/layouts/full-layout/components/main.d.ts +8 -0
- package/dist/layouts/full-layout/components/right-sidebar.d.ts +8 -0
- package/dist/layouts/full-layout/context.d.ts +61 -0
- package/dist/layouts/full-layout/header-pane.d.ts +7 -0
- package/dist/layouts/full-layout/index.d.ts +10 -0
- package/dist/layouts/full-layout/layout.d.ts +27 -0
- package/dist/layouts/full-layout/left-sidebar-pane.d.ts +14 -0
- package/dist/layouts/full-layout/right-sidebar-pane.d.ts +8 -0
- package/dist/layouts/header-nav/account-dropdown.d.ts +71 -0
- package/dist/layouts/header-nav/header-nav.d.ts +22 -0
- package/dist/layouts/header-nav/index.d.ts +2 -0
- package/dist/layouts/sidebar/app-nav/app-nav.d.ts +12 -0
- package/dist/layouts/sidebar/app-nav/index.d.ts +1 -0
- package/dist/layouts/sidebar/article-nav/article-item.d.ts +18 -0
- package/dist/layouts/sidebar/article-nav/article-nav.d.ts +8 -0
- package/dist/layouts/sidebar/article-nav/article-search-results.d.ts +7 -0
- package/dist/layouts/sidebar/article-nav/article-search.d.ts +2 -0
- package/dist/layouts/sidebar/article-nav/article-tree.d.ts +10 -0
- package/dist/layouts/sidebar/article-nav/expansion.d.ts +2 -0
- package/dist/layouts/sidebar/article-nav/index.d.ts +1 -0
- package/dist/layouts/sidebar/article-nav/status-icons/article-status-icon.d.ts +11 -0
- package/dist/layouts/sidebar/article-nav/status-icons/chevron-slot.d.ts +4 -0
- package/dist/layouts/sidebar/article-nav/status-icons/constant.d.ts +1 -0
- package/dist/layouts/sidebar/article-nav/status-icons/discovery-icon.d.ts +4 -0
- package/dist/layouts/sidebar/article-nav/status-icons/file/file-status-icon.d.ts +7 -0
- package/dist/layouts/sidebar/article-nav/status-icons/folder/folder-status-icon.d.ts +9 -0
- package/dist/layouts/sidebar/article-nav/status-icons/icon-shell.d.ts +2 -0
- package/dist/layouts/sidebar/article-nav/status-icons/index.d.ts +1 -0
- package/dist/layouts/sidebar/article-nav/tree-sync.d.ts +20 -0
- package/dist/layouts/sidebar/context.d.ts +33 -0
- package/dist/layouts/sidebar/index.d.ts +3 -0
- package/dist/layouts/sidebar/mocks.d.ts +4 -0
- package/dist/layouts/sidebar/section-nav/index.d.ts +1 -0
- package/dist/layouts/sidebar/section-nav/section-nav.d.ts +8 -0
- package/dist/layouts/sidebar/sidebar.d.ts +15 -0
- package/dist/layouts/sidebar/types.d.ts +20 -0
- package/dist/lib/addUtmParams.d.ts +20 -0
- package/dist/lib/ajvResolver.d.ts +5 -0
- package/dist/lib/api.d.ts +133 -0
- package/dist/lib/countSuggestions.d.ts +4 -0
- package/dist/lib/feature-flags.d.ts +9 -0
- package/dist/lib/features.d.ts +4 -0
- package/dist/lib/fetchClient.d.ts +19 -0
- package/dist/lib/formatDate.d.ts +4 -0
- package/dist/lib/formatNumber.d.ts +1 -0
- package/dist/lib/getContentType.d.ts +1 -0
- package/dist/lib/groupAttributesByKey.d.ts +1 -0
- package/dist/lib/hooks.d.ts +19 -0
- package/dist/lib/pluralise.d.ts +1 -0
- package/dist/lib/sortAttributeKeys.d.ts +1 -0
- package/dist/lib/styles.d.ts +1 -0
- package/dist/lib/useChartDateFormatters.d.ts +4 -0
- package/dist/lib/utils.d.ts +7 -0
- package/dist/logos/microsoft-logo.d.ts +10 -2
- package/dist/logos/microsoft-teams-logo.d.ts +10 -2
- package/dist/logos/slack-logo.d.ts +10 -2
- package/dist/scenes/knowledge-review/context.d.ts +46 -0
- package/dist/scenes/knowledge-review/diff-loader.d.ts +10 -0
- package/dist/scenes/knowledge-review/index.d.ts +10 -0
- package/dist/scenes/knowledge-review/knowledge-review-panel.d.ts +18 -0
- package/dist/scenes/knowledge-review/review-list/edit-count.d.ts +4 -0
- package/dist/scenes/knowledge-review/review-list/index.d.ts +3 -0
- package/dist/scenes/knowledge-review/review-list/mockItems.d.ts +43 -0
- package/dist/scenes/knowledge-review/review-list/review-list-item.d.ts +22 -0
- package/dist/scenes/knowledge-review/review-list/review-list.d.ts +8 -0
- package/dist/scenes/knowledge-review/scene.d.ts +33 -0
- package/dist/scenes/knowledge-review/status-source-summary.d.ts +12 -0
- package/dist/scenes/knowledge-review/suggestion-card/index.d.ts +2 -0
- package/dist/scenes/knowledge-review/suggestion-card/suggestion-card.d.ts +88 -0
- package/dist/scenes/knowledge-review/suggestions-header/index.d.ts +1 -0
- package/dist/scenes/knowledge-review/suggestions-header/suggestions-header-title-nav.d.ts +12 -0
- package/dist/scenes/knowledge-review/suggestions-header/suggestions-header-toolbar.d.ts +20 -0
- package/dist/scenes/knowledge-review/suggestions-header/suggestions-header.d.ts +17 -0
- package/package.json +42 -33
- package/tailwind.preset.ts +2 -1
- package/dist/accordion.d.ts +0 -12
- package/dist/alert-dialog.d.ts +0 -50
- package/dist/alert.d.ts +0 -18
- package/dist/article-suggestions-banner.d.ts +0 -16
- package/dist/articles-coverage.d.ts +0 -41
- package/dist/articles-updated.d.ts +0 -41
- package/dist/avatar.d.ts +0 -18
- package/dist/badge.d.ts +0 -14
- package/dist/breadcrumb.d.ts +0 -27
- package/dist/breadcrumbs.d.ts +0 -27
- package/dist/button-group.d.ts +0 -22
- package/dist/button.d.ts +0 -18
- package/dist/calendar.d.ts +0 -12
- package/dist/card.d.ts +0 -15
- package/dist/chart-area-linear.d.ts +0 -41
- package/dist/chart-radial-stacked.d.ts +0 -39
- package/dist/chat-search.d.ts +0 -532
- package/dist/collapsible.d.ts +0 -10
- package/dist/command.d.ts +0 -90
- package/dist/confirm-dialog.d.ts +0 -37
- package/dist/conversation.d.ts +0 -362
- package/dist/convos.d.ts +0 -220
- package/dist/data-table.d.ts +0 -23
- package/dist/dialog.d.ts +0 -30
- package/dist/discoveries-created.d.ts +0 -49
- package/dist/div-button.d.ts +0 -16
- package/dist/dropdown-menu.d.ts +0 -47
- package/dist/editable-label.d.ts +0 -8
- package/dist/esm/ChatSearch.css +0 -1
- package/dist/esm/chunks/ChatSearch.DD63KIj6.js +0 -96
- package/dist/esm/chunks/ChatSearch.DD63KIj6.js.map +0 -1
- package/dist/esm/chunks/Conversation.CfhUJm_Q.js +0 -33
- package/dist/esm/chunks/Conversation.CfhUJm_Q.js.map +0 -1
- package/dist/esm/chunks/FormattedMessage.CEEjawib.js +0 -23
- package/dist/esm/chunks/FormattedMessage.CEEjawib.js.map +0 -1
- package/dist/esm/chunks/MermaidDiagram.PRgXQ5Yh.js +0 -2
- package/dist/esm/chunks/MermaidDiagram.PRgXQ5Yh.js.map +0 -1
- package/dist/esm/chunks/_commonjsHelpers.lGe4XDVY.js +0 -2
- package/dist/esm/chunks/_commonjsHelpers.lGe4XDVY.js.map +0 -1
- package/dist/esm/chunks/ai-badge.BxsWnJJZ.js +0 -5
- package/dist/esm/chunks/ai-badge.BxsWnJJZ.js.map +0 -1
- package/dist/esm/chunks/ai-logo.Bh2bhNcG.js +0 -8
- package/dist/esm/chunks/ai-logo.Bh2bhNcG.js.map +0 -1
- package/dist/esm/chunks/button.C7qRaFMP.js +0 -3
- package/dist/esm/chunks/button.C7qRaFMP.js.map +0 -1
- package/dist/esm/chunks/chart.D9xvsrKX.js +0 -10
- package/dist/esm/chunks/chart.D9xvsrKX.js.map +0 -1
- package/dist/esm/chunks/chat-logo.F_m9SJrM.js +0 -3
- package/dist/esm/chunks/chat-logo.F_m9SJrM.js.map +0 -1
- package/dist/esm/chunks/combobox.DKotd4uC.js +0 -6
- package/dist/esm/chunks/combobox.DKotd4uC.js.map +0 -1
- package/dist/esm/chunks/dark.DuW7JuAk.js +0 -2
- package/dist/esm/chunks/dark.DuW7JuAk.js.map +0 -1
- package/dist/esm/chunks/data-table.1ptJ47z8.js +0 -5
- package/dist/esm/chunks/data-table.1ptJ47z8.js.map +0 -1
- package/dist/esm/chunks/date-picker.Bto-A8WE.js +0 -4
- package/dist/esm/chunks/date-picker.Bto-A8WE.js.map +0 -1
- package/dist/esm/chunks/extends.DPdBf6DS.js +0 -2
- package/dist/esm/chunks/extends.DPdBf6DS.js.map +0 -1
- package/dist/esm/chunks/feature-flags.DOcVlPHk.js +0 -3
- package/dist/esm/chunks/feature-flags.DOcVlPHk.js.map +0 -1
- package/dist/esm/chunks/feedback.aGVWiKHH.js +0 -13
- package/dist/esm/chunks/feedback.aGVWiKHH.js.map +0 -1
- package/dist/esm/chunks/file-upload-status.sUoGRgbH.js +0 -8
- package/dist/esm/chunks/file-upload-status.sUoGRgbH.js.map +0 -1
- package/dist/esm/chunks/filters.Bxyw3eHZ.js +0 -22
- package/dist/esm/chunks/filters.Bxyw3eHZ.js.map +0 -1
- package/dist/esm/chunks/font-picker.CVZovtmt.js +0 -6
- package/dist/esm/chunks/font-picker.CVZovtmt.js.map +0 -1
- package/dist/esm/chunks/formatDate.D2xEZm8f.js +0 -2
- package/dist/esm/chunks/formatDate.D2xEZm8f.js.map +0 -1
- package/dist/esm/chunks/formatNumber.DhVn228t.js +0 -2
- package/dist/esm/chunks/formatNumber.DhVn228t.js.map +0 -1
- package/dist/esm/chunks/generating-star.DN8DVygp.js +0 -7
- package/dist/esm/chunks/generating-star.DN8DVygp.js.map +0 -1
- package/dist/esm/chunks/header-nav.BY2ppP8j.js +0 -12
- package/dist/esm/chunks/header-nav.BY2ppP8j.js.map +0 -1
- package/dist/esm/chunks/header-pane.DCGet3RZ.js +0 -20
- package/dist/esm/chunks/header-pane.DCGet3RZ.js.map +0 -1
- package/dist/esm/chunks/hooks.DjDPgQm6.js +0 -2
- package/dist/esm/chunks/hooks.DjDPgQm6.js.map +0 -1
- package/dist/esm/chunks/index.Ca2JkOFO.js +0 -2
- package/dist/esm/chunks/index.Ca2JkOFO.js.map +0 -1
- package/dist/esm/chunks/input-with-tags.aktIpAck.js +0 -5
- package/dist/esm/chunks/input-with-tags.aktIpAck.js.map +0 -1
- package/dist/esm/chunks/logo.DtwFGMBj.js +0 -5
- package/dist/esm/chunks/logo.DtwFGMBj.js.map +0 -1
- package/dist/esm/chunks/primary.CMQbo1GJ.js +0 -2
- package/dist/esm/chunks/primary.CMQbo1GJ.js.map +0 -1
- package/dist/esm/chunks/ripple-status.BiOlScXz.js +0 -6
- package/dist/esm/chunks/ripple-status.BiOlScXz.js.map +0 -1
- package/dist/esm/chunks/sidebar.tGcs3r4O.js +0 -29
- package/dist/esm/chunks/sidebar.tGcs3r4O.js.map +0 -1
- package/dist/esm/chunks/simpleSelect.BiNOqq3j.js +0 -3
- package/dist/esm/chunks/simpleSelect.BiNOqq3j.js.map +0 -1
- package/dist/esm/chunks/status-badge.BVWcC9Dt.js +0 -3
- package/dist/esm/chunks/status-badge.BVWcC9Dt.js.map +0 -1
- package/dist/esm/chunks/suggestion-card.DKQAazak.js +0 -21
- package/dist/esm/chunks/suggestion-card.DKQAazak.js.map +0 -1
- package/dist/esm/chunks/trend-value.lSWHqdkm.js +0 -3
- package/dist/esm/chunks/trend-value.lSWHqdkm.js.map +0 -1
- package/dist/esm/chunks/two-level-combobox.CWKR1tXX.js +0 -8
- package/dist/esm/chunks/two-level-combobox.CWKR1tXX.js.map +0 -1
- package/dist/esm/chunks/useChartDateFormatters.Dx2h5AAm.js +0 -2
- package/dist/esm/chunks/useChartDateFormatters.Dx2h5AAm.js.map +0 -1
- package/dist/esm/chunks/utils.DtKoarLP.js +0 -2
- package/dist/esm/chunks/utils.DtKoarLP.js.map +0 -1
- package/dist/esm/colors.js.map +0 -1
- package/dist/esm/components/accordion.js +0 -1
- package/dist/esm/components/alert-dialog.js +0 -1
- package/dist/esm/components/alert.js +0 -1
- package/dist/esm/components/article-suggestions-banner.js.map +0 -1
- package/dist/esm/components/articles-coverage.js.map +0 -1
- package/dist/esm/components/articles-updated.js.map +0 -1
- package/dist/esm/components/avatar.js +0 -1
- package/dist/esm/components/badge.js +0 -1
- package/dist/esm/components/breadcrumb.js +0 -1
- package/dist/esm/components/breadcrumbs.js.map +0 -1
- package/dist/esm/components/button-group.js +0 -1
- package/dist/esm/components/button.js +0 -1
- package/dist/esm/components/calendar.js +0 -1
- package/dist/esm/components/card.js +0 -1
- package/dist/esm/components/chart-area-linear.js.map +0 -1
- package/dist/esm/components/chart-radial-stacked.js.map +0 -1
- package/dist/esm/components/chat-search.js.map +0 -1
- package/dist/esm/components/collapsible.js +0 -1
- package/dist/esm/components/combobox.js.map +0 -1
- package/dist/esm/components/command.js +0 -1
- package/dist/esm/components/confirm-dialog.js.map +0 -1
- package/dist/esm/components/conversation.js.map +0 -1
- package/dist/esm/components/convos.js.map +0 -1
- package/dist/esm/components/data-table.js.map +0 -1
- package/dist/esm/components/date-picker.js.map +0 -1
- package/dist/esm/components/dialog.js +0 -1
- package/dist/esm/components/discoveries-created.js.map +0 -1
- package/dist/esm/components/div-button.js +0 -1
- package/dist/esm/components/dropdown-menu.js +0 -1
- package/dist/esm/components/editable-label.js.map +0 -1
- package/dist/esm/components/feedback.js.map +0 -1
- package/dist/esm/components/file-upload.js.map +0 -1
- package/dist/esm/components/filter.js.map +0 -1
- package/dist/esm/components/font-picker.js.map +0 -1
- package/dist/esm/components/generating-star.js.map +0 -1
- package/dist/esm/components/hover-card.js +0 -1
- package/dist/esm/components/icon.js +0 -1
- package/dist/esm/components/input-with-tags.js.map +0 -1
- package/dist/esm/components/input.js +0 -1
- package/dist/esm/components/item.js +0 -1
- package/dist/esm/components/label.js +0 -1
- package/dist/esm/components/logo.js.map +0 -1
- package/dist/esm/components/markdown.js.map +0 -1
- package/dist/esm/components/metric-card-group.js.map +0 -1
- package/dist/esm/components/metric-card.js.map +0 -1
- package/dist/esm/components/plan-usage-card.js.map +0 -1
- package/dist/esm/components/popover.js +0 -1
- package/dist/esm/components/progress.js +0 -1
- package/dist/esm/components/radio-group.js +0 -1
- package/dist/esm/components/resizable.js +0 -1
- package/dist/esm/components/scroll-area.js +0 -1
- package/dist/esm/components/select.js.map +0 -1
- package/dist/esm/components/separator.js +0 -1
- package/dist/esm/components/sheet.js +0 -1
- package/dist/esm/components/spinner.js +0 -1
- package/dist/esm/components/switch.js +0 -1
- package/dist/esm/components/table.js +0 -1
- package/dist/esm/components/tabs.js +0 -1
- package/dist/esm/components/textarea.js +0 -1
- package/dist/esm/components/tooltip.js +0 -1
- package/dist/esm/components/trend-value.js.map +0 -1
- package/dist/esm/components/two-level-combobox.js.map +0 -1
- package/dist/esm/components/ui/accordion.js.map +0 -1
- package/dist/esm/components/ui/alert-dialog.js.map +0 -1
- package/dist/esm/components/ui/alert.js.map +0 -1
- package/dist/esm/components/ui/avatar.js.map +0 -1
- package/dist/esm/components/ui/badge.js.map +0 -1
- package/dist/esm/components/ui/breadcrumb.js.map +0 -1
- package/dist/esm/components/ui/button-group.js.map +0 -1
- package/dist/esm/components/ui/button.js.map +0 -1
- package/dist/esm/components/ui/calendar.js.map +0 -1
- package/dist/esm/components/ui/card.js.map +0 -1
- package/dist/esm/components/ui/collapsible.js.map +0 -1
- package/dist/esm/components/ui/combobox.js.map +0 -1
- package/dist/esm/components/ui/command.js.map +0 -1
- package/dist/esm/components/ui/dialog.js.map +0 -1
- package/dist/esm/components/ui/div-button.js.map +0 -1
- package/dist/esm/components/ui/dropdown-menu.js.map +0 -1
- package/dist/esm/components/ui/hover-card.js.map +0 -1
- package/dist/esm/components/ui/icon.js.map +0 -1
- package/dist/esm/components/ui/input.js.map +0 -1
- package/dist/esm/components/ui/item.js.map +0 -1
- package/dist/esm/components/ui/label.js.map +0 -1
- package/dist/esm/components/ui/popover.js.map +0 -1
- package/dist/esm/components/ui/progress.js.map +0 -1
- package/dist/esm/components/ui/radio-group.js.map +0 -1
- package/dist/esm/components/ui/resizable.js.map +0 -1
- package/dist/esm/components/ui/scroll-area.js.map +0 -1
- package/dist/esm/components/ui/select.js.map +0 -1
- package/dist/esm/components/ui/separator.js.map +0 -1
- package/dist/esm/components/ui/sheet.js.map +0 -1
- package/dist/esm/components/ui/spinner.js.map +0 -1
- package/dist/esm/components/ui/switch.js.map +0 -1
- package/dist/esm/components/ui/table.js.map +0 -1
- package/dist/esm/components/ui/tabs.js.map +0 -1
- package/dist/esm/components/ui/textarea.js.map +0 -1
- package/dist/esm/components/ui/tooltip.js.map +0 -1
- package/dist/esm/convos.css +0 -1
- package/dist/esm/date-picker.css +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/knowledge-review.css +0 -1
- package/dist/esm/layouts/full-layout.js.map +0 -1
- package/dist/esm/layouts/header-nav.js.map +0 -1
- package/dist/esm/layouts/sidebar.js.map +0 -1
- package/dist/esm/logos/microsoft-logo.js.map +0 -1
- package/dist/esm/logos/microsoft-teams-logo.js.map +0 -1
- package/dist/esm/logos/slack-logo.js.map +0 -1
- package/dist/esm/ripple-status.css +0 -1
- package/dist/esm/scenes/knowledge-review.js.map +0 -1
- package/dist/esm/tailwind.preset.js.map +0 -1
- package/dist/file-upload.d.ts +0 -45
- package/dist/font-picker.d.ts +0 -106
- package/dist/full-layout.d.ts +0 -346
- package/dist/generating-star.d.ts +0 -15
- package/dist/header-nav.d.ts +0 -105
- package/dist/hover-card.d.ts +0 -10
- package/dist/icon.d.ts +0 -12
- package/dist/input.d.ts +0 -13
- package/dist/item.d.ts +0 -39
- package/dist/knowledge-review.d.ts +0 -228
- package/dist/label.d.ts +0 -8
- package/dist/layouts/full-layout.d.ts +0 -2
- package/dist/layouts/header-nav.d.ts +0 -2
- package/dist/layouts/sidebar.d.ts +0 -2
- package/dist/logo.d.ts +0 -38
- package/dist/markdown.d.ts +0 -55
- package/dist/metric-card-group.d.ts +0 -10
- package/dist/metric-card.d.ts +0 -21
- package/dist/microsoft-logo.d.ts +0 -15
- package/dist/microsoft-teams-logo.d.ts +0 -15
- package/dist/popover.d.ts +0 -18
- package/dist/progress.d.ts +0 -8
- package/dist/radio-group.d.ts +0 -8
- package/dist/resizable.d.ts +0 -12
- package/dist/scenes/knowledge-review.d.ts +0 -2
- package/dist/scroll-area.d.ts +0 -8
- package/dist/separator.d.ts +0 -6
- package/dist/sheet.d.ts +0 -39
- package/dist/sidebar.d.ts +0 -72
- package/dist/slack-logo.d.ts +0 -15
- package/dist/spinner.d.ts +0 -5
- package/dist/stats.html +0 -5305
- package/dist/switch.d.ts +0 -6
- package/dist/table.d.ts +0 -19
- package/dist/tabs.d.ts +0 -12
- package/dist/tailwind.preset.d.ts +0 -1
- package/dist/textarea.d.ts +0 -9
- package/dist/tooltip.d.ts +0 -16
- package/dist/trend-value.d.ts +0 -19
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Conversation.CfhUJm_Q.js","sources":["../../../src/components/conversation/welcome.ts","../../../src/components/conversation/ConversationContext.tsx","../../../src/components/conversation/blocks/TextBlock.tsx","../../../src/components/conversation/blocks/CitationBlock.tsx","../../../src/components/conversation/blocks/index.tsx","../../../src/components/conversation/status.ts","../../../src/components/conversation/ConversationMessageAssistant.tsx","../../../src/components/conversation/ContextPillBadge.tsx","../../../src/components/conversation/AttachmentPreviews.tsx","../../../src/components/conversation/attachmentUtils.ts","../../../src/components/conversation/ConversationMessageUser.tsx","../../../src/components/conversation/ConversationMessage.tsx","../../../src/components/conversation/ConversationMessages.tsx","../../../../../node_modules/@lexical/react/LexicalComposerContext.prod.mjs","../../../../../node_modules/@lexical/react/LexicalComposer.prod.mjs","../../../../../node_modules/@lexical/react/useLexicalEditable.prod.mjs","../../../../../node_modules/@lexical/selection/LexicalSelection.prod.mjs","../../../../../node_modules/@lexical/utils/LexicalUtils.prod.mjs","../../../../../node_modules/@lexical/extension/LexicalExtension.prod.mjs","../../../../../node_modules/@lexical/react/LexicalReactProviderExtension.prod.mjs","../../../../../node_modules/@lexical/text/LexicalText.prod.mjs","../../../../../node_modules/@lexical/dragon/LexicalDragon.prod.mjs","../../../../../node_modules/@lexical/html/LexicalHtml.prod.mjs","../../../../../node_modules/@lexical/clipboard/LexicalClipboard.prod.mjs","../../../../../node_modules/@lexical/rich-text/LexicalRichText.prod.mjs","../../../../../node_modules/@lexical/react/LexicalRichTextPlugin.prod.mjs","../../../../../node_modules/@lexical/react/LexicalContentEditable.prod.mjs","../../../../../node_modules/@lexical/react/LexicalHistoryPlugin.prod.mjs","../../../../../node_modules/@lexical/react/LexicalListPlugin.prod.mjs","../../../../../node_modules/@lexical/react/LexicalLinkPlugin.prod.mjs","../../../../../node_modules/@lexical/react/LexicalOnChangePlugin.prod.mjs","../../../../../node_modules/@lexical/react/useLexicalNodeSelection.prod.mjs","../../../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.prod.mjs","../../../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.prod.mjs","../../../../../node_modules/react-error-boundary/dist/react-error-boundary.js","../../../../../node_modules/@lexical/react/LexicalErrorBoundary.prod.mjs","../../../src/components/rich-text-input/LexicalEditor.tsx","../../../src/components/rich-text-input/RichTextInput.tsx","../../../src/components/conversation/ConversationInput.tsx","../../../src/components/conversation/ConversationSuggestions.tsx","../../../src/components/conversation/ConversationActions.tsx","../../../src/components/conversation/ConversationStatus.tsx","../../../src/components/conversation/ConversationHeader.tsx","../../../src/components/conversation/Conversation.tsx"],"sourcesContent":["import type { Message } from './types';\n\nexport const CONVERSATION_USED_STORAGE_KEY = 'brainfish-conversation-used';\nexport const WELCOME_MESSAGE_ID = 'welcome';\n\nconst FIRST_VISIT_WELCOME_TEXT =\n \"G’day! I'm Ask Brainfish. I answer questions about your product and business with citations, draft new articles from notes, files, videos, or our chat, and edit existing ones for review. Consider me your business’ SME, and co-pilot to be more affective in the Brainfish platform.\\n\\nHow can I help today?\";\n\nconst RETURNING_WELCOME_TEXT = 'Hello! How can I help today?';\n\nexport function hasUsedConversationBefore(): boolean {\n try {\n return localStorage.getItem(CONVERSATION_USED_STORAGE_KEY) === 'true';\n } catch {\n return false;\n }\n}\n\nexport function markConversationAsUsed(): void {\n try {\n localStorage.setItem(CONVERSATION_USED_STORAGE_KEY, 'true');\n } catch {\n // localStorage might be unavailable, ignore\n }\n}\n\nexport function getWelcomeText(isFirstVisit: boolean): string {\n return isFirstVisit ? FIRST_VISIT_WELCOME_TEXT : RETURNING_WELCOME_TEXT;\n}\n\nexport const WELCOME_STREAM_CHUNK_SIZE = 3;\nexport const WELCOME_STREAM_INTERVAL_MS = 30;\n\nfunction buildStreamingMessage(id: string, text: string, charIndex: number): Message {\n const chunk = text.slice(0, charIndex);\n const done = charIndex >= text.length;\n\n return {\n id,\n role: 'ai',\n content: chunk ? [{ type: 'text', text: chunk }] : [],\n status: done ? 'completed' : 'streaming',\n };\n}\n\nexport function createWelcomeMessageAt(text: string, charIndex: number): Message {\n return buildStreamingMessage(WELCOME_MESSAGE_ID, text, charIndex);\n}\n\nexport function streamTextAsMessage(\n id: string,\n text: string,\n onUpdate: (message: Message) => void,\n startCharIndex = WELCOME_STREAM_CHUNK_SIZE,\n): () => void {\n let charIndex = startCharIndex;\n\n const interval = setInterval(() => {\n charIndex += WELCOME_STREAM_CHUNK_SIZE;\n const done = charIndex >= text.length;\n\n onUpdate(buildStreamingMessage(id, text, done ? text.length : charIndex));\n\n if (done) clearInterval(interval);\n }, WELCOME_STREAM_INTERVAL_MS);\n\n return () => clearInterval(interval);\n}\n\nexport function streamWelcomeText(text: string, onUpdate: (message: Message) => void): () => void {\n return streamTextAsMessage(WELCOME_MESSAGE_ID, text, onUpdate);\n}\n","import React, { createContext, useContext, useLayoutEffect, useMemo, useRef } from 'react';\n\nimport type { Message, ConversationCallbacks } from './types';\nimport { WELCOME_MESSAGE_ID } from './welcome';\n\nexport interface ConversationContextValue {\n messages: Message[];\n callbacks: ConversationCallbacks;\n isStreaming: boolean;\n reportScrolledFromTop?: (isScrolled: boolean) => void;\n}\n\nconst ConversationContext = createContext<ConversationContextValue | null>(null);\n\nconst defaultCallbacks: ConversationCallbacks = {\n onCopy: (_messageId, content) => void navigator.clipboard.writeText(content),\n};\n\nexport function useConversation(): ConversationContextValue {\n const ctx = useContext(ConversationContext);\n if (!ctx) {\n throw new Error('useConversation must be used within a <Conversation> provider');\n }\n\n return ctx;\n}\n\ninterface ConversationProviderProps {\n messages: Message[];\n callbacks: ConversationCallbacks;\n reportScrolledFromTop?: (isScrolled: boolean) => void;\n children: React.ReactNode;\n}\n\nexport function ConversationProvider({\n messages,\n callbacks,\n reportScrolledFromTop,\n children,\n}: ConversationProviderProps) {\n const isStreaming = messages.some((m) => m.status === 'streaming' && m.id !== WELCOME_MESSAGE_ID);\n\n // Keep callbacks in a ref so the stable wrappers below always call the latest\n // functions without needing to be recreated. useLayoutEffect (vs useEffect)\n // ensures the ref is updated before any user interaction can fire a callback.\n const callbacksRef = useRef({ ...defaultCallbacks, ...callbacks });\n useLayoutEffect(() => {\n callbacksRef.current = { ...defaultCallbacks, ...callbacks };\n });\n\n const stableCallbacks = useMemo<ConversationCallbacks>(\n () => ({\n onSend: (...args) => callbacksRef.current.onSend?.(...args),\n onStop: (...args) => callbacksRef.current.onStop?.(...args),\n onSuggestionClick: (...args) => callbacksRef.current.onSuggestionClick?.(...args),\n onActionClick: (...args) => callbacksRef.current.onActionClick?.(...args),\n onCitationClick: (...args) => callbacksRef.current.onCitationClick?.(...args),\n onAttachmentAdd: (...args) => callbacksRef.current.onAttachmentAdd?.(...args),\n onAttachmentRemove: (...args) => callbacksRef.current.onAttachmentRemove?.(...args),\n onCopy: (...args) => callbacksRef.current.onCopy?.(...args),\n onClose: (...args) => callbacksRef.current.onClose?.(...args),\n onHistoryClick: (...args) => callbacksRef.current.onHistoryClick?.(...args),\n onNewConversationClick: (...args) => callbacksRef.current.onNewConversationClick?.(...args),\n }),\n [],\n );\n\n const value = useMemo(\n () => ({ messages, callbacks: stableCallbacks, isStreaming, reportScrolledFromTop }),\n [messages, stableCallbacks, isStreaming, reportScrolledFromTop],\n );\n\n return <ConversationContext.Provider value={value}>{children}</ConversationContext.Provider>;\n}\n","import React from 'react';\n\nimport { FormattedMessage } from '../../markdown/FormattedMessage';\nimport type { TextBlock } from '../types';\n\ninterface TextBlockComponentProps {\n block: TextBlock;\n isStreaming?: boolean;\n}\n\nexport const TextBlockComponent = ({ block, isStreaming }: TextBlockComponentProps) => {\n return <FormattedMessage message={{ content: block.text }} isStreaming={isStreaming} />;\n};\n","import React from 'react';\n\nimport { Tooltip, TooltipContent, TooltipTrigger } from '../../ui/tooltip';\nimport type { Citation, ConversationCallbacks } from '../types';\nimport { Button } from '../../ui/button';\n\ninterface CitationBlockProps {\n citations: Citation[];\n onCitationClick?: ConversationCallbacks['onCitationClick'];\n}\n\nexport const CitationBlock = ({ citations, onCitationClick }: CitationBlockProps) => {\n return (\n <span className=\"inline-flex flex-wrap gap-1\">\n {citations.map((citation) => (\n <CitationBadge key={citation.id} citation={citation} onClick={onCitationClick} />\n ))}\n </span>\n );\n};\n\ninterface CitationBadgeProps {\n citation: Citation;\n onClick?: ConversationCallbacks['onCitationClick'];\n}\n\nconst CitationBadge = ({ citation, onClick }: CitationBadgeProps) => {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n size=\"xs\"\n variant=\"ghost\"\n className=\"size-5 text-xs text-muted-foreground\"\n onClick={() => onClick?.(citation)}\n >\n {citation.index}\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"top\" className=\"max-w-xs\">\n <p className=\"text-sm font-medium\">{citation.title}</p>\n <p className=\"text-xs truncate\">{citation.url}</p>\n </TooltipContent>\n </Tooltip>\n );\n};\n","import React from 'react';\n\nimport type { ContentBlock, ConversationCallbacks } from '../types';\nimport { TextBlockComponent } from './TextBlock';\nimport { CitationBlock } from './CitationBlock';\n\ninterface BlockRendererProps {\n block: ContentBlock;\n isStreaming?: boolean;\n onCitationClick?: ConversationCallbacks['onCitationClick'];\n}\n\nexport const BlockRenderer = ({ block, isStreaming, onCitationClick }: BlockRendererProps) => {\n if (block.type === 'text') {\n return (\n <>\n <TextBlockComponent block={block} isStreaming={isStreaming} />\n {block.citations && block.citations.length > 0 && (\n <CitationBlock citations={block.citations} onCitationClick={onCitationClick} />\n )}\n </>\n );\n }\n\n return null;\n};\n\nexport { TextBlockComponent } from './TextBlock';\nexport { CitationBlock } from './CitationBlock';\n","import type { Message, ToolUseBlock } from './types';\n\nconst DEFAULT_STATUS = 'Working';\n\nconst TOOL_LABELS: Record<string, string> = {\n keyword_search: 'Searching knowledge base',\n get_document: 'Reading document',\n create_document: 'Creating document',\n update_document: 'Updating document',\n};\n\nfunction labelForToolUse(block: ToolUseBlock): string {\n // Normalise both snake_case and camelCase tool names to a single key.\n const key = block.name\n .replace(/([a-z])([A-Z])/g, '$1_$2')\n .replace(/[\\s-]+/g, '_')\n .toLowerCase();\n\n // Fall back to the generic status for unrecognised tools rather than\n // surfacing raw wire tool names in the UI.\n return TOOL_LABELS[key] ?? DEFAULT_STATUS;\n}\n\n/**\n * Derive the live status label from a message's latest content block, or `null`\n * when no status should be shown.\n *\n * The status reflects only the most recent activity (\"latest only\"): a tool\n * call shows its mapped label, thinking shows \"Thinking\", and a tool result\n * keeps the originating tool's label so it doesn't flicker to generic between\n * the result arriving and the next block.\n *\n * It is shown before the first answer text and while tools/thinking are in\n * flight, but hidden once answer text is actively streaming — returning `null`\n * when the latest block is a text block that already has content.\n */\nexport function getConversationStatusLabel(message: Message): string | null {\n const blocks = message.content;\n if (blocks.length === 0) {\n return DEFAULT_STATUS;\n }\n\n const latest = blocks[blocks.length - 1];\n switch (latest.type) {\n case 'tool_use':\n return labelForToolUse(latest);\n case 'tool_result': {\n const origin = blocks.findLast((b): b is ToolUseBlock => b.type === 'tool_use' && b.id === latest.toolUseId);\n\n return origin ? labelForToolUse(origin) : DEFAULT_STATUS;\n }\n case 'thinking':\n return 'Thinking';\n case 'text':\n // Hide the loader while the answer streams. If the text block has only\n // just opened (no content yet), keep it up so there's no flicker between\n // the last tool call and the first character of the answer.\n return latest.text.length > 0 ? null : DEFAULT_STATUS;\n default:\n return DEFAULT_STATUS;\n }\n}\n","import React, { useCallback } from 'react';\nimport { Copy } from '@phosphor-icons/react';\n\nimport { cn } from '../../lib/utils';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '../ui/tooltip';\nimport { RippleStatus } from '../ui/ripple-status';\nimport { BlockRenderer } from './blocks';\nimport { getConversationStatusLabel } from './status';\nimport { useConversation } from './ConversationContext';\nimport type { Message } from './types';\n\ninterface ConversationMessageAssistantProps {\n message: Message;\n className?: string;\n}\n\nexport const ConversationMessageAssistant = ({ message, className }: ConversationMessageAssistantProps) => {\n const { callbacks } = useConversation();\n const isStreaming = message.status === 'streaming';\n const isPending = message.status === 'pending';\n const isCompleted = message.status === 'completed';\n\n const handleCopy = useCallback(() => {\n const textContent = message.content\n .filter((b): b is { type: 'text'; text: string } => b.type === 'text')\n .map((b) => b.text)\n .join('\\n');\n callbacks.onCopy?.(message.id, textContent);\n }, [message, callbacks]);\n\n const hasVisibleContent = message.content.some((block) => block.type === 'text' && block.text.length > 0);\n const isError = message.status === 'error';\n const isActive = isStreaming || isPending;\n\n // Live status derived from the latest content block. Shown for the entire\n // streaming duration (\"latest only\") and only disappears once the message\n // finishes streaming.\n const statusLabel = isActive ? getConversationStatusLabel(message) : null;\n\n // Before any answer text exists, the status stands alone (the initial\n // \"Working…\" / \"Searching knowledge base\" state).\n if (!hasVisibleContent && statusLabel) {\n return <RippleStatus text={statusLabel} className={className} />;\n }\n\n return (\n <div className={cn('flex gap-3', className)}>\n <div className=\"flex-1 min-w-0\">\n <div className=\"space-y-1\">\n {isError ? (\n <BlockRenderer block={{ type: 'text', text: 'Sorry, something went wrong. Please try again.' }} />\n ) : (\n message.content.map((block, i) => (\n <BlockRenderer\n key={i}\n block={block}\n isStreaming={isStreaming}\n onCitationClick={callbacks.onCitationClick}\n />\n ))\n )}\n </div>\n\n {statusLabel && <RippleStatus text={statusLabel} className=\"mt-2\" />}\n\n {isCompleted && (\n <div className=\"mt-3 flex items-center gap-1\">\n <ActionBarButton tooltip=\"Copy\" onClick={handleCopy}>\n <Copy className=\"h-4 w-4\" />\n </ActionBarButton>\n </div>\n )}\n </div>\n </div>\n );\n};\nConversationMessageAssistant.displayName = 'ConversationMessageAssistant';\ninterface ActionBarButtonProps {\n children: React.ReactNode;\n tooltip: string;\n active?: boolean;\n onClick?: () => void;\n}\n\nconst ActionBarButton = ({ children, tooltip, active, onClick }: ActionBarButtonProps) => {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n className={cn(\n 'inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground',\n active && 'text-primary',\n )}\n onClick={onClick}\n >\n {children}\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">\n <p className=\"text-xs\">{tooltip}</p>\n </TooltipContent>\n </Tooltip>\n );\n};\nActionBarButton.displayName = 'ActionBarButton';","import React from 'react';\nimport {\n Browser,\n ChatsTeardrop,\n CircleNotch,\n File,\n FileDoc,\n FilePdf,\n FileText,\n Folder,\n Image,\n Video,\n X,\n} from '@phosphor-icons/react';\n\nimport type { ContextPill, ContextPillIconType } from './types';\n\ninterface ContextPillBadgeProps {\n pill: ContextPill;\n onRemove?: (pill: ContextPill) => void;\n}\n\nconst ICON_MAP: Record<ContextPillIconType, React.ElementType> = {\n image: Image,\n video: Video,\n pdf: FilePdf,\n doc: FileDoc,\n file: File,\n channel: ChatsTeardrop,\n collection: Folder,\n article: FileText,\n page: Browser,\n};\n\nexport const ContextPillBadge = ({ pill, onRemove }: ContextPillBadgeProps) => {\n const Icon = pill.iconType ? ICON_MAP[pill.iconType] : null;\n const fillPercent = pill.loading ? (pill.progress ?? 0) : 100;\n\n return (\n <span className=\"relative inline-flex items-center gap-0.5 overflow-hidden rounded-full border border-muted px-2 py-1 text-xs text-muted-foreground\">\n {/* Progress fill — same colour as the resting bg so it disappears when complete */}\n <span\n className=\"absolute inset-0 bg-muted transition-[width] duration-300 ease-out\"\n style={{ width: `${fillPercent}%` }}\n />\n {/* Content */}\n <span className=\"relative flex items-center gap-0.5\">\n {pill.loading ? (\n <CircleNotch className=\"h-3 w-3 shrink-0 mr-0.5 animate-spin\" />\n ) : (\n Icon && <Icon className=\"h-3 w-3 shrink-0 mr-0.5\" />\n )}\n {pill.label}\n {onRemove && (\n <button\n type=\"button\"\n className=\"ml-0.5 inline-flex h-3.5 w-3.5 items-center justify-center rounded-full hover:bg-muted-foreground/20\"\n onClick={() => onRemove(pill)}\n >\n <X className=\"h-2.5 w-2.5\" />\n </button>\n )}\n </span>\n </span>\n );\n};\n","import React from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { X } from '@phosphor-icons/react';\n\nimport { cn } from '../../lib/utils';\nimport type { FileAttachment, FileAttachmentBlock } from './types';\n\n// ---- Lightbox ----\n\ninterface LightboxProps {\n src: string;\n alt?: string;\n open: boolean;\n onClose: () => void;\n}\n\nfunction Lightbox({ src, alt, open, onClose }: LightboxProps) {\n return (\n <DialogPrimitive.Root\n open={open}\n onOpenChange={(o) => {\n if (!o) onClose();\n }}\n >\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay className=\"fixed inset-0 z-50 bg-black/80 cursor-zoom-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\" />\n <DialogPrimitive.Content\n className=\"fixed left-1/2 top-1/2 z-50 max-w-[calc(100vw-4rem)] max-h-[calc(100vh-4rem)] outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\"\n style={{ translate: '-50% -50%' }}\n aria-describedby={undefined}\n onPointerDownOutside={onClose}\n >\n <DialogPrimitive.Title className=\"sr-only\">{alt ?? 'Image preview'}</DialogPrimitive.Title>\n <img\n src={src}\n alt={alt ?? 'Attachment'}\n className=\"max-w-full max-h-full object-contain rounded-lg ring-1 ring-white/10\"\n />\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n );\n}\n\n// ---- Single thumbnail ----\n\ninterface ThumbnailProps {\n file?: File;\n url?: string;\n alt?: string;\n loading?: boolean;\n onRemove?: () => void;\n}\n\nfunction Thumbnail({ file, url, alt, loading, onRemove }: ThumbnailProps) {\n const [objectUrl, setObjectUrl] = React.useState<string | undefined>();\n const [lightboxOpen, setLightboxOpen] = React.useState(false);\n\n React.useEffect(() => {\n if (!file) return;\n const obj = URL.createObjectURL(file);\n setObjectUrl(obj);\n\n return () => URL.revokeObjectURL(obj);\n }, [file]);\n\n const src = url ?? objectUrl;\n if (!src) return null;\n\n return (\n <>\n <div className=\"relative group size-16 rounded-lg overflow-hidden flex-shrink-0 ring-1 ring-black/10 dark:ring-white/10\">\n <button\n type=\"button\"\n className=\"w-full h-full cursor-zoom-in\"\n onClick={() => setLightboxOpen(true)}\n disabled={loading}\n >\n <img src={src} alt={alt ?? 'Attachment'} className=\"w-full h-full object-cover\" />\n </button>\n {loading && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-black/40 pointer-events-none\">\n <div className=\"animate-spin rounded-full size-4 border-[2.5px] border-black/30 border-t-white\" />\n </div>\n )}\n {onRemove && (\n <button\n type=\"button\"\n onClick={onRemove}\n className=\"absolute top-0.5 right-0.5 p-0.5 rounded-full opacity-0 group-hover:opacity-100 transition-opacity bg-black/50 hover:bg-black/70\"\n >\n <X className=\"size-2.5 text-white\" aria-label=\"Remove\" />\n </button>\n )}\n </div>\n <Lightbox src={src} alt={alt} open={lightboxOpen} onClose={() => setLightboxOpen(false)} />\n </>\n );\n}\n\n// ---- Input (pending attachments) ----\n\ninterface InputImageThumbnailsProps {\n attachments: FileAttachment[];\n onRemove?: (attachment: FileAttachment) => void;\n className?: string;\n}\n\nexport function InputImageThumbnails({ attachments, onRemove, className }: InputImageThumbnailsProps) {\n const images = attachments.filter((a) => a.file.mimeType.startsWith('image/'));\n if (images.length === 0) return null;\n\n return (\n <div className={cn('flex flex-wrap gap-2', className)}>\n {images.map((a) => (\n <Thumbnail\n key={a.id}\n file={a.raw}\n url={a.file.url}\n alt={a.file.name}\n loading={a.loading}\n onRemove={onRemove ? () => onRemove(a) : undefined}\n />\n ))}\n </div>\n );\n}\n\n// ---- Message (sent blocks) ----\n\ninterface MessageImageThumbnailsProps {\n blocks: FileAttachmentBlock[];\n className?: string;\n}\n\nexport function MessageImageThumbnails({ blocks, className }: MessageImageThumbnailsProps) {\n const images = blocks.filter((b) => b.mimeType.startsWith('image/'));\n if (images.length === 0) return null;\n\n return (\n <div className={cn('flex flex-wrap gap-2', className)}>\n {images.map((b) => (\n <Thumbnail key={b.attachmentId} url={b.url} alt={b.fileName} />\n ))}\n </div>\n );\n}\n","import type { ContextPillIconType } from './types';\n\nexport function mimeTypeToIconType(mimeType: string): ContextPillIconType {\n if (mimeType.startsWith('image/')) return 'image';\n if (mimeType.startsWith('video/')) return 'video';\n if (mimeType === 'application/pdf') return 'pdf';\n if (mimeType === 'application/msword' || mimeType.includes('wordprocessingml')) return 'doc';\n\n return 'file';\n}\n","import React from 'react';\n\nimport { cn } from '../../lib/utils';\nimport type { AttachmentBlock, ContextPill, FileAttachmentBlock, Message, TextBlock } from './types';\nimport { ContextPillBadge } from './ContextPillBadge';\nimport { MessageImageThumbnails } from './AttachmentPreviews';\nimport { mimeTypeToIconType } from './attachmentUtils';\n\ninterface ConversationMessageUserProps {\n message: Message;\n className?: string;\n}\n\nfunction attachmentBlockKey(block: AttachmentBlock): string {\n switch (block.type) {\n case 'file':\n return `file:${block.attachmentId}`;\n case 'page':\n return `page:${block.url}`;\n case 'entity':\n return `entity:${block.entity.type}:${block.entity.id}`;\n }\n}\n\nfunction attachmentBlockToPill(block: AttachmentBlock): ContextPill {\n switch (block.type) {\n case 'file':\n return {\n id: block.attachmentId,\n label: block.fileName,\n iconType: mimeTypeToIconType(block.mimeType),\n };\n case 'page':\n return { id: block.url, label: block.title, iconType: 'page' };\n case 'entity':\n return { id: block.entity.id, label: block.entity.title, iconType: block.entity.type };\n }\n}\n\nexport const ConversationMessageUser = ({ message, className }: ConversationMessageUserProps) => {\n const textBlocks = message.content.filter((b): b is TextBlock => b.type === 'text');\n const imageBlocks = message.content.filter(\n (b): b is FileAttachmentBlock => b.type === 'file' && b.mimeType.startsWith('image/'),\n );\n const otherAttachmentBlocks = message.content.filter((b): b is AttachmentBlock => {\n if (b.type === 'text') return false;\n if (b.type === 'file' && b.mimeType.startsWith('image/')) return false;\n\n return true;\n });\n\n const paragraphs = textBlocks\n .map((b) => b.text)\n .join('\\n')\n .split(/\\n\\n+/)\n .filter((p) => p.trim().length > 0);\n\n return (\n <div className={cn('flex justify-end', className)}>\n <div className=\"max-w-[85%] rounded bg-dark-200 px-2 py-2.5 text-foreground flex flex-col gap-3\">\n <MessageImageThumbnails blocks={imageBlocks} />\n {otherAttachmentBlocks.length > 0 && (\n <div className=\"flex flex-wrap gap-1.5\">\n {otherAttachmentBlocks.map((block) => (\n <ContextPillBadge key={attachmentBlockKey(block)} pill={attachmentBlockToPill(block)} />\n ))}\n </div>\n )}\n {paragraphs.length > 0 && (\n <div>\n {paragraphs.map((paragraph, i) => (\n <p key={i} className=\"m-0 mb-4 whitespace-pre-wrap last:mb-0\">\n {paragraph}\n </p>\n ))}\n </div>\n )}\n </div>\n </div>\n );\n};\nConversationMessageUser.displayName = 'ConversationMessageUser';","import React from 'react';\n\nimport { ConversationMessageAssistant } from './ConversationMessageAssistant';\nimport { ConversationMessageUser } from './ConversationMessageUser';\nimport type { Message } from './types';\n\ninterface ConversationMessageProps {\n message: Message;\n className?: string;\n}\n\nexport const ConversationMessage = ({ message, className }: ConversationMessageProps) => {\n switch (message.role) {\n case 'ai':\n return <ConversationMessageAssistant message={message} className={className} />;\n case 'user':\n return <ConversationMessageUser message={message} className={className} />;\n default:\n return null;\n }\n};\n","import React, { useRef, useEffect } from 'react';\n\nimport { ScrollArea } from '../ui/scroll-area';\nimport { cn } from '../../lib/utils';\nimport { useConversation } from './ConversationContext';\nimport { ConversationMessage } from './ConversationMessage';\n\nexport interface ConversationMessagesProps {\n className?: string;\n bottomPadding?: number;\n onContentBehind?: (isBehind: boolean) => void;\n onScrolledFromTop?: (isScrolled: boolean) => void;\n}\n\nexport const ConversationMessages = ({\n className,\n bottomPadding = 0,\n onContentBehind,\n onScrolledFromTop,\n}: ConversationMessagesProps) => {\n const { messages, reportScrolledFromTop } = useConversation();\n const handleScrolledFromTop = onScrolledFromTop ?? reportScrolledFromTop;\n const viewportRef = useRef<HTMLDivElement>(null);\n const sentinelRef = useRef<HTMLDivElement>(null);\n\n // Auto-scroll to bottom when messages change\n useEffect(() => {\n const viewport = viewportRef.current;\n if (viewport) {\n viewport.scrollTop = viewport.scrollHeight;\n }\n }, [messages]);\n\n useEffect(() => {\n const viewport = viewportRef.current;\n if (!viewport || !handleScrolledFromTop) return;\n\n const handleScroll = () => {\n handleScrolledFromTop(viewport.scrollTop > 0);\n };\n\n viewport.addEventListener('scroll', handleScroll, { passive: true });\n handleScroll();\n\n return () => viewport.removeEventListener('scroll', handleScroll);\n }, [handleScrolledFromTop]);\n\n // IntersectionObserver on sentinel to detect content behind the input\n useEffect(() => {\n const sentinel = sentinelRef.current;\n const viewport = viewportRef.current;\n if (!sentinel || !viewport || !onContentBehind) return;\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry) onContentBehind(!entry.isIntersecting);\n },\n { root: viewport, threshold: 0, rootMargin: `0px 0px -${bottomPadding}px 0px` },\n );\n observer.observe(sentinel);\n\n return () => observer.disconnect();\n }, [onContentBehind, bottomPadding]);\n\n return (\n <ScrollArea ref={viewportRef} className={cn('h-full', className)}>\n <div className=\"py-4 px-6 flex flex-col gap-4\">\n {messages.map((message) => (\n <ConversationMessage key={message.id} message={message} />\n ))}\n <div ref={sentinelRef} className=\"h-px -mt-4\" />\n </div>\n <div style={{ height: bottomPadding + 8 }} />\n </ScrollArea>\n );\n};\n\nConversationMessages.displayName = 'ConversationMessages';\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{createContext as n,useContext as e}from\"react\";const r=n(null);function t(n,e){let r=null;return null!=n&&(r=n[1]),{getTheme:function(){return null!=e?e:null!=r?r.getTheme():null}}}function o(){const n=e(r);return null==n&&function(n,...e){const r=new URL(\"https://lexical.dev/docs/error\"),t=new URLSearchParams;t.append(\"code\",n);for(const n of e)t.append(\"v\",n);throw r.search=t.toString(),Error(`Minified Lexical error #${n}; visit ${r.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(8),n}export{r as LexicalComposerContext,t as createLexicalComposerContext,o as useLexicalComposerContext};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{createLexicalComposerContext as e,LexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{createEditor as o,$getRoot as n,$createParagraphNode as i,$getSelection as r,HISTORY_MERGE_TAG as a}from\"lexical\";import{useLayoutEffect as c,useEffect as l,useMemo as d}from\"react\";import{jsx as s}from\"react/jsx-runtime\";const m=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,u=m?c:l,p={tag:a};function f({initialConfig:a,children:c}){const l=d(()=>{const{theme:t,namespace:c,nodes:l,onError:d,editorState:s,html:u}=a,f=e(null,t),E=o({editable:a.editable,html:u,namespace:c,nodes:l,onError:e=>d(e,E),theme:t});return function(e,t){if(null===t)return;if(void 0===t)e.update(()=>{const t=n();if(t.isEmpty()){const o=i();t.append(o);const n=m?document.activeElement:null;(null!==r()||null!==n&&n===e.getRootElement())&&o.select()}},p);else if(null!==t)switch(typeof t){case\"string\":{const o=e.parseEditorState(t);e.setEditorState(o,p);break}case\"object\":e.setEditorState(t,p);break;case\"function\":e.update(()=>{n().isEmpty()&&t(e)},p)}}(E,s),[E,f]},[]);return u(()=>{const e=a.editable,[t]=l;t.setEditable(void 0===e||e)},[]),s(t.Provider,{value:l,children:c})}export{f as LexicalComposer};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as n,useEffect as t,useMemo as i,useState as r,useRef as o}from\"react\";const c=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:t;function u(e){return{initialValueFn:()=>e.isEditable(),subscribe:n=>e.registerEditableListener(n)}}function a(){return function(n){const[t]=e(),u=i(()=>n(t),[t,n]),[a,l]=r(()=>u.initialValueFn()),d=o(a);return c(()=>{const{initialValueFn:e,subscribe:n}=u,t=e();return d.current!==t&&(d.current=t,l(t)),n(e=>{d.current=e,l(e)})},[u,n]),a}(u)}export{a as useLexicalEditable};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$isTextNode as e,$getEditor as t,$isRootNode as n,$isElementNode as o,$getNodeByKey as l,$getPreviousSelection as r,$createTextNode as s,$isRangeSelection as i,$getSelection as c,$caretRangeFromSelection as f,$isTokenOrSegmented as u,$getCharacterOffsets as g,$cloneWithPropertiesEphemeral as a,$createRangeSelection as d,$findMatchingParent as p,INTERNAL_$isBlock as h,$setSelection as y,$caretFromPoint as m,$isExtendableTextPointCaret as S,$extendCaretToRange as x,$isChildCaret as T,$isDecoratorNode as w,$isRootOrShadowRoot as N,$hasAncestor as v,$isLeafNode as C}from\"lexical\";export{$cloneWithProperties,$selectAll}from\"lexical\";function K(e,...t){const n=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",e);for(const e of t)o.append(\"v\",e);throw n.search=o.toString(),Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const E=new Map;function P(e){let t=e;for(;null!=t;){if(t.nodeType===Node.TEXT_NODE)return t;t=t.firstChild}return null}function k(e){const t=e.parentNode;if(null==t)throw new Error(\"Should never happen\");return[t,Array.from(t.childNodes).indexOf(e)]}function I(t,n,o,l,r){const s=n.getKey(),i=l.getKey(),c=document.createRange();let f=t.getElementByKey(s),u=t.getElementByKey(i),g=o,a=r;if(e(n)&&(f=P(f)),e(l)&&(u=P(u)),void 0===n||void 0===l||null===f||null===u)return null;\"BR\"===f.nodeName&&([f,g]=k(f)),\"BR\"===u.nodeName&&([u,a]=k(u));const d=f.firstChild;f===u&&null!=d&&\"BR\"===d.nodeName&&0===g&&0===a&&(a=1);try{c.setStart(f,g),c.setEnd(u,a)}catch(e){return null}return!c.collapsed||g===a&&s===i||(c.setStart(u,a),c.setEnd(f,g)),c}function B(e,t){const n=e.getRootElement();if(null===n)return[];const o=n.getBoundingClientRect(),l=getComputedStyle(n),r=parseFloat(l.paddingLeft)+parseFloat(l.paddingRight),s=Array.from(t.getClientRects());let i,c=s.length;s.sort((e,t)=>{const n=e.top-t.top;return Math.abs(n)<=3?e.left-t.left:n});for(let e=0;e<c;e++){const t=s[e],n=i&&i.top<=t.top&&i.top+i.height>t.top&&i.left+i.width>t.left,l=t.width+r===o.width;n||l?(s.splice(e--,1),c--):i=t}return s}function F(e){const t={};if(!e)return t;const n=e.split(\";\");for(const e of n)if(\"\"!==e){const[n,o]=e.split(/:([^]+)/);n&&o&&(t[n.trim()]=o.trim())}return t}function b(e){let t=E.get(e);return void 0===t&&(t=F(e),E.set(e,t)),t}function R(e){let t=\"\";for(const n in e)n&&(t+=`${n}: ${e[n]};`);return t}function z(e){const n=t().getElementByKey(e.getKey());if(null===n)return null;const o=n.ownerDocument.defaultView;return null===o?null:o.getComputedStyle(n)}function O(e){return z(n(e)?e:e.getParentOrThrow())}function A(e){const t=O(e);return null!==t&&\"rtl\"===t.direction}function M(e,t,n=\"self\"){const o=e.getStartEndPoints();if(t.isSelected(e)&&!u(t)&&null!==o){const[l,r]=o,s=e.isBackward(),i=l.getNode(),c=r.getNode(),f=t.is(i),u=t.is(c);if(f||u){const[o,l]=g(e),r=i.is(c),f=t.is(s?c:i),u=t.is(s?i:c);let d,p=0;if(r)p=o>l?l:o,d=o>l?o:l;else if(f){p=s?l:o,d=void 0}else if(u){p=0,d=s?o:l}const h=t.__text.slice(p,d);h!==t.__text&&(\"clone\"===n&&(t=a(t)),t.__text=h)}}return t}function _(e){if(\"text\"===e.type)return e.offset===e.getNode().getTextContentSize();const t=e.getNode();return o(t)||K(177),e.offset===t.getChildrenSize()}function L(t,c,f){let u=c.getNode(),g=f;if(o(u)){const e=u.getDescendantByIndex(c.offset);null!==e&&(u=e)}for(;g>0&&null!==u;){if(o(u)){const e=u.getLastDescendant();null!==e&&(u=e)}let f=u.getPreviousSibling(),a=0;if(null===f){let e=u.getParentOrThrow(),t=e.getPreviousSibling();for(;null===t;){if(e=e.getParent(),null===e){f=null;break}t=e.getPreviousSibling()}null!==e&&(a=e.isInline()?0:2,f=t)}let d=u.getTextContent();\"\"===d&&o(u)&&!u.isInline()&&(d=\"\\n\\n\");const p=d.length;if(!e(u)||g>=p){const e=u.getParent();u.remove(),null==e||0!==e.getChildrenSize()||n(e)||e.remove(),g-=p+a,u=f}else{const n=u.getKey(),o=t.getEditorState().read(()=>{const t=l(n);return e(t)&&t.isSimpleText()?t.getTextContent():null}),f=p-g,a=d.slice(0,f);if(null!==o&&o!==d){const e=r();let t=u;if(u.isSimpleText())u.setTextContent(o);else{const e=s(o);u.replace(e),t=e}if(i(e)&&e.isCollapsed()){const n=e.anchor.offset;t.select(n,n)}}else if(u.isSimpleText()){const e=c.key===n;let t=c.offset;t<g&&(t=p);const o=e?t-g:0,l=e?t:f;if(e&&0===o){const[e]=u.splitText(o,l);e.remove()}else{const[,e]=u.splitText(o,l);e.remove()}}else{const e=s(a);u.replace(e)}g=0}}}function $(e){const t=e.getStyle(),n=F(t);E.set(t,n)}function D(t,n){(i(t)?t.isCollapsed():e(t)||o(t))||K(280);const l=b(i(t)?t.style:e(t)?t.getStyle():t.getTextStyle()),r=Object.entries(n).reduce((e,[n,o])=>(\"function\"==typeof o?e[n]=o(l[n],t):null===o?delete e[n]:e[n]=o,e),{...l}),s=R(r);i(t)||e(t)?t.setStyle(s):t.setTextStyle(s),E.set(s,r)}function U(e,t){if(i(e)&&e.isCollapsed()){D(e,t);const n=e.anchor.getNode();o(n)&&n.isEmpty()&&D(n,t)}j(e=>{D(e,t)});const n=e.getNodes();if(n.length>0){const e=new Set;for(const l of n){if(!o(l)||!l.canBeEmpty()||0!==l.getChildrenSize())continue;const n=l.getKey();e.has(n)||(e.add(n),D(l,t))}}}function j(t){const n=c();if(!n)return;const o=new Map,l=e=>o.get(e.getKey())||[0,e.getTextContentSize()];if(i(n))for(const e of f(n).getTextSlices())e&&o.set(e.caret.origin.getKey(),e.getSliceIndices());const r=n.getNodes();for(const n of r){if(!e(n)||!n.canHaveFormat())continue;const[o,r]=l(n);if(r!==o)if(u(n)||0===o&&r===n.getTextContentSize())t(n);else{t(n.splitText(o,r)[0===o?0:1])}}i(n)&&\"text\"===n.anchor.type&&\"text\"===n.focus.type&&n.anchor.key===n.focus.key&&H(n)}function H(e){if(e.isBackward()){const{anchor:t,focus:n}=e,{key:o,offset:l,type:r}=t;t.set(n.key,n.offset,n.type),n.set(o,l,r)}}function V(e,t){const n=e.getFormatType(),o=e.getIndent();n!==t.getFormatType()&&t.setFormat(n),o!==t.getIndent()&&t.setIndent(o)}function W(e,t,n=V){if(null===e)return;const l=e.getStartEndPoints(),r=new Map;let s=null;if(l){const[e,t]=l;s=d(),s.anchor.set(e.key,e.offset,e.type),s.focus.set(t.key,t.offset,t.type);const n=p(e.getNode(),h),i=p(t.getNode(),h);o(n)&&r.set(n.getKey(),n),o(i)&&r.set(i.getKey(),i)}for(const t of e.getNodes())if(o(t)&&h(t))r.set(t.getKey(),t);else if(null===l){const e=p(t,h);o(e)&&r.set(e.getKey(),e)}for(const[e,o]of r){const l=t();n(o,l),o.replace(l,!0),s&&(e===s.anchor.key&&s.anchor.set(l.getKey(),s.anchor.offset,s.anchor.type),e===s.focus.key&&s.focus.set(l.getKey(),s.focus.offset,s.focus.type))}s&&e.is(c())&&y(s)}function X(e){return e.getNode().isAttached()}function q(e){let t=e;for(;null!==t&&!N(t);){const e=t.getLatest(),n=t.getParent();0===e.getChildrenSize()&&t.remove(!0),t=n}}function G(e,t,n=null){const o=e.getStartEndPoints(),l=o?o[0]:null,r=e.getNodes(),s=r.length;if(null!==l&&(0===s||1===s&&\"element\"===l.type&&0===l.getNode().getChildrenSize())){const e=\"text\"===l.type?l.getNode().getParentOrThrow():l.getNode(),o=e.getChildren();let r=t();return r.setFormat(e.getFormatType()),r.setIndent(e.getIndent()),o.forEach(e=>r.append(e)),n&&(r=n.append(r)),void e.replace(r)}let i=null,c=[];for(let o=0;o<s;o++){const l=r[o];N(l)?(J(e,c,c.length,t,n),c=[],i=l):null===i||null!==i&&v(l,i)?c.push(l):(J(e,c,c.length,t,n),c=[l])}J(e,c,c.length,t,n)}function J(e,t,n,l,s=null){if(0===t.length)return;const c=t[0],f=new Map,u=[];let g=o(c)?c:c.getParentOrThrow();g.isInline()&&(g=g.getParentOrThrow());let a=!1;for(;null!==g;){const e=g.getPreviousSibling();if(null!==e){g=e,a=!0;break}if(g=g.getParentOrThrow(),N(g))break}const d=new Set;for(let e=0;e<n;e++){const n=t[e];o(n)&&0===n.getChildrenSize()&&d.add(n.getKey())}const p=new Set;for(let e=0;e<n;e++){const n=t[e];let r=n.getParent();if(null!==r&&r.isInline()&&(r=r.getParent()),null!==r&&C(n)&&!p.has(n.getKey())){const e=r.getKey();if(void 0===f.get(e)){const t=l();t.setFormat(r.getFormatType()),t.setIndent(r.getIndent()),u.push(t),f.set(e,t),r.getChildren().forEach(e=>{t.append(e),p.add(e.getKey()),o(e)&&e.getChildrenKeys().forEach(e=>p.add(e))}),q(r)}}else if(d.has(n.getKey())){o(n)||K(179);const e=l();e.setFormat(n.getFormatType()),e.setIndent(n.getIndent()),u.push(e),n.remove(!0)}}if(null!==s)for(let e=0;e<u.length;e++){const t=u[e];s.append(t)}let h=null;if(N(g))if(a)if(null!==s)g.insertAfter(s);else for(let e=u.length-1;e>=0;e--){const t=u[e];g.insertAfter(t)}else{const e=g.getFirstChild();if(o(e)&&(g=e),null===e)if(s)g.append(s);else for(let e=0;e<u.length;e++){const t=u[e];g.append(t),h=t}else if(null!==s)e.insertBefore(s);else for(let t=0;t<u.length;t++){const n=u[t];e.insertBefore(n),h=n}}else if(s)g.insertAfter(s);else for(let e=u.length-1;e>=0;e--){const t=u[e];g.insertAfter(t),h=t}const m=r();i(m)&&X(m.anchor)&&X(m.focus)?y(m.clone()):null!==h?h.selectEnd():e.dirty=!0}function Q(e){const t=Y(e);return null!==t&&\"vertical-rl\"===t.writingMode}function Y(e){const t=e.anchor.getNode();return o(t)?z(t):O(t)}function Z(e,t){let n=Q(e)?!t:t;te(e)&&(n=!n);const l=m(e.focus,n?\"previous\":\"next\");if(S(l))return!1;for(const e of x(l)){if(T(e))return!e.origin.isInline();if(!o(e.origin)){if(w(e.origin))return!0;break}}return!1}function ee(e,t,n,o){e.modify(t?\"extend\":\"move\",n,o)}function te(e){const t=Y(e);return null!==t&&\"rtl\"===t.direction}function ne(e,t,n){const o=te(e);let l;l=Q(e)||o?!n:n,ee(e,t,l,\"character\")}function oe(e,t,n){const o=b(e.getStyle());return null!==o&&o[t]||n}function le(t,n,o=\"\"){let l=null;const r=t.getNodes(),s=t.anchor,c=t.focus,f=t.isBackward(),u=f?c.offset:s.offset,g=f?c.getNode():s.getNode();if(i(t)&&t.isCollapsed()&&\"\"!==t.style){const e=b(t.style);if(null!==e&&n in e)return e[n]}for(let t=0;t<r.length;t++){const s=r[t];if((0===t||0!==u||!s.is(g))&&e(s)){const e=oe(s,n,o);if(null===l)l=e;else if(l!==e){l=\"\";break}}}return null===l?o:l}const re=L;export{$ as $addNodeStyle,V as $copyBlockFormatIndent,H as $ensureForwardRangeSelection,j as $forEachSelectedTextNode,z as $getComputedStyleForElement,O as $getComputedStyleForParent,le as $getSelectionStyleValueForProperty,_ as $isAtNodeEnd,te as $isParentElementRTL,A as $isParentRTL,ee as $moveCaretSelection,ne as $moveCharacter,U as $patchStyleText,W as $setBlocksType,Z as $shouldOverrideDefaultCharacterSelection,M as $sliceSelectedTextNodeContent,L as $trimTextContentFromAnchor,G as $wrapNodes,I as createDOMRange,B as createRectsFromDOMRange,R as getCSSFromStyleObject,b as getStyleObjectFromCSS,re as trimTextContentFromAnchor};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{isHTMLElement as t,mergeRegister as e,$getSelection as n,$isRangeSelection as o,$isElementNode as r,getDOMTextNode as i,$getAdjacentSiblingOrParentSiblingCaret as l,$getSiblingCaret as s,$getChildCaretOrSelf as u,$findMatchingParent as c,$cloneWithProperties as a,$setSelection as f,$getPreviousSelection as d,$caretFromPoint as g,$getChildCaret as p,$getRoot as m,$createParagraphNode as h,$getAdjacentChildCaret as v,$isChildCaret as y,$normalizeCaret as w,$setSelectionFromCaretRange as E,$getCollapsedCaretRange as x,$getCaretInDirection as S,$splitAtPointCaretNext as C,$isTextPointCaret as A,$rewindSiblingCaret as N,$getState as b,$setState as P,makeStepwiseIterator as L,$isSiblingCaret as M}from\"lexical\";export{$findMatchingParent,$getAdjacentSiblingOrParentSiblingCaret,$splitNode,addClassNamesToElement,isBlockDomNode,isHTMLAnchorElement,isHTMLElement,isInlineDomNode,mergeRegister,removeClassNamesFromElement}from\"lexical\";import{createRectsFromDOMRange as R}from\"@lexical/selection\";function T(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",t);for(const t of e)o.append(\"v\",t);throw n.search=o.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const B=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,_=B&&\"documentMode\"in document?document.documentMode:null,K=B&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),k=B&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),$=!(!B||!(\"InputEvent\"in window)||_)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),I=B&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),O=B&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,H=B&&/Android/.test(navigator.userAgent),j=B&&/^(?=.*Chrome).*/i.test(navigator.userAgent),D=B&&H&&j,F=B&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&K&&!j;function z(t){return`${t}px`}const U={attributes:!0,characterData:!0,childList:!0,subtree:!0};function V(e,n,o){let r=null,i=null,l=null,s=[];const u=document.createElement(\"div\");function c(){null===r&&T(182),null===i&&T(183);const{left:t,top:l}=i.getBoundingClientRect(),c=R(e,n);var a,f;u.isConnected||(f=u,(a=i).insertBefore(f,a.firstChild));let d=!1;for(let e=0;e<c.length;e++){const n=c[e],o=s[e]||document.createElement(\"div\"),r=o.style;\"absolute\"!==r.position&&(r.position=\"absolute\",d=!0);const i=z(n.left-t);r.left!==i&&(r.left=i,d=!0);const a=z(n.top-l);r.top!==a&&(o.style.top=a,d=!0);const f=z(n.width);r.width!==f&&(o.style.width=f,d=!0);const g=z(n.height);r.height!==g&&(o.style.height=g,d=!0),o.parentNode!==u&&(u.append(o),d=!0),s[e]=o}for(;s.length>c.length;)s.pop();d&&o(s)}function a(){i=null,r=null,null!==l&&l.disconnect(),l=null,u.remove();for(const t of s)t.remove();s=[]}u.style.position=\"relative\";const f=e.registerRootListener(function n(){const o=e.getRootElement();if(null===o)return a();const s=o.parentElement;if(!t(s))return a();a(),r=o,i=s,l=new MutationObserver(t=>{const o=e.getRootElement(),l=o&&o.parentElement;if(o!==r||l!==i)return n();for(const e of t)if(!u.contains(e.target))return c()}),l.observe(s,U),c()});return()=>{f(),a()}}function W(t,e,n){if(\"text\"!==t.type&&r(e)){const o=e.getDOMSlot(n);return[o.element,o.getFirstChildOffset()+t.offset]}return[i(n)||n,t.offset]}function G(t,r){let i=null,l=null,s=null,u=null,c=null,a=null,f=()=>{};function d(e){e.read(()=>{const e=n();if(!o(e))return i=null,s=null,u=null,a=null,f(),void(f=()=>{});const[d,g]=function(t){const e=t.getStartEndPoints();return t.isBackward()?[e[1],e[0]]:e}(e),p=d.getNode(),m=p.getKey(),h=d.offset,v=g.getNode(),y=v.getKey(),w=g.offset,E=t.getElementByKey(m),x=t.getElementByKey(y),S=null===i||E!==l||h!==s||m!==i.getKey(),C=null===u||x!==c||w!==a||y!==u.getKey();if((S||C)&&null!==E&&null!==x){const e=function(t,e,n,o,r,i,l){const s=(t._window?t._window.document:document).createRange();return s.setStart(...W(e,n,o)),s.setEnd(...W(r,i,l)),s}(t,d,p,E,g,v,x);f(),f=V(t,e,t=>{if(void 0===r)for(const e of t){const t=e.style;\"Highlight\"!==t.background&&(t.background=\"Highlight\"),\"HighlightText\"!==t.color&&(t.color=\"HighlightText\"),t.marginTop!==z(-1.5)&&(t.marginTop=z(-1.5)),t.paddingTop!==z(4)&&(t.paddingTop=z(4)),t.paddingBottom!==z(0)&&(t.paddingBottom=z(0))}else r(t)})}i=p,l=E,s=h,u=v,c=x,a=w})}return d(t.getEditorState()),e(t.registerUpdateListener(({editorState:t})=>d(t)),()=>{f()})}function q(t,e){let n=null;const o=()=>{const o=getSelection(),r=o&&o.anchorNode,i=t.getRootElement();null!==r&&null!==i&&i.contains(r)?null!==n&&(n(),n=null):null===n&&(n=G(t,e))};return document.addEventListener(\"selectionchange\",o),()=>{null!==n&&n(),document.removeEventListener(\"selectionchange\",o)}}const J=$,Q=B,X=H,Y=D,Z=K,tt=F,et=j,nt=k,ot=O,rt=I;function it(t,e){for(const n of e)if(t.type.startsWith(n))return!0;return!1}function lt(t,e){const n=t[Symbol.iterator]();return new Promise((t,o)=>{const r=[],i=()=>{const{done:l,value:s}=n.next();if(l)return t(r);const u=new FileReader;u.addEventListener(\"error\",o),u.addEventListener(\"load\",()=>{const t=u.result;\"string\"==typeof t&&r.push({file:s,result:t}),i()}),it(s,e)?u.readAsDataURL(s):i()};i()})}function st(t,e){return Array.from(at(t,e))}function ut(t){return t?t.getAdjacentCaret():null}function ct(t,e){return Array.from(ht(t,e))}function at(t,e){return dt(\"next\",t,e)}function ft(t,e){const n=l(s(t,e));return n&&n[0]}function dt(t,e,n){const o=m(),i=e||o,c=r(i)?p(i,t):s(i,t),a=pt(i),f=n?v(u(s(n,t)))||ft(n,t):ft(i,t);let d=a;return L({hasNext:t=>null!==t,initial:c,map:t=>({depth:d,node:t.origin}),step:t=>{if(t.isSameNodeCaret(f))return null;y(t)&&d++;const e=l(t);return!e||e[0].isSameNodeCaret(f)?null:(d+=e[1],e[0])}})}function gt(t){const e=l(s(t,\"next\"));return e&&[e[0].origin,e[1]]}function pt(t){let e=-1;for(let n=t;null!==n;n=n.getParent())e++;return e}function mt(t){const e=u(s(t,\"previous\")),n=l(e,\"root\");return n&&n[0].origin}function ht(t,e){return dt(\"previous\",t,e)}function vt(t,e){let n=t;for(;null!=n;){if(n instanceof e)return n;n=n.getParent()}return null}function yt(t){const e=c(t,t=>r(t)&&!t.isInline());return r(e)||T(4,t.__key),e}function wt(t,e,n,o){const r=t=>t instanceof e;return t.registerNodeTransform(e,t=>{const e=(t=>{const e=t.getChildren();for(let t=0;t<e.length;t++){const n=e[t];if(r(n))return null}let n=t,o=t;for(;null!==n;)if(o=n,n=n.getParent(),r(n))return{child:o,parent:n};return null})(t);if(null!==e){const{child:r,parent:i}=e;if(r.is(t)){o(i,t);const e=r.getNextSiblings(),l=e.length;if(i.insertAfter(r),0!==l){const t=n(i);r.insertAfter(t);for(let n=0;n<l;n++)t.append(e[n])}i.canBeEmpty()||0!==i.getChildrenSize()||i.remove()}}})}function Et(t,e){const n=new Map,o=t._pendingEditorState;for(const[t,o]of e._nodeMap)n.set(t,a(o));o&&(o._nodeMap=n),t._dirtyType=2;const r=e._selection;f(null===r?null:r.clone())}function xt(t){const e=n()||d();let r;if(o(e))r=g(e.focus,\"next\");else{if(null!=e){const t=e.getNodes(),n=t[t.length-1];n&&(r=s(n,\"next\"))}r=r||p(m(),\"previous\").getFlipped().insert(h())}const i=St(t,r),l=v(i),u=y(l)?w(l):i;return E(x(u)),t.getLatest()}function St(t,e,n){let o=S(e,\"next\");for(let t=o;t;t=C(t,n))o=t;return A(o)&&T(283),o.insert(t.isInline()?h().append(t):t),S(s(t.getLatest(),\"next\"),e.direction)}function Ct(t,e){const n=e();return t.replace(n),n.append(t),n}function At(t,e){return null!==t&&Object.getPrototypeOf(t).constructor.name===e.name}function Nt(t,e){const n=[];for(let o=0;o<t.length;o++){const r=e(t[o]);null!==r&&n.push(r)}return n}function bt(t){const e=n();if(!o(e))return!1;const i=new Set,l=e.getNodes();for(let e=0;e<l.length;e++){const n=l[e],o=n.getKey();if(i.has(o))continue;const s=c(n,t=>r(t)&&!t.isInline());if(null===s)continue;const u=s.getKey();s.canIndent()&&!i.has(u)&&(i.add(u),t(s))}return i.size>0}function Pt(t,e){p(t,\"next\").insert(e)}let Lt=!(nt||!Q)&&void 0;function Mt(t,e=!1){let n=1;if(function(){if(void 0===Lt){const t=document.createElement(\"div\");t.style.cssText=\"position: absolute; opacity: 0; width: 100px; left: -1000px;\",document.body.appendChild(t);const e=t.getBoundingClientRect();t.style.setProperty(\"zoom\",\"2\"),Lt=t.getBoundingClientRect().width===e.width,document.body.removeChild(t)}return Lt}()||e)for(;t;)n*=Number(window.getComputedStyle(t).getPropertyValue(\"zoom\")),t=t.parentElement;return n}function Rt(t){return null!==t._parentEditor}function Tt(t,e){return Bt(t,e,null)}function Bt(t,e,n){let o=!1;for(const i of kt(t))e(i)?null!==n&&n(i):(o=!0,r(i)&&Bt(i,e,n||(t=>i.insertAfter(t))),i.remove());return o}function _t(t,e){const n=[],o=Array.from(t).reverse();for(let t=o.pop();void 0!==t;t=o.pop())if(e(t))n.push(t);else if(r(t))for(const e of kt(t))o.push(e);return n}function Kt(t){return $t(p(t,\"next\"))}function kt(t){return $t(p(t,\"previous\"))}function $t(t){return L({hasNext:M,initial:t.getAdjacentCaret(),map:t=>t.origin.getLatest(),step:t=>t.getAdjacentCaret()})}function It(t){N(s(t,\"next\")).splice(1,t.getChildren())}function Ot(t){const e=e=>b(e,t),n=(e,n)=>P(e,t,n);return{$get:e,$set:n,accessors:[e,n],makeGetterMethod:()=>function(){return e(this)},makeSetterMethod:()=>function(t){return n(this,t)},stateConfig:t}}export{_t as $descendantsMatching,st as $dfs,at as $dfsIterator,Nt as $filter,Kt as $firstToLastIterator,ut as $getAdjacentCaret,pt as $getDepth,yt as $getNearestBlockElementAncestorOrThrow,vt as $getNearestNodeOfType,mt as $getNextRightPreorderNode,gt as $getNextSiblingOrParentSibling,bt as $handleIndentAndOutdent,Pt as $insertFirst,xt as $insertNodeToNearestRoot,St as $insertNodeToNearestRootAtCaret,Rt as $isEditorIsNestedEditor,kt as $lastToFirstIterator,Et as $restoreEditorState,ct as $reverseDfs,ht as $reverseDfsIterator,Tt as $unwrapAndFilterDescendants,It as $unwrapNode,Ct as $wrapNodeInElement,J as CAN_USE_BEFORE_INPUT,Q as CAN_USE_DOM,X as IS_ANDROID,Y as IS_ANDROID_CHROME,Z as IS_APPLE,tt as IS_APPLE_WEBKIT,et as IS_CHROME,nt as IS_FIREFOX,ot as IS_IOS,rt as IS_SAFARI,Mt as calculateZoomLevel,it as isMimeType,Ot as makeStateWrapper,G as markSelection,lt as mediaFileReader,At as objectKlassEquals,V as positionNodeOnRange,wt as registerNestedElementResolver,q as selectionAlwaysOnDisplay};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{defineExtension as t,safeCast as e,CLEAR_EDITOR_COMMAND as n,COMMAND_PRIORITY_EDITOR as i,$getRoot as o,$getSelection as s,$createParagraphNode as r,$isRangeSelection as c,FORMAT_TEXT_COMMAND as a,$isNodeSelection as d,COMMAND_PRIORITY_LOW as u,DecoratorNode as f,createState as h,$getState as l,toggleTextFormatType as g,$setState as p,TEXT_TYPE_TO_FORMAT as m,shallowMergeConfig as v,RootNode as x,TextNode as y,LineBreakNode as S,TabNode as E,ParagraphNode as b,$isEditorState as w,HISTORY_MERGE_TAG as N,createEditor as O,mergeRegister as R,$getNodeByKey as C,createCommand as D,$create as M,CLICK_COMMAND as F,isDOMNode as I,$getNodeFromDOMNode as _,addClassNamesToElement as j,$createNodeSelection as A,$setSelection as k,removeClassNamesFromElement as P,KEY_TAB_COMMAND as K,OUTDENT_CONTENT_COMMAND as $,INDENT_CONTENT_COMMAND as z,INSERT_TAB_COMMAND as U,COMMAND_PRIORITY_CRITICAL as L,$isBlockElementNode as T,$createRangeSelection as B,$normalizeSelection__EXPERIMENTAL as W}from\"lexical\";export{configExtension,declarePeerDependency,defineExtension,safeCast,shallowMergeConfig}from\"lexical\";import{$handleIndentAndOutdent as G,$getNearestBlockElementAncestorOrThrow as V}from\"@lexical/utils\";const Z=Symbol.for(\"preact-signals\");function J(){if(Y>1)return void Y--;let t,e=!1;for(;void 0!==Q;){let n=Q;for(Q=void 0,tt++;void 0!==n;){const i=n.o;if(n.o=void 0,n.f&=-3,!(8&n.f)&&st(n))try{n.c()}catch(n){e||(t=n,e=!0)}n=i}}if(tt=0,Y--,e)throw t}function H(t){if(Y>0)return t();Y++;try{return t()}finally{J()}}let q,Q;function X(t){const e=q;q=void 0;try{return t()}finally{q=e}}let Y=0,tt=0,et=0;function nt(t){if(void 0===q)return;let e=t.n;return void 0===e||e.t!==q?(e={i:0,S:t,p:q.s,n:void 0,t:q,e:void 0,x:void 0,r:e},void 0!==q.s&&(q.s.n=e),q.s=e,t.n=e,32&q.f&&t.S(e),e):-1===e.i?(e.i=0,void 0!==e.n&&(e.n.p=e.p,void 0!==e.p&&(e.p.n=e.n),e.p=q.s,e.n=void 0,q.s.n=e,q.s=e),e):void 0}function it(t,e){this.v=t,this.i=0,this.n=void 0,this.t=void 0,this.W=null==e?void 0:e.watched,this.Z=null==e?void 0:e.unwatched,this.name=null==e?void 0:e.name}function ot(t,e){return new it(t,e)}function st(t){for(let e=t.s;void 0!==e;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function rt(t){for(let e=t.s;void 0!==e;e=e.n){const n=e.S.n;if(void 0!==n&&(e.r=n),e.S.n=e,e.i=-1,void 0===e.n){t.s=e;break}}}function ct(t){let e,n=t.s;for(;void 0!==n;){const t=n.p;-1===n.i?(n.S.U(n),void 0!==t&&(t.n=n.n),void 0!==n.n&&(n.n.p=t)):e=n,n.S.n=n.r,void 0!==n.r&&(n.r=void 0),n=t}t.s=e}function at(t,e){it.call(this,void 0),this.x=t,this.s=void 0,this.g=et-1,this.f=4,this.W=null==e?void 0:e.watched,this.Z=null==e?void 0:e.unwatched,this.name=null==e?void 0:e.name}function dt(t,e){return new at(t,e)}function ut(t){const e=t.u;if(t.u=void 0,\"function\"==typeof e){Y++;const n=q;q=void 0;try{e()}catch(e){throw t.f&=-2,t.f|=8,ft(t),e}finally{q=n,J()}}}function ft(t){for(let e=t.s;void 0!==e;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,ut(t)}function ht(t){if(q!==this)throw new Error(\"Out-of-order effect\");ct(this),q=t,this.f&=-2,8&this.f&&ft(this),J()}function lt(t,e){this.x=t,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32,this.name=null==e?void 0:e.name}function gt(t,e){const n=new lt(t,e);try{n.c()}catch(t){throw n.d(),t}const i=n.d.bind(n);return i[Symbol.dispose]=i,i}function pt(t,e={}){const n={};for(const i in t){const o=e[i],s=ot(void 0===o?t[i]:o);n[i]=s}return n}it.prototype.brand=Z,it.prototype.h=function(){return!0},it.prototype.S=function(t){const e=this.t;e!==t&&void 0===t.e&&(t.x=e,this.t=t,void 0!==e?e.e=t:X(()=>{var t;null==(t=this.W)||t.call(this)}))},it.prototype.U=function(t){if(void 0!==this.t){const e=t.e,n=t.x;void 0!==e&&(e.x=n,t.e=void 0),void 0!==n&&(n.e=e,t.x=void 0),t===this.t&&(this.t=n,void 0===n&&X(()=>{var t;null==(t=this.Z)||t.call(this)}))}},it.prototype.subscribe=function(t){return gt(()=>{const e=this.value,n=q;q=void 0;try{t(e)}finally{q=n}},{name:\"sub\"})},it.prototype.valueOf=function(){return this.value},it.prototype.toString=function(){return this.value+\"\"},it.prototype.toJSON=function(){return this.value},it.prototype.peek=function(){const t=q;q=void 0;try{return this.value}finally{q=t}},Object.defineProperty(it.prototype,\"value\",{get(){const t=nt(this);return void 0!==t&&(t.i=this.i),this.v},set(t){if(t!==this.v){if(tt>100)throw new Error(\"Cycle detected\");this.v=t,this.i++,et++,Y++;try{for(let t=this.t;void 0!==t;t=t.x)t.t.N()}finally{J()}}}}),at.prototype=new it,at.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if(32==(36&this.f))return!0;if(this.f&=-5,this.g===et)return!0;if(this.g=et,this.f|=1,this.i>0&&!st(this))return this.f&=-2,!0;const t=q;try{rt(this),q=this;const t=this.x();(16&this.f||this.v!==t||0===this.i)&&(this.v=t,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return q=t,ct(this),this.f&=-2,!0},at.prototype.S=function(t){if(void 0===this.t){this.f|=36;for(let t=this.s;void 0!==t;t=t.n)t.S.S(t)}it.prototype.S.call(this,t)},at.prototype.U=function(t){if(void 0!==this.t&&(it.prototype.U.call(this,t),void 0===this.t)){this.f&=-33;for(let t=this.s;void 0!==t;t=t.n)t.S.U(t)}},at.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(let t=this.t;void 0!==t;t=t.x)t.t.N()}},Object.defineProperty(at.prototype,\"value\",{get(){if(1&this.f)throw new Error(\"Cycle detected\");const t=nt(this);if(this.h(),void 0!==t&&(t.i=this.i),16&this.f)throw this.v;return this.v}}),lt.prototype.c=function(){const t=this.S();try{if(8&this.f)return;if(void 0===this.x)return;const t=this.x();\"function\"==typeof t&&(this.u=t)}finally{t()}},lt.prototype.S=function(){if(1&this.f)throw new Error(\"Cycle detected\");this.f|=1,this.f&=-9,ut(this),rt(this),Y++;const t=q;return q=this,ht.bind(this,t)},lt.prototype.N=function(){2&this.f||(this.f|=2,this.o=Q,Q=this)},lt.prototype.d=function(){this.f|=8,1&this.f||ft(this)},lt.prototype.dispose=function(){this.d()};const mt=t({build:(t,e,n)=>pt(e),config:e({defaultSelection:\"rootEnd\",disabled:!1}),name:\"@lexical/extension/AutoFocus\",register(t,e,n){const i=n.getOutput();return gt(()=>i.disabled.value?void 0:t.registerRootListener(e=>{t.focus(()=>{const t=document.activeElement;null===e||null!==t&&e.contains(t)||e.focus({preventScroll:!0})},{defaultSelection:i.defaultSelection.peek()})}))}});function vt(){const t=o(),e=s(),n=r();t.clear(),t.append(n),null!==e&&n.select(),c(e)&&(e.format=0)}function xt(t,e=vt){return t.registerCommand(n,n=>(t.update(e),!0),i)}const yt=t({build:(t,e,n)=>pt(e),config:e({$onClear:vt}),name:\"@lexical/extension/ClearEditor\",register(t,e,n){const{$onClear:i}=n.getOutput();return gt(()=>xt(t,i.value))}});function St(t){const e=new Set,n=new Set;for(const i of Et(t)){const t=\"function\"==typeof i?i:i.replace;e.add(t.getType()),n.add(t)}return{nodes:n,types:e}}function Et(t){return(\"function\"==typeof t.nodes?t.nodes():t.nodes)||[]}const bt=h(\"format\",{parse:t=>\"number\"==typeof t?t:0});class wt extends f{$config(){return this.config(\"decorator-text\",{extends:f,stateConfigs:[{flat:!0,stateConfig:bt}]})}getFormat(){return l(this,bt)}getFormatFlags(t,e){return g(this.getFormat(),t,e)}hasFormat(t){const e=m[t];return 0!==(this.getFormat()&e)}setFormat(t){return p(this,bt,t)}toggleFormat(t){const e=this.getFormat(),n=g(e,t,null);return this.setFormat(n)}isInline(){return!0}createDOM(){return document.createElement(\"span\")}updateDOM(){return!1}}function Nt(t){return t instanceof wt}function Ot(t,e,n){const i=e.fontWeight,o=e.textDecoration.split(\" \"),s=\"700\"===i||\"bold\"===i,r=o.includes(\"line-through\"),c=\"italic\"===e.fontStyle,a=o.includes(\"underline\"),d=e.verticalAlign;return s&&!t.hasFormat(\"bold\")&&t.toggleFormat(\"bold\"),r&&!t.hasFormat(\"strikethrough\")&&t.toggleFormat(\"strikethrough\"),c&&!t.hasFormat(\"italic\")&&t.toggleFormat(\"italic\"),a&&!t.hasFormat(\"underline\")&&t.toggleFormat(\"underline\"),\"sub\"!==d||t.hasFormat(\"subscript\")||t.toggleFormat(\"subscript\"),\"super\"!==d||t.hasFormat(\"superscript\")||t.toggleFormat(\"superscript\"),n&&!t.hasFormat(n)&&t.toggleFormat(n),t}function Rt(t,e,n=Dt){for(const[i,o]of Object.entries(n))t.hasFormat(o)&&(e=Ct(e,i));return e}function Ct(t,e){const n=document.createElement(e);return n.appendChild(t),n}const Dt={b:\"bold\",code:\"code\",em:\"italic\",i:\"italic\",mark:\"highlight\",s:\"strikethrough\",strong:\"bold\",sub:\"subscript\",sup:\"superscript\",u:\"underline\"},Mt=t({name:\"@lexical/extension/DecoratorText\",nodes:()=>[wt],register:(t,e,n)=>t.registerCommand(a,t=>{const e=s();if(d(e)||c(e))for(const n of e.getNodes())Nt(n)&&n.toggleFormat(t);return!1},u)});function Ft(t,e){let n;return ot(t(),{unwatched(){n&&(n(),n=void 0)},watched(){this.value=t(),n=e(this)}})}const It=t({build:t=>Ft(()=>t.getEditorState(),e=>t.registerUpdateListener(t=>{e.value=t.editorState})),name:\"@lexical/extension/EditorState\"});function _t(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),i=new URLSearchParams;i.append(\"code\",t);for(const t of e)i.append(\"v\",t);throw n.search=i.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function jt(t,e){if(t&&e&&!Array.isArray(e)&&\"object\"==typeof t&&\"object\"==typeof e){const n=t,i=e;for(const t in i)n[t]=jt(n[t],i[t]);return t}return e}const At=0,kt=1,Pt=2,Kt=3,$t=4,zt=5,Ut=6,Lt=7;function Tt(t){return t.id===At}function Bt(t){return t.id===Pt}function Wt(t){return function(t){return t.id===kt}(t)||_t(305,String(t.id),String(kt)),Object.assign(t,{id:Pt})}const Gt=new Set;class Vt{builder;configs;_dependency;_peerNameSet;extension;state;_signal;constructor(t,e){this.builder=t,this.extension=e,this.configs=new Set,this.state={id:At}}mergeConfigs(){let t=this.extension.config||{};const e=this.extension.mergeConfig?this.extension.mergeConfig.bind(this.extension):v;for(const n of this.configs)t=e(t,n);return t}init(t){const e=this.state;Bt(e)||_t(306,String(e.id));const n={getDependency:this.getInitDependency.bind(this),getDirectDependentNames:this.getDirectDependentNames.bind(this),getPeer:this.getInitPeer.bind(this),getPeerNameSet:this.getPeerNameSet.bind(this)},i={...n,getDependency:this.getDependency.bind(this),getInitResult:this.getInitResult.bind(this),getPeer:this.getPeer.bind(this)},o=function(t,e,n){return Object.assign(t,{config:e,id:Kt,registerState:n})}(e,this.mergeConfigs(),n);let s;this.state=o,this.extension.init&&(s=this.extension.init(t,o.config,n)),this.state=function(t,e,n){return Object.assign(t,{id:$t,initResult:e,registerState:n})}(o,s,i)}build(t){const e=this.state;let n;e.id!==$t&&_t(307,String(e.id),String(zt)),this.extension.build&&(n=this.extension.build(t,e.config,e.registerState));const i={...e.registerState,getOutput:()=>n,getSignal:this.getSignal.bind(this)};this.state=function(t,e,n){return Object.assign(t,{id:zt,output:e,registerState:n})}(e,n,i)}register(t,e){this._signal=e;const n=this.state;n.id!==zt&&_t(308,String(n.id),String(zt));const i=this.extension.register&&this.extension.register(t,n.config,n.registerState);return this.state=function(t){return Object.assign(t,{id:Ut})}(n),()=>{const t=this.state;t.id!==Lt&&_t(309,String(n.id),String(Lt)),this.state=function(t){return Object.assign(t,{id:zt})}(t),i&&i()}}afterRegistration(t){const e=this.state;let n;return e.id!==Ut&&_t(310,String(e.id),String(Ut)),this.extension.afterRegistration&&(n=this.extension.afterRegistration(t,e.config,e.registerState)),this.state=function(t){return Object.assign(t,{id:Lt})}(e),n}getSignal(){return void 0===this._signal&&_t(311),this._signal}getInitResult(){void 0===this.extension.init&&_t(312,this.extension.name);const t=this.state;return function(t){return t.id>=$t}(t)||_t(313,String(t.id),String($t)),t.initResult}getInitPeer(t){const e=this.builder.extensionNameMap.get(t);return e?e.getExtensionInitDependency():void 0}getExtensionInitDependency(){const t=this.state;return function(t){return t.id>=Kt}(t)||_t(314,String(t.id),String(Kt)),{config:t.config}}getPeer(t){const e=this.builder.extensionNameMap.get(t);return e?e.getExtensionDependency():void 0}getInitDependency(t){const e=this.builder.getExtensionRep(t);return void 0===e&&_t(315,this.extension.name,t.name),e.getExtensionInitDependency()}getDependency(t){const e=this.builder.getExtensionRep(t);return void 0===e&&_t(315,this.extension.name,t.name),e.getExtensionDependency()}getState(){const t=this.state;return function(t){return t.id>=Lt}(t)||_t(316,String(t.id),String(Lt)),t}getDirectDependentNames(){return this.builder.incomingEdges.get(this.extension.name)||Gt}getPeerNameSet(){let t=this._peerNameSet;return t||(t=new Set((this.extension.peerDependencies||[]).map(([t])=>t)),this._peerNameSet=t),t}getExtensionDependency(){if(!this._dependency){const t=this.state;(function(t){return t.id>=zt})(t)||_t(317,this.extension.name),this._dependency={config:t.config,init:t.initResult,output:t.output}}return this._dependency}}const Zt={tag:N};function Jt(){const t=o();t.isEmpty()&&t.append(r())}const Ht=t({config:e({setOptions:Zt,updateOptions:Zt}),init:({$initialEditorState:t=Jt})=>({$initialEditorState:t,initialized:!1}),afterRegistration(t,{updateOptions:e,setOptions:n},i){const o=i.getInitResult();if(!o.initialized){o.initialized=!0;const{$initialEditorState:i}=o;if(w(i))t.setEditorState(i,n);else if(\"function\"==typeof i)t.update(()=>{i(t)},e);else if(i&&(\"string\"==typeof i||\"object\"==typeof i)){const e=t.parseEditorState(i);t.setEditorState(e,n)}}return()=>{}},name:\"@lexical/extension/InitialState\",nodes:[x,y,S,E,b]}),qt=Symbol.for(\"@lexical/extension/LexicalBuilder\");function Qt(...t){return ne.fromExtensions(t).buildEditor()}function Xt(){}function Yt(t){throw t}function te(t){return Array.isArray(t)?t:[t]}const ee=\"0.41.0+prod.esm\";class ne{roots;extensionNameMap;outgoingConfigEdges;incomingEdges;conflicts;_sortedExtensionReps;PACKAGE_VERSION;constructor(t){this.outgoingConfigEdges=new Map,this.incomingEdges=new Map,this.extensionNameMap=new Map,this.conflicts=new Map,this.PACKAGE_VERSION=ee,this.roots=t;for(const e of t)this.addExtension(e)}static fromExtensions(t){const e=[te(Ht)];for(const n of t)e.push(te(n));return new ne(e)}static maybeFromEditor(t){const e=t[qt];return e&&(e.PACKAGE_VERSION!==ee&&_t(292,e.PACKAGE_VERSION,ee),e instanceof ne||_t(293)),e}static fromEditor(t){const e=ne.maybeFromEditor(t);return void 0===e&&_t(294),e}constructEditor(){const{$initialEditorState:t,onError:e,...n}=this.buildCreateEditorArgs(),i=Object.assign(O({...n,...e?{onError:t=>{e(t,i)}}:{}}),{[qt]:this});for(const t of this.sortedExtensionReps())t.build(i);return i}buildEditor(){let t=Xt;function e(){try{t()}finally{t=Xt}}const n=Object.assign(this.constructEditor(),{dispose:e,[Symbol.dispose]:e});return t=R(this.registerEditor(n),()=>n.setRootElement(null)),n}hasExtensionByName(t){return this.extensionNameMap.has(t)}getExtensionRep(t){const e=this.extensionNameMap.get(t.name);if(e)return e.extension!==t&&_t(295,t.name),e}addEdge(t,e,n){const i=this.outgoingConfigEdges.get(t);i?i.set(e,n):this.outgoingConfigEdges.set(t,new Map([[e,n]]));const o=this.incomingEdges.get(e);o?o.add(t):this.incomingEdges.set(e,new Set([t]))}addExtension(t){void 0!==this._sortedExtensionReps&&_t(296);const e=te(t),[n]=e;\"string\"!=typeof n.name&&_t(297,typeof n.name);let i=this.extensionNameMap.get(n.name);if(void 0!==i&&i.extension!==n&&_t(298,n.name),!i){i=new Vt(this,n),this.extensionNameMap.set(n.name,i);const t=this.conflicts.get(n.name);\"string\"==typeof t&&_t(299,n.name,t);for(const t of n.conflictsWith||[])this.extensionNameMap.has(t)&&_t(299,n.name,t),this.conflicts.set(t,n.name);for(const t of n.dependencies||[]){const e=te(t);this.addEdge(n.name,e[0].name,e.slice(1)),this.addExtension(e)}for(const[t,e]of n.peerDependencies||[])this.addEdge(n.name,t,e?[e]:[])}}sortedExtensionReps(){if(this._sortedExtensionReps)return this._sortedExtensionReps;const t=[],e=(n,i)=>{let o=n.state;if(Bt(o))return;const s=n.extension.name;var r;Tt(o)||_t(300,s,i||\"[unknown]\"),Tt(r=o)||_t(304,String(r.id),String(At)),o=Object.assign(r,{id:kt}),n.state=o;const c=this.outgoingConfigEdges.get(s);if(c)for(const t of c.keys()){const n=this.extensionNameMap.get(t);n&&e(n,s)}o=Wt(o),n.state=o,t.push(n)};for(const t of this.extensionNameMap.values())Tt(t.state)&&e(t);for(const e of t)for(const[t,n]of this.outgoingConfigEdges.get(e.extension.name)||[])if(n.length>0){const e=this.extensionNameMap.get(t);if(e)for(const t of n)e.configs.add(t)}for(const[t,...e]of this.roots)if(e.length>0){const n=this.extensionNameMap.get(t.name);void 0===n&&_t(301,t.name);for(const t of e)n.configs.add(t)}return this._sortedExtensionReps=t,this._sortedExtensionReps}registerEditor(t){const e=this.sortedExtensionReps(),n=new AbortController,i=[()=>n.abort()],o=n.signal;for(const n of e){const e=n.register(t,o);e&&i.push(e)}for(const n of e){const e=n.afterRegistration(t);e&&i.push(e)}return R(...i)}buildCreateEditorArgs(){const t={},e=new Set,n=new Map,i=new Map,o={},s={},r=this.sortedExtensionReps();for(const c of r){const{extension:r}=c;if(void 0!==r.onError&&(t.onError=r.onError),void 0!==r.disableEvents&&(t.disableEvents=r.disableEvents),void 0!==r.parentEditor&&(t.parentEditor=r.parentEditor),void 0!==r.editable&&(t.editable=r.editable),void 0!==r.namespace&&(t.namespace=r.namespace),void 0!==r.$initialEditorState&&(t.$initialEditorState=r.$initialEditorState),r.nodes)for(const t of Et(r)){if(\"function\"!=typeof t){const e=n.get(t.replace);e&&_t(302,r.name,t.replace.name,e.extension.name),n.set(t.replace,c)}e.add(t)}if(r.html){if(r.html.export)for(const[t,e]of r.html.export.entries())i.set(t,e);r.html.import&&Object.assign(o,r.html.import)}r.theme&&jt(s,r.theme)}Object.keys(s).length>0&&(t.theme=s),e.size&&(t.nodes=[...e]);const c=Object.keys(o).length>0,a=i.size>0;(c||a)&&(t.html={},c&&(t.html.import=o),a&&(t.html.export=i));for(const e of r)e.init(t);return t.onError||(t.onError=Yt),t}}function ie(t,e){const n=ne.fromEditor(t).getExtensionRep(e);return void 0===n&&_t(303,e.name),n.getExtensionDependency()}function oe(t,e){const n=ne.fromEditor(t).extensionNameMap.get(e);return n?n.getExtensionDependency():void 0}function se(t,e){const n=oe(t,e);return void 0===n&&_t(291,e),n}const re=new Set,ce=t({build(t,e,n){const i=n.getDependency(It).output,o=ot({watchedNodeKeys:new Map}),r=Ft(()=>{},()=>gt(()=>{const t=r.peek(),{watchedNodeKeys:e}=o.value;let n,c=!1;i.value.read(()=>{if(s())for(const[i,o]of e.entries()){if(0===o.size){e.delete(i);continue}const s=C(i),r=s&&s.isSelected()||!1;c=c||r!==(!!t&&t.has(i)),r&&(n=n||new Set,n.add(i))}}),!c&&n&&t&&n.size===t.size||(r.value=n)}));return{watchNodeKey:function(t){const e=dt(()=>(r.value||re).has(t)),{watchedNodeKeys:n}=o.peek();let i=n.get(t);const s=void 0!==i;return i=i||new Set,i.add(e),s||(n.set(t,i),o.value={watchedNodeKeys:n}),e}}},dependencies:[It],name:\"@lexical/extension/NodeSelection\"}),ae=D(\"INSERT_HORIZONTAL_RULE_COMMAND\");class de extends f{static getType(){return\"horizontalrule\"}static clone(t){return new de(t.__key)}static importJSON(t){return fe().updateFromJSON(t)}static importDOM(){return{hr:()=>({conversion:ue,priority:0})}}exportDOM(){return{element:document.createElement(\"hr\")}}createDOM(t){const e=document.createElement(\"hr\");return j(e,t.theme.hr),e}getTextContent(){return\"\\n\"}isInline(){return!1}updateDOM(){return!1}}function ue(){return{node:fe()}}function fe(){return M(de)}function he(t){return t instanceof de}const le=t({dependencies:[It,ce],name:\"@lexical/extension/HorizontalRule\",nodes:()=>[de],register(t,e,n){const{watchNodeKey:i}=n.getDependency(ce).output,o=ot({nodeSelections:new Map}),r=t._config.theme.hrSelected??\"selected\";return R(t.registerCommand(F,t=>{if(I(t.target)){const e=_(t.target);if(he(e))return function(t,e=!1){const n=s(),i=t.isSelected(),o=t.getKey();let r;e&&d(n)?r=n:(r=A(),k(r)),i?r.delete(o):r.add(o)}(e,t.shiftKey),!0}return!1},u),t.registerMutationListener(de,(e,n)=>{H(()=>{let n=!1;const{nodeSelections:s}=o.peek();for(const[o,r]of e.entries())if(\"destroyed\"===r)s.delete(o),n=!0;else{const e=s.get(o),r=t.getElementByKey(o);e?e.domNode.value=r:(n=!0,s.set(o,{domNode:ot(r),selectedSignal:i(o)}))}n&&(o.value={nodeSelections:s})})}),gt(()=>{const t=[];for(const{domNode:e,selectedSignal:n}of o.value.nodeSelections.values())t.push(gt(()=>{const t=e.value;if(t){n.value?j(t,r):P(t,r)}}));return R(...t)}))}});function ge(t){return t.canBeEmpty()}function pe(t,e,n=ge){return R(t.registerCommand(K,e=>{const n=s();if(!c(n))return!1;e.preventDefault();const i=function(t){if(t.getNodes().filter(t=>T(t)&&t.canIndent()).length>0)return!0;const e=t.anchor,n=t.focus,i=n.isBefore(e)?n:e,o=i.getNode(),s=V(o);if(s.canIndent()){const t=s.getKey();let e=B();if(e.anchor.set(t,0,\"element\"),e.focus.set(t,0,\"element\"),e=W(e),e.anchor.is(i))return!0}return!1}(n)?e.shiftKey?$:z:U;return t.dispatchCommand(i,void 0)},i),t.registerCommand(z,()=>{const t=\"number\"==typeof e?e:e?e.peek():null,i=s();if(!c(i))return!1;const o=\"function\"==typeof n?n:n.peek();return G(e=>{if(o(e)){const n=e.getIndent()+1;(!t||n<t)&&e.setIndent(n)}})},L))}const me=t({build:(t,e,n)=>pt(e),config:e({$canIndent:ge,disabled:!1,maxIndent:null}),name:\"@lexical/extension/TabIndentation\",register(t,e,n){const{disabled:i,maxIndent:o,$canIndent:s}=n.getOutput();return gt(()=>{if(!i.value)return pe(t,o,s)})}});export{fe as $createHorizontalRuleNode,Nt as $isDecoratorTextNode,he as $isHorizontalRuleNode,mt as AutoFocusExtension,yt as ClearEditorExtension,Mt as DecoratorTextExtension,wt as DecoratorTextNode,It as EditorStateExtension,le as HorizontalRuleExtension,de as HorizontalRuleNode,ae as INSERT_HORIZONTAL_RULE_COMMAND,Ht as InitialStateExtension,ne as LexicalBuilder,ce as NodeSelectionExtension,me as TabIndentationExtension,Ot as applyFormatFromStyle,Rt as applyFormatToDom,H as batch,Qt as buildEditorFromExtensions,dt as computed,gt as effect,ie as getExtensionDependencyFromEditor,St as getKnownTypesAndNodes,oe as getPeerDependencyFromEditor,se as getPeerDependencyFromEditorOrThrow,pt as namedSignals,xt as registerClearEditor,pe as registerTabIndentation,ot as signal,X as untracked,Ft as watchedSignal};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{defineExtension as e}from\"lexical\";const r=e({name:\"@lexical/react/ReactProvider\"});export{r as ReactProviderExtension};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$getRoot as t,$isDecoratorNode as e,$isElementNode as n,$isParagraphNode as r,$isTextNode as i,TextNode as o,$createTextNode as l}from\"lexical\";function s(){return t().getTextContent()}function f(t,e=!0){if(t)return!1;let n=s();return e&&(n=n.trim()),\"\"===n}function u(t,e){return()=>f(t,e)}function c(o){if(!f(o,!1))return!1;const l=t().getChildren(),s=l.length;if(s>1)return!1;for(let t=0;t<s;t++){const o=l[t];if(e(o))return!1;if(n(o)){if(!r(o))return!1;if(0!==o.__indent)return!1;const e=o.getChildren(),n=e.length;for(let r=0;r<n;r++){const n=e[t];if(!i(n))return!1}}}return!0}function g(t){return()=>c(t)}function a(t,e){let r=t.getFirstChild(),o=0;t:for(;null!==r;){if(n(r)){const t=r.getFirstChild();if(null!==t){r=t;continue}}else if(i(r)){const t=r.getTextContentSize();if(o+t>e)return{node:r,offset:e-o};o+=t}const t=r.getNextSibling();if(null!==t){r=t;continue}let l=r.getParent();for(;null!==l;){const t=l.getNextSibling();if(null!==t){r=t;continue t}l=l.getParent()}break}return null}function d(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),r=new URLSearchParams;r.append(\"code\",t);for(const t of e)r.append(\"v\",t);throw n.search=r.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function x(t,e,n,r){const s=t=>t instanceof n,f=t=>{const e=l(t.getTextContent());e.setFormat(t.getFormat()),t.replace(e)};return[t.registerNodeTransform(o,t=>{if(!t.isSimpleText())return;let n,o=t.getPreviousSibling(),l=t.getTextContent(),u=t;if(i(o)){const n=o.getTextContent(),r=e(n+l);if(s(o)){if(null===r||0!==(t=>t.getLatest().__mode)(o))return void f(o);{const e=r.end-n.length;if(e>0){const r=n+l.slice(0,e);if(o.select(),o.setTextContent(r),e===l.length)t.remove();else{const n=l.slice(e);t.setTextContent(n)}return}}}else if(null===r||r.start<n.length)return}let c=0;for(;;){n=e(l);let t,g=null===n?\"\":l.slice(n.end);if(l=g,\"\"===g){const t=u.getNextSibling();if(i(t)){g=u.getTextContent()+t.getTextContent();const n=e(g);if(null===n)return void(s(t)?f(t):t.markDirty());if(0!==n.start)return}}if(null===n)return;if(0===n.start&&i(o)&&o.isTextEntity()){c+=n.end;continue}0===n.start?[t,u]=u.splitText(n.end):[,t,u]=u.splitText(n.start+c,n.end+c),void 0===t&&d(165,\"nodeToReplace\");const a=r(t);if(a.setFormat(t.getFormat()),t.replace(a),null==u)return;c=0,o=a}}),t.registerNodeTransform(n,t=>{const n=t.getTextContent(),r=e(n);if(null===r||0!==r.start)return void f(t);if(n.length>r.end)return void t.splitText(r.end);const o=t.getPreviousSibling();i(o)&&o.isTextEntity()&&(f(o),f(t));const l=t.getNextSibling();i(l)&&l.isTextEntity()&&(f(l),s(t)&&f(t))})]}export{c as $canShowPlaceholder,g as $canShowPlaceholderCurry,a as $findTextIntersectionFromCharacters,f as $isRootTextContentEmpty,u as $isRootTextContentEmptyCurry,s as $rootTextContent,x as registerLexicalTextEntity};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{effect as e,namedSignals as t}from\"@lexical/extension\";import{defineExtension as n,safeCast as o,$getSelection as i,$isRangeSelection as a,$isTextNode as r}from\"lexical\";function s(e){const t=window.location.origin,n=n=>{if(n.origin!==t)return;const o=e.getRootElement();if(document.activeElement!==o)return;const s=n.data;if(\"string\"==typeof s){let t;try{t=JSON.parse(s)}catch(e){return}if(t&&\"nuanria_messaging\"===t.protocol&&\"request\"===t.type){const o=t.payload;if(o&&\"makeChanges\"===o.functionId){const t=o.args;if(t){const[o,s,d,c,g]=t;e.update(()=>{const e=i();if(a(e)){const t=e.anchor;let i=t.getNode(),a=0,l=0;if(r(i)&&o>=0&&s>=0&&(a=o,l=o+s,e.setTextNodeRange(i,a,i,l)),a===l&&\"\"===d||(e.insertRawText(d),i=t.getNode()),r(i)){a=c,l=c+g;const t=i.getTextContentSize();a=a>t?t:a,l=l>t?t:l,e.setTextNodeRange(i,a,i,l)}n.stopImmediatePropagation()}})}}}}};return window.addEventListener(\"message\",n,!0),()=>{window.removeEventListener(\"message\",n,!0)}}const d=n({build:(e,n,o)=>t(n),config:o({disabled:\"undefined\"==typeof window}),name:\"@lexical/dragon\",register:(t,n,o)=>e(()=>o.getOutput().disabled.value?void 0:s(t))});export{d as DragonExtension,s as registerDragonSupport};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$sliceSelectedTextNodeContent as e}from\"@lexical/selection\";import{isHTMLElement as n,isBlockDomNode as t}from\"@lexical/utils\";import{isDOMDocumentNode as o,$getRoot as l,$isElementNode as r,$isTextNode as i,getRegisteredNode as s,isDocumentFragment as c,$isRootOrShadowRoot as u,$isBlockElementNode as f,$createLineBreakNode as a,ArtificialNode__DO_NOT_USE as d,isInlineDomNode as p,$createParagraphNode as h}from\"lexical\";function m(e,n){const t=o(n)?n.body.childNodes:n.childNodes;let l=[];const r=[];for(const n of t)if(!w.has(n.nodeName)){const t=y(n,e,r,!1);null!==t&&(l=l.concat(t))}return function(e){for(const n of e)n.getNextSibling()instanceof d&&n.insertAfter(a());for(const n of e){const e=n.getChildren();for(const t of e)n.insertBefore(t);n.remove()}}(r),l}function g(e,n){if(\"undefined\"==typeof document||\"undefined\"==typeof window&&void 0===global.window)throw new Error(\"To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.\");const t=document.createElement(\"div\"),o=l().getChildren();for(let l=0;l<o.length;l++){x(e,o[l],t,n)}return t.innerHTML}function x(t,o,l,u=null){let f=null===u||o.isSelected(u);const a=r(o)&&o.excludeFromCopy(\"html\");let d=o;null!==u&&i(o)&&(d=e(u,o,\"clone\"));const p=r(d)?d.getChildren():[],h=s(t,d.getType());let m;m=h&&void 0!==h.exportDOM?h.exportDOM(t,d):d.exportDOM(t);const{element:g,after:w}=m;if(!g)return!1;const y=document.createDocumentFragment();for(let e=0;e<p.length;e++){const n=p[e],l=x(t,n,y,u);!f&&r(o)&&l&&o.extractWithChild(n,u,\"html\")&&(f=!0)}if(f&&!a){if((n(g)||c(g))&&g.append(y),l.append(g),w){const e=w.call(d,g);e&&(c(g)?g.replaceChildren(e):g.replaceWith(e))}}else l.append(y);return f}const w=new Set([\"STYLE\",\"SCRIPT\"]);function y(e,n,o,l,i=new Map,s){let c=[];if(w.has(e.nodeName))return c;let m=null;const g=function(e,n){const{nodeName:t}=e,o=n._htmlConversions.get(t.toLowerCase());let l=null;if(void 0!==o)for(const n of o){const t=n(e);null!==t&&(null===l||(l.priority||0)<=(t.priority||0))&&(l=t)}return null!==l?l.conversion:null}(e,n),x=g?g(e):null;let b=null;if(null!==x){b=x.after;const n=x.node;if(m=Array.isArray(n)?n[n.length-1]:n,null!==m){for(const[,e]of i)if(m=e(m,s),!m)break;m&&c.push(...Array.isArray(n)?n:[m])}null!=x.forChild&&i.set(e.nodeName,x.forChild)}const S=e.childNodes;let v=[];const N=(null==m||!u(m))&&(null!=m&&f(m)||l);for(let e=0;e<S.length;e++)v.push(...y(S[e],n,o,N,new Map(i),m));return null!=b&&(v=b(v)),t(e)&&(v=C(e,v,N?()=>{const e=new d;return o.push(e),e}:h)),null==m?v.length>0?c=c.concat(v):t(e)&&function(e){if(null==e.nextSibling||null==e.previousSibling)return!1;return p(e.nextSibling)&&p(e.previousSibling)}(e)&&(c=c.concat(a())):r(m)&&m.append(...v),c}function C(e,n,t){const o=e.style.textAlign,l=[];let r=[];for(let e=0;e<n.length;e++){const i=n[e];if(f(i))o&&!i.getFormat()&&i.setFormat(o),l.push(i);else if(r.push(i),e===n.length-1||e<n.length-1&&f(n[e+1])){const e=t();e.setFormat(o),e.append(...r),l.push(e),r=[]}}return l}export{g as $generateHtmlFromNodes,m as $generateNodesFromDOM};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$generateHtmlFromNodes as t,$generateNodesFromDOM as e}from\"@lexical/html\";import{$addNodeStyle as n,$sliceSelectedTextNodeContent as o}from\"@lexical/selection\";import{objectKlassEquals as r}from\"@lexical/utils\";import{$getSelection as i,$isRangeSelection as l,$createTabNode as s,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as c,$caretFromPoint as a,$isTextPointCaret as u,$getCaretRange as f,$getChildCaret as d,$getRoot as p,$isTextNode as g,$isElementNode as m,$parseSerializedNode as h,getDOMSelection as x,COPY_COMMAND as y,COMMAND_PRIORITY_CRITICAL as w,isSelectionWithinEditor as T,$getEditor as C}from\"lexical\";function v(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",t);for(const t of e)o.append(\"v\",t);throw n.search=o.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function D(e,n=i()){return null==n&&v(166),l(n)&&n.isCollapsed()||0===n.getNodes().length?\"\":t(e,n)}function S(t,e=i()){return null==e&&v(166),l(e)&&e.isCollapsed()||0===e.getNodes().length?null:JSON.stringify(E(t,e))}function N(t,e){const n=t.getData(\"text/plain\")||t.getData(\"text/uri-list\");null!=n&&e.insertRawText(n)}function R(t,n,o){const r=t.getData(\"application/x-lexical-editor\");if(r)try{const t=JSON.parse(r);if(t.namespace===o._config.namespace&&Array.isArray(t.nodes)){return A(o,L(t.nodes),n)}}catch(t){console.error(t)}const c=t.getData(\"text/html\"),a=t.getData(\"text/plain\");if(c&&a!==c)try{const t=(new DOMParser).parseFromString(function(t){if(window.trustedTypes&&window.trustedTypes.createPolicy){return window.trustedTypes.createPolicy(\"lexical\",{createHTML:t=>t}).createHTML(t)}return t}(c),\"text/html\");return A(o,e(o,t),n)}catch(t){console.error(t)}const u=a||t.getData(\"text/uri-list\");if(null!=u)if(l(n)){const t=u.split(/(\\r?\\n|\\t)/);\"\"===t[t.length-1]&&t.pop();for(let e=0;e<t.length;e++){const n=i();if(l(n)){const o=t[e];\"\\n\"===o||\"\\r\\n\"===o?n.insertParagraph():\"\\t\"===o?n.insertNodes([s()]):n.insertText(o)}}}else n.insertRawText(u)}function A(t,e,n){t.dispatchCommand(c,{nodes:e,selection:n})||(n.insertNodes(e),function(t){if(l(t)&&t.isCollapsed()){const e=t.anchor;let n=null;const o=a(e,\"previous\");if(o)if(u(o))n=o.origin;else{const t=f(o,d(p(),\"next\").getFlipped());for(const e of t){if(g(e.origin)){n=e.origin;break}if(m(e.origin)&&!e.origin.isInline())break}}if(n&&g(n)){const e=n.getFormat(),o=n.getStyle();t.format===e&&t.style===o||(t.format=e,t.style=o,t.dirty=!0)}}}(n))}function P(t,e,n,r=[]){let i=null===e||n.isSelected(e);const l=m(n)&&n.excludeFromCopy(\"html\");let s=n;null!==e&&g(s)&&(s=o(e,s,\"clone\"));const c=m(s)?s.getChildren():[],a=function(t){const e=t.exportJSON(),n=t.constructor;if(e.type!==n.getType()&&v(58,n.name),m(t)){const t=e.children;Array.isArray(t)||v(59,n.name)}return e}(s);g(s)&&0===s.getTextContentSize()&&(i=!1);for(let o=0;o<c.length;o++){const r=c[o],l=P(t,e,r,a.children);!i&&m(n)&&l&&n.extractWithChild(r,e,\"clone\")&&(i=!0)}if(i&&!l)r.push(a);else if(Array.isArray(a.children))for(let t=0;t<a.children.length;t++){const e=a.children[t];r.push(e)}return i}function E(t,e){const n=[],o=p().getChildren();for(let r=0;r<o.length;r++){P(t,e,o[r],n)}return{namespace:t._config.namespace,nodes:n}}function L(t){const e=[];for(let o=0;o<t.length;o++){const r=t[o],i=h(r);g(i)&&n(i),e.push(i)}return e}let b=null;async function F(t,e,n){if(null!==b)return!1;if(null!==e)return new Promise((o,r)=>{t.update(()=>{o(M(t,e,n))})});const o=t.getRootElement(),i=t._window||window,l=i.document,s=x(i);if(null===o||null===s)return!1;const c=l.createElement(\"span\");c.style.cssText=\"position: fixed; top: -1000px;\",c.append(l.createTextNode(\"#\")),o.append(c);const a=new Range;return a.setStart(c,0),a.setEnd(c,1),s.removeAllRanges(),s.addRange(a),new Promise((e,o)=>{const s=t.registerCommand(y,o=>(r(o,ClipboardEvent)&&(s(),null!==b&&(i.clearTimeout(b),b=null),e(M(t,o,n))),!0),w);b=i.setTimeout(()=>{s(),b=null,e(!1)},50),l.execCommand(\"copy\"),c.remove()})}function M(t,e,n){if(void 0===n){const e=x(t._window),o=i();if(!o||o.isCollapsed())return!1;if(!e)return!1;const r=e.anchorNode,l=e.focusNode;if(null!==r&&null!==l&&!T(t,r,l))return!1;n=_(o)}e.preventDefault();const o=e.clipboardData;return null!==o&&(J(o,n),!0)}const O=[[\"text/html\",D],[\"application/x-lexical-editor\",S]];function _(t=i()){const e={\"text/plain\":t?t.getTextContent():\"\"};if(t){const n=C();for(const[o,r]of O){const i=r(n,t);null!==i&&(e[o]=i)}}return e}function J(t,e){for(const[n]of O)void 0===e[n]&&t.setData(n,\"\");for(const n in e){const o=e[n];void 0!==o&&t.setData(n,o)}}export{E as $generateJSONFromSelectedNodes,L as $generateNodesFromSerializedNodes,_ as $getClipboardDataFromSelection,D as $getHtmlContent,S as $getLexicalContent,N as $insertDataTransferForPlainText,R as $insertDataTransferForRichText,A as $insertGeneratedNodes,F as copyToClipboard,J as setLexicalClipboardDataTransfer};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$insertDataTransferForRichText as t,copyToClipboard as e}from\"@lexical/clipboard\";import{DragonExtension as n}from\"@lexical/dragon\";import{$isParentRTL as r,$shouldOverrideDefaultCharacterSelection as o,$moveCharacter as i}from\"@lexical/selection\";import{mergeRegister as s,$findMatchingParent as a,$handleIndentAndOutdent as c,objectKlassEquals as u,addClassNamesToElement as l,isHTMLElement as d,$getNearestBlockElementAncestorOrThrow as m}from\"@lexical/utils\";import{createCommand as f,defineExtension as g,CLICK_COMMAND as p,$getSelection as h,$isNodeSelection as v,COMMAND_PRIORITY_EDITOR as C,DELETE_CHARACTER_COMMAND as y,$isRangeSelection as x,DELETE_WORD_COMMAND as D,DELETE_LINE_COMMAND as N,CONTROLLED_TEXT_INSERTION_COMMAND as w,REMOVE_TEXT_COMMAND as E,FORMAT_TEXT_COMMAND as _,FORMAT_ELEMENT_COMMAND as O,$isElementNode as P,INSERT_LINE_BREAK_COMMAND as T,INSERT_PARAGRAPH_COMMAND as F,INSERT_TAB_COMMAND as A,$createTabNode as S,$insertNodes as M,INDENT_CONTENT_COMMAND as I,OUTDENT_CONTENT_COMMAND as b,KEY_ARROW_UP_COMMAND as K,$getAdjacentNode as k,$isDecoratorNode as J,KEY_ARROW_DOWN_COMMAND as W,KEY_ARROW_LEFT_COMMAND as L,KEY_ARROW_RIGHT_COMMAND as R,KEY_BACKSPACE_COMMAND as q,KEY_DELETE_COMMAND as z,KEY_ENTER_COMMAND as X,KEY_ESCAPE_COMMAND as Y,DROP_COMMAND as B,$getNearestNodeFromDOMNode as G,$createRangeSelection as V,$isTextNode as j,$normalizeSelection__EXPERIMENTAL as H,$setSelection as Q,DRAGSTART_COMMAND as U,DRAGOVER_COMMAND as Z,SELECT_ALL_COMMAND as $,$selectAll as tt,COPY_COMMAND as et,CUT_COMMAND as nt,PASTE_COMMAND as rt,isDOMNode as ot,isSelectionCapturedInDecoratorInput as it,KEY_SPACE_COMMAND as st,KEY_TAB_COMMAND as at,ElementNode as ct,$createParagraphNode as ut,$getRoot as lt,$isRootNode as dt,PASTE_TAG as mt,setNodeIndentFromDOM as ft,$applyNodeReplacement as gt}from\"lexical\";function pt(t,e){if(void 0!==document.caretRangeFromPoint){const n=document.caretRangeFromPoint(t,e);return null===n?null:{node:n.startContainer,offset:n.startOffset}}if(\"undefined\"!==document.caretPositionFromPoint){const n=document.caretPositionFromPoint(t,e);return null===n?null:{node:n.offsetNode,offset:n.offset}}return null}const ht=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,vt=ht&&\"documentMode\"in document?document.documentMode:null,Ct=ht&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),yt=!(!ht||!(\"InputEvent\"in window)||vt)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),xt=ht&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Dt=ht&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,Nt=ht&&/^(?=.*Chrome).*/i.test(navigator.userAgent),wt=ht&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&Ct&&!Nt,Et=f(\"DRAG_DROP_PASTE_FILE\");class _t extends ct{static getType(){return\"quote\"}static clone(t){return new _t(t.__key)}createDOM(t){const e=document.createElement(\"blockquote\");return l(e,t.theme.quote),e}updateDOM(t,e){return!1}static importDOM(){return{blockquote:t=>({conversion:St,priority:0})}}exportDOM(t){const{element:e}=super.exportDOM(t);if(d(e)){this.isEmpty()&&e.append(document.createElement(\"br\"));const t=this.getFormatType();t&&(e.style.textAlign=t);const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){return Ot().updateFromJSON(t)}insertNewAfter(t,e){const n=ut(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,e),n}collapseAtStart(){const t=ut();return this.getChildren().forEach(e=>t.append(e)),this.replace(t),!0}canMergeWhenEmpty(){return!0}}function Ot(){return gt(new _t)}function Pt(t){return t instanceof _t}class Tt extends ct{__tag;static getType(){return\"heading\"}static clone(t){return new Tt(t.__tag,t.__key)}constructor(t,e){super(e),this.__tag=t}getTag(){return this.__tag}setTag(t){const e=this.getWritable();return this.__tag=t,e}createDOM(t){const e=this.__tag,n=document.createElement(e),r=t.theme.heading;if(void 0!==r){const t=r[e];l(n,t)}return n}updateDOM(t,e,n){return t.__tag!==this.__tag}static importDOM(){return{h1:t=>({conversion:At,priority:0}),h2:t=>({conversion:At,priority:0}),h3:t=>({conversion:At,priority:0}),h4:t=>({conversion:At,priority:0}),h5:t=>({conversion:At,priority:0}),h6:t=>({conversion:At,priority:0}),p:t=>{const e=t.firstChild;return null!==e&&Ft(e)?{conversion:()=>({node:null}),priority:3}:null},span:t=>Ft(t)?{conversion:t=>({node:Mt(\"h1\")}),priority:3}:null}}exportDOM(t){const{element:e}=super.exportDOM(t);if(d(e)){this.isEmpty()&&e.append(document.createElement(\"br\"));const t=this.getFormatType();t&&(e.style.textAlign=t);const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){return Mt(t.tag).updateFromJSON(t)}updateFromJSON(t){return super.updateFromJSON(t).setTag(t.tag)}exportJSON(){return{...super.exportJSON(),tag:this.getTag()}}insertNewAfter(t,e=!0){const n=t?t.anchor.offset:0,r=this.getLastDescendant(),o=!r||t&&t.anchor.key===r.getKey()&&n===r.getTextContentSize()||!t?ut():Mt(this.getTag()),i=this.getDirection();if(o.setDirection(i),this.insertAfter(o,e),0===n&&!this.isEmpty()&&t){const t=ut();t.select(),this.replace(t,!0)}return o}collapseAtStart(){const t=this.isEmpty()?ut():Mt(this.getTag());return this.getChildren().forEach(e=>t.append(e)),this.replace(t),!0}extractWithChild(){return!0}}function Ft(t){return\"span\"===t.nodeName.toLowerCase()&&\"26pt\"===t.style.fontSize}function At(t){const e=t.nodeName.toLowerCase();let n=null;return\"h1\"!==e&&\"h2\"!==e&&\"h3\"!==e&&\"h4\"!==e&&\"h5\"!==e&&\"h6\"!==e||(n=Mt(e),null!==t.style&&(ft(t,n),n.setFormat(t.style.textAlign))),{node:n}}function St(t){const e=Ot();return null!==t.style&&(e.setFormat(t.style.textAlign),ft(t,e)),{node:e}}function Mt(t=\"h1\"){return gt(new Tt(t))}function It(t){return t instanceof Tt}function bt(t){let e=null;if(u(t,DragEvent)?e=t.dataTransfer:u(t,ClipboardEvent)&&(e=t.clipboardData),null===e)return[!1,[],!1];const n=e.types,r=n.includes(\"Files\"),o=n.includes(\"text/html\")||n.includes(\"text/plain\");return[r,Array.from(e.files),o]}function Kt(t){const e=G(t);return J(e)}function kt(t){for(const e of[\"lowercase\",\"uppercase\",\"capitalize\"])t.hasFormat(e)&&t.toggleFormat(e)}function Jt(n){return s(n.registerCommand(p,t=>{const e=h();return!!v(e)&&(e.clear(),!0)},C),n.registerCommand(y,t=>{const e=h();return x(e)?(e.deleteCharacter(t),!0):!!v(e)&&(e.deleteNodes(),!0)},C),n.registerCommand(D,t=>{const e=h();return!!x(e)&&(e.deleteWord(t),!0)},C),n.registerCommand(N,t=>{const e=h();return!!x(e)&&(e.deleteLine(t),!0)},C),n.registerCommand(w,e=>{const r=h();if(\"string\"==typeof e)null!==r&&r.insertText(e);else{if(null===r)return!1;const o=e.dataTransfer;if(null!=o)t(o,r,n);else if(x(r)){const t=e.data;return t&&r.insertText(t),!0}}return!0},C),n.registerCommand(E,()=>{const t=h();return!!x(t)&&(t.removeText(),!0)},C),n.registerCommand(_,t=>{const e=h();return!!x(e)&&(e.formatText(t),!0)},C),n.registerCommand(O,t=>{const e=h();if(!x(e)&&!v(e))return!1;const n=e.getNodes();for(const e of n){const n=a(e,t=>P(t)&&!t.isInline());null!==n&&n.setFormat(t)}return!0},C),n.registerCommand(T,t=>{const e=h();return!!x(e)&&(e.insertLineBreak(t),!0)},C),n.registerCommand(F,()=>{const t=h();return!!x(t)&&(t.insertParagraph(),!0)},C),n.registerCommand(A,()=>{const t=S(),e=h();return x(e)&&(t.setFormat(e.format),t.setStyle(e.style)),M([t]),!0},C),n.registerCommand(I,()=>c(t=>{const e=t.getIndent();t.setIndent(e+1)}),C),n.registerCommand(b,()=>c(t=>{const e=t.getIndent();e>0&&t.setIndent(Math.max(0,e-1))}),C),n.registerCommand(K,t=>{const e=h();if(v(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectPrevious(),!0}else if(x(e)){const n=k(e.focus,!0);if(!t.shiftKey&&J(n)&&!n.isIsolated()&&!n.isInline())return n.selectPrevious(),t.preventDefault(),!0}return!1},C),n.registerCommand(W,t=>{const e=h();if(v(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectNext(0,0),!0}else if(x(e)){if(function(t){const e=t.focus;return\"root\"===e.key&&e.offset===lt().getChildrenSize()}(e))return t.preventDefault(),!0;const n=k(e.focus,!1);if(!t.shiftKey&&J(n)&&!n.isIsolated()&&!n.isInline())return n.selectNext(),t.preventDefault(),!0}return!1},C),n.registerCommand(L,t=>{const e=h();if(v(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),r(n[0])?n[0].selectNext(0,0):n[0].selectPrevious(),!0}if(!x(e))return!1;if(o(e,!0)){const n=t.shiftKey;return t.preventDefault(),i(e,n,!0),!0}return!1},C),n.registerCommand(R,t=>{const e=h();if(v(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),r(n[0])?n[0].selectPrevious():n[0].selectNext(0,0),!0}if(!x(e))return!1;const n=t.shiftKey;return!!o(e,!1)&&(t.preventDefault(),i(e,n,!1),!0)},C),n.registerCommand(q,t=>{if(Kt(t.target))return!1;const e=h();if(x(e)){if(function(t){if(!t.isCollapsed())return!1;const{anchor:e}=t;if(0!==e.offset)return!1;const n=e.getNode();if(dt(n))return!1;const r=m(n);return r.getIndent()>0&&(r.is(n)||n.is(r.getFirstDescendant()))}(e))return t.preventDefault(),n.dispatchCommand(b,void 0);if(Dt&&\"ko-KR\"===navigator.language)return!1}else if(!v(e))return!1;return t.preventDefault(),n.dispatchCommand(y,!0)},C),n.registerCommand(z,t=>{if(Kt(t.target))return!1;const e=h();return!(!x(e)&&!v(e))&&(t.preventDefault(),n.dispatchCommand(y,!1))},C),n.registerCommand(X,t=>{const e=h();if(!x(e))return!1;if(kt(e),null!==t){if((Dt||xt||wt)&&yt)return!1;if(t.preventDefault(),t.shiftKey)return n.dispatchCommand(T,!1)}return n.dispatchCommand(F,void 0)},C),n.registerCommand(Y,()=>{const t=h();return!!x(t)&&(n.blur(),!0)},C),n.registerCommand(B,t=>{const[,e]=bt(t);if(e.length>0){const r=pt(t.clientX,t.clientY);if(null!==r){const{offset:t,node:o}=r,i=G(o);if(null!==i){const e=V();if(j(i))e.anchor.set(i.getKey(),t,\"text\"),e.focus.set(i.getKey(),t,\"text\");else{const t=i.getParentOrThrow().getKey(),n=i.getIndexWithinParent()+1;e.anchor.set(t,n,\"element\"),e.focus.set(t,n,\"element\")}const n=H(e);Q(n)}n.dispatchCommand(Et,e)}return t.preventDefault(),!0}const r=h();return!!x(r)},C),n.registerCommand(U,t=>{const[e]=bt(t),n=h();return!(e&&!x(n))},C),n.registerCommand(Z,t=>{const[e]=bt(t),n=h();if(e&&!x(n))return!1;const r=pt(t.clientX,t.clientY);if(null!==r){const e=G(r.node);J(e)&&t.preventDefault()}return!0},C),n.registerCommand($,()=>(tt(),!0),C),n.registerCommand(et,t=>(e(n,u(t,ClipboardEvent)?t:null),!0),C),n.registerCommand(nt,t=>(async function(t,n){await e(n,u(t,ClipboardEvent)?t:null),n.update(()=>{const t=h();x(t)?t.removeText():v(t)&&t.getNodes().forEach(t=>t.remove())})}(t,n),!0),C),n.registerCommand(rt,e=>{const[,r,o]=bt(e);if(r.length>0&&!o)return n.dispatchCommand(Et,r),!0;if(ot(e.target)&&it(e.target))return!1;return null!==h()&&(function(e,n){e.preventDefault(),n.update(()=>{const r=h(),o=u(e,InputEvent)||u(e,KeyboardEvent)?null:e.clipboardData;null!=o&&null!==r&&t(o,r,n)},{tag:mt})}(e,n),!0)},C),n.registerCommand(st,t=>{const e=h();return x(e)&&kt(e),!1},C),n.registerCommand(at,t=>{const e=h();return x(e)&&kt(e),!1},C))}const Wt=g({conflictsWith:[\"@lexical/plain-text\"],dependencies:[n],name:\"@lexical/rich-text\",nodes:()=>[Tt,_t],register:Jt});export{Mt as $createHeadingNode,Ot as $createQuoteNode,It as $isHeadingNode,Pt as $isQuoteNode,Et as DRAG_DROP_PASTE,Tt as HeadingNode,_t as QuoteNode,Wt as RichTextExtension,bt as eventFiles,Jt as registerRichText};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as r}from\"@lexical/react/LexicalComposerContext\";import{useLexicalEditable as e}from\"@lexical/react/useLexicalEditable\";import{LexicalBuilder as t}from\"@lexical/extension\";import{ReactProviderExtension as o}from\"@lexical/react/ReactProviderExtension\";import{useLayoutEffect as n,useEffect as i,useState as c,useMemo as a,Suspense as l}from\"react\";import{flushSync as s,createPortal as u}from\"react-dom\";import{jsx as d,jsxs as f,Fragment as m}from\"react/jsx-runtime\";import{$canShowPlaceholderCurry as p}from\"@lexical/text\";import{mergeRegister as x}from\"@lexical/utils\";import{registerDragonSupport as E}from\"@lexical/dragon\";import{registerRichText as h}from\"@lexical/rich-text\";function g(r,...e){const t=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",r);for(const r of e)o.append(\"v\",r);throw t.search=o.toString(),Error(`Minified Lexical error #${r}; visit ${t.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const y=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:i;function w({editor:r,ErrorBoundary:e}){return function(r,e){const[t,o]=c(()=>r.getDecorators());return y(()=>r.registerDecoratorListener(r=>{s(()=>{o(r)})}),[r]),i(()=>{o(r.getDecorators())},[r]),a(()=>{const o=[],n=Object.keys(t);for(let i=0;i<n.length;i++){const c=n[i],a=d(e,{onError:e=>r._onError(e),children:d(l,{fallback:null,children:t[c]})}),s=r.getElementByKey(c);null!==s&&o.push(u(a,s,c))}return o},[e,t,r])}(r,e)}function v({editor:r,ErrorBoundary:e}){return function(r){const e=t.maybeFromEditor(r);if(e&&e.hasExtensionByName(o.name)){for(const r of[\"@lexical/plain-text\",\"@lexical/rich-text\"])e.hasExtensionByName(r)&&g(320,r);return!0}return!1}(r)?null:d(w,{editor:r,ErrorBoundary:e})}function B(r){return r.getEditorState().read(p(r.isComposing()))}function L({contentEditable:e,placeholder:t=null,ErrorBoundary:o}){const[n]=r();return function(r){y(()=>x(h(r),E(r)),[r])}(n),f(m,{children:[e,d(b,{content:t}),d(v,{editor:n,ErrorBoundary:o})]})}function b({content:t}){const[o]=r(),n=function(r){const[e,t]=c(()=>B(r));return y(()=>{function e(){const e=B(r);t(e)}return e(),x(r.registerUpdateListener(()=>{e()}),r.registerEditableListener(()=>{e()}))},[r]),e}(o),i=e();return n?\"function\"==typeof t?t(i):t:null}export{L as RichTextPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as t,useEffect as i,forwardRef as a,useState as r,useCallback as n,useMemo as o}from\"react\";import{jsx as l,jsxs as d,Fragment as c}from\"react/jsx-runtime\";import{$canShowPlaceholderCurry as s}from\"@lexical/text\";import{mergeRegister as u}from\"@lexical/utils\";const m=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t:i;function f({editor:e,ariaActiveDescendant:t,ariaAutoComplete:i,ariaControls:a,ariaDescribedBy:d,ariaErrorMessage:c,ariaExpanded:s,ariaInvalid:u,ariaLabel:f,ariaLabelledBy:b,ariaMultiline:p,ariaOwns:x,ariaRequired:E,autoCapitalize:v,className:w,id:y,role:C=\"textbox\",spellCheck:g=!0,style:L,tabIndex:h,\"data-testid\":D,...I},R){const[k,q]=r(e.isEditable()),z=n(t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)},[e]),A=o(()=>function(...e){return t=>{for(const i of e)\"function\"==typeof i?i(t):null!=i&&(i.current=t)}}(R,z),[z,R]);return m(()=>(q(e.isEditable()),e.registerEditableListener(e=>{q(e)})),[e]),l(\"div\",{\"aria-activedescendant\":k?t:void 0,\"aria-autocomplete\":k?i:\"none\",\"aria-controls\":k?a:void 0,\"aria-describedby\":d,...null!=c?{\"aria-errormessage\":c}:{},\"aria-expanded\":k&&\"combobox\"===C?!!s:void 0,...null!=u?{\"aria-invalid\":u}:{},\"aria-label\":f,\"aria-labelledby\":b,\"aria-multiline\":p,\"aria-owns\":k?x:void 0,\"aria-readonly\":!k||void 0,\"aria-required\":E,autoCapitalize:v,className:w,contentEditable:k,\"data-testid\":D,id:y,ref:A,role:C,spellCheck:g,style:L,tabIndex:h,...I})}const b=a(f);function p(e){return e.getEditorState().read(s(e.isComposing()))}const x=a(E);function E(t,i){const{placeholder:a,...r}=t,[n]=e();return d(c,{children:[l(b,{editor:n,...r,ref:i}),null!=a&&l(v,{editor:n,content:a})]})}function v({content:e,editor:i}){const a=function(e){const[t,i]=r(()=>p(e));return m(()=>{function t(){const t=p(e);i(t)}return t(),u(e.registerUpdateListener(()=>{t()}),e.registerEditableListener(()=>{t()}))},[e]),t}(i),[n,o]=r(i.isEditable());if(t(()=>(o(i.isEditable()),i.registerEditableListener(e=>{o(e)})),[i]),!a)return null;let d=null;return\"function\"==typeof e?d=e(n):null!==e&&(d=e),null===d?null:l(\"div\",{\"aria-hidden\":!0,children:d})}export{x as ContentEditable,b as ContentEditableElement};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{createEmptyHistoryState as o,registerHistory as r}from\"@lexical/history\";export{createEmptyHistoryState}from\"@lexical/history\";import{useMemo as e,useEffect as i}from\"react\";function a({delay:a,externalHistoryState:c}){const[l]=t();return function(t,a,c=1e3){const l=e(()=>a||o(),[a]);i(()=>r(t,l,c),[c,t,l])}(l,c,a),null}export{a as HistoryPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{registerList as r,ListNode as e,ListItemNode as o,registerListStrictIndentTransform as t}from\"@lexical/list\";import{useLexicalComposerContext as i}from\"@lexical/react/LexicalComposerContext\";import{mergeRegister as n}from\"lexical\";import{useEffect as s}from\"react\";function l({hasStrictIndent:l=!1,shouldPreserveNumbering:m=!1}){const[c]=i();return s(()=>{if(!c.hasNodes([e,o]))throw new Error(\"ListPlugin: ListNode and/or ListItemNode not registered on editor\")},[c]),s(()=>n(r(c,{restoreNumbering:m}),l?t(c):()=>{}),[c,l,m]),function(e){s(()=>r(e),[e])}(c),null}export{l as ListPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{namedSignals as r}from\"@lexical/extension\";import{LinkNode as t,registerLink as e}from\"@lexical/link\";import{useLexicalComposerContext as o}from\"@lexical/react/LexicalComposerContext\";import{useEffect as i}from\"react\";function l({validateUrl:l,attributes:n}){const[a]=o();return i(()=>{if(!a.hasNodes([t]))throw new Error(\"LinkPlugin: LinkNode not registered on editor\")}),i(()=>e(a,r({attributes:n,validateUrl:l})),[a,l,n]),null}export{l as LinkPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{HISTORY_MERGE_TAG as t}from\"lexical\";import{useLayoutEffect as o,useEffect as i}from\"react\";const r=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?o:i;function n({ignoreHistoryMergeTagChange:o=!0,ignoreSelectionChange:i=!1,onChange:n}){const[a]=e();return r(()=>{if(n)return a.registerUpdateListener(({editorState:e,dirtyElements:r,dirtyLeaves:d,prevEditorState:s,tags:c})=>{i&&0===r.size&&0===d.size||o&&c.has(t)||s.isEmpty()||n(e,a,c)})},[a,o,i,n]),null}export{n as OnChangePlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{$getSelection as t,$isNodeSelection as r,$createNodeSelection as o,$setSelection as n,$getNodeByKey as c}from\"lexical\";import{useState as a,useEffect as i,useCallback as l}from\"react\";function d(e,t){return e.getEditorState().read(()=>{const e=c(t);return null!==e&&e.isSelected()})}function u(c){const[u]=e(),[p,s]=a(()=>d(u,c));i(()=>{let e=!0;const t=u.registerUpdateListener(()=>{e&&s(d(u,c))});return()=>{e=!1,t()}},[u,c]);return[p,l(e=>{u.update(()=>{let a=t();r(a)||(a=o(),n(a)),r(a)&&(e?a.add(c):a.delete(c))})},[u,c]),l(()=>{u.update(()=>{const e=t();r(e)&&e.clear()})},[u])]}export{u as useLexicalNodeSelection};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{HorizontalRuleNode as e}from\"@lexical/extension\";export{$isHorizontalRuleNode,INSERT_HORIZONTAL_RULE_COMMAND}from\"@lexical/extension\";import{useLexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{useLexicalNodeSelection as r}from\"@lexical/react/useLexicalNodeSelection\";import{mergeRegister as o,addClassNamesToElement as n,removeClassNamesFromElement as i}from\"@lexical/utils\";import{$applyNodeReplacement as l,CLICK_COMMAND as c,COMMAND_PRIORITY_LOW as a}from\"lexical\";import{useEffect as m}from\"react\";import{jsx as s}from\"react/jsx-runtime\";function u({nodeKey:e}){const[l]=t(),[s,u,p]=r(e);return m(()=>o(l.registerCommand(c,t=>{const r=l.getElementByKey(e);return t.target===r&&(t.shiftKey||p(),u(!s),!0)},a)),[p,l,s,e,u]),m(()=>{const t=l.getElementByKey(e),r=l._config.theme.hrSelected??\"selected\";null!==t&&(s?n(t,r):i(t,r))},[l,s,e]),null}class p extends e{static getType(){return\"horizontalrule\"}static clone(e){return new p(e.__key)}static importJSON(e){return f().updateFromJSON(e)}static importDOM(){return{hr:()=>({conversion:x,priority:0})}}decorate(){return s(u,{nodeKey:this.__key})}}function x(){return{node:f()}}function f(){return l(new p)}export{f as $createHorizontalRuleNode,p as HorizontalRuleNode};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{TRANSFORMERS as e,registerMarkdownShortcuts as r}from\"@lexical/markdown\";import{useLexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{HorizontalRuleNode as o,$createHorizontalRuleNode as l,$isHorizontalRuleNode as n}from\"@lexical/react/LexicalHorizontalRuleNode\";import{useEffect as c}from\"react\";const i=[{dependencies:[o],export:e=>n(e)?\"***\":null,regExp:/^(---|\\*\\*\\*|___)\\s?$/,replace:(e,r,t,o)=>{const n=l();o||null!=e.getNextSibling()?e.replace(n):e.insertBefore(n),n.selectNext()},type:\"element\"},...e];function a({transformers:e=i}){const[o]=t();return c(()=>r(o,e),[o,e]),null}export{i as DEFAULT_TRANSFORMERS,a as MarkdownShortcutPlugin};\n","\"use client\";\nimport { createContext as l, Component as y, createElement as d, useContext as f, useState as p, useMemo as E, forwardRef as B } from \"react\";\nconst h = l(null), c = {\n didCatch: !1,\n error: null\n};\nclass m extends y {\n constructor(e) {\n super(e), this.resetErrorBoundary = this.resetErrorBoundary.bind(this), this.state = c;\n }\n static getDerivedStateFromError(e) {\n return { didCatch: !0, error: e };\n }\n resetErrorBoundary(...e) {\n const { error: t } = this.state;\n t !== null && (this.props.onReset?.({\n args: e,\n reason: \"imperative-api\"\n }), this.setState(c));\n }\n componentDidCatch(e, t) {\n this.props.onError?.(e, t);\n }\n componentDidUpdate(e, t) {\n const { didCatch: o } = this.state, { resetKeys: s } = this.props;\n o && t.error !== null && C(e.resetKeys, s) && (this.props.onReset?.({\n next: s,\n prev: e.resetKeys,\n reason: \"keys\"\n }), this.setState(c));\n }\n render() {\n const { children: e, fallbackRender: t, FallbackComponent: o, fallback: s } = this.props, { didCatch: n, error: a } = this.state;\n let i = e;\n if (n) {\n const u = {\n error: a,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof t == \"function\")\n i = t(u);\n else if (o)\n i = d(o, u);\n else if (s !== void 0)\n i = s;\n else\n throw a;\n }\n return d(\n h.Provider,\n {\n value: {\n didCatch: n,\n error: a,\n resetErrorBoundary: this.resetErrorBoundary\n }\n },\n i\n );\n }\n}\nfunction C(r = [], e = []) {\n return r.length !== e.length || r.some((t, o) => !Object.is(t, e[o]));\n}\nfunction g(r) {\n return r !== null && typeof r == \"object\" && \"didCatch\" in r && typeof r.didCatch == \"boolean\" && \"error\" in r && \"resetErrorBoundary\" in r && typeof r.resetErrorBoundary == \"function\";\n}\nfunction x(r) {\n if (!g(r))\n throw new Error(\"ErrorBoundaryContext not found\");\n}\nfunction k() {\n const r = f(h);\n x(r);\n const { error: e, resetErrorBoundary: t } = r, [o, s] = p({\n error: null,\n hasError: !1\n }), n = E(\n () => ({\n error: e,\n resetBoundary: () => {\n t(), s({ error: null, hasError: !1 });\n },\n showBoundary: (a) => s({\n error: a,\n hasError: !0\n })\n }),\n [e, t]\n );\n if (o.hasError)\n throw o.error;\n return n;\n}\nfunction S(r) {\n switch (typeof r) {\n case \"object\": {\n if (r !== null && \"message\" in r && typeof r.message == \"string\")\n return r.message;\n break;\n }\n case \"string\":\n return r;\n }\n}\nfunction w(r, e) {\n const t = B(\n (s, n) => d(\n m,\n e,\n d(r, { ...s, ref: n })\n )\n ), o = r.displayName || r.name || \"Unknown\";\n return t.displayName = `withErrorBoundary(${o})`, t;\n}\nexport {\n m as ErrorBoundary,\n h as ErrorBoundaryContext,\n S as getErrorMessage,\n k as useErrorBoundary,\n w as withErrorBoundary\n};\n//# sourceMappingURL=react-error-boundary.js.map\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{ErrorBoundary as r}from\"react-error-boundary\";import{jsx as o}from\"react/jsx-runtime\";function n({children:n,onError:e}){return o(r,{fallback:o(\"div\",{style:{border:\"1px solid #f00\",color:\"#f00\",padding:\"8px\"},children:\"An error was thrown.\"}),onError:e,children:n})}export{n as LexicalErrorBoundary};\n","import React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport { LexicalComposer } from '@lexical/react/LexicalComposer';\nimport { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin';\nimport { ContentEditable } from '@lexical/react/LexicalContentEditable';\nimport { HistoryPlugin } from '@lexical/react/LexicalHistoryPlugin';\nimport { ListPlugin } from '@lexical/react/LexicalListPlugin';\nimport { LinkPlugin } from '@lexical/react/LexicalLinkPlugin';\nimport { OnChangePlugin } from '@lexical/react/LexicalOnChangePlugin';\nimport { MarkdownShortcutPlugin } from '@lexical/react/LexicalMarkdownShortcutPlugin';\nimport { LexicalErrorBoundary } from '@lexical/react/LexicalErrorBoundary';\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport {\n $convertToMarkdownString,\n $convertFromMarkdownString,\n ORDERED_LIST,\n UNORDERED_LIST,\n LINK,\n INLINE_CODE,\n CODE,\n} from '@lexical/markdown';\nimport type { Transformer } from '@lexical/markdown';\nimport { ListNode, ListItemNode, $isListItemNode } from '@lexical/list';\nimport { LinkNode, AutoLinkNode } from '@lexical/link';\nimport { CodeNode, CodeHighlightNode } from '@lexical/code';\nimport {\n $getRoot,\n $createParagraphNode,\n $getSelection,\n $isRangeSelection,\n KEY_ENTER_COMMAND,\n COMMAND_PRIORITY_HIGH,\n} from 'lexical';\nimport { $isCodeNode } from '@lexical/code';\nimport type { LexicalEditor as LexicalEditorType } from 'lexical';\n\nimport type { RichTextInputProps, RichTextInputHandle } from './RichTextInput';\n\nconst CHAT_TRANSFORMERS: Transformer[] = [ORDERED_LIST, UNORDERED_LIST, LINK, INLINE_CODE, CODE];\n\n// Holds a ref to the underlying Lexical editor instance so the outer\n// imperative handle can call clear() / focus() without exposing Lexical types.\nfunction EditorRefPlugin({ editorRef }: { editorRef: React.MutableRefObject<LexicalEditorType | null> }) {\n const [editor] = useLexicalComposerContext();\n useEffect(() => {\n editorRef.current = editor;\n\n return () => {\n editorRef.current = null;\n };\n }, [editor, editorRef]);\n\n return null;\n}\n\nfunction SubmitPlugin({ onSubmit }: { onSubmit?: (markdown: string) => void }) {\n const [editor] = useLexicalComposerContext();\n\n useEffect(() => {\n return editor.registerCommand(\n KEY_ENTER_COMMAND,\n (event: KeyboardEvent) => {\n if (event.shiftKey) return false;\n // Let Lexical handle Enter inside a list (new list item) or code block (new line).\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const node = selection.anchor.getNode();\n if ($isListItemNode(node) || $isListItemNode(node.getParent())) return false;\n if ($isCodeNode(node) || $isCodeNode(node.getParent())) return false;\n }\n event.preventDefault();\n editor.read(() => {\n onSubmit?.($convertToMarkdownString(CHAT_TRANSFORMERS));\n });\n\n return true;\n },\n COMMAND_PRIORITY_HIGH,\n );\n }, [editor, onSubmit]);\n\n return null;\n}\n\ninterface LexicalEditorProps extends RichTextInputProps {\n forwardedRef?: React.Ref<RichTextInputHandle>;\n}\n\nexport function LexicalEditor({\n defaultValue,\n onChange,\n onSubmit,\n placeholder,\n disabled,\n className,\n autoFocus,\n forwardedRef,\n}: LexicalEditorProps) {\n const editorRef = useRef<LexicalEditorType | null>(null);\n\n useImperativeHandle(forwardedRef, () => ({\n clear() {\n editorRef.current?.update(() => {\n const root = $getRoot();\n root.clear();\n root.append($createParagraphNode());\n });\n },\n focus() {\n editorRef.current?.focus();\n },\n }));\n\n const initialConfig = {\n namespace: 'RichTextInput',\n nodes: [ListNode, ListItemNode, LinkNode, AutoLinkNode, CodeNode, CodeHighlightNode],\n editable: !disabled,\n editorState: defaultValue ? () => $convertFromMarkdownString(defaultValue, CHAT_TRANSFORMERS) : undefined,\n onError: (error: Error) => console.error('[RichTextInput]', error),\n };\n\n return (\n <LexicalComposer initialConfig={initialConfig}>\n <div className={className}>\n <div className=\"relative\">\n <RichTextPlugin\n contentEditable={\n <ContentEditable\n autoFocus={autoFocus} // eslint-disable-line jsx-a11y/no-autofocus\n className=\"outline-none w-full max-h-[7.5rem] overflow-y-auto [&_ul]:list-disc [&_ul]:pl-5 [&_ol]:list-decimal [&_ol]:pl-5 [&_p]:my-0 [&_ul]:my-0 [&_ol]:my-0 [&_pre]:my-0 [&_blockquote]:my-0\"\n />\n }\n placeholder={\n placeholder ? (\n <div className=\"pointer-events-none absolute top-0 left-0 select-none text-muted-foreground\">\n {placeholder}\n </div>\n ) : null\n }\n ErrorBoundary={LexicalErrorBoundary}\n />\n </div>\n </div>\n <HistoryPlugin />\n <ListPlugin />\n <LinkPlugin />\n <MarkdownShortcutPlugin transformers={CHAT_TRANSFORMERS} />\n {onChange && (\n <OnChangePlugin\n onChange={(editorState) => {\n editorState.read(() => {\n onChange($convertToMarkdownString(CHAT_TRANSFORMERS));\n });\n }}\n />\n )}\n <SubmitPlugin onSubmit={onSubmit} />\n <EditorRefPlugin editorRef={editorRef} />\n </LexicalComposer>\n );\n}\n","import React, { forwardRef } from 'react';\n\nimport { LexicalEditor } from './LexicalEditor';\n\n/**\n * Props for RichTextInput. Intentionally free of any editor-library types\n * so the underlying implementation (currently Lexical) can be swapped out\n * without changing the public API.\n */\nexport interface RichTextInputProps {\n /** Initial markdown content (uncontrolled) */\n defaultValue?: string;\n /** Fired with a markdown string on every content change */\n onChange?: (markdown: string) => void;\n /** Fired with a markdown string when the user submits (Enter without Shift) */\n onSubmit?: (markdown: string) => void;\n placeholder?: string;\n disabled?: boolean;\n /**\n * Applied to the editor container. Use this to control sizing, padding,\n * background, border, etc.\n * e.g. \"min-h-[44px] px-3 py-2.5 rounded-lg border bg-background\"\n */\n className?: string;\n autoFocus?: boolean;\n}\n\n/** Imperative handle for programmatic control of the input */\nexport interface RichTextInputHandle {\n /** Clears all content and resets the editor */\n clear: () => void;\n /** Focuses the editor */\n focus: () => void;\n}\n\nexport const RichTextInput = forwardRef<RichTextInputHandle, RichTextInputProps>((props, ref) => (\n <LexicalEditor {...props} forwardedRef={ref} />\n));\nRichTextInput.displayName = 'RichTextInput';\n","import React, { useRef, useState, useCallback, type DragEvent, type ClipboardEvent } from 'react';\nimport { ArrowUp, CaretRight, Files, Plus, Stop } from '@phosphor-icons/react';\n\nimport { RichTextInput, type RichTextInputHandle } from '../rich-text-input';\nimport { cn } from '../../lib/utils';\nimport { useConversation } from './ConversationContext';\nimport type { Attachment, Collection, ContextPill, FileAttachment, Page } from './types';\nimport { ContextPillBadge } from './ContextPillBadge';\nimport { InputImageThumbnails } from './AttachmentPreviews';\nimport { mimeTypeToIconType } from './attachmentUtils';\nimport { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem } from '../ui/dropdown-menu';\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';\nimport { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from '../ui/command';\n\nexport interface ConversationInputProps {\n placeholder?: string;\n attachments?: Attachment[];\n collections?: Collection[];\n pages?: Page[];\n acceptedFileTypes?: string[];\n disabled?: boolean;\n isElevated?: boolean;\n className?: string;\n}\n\nconst COLLECTION_SEARCH_THRESHOLD = 5;\nconst MAX_FILE_ATTACHMENTS = 10;\n\nfunction isFileAccepted(file: File, acceptedTypes?: string[]): boolean {\n if (!acceptedTypes || acceptedTypes.length === 0) return true;\n\n return acceptedTypes.some((type) => {\n if (type.startsWith('.')) return file.name.toLowerCase().endsWith(type.toLowerCase());\n if (type.endsWith('/*')) return file.type.startsWith(type.slice(0, -1));\n\n return file.type === type;\n });\n}\n\nfunction attachmentToPill(attachment: Attachment): ContextPill {\n switch (attachment.type) {\n case 'file':\n return {\n id: attachment.id,\n label: attachment.file.name,\n iconType: mimeTypeToIconType(attachment.file.mimeType),\n loading: attachment.loading,\n progress: attachment.progress,\n };\n case 'page':\n return { id: attachment.id, label: attachment.page.title, iconType: 'page' };\n case 'entity':\n return { id: attachment.id, label: attachment.entity.title, iconType: attachment.entity.type };\n }\n}\n\nexport const ConversationInput = ({\n placeholder = 'Ask anything…',\n attachments = [],\n collections = [],\n pages = [],\n acceptedFileTypes,\n disabled = false,\n isElevated = false,\n className,\n}: ConversationInputProps) => {\n const { callbacks, isStreaming } = useConversation();\n const [hasText, setHasText] = useState(false);\n const latestMarkdown = useRef('');\n const editorRef = useRef<RichTextInputHandle>(null);\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n const [isDragging, setIsDragging] = useState(false);\n const dragCounterRef = useRef(0);\n\n const [menuOpen, setMenuOpen] = useState(false);\n const [collectionPickerOpen, setCollectionPickerOpen] = useState(false);\n const collectionCloseTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n const collectionHasFocus = useRef(false);\n\n const openCollectionPicker = useCallback(() => {\n if (collectionCloseTimer.current) {\n clearTimeout(collectionCloseTimer.current);\n collectionCloseTimer.current = null;\n }\n setCollectionPickerOpen(true);\n }, []);\n\n const scheduleCollectionPickerClose = useCallback(() => {\n collectionCloseTimer.current = setTimeout(() => {\n if (!collectionHasFocus.current) {\n setCollectionPickerOpen(false);\n }\n }, 150);\n }, []);\n\n const imageAttachments = attachments.filter(\n (a): a is FileAttachment => a.type === 'file' && a.file.mimeType.startsWith('image/'),\n );\n const otherAttachments = attachments.filter((a) => !(a.type === 'file' && a.file.mimeType.startsWith('image/')));\n const pills = otherAttachments.map(attachmentToPill);\n const hasUploadingAttachments = attachments.some((a) => a.type === 'file' && a.loading);\n const isSendDisabled = disabled || isStreaming || hasUploadingAttachments;\n const showMenu = collections.length > 0 || pages.length > 0;\n\n const handleSend = useCallback(\n (markdown?: string) => {\n const trimmed = (markdown ?? latestMarkdown.current).trim();\n if (!trimmed || isSendDisabled) return;\n callbacks.onSend?.(trimmed, attachments.length > 0 ? attachments : undefined);\n editorRef.current?.clear();\n editorRef.current?.focus();\n },\n [isSendDisabled, callbacks, attachments],\n );\n\n const handleStop = useCallback(() => {\n callbacks.onStop?.();\n }, [callbacks]);\n\n const handleCollectionSelect = useCallback(\n (collection: Collection) => {\n setCollectionPickerOpen(false);\n setMenuOpen(false);\n callbacks.onAttachmentAdd?.({\n type: 'select-entity',\n entity: { id: collection.id, type: 'collection', title: collection.title, url: collection.url },\n });\n },\n [callbacks],\n );\n\n const handlePageSelect = useCallback(() => {\n if (!pages[0]) return;\n setMenuOpen(false);\n callbacks.onAttachmentAdd?.({ type: 'select-page', page: pages[0] });\n }, [pages, callbacks]);\n\n const fileAttachmentCount = attachments.filter((a) => a.type === 'file').length;\n\n const addFiles = useCallback(\n (files: File[]) => {\n const toAdd = files.slice(0, MAX_FILE_ATTACHMENTS - fileAttachmentCount);\n if (toAdd.length < files.length) alert(`You can only attach up to ${MAX_FILE_ATTACHMENTS} files at a time.`);\n if (toAdd.length > 0) callbacks.onAttachmentAdd?.({ type: 'add-files', files: toAdd });\n },\n [fileAttachmentCount, callbacks],\n );\n\n const handleFileChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const files = Array.from(e.target.files ?? []);\n e.target.value = '';\n if (files.length > 0) addFiles(files);\n },\n [addFiles],\n );\n\n const handleDragEnter = useCallback((e: DragEvent) => {\n e.preventDefault();\n dragCounterRef.current++;\n setIsDragging(true);\n }, []);\n\n const handleDragLeave = useCallback((e: DragEvent) => {\n e.preventDefault();\n dragCounterRef.current--;\n if (dragCounterRef.current === 0) setIsDragging(false);\n }, []);\n\n const handleDragOver = useCallback((e: DragEvent) => {\n e.preventDefault();\n e.dataTransfer.dropEffect = 'copy';\n }, []);\n\n const handleDrop = useCallback(\n (e: DragEvent) => {\n e.preventDefault();\n dragCounterRef.current = 0;\n setIsDragging(false);\n if (disabled || isStreaming) return;\n const dropped = Array.from(e.dataTransfer.files);\n const files = dropped.filter((f) => isFileAccepted(f, acceptedFileTypes));\n if (dropped.length > 0 && files.length === 0) {\n alert(\"That file type isn't supported. Please try a different format.\");\n\n return;\n }\n if (files.length > 0) addFiles(files);\n },\n [disabled, isStreaming, acceptedFileTypes, addFiles],\n );\n\n const handlePaste = useCallback(\n (e: ClipboardEvent) => {\n if (disabled || isStreaming) return;\n const files: File[] = [];\n if (e.clipboardData.files.length > 0) {\n files.push(...Array.from(e.clipboardData.files));\n } else {\n for (const item of Array.from(e.clipboardData.items)) {\n if (item.kind === 'file') {\n const file = item.getAsFile();\n if (file) files.push(file);\n }\n }\n }\n const accepted = files.filter((f) => isFileAccepted(f, acceptedFileTypes));\n if (files.length > 0 && accepted.length === 0) {\n e.preventDefault();\n e.stopPropagation();\n alert(\"That file type isn't supported. Please try a different format.\");\n\n return;\n }\n if (accepted.length > 0) {\n e.preventDefault();\n e.stopPropagation();\n addFiles(accepted);\n }\n },\n [disabled, isStreaming, acceptedFileTypes, addFiles],\n );\n\n return (\n <div className={cn('w-full', className)}>\n <input\n ref={fileInputRef}\n type=\"file\"\n multiple\n accept={acceptedFileTypes?.join(',')}\n className=\"sr-only\"\n onChange={handleFileChange}\n />\n <div\n className={cn(\n 'relative w-full rounded-t-2xl rounded-b-lg bg-gradient-yellowfin p-2 transition-shadow duration-300',\n isElevated && 'shadow-[0_-20px_25px_-5px_rgba(0,0,0,0.1),0_-8px_10px_-6px_rgba(0,0,0,0.1)]',\n )}\n >\n <div\n className=\"relative w-full rounded-t-lg rounded-b bg-surface shadow-md\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n onPasteCapture={handlePaste}\n >\n {isDragging && (\n <div\n className=\"absolute inset-0 z-10 flex items-center justify-center rounded-t-lg rounded-b pointer-events-none\"\n style={{ backgroundColor: 'color-mix(in srgb, var(--bfc-surface) 90%, transparent)' }}\n >\n <div className=\"flex flex-col items-center gap-1.5\">\n <Files className=\"h-5 w-5 text-muted-foreground\" />\n <span className=\"text-sm text-muted-foreground\">Drop files here</span>\n </div>\n </div>\n )}\n <InputImageThumbnails\n attachments={imageAttachments}\n onRemove={(a) => callbacks.onAttachmentRemove?.(a)}\n className=\"px-3 pt-3\"\n />\n {pills.length > 0 && (\n <div className=\"flex flex-wrap gap-1.5 px-3 pt-3\">\n {pills.map((pill) => {\n const attachment = otherAttachments.find((a) => a.id === pill.id);\n\n return (\n <ContextPillBadge\n key={pill.id}\n pill={pill}\n onRemove={attachment ? () => callbacks.onAttachmentRemove?.(attachment) : undefined}\n />\n );\n })}\n </div>\n )}\n\n <RichTextInput\n ref={editorRef}\n placeholder={placeholder}\n disabled={disabled}\n autoFocus // eslint-disable-line jsx-a11y/no-autofocus\n className=\"w-full bg-transparent p-4 text-sm disabled:cursor-not-allowed disabled:opacity-50\"\n onChange={(markdown) => {\n latestMarkdown.current = markdown;\n setHasText(markdown.trim().length > 0);\n }}\n onSubmit={handleSend}\n />\n\n <div className=\"flex items-center justify-between px-2 pb-2\">\n <div className=\"flex items-center gap-1\">\n {showMenu ? (\n <DropdownMenu open={menuOpen} onOpenChange={setMenuOpen}>\n <DropdownMenuTrigger asChild disabled={disabled || isStreaming}>\n <button\n type=\"button\"\n className={cn(\n 'inline-flex h-6 w-6 items-center justify-center rounded text-default hover:bg-muted transition-all',\n menuOpen && 'shadow-md dark:shadow-md',\n )}\n disabled={disabled || isStreaming}\n >\n <Plus className={cn('h-4 w-4 transition-transform duration-200', menuOpen && '-rotate-45')} />\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n side=\"right\"\n className=\"rounded border-none shadow-md bg-surface p-2 min-w-[200px] dark:border-none dark:shadow-md\"\n >\n {collections.length > 0 && (\n <Popover open={collectionPickerOpen} onOpenChange={setCollectionPickerOpen}>\n <PopoverTrigger asChild>\n <DropdownMenuItem\n className=\"p-2\"\n onSelect={(e) => e.preventDefault()}\n onMouseEnter={openCollectionPicker}\n onMouseLeave={scheduleCollectionPickerClose}\n onFocus={openCollectionPicker}\n >\n Collection\n <CaretRight className=\"ml-auto h-4 w-4\" />\n </DropdownMenuItem>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-[200px] rounded border-none p-0 shadow-md dark:border-none dark:shadow-md\"\n side=\"right\"\n align=\"start\"\n onMouseEnter={openCollectionPicker}\n onMouseLeave={scheduleCollectionPickerClose}\n onFocusCapture={() => {\n collectionHasFocus.current = true;\n }}\n onBlurCapture={() => {\n collectionHasFocus.current = false;\n scheduleCollectionPickerClose();\n }}\n >\n <Command>\n {collections.length > COLLECTION_SEARCH_THRESHOLD && (\n <CommandInput placeholder=\"Search collections...\" />\n )}\n <CommandList>\n <CommandEmpty>No collections found.</CommandEmpty>\n <CommandGroup>\n {collections.map((collection) => (\n <CommandItem\n key={collection.id}\n value={collection.title}\n onSelect={() => handleCollectionSelect(collection)}\n >\n {collection.title}\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n )}\n {pages.length > 0 && (\n <DropdownMenuItem className=\"p-2\" onSelect={handlePageSelect}>\n Attach page\n </DropdownMenuItem>\n )}\n <DropdownMenuItem className=\"p-2\" onSelect={() => fileInputRef.current?.click()}>\n Add image or file\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n ) : (\n <button\n type=\"button\"\n className=\"inline-flex h-6 w-6 items-center justify-center rounded text-default hover:bg-muted transition-all\"\n disabled={disabled || isStreaming}\n onClick={() => fileInputRef.current?.click()}\n >\n <Plus className=\"h-4 w-4\" />\n </button>\n )}\n </div>\n {isStreaming ? (\n <button\n type=\"button\"\n className=\"inline-flex h-6 w-6 items-center justify-center rounded transition-colors bg-input text-primary-foreground hover:bg-input/90\"\n onClick={handleStop}\n disabled={disabled}\n >\n <Stop className=\"h-4 w-4\" weight=\"fill\" />\n </button>\n ) : (\n <button\n type=\"button\"\n className={cn(\n 'inline-flex h-6 w-6 items-center justify-center rounded transition-colors',\n hasText && !hasUploadingAttachments\n ? 'bg-input text-primary-foreground hover:bg-input/90'\n : 'bg-muted text-muted-foreground',\n )}\n onClick={() => handleSend()}\n disabled={isSendDisabled || !hasText}\n >\n <ArrowUp className=\"h-4 w-4\" weight=\"bold\" />\n </button>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nConversationInput.displayName = 'ConversationInput';","import React from 'react';\n\nimport { cn } from '../../lib/utils';\nimport { useConversation } from './ConversationContext';\nimport type { Suggestion } from './types';\n\nexport interface ConversationSuggestionsProps {\n items: Suggestion[];\n className?: string;\n}\n\nexport const ConversationSuggestions = ({ items, className }: ConversationSuggestionsProps) => {\n const { callbacks } = useConversation();\n\n if (items.length === 0) return null;\n\n return (\n <div className={cn('flex flex-wrap justify-end gap-2 px-2 py-2', className)}>\n {items.map((suggestion) => (\n <button\n key={suggestion.id}\n type=\"button\"\n className=\"rounded-full border border-border px-4 py-2 text-sm text-foreground hover:bg-muted transition-colors\"\n onClick={() => callbacks.onSuggestionClick?.(suggestion)}\n >\n {suggestion.text}\n </button>\n ))}\n </div>\n );\n};\n\nConversationSuggestions.displayName = 'ConversationSuggestions';","import React from 'react';\n\nimport { cn } from '../../lib/utils';\nimport type { ConversationAction } from './types';\n\nexport interface ConversationActionsProps {\n actions: ConversationAction[];\n onActionClick?: (action: ConversationAction) => void;\n className?: string;\n}\n\nexport const ConversationActions = ({ actions, onActionClick, className }: ConversationActionsProps) => {\n if (actions.length === 0) return null;\n\n return (\n <div className={cn('flex flex-wrap gap-2 px-2 py-2', className)}>\n {actions.map((action) => (\n <button\n key={action.id}\n type=\"button\"\n className=\"inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm text-foreground hover:bg-muted transition-colors\"\n onClick={() => onActionClick?.(action)}\n >\n {action.label}\n {action.description && <span className=\"text-muted-foreground\">{action.description}</span>}\n </button>\n ))}\n </div>\n );\n};\n\nConversationActions.displayName = 'ConversationActions';","import React from 'react';\n\nimport { SweepText, type SweepTextVariant } from '@/components/ui/sweep-text';\n\nexport interface ConversationStatusProps {\n className?: string;\n children?: React.ReactNode;\n variant?: SweepTextVariant;\n}\n\nexport const ConversationStatus = ({\n className,\n children = 'Working',\n variant = 'yellowfin',\n}: ConversationStatusProps) => {\n return (\n <SweepText className={className} variant={variant}>\n {children}\n </SweepText>\n );\n};\n\nConversationStatus.displayName = 'ConversationStatus';\n","import React from 'react';\nimport { ClockCounterClockwise, Plus, X } from '@phosphor-icons/react';\n\nimport { Button } from '../ui/button';\nimport { AIBadge } from '../ai-button/ai-badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '../ui/tooltip';\nimport { useConversation } from './ConversationContext';\n\nimport { cn } from '@/lib/utils';\n\nexport interface ConversationHeaderProps {\n className?: string;\n children?: React.ReactNode;\n headerTitle?: string;\n showHistoryButton?: boolean;\n showBorder?: boolean;\n}\n\nconst HeaderButtonGroup = ({\n className,\n showHistoryButton = false,\n onClose,\n onHistoryClick,\n onNewConversationClick,\n}: {\n className?: string;\n showHistoryButton?: boolean;\n onClose?: () => void;\n onHistoryClick?: () => void;\n onNewConversationClick?: () => void;\n}) => {\n return (\n <div className={cn('flex items-center h-8', className)}>\n {showHistoryButton && (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" onClick={onHistoryClick}>\n <ClockCounterClockwise size={24} />\n </Button>\n </TooltipTrigger>\n <TooltipContent>Conversation history</TooltipContent>\n </Tooltip>\n )}\n\n <Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"\" onClick={onNewConversationClick}>\n <Plus size={24} />\n </Button>\n </TooltipTrigger>\n <TooltipContent>New conversation</TooltipContent>\n </Tooltip>\n <div className=\"mx-1.5 w-px h-4 bg-base-primary\" />\n <Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" onClick={onClose}>\n <X size={24} />\n </Button>\n </TooltipTrigger>\n <TooltipContent>Close Ask Brainfish</TooltipContent>\n </Tooltip>\n </div>\n );\n};\n\nexport const ConversationHeader = ({\n className,\n headerTitle,\n showHistoryButton = false,\n showBorder = false,\n}: ConversationHeaderProps) => {\n const { callbacks } = useConversation();\n\n return (\n <div\n className={cn(\n 'flex items-center justify-between border-b p-2 transition-colors duration-200',\n showBorder ? 'border-border' : 'border-transparent',\n className,\n )}\n >\n <div className=\"flex items-center gap-2\">\n <AIBadge size={24} />\n {headerTitle && <div className=\"text-dark text-sm\">{headerTitle}</div>}\n </div>\n <HeaderButtonGroup\n className=\"self-end\"\n showHistoryButton={showHistoryButton}\n onClose={callbacks.onClose}\n onHistoryClick={callbacks.onHistoryClick}\n onNewConversationClick={callbacks.onNewConversationClick}\n />\n </div>\n );\n};\n\nConversationHeader.displayName = 'ConversationHeader';\n","import React, { type ReactNode, useRef, useEffect, useLayoutEffect, useState } from 'react';\n\nimport { TooltipProvider } from '../ui/tooltip';\nimport { cn } from '../../lib/utils';\nimport { ConversationProvider } from './ConversationContext';\nimport { ConversationMessages } from './ConversationMessages';\nimport { ConversationInput } from './ConversationInput';\nimport { ConversationSuggestions } from './ConversationSuggestions';\nimport { ConversationActions } from './ConversationActions';\nimport { ConversationStatus } from './ConversationStatus';\nimport { ConversationHeader } from './ConversationHeader';\nimport type {\n Message,\n ConversationCallbacks,\n Suggestion,\n ConversationAction,\n Attachment,\n Collection,\n Page,\n} from './types';\nimport { Logo } from '../logo';\nimport {\n createWelcomeMessageAt,\n getWelcomeText,\n hasUsedConversationBefore,\n markConversationAsUsed,\n streamWelcomeText,\n WELCOME_STREAM_CHUNK_SIZE,\n} from './welcome';\n\ninterface ConversationProps {\n messages: Message[];\n callbacks: ConversationCallbacks;\n children?: ReactNode;\n // Props for simple (non-compound) mode\n suggestions?: Suggestion[];\n actions?: ConversationAction[];\n placeholder?: string;\n attachments?: Attachment[];\n collections?: Collection[];\n pages?: Page[];\n acceptedFileTypes?: string[];\n showBranding?: boolean;\n className?: string;\n showHistoryButton?: boolean;\n headerTitle?: string;\n}\n\nconst ConversationRoot = ({\n messages,\n callbacks,\n children,\n suggestions = [],\n actions = [],\n placeholder,\n attachments,\n collections,\n pages,\n acceptedFileTypes,\n showBranding = false,\n className,\n showHistoryButton = false,\n headerTitle = 'Ask Brainfish',\n}: ConversationProps) => {\n const isCompound = !!children;\n const bottomRef = useRef<HTMLDivElement>(null);\n const [bottomHeight, setBottomHeight] = useState(0);\n const [hasContentBehind, setContentBehind] = useState(false);\n const [isScrolledFromTop, setIsScrolledFromTop] = useState(false);\n const [isFirstVisit] = useState(() => {\n if (typeof window === 'undefined') return true;\n\n return !hasUsedConversationBefore();\n });\n\n const welcomeText = getWelcomeText(isFirstVisit);\n const [welcomeMessage, setWelcomeMessage] = useState<Message>(() =>\n createWelcomeMessageAt(welcomeText, WELCOME_STREAM_CHUNK_SIZE),\n );\n\n const displayMessages = messages.length > 0 ? messages : [welcomeMessage];\n\n useEffect(() => {\n if (isFirstVisit) {\n markConversationAsUsed();\n }\n }, [isFirstVisit]);\n\n useLayoutEffect(() => {\n if (messages.length > 0) return;\n\n return streamWelcomeText(welcomeText, setWelcomeMessage);\n }, [messages.length, welcomeText]);\n\n useEffect(() => {\n const el = bottomRef.current;\n if (!el) return;\n\n const observer = new ResizeObserver(([entry]) => {\n if (entry) setBottomHeight(entry.borderBoxSize[0]?.blockSize ?? entry.contentRect.height);\n });\n observer.observe(el);\n\n return () => observer.disconnect();\n }, []);\n\n return (\n <TooltipProvider>\n <ConversationProvider\n messages={displayMessages}\n callbacks={callbacks}\n reportScrolledFromTop={setIsScrolledFromTop}\n >\n <div className={cn('flex h-full flex-col pb-4', className)}>\n <ConversationHeader\n headerTitle={headerTitle}\n showHistoryButton={showHistoryButton}\n showBorder={isScrolledFromTop}\n />\n {isCompound ? (\n children\n ) : (\n <>\n <div className=\"relative min-h-0 flex-1 grid grid-rows-[1fr] grid-cols-[1fr]\">\n <div className=\"row-start-1 col-start-1 min-h-0\">\n <ConversationMessages bottomPadding={bottomHeight} onContentBehind={setContentBehind} />\n </div>\n <div ref={bottomRef} className=\"row-start-1 col-start-1 self-end z-10 pointer-events-none px-2\">\n <div className=\"pointer-events-auto\">\n {suggestions.length > 0 && <ConversationSuggestions items={suggestions} />}\n {actions.length > 0 && (\n <ConversationActions\n actions={actions}\n onActionClick={(action) => callbacks.onActionClick?.(action, '')}\n />\n )}\n <ConversationInput\n placeholder={placeholder}\n attachments={attachments}\n collections={collections}\n pages={pages}\n acceptedFileTypes={acceptedFileTypes}\n isElevated={hasContentBehind}\n />\n </div>\n </div>\n </div>\n {showBranding && (\n <div className=\"relative z-10 pt-2\">\n <Branding />\n </div>\n )}\n </>\n )}\n </div>\n </ConversationProvider>\n </TooltipProvider>\n );\n};\n\nconst Branding = () => (\n <div className=\"flex items-center justify-center gap-1 text-[0.625rem] text-subtle\">\n <span>Powered by</span>\n <Logo variant=\"full\" color=\"outline\" className=\"h-2.5 w-auto\" />\n </div>\n);\n\nBranding.displayName = 'Branding';\n\nexport const Conversation = Object.assign(ConversationRoot, {\n Header: ConversationHeader,\n Messages: ConversationMessages,\n Input: ConversationInput,\n Suggestions: ConversationSuggestions,\n Actions: ConversationActions,\n Loading: ConversationStatus,\n});\n"],"names":["CONVERSATION_USED_STORAGE_KEY","WELCOME_MESSAGE_ID","buildStreamingMessage","id","text","charIndex","chunk","slice","role","content","type","status","length","streamWelcomeText","onUpdate","startCharIndex","interval","setInterval","done","clearInterval","streamTextAsMessage","ConversationContext","createContext","defaultCallbacks","onCopy","_messageId","navigator","clipboard","writeText","useConversation","ctx","useContext","Error","ConversationProvider","messages","callbacks","reportScrolledFromTop","children","isStreaming","some","m","callbacksRef","useRef","useLayoutEffect","current","stableCallbacks","useMemo","onSend","args","onStop","onSuggestionClick","onActionClick","onCitationClick","onAttachmentAdd","onAttachmentRemove","onClose","onHistoryClick","onNewConversationClick","value","React","createElement","Provider","TextBlockComponent","block","FormattedMessage","message","CitationBlock","citations","className","map","citation","CitationBadge","key","onClick","Tooltip","TooltipTrigger","asChild","Button","size","variant","index","TooltipContent","side","title","url","BlockRenderer","DEFAULT_STATUS","TOOL_LABELS","keyword_search","get_document","create_document","update_document","labelForToolUse","name","replace","toLowerCase","getConversationStatusLabel","blocks","latest","origin","findLast","b","toolUseId","ConversationMessageAssistant","isPending","isCompleted","handleCopy","useCallback","textContent","filter","join","hasVisibleContent","isError","statusLabel","RippleStatus","cn","i","ActionBarButton","tooltip","Copy","displayName","active","ICON_MAP","image","Image","video","Video","pdf","FilePdf","doc","FileDoc","file","File","channel","ChatsTeardrop","collection","Folder","article","FileText","page","Browser","ContextPillBadge","pill","onRemove","Icon","iconType","fillPercent","loading","progress","style","width","CircleNotch","label","X","Lightbox","src","alt","open","DialogPrimitive","Root","onOpenChange","o","Portal","Overlay","Content","translate","onPointerDownOutside","Title","Thumbnail","objectUrl","setObjectUrl","useState","lightboxOpen","setLightboxOpen","useEffect","obj","URL","createObjectURL","revokeObjectURL","Fragment","disabled","InputImageThumbnails","attachments","images","a","mimeType","startsWith","raw","MessageImageThumbnails","attachmentId","fileName","mimeTypeToIconType","includes","attachmentBlockKey","entity","attachmentBlockToPill","ConversationMessageUser","textBlocks","imageBlocks","otherAttachmentBlocks","paragraphs","split","p","trim","paragraph","ConversationMessage","ConversationMessages","bottomPadding","onContentBehind","onScrolledFromTop","handleScrolledFromTop","viewportRef","sentinelRef","viewport","scrollTop","scrollHeight","handleScroll","addEventListener","passive","removeEventListener","sentinel","observer","IntersectionObserver","entry","isIntersecting","root","threshold","rootMargin","observe","disconnect","ScrollArea","ref","height","r","n","e","t","URLSearchParams","append","search","toString","window","document","u","c","l","tag","f","initialConfig","d","theme","namespace","nodes","onError","editorState","s","html","getTheme","E","editable","update","isEmpty","activeElement","getRootElement","select","parseEditorState","setEditorState","setEditable","initialValueFn","isEditable","subscribe","registerEditableListener","Map","z","getElementByKey","getKey","ownerDocument","defaultView","getComputedStyle","O","getParentOrThrow","A","direction","M","getStartEndPoints","isSelected","isBackward","getNode","is","g","h","__text","$","getStyle","F","set","Q","Y","writingMode","anchor","Z","te","focus","S","x","T","isInline","w","ne","modify","ee","B","_","documentMode","yt","__key","At","Object","getPrototypeOf","constructor","bt","Set","getNodes","has","canIndent","add","InputEvent","Symbol","for","J","tt","st","q","et","nt","it","this","v","W","watched","unwatched","ot","rt","ct","U","at","call","ut","ft","ht","lt","gt","bind","dispose","pt","vt","clear","format","Et","prototype","brand","valueOf","toJSON","peek","defineProperty","get","N","build","config","defaultSelection","register","getOutput","registerRootListener","contains","preventScroll","$onClear","registerCommand","xt","parse","wt$1","$config","extends","stateConfigs","flat","stateConfig","getFormat","getFormatFlags","hasFormat","setFormat","toggleFormat","createDOM","updateDOM","Nt","wt","Ft","It","getEditorState","registerUpdateListener","_t","jt","Array","isArray","Tt","Bt","Gt","Vt","builder","configs","_dependency","_peerNameSet","extension","state","_signal","mergeConfigs","mergeConfig","init","String","getDependency","getInitDependency","getDirectDependentNames","getPeer","getInitPeer","getPeerNameSet","getInitResult","assign","registerState","initResult","getSignal","output","afterRegistration","extensionNameMap","getExtensionInitDependency","getExtensionDependency","getExtensionRep","getState","incomingEdges","peerDependencies","Zt","Jt","Ht","setOptions","updateOptions","$initialEditorState","initialized","y","qt","Xt","Yt","roots","outgoingConfigEdges","conflicts","_sortedExtensionReps","PACKAGE_VERSION","addExtension","fromExtensions","push","maybeFromEditor","fromEditor","constructEditor","buildCreateEditorArgs","sortedExtensionReps","buildEditor","R","registerEditor","setRootElement","hasExtensionByName","addEdge","conflictsWith","dependencies","keys","Wt","values","AbortController","abort","signal","disableEvents","parentEditor","export","entries","import","re","ce","watchedNodeKeys","read","delete","C","watchNodeKey","dt","D","de","getType","clone","importJSON","fe","updateFromJSON","importDOM","hr","conversion","ue","priority","exportDOM","element","j","getTextContent","node","he","ge","canBeEmpty","nodeSelections","_config","hrSelected","I","target","k","shiftKey","registerMutationListener","H","domNode","selectedSignal","P","$canIndent","maxIndent","K","preventDefault","isBefore","V","dispatchCommand","G","getIndent","setIndent","L","pe","getChildren","__indent","location","data","JSON","protocol","payload","functionId","setTextNodeRange","insertRawText","getTextContentSize","stopImmediatePropagation","excludeFromCopy","after","createDocumentFragment","extractWithChild","replaceChildren","replaceWith","nodeName","_htmlConversions","forChild","childNodes","textAlign","concat","nextSibling","previousSibling","getData","console","error","body","getNextSibling","insertAfter","insertBefore","remove","DOMParser","parseFromString","trustedTypes","createPolicy","createHTML","pop","insertParagraph","insertNodes","insertText","selection","isCollapsed","getFlipped","dirty","exportJSON","async","Promise","_window","cssText","createTextNode","Range","setStart","setEnd","removeAllRanges","addRange","ClipboardEvent","clearTimeout","setTimeout","execCommand","anchorNode","focusNode","clipboardData","setData","global","innerHTML","stringify","caretRangeFromPoint","startContainer","offset","startOffset","caretPositionFromPoint","offsetNode","Ct","test","platform","userAgent","Dt","MSStream","quote","blockquote","St","super","getFormatType","getDirection","dir","Ot","insertNewAfter","setDirection","collapseAtStart","forEach","canMergeWhenEmpty","__tag","getTag","setTag","getWritable","heading","h1","h2","h3","h4","h5","h6","firstChild","span","Mt","getLastDescendant","fontSize","DragEvent","dataTransfer","types","from","files","Kt","kt","deleteCharacter","deleteNodes","deleteWord","deleteLine","removeText","formatText","insertLineBreak","setStyle","Math","max","selectPrevious","isIsolated","selectNext","getChildrenSize","getFirstDescendant","language","blur","clientX","clientY","getIndexWithinParent","KeyboardEvent","mt","editor","ErrorBoundary","getDecorators","registerDecoratorListener","_onError","fallback","isComposing","contentEditable","placeholder","ariaActiveDescendant","ariaAutoComplete","ariaControls","ariaDescribedBy","ariaErrorMessage","ariaExpanded","ariaInvalid","ariaLabel","ariaLabelledBy","ariaMultiline","ariaOwns","ariaRequired","autoCapitalize","spellCheck","tabIndex","delay","externalHistoryState","hasStrictIndent","shouldPreserveNumbering","hasNodes","restoreNumbering","validateUrl","attributes","ignoreHistoryMergeTagChange","ignoreSelectionChange","onChange","dirtyElements","dirtyLeaves","prevEditorState","tags","nodeKey","decorate","regExp","transformers","didCatch","resetErrorBoundary","getDerivedStateFromError","props","onReset","reason","setState","componentDidCatch","componentDidUpdate","resetKeys","next","prev","render","fallbackRender","FallbackComponent","border","color","padding","CHAT_TRANSFORMERS","ORDERED_LIST","UNORDERED_LIST","LINK","INLINE_CODE","CODE","EditorRefPlugin","editorRef","useLexicalComposerContext","SubmitPlugin","onSubmit","KEY_ENTER_COMMAND","event","$getSelection","$isRangeSelection","$isListItemNode","getParent","$isCodeNode","$convertToMarkdownString","COMMAND_PRIORITY_HIGH","LexicalEditor","defaultValue","autoFocus","forwardedRef","useImperativeHandle","$getRoot","$createParagraphNode","ListNode","ListItemNode","LinkNode","AutoLinkNode","CodeNode","CodeHighlightNode","$convertFromMarkdownString","LexicalComposer","RichTextPlugin","ContentEditable","LexicalErrorBoundary","HistoryPlugin","ListPlugin","LinkPlugin","MarkdownShortcutPlugin","OnChangePlugin","RichTextInput","forwardRef","isFileAccepted","acceptedTypes","endsWith","attachmentToPill","attachment","ConversationInput","collections","pages","acceptedFileTypes","isElevated","hasText","setHasText","latestMarkdown","fileInputRef","isDragging","setIsDragging","dragCounterRef","menuOpen","setMenuOpen","collectionPickerOpen","setCollectionPickerOpen","collectionCloseTimer","collectionHasFocus","openCollectionPicker","scheduleCollectionPickerClose","imageAttachments","otherAttachments","pills","hasUploadingAttachments","isSendDisabled","showMenu","handleSend","markdown","trimmed","handleStop","handleCollectionSelect","handlePageSelect","fileAttachmentCount","addFiles","toAdd","alert","handleFileChange","handleDragEnter","handleDragLeave","handleDragOver","dropEffect","handleDrop","dropped","handlePaste","item","items","kind","getAsFile","accepted","stopPropagation","multiple","accept","onDragEnter","onDragLeave","onDragOver","onDrop","onPasteCapture","backgroundColor","Files","find","DropdownMenu","DropdownMenuTrigger","Plus","DropdownMenuContent","align","Popover","PopoverTrigger","DropdownMenuItem","onSelect","onMouseEnter","onMouseLeave","onFocus","CaretRight","PopoverContent","onFocusCapture","onBlurCapture","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","click","Stop","weight","ArrowUp","ConversationSuggestions","suggestion","ConversationActions","actions","action","description","ConversationStatus","SweepText","HeaderButtonGroup","showHistoryButton","ClockCounterClockwise","ConversationHeader","headerTitle","showBorder","AIBadge","Branding","Logo","Conversation","suggestions","showBranding","isCompound","bottomRef","bottomHeight","setBottomHeight","hasContentBehind","setContentBehind","isScrolledFromTop","setIsScrolledFromTop","isFirstVisit","localStorage","getItem","hasUsedConversationBefore","welcomeText","getWelcomeText","welcomeMessage","setWelcomeMessage","displayMessages","setItem","markConversationAsUsed","el","ResizeObserver","borderBoxSize","blockSize","contentRect","TooltipProvider","Header","Messages","Input","Suggestions","Actions","Loading"],"mappings":"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","x_google_ignoreList":[13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35]}
|