@brainfish-ai/components 0.28.8 → 0.28.10

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