@brainfish-ai/components 0.31.2 → 0.31.4

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.
@@ -1,29 +0,0 @@
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 u,Component as d,createElement as f,useImperativeHandle as m}from"react";import{Tooltip as p,TooltipTrigger as g,TooltipContent as h,TooltipProvider as y}from"../components/ui/tooltip.js";import{c as v}from"./utils.C6Qu-kwd.js";import{ScrollArea as x}from"../components/ui/scroll-area.js";import{Copy as E,Browser as b,FileText as w,Folder as N,ChatsTeardrop as S,File as C,FileDoc as k,FilePdf as D,Video as _,Image as R,CircleNotch as O,X as T,Files as A,Plus as M,CaretRight as P,Stop as I,ArrowUp as F}from"@phosphor-icons/react";import{a as L,S as j}from"./ripple-status.C20jzXjF.js";import{F as K}from"./FormattedMessage.D_knqVl-.js";import*as z from"@radix-ui/react-dialog";import{DropdownMenu as B,DropdownMenuTrigger as $,DropdownMenuContent as U,DropdownMenuItem as W}from"../components/ui/dropdown-menu.js";import{Popover as J,PopoverTrigger as V,PopoverContent as H}from"../components/ui/popover.js";import{Command as q,CommandInput as G,CommandList as Z,CommandEmpty as Y,CommandGroup as X,CommandItem as Q}from"../components/ui/command.js";import{createEditor as ee,$getRoot as te,$createParagraphNode as ne,$getSelection as re,HISTORY_MERGE_TAG as oe,$caretFromPoint as ie,$isExtendableTextPointCaret as se,$extendCaretToRange as ae,$isChildCaret as le,$isElementNode as ce,$isDecoratorNode as ue,$isRootNode as de,$getEditor as fe,$isTokenOrSegmented as me,$getCharacterOffsets as pe,$cloneWithPropertiesEphemeral as ge,$isRangeSelection as he,$findMatchingParent as ye,mergeRegister as ve,DecoratorNode as xe,addClassNamesToElement as Ee,shallowMergeConfig as be,$create as we,defineExtension as Ne,safeCast as Se,createState as Ce,FORMAT_TEXT_COMMAND as ke,$isNodeSelection as De,COMMAND_PRIORITY_LOW as _e,RootNode as Re,TextNode as Oe,LineBreakNode as Te,TabNode as Ae,ParagraphNode as Me,$isEditorState as Pe,createCommand as Ie,CLICK_COMMAND as Fe,isDOMNode as Le,$getNodeFromDOMNode as je,$createNodeSelection as Ke,$setSelection as ze,$getState as Be,toggleTextFormatType as $e,TEXT_TYPE_TO_FORMAT as Ue,$setState as We,$getNodeByKey as Je,removeClassNamesFromElement as Ve,CLEAR_EDITOR_COMMAND as He,COMMAND_PRIORITY_EDITOR as qe,KEY_TAB_COMMAND as Ge,$isBlockElementNode as Ze,$createRangeSelection as Ye,$normalizeSelection__EXPERIMENTAL as Xe,OUTDENT_CONTENT_COMMAND as Qe,INDENT_CONTENT_COMMAND as et,INSERT_TAB_COMMAND as tt,COMMAND_PRIORITY_CRITICAL as nt,$isParagraphNode as rt,$isTextNode as ot,isDOMDocumentNode as it,ArtificialNode__DO_NOT_USE as st,$createLineBreakNode as at,$isRootOrShadowRoot as lt,isBlockDomNode as ct,isInlineDomNode as ut,getRegisteredNode as dt,isHTMLElement as ft,isDocumentFragment as mt,$createTabNode as pt,getDOMSelection as gt,COPY_COMMAND as ht,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as yt,$isTextPointCaret as vt,$getCaretRange as xt,$getChildCaret as Et,$parseSerializedNode as bt,isSelectionWithinEditor as wt,DELETE_CHARACTER_COMMAND as Nt,DELETE_WORD_COMMAND as St,DELETE_LINE_COMMAND as Ct,CONTROLLED_TEXT_INSERTION_COMMAND as kt,REMOVE_TEXT_COMMAND as Dt,FORMAT_ELEMENT_COMMAND as _t,INSERT_LINE_BREAK_COMMAND as Rt,INSERT_PARAGRAPH_COMMAND as Ot,$insertNodes as Tt,KEY_ARROW_UP_COMMAND as At,$getAdjacentNode as Mt,KEY_ARROW_DOWN_COMMAND as Pt,KEY_ARROW_LEFT_COMMAND as It,KEY_ARROW_RIGHT_COMMAND as Ft,KEY_BACKSPACE_COMMAND as Lt,KEY_DELETE_COMMAND as jt,KEY_ENTER_COMMAND as Kt,KEY_ESCAPE_COMMAND as zt,DROP_COMMAND as Bt,$getNearestNodeFromDOMNode as $t,DRAGSTART_COMMAND as Ut,DRAGOVER_COMMAND as Wt,SELECT_ALL_COMMAND as Jt,$selectAll as Vt,CUT_COMMAND as Ht,PASTE_COMMAND as qt,isSelectionCapturedInDecoratorInput as Gt,PASTE_TAG as Zt,KEY_SPACE_COMMAND as Yt,ElementNode as Xt,setNodeIndentFromDOM as Qt,$applyNodeReplacement as en,COMMAND_PRIORITY_HIGH as tn}from"lexical";import{jsx as nn,jsxs as rn,Fragment as on}from"react/jsx-runtime";import{flushSync as sn,createPortal as an}from"react-dom";import{createEmptyHistoryState as ln,registerHistory as cn}from"@lexical/history";import{ListNode as un,ListItemNode as dn,registerList as fn,registerListStrictIndentTransform as mn,$isListItemNode as pn}from"@lexical/list";import{LinkNode as gn,registerLink as hn,AutoLinkNode as yn}from"@lexical/link";import{registerMarkdownShortcuts as vn,TRANSFORMERS as xn,ORDERED_LIST as En,UNORDERED_LIST as bn,LINK as wn,INLINE_CODE as Nn,CODE as Sn,$convertToMarkdownString as Cn,$convertFromMarkdownString as kn}from"@lexical/markdown";import{CodeNode as Dn,CodeHighlightNode as _n,$isCodeNode as Rn}from"@lexical/code";import{L as On}from"./logo.DtwFGMBj.js";const Tn=i(null),An={onCopy:(e,t)=>{navigator.clipboard.writeText(t)}};function Mn(){const e=o(Tn);if(!e)throw new Error("useConversation must be used within a <Conversation> provider");return e}function Pn({messages:o,callbacks:i,children:s}){const a=o.some(e=>"streaming"===e.status),l=t({...An,...i});n(()=>{l.current={...An,...i}});const c=r(()=>({onSend:(...e)=>l.current.onSend?.(...e),onStop:(...e)=>l.current.onStop?.(...e),onSuggestionClick:(...e)=>l.current.onSuggestionClick?.(...e),onActionClick:(...e)=>l.current.onActionClick?.(...e),onCitationClick:(...e)=>l.current.onCitationClick?.(...e),onAttachmentAdd:(...e)=>l.current.onAttachmentAdd?.(...e),onAttachmentRemove:(...e)=>l.current.onAttachmentRemove?.(...e),onCopy:(...e)=>l.current.onCopy?.(...e)}),[]),u=r(()=>({messages:o,callbacks:c,isStreaming:a}),[o,c,a]);/* @__PURE__ */
2
- return e.createElement(Tn.Provider,{value:u},s)}const In=({block:t,isStreaming:n})=>/* @__PURE__ */e.createElement(K,{message:{content:t.text},isStreaming:n}),Fn=({citations:t,onCitationClick:n})=>/* @__PURE__ */e.createElement("span",{className:"inline-flex flex-wrap gap-1"},t.map(t=>/* @__PURE__ */e.createElement(Ln,{key:t.id,citation:t,onClick:n}))),Ln=({citation:t,onClick:n})=>/* @__PURE__ */e.createElement(p,null,/* @__PURE__ */e.createElement(g,{asChild:!0},/* @__PURE__ */e.createElement("button",{type:"button",className:"inline-flex h-5 w-5 items-center justify-center rounded-full bg-primary/10 text-xs font-medium text-primary hover:bg-primary/20 transition-colors",onClick:()=>n?.(t)},t.index)),/* @__PURE__ */e.createElement(h,{side:"top",className:"max-w-xs"},/* @__PURE__ */e.createElement("p",{className:"text-sm font-medium"},t.title),/* @__PURE__ */e.createElement("p",{className:"text-xs text-muted-foreground truncate"},t.url))),jn=({block:t,isStreaming:n,onCitationClick:r})=>"text"===t.type?/* @__PURE__ */e.createElement(e.Fragment,null,/* @__PURE__ */e.createElement(In,{block:t,isStreaming:n}),t.citations&&t.citations.length>0&&/* @__PURE__ */e.createElement(Fn,{citations:t.citations,onCitationClick:r})):null,Kn="Working",zn={keyword_search:"Searching knowledge base",get_document:"Reading document",create_document:"Creating document",update_document:"Updating document"};function Bn(e){const t=e.name.replace(/([a-z])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase();return zn[t]??Kn}function $n(e){const t=e.content;if(0===t.length)return Kn;const n=t[t.length-1];switch(n.type){case"tool_use":return Bn(n);case"tool_result":{const e=t.findLast(e=>"tool_use"===e.type&&e.id===n.toolUseId);return e?Bn(e):Kn}case"thinking":return"Thinking";case"text":return n.text.length>0?null:Kn;default:return Kn}}const Un=({message:t,className:n})=>{const{callbacks:r}=Mn(),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),u="error"===t.status,d=o||i?$n(t):null;return!c&&d?/* @__PURE__ */e.createElement(L,{text:d,className:n}):/* @__PURE__ */e.createElement("div",{className:v("flex gap-3 p-4 bg-surface rounded",n)},/* @__PURE__ */e.createElement("div",{className:"flex-1 min-w-0"},/* @__PURE__ */e.createElement("div",{className:"space-y-1"},u?/* @__PURE__ */e.createElement(jn,{block:{type:"text",text:"Sorry, something went wrong. Please try again."}}):t.content.map((t,n)=>/* @__PURE__ */e.createElement(jn,{key:n,block:t,isStreaming:o,onCitationClick:r.onCitationClick}))),d&&/* @__PURE__ */e.createElement(L,{text:d,className:"mt-2"}),a&&/* @__PURE__ */e.createElement("div",{className:"mt-3 flex items-center gap-1"},/* @__PURE__ */e.createElement(Wn,{tooltip:"Copy",onClick:l},/* @__PURE__ */e.createElement(E,{className:"h-4 w-4"})))))},Wn=({children:t,tooltip:n,active:r,onClick:o})=>/* @__PURE__ */e.createElement(p,null,/* @__PURE__ */e.createElement(g,{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(h,{side:"bottom"},/* @__PURE__ */e.createElement("p",{className:"text-xs"},n))),Jn={image:R,video:_,pdf:D,doc:k,file:C,channel:S,collection:N,article:w,page:b},Vn=({pill:t,onRemove:n})=>{const r=t.iconType?Jn[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(O,{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(T,{className:"h-2.5 w-2.5"}))))};function Hn({src:t,alt:n,open:r,onClose:o}){/* @__PURE__ */
5
- return e.createElement(z.Root,{open:r,onOpenChange:e=>{e||o()}},
6
- /* @__PURE__ */e.createElement(z.Portal,null,/* @__PURE__ */e.createElement(z.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(z.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(z.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 qn({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 u=n??s;return u?/* @__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:u,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(T,{className:"size-2.5 text-white","aria-label":"Remove"}))),/* @__PURE__ */e.createElement(Hn,{src:u,alt:r,open:l,onClose:()=>c(!1)})):null}function Gn({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(qn,{key:t.id,file:t.raw,url:t.file.url,alt:t.file.name,loading:t.loading,onRemove:n?()=>n(t):void 0})))}function Zn({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(qn,{key:t.attachmentId,url:t.url,alt:t.fileName})))}function Yn(e){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":"application/pdf"===e?"pdf":"application/msword"===e||e.includes("wordprocessingml")?"doc":"file"}function Xn(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 Qn(e){switch(e.type){case"file":return{id:e.attachmentId,label:e.fileName,iconType:Yn(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 er=({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 py-4",n)},/* @__PURE__ */e.createElement("div",{className:"max-w-[85%] rounded bg-surface px-4 py-2.5 text-foreground flex flex-col gap-3"},/* @__PURE__ */e.createElement(Zn,{blocks:o}),i.length>0&&/* @__PURE__ */e.createElement("div",{className:"flex flex-wrap gap-1.5"},i.map(t=>/* @__PURE__ */e.createElement(Vn,{key:Xn(t),pill:Qn(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)))))},tr=({message:t,className:n})=>{switch(t.role){case"ai":/* @__PURE__ */
12
- return e.createElement(Un,{message:t,className:n});case"user":/* @__PURE__ */
13
- return e.createElement(er,{message:t,className:n});default:return null}},nr=({className:n,bottomPadding:r=0,onContentBehind:o})=>{const{messages:i}=Mn(),s=t(null),l=t(null);return a(()=>{const e=s.current;e&&(e.scrollTop=e.scrollHeight)},[i]),a(()=>{const e=l.current,t=s.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(x,{ref:s,className:v("h-full",n)},/* @__PURE__ */e.createElement("div",{className:"px-6"},i.map(t=>/* @__PURE__ */e.createElement(tr,{key:t.id,message:t})),/* @__PURE__ */e.createElement("div",{ref:l,className:"h-px"})),/* @__PURE__ */e.createElement("div",{style:{height:r+8}}))},rr=i(null);function or(){const e=o(rr);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 ir="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,sr=ir?n:a,ar={tag:oe};function lr({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=ee({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=te();if(t.isEmpty()){const n=ne();t.append(n);const r=ir?document.activeElement:null;(null!==re()||null!==r&&r===e.getRootElement())&&n.select()}},ar);else if(null!==t)switch(typeof t){case"string":{const n=e.parseEditorState(t);e.setEditorState(n,ar);break}case"object":e.setEditorState(t,ar);break;case"function":e.update(()=>{te().isEmpty()&&t(e)},ar)}}(l,i),[l,a]},[]);return sr(()=>{const t=e.editable,[r]=n;r.setEditable(void 0===t||t)},[]),nn(rr.Provider,{value:n,children:t})}const cr="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:a;function ur(e){return{initialValueFn:()=>e.isEditable(),subscribe:t=>e.registerEditableListener(t)}}const dr=new Map;function fr(e){const t=fe().getElementByKey(e.getKey());if(null===t)return null;const n=t.ownerDocument.defaultView;return null===n?null:n.getComputedStyle(t)}function mr(e){return fr(de(e)?e:e.getParentOrThrow())}function pr(e){const t=mr(e);return null!==t&&"rtl"===t.direction}function gr(e,t,n="self"){const r=e.getStartEndPoints();if(t.isSelected(e)&&!me(t)&&null!==r){const[o,i]=r,s=e.isBackward(),a=o.getNode(),l=i.getNode(),c=t.is(a),u=t.is(l);if(c||u){const[r,o]=pe(e),i=a.is(l),c=t.is(s?l:a),u=t.is(s?a:l);let d,f=0;i?(f=r>o?o:r,d=r>o?r:o):c?(f=s?o:r,d=void 0):u&&(f=0,d=s?r:o);const m=t.__text.slice(f,d);m!==t.__text&&("clone"===n&&(t=ge(t)),t.__text=m)}}return t}function hr(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);dr.set(t,n)}function yr(e){const t=vr(e);return null!==t&&"vertical-rl"===t.writingMode}function vr(e){const t=e.anchor.getNode();return ce(t)?fr(t):mr(t)}function xr(e,t){let n=yr(e)?!t:t;Er(e)&&(n=!n);const r=ie(e.focus,n?"previous":"next");if(se(r))return!1;for(const o of ae(r)){if(le(o))return!o.origin.isInline();if(!ce(o.origin)){if(ue(o.origin))return!0;break}}return!1}function Er(e){const t=vr(e);return null!==t&&"rtl"===t.direction}function br(e,t,n){const r=Er(e);let o;o=yr(e)||r?!n:n,function(e,t,n,r){e.modify(t?"extend":"move",n,r)}(e,t,o,"character")}const wr="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Nr=wr&&"documentMode"in document?document.documentMode:null;function Sr(e){const t=ye(e,e=>ce(e)&&!e.isInline());return ce(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 Cr(e,t){return null!==e&&Object.getPrototypeOf(e).constructor.name===t.name}function kr(e){const t=re();if(!he(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=ye(t,e=>ce(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}wr&&"InputEvent"in window&&!Nr&&new window.InputEvent("input");const Dr=Symbol.for("preact-signals");function _r(){if(Ar>1)return void Ar--;let e,t=!1;for(;void 0!==Or;){let n=Or;for(Or=void 0,Mr++;void 0!==n;){const r=n.o;if(n.o=void 0,n.f&=-3,!(8&n.f)&&jr(n))try{n.c()}catch(Pi){t||(e=Pi,t=!0)}n=r}}if(Mr=0,Ar--,t)throw e}let Rr,Or;function Tr(e){const t=Rr;Rr=void 0;try{return e()}finally{Rr=t}}let Ar=0,Mr=0,Pr=0;function Ir(e){if(void 0===Rr)return;let t=e.n;return void 0===t||t.t!==Rr?(t={i:0,S:e,p:Rr.s,n:void 0,t:Rr,e:void 0,x:void 0,r:t},void 0!==Rr.s&&(Rr.s.n=t),Rr.s=t,e.n=t,32&Rr.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=Rr.s,t.n=void 0,Rr.s.n=t,Rr.s=t),t):void 0}function Fr(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 Lr(e,t){return new Fr(e,t)}function jr(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 Kr(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 zr(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 Br(e,t){Fr.call(this,void 0),this.x=e,this.s=void 0,this.g=Pr-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 $r(e){const t=e.u;if(e.u=void 0,"function"==typeof t){Ar++;const n=Rr;Rr=void 0;try{t()}catch(t){throw e.f&=-2,e.f|=8,Ur(e),t}finally{Rr=n,_r()}}}function Ur(e){for(let t=e.s;void 0!==t;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,$r(e)}function Wr(e){if(Rr!==this)throw new Error("Out-of-order effect");zr(this),Rr=e,this.f&=-2,8&this.f&&Ur(this),_r()}function Jr(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 Vr(e,t){const n=new Jr(e,t);try{n.c()}catch(e){throw n.d(),e}const r=n.d.bind(n);return r[Symbol.dispose]=r,r}function Hr(e,t={}){const n={};for(const r in e){const o=t[r],i=Lr(void 0===o?e[r]:o);n[r]=i}return n}function qr(){const e=te(),t=re(),n=ne();e.clear(),e.append(n),null!==t&&n.select(),he(t)&&(t.format=0)}function Gr(e){return("function"==typeof e.nodes?e.nodes():e.nodes)||[]}Fr.prototype.brand=Dr,Fr.prototype.h=function(){return!0},Fr.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:Tr(()=>{var e;null==(e=this.W)||e.call(this)}))},Fr.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&&Tr(()=>{var e;null==(e=this.Z)||e.call(this)}))}},Fr.prototype.subscribe=function(e){return Vr(()=>{const t=this.value,n=Rr;Rr=void 0;try{e(t)}finally{Rr=n}},{name:"sub"})},Fr.prototype.valueOf=function(){return this.value},Fr.prototype.toString=function(){return this.value+""},Fr.prototype.toJSON=function(){return this.value},Fr.prototype.peek=function(){const e=Rr;Rr=void 0;try{return this.value}finally{Rr=e}},Object.defineProperty(Fr.prototype,"value",{get(){const e=Ir(this);return void 0!==e&&(e.i=this.i),this.v},set(e){if(e!==this.v){if(Mr>100)throw new Error("Cycle detected");this.v=e,this.i++,Pr++,Ar++;try{for(let e=this.t;void 0!==e;e=e.x)e.t.N()}finally{_r()}}}}),Br.prototype=new Fr,Br.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===Pr)return!0;if(this.g=Pr,this.f|=1,this.i>0&&!jr(this))return this.f&=-2,!0;const e=Rr;try{Kr(this),Rr=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 Rr=e,zr(this),this.f&=-2,!0},Br.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)}Fr.prototype.S.call(this,e)},Br.prototype.U=function(e){if(void 0!==this.t&&(Fr.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)}},Br.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(Br.prototype,"value",{get(){if(1&this.f)throw new Error("Cycle detected");const e=Ir(this);if(this.h(),void 0!==e&&(e.i=this.i),16&this.f)throw this.v;return this.v}}),Jr.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()}},Jr.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,$r(this),Kr(this),Ar++;const e=Rr;return Rr=this,Wr.bind(this,e)},Jr.prototype.N=function(){2&this.f||(this.f|=2,this.o=Or,Or=this)},Jr.prototype.d=function(){this.f|=8,1&this.f||Ur(this)},Jr.prototype.dispose=function(){this.d()},Ne({build:(e,t,n)=>Hr(t),config:Se({defaultSelection:"rootEnd",disabled:!1}),name:"@lexical/extension/AutoFocus",register(e,t,n){const r=n.getOutput();return Vr(()=>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()})}))}}),Ne({build:(e,t,n)=>Hr(t),config:Se({$onClear:qr}),name:"@lexical/extension/ClearEditor",register(e,t,n){const{$onClear:r}=n.getOutput();return Vr(()=>function(e,t=qr){return e.registerCommand(He,n=>(e.update(t),!0),qe)}(e,r.value))}});const Zr=Ce("format",{parse:e=>"number"==typeof e?e:0});let Yr=class extends xe{$config(){return this.config("decorator-text",{extends:xe,stateConfigs:[{flat:!0,stateConfig:Zr}]})}getFormat(){return Be(this,Zr)}getFormatFlags(e,t){return $e(this.getFormat(),e,t)}hasFormat(e){const t=Ue[e];return 0!==(this.getFormat()&t)}setFormat(e){return We(this,Zr,e)}toggleFormat(e){const t=this.getFormat(),n=$e(t,e,null);return this.setFormat(n)}isInline(){return!0}createDOM(){return document.createElement("span")}updateDOM(){return!1}};function Xr(e){return e instanceof Yr}function Qr(e,t){let n;return Lr(e(),{unwatched(){n&&(n(),n=void 0)},watched(){this.value=e(),n=t(this)}})}Ne({name:"@lexical/extension/DecoratorText",nodes:()=>[Yr],register:(e,t,n)=>e.registerCommand(ke,e=>{const t=re();if(De(t)||he(t))for(const n of t.getNodes())Xr(n)&&n.toggleFormat(e);return!1},_e)});const eo=Ne({build:e=>Qr(()=>e.getEditorState(),t=>e.registerUpdateListener(e=>{t.value=e.editorState})),name:"@lexical/extension/EditorState"});function to(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 no(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]=no(n[e],r[e]);return e}return t}function ro(e){return 0===e.id}function oo(e){return 2===e.id}const io=new Set;class so{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):be;for(const n of this.configs)e=t(e,n);return e}init(e){const t=this.state;oo(t)||to(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&&to(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&&to(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&&to(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&&to(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&&to(311),this._signal}getInitResult(){void 0===this.extension.init&&to(312,this.extension.name);const e=this.state;return function(e){return e.id>=4}(e)||to(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)||to(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&&to(315,this.extension.name,e.name),t.getExtensionInitDependency()}getDependency(e){const t=this.builder.getExtensionRep(e);return void 0===t&&to(315,this.extension.name,e.name),t.getExtensionDependency()}getState(){const e=this.state;return function(e){return e.id>=7}(e)||to(316,String(e.id),String(7)),e}getDirectDependentNames(){return this.builder.incomingEdges.get(this.extension.name)||io}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)||to(317,this.extension.name),this._dependency={config:e.config,init:e.initResult,output:e.output}}return this._dependency}}const ao={tag:oe};function lo(){const e=te();e.isEmpty()&&e.append(ne())}const co=Ne({config:Se({setOptions:ao,updateOptions:ao}),init:({$initialEditorState:e=lo})=>({$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(Pe(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:[Re,Oe,Te,Ae,Me]}),uo=Symbol.for("@lexical/extension/LexicalBuilder");function fo(){}function mo(e){throw e}function po(e){return Array.isArray(e)?e:[e]}const go="0.41.0+prod.esm";class ho{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=go,this.roots=e;for(const t of e)this.addExtension(t)}static fromExtensions(e){const t=[po(co)];for(const n of e)t.push(po(n));return new ho(t)}static maybeFromEditor(e){const t=e[uo];return t&&(t.PACKAGE_VERSION!==go&&to(292,t.PACKAGE_VERSION,go),t instanceof ho||to(293)),t}static fromEditor(e){const t=ho.maybeFromEditor(e);return void 0===t&&to(294),t}constructEditor(){const{$initialEditorState:e,onError:t,...n}=this.buildCreateEditorArgs(),r=Object.assign(ee({...n,...t?{onError:e=>{t(e,r)}}:{}}),{[uo]:this});for(const o of this.sortedExtensionReps())o.build(r);return r}buildEditor(){let e=fo;function t(){try{e()}finally{e=fo}}const n=Object.assign(this.constructEditor(),{dispose:t,[Symbol.dispose]:t});return e=ve(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&&to(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&&to(296);const t=po(e),[n]=t;"string"!=typeof n.name&&to(297,typeof n.name);let r=this.extensionNameMap.get(n.name);if(void 0!==r&&r.extension!==n&&to(298,n.name),!r){r=new so(this,n),this.extensionNameMap.set(n.name,r);const e=this.conflicts.get(n.name);"string"==typeof e&&to(299,n.name,e);for(const t of n.conflictsWith||[])this.extensionNameMap.has(t)&&to(299,n.name,t),this.conflicts.set(t,n.name);for(const t of n.dependencies||[]){const e=po(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(oo(o))return;const i=n.extension.name;var s;ro(o)||to(300,i,r||"[unknown]"),ro(s=o)||to(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)||to(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())ro(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&&to(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 ve(...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 Gr(s)){if("function"!=typeof e){const t=n.get(e.replace);t&&to(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&&no(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=mo),e}}const yo=new Set,vo=Ne({build(e,t,n){const r=n.getDependency(eo).output,o=Lr({watchedNodeKeys:new Map}),i=Qr(()=>{},()=>Vr(()=>{const e=i.peek(),{watchedNodeKeys:t}=o.value;let n,s=!1;r.value.read(()=>{if(re())for(const[r,o]of t.entries()){if(0===o.size){t.delete(r);continue}const i=Je(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 Br(e,t)}(()=>(i.value||yo).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:[eo],name:"@lexical/extension/NodeSelection"});Ie("INSERT_HORIZONTAL_RULE_COMMAND");class xo extends xe{static getType(){return"horizontalrule"}static clone(e){return new xo(e.__key)}static importJSON(e){return bo().updateFromJSON(e)}static importDOM(){return{hr:()=>({conversion:Eo,priority:0})}}exportDOM(){return{element:document.createElement("hr")}}createDOM(e){const t=document.createElement("hr");return Ee(t,e.theme.hr),t}getTextContent(){return"\n"}isInline(){return!1}updateDOM(){return!1}}function Eo(){return{node:bo()}}function bo(){return we(xo)}function wo(e){return e instanceof xo}function No(e){return e.canBeEmpty()}Ne({dependencies:[eo,vo],name:"@lexical/extension/HorizontalRule",nodes:()=>[xo],register(e,t,n){const{watchNodeKey:r}=n.getDependency(vo).output,o=Lr({nodeSelections:new Map}),i=e._config.theme.hrSelected??"selected";return ve(e.registerCommand(Fe,e=>{if(Le(e.target)){const t=je(e.target);if(wo(t))return function(e,t=!1){const n=re(),r=e.isSelected(),o=e.getKey();let i;t&&De(n)?i=n:(i=Ke(),ze(i)),r?i.delete(o):i.add(o)}(t,e.shiftKey),!0}return!1},_e),e.registerMutationListener(xo,(t,n)=>{!function(e){if(Ar>0)return e();Ar++;try{return e()}finally{_r()}}(()=>{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:Lr(s),selectedSignal:r(o)}))}n&&(o.value={nodeSelections:i})})}),Vr(()=>{const e=[];for(const{domNode:t,selectedSignal:n}of o.value.nodeSelections.values())e.push(Vr(()=>{const e=t.value;e&&(n.value?Ee(e,i):Ve(e,i))}));return ve(...e)}))}}),Ne({build:(e,t,n)=>Hr(t),config:Se({$canIndent:No,disabled:!1,maxIndent:null}),name:"@lexical/extension/TabIndentation",register(e,t,n){const{disabled:r,maxIndent:o,$canIndent:i}=n.getOutput();return Vr(()=>{if(!r.value)return function(e,t,n=No){return ve(e.registerCommand(Ge,t=>{const n=re();if(!he(n))return!1;t.preventDefault();const r=function(e){if(e.getNodes().filter(e=>Ze(e)&&e.canIndent()).length>0)return!0;const t=e.anchor,n=e.focus,r=n.isBefore(t)?n:t,o=Sr(r.getNode());if(o.canIndent()){const e=o.getKey();let t=Ye();if(t.anchor.set(e,0,"element"),t.focus.set(e,0,"element"),t=Xe(t),t.anchor.is(r))return!0}return!1}(n)?t.shiftKey?Qe:et:tt;return e.dispatchCommand(r,void 0)},qe),e.registerCommand(et,()=>{const e="number"==typeof t?t:t?t.peek():null,r=re();if(!he(r))return!1;const o="function"==typeof n?n:n.peek();return kr(t=>{if(o(t)){const n=t.getIndent()+1;(!e||n<e)&&t.setIndent(n)}})},nt))}(e,o,i)})}});const So=Ne({name:"@lexical/react/ReactProvider"});function Co(e,t=!0){if(e)return!1;let n=te().getTextContent();return t&&(n=n.trim()),""===n}function ko(e){return()=>function(e){if(!Co(e,!1))return!1;const t=te().getChildren(),n=t.length;if(n>1)return!1;for(let r=0;r<n;r++){const e=t[r];if(ue(e))return!1;if(ce(e)){if(!rt(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(!ot(e))return!1}}}return!0}(e)}function Do(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=re();if(he(e)){const t=e.anchor;let l=t.getNode(),c=0,u=0;if(ot(l)&&r>=0&&o>=0&&(c=r,u=r+o,e.setTextNodeRange(l,c,l,u)),c===u&&""===i||(e.insertRawText(i),l=t.getNode()),ot(l)){c=s,u=s+a;const t=l.getTextContentSize();c=c>t?t:c,u=u>t?t:u,e.setTextNodeRange(l,c,l,u)}n.stopImmediatePropagation()}})}}}}};return window.addEventListener("message",n,!0),()=>{window.removeEventListener("message",n,!0)}}const _o=Ne({build:(e,t,n)=>Hr(t),config:Se({disabled:"undefined"==typeof window}),name:"@lexical/dragon",register:(e,t,n)=>Vr(()=>n.getOutput().disabled.value?void 0:Do(e))});function Ro(e,t,n,r=null){let o=null===r||t.isSelected(r);const i=ce(t)&&t.excludeFromCopy("html");let s=t;null!==r&&ot(t)&&(s=gr(r,t,"clone"));const a=ce(s)?s.getChildren():[],l=dt(e,s.getType());let c;c=l&&void 0!==l.exportDOM?l.exportDOM(e,s):s.exportDOM(e);const{element:u,after:d}=c;if(!u)return!1;const f=document.createDocumentFragment();for(let m=0;m<a.length;m++){const n=a[m],i=Ro(e,n,f,r);!o&&ce(t)&&i&&t.extractWithChild(n,r,"html")&&(o=!0)}if(o&&!i){if((ft(u)||mt(u))&&u.append(f),n.append(u),d){const e=d.call(s,u);e&&(mt(u)?u.replaceChildren(e):u.replaceWith(e))}}else n.append(f);return o}const Oo=new Set(["STYLE","SCRIPT"]);function To(e,t,n,r,o=new Map,i){let s=[];if(Oo.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 u=null;if(null!==c){u=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 d=e.childNodes;let f=[];const m=(null==a||!lt(a))&&(null!=a&&Ze(a)||r);for(let p=0;p<d.length;p++)f.push(...To(d[p],t,n,m,new Map(o),a));return null!=u&&(f=u(f)),ct(e)&&(f=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(Ze(e))r&&!e.getFormat()&&e.setFormat(r),o.push(e);else if(i.push(e),s===t.length-1||s<t.length-1&&Ze(t[s+1])){const e=n();e.setFormat(r),e.append(...i),o.push(e),i=[]}}return o}(e,f,m?()=>{const e=new st;return n.push(e),e}:ne)),null==a?f.length>0?s=s.concat(f):ct(e)&&function(e){return null!=e.nextSibling&&null!=e.previousSibling&&(ut(e.nextSibling)&&ut(e.previousSibling))}(e)&&(s=s.concat(at())):ce(a)&&a.append(...f),s}function Ao(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 Mo(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 Po(n,function(e){const t=[];for(let n=0;n<e.length;n++){const r=e[n],o=bt(r);ot(o)&&hr(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 Po(n,function(e,t){const n=it(t)?t.body.childNodes:t.childNodes;let r=[];const o=[];for(const i of n)if(!Oo.has(i.nodeName)){const t=To(i,e,o,!1);null!==t&&(r=r.concat(t))}return function(e){for(const t of e)t.getNextSibling()instanceof st&&t.insertAfter(at());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(he(t)){const e=s.split(/(\r?\n|\t)/);""===e[e.length-1]&&e.pop();for(let t=0;t<e.length;t++){const n=re();if(he(n)){const r=e[t];"\n"===r||"\r\n"===r?n.insertParagraph():"\t"===r?n.insertNodes([pt()]):n.insertText(r)}}}else t.insertRawText(s)}function Po(e,t,n){e.dispatchCommand(yt,{nodes:t,selection:n})||(n.insertNodes(t),function(e){if(he(e)&&e.isCollapsed()){const t=e.anchor;let n=null;const r=ie(t,"previous");if(r)if(vt(r))n=r.origin;else{const e=xt(r,Et(te(),"next").getFlipped());for(const t of e){if(ot(t.origin)){n=t.origin;break}if(ce(t.origin)&&!t.origin.isInline())break}}if(n&&ot(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 Io(e,t,n,r=[]){let o=null===t||n.isSelected(t);const i=ce(n)&&n.excludeFromCopy("html");let s=n;null!==t&&ot(s)&&(s=gr(t,s,"clone"));const a=ce(s)?s.getChildren():[],l=function(e){const t=e.exportJSON(),n=e.constructor;if(t.type!==n.getType()&&Ao(58,n.name),ce(e)){const e=t.children;Array.isArray(e)||Ao(59,n.name)}return t}(s);ot(s)&&0===s.getTextContentSize()&&(o=!1);for(let c=0;c<a.length;c++){const r=a[c],i=Io(e,t,r,l.children);!o&&ce(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 Fo=null;async function Lo(e,t,n){if(null!==Fo)return!1;if(null!==t)return new Promise((r,o)=>{e.update(()=>{r(jo(e,t,n))})});const r=e.getRootElement(),o=e._window||window,i=o.document,s=gt(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(ht,r=>(Cr(r,ClipboardEvent)&&(s(),null!==Fo&&(o.clearTimeout(Fo),Fo=null),t(jo(e,r,n))),!0),nt);Fo=o.setTimeout(()=>{s(),Fo=null,t(!1)},50),i.execCommand("copy"),a.remove()})}function jo(e,t,n){if(void 0===n){const t=gt(e._window),r=re();if(!r||r.isCollapsed())return!1;if(!t)return!1;const o=t.anchorNode,i=t.focusNode;if(null!==o&&null!==i&&!wt(e,o,i))return!1;n=function(e=re()){const t={"text/plain":e?e.getTextContent():""};if(e){const n=fe();for(const[r,o]of Ko){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 Ko)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 Ko=[["text/html",function(e,t=re()){return null==t&&Ao(166),he(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=te().getChildren();for(let o=0;o<r.length;o++)Ro(e,r[o],n,t);return n.innerHTML}(e,t)}],["application/x-lexical-editor",function(e,t=re()){return null==t&&Ao(166),he(t)&&t.isCollapsed()||0===t.getNodes().length?null:JSON.stringify(function(e,t){const n=[],r=te().getChildren();for(let o=0;o<r.length;o++)Io(e,t,r[o],n);return{namespace:e._config.namespace,nodes:n}}(e,t))}]];function zo(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 Bo="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,$o=Bo&&"documentMode"in document?document.documentMode:null,Uo=Bo&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Wo=!(!Bo||!("InputEvent"in window)||$o)&&"getTargetRanges"in new window.InputEvent("input"),Jo=Bo&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),Vo=Bo&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,Ho=Bo&&/^(?=.*Chrome).*/i.test(navigator.userAgent),qo=Bo&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&Uo&&!Ho,Go=Ie("DRAG_DROP_PASTE_FILE");class Zo extends Xt{static getType(){return"quote"}static clone(e){return new Zo(e.__key)}createDOM(e){const t=document.createElement("blockquote");return Ee(t,e.theme.quote),t}updateDOM(e,t){return!1}static importDOM(){return{blockquote:e=>({conversion:ti,priority:0})}}exportDOM(e){const{element:t}=super.exportDOM(e);if(ft(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 Yo().updateFromJSON(e)}insertNewAfter(e,t){const n=ne(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,t),n}collapseAtStart(){const e=ne();return this.getChildren().forEach(t=>e.append(t)),this.replace(e),!0}canMergeWhenEmpty(){return!0}}function Yo(){return en(new Zo)}class Xo extends Xt{__tag;static getType(){return"heading"}static clone(e){return new Xo(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];Ee(n,e)}return n}updateDOM(e,t,n){return e.__tag!==this.__tag}static importDOM(){return{h1:e=>({conversion:ei,priority:0}),h2:e=>({conversion:ei,priority:0}),h3:e=>({conversion:ei,priority:0}),h4:e=>({conversion:ei,priority:0}),h5:e=>({conversion:ei,priority:0}),h6:e=>({conversion:ei,priority:0}),p:e=>{const t=e.firstChild;return null!==t&&Qo(t)?{conversion:()=>({node:null}),priority:3}:null},span:e=>Qo(e)?{conversion:e=>({node:ni("h1")}),priority:3}:null}}exportDOM(e){const{element:t}=super.exportDOM(e);if(ft(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 ni(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?ne():ni(this.getTag()),i=this.getDirection();if(o.setDirection(i),this.insertAfter(o,t),0===n&&!this.isEmpty()&&e){const e=ne();e.select(),this.replace(e,!0)}return o}collapseAtStart(){const e=this.isEmpty()?ne():ni(this.getTag());return this.getChildren().forEach(t=>e.append(t)),this.replace(e),!0}extractWithChild(){return!0}}function Qo(e){return"span"===e.nodeName.toLowerCase()&&"26pt"===e.style.fontSize}function ei(e){const t=e.nodeName.toLowerCase();let n=null;return"h1"!==t&&"h2"!==t&&"h3"!==t&&"h4"!==t&&"h5"!==t&&"h6"!==t||(n=ni(t),null!==e.style&&(Qt(e,n),n.setFormat(e.style.textAlign))),{node:n}}function ti(e){const t=Yo();return null!==e.style&&(t.setFormat(e.style.textAlign),Qt(e,t)),{node:t}}function ni(e="h1"){return en(new Xo(e))}function ri(e){let t=null;if(Cr(e,DragEvent)?t=e.dataTransfer:Cr(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 oi(e){const t=$t(e);return ue(t)}function ii(e){for(const t of["lowercase","uppercase","capitalize"])e.hasFormat(t)&&e.toggleFormat(t)}function si(e){return ve(e.registerCommand(Fe,e=>{const t=re();return!!De(t)&&(t.clear(),!0)},qe),e.registerCommand(Nt,e=>{const t=re();return he(t)?(t.deleteCharacter(e),!0):!!De(t)&&(t.deleteNodes(),!0)},qe),e.registerCommand(St,e=>{const t=re();return!!he(t)&&(t.deleteWord(e),!0)},qe),e.registerCommand(Ct,e=>{const t=re();return!!he(t)&&(t.deleteLine(e),!0)},qe),e.registerCommand(kt,t=>{const n=re();if("string"==typeof t)null!==n&&n.insertText(t);else{if(null===n)return!1;const r=t.dataTransfer;if(null!=r)Mo(r,n,e);else if(he(n)){const e=t.data;return e&&n.insertText(e),!0}}return!0},qe),e.registerCommand(Dt,()=>{const e=re();return!!he(e)&&(e.removeText(),!0)},qe),e.registerCommand(ke,e=>{const t=re();return!!he(t)&&(t.formatText(e),!0)},qe),e.registerCommand(_t,e=>{const t=re();if(!he(t)&&!De(t))return!1;const n=t.getNodes();for(const r of n){const t=ye(r,e=>ce(e)&&!e.isInline());null!==t&&t.setFormat(e)}return!0},qe),e.registerCommand(Rt,e=>{const t=re();return!!he(t)&&(t.insertLineBreak(e),!0)},qe),e.registerCommand(Ot,()=>{const e=re();return!!he(e)&&(e.insertParagraph(),!0)},qe),e.registerCommand(tt,()=>{const e=pt(),t=re();return he(t)&&(e.setFormat(t.format),e.setStyle(t.style)),Tt([e]),!0},qe),e.registerCommand(et,()=>kr(e=>{const t=e.getIndent();e.setIndent(t+1)}),qe),e.registerCommand(Qe,()=>kr(e=>{const t=e.getIndent();t>0&&e.setIndent(Math.max(0,t-1))}),qe),e.registerCommand(At,e=>{const t=re();if(De(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),n[0].selectPrevious(),!0}else if(he(t)){const n=Mt(t.focus,!0);if(!e.shiftKey&&ue(n)&&!n.isIsolated()&&!n.isInline())return n.selectPrevious(),e.preventDefault(),!0}return!1},qe),e.registerCommand(Pt,e=>{const t=re();if(De(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),n[0].selectNext(0,0),!0}else if(he(t)){if(function(e){const t=e.focus;return"root"===t.key&&t.offset===te().getChildrenSize()}(t))return e.preventDefault(),!0;const n=Mt(t.focus,!1);if(!e.shiftKey&&ue(n)&&!n.isIsolated()&&!n.isInline())return n.selectNext(),e.preventDefault(),!0}return!1},qe),e.registerCommand(It,e=>{const t=re();if(De(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),pr(n[0])?n[0].selectNext(0,0):n[0].selectPrevious(),!0}if(!he(t))return!1;if(xr(t,!0)){const n=e.shiftKey;return e.preventDefault(),br(t,n,!0),!0}return!1},qe),e.registerCommand(Ft,e=>{const t=re();if(De(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),pr(n[0])?n[0].selectPrevious():n[0].selectNext(0,0),!0}if(!he(t))return!1;const n=e.shiftKey;return!!xr(t,!1)&&(e.preventDefault(),br(t,n,!1),!0)},qe),e.registerCommand(Lt,t=>{if(oi(t.target))return!1;const n=re();if(he(n)){if(function(e){if(!e.isCollapsed())return!1;const{anchor:t}=e;if(0!==t.offset)return!1;const n=t.getNode();if(de(n))return!1;const r=Sr(n);return r.getIndent()>0&&(r.is(n)||n.is(r.getFirstDescendant()))}(n))return t.preventDefault(),e.dispatchCommand(Qe,void 0);if(Vo&&"ko-KR"===navigator.language)return!1}else if(!De(n))return!1;return t.preventDefault(),e.dispatchCommand(Nt,!0)},qe),e.registerCommand(jt,t=>{if(oi(t.target))return!1;const n=re();return!(!he(n)&&!De(n))&&(t.preventDefault(),e.dispatchCommand(Nt,!1))},qe),e.registerCommand(Kt,t=>{const n=re();if(!he(n))return!1;if(ii(n),null!==t){if((Vo||Jo||qo)&&Wo)return!1;if(t.preventDefault(),t.shiftKey)return e.dispatchCommand(Rt,!1)}return e.dispatchCommand(Ot,void 0)},qe),e.registerCommand(zt,()=>{const t=re();return!!he(t)&&(e.blur(),!0)},qe),e.registerCommand(Bt,t=>{const[,n]=ri(t);if(n.length>0){const r=zo(t.clientX,t.clientY);if(null!==r){const{offset:t,node:o}=r,i=$t(o);if(null!==i){const e=Ye();if(ot(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=Xe(e);ze(n)}e.dispatchCommand(Go,n)}return t.preventDefault(),!0}const r=re();return!!he(r)},qe),e.registerCommand(Ut,e=>{const[t]=ri(e),n=re();return!(t&&!he(n))},qe),e.registerCommand(Wt,e=>{const[t]=ri(e),n=re();if(t&&!he(n))return!1;const r=zo(e.clientX,e.clientY);if(null!==r){const t=$t(r.node);ue(t)&&e.preventDefault()}return!0},qe),e.registerCommand(Jt,()=>(Vt(),!0),qe),e.registerCommand(ht,t=>(Lo(e,Cr(t,ClipboardEvent)?t:null),!0),qe),e.registerCommand(Ht,t=>(async function(e,t){await Lo(t,Cr(e,ClipboardEvent)?e:null),t.update(()=>{const e=re();he(e)?e.removeText():De(e)&&e.getNodes().forEach(e=>e.remove())})}(t,e),!0),qe),e.registerCommand(qt,t=>{const[,n,r]=ri(t);return n.length>0&&!r?(e.dispatchCommand(Go,n),!0):(!Le(t.target)||!Gt(t.target))&&(null!==re()&&(function(e,t){e.preventDefault(),t.update(()=>{const n=re(),r=Cr(e,InputEvent)||Cr(e,KeyboardEvent)?null:e.clipboardData;null!=r&&null!==n&&Mo(r,n,t)},{tag:Zt})}(t,e),!0))},qe),e.registerCommand(Yt,e=>{const t=re();return he(t)&&ii(t),!1},qe),e.registerCommand(Ge,e=>{const t=re();return he(t)&&ii(t),!1},qe))}function ai(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.`)}Ne({conflictsWith:["@lexical/plain-text"],dependencies:[_o],name:"@lexical/rich-text",nodes:()=>[Xo,Zo],register:si});const li="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:a;function ci({editor:e,ErrorBoundary:t}){return function(e,t){const[n,o]=l(()=>e.getDecorators());return li(()=>e.registerDecoratorListener(e=>{sn(()=>{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=nn(t,{onError:t=>e._onError(t),children:nn(c,{fallback:null,children:n[s]})}),l=e.getElementByKey(s);null!==l&&r.push(an(a,l,s))}return r},[t,n,e])}(e,t)}function ui({editor:e,ErrorBoundary:t}){return function(e){const t=ho.maybeFromEditor(e);if(t&&t.hasExtensionByName(So.name)){for(const e of["@lexical/plain-text","@lexical/rich-text"])t.hasExtensionByName(e)&&ai(320,e);return!0}return!1}(e)?null:nn(ci,{editor:e,ErrorBoundary:t})}function di(e){return e.getEditorState().read(ko(e.isComposing()))}function fi({contentEditable:e,placeholder:t=null,ErrorBoundary:n}){const[r]=or();return function(e){li(()=>ve(si(e),Do(e)),[e])}(r),rn(on,{children:[e,nn(mi,{content:t}),nn(ui,{editor:r,ErrorBoundary:n})]})}function mi({content:e}){const[n]=or(),o=function(e){const[t,n]=l(()=>di(e));return li(()=>{function t(){const t=di(e);n(t)}return t(),ve(e.registerUpdateListener(()=>{t()}),e.registerEditableListener(()=>{t()}))},[e]),t}(n),i=function(e){const[n]=or(),o=r(()=>e(n),[n,e]),[i,s]=l(()=>o.initialValueFn()),a=t(i);return cr(()=>{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}(ur);return o?"function"==typeof e?e(i):e:null}const pi="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:a;const gi=u(function({editor:e,ariaActiveDescendant:t,ariaAutoComplete:n,ariaControls:o,ariaDescribedBy:i,ariaErrorMessage:a,ariaExpanded:c,ariaInvalid:u,ariaLabel:d,ariaLabelledBy:f,ariaMultiline:m,ariaOwns:p,ariaRequired:g,autoCapitalize:h,className:y,id:v,role:x="textbox",spellCheck:E=!0,style:b,tabIndex:w,"data-testid":N,...S},C){const[k,D]=l(e.isEditable()),_=s(t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)},[e]),R=r(()=>function(...e){return t=>{for(const n of e)"function"==typeof n?n(t):null!=n&&(n.current=t)}}(C,_),[_,C]);return pi(()=>(D(e.isEditable()),e.registerEditableListener(e=>{D(e)})),[e]),nn("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"===x?!!c:void 0,...null!=u?{"aria-invalid":u}:{},"aria-label":d,"aria-labelledby":f,"aria-multiline":m,"aria-owns":k?p:void 0,"aria-readonly":!k||void 0,"aria-required":g,autoCapitalize:h,className:y,contentEditable:k,"data-testid":N,id:v,ref:R,role:x,spellCheck:E,style:b,tabIndex:w,...S})});function hi(e){return e.getEditorState().read(ko(e.isComposing()))}const yi=u(function(e,t){const{placeholder:n,...r}=e,[o]=or();return rn(on,{children:[nn(gi,{editor:o,...r,ref:t}),null!=n&&nn(vi,{editor:o,content:n})]})});function vi({content:e,editor:t}){const r=function(e){const[t,n]=l(()=>hi(e));return pi(()=>{function t(){const t=hi(e);n(t)}return t(),ve(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:nn("div",{"aria-hidden":!0,children:s})}function xi({delay:e,externalHistoryState:t}){const[n]=or();return function(e,t,n=1e3){const o=r(()=>t||ln(),[t]);a(()=>cn(e,o,n),[n,e,o])}(n,t,e),null}function Ei({hasStrictIndent:e=!1,shouldPreserveNumbering:t=!1}){const[n]=or();return a(()=>{if(!n.hasNodes([un,dn]))throw new Error("ListPlugin: ListNode and/or ListItemNode not registered on editor")},[n]),a(()=>ve(fn(n,{restoreNumbering:t}),e?mn(n):()=>{}),[n,e,t]),a(()=>fn(r),[r=n]),null;var r}function bi({validateUrl:e,attributes:t}){const[n]=or();return a(()=>{if(!n.hasNodes([gn]))throw new Error("LinkPlugin: LinkNode not registered on editor")}),a(()=>hn(n,Hr({attributes:t,validateUrl:e})),[n,e,t]),null}const wi="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:a;function Ni({ignoreHistoryMergeTagChange:e=!0,ignoreSelectionChange:t=!1,onChange:n}){const[r]=or();return wi(()=>{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(oe)||a.isEmpty()||n(o,r,l)})},[r,e,t,n]),null}function Si(e,t){return e.getEditorState().read(()=>{const e=Je(t);return null!==e&&e.isSelected()})}function Ci({nodeKey:e}){const[t]=or(),[n,r,o]=function(e){const[t]=or(),[n,r]=l(()=>Si(t,e));return a(()=>{let n=!0;const o=t.registerUpdateListener(()=>{n&&r(Si(t,e))});return()=>{n=!1,o()}},[t,e]),[n,s(n=>{t.update(()=>{let t=re();De(t)||(t=Ke(),ze(t)),De(t)&&(n?t.add(e):t.delete(e))})},[t,e]),s(()=>{t.update(()=>{const e=re();De(e)&&e.clear()})},[t])]}(e);return a(()=>ve(t.registerCommand(Fe,i=>{const s=t.getElementByKey(e);return i.target===s&&(i.shiftKey||o(),r(!n),!0)},_e)),[o,t,n,e,r]),a(()=>{const r=t.getElementByKey(e),o=t._config.theme.hrSelected??"selected";null!==r&&(n?Ee(r,o):Ve(r,o))},[t,n,e]),null}class ki extends xo{static getType(){return"horizontalrule"}static clone(e){return new ki(e.__key)}static importJSON(e){return _i().updateFromJSON(e)}static importDOM(){return{hr:()=>({conversion:Di,priority:0})}}decorate(){return nn(Ci,{nodeKey:this.__key})}}function Di(){return{node:_i()}}function _i(){return en(new ki)}const Ri=[{dependencies:[ki],export:e=>wo(e)?"***":null,regExp:/^(---|\*\*\*|___)\s?$/,replace:(e,t,n,r)=>{const o=_i();r||null!=e.getNextSibling()?e.replace(o):e.insertBefore(o),o.selectNext()},type:"element"},...xn];function Oi({transformers:e=Ri}){const[t]=or();return a(()=>vn(t,e),[t,e]),null}const Ti=i(null),Ai={didCatch:!1,error:null};class Mi extends d{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=Ai}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(Ai))}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(Ai))}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=f(n,e);else{if(void 0===r)throw i;s=r}}return f(Ti.Provider,{value:{didCatch:o,error:i,resetErrorBoundary:this.resetErrorBoundary}},s)}}function Pi({children:e,onError:t}){return nn(Mi,{fallback:nn("div",{style:{border:"1px solid #f00",color:"#f00",padding:"8px"},children:"An error was thrown."}),onError:t,children:e})}const Ii=[En,bn,wn,Nn,Sn];function Fi({editorRef:e}){const[t]=or();return a(()=>(e.current=t,()=>{e.current=null}),[t,e]),null}function Li({onSubmit:e}){const[t]=or();return a(()=>t.registerCommand(Kt,n=>{if(n.shiftKey)return!1;const r=re();if(he(r)){const e=r.anchor.getNode();if(pn(e)||pn(e.getParent()))return!1;if(Rn(e)||Rn(e.getParent()))return!1}return n.preventDefault(),t.read(()=>{e?.(Cn(Ii))}),!0},tn),[t,e]),null}function ji({defaultValue:n,onChange:r,onSubmit:o,placeholder:i,disabled:s,className:a,autoFocus:l,forwardedRef:c}){const u=t(null);m(c,()=>({clear(){u.current?.update(()=>{const e=te();e.clear(),e.append(ne())})},focus(){u.current?.focus()}}));const d={namespace:"RichTextInput",nodes:[un,dn,gn,yn,Dn,_n],editable:!s,editorState:n?()=>kn(n,Ii):void 0,onError:e=>console.error("[RichTextInput]",e)};/* @__PURE__ */
14
- return e.createElement(lr,{initialConfig:d},/* @__PURE__ */e.createElement("div",{className:a},/* @__PURE__ */e.createElement("div",{className:"relative"},/* @__PURE__ */e.createElement(fi,{contentEditable:/* @__PURE__ */e.createElement(yi,{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:Pi}))),/* @__PURE__ */e.createElement(xi,null),/* @__PURE__ */e.createElement(Ei,null),/* @__PURE__ */e.createElement(bi,null),/* @__PURE__ */e.createElement(Oi,{transformers:Ii}),r&&/* @__PURE__ */e.createElement(Ni,{onChange:e=>{e.read(()=>{r(Cn(Ii))})}}),/* @__PURE__ */e.createElement(Li,{onSubmit:o}),/* @__PURE__ */e.createElement(Fi,{editorRef:u}))}const Ki=u((t,n)=>/* @__PURE__ */e.createElement(ji,{...t,forwardedRef:n}));Ki.displayName="RichTextInput";function zi(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 Bi(e){switch(e.type){case"file":return{id:e.id,label:e.file.name,iconType:Yn(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 $i=({placeholder:n="What can we help with today?",attachments:r=[],collections:o=[],pages:i=[],acceptedFileTypes:a,disabled:c=!1,isElevated:u=!1,className:d})=>{const{callbacks:f,isStreaming:m}=Mn(),[p,g]=l(!1),h=t(""),y=t(null),x=t(null),[E,b]=l(!1),w=t(0),[N,S]=l(!1),[C,k]=l(!1),D=t(null),_=t(!1),R=s(()=>{D.current&&(clearTimeout(D.current),D.current=null),k(!0)},[]),O=s(()=>{D.current=setTimeout(()=>{_.current||k(!1)},150)},[]),T=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(Bi),K=r.some(e=>"file"===e.type&&e.loading),z=c||m||K,ee=o.length>0||i.length>0,te=s(e=>{const t=(e??h.current).trim();t&&!z&&(f.onSend?.(t,r.length>0?r:void 0),y.current?.clear(),y.current?.focus())},[z,f,r]),ne=s(()=>{f.onStop?.()},[f]),re=s(e=>{k(!1),S(!1),f.onAttachmentAdd?.({type:"select-entity",entity:{id:e.id,type:"collection",title:e.title,url:e.url}})},[f]),oe=s(()=>{i[0]&&(S(!1),f.onAttachmentAdd?.({type:"select-page",page:i[0]}))},[i,f]),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&&f.onAttachmentAdd?.({type:"add-files",files:t})},[ie,f]),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)},[]),ue=s(e=>{e.preventDefault(),e.dataTransfer.dropEffect="copy"},[]),de=s(e=>{if(e.preventDefault(),w.current=0,b(!1),c||m)return;const t=Array.from(e.dataTransfer.files),n=t.filter(e=>zi(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,m,a,se]),fe=s(e=>{if(c||m)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=>zi(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,m,a,se]);/* @__PURE__ */
15
- return e.createElement("div",{className:v("w-full",d)},/* @__PURE__ */e.createElement("input",{ref:x,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",u&&"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:ue,onDrop:de,onPasteCapture:fe},E&&/* @__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(Gn,{attachments:T,onRemove:e=>f.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(Vn,{key:t.id,pill:t,onRemove:n?()=>f.onAttachmentRemove?.(n):void 0})})),
20
- /* @__PURE__ */e.createElement(Ki,{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=>{h.current=e,g(e.trim().length>0)},onSubmit:te}),
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"},ee?/* @__PURE__ */e.createElement(B,{open:N,onOpenChange:S},/* @__PURE__ */e.createElement($,{asChild:!0,disabled:c||m},/* @__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||m},
22
- /* @__PURE__ */e.createElement(M,{className:v("h-4 w-4 transition-transform duration-200",N&&"-rotate-45")}))),/* @__PURE__ */e.createElement(U,{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(J,{open:C,onOpenChange:k},/* @__PURE__ */e.createElement(V,{asChild:!0},/* @__PURE__ */e.createElement(W,{className:"p-2",onSelect:e=>e.preventDefault(),onMouseEnter:R,onMouseLeave:O,onFocus:R},"Collection",
23
- /* @__PURE__ */e.createElement(P,{className:"ml-auto h-4 w-4"}))),/* @__PURE__ */e.createElement(H,{className:"w-[200px] rounded border-none p-0 shadow-md dark:border-none dark:shadow-md",side:"right",align:"start",onMouseEnter:R,onMouseLeave:O,onFocusCapture:()=>{_.current=!0},onBlurCapture:()=>{_.current=!1,O()}},
24
- /* @__PURE__ */e.createElement(q,null,o.length>5&&/* @__PURE__ */e.createElement(G,{placeholder:"Search collections..."}),/* @__PURE__ */e.createElement(Z,null,/* @__PURE__ */e.createElement(Y,null,"No collections found."),/* @__PURE__ */e.createElement(X,null,o.map(t=>/* @__PURE__ */e.createElement(Q,{key:t.id,value:t.title,onSelect:()=>re(t)},t.title))))))),i.length>0&&/* @__PURE__ */e.createElement(W,{className:"p-2",onSelect:oe},"Attach page"),
25
- /* @__PURE__ */e.createElement(W,{className:"p-2",onSelect:()=>x.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||m,onClick:()=>x.current?.click()},
26
- /* @__PURE__ */e.createElement(M,{className:"h-4 w-4"}))),m?/* @__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(I,{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&&!K?"bg-input text-primary-foreground hover:bg-input/90":"bg-muted text-muted-foreground"),onClick:()=>te(),disabled:z||!p},
28
- /* @__PURE__ */e.createElement(F,{className:"h-4 w-4",weight:"bold"}))))))},Ui=({items:t,className:n})=>{const{callbacks:r}=Mn();return 0===t.length?null:/* @__PURE__ */e.createElement("div",{className:v("flex flex-wrap justify-end gap-2 px-4 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)))},Wi=({actions:t,onActionClick:n,className:r})=>0===t.length?null:/* @__PURE__ */e.createElement("div",{className:v("flex flex-wrap gap-2 px-4 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)))),Ji=({className:t,children:n="Working",variant:r="yellowfin"})=>/* @__PURE__ */e.createElement(j,{className:t,variant:r},n),Vi=()=>/* @__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(On,{variant:"full",color:"outline",className:"h-2.5 w-auto"})),Hi=Object.assign(({messages:n,callbacks:r,children:o,suggestions:i=[],actions:s=[],placeholder:c,attachments:u,collections:d,pages:f,acceptedFileTypes:m,showBranding:p=!1,className:g})=>{const h=!!o,x=t(null),[E,b]=l(0),[w,N]=l(!1);return a(()=>{const e=x.current;if(!e)return;const t=new ResizeObserver(([e])=>{e&&b(e.borderBoxSize[0]?.blockSize??e.contentRect.height)});return t.observe(e),()=>t.disconnect()},[]),/* @__PURE__ */e.createElement(y,null,/* @__PURE__ */e.createElement(Pn,{messages:n,callbacks:r},/* @__PURE__ */e.createElement("div",{className:v("flex h-full flex-col pb-4",g)},h?o:/* @__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(nr,{bottomPadding:E,onContentBehind:N})),/* @__PURE__ */e.createElement("div",{ref:x,className:"row-start-1 col-start-1 self-end z-10 pointer-events-none px-4"},/* @__PURE__ */e.createElement("div",{className:"pointer-events-auto"},i.length>0&&/* @__PURE__ */e.createElement(Ui,{items:i}),s.length>0&&/* @__PURE__ */e.createElement(Wi,{actions:s,onActionClick:e=>r.onActionClick?.(e,"")}),/* @__PURE__ */e.createElement($i,{placeholder:c,attachments:u,collections:d,pages:f,acceptedFileTypes:m,isElevated:w})))),p&&/* @__PURE__ */e.createElement("div",{className:"relative z-10 pt-2"},/* @__PURE__ */e.createElement(Vi,null))))))},{Messages:nr,Input:$i,Suggestions:Ui,Actions:Wi,Loading:Ji});export{Vn as C,Hi as a,Wi as b,$i as c,Un as d,er as e,nr as f,Pn as g,Ji as h,Ui as i,$n as j,Mn as u};
29
- //# sourceMappingURL=Conversation.DpHoC6se.js.map