@brainfish-ai/components 0.33.1 → 0.34.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/conversation.d.ts +55 -12
  2. package/dist/esm/chunks/{ChatSearch.EPCaUj3O.js → ChatSearch.D5EABw51.js} +2 -2
  3. package/dist/esm/chunks/{ChatSearch.EPCaUj3O.js.map → ChatSearch.D5EABw51.js.map} +1 -1
  4. package/dist/esm/chunks/Conversation.Dq66Znf4.js +33 -0
  5. package/dist/esm/chunks/Conversation.Dq66Znf4.js.map +1 -0
  6. package/dist/esm/chunks/{FormattedMessage.D_knqVl-.js → FormattedMessage.Djy5cn5F.js} +2 -2
  7. package/dist/esm/chunks/{FormattedMessage.D_knqVl-.js.map → FormattedMessage.Djy5cn5F.js.map} +1 -1
  8. package/dist/esm/chunks/ai-badge.Be0978vU.js +5 -0
  9. package/dist/esm/chunks/ai-badge.Be0978vU.js.map +1 -0
  10. package/dist/esm/chunks/{button.D_2SonNs.js → button.Cs1X8upM.js} +2 -2
  11. package/dist/esm/chunks/{button.D_2SonNs.js.map → button.Cs1X8upM.js.map} +1 -1
  12. package/dist/esm/chunks/{combobox.MyoPH18G.js → combobox.CLT9CXUV.js} +2 -2
  13. package/dist/esm/chunks/{combobox.MyoPH18G.js.map → combobox.CLT9CXUV.js.map} +1 -1
  14. package/dist/esm/chunks/{date-picker.C2VT_rZ9.js → date-picker.D9CRxYJf.js} +2 -2
  15. package/dist/esm/chunks/{date-picker.C2VT_rZ9.js.map → date-picker.D9CRxYJf.js.map} +1 -1
  16. package/dist/esm/chunks/{feedback.CLMuSvsg.js → feedback.CGFAP0XS.js} +2 -2
  17. package/dist/esm/chunks/{feedback.CLMuSvsg.js.map → feedback.CGFAP0XS.js.map} +1 -1
  18. package/dist/esm/chunks/{file-upload-status.D8RhMcbO.js → file-upload-status.ClQeoQQB.js} +2 -2
  19. package/dist/esm/chunks/{file-upload-status.D8RhMcbO.js.map → file-upload-status.ClQeoQQB.js.map} +1 -1
  20. package/dist/esm/chunks/{filters.BHp3ukNW.js → filters.BRlRsGlZ.js} +2 -2
  21. package/dist/esm/chunks/{filters.BHp3ukNW.js.map → filters.BRlRsGlZ.js.map} +1 -1
  22. package/dist/esm/chunks/{font-picker.B9GPXyK4.js → font-picker.Dwwe5av-.js} +2 -2
  23. package/dist/esm/chunks/{font-picker.B9GPXyK4.js.map → font-picker.Dwwe5av-.js.map} +1 -1
  24. package/dist/esm/chunks/header-nav.CtUIc9pI.js +12 -0
  25. package/dist/esm/chunks/header-nav.CtUIc9pI.js.map +1 -0
  26. package/dist/esm/chunks/{header-pane.eU7f_pim.js → header-pane.BBWfo7uv.js} +5 -5
  27. package/dist/esm/chunks/header-pane.BBWfo7uv.js.map +1 -0
  28. package/dist/esm/chunks/index.Ca2JkOFO.js +2 -0
  29. package/dist/esm/chunks/index.Ca2JkOFO.js.map +1 -0
  30. package/dist/esm/chunks/{input-with-tags.DLv9e0XI.js → input-with-tags.pmOKv67d.js} +2 -2
  31. package/dist/esm/chunks/{input-with-tags.DLv9e0XI.js.map → input-with-tags.pmOKv67d.js.map} +1 -1
  32. package/dist/esm/chunks/{sidebar.CcFsNjrN.js → sidebar.BhcrMAU3.js} +8 -8
  33. package/dist/esm/chunks/{sidebar.CcFsNjrN.js.map → sidebar.BhcrMAU3.js.map} +1 -1
  34. package/dist/esm/chunks/{suggestion-card.D-AsG_yB.js → suggestion-card.TDn-dEc0.js} +2 -2
  35. package/dist/esm/chunks/{suggestion-card.D-AsG_yB.js.map → suggestion-card.TDn-dEc0.js.map} +1 -1
  36. package/dist/esm/chunks/{two-level-combobox.BVZfsNSN.js → two-level-combobox.SDv7qc_m.js} +2 -2
  37. package/dist/esm/chunks/{two-level-combobox.BVZfsNSN.js.map → two-level-combobox.SDv7qc_m.js.map} +1 -1
  38. package/dist/esm/components/article-suggestions-banner.js +1 -1
  39. package/dist/esm/components/articles-coverage.js +3 -3
  40. package/dist/esm/components/articles-updated.js +2 -2
  41. package/dist/esm/components/chat-search.js +1 -1
  42. package/dist/esm/components/combobox.js +1 -1
  43. package/dist/esm/components/conversation.js +1 -1
  44. package/dist/esm/components/convos.js +11 -11
  45. package/dist/esm/components/date-picker.js +1 -1
  46. package/dist/esm/components/feedback.js +1 -1
  47. package/dist/esm/components/file-upload.js +1 -1
  48. package/dist/esm/components/filter.js +1 -1
  49. package/dist/esm/components/font-picker.js +1 -1
  50. package/dist/esm/components/input-with-tags.js +1 -1
  51. package/dist/esm/components/markdown.js +1 -1
  52. package/dist/esm/components/two-level-combobox.js +1 -1
  53. package/dist/esm/components/ui/alert-dialog.js +1 -1
  54. package/dist/esm/components/ui/breadcrumb.js +1 -1
  55. package/dist/esm/components/ui/button-group.js +1 -1
  56. package/dist/esm/components/ui/button.js +1 -1
  57. package/dist/esm/components/ui/combobox.js +1 -1
  58. package/dist/esm/components/ui/div-button.js +1 -1
  59. package/dist/esm/components/ui/item.js +1 -1
  60. package/dist/esm/components/ui/sheet.js +1 -1
  61. package/dist/esm/components/ui/tooltip.js +3 -3
  62. package/dist/esm/components/ui/tooltip.js.map +1 -1
  63. package/dist/esm/global.css +1 -1
  64. package/dist/esm/index.js +1 -1
  65. package/dist/esm/layouts/full-layout.js +1 -1
  66. package/dist/esm/layouts/header-nav.js +1 -1
  67. package/dist/esm/layouts/sidebar.js +1 -1
  68. package/dist/esm/scenes/knowledge-review.js +1 -1
  69. package/dist/esm/tailwind.preset.js +1 -1
  70. package/dist/esm/tailwind.preset.js.map +1 -1
  71. package/dist/full-layout.d.ts +1 -0
  72. package/dist/header-nav.d.ts +1 -0
  73. package/dist/index.d.ts +56 -12
  74. package/dist/stats.html +1 -1
  75. package/package.json +7 -7
  76. package/tailwind.preset.ts +1 -1
  77. package/dist/esm/chunks/Conversation.C2TpUr4-.js +0 -29
  78. package/dist/esm/chunks/Conversation.C2TpUr4-.js.map +0 -1
  79. package/dist/esm/chunks/header-nav.DmlIUqml.js +0 -14
  80. package/dist/esm/chunks/header-nav.DmlIUqml.js.map +0 -1
  81. package/dist/esm/chunks/header-pane.eU7f_pim.js.map +0 -1
  82. package/dist/esm/chunks/index.uF4ME3WQ.js +0 -4
  83. package/dist/esm/chunks/index.uF4ME3WQ.js.map +0 -1
@@ -0,0 +1,33 @@
1
+ import e,{useRef as t,useLayoutEffect as n,useMemo as r,useContext as o,createContext as i,useCallback as s,useEffect as a,useState as l,Suspense as c,forwardRef as d,Component as u,createElement as m,useImperativeHandle as f}from"react";import{Tooltip as p,TooltipTrigger as h,TooltipContent as g,TooltipProvider as y}from"../components/ui/tooltip.js";import{c as v}from"./utils.C6Qu-kwd.js";import{ScrollArea as E}from"../components/ui/scroll-area.js";import{Copy as x,Browser as b,FileText as w,Folder as N,ChatsTeardrop as C,File as S,FileDoc as k,FilePdf as D,Video as _,Image as T,CircleNotch as R,X as O,Files as A,Plus as I,CaretRight as M,Stop as P,ArrowUp as F,ClockCounterClockwise as L}from"@phosphor-icons/react";import{a as j,S as B}from"./ripple-status.C20jzXjF.js";import{F as z}from"./FormattedMessage.Djy5cn5F.js";import{B as K}from"./button.Cs1X8upM.js";import*as U from"@radix-ui/react-dialog";import{DropdownMenu as $,DropdownMenuTrigger as W,DropdownMenuContent as H,DropdownMenuItem as J}from"../components/ui/dropdown-menu.js";import{Popover as V,PopoverTrigger as q,PopoverContent as G}from"../components/ui/popover.js";import{Command as Z,CommandInput as Y,CommandList as X,CommandEmpty as Q,CommandGroup as ee,CommandItem as te}from"../components/ui/command.js";import{createEditor as ne,$getRoot as re,$createParagraphNode as oe,$getSelection as ie,HISTORY_MERGE_TAG as se,$caretFromPoint as ae,$isExtendableTextPointCaret as le,$extendCaretToRange as ce,$isChildCaret as de,$isElementNode as ue,$isDecoratorNode as me,$isRootNode as fe,$getEditor as pe,$isTokenOrSegmented as he,$getCharacterOffsets as ge,$cloneWithPropertiesEphemeral as ye,$isRangeSelection as ve,$findMatchingParent as Ee,mergeRegister as xe,DecoratorNode as be,addClassNamesToElement as we,shallowMergeConfig as Ne,$create as Ce,defineExtension as Se,safeCast as ke,createState as De,FORMAT_TEXT_COMMAND as _e,$isNodeSelection as Te,COMMAND_PRIORITY_LOW as Re,RootNode as Oe,TextNode as Ae,LineBreakNode as Ie,TabNode as Me,ParagraphNode as Pe,$isEditorState as Fe,createCommand as Le,CLICK_COMMAND as je,isDOMNode as Be,$getNodeFromDOMNode as ze,$createNodeSelection as Ke,$setSelection as Ue,$getState as $e,toggleTextFormatType as We,TEXT_TYPE_TO_FORMAT as He,$setState as Je,$getNodeByKey as Ve,removeClassNamesFromElement as qe,CLEAR_EDITOR_COMMAND as Ge,COMMAND_PRIORITY_EDITOR as Ze,KEY_TAB_COMMAND as Ye,$isBlockElementNode as Xe,$createRangeSelection as Qe,$normalizeSelection__EXPERIMENTAL as et,OUTDENT_CONTENT_COMMAND as tt,INDENT_CONTENT_COMMAND as nt,INSERT_TAB_COMMAND as rt,COMMAND_PRIORITY_CRITICAL as ot,$isParagraphNode as it,$isTextNode as st,isDOMDocumentNode as at,ArtificialNode__DO_NOT_USE as lt,$createLineBreakNode as ct,$isRootOrShadowRoot as dt,isBlockDomNode as ut,isInlineDomNode as mt,getRegisteredNode as ft,isHTMLElement as pt,isDocumentFragment as ht,$createTabNode as gt,getDOMSelection as yt,COPY_COMMAND as vt,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as Et,$isTextPointCaret as xt,$getCaretRange as bt,$getChildCaret as wt,$parseSerializedNode as Nt,isSelectionWithinEditor as Ct,DELETE_CHARACTER_COMMAND as St,DELETE_WORD_COMMAND as kt,DELETE_LINE_COMMAND as Dt,CONTROLLED_TEXT_INSERTION_COMMAND as _t,REMOVE_TEXT_COMMAND as Tt,FORMAT_ELEMENT_COMMAND as Rt,INSERT_LINE_BREAK_COMMAND as Ot,INSERT_PARAGRAPH_COMMAND as At,$insertNodes as It,KEY_ARROW_UP_COMMAND as Mt,$getAdjacentNode as Pt,KEY_ARROW_DOWN_COMMAND as Ft,KEY_ARROW_LEFT_COMMAND as Lt,KEY_ARROW_RIGHT_COMMAND as jt,KEY_BACKSPACE_COMMAND as Bt,KEY_DELETE_COMMAND as zt,KEY_ENTER_COMMAND as Kt,KEY_ESCAPE_COMMAND as Ut,DROP_COMMAND as $t,$getNearestNodeFromDOMNode as Wt,DRAGSTART_COMMAND as Ht,DRAGOVER_COMMAND as Jt,SELECT_ALL_COMMAND as Vt,$selectAll as qt,CUT_COMMAND as Gt,PASTE_COMMAND as Zt,isSelectionCapturedInDecoratorInput as Yt,PASTE_TAG as Xt,KEY_SPACE_COMMAND as Qt,ElementNode as en,setNodeIndentFromDOM as tn,$applyNodeReplacement as nn,COMMAND_PRIORITY_HIGH as rn}from"lexical";import{jsx as on,jsxs as sn,Fragment as an}from"react/jsx-runtime";import{flushSync as ln,createPortal as cn}from"react-dom";import{createEmptyHistoryState as dn,registerHistory as un}from"@lexical/history";import{ListNode as mn,ListItemNode as fn,registerList as pn,registerListStrictIndentTransform as hn,$isListItemNode as gn}from"@lexical/list";import{LinkNode as yn,registerLink as vn,AutoLinkNode as En}from"@lexical/link";import{registerMarkdownShortcuts as xn,TRANSFORMERS as bn,ORDERED_LIST as wn,UNORDERED_LIST as Nn,LINK as Cn,INLINE_CODE as Sn,CODE as kn,$convertToMarkdownString as Dn,$convertFromMarkdownString as _n}from"@lexical/markdown";import{CodeNode as Tn,CodeHighlightNode as Rn,$isCodeNode as On}from"@lexical/code";import{A as An}from"./ai-badge.Be0978vU.js";import{L as In}from"./logo.DtwFGMBj.js";const Mn="brainfish-conversation-used",Pn="welcome";function Fn(e,t,n){const r=t.slice(0,n);return{id:e,role:"ai",content:r?[{type:"text",text:r}]:[],status:n>=t.length?"completed":"streaming"}}function Ln(e,t){return function(e,t,n,r=3){let o=r;const i=setInterval(()=>{o+=3;const r=o>=t.length;n(Fn(e,t,r?t.length:o)),r&&clearInterval(i)},30);return()=>clearInterval(i)}(Pn,e,t)}const jn=i(null),Bn={onCopy:(e,t)=>{navigator.clipboard.writeText(t)}};function zn(){const e=o(jn);if(!e)throw new Error("useConversation must be used within a <Conversation> provider");return e}function Kn({messages:o,callbacks:i,reportScrolledFromTop:s,children:a}){const l=o.some(e=>"streaming"===e.status&&e.id!==Pn),c=t({...Bn,...i});n(()=>{c.current={...Bn,...i}});const d=r(()=>({onSend:(...e)=>c.current.onSend?.(...e),onStop:(...e)=>c.current.onStop?.(...e),onSuggestionClick:(...e)=>c.current.onSuggestionClick?.(...e),onActionClick:(...e)=>c.current.onActionClick?.(...e),onCitationClick:(...e)=>c.current.onCitationClick?.(...e),onAttachmentAdd:(...e)=>c.current.onAttachmentAdd?.(...e),onAttachmentRemove:(...e)=>c.current.onAttachmentRemove?.(...e),onCopy:(...e)=>c.current.onCopy?.(...e),onClose:(...e)=>c.current.onClose?.(...e),onHistoryClick:(...e)=>c.current.onHistoryClick?.(...e),onNewConversationClick:(...e)=>c.current.onNewConversationClick?.(...e)}),[]),u=r(()=>({messages:o,callbacks:d,isStreaming:l,reportScrolledFromTop:s}),[o,d,l,s]);/* @__PURE__ */
2
+ return e.createElement(jn.Provider,{value:u},a)}const Un=({block:t,isStreaming:n})=>/* @__PURE__ */e.createElement(z,{message:{content:t.text},isStreaming:n}),$n=({citations:t,onCitationClick:n})=>/* @__PURE__ */e.createElement("span",{className:"inline-flex flex-wrap gap-1"},t.map(t=>/* @__PURE__ */e.createElement(Wn,{key:t.id,citation:t,onClick:n}))),Wn=({citation:t,onClick:n})=>/* @__PURE__ */e.createElement(p,null,/* @__PURE__ */e.createElement(h,{asChild:!0},/* @__PURE__ */e.createElement(K,{size:"xs",variant:"ghost",className:"size-5 text-xs text-muted-foreground",onClick:()=>n?.(t)},t.index)),/* @__PURE__ */e.createElement(g,{side:"top",className:"max-w-xs"},/* @__PURE__ */e.createElement("p",{className:"text-sm font-medium"},t.title),/* @__PURE__ */e.createElement("p",{className:"text-xs truncate"},t.url))),Hn=({block:t,isStreaming:n,onCitationClick:r})=>"text"===t.type?/* @__PURE__ */e.createElement(e.Fragment,null,/* @__PURE__ */e.createElement(Un,{block:t,isStreaming:n}),t.citations&&t.citations.length>0&&/* @__PURE__ */e.createElement($n,{citations:t.citations,onCitationClick:r})):null,Jn="Working",Vn={keyword_search:"Searching knowledge base",get_document:"Reading document",create_document:"Creating document",update_document:"Updating document"};function qn(e){const t=e.name.replace(/([a-z])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase();return Vn[t]??Jn}function Gn(e){const t=e.content;if(0===t.length)return Jn;const n=t[t.length-1];switch(n.type){case"tool_use":return qn(n);case"tool_result":{const e=t.findLast(e=>"tool_use"===e.type&&e.id===n.toolUseId);return e?qn(e):Jn}case"thinking":return"Thinking";case"text":return n.text.length>0?null:Jn;default:return Jn}}const Zn=({message:t,className:n})=>{const{callbacks:r}=zn(),o="streaming"===t.status,i="pending"===t.status,a="completed"===t.status,l=s(()=>{const e=t.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n");r.onCopy?.(t.id,e)},[t,r]),c=t.content.some(e=>"text"===e.type&&e.text.length>0),d="error"===t.status,u=o||i?Gn(t):null;return!c&&u?/* @__PURE__ */e.createElement(j,{text:u,className:n}):/* @__PURE__ */e.createElement("div",{className:v("flex gap-3",n)},/* @__PURE__ */e.createElement("div",{className:"flex-1 min-w-0"},/* @__PURE__ */e.createElement("div",{className:"space-y-1"},d?/* @__PURE__ */e.createElement(Hn,{block:{type:"text",text:"Sorry, something went wrong. Please try again."}}):t.content.map((t,n)=>/* @__PURE__ */e.createElement(Hn,{key:n,block:t,isStreaming:o,onCitationClick:r.onCitationClick}))),u&&/* @__PURE__ */e.createElement(j,{text:u,className:"mt-2"}),a&&/* @__PURE__ */e.createElement("div",{className:"mt-3 flex items-center gap-1"},/* @__PURE__ */e.createElement(Yn,{tooltip:"Copy",onClick:l},/* @__PURE__ */e.createElement(x,{className:"h-4 w-4"})))))};Zn.displayName="ConversationMessageAssistant";const Yn=({children:t,tooltip:n,active:r,onClick:o})=>/* @__PURE__ */e.createElement(p,null,/* @__PURE__ */e.createElement(h,{asChild:!0},/* @__PURE__ */e.createElement("button",{type:"button",className:v("inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",r&&"text-primary"),onClick:o},t)),/* @__PURE__ */e.createElement(g,{side:"bottom"},/* @__PURE__ */e.createElement("p",{className:"text-xs"},n)));Yn.displayName="ActionBarButton";const Xn={image:T,video:_,pdf:D,doc:k,file:S,channel:C,collection:N,article:w,page:b},Qn=({pill:t,onRemove:n})=>{const r=t.iconType?Xn[t.iconType]:null,o=t.loading?t.progress??0:100;/* @__PURE__ */
3
+ return e.createElement("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"},/* @__PURE__ */e.createElement("span",{className:"absolute inset-0 bg-muted transition-[width] duration-300 ease-out",style:{width:`${o}%`}}),/* @__PURE__ */e.createElement("span",{className:"relative flex items-center gap-0.5"},t.loading?/* @__PURE__ */e.createElement(R,{className:"h-3 w-3 shrink-0 mr-0.5 animate-spin"}):r&&/* @__PURE__ */e.createElement(r,{className:"h-3 w-3 shrink-0 mr-0.5"}),t.label,n&&/* @__PURE__ */e.createElement("button",{type:"button",className:"ml-0.5 inline-flex h-3.5 w-3.5 items-center justify-center rounded-full hover:bg-muted-foreground/20",onClick:()=>n(t)},
4
+ /* @__PURE__ */e.createElement(O,{className:"h-2.5 w-2.5"}))))};function er({src:t,alt:n,open:r,onClose:o}){/* @__PURE__ */
5
+ return e.createElement(U.Root,{open:r,onOpenChange:e=>{e||o()}},
6
+ /* @__PURE__ */e.createElement(U.Portal,null,/* @__PURE__ */e.createElement(U.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"}),/* @__PURE__ */e.createElement(U.Content,{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",style:{translate:"-50% -50%"},"aria-describedby":void 0,onPointerDownOutside:o},
7
+ /* @__PURE__ */e.createElement(U.Title,{className:"sr-only"},n??"Image preview"),
8
+ /* @__PURE__ */e.createElement("img",{src:t,alt:n??"Attachment",className:"max-w-full max-h-full object-contain rounded-lg ring-1 ring-white/10"}))))}function tr({file:t,url:n,alt:r,loading:o,onRemove:i}){const[s,a]=e.useState(),[l,c]=e.useState(!1);e.useEffect(()=>{if(!t)return;const e=URL.createObjectURL(t);return a(e),()=>URL.revokeObjectURL(e)},[t]);const d=n??s;return d?/* @__PURE__ */e.createElement(e.Fragment,null,/* @__PURE__ */e.createElement("div",{className:"relative group size-16 rounded-lg overflow-hidden flex-shrink-0 ring-1 ring-black/10 dark:ring-white/10"},/* @__PURE__ */e.createElement("button",{type:"button",className:"w-full h-full cursor-zoom-in",onClick:()=>c(!0),disabled:o},
9
+ /* @__PURE__ */e.createElement("img",{src:d,alt:r??"Attachment",className:"w-full h-full object-cover"})),o&&/* @__PURE__ */e.createElement("div",{className:"absolute inset-0 flex items-center justify-center bg-black/40 pointer-events-none"},/* @__PURE__ */e.createElement("div",{className:"animate-spin rounded-full size-4 border-[2.5px] border-black/30 border-t-white"})),i&&/* @__PURE__ */e.createElement("button",{type:"button",onClick:i,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"},
10
+ /* @__PURE__ */e.createElement(O,{className:"size-2.5 text-white","aria-label":"Remove"}))),/* @__PURE__ */e.createElement(er,{src:d,alt:r,open:l,onClose:()=>c(!1)})):null}function nr({attachments:t,onRemove:n,className:r}){const o=t.filter(e=>e.file.mimeType.startsWith("image/"));return 0===o.length?null:/* @__PURE__ */e.createElement("div",{className:v("flex flex-wrap gap-2",r)},o.map(t=>/* @__PURE__ */e.createElement(tr,{key:t.id,file:t.raw,url:t.file.url,alt:t.file.name,loading:t.loading,onRemove:n?()=>n(t):void 0})))}function rr({blocks:t,className:n}){const r=t.filter(e=>e.mimeType.startsWith("image/"));return 0===r.length?null:/* @__PURE__ */e.createElement("div",{className:v("flex flex-wrap gap-2",n)},r.map(t=>/* @__PURE__ */e.createElement(tr,{key:t.attachmentId,url:t.url,alt:t.fileName})))}function or(e){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":"application/pdf"===e?"pdf":"application/msword"===e||e.includes("wordprocessingml")?"doc":"file"}function ir(e){switch(e.type){case"file":return`file:${e.attachmentId}`;case"page":return`page:${e.url}`;case"entity":return`entity:${e.entity.type}:${e.entity.id}`}}function sr(e){switch(e.type){case"file":return{id:e.attachmentId,label:e.fileName,iconType:or(e.mimeType)};case"page":return{id:e.url,label:e.title,iconType:"page"};case"entity":return{id:e.entity.id,label:e.entity.title,iconType:e.entity.type}}}const ar=({message:t,className:n})=>{const r=t.content.filter(e=>"text"===e.type),o=t.content.filter(e=>"file"===e.type&&e.mimeType.startsWith("image/")),i=t.content.filter(e=>"text"!==e.type&&("file"!==e.type||!e.mimeType.startsWith("image/"))),s=r.map(e=>e.text).join("\n").split(/\n\n+/).filter(e=>e.trim().length>0);/* @__PURE__ */
11
+ return e.createElement("div",{className:v("flex justify-end",n)},/* @__PURE__ */e.createElement("div",{className:"max-w-[85%] rounded bg-dark-200 px-2 py-2.5 text-foreground flex flex-col gap-3"},/* @__PURE__ */e.createElement(rr,{blocks:o}),i.length>0&&/* @__PURE__ */e.createElement("div",{className:"flex flex-wrap gap-1.5"},i.map(t=>/* @__PURE__ */e.createElement(Qn,{key:ir(t),pill:sr(t)}))),s.length>0&&/* @__PURE__ */e.createElement("div",null,s.map((t,n)=>/* @__PURE__ */e.createElement("p",{key:n,className:"m-0 mb-4 whitespace-pre-wrap last:mb-0"},t)))))};ar.displayName="ConversationMessageUser";const lr=({message:t,className:n})=>{switch(t.role){case"ai":/* @__PURE__ */
12
+ return e.createElement(Zn,{message:t,className:n});case"user":/* @__PURE__ */
13
+ return e.createElement(ar,{message:t,className:n});default:return null}},cr=({className:n,bottomPadding:r=0,onContentBehind:o,onScrolledFromTop:i})=>{const{messages:s,reportScrolledFromTop:l}=zn(),c=i??l,d=t(null),u=t(null);return a(()=>{const e=d.current;e&&(e.scrollTop=e.scrollHeight)},[s]),a(()=>{const e=d.current;if(!e||!c)return;const t=()=>{c(e.scrollTop>0)};return e.addEventListener("scroll",t,{passive:!0}),t(),()=>e.removeEventListener("scroll",t)},[c]),a(()=>{const e=u.current,t=d.current;if(!e||!t||!o)return;const n=new IntersectionObserver(([e])=>{e&&o(!e.isIntersecting)},{root:t,threshold:0,rootMargin:`0px 0px -${r}px 0px`});return n.observe(e),()=>n.disconnect()},[o,r]),/* @__PURE__ */e.createElement(E,{ref:d,className:v("h-full",n)},/* @__PURE__ */e.createElement("div",{className:"py-4 px-6 flex flex-col gap-4"},s.map(t=>/* @__PURE__ */e.createElement(lr,{key:t.id,message:t})),/* @__PURE__ */e.createElement("div",{ref:u,className:"h-px -mt-4"})),/* @__PURE__ */e.createElement("div",{style:{height:r+8}}))};cr.displayName="ConversationMessages";const dr=i(null);function ur(){const e=o(dr);return null==e&&function(e,...t){const n=new URL("https://lexical.dev/docs/error"),r=new URLSearchParams;r.append("code",e);for(const o of t)r.append("v",o);throw n.search=r.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.`)}(8),e}const mr="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,fr=mr?n:a,pr={tag:se};function hr({initialConfig:e,children:t}){const n=r(()=>{const{theme:t,namespace:n,nodes:r,onError:o,editorState:i,html:s}=e,a=(c=t,{getTheme:function(){return null!=c?c:null}}),l=ne({editable:e.editable,html:s,namespace:n,nodes:r,onError:e=>o(e,l),theme:t});var c;return function(e,t){if(null!==t)if(void 0===t)e.update(()=>{const t=re();if(t.isEmpty()){const n=oe();t.append(n);const r=mr?document.activeElement:null;(null!==ie()||null!==r&&r===e.getRootElement())&&n.select()}},pr);else if(null!==t)switch(typeof t){case"string":{const n=e.parseEditorState(t);e.setEditorState(n,pr);break}case"object":e.setEditorState(t,pr);break;case"function":e.update(()=>{re().isEmpty()&&t(e)},pr)}}(l,i),[l,a]},[]);return fr(()=>{const t=e.editable,[r]=n;r.setEditable(void 0===t||t)},[]),on(dr.Provider,{value:n,children:t})}const gr="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:a;function yr(e){return{initialValueFn:()=>e.isEditable(),subscribe:t=>e.registerEditableListener(t)}}const vr=new Map;function Er(e){const t=pe().getElementByKey(e.getKey());if(null===t)return null;const n=t.ownerDocument.defaultView;return null===n?null:n.getComputedStyle(t)}function xr(e){return Er(fe(e)?e:e.getParentOrThrow())}function br(e){const t=xr(e);return null!==t&&"rtl"===t.direction}function wr(e,t,n="self"){const r=e.getStartEndPoints();if(t.isSelected(e)&&!he(t)&&null!==r){const[o,i]=r,s=e.isBackward(),a=o.getNode(),l=i.getNode(),c=t.is(a),d=t.is(l);if(c||d){const[r,o]=ge(e),i=a.is(l),c=t.is(s?l:a),d=t.is(s?a:l);let u,m=0;i?(m=r>o?o:r,u=r>o?r:o):c?(m=s?o:r,u=void 0):d&&(m=0,u=s?r:o);const f=t.__text.slice(m,u);f!==t.__text&&("clone"===n&&(t=ye(t)),t.__text=f)}}return t}function Nr(e){const t=e.getStyle(),n=function(e){const t={};if(!e)return t;const n=e.split(";");for(const r of n)if(""!==r){const[e,n]=r.split(/:([^]+)/);e&&n&&(t[e.trim()]=n.trim())}return t}(t);vr.set(t,n)}function Cr(e){const t=Sr(e);return null!==t&&"vertical-rl"===t.writingMode}function Sr(e){const t=e.anchor.getNode();return ue(t)?Er(t):xr(t)}function kr(e,t){let n=Cr(e)?!t:t;Dr(e)&&(n=!n);const r=ae(e.focus,n?"previous":"next");if(le(r))return!1;for(const o of ce(r)){if(de(o))return!o.origin.isInline();if(!ue(o.origin)){if(me(o.origin))return!0;break}}return!1}function Dr(e){const t=Sr(e);return null!==t&&"rtl"===t.direction}function _r(e,t,n){const r=Dr(e);let o;o=Cr(e)||r?!n:n,function(e,t,n,r){e.modify(t?"extend":"move",n,r)}(e,t,o,"character")}const Tr="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Rr=Tr&&"documentMode"in document?document.documentMode:null;function Or(e){const t=Ee(e,e=>ue(e)&&!e.isInline());return ue(t)||function(e,...t){const n=new URL("https://lexical.dev/docs/error"),r=new URLSearchParams;r.append("code",e);for(const o of t)r.append("v",o);throw n.search=r.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.`)}(4,e.__key),t}function Ar(e,t){return null!==e&&Object.getPrototypeOf(e).constructor.name===t.name}function Ir(e){const t=ie();if(!ve(t))return!1;const n=new Set,r=t.getNodes();for(let o=0;o<r.length;o++){const t=r[o],i=t.getKey();if(n.has(i))continue;const s=Ee(t,e=>ue(e)&&!e.isInline());if(null===s)continue;const a=s.getKey();s.canIndent()&&!n.has(a)&&(n.add(a),e(s))}return n.size>0}Tr&&"InputEvent"in window&&!Rr&&new window.InputEvent("input");const Mr=Symbol.for("preact-signals");function Pr(){if(Br>1)return void Br--;let e,t=!1;for(;void 0!==Lr;){let n=Lr;for(Lr=void 0,zr++;void 0!==n;){const r=n.o;if(n.o=void 0,n.f&=-3,!(8&n.f)&&Hr(n))try{n.c()}catch(Ki){t||(e=Ki,t=!0)}n=r}}if(zr=0,Br--,t)throw e}let Fr,Lr;function jr(e){const t=Fr;Fr=void 0;try{return e()}finally{Fr=t}}let Br=0,zr=0,Kr=0;function Ur(e){if(void 0===Fr)return;let t=e.n;return void 0===t||t.t!==Fr?(t={i:0,S:e,p:Fr.s,n:void 0,t:Fr,e:void 0,x:void 0,r:t},void 0!==Fr.s&&(Fr.s.n=t),Fr.s=t,e.n=t,32&Fr.f&&e.S(t),t):-1===t.i?(t.i=0,void 0!==t.n&&(t.n.p=t.p,void 0!==t.p&&(t.p.n=t.n),t.p=Fr.s,t.n=void 0,Fr.s.n=t,Fr.s=t),t):void 0}function $r(e,t){this.v=e,this.i=0,this.n=void 0,this.t=void 0,this.W=null==t?void 0:t.watched,this.Z=null==t?void 0:t.unwatched,this.name=null==t?void 0:t.name}function Wr(e,t){return new $r(e,t)}function Hr(e){for(let t=e.s;void 0!==t;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function Jr(e){for(let t=e.s;void 0!==t;t=t.n){const n=t.S.n;if(void 0!==n&&(t.r=n),t.S.n=t,t.i=-1,void 0===t.n){e.s=t;break}}}function Vr(e){let t,n=e.s;for(;void 0!==n;){const e=n.p;-1===n.i?(n.S.U(n),void 0!==e&&(e.n=n.n),void 0!==n.n&&(n.n.p=e)):t=n,n.S.n=n.r,void 0!==n.r&&(n.r=void 0),n=e}e.s=t}function qr(e,t){$r.call(this,void 0),this.x=e,this.s=void 0,this.g=Kr-1,this.f=4,this.W=null==t?void 0:t.watched,this.Z=null==t?void 0:t.unwatched,this.name=null==t?void 0:t.name}function Gr(e){const t=e.u;if(e.u=void 0,"function"==typeof t){Br++;const n=Fr;Fr=void 0;try{t()}catch(t){throw e.f&=-2,e.f|=8,Zr(e),t}finally{Fr=n,Pr()}}}function Zr(e){for(let t=e.s;void 0!==t;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,Gr(e)}function Yr(e){if(Fr!==this)throw new Error("Out-of-order effect");Vr(this),Fr=e,this.f&=-2,8&this.f&&Zr(this),Pr()}function Xr(e,t){this.x=e,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32,this.name=null==t?void 0:t.name}function Qr(e,t){const n=new Xr(e,t);try{n.c()}catch(e){throw n.d(),e}const r=n.d.bind(n);return r[Symbol.dispose]=r,r}function eo(e,t={}){const n={};for(const r in e){const o=t[r],i=Wr(void 0===o?e[r]:o);n[r]=i}return n}function to(){const e=re(),t=ie(),n=oe();e.clear(),e.append(n),null!==t&&n.select(),ve(t)&&(t.format=0)}function no(e){return("function"==typeof e.nodes?e.nodes():e.nodes)||[]}$r.prototype.brand=Mr,$r.prototype.h=function(){return!0},$r.prototype.S=function(e){const t=this.t;t!==e&&void 0===e.e&&(e.x=t,this.t=e,void 0!==t?t.e=e:jr(()=>{var e;null==(e=this.W)||e.call(this)}))},$r.prototype.U=function(e){if(void 0!==this.t){const t=e.e,n=e.x;void 0!==t&&(t.x=n,e.e=void 0),void 0!==n&&(n.e=t,e.x=void 0),e===this.t&&(this.t=n,void 0===n&&jr(()=>{var e;null==(e=this.Z)||e.call(this)}))}},$r.prototype.subscribe=function(e){return Qr(()=>{const t=this.value,n=Fr;Fr=void 0;try{e(t)}finally{Fr=n}},{name:"sub"})},$r.prototype.valueOf=function(){return this.value},$r.prototype.toString=function(){return this.value+""},$r.prototype.toJSON=function(){return this.value},$r.prototype.peek=function(){const e=Fr;Fr=void 0;try{return this.value}finally{Fr=e}},Object.defineProperty($r.prototype,"value",{get(){const e=Ur(this);return void 0!==e&&(e.i=this.i),this.v},set(e){if(e!==this.v){if(zr>100)throw new Error("Cycle detected");this.v=e,this.i++,Kr++,Br++;try{for(let e=this.t;void 0!==e;e=e.x)e.t.N()}finally{Pr()}}}}),qr.prototype=new $r,qr.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===Kr)return!0;if(this.g=Kr,this.f|=1,this.i>0&&!Hr(this))return this.f&=-2,!0;const e=Fr;try{Jr(this),Fr=this;const e=this.x();(16&this.f||this.v!==e||0===this.i)&&(this.v=e,this.f&=-17,this.i++)}catch(e){this.v=e,this.f|=16,this.i++}return Fr=e,Vr(this),this.f&=-2,!0},qr.prototype.S=function(e){if(void 0===this.t){this.f|=36;for(let e=this.s;void 0!==e;e=e.n)e.S.S(e)}$r.prototype.S.call(this,e)},qr.prototype.U=function(e){if(void 0!==this.t&&($r.prototype.U.call(this,e),void 0===this.t)){this.f&=-33;for(let e=this.s;void 0!==e;e=e.n)e.S.U(e)}},qr.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(let e=this.t;void 0!==e;e=e.x)e.t.N()}},Object.defineProperty(qr.prototype,"value",{get(){if(1&this.f)throw new Error("Cycle detected");const e=Ur(this);if(this.h(),void 0!==e&&(e.i=this.i),16&this.f)throw this.v;return this.v}}),Xr.prototype.c=function(){const e=this.S();try{if(8&this.f)return;if(void 0===this.x)return;const e=this.x();"function"==typeof e&&(this.u=e)}finally{e()}},Xr.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,Gr(this),Jr(this),Br++;const e=Fr;return Fr=this,Yr.bind(this,e)},Xr.prototype.N=function(){2&this.f||(this.f|=2,this.o=Lr,Lr=this)},Xr.prototype.d=function(){this.f|=8,1&this.f||Zr(this)},Xr.prototype.dispose=function(){this.d()},Se({build:(e,t,n)=>eo(t),config:ke({defaultSelection:"rootEnd",disabled:!1}),name:"@lexical/extension/AutoFocus",register(e,t,n){const r=n.getOutput();return Qr(()=>r.disabled.value?void 0:e.registerRootListener(t=>{e.focus(()=>{const e=document.activeElement;null===t||null!==e&&t.contains(e)||t.focus({preventScroll:!0})},{defaultSelection:r.defaultSelection.peek()})}))}}),Se({build:(e,t,n)=>eo(t),config:ke({$onClear:to}),name:"@lexical/extension/ClearEditor",register(e,t,n){const{$onClear:r}=n.getOutput();return Qr(()=>function(e,t=to){return e.registerCommand(Ge,n=>(e.update(t),!0),Ze)}(e,r.value))}});const ro=De("format",{parse:e=>"number"==typeof e?e:0});let oo=class extends be{$config(){return this.config("decorator-text",{extends:be,stateConfigs:[{flat:!0,stateConfig:ro}]})}getFormat(){return $e(this,ro)}getFormatFlags(e,t){return We(this.getFormat(),e,t)}hasFormat(e){const t=He[e];return 0!==(this.getFormat()&t)}setFormat(e){return Je(this,ro,e)}toggleFormat(e){const t=this.getFormat(),n=We(t,e,null);return this.setFormat(n)}isInline(){return!0}createDOM(){return document.createElement("span")}updateDOM(){return!1}};function io(e){return e instanceof oo}function so(e,t){let n;return Wr(e(),{unwatched(){n&&(n(),n=void 0)},watched(){this.value=e(),n=t(this)}})}Se({name:"@lexical/extension/DecoratorText",nodes:()=>[oo],register:(e,t,n)=>e.registerCommand(_e,e=>{const t=ie();if(Te(t)||ve(t))for(const n of t.getNodes())io(n)&&n.toggleFormat(e);return!1},Re)});const ao=Se({build:e=>so(()=>e.getEditorState(),t=>e.registerUpdateListener(e=>{t.value=e.editorState})),name:"@lexical/extension/EditorState"});function lo(e,...t){const n=new URL("https://lexical.dev/docs/error"),r=new URLSearchParams;r.append("code",e);for(const o of t)r.append("v",o);throw n.search=r.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.`)}function co(e,t){if(e&&t&&!Array.isArray(t)&&"object"==typeof e&&"object"==typeof t){const n=e,r=t;for(const e in r)n[e]=co(n[e],r[e]);return e}return t}function uo(e){return 0===e.id}function mo(e){return 2===e.id}const fo=new Set;class po{builder;configs;_dependency;_peerNameSet;extension;state;_signal;constructor(e,t){this.builder=e,this.extension=t,this.configs=new Set,this.state={id:0}}mergeConfigs(){let e=this.extension.config||{};const t=this.extension.mergeConfig?this.extension.mergeConfig.bind(this.extension):Ne;for(const n of this.configs)e=t(e,n);return e}init(e){const t=this.state;mo(t)||lo(306,String(t.id));const n={getDependency:this.getInitDependency.bind(this),getDirectDependentNames:this.getDirectDependentNames.bind(this),getPeer:this.getInitPeer.bind(this),getPeerNameSet:this.getPeerNameSet.bind(this)},r={...n,getDependency:this.getDependency.bind(this),getInitResult:this.getInitResult.bind(this),getPeer:this.getPeer.bind(this)},o=function(e,t,n){return Object.assign(e,{config:t,id:3,registerState:n})}(t,this.mergeConfigs(),n);let i;this.state=o,this.extension.init&&(i=this.extension.init(e,o.config,n)),this.state=function(e,t,n){return Object.assign(e,{id:4,initResult:t,registerState:n})}(o,i,r)}build(e){const t=this.state;let n;4!==t.id&&lo(307,String(t.id),String(5)),this.extension.build&&(n=this.extension.build(e,t.config,t.registerState));const r={...t.registerState,getOutput:()=>n,getSignal:this.getSignal.bind(this)};this.state=function(e,t,n){return Object.assign(e,{id:5,output:t,registerState:n})}(t,n,r)}register(e,t){this._signal=t;const n=this.state;5!==n.id&&lo(308,String(n.id),String(5));const r=this.extension.register&&this.extension.register(e,n.config,n.registerState);return this.state=function(e){return Object.assign(e,{id:6})}(n),()=>{const e=this.state;7!==e.id&&lo(309,String(n.id),String(7)),this.state=function(e){return Object.assign(e,{id:5})}(e),r&&r()}}afterRegistration(e){const t=this.state;let n;return 6!==t.id&&lo(310,String(t.id),String(6)),this.extension.afterRegistration&&(n=this.extension.afterRegistration(e,t.config,t.registerState)),this.state=function(e){return Object.assign(e,{id:7})}(t),n}getSignal(){return void 0===this._signal&&lo(311),this._signal}getInitResult(){void 0===this.extension.init&&lo(312,this.extension.name);const e=this.state;return function(e){return e.id>=4}(e)||lo(313,String(e.id),String(4)),e.initResult}getInitPeer(e){const t=this.builder.extensionNameMap.get(e);return t?t.getExtensionInitDependency():void 0}getExtensionInitDependency(){const e=this.state;return function(e){return e.id>=3}(e)||lo(314,String(e.id),String(3)),{config:e.config}}getPeer(e){const t=this.builder.extensionNameMap.get(e);return t?t.getExtensionDependency():void 0}getInitDependency(e){const t=this.builder.getExtensionRep(e);return void 0===t&&lo(315,this.extension.name,e.name),t.getExtensionInitDependency()}getDependency(e){const t=this.builder.getExtensionRep(e);return void 0===t&&lo(315,this.extension.name,e.name),t.getExtensionDependency()}getState(){const e=this.state;return function(e){return e.id>=7}(e)||lo(316,String(e.id),String(7)),e}getDirectDependentNames(){return this.builder.incomingEdges.get(this.extension.name)||fo}getPeerNameSet(){let e=this._peerNameSet;return e||(e=new Set((this.extension.peerDependencies||[]).map(([e])=>e)),this._peerNameSet=e),e}getExtensionDependency(){if(!this._dependency){const e=this.state;(function(e){return e.id>=5})(e)||lo(317,this.extension.name),this._dependency={config:e.config,init:e.initResult,output:e.output}}return this._dependency}}const ho={tag:se};function go(){const e=re();e.isEmpty()&&e.append(oe())}const yo=Se({config:ke({setOptions:ho,updateOptions:ho}),init:({$initialEditorState:e=go})=>({$initialEditorState:e,initialized:!1}),afterRegistration(e,{updateOptions:t,setOptions:n},r){const o=r.getInitResult();if(!o.initialized){o.initialized=!0;const{$initialEditorState:r}=o;if(Fe(r))e.setEditorState(r,n);else if("function"==typeof r)e.update(()=>{r(e)},t);else if(r&&("string"==typeof r||"object"==typeof r)){const t=e.parseEditorState(r);e.setEditorState(t,n)}}return()=>{}},name:"@lexical/extension/InitialState",nodes:[Oe,Ae,Ie,Me,Pe]}),vo=Symbol.for("@lexical/extension/LexicalBuilder");function Eo(){}function xo(e){throw e}function bo(e){return Array.isArray(e)?e:[e]}const wo="0.41.0+prod.esm";class No{roots;extensionNameMap;outgoingConfigEdges;incomingEdges;conflicts;_sortedExtensionReps;PACKAGE_VERSION;constructor(e){this.outgoingConfigEdges=new Map,this.incomingEdges=new Map,this.extensionNameMap=new Map,this.conflicts=new Map,this.PACKAGE_VERSION=wo,this.roots=e;for(const t of e)this.addExtension(t)}static fromExtensions(e){const t=[bo(yo)];for(const n of e)t.push(bo(n));return new No(t)}static maybeFromEditor(e){const t=e[vo];return t&&(t.PACKAGE_VERSION!==wo&&lo(292,t.PACKAGE_VERSION,wo),t instanceof No||lo(293)),t}static fromEditor(e){const t=No.maybeFromEditor(e);return void 0===t&&lo(294),t}constructEditor(){const{$initialEditorState:e,onError:t,...n}=this.buildCreateEditorArgs(),r=Object.assign(ne({...n,...t?{onError:e=>{t(e,r)}}:{}}),{[vo]:this});for(const o of this.sortedExtensionReps())o.build(r);return r}buildEditor(){let e=Eo;function t(){try{e()}finally{e=Eo}}const n=Object.assign(this.constructEditor(),{dispose:t,[Symbol.dispose]:t});return e=xe(this.registerEditor(n),()=>n.setRootElement(null)),n}hasExtensionByName(e){return this.extensionNameMap.has(e)}getExtensionRep(e){const t=this.extensionNameMap.get(e.name);if(t)return t.extension!==e&&lo(295,e.name),t}addEdge(e,t,n){const r=this.outgoingConfigEdges.get(e);r?r.set(t,n):this.outgoingConfigEdges.set(e,new Map([[t,n]]));const o=this.incomingEdges.get(t);o?o.add(e):this.incomingEdges.set(t,new Set([e]))}addExtension(e){void 0!==this._sortedExtensionReps&&lo(296);const t=bo(e),[n]=t;"string"!=typeof n.name&&lo(297,typeof n.name);let r=this.extensionNameMap.get(n.name);if(void 0!==r&&r.extension!==n&&lo(298,n.name),!r){r=new po(this,n),this.extensionNameMap.set(n.name,r);const e=this.conflicts.get(n.name);"string"==typeof e&&lo(299,n.name,e);for(const t of n.conflictsWith||[])this.extensionNameMap.has(t)&&lo(299,n.name,t),this.conflicts.set(t,n.name);for(const t of n.dependencies||[]){const e=bo(t);this.addEdge(n.name,e[0].name,e.slice(1)),this.addExtension(e)}for(const[t,r]of n.peerDependencies||[])this.addEdge(n.name,t,r?[r]:[])}}sortedExtensionReps(){if(this._sortedExtensionReps)return this._sortedExtensionReps;const e=[],t=(n,r)=>{let o=n.state;if(mo(o))return;const i=n.extension.name;var s;uo(o)||lo(300,i,r||"[unknown]"),uo(s=o)||lo(304,String(s.id),String(0)),o=Object.assign(s,{id:1}),n.state=o;const a=this.outgoingConfigEdges.get(i);if(a)for(const e of a.keys()){const n=this.extensionNameMap.get(e);n&&t(n,i)}o=function(e){return function(e){return 1===e.id}(e)||lo(305,String(e.id),String(1)),Object.assign(e,{id:2})}(o),n.state=o,e.push(n)};for(const n of this.extensionNameMap.values())uo(n.state)&&t(n);for(const n of e)for(const[e,t]of this.outgoingConfigEdges.get(n.extension.name)||[])if(t.length>0){const n=this.extensionNameMap.get(e);if(n)for(const e of t)n.configs.add(e)}for(const[n,...r]of this.roots)if(r.length>0){const e=this.extensionNameMap.get(n.name);void 0===e&&lo(301,n.name);for(const t of r)e.configs.add(t)}return this._sortedExtensionReps=e,this._sortedExtensionReps}registerEditor(e){const t=this.sortedExtensionReps(),n=new AbortController,r=[()=>n.abort()],o=n.signal;for(const i of t){const t=i.register(e,o);t&&r.push(t)}for(const i of t){const t=i.afterRegistration(e);t&&r.push(t)}return xe(...r)}buildCreateEditorArgs(){const e={},t=new Set,n=new Map,r=new Map,o={},i={},s=this.sortedExtensionReps();for(const c of s){const{extension:s}=c;if(void 0!==s.onError&&(e.onError=s.onError),void 0!==s.disableEvents&&(e.disableEvents=s.disableEvents),void 0!==s.parentEditor&&(e.parentEditor=s.parentEditor),void 0!==s.editable&&(e.editable=s.editable),void 0!==s.namespace&&(e.namespace=s.namespace),void 0!==s.$initialEditorState&&(e.$initialEditorState=s.$initialEditorState),s.nodes)for(const e of no(s)){if("function"!=typeof e){const t=n.get(e.replace);t&&lo(302,s.name,e.replace.name,t.extension.name),n.set(e.replace,c)}t.add(e)}if(s.html){if(s.html.export)for(const[e,t]of s.html.export.entries())r.set(e,t);s.html.import&&Object.assign(o,s.html.import)}s.theme&&co(i,s.theme)}Object.keys(i).length>0&&(e.theme=i),t.size&&(e.nodes=[...t]);const a=Object.keys(o).length>0,l=r.size>0;(a||l)&&(e.html={},a&&(e.html.import=o),l&&(e.html.export=r));for(const c of s)c.init(e);return e.onError||(e.onError=xo),e}}const Co=new Set,So=Se({build(e,t,n){const r=n.getDependency(ao).output,o=Wr({watchedNodeKeys:new Map}),i=so(()=>{},()=>Qr(()=>{const e=i.peek(),{watchedNodeKeys:t}=o.value;let n,s=!1;r.value.read(()=>{if(ie())for(const[r,o]of t.entries()){if(0===o.size){t.delete(r);continue}const i=Ve(r),a=i&&i.isSelected()||!1;s=s||a!==(!!e&&e.has(r)),a&&(n=n||new Set,n.add(r))}}),!s&&n&&e&&n.size===e.size||(i.value=n)}));return{watchNodeKey:function(e){const t=function(e,t){return new qr(e,t)}(()=>(i.value||Co).has(e)),{watchedNodeKeys:n}=o.peek();let r=n.get(e);const s=void 0!==r;return r=r||new Set,r.add(t),s||(n.set(e,r),o.value={watchedNodeKeys:n}),t}}},dependencies:[ao],name:"@lexical/extension/NodeSelection"});Le("INSERT_HORIZONTAL_RULE_COMMAND");class ko extends be{static getType(){return"horizontalrule"}static clone(e){return new ko(e.__key)}static importJSON(e){return _o().updateFromJSON(e)}static importDOM(){return{hr:()=>({conversion:Do,priority:0})}}exportDOM(){return{element:document.createElement("hr")}}createDOM(e){const t=document.createElement("hr");return we(t,e.theme.hr),t}getTextContent(){return"\n"}isInline(){return!1}updateDOM(){return!1}}function Do(){return{node:_o()}}function _o(){return Ce(ko)}function To(e){return e instanceof ko}function Ro(e){return e.canBeEmpty()}Se({dependencies:[ao,So],name:"@lexical/extension/HorizontalRule",nodes:()=>[ko],register(e,t,n){const{watchNodeKey:r}=n.getDependency(So).output,o=Wr({nodeSelections:new Map}),i=e._config.theme.hrSelected??"selected";return xe(e.registerCommand(je,e=>{if(Be(e.target)){const t=ze(e.target);if(To(t))return function(e,t=!1){const n=ie(),r=e.isSelected(),o=e.getKey();let i;t&&Te(n)?i=n:(i=Ke(),Ue(i)),r?i.delete(o):i.add(o)}(t,e.shiftKey),!0}return!1},Re),e.registerMutationListener(ko,(t,n)=>{!function(e){if(Br>0)return e();Br++;try{return e()}finally{Pr()}}(()=>{let n=!1;const{nodeSelections:i}=o.peek();for(const[o,s]of t.entries())if("destroyed"===s)i.delete(o),n=!0;else{const t=i.get(o),s=e.getElementByKey(o);t?t.domNode.value=s:(n=!0,i.set(o,{domNode:Wr(s),selectedSignal:r(o)}))}n&&(o.value={nodeSelections:i})})}),Qr(()=>{const e=[];for(const{domNode:t,selectedSignal:n}of o.value.nodeSelections.values())e.push(Qr(()=>{const e=t.value;e&&(n.value?we(e,i):qe(e,i))}));return xe(...e)}))}}),Se({build:(e,t,n)=>eo(t),config:ke({$canIndent:Ro,disabled:!1,maxIndent:null}),name:"@lexical/extension/TabIndentation",register(e,t,n){const{disabled:r,maxIndent:o,$canIndent:i}=n.getOutput();return Qr(()=>{if(!r.value)return function(e,t,n=Ro){return xe(e.registerCommand(Ye,t=>{const n=ie();if(!ve(n))return!1;t.preventDefault();const r=function(e){if(e.getNodes().filter(e=>Xe(e)&&e.canIndent()).length>0)return!0;const t=e.anchor,n=e.focus,r=n.isBefore(t)?n:t,o=Or(r.getNode());if(o.canIndent()){const e=o.getKey();let t=Qe();if(t.anchor.set(e,0,"element"),t.focus.set(e,0,"element"),t=et(t),t.anchor.is(r))return!0}return!1}(n)?t.shiftKey?tt:nt:rt;return e.dispatchCommand(r,void 0)},Ze),e.registerCommand(nt,()=>{const e="number"==typeof t?t:t?t.peek():null,r=ie();if(!ve(r))return!1;const o="function"==typeof n?n:n.peek();return Ir(t=>{if(o(t)){const n=t.getIndent()+1;(!e||n<e)&&t.setIndent(n)}})},ot))}(e,o,i)})}});const Oo=Se({name:"@lexical/react/ReactProvider"});function Ao(e,t=!0){if(e)return!1;let n=re().getTextContent();return t&&(n=n.trim()),""===n}function Io(e){return()=>function(e){if(!Ao(e,!1))return!1;const t=re().getChildren(),n=t.length;if(n>1)return!1;for(let r=0;r<n;r++){const e=t[r];if(me(e))return!1;if(ue(e)){if(!it(e))return!1;if(0!==e.__indent)return!1;const t=e.getChildren(),n=t.length;for(let e=0;e<n;e++){const e=t[r];if(!st(e))return!1}}}return!0}(e)}function Mo(e){const t=window.location.origin,n=n=>{if(n.origin!==t)return;const r=e.getRootElement();if(document.activeElement!==r)return;const o=n.data;if("string"==typeof o){let t;try{t=JSON.parse(o)}catch(e){return}if(t&&"nuanria_messaging"===t.protocol&&"request"===t.type){const r=t.payload;if(r&&"makeChanges"===r.functionId){const t=r.args;if(t){const[r,o,i,s,a]=t;e.update(()=>{const e=ie();if(ve(e)){const t=e.anchor;let l=t.getNode(),c=0,d=0;if(st(l)&&r>=0&&o>=0&&(c=r,d=r+o,e.setTextNodeRange(l,c,l,d)),c===d&&""===i||(e.insertRawText(i),l=t.getNode()),st(l)){c=s,d=s+a;const t=l.getTextContentSize();c=c>t?t:c,d=d>t?t:d,e.setTextNodeRange(l,c,l,d)}n.stopImmediatePropagation()}})}}}}};return window.addEventListener("message",n,!0),()=>{window.removeEventListener("message",n,!0)}}const Po=Se({build:(e,t,n)=>eo(t),config:ke({disabled:"undefined"==typeof window}),name:"@lexical/dragon",register:(e,t,n)=>Qr(()=>n.getOutput().disabled.value?void 0:Mo(e))});function Fo(e,t,n,r=null){let o=null===r||t.isSelected(r);const i=ue(t)&&t.excludeFromCopy("html");let s=t;null!==r&&st(t)&&(s=wr(r,t,"clone"));const a=ue(s)?s.getChildren():[],l=ft(e,s.getType());let c;c=l&&void 0!==l.exportDOM?l.exportDOM(e,s):s.exportDOM(e);const{element:d,after:u}=c;if(!d)return!1;const m=document.createDocumentFragment();for(let f=0;f<a.length;f++){const n=a[f],i=Fo(e,n,m,r);!o&&ue(t)&&i&&t.extractWithChild(n,r,"html")&&(o=!0)}if(o&&!i){if((pt(d)||ht(d))&&d.append(m),n.append(d),u){const e=u.call(s,d);e&&(ht(d)?d.replaceChildren(e):d.replaceWith(e))}}else n.append(m);return o}const Lo=new Set(["STYLE","SCRIPT"]);function jo(e,t,n,r,o=new Map,i){let s=[];if(Lo.has(e.nodeName))return s;let a=null;const l=function(e,t){const{nodeName:n}=e,r=t._htmlConversions.get(n.toLowerCase());let o=null;if(void 0!==r)for(const i of r){const t=i(e);null!==t&&(null===o||(o.priority||0)<=(t.priority||0))&&(o=t)}return null!==o?o.conversion:null}(e,t),c=l?l(e):null;let d=null;if(null!==c){d=c.after;const t=c.node;if(a=Array.isArray(t)?t[t.length-1]:t,null!==a){for(const[,e]of o)if(a=e(a,i),!a)break;a&&s.push(...Array.isArray(t)?t:[a])}null!=c.forChild&&o.set(e.nodeName,c.forChild)}const u=e.childNodes;let m=[];const f=(null==a||!dt(a))&&(null!=a&&Xe(a)||r);for(let p=0;p<u.length;p++)m.push(...jo(u[p],t,n,f,new Map(o),a));return null!=d&&(m=d(m)),ut(e)&&(m=function(e,t,n){const r=e.style.textAlign,o=[];let i=[];for(let s=0;s<t.length;s++){const e=t[s];if(Xe(e))r&&!e.getFormat()&&e.setFormat(r),o.push(e);else if(i.push(e),s===t.length-1||s<t.length-1&&Xe(t[s+1])){const e=n();e.setFormat(r),e.append(...i),o.push(e),i=[]}}return o}(e,m,f?()=>{const e=new lt;return n.push(e),e}:oe)),null==a?m.length>0?s=s.concat(m):ut(e)&&function(e){return null!=e.nextSibling&&null!=e.previousSibling&&(mt(e.nextSibling)&&mt(e.previousSibling))}(e)&&(s=s.concat(ct())):ue(a)&&a.append(...m),s}function Bo(e,...t){const n=new URL("https://lexical.dev/docs/error"),r=new URLSearchParams;r.append("code",e);for(const o of t)r.append("v",o);throw n.search=r.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.`)}function zo(e,t,n){const r=e.getData("application/x-lexical-editor");if(r)try{const e=JSON.parse(r);if(e.namespace===n._config.namespace&&Array.isArray(e.nodes))return Ko(n,function(e){const t=[];for(let n=0;n<e.length;n++){const r=e[n],o=Nt(r);st(o)&&Nr(o),t.push(o)}return t}(e.nodes),t)}catch(e){console.error(e)}const o=e.getData("text/html"),i=e.getData("text/plain");if(o&&i!==o)try{return Ko(n,function(e,t){const n=at(t)?t.body.childNodes:t.childNodes;let r=[];const o=[];for(const i of n)if(!Lo.has(i.nodeName)){const t=jo(i,e,o,!1);null!==t&&(r=r.concat(t))}return function(e){for(const t of e)t.getNextSibling()instanceof lt&&t.insertAfter(ct());for(const t of e){const e=t.getChildren();for(const n of e)t.insertBefore(n);t.remove()}}(o),r}(n,(new DOMParser).parseFromString(function(e){return window.trustedTypes&&window.trustedTypes.createPolicy?window.trustedTypes.createPolicy("lexical",{createHTML:e=>e}).createHTML(e):e}(o),"text/html")),t)}catch(e){console.error(e)}const s=i||e.getData("text/uri-list");if(null!=s)if(ve(t)){const e=s.split(/(\r?\n|\t)/);""===e[e.length-1]&&e.pop();for(let t=0;t<e.length;t++){const n=ie();if(ve(n)){const r=e[t];"\n"===r||"\r\n"===r?n.insertParagraph():"\t"===r?n.insertNodes([gt()]):n.insertText(r)}}}else t.insertRawText(s)}function Ko(e,t,n){e.dispatchCommand(Et,{nodes:t,selection:n})||(n.insertNodes(t),function(e){if(ve(e)&&e.isCollapsed()){const t=e.anchor;let n=null;const r=ae(t,"previous");if(r)if(xt(r))n=r.origin;else{const e=bt(r,wt(re(),"next").getFlipped());for(const t of e){if(st(t.origin)){n=t.origin;break}if(ue(t.origin)&&!t.origin.isInline())break}}if(n&&st(n)){const t=n.getFormat(),r=n.getStyle();e.format===t&&e.style===r||(e.format=t,e.style=r,e.dirty=!0)}}}(n))}function Uo(e,t,n,r=[]){let o=null===t||n.isSelected(t);const i=ue(n)&&n.excludeFromCopy("html");let s=n;null!==t&&st(s)&&(s=wr(t,s,"clone"));const a=ue(s)?s.getChildren():[],l=function(e){const t=e.exportJSON(),n=e.constructor;if(t.type!==n.getType()&&Bo(58,n.name),ue(e)){const e=t.children;Array.isArray(e)||Bo(59,n.name)}return t}(s);st(s)&&0===s.getTextContentSize()&&(o=!1);for(let c=0;c<a.length;c++){const r=a[c],i=Uo(e,t,r,l.children);!o&&ue(n)&&i&&n.extractWithChild(r,t,"clone")&&(o=!0)}if(o&&!i)r.push(l);else if(Array.isArray(l.children))for(let c=0;c<l.children.length;c++){const e=l.children[c];r.push(e)}return o}let $o=null;async function Wo(e,t,n){if(null!==$o)return!1;if(null!==t)return new Promise((r,o)=>{e.update(()=>{r(Ho(e,t,n))})});const r=e.getRootElement(),o=e._window||window,i=o.document,s=yt(o);if(null===r||null===s)return!1;const a=i.createElement("span");a.style.cssText="position: fixed; top: -1000px;",a.append(i.createTextNode("#")),r.append(a);const l=new Range;return l.setStart(a,0),l.setEnd(a,1),s.removeAllRanges(),s.addRange(l),new Promise((t,r)=>{const s=e.registerCommand(vt,r=>(Ar(r,ClipboardEvent)&&(s(),null!==$o&&(o.clearTimeout($o),$o=null),t(Ho(e,r,n))),!0),ot);$o=o.setTimeout(()=>{s(),$o=null,t(!1)},50),i.execCommand("copy"),a.remove()})}function Ho(e,t,n){if(void 0===n){const t=yt(e._window),r=ie();if(!r||r.isCollapsed())return!1;if(!t)return!1;const o=t.anchorNode,i=t.focusNode;if(null!==o&&null!==i&&!Ct(e,o,i))return!1;n=function(e=ie()){const t={"text/plain":e?e.getTextContent():""};if(e){const n=pe();for(const[r,o]of Jo){const i=o(n,e);null!==i&&(t[r]=i)}}return t}(r)}t.preventDefault();const r=t.clipboardData;return null!==r&&(function(e,t){for(const[n]of Jo)void 0===t[n]&&e.setData(n,"");for(const n in t){const r=t[n];void 0!==r&&e.setData(n,r)}}(r,n),!0)}const Jo=[["text/html",function(e,t=ie()){return null==t&&Bo(166),ve(t)&&t.isCollapsed()||0===t.getNodes().length?"":function(e,t){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 n=document.createElement("div"),r=re().getChildren();for(let o=0;o<r.length;o++)Fo(e,r[o],n,t);return n.innerHTML}(e,t)}],["application/x-lexical-editor",function(e,t=ie()){return null==t&&Bo(166),ve(t)&&t.isCollapsed()||0===t.getNodes().length?null:JSON.stringify(function(e,t){const n=[],r=re().getChildren();for(let o=0;o<r.length;o++)Uo(e,t,r[o],n);return{namespace:e._config.namespace,nodes:n}}(e,t))}]];function Vo(e,t){if(void 0!==document.caretRangeFromPoint){const n=document.caretRangeFromPoint(e,t);return null===n?null:{node:n.startContainer,offset:n.startOffset}}if("undefined"!==document.caretPositionFromPoint){const n=document.caretPositionFromPoint(e,t);return null===n?null:{node:n.offsetNode,offset:n.offset}}return null}const qo="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Go=qo&&"documentMode"in document?document.documentMode:null,Zo=qo&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Yo=!(!qo||!("InputEvent"in window)||Go)&&"getTargetRanges"in new window.InputEvent("input"),Xo=qo&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),Qo=qo&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,ei=qo&&/^(?=.*Chrome).*/i.test(navigator.userAgent),ti=qo&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&Zo&&!ei,ni=Le("DRAG_DROP_PASTE_FILE");class ri extends en{static getType(){return"quote"}static clone(e){return new ri(e.__key)}createDOM(e){const t=document.createElement("blockquote");return we(t,e.theme.quote),t}updateDOM(e,t){return!1}static importDOM(){return{blockquote:e=>({conversion:li,priority:0})}}exportDOM(e){const{element:t}=super.exportDOM(e);if(pt(t)){this.isEmpty()&&t.append(document.createElement("br"));const e=this.getFormatType();e&&(t.style.textAlign=e);const n=this.getDirection();n&&(t.dir=n)}return{element:t}}static importJSON(e){return oi().updateFromJSON(e)}insertNewAfter(e,t){const n=oe(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,t),n}collapseAtStart(){const e=oe();return this.getChildren().forEach(t=>e.append(t)),this.replace(e),!0}canMergeWhenEmpty(){return!0}}function oi(){return nn(new ri)}class ii extends en{__tag;static getType(){return"heading"}static clone(e){return new ii(e.__tag,e.__key)}constructor(e,t){super(t),this.__tag=e}getTag(){return this.__tag}setTag(e){const t=this.getWritable();return this.__tag=e,t}createDOM(e){const t=this.__tag,n=document.createElement(t),r=e.theme.heading;if(void 0!==r){const e=r[t];we(n,e)}return n}updateDOM(e,t,n){return e.__tag!==this.__tag}static importDOM(){return{h1:e=>({conversion:ai,priority:0}),h2:e=>({conversion:ai,priority:0}),h3:e=>({conversion:ai,priority:0}),h4:e=>({conversion:ai,priority:0}),h5:e=>({conversion:ai,priority:0}),h6:e=>({conversion:ai,priority:0}),p:e=>{const t=e.firstChild;return null!==t&&si(t)?{conversion:()=>({node:null}),priority:3}:null},span:e=>si(e)?{conversion:e=>({node:ci("h1")}),priority:3}:null}}exportDOM(e){const{element:t}=super.exportDOM(e);if(pt(t)){this.isEmpty()&&t.append(document.createElement("br"));const e=this.getFormatType();e&&(t.style.textAlign=e);const n=this.getDirection();n&&(t.dir=n)}return{element:t}}static importJSON(e){return ci(e.tag).updateFromJSON(e)}updateFromJSON(e){return super.updateFromJSON(e).setTag(e.tag)}exportJSON(){return{...super.exportJSON(),tag:this.getTag()}}insertNewAfter(e,t=!0){const n=e?e.anchor.offset:0,r=this.getLastDescendant(),o=!r||e&&e.anchor.key===r.getKey()&&n===r.getTextContentSize()||!e?oe():ci(this.getTag()),i=this.getDirection();if(o.setDirection(i),this.insertAfter(o,t),0===n&&!this.isEmpty()&&e){const e=oe();e.select(),this.replace(e,!0)}return o}collapseAtStart(){const e=this.isEmpty()?oe():ci(this.getTag());return this.getChildren().forEach(t=>e.append(t)),this.replace(e),!0}extractWithChild(){return!0}}function si(e){return"span"===e.nodeName.toLowerCase()&&"26pt"===e.style.fontSize}function ai(e){const t=e.nodeName.toLowerCase();let n=null;return"h1"!==t&&"h2"!==t&&"h3"!==t&&"h4"!==t&&"h5"!==t&&"h6"!==t||(n=ci(t),null!==e.style&&(tn(e,n),n.setFormat(e.style.textAlign))),{node:n}}function li(e){const t=oi();return null!==e.style&&(t.setFormat(e.style.textAlign),tn(e,t)),{node:t}}function ci(e="h1"){return nn(new ii(e))}function di(e){let t=null;if(Ar(e,DragEvent)?t=e.dataTransfer:Ar(e,ClipboardEvent)&&(t=e.clipboardData),null===t)return[!1,[],!1];const n=t.types,r=n.includes("Files"),o=n.includes("text/html")||n.includes("text/plain");return[r,Array.from(t.files),o]}function ui(e){const t=Wt(e);return me(t)}function mi(e){for(const t of["lowercase","uppercase","capitalize"])e.hasFormat(t)&&e.toggleFormat(t)}function fi(e){return xe(e.registerCommand(je,e=>{const t=ie();return!!Te(t)&&(t.clear(),!0)},Ze),e.registerCommand(St,e=>{const t=ie();return ve(t)?(t.deleteCharacter(e),!0):!!Te(t)&&(t.deleteNodes(),!0)},Ze),e.registerCommand(kt,e=>{const t=ie();return!!ve(t)&&(t.deleteWord(e),!0)},Ze),e.registerCommand(Dt,e=>{const t=ie();return!!ve(t)&&(t.deleteLine(e),!0)},Ze),e.registerCommand(_t,t=>{const n=ie();if("string"==typeof t)null!==n&&n.insertText(t);else{if(null===n)return!1;const r=t.dataTransfer;if(null!=r)zo(r,n,e);else if(ve(n)){const e=t.data;return e&&n.insertText(e),!0}}return!0},Ze),e.registerCommand(Tt,()=>{const e=ie();return!!ve(e)&&(e.removeText(),!0)},Ze),e.registerCommand(_e,e=>{const t=ie();return!!ve(t)&&(t.formatText(e),!0)},Ze),e.registerCommand(Rt,e=>{const t=ie();if(!ve(t)&&!Te(t))return!1;const n=t.getNodes();for(const r of n){const t=Ee(r,e=>ue(e)&&!e.isInline());null!==t&&t.setFormat(e)}return!0},Ze),e.registerCommand(Ot,e=>{const t=ie();return!!ve(t)&&(t.insertLineBreak(e),!0)},Ze),e.registerCommand(At,()=>{const e=ie();return!!ve(e)&&(e.insertParagraph(),!0)},Ze),e.registerCommand(rt,()=>{const e=gt(),t=ie();return ve(t)&&(e.setFormat(t.format),e.setStyle(t.style)),It([e]),!0},Ze),e.registerCommand(nt,()=>Ir(e=>{const t=e.getIndent();e.setIndent(t+1)}),Ze),e.registerCommand(tt,()=>Ir(e=>{const t=e.getIndent();t>0&&e.setIndent(Math.max(0,t-1))}),Ze),e.registerCommand(Mt,e=>{const t=ie();if(Te(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),n[0].selectPrevious(),!0}else if(ve(t)){const n=Pt(t.focus,!0);if(!e.shiftKey&&me(n)&&!n.isIsolated()&&!n.isInline())return n.selectPrevious(),e.preventDefault(),!0}return!1},Ze),e.registerCommand(Ft,e=>{const t=ie();if(Te(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),n[0].selectNext(0,0),!0}else if(ve(t)){if(function(e){const t=e.focus;return"root"===t.key&&t.offset===re().getChildrenSize()}(t))return e.preventDefault(),!0;const n=Pt(t.focus,!1);if(!e.shiftKey&&me(n)&&!n.isIsolated()&&!n.isInline())return n.selectNext(),e.preventDefault(),!0}return!1},Ze),e.registerCommand(Lt,e=>{const t=ie();if(Te(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),br(n[0])?n[0].selectNext(0,0):n[0].selectPrevious(),!0}if(!ve(t))return!1;if(kr(t,!0)){const n=e.shiftKey;return e.preventDefault(),_r(t,n,!0),!0}return!1},Ze),e.registerCommand(jt,e=>{const t=ie();if(Te(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),br(n[0])?n[0].selectPrevious():n[0].selectNext(0,0),!0}if(!ve(t))return!1;const n=e.shiftKey;return!!kr(t,!1)&&(e.preventDefault(),_r(t,n,!1),!0)},Ze),e.registerCommand(Bt,t=>{if(ui(t.target))return!1;const n=ie();if(ve(n)){if(function(e){if(!e.isCollapsed())return!1;const{anchor:t}=e;if(0!==t.offset)return!1;const n=t.getNode();if(fe(n))return!1;const r=Or(n);return r.getIndent()>0&&(r.is(n)||n.is(r.getFirstDescendant()))}(n))return t.preventDefault(),e.dispatchCommand(tt,void 0);if(Qo&&"ko-KR"===navigator.language)return!1}else if(!Te(n))return!1;return t.preventDefault(),e.dispatchCommand(St,!0)},Ze),e.registerCommand(zt,t=>{if(ui(t.target))return!1;const n=ie();return!(!ve(n)&&!Te(n))&&(t.preventDefault(),e.dispatchCommand(St,!1))},Ze),e.registerCommand(Kt,t=>{const n=ie();if(!ve(n))return!1;if(mi(n),null!==t){if((Qo||Xo||ti)&&Yo)return!1;if(t.preventDefault(),t.shiftKey)return e.dispatchCommand(Ot,!1)}return e.dispatchCommand(At,void 0)},Ze),e.registerCommand(Ut,()=>{const t=ie();return!!ve(t)&&(e.blur(),!0)},Ze),e.registerCommand($t,t=>{const[,n]=di(t);if(n.length>0){const r=Vo(t.clientX,t.clientY);if(null!==r){const{offset:t,node:o}=r,i=Wt(o);if(null!==i){const e=Qe();if(st(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=et(e);Ue(n)}e.dispatchCommand(ni,n)}return t.preventDefault(),!0}const r=ie();return!!ve(r)},Ze),e.registerCommand(Ht,e=>{const[t]=di(e),n=ie();return!(t&&!ve(n))},Ze),e.registerCommand(Jt,e=>{const[t]=di(e),n=ie();if(t&&!ve(n))return!1;const r=Vo(e.clientX,e.clientY);if(null!==r){const t=Wt(r.node);me(t)&&e.preventDefault()}return!0},Ze),e.registerCommand(Vt,()=>(qt(),!0),Ze),e.registerCommand(vt,t=>(Wo(e,Ar(t,ClipboardEvent)?t:null),!0),Ze),e.registerCommand(Gt,t=>(async function(e,t){await Wo(t,Ar(e,ClipboardEvent)?e:null),t.update(()=>{const e=ie();ve(e)?e.removeText():Te(e)&&e.getNodes().forEach(e=>e.remove())})}(t,e),!0),Ze),e.registerCommand(Zt,t=>{const[,n,r]=di(t);return n.length>0&&!r?(e.dispatchCommand(ni,n),!0):(!Be(t.target)||!Yt(t.target))&&(null!==ie()&&(function(e,t){e.preventDefault(),t.update(()=>{const n=ie(),r=Ar(e,InputEvent)||Ar(e,KeyboardEvent)?null:e.clipboardData;null!=r&&null!==n&&zo(r,n,t)},{tag:Xt})}(t,e),!0))},Ze),e.registerCommand(Qt,e=>{const t=ie();return ve(t)&&mi(t),!1},Ze),e.registerCommand(Ye,e=>{const t=ie();return ve(t)&&mi(t),!1},Ze))}function pi(e,...t){const n=new URL("https://lexical.dev/docs/error"),r=new URLSearchParams;r.append("code",e);for(const o of t)r.append("v",o);throw n.search=r.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.`)}Se({conflictsWith:["@lexical/plain-text"],dependencies:[Po],name:"@lexical/rich-text",nodes:()=>[ii,ri],register:fi});const hi="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:a;function gi({editor:e,ErrorBoundary:t}){return function(e,t){const[n,o]=l(()=>e.getDecorators());return hi(()=>e.registerDecoratorListener(e=>{ln(()=>{o(e)})}),[e]),a(()=>{o(e.getDecorators())},[e]),r(()=>{const r=[],o=Object.keys(n);for(let i=0;i<o.length;i++){const s=o[i],a=on(t,{onError:t=>e._onError(t),children:on(c,{fallback:null,children:n[s]})}),l=e.getElementByKey(s);null!==l&&r.push(cn(a,l,s))}return r},[t,n,e])}(e,t)}function yi({editor:e,ErrorBoundary:t}){return function(e){const t=No.maybeFromEditor(e);if(t&&t.hasExtensionByName(Oo.name)){for(const e of["@lexical/plain-text","@lexical/rich-text"])t.hasExtensionByName(e)&&pi(320,e);return!0}return!1}(e)?null:on(gi,{editor:e,ErrorBoundary:t})}function vi(e){return e.getEditorState().read(Io(e.isComposing()))}function Ei({contentEditable:e,placeholder:t=null,ErrorBoundary:n}){const[r]=ur();return function(e){hi(()=>xe(fi(e),Mo(e)),[e])}(r),sn(an,{children:[e,on(xi,{content:t}),on(yi,{editor:r,ErrorBoundary:n})]})}function xi({content:e}){const[n]=ur(),o=function(e){const[t,n]=l(()=>vi(e));return hi(()=>{function t(){const t=vi(e);n(t)}return t(),xe(e.registerUpdateListener(()=>{t()}),e.registerEditableListener(()=>{t()}))},[e]),t}(n),i=function(e){const[n]=ur(),o=r(()=>e(n),[n,e]),[i,s]=l(()=>o.initialValueFn()),a=t(i);return gr(()=>{const{initialValueFn:e,subscribe:t}=o,n=e();return a.current!==n&&(a.current=n,s(n)),t(e=>{a.current=e,s(e)})},[o,e]),i}(yr);return o?"function"==typeof e?e(i):e:null}const bi="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:a;const wi=d(function({editor:e,ariaActiveDescendant:t,ariaAutoComplete:n,ariaControls:o,ariaDescribedBy:i,ariaErrorMessage:a,ariaExpanded:c,ariaInvalid:d,ariaLabel:u,ariaLabelledBy:m,ariaMultiline:f,ariaOwns:p,ariaRequired:h,autoCapitalize:g,className:y,id:v,role:E="textbox",spellCheck:x=!0,style:b,tabIndex:w,"data-testid":N,...C},S){const[k,D]=l(e.isEditable()),_=s(t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)},[e]),T=r(()=>function(...e){return t=>{for(const n of e)"function"==typeof n?n(t):null!=n&&(n.current=t)}}(S,_),[_,S]);return bi(()=>(D(e.isEditable()),e.registerEditableListener(e=>{D(e)})),[e]),on("div",{"aria-activedescendant":k?t:void 0,"aria-autocomplete":k?n:"none","aria-controls":k?o:void 0,"aria-describedby":i,...null!=a?{"aria-errormessage":a}:{},"aria-expanded":k&&"combobox"===E?!!c:void 0,...null!=d?{"aria-invalid":d}:{},"aria-label":u,"aria-labelledby":m,"aria-multiline":f,"aria-owns":k?p:void 0,"aria-readonly":!k||void 0,"aria-required":h,autoCapitalize:g,className:y,contentEditable:k,"data-testid":N,id:v,ref:T,role:E,spellCheck:x,style:b,tabIndex:w,...C})});function Ni(e){return e.getEditorState().read(Io(e.isComposing()))}const Ci=d(function(e,t){const{placeholder:n,...r}=e,[o]=ur();return sn(an,{children:[on(wi,{editor:o,...r,ref:t}),null!=n&&on(Si,{editor:o,content:n})]})});function Si({content:e,editor:t}){const r=function(e){const[t,n]=l(()=>Ni(e));return bi(()=>{function t(){const t=Ni(e);n(t)}return t(),xe(e.registerUpdateListener(()=>{t()}),e.registerEditableListener(()=>{t()}))},[e]),t}(t),[o,i]=l(t.isEditable());if(n(()=>(i(t.isEditable()),t.registerEditableListener(e=>{i(e)})),[t]),!r)return null;let s=null;return"function"==typeof e?s=e(o):null!==e&&(s=e),null===s?null:on("div",{"aria-hidden":!0,children:s})}function ki({delay:e,externalHistoryState:t}){const[n]=ur();return function(e,t,n=1e3){const o=r(()=>t||dn(),[t]);a(()=>un(e,o,n),[n,e,o])}(n,t,e),null}function Di({hasStrictIndent:e=!1,shouldPreserveNumbering:t=!1}){const[n]=ur();return a(()=>{if(!n.hasNodes([mn,fn]))throw new Error("ListPlugin: ListNode and/or ListItemNode not registered on editor")},[n]),a(()=>xe(pn(n,{restoreNumbering:t}),e?hn(n):()=>{}),[n,e,t]),a(()=>pn(r),[r=n]),null;var r}function _i({validateUrl:e,attributes:t}){const[n]=ur();return a(()=>{if(!n.hasNodes([yn]))throw new Error("LinkPlugin: LinkNode not registered on editor")}),a(()=>vn(n,eo({attributes:t,validateUrl:e})),[n,e,t]),null}const Ti="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:a;function Ri({ignoreHistoryMergeTagChange:e=!0,ignoreSelectionChange:t=!1,onChange:n}){const[r]=ur();return Ti(()=>{if(n)return r.registerUpdateListener(({editorState:o,dirtyElements:i,dirtyLeaves:s,prevEditorState:a,tags:l})=>{t&&0===i.size&&0===s.size||e&&l.has(se)||a.isEmpty()||n(o,r,l)})},[r,e,t,n]),null}function Oi(e,t){return e.getEditorState().read(()=>{const e=Ve(t);return null!==e&&e.isSelected()})}function Ai({nodeKey:e}){const[t]=ur(),[n,r,o]=function(e){const[t]=ur(),[n,r]=l(()=>Oi(t,e));return a(()=>{let n=!0;const o=t.registerUpdateListener(()=>{n&&r(Oi(t,e))});return()=>{n=!1,o()}},[t,e]),[n,s(n=>{t.update(()=>{let t=ie();Te(t)||(t=Ke(),Ue(t)),Te(t)&&(n?t.add(e):t.delete(e))})},[t,e]),s(()=>{t.update(()=>{const e=ie();Te(e)&&e.clear()})},[t])]}(e);return a(()=>xe(t.registerCommand(je,i=>{const s=t.getElementByKey(e);return i.target===s&&(i.shiftKey||o(),r(!n),!0)},Re)),[o,t,n,e,r]),a(()=>{const r=t.getElementByKey(e),o=t._config.theme.hrSelected??"selected";null!==r&&(n?we(r,o):qe(r,o))},[t,n,e]),null}class Ii extends ko{static getType(){return"horizontalrule"}static clone(e){return new Ii(e.__key)}static importJSON(e){return Pi().updateFromJSON(e)}static importDOM(){return{hr:()=>({conversion:Mi,priority:0})}}decorate(){return on(Ai,{nodeKey:this.__key})}}function Mi(){return{node:Pi()}}function Pi(){return nn(new Ii)}const Fi=[{dependencies:[Ii],export:e=>To(e)?"***":null,regExp:/^(---|\*\*\*|___)\s?$/,replace:(e,t,n,r)=>{const o=Pi();r||null!=e.getNextSibling()?e.replace(o):e.insertBefore(o),o.selectNext()},type:"element"},...bn];function Li({transformers:e=Fi}){const[t]=ur();return a(()=>xn(t,e),[t,e]),null}const ji=i(null),Bi={didCatch:!1,error:null};class zi extends u{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=Bi}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(...e){const{error:t}=this.state;null!==t&&(this.props.onReset?.({args:e,reason:"imperative-api"}),this.setState(Bi))}componentDidCatch(e,t){this.props.onError?.(e,t)}componentDidUpdate(e,t){const{didCatch:n}=this.state,{resetKeys:r}=this.props;n&&null!==t.error&&function(e=[],t=[]){return e.length!==t.length||e.some((e,n)=>!Object.is(e,t[n]))}(e.resetKeys,r)&&(this.props.onReset?.({next:r,prev:e.resetKeys,reason:"keys"}),this.setState(Bi))}render(){const{children:e,fallbackRender:t,FallbackComponent:n,fallback:r}=this.props,{didCatch:o,error:i}=this.state;let s=e;if(o){const e={error:i,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof t)s=t(e);else if(n)s=m(n,e);else{if(void 0===r)throw i;s=r}}return m(ji.Provider,{value:{didCatch:o,error:i,resetErrorBoundary:this.resetErrorBoundary}},s)}}function Ki({children:e,onError:t}){return on(zi,{fallback:on("div",{style:{border:"1px solid #f00",color:"#f00",padding:"8px"},children:"An error was thrown."}),onError:t,children:e})}const Ui=[wn,Nn,Cn,Sn,kn];function $i({editorRef:e}){const[t]=ur();return a(()=>(e.current=t,()=>{e.current=null}),[t,e]),null}function Wi({onSubmit:e}){const[t]=ur();return a(()=>t.registerCommand(Kt,n=>{if(n.shiftKey)return!1;const r=ie();if(ve(r)){const e=r.anchor.getNode();if(gn(e)||gn(e.getParent()))return!1;if(On(e)||On(e.getParent()))return!1}return n.preventDefault(),t.read(()=>{e?.(Dn(Ui))}),!0},rn),[t,e]),null}function Hi({defaultValue:n,onChange:r,onSubmit:o,placeholder:i,disabled:s,className:a,autoFocus:l,forwardedRef:c}){const d=t(null);f(c,()=>({clear(){d.current?.update(()=>{const e=re();e.clear(),e.append(oe())})},focus(){d.current?.focus()}}));const u={namespace:"RichTextInput",nodes:[mn,fn,yn,En,Tn,Rn],editable:!s,editorState:n?()=>_n(n,Ui):void 0,onError:e=>console.error("[RichTextInput]",e)};/* @__PURE__ */
14
+ return e.createElement(hr,{initialConfig:u},/* @__PURE__ */e.createElement("div",{className:a},/* @__PURE__ */e.createElement("div",{className:"relative"},/* @__PURE__ */e.createElement(Ei,{contentEditable:/* @__PURE__ */e.createElement(Ci,{autoFocus:l,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"}),placeholder:i?/* @__PURE__ */e.createElement("div",{className:"pointer-events-none absolute top-0 left-0 select-none text-muted-foreground"},i):null,ErrorBoundary:Ki}))),/* @__PURE__ */e.createElement(ki,null),/* @__PURE__ */e.createElement(Di,null),/* @__PURE__ */e.createElement(_i,null),/* @__PURE__ */e.createElement(Li,{transformers:Ui}),r&&/* @__PURE__ */e.createElement(Ri,{onChange:e=>{e.read(()=>{r(Dn(Ui))})}}),/* @__PURE__ */e.createElement(Wi,{onSubmit:o}),/* @__PURE__ */e.createElement($i,{editorRef:d}))}const Ji=d((t,n)=>/* @__PURE__ */e.createElement(Hi,{...t,forwardedRef:n}));Ji.displayName="RichTextInput";function Vi(e,t){return!t||0===t.length||t.some(t=>t.startsWith(".")?e.name.toLowerCase().endsWith(t.toLowerCase()):t.endsWith("/*")?e.type.startsWith(t.slice(0,-1)):e.type===t)}function qi(e){switch(e.type){case"file":return{id:e.id,label:e.file.name,iconType:or(e.file.mimeType),loading:e.loading,progress:e.progress};case"page":return{id:e.id,label:e.page.title,iconType:"page"};case"entity":return{id:e.id,label:e.entity.title,iconType:e.entity.type}}}const Gi=({placeholder:n="Ask anything…",attachments:r=[],collections:o=[],pages:i=[],acceptedFileTypes:a,disabled:c=!1,isElevated:d=!1,className:u})=>{const{callbacks:m,isStreaming:f}=zn(),[p,h]=l(!1),g=t(""),y=t(null),E=t(null),[x,b]=l(!1),w=t(0),[N,C]=l(!1),[S,k]=l(!1),D=t(null),_=t(!1),T=s(()=>{D.current&&(clearTimeout(D.current),D.current=null),k(!0)},[]),R=s(()=>{D.current=setTimeout(()=>{_.current||k(!1)},150)},[]),O=r.filter(e=>"file"===e.type&&e.file.mimeType.startsWith("image/")),L=r.filter(e=>!("file"===e.type&&e.file.mimeType.startsWith("image/"))),j=L.map(qi),B=r.some(e=>"file"===e.type&&e.loading),z=c||f||B,K=o.length>0||i.length>0,U=s(e=>{const t=(e??g.current).trim();t&&!z&&(m.onSend?.(t,r.length>0?r:void 0),y.current?.clear(),y.current?.focus())},[z,m,r]),ne=s(()=>{m.onStop?.()},[m]),re=s(e=>{k(!1),C(!1),m.onAttachmentAdd?.({type:"select-entity",entity:{id:e.id,type:"collection",title:e.title,url:e.url}})},[m]),oe=s(()=>{i[0]&&(C(!1),m.onAttachmentAdd?.({type:"select-page",page:i[0]}))},[i,m]),ie=r.filter(e=>"file"===e.type).length,se=s(e=>{const t=e.slice(0,10-ie);t.length<e.length&&alert("You can only attach up to 10 files at a time."),t.length>0&&m.onAttachmentAdd?.({type:"add-files",files:t})},[ie,m]),ae=s(e=>{const t=Array.from(e.target.files??[]);e.target.value="",t.length>0&&se(t)},[se]),le=s(e=>{e.preventDefault(),w.current++,b(!0)},[]),ce=s(e=>{e.preventDefault(),w.current--,0===w.current&&b(!1)},[]),de=s(e=>{e.preventDefault(),e.dataTransfer.dropEffect="copy"},[]),ue=s(e=>{if(e.preventDefault(),w.current=0,b(!1),c||f)return;const t=Array.from(e.dataTransfer.files),n=t.filter(e=>Vi(e,a));t.length>0&&0===n.length?alert("That file type isn't supported. Please try a different format."):n.length>0&&se(n)},[c,f,a,se]),me=s(e=>{if(c||f)return;const t=[];if(e.clipboardData.files.length>0)t.push(...Array.from(e.clipboardData.files));else for(const r of Array.from(e.clipboardData.items))if("file"===r.kind){const e=r.getAsFile();e&&t.push(e)}const n=t.filter(e=>Vi(e,a));if(t.length>0&&0===n.length)return e.preventDefault(),e.stopPropagation(),void alert("That file type isn't supported. Please try a different format.");n.length>0&&(e.preventDefault(),e.stopPropagation(),se(n))},[c,f,a,se]);/* @__PURE__ */
15
+ return e.createElement("div",{className:v("w-full",u)},/* @__PURE__ */e.createElement("input",{ref:E,type:"file",multiple:!0,accept:a?.join(","),className:"sr-only",onChange:ae}),/* @__PURE__ */e.createElement("div",{className:v("relative w-full rounded-t-2xl rounded-b-lg bg-gradient-yellowfin p-2 transition-shadow duration-300",d&&"shadow-[0_-20px_25px_-5px_rgba(0,0,0,0.1),0_-8px_10px_-6px_rgba(0,0,0,0.1)]")},
16
+ /* @__PURE__ */e.createElement("div",{className:"relative w-full rounded-t-lg rounded-b bg-surface shadow-md",onDragEnter:le,onDragLeave:ce,onDragOver:de,onDrop:ue,onPasteCapture:me},x&&/* @__PURE__ */e.createElement("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-t-lg rounded-b pointer-events-none",style:{backgroundColor:"color-mix(in srgb, var(--bfc-surface) 90%, transparent)"}},
17
+ /* @__PURE__ */e.createElement("div",{className:"flex flex-col items-center gap-1.5"},/* @__PURE__ */e.createElement(A,{className:"h-5 w-5 text-muted-foreground"}),/* @__PURE__ */e.createElement("span",{className:"text-sm text-muted-foreground"},"Drop files here"))),
18
+ /* @__PURE__ */e.createElement(nr,{attachments:O,onRemove:e=>m.onAttachmentRemove?.(e),className:"px-3 pt-3"}),j.length>0&&/* @__PURE__ */e.createElement("div",{className:"flex flex-wrap gap-1.5 px-3 pt-3"},j.map(t=>{const n=L.find(e=>e.id===t.id);/* @__PURE__ */
19
+ return e.createElement(Qn,{key:t.id,pill:t,onRemove:n?()=>m.onAttachmentRemove?.(n):void 0})})),
20
+ /* @__PURE__ */e.createElement(Ji,{ref:y,placeholder:n,disabled:c,autoFocus:!0,className:"w-full bg-transparent p-4 text-sm disabled:cursor-not-allowed disabled:opacity-50",onChange:e=>{g.current=e,h(e.trim().length>0)},onSubmit:U}),
21
+ /* @__PURE__ */e.createElement("div",{className:"flex items-center justify-between px-2 pb-2"},/* @__PURE__ */e.createElement("div",{className:"flex items-center gap-1"},K?/* @__PURE__ */e.createElement($,{open:N,onOpenChange:C},/* @__PURE__ */e.createElement(W,{asChild:!0,disabled:c||f},/* @__PURE__ */e.createElement("button",{type:"button",className:v("inline-flex h-6 w-6 items-center justify-center rounded text-default hover:bg-muted transition-all",N&&"shadow-md dark:shadow-md"),disabled:c||f},
22
+ /* @__PURE__ */e.createElement(I,{className:v("h-4 w-4 transition-transform duration-200",N&&"-rotate-45")}))),/* @__PURE__ */e.createElement(H,{align:"end",side:"right",className:"rounded border-none shadow-md bg-surface p-2 min-w-[200px] dark:border-none dark:shadow-md"},o.length>0&&/* @__PURE__ */e.createElement(V,{open:S,onOpenChange:k},/* @__PURE__ */e.createElement(q,{asChild:!0},/* @__PURE__ */e.createElement(J,{className:"p-2",onSelect:e=>e.preventDefault(),onMouseEnter:T,onMouseLeave:R,onFocus:T},"Collection",
23
+ /* @__PURE__ */e.createElement(M,{className:"ml-auto h-4 w-4"}))),/* @__PURE__ */e.createElement(G,{className:"w-[200px] rounded border-none p-0 shadow-md dark:border-none dark:shadow-md",side:"right",align:"start",onMouseEnter:T,onMouseLeave:R,onFocusCapture:()=>{_.current=!0},onBlurCapture:()=>{_.current=!1,R()}},
24
+ /* @__PURE__ */e.createElement(Z,null,o.length>5&&/* @__PURE__ */e.createElement(Y,{placeholder:"Search collections..."}),/* @__PURE__ */e.createElement(X,null,/* @__PURE__ */e.createElement(Q,null,"No collections found."),/* @__PURE__ */e.createElement(ee,null,o.map(t=>/* @__PURE__ */e.createElement(te,{key:t.id,value:t.title,onSelect:()=>re(t)},t.title))))))),i.length>0&&/* @__PURE__ */e.createElement(J,{className:"p-2",onSelect:oe},"Attach page"),
25
+ /* @__PURE__ */e.createElement(J,{className:"p-2",onSelect:()=>E.current?.click()},"Add image or file"))):/* @__PURE__ */e.createElement("button",{type:"button",className:"inline-flex h-6 w-6 items-center justify-center rounded text-default hover:bg-muted transition-all",disabled:c||f,onClick:()=>E.current?.click()},
26
+ /* @__PURE__ */e.createElement(I,{className:"h-4 w-4"}))),f?/* @__PURE__ */e.createElement("button",{type:"button",className:"inline-flex h-6 w-6 items-center justify-center rounded transition-colors bg-input text-primary-foreground hover:bg-input/90",onClick:ne,disabled:c},
27
+ /* @__PURE__ */e.createElement(P,{className:"h-4 w-4",weight:"fill"})):/* @__PURE__ */e.createElement("button",{type:"button",className:v("inline-flex h-6 w-6 items-center justify-center rounded transition-colors",p&&!B?"bg-input text-primary-foreground hover:bg-input/90":"bg-muted text-muted-foreground"),onClick:()=>U(),disabled:z||!p},
28
+ /* @__PURE__ */e.createElement(F,{className:"h-4 w-4",weight:"bold"}))))))};Gi.displayName="ConversationInput";const Zi=({items:t,className:n})=>{const{callbacks:r}=zn();return 0===t.length?null:/* @__PURE__ */e.createElement("div",{className:v("flex flex-wrap justify-end gap-2 px-2 py-2",n)},t.map(t=>/* @__PURE__ */e.createElement("button",{key:t.id,type:"button",className:"rounded-full border border-border px-4 py-2 text-sm text-foreground hover:bg-muted transition-colors",onClick:()=>r.onSuggestionClick?.(t)},t.text)))};Zi.displayName="ConversationSuggestions";const Yi=({actions:t,onActionClick:n,className:r})=>0===t.length?null:/* @__PURE__ */e.createElement("div",{className:v("flex flex-wrap gap-2 px-2 py-2",r)},t.map(t=>/* @__PURE__ */e.createElement("button",{key:t.id,type:"button",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",onClick:()=>n?.(t)},t.label,t.description&&/* @__PURE__ */e.createElement("span",{className:"text-muted-foreground"},t.description))));Yi.displayName="ConversationActions";const Xi=({className:t,children:n="Working",variant:r="yellowfin"})=>/* @__PURE__ */e.createElement(B,{className:t,variant:r},n);Xi.displayName="ConversationStatus";const Qi=({className:t,showHistoryButton:n=!1,onClose:r,onHistoryClick:o,onNewConversationClick:i})=>/* @__PURE__ */e.createElement("div",{className:v("flex items-center h-8",t)},n&&/* @__PURE__ */e.createElement(p,null,/* @__PURE__ */e.createElement(h,{asChild:!0},/* @__PURE__ */e.createElement(K,{variant:"ghost",size:"icon",onClick:o},/* @__PURE__ */e.createElement(L,{size:24}))),/* @__PURE__ */e.createElement(g,null,"Conversation history")),/* @__PURE__ */e.createElement(p,null,/* @__PURE__ */e.createElement(h,{asChild:!0},/* @__PURE__ */e.createElement(K,{variant:"ghost",size:"icon",className:"",onClick:i},/* @__PURE__ */e.createElement(I,{size:24}))),/* @__PURE__ */e.createElement(g,null,"New conversation")),/* @__PURE__ */e.createElement("div",{className:"mx-1.5 w-px h-4 bg-base-primary"}),/* @__PURE__ */e.createElement(p,null,/* @__PURE__ */e.createElement(h,{asChild:!0},/* @__PURE__ */e.createElement(K,{variant:"ghost",size:"icon",onClick:r},/* @__PURE__ */e.createElement(O,{size:24}))),/* @__PURE__ */e.createElement(g,null,"Close Ask Brainfish"))),es=({className:t,headerTitle:n,showHistoryButton:r=!1,showBorder:o=!1})=>{const{callbacks:i}=zn();/* @__PURE__ */
29
+ return e.createElement("div",{className:v("flex items-center justify-between border-b p-2 transition-colors duration-200",o?"border-border":"border-transparent",t)},
30
+ /* @__PURE__ */e.createElement("div",{className:"flex items-center gap-2"},/* @__PURE__ */e.createElement(An,{size:24}),n&&/* @__PURE__ */e.createElement("div",{className:"text-dark text-sm"},n)),
31
+ /* @__PURE__ */e.createElement(Qi,{className:"self-end",showHistoryButton:r,onClose:i.onClose,onHistoryClick:i.onHistoryClick,onNewConversationClick:i.onNewConversationClick}))};es.displayName="ConversationHeader";const ts=()=>/* @__PURE__ */e.createElement("div",{className:"flex items-center justify-center gap-1 text-[0.625rem] text-subtle"},/* @__PURE__ */e.createElement("span",null,"Powered by"),/* @__PURE__ */e.createElement(In,{variant:"full",color:"outline",className:"h-2.5 w-auto"}));ts.displayName="Branding";const ns=Object.assign(({messages:r,callbacks:o,children:i,suggestions:s=[],actions:c=[],placeholder:d,attachments:u,collections:m,pages:f,acceptedFileTypes:p,showBranding:h=!1,className:g,showHistoryButton:E=!1,headerTitle:x="Ask Brainfish"})=>{const b=!!i,w=t(null),[N,C]=l(0),[S,k]=l(!1),[D,_]=l(!1),[T]=l(()=>"undefined"==typeof window||!function(){try{return"true"===localStorage.getItem(Mn)}catch{return!1}}()),R=function(e){return e?"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?":"Hello! How can I help today?"}(T),[O,A]=l(()=>Fn(Pn,R,3)),I=r.length>0?r:[O];return a(()=>{T&&function(){try{localStorage.setItem(Mn,"true")}catch{}}()},[T]),n(()=>{if(!(r.length>0))return Ln(R,A)},[r.length,R]),a(()=>{const e=w.current;if(!e)return;const t=new ResizeObserver(([e])=>{e&&C(e.borderBoxSize[0]?.blockSize??e.contentRect.height)});return t.observe(e),()=>t.disconnect()},[]),/* @__PURE__ */e.createElement(y,null,/* @__PURE__ */e.createElement(Kn,{messages:I,callbacks:o,reportScrolledFromTop:_},
32
+ /* @__PURE__ */e.createElement("div",{className:v("flex h-full flex-col pb-4",g)},/* @__PURE__ */e.createElement(es,{headerTitle:x,showHistoryButton:E,showBorder:D}),b?i:/* @__PURE__ */e.createElement(e.Fragment,null,/* @__PURE__ */e.createElement("div",{className:"relative min-h-0 flex-1 grid grid-rows-[1fr] grid-cols-[1fr]"},/* @__PURE__ */e.createElement("div",{className:"row-start-1 col-start-1 min-h-0"},/* @__PURE__ */e.createElement(cr,{bottomPadding:N,onContentBehind:k})),/* @__PURE__ */e.createElement("div",{ref:w,className:"row-start-1 col-start-1 self-end z-10 pointer-events-none px-2"},/* @__PURE__ */e.createElement("div",{className:"pointer-events-auto"},s.length>0&&/* @__PURE__ */e.createElement(Zi,{items:s}),c.length>0&&/* @__PURE__ */e.createElement(Yi,{actions:c,onActionClick:e=>o.onActionClick?.(e,"")}),/* @__PURE__ */e.createElement(Gi,{placeholder:d,attachments:u,collections:m,pages:f,acceptedFileTypes:p,isElevated:S})))),h&&/* @__PURE__ */e.createElement("div",{className:"relative z-10 pt-2"},/* @__PURE__ */e.createElement(ts,null))))))},{Header:es,Messages:cr,Input:Gi,Suggestions:Zi,Actions:Yi,Loading:Xi});export{Qn as C,ns as a,Yi as b,Gi as c,Zn as d,ar as e,cr as f,Kn as g,Xi as h,Zi as i,Gn as j,zn as u};
33
+ //# sourceMappingURL=Conversation.Dq66Znf4.js.map