reactjs-tiptap-editor-pro 0.2.23 → 0.2.25

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,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./tiptap-Bzsbnr3f.cjs"),p=require("./vendor-LvbrNFNL.cjs"),a=require("react/jsx-runtime"),f=require("react"),T=require("lucide-react"),s=require("./RichTextEditor-D9Oz6Ru3.cjs"),b=require("./index-D-rys8BA.cjs"),q=require("shiki"),we=require("@radix-ui/react-select"),ye=require("@radix-ui/react-slot"),J=require("tippy.js"),X=require("scroll-into-view-if-needed"),H=require("frimousse"),re=require("docx"),I=require("prosemirror-docx");function se(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const B=se(f),A=se(we),Y=f.forwardRef(({asChild:e,...t},n)=>{var r;const i=s.icons[t.icon],o=e?ye.Slot:s.Button;return a.jsxs(s.Tooltip,{children:[a.jsx(s.TooltipTrigger,{asChild:!0,children:a.jsx(o,{className:"richtext-h-[32px] richtext-min-w-24 richtext-overflow-hidden richtext-px-[5px] richtext-py-0",disabled:t==null?void 0:t.disabled,ref:n,variant:"ghost",...t,children:a.jsxs("div",{className:"richtext-flex richtext-h-full richtext-items-center richtext-font-normal",children:[(t==null?void 0:t.title)&&a.jsx("div",{className:"richtext-grow richtext-truncate richtext-text-left richtext-text-sm",children:t==null?void 0:t.title}),i&&a.jsx(i,{className:"richtext-ml-1 richtext-size-3 richtext-shrink-0 richtext-text-zinc-500"})]})})}),a.jsx(s.TooltipContent,{children:a.jsxs("div",{className:"richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center",children:[(t==null?void 0:t.tooltip)&&a.jsx("div",{children:t==null?void 0:t.tooltip}),a.jsx("div",{className:"richtext-flex",children:!!((r=t==null?void 0:t.shortcutKeys)!=null&&r.length)&&a.jsx("span",{children:s.getShortcutKeys(t==null?void 0:t.shortcutKeys)})})]})})]})}),ke=m.Bold.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleBold(),isActive:()=>t.isActive("bold")||!1,disabled:!t.can().toggleBold(),icon:"Bold",shortcutKeys:["mod","B"],tooltip:n("editor.bold.tooltip")}})}}}),ve=m.Italic.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n}){return{component:s.ActionButton,componentProps:{action:()=>t.commands.toggleItalic(),isActive:()=>t.isActive("italic")||!1,disabled:!t.can().toggleItalic(),shortcutKeys:["mod","I"],icon:"Italic",tooltip:n("editor.italic.tooltip")}}}}}}),Ce=m.Underline.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n}){return{component:s.ActionButton,componentProps:{action:()=>t.commands.toggleUnderline(),isActive:()=>t.isActive("underline")||!1,disabled:!t.can().toggleUnderline(),icon:"Underline",shortcutKeys:["mod","U"],tooltip:n("editor.underline.tooltip")}}}}}}),je=m.Strike.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleStrike(),isActive:()=>t.isActive("strike")||!1,disabled:!t.can().toggleStrike(),icon:"Strikethrough",shortcutKeys:["shift","mod","S"],tooltip:n("editor.strike.tooltip")}})}}}),Ae=m.Code.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleCode(),isActive:()=>t.isActive("code")||!1,disabled:!t.can().toggleCode(),icon:"Code",shortcutKeys:["mod","E"],tooltip:n("editor.code.tooltip")}})}}});let M,O;const V=new Set,W=new Set;function Te(){return M}function Se(e){if(!M&&!O){const t=e.themes.filter(i=>!!i&&i in q.bundledThemes),n=e.languages.filter(i=>!!i&&i in q.bundledLanguages);return O=q.createHighlighter({themes:t,langs:n}).then(i=>{M=i}),O}if(O)return O}async function ce(e){return M&&!M.getLoadedThemes().includes(e)&&!W.has(e)&&e in q.bundledThemes?(W.add(e),await M.loadTheme(e),W.delete(e),!0):!1}async function le(e){return M&&!M.getLoadedLanguages().includes(e)&&!V.has(e)&&e in q.bundledLanguages?(V.add(e),await M.loadLanguage(e),V.delete(e),!0):!1}async function Ee({doc:e,name:t,defaultTheme:n,defaultLanguage:i}){const o=m.findChildren(e,l=>l.type.name===t),r=[...o.map(l=>l.node.attrs.theme),n],c=[...o.map(l=>l.node.attrs.language),i];M?await Promise.all([...r.flatMap(l=>ce(l)),...c.flatMap(l=>!!l&&le(l))]):await Se({languages:c,themes:r})}function Q({doc:e,name:t,defaultTheme:n,defaultLanguage:i}){const o=[];return m.findChildren(e,c=>c.type.name===t).forEach(c=>{let l=c.pos+1,h=c.node.attrs.language||i;const u=c.node.attrs.theme||n,d=Te();if(!d)return;d.getLoadedLanguages().includes(h)||(h="plaintext");const g=d.getLoadedThemes().includes(u)?u:d.getLoadedThemes()[0],_=d.codeToTokensBase(c.node.textContent,{lang:h,theme:g});for(const x of _){for(const k of x){const v=l+k.content.length,S=p.Decoration.inline(l,v,{style:`color: ${k.color}`});o.push(S),l=v}l+=1}}),p.DecorationSet.create(e,o)}function Ne({name:e,defaultLanguage:t,defaultTheme:n}){const i=new p.Plugin({key:new p.PluginKey("shiki"),view(o){class r{constructor(){this.initDecorations()}update(){this.checkUndecoratedBlocks()}destroy(){}async initDecorations(){const l=o.state.doc;await Ee({doc:l,name:e,defaultLanguage:t,defaultTheme:n});const h=o.state.tr.setMeta("shikiPluginForceDecoration",!0);o.dispatch(h)}async checkUndecoratedBlocks(){const l=m.findChildren(o.state.doc,d=>d.type.name===e);if((await Promise.all(l.flatMap(d=>[ce(d.node.attrs.theme),le(d.node.attrs.language)]))).includes(!0)){const d=o.state.tr.setMeta("shikiPluginForceDecoration",!0);o.dispatch(d)}}}return new r},state:{init:(o,{doc:r})=>Q({doc:r,name:e,defaultLanguage:t,defaultTheme:n}),apply:(o,r,c,l)=>{const h=c.selection.$head.parent.type.name,u=l.selection.$head.parent.type.name,d=m.findChildren(c.doc,x=>x.type.name===e),g=m.findChildren(l.doc,x=>x.type.name===e),_=o.docChanged&&([h,u].includes(e)||g.length!==d.length||o.steps.some(x=>x.from!==void 0&&x.to!==void 0&&d.some(k=>k.pos>=x.from&&k.pos+k.node.nodeSize<=x.to)));return o.getMeta("shikiPluginForceDecoration")||_?Q({doc:o.doc,name:e,defaultLanguage:t,defaultTheme:n}):r.map(o.mapping,o.doc)}},props:{decorations(o){return i.getState(o)}}});return i}function Le({action:e,languages:t,...n}){const i=r=>{e(r)},o=f.useMemo(()=>t==null?void 0:t.map(r=>({title:b.MAP_LANGUAGE_CODE_LABELS[r]||r,language:r})),[t]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{disabled:n==null?void 0:n.disabled,asChild:!0,children:a.jsx(s.ActionButton,{tooltip:n==null?void 0:n.tooltip,disabled:n==null?void 0:n.disabled,icon:n==null?void 0:n.icon})}),a.jsx(s.DropdownMenuContent,{className:"richtext-w-full !richtext-max-h-[180px] !richtext-overflow-y-scroll",children:o==null?void 0:o.map(r=>a.jsx(s.DropdownMenuItem,{onClick:()=>i(r.language),children:a.jsx("div",{className:"richtext-h-full richtext-ml-1",children:r.title})},`codeblock-${r.title}`))})]})}const Me=A.Root,Ie=A.Value,de=B.forwardRef(({className:e,children:t,...n},i)=>a.jsxs(A.Trigger,{ref:i,className:s.cn("richtext-flex richtext-h-10 richtext-w-full richtext-items-center richtext-justify-between richtext-rounded-md richtext-border richtext-border-input richtext-bg-background richtext-px-3 richtext-py-2 richtext-text-sm richtext-ring-offset-background placeholder:richtext-text-muted-foreground focus:richtext-outline-none focus:richtext-ring-2 focus:richtext-ring-ring focus:richtext-ring-offset-2 disabled:richtext-cursor-not-allowed disabled:richtext-opacity-50 [&>span]:richtext-line-clamp-1",e),...n,children:[t,a.jsx(A.Icon,{asChild:!0,children:a.jsx(T.ChevronDown,{className:"richtext-h-4 richtext-w-4 richtext-opacity-50"})})]}));de.displayName=A.Trigger.displayName;const ue=B.forwardRef(({className:e,...t},n)=>a.jsx(A.ScrollUpButton,{ref:n,className:s.cn("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...t,children:a.jsx(T.ChevronUp,{className:"richtext-h-4 richtext-w-4"})}));ue.displayName=A.ScrollUpButton.displayName;const he=B.forwardRef(({className:e,...t},n)=>a.jsx(A.ScrollDownButton,{ref:n,className:s.cn("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...t,children:a.jsx(T.ChevronDown,{className:"richtext-h-4 richtext-w-4"})}));he.displayName=A.ScrollDownButton.displayName;const me=B.forwardRef(({className:e,children:t,position:n="popper",...i},o)=>a.jsx(A.Portal,{children:a.jsxs(A.Content,{ref:o,className:s.cn("richtext-relative richtext-z-50 richtext-max-h-60 richtext-overflow-y-auto richtext-min-w-[8rem] richtext-overflow-hidden richtext-rounded-md richtext-border richtext-bg-popover richtext-text-popover-foreground richtext-shadow-md data-[state=open]:richtext-animate-in data-[state=closed]:richtext-animate-out data-[state=closed]:richtext-fade-out-0 data-[state=open]:richtext-fade-in-0 data-[state=closed]:richtext-zoom-out-95 data-[state=open]:richtext-zoom-in-95 data-[side=bottom]:richtext-slide-in-from-top-2 data-[side=left]:richtext-slide-in-from-right-2 data-[side=right]:richtext-slide-in-from-left-2 data-[side=top]:richtext-slide-in-from-bottom-2",n==="popper"&&"data-[side=bottom]:richtext-translate-y-1 data-[side=left]:richtext--translate-x-1 data-[side=right]:richtext-translate-x-1 data-[side=top]:richtext--translate-y-1",e),position:n,...i,children:[a.jsx(ue,{}),a.jsx(A.Viewport,{className:s.cn("richtext-p-1",n==="popper"&&"richtext-h-[var(--radix-select-trigger-height)] richtext-w-full richtext-min-w-[var(--radix-select-trigger-width)]"),children:t}),a.jsx(he,{})]})}));me.displayName=A.Content.displayName;const Pe=B.forwardRef(({className:e,...t},n)=>a.jsx(A.Label,{ref:n,className:s.cn("richtext-py-1.5 richtext-pl-8 richtext-pr-2 richtext-text-sm richtext-font-semibold",e),...t}));Pe.displayName=A.Label.displayName;const Z=B.forwardRef(({className:e,children:t,...n},i)=>a.jsxs(A.Item,{ref:i,className:s.cn("richtext-relative richtext-flex richtext-w-full richtext-cursor-default richtext-select-none richtext-items-center richtext-rounded-sm richtext-py-1.5 richtext-pl-8 richtext-pr-2 richtext-text-sm richtext-outline-none focus:richtext-bg-accent focus:richtext-text-accent-foreground data-[disabled]:richtext-pointer-events-none data-[disabled]:richtext-opacity-50",e),...n,children:[a.jsx("span",{className:"richtext-absolute richtext-left-2 richtext-flex richtext-h-3.5 richtext-w-3.5 richtext-items-center richtext-justify-center",children:a.jsx(A.ItemIndicator,{children:a.jsx(T.Check,{className:"richtext-h-4 richtext-w-4"})})}),a.jsx(A.ItemText,{children:t})]}));Z.displayName=A.Item.displayName;const Re=B.forwardRef(({className:e,...t},n)=>a.jsx(A.Separator,{ref:n,className:s.cn("richtext--mx-1 richtext-my-1 richtext-h-px richtext-bg-muted",e),...t}));Re.displayName=A.Separator.displayName;function De(){const[e,t]=f.useState(!1);return{isCopied:e,copyToClipboard:async i=>{try{await navigator.clipboard.writeText(i),t(!0),setTimeout(()=>t(!1),2e3)}catch(o){console.error("Failed to copy text: ",o),t(!1)}}}}const He="_wrap_134f4_1",Be="_maxHeight_134f4_10",ze="_btnCopy_134f4_13",Oe="_btnDelete_134f4_14",Fe="_blockInfo_134f4_18",qe="_blockInfoEditable_134f4_28",Ue="_selectLang_134f4_32",$e="_copied_134f4_58",R={wrap:He,maxHeight:Be,btnCopy:ze,btnDelete:Oe,blockInfo:Fe,blockInfoEditable:qe,selectLang:Ue,copied:$e};function Ke({editor:e,node:{attrs:t},updateAttributes:n,extension:i}){var _,x;const{isCopied:o,copyToClipboard:r}=De(),c=f.useMemo(()=>{var k;return(k=i.options.languages)!=null&&k.length?i.options.languages:b.DEFAULT_LANGUAGE_CODE_BLOCK},[i.options.languages]),l=s.useEditableEditor(),h=(x=(_=e==null?void 0:e.options)==null?void 0:_.editorProps)==null?void 0:x.print,{language:u}=t,d=f.useRef(null),g=f.useCallback(()=>s.deleteNode(fe.name,e),[e]);return a.jsxs(m.NodeViewWrapper,{className:p.clsx(R.wrap,!h&&R.maxHeight,"render-wrapper"),children:[a.jsxs("div",{className:p.clsx(R.blockInfo,{[R.blockInfoEditable]:!l}),children:[a.jsx("span",{className:p.clsx(R.btnCopy,o&&R.copied),onClick:()=>r(d.current.innerText),children:o?a.jsx(T.CopyCheck,{size:16}):a.jsx(T.Copy,{size:16})}),a.jsx("span",{className:R.btnDelete,onClick:g,children:a.jsx(s.IconComponent,{name:"Trash2"})}),a.jsx("div",{className:R.selectLang,children:a.jsxs(Me,{defaultValue:u||"auto",disabled:!l,onValueChange:k=>n({language:k}),children:[a.jsx(de,{children:a.jsx(Ie,{placeholder:"Language"})}),a.jsxs(me,{className:"richtext-max-h-60 richtext-overflow-y-auto",children:[a.jsx(Z,{value:"auto",children:"Auto"}),c.map((k,v)=>a.jsx(Z,{value:k,children:k.charAt(0).toUpperCase()+k.slice(1)},`code-lang-${v}`))]})]})})]}),a.jsx("pre",{ref:d,children:a.jsx(m.NodeViewContent,{as:"code"})})]})}const fe=m.CodeBlock.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),languages:[],button:({editor:t,t:n,extension:i})=>{var r,c,l;const o=(c=(r=i==null?void 0:i.options)==null?void 0:r.languages)!=null&&c.length?(l=i==null?void 0:i.options)==null?void 0:l.languages:b.DEFAULT_LANGUAGE_CODE_BLOCK;return{component:Le,componentProps:{action:(h="js")=>t.commands.setCodeBlock({language:h}),isActive:()=>t.isActive("codeBlock")||!1,disabled:!t.can().toggleCodeBlock(),icon:"Code2",tooltip:n("editor.codeblock.tooltip"),languages:o}}}}},addNodeView(){return m.ReactNodeViewRenderer(Ke)},addProseMirrorPlugins(){var e;return[...((e=this.parent)==null?void 0:e.call(this))||[],Ne({name:this.name,defaultLanguage:null,defaultTheme:this.options.defaultTheme})]}});function Ve(e){var o,r,c;const{t,lang:n}=b.useLocale(),i=f.useMemo(()=>{var u;const l=(u=e==null?void 0:e.items)==null?void 0:u.find(d=>d.isActive());return l&&!l.default?{...l}:{title:e.tooltip,font:t("editor.fontFamily.default.tooltip"),isActive:()=>!1,disabled:!1,action:()=>e.editor.chain().focus().unsetFontFamily().run()}},[t,n,e]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(Y,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:((o=i==null?void 0:i.font)==null?void 0:o.length)>7?`${(r=i==null?void 0:i.font)==null?void 0:r.slice(0,6)}...`:i==null?void 0:i.font,tooltip:e==null?void 0:e.tooltip})}),a.jsx(s.DropdownMenuContent,{className:"richtext-w-full",children:(c=e==null?void 0:e.items)==null?void 0:c.map((l,h)=>{const u=l.font===t("editor.fontFamily.default.tooltip")?{}:{fontFamily:l.font};return a.jsxs(f.Fragment,{children:[a.jsx(s.DropdownMenuCheckboxItem,{checked:(i==null?void 0:i.font)===l.font,onClick:l.action,children:a.jsx("div",{className:"richtext-ml-1 richtext-h-full",style:u,children:l.font})}),l.font===t("editor.fontFamily.default.tooltip")&&a.jsx(s.DropdownMenuSeparator,{})]},`font-family-${h}`)})})]})}const We=m.FontFamily.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),fontFamilyList:b.DEFAULT_FONT_FAMILY_LIST,button({editor:t,extension:n,t:i}){var u;const{extensions:o=[]}=t.extensionManager??[],r=s.ensureNameValueOptions(((u=n==null?void 0:n.options)==null?void 0:u.fontFamilyList)||[]),c=o.find(d=>d.name==="base-kit"),l=r.map(d=>({action:()=>{t.chain().focus().setFontFamily(d.value).run()},isActive:()=>t.isActive("textStyle",{fontFamily:d.value})||!1,disabled:!t.can().setFontFamily(d.value),title:d.name,font:d.value}));c&&c.options.textStyle!==!1&&l.unshift({action:()=>t.chain().focus().unsetFontFamily().run(),isActive:()=>!1,disabled:!1,font:i("editor.fontFamily.default.tooltip"),title:i("editor.fontFamily.tooltip")});const h=l.filter(d=>d.disabled).length===l.length;return{component:Ve,componentProps:{tooltip:i("editor.fontFamily.tooltip"),disabled:h,items:l,editor:t}}}}}});function Ge(e){var n;const t=f.useMemo(()=>{var r;const i=(r=e==null?void 0:e.items)==null?void 0:r.find(c=>c.isActive());return i&&!i.default?{...i}:{title:e.tooltip,level:0,isActive:()=>!1}},[e]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(Y,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:t==null?void 0:t.title,tooltip:e==null?void 0:e.tooltip})}),a.jsx(s.DropdownMenuContent,{className:"richtext-w-full",children:(n=e==null?void 0:e.items)==null?void 0:n.map((i,o)=>{var r,c;return a.jsxs(f.Fragment,{children:[a.jsxs(s.DropdownMenuCheckboxItem,{checked:(t==null?void 0:t.title)===i.title,onClick:i.action,children:[a.jsx("div",{className:`heading- richtext-ml-1 richtext-h-full${i.level}`,children:i.title}),!!((r=i==null?void 0:i.shortcutKeys)!=null&&r.length)&&a.jsx(s.DropdownMenuShortcut,{className:"richtext-pl-4",children:(c=i==null?void 0:i.shortcutKeys)==null?void 0:c.map(l=>s.getShortcutKey(l)).join(" ")})]}),i.level===0&&a.jsx(s.DropdownMenuSeparator,{})]},`heading-k-${o}`)})})]})}const Ze=m.Heading.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),levels:[1,2,3,4,5,6],button({editor:t,extension:n,t:i}){var u;const{extensions:o=[]}=t.extensionManager??[],r=((u=n.options)==null?void 0:u.levels)||[],c=o.find(d=>d.name==="base-kit"),l=r.map(d=>({action:()=>t.commands.toggleHeading({level:d}),isActive:()=>t.isActive("heading",{level:d})||!1,disabled:!t.can().toggleHeading({level:d}),title:i(`editor.heading.h${d}.tooltip`),level:d,shortcutKeys:["alt","mod",`${d}`]}));c&&c.options.paragraph!==!1&&l.unshift({action:()=>t.commands.setParagraph(),isActive:()=>t.isActive("paragraph")||!1,disabled:!t.can().setParagraph(),level:0,title:i("editor.paragraph.tooltip"),shortcutKeys:["alt","mod","0"]});const h=l.filter(d=>d.disabled).length===l.length;return{component:Ge,componentProps:{tooltip:i("editor.heading.tooltip"),disabled:h,items:l,editor:t}}}}}});function Je(e){var n;const t=f.useMemo(()=>{var r;const i=(r=e==null?void 0:e.items)==null?void 0:r.find(c=>c.isActive());return i&&!i.default?{...i,icon:i.icon?i.icon:e.icon}:{title:e==null?void 0:e.tooltip,icon:e.icon,isActive:()=>!1}},[e]);return a.jsxs(s.Popover,{modal:!0,children:[a.jsx(s.PopoverTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(s.ActionButton,{customClass:"!richtext-w-12 richtext-h-12",disabled:e==null?void 0:e.disabled,icon:e==null?void 0:e.icon,tooltip:e==null?void 0:e.tooltip,children:a.jsx(s.IconComponent,{className:"richtext-ml-1 richtext-size-3 richtext-text-zinc-500",name:"MenuDown"})})}),a.jsx(s.PopoverContent,{align:"start",className:"richtext-flex richtext-w-full richtext-min-w-4 richtext-flex-row richtext-gap-1 !richtext-p-[4px]",side:"bottom",children:(n=e==null?void 0:e.items)==null?void 0:n.map((i,o)=>{var r,c;return a.jsxs(s.Tooltip,{children:[a.jsx(s.TooltipTrigger,{asChild:!0,children:a.jsx(s.Toggle,{className:"richtext-size-7 richtext-p-1","data-state":t.title===i.title?"on":"off",onClick:i==null?void 0:i.action,pressed:t.title===i.title,size:"sm",children:(i==null?void 0:i.icon)&&a.jsx(s.IconComponent,{name:i.icon})})}),a.jsxs(s.TooltipContent,{className:"richtext-flex richtext-flex-col richtext-items-center",children:[a.jsx("span",{children:i.title}),!!((r=i.shortcutKeys)!=null&&r.length)&&a.jsx("span",{children:(c=i.shortcutKeys)==null?void 0:c.map(l=>s.getShortcutKey(l)).join(" ")})]})]},`text-align-${o}`)})})]})}const Xe=m.TextAlign.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["heading","paragraph","list_item","title"],button({editor:t,extension:n,t:i}){var u;const o=((u=n.options)==null?void 0:u.alignments)||[],r={left:["mod","Shift","L"],center:["mod","Shift","E"],right:["mod","Shift","R"],justify:["mod","Shift","J"]},c={left:"AlignLeft",center:"AlignCenter",right:"AlignRight",justify:"AlignJustify"},l=o.map(d=>{var g,_,x;return{title:i(`editor.textalign.${d}.tooltip`),icon:c[d],shortcutKeys:r[d],isActive:()=>t.isActive({textAlign:d})||!1,action:()=>{var k,v;return(v=(k=t.commands)==null?void 0:k.setTextAlign)==null?void 0:v.call(k,d)},disabled:!((x=(_=(g=t==null?void 0:t.can)==null?void 0:g.call(t))==null?void 0:_.setTextAlign)!=null&&x.call(_,d))}}),h=l.filter(d=>d.disabled).length===l.length;return{component:Je,componentProps:{icon:"AlignJustify",tooltip:i("editor.textalign.tooltip"),disabled:h,items:l}}}}}});function Ye(e){var i;const{t}=b.useLocale(),n=f.useMemo(()=>{const o=(e.items||[]).find(c=>c.isActive());return o||{title:t("editor.fontSize.default.tooltip"),isActive:()=>!1}},[e]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(Y,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:n==null?void 0:n.title,tooltip:`${e==null?void 0:e.tooltip}`})}),a.jsx(s.DropdownMenuContent,{className:"richtext-max-h-96 richtext-w-32 richtext-overflow-y-auto",children:(i=e==null?void 0:e.items)==null?void 0:i.map((o,r)=>a.jsx(s.DropdownMenuCheckboxItem,{checked:n.title===o.title,onClick:o.action,children:a.jsx("div",{className:"richtext-ml-1 richtext-h-full",children:o.title})},`font-size-${r}`))})]})}const Qe=m.Extension.create({name:"fontSize",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["textStyle"],fontSizes:[...b.DEFAULT_FONT_SIZE_LIST],button({editor:t,extension:n,t:i}){var h;const o=s.ensureNameValueOptions(((h=n.options)==null?void 0:h.fontSizes)||b.DEFAULT_FONT_SIZE_VALUE),r=s.ensureNameValueOptions([b.DEFAULT_FONT_SIZE_VALUE])[0],c=o.map(u=>({title:u.value===r.value?i("editor.fontSize.default.tooltip"):String(u.name),isActive:()=>{const{fontSize:d}=t.getAttributes("textStyle");return u.value===r.value&&d===void 0?!0:t.isActive({fontSize:String(u.value)})||!1},action:()=>{if(u.value===r.value){t.commands.unsetFontSize();return}t.commands.setFontSize(String(u.value))},disabled:!t.can().setFontSize(String(u.value)),divider:u.value===r.value||!1,default:u.value===r.value||!1})),l=c.filter(u=>u.disabled).length===c.length;return{component:Ye,componentProps:{editor:t,tooltip:i("editor.fontSize.tooltip"),disabled:l,items:c,maxHeight:280}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:e=>e.style.fontSize.replaceAll(/["']+/g,""),renderHTML:e=>e.fontSize?{style:`font-size: ${e.fontSize}`}:{}}}}]},addCommands(){return{setFontSize:e=>({chain:t})=>t().setMark("textStyle",{fontSize:e}).run(),unsetFontSize:()=>({chain:e})=>e().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()}}});function et({fill:e}){return a.jsx("svg",{width:"18px",height:"18px",viewBox:"0 0 240 240",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("g",{stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",children:a.jsx("g",{transform:"translate(0.000000, 0.500000)",children:a.jsxs("g",{transform:"translate(39.000000, 17.353553)",children:[a.jsx("path",{d:"M11,201.146447 L167,201.146447 C173.075132,201.146447 178,206.071314 178,212.146447 C178,218.221579 173.075132,223.146447 167,223.146447 L11,223.146447 C4.92486775,223.146447 7.43989126e-16,218.221579 0,212.146447 C-7.43989126e-16,206.071314 4.92486775,201.146447 11,201.146447 Z",id:"矩形",fill:e||"#DF2A3F",fillRule:"evenodd"}),a.jsx("path",{d:"M72.3425855,16.8295583 C75.799482,7.50883712 86.1577877,2.75526801 95.4785089,6.21216449 C100.284516,7.99463061 104.096358,11.7387855 105.968745,16.4968188 L106.112518,16.8745422 L159.385152,161.694068 C161.291848,166.877345 158.635655,172.624903 153.452378,174.531599 C148.358469,176.405421 142.719567,173.872338 140.716873,168.864661 L140.614848,168.598825 L89.211,28.86 L37.3759214,168.623816 C35.4885354,173.712715 29.8981043,176.351047 24.7909589,174.617647 L24.5226307,174.522368 C19.4337312,172.634982 16.7953993,167.044551 18.5287999,161.937406 L18.6240786,161.669077 L72.3425855,16.8295583 Z",id:"路径-21",fill:"currentColor",fillRule:"nonzero"}),a.jsx("path",{d:"M121,103.146447 C126.522847,103.146447 131,107.623599 131,113.146447 C131,118.575687 126.673329,122.994378 121.279905,123.142605 L121,123.146447 L55,123.146447 C49.4771525,123.146447 45,118.669294 45,113.146447 C45,107.717207 49.3266708,103.298515 54.7200952,103.150288 L55,103.146447 L121,103.146447 Z",id:"路径-22",fill:"currentColor",fillRule:"nonzero"})]})})})})}function tt(e){const[t,n]=f.useState(void 0);function i(c){var l;(l=e.action)==null||l.call(e,c)}function o(){var c;(c=e.action)==null||c.call(e,t)}const r=f.useCallback(p.debounce(c=>{n(c)},350),[]);return a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-h-[32px]",children:[a.jsx(s.ActionButton,{tooltip:e==null?void 0:e.tooltip,disabled:e==null?void 0:e.disabled,action:o,children:a.jsx("span",{className:"richtext-flex richtext-items-center richtext-justify-center richtext-text-sm",children:a.jsx(et,{fill:t})})}),a.jsx(s.ColorPicker,{selectedColor:t,setSelectedColor:r,onChange:i,disabled:e==null?void 0:e.disabled,colors:e==null?void 0:e.colors,defaultColor:e==null?void 0:e.defaultColor,children:a.jsx(s.Button,{variant:"ghost",size:"icon",className:"r!ichtext-h-[32px] !richtext-w-3",disabled:e==null?void 0:e.disabled,children:a.jsx(s.IconComponent,{className:"!richtext-w-3 !richtext-h-3 richtext-text-zinc-500",name:"MenuDown"})})})]})}const nt=m.Color.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n,extension:i}){return{component:tt,componentProps:{colors:i.options.colors,defaultColor:i.options.defaultColor,action:o=>{o===void 0&&t.chain().focus().unsetColor().run(),typeof o=="string"&&t.chain().focus().setColor(o).run()},isActive:()=>{const{color:o}=t.getAttributes("textStyle");return o&&t.isActive({color:o})||!1},editor:t,disabled:!t.can().setColor(""),tooltip:n("editor.color.tooltip")}}}}}}),it=m.Highlight.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),multicolor:!0,button:({editor:t,t:n})=>({component:s.HighlightActionButton,componentProps:{action:i=>{typeof i=="string"&&t.chain().focus().setHighlight({color:i}).run(),i===void 0&&t.chain().focus().unsetHighlight().run()},editor:t,isActive:()=>t.isActive("highlight")||!1,disabled:!t.can().setHighlight(),shortcutKeys:["⇧","mod","H"],tooltip:n("editor.highlight.tooltip")}})}}}),ot=m.BulletList.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleBulletList(),isActive:()=>t.isActive("bulletList")||!1,disabled:!1,shortcutKeys:["shift","mod","8"],icon:"List",tooltip:n("editor.bulletlist.tooltip")}})}}}),at=m.Node.create({name:"clear",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.chain().focus().clearNodes().unsetAllMarks().run(),disabled:!t.can().chain().focus().clearNodes().unsetAllMarks().run(),icon:"Eraser",tooltip:n("editor.clear.tooltip")}})}}}),rt=m.OrderedList.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleOrderedList(),isActive:()=>t.isActive("orderedList")||!1,disabled:!1,icon:"ListOrdered",shortcutKeys:["mod","shift","7"],tooltip:n("editor.orderedlist.tooltip")}})}}}),st=m.TaskList.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"task-list"},taskItem:{HTMLAttributes:{class:"task-list-item"}},button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleTaskList(),isActive:()=>t.isActive("taskList")||!1,disabled:!1,icon:"ListTodo",shortcutKeys:["shift","mod","9"],tooltip:n("editor.tasklist.tooltip")}})}},addExtensions(){return[m.TaskItem.configure(this.options.taskItem)]}}),ct=m.Blockquote.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"blockquote"},button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleBlockquote(),isActive:()=>t.isActive("blockquote")||!1,disabled:!t.can().toggleBlockquote(),icon:"TextQuote",shortcutKeys:["shift","mod","B"],tooltip:n("editor.blockquote.tooltip")}})}}});function lt(e){const[t,n]=f.useState(!1);function i(o,r,c){e.action&&(e.action({link:o,text:r,openInNewTab:c}),n(!1))}return a.jsxs(s.Popover,{modal:!0,open:t,onOpenChange:n,children:[a.jsx(s.PopoverTrigger,{disabled:e==null?void 0:e.disabled,asChild:!0,children:a.jsx(s.ActionButton,{tooltip:e==null?void 0:e.tooltip,isActive:e==null?void 0:e.isActive,disabled:e==null?void 0:e.disabled,children:a.jsx(s.IconComponent,{name:e==null?void 0:e.icon})})}),a.jsx(s.PopoverContent,{hideWhenDetached:!0,className:"richtext-w-full",align:"start",side:"bottom",children:a.jsx(s.LinkEditBlock,{editor:e.editor,onSetLink:i})})]})}const dt=m.Link.extend({inclusive:!1,parseHTML(){return[{tag:'a[href]:not([data-type="button"]):not([href *= "javascript:" i])'}]},renderHTML({HTMLAttributes:e}){return["a",m.mergeAttributes(this.options.HTMLAttributes,e,{class:"link"}),0]},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),openOnClick:!0,button:({editor:t,t:n})=>({component:lt,componentProps:{editor:t,action:i=>{const{link:o,text:r,openInNewTab:c}=i;t.chain().extendMarkRange("link").insertContent({type:"text",text:r,marks:[{type:"link",attrs:{href:o,target:c?"_blank":""}}]}).setLink({href:o}).focus().run()},id:"linkk",isActive:()=>t.isActive("link")||!1,disabled:!t.can().setLink({href:""}),icon:"Link",tooltip:n("editor.link.tooltip")}})}},addProseMirrorPlugins(){return[new p.Plugin({props:{handleClick:(e,t)=>{const{schema:n,doc:i,tr:o}=e.state,r=m.getMarkRange(i.resolve(t),n.marks.link);if(!r)return!1;const c=i.resolve(r.from),l=i.resolve(r.to),h=o.setSelection(new p.TextSelection(c,l));e.dispatch(h)}}})]}}),ut=m.HorizontalRule.extend({renderHTML(){return["div",m.mergeAttributes(this.options.HTMLAttributes,{"data-type":this.name}),["hr"]]},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.setHorizontalRule(),disabled:!t.can().setHorizontalRule(),icon:"Minus",shortcutKeys:["mod","alt","S"],tooltip:n("editor.horizontalrule.tooltip")}})}},addKeyboardShortcuts(){return{"Mod-Alt-s":()=>this.editor.commands.setHorizontalRule()}}});function ht(e){var u;const{icon:t=void 0,tooltip:n=void 0,customClass:i="",tooltipOptions:o={},action:r=void 0,isActive:c=void 0,children:l}=e,h=s.icons[t];return a.jsxs(s.Tooltip,{children:[a.jsx(s.TooltipTrigger,{asChild:!0,children:a.jsxs(s.Toggle,{size:"sm",className:`richtext-w-[32px] richtext-h-[32px] ${i}`,disabled:c==null?void 0:c(),onClick:r,children:[h&&a.jsx(h,{className:"richtext-w-4 richtext-h-4"}),l&&a.jsx(a.Fragment,{children:l})]})}),n&&a.jsx(s.TooltipContent,{...o,children:a.jsxs("div",{className:"richtext-flex richtext-flex-col richtext-items-center richtext-text-center richtext-max-w-24",children:[a.jsx("div",{children:n}),!!((u=e==null?void 0:e.shortcutKeys)!=null&&u.length)&&a.jsx("span",{children:s.getShortcutKeys(e==null?void 0:e.shortcutKeys)})]})})]})}const mt=["undo","redo"],ft=m.History.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),depth:100,newGroupDelay:500,button:({editor:t,t:n})=>mt.map(i=>({component:ht,componentProps:{action:()=>{i==="undo"&&t.chain().focus().undo().run(),i==="redo"&&t.chain().focus().redo().run()},shortcutKeys:i==="undo"?["mod","Z"]:["shift","mod","Z"],disabled:i==="undo"?!t.can().undo():!t.can().redo(),isActive:()=>i==="undo"?!t.can().undo():!t.can().redo(),icon:i==="undo"?"Undo2":"Redo2",tooltip:n(`editor.${i}.tooltip`)}}))}}}),gt=m.Document.extend({content:"(block|columns)+"}),_t=m.Extension.create({name:"columnActionButton",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>{t.chain().focus().insertColumns({cols:2}).run()},icon:"Columns",tooltip:n("editor.columns.tooltip")}})}}}),xt=m.Extension.create({name:"selection",addProseMirrorPlugins(){const{editor:e}=this;return[new p.Plugin({key:new p.PluginKey("selection"),props:{decorations(t){return t.selection.empty||e.isFocused===!0?null:p.DecorationSet.create(t.doc,[p.Decoration.inline(t.selection.from,t.selection.to,{class:"selection"})])}}})]}});function bt(e){const{t}=b.useLocale(),n=f.useMemo(()=>[{name:"paragraph",label:t("editor.paragraph.tooltip"),iconName:"Heading1",isActive:()=>e.editor.isActive("paragraph")&&!e.editor.isActive("orderedList")&&!e.editor.isActive("bulletList")&&!e.editor.isActive("taskList"),action:()=>e.editor.chain().focus().clearNodes().run()},{name:"heading1",label:t("editor.heading.h1.tooltip"),isActive:()=>e.editor.isActive("heading",{level:1}),iconName:"Heading1",action:()=>e.editor.chain().focus().clearNodes().toggleHeading({level:1}).run()},{name:"heading2",label:t("editor.heading.h2.tooltip"),isActive:()=>e.editor.isActive("heading",{level:2}),iconName:"Heading2",action:()=>e.editor.chain().focus().clearNodes().toggleHeading({level:2}).run()},{name:"heading3",label:t("editor.heading.h3.tooltip"),isActive:()=>e.editor.isActive("heading",{level:3}),iconName:"Heading3",action:()=>e.editor.chain().focus().clearNodes().toggleHeading({level:3}).run()},{name:"bulletList",label:t("editor.bulletlist.tooltip"),isActive:()=>e.editor.isActive("bulletList"),iconName:"List",action:()=>e.editor.chain().focus().clearNodes().toggleBulletList().run()},{name:"numberedList",label:t("editor.orderedlist.tooltip"),isActive:()=>e.editor.isActive("orderedList"),iconName:"ListOrdered",action:()=>e.editor.chain().focus().clearNodes().toggleOrderedList().run()},{name:"taskList",label:t("editor.tasklist.tooltip"),isActive:()=>e.editor.isActive("taskList"),iconName:"ListTodo",action:()=>e.editor.chain().focus().clearNodes().toggleTaskList().run()},{name:"blockquote",label:t("editor.blockquote.tooltip"),isActive:()=>e.editor.isActive("blockquote"),iconName:"TextQuote",action:()=>e.editor.chain().focus().clearNodes().toggleBlockquote().run()},{name:"codeBlock",label:t("editor.codeblock.tooltip"),isActive:()=>e.editor.isActive("codeBlock"),iconName:"Code2",action:()=>e.editor.chain().focus().clearNodes().toggleCodeBlock().run()}],[e.editor,t]),i=f.useMemo(()=>n.findLast(o=>o.isActive())??{label:"Empty"},[n]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,children:a.jsxs(s.Button,{className:"richtext-flex richtext-h-[32px] richtext-gap-1 richtext-px-1.5",variant:"ghost",children:[a.jsxs("span",{className:"richtext-whitespace-nowrap richtext-text-sm richtext-font-normal",children:[" ",i==null?void 0:i.label]}),a.jsx(T.ChevronDown,{className:"richtext-size-4"})]})}),a.jsx(s.DropdownMenuContent,{align:"start",className:"richtext-w-full richtext-p-1",hideWhenDetached:!0,sideOffset:5,children:n.map((o,r)=>{var l;const c=s.icons[o.iconName];return a.jsx(s.DropdownMenuCheckboxItem,{checked:((l=o.isActive)==null?void 0:l.call(o))||!1,className:"richtext-cursor-pointer",onClick:()=>o.action(),children:a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-2 richtext-px-2",children:[a.jsx(c,{className:"richtext-h3 richtext-w-3"}),a.jsxs("span",{children:[" ",o.label]})]})},`text-bubble-${r}`)})})]})}const pt=m.Extension.create({name:"text-bubble",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),toolbar:!1,button:()=>({component:bt,componentProps:{}})}}});function ee({types:e,node:t}){return Array.isArray(e)&&e.includes(t.type)||t.type===e}const wt=m.Extension.create({name:"trailingNode",addOptions(){return{node:"paragraph",notAfter:["paragraph"]}},addProseMirrorPlugins(){const e=new p.PluginKey(this.name),t=Object.entries(this.editor.schema.nodes).map(([,n])=>n).filter(n=>this.options.notAfter.includes(n.name));return[new p.Plugin({key:e,appendTransaction:(n,i,o)=>{const{doc:r,tr:c,schema:l}=o,h=e.getState(o),u=r.content.size,d=l.nodes[this.options.node];if(h)return c.insert(u,d.create())},state:{init:(n,i)=>{const o=i.tr.doc.lastChild;return!ee({node:o,types:t})},apply:(n,i)=>{if(!n.docChanged)return i;const o=n.doc.lastChild;return!ee({node:o,types:t})}}})]}}),yt=m.Extension.create({name:"base-kit",addExtensions(){const e=[];return this.options.document!==!1&&e.push(gt.configure()),this.options.placeholder!==!1&&e.push(m.Placeholder.configure({placeholder:({node:t,pos:n,editor:i})=>{var o,r,c,l,h;return((o=t==null?void 0:t.type)==null?void 0:o.name)==="columns"||((r=t==null?void 0:t.content)==null?void 0:r.size)!==0?"":((c=t==null?void 0:t.type)==null?void 0:c.name)==="heading"?`${b.localeActions.t(`editor.heading.h${t.attrs.level}.tooltip`)}`:((l=t==null?void 0:t.type)==null?void 0:l.name)==="codeBlock"||((h=t==null?void 0:t.type)==null?void 0:h.name)==="table"?"":i.extensionManager.extensions.some(u=>u.name==="slashCommand")?b.localeActions.t("editor.slash"):b.localeActions.t("editor.content")},...this.options.placeholder})),this.options.focus!==!1&&e.push(m.FocusClasses.configure({className:"focus",...this.options.focus})),this.options.text!==!1&&e.push(m.Text.configure()),this.options.textBubble!==!1&&e.push(pt.configure()),this.options.gapcursor!==!1&&e.push(m.Gapcursor.configure()),this.options.dropcursor!==!1&&e.push(m.Dropcursor.configure({...this.options.dropcursor,width:2,class:"ProseMirror-dropcursor border-black"})),this.options.characterCount!==!1&&e.push(m.CharacterCount.configure(this.options.characterCount)),this.options.paragraph!==!1&&e.push(m.Paragraph.configure(this.options.paragraph)),this.options.hardBreak!==!1&&e.push(m.HardBreak.configure(this.options.hardBreak)),this.options.listItem!==!1&&e.push(m.ListItem.configure(this.options.listItem)),this.options.textStyle!==!1&&e.push(m.TextStyle.configure(this.options.textStyle)),this.options.trailingNode!==!1&&e.push(wt.configure(this.options.trailingNode)),this.options.selection!==!1&&e.push(xt),this.options.multiColumn!==!1&&e.push(s.Column,s.MultiColumn),e}}),kt=m.Extension.create({name:"subAndSuperScript",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,extension:n,t:i})=>{const o=n.options.subscript,r=n.options.superscript,c={component:s.ActionButton,componentProps:{action:()=>t.commands.toggleSubscript(),isActive:()=>t.isActive("subscript")||!1,disabled:!t.can().toggleSubscript(),icon:"Subscript",tooltip:i("editor.subscript.tooltip")}},l={component:s.ActionButton,componentProps:{action:()=>t.commands.toggleSuperscript(),isActive:()=>t.isActive("superscript")||!1,disabled:!t.can().toggleSuperscript(),icon:"Superscript",tooltip:i("editor.superscript.tooltip")}},h=[];return o!==!1&&h.push(c),r!==!1&&h.push(l),h}}},addExtensions(){const e=[];return this.options.subscript!==!1&&e.push(m.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&e.push(m.Superscript.configure(this.options.superscript)),e}});function vt(e){var n;const t=f.useMemo(()=>{var r;const i=(r=e==null?void 0:e.items)==null?void 0:r.find(c=>c.isActive());return i&&!i.default?{...i,icon:i!=null&&i.icon?i==null?void 0:i.icon:e==null?void 0:e.icon}:{title:e.tooltip,icon:e.icon,isActive:()=>!1}},[e]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(s.ActionButton,{customClass:"!richtext-w-12 richtext-h-12",disabled:e==null?void 0:e.disabled,icon:e==null?void 0:e.icon,tooltip:e==null?void 0:e.tooltip,children:a.jsx(s.MenuDown,{className:"richtext-size-3 richtext-text-gray-500"})})}),a.jsx(s.DropdownMenuContent,{className:"w-full",children:(n=e==null?void 0:e.items)==null?void 0:n.map((i,o)=>a.jsxs(s.DropdownMenuCheckboxItem,{checked:t.title===i.title,className:"richtext-flex richtext-items-center richtext-gap-3",onClick:i.action,children:[a.jsx(s.IconComponent,{name:i==null?void 0:i.icon}),a.jsx("span",{className:"richtext-ml-1",children:i.title}),!!(i!=null&&i.shortcutKeys)&&a.jsx("span",{className:"richtext-ml-auto richtext-text-xs richtext-tracking-widest richtext-opacity-60",children:s.getShortcutKeys(i.shortcutKeys)})]},`more-mark-${o}`))})]})}const Ct=m.Extension.create({name:"moreMark",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,extension:n,t:i}){const o=n.options.subscript,r=n.options.superscript,c={action:()=>t.commands.toggleSubscript(),isActive:()=>t.isActive("subscript")||!1,disabled:!t.can().toggleSubscript(),icon:"Subscript",title:i("editor.subscript.tooltip"),shortcutKeys:["mod","."]},l={action:()=>t.commands.toggleSuperscript(),isActive:()=>t.isActive("superscript")||!1,disabled:!t.can().toggleSuperscript(),icon:"Superscript",title:i("editor.superscript.tooltip"),shortcutKeys:["mod",","]},h=[];return o!==!1&&h.push(c),r!==!1&&h.push(l),{component:vt,componentProps:{icon:"Type",tooltip:i("editor.moremark"),disabled:!t.isEditable,items:h}}}}},addExtensions(){const e=[];return this.options.subscript!==!1&&e.push(m.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&e.push(m.Superscript.configure(this.options.superscript)),e}}),jt=m.Extension.create({name:"indent",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["paragraph","heading","blockquote"],minIndent:s.IndentProps.min,maxIndent:s.IndentProps.max,button({editor:t,t:n}){return[{component:s.ActionButton,componentProps:{action:()=>{t.commands.indent()},shortcutKeys:["Tab"],icon:"IndentIncrease",tooltip:n("editor.indent.tooltip")}},{component:s.ActionButton,componentProps:{action:()=>{t.commands.outdent()},shortcutKeys:["Shift","Tab"],icon:"IndentDecrease",tooltip:n("editor.outdent.tooltip")}}]}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{indent:{default:0,parseHTML:e=>{const t=e.dataset.indent;return(t?Number.parseInt(t,10):0)||0},renderHTML:e=>e.indent?{"data-indent":e.indent}:{}}}}]},addCommands(){return{indent:()=>s.createIndentCommand({delta:s.IndentProps.more,types:this.options.types}),outdent:()=>s.createIndentCommand({delta:s.IndentProps.less,types:this.options.types})}},addKeyboardShortcuts(){return{Tab:()=>this.editor.commands.indent(),"Shift-Tab":()=>this.editor.commands.outdent()}}});function At(e){return Number.parseFloat(e.replace("%",""))/100}function Tt(e){const{t}=b.useLocale(),[n,i]=f.useState("default");function o(c){c==="default"?e.editor.commands.unsetLineHeight():e.editor.commands.setLineHeight(c),i(c)}const r=f.useMemo(()=>{const h=e.editor.extensionManager.extensions.find(u=>u.name==="lineHeight").options.lineHeights.map(u=>({label:At(u),value:u}));return h.unshift({label:t("editor.default"),value:"default"}),h},[e]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(s.ActionButton,{customClass:"!richtext-w-12 richtext-h-12",disabled:e==null?void 0:e.disabled,icon:"LineHeight",tooltip:e==null?void 0:e.tooltip,children:a.jsx(s.IconComponent,{className:"richtext-ml-1 richtext-size-3 richtext-text-zinc-500",name:"MenuDown"})})}),a.jsx(s.DropdownMenuContent,{className:"richtext-min-w-24",children:r==null?void 0:r.map((c,l)=>a.jsx(s.DropdownMenuCheckboxItem,{checked:c.value===n,onClick:()=>o(c.value),children:c.label},`lineHeight-${l}`))})]})}const St=["paragraph","heading","list_item","todo_item"];function Et(e,t){const{selection:n,doc:i}=e;if(!n||!i||!(n instanceof p.TextSelection||n instanceof p.AllSelection))return e;const{from:o,to:r}=n,c=[],l=t&&t!==b.DEFAULT_LINE_HEIGHT?t:null;if(i.nodesBetween(o,r,(h,u)=>{const d=h.type;return St.includes(d.name)?((h.attrs.lineHeight||null)!==l&&c.push({node:h,pos:u,nodeType:d}),d.name!=="list_item"&&d.name!=="todo_item"):!0}),c.length===0)return e;for(const h of c){const{node:u,pos:d,nodeType:g}=h;let{attrs:_}=u;_={..._,lineHeight:l},e=e.setNodeMarkup(d,g,_,u.marks)}return e}function Nt(e){return({state:t,dispatch:n})=>{const{selection:i}=t;let{tr:o}=t;return o=o.setSelection(i),o=Et(o,e),o.docChanged?(n&&n(o),!0):!1}}const Lt=m.Extension.create({name:"lineHeight",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["paragraph","heading","list_item","todo_item"],lineHeights:b.DEFAULT_LINE_HEIGHT_LIST,defaultHeight:b.DEFAULT_LINE_HEIGHT,button({editor:t,t:n}){return{component:Tt,componentProps:{editor:t,tooltip:n("editor.lineheight.tooltip")}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:e=>e.style.lineHeight||this.options.defaultHeight,renderHTML:e=>e.lineHeight===this.options.defaultHeight||!e.lineHeight?{}:{style:`line-height: ${e.lineHeight}`}}}}]},addCommands(){return{setLineHeight:e=>Nt(e),unsetLineHeight:()=>({commands:e})=>this.options.types.every(t=>e.resetAttributes(t,"lineHeight"))}}});function Mt(e,t){var S,N;const[n,i]=f.useState(0),[o,r]=f.useState(0),c=f.useRef(null),{t:l}=b.useLocale(),h=f.useRef([]);f.useImperativeHandle(t,()=>({onKeyDown:u})),f.useEffect(()=>{if(!c.current)return;const w=o*1e3+n,y=h.current[w];y&&y.scrollIntoView({behavior:"smooth",block:"nearest"})},[n,o]);function u({event:w}){return w.key==="ArrowUp"?(d(),!0):w.key==="ArrowDown"?(g(),!0):w.key==="Enter"?(_(),!0):!1}function d(){var j;if(e.items.length===0)return!1;let w=n-1,y=o;w<0&&(y=o-1,w=((j=e.items[y])==null?void 0:j.commands.length)-1||0),y<0&&(y=e.items.length-1,w=e.items[y].commands.length-1),i(w),r(y)}function g(){if(e.items.length===0)return!1;const w=e.items[o].commands;let y=n+1,j=o;w.length-1<y&&(y=0,j=o+1),e.items.length-1<j&&(j=0),i(y),r(j)}function _(){if(e.items.length===0||o===-1||n===-1)return!1;x(o,n)}function x(w,y){const j=e.items[w].commands[y];e.command(j)}function k(w,y){x(w,y)}function v(w,y,j){h.current[w*1e3+y]=j}return a.jsx("div",{className:"richtext-mb-8 richtext-max-h-[min(80vh,24rem)] richtext-flex-wrap richtext-overflow-auto richtext-rounded-lg !richtext-border !richtext-border-neutral-200 !richtext-bg-white richtext-p-1 !richtext-text-black richtext-shadow-sm dark:!richtext-border-neutral-800 dark:!richtext-bg-black",ref:c,children:(S=e==null?void 0:e.items)!=null&&S.length?a.jsx("div",{className:"richtext-grid richtext-min-w-48 richtext-grid-cols-1 richtext-gap-0.5",children:(N=e==null?void 0:e.items)==null?void 0:N.map((w,y)=>a.jsxs(f.Fragment,{children:[a.jsx("div",{className:"richtext-col-[1/-1] richtext-mx-2 richtext-mt-2 richtext-select-none richtext-text-[0.65rem] richtext-font-semibold richtext-uppercase richtext-tracking-wider !richtext-text-neutral-500 first:richtext-mt-0.5",children:w.title}),w.commands.map((j,L)=>a.jsxs("button",{onClick:()=>k(y,L),ref:E=>v(y,L,E),className:s.cn("richtext-flex richtext-items-center richtext-gap-3 richtext-px-2 richtext-py-1.5 richtext-text-sm !richtext-text-neutral-800 dark:!richtext-text-neutral-200 richtext-text-left richtext-w-full richtext-rounded-sm richtext-outline-none richtext-transition-colors !richtext-bg-transparent hover:!richtext-bg-accent ",{"slash-command-active":o===y&&n===L}),children:[j.iconUrl&&a.jsx("img",{alt:"",className:"richtext-size-6",src:j.iconUrl}),j.iconName&&a.jsx(s.IconComponent,{className:"!richtext-mr-1 !richtext-text-lg",name:j.iconName}),j.label]},`command-${L}`))]},`slash-${w.title}`))}):a.jsx("div",{className:"richtext-p-3",children:a.jsx("span",{className:"richtext-text-xs richtext-text-gray-800 dark:richtext-text-gray-100",children:l("editor.slash.empty")})})})}const It=f.forwardRef(Mt),Pt={setOpen:(e,t)=>{s.dispatchEvent(s.EVENTS.UPLOAD_VIDEO(e),t)}};function Rt(e,t){const n=[{name:"format",title:b.localeActions.t("editor.slash.format"),commands:[]},{name:"insert",title:b.localeActions.t("editor.slash.insert"),commands:[]}];return e.forEach(i=>{i.name.toLowerCase()==="heading"&&i.options.levels.forEach(o=>{n[0].commands.push({name:`heading${o}`,label:b.localeActions.t(`editor.heading.h${o}.tooltip`),aliases:[`h${o}`,"bt",`bt${o}`],iconName:`Heading${o}`,action:({editor:r,range:c})=>{r.chain().focus().deleteRange(c).setHeading({level:o}).run()}})}),i.name.toLowerCase()==="bulletlist"&&n[0].commands.push({name:"bulletList",label:b.localeActions.t("editor.bulletlist.tooltip"),aliases:["ul","yxlb"],iconName:"List",action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).toggleBulletList().run()}}),i.name.toLowerCase()==="orderedlist"&&n[0].commands.push({name:"numberedList",label:b.localeActions.t("editor.orderedlist.tooltip"),aliases:["ol","yxlb"],iconName:"ListOrdered",action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).toggleOrderedList().run()}}),i.name.toLowerCase()==="tasklist"&&n[0].commands.push({name:"taskList",label:b.localeActions.t("editor.tasklist.tooltip"),iconName:"ListTodo",description:"Task list with todo items",aliases:["todo"],action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).toggleTaskList().run()}}),i.name.toLowerCase()==="blockquote"&&n[0].commands.push({name:"blockquote",label:b.localeActions.t("editor.blockquote.tooltip"),description:"插入引入格式",aliases:["yr"],iconName:"TextQuote",action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).setBlockquote().run()}}),i.name.toLowerCase()==="codeblock"&&n[0].commands.push({name:"codeBlock",label:b.localeActions.t("editor.codeblock.tooltip"),iconName:"Code2",description:"Code block with syntax highlighting",shouldBeHidden:o=>o.isActive("columns"),action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).setCodeBlock().run()}}),i.name.toLowerCase()===s.Image.name&&n[1].commands.push({name:"image",label:b.localeActions.t("editor.image.tooltip"),iconName:"ImageUp",description:"Insert a image",aliases:["image","tp","tupian"],shouldBeHidden:o=>o.isActive("columns"),action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).run(),s.actionDialogImage.setOpen(o.id,!0)}}),i.name.toLowerCase()===s.Video.name&&n[1].commands.push({name:"video",label:b.localeActions.t("editor.video.tooltip"),iconName:"Video",description:"Insert a video",aliases:["video","sp","shipin"],shouldBeHidden:o=>o.isActive("columns"),action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).run(),Pt.setOpen(o.id,!0)}}),i.name.toLowerCase()==="table"&&n[1].commands.push({name:"table",label:b.localeActions.t("editor.table.tooltip"),iconName:"Table",description:"Insert a table",aliases:["table","bg","biaoge","biao"],shouldBeHidden:o=>o.isActive("columns"),action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).insertTable({rows:3,cols:3,withHeaderRow:!1}).run()}}),i.name.toLowerCase()==="horizontalrule"&&n[1].commands.push({name:"horizontalRule",label:b.localeActions.t("editor.horizontalrule.tooltip"),iconName:"Minus",description:"Insert a horizontal divider",aliases:["hr","fgx","fg"],action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).setHorizontalRule().run()}}),i.name.toLowerCase()==="columns"&&n[1].commands.push({name:"columns",label:b.localeActions.t("editor.columns.tooltip"),iconName:"Columns2",description:"Add two column content",action:({editor:o})=>{o.chain().focus().insertColumns({cols:2}).run()}}),t==null||t(i,n)}),n}const D="slashCommand";let C;const Dt=m.Extension.create({name:D,priority:200,onCreate(){C=J("body",{interactive:!0,trigger:"manual",placement:"bottom-start",theme:"slash-command",maxWidth:"16rem",offset:[16,8],popperOptions:{strategy:"fixed",modifiers:[{name:"flip",enabled:!1}]}})},addProseMirrorPlugins(){return[m.Suggestion({editor:this.editor,char:"/",allowSpaces:!0,startOfLine:!0,pluginKey:new p.PluginKey(D),allow:({state:e,range:t})=>{var u,d,g;const n=e.doc.resolve(t.from),i=n.depth===1,o=n.parent.type.name==="paragraph",r=((u=n.parent.textContent)==null?void 0:u.charAt(0))==="/",c=this.editor.isActive("column"),l=(g=n.parent.textContent)==null?void 0:g.slice(Math.max(0,(d=n.parent.textContent)==null?void 0:d.indexOf("/"))),h=!(l!=null&&l.endsWith(" "));return(i&&o&&r||c&&o&&r)&&h},command:({editor:e,range:t,props:n})=>{const{view:i}=e;n.action({editor:e,range:t}),i.focus()},items:({query:e,editor:t})=>Rt(t.extensionManager.extensions,this.options.renderGroupItem).map(c=>({...c,commands:c.commands.filter(l=>{const h=l.label.toLowerCase().trim(),u=e.toLowerCase().trim();if(l.aliases){const d=l.aliases.map(x=>x.toLowerCase().trim()),g=h.match(u),_=d.some(x=>x.match(u));return g||_}return h.match(u)}).filter(l=>l.shouldBeHidden?!l.shouldBeHidden(this.editor):!0)})).filter(c=>c.commands.length>0).map(c=>({...c,commands:c.commands.map(l=>({...l,isEnabled:!0}))})),render:()=>{let e,t=null;return{onStart:n=>{var r;e=new m.ReactRenderer(It,{props:n,editor:n.editor});const{view:i}=n.editor,o=()=>{if(!n.clientRect)return n.editor.storage[D].rect;const c=n.clientRect();if(!c)return n.editor.storage[D].rect;let l=c.y;if(c.top+e.element.offsetHeight+40>window.innerHeight){const h=c.top+e.element.offsetHeight-window.innerHeight+40;l=c.y-h}return new DOMRect(c.x,l,c.width,c.height)};t=()=>{C==null||C[0].setProps({getReferenceClientRect:o})},(r=i.dom.parentElement)==null||r.addEventListener("scroll",t),C==null||C[0].setProps({getReferenceClientRect:o,appendTo:()=>document.body,content:e.element}),C==null||C[0].show()},onUpdate(n){var c;e.updateProps(n);const{view:i}=n.editor,o=()=>{if(!n.clientRect)return n.editor.storage[D].rect;const l=n.clientRect();return l?new DOMRect(l.x,l.y,l.width,l.height):n.editor.storage[D].rect},r=()=>{C==null||C[0].setProps({getReferenceClientRect:o})};(c=i.dom.parentElement)==null||c.addEventListener("scroll",r),n.editor.storage[D].rect=n.clientRect?o():{width:0,height:0,left:0,top:0,right:0,bottom:0},C==null||C[0].setProps({getReferenceClientRect:o})},onKeyDown(n){var i;return n.event.key==="Escape"?(C==null||C[0].hide(),!0):(C!=null&&C[0].state.isShown||C==null||C[0].show(),(i=e.ref)==null?void 0:i.onKeyDown(n))},onExit(n){var i;if(C==null||C[0].hide(),t){const{view:o}=n.editor;(i=o.dom.parentElement)==null||i.removeEventListener("scroll",t)}e.destroy()}}}})]},addStorage(){return{rect:{width:0,height:0,left:0,top:0,right:0,bottom:0}}}});function Ht(e,t,n){if(!e.doc)return e;const i=e.doc.nodeAt(t);if(!i||n===i.attrs.backgroundColor)return e;const o={...i.attrs,backgroundColor:n};return e.setNodeMarkup(t,i.type,o,i.marks)}function Bt(e,t,n){const{doc:i,selection:o}=e;return!i||!o||!(o instanceof p.CellSelection)||o.forEachCell((r,c)=>{e=Ht(e,c,n)}),e}function te(e,t){return({tr:n,state:i,dispatch:o})=>{const{selection:r}=i;return n=n.setSelection(r),n=Bt(n,t,e),n.docChanged?(o==null||o(n),!0):!1}}const zt=m.Extension.create({name:"tableCellBackground",addOptions(){return{types:["tableCell"],HTMLAttributes:{}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{backgroundColor:{parseHTML:e=>e.style.backgroundColor||"",renderHTML:e=>!e.backgroundColor||e.backgroundColor===""?{}:{style:`background-color: ${e.backgroundColor}`}}}}]},addCommands(){return{setTableCellBackground:e=>te(e,this.options),unsetTableCellBackground:()=>te("",this.options)}}}),Ot=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,Ft=/CrOS/,qt=/android|ipad|playbook|silk/i;function ne(e={}){let t=e.ua||typeof navigator<"u"&&navigator.userAgent;return t&&typeof t=="object"&&t.headers&&typeof t.headers["user-agent"]=="string"&&(t=t.headers["user-agent"]),typeof t!="string"?!1:!!(Ot.test(t)&&!Ft.test(t)||e.tablet&&qt.test(t)||e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.includes("Macintosh")&&t.includes("Safari"))}const ie=e=>Array.from({length:e}).map((t,n)=>n+1);function Ut(e){var d;const[t,n]=f.useState(!0),[i,o]=f.useState({rows:ne()?b.TABLE_MAX_GRID_SIZE:b.TABLE_INIT_GRID_SIZE,cols:ne()?b.TABLE_MAX_GRID_SIZE:b.TABLE_INIT_GRID_SIZE}),[r,c]=f.useState({rows:b.TABLE_DEFAULT_SELECTED_GRID_SIZE,cols:b.TABLE_DEFAULT_SELECTED_GRID_SIZE});function l(g,_){g===i.rows&&o(x=>({...x,rows:Math.min(g+1,b.TABLE_MAX_GRID_SIZE)})),_===i.cols&&o(x=>({...x,cols:Math.min(_+1,b.TABLE_MAX_GRID_SIZE)})),c({rows:g,cols:_})}function h(g,_){e==null||e.createTable({rows:g,cols:_,withHeaderRow:t}),u()}function u(){n(!1),o({rows:b.TABLE_INIT_GRID_SIZE,cols:b.TABLE_INIT_GRID_SIZE}),c({rows:b.TABLE_DEFAULT_SELECTED_GRID_SIZE,cols:b.TABLE_DEFAULT_SELECTED_GRID_SIZE})}return a.jsxs(s.Popover,{modal:!0,children:[a.jsx(s.PopoverTrigger,{asChild:!0,children:e==null?void 0:e.children}),a.jsx(s.PopoverContent,{align:"start",className:"richtext-w-full !richtext-p-2",side:"bottom",children:a.jsxs("div",{className:"table-grid-size-editor richtext-p-0",children:[a.jsx("div",{className:"richtext-flex richtext-flex-col richtext-flex-wrap richtext-justify-between richtext-gap-1",children:(d=ie(i==null?void 0:i.rows))==null?void 0:d.map(g=>{var _;return a.jsx("div",{className:"richtext-flex richtext-gap-1",children:(_=ie(i==null?void 0:i.cols))==null?void 0:_.map(x=>a.jsx("div",{onMouseDown:()=>h(g,x),onMouseOver:()=>l(g,x),className:`richtext-cursor-pointer richtext-border-border ${x<=r.cols&&g<=r.rows&&"tableCellActive !richtext-bg-foreground"}`,children:a.jsx("div",{className:"richtext-box-border richtext-size-4 richtext-rounded-[2px] !richtext-border richtext-border-solid !richtext-border-border richtext-p-1"})},`c-${x}`))},`r-${g}`)})}),a.jsxs("div",{className:"richtext-mt-2 richtext-text-center richtext-text-sm richtext-text-zinc-600",children:[r.rows," ","x",r.cols]})]})})]})}function $t(e){function t(n){e.disabled||e.editor.chain().focus().insertTable({...n,withHeaderRow:!1}).run()}return a.jsx(Ut,{createTable:t,children:a.jsx(s.ActionButton,{icon:e==null?void 0:e.icon,tooltip:e==null?void 0:e.tooltip,disabled:e==null?void 0:e.disabled,color:e==null?void 0:e.color,action:e==null?void 0:e.action,isActive:e==null?void 0:e.isActive})})}const Kt=m.Table.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),resizable:!0,lastColumnResizable:!0,allowTableNodeSelection:!1,button:({editor:t,t:n})=>({component:$t,componentProps:{disabled:t.isActive("table")||!1,icon:"Table",tooltip:n("editor.table.tooltip"),editor:t}})}},addExtensions(){return[m.TableRow.configure(this.options.tableRow),m.TableHeader.configure(this.options.tableHeader),m.TableCell.configure(this.options.tableCell),zt.configure(this.options.tableCellBackground)]}}),Vt=m.Extension.create({name:"painter",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>{t.commands.setPainter(t==null?void 0:t.state.selection.$head.marks())},icon:"PaintRoller",tooltip:n("editor.format")}})}},addCommands(){return{setPainter:e=>({view:{dispatch:t,state:{tr:n},dom:i}})=>{const c=`url("data:image/svg+xml;utf8,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#000" d="M9 22v-6H4V7q0-1.65 1.175-2.825T8 3h12v13h-5v6zM6 10h12V5h-1v4h-2V5h-1v2h-2V5H8q-.825 0-1.412.588T6 7zm0 4h12v-2H6zm0 0v-2z"/></svg>')}"), auto`;return i.style.cursor=c,t(n.setMeta("painterAction",{type:"start",marks:e})),!0}}},addProseMirrorPlugins(){return[new p.Plugin({key:new p.PluginKey("format-painter"),state:{init:()=>[],apply:(e,t)=>{const n=e.getMeta("painterAction");return n&&n.type==="start"?t=n.marks:n&&n.type==="end"&&(t=[]),t}},props:{handleDOMEvents:{mousedown(e){const t=this.getState(e.state);if(!t||t.length===0)return e.dom.style.cursor="",!1;const n=()=>{document.removeEventListener("mouseup",n);let{dispatch:i,state:{tr:o,selection:r},dom:c}=e;c.style.cursor="",o=o.removeMark(r.from,r.to);for(const l of t)l.type.name!=="link"&&(o=o.addMark(r.from,r.to,l));i(o.setMeta("painterAction",{type:"end"}))};return document.addEventListener("mouseup",n),!0}}}})]}});function Wt({editor:e,...t}){const{t:n}=b.useLocale(),[i,o]=f.useState(-1),[r,c]=f.useState([]),[l,h]=f.useState(""),[u,d]=f.useState(""),[g,_]=f.useState(!1),[x,k]=f.useState(!1);return f.useEffect(()=>{g||(h(""),d(""),o(-1),c([]),e.commands.setSearchTerm(""),e.commands.setReplaceTerm(""))},[e,g]),f.useEffect(()=>{g&&e&&e.commands&&e.commands.setSearchTerm&&e.commands.setSearchTerm(l)},[g,l,e]),f.useEffect(()=>{g&&e&&e.commands&&e.commands.setReplaceTerm&&e.commands.setReplaceTerm(u)},[g,u,e]),f.useEffect(()=>{if(!e)return;const v=e.extensionManager.extensions.find(N=>N.name===ge.name);if(!v)return;const S=()=>{if(!g)return;const N=v?v.storage.currentIndex:-1,w=v?v.storage.results:[];o(y=>y!==N?N:y),c(y=>p.deepEqual(y,w)?y:w)};return s.listenEvent(s.EVENTS.SEARCH_REPLCE,S),()=>{v&&s.listenEvent(s.EVENTS.SEARCH_REPLCE,S)}},[g,e]),a.jsxs(s.Popover,{onOpenChange:_,open:g,children:[a.jsx(s.PopoverTrigger,{asChild:!0,disabled:t==null?void 0:t.disabled,children:a.jsx(s.ActionButton,{disabled:t==null?void 0:t.disabled,isActive:t==null?void 0:t.isActive,tooltip:t==null?void 0:t.tooltip,children:a.jsx(s.IconComponent,{name:t==null?void 0:t.icon})})}),a.jsxs(s.PopoverContent,{align:"start",className:"richtext-w-full",hideWhenDetached:!0,side:"bottom",children:[a.jsxs("div",{className:"richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between",children:[a.jsx(s.Label,{children:n("editor.search.dialog.text")}),a.jsx("span",{className:"richtext-font-semibold",children:r.length>0?`${i+1}/${r.length}`:"0/0"})]}),a.jsxs("div",{className:"richtext-mb-[10px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:[a.jsx(s.Input,{autoFocus:!0,className:"richtext-w-full",onChange:v=>h(v.target.value),placeholder:"Text",required:!0,type:"text",value:l}),a.jsx(s.Button,{className:"richtext-flex-1",disabled:r.length===0,onClick:e.commands.goToPrevSearchResult,children:a.jsx(s.IconComponent,{name:"ChevronUp"})}),a.jsx(s.Button,{className:"richtext-flex-1",disabled:r.length===0,onClick:e.commands.goToNextSearchResult,children:a.jsx(s.IconComponent,{name:"ChevronDown"})})]}),a.jsx(s.Label,{className:"richtext-mb-[6px]",children:n("editor.replace.dialog.text")}),a.jsx("div",{className:"richtext-mb-[5px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:a.jsx("div",{className:"richtext-relative richtext-w-full richtext-max-w-sm richtext-items-center",children:a.jsx(s.Input,{className:"richtext-w-80",onChange:v=>d(v.target.value),placeholder:"Text",required:!0,type:"text",value:u})})}),a.jsxs("div",{className:"richtext-mb-[10px] richtext-flex richtext-items-center richtext-space-x-2",children:[a.jsx(s.Switch,{checked:x,onCheckedChange:v=>{k(v),e.commands.setCaseSensitive(v)}}),a.jsx(s.Label,{children:n("editor.replace.caseSensitive")})]}),a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[a.jsx(s.Button,{className:"richtext-flex-1",disabled:r.length===0,onClick:e.commands.replace,children:n("editor.replace.dialog.text")}),a.jsx(s.Button,{className:"richtext-flex-1",disabled:r.length===0,onClick:e.commands.replaceAll,children:n("editor.replaceAll.dialog.text")})]})]})]})}const F=(e,t)=>t(e.tr);function Gt(e,t,n){return RegExp(t?e.replace(/[$()*+./?[\\\]^{|}-]/g,String.raw`\$&`):e,n?"gu":"gui")}function Zt(e,t,n){const i=[];let o=[];const r=[];let c=0;if(!t)return{decorationsToReturn:[],results:[]};e==null||e.descendants((l,h)=>{l.isText?o[c]?o[c]={text:o[c].text+l.text,pos:o[c].pos}:o[c]={text:`${l.text}`,pos:h}:c+=1}),o=o.filter(Boolean);for(const{text:l,pos:h}of o){const u=[...l.matchAll(t)];for(const d of u){if(d[0]==="")break;d.index!==void 0&&r.push({from:h+d.index,to:h+d.index+d[0].length})}}for(const l of r)i.push(p.Decoration.inline(l.from,l.to,{class:n}));return{decorationsToReturn:i,results:r}}function oe(e,t,{state:n,dispatch:i}){if(!t[0])return;const{from:r,to:c}=t[0];i&&i(n.tr.insertText(e,r,c))}function Jt(e,t,n,i){const o=t+1;if(!i[o])return null;const{from:r,to:c}=i[t],l=c-r-e.length+n,{from:h,to:u}=i[o];return i[o]={to:u-l,from:h-l},[l,i]}function Xt(e,t,{tr:n,dispatch:i}){let o=0,r=t.slice();if(r.length===0)return!1;for(let c=0;c<r.length;c+=1){const{from:l,to:h}=r[c];n.insertText(e,l,h);const u=Jt(e,c,o,r);u&&(o=u[0],r=u[1])}return i(n),!0}function ae({view:e,tr:t,searchResults:n,searchResultCurrentClass:i,gotoIndex:o}){const r=n[o];if(r){const c=t.setMeta("directDecoration",{fromPos:r.from,toPos:r.to,attrs:{class:i}});return e==null||e.dispatch(c),setTimeout(()=>{const l=window.document.querySelector(`.${i}`);l&&X(l,{behavior:"smooth",scrollMode:"if-needed"})},0),!0}return!1}const ge=m.Extension.create({name:"search",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),searchTerm:"",replaceTerm:"",results:[],currentIndex:0,searchResultClass:"search-result",searchResultCurrentClass:"search-result-current",caseSensitive:!1,disableRegex:!1,onChange:()=>{},button:({editor:t,t:n})=>({component:Wt,componentProps:{action:()=>{},icon:"SearchAndReplace",tooltip:n("editor.searchAndReplace.tooltip"),isActive:()=>!1,disabled:!1,editor:t}})}},addStorage(){return{results:[],currentIndex:-1}},addCommands(){return{setSearchTerm:e=>({state:t,dispatch:n})=>(this.options.searchTerm=e,this.storage.results=[],this.storage.currentIndex=0,s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),F(t,n),!1),setReplaceTerm:e=>({state:t,dispatch:n})=>(this.options.replaceTerm=e,F(t,n),!1),setCaseSensitive:e=>({state:t,dispatch:n})=>(this.options.caseSensitive=e,F(t,n),!1),replace:()=>({state:e,dispatch:t})=>{const{replaceTerm:n}=this.options,{currentIndex:i,results:o}=this.storage,r=o[i];return r?(oe(n,[r],{state:e,dispatch:t}),this.storage.results.splice(i,1)):(oe(n,o,{state:e,dispatch:t}),this.storage.results.shift()),s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),F(e,t),!1},replaceAll:()=>({state:e,tr:t,dispatch:n})=>{const{replaceTerm:i}=this.options,{results:o}=this.storage;return Xt(i,o,{tr:t,dispatch:n}),this.storage.currentIndex=-1,this.storage.results=[],s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),F(e,n),!1},goToPrevSearchResult:()=>({view:e,tr:t})=>{const{searchResultCurrentClass:n}=this.options,{currentIndex:i,results:o}=this.storage,r=(i+o.length-1)%o.length;return this.storage.currentIndex=r,s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),ae({view:e,tr:t,searchResults:o,searchResultCurrentClass:n,gotoIndex:r})},goToNextSearchResult:()=>({view:e,tr:t})=>{const{searchResultCurrentClass:n}=this.options,{currentIndex:i,results:o}=this.storage,r=(i+1)%o.length;return this.storage.currentIndex=r,this.options.onChange&&this.options.onChange(),s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),ae({view:e,tr:t,searchResults:o,searchResultCurrentClass:n,gotoIndex:r})}}},addProseMirrorPlugins(){const e=this;return[new p.Plugin({key:new p.PluginKey("search"),state:{init(){return p.DecorationSet.empty},apply(t){const{doc:n,docChanged:i}=t,{searchTerm:o,searchResultClass:r,searchResultCurrentClass:c,disableRegex:l,caseSensitive:h}=e.options;if(i||o){const{decorationsToReturn:u,results:d}=Zt(n,Gt(o,l,h),r);if(e.storage.results=d,e.storage.currentIndex>d.length-1&&(e.storage.currentIndex=0),s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),t.getMeta("directDecoration")){const{fromPos:g,toPos:_,attrs:x}=t.getMeta("directDecoration");u.push(p.Decoration.inline(g,_,x))}else d.length>0&&(u[0]=p.Decoration.inline(d[0].from,d[0].to,{class:c}));return p.DecorationSet.create(n,u)}return p.DecorationSet.empty}},props:{decorations(t){return this.getState(t)}}})]}});function Yt({className:e,...t}){return a.jsx(H.EmojiPicker.Root,{className:s.cn("richtext-bg-popover richtext-text-popover-foreground richtext-isolate richtext-flex richtext-h-full richtext-w-fit richtext-flex-col richtext-overflow-hidden richtext-rounded-md",e),"data-slot":"emoji-picker",...t})}function Qt({className:e,...t}){return a.jsxs("div",{className:s.cn("richtext-flex richtext-h-9 richtext-items-center richtext-gap-2 richtext-border-b richtext-px-3",e),"data-slot":"emoji-picker-search-wrapper",children:[a.jsx(T.SearchIcon,{className:"richtext-size-4 richtext-shrink-0 richtext-opacity-50"}),a.jsx(H.EmojiPicker.Search,{className:"richtext-outline-hidden placeholder:richtext-text-muted-foreground richtext-flex richtext-h-10 richtext-w-full richtext-rounded-md richtext-bg-transparent richtext-py-3 richtext-text-sm disabled:richtext-cursor-not-allowed disabled:richtext-opacity-50","data-slot":"emoji-picker-search",...t})]})}function en({children:e,...t}){return a.jsx("div",{...t,className:"richtext-scroll-my-1 richtext-px-1","data-slot":"emoji-picker-row",children:e})}function tn({emoji:e,className:t,...n}){return a.jsx("button",{...n,className:s.cn("data-[active]:richtext-bg-accent richtext-flex richtext-size-7 richtext-items-center richtext-justify-center richtext-rounded-sm richtext-text-base",t),"data-slot":"emoji-picker-emoji",children:e.emoji})}function nn({category:e,...t}){return a.jsx("div",{...t,className:"richtext-bg-popover richtext-text-muted-foreground richtext-px-3 richtext-pb-2 richtext-pt-3.5 richtext-text-xs richtext-leading-none","data-slot":"emoji-picker-category-header",children:e.label})}function on({className:e,...t}){return a.jsxs(H.EmojiPicker.Viewport,{className:s.cn("richtext-outline-hidden richtext-relative richtext-flex-1",e),"data-slot":"emoji-picker-viewport",...t,children:[a.jsx(H.EmojiPicker.Loading,{className:"richtext-absolute richtext-inset-0 richtext-flex richtext-items-center richtext-justify-center richtext-text-muted-foreground","data-slot":"emoji-picker-loading",children:a.jsx(T.LoaderIcon,{className:"richtext-size-4 richtext-animate-spin"})}),a.jsx(H.EmojiPicker.Empty,{className:"richtext-absolute richtext-inset-0 richtext-flex richtext-items-center richtext-justify-center richtext-text-muted-foreground richtext-text-sm","data-slot":"emoji-picker-empty",children:"No emoji found."}),a.jsx(H.EmojiPicker.List,{className:"richtext-select-none richtext-pb-1",components:{Row:en,Emoji:tn,CategoryHeader:nn},"data-slot":"emoji-picker-list"})]})}function an({className:e,...t}){return a.jsx("div",{className:s.cn("richtext-max-w-(--frimousse-viewport-width) richtext-flex richtext-w-full richtext-min-w-0 richtext-items-center richtext-gap-1 richtext-border-t richtext-p-2",e),"data-slot":"emoji-picker-footer",...t,children:a.jsx(H.EmojiPicker.ActiveEmoji,{children:({emoji:n})=>n?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"richtext-flex richtext-size-7 richtext-flex-none richtext-items-center richtext-justify-center richtext-text-lg",children:n.emoji}),a.jsx("span",{className:"richtext-text-secondary-foreground richtext-truncate richtext-text-xs",children:n.label})]}):a.jsx("span",{className:"richtext-text-muted-foreground richtext-ml-1.5 richtext-flex richtext-h-7 richtext-items-center richtext-truncate richtext-text-xs",children:"Select an emoji…"})})})}function rn({onSelectEmoji:e,children:t}){return a.jsxs(s.Popover,{modal:!0,children:[a.jsx(s.PopoverTrigger,{asChild:!0,children:t}),a.jsx(s.PopoverContent,{align:"start",className:"richtext-size-full richtext-p-2",hideWhenDetached:!0,side:"bottom",children:a.jsxs(Yt,{className:"!richtext-h-[342px]",onEmojiSelect:({emoji:n})=>{e(n)},children:[a.jsx(Qt,{}),a.jsx(on,{}),a.jsx(an,{})]})})]})}function sn({editor:e,icon:t,...n}){const i=f.useCallback(o=>{const{selection:r}=e.state,{$anchor:c}=r;return e.chain().insertContentAt(c.pos,o).run()},[e]);return a.jsx(rn,{onSelectEmoji:i,children:a.jsx(s.ActionButton,{icon:t,tooltip:n==null?void 0:n.tooltip})})}const _e=f.forwardRef((e,t)=>{const n=f.useRef(null),[i,o]=f.useState(0),{t:r}=b.useLocale(),c=d=>{const g=e.items[d];g&&e.command(g)},l=()=>{o((i+e.items.length-1)%e.items.length)},h=()=>{o((i+1)%e.items.length)},u=()=>{c(i)};return f.useEffect(()=>o(0),[e.items]),f.useEffect(()=>{if(Number.isNaN(i+1))return;const d=n.current.querySelector(`span:nth-of-type(${i+1})`);d&&X(d,{behavior:"smooth",scrollMode:"if-needed"})},[i]),f.useImperativeHandle(t,()=>({onKeyDown:({event:d})=>d.key==="ArrowUp"?(l(),!0):d.key==="ArrowDown"?(h(),!0):d.key==="Enter"?(u(),!0):!1})),a.jsx("div",{className:"richtext-max-h-[320px] richtext-w-[200px] richtext-overflow-y-auto richtext-overflow-x-hidden richtext-rounded-sm !richtext-border richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none",children:a.jsx("div",{ref:n,children:e.items.length>0?e.items.map((d,g)=>a.jsxs("span",{className:p.clsx(" richtext-relative richtext-flex richtext-cursor-default richtext-select-none richtext-items-center richtext-rounded-sm richtext-px-2 richtext-py-1.5 richtext-text-sm richtext-outline-none richtext-transition-colors hover:richtext-bg-accent focus:richtext-bg-accent focus:richtext-text-accent-foreground",g===i?"bg-accent":""),onClick:()=>c(g),children:[d.fallbackImage?a.jsx("img",{className:"richtext-size-[1em]",src:d.fallbackImage}):d.emoji,":",d.name,":"]},`emoji-list-code-${g}`)):a.jsx("div",{className:"richtext-relative richtext-flex richtext-cursor-default richtext-select-none richtext-items-center richtext-rounded-sm richtext-px-2 richtext-py-1.5 richtext-text-sm richtext-outline-none richtext-transition-colors",children:a.jsx("span",{children:r("no_result_found")})})})})});_e.displayName="EmojiList";const z={100:"💯",1234:"🔢",grinning:"😀",smiley:"😃",smile:"😄",grin:"😁",laughing:"😆",satisfied:"😆",sweat_smile:"😅",rofl:"🤣",joy:"😂",slightly_smiling_face:"🙂",upside_down_face:"🙃",wink:"😉",blush:"😊",innocent:"😇",smiling_face_with_three_hearts:"🥰",heart_eyes:"😍",star_struck:"🤩",kissing_heart:"😘",kissing:"😗",relaxed:"☺️",kissing_closed_eyes:"😚",kissing_smiling_eyes:"😙",smiling_face_with_tear:"🥲",yum:"😋",stuck_out_tongue:"😛",stuck_out_tongue_winking_eye:"😜",zany_face:"🤪",stuck_out_tongue_closed_eyes:"😝",money_mouth_face:"🤑",hugs:"🤗",hand_over_mouth:"🤭",shushing_face:"🤫",thinking:"🤔",zipper_mouth_face:"🤐",raised_eyebrow:"🤨",neutral_face:"😐",expressionless:"😑",no_mouth:"😶",smirk:"😏",unamused:"😒",roll_eyes:"🙄",grimacing:"😬",lying_face:"🤥",relieved:"😌",pensive:"😔",sleepy:"😪",drooling_face:"🤤",sleeping:"😴",mask:"😷",face_with_thermometer:"🤒",face_with_head_bandage:"🤕",nauseated_face:"🤢",vomiting_face:"🤮",sneezing_face:"🤧",hot_face:"🥵",cold_face:"🥶",woozy_face:"🥴",dizzy_face:"😵",exploding_head:"🤯",cowboy_hat_face:"🤠",partying_face:"🥳",disguised_face:"🥸",sunglasses:"😎",nerd_face:"🤓",monocle_face:"🧐",confused:"😕",worried:"😟",slightly_frowning_face:"🙁",frowning_face:"☹️",open_mouth:"😮",hushed:"😯",astonished:"😲",flushed:"😳",pleading_face:"🥺",frowning:"😦",anguished:"😧",fearful:"😨",cold_sweat:"😰",disappointed_relieved:"😥",cry:"😢",sob:"😭",scream:"😱",confounded:"😖",persevere:"😣",disappointed:"😞",sweat:"😓",weary:"😩",tired_face:"😫",yawning_face:"🥱",triumph:"😤",rage:"😡",pout:"😡",angry:"😠",cursing_face:"🤬",smiling_imp:"😈",imp:"👿",skull:"💀",skull_and_crossbones:"☠️",hankey:"💩",poop:"💩",shit:"💩",clown_face:"🤡",japanese_ogre:"👹",japanese_goblin:"👺",ghost:"👻",alien:"👽",space_invader:"👾",robot:"🤖",smiley_cat:"😺",smile_cat:"😸",joy_cat:"😹",heart_eyes_cat:"😻",smirk_cat:"😼",kissing_cat:"😽",scream_cat:"🙀",crying_cat_face:"😿",pouting_cat:"😾",see_no_evil:"🙈",hear_no_evil:"🙉",speak_no_evil:"🙊",kiss:"💋",love_letter:"💌",cupid:"💘",gift_heart:"💝",sparkling_heart:"💖",heartpulse:"💗",heartbeat:"💓",revolving_hearts:"💞",two_hearts:"💕",heart_decoration:"💟",heavy_heart_exclamation:"❣️",broken_heart:"💔",heart:"❤️",orange_heart:"🧡",yellow_heart:"💛",green_heart:"💚",blue_heart:"💙",purple_heart:"💜",brown_heart:"🤎",black_heart:"🖤",white_heart:"🤍",anger:"💢",boom:"💥",collision:"💥",dizzy:"💫",sweat_drops:"💦",dash:"💨",hole:"🕳️",bomb:"💣",speech_balloon:"💬",eye_speech_bubble:"👁️‍🗨️",left_speech_bubble:"🗨️",right_anger_bubble:"🗯️",thought_balloon:"💭",zzz:"💤",wave:"👋",raised_back_of_hand:"🤚",raised_hand_with_fingers_splayed:"🖐️",hand:"✋",raised_hand:"✋",vulcan_salute:"🖖",ok_hand:"👌",pinched_fingers:"🤌",pinching_hand:"🤏",v:"✌️",crossed_fingers:"🤞",love_you_gesture:"🤟",metal:"🤘",call_me_hand:"🤙",point_left:"👈",point_right:"👉",point_up_2:"👆",middle_finger:"🖕",fu:"🖕",point_down:"👇",point_up:"☝️","+1":"👍",thumbsup:"👍","-1":"👎",thumbsdown:"👎",fist_raised:"✊",fist:"✊",fist_oncoming:"👊",facepunch:"👊",punch:"👊",fist_left:"🤛",fist_right:"🤜",clap:"👏",raised_hands:"🙌",open_hands:"👐",palms_up_together:"🤲",handshake:"🤝",pray:"🙏",writing_hand:"✍️",nail_care:"💅",selfie:"🤳",muscle:"💪",mechanical_arm:"🦾",mechanical_leg:"🦿",leg:"🦵",foot:"🦶",ear:"👂",ear_with_hearing_aid:"🦻",nose:"👃",brain:"🧠",anatomical_heart:"🫀",lungs:"🫁",tooth:"🦷",bone:"🦴",eyes:"👀",eye:"👁️",tongue:"👅",lips:"👄",baby:"👶",child:"🧒",boy:"👦",girl:"👧",adult:"🧑",blond_haired_person:"👱",man:"👨",bearded_person:"🧔",red_haired_man:"👨‍🦰",curly_haired_man:"👨‍🦱",white_haired_man:"👨‍🦳",bald_man:"👨‍🦲",woman:"👩",red_haired_woman:"👩‍🦰",person_red_hair:"🧑‍🦰",curly_haired_woman:"👩‍🦱",person_curly_hair:"🧑‍🦱",white_haired_woman:"👩‍🦳",person_white_hair:"🧑‍🦳",bald_woman:"👩‍🦲",person_bald:"🧑‍🦲",blond_haired_woman:"👱‍♀️",blonde_woman:"👱‍♀️",blond_haired_man:"👱‍♂️",older_adult:"🧓",older_man:"👴",older_woman:"👵",frowning_person:"🙍",frowning_man:"🙍‍♂️",frowning_woman:"🙍‍♀️",pouting_face:"🙎",pouting_man:"🙎‍♂️",pouting_woman:"🙎‍♀️",no_good:"🙅",no_good_man:"🙅‍♂️",ng_man:"🙅‍♂️",no_good_woman:"🙅‍♀️",ng_woman:"🙅‍♀️",ok_person:"🙆",ok_man:"🙆‍♂️",ok_woman:"🙆‍♀️",tipping_hand_person:"💁",information_desk_person:"💁",tipping_hand_man:"💁‍♂️",sassy_man:"💁‍♂️",tipping_hand_woman:"💁‍♀️",sassy_woman:"💁‍♀️",raising_hand:"🙋",raising_hand_man:"🙋‍♂️",raising_hand_woman:"🙋‍♀️",deaf_person:"🧏",deaf_man:"🧏‍♂️",deaf_woman:"🧏‍♀️",bow:"🙇",bowing_man:"🙇‍♂️",bowing_woman:"🙇‍♀️",facepalm:"🤦",man_facepalming:"🤦‍♂️",woman_facepalming:"🤦‍♀️",shrug:"🤷",man_shrugging:"🤷‍♂️",woman_shrugging:"🤷‍♀️",health_worker:"🧑‍⚕️",man_health_worker:"👨‍⚕️",woman_health_worker:"👩‍⚕️",student:"🧑‍🎓",man_student:"👨‍🎓",woman_student:"👩‍🎓",teacher:"🧑‍🏫",man_teacher:"👨‍🏫",woman_teacher:"👩‍🏫",judge:"🧑‍⚖️",man_judge:"👨‍⚖️",woman_judge:"👩‍⚖️",farmer:"🧑‍🌾",man_farmer:"👨‍🌾",woman_farmer:"👩‍🌾",cook:"🧑‍🍳",man_cook:"👨‍🍳",woman_cook:"👩‍🍳",mechanic:"🧑‍🔧",man_mechanic:"👨‍🔧",woman_mechanic:"👩‍🔧",factory_worker:"🧑‍🏭",man_factory_worker:"👨‍🏭",woman_factory_worker:"👩‍🏭",office_worker:"🧑‍💼",man_office_worker:"👨‍💼",woman_office_worker:"👩‍💼",scientist:"🧑‍🔬",man_scientist:"👨‍🔬",woman_scientist:"👩‍🔬",technologist:"🧑‍💻",man_technologist:"👨‍💻",woman_technologist:"👩‍💻",singer:"🧑‍🎤",man_singer:"👨‍🎤",woman_singer:"👩‍🎤",artist:"🧑‍🎨",man_artist:"👨‍🎨",woman_artist:"👩‍🎨",pilot:"🧑‍✈️",man_pilot:"👨‍✈️",woman_pilot:"👩‍✈️",astronaut:"🧑‍🚀",man_astronaut:"👨‍🚀",woman_astronaut:"👩‍🚀",firefighter:"🧑‍🚒",man_firefighter:"👨‍🚒",woman_firefighter:"👩‍🚒",police_officer:"👮",cop:"👮",policeman:"👮‍♂️",policewoman:"👮‍♀️",detective:"🕵️",male_detective:"🕵️‍♂️",female_detective:"🕵️‍♀️",guard:"💂",guardsman:"💂‍♂️",guardswoman:"💂‍♀️",ninja:"🥷",construction_worker:"👷",construction_worker_man:"👷‍♂️",construction_worker_woman:"👷‍♀️",prince:"🤴",princess:"👸",person_with_turban:"👳",man_with_turban:"👳‍♂️",woman_with_turban:"👳‍♀️",man_with_gua_pi_mao:"👲",woman_with_headscarf:"🧕",person_in_tuxedo:"🤵",man_in_tuxedo:"🤵‍♂️",woman_in_tuxedo:"🤵‍♀️",person_with_veil:"👰",man_with_veil:"👰‍♂️",woman_with_veil:"👰‍♀️",bride_with_veil:"👰‍♀️",pregnant_woman:"🤰",breast_feeding:"🤱",woman_feeding_baby:"👩‍🍼",man_feeding_baby:"👨‍🍼",person_feeding_baby:"🧑‍🍼",angel:"👼",santa:"🎅",mrs_claus:"🤶",mx_claus:"🧑‍🎄",superhero:"🦸",superhero_man:"🦸‍♂️",superhero_woman:"🦸‍♀️",supervillain:"🦹",supervillain_man:"🦹‍♂️",supervillain_woman:"🦹‍♀️",mage:"🧙",mage_man:"🧙‍♂️",mage_woman:"🧙‍♀️",fairy:"🧚",fairy_man:"🧚‍♂️",fairy_woman:"🧚‍♀️",vampire:"🧛",vampire_man:"🧛‍♂️",vampire_woman:"🧛‍♀️",merperson:"🧜",merman:"🧜‍♂️",mermaid:"🧜‍♀️",elf:"🧝",elf_man:"🧝‍♂️",elf_woman:"🧝‍♀️",genie:"🧞",genie_man:"🧞‍♂️",genie_woman:"🧞‍♀️",zombie:"🧟",zombie_man:"🧟‍♂️",zombie_woman:"🧟‍♀️",massage:"💆",massage_man:"💆‍♂️",massage_woman:"💆‍♀️",haircut:"💇",haircut_man:"💇‍♂️",haircut_woman:"💇‍♀️",walking:"🚶",walking_man:"🚶‍♂️",walking_woman:"🚶‍♀️",standing_person:"🧍",standing_man:"🧍‍♂️",standing_woman:"🧍‍♀️",kneeling_person:"🧎",kneeling_man:"🧎‍♂️",kneeling_woman:"🧎‍♀️",person_with_probing_cane:"🧑‍🦯",man_with_probing_cane:"👨‍🦯",woman_with_probing_cane:"👩‍🦯",person_in_motorized_wheelchair:"🧑‍🦼",man_in_motorized_wheelchair:"👨‍🦼",woman_in_motorized_wheelchair:"👩‍🦼",person_in_manual_wheelchair:"🧑‍🦽",man_in_manual_wheelchair:"👨‍🦽",woman_in_manual_wheelchair:"👩‍🦽",runner:"🏃",running:"🏃",running_man:"🏃‍♂️",running_woman:"🏃‍♀️",woman_dancing:"💃",dancer:"💃",man_dancing:"🕺",business_suit_levitating:"🕴️",dancers:"👯",dancing_men:"👯‍♂️",dancing_women:"👯‍♀️",sauna_person:"🧖",sauna_man:"🧖‍♂️",sauna_woman:"🧖‍♀️",climbing:"🧗",climbing_man:"🧗‍♂️",climbing_woman:"🧗‍♀️",person_fencing:"🤺",horse_racing:"🏇",skier:"⛷️",snowboarder:"🏂",golfing:"🏌️",golfing_man:"🏌️‍♂️",golfing_woman:"🏌️‍♀️",surfer:"🏄",surfing_man:"🏄‍♂️",surfing_woman:"🏄‍♀️",rowboat:"🚣",rowing_man:"🚣‍♂️",rowing_woman:"🚣‍♀️",swimmer:"🏊",swimming_man:"🏊‍♂️",swimming_woman:"🏊‍♀️",bouncing_ball_person:"⛹️",bouncing_ball_man:"⛹️‍♂️",basketball_man:"⛹️‍♂️",bouncing_ball_woman:"⛹️‍♀️",basketball_woman:"⛹️‍♀️",weight_lifting:"🏋️",weight_lifting_man:"🏋️‍♂️",weight_lifting_woman:"🏋️‍♀️",bicyclist:"🚴",biking_man:"🚴‍♂️",biking_woman:"🚴‍♀️",mountain_bicyclist:"🚵",mountain_biking_man:"🚵‍♂️",mountain_biking_woman:"🚵‍♀️",cartwheeling:"🤸",man_cartwheeling:"🤸‍♂️",woman_cartwheeling:"🤸‍♀️",wrestling:"🤼",men_wrestling:"🤼‍♂️",women_wrestling:"🤼‍♀️",water_polo:"🤽",man_playing_water_polo:"🤽‍♂️",woman_playing_water_polo:"🤽‍♀️",handball_person:"🤾",man_playing_handball:"🤾‍♂️",woman_playing_handball:"🤾‍♀️",juggling_person:"🤹",man_juggling:"🤹‍♂️",woman_juggling:"🤹‍♀️",lotus_position:"🧘",lotus_position_man:"🧘‍♂️",lotus_position_woman:"🧘‍♀️",bath:"🛀",sleeping_bed:"🛌",people_holding_hands:"🧑‍🤝‍🧑",two_women_holding_hands:"👭",couple:"👫",two_men_holding_hands:"👬",couplekiss:"💏",couplekiss_man_woman:"👩‍❤️‍💋‍👨",couplekiss_man_man:"👨‍❤️‍💋‍👨",couplekiss_woman_woman:"👩‍❤️‍💋‍👩",couple_with_heart:"💑",couple_with_heart_woman_man:"👩‍❤️‍👨",couple_with_heart_man_man:"👨‍❤️‍👨",couple_with_heart_woman_woman:"👩‍❤️‍👩",family:"👪",family_man_woman_boy:"👨‍👩‍👦",family_man_woman_girl:"👨‍👩‍👧",family_man_woman_girl_boy:"👨‍👩‍👧‍👦",family_man_woman_boy_boy:"👨‍👩‍👦‍👦",family_man_woman_girl_girl:"👨‍👩‍👧‍👧",family_man_man_boy:"👨‍👨‍👦",family_man_man_girl:"👨‍👨‍👧",family_man_man_girl_boy:"👨‍👨‍👧‍👦",family_man_man_boy_boy:"👨‍👨‍👦‍👦",family_man_man_girl_girl:"👨‍👨‍👧‍👧",family_woman_woman_boy:"👩‍👩‍👦",family_woman_woman_girl:"👩‍👩‍👧",family_woman_woman_girl_boy:"👩‍👩‍👧‍👦",family_woman_woman_boy_boy:"👩‍👩‍👦‍👦",family_woman_woman_girl_girl:"👩‍👩‍👧‍👧",family_man_boy:"👨‍👦",family_man_boy_boy:"👨‍👦‍👦",family_man_girl:"👨‍👧",family_man_girl_boy:"👨‍👧‍👦",family_man_girl_girl:"👨‍👧‍👧",family_woman_boy:"👩‍👦",family_woman_boy_boy:"👩‍👦‍👦",family_woman_girl:"👩‍👧",family_woman_girl_boy:"👩‍👧‍👦",family_woman_girl_girl:"👩‍👧‍👧",speaking_head:"🗣️",bust_in_silhouette:"👤",busts_in_silhouette:"👥",people_hugging:"🫂",footprints:"👣",monkey_face:"🐵",monkey:"🐒",gorilla:"🦍",orangutan:"🦧",dog:"🐶",dog2:"🐕",guide_dog:"🦮",service_dog:"🐕‍🦺",poodle:"🐩",wolf:"🐺",fox_face:"🦊",raccoon:"🦝",cat:"🐱",cat2:"🐈",black_cat:"🐈‍⬛",lion:"🦁",tiger:"🐯",tiger2:"🐅",leopard:"🐆",horse:"🐴",racehorse:"🐎",unicorn:"🦄",zebra:"🦓",deer:"🦌",bison:"🦬",cow:"🐮",ox:"🐂",water_buffalo:"🐃",cow2:"🐄",pig:"🐷",pig2:"🐖",boar:"🐗",pig_nose:"🐽",ram:"🐏",sheep:"🐑",goat:"🐐",dromedary_camel:"🐪",camel:"🐫",llama:"🦙",giraffe:"🦒",elephant:"🐘",mammoth:"🦣",rhinoceros:"🦏",hippopotamus:"🦛",mouse:"🐭",mouse2:"🐁",rat:"🐀",hamster:"🐹",rabbit:"🐰",rabbit2:"🐇",chipmunk:"🐿️",beaver:"🦫",hedgehog:"🦔",bat:"🦇",bear:"🐻",polar_bear:"🐻‍❄️",koala:"🐨",panda_face:"🐼",sloth:"🦥",otter:"🦦",skunk:"🦨",kangaroo:"🦘",badger:"🦡",feet:"🐾",paw_prints:"🐾",turkey:"🦃",chicken:"🐔",rooster:"🐓",hatching_chick:"🐣",baby_chick:"🐤",hatched_chick:"🐥",bird:"🐦",penguin:"🐧",dove:"🕊️",eagle:"🦅",duck:"🦆",swan:"🦢",owl:"🦉",dodo:"🦤",feather:"🪶",flamingo:"🦩",peacock:"🦚",parrot:"🦜",frog:"🐸",crocodile:"🐊",turtle:"🐢",lizard:"🦎",snake:"🐍",dragon_face:"🐲",dragon:"🐉",sauropod:"🦕","t-rex":"🦖",whale:"🐳",whale2:"🐋",dolphin:"🐬",flipper:"🐬",seal:"🦭",fish:"🐟",tropical_fish:"🐠",blowfish:"🐡",shark:"🦈",octopus:"🐙",shell:"🐚",snail:"🐌",butterfly:"🦋",bug:"🐛",ant:"🐜",bee:"🐝",honeybee:"🐝",beetle:"🪲",lady_beetle:"🐞",cricket:"🦗",cockroach:"🪳",spider:"🕷️",spider_web:"🕸️",scorpion:"🦂",mosquito:"🦟",fly:"🪰",worm:"🪱",microbe:"🦠",bouquet:"💐",cherry_blossom:"🌸",white_flower:"💮",rosette:"🏵️",rose:"🌹",wilted_flower:"🥀",hibiscus:"🌺",sunflower:"🌻",blossom:"🌼",tulip:"🌷",seedling:"🌱",potted_plant:"🪴",evergreen_tree:"🌲",deciduous_tree:"🌳",palm_tree:"🌴",cactus:"🌵",ear_of_rice:"🌾",herb:"🌿",shamrock:"☘️",four_leaf_clover:"🍀",maple_leaf:"🍁",fallen_leaf:"🍂",leaves:"🍃",grapes:"🍇",melon:"🍈",watermelon:"🍉",tangerine:"🍊",orange:"🍊",mandarin:"🍊",lemon:"🍋",banana:"🍌",pineapple:"🍍",mango:"🥭",apple:"🍎",green_apple:"🍏",pear:"🍐",peach:"🍑",cherries:"🍒",strawberry:"🍓",blueberries:"🫐",kiwi_fruit:"🥝",tomato:"🍅",olive:"🫒",coconut:"🥥",avocado:"🥑",eggplant:"🍆",potato:"🥔",carrot:"🥕",corn:"🌽",hot_pepper:"🌶️",bell_pepper:"🫑",cucumber:"🥒",leafy_green:"🥬",broccoli:"🥦",garlic:"🧄",onion:"🧅",mushroom:"🍄",peanuts:"🥜",chestnut:"🌰",bread:"🍞",croissant:"🥐",baguette_bread:"🥖",flatbread:"🫓",pretzel:"🥨",bagel:"🥯",pancakes:"🥞",waffle:"🧇",cheese:"🧀",meat_on_bone:"🍖",poultry_leg:"🍗",cut_of_meat:"🥩",bacon:"🥓",hamburger:"🍔",fries:"🍟",pizza:"🍕",hotdog:"🌭",sandwich:"🥪",taco:"🌮",burrito:"🌯",tamale:"🫔",stuffed_flatbread:"🥙",falafel:"🧆",egg:"🥚",fried_egg:"🍳",shallow_pan_of_food:"🥘",stew:"🍲",fondue:"🫕",bowl_with_spoon:"🥣",green_salad:"🥗",popcorn:"🍿",butter:"🧈",salt:"🧂",canned_food:"🥫",bento:"🍱",rice_cracker:"🍘",rice_ball:"🍙",rice:"🍚",curry:"🍛",ramen:"🍜",spaghetti:"🍝",sweet_potato:"🍠",oden:"🍢",sushi:"🍣",fried_shrimp:"🍤",fish_cake:"🍥",moon_cake:"🥮",dango:"🍡",dumpling:"🥟",fortune_cookie:"🥠",takeout_box:"🥡",crab:"🦀",lobster:"🦞",shrimp:"🦐",squid:"🦑",oyster:"🦪",icecream:"🍦",shaved_ice:"🍧",ice_cream:"🍨",doughnut:"🍩",cookie:"🍪",birthday:"🎂",cake:"🍰",cupcake:"🧁",pie:"🥧",chocolate_bar:"🍫",candy:"🍬",lollipop:"🍭",custard:"🍮",honey_pot:"🍯",baby_bottle:"🍼",milk_glass:"🥛",coffee:"☕",teapot:"🫖",tea:"🍵",sake:"🍶",champagne:"🍾",wine_glass:"🍷",cocktail:"🍸",tropical_drink:"🍹",beer:"🍺",beers:"🍻",clinking_glasses:"🥂",tumbler_glass:"🥃",cup_with_straw:"🥤",bubble_tea:"🧋",beverage_box:"🧃",mate:"🧉",ice_cube:"🧊",chopsticks:"🥢",plate_with_cutlery:"🍽️",fork_and_knife:"🍴",spoon:"🥄",hocho:"🔪",knife:"🔪",amphora:"🏺",earth_africa:"🌍",earth_americas:"🌎",earth_asia:"🌏",globe_with_meridians:"🌐",world_map:"🗺️",japan:"🗾",compass:"🧭",mountain_snow:"🏔️",mountain:"⛰️",volcano:"🌋",mount_fuji:"🗻",camping:"🏕️",beach_umbrella:"🏖️",desert:"🏜️",desert_island:"🏝️",national_park:"🏞️",stadium:"🏟️",classical_building:"🏛️",building_construction:"🏗️",bricks:"🧱",rock:"🪨",wood:"🪵",hut:"🛖",houses:"🏘️",derelict_house:"🏚️",house:"🏠",house_with_garden:"🏡",office:"🏢",post_office:"🏣",european_post_office:"🏤",hospital:"🏥",bank:"🏦",hotel:"🏨",love_hotel:"🏩",convenience_store:"🏪",school:"🏫",department_store:"🏬",factory:"🏭",japanese_castle:"🏯",european_castle:"🏰",wedding:"💒",tokyo_tower:"🗼",statue_of_liberty:"🗽",church:"⛪",mosque:"🕌",hindu_temple:"🛕",synagogue:"🕍",shinto_shrine:"⛩️",kaaba:"🕋",fountain:"⛲",tent:"⛺",foggy:"🌁",night_with_stars:"🌃",cityscape:"🏙️",sunrise_over_mountains:"🌄",sunrise:"🌅",city_sunset:"🌆",city_sunrise:"🌇",bridge_at_night:"🌉",hotsprings:"♨️",carousel_horse:"🎠",ferris_wheel:"🎡",roller_coaster:"🎢",barber:"💈",circus_tent:"🎪",steam_locomotive:"🚂",railway_car:"🚃",bullettrain_side:"🚄",bullettrain_front:"🚅",train2:"🚆",metro:"🚇",light_rail:"🚈",station:"🚉",tram:"🚊",monorail:"🚝",mountain_railway:"🚞",train:"🚋",bus:"🚌",oncoming_bus:"🚍",trolleybus:"🚎",minibus:"🚐",ambulance:"🚑",fire_engine:"🚒",police_car:"🚓",oncoming_police_car:"🚔",taxi:"🚕",oncoming_taxi:"🚖",car:"🚗",red_car:"🚗",oncoming_automobile:"🚘",blue_car:"🚙",pickup_truck:"🛻",truck:"🚚",articulated_lorry:"🚛",tractor:"🚜",racing_car:"🏎️",motorcycle:"🏍️",motor_scooter:"🛵",manual_wheelchair:"🦽",motorized_wheelchair:"🦼",auto_rickshaw:"🛺",bike:"🚲",kick_scooter:"🛴",skateboard:"🛹",roller_skate:"🛼",busstop:"🚏",motorway:"🛣️",railway_track:"🛤️",oil_drum:"🛢️",fuelpump:"⛽",rotating_light:"🚨",traffic_light:"🚥",vertical_traffic_light:"🚦",stop_sign:"🛑",construction:"🚧",anchor:"⚓",boat:"⛵",sailboat:"⛵",canoe:"🛶",speedboat:"🚤",passenger_ship:"🛳️",ferry:"⛴️",motor_boat:"🛥️",ship:"🚢",airplane:"✈️",small_airplane:"🛩️",flight_departure:"🛫",flight_arrival:"🛬",parachute:"🪂",seat:"💺",helicopter:"🚁",suspension_railway:"🚟",mountain_cableway:"🚠",aerial_tramway:"🚡",artificial_satellite:"🛰️",rocket:"🚀",flying_saucer:"🛸",bellhop_bell:"🛎️",luggage:"🧳",hourglass:"⌛",hourglass_flowing_sand:"⏳",watch:"⌚",alarm_clock:"⏰",stopwatch:"⏱️",timer_clock:"⏲️",mantelpiece_clock:"🕰️",clock12:"🕛",clock1230:"🕧",clock1:"🕐",clock130:"🕜",clock2:"🕑",clock230:"🕝",clock3:"🕒",clock330:"🕞",clock4:"🕓",clock430:"🕟",clock5:"🕔",clock530:"🕠",clock6:"🕕",clock630:"🕡",clock7:"🕖",clock730:"🕢",clock8:"🕗",clock830:"🕣",clock9:"🕘",clock930:"🕤",clock10:"🕙",clock1030:"🕥",clock11:"🕚",clock1130:"🕦",new_moon:"🌑",waxing_crescent_moon:"🌒",first_quarter_moon:"🌓",moon:"🌔",waxing_gibbous_moon:"🌔",full_moon:"🌕",waning_gibbous_moon:"🌖",last_quarter_moon:"🌗",waning_crescent_moon:"🌘",crescent_moon:"🌙",new_moon_with_face:"🌚",first_quarter_moon_with_face:"🌛",last_quarter_moon_with_face:"🌜",thermometer:"🌡️",sunny:"☀️",full_moon_with_face:"🌝",sun_with_face:"🌞",ringed_planet:"🪐",star:"⭐",star2:"🌟",stars:"🌠",milky_way:"🌌",cloud:"☁️",partly_sunny:"⛅",cloud_with_lightning_and_rain:"⛈️",sun_behind_small_cloud:"🌤️",sun_behind_large_cloud:"🌥️",sun_behind_rain_cloud:"🌦️",cloud_with_rain:"🌧️",cloud_with_snow:"🌨️",cloud_with_lightning:"🌩️",tornado:"🌪️",fog:"🌫️",wind_face:"🌬️",cyclone:"🌀",rainbow:"🌈",closed_umbrella:"🌂",open_umbrella:"☂️",umbrella:"☔",parasol_on_ground:"⛱️",zap:"⚡",snowflake:"❄️",snowman_with_snow:"☃️",snowman:"⛄",comet:"☄️",fire:"🔥",droplet:"💧",ocean:"🌊",jack_o_lantern:"🎃",christmas_tree:"🎄",fireworks:"🎆",sparkler:"🎇",firecracker:"🧨",sparkles:"✨",balloon:"🎈",tada:"🎉",confetti_ball:"🎊",tanabata_tree:"🎋",bamboo:"🎍",dolls:"🎎",flags:"🎏",wind_chime:"🎐",rice_scene:"🎑",red_envelope:"🧧",ribbon:"🎀",gift:"🎁",reminder_ribbon:"🎗️",tickets:"🎟️",ticket:"🎫",medal_military:"🎖️",trophy:"🏆",medal_sports:"🏅","1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉",soccer:"⚽",baseball:"⚾",softball:"🥎",basketball:"🏀",volleyball:"🏐",football:"🏈",rugby_football:"🏉",tennis:"🎾",flying_disc:"🥏",bowling:"🎳",cricket_game:"🏏",field_hockey:"🏑",ice_hockey:"🏒",lacrosse:"🥍",ping_pong:"🏓",badminton:"🏸",boxing_glove:"🥊",martial_arts_uniform:"🥋",goal_net:"🥅",golf:"⛳",ice_skate:"⛸️",fishing_pole_and_fish:"🎣",diving_mask:"🤿",running_shirt_with_sash:"🎽",ski:"🎿",sled:"🛷",curling_stone:"🥌",dart:"🎯",yo_yo:"🪀",kite:"🪁","8ball":"🎱",crystal_ball:"🔮",magic_wand:"🪄",nazar_amulet:"🧿",video_game:"🎮",joystick:"🕹️",slot_machine:"🎰",game_die:"🎲",jigsaw:"🧩",teddy_bear:"🧸",pinata:"🪅",nesting_dolls:"🪆",spades:"♠️",hearts:"♥️",diamonds:"♦️",clubs:"♣️",chess_pawn:"♟️",black_joker:"🃏",mahjong:"🀄",flower_playing_cards:"🎴",performing_arts:"🎭",framed_picture:"🖼️",art:"🎨",thread:"🧵",sewing_needle:"🪡",yarn:"🧶",knot:"🪢",eyeglasses:"👓",dark_sunglasses:"🕶️",goggles:"🥽",lab_coat:"🥼",safety_vest:"🦺",necktie:"👔",shirt:"👕",tshirt:"👕",jeans:"👖",scarf:"🧣",gloves:"🧤",coat:"🧥",socks:"🧦",dress:"👗",kimono:"👘",sari:"🥻",one_piece_swimsuit:"🩱",swim_brief:"🩲",shorts:"🩳",bikini:"👙",womans_clothes:"👚",purse:"👛",handbag:"👜",pouch:"👝",shopping:"🛍️",school_satchel:"🎒",thong_sandal:"🩴",mans_shoe:"👞",shoe:"👞",athletic_shoe:"👟",hiking_boot:"🥾",flat_shoe:"🥿",high_heel:"👠",sandal:"👡",ballet_shoes:"🩰",boot:"👢",crown:"👑",womans_hat:"👒",tophat:"🎩",mortar_board:"🎓",billed_cap:"🧢",military_helmet:"🪖",rescue_worker_helmet:"⛑️",prayer_beads:"📿",lipstick:"💄",ring:"💍",gem:"💎",mute:"🔇",speaker:"🔈",sound:"🔉",loud_sound:"🔊",loudspeaker:"📢",mega:"📣",postal_horn:"📯",bell:"🔔",no_bell:"🔕",musical_score:"🎼",musical_note:"🎵",notes:"🎶",studio_microphone:"🎙️",level_slider:"🎚️",control_knobs:"🎛️",microphone:"🎤",headphones:"🎧",radio:"📻",saxophone:"🎷",accordion:"🪗",guitar:"🎸",musical_keyboard:"🎹",trumpet:"🎺",violin:"🎻",banjo:"🪕",drum:"🥁",long_drum:"🪘",iphone:"📱",calling:"📲",phone:"☎️",telephone:"☎️",telephone_receiver:"📞",pager:"📟",fax:"📠",battery:"🔋",electric_plug:"🔌",computer:"💻",desktop_computer:"🖥️",printer:"🖨️",keyboard:"⌨️",computer_mouse:"🖱️",trackball:"🖲️",minidisc:"💽",floppy_disk:"💾",cd:"💿",dvd:"📀",abacus:"🧮",movie_camera:"🎥",film_strip:"🎞️",film_projector:"📽️",clapper:"🎬",tv:"📺",camera:"📷",camera_flash:"📸",video_camera:"📹",vhs:"📼",mag:"🔍",mag_right:"🔎",candle:"🕯️",bulb:"💡",flashlight:"🔦",izakaya_lantern:"🏮",lantern:"🏮",diya_lamp:"🪔",notebook_with_decorative_cover:"📔",closed_book:"📕",book:"📖",open_book:"📖",green_book:"📗",blue_book:"📘",orange_book:"📙",books:"📚",notebook:"📓",ledger:"📒",page_with_curl:"📃",scroll:"📜",page_facing_up:"📄",newspaper:"📰",newspaper_roll:"🗞️",bookmark_tabs:"📑",bookmark:"🔖",label:"🏷️",moneybag:"💰",coin:"🪙",yen:"💴",dollar:"💵",euro:"💶",pound:"💷",money_with_wings:"💸",credit_card:"💳",receipt:"🧾",chart:"💹",envelope:"✉️",email:"📧","e-mail":"📧",incoming_envelope:"📨",envelope_with_arrow:"📩",outbox_tray:"📤",inbox_tray:"📥",package:"📦",mailbox:"📫",mailbox_closed:"📪",mailbox_with_mail:"📬",mailbox_with_no_mail:"📭",postbox:"📮",ballot_box:"🗳️",pencil2:"✏️",black_nib:"✒️",fountain_pen:"🖋️",pen:"🖊️",paintbrush:"🖌️",crayon:"🖍️",memo:"📝",pencil:"📝",briefcase:"💼",file_folder:"📁",open_file_folder:"📂",card_index_dividers:"🗂️",date:"📅",calendar:"📆",spiral_notepad:"🗒️",spiral_calendar:"🗓️",card_index:"📇",chart_with_upwards_trend:"📈",chart_with_downwards_trend:"📉",bar_chart:"📊",clipboard:"📋",pushpin:"📌",round_pushpin:"📍",paperclip:"📎",paperclips:"🖇️",straight_ruler:"📏",triangular_ruler:"📐",scissors:"✂️",card_file_box:"🗃️",file_cabinet:"🗄️",wastebasket:"🗑️",lock:"🔒",unlock:"🔓",lock_with_ink_pen:"🔏",closed_lock_with_key:"🔐",key:"🔑",old_key:"🗝️",hammer:"🔨",axe:"🪓",pick:"⛏️",hammer_and_pick:"⚒️",hammer_and_wrench:"🛠️",dagger:"🗡️",crossed_swords:"⚔️",gun:"🔫",boomerang:"🪃",bow_and_arrow:"🏹",shield:"🛡️",carpentry_saw:"🪚",wrench:"🔧",screwdriver:"🪛",nut_and_bolt:"🔩",gear:"⚙️",clamp:"🗜️",balance_scale:"⚖️",probing_cane:"🦯",link:"🔗",chains:"⛓️",hook:"🪝",toolbox:"🧰",magnet:"🧲",ladder:"🪜",alembic:"⚗️",test_tube:"🧪",petri_dish:"🧫",dna:"🧬",microscope:"🔬",telescope:"🔭",satellite:"📡",syringe:"💉",drop_of_blood:"🩸",pill:"💊",adhesive_bandage:"🩹",stethoscope:"🩺",door:"🚪",elevator:"🛗",mirror:"🪞",window:"🪟",bed:"🛏️",couch_and_lamp:"🛋️",chair:"🪑",toilet:"🚽",plunger:"🪠",shower:"🚿",bathtub:"🛁",mouse_trap:"🪤",razor:"🪒",lotion_bottle:"🧴",safety_pin:"🧷",broom:"🧹",basket:"🧺",roll_of_paper:"🧻",bucket:"🪣",soap:"🧼",toothbrush:"🪥",sponge:"🧽",fire_extinguisher:"🧯",shopping_cart:"🛒",smoking:"🚬",coffin:"⚰️",headstone:"🪦",funeral_urn:"⚱️",moyai:"🗿",placard:"🪧",atm:"🏧",put_litter_in_its_place:"🚮",potable_water:"🚰",wheelchair:"♿",mens:"🚹",womens:"🚺",restroom:"🚻",baby_symbol:"🚼",wc:"🚾",passport_control:"🛂",customs:"🛃",baggage_claim:"🛄",left_luggage:"🛅",warning:"⚠️",children_crossing:"🚸",no_entry:"⛔",no_entry_sign:"🚫",no_bicycles:"🚳",no_smoking:"🚭",do_not_litter:"🚯","non-potable_water":"🚱",no_pedestrians:"🚷",no_mobile_phones:"📵",underage:"🔞",radioactive:"☢️",biohazard:"☣️",arrow_up:"⬆️",arrow_upper_right:"↗️",arrow_right:"➡️",arrow_lower_right:"↘️",arrow_down:"⬇️",arrow_lower_left:"↙️",arrow_left:"⬅️",arrow_upper_left:"↖️",arrow_up_down:"↕️",left_right_arrow:"↔️",leftwards_arrow_with_hook:"↩️",arrow_right_hook:"↪️",arrow_heading_up:"⤴️",arrow_heading_down:"⤵️",arrows_clockwise:"🔃",arrows_counterclockwise:"🔄",back:"🔙",end:"🔚",on:"🔛",soon:"🔜",top:"🔝",place_of_worship:"🛐",atom_symbol:"⚛️",om:"🕉️",star_of_david:"✡️",wheel_of_dharma:"☸️",yin_yang:"☯️",latin_cross:"✝️",orthodox_cross:"☦️",star_and_crescent:"☪️",peace_symbol:"☮️",menorah:"🕎",six_pointed_star:"🔯",aries:"♈",taurus:"♉",gemini:"♊",cancer:"♋",leo:"♌",virgo:"♍",libra:"♎",scorpius:"♏",sagittarius:"♐",capricorn:"♑",aquarius:"♒",pisces:"♓",ophiuchus:"⛎",twisted_rightwards_arrows:"🔀",repeat:"🔁",repeat_one:"🔂",arrow_forward:"▶️",fast_forward:"⏩",next_track_button:"⏭️",play_or_pause_button:"⏯️",arrow_backward:"◀️",rewind:"⏪",previous_track_button:"⏮️",arrow_up_small:"🔼",arrow_double_up:"⏫",arrow_down_small:"🔽",arrow_double_down:"⏬",pause_button:"⏸️",stop_button:"⏹️",record_button:"⏺️",eject_button:"⏏️",cinema:"🎦",low_brightness:"🔅",high_brightness:"🔆",signal_strength:"📶",vibration_mode:"📳",mobile_phone_off:"📴",female_sign:"♀️",male_sign:"♂️",transgender_symbol:"⚧️",heavy_multiplication_x:"✖️",heavy_plus_sign:"➕",heavy_minus_sign:"➖",heavy_division_sign:"➗",infinity:"♾️",bangbang:"‼️",interrobang:"⁉️",question:"❓",grey_question:"❔",grey_exclamation:"❕",exclamation:"❗",heavy_exclamation_mark:"❗",wavy_dash:"〰️",currency_exchange:"💱",heavy_dollar_sign:"💲",medical_symbol:"⚕️",recycle:"♻️",fleur_de_lis:"⚜️",trident:"🔱",name_badge:"📛",beginner:"🔰",o:"⭕",white_check_mark:"✅",ballot_box_with_check:"☑️",heavy_check_mark:"✔️",x:"❌",negative_squared_cross_mark:"❎",curly_loop:"➰",loop:"➿",part_alternation_mark:"〽️",eight_spoked_asterisk:"✳️",eight_pointed_black_star:"✴️",sparkle:"❇️",copyright:"©️",registered:"®️",tm:"™️",hash:"#️⃣",asterisk:"*️⃣",zero:"0️⃣",one:"1️⃣",two:"2️⃣",three:"3️⃣",four:"4️⃣",five:"5️⃣",six:"6️⃣",seven:"7️⃣",eight:"8️⃣",nine:"9️⃣",keycap_ten:"🔟",capital_abcd:"🔠",abcd:"🔡",symbols:"🔣",abc:"🔤",a:"🅰️",ab:"🆎",b:"🅱️",cl:"🆑",cool:"🆒",free:"🆓",information_source:"ℹ️",id:"🆔",m:"Ⓜ️",new:"🆕",ng:"🆖",o2:"🅾️",ok:"🆗",parking:"🅿️",sos:"🆘",up:"🆙",vs:"🆚",koko:"🈁",sa:"🈂️",ideograph_advantage:"🉐",accept:"🉑",congratulations:"㊗️",secret:"㊙️",u6e80:"🈵",red_circle:"🔴",orange_circle:"🟠",yellow_circle:"🟡",green_circle:"🟢",large_blue_circle:"🔵",purple_circle:"🟣",brown_circle:"🟤",black_circle:"⚫",white_circle:"⚪",red_square:"🟥",orange_square:"🟧",yellow_square:"🟨",green_square:"🟩",blue_square:"🟦",purple_square:"🟪",brown_square:"🟫",black_large_square:"⬛",white_large_square:"⬜",black_medium_square:"◼️",white_medium_square:"◻️",black_medium_small_square:"◾",white_medium_small_square:"◽",black_small_square:"▪️",white_small_square:"▫️",large_orange_diamond:"🔶",large_blue_diamond:"🔷",small_orange_diamond:"🔸",small_blue_diamond:"🔹",small_red_triangle:"🔺",small_red_triangle_down:"🔻",diamond_shape_with_a_dot_inside:"💠",radio_button:"🔘",white_square_button:"🔳",black_square_button:"🔲",checkered_flag:"🏁",triangular_flag_on_post:"🚩",crossed_flags:"🎌",black_flag:"🏴",white_flag:"🏳️",rainbow_flag:"🏳️‍🌈",transgender_flag:"🏳️‍⚧️",pirate_flag:"🏴‍☠️",ascension_island:"🇦🇨",andorra:"🇦🇩",united_arab_emirates:"🇦🇪",afghanistan:"🇦🇫",antigua_barbuda:"🇦🇬",anguilla:"🇦🇮",albania:"🇦🇱",armenia:"🇦🇲",angola:"🇦🇴",antarctica:"🇦🇶",argentina:"🇦🇷",american_samoa:"🇦🇸",austria:"🇦🇹",australia:"🇦🇺",aruba:"🇦🇼",aland_islands:"🇦🇽",azerbaijan:"🇦🇿",bosnia_herzegovina:"🇧🇦",barbados:"🇧🇧",bangladesh:"🇧🇩",belgium:"🇧🇪",burkina_faso:"🇧🇫",bulgaria:"🇧🇬",bahrain:"🇧🇭",burundi:"🇧🇮",benin:"🇧🇯",st_barthelemy:"🇧🇱",bermuda:"🇧🇲",brunei:"🇧🇳",bolivia:"🇧🇴",caribbean_netherlands:"🇧🇶",brazil:"🇧🇷",bahamas:"🇧🇸",bhutan:"🇧🇹",bouvet_island:"🇧🇻",botswana:"🇧🇼",belarus:"🇧🇾",belize:"🇧🇿",canada:"🇨🇦",cocos_islands:"🇨🇨",congo_kinshasa:"🇨🇩",central_african_republic:"🇨🇫",congo_brazzaville:"🇨🇬",switzerland:"🇨🇭",cote_divoire:"🇨🇮",cook_islands:"🇨🇰",chile:"🇨🇱",cameroon:"🇨🇲",cn:"🇨🇳",colombia:"🇨🇴",clipperton_island:"🇨🇵",costa_rica:"🇨🇷",cuba:"🇨🇺",cape_verde:"🇨🇻",curacao:"🇨🇼",christmas_island:"🇨🇽",cyprus:"🇨🇾",czech_republic:"🇨🇿",de:"🇩🇪",diego_garcia:"🇩🇬",djibouti:"🇩🇯",denmark:"🇩🇰",dominica:"🇩🇲",dominican_republic:"🇩🇴",algeria:"🇩🇿",ceuta_melilla:"🇪🇦",ecuador:"🇪🇨",estonia:"🇪🇪",egypt:"🇪🇬",western_sahara:"🇪🇭",eritrea:"🇪🇷",es:"🇪🇸",ethiopia:"🇪🇹",eu:"🇪🇺",european_union:"🇪🇺",finland:"🇫🇮",fiji:"🇫🇯",falkland_islands:"🇫🇰",micronesia:"🇫🇲",faroe_islands:"🇫🇴",fr:"🇫🇷",gabon:"🇬🇦",gb:"🇬🇧",uk:"🇬🇧",grenada:"🇬🇩",georgia:"🇬🇪",french_guiana:"🇬🇫",guernsey:"🇬🇬",ghana:"🇬🇭",gibraltar:"🇬🇮",greenland:"🇬🇱",gambia:"🇬🇲",guinea:"🇬🇳",guadeloupe:"🇬🇵",equatorial_guinea:"🇬🇶",greece:"🇬🇷",south_georgia_south_sandwich_islands:"🇬🇸",guatemala:"🇬🇹",guam:"🇬🇺",guinea_bissau:"🇬🇼",guyana:"🇬🇾",hong_kong:"🇭🇰",heard_mcdonald_islands:"🇭🇲",honduras:"🇭🇳",croatia:"🇭🇷",haiti:"🇭🇹",hungary:"🇭🇺",canary_islands:"🇮🇨",indonesia:"🇮🇩",ireland:"🇮🇪",israel:"🇮🇱",isle_of_man:"🇮🇲",india:"🇮🇳",british_indian_ocean_territory:"🇮🇴",iraq:"🇮🇶",iran:"🇮🇷",iceland:"🇮🇸",it:"🇮🇹",jersey:"🇯🇪",jamaica:"🇯🇲",jordan:"🇯🇴",jp:"🇯🇵",kenya:"🇰🇪",kyrgyzstan:"🇰🇬",cambodia:"🇰🇭",kiribati:"🇰🇮",comoros:"🇰🇲",st_kitts_nevis:"🇰🇳",north_korea:"🇰🇵",kr:"🇰🇷",kuwait:"🇰🇼",cayman_islands:"🇰🇾",kazakhstan:"🇰🇿",laos:"🇱🇦",lebanon:"🇱🇧",st_lucia:"🇱🇨",liechtenstein:"🇱🇮",sri_lanka:"🇱🇰",liberia:"🇱🇷",lesotho:"🇱🇸",lithuania:"🇱🇹",luxembourg:"🇱🇺",latvia:"🇱🇻",libya:"🇱🇾",morocco:"🇲🇦",monaco:"🇲🇨",moldova:"🇲🇩",montenegro:"🇲🇪",st_martin:"🇲🇫",madagascar:"🇲🇬",marshall_islands:"🇲🇭",macedonia:"🇲🇰",mali:"🇲🇱",myanmar:"🇲🇲",mongolia:"🇲🇳",macau:"🇲🇴",northern_mariana_islands:"🇲🇵",martinique:"🇲🇶",mauritania:"🇲🇷",montserrat:"🇲🇸",malta:"🇲🇹",mauritius:"🇲🇺",maldives:"🇲🇻",malawi:"🇲🇼",mexico:"🇲🇽",malaysia:"🇲🇾",mozambique:"🇲🇿",namibia:"🇳🇦",new_caledonia:"🇳🇨",niger:"🇳🇪",norfolk_island:"🇳🇫",nigeria:"🇳🇬",nicaragua:"🇳🇮",netherlands:"🇳🇱",norway:"🇳🇴",nepal:"🇳🇵",nauru:"🇳🇷",niue:"🇳🇺",new_zealand:"🇳🇿",oman:"🇴🇲",panama:"🇵🇦",peru:"🇵🇪",french_polynesia:"🇵🇫",papua_new_guinea:"🇵🇬",philippines:"🇵🇭",pakistan:"🇵🇰",poland:"🇵🇱",st_pierre_miquelon:"🇵🇲",pitcairn_islands:"🇵🇳",puerto_rico:"🇵🇷",palestinian_territories:"🇵🇸",portugal:"🇵🇹",palau:"🇵🇼",paraguay:"🇵🇾",qatar:"🇶🇦",reunion:"🇷🇪",romania:"🇷🇴",serbia:"🇷🇸",ru:"🇷🇺",rwanda:"🇷🇼",saudi_arabia:"🇸🇦",solomon_islands:"🇸🇧",seychelles:"🇸🇨",sudan:"🇸🇩",sweden:"🇸🇪",singapore:"🇸🇬",st_helena:"🇸🇭",slovenia:"🇸🇮",svalbard_jan_mayen:"🇸🇯",slovakia:"🇸🇰",sierra_leone:"🇸🇱",san_marino:"🇸🇲",senegal:"🇸🇳",somalia:"🇸🇴",suriname:"🇸🇷",south_sudan:"🇸🇸",sao_tome_principe:"🇸🇹",el_salvador:"🇸🇻",sint_maarten:"🇸🇽",syria:"🇸🇾",swaziland:"🇸🇿",tristan_da_cunha:"🇹🇦",turks_caicos_islands:"🇹🇨",chad:"🇹🇩",french_southern_territories:"🇹🇫",togo:"🇹🇬",thailand:"🇹🇭",tajikistan:"🇹🇯",tokelau:"🇹🇰",timor_leste:"🇹🇱",turkmenistan:"🇹🇲",tunisia:"🇹🇳",tonga:"🇹🇴",tr:"🇹🇷",trinidad_tobago:"🇹🇹",tuvalu:"🇹🇻",taiwan:"🇹🇼",tanzania:"🇹🇿",ukraine:"🇺🇦",uganda:"🇺🇬",us_outlying_islands:"🇺🇲",united_nations:"🇺🇳",us:"🇺🇸",uruguay:"🇺🇾",uzbekistan:"🇺🇿",vatican_city:"🇻🇦",st_vincent_grenadines:"🇻🇨",venezuela:"🇻🇪",british_virgin_islands:"🇻🇬",us_virgin_islands:"🇻🇮",vietnam:"🇻🇳",vanuatu:"🇻🇺",wallis_futuna:"🇼🇫",samoa:"🇼🇸",kosovo:"🇽🇰",yemen:"🇾🇪",mayotte:"🇾🇹",south_africa:"🇿🇦",zambia:"🇿🇲",zimbabwe:"🇿🇼",england:"🏴󠁧󠁢󠁥󠁮󠁧󠁿",scotland:"🏴󠁧󠁢󠁳󠁣󠁴󠁿",wales:"🏴󠁧󠁢󠁷󠁬󠁳󠁿"};Object.keys(z).reduce((e,t)=>{const n=z[t];return e[n]=t,e},{});const cn=Object.keys(z).map(e=>e);Object.keys(z).map(e=>z[e]);function ln(e){return cn.filter(t=>t.startsWith(e)).map(t=>({name:t,emoji:z[t]}))}const dn=200,un=new p.PluginKey("emoji"),hn=m.Node.create({name:"emoji",content:"text*",priority:dn,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{},suggestion:{char:":",pluginKey:un,command:({editor:t,range:n,props:i})=>{t.chain().focus().insertContentAt(n,`${i.emoji} `).run()}},button:({editor:t,t:n})=>({component:sn,componentProps:{editor:t,action:()=>{},isActive:()=>!1,disabled:!1,icon:"EmojiIcon",tooltip:n("editor.emoji.tooltip")}})}},addCommands(){return{setEmoji:e=>({commands:t})=>t.insertContent(`${e.emoji} `)}},addProseMirrorPlugins(){return[m.Suggestion({editor:this.editor,...this.options.suggestion})]}}).configure({suggestion:{items:({query:e})=>ln(e),render:()=>{let e,t,n;return{onStart:i=>{n=i.editor.isEditable,n&&(e=new m.ReactRenderer(_e,{props:i,editor:i.editor}),t=J("body",{getReferenceClientRect:i.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start"}))},onUpdate(i){n&&(e.updateProps(i),t[0].setProps({getReferenceClientRect:i.clientRect}))},onKeyDown(i){var o;if(n)return i.event.key==="Escape"?(t[0].hide(),!0):(o=e.ref)==null?void 0:o.onKeyDown(i)},onExit(){n&&(t[0].destroy(),e.destroy())}}}}});function mn(e){const t=document.createElement("iframe");t.setAttribute("style","position: absolute; width: 0; height: 0; top: 0; left: 0;"),document.body.appendChild(t),t.textContent=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./tiptap-Bzsbnr3f.cjs"),p=require("./vendor-LvbrNFNL.cjs"),a=require("react/jsx-runtime"),f=require("react"),T=require("lucide-react"),s=require("./RichTextEditor-zOI60NFQ.cjs"),b=require("./index-D-rys8BA.cjs"),q=require("shiki"),we=require("@radix-ui/react-select"),ye=require("@radix-ui/react-slot"),J=require("tippy.js"),X=require("scroll-into-view-if-needed"),H=require("frimousse"),re=require("docx"),I=require("prosemirror-docx");function se(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const B=se(f),A=se(we),Y=f.forwardRef(({asChild:e,...t},n)=>{var r;const i=s.icons[t.icon],o=e?ye.Slot:s.Button;return a.jsxs(s.Tooltip,{children:[a.jsx(s.TooltipTrigger,{asChild:!0,children:a.jsx(o,{className:"richtext-h-[32px] richtext-min-w-24 richtext-overflow-hidden richtext-px-[5px] richtext-py-0",disabled:t==null?void 0:t.disabled,ref:n,variant:"ghost",...t,children:a.jsxs("div",{className:"richtext-flex richtext-h-full richtext-items-center richtext-font-normal",children:[(t==null?void 0:t.title)&&a.jsx("div",{className:"richtext-grow richtext-truncate richtext-text-left richtext-text-sm",children:t==null?void 0:t.title}),i&&a.jsx(i,{className:"richtext-ml-1 richtext-size-3 richtext-shrink-0 richtext-text-zinc-500"})]})})}),a.jsx(s.TooltipContent,{children:a.jsxs("div",{className:"richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center",children:[(t==null?void 0:t.tooltip)&&a.jsx("div",{children:t==null?void 0:t.tooltip}),a.jsx("div",{className:"richtext-flex",children:!!((r=t==null?void 0:t.shortcutKeys)!=null&&r.length)&&a.jsx("span",{children:s.getShortcutKeys(t==null?void 0:t.shortcutKeys)})})]})})]})}),ke=m.Bold.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleBold(),isActive:()=>t.isActive("bold")||!1,disabled:!t.can().toggleBold(),icon:"Bold",shortcutKeys:["mod","B"],tooltip:n("editor.bold.tooltip")}})}}}),ve=m.Italic.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n}){return{component:s.ActionButton,componentProps:{action:()=>t.commands.toggleItalic(),isActive:()=>t.isActive("italic")||!1,disabled:!t.can().toggleItalic(),shortcutKeys:["mod","I"],icon:"Italic",tooltip:n("editor.italic.tooltip")}}}}}}),Ce=m.Underline.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n}){return{component:s.ActionButton,componentProps:{action:()=>t.commands.toggleUnderline(),isActive:()=>t.isActive("underline")||!1,disabled:!t.can().toggleUnderline(),icon:"Underline",shortcutKeys:["mod","U"],tooltip:n("editor.underline.tooltip")}}}}}}),je=m.Strike.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleStrike(),isActive:()=>t.isActive("strike")||!1,disabled:!t.can().toggleStrike(),icon:"Strikethrough",shortcutKeys:["shift","mod","S"],tooltip:n("editor.strike.tooltip")}})}}}),Ae=m.Code.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleCode(),isActive:()=>t.isActive("code")||!1,disabled:!t.can().toggleCode(),icon:"Code",shortcutKeys:["mod","E"],tooltip:n("editor.code.tooltip")}})}}});let M,O;const V=new Set,W=new Set;function Te(){return M}function Se(e){if(!M&&!O){const t=e.themes.filter(i=>!!i&&i in q.bundledThemes),n=e.languages.filter(i=>!!i&&i in q.bundledLanguages);return O=q.createHighlighter({themes:t,langs:n}).then(i=>{M=i}),O}if(O)return O}async function ce(e){return M&&!M.getLoadedThemes().includes(e)&&!W.has(e)&&e in q.bundledThemes?(W.add(e),await M.loadTheme(e),W.delete(e),!0):!1}async function le(e){return M&&!M.getLoadedLanguages().includes(e)&&!V.has(e)&&e in q.bundledLanguages?(V.add(e),await M.loadLanguage(e),V.delete(e),!0):!1}async function Ee({doc:e,name:t,defaultTheme:n,defaultLanguage:i}){const o=m.findChildren(e,l=>l.type.name===t),r=[...o.map(l=>l.node.attrs.theme),n],c=[...o.map(l=>l.node.attrs.language),i];M?await Promise.all([...r.flatMap(l=>ce(l)),...c.flatMap(l=>!!l&&le(l))]):await Se({languages:c,themes:r})}function Q({doc:e,name:t,defaultTheme:n,defaultLanguage:i}){const o=[];return m.findChildren(e,c=>c.type.name===t).forEach(c=>{let l=c.pos+1,h=c.node.attrs.language||i;const u=c.node.attrs.theme||n,d=Te();if(!d)return;d.getLoadedLanguages().includes(h)||(h="plaintext");const g=d.getLoadedThemes().includes(u)?u:d.getLoadedThemes()[0],_=d.codeToTokensBase(c.node.textContent,{lang:h,theme:g});for(const x of _){for(const k of x){const v=l+k.content.length,S=p.Decoration.inline(l,v,{style:`color: ${k.color}`});o.push(S),l=v}l+=1}}),p.DecorationSet.create(e,o)}function Ne({name:e,defaultLanguage:t,defaultTheme:n}){const i=new p.Plugin({key:new p.PluginKey("shiki"),view(o){class r{constructor(){this.initDecorations()}update(){this.checkUndecoratedBlocks()}destroy(){}async initDecorations(){const l=o.state.doc;await Ee({doc:l,name:e,defaultLanguage:t,defaultTheme:n});const h=o.state.tr.setMeta("shikiPluginForceDecoration",!0);o.dispatch(h)}async checkUndecoratedBlocks(){const l=m.findChildren(o.state.doc,d=>d.type.name===e);if((await Promise.all(l.flatMap(d=>[ce(d.node.attrs.theme),le(d.node.attrs.language)]))).includes(!0)){const d=o.state.tr.setMeta("shikiPluginForceDecoration",!0);o.dispatch(d)}}}return new r},state:{init:(o,{doc:r})=>Q({doc:r,name:e,defaultLanguage:t,defaultTheme:n}),apply:(o,r,c,l)=>{const h=c.selection.$head.parent.type.name,u=l.selection.$head.parent.type.name,d=m.findChildren(c.doc,x=>x.type.name===e),g=m.findChildren(l.doc,x=>x.type.name===e),_=o.docChanged&&([h,u].includes(e)||g.length!==d.length||o.steps.some(x=>x.from!==void 0&&x.to!==void 0&&d.some(k=>k.pos>=x.from&&k.pos+k.node.nodeSize<=x.to)));return o.getMeta("shikiPluginForceDecoration")||_?Q({doc:o.doc,name:e,defaultLanguage:t,defaultTheme:n}):r.map(o.mapping,o.doc)}},props:{decorations(o){return i.getState(o)}}});return i}function Le({action:e,languages:t,...n}){const i=r=>{e(r)},o=f.useMemo(()=>t==null?void 0:t.map(r=>({title:b.MAP_LANGUAGE_CODE_LABELS[r]||r,language:r})),[t]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{disabled:n==null?void 0:n.disabled,asChild:!0,children:a.jsx(s.ActionButton,{tooltip:n==null?void 0:n.tooltip,disabled:n==null?void 0:n.disabled,icon:n==null?void 0:n.icon})}),a.jsx(s.DropdownMenuContent,{className:"richtext-w-full !richtext-max-h-[180px] !richtext-overflow-y-scroll",children:o==null?void 0:o.map(r=>a.jsx(s.DropdownMenuItem,{onClick:()=>i(r.language),children:a.jsx("div",{className:"richtext-h-full richtext-ml-1",children:r.title})},`codeblock-${r.title}`))})]})}const Me=A.Root,Ie=A.Value,de=B.forwardRef(({className:e,children:t,...n},i)=>a.jsxs(A.Trigger,{ref:i,className:s.cn("richtext-flex richtext-h-10 richtext-w-full richtext-items-center richtext-justify-between richtext-rounded-md richtext-border richtext-border-input richtext-bg-background richtext-px-3 richtext-py-2 richtext-text-sm richtext-ring-offset-background placeholder:richtext-text-muted-foreground focus:richtext-outline-none focus:richtext-ring-2 focus:richtext-ring-ring focus:richtext-ring-offset-2 disabled:richtext-cursor-not-allowed disabled:richtext-opacity-50 [&>span]:richtext-line-clamp-1",e),...n,children:[t,a.jsx(A.Icon,{asChild:!0,children:a.jsx(T.ChevronDown,{className:"richtext-h-4 richtext-w-4 richtext-opacity-50"})})]}));de.displayName=A.Trigger.displayName;const ue=B.forwardRef(({className:e,...t},n)=>a.jsx(A.ScrollUpButton,{ref:n,className:s.cn("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...t,children:a.jsx(T.ChevronUp,{className:"richtext-h-4 richtext-w-4"})}));ue.displayName=A.ScrollUpButton.displayName;const he=B.forwardRef(({className:e,...t},n)=>a.jsx(A.ScrollDownButton,{ref:n,className:s.cn("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...t,children:a.jsx(T.ChevronDown,{className:"richtext-h-4 richtext-w-4"})}));he.displayName=A.ScrollDownButton.displayName;const me=B.forwardRef(({className:e,children:t,position:n="popper",...i},o)=>a.jsx(A.Portal,{children:a.jsxs(A.Content,{ref:o,className:s.cn("richtext-relative richtext-z-50 richtext-max-h-60 richtext-overflow-y-auto richtext-min-w-[8rem] richtext-overflow-hidden richtext-rounded-md richtext-border richtext-bg-popover richtext-text-popover-foreground richtext-shadow-md data-[state=open]:richtext-animate-in data-[state=closed]:richtext-animate-out data-[state=closed]:richtext-fade-out-0 data-[state=open]:richtext-fade-in-0 data-[state=closed]:richtext-zoom-out-95 data-[state=open]:richtext-zoom-in-95 data-[side=bottom]:richtext-slide-in-from-top-2 data-[side=left]:richtext-slide-in-from-right-2 data-[side=right]:richtext-slide-in-from-left-2 data-[side=top]:richtext-slide-in-from-bottom-2",n==="popper"&&"data-[side=bottom]:richtext-translate-y-1 data-[side=left]:richtext--translate-x-1 data-[side=right]:richtext-translate-x-1 data-[side=top]:richtext--translate-y-1",e),position:n,...i,children:[a.jsx(ue,{}),a.jsx(A.Viewport,{className:s.cn("richtext-p-1",n==="popper"&&"richtext-h-[var(--radix-select-trigger-height)] richtext-w-full richtext-min-w-[var(--radix-select-trigger-width)]"),children:t}),a.jsx(he,{})]})}));me.displayName=A.Content.displayName;const Pe=B.forwardRef(({className:e,...t},n)=>a.jsx(A.Label,{ref:n,className:s.cn("richtext-py-1.5 richtext-pl-8 richtext-pr-2 richtext-text-sm richtext-font-semibold",e),...t}));Pe.displayName=A.Label.displayName;const Z=B.forwardRef(({className:e,children:t,...n},i)=>a.jsxs(A.Item,{ref:i,className:s.cn("richtext-relative richtext-flex richtext-w-full richtext-cursor-default richtext-select-none richtext-items-center richtext-rounded-sm richtext-py-1.5 richtext-pl-8 richtext-pr-2 richtext-text-sm richtext-outline-none focus:richtext-bg-accent focus:richtext-text-accent-foreground data-[disabled]:richtext-pointer-events-none data-[disabled]:richtext-opacity-50",e),...n,children:[a.jsx("span",{className:"richtext-absolute richtext-left-2 richtext-flex richtext-h-3.5 richtext-w-3.5 richtext-items-center richtext-justify-center",children:a.jsx(A.ItemIndicator,{children:a.jsx(T.Check,{className:"richtext-h-4 richtext-w-4"})})}),a.jsx(A.ItemText,{children:t})]}));Z.displayName=A.Item.displayName;const Re=B.forwardRef(({className:e,...t},n)=>a.jsx(A.Separator,{ref:n,className:s.cn("richtext--mx-1 richtext-my-1 richtext-h-px richtext-bg-muted",e),...t}));Re.displayName=A.Separator.displayName;function De(){const[e,t]=f.useState(!1);return{isCopied:e,copyToClipboard:async i=>{try{await navigator.clipboard.writeText(i),t(!0),setTimeout(()=>t(!1),2e3)}catch(o){console.error("Failed to copy text: ",o),t(!1)}}}}const He="_wrap_134f4_1",Be="_maxHeight_134f4_10",ze="_btnCopy_134f4_13",Oe="_btnDelete_134f4_14",Fe="_blockInfo_134f4_18",qe="_blockInfoEditable_134f4_28",Ue="_selectLang_134f4_32",$e="_copied_134f4_58",R={wrap:He,maxHeight:Be,btnCopy:ze,btnDelete:Oe,blockInfo:Fe,blockInfoEditable:qe,selectLang:Ue,copied:$e};function Ke({editor:e,node:{attrs:t},updateAttributes:n,extension:i}){var _,x;const{isCopied:o,copyToClipboard:r}=De(),c=f.useMemo(()=>{var k;return(k=i.options.languages)!=null&&k.length?i.options.languages:b.DEFAULT_LANGUAGE_CODE_BLOCK},[i.options.languages]),l=s.useEditableEditor(),h=(x=(_=e==null?void 0:e.options)==null?void 0:_.editorProps)==null?void 0:x.print,{language:u}=t,d=f.useRef(null),g=f.useCallback(()=>s.deleteNode(fe.name,e),[e]);return a.jsxs(m.NodeViewWrapper,{className:p.clsx(R.wrap,!h&&R.maxHeight,"render-wrapper"),children:[a.jsxs("div",{className:p.clsx(R.blockInfo,{[R.blockInfoEditable]:!l}),children:[a.jsx("span",{className:p.clsx(R.btnCopy,o&&R.copied),onClick:()=>r(d.current.innerText),children:o?a.jsx(T.CopyCheck,{size:16}):a.jsx(T.Copy,{size:16})}),a.jsx("span",{className:R.btnDelete,onClick:g,children:a.jsx(s.IconComponent,{name:"Trash2"})}),a.jsx("div",{className:R.selectLang,children:a.jsxs(Me,{defaultValue:u||"auto",disabled:!l,onValueChange:k=>n({language:k}),children:[a.jsx(de,{children:a.jsx(Ie,{placeholder:"Language"})}),a.jsxs(me,{className:"richtext-max-h-60 richtext-overflow-y-auto",children:[a.jsx(Z,{value:"auto",children:"Auto"}),c.map((k,v)=>a.jsx(Z,{value:k,children:k.charAt(0).toUpperCase()+k.slice(1)},`code-lang-${v}`))]})]})})]}),a.jsx("pre",{ref:d,children:a.jsx(m.NodeViewContent,{as:"code"})})]})}const fe=m.CodeBlock.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),languages:[],button:({editor:t,t:n,extension:i})=>{var r,c,l;const o=(c=(r=i==null?void 0:i.options)==null?void 0:r.languages)!=null&&c.length?(l=i==null?void 0:i.options)==null?void 0:l.languages:b.DEFAULT_LANGUAGE_CODE_BLOCK;return{component:Le,componentProps:{action:(h="js")=>t.commands.setCodeBlock({language:h}),isActive:()=>t.isActive("codeBlock")||!1,disabled:!t.can().toggleCodeBlock(),icon:"Code2",tooltip:n("editor.codeblock.tooltip"),languages:o}}}}},addNodeView(){return m.ReactNodeViewRenderer(Ke)},addProseMirrorPlugins(){var e;return[...((e=this.parent)==null?void 0:e.call(this))||[],Ne({name:this.name,defaultLanguage:null,defaultTheme:this.options.defaultTheme})]}});function Ve(e){var o,r,c;const{t,lang:n}=b.useLocale(),i=f.useMemo(()=>{var u;const l=(u=e==null?void 0:e.items)==null?void 0:u.find(d=>d.isActive());return l&&!l.default?{...l}:{title:e.tooltip,font:t("editor.fontFamily.default.tooltip"),isActive:()=>!1,disabled:!1,action:()=>e.editor.chain().focus().unsetFontFamily().run()}},[t,n,e]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(Y,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:((o=i==null?void 0:i.font)==null?void 0:o.length)>7?`${(r=i==null?void 0:i.font)==null?void 0:r.slice(0,6)}...`:i==null?void 0:i.font,tooltip:e==null?void 0:e.tooltip})}),a.jsx(s.DropdownMenuContent,{className:"richtext-w-full",children:(c=e==null?void 0:e.items)==null?void 0:c.map((l,h)=>{const u=l.font===t("editor.fontFamily.default.tooltip")?{}:{fontFamily:l.font};return a.jsxs(f.Fragment,{children:[a.jsx(s.DropdownMenuCheckboxItem,{checked:(i==null?void 0:i.font)===l.font,onClick:l.action,children:a.jsx("div",{className:"richtext-ml-1 richtext-h-full",style:u,children:l.font})}),l.font===t("editor.fontFamily.default.tooltip")&&a.jsx(s.DropdownMenuSeparator,{})]},`font-family-${h}`)})})]})}const We=m.FontFamily.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),fontFamilyList:b.DEFAULT_FONT_FAMILY_LIST,button({editor:t,extension:n,t:i}){var u;const{extensions:o=[]}=t.extensionManager??[],r=s.ensureNameValueOptions(((u=n==null?void 0:n.options)==null?void 0:u.fontFamilyList)||[]),c=o.find(d=>d.name==="base-kit"),l=r.map(d=>({action:()=>{t.chain().focus().setFontFamily(d.value).run()},isActive:()=>t.isActive("textStyle",{fontFamily:d.value})||!1,disabled:!t.can().setFontFamily(d.value),title:d.name,font:d.value}));c&&c.options.textStyle!==!1&&l.unshift({action:()=>t.chain().focus().unsetFontFamily().run(),isActive:()=>!1,disabled:!1,font:i("editor.fontFamily.default.tooltip"),title:i("editor.fontFamily.tooltip")});const h=l.filter(d=>d.disabled).length===l.length;return{component:Ve,componentProps:{tooltip:i("editor.fontFamily.tooltip"),disabled:h,items:l,editor:t}}}}}});function Ge(e){var n;const t=f.useMemo(()=>{var r;const i=(r=e==null?void 0:e.items)==null?void 0:r.find(c=>c.isActive());return i&&!i.default?{...i}:{title:e.tooltip,level:0,isActive:()=>!1}},[e]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(Y,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:t==null?void 0:t.title,tooltip:e==null?void 0:e.tooltip})}),a.jsx(s.DropdownMenuContent,{className:"richtext-w-full",children:(n=e==null?void 0:e.items)==null?void 0:n.map((i,o)=>{var r,c;return a.jsxs(f.Fragment,{children:[a.jsxs(s.DropdownMenuCheckboxItem,{checked:(t==null?void 0:t.title)===i.title,onClick:i.action,children:[a.jsx("div",{className:`heading- richtext-ml-1 richtext-h-full${i.level}`,children:i.title}),!!((r=i==null?void 0:i.shortcutKeys)!=null&&r.length)&&a.jsx(s.DropdownMenuShortcut,{className:"richtext-pl-4",children:(c=i==null?void 0:i.shortcutKeys)==null?void 0:c.map(l=>s.getShortcutKey(l)).join(" ")})]}),i.level===0&&a.jsx(s.DropdownMenuSeparator,{})]},`heading-k-${o}`)})})]})}const Ze=m.Heading.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),levels:[1,2,3,4,5,6],button({editor:t,extension:n,t:i}){var u;const{extensions:o=[]}=t.extensionManager??[],r=((u=n.options)==null?void 0:u.levels)||[],c=o.find(d=>d.name==="base-kit"),l=r.map(d=>({action:()=>t.commands.toggleHeading({level:d}),isActive:()=>t.isActive("heading",{level:d})||!1,disabled:!t.can().toggleHeading({level:d}),title:i(`editor.heading.h${d}.tooltip`),level:d,shortcutKeys:["alt","mod",`${d}`]}));c&&c.options.paragraph!==!1&&l.unshift({action:()=>t.commands.setParagraph(),isActive:()=>t.isActive("paragraph")||!1,disabled:!t.can().setParagraph(),level:0,title:i("editor.paragraph.tooltip"),shortcutKeys:["alt","mod","0"]});const h=l.filter(d=>d.disabled).length===l.length;return{component:Ge,componentProps:{tooltip:i("editor.heading.tooltip"),disabled:h,items:l,editor:t}}}}}});function Je(e){var n;const t=f.useMemo(()=>{var r;const i=(r=e==null?void 0:e.items)==null?void 0:r.find(c=>c.isActive());return i&&!i.default?{...i,icon:i.icon?i.icon:e.icon}:{title:e==null?void 0:e.tooltip,icon:e.icon,isActive:()=>!1}},[e]);return a.jsxs(s.Popover,{modal:!0,children:[a.jsx(s.PopoverTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(s.ActionButton,{customClass:"!richtext-w-12 richtext-h-12",disabled:e==null?void 0:e.disabled,icon:e==null?void 0:e.icon,tooltip:e==null?void 0:e.tooltip,children:a.jsx(s.IconComponent,{className:"richtext-ml-1 richtext-size-3 richtext-text-zinc-500",name:"MenuDown"})})}),a.jsx(s.PopoverContent,{align:"start",className:"richtext-flex richtext-w-full richtext-min-w-4 richtext-flex-row richtext-gap-1 !richtext-p-[4px]",side:"bottom",children:(n=e==null?void 0:e.items)==null?void 0:n.map((i,o)=>{var r,c;return a.jsxs(s.Tooltip,{children:[a.jsx(s.TooltipTrigger,{asChild:!0,children:a.jsx(s.Toggle,{className:"richtext-size-7 richtext-p-1","data-state":t.title===i.title?"on":"off",onClick:i==null?void 0:i.action,pressed:t.title===i.title,size:"sm",children:(i==null?void 0:i.icon)&&a.jsx(s.IconComponent,{name:i.icon})})}),a.jsxs(s.TooltipContent,{className:"richtext-flex richtext-flex-col richtext-items-center",children:[a.jsx("span",{children:i.title}),!!((r=i.shortcutKeys)!=null&&r.length)&&a.jsx("span",{children:(c=i.shortcutKeys)==null?void 0:c.map(l=>s.getShortcutKey(l)).join(" ")})]})]},`text-align-${o}`)})})]})}const Xe=m.TextAlign.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["heading","paragraph","list_item","title"],button({editor:t,extension:n,t:i}){var u;const o=((u=n.options)==null?void 0:u.alignments)||[],r={left:["mod","Shift","L"],center:["mod","Shift","E"],right:["mod","Shift","R"],justify:["mod","Shift","J"]},c={left:"AlignLeft",center:"AlignCenter",right:"AlignRight",justify:"AlignJustify"},l=o.map(d=>{var g,_,x;return{title:i(`editor.textalign.${d}.tooltip`),icon:c[d],shortcutKeys:r[d],isActive:()=>t.isActive({textAlign:d})||!1,action:()=>{var k,v;return(v=(k=t.commands)==null?void 0:k.setTextAlign)==null?void 0:v.call(k,d)},disabled:!((x=(_=(g=t==null?void 0:t.can)==null?void 0:g.call(t))==null?void 0:_.setTextAlign)!=null&&x.call(_,d))}}),h=l.filter(d=>d.disabled).length===l.length;return{component:Je,componentProps:{icon:"AlignJustify",tooltip:i("editor.textalign.tooltip"),disabled:h,items:l}}}}}});function Ye(e){var i;const{t}=b.useLocale(),n=f.useMemo(()=>{const o=(e.items||[]).find(c=>c.isActive());return o||{title:t("editor.fontSize.default.tooltip"),isActive:()=>!1}},[e]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(Y,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:n==null?void 0:n.title,tooltip:`${e==null?void 0:e.tooltip}`})}),a.jsx(s.DropdownMenuContent,{className:"richtext-max-h-96 richtext-w-32 richtext-overflow-y-auto",children:(i=e==null?void 0:e.items)==null?void 0:i.map((o,r)=>a.jsx(s.DropdownMenuCheckboxItem,{checked:n.title===o.title,onClick:o.action,children:a.jsx("div",{className:"richtext-ml-1 richtext-h-full",children:o.title})},`font-size-${r}`))})]})}const Qe=m.Extension.create({name:"fontSize",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["textStyle"],fontSizes:[...b.DEFAULT_FONT_SIZE_LIST],button({editor:t,extension:n,t:i}){var h;const o=s.ensureNameValueOptions(((h=n.options)==null?void 0:h.fontSizes)||b.DEFAULT_FONT_SIZE_VALUE),r=s.ensureNameValueOptions([b.DEFAULT_FONT_SIZE_VALUE])[0],c=o.map(u=>({title:u.value===r.value?i("editor.fontSize.default.tooltip"):String(u.name),isActive:()=>{const{fontSize:d}=t.getAttributes("textStyle");return u.value===r.value&&d===void 0?!0:t.isActive({fontSize:String(u.value)})||!1},action:()=>{if(u.value===r.value){t.commands.unsetFontSize();return}t.commands.setFontSize(String(u.value))},disabled:!t.can().setFontSize(String(u.value)),divider:u.value===r.value||!1,default:u.value===r.value||!1})),l=c.filter(u=>u.disabled).length===c.length;return{component:Ye,componentProps:{editor:t,tooltip:i("editor.fontSize.tooltip"),disabled:l,items:c,maxHeight:280}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:e=>e.style.fontSize.replaceAll(/["']+/g,""),renderHTML:e=>e.fontSize?{style:`font-size: ${e.fontSize}`}:{}}}}]},addCommands(){return{setFontSize:e=>({chain:t})=>t().setMark("textStyle",{fontSize:e}).run(),unsetFontSize:()=>({chain:e})=>e().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()}}});function et({fill:e}){return a.jsx("svg",{width:"18px",height:"18px",viewBox:"0 0 240 240",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("g",{stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",children:a.jsx("g",{transform:"translate(0.000000, 0.500000)",children:a.jsxs("g",{transform:"translate(39.000000, 17.353553)",children:[a.jsx("path",{d:"M11,201.146447 L167,201.146447 C173.075132,201.146447 178,206.071314 178,212.146447 C178,218.221579 173.075132,223.146447 167,223.146447 L11,223.146447 C4.92486775,223.146447 7.43989126e-16,218.221579 0,212.146447 C-7.43989126e-16,206.071314 4.92486775,201.146447 11,201.146447 Z",id:"矩形",fill:e||"#DF2A3F",fillRule:"evenodd"}),a.jsx("path",{d:"M72.3425855,16.8295583 C75.799482,7.50883712 86.1577877,2.75526801 95.4785089,6.21216449 C100.284516,7.99463061 104.096358,11.7387855 105.968745,16.4968188 L106.112518,16.8745422 L159.385152,161.694068 C161.291848,166.877345 158.635655,172.624903 153.452378,174.531599 C148.358469,176.405421 142.719567,173.872338 140.716873,168.864661 L140.614848,168.598825 L89.211,28.86 L37.3759214,168.623816 C35.4885354,173.712715 29.8981043,176.351047 24.7909589,174.617647 L24.5226307,174.522368 C19.4337312,172.634982 16.7953993,167.044551 18.5287999,161.937406 L18.6240786,161.669077 L72.3425855,16.8295583 Z",id:"路径-21",fill:"currentColor",fillRule:"nonzero"}),a.jsx("path",{d:"M121,103.146447 C126.522847,103.146447 131,107.623599 131,113.146447 C131,118.575687 126.673329,122.994378 121.279905,123.142605 L121,123.146447 L55,123.146447 C49.4771525,123.146447 45,118.669294 45,113.146447 C45,107.717207 49.3266708,103.298515 54.7200952,103.150288 L55,103.146447 L121,103.146447 Z",id:"路径-22",fill:"currentColor",fillRule:"nonzero"})]})})})})}function tt(e){const[t,n]=f.useState(void 0);function i(c){var l;(l=e.action)==null||l.call(e,c)}function o(){var c;(c=e.action)==null||c.call(e,t)}const r=f.useCallback(p.debounce(c=>{n(c)},350),[]);return a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-h-[32px]",children:[a.jsx(s.ActionButton,{tooltip:e==null?void 0:e.tooltip,disabled:e==null?void 0:e.disabled,action:o,children:a.jsx("span",{className:"richtext-flex richtext-items-center richtext-justify-center richtext-text-sm",children:a.jsx(et,{fill:t})})}),a.jsx(s.ColorPicker,{selectedColor:t,setSelectedColor:r,onChange:i,disabled:e==null?void 0:e.disabled,colors:e==null?void 0:e.colors,defaultColor:e==null?void 0:e.defaultColor,children:a.jsx(s.Button,{variant:"ghost",size:"icon",className:"r!ichtext-h-[32px] !richtext-w-3",disabled:e==null?void 0:e.disabled,children:a.jsx(s.IconComponent,{className:"!richtext-w-3 !richtext-h-3 richtext-text-zinc-500",name:"MenuDown"})})})]})}const nt=m.Color.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n,extension:i}){return{component:tt,componentProps:{colors:i.options.colors,defaultColor:i.options.defaultColor,action:o=>{o===void 0&&t.chain().focus().unsetColor().run(),typeof o=="string"&&t.chain().focus().setColor(o).run()},isActive:()=>{const{color:o}=t.getAttributes("textStyle");return o&&t.isActive({color:o})||!1},editor:t,disabled:!t.can().setColor(""),tooltip:n("editor.color.tooltip")}}}}}}),it=m.Highlight.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),multicolor:!0,button:({editor:t,t:n})=>({component:s.HighlightActionButton,componentProps:{action:i=>{typeof i=="string"&&t.chain().focus().setHighlight({color:i}).run(),i===void 0&&t.chain().focus().unsetHighlight().run()},editor:t,isActive:()=>t.isActive("highlight")||!1,disabled:!t.can().setHighlight(),shortcutKeys:["⇧","mod","H"],tooltip:n("editor.highlight.tooltip")}})}}}),ot=m.BulletList.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleBulletList(),isActive:()=>t.isActive("bulletList")||!1,disabled:!1,shortcutKeys:["shift","mod","8"],icon:"List",tooltip:n("editor.bulletlist.tooltip")}})}}}),at=m.Node.create({name:"clear",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.chain().focus().clearNodes().unsetAllMarks().run(),disabled:!t.can().chain().focus().clearNodes().unsetAllMarks().run(),icon:"Eraser",tooltip:n("editor.clear.tooltip")}})}}}),rt=m.OrderedList.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleOrderedList(),isActive:()=>t.isActive("orderedList")||!1,disabled:!1,icon:"ListOrdered",shortcutKeys:["mod","shift","7"],tooltip:n("editor.orderedlist.tooltip")}})}}}),st=m.TaskList.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"task-list"},taskItem:{HTMLAttributes:{class:"task-list-item"}},button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleTaskList(),isActive:()=>t.isActive("taskList")||!1,disabled:!1,icon:"ListTodo",shortcutKeys:["shift","mod","9"],tooltip:n("editor.tasklist.tooltip")}})}},addExtensions(){return[m.TaskItem.configure(this.options.taskItem)]}}),ct=m.Blockquote.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"blockquote"},button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.toggleBlockquote(),isActive:()=>t.isActive("blockquote")||!1,disabled:!t.can().toggleBlockquote(),icon:"TextQuote",shortcutKeys:["shift","mod","B"],tooltip:n("editor.blockquote.tooltip")}})}}});function lt(e){const[t,n]=f.useState(!1);function i(o,r,c){e.action&&(e.action({link:o,text:r,openInNewTab:c}),n(!1))}return a.jsxs(s.Popover,{modal:!0,open:t,onOpenChange:n,children:[a.jsx(s.PopoverTrigger,{disabled:e==null?void 0:e.disabled,asChild:!0,children:a.jsx(s.ActionButton,{tooltip:e==null?void 0:e.tooltip,isActive:e==null?void 0:e.isActive,disabled:e==null?void 0:e.disabled,children:a.jsx(s.IconComponent,{name:e==null?void 0:e.icon})})}),a.jsx(s.PopoverContent,{hideWhenDetached:!0,className:"richtext-w-full",align:"start",side:"bottom",children:a.jsx(s.LinkEditBlock,{editor:e.editor,onSetLink:i})})]})}const dt=m.Link.extend({inclusive:!1,parseHTML(){return[{tag:'a[href]:not([data-type="button"]):not([href *= "javascript:" i])'}]},renderHTML({HTMLAttributes:e}){return["a",m.mergeAttributes(this.options.HTMLAttributes,e,{class:"link"}),0]},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),openOnClick:!0,button:({editor:t,t:n})=>({component:lt,componentProps:{editor:t,action:i=>{const{link:o,text:r,openInNewTab:c}=i;t.chain().extendMarkRange("link").insertContent({type:"text",text:r,marks:[{type:"link",attrs:{href:o,target:c?"_blank":""}}]}).setLink({href:o}).focus().run()},id:"linkk",isActive:()=>t.isActive("link")||!1,disabled:!t.can().setLink({href:""}),icon:"Link",tooltip:n("editor.link.tooltip")}})}},addProseMirrorPlugins(){return[new p.Plugin({props:{handleClick:(e,t)=>{const{schema:n,doc:i,tr:o}=e.state,r=m.getMarkRange(i.resolve(t),n.marks.link);if(!r)return!1;const c=i.resolve(r.from),l=i.resolve(r.to),h=o.setSelection(new p.TextSelection(c,l));e.dispatch(h)}}})]}}),ut=m.HorizontalRule.extend({renderHTML(){return["div",m.mergeAttributes(this.options.HTMLAttributes,{"data-type":this.name}),["hr"]]},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.commands.setHorizontalRule(),disabled:!t.can().setHorizontalRule(),icon:"Minus",shortcutKeys:["mod","alt","S"],tooltip:n("editor.horizontalrule.tooltip")}})}},addKeyboardShortcuts(){return{"Mod-Alt-s":()=>this.editor.commands.setHorizontalRule()}}});function ht(e){var u;const{icon:t=void 0,tooltip:n=void 0,customClass:i="",tooltipOptions:o={},action:r=void 0,isActive:c=void 0,children:l}=e,h=s.icons[t];return a.jsxs(s.Tooltip,{children:[a.jsx(s.TooltipTrigger,{asChild:!0,children:a.jsxs(s.Toggle,{size:"sm",className:`richtext-w-[32px] richtext-h-[32px] ${i}`,disabled:c==null?void 0:c(),onClick:r,children:[h&&a.jsx(h,{className:"richtext-w-4 richtext-h-4"}),l&&a.jsx(a.Fragment,{children:l})]})}),n&&a.jsx(s.TooltipContent,{...o,children:a.jsxs("div",{className:"richtext-flex richtext-flex-col richtext-items-center richtext-text-center richtext-max-w-24",children:[a.jsx("div",{children:n}),!!((u=e==null?void 0:e.shortcutKeys)!=null&&u.length)&&a.jsx("span",{children:s.getShortcutKeys(e==null?void 0:e.shortcutKeys)})]})})]})}const mt=["undo","redo"],ft=m.History.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),depth:100,newGroupDelay:500,button:({editor:t,t:n})=>mt.map(i=>({component:ht,componentProps:{action:()=>{i==="undo"&&t.chain().focus().undo().run(),i==="redo"&&t.chain().focus().redo().run()},shortcutKeys:i==="undo"?["mod","Z"]:["shift","mod","Z"],disabled:i==="undo"?!t.can().undo():!t.can().redo(),isActive:()=>i==="undo"?!t.can().undo():!t.can().redo(),icon:i==="undo"?"Undo2":"Redo2",tooltip:n(`editor.${i}.tooltip`)}}))}}}),gt=m.Document.extend({content:"(block|columns)+"}),_t=m.Extension.create({name:"columnActionButton",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>{t.chain().focus().insertColumns({cols:2}).run()},icon:"Columns",tooltip:n("editor.columns.tooltip")}})}}}),xt=m.Extension.create({name:"selection",addProseMirrorPlugins(){const{editor:e}=this;return[new p.Plugin({key:new p.PluginKey("selection"),props:{decorations(t){return t.selection.empty||e.isFocused===!0?null:p.DecorationSet.create(t.doc,[p.Decoration.inline(t.selection.from,t.selection.to,{class:"selection"})])}}})]}});function bt(e){const{t}=b.useLocale(),n=f.useMemo(()=>[{name:"paragraph",label:t("editor.paragraph.tooltip"),iconName:"Heading1",isActive:()=>e.editor.isActive("paragraph")&&!e.editor.isActive("orderedList")&&!e.editor.isActive("bulletList")&&!e.editor.isActive("taskList"),action:()=>e.editor.chain().focus().clearNodes().run()},{name:"heading1",label:t("editor.heading.h1.tooltip"),isActive:()=>e.editor.isActive("heading",{level:1}),iconName:"Heading1",action:()=>e.editor.chain().focus().clearNodes().toggleHeading({level:1}).run()},{name:"heading2",label:t("editor.heading.h2.tooltip"),isActive:()=>e.editor.isActive("heading",{level:2}),iconName:"Heading2",action:()=>e.editor.chain().focus().clearNodes().toggleHeading({level:2}).run()},{name:"heading3",label:t("editor.heading.h3.tooltip"),isActive:()=>e.editor.isActive("heading",{level:3}),iconName:"Heading3",action:()=>e.editor.chain().focus().clearNodes().toggleHeading({level:3}).run()},{name:"bulletList",label:t("editor.bulletlist.tooltip"),isActive:()=>e.editor.isActive("bulletList"),iconName:"List",action:()=>e.editor.chain().focus().clearNodes().toggleBulletList().run()},{name:"numberedList",label:t("editor.orderedlist.tooltip"),isActive:()=>e.editor.isActive("orderedList"),iconName:"ListOrdered",action:()=>e.editor.chain().focus().clearNodes().toggleOrderedList().run()},{name:"taskList",label:t("editor.tasklist.tooltip"),isActive:()=>e.editor.isActive("taskList"),iconName:"ListTodo",action:()=>e.editor.chain().focus().clearNodes().toggleTaskList().run()},{name:"blockquote",label:t("editor.blockquote.tooltip"),isActive:()=>e.editor.isActive("blockquote"),iconName:"TextQuote",action:()=>e.editor.chain().focus().clearNodes().toggleBlockquote().run()},{name:"codeBlock",label:t("editor.codeblock.tooltip"),isActive:()=>e.editor.isActive("codeBlock"),iconName:"Code2",action:()=>e.editor.chain().focus().clearNodes().toggleCodeBlock().run()}],[e.editor,t]),i=f.useMemo(()=>n.findLast(o=>o.isActive())??{label:"Empty"},[n]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,children:a.jsxs(s.Button,{className:"richtext-flex richtext-h-[32px] richtext-gap-1 richtext-px-1.5",variant:"ghost",children:[a.jsxs("span",{className:"richtext-whitespace-nowrap richtext-text-sm richtext-font-normal",children:[" ",i==null?void 0:i.label]}),a.jsx(T.ChevronDown,{className:"richtext-size-4"})]})}),a.jsx(s.DropdownMenuContent,{align:"start",className:"richtext-w-full richtext-p-1",hideWhenDetached:!0,sideOffset:5,children:n.map((o,r)=>{var l;const c=s.icons[o.iconName];return a.jsx(s.DropdownMenuCheckboxItem,{checked:((l=o.isActive)==null?void 0:l.call(o))||!1,className:"richtext-cursor-pointer",onClick:()=>o.action(),children:a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-2 richtext-px-2",children:[a.jsx(c,{className:"richtext-h3 richtext-w-3"}),a.jsxs("span",{children:[" ",o.label]})]})},`text-bubble-${r}`)})})]})}const pt=m.Extension.create({name:"text-bubble",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),toolbar:!1,button:()=>({component:bt,componentProps:{}})}}});function ee({types:e,node:t}){return Array.isArray(e)&&e.includes(t.type)||t.type===e}const wt=m.Extension.create({name:"trailingNode",addOptions(){return{node:"paragraph",notAfter:["paragraph"]}},addProseMirrorPlugins(){const e=new p.PluginKey(this.name),t=Object.entries(this.editor.schema.nodes).map(([,n])=>n).filter(n=>this.options.notAfter.includes(n.name));return[new p.Plugin({key:e,appendTransaction:(n,i,o)=>{const{doc:r,tr:c,schema:l}=o,h=e.getState(o),u=r.content.size,d=l.nodes[this.options.node];if(h)return c.insert(u,d.create())},state:{init:(n,i)=>{const o=i.tr.doc.lastChild;return!ee({node:o,types:t})},apply:(n,i)=>{if(!n.docChanged)return i;const o=n.doc.lastChild;return!ee({node:o,types:t})}}})]}}),yt=m.Extension.create({name:"base-kit",addExtensions(){const e=[];return this.options.document!==!1&&e.push(gt.configure()),this.options.placeholder!==!1&&e.push(m.Placeholder.configure({placeholder:({node:t,pos:n,editor:i})=>{var o,r,c,l,h;return((o=t==null?void 0:t.type)==null?void 0:o.name)==="columns"||((r=t==null?void 0:t.content)==null?void 0:r.size)!==0?"":((c=t==null?void 0:t.type)==null?void 0:c.name)==="heading"?`${b.localeActions.t(`editor.heading.h${t.attrs.level}.tooltip`)}`:((l=t==null?void 0:t.type)==null?void 0:l.name)==="codeBlock"||((h=t==null?void 0:t.type)==null?void 0:h.name)==="table"?"":i.extensionManager.extensions.some(u=>u.name==="slashCommand")?b.localeActions.t("editor.slash"):b.localeActions.t("editor.content")},...this.options.placeholder})),this.options.focus!==!1&&e.push(m.FocusClasses.configure({className:"focus",...this.options.focus})),this.options.text!==!1&&e.push(m.Text.configure()),this.options.textBubble!==!1&&e.push(pt.configure()),this.options.gapcursor!==!1&&e.push(m.Gapcursor.configure()),this.options.dropcursor!==!1&&e.push(m.Dropcursor.configure({...this.options.dropcursor,width:2,class:"ProseMirror-dropcursor border-black"})),this.options.characterCount!==!1&&e.push(m.CharacterCount.configure(this.options.characterCount)),this.options.paragraph!==!1&&e.push(m.Paragraph.configure(this.options.paragraph)),this.options.hardBreak!==!1&&e.push(m.HardBreak.configure(this.options.hardBreak)),this.options.listItem!==!1&&e.push(m.ListItem.configure(this.options.listItem)),this.options.textStyle!==!1&&e.push(m.TextStyle.configure(this.options.textStyle)),this.options.trailingNode!==!1&&e.push(wt.configure(this.options.trailingNode)),this.options.selection!==!1&&e.push(xt),this.options.multiColumn!==!1&&e.push(s.Column,s.MultiColumn),e}}),kt=m.Extension.create({name:"subAndSuperScript",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,extension:n,t:i})=>{const o=n.options.subscript,r=n.options.superscript,c={component:s.ActionButton,componentProps:{action:()=>t.commands.toggleSubscript(),isActive:()=>t.isActive("subscript")||!1,disabled:!t.can().toggleSubscript(),icon:"Subscript",tooltip:i("editor.subscript.tooltip")}},l={component:s.ActionButton,componentProps:{action:()=>t.commands.toggleSuperscript(),isActive:()=>t.isActive("superscript")||!1,disabled:!t.can().toggleSuperscript(),icon:"Superscript",tooltip:i("editor.superscript.tooltip")}},h=[];return o!==!1&&h.push(c),r!==!1&&h.push(l),h}}},addExtensions(){const e=[];return this.options.subscript!==!1&&e.push(m.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&e.push(m.Superscript.configure(this.options.superscript)),e}});function vt(e){var n;const t=f.useMemo(()=>{var r;const i=(r=e==null?void 0:e.items)==null?void 0:r.find(c=>c.isActive());return i&&!i.default?{...i,icon:i!=null&&i.icon?i==null?void 0:i.icon:e==null?void 0:e.icon}:{title:e.tooltip,icon:e.icon,isActive:()=>!1}},[e]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(s.ActionButton,{customClass:"!richtext-w-12 richtext-h-12",disabled:e==null?void 0:e.disabled,icon:e==null?void 0:e.icon,tooltip:e==null?void 0:e.tooltip,children:a.jsx(s.MenuDown,{className:"richtext-size-3 richtext-text-gray-500"})})}),a.jsx(s.DropdownMenuContent,{className:"w-full",children:(n=e==null?void 0:e.items)==null?void 0:n.map((i,o)=>a.jsxs(s.DropdownMenuCheckboxItem,{checked:t.title===i.title,className:"richtext-flex richtext-items-center richtext-gap-3",onClick:i.action,children:[a.jsx(s.IconComponent,{name:i==null?void 0:i.icon}),a.jsx("span",{className:"richtext-ml-1",children:i.title}),!!(i!=null&&i.shortcutKeys)&&a.jsx("span",{className:"richtext-ml-auto richtext-text-xs richtext-tracking-widest richtext-opacity-60",children:s.getShortcutKeys(i.shortcutKeys)})]},`more-mark-${o}`))})]})}const Ct=m.Extension.create({name:"moreMark",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,extension:n,t:i}){const o=n.options.subscript,r=n.options.superscript,c={action:()=>t.commands.toggleSubscript(),isActive:()=>t.isActive("subscript")||!1,disabled:!t.can().toggleSubscript(),icon:"Subscript",title:i("editor.subscript.tooltip"),shortcutKeys:["mod","."]},l={action:()=>t.commands.toggleSuperscript(),isActive:()=>t.isActive("superscript")||!1,disabled:!t.can().toggleSuperscript(),icon:"Superscript",title:i("editor.superscript.tooltip"),shortcutKeys:["mod",","]},h=[];return o!==!1&&h.push(c),r!==!1&&h.push(l),{component:vt,componentProps:{icon:"Type",tooltip:i("editor.moremark"),disabled:!t.isEditable,items:h}}}}},addExtensions(){const e=[];return this.options.subscript!==!1&&e.push(m.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&e.push(m.Superscript.configure(this.options.superscript)),e}}),jt=m.Extension.create({name:"indent",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["paragraph","heading","blockquote"],minIndent:s.IndentProps.min,maxIndent:s.IndentProps.max,button({editor:t,t:n}){return[{component:s.ActionButton,componentProps:{action:()=>{t.commands.indent()},shortcutKeys:["Tab"],icon:"IndentIncrease",tooltip:n("editor.indent.tooltip")}},{component:s.ActionButton,componentProps:{action:()=>{t.commands.outdent()},shortcutKeys:["Shift","Tab"],icon:"IndentDecrease",tooltip:n("editor.outdent.tooltip")}}]}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{indent:{default:0,parseHTML:e=>{const t=e.dataset.indent;return(t?Number.parseInt(t,10):0)||0},renderHTML:e=>e.indent?{"data-indent":e.indent}:{}}}}]},addCommands(){return{indent:()=>s.createIndentCommand({delta:s.IndentProps.more,types:this.options.types}),outdent:()=>s.createIndentCommand({delta:s.IndentProps.less,types:this.options.types})}},addKeyboardShortcuts(){return{Tab:()=>this.editor.commands.indent(),"Shift-Tab":()=>this.editor.commands.outdent()}}});function At(e){return Number.parseFloat(e.replace("%",""))/100}function Tt(e){const{t}=b.useLocale(),[n,i]=f.useState("default");function o(c){c==="default"?e.editor.commands.unsetLineHeight():e.editor.commands.setLineHeight(c),i(c)}const r=f.useMemo(()=>{const h=e.editor.extensionManager.extensions.find(u=>u.name==="lineHeight").options.lineHeights.map(u=>({label:At(u),value:u}));return h.unshift({label:t("editor.default"),value:"default"}),h},[e]);return a.jsxs(s.DropdownMenu,{children:[a.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(s.ActionButton,{customClass:"!richtext-w-12 richtext-h-12",disabled:e==null?void 0:e.disabled,icon:"LineHeight",tooltip:e==null?void 0:e.tooltip,children:a.jsx(s.IconComponent,{className:"richtext-ml-1 richtext-size-3 richtext-text-zinc-500",name:"MenuDown"})})}),a.jsx(s.DropdownMenuContent,{className:"richtext-min-w-24",children:r==null?void 0:r.map((c,l)=>a.jsx(s.DropdownMenuCheckboxItem,{checked:c.value===n,onClick:()=>o(c.value),children:c.label},`lineHeight-${l}`))})]})}const St=["paragraph","heading","list_item","todo_item"];function Et(e,t){const{selection:n,doc:i}=e;if(!n||!i||!(n instanceof p.TextSelection||n instanceof p.AllSelection))return e;const{from:o,to:r}=n,c=[],l=t&&t!==b.DEFAULT_LINE_HEIGHT?t:null;if(i.nodesBetween(o,r,(h,u)=>{const d=h.type;return St.includes(d.name)?((h.attrs.lineHeight||null)!==l&&c.push({node:h,pos:u,nodeType:d}),d.name!=="list_item"&&d.name!=="todo_item"):!0}),c.length===0)return e;for(const h of c){const{node:u,pos:d,nodeType:g}=h;let{attrs:_}=u;_={..._,lineHeight:l},e=e.setNodeMarkup(d,g,_,u.marks)}return e}function Nt(e){return({state:t,dispatch:n})=>{const{selection:i}=t;let{tr:o}=t;return o=o.setSelection(i),o=Et(o,e),o.docChanged?(n&&n(o),!0):!1}}const Lt=m.Extension.create({name:"lineHeight",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["paragraph","heading","list_item","todo_item"],lineHeights:b.DEFAULT_LINE_HEIGHT_LIST,defaultHeight:b.DEFAULT_LINE_HEIGHT,button({editor:t,t:n}){return{component:Tt,componentProps:{editor:t,tooltip:n("editor.lineheight.tooltip")}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:e=>e.style.lineHeight||this.options.defaultHeight,renderHTML:e=>e.lineHeight===this.options.defaultHeight||!e.lineHeight?{}:{style:`line-height: ${e.lineHeight}`}}}}]},addCommands(){return{setLineHeight:e=>Nt(e),unsetLineHeight:()=>({commands:e})=>this.options.types.every(t=>e.resetAttributes(t,"lineHeight"))}}});function Mt(e,t){var S,N;const[n,i]=f.useState(0),[o,r]=f.useState(0),c=f.useRef(null),{t:l}=b.useLocale(),h=f.useRef([]);f.useImperativeHandle(t,()=>({onKeyDown:u})),f.useEffect(()=>{if(!c.current)return;const w=o*1e3+n,y=h.current[w];y&&y.scrollIntoView({behavior:"smooth",block:"nearest"})},[n,o]);function u({event:w}){return w.key==="ArrowUp"?(d(),!0):w.key==="ArrowDown"?(g(),!0):w.key==="Enter"?(_(),!0):!1}function d(){var j;if(e.items.length===0)return!1;let w=n-1,y=o;w<0&&(y=o-1,w=((j=e.items[y])==null?void 0:j.commands.length)-1||0),y<0&&(y=e.items.length-1,w=e.items[y].commands.length-1),i(w),r(y)}function g(){if(e.items.length===0)return!1;const w=e.items[o].commands;let y=n+1,j=o;w.length-1<y&&(y=0,j=o+1),e.items.length-1<j&&(j=0),i(y),r(j)}function _(){if(e.items.length===0||o===-1||n===-1)return!1;x(o,n)}function x(w,y){const j=e.items[w].commands[y];e.command(j)}function k(w,y){x(w,y)}function v(w,y,j){h.current[w*1e3+y]=j}return a.jsx("div",{className:"richtext-mb-8 richtext-max-h-[min(80vh,24rem)] richtext-flex-wrap richtext-overflow-auto richtext-rounded-lg !richtext-border !richtext-border-neutral-200 !richtext-bg-white richtext-p-1 !richtext-text-black richtext-shadow-sm dark:!richtext-border-neutral-800 dark:!richtext-bg-black",ref:c,children:(S=e==null?void 0:e.items)!=null&&S.length?a.jsx("div",{className:"richtext-grid richtext-min-w-48 richtext-grid-cols-1 richtext-gap-0.5",children:(N=e==null?void 0:e.items)==null?void 0:N.map((w,y)=>a.jsxs(f.Fragment,{children:[a.jsx("div",{className:"richtext-col-[1/-1] richtext-mx-2 richtext-mt-2 richtext-select-none richtext-text-[0.65rem] richtext-font-semibold richtext-uppercase richtext-tracking-wider !richtext-text-neutral-500 first:richtext-mt-0.5",children:w.title}),w.commands.map((j,L)=>a.jsxs("button",{onClick:()=>k(y,L),ref:E=>v(y,L,E),className:s.cn("richtext-flex richtext-items-center richtext-gap-3 richtext-px-2 richtext-py-1.5 richtext-text-sm !richtext-text-neutral-800 dark:!richtext-text-neutral-200 richtext-text-left richtext-w-full richtext-rounded-sm richtext-outline-none richtext-transition-colors !richtext-bg-transparent hover:!richtext-bg-accent ",{"slash-command-active":o===y&&n===L}),children:[j.iconUrl&&a.jsx("img",{alt:"",className:"richtext-size-6",src:j.iconUrl}),j.iconName&&a.jsx(s.IconComponent,{className:"!richtext-mr-1 !richtext-text-lg",name:j.iconName}),j.label]},`command-${L}`))]},`slash-${w.title}`))}):a.jsx("div",{className:"richtext-p-3",children:a.jsx("span",{className:"richtext-text-xs richtext-text-gray-800 dark:richtext-text-gray-100",children:l("editor.slash.empty")})})})}const It=f.forwardRef(Mt),Pt={setOpen:(e,t)=>{s.dispatchEvent(s.EVENTS.UPLOAD_VIDEO(e),t)}};function Rt(e,t){const n=[{name:"format",title:b.localeActions.t("editor.slash.format"),commands:[]},{name:"insert",title:b.localeActions.t("editor.slash.insert"),commands:[]}];return e.forEach(i=>{i.name.toLowerCase()==="heading"&&i.options.levels.forEach(o=>{n[0].commands.push({name:`heading${o}`,label:b.localeActions.t(`editor.heading.h${o}.tooltip`),aliases:[`h${o}`,"bt",`bt${o}`],iconName:`Heading${o}`,action:({editor:r,range:c})=>{r.chain().focus().deleteRange(c).setHeading({level:o}).run()}})}),i.name.toLowerCase()==="bulletlist"&&n[0].commands.push({name:"bulletList",label:b.localeActions.t("editor.bulletlist.tooltip"),aliases:["ul","yxlb"],iconName:"List",action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).toggleBulletList().run()}}),i.name.toLowerCase()==="orderedlist"&&n[0].commands.push({name:"numberedList",label:b.localeActions.t("editor.orderedlist.tooltip"),aliases:["ol","yxlb"],iconName:"ListOrdered",action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).toggleOrderedList().run()}}),i.name.toLowerCase()==="tasklist"&&n[0].commands.push({name:"taskList",label:b.localeActions.t("editor.tasklist.tooltip"),iconName:"ListTodo",description:"Task list with todo items",aliases:["todo"],action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).toggleTaskList().run()}}),i.name.toLowerCase()==="blockquote"&&n[0].commands.push({name:"blockquote",label:b.localeActions.t("editor.blockquote.tooltip"),description:"插入引入格式",aliases:["yr"],iconName:"TextQuote",action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).setBlockquote().run()}}),i.name.toLowerCase()==="codeblock"&&n[0].commands.push({name:"codeBlock",label:b.localeActions.t("editor.codeblock.tooltip"),iconName:"Code2",description:"Code block with syntax highlighting",shouldBeHidden:o=>o.isActive("columns"),action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).setCodeBlock().run()}}),i.name.toLowerCase()===s.Image.name&&n[1].commands.push({name:"image",label:b.localeActions.t("editor.image.tooltip"),iconName:"ImageUp",description:"Insert a image",aliases:["image","tp","tupian"],shouldBeHidden:o=>o.isActive("columns"),action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).run(),s.actionDialogImage.setOpen(o.id,!0)}}),i.name.toLowerCase()===s.Video.name&&n[1].commands.push({name:"video",label:b.localeActions.t("editor.video.tooltip"),iconName:"Video",description:"Insert a video",aliases:["video","sp","shipin"],shouldBeHidden:o=>o.isActive("columns"),action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).run(),Pt.setOpen(o.id,!0)}}),i.name.toLowerCase()==="table"&&n[1].commands.push({name:"table",label:b.localeActions.t("editor.table.tooltip"),iconName:"Table",description:"Insert a table",aliases:["table","bg","biaoge","biao"],shouldBeHidden:o=>o.isActive("columns"),action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).insertTable({rows:3,cols:3,withHeaderRow:!1}).run()}}),i.name.toLowerCase()==="horizontalrule"&&n[1].commands.push({name:"horizontalRule",label:b.localeActions.t("editor.horizontalrule.tooltip"),iconName:"Minus",description:"Insert a horizontal divider",aliases:["hr","fgx","fg"],action:({editor:o,range:r})=>{o.chain().focus().deleteRange(r).setHorizontalRule().run()}}),i.name.toLowerCase()==="columns"&&n[1].commands.push({name:"columns",label:b.localeActions.t("editor.columns.tooltip"),iconName:"Columns2",description:"Add two column content",action:({editor:o})=>{o.chain().focus().insertColumns({cols:2}).run()}}),t==null||t(i,n)}),n}const D="slashCommand";let C;const Dt=m.Extension.create({name:D,priority:200,onCreate(){C=J("body",{interactive:!0,trigger:"manual",placement:"bottom-start",theme:"slash-command",maxWidth:"16rem",offset:[16,8],popperOptions:{strategy:"fixed",modifiers:[{name:"flip",enabled:!1}]}})},addProseMirrorPlugins(){return[m.Suggestion({editor:this.editor,char:"/",allowSpaces:!0,startOfLine:!0,pluginKey:new p.PluginKey(D),allow:({state:e,range:t})=>{var u,d,g;const n=e.doc.resolve(t.from),i=n.depth===1,o=n.parent.type.name==="paragraph",r=((u=n.parent.textContent)==null?void 0:u.charAt(0))==="/",c=this.editor.isActive("column"),l=(g=n.parent.textContent)==null?void 0:g.slice(Math.max(0,(d=n.parent.textContent)==null?void 0:d.indexOf("/"))),h=!(l!=null&&l.endsWith(" "));return(i&&o&&r||c&&o&&r)&&h},command:({editor:e,range:t,props:n})=>{const{view:i}=e;n.action({editor:e,range:t}),i.focus()},items:({query:e,editor:t})=>Rt(t.extensionManager.extensions,this.options.renderGroupItem).map(c=>({...c,commands:c.commands.filter(l=>{const h=l.label.toLowerCase().trim(),u=e.toLowerCase().trim();if(l.aliases){const d=l.aliases.map(x=>x.toLowerCase().trim()),g=h.match(u),_=d.some(x=>x.match(u));return g||_}return h.match(u)}).filter(l=>l.shouldBeHidden?!l.shouldBeHidden(this.editor):!0)})).filter(c=>c.commands.length>0).map(c=>({...c,commands:c.commands.map(l=>({...l,isEnabled:!0}))})),render:()=>{let e,t=null;return{onStart:n=>{var r;e=new m.ReactRenderer(It,{props:n,editor:n.editor});const{view:i}=n.editor,o=()=>{if(!n.clientRect)return n.editor.storage[D].rect;const c=n.clientRect();if(!c)return n.editor.storage[D].rect;let l=c.y;if(c.top+e.element.offsetHeight+40>window.innerHeight){const h=c.top+e.element.offsetHeight-window.innerHeight+40;l=c.y-h}return new DOMRect(c.x,l,c.width,c.height)};t=()=>{C==null||C[0].setProps({getReferenceClientRect:o})},(r=i.dom.parentElement)==null||r.addEventListener("scroll",t),C==null||C[0].setProps({getReferenceClientRect:o,appendTo:()=>document.body,content:e.element}),C==null||C[0].show()},onUpdate(n){var c;e.updateProps(n);const{view:i}=n.editor,o=()=>{if(!n.clientRect)return n.editor.storage[D].rect;const l=n.clientRect();return l?new DOMRect(l.x,l.y,l.width,l.height):n.editor.storage[D].rect},r=()=>{C==null||C[0].setProps({getReferenceClientRect:o})};(c=i.dom.parentElement)==null||c.addEventListener("scroll",r),n.editor.storage[D].rect=n.clientRect?o():{width:0,height:0,left:0,top:0,right:0,bottom:0},C==null||C[0].setProps({getReferenceClientRect:o})},onKeyDown(n){var i;return n.event.key==="Escape"?(C==null||C[0].hide(),!0):(C!=null&&C[0].state.isShown||C==null||C[0].show(),(i=e.ref)==null?void 0:i.onKeyDown(n))},onExit(n){var i;if(C==null||C[0].hide(),t){const{view:o}=n.editor;(i=o.dom.parentElement)==null||i.removeEventListener("scroll",t)}e.destroy()}}}})]},addStorage(){return{rect:{width:0,height:0,left:0,top:0,right:0,bottom:0}}}});function Ht(e,t,n){if(!e.doc)return e;const i=e.doc.nodeAt(t);if(!i||n===i.attrs.backgroundColor)return e;const o={...i.attrs,backgroundColor:n};return e.setNodeMarkup(t,i.type,o,i.marks)}function Bt(e,t,n){const{doc:i,selection:o}=e;return!i||!o||!(o instanceof p.CellSelection)||o.forEachCell((r,c)=>{e=Ht(e,c,n)}),e}function te(e,t){return({tr:n,state:i,dispatch:o})=>{const{selection:r}=i;return n=n.setSelection(r),n=Bt(n,t,e),n.docChanged?(o==null||o(n),!0):!1}}const zt=m.Extension.create({name:"tableCellBackground",addOptions(){return{types:["tableCell"],HTMLAttributes:{}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{backgroundColor:{parseHTML:e=>e.style.backgroundColor||"",renderHTML:e=>!e.backgroundColor||e.backgroundColor===""?{}:{style:`background-color: ${e.backgroundColor}`}}}}]},addCommands(){return{setTableCellBackground:e=>te(e,this.options),unsetTableCellBackground:()=>te("",this.options)}}}),Ot=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,Ft=/CrOS/,qt=/android|ipad|playbook|silk/i;function ne(e={}){let t=e.ua||typeof navigator<"u"&&navigator.userAgent;return t&&typeof t=="object"&&t.headers&&typeof t.headers["user-agent"]=="string"&&(t=t.headers["user-agent"]),typeof t!="string"?!1:!!(Ot.test(t)&&!Ft.test(t)||e.tablet&&qt.test(t)||e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.includes("Macintosh")&&t.includes("Safari"))}const ie=e=>Array.from({length:e}).map((t,n)=>n+1);function Ut(e){var d;const[t,n]=f.useState(!0),[i,o]=f.useState({rows:ne()?b.TABLE_MAX_GRID_SIZE:b.TABLE_INIT_GRID_SIZE,cols:ne()?b.TABLE_MAX_GRID_SIZE:b.TABLE_INIT_GRID_SIZE}),[r,c]=f.useState({rows:b.TABLE_DEFAULT_SELECTED_GRID_SIZE,cols:b.TABLE_DEFAULT_SELECTED_GRID_SIZE});function l(g,_){g===i.rows&&o(x=>({...x,rows:Math.min(g+1,b.TABLE_MAX_GRID_SIZE)})),_===i.cols&&o(x=>({...x,cols:Math.min(_+1,b.TABLE_MAX_GRID_SIZE)})),c({rows:g,cols:_})}function h(g,_){e==null||e.createTable({rows:g,cols:_,withHeaderRow:t}),u()}function u(){n(!1),o({rows:b.TABLE_INIT_GRID_SIZE,cols:b.TABLE_INIT_GRID_SIZE}),c({rows:b.TABLE_DEFAULT_SELECTED_GRID_SIZE,cols:b.TABLE_DEFAULT_SELECTED_GRID_SIZE})}return a.jsxs(s.Popover,{modal:!0,children:[a.jsx(s.PopoverTrigger,{asChild:!0,children:e==null?void 0:e.children}),a.jsx(s.PopoverContent,{align:"start",className:"richtext-w-full !richtext-p-2",side:"bottom",children:a.jsxs("div",{className:"table-grid-size-editor richtext-p-0",children:[a.jsx("div",{className:"richtext-flex richtext-flex-col richtext-flex-wrap richtext-justify-between richtext-gap-1",children:(d=ie(i==null?void 0:i.rows))==null?void 0:d.map(g=>{var _;return a.jsx("div",{className:"richtext-flex richtext-gap-1",children:(_=ie(i==null?void 0:i.cols))==null?void 0:_.map(x=>a.jsx("div",{onMouseDown:()=>h(g,x),onMouseOver:()=>l(g,x),className:`richtext-cursor-pointer richtext-border-border ${x<=r.cols&&g<=r.rows&&"tableCellActive !richtext-bg-foreground"}`,children:a.jsx("div",{className:"richtext-box-border richtext-size-4 richtext-rounded-[2px] !richtext-border richtext-border-solid !richtext-border-border richtext-p-1"})},`c-${x}`))},`r-${g}`)})}),a.jsxs("div",{className:"richtext-mt-2 richtext-text-center richtext-text-sm richtext-text-zinc-600",children:[r.rows," ","x",r.cols]})]})})]})}function $t(e){function t(n){e.disabled||e.editor.chain().focus().insertTable({...n,withHeaderRow:!1}).run()}return a.jsx(Ut,{createTable:t,children:a.jsx(s.ActionButton,{icon:e==null?void 0:e.icon,tooltip:e==null?void 0:e.tooltip,disabled:e==null?void 0:e.disabled,color:e==null?void 0:e.color,action:e==null?void 0:e.action,isActive:e==null?void 0:e.isActive})})}const Kt=m.Table.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),resizable:!0,lastColumnResizable:!0,allowTableNodeSelection:!1,button:({editor:t,t:n})=>({component:$t,componentProps:{disabled:t.isActive("table")||!1,icon:"Table",tooltip:n("editor.table.tooltip"),editor:t}})}},addExtensions(){return[m.TableRow.configure(this.options.tableRow),m.TableHeader.configure(this.options.tableHeader),m.TableCell.configure(this.options.tableCell),zt.configure(this.options.tableCellBackground)]}}),Vt=m.Extension.create({name:"painter",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>{t.commands.setPainter(t==null?void 0:t.state.selection.$head.marks())},icon:"PaintRoller",tooltip:n("editor.format")}})}},addCommands(){return{setPainter:e=>({view:{dispatch:t,state:{tr:n},dom:i}})=>{const c=`url("data:image/svg+xml;utf8,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#000" d="M9 22v-6H4V7q0-1.65 1.175-2.825T8 3h12v13h-5v6zM6 10h12V5h-1v4h-2V5h-1v2h-2V5H8q-.825 0-1.412.588T6 7zm0 4h12v-2H6zm0 0v-2z"/></svg>')}"), auto`;return i.style.cursor=c,t(n.setMeta("painterAction",{type:"start",marks:e})),!0}}},addProseMirrorPlugins(){return[new p.Plugin({key:new p.PluginKey("format-painter"),state:{init:()=>[],apply:(e,t)=>{const n=e.getMeta("painterAction");return n&&n.type==="start"?t=n.marks:n&&n.type==="end"&&(t=[]),t}},props:{handleDOMEvents:{mousedown(e){const t=this.getState(e.state);if(!t||t.length===0)return e.dom.style.cursor="",!1;const n=()=>{document.removeEventListener("mouseup",n);let{dispatch:i,state:{tr:o,selection:r},dom:c}=e;c.style.cursor="",o=o.removeMark(r.from,r.to);for(const l of t)l.type.name!=="link"&&(o=o.addMark(r.from,r.to,l));i(o.setMeta("painterAction",{type:"end"}))};return document.addEventListener("mouseup",n),!0}}}})]}});function Wt({editor:e,...t}){const{t:n}=b.useLocale(),[i,o]=f.useState(-1),[r,c]=f.useState([]),[l,h]=f.useState(""),[u,d]=f.useState(""),[g,_]=f.useState(!1),[x,k]=f.useState(!1);return f.useEffect(()=>{g||(h(""),d(""),o(-1),c([]),e.commands.setSearchTerm(""),e.commands.setReplaceTerm(""))},[e,g]),f.useEffect(()=>{g&&e&&e.commands&&e.commands.setSearchTerm&&e.commands.setSearchTerm(l)},[g,l,e]),f.useEffect(()=>{g&&e&&e.commands&&e.commands.setReplaceTerm&&e.commands.setReplaceTerm(u)},[g,u,e]),f.useEffect(()=>{if(!e)return;const v=e.extensionManager.extensions.find(N=>N.name===ge.name);if(!v)return;const S=()=>{if(!g)return;const N=v?v.storage.currentIndex:-1,w=v?v.storage.results:[];o(y=>y!==N?N:y),c(y=>p.deepEqual(y,w)?y:w)};return s.listenEvent(s.EVENTS.SEARCH_REPLCE,S),()=>{v&&s.listenEvent(s.EVENTS.SEARCH_REPLCE,S)}},[g,e]),a.jsxs(s.Popover,{onOpenChange:_,open:g,children:[a.jsx(s.PopoverTrigger,{asChild:!0,disabled:t==null?void 0:t.disabled,children:a.jsx(s.ActionButton,{disabled:t==null?void 0:t.disabled,isActive:t==null?void 0:t.isActive,tooltip:t==null?void 0:t.tooltip,children:a.jsx(s.IconComponent,{name:t==null?void 0:t.icon})})}),a.jsxs(s.PopoverContent,{align:"start",className:"richtext-w-full",hideWhenDetached:!0,side:"bottom",children:[a.jsxs("div",{className:"richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between",children:[a.jsx(s.Label,{children:n("editor.search.dialog.text")}),a.jsx("span",{className:"richtext-font-semibold",children:r.length>0?`${i+1}/${r.length}`:"0/0"})]}),a.jsxs("div",{className:"richtext-mb-[10px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:[a.jsx(s.Input,{autoFocus:!0,className:"richtext-w-full",onChange:v=>h(v.target.value),placeholder:"Text",required:!0,type:"text",value:l}),a.jsx(s.Button,{className:"richtext-flex-1",disabled:r.length===0,onClick:e.commands.goToPrevSearchResult,children:a.jsx(s.IconComponent,{name:"ChevronUp"})}),a.jsx(s.Button,{className:"richtext-flex-1",disabled:r.length===0,onClick:e.commands.goToNextSearchResult,children:a.jsx(s.IconComponent,{name:"ChevronDown"})})]}),a.jsx(s.Label,{className:"richtext-mb-[6px]",children:n("editor.replace.dialog.text")}),a.jsx("div",{className:"richtext-mb-[5px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:a.jsx("div",{className:"richtext-relative richtext-w-full richtext-max-w-sm richtext-items-center",children:a.jsx(s.Input,{className:"richtext-w-80",onChange:v=>d(v.target.value),placeholder:"Text",required:!0,type:"text",value:u})})}),a.jsxs("div",{className:"richtext-mb-[10px] richtext-flex richtext-items-center richtext-space-x-2",children:[a.jsx(s.Switch,{checked:x,onCheckedChange:v=>{k(v),e.commands.setCaseSensitive(v)}}),a.jsx(s.Label,{children:n("editor.replace.caseSensitive")})]}),a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[a.jsx(s.Button,{className:"richtext-flex-1",disabled:r.length===0,onClick:e.commands.replace,children:n("editor.replace.dialog.text")}),a.jsx(s.Button,{className:"richtext-flex-1",disabled:r.length===0,onClick:e.commands.replaceAll,children:n("editor.replaceAll.dialog.text")})]})]})]})}const F=(e,t)=>t(e.tr);function Gt(e,t,n){return RegExp(t?e.replace(/[$()*+./?[\\\]^{|}-]/g,String.raw`\$&`):e,n?"gu":"gui")}function Zt(e,t,n){const i=[];let o=[];const r=[];let c=0;if(!t)return{decorationsToReturn:[],results:[]};e==null||e.descendants((l,h)=>{l.isText?o[c]?o[c]={text:o[c].text+l.text,pos:o[c].pos}:o[c]={text:`${l.text}`,pos:h}:c+=1}),o=o.filter(Boolean);for(const{text:l,pos:h}of o){const u=[...l.matchAll(t)];for(const d of u){if(d[0]==="")break;d.index!==void 0&&r.push({from:h+d.index,to:h+d.index+d[0].length})}}for(const l of r)i.push(p.Decoration.inline(l.from,l.to,{class:n}));return{decorationsToReturn:i,results:r}}function oe(e,t,{state:n,dispatch:i}){if(!t[0])return;const{from:r,to:c}=t[0];i&&i(n.tr.insertText(e,r,c))}function Jt(e,t,n,i){const o=t+1;if(!i[o])return null;const{from:r,to:c}=i[t],l=c-r-e.length+n,{from:h,to:u}=i[o];return i[o]={to:u-l,from:h-l},[l,i]}function Xt(e,t,{tr:n,dispatch:i}){let o=0,r=t.slice();if(r.length===0)return!1;for(let c=0;c<r.length;c+=1){const{from:l,to:h}=r[c];n.insertText(e,l,h);const u=Jt(e,c,o,r);u&&(o=u[0],r=u[1])}return i(n),!0}function ae({view:e,tr:t,searchResults:n,searchResultCurrentClass:i,gotoIndex:o}){const r=n[o];if(r){const c=t.setMeta("directDecoration",{fromPos:r.from,toPos:r.to,attrs:{class:i}});return e==null||e.dispatch(c),setTimeout(()=>{const l=window.document.querySelector(`.${i}`);l&&X(l,{behavior:"smooth",scrollMode:"if-needed"})},0),!0}return!1}const ge=m.Extension.create({name:"search",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),searchTerm:"",replaceTerm:"",results:[],currentIndex:0,searchResultClass:"search-result",searchResultCurrentClass:"search-result-current",caseSensitive:!1,disableRegex:!1,onChange:()=>{},button:({editor:t,t:n})=>({component:Wt,componentProps:{action:()=>{},icon:"SearchAndReplace",tooltip:n("editor.searchAndReplace.tooltip"),isActive:()=>!1,disabled:!1,editor:t}})}},addStorage(){return{results:[],currentIndex:-1}},addCommands(){return{setSearchTerm:e=>({state:t,dispatch:n})=>(this.options.searchTerm=e,this.storage.results=[],this.storage.currentIndex=0,s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),F(t,n),!1),setReplaceTerm:e=>({state:t,dispatch:n})=>(this.options.replaceTerm=e,F(t,n),!1),setCaseSensitive:e=>({state:t,dispatch:n})=>(this.options.caseSensitive=e,F(t,n),!1),replace:()=>({state:e,dispatch:t})=>{const{replaceTerm:n}=this.options,{currentIndex:i,results:o}=this.storage,r=o[i];return r?(oe(n,[r],{state:e,dispatch:t}),this.storage.results.splice(i,1)):(oe(n,o,{state:e,dispatch:t}),this.storage.results.shift()),s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),F(e,t),!1},replaceAll:()=>({state:e,tr:t,dispatch:n})=>{const{replaceTerm:i}=this.options,{results:o}=this.storage;return Xt(i,o,{tr:t,dispatch:n}),this.storage.currentIndex=-1,this.storage.results=[],s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),F(e,n),!1},goToPrevSearchResult:()=>({view:e,tr:t})=>{const{searchResultCurrentClass:n}=this.options,{currentIndex:i,results:o}=this.storage,r=(i+o.length-1)%o.length;return this.storage.currentIndex=r,s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),ae({view:e,tr:t,searchResults:o,searchResultCurrentClass:n,gotoIndex:r})},goToNextSearchResult:()=>({view:e,tr:t})=>{const{searchResultCurrentClass:n}=this.options,{currentIndex:i,results:o}=this.storage,r=(i+1)%o.length;return this.storage.currentIndex=r,this.options.onChange&&this.options.onChange(),s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),ae({view:e,tr:t,searchResults:o,searchResultCurrentClass:n,gotoIndex:r})}}},addProseMirrorPlugins(){const e=this;return[new p.Plugin({key:new p.PluginKey("search"),state:{init(){return p.DecorationSet.empty},apply(t){const{doc:n,docChanged:i}=t,{searchTerm:o,searchResultClass:r,searchResultCurrentClass:c,disableRegex:l,caseSensitive:h}=e.options;if(i||o){const{decorationsToReturn:u,results:d}=Zt(n,Gt(o,l,h),r);if(e.storage.results=d,e.storage.currentIndex>d.length-1&&(e.storage.currentIndex=0),s.dispatchEvent(s.EVENTS.SEARCH_REPLCE),t.getMeta("directDecoration")){const{fromPos:g,toPos:_,attrs:x}=t.getMeta("directDecoration");u.push(p.Decoration.inline(g,_,x))}else d.length>0&&(u[0]=p.Decoration.inline(d[0].from,d[0].to,{class:c}));return p.DecorationSet.create(n,u)}return p.DecorationSet.empty}},props:{decorations(t){return this.getState(t)}}})]}});function Yt({className:e,...t}){return a.jsx(H.EmojiPicker.Root,{className:s.cn("richtext-bg-popover richtext-text-popover-foreground richtext-isolate richtext-flex richtext-h-full richtext-w-fit richtext-flex-col richtext-overflow-hidden richtext-rounded-md",e),"data-slot":"emoji-picker",...t})}function Qt({className:e,...t}){return a.jsxs("div",{className:s.cn("richtext-flex richtext-h-9 richtext-items-center richtext-gap-2 richtext-border-b richtext-px-3",e),"data-slot":"emoji-picker-search-wrapper",children:[a.jsx(T.SearchIcon,{className:"richtext-size-4 richtext-shrink-0 richtext-opacity-50"}),a.jsx(H.EmojiPicker.Search,{className:"richtext-outline-hidden placeholder:richtext-text-muted-foreground richtext-flex richtext-h-10 richtext-w-full richtext-rounded-md richtext-bg-transparent richtext-py-3 richtext-text-sm disabled:richtext-cursor-not-allowed disabled:richtext-opacity-50","data-slot":"emoji-picker-search",...t})]})}function en({children:e,...t}){return a.jsx("div",{...t,className:"richtext-scroll-my-1 richtext-px-1","data-slot":"emoji-picker-row",children:e})}function tn({emoji:e,className:t,...n}){return a.jsx("button",{...n,className:s.cn("data-[active]:richtext-bg-accent richtext-flex richtext-size-7 richtext-items-center richtext-justify-center richtext-rounded-sm richtext-text-base",t),"data-slot":"emoji-picker-emoji",children:e.emoji})}function nn({category:e,...t}){return a.jsx("div",{...t,className:"richtext-bg-popover richtext-text-muted-foreground richtext-px-3 richtext-pb-2 richtext-pt-3.5 richtext-text-xs richtext-leading-none","data-slot":"emoji-picker-category-header",children:e.label})}function on({className:e,...t}){return a.jsxs(H.EmojiPicker.Viewport,{className:s.cn("richtext-outline-hidden richtext-relative richtext-flex-1",e),"data-slot":"emoji-picker-viewport",...t,children:[a.jsx(H.EmojiPicker.Loading,{className:"richtext-absolute richtext-inset-0 richtext-flex richtext-items-center richtext-justify-center richtext-text-muted-foreground","data-slot":"emoji-picker-loading",children:a.jsx(T.LoaderIcon,{className:"richtext-size-4 richtext-animate-spin"})}),a.jsx(H.EmojiPicker.Empty,{className:"richtext-absolute richtext-inset-0 richtext-flex richtext-items-center richtext-justify-center richtext-text-muted-foreground richtext-text-sm","data-slot":"emoji-picker-empty",children:"No emoji found."}),a.jsx(H.EmojiPicker.List,{className:"richtext-select-none richtext-pb-1",components:{Row:en,Emoji:tn,CategoryHeader:nn},"data-slot":"emoji-picker-list"})]})}function an({className:e,...t}){return a.jsx("div",{className:s.cn("richtext-max-w-(--frimousse-viewport-width) richtext-flex richtext-w-full richtext-min-w-0 richtext-items-center richtext-gap-1 richtext-border-t richtext-p-2",e),"data-slot":"emoji-picker-footer",...t,children:a.jsx(H.EmojiPicker.ActiveEmoji,{children:({emoji:n})=>n?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"richtext-flex richtext-size-7 richtext-flex-none richtext-items-center richtext-justify-center richtext-text-lg",children:n.emoji}),a.jsx("span",{className:"richtext-text-secondary-foreground richtext-truncate richtext-text-xs",children:n.label})]}):a.jsx("span",{className:"richtext-text-muted-foreground richtext-ml-1.5 richtext-flex richtext-h-7 richtext-items-center richtext-truncate richtext-text-xs",children:"Select an emoji…"})})})}function rn({onSelectEmoji:e,children:t}){return a.jsxs(s.Popover,{modal:!0,children:[a.jsx(s.PopoverTrigger,{asChild:!0,children:t}),a.jsx(s.PopoverContent,{align:"start",className:"richtext-size-full richtext-p-2",hideWhenDetached:!0,side:"bottom",children:a.jsxs(Yt,{className:"!richtext-h-[342px]",onEmojiSelect:({emoji:n})=>{e(n)},children:[a.jsx(Qt,{}),a.jsx(on,{}),a.jsx(an,{})]})})]})}function sn({editor:e,icon:t,...n}){const i=f.useCallback(o=>{const{selection:r}=e.state,{$anchor:c}=r;return e.chain().insertContentAt(c.pos,o).run()},[e]);return a.jsx(rn,{onSelectEmoji:i,children:a.jsx(s.ActionButton,{icon:t,tooltip:n==null?void 0:n.tooltip})})}const _e=f.forwardRef((e,t)=>{const n=f.useRef(null),[i,o]=f.useState(0),{t:r}=b.useLocale(),c=d=>{const g=e.items[d];g&&e.command(g)},l=()=>{o((i+e.items.length-1)%e.items.length)},h=()=>{o((i+1)%e.items.length)},u=()=>{c(i)};return f.useEffect(()=>o(0),[e.items]),f.useEffect(()=>{if(Number.isNaN(i+1))return;const d=n.current.querySelector(`span:nth-of-type(${i+1})`);d&&X(d,{behavior:"smooth",scrollMode:"if-needed"})},[i]),f.useImperativeHandle(t,()=>({onKeyDown:({event:d})=>d.key==="ArrowUp"?(l(),!0):d.key==="ArrowDown"?(h(),!0):d.key==="Enter"?(u(),!0):!1})),a.jsx("div",{className:"richtext-max-h-[320px] richtext-w-[200px] richtext-overflow-y-auto richtext-overflow-x-hidden richtext-rounded-sm !richtext-border richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none",children:a.jsx("div",{ref:n,children:e.items.length>0?e.items.map((d,g)=>a.jsxs("span",{className:p.clsx(" richtext-relative richtext-flex richtext-cursor-default richtext-select-none richtext-items-center richtext-rounded-sm richtext-px-2 richtext-py-1.5 richtext-text-sm richtext-outline-none richtext-transition-colors hover:richtext-bg-accent focus:richtext-bg-accent focus:richtext-text-accent-foreground",g===i?"bg-accent":""),onClick:()=>c(g),children:[d.fallbackImage?a.jsx("img",{className:"richtext-size-[1em]",src:d.fallbackImage}):d.emoji,":",d.name,":"]},`emoji-list-code-${g}`)):a.jsx("div",{className:"richtext-relative richtext-flex richtext-cursor-default richtext-select-none richtext-items-center richtext-rounded-sm richtext-px-2 richtext-py-1.5 richtext-text-sm richtext-outline-none richtext-transition-colors",children:a.jsx("span",{children:r("no_result_found")})})})})});_e.displayName="EmojiList";const z={100:"💯",1234:"🔢",grinning:"😀",smiley:"😃",smile:"😄",grin:"😁",laughing:"😆",satisfied:"😆",sweat_smile:"😅",rofl:"🤣",joy:"😂",slightly_smiling_face:"🙂",upside_down_face:"🙃",wink:"😉",blush:"😊",innocent:"😇",smiling_face_with_three_hearts:"🥰",heart_eyes:"😍",star_struck:"🤩",kissing_heart:"😘",kissing:"😗",relaxed:"☺️",kissing_closed_eyes:"😚",kissing_smiling_eyes:"😙",smiling_face_with_tear:"🥲",yum:"😋",stuck_out_tongue:"😛",stuck_out_tongue_winking_eye:"😜",zany_face:"🤪",stuck_out_tongue_closed_eyes:"😝",money_mouth_face:"🤑",hugs:"🤗",hand_over_mouth:"🤭",shushing_face:"🤫",thinking:"🤔",zipper_mouth_face:"🤐",raised_eyebrow:"🤨",neutral_face:"😐",expressionless:"😑",no_mouth:"😶",smirk:"😏",unamused:"😒",roll_eyes:"🙄",grimacing:"😬",lying_face:"🤥",relieved:"😌",pensive:"😔",sleepy:"😪",drooling_face:"🤤",sleeping:"😴",mask:"😷",face_with_thermometer:"🤒",face_with_head_bandage:"🤕",nauseated_face:"🤢",vomiting_face:"🤮",sneezing_face:"🤧",hot_face:"🥵",cold_face:"🥶",woozy_face:"🥴",dizzy_face:"😵",exploding_head:"🤯",cowboy_hat_face:"🤠",partying_face:"🥳",disguised_face:"🥸",sunglasses:"😎",nerd_face:"🤓",monocle_face:"🧐",confused:"😕",worried:"😟",slightly_frowning_face:"🙁",frowning_face:"☹️",open_mouth:"😮",hushed:"😯",astonished:"😲",flushed:"😳",pleading_face:"🥺",frowning:"😦",anguished:"😧",fearful:"😨",cold_sweat:"😰",disappointed_relieved:"😥",cry:"😢",sob:"😭",scream:"😱",confounded:"😖",persevere:"😣",disappointed:"😞",sweat:"😓",weary:"😩",tired_face:"😫",yawning_face:"🥱",triumph:"😤",rage:"😡",pout:"😡",angry:"😠",cursing_face:"🤬",smiling_imp:"😈",imp:"👿",skull:"💀",skull_and_crossbones:"☠️",hankey:"💩",poop:"💩",shit:"💩",clown_face:"🤡",japanese_ogre:"👹",japanese_goblin:"👺",ghost:"👻",alien:"👽",space_invader:"👾",robot:"🤖",smiley_cat:"😺",smile_cat:"😸",joy_cat:"😹",heart_eyes_cat:"😻",smirk_cat:"😼",kissing_cat:"😽",scream_cat:"🙀",crying_cat_face:"😿",pouting_cat:"😾",see_no_evil:"🙈",hear_no_evil:"🙉",speak_no_evil:"🙊",kiss:"💋",love_letter:"💌",cupid:"💘",gift_heart:"💝",sparkling_heart:"💖",heartpulse:"💗",heartbeat:"💓",revolving_hearts:"💞",two_hearts:"💕",heart_decoration:"💟",heavy_heart_exclamation:"❣️",broken_heart:"💔",heart:"❤️",orange_heart:"🧡",yellow_heart:"💛",green_heart:"💚",blue_heart:"💙",purple_heart:"💜",brown_heart:"🤎",black_heart:"🖤",white_heart:"🤍",anger:"💢",boom:"💥",collision:"💥",dizzy:"💫",sweat_drops:"💦",dash:"💨",hole:"🕳️",bomb:"💣",speech_balloon:"💬",eye_speech_bubble:"👁️‍🗨️",left_speech_bubble:"🗨️",right_anger_bubble:"🗯️",thought_balloon:"💭",zzz:"💤",wave:"👋",raised_back_of_hand:"🤚",raised_hand_with_fingers_splayed:"🖐️",hand:"✋",raised_hand:"✋",vulcan_salute:"🖖",ok_hand:"👌",pinched_fingers:"🤌",pinching_hand:"🤏",v:"✌️",crossed_fingers:"🤞",love_you_gesture:"🤟",metal:"🤘",call_me_hand:"🤙",point_left:"👈",point_right:"👉",point_up_2:"👆",middle_finger:"🖕",fu:"🖕",point_down:"👇",point_up:"☝️","+1":"👍",thumbsup:"👍","-1":"👎",thumbsdown:"👎",fist_raised:"✊",fist:"✊",fist_oncoming:"👊",facepunch:"👊",punch:"👊",fist_left:"🤛",fist_right:"🤜",clap:"👏",raised_hands:"🙌",open_hands:"👐",palms_up_together:"🤲",handshake:"🤝",pray:"🙏",writing_hand:"✍️",nail_care:"💅",selfie:"🤳",muscle:"💪",mechanical_arm:"🦾",mechanical_leg:"🦿",leg:"🦵",foot:"🦶",ear:"👂",ear_with_hearing_aid:"🦻",nose:"👃",brain:"🧠",anatomical_heart:"🫀",lungs:"🫁",tooth:"🦷",bone:"🦴",eyes:"👀",eye:"👁️",tongue:"👅",lips:"👄",baby:"👶",child:"🧒",boy:"👦",girl:"👧",adult:"🧑",blond_haired_person:"👱",man:"👨",bearded_person:"🧔",red_haired_man:"👨‍🦰",curly_haired_man:"👨‍🦱",white_haired_man:"👨‍🦳",bald_man:"👨‍🦲",woman:"👩",red_haired_woman:"👩‍🦰",person_red_hair:"🧑‍🦰",curly_haired_woman:"👩‍🦱",person_curly_hair:"🧑‍🦱",white_haired_woman:"👩‍🦳",person_white_hair:"🧑‍🦳",bald_woman:"👩‍🦲",person_bald:"🧑‍🦲",blond_haired_woman:"👱‍♀️",blonde_woman:"👱‍♀️",blond_haired_man:"👱‍♂️",older_adult:"🧓",older_man:"👴",older_woman:"👵",frowning_person:"🙍",frowning_man:"🙍‍♂️",frowning_woman:"🙍‍♀️",pouting_face:"🙎",pouting_man:"🙎‍♂️",pouting_woman:"🙎‍♀️",no_good:"🙅",no_good_man:"🙅‍♂️",ng_man:"🙅‍♂️",no_good_woman:"🙅‍♀️",ng_woman:"🙅‍♀️",ok_person:"🙆",ok_man:"🙆‍♂️",ok_woman:"🙆‍♀️",tipping_hand_person:"💁",information_desk_person:"💁",tipping_hand_man:"💁‍♂️",sassy_man:"💁‍♂️",tipping_hand_woman:"💁‍♀️",sassy_woman:"💁‍♀️",raising_hand:"🙋",raising_hand_man:"🙋‍♂️",raising_hand_woman:"🙋‍♀️",deaf_person:"🧏",deaf_man:"🧏‍♂️",deaf_woman:"🧏‍♀️",bow:"🙇",bowing_man:"🙇‍♂️",bowing_woman:"🙇‍♀️",facepalm:"🤦",man_facepalming:"🤦‍♂️",woman_facepalming:"🤦‍♀️",shrug:"🤷",man_shrugging:"🤷‍♂️",woman_shrugging:"🤷‍♀️",health_worker:"🧑‍⚕️",man_health_worker:"👨‍⚕️",woman_health_worker:"👩‍⚕️",student:"🧑‍🎓",man_student:"👨‍🎓",woman_student:"👩‍🎓",teacher:"🧑‍🏫",man_teacher:"👨‍🏫",woman_teacher:"👩‍🏫",judge:"🧑‍⚖️",man_judge:"👨‍⚖️",woman_judge:"👩‍⚖️",farmer:"🧑‍🌾",man_farmer:"👨‍🌾",woman_farmer:"👩‍🌾",cook:"🧑‍🍳",man_cook:"👨‍🍳",woman_cook:"👩‍🍳",mechanic:"🧑‍🔧",man_mechanic:"👨‍🔧",woman_mechanic:"👩‍🔧",factory_worker:"🧑‍🏭",man_factory_worker:"👨‍🏭",woman_factory_worker:"👩‍🏭",office_worker:"🧑‍💼",man_office_worker:"👨‍💼",woman_office_worker:"👩‍💼",scientist:"🧑‍🔬",man_scientist:"👨‍🔬",woman_scientist:"👩‍🔬",technologist:"🧑‍💻",man_technologist:"👨‍💻",woman_technologist:"👩‍💻",singer:"🧑‍🎤",man_singer:"👨‍🎤",woman_singer:"👩‍🎤",artist:"🧑‍🎨",man_artist:"👨‍🎨",woman_artist:"👩‍🎨",pilot:"🧑‍✈️",man_pilot:"👨‍✈️",woman_pilot:"👩‍✈️",astronaut:"🧑‍🚀",man_astronaut:"👨‍🚀",woman_astronaut:"👩‍🚀",firefighter:"🧑‍🚒",man_firefighter:"👨‍🚒",woman_firefighter:"👩‍🚒",police_officer:"👮",cop:"👮",policeman:"👮‍♂️",policewoman:"👮‍♀️",detective:"🕵️",male_detective:"🕵️‍♂️",female_detective:"🕵️‍♀️",guard:"💂",guardsman:"💂‍♂️",guardswoman:"💂‍♀️",ninja:"🥷",construction_worker:"👷",construction_worker_man:"👷‍♂️",construction_worker_woman:"👷‍♀️",prince:"🤴",princess:"👸",person_with_turban:"👳",man_with_turban:"👳‍♂️",woman_with_turban:"👳‍♀️",man_with_gua_pi_mao:"👲",woman_with_headscarf:"🧕",person_in_tuxedo:"🤵",man_in_tuxedo:"🤵‍♂️",woman_in_tuxedo:"🤵‍♀️",person_with_veil:"👰",man_with_veil:"👰‍♂️",woman_with_veil:"👰‍♀️",bride_with_veil:"👰‍♀️",pregnant_woman:"🤰",breast_feeding:"🤱",woman_feeding_baby:"👩‍🍼",man_feeding_baby:"👨‍🍼",person_feeding_baby:"🧑‍🍼",angel:"👼",santa:"🎅",mrs_claus:"🤶",mx_claus:"🧑‍🎄",superhero:"🦸",superhero_man:"🦸‍♂️",superhero_woman:"🦸‍♀️",supervillain:"🦹",supervillain_man:"🦹‍♂️",supervillain_woman:"🦹‍♀️",mage:"🧙",mage_man:"🧙‍♂️",mage_woman:"🧙‍♀️",fairy:"🧚",fairy_man:"🧚‍♂️",fairy_woman:"🧚‍♀️",vampire:"🧛",vampire_man:"🧛‍♂️",vampire_woman:"🧛‍♀️",merperson:"🧜",merman:"🧜‍♂️",mermaid:"🧜‍♀️",elf:"🧝",elf_man:"🧝‍♂️",elf_woman:"🧝‍♀️",genie:"🧞",genie_man:"🧞‍♂️",genie_woman:"🧞‍♀️",zombie:"🧟",zombie_man:"🧟‍♂️",zombie_woman:"🧟‍♀️",massage:"💆",massage_man:"💆‍♂️",massage_woman:"💆‍♀️",haircut:"💇",haircut_man:"💇‍♂️",haircut_woman:"💇‍♀️",walking:"🚶",walking_man:"🚶‍♂️",walking_woman:"🚶‍♀️",standing_person:"🧍",standing_man:"🧍‍♂️",standing_woman:"🧍‍♀️",kneeling_person:"🧎",kneeling_man:"🧎‍♂️",kneeling_woman:"🧎‍♀️",person_with_probing_cane:"🧑‍🦯",man_with_probing_cane:"👨‍🦯",woman_with_probing_cane:"👩‍🦯",person_in_motorized_wheelchair:"🧑‍🦼",man_in_motorized_wheelchair:"👨‍🦼",woman_in_motorized_wheelchair:"👩‍🦼",person_in_manual_wheelchair:"🧑‍🦽",man_in_manual_wheelchair:"👨‍🦽",woman_in_manual_wheelchair:"👩‍🦽",runner:"🏃",running:"🏃",running_man:"🏃‍♂️",running_woman:"🏃‍♀️",woman_dancing:"💃",dancer:"💃",man_dancing:"🕺",business_suit_levitating:"🕴️",dancers:"👯",dancing_men:"👯‍♂️",dancing_women:"👯‍♀️",sauna_person:"🧖",sauna_man:"🧖‍♂️",sauna_woman:"🧖‍♀️",climbing:"🧗",climbing_man:"🧗‍♂️",climbing_woman:"🧗‍♀️",person_fencing:"🤺",horse_racing:"🏇",skier:"⛷️",snowboarder:"🏂",golfing:"🏌️",golfing_man:"🏌️‍♂️",golfing_woman:"🏌️‍♀️",surfer:"🏄",surfing_man:"🏄‍♂️",surfing_woman:"🏄‍♀️",rowboat:"🚣",rowing_man:"🚣‍♂️",rowing_woman:"🚣‍♀️",swimmer:"🏊",swimming_man:"🏊‍♂️",swimming_woman:"🏊‍♀️",bouncing_ball_person:"⛹️",bouncing_ball_man:"⛹️‍♂️",basketball_man:"⛹️‍♂️",bouncing_ball_woman:"⛹️‍♀️",basketball_woman:"⛹️‍♀️",weight_lifting:"🏋️",weight_lifting_man:"🏋️‍♂️",weight_lifting_woman:"🏋️‍♀️",bicyclist:"🚴",biking_man:"🚴‍♂️",biking_woman:"🚴‍♀️",mountain_bicyclist:"🚵",mountain_biking_man:"🚵‍♂️",mountain_biking_woman:"🚵‍♀️",cartwheeling:"🤸",man_cartwheeling:"🤸‍♂️",woman_cartwheeling:"🤸‍♀️",wrestling:"🤼",men_wrestling:"🤼‍♂️",women_wrestling:"🤼‍♀️",water_polo:"🤽",man_playing_water_polo:"🤽‍♂️",woman_playing_water_polo:"🤽‍♀️",handball_person:"🤾",man_playing_handball:"🤾‍♂️",woman_playing_handball:"🤾‍♀️",juggling_person:"🤹",man_juggling:"🤹‍♂️",woman_juggling:"🤹‍♀️",lotus_position:"🧘",lotus_position_man:"🧘‍♂️",lotus_position_woman:"🧘‍♀️",bath:"🛀",sleeping_bed:"🛌",people_holding_hands:"🧑‍🤝‍🧑",two_women_holding_hands:"👭",couple:"👫",two_men_holding_hands:"👬",couplekiss:"💏",couplekiss_man_woman:"👩‍❤️‍💋‍👨",couplekiss_man_man:"👨‍❤️‍💋‍👨",couplekiss_woman_woman:"👩‍❤️‍💋‍👩",couple_with_heart:"💑",couple_with_heart_woman_man:"👩‍❤️‍👨",couple_with_heart_man_man:"👨‍❤️‍👨",couple_with_heart_woman_woman:"👩‍❤️‍👩",family:"👪",family_man_woman_boy:"👨‍👩‍👦",family_man_woman_girl:"👨‍👩‍👧",family_man_woman_girl_boy:"👨‍👩‍👧‍👦",family_man_woman_boy_boy:"👨‍👩‍👦‍👦",family_man_woman_girl_girl:"👨‍👩‍👧‍👧",family_man_man_boy:"👨‍👨‍👦",family_man_man_girl:"👨‍👨‍👧",family_man_man_girl_boy:"👨‍👨‍👧‍👦",family_man_man_boy_boy:"👨‍👨‍👦‍👦",family_man_man_girl_girl:"👨‍👨‍👧‍👧",family_woman_woman_boy:"👩‍👩‍👦",family_woman_woman_girl:"👩‍👩‍👧",family_woman_woman_girl_boy:"👩‍👩‍👧‍👦",family_woman_woman_boy_boy:"👩‍👩‍👦‍👦",family_woman_woman_girl_girl:"👩‍👩‍👧‍👧",family_man_boy:"👨‍👦",family_man_boy_boy:"👨‍👦‍👦",family_man_girl:"👨‍👧",family_man_girl_boy:"👨‍👧‍👦",family_man_girl_girl:"👨‍👧‍👧",family_woman_boy:"👩‍👦",family_woman_boy_boy:"👩‍👦‍👦",family_woman_girl:"👩‍👧",family_woman_girl_boy:"👩‍👧‍👦",family_woman_girl_girl:"👩‍👧‍👧",speaking_head:"🗣️",bust_in_silhouette:"👤",busts_in_silhouette:"👥",people_hugging:"🫂",footprints:"👣",monkey_face:"🐵",monkey:"🐒",gorilla:"🦍",orangutan:"🦧",dog:"🐶",dog2:"🐕",guide_dog:"🦮",service_dog:"🐕‍🦺",poodle:"🐩",wolf:"🐺",fox_face:"🦊",raccoon:"🦝",cat:"🐱",cat2:"🐈",black_cat:"🐈‍⬛",lion:"🦁",tiger:"🐯",tiger2:"🐅",leopard:"🐆",horse:"🐴",racehorse:"🐎",unicorn:"🦄",zebra:"🦓",deer:"🦌",bison:"🦬",cow:"🐮",ox:"🐂",water_buffalo:"🐃",cow2:"🐄",pig:"🐷",pig2:"🐖",boar:"🐗",pig_nose:"🐽",ram:"🐏",sheep:"🐑",goat:"🐐",dromedary_camel:"🐪",camel:"🐫",llama:"🦙",giraffe:"🦒",elephant:"🐘",mammoth:"🦣",rhinoceros:"🦏",hippopotamus:"🦛",mouse:"🐭",mouse2:"🐁",rat:"🐀",hamster:"🐹",rabbit:"🐰",rabbit2:"🐇",chipmunk:"🐿️",beaver:"🦫",hedgehog:"🦔",bat:"🦇",bear:"🐻",polar_bear:"🐻‍❄️",koala:"🐨",panda_face:"🐼",sloth:"🦥",otter:"🦦",skunk:"🦨",kangaroo:"🦘",badger:"🦡",feet:"🐾",paw_prints:"🐾",turkey:"🦃",chicken:"🐔",rooster:"🐓",hatching_chick:"🐣",baby_chick:"🐤",hatched_chick:"🐥",bird:"🐦",penguin:"🐧",dove:"🕊️",eagle:"🦅",duck:"🦆",swan:"🦢",owl:"🦉",dodo:"🦤",feather:"🪶",flamingo:"🦩",peacock:"🦚",parrot:"🦜",frog:"🐸",crocodile:"🐊",turtle:"🐢",lizard:"🦎",snake:"🐍",dragon_face:"🐲",dragon:"🐉",sauropod:"🦕","t-rex":"🦖",whale:"🐳",whale2:"🐋",dolphin:"🐬",flipper:"🐬",seal:"🦭",fish:"🐟",tropical_fish:"🐠",blowfish:"🐡",shark:"🦈",octopus:"🐙",shell:"🐚",snail:"🐌",butterfly:"🦋",bug:"🐛",ant:"🐜",bee:"🐝",honeybee:"🐝",beetle:"🪲",lady_beetle:"🐞",cricket:"🦗",cockroach:"🪳",spider:"🕷️",spider_web:"🕸️",scorpion:"🦂",mosquito:"🦟",fly:"🪰",worm:"🪱",microbe:"🦠",bouquet:"💐",cherry_blossom:"🌸",white_flower:"💮",rosette:"🏵️",rose:"🌹",wilted_flower:"🥀",hibiscus:"🌺",sunflower:"🌻",blossom:"🌼",tulip:"🌷",seedling:"🌱",potted_plant:"🪴",evergreen_tree:"🌲",deciduous_tree:"🌳",palm_tree:"🌴",cactus:"🌵",ear_of_rice:"🌾",herb:"🌿",shamrock:"☘️",four_leaf_clover:"🍀",maple_leaf:"🍁",fallen_leaf:"🍂",leaves:"🍃",grapes:"🍇",melon:"🍈",watermelon:"🍉",tangerine:"🍊",orange:"🍊",mandarin:"🍊",lemon:"🍋",banana:"🍌",pineapple:"🍍",mango:"🥭",apple:"🍎",green_apple:"🍏",pear:"🍐",peach:"🍑",cherries:"🍒",strawberry:"🍓",blueberries:"🫐",kiwi_fruit:"🥝",tomato:"🍅",olive:"🫒",coconut:"🥥",avocado:"🥑",eggplant:"🍆",potato:"🥔",carrot:"🥕",corn:"🌽",hot_pepper:"🌶️",bell_pepper:"🫑",cucumber:"🥒",leafy_green:"🥬",broccoli:"🥦",garlic:"🧄",onion:"🧅",mushroom:"🍄",peanuts:"🥜",chestnut:"🌰",bread:"🍞",croissant:"🥐",baguette_bread:"🥖",flatbread:"🫓",pretzel:"🥨",bagel:"🥯",pancakes:"🥞",waffle:"🧇",cheese:"🧀",meat_on_bone:"🍖",poultry_leg:"🍗",cut_of_meat:"🥩",bacon:"🥓",hamburger:"🍔",fries:"🍟",pizza:"🍕",hotdog:"🌭",sandwich:"🥪",taco:"🌮",burrito:"🌯",tamale:"🫔",stuffed_flatbread:"🥙",falafel:"🧆",egg:"🥚",fried_egg:"🍳",shallow_pan_of_food:"🥘",stew:"🍲",fondue:"🫕",bowl_with_spoon:"🥣",green_salad:"🥗",popcorn:"🍿",butter:"🧈",salt:"🧂",canned_food:"🥫",bento:"🍱",rice_cracker:"🍘",rice_ball:"🍙",rice:"🍚",curry:"🍛",ramen:"🍜",spaghetti:"🍝",sweet_potato:"🍠",oden:"🍢",sushi:"🍣",fried_shrimp:"🍤",fish_cake:"🍥",moon_cake:"🥮",dango:"🍡",dumpling:"🥟",fortune_cookie:"🥠",takeout_box:"🥡",crab:"🦀",lobster:"🦞",shrimp:"🦐",squid:"🦑",oyster:"🦪",icecream:"🍦",shaved_ice:"🍧",ice_cream:"🍨",doughnut:"🍩",cookie:"🍪",birthday:"🎂",cake:"🍰",cupcake:"🧁",pie:"🥧",chocolate_bar:"🍫",candy:"🍬",lollipop:"🍭",custard:"🍮",honey_pot:"🍯",baby_bottle:"🍼",milk_glass:"🥛",coffee:"☕",teapot:"🫖",tea:"🍵",sake:"🍶",champagne:"🍾",wine_glass:"🍷",cocktail:"🍸",tropical_drink:"🍹",beer:"🍺",beers:"🍻",clinking_glasses:"🥂",tumbler_glass:"🥃",cup_with_straw:"🥤",bubble_tea:"🧋",beverage_box:"🧃",mate:"🧉",ice_cube:"🧊",chopsticks:"🥢",plate_with_cutlery:"🍽️",fork_and_knife:"🍴",spoon:"🥄",hocho:"🔪",knife:"🔪",amphora:"🏺",earth_africa:"🌍",earth_americas:"🌎",earth_asia:"🌏",globe_with_meridians:"🌐",world_map:"🗺️",japan:"🗾",compass:"🧭",mountain_snow:"🏔️",mountain:"⛰️",volcano:"🌋",mount_fuji:"🗻",camping:"🏕️",beach_umbrella:"🏖️",desert:"🏜️",desert_island:"🏝️",national_park:"🏞️",stadium:"🏟️",classical_building:"🏛️",building_construction:"🏗️",bricks:"🧱",rock:"🪨",wood:"🪵",hut:"🛖",houses:"🏘️",derelict_house:"🏚️",house:"🏠",house_with_garden:"🏡",office:"🏢",post_office:"🏣",european_post_office:"🏤",hospital:"🏥",bank:"🏦",hotel:"🏨",love_hotel:"🏩",convenience_store:"🏪",school:"🏫",department_store:"🏬",factory:"🏭",japanese_castle:"🏯",european_castle:"🏰",wedding:"💒",tokyo_tower:"🗼",statue_of_liberty:"🗽",church:"⛪",mosque:"🕌",hindu_temple:"🛕",synagogue:"🕍",shinto_shrine:"⛩️",kaaba:"🕋",fountain:"⛲",tent:"⛺",foggy:"🌁",night_with_stars:"🌃",cityscape:"🏙️",sunrise_over_mountains:"🌄",sunrise:"🌅",city_sunset:"🌆",city_sunrise:"🌇",bridge_at_night:"🌉",hotsprings:"♨️",carousel_horse:"🎠",ferris_wheel:"🎡",roller_coaster:"🎢",barber:"💈",circus_tent:"🎪",steam_locomotive:"🚂",railway_car:"🚃",bullettrain_side:"🚄",bullettrain_front:"🚅",train2:"🚆",metro:"🚇",light_rail:"🚈",station:"🚉",tram:"🚊",monorail:"🚝",mountain_railway:"🚞",train:"🚋",bus:"🚌",oncoming_bus:"🚍",trolleybus:"🚎",minibus:"🚐",ambulance:"🚑",fire_engine:"🚒",police_car:"🚓",oncoming_police_car:"🚔",taxi:"🚕",oncoming_taxi:"🚖",car:"🚗",red_car:"🚗",oncoming_automobile:"🚘",blue_car:"🚙",pickup_truck:"🛻",truck:"🚚",articulated_lorry:"🚛",tractor:"🚜",racing_car:"🏎️",motorcycle:"🏍️",motor_scooter:"🛵",manual_wheelchair:"🦽",motorized_wheelchair:"🦼",auto_rickshaw:"🛺",bike:"🚲",kick_scooter:"🛴",skateboard:"🛹",roller_skate:"🛼",busstop:"🚏",motorway:"🛣️",railway_track:"🛤️",oil_drum:"🛢️",fuelpump:"⛽",rotating_light:"🚨",traffic_light:"🚥",vertical_traffic_light:"🚦",stop_sign:"🛑",construction:"🚧",anchor:"⚓",boat:"⛵",sailboat:"⛵",canoe:"🛶",speedboat:"🚤",passenger_ship:"🛳️",ferry:"⛴️",motor_boat:"🛥️",ship:"🚢",airplane:"✈️",small_airplane:"🛩️",flight_departure:"🛫",flight_arrival:"🛬",parachute:"🪂",seat:"💺",helicopter:"🚁",suspension_railway:"🚟",mountain_cableway:"🚠",aerial_tramway:"🚡",artificial_satellite:"🛰️",rocket:"🚀",flying_saucer:"🛸",bellhop_bell:"🛎️",luggage:"🧳",hourglass:"⌛",hourglass_flowing_sand:"⏳",watch:"⌚",alarm_clock:"⏰",stopwatch:"⏱️",timer_clock:"⏲️",mantelpiece_clock:"🕰️",clock12:"🕛",clock1230:"🕧",clock1:"🕐",clock130:"🕜",clock2:"🕑",clock230:"🕝",clock3:"🕒",clock330:"🕞",clock4:"🕓",clock430:"🕟",clock5:"🕔",clock530:"🕠",clock6:"🕕",clock630:"🕡",clock7:"🕖",clock730:"🕢",clock8:"🕗",clock830:"🕣",clock9:"🕘",clock930:"🕤",clock10:"🕙",clock1030:"🕥",clock11:"🕚",clock1130:"🕦",new_moon:"🌑",waxing_crescent_moon:"🌒",first_quarter_moon:"🌓",moon:"🌔",waxing_gibbous_moon:"🌔",full_moon:"🌕",waning_gibbous_moon:"🌖",last_quarter_moon:"🌗",waning_crescent_moon:"🌘",crescent_moon:"🌙",new_moon_with_face:"🌚",first_quarter_moon_with_face:"🌛",last_quarter_moon_with_face:"🌜",thermometer:"🌡️",sunny:"☀️",full_moon_with_face:"🌝",sun_with_face:"🌞",ringed_planet:"🪐",star:"⭐",star2:"🌟",stars:"🌠",milky_way:"🌌",cloud:"☁️",partly_sunny:"⛅",cloud_with_lightning_and_rain:"⛈️",sun_behind_small_cloud:"🌤️",sun_behind_large_cloud:"🌥️",sun_behind_rain_cloud:"🌦️",cloud_with_rain:"🌧️",cloud_with_snow:"🌨️",cloud_with_lightning:"🌩️",tornado:"🌪️",fog:"🌫️",wind_face:"🌬️",cyclone:"🌀",rainbow:"🌈",closed_umbrella:"🌂",open_umbrella:"☂️",umbrella:"☔",parasol_on_ground:"⛱️",zap:"⚡",snowflake:"❄️",snowman_with_snow:"☃️",snowman:"⛄",comet:"☄️",fire:"🔥",droplet:"💧",ocean:"🌊",jack_o_lantern:"🎃",christmas_tree:"🎄",fireworks:"🎆",sparkler:"🎇",firecracker:"🧨",sparkles:"✨",balloon:"🎈",tada:"🎉",confetti_ball:"🎊",tanabata_tree:"🎋",bamboo:"🎍",dolls:"🎎",flags:"🎏",wind_chime:"🎐",rice_scene:"🎑",red_envelope:"🧧",ribbon:"🎀",gift:"🎁",reminder_ribbon:"🎗️",tickets:"🎟️",ticket:"🎫",medal_military:"🎖️",trophy:"🏆",medal_sports:"🏅","1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉",soccer:"⚽",baseball:"⚾",softball:"🥎",basketball:"🏀",volleyball:"🏐",football:"🏈",rugby_football:"🏉",tennis:"🎾",flying_disc:"🥏",bowling:"🎳",cricket_game:"🏏",field_hockey:"🏑",ice_hockey:"🏒",lacrosse:"🥍",ping_pong:"🏓",badminton:"🏸",boxing_glove:"🥊",martial_arts_uniform:"🥋",goal_net:"🥅",golf:"⛳",ice_skate:"⛸️",fishing_pole_and_fish:"🎣",diving_mask:"🤿",running_shirt_with_sash:"🎽",ski:"🎿",sled:"🛷",curling_stone:"🥌",dart:"🎯",yo_yo:"🪀",kite:"🪁","8ball":"🎱",crystal_ball:"🔮",magic_wand:"🪄",nazar_amulet:"🧿",video_game:"🎮",joystick:"🕹️",slot_machine:"🎰",game_die:"🎲",jigsaw:"🧩",teddy_bear:"🧸",pinata:"🪅",nesting_dolls:"🪆",spades:"♠️",hearts:"♥️",diamonds:"♦️",clubs:"♣️",chess_pawn:"♟️",black_joker:"🃏",mahjong:"🀄",flower_playing_cards:"🎴",performing_arts:"🎭",framed_picture:"🖼️",art:"🎨",thread:"🧵",sewing_needle:"🪡",yarn:"🧶",knot:"🪢",eyeglasses:"👓",dark_sunglasses:"🕶️",goggles:"🥽",lab_coat:"🥼",safety_vest:"🦺",necktie:"👔",shirt:"👕",tshirt:"👕",jeans:"👖",scarf:"🧣",gloves:"🧤",coat:"🧥",socks:"🧦",dress:"👗",kimono:"👘",sari:"🥻",one_piece_swimsuit:"🩱",swim_brief:"🩲",shorts:"🩳",bikini:"👙",womans_clothes:"👚",purse:"👛",handbag:"👜",pouch:"👝",shopping:"🛍️",school_satchel:"🎒",thong_sandal:"🩴",mans_shoe:"👞",shoe:"👞",athletic_shoe:"👟",hiking_boot:"🥾",flat_shoe:"🥿",high_heel:"👠",sandal:"👡",ballet_shoes:"🩰",boot:"👢",crown:"👑",womans_hat:"👒",tophat:"🎩",mortar_board:"🎓",billed_cap:"🧢",military_helmet:"🪖",rescue_worker_helmet:"⛑️",prayer_beads:"📿",lipstick:"💄",ring:"💍",gem:"💎",mute:"🔇",speaker:"🔈",sound:"🔉",loud_sound:"🔊",loudspeaker:"📢",mega:"📣",postal_horn:"📯",bell:"🔔",no_bell:"🔕",musical_score:"🎼",musical_note:"🎵",notes:"🎶",studio_microphone:"🎙️",level_slider:"🎚️",control_knobs:"🎛️",microphone:"🎤",headphones:"🎧",radio:"📻",saxophone:"🎷",accordion:"🪗",guitar:"🎸",musical_keyboard:"🎹",trumpet:"🎺",violin:"🎻",banjo:"🪕",drum:"🥁",long_drum:"🪘",iphone:"📱",calling:"📲",phone:"☎️",telephone:"☎️",telephone_receiver:"📞",pager:"📟",fax:"📠",battery:"🔋",electric_plug:"🔌",computer:"💻",desktop_computer:"🖥️",printer:"🖨️",keyboard:"⌨️",computer_mouse:"🖱️",trackball:"🖲️",minidisc:"💽",floppy_disk:"💾",cd:"💿",dvd:"📀",abacus:"🧮",movie_camera:"🎥",film_strip:"🎞️",film_projector:"📽️",clapper:"🎬",tv:"📺",camera:"📷",camera_flash:"📸",video_camera:"📹",vhs:"📼",mag:"🔍",mag_right:"🔎",candle:"🕯️",bulb:"💡",flashlight:"🔦",izakaya_lantern:"🏮",lantern:"🏮",diya_lamp:"🪔",notebook_with_decorative_cover:"📔",closed_book:"📕",book:"📖",open_book:"📖",green_book:"📗",blue_book:"📘",orange_book:"📙",books:"📚",notebook:"📓",ledger:"📒",page_with_curl:"📃",scroll:"📜",page_facing_up:"📄",newspaper:"📰",newspaper_roll:"🗞️",bookmark_tabs:"📑",bookmark:"🔖",label:"🏷️",moneybag:"💰",coin:"🪙",yen:"💴",dollar:"💵",euro:"💶",pound:"💷",money_with_wings:"💸",credit_card:"💳",receipt:"🧾",chart:"💹",envelope:"✉️",email:"📧","e-mail":"📧",incoming_envelope:"📨",envelope_with_arrow:"📩",outbox_tray:"📤",inbox_tray:"📥",package:"📦",mailbox:"📫",mailbox_closed:"📪",mailbox_with_mail:"📬",mailbox_with_no_mail:"📭",postbox:"📮",ballot_box:"🗳️",pencil2:"✏️",black_nib:"✒️",fountain_pen:"🖋️",pen:"🖊️",paintbrush:"🖌️",crayon:"🖍️",memo:"📝",pencil:"📝",briefcase:"💼",file_folder:"📁",open_file_folder:"📂",card_index_dividers:"🗂️",date:"📅",calendar:"📆",spiral_notepad:"🗒️",spiral_calendar:"🗓️",card_index:"📇",chart_with_upwards_trend:"📈",chart_with_downwards_trend:"📉",bar_chart:"📊",clipboard:"📋",pushpin:"📌",round_pushpin:"📍",paperclip:"📎",paperclips:"🖇️",straight_ruler:"📏",triangular_ruler:"📐",scissors:"✂️",card_file_box:"🗃️",file_cabinet:"🗄️",wastebasket:"🗑️",lock:"🔒",unlock:"🔓",lock_with_ink_pen:"🔏",closed_lock_with_key:"🔐",key:"🔑",old_key:"🗝️",hammer:"🔨",axe:"🪓",pick:"⛏️",hammer_and_pick:"⚒️",hammer_and_wrench:"🛠️",dagger:"🗡️",crossed_swords:"⚔️",gun:"🔫",boomerang:"🪃",bow_and_arrow:"🏹",shield:"🛡️",carpentry_saw:"🪚",wrench:"🔧",screwdriver:"🪛",nut_and_bolt:"🔩",gear:"⚙️",clamp:"🗜️",balance_scale:"⚖️",probing_cane:"🦯",link:"🔗",chains:"⛓️",hook:"🪝",toolbox:"🧰",magnet:"🧲",ladder:"🪜",alembic:"⚗️",test_tube:"🧪",petri_dish:"🧫",dna:"🧬",microscope:"🔬",telescope:"🔭",satellite:"📡",syringe:"💉",drop_of_blood:"🩸",pill:"💊",adhesive_bandage:"🩹",stethoscope:"🩺",door:"🚪",elevator:"🛗",mirror:"🪞",window:"🪟",bed:"🛏️",couch_and_lamp:"🛋️",chair:"🪑",toilet:"🚽",plunger:"🪠",shower:"🚿",bathtub:"🛁",mouse_trap:"🪤",razor:"🪒",lotion_bottle:"🧴",safety_pin:"🧷",broom:"🧹",basket:"🧺",roll_of_paper:"🧻",bucket:"🪣",soap:"🧼",toothbrush:"🪥",sponge:"🧽",fire_extinguisher:"🧯",shopping_cart:"🛒",smoking:"🚬",coffin:"⚰️",headstone:"🪦",funeral_urn:"⚱️",moyai:"🗿",placard:"🪧",atm:"🏧",put_litter_in_its_place:"🚮",potable_water:"🚰",wheelchair:"♿",mens:"🚹",womens:"🚺",restroom:"🚻",baby_symbol:"🚼",wc:"🚾",passport_control:"🛂",customs:"🛃",baggage_claim:"🛄",left_luggage:"🛅",warning:"⚠️",children_crossing:"🚸",no_entry:"⛔",no_entry_sign:"🚫",no_bicycles:"🚳",no_smoking:"🚭",do_not_litter:"🚯","non-potable_water":"🚱",no_pedestrians:"🚷",no_mobile_phones:"📵",underage:"🔞",radioactive:"☢️",biohazard:"☣️",arrow_up:"⬆️",arrow_upper_right:"↗️",arrow_right:"➡️",arrow_lower_right:"↘️",arrow_down:"⬇️",arrow_lower_left:"↙️",arrow_left:"⬅️",arrow_upper_left:"↖️",arrow_up_down:"↕️",left_right_arrow:"↔️",leftwards_arrow_with_hook:"↩️",arrow_right_hook:"↪️",arrow_heading_up:"⤴️",arrow_heading_down:"⤵️",arrows_clockwise:"🔃",arrows_counterclockwise:"🔄",back:"🔙",end:"🔚",on:"🔛",soon:"🔜",top:"🔝",place_of_worship:"🛐",atom_symbol:"⚛️",om:"🕉️",star_of_david:"✡️",wheel_of_dharma:"☸️",yin_yang:"☯️",latin_cross:"✝️",orthodox_cross:"☦️",star_and_crescent:"☪️",peace_symbol:"☮️",menorah:"🕎",six_pointed_star:"🔯",aries:"♈",taurus:"♉",gemini:"♊",cancer:"♋",leo:"♌",virgo:"♍",libra:"♎",scorpius:"♏",sagittarius:"♐",capricorn:"♑",aquarius:"♒",pisces:"♓",ophiuchus:"⛎",twisted_rightwards_arrows:"🔀",repeat:"🔁",repeat_one:"🔂",arrow_forward:"▶️",fast_forward:"⏩",next_track_button:"⏭️",play_or_pause_button:"⏯️",arrow_backward:"◀️",rewind:"⏪",previous_track_button:"⏮️",arrow_up_small:"🔼",arrow_double_up:"⏫",arrow_down_small:"🔽",arrow_double_down:"⏬",pause_button:"⏸️",stop_button:"⏹️",record_button:"⏺️",eject_button:"⏏️",cinema:"🎦",low_brightness:"🔅",high_brightness:"🔆",signal_strength:"📶",vibration_mode:"📳",mobile_phone_off:"📴",female_sign:"♀️",male_sign:"♂️",transgender_symbol:"⚧️",heavy_multiplication_x:"✖️",heavy_plus_sign:"➕",heavy_minus_sign:"➖",heavy_division_sign:"➗",infinity:"♾️",bangbang:"‼️",interrobang:"⁉️",question:"❓",grey_question:"❔",grey_exclamation:"❕",exclamation:"❗",heavy_exclamation_mark:"❗",wavy_dash:"〰️",currency_exchange:"💱",heavy_dollar_sign:"💲",medical_symbol:"⚕️",recycle:"♻️",fleur_de_lis:"⚜️",trident:"🔱",name_badge:"📛",beginner:"🔰",o:"⭕",white_check_mark:"✅",ballot_box_with_check:"☑️",heavy_check_mark:"✔️",x:"❌",negative_squared_cross_mark:"❎",curly_loop:"➰",loop:"➿",part_alternation_mark:"〽️",eight_spoked_asterisk:"✳️",eight_pointed_black_star:"✴️",sparkle:"❇️",copyright:"©️",registered:"®️",tm:"™️",hash:"#️⃣",asterisk:"*️⃣",zero:"0️⃣",one:"1️⃣",two:"2️⃣",three:"3️⃣",four:"4️⃣",five:"5️⃣",six:"6️⃣",seven:"7️⃣",eight:"8️⃣",nine:"9️⃣",keycap_ten:"🔟",capital_abcd:"🔠",abcd:"🔡",symbols:"🔣",abc:"🔤",a:"🅰️",ab:"🆎",b:"🅱️",cl:"🆑",cool:"🆒",free:"🆓",information_source:"ℹ️",id:"🆔",m:"Ⓜ️",new:"🆕",ng:"🆖",o2:"🅾️",ok:"🆗",parking:"🅿️",sos:"🆘",up:"🆙",vs:"🆚",koko:"🈁",sa:"🈂️",ideograph_advantage:"🉐",accept:"🉑",congratulations:"㊗️",secret:"㊙️",u6e80:"🈵",red_circle:"🔴",orange_circle:"🟠",yellow_circle:"🟡",green_circle:"🟢",large_blue_circle:"🔵",purple_circle:"🟣",brown_circle:"🟤",black_circle:"⚫",white_circle:"⚪",red_square:"🟥",orange_square:"🟧",yellow_square:"🟨",green_square:"🟩",blue_square:"🟦",purple_square:"🟪",brown_square:"🟫",black_large_square:"⬛",white_large_square:"⬜",black_medium_square:"◼️",white_medium_square:"◻️",black_medium_small_square:"◾",white_medium_small_square:"◽",black_small_square:"▪️",white_small_square:"▫️",large_orange_diamond:"🔶",large_blue_diamond:"🔷",small_orange_diamond:"🔸",small_blue_diamond:"🔹",small_red_triangle:"🔺",small_red_triangle_down:"🔻",diamond_shape_with_a_dot_inside:"💠",radio_button:"🔘",white_square_button:"🔳",black_square_button:"🔲",checkered_flag:"🏁",triangular_flag_on_post:"🚩",crossed_flags:"🎌",black_flag:"🏴",white_flag:"🏳️",rainbow_flag:"🏳️‍🌈",transgender_flag:"🏳️‍⚧️",pirate_flag:"🏴‍☠️",ascension_island:"🇦🇨",andorra:"🇦🇩",united_arab_emirates:"🇦🇪",afghanistan:"🇦🇫",antigua_barbuda:"🇦🇬",anguilla:"🇦🇮",albania:"🇦🇱",armenia:"🇦🇲",angola:"🇦🇴",antarctica:"🇦🇶",argentina:"🇦🇷",american_samoa:"🇦🇸",austria:"🇦🇹",australia:"🇦🇺",aruba:"🇦🇼",aland_islands:"🇦🇽",azerbaijan:"🇦🇿",bosnia_herzegovina:"🇧🇦",barbados:"🇧🇧",bangladesh:"🇧🇩",belgium:"🇧🇪",burkina_faso:"🇧🇫",bulgaria:"🇧🇬",bahrain:"🇧🇭",burundi:"🇧🇮",benin:"🇧🇯",st_barthelemy:"🇧🇱",bermuda:"🇧🇲",brunei:"🇧🇳",bolivia:"🇧🇴",caribbean_netherlands:"🇧🇶",brazil:"🇧🇷",bahamas:"🇧🇸",bhutan:"🇧🇹",bouvet_island:"🇧🇻",botswana:"🇧🇼",belarus:"🇧🇾",belize:"🇧🇿",canada:"🇨🇦",cocos_islands:"🇨🇨",congo_kinshasa:"🇨🇩",central_african_republic:"🇨🇫",congo_brazzaville:"🇨🇬",switzerland:"🇨🇭",cote_divoire:"🇨🇮",cook_islands:"🇨🇰",chile:"🇨🇱",cameroon:"🇨🇲",cn:"🇨🇳",colombia:"🇨🇴",clipperton_island:"🇨🇵",costa_rica:"🇨🇷",cuba:"🇨🇺",cape_verde:"🇨🇻",curacao:"🇨🇼",christmas_island:"🇨🇽",cyprus:"🇨🇾",czech_republic:"🇨🇿",de:"🇩🇪",diego_garcia:"🇩🇬",djibouti:"🇩🇯",denmark:"🇩🇰",dominica:"🇩🇲",dominican_republic:"🇩🇴",algeria:"🇩🇿",ceuta_melilla:"🇪🇦",ecuador:"🇪🇨",estonia:"🇪🇪",egypt:"🇪🇬",western_sahara:"🇪🇭",eritrea:"🇪🇷",es:"🇪🇸",ethiopia:"🇪🇹",eu:"🇪🇺",european_union:"🇪🇺",finland:"🇫🇮",fiji:"🇫🇯",falkland_islands:"🇫🇰",micronesia:"🇫🇲",faroe_islands:"🇫🇴",fr:"🇫🇷",gabon:"🇬🇦",gb:"🇬🇧",uk:"🇬🇧",grenada:"🇬🇩",georgia:"🇬🇪",french_guiana:"🇬🇫",guernsey:"🇬🇬",ghana:"🇬🇭",gibraltar:"🇬🇮",greenland:"🇬🇱",gambia:"🇬🇲",guinea:"🇬🇳",guadeloupe:"🇬🇵",equatorial_guinea:"🇬🇶",greece:"🇬🇷",south_georgia_south_sandwich_islands:"🇬🇸",guatemala:"🇬🇹",guam:"🇬🇺",guinea_bissau:"🇬🇼",guyana:"🇬🇾",hong_kong:"🇭🇰",heard_mcdonald_islands:"🇭🇲",honduras:"🇭🇳",croatia:"🇭🇷",haiti:"🇭🇹",hungary:"🇭🇺",canary_islands:"🇮🇨",indonesia:"🇮🇩",ireland:"🇮🇪",israel:"🇮🇱",isle_of_man:"🇮🇲",india:"🇮🇳",british_indian_ocean_territory:"🇮🇴",iraq:"🇮🇶",iran:"🇮🇷",iceland:"🇮🇸",it:"🇮🇹",jersey:"🇯🇪",jamaica:"🇯🇲",jordan:"🇯🇴",jp:"🇯🇵",kenya:"🇰🇪",kyrgyzstan:"🇰🇬",cambodia:"🇰🇭",kiribati:"🇰🇮",comoros:"🇰🇲",st_kitts_nevis:"🇰🇳",north_korea:"🇰🇵",kr:"🇰🇷",kuwait:"🇰🇼",cayman_islands:"🇰🇾",kazakhstan:"🇰🇿",laos:"🇱🇦",lebanon:"🇱🇧",st_lucia:"🇱🇨",liechtenstein:"🇱🇮",sri_lanka:"🇱🇰",liberia:"🇱🇷",lesotho:"🇱🇸",lithuania:"🇱🇹",luxembourg:"🇱🇺",latvia:"🇱🇻",libya:"🇱🇾",morocco:"🇲🇦",monaco:"🇲🇨",moldova:"🇲🇩",montenegro:"🇲🇪",st_martin:"🇲🇫",madagascar:"🇲🇬",marshall_islands:"🇲🇭",macedonia:"🇲🇰",mali:"🇲🇱",myanmar:"🇲🇲",mongolia:"🇲🇳",macau:"🇲🇴",northern_mariana_islands:"🇲🇵",martinique:"🇲🇶",mauritania:"🇲🇷",montserrat:"🇲🇸",malta:"🇲🇹",mauritius:"🇲🇺",maldives:"🇲🇻",malawi:"🇲🇼",mexico:"🇲🇽",malaysia:"🇲🇾",mozambique:"🇲🇿",namibia:"🇳🇦",new_caledonia:"🇳🇨",niger:"🇳🇪",norfolk_island:"🇳🇫",nigeria:"🇳🇬",nicaragua:"🇳🇮",netherlands:"🇳🇱",norway:"🇳🇴",nepal:"🇳🇵",nauru:"🇳🇷",niue:"🇳🇺",new_zealand:"🇳🇿",oman:"🇴🇲",panama:"🇵🇦",peru:"🇵🇪",french_polynesia:"🇵🇫",papua_new_guinea:"🇵🇬",philippines:"🇵🇭",pakistan:"🇵🇰",poland:"🇵🇱",st_pierre_miquelon:"🇵🇲",pitcairn_islands:"🇵🇳",puerto_rico:"🇵🇷",palestinian_territories:"🇵🇸",portugal:"🇵🇹",palau:"🇵🇼",paraguay:"🇵🇾",qatar:"🇶🇦",reunion:"🇷🇪",romania:"🇷🇴",serbia:"🇷🇸",ru:"🇷🇺",rwanda:"🇷🇼",saudi_arabia:"🇸🇦",solomon_islands:"🇸🇧",seychelles:"🇸🇨",sudan:"🇸🇩",sweden:"🇸🇪",singapore:"🇸🇬",st_helena:"🇸🇭",slovenia:"🇸🇮",svalbard_jan_mayen:"🇸🇯",slovakia:"🇸🇰",sierra_leone:"🇸🇱",san_marino:"🇸🇲",senegal:"🇸🇳",somalia:"🇸🇴",suriname:"🇸🇷",south_sudan:"🇸🇸",sao_tome_principe:"🇸🇹",el_salvador:"🇸🇻",sint_maarten:"🇸🇽",syria:"🇸🇾",swaziland:"🇸🇿",tristan_da_cunha:"🇹🇦",turks_caicos_islands:"🇹🇨",chad:"🇹🇩",french_southern_territories:"🇹🇫",togo:"🇹🇬",thailand:"🇹🇭",tajikistan:"🇹🇯",tokelau:"🇹🇰",timor_leste:"🇹🇱",turkmenistan:"🇹🇲",tunisia:"🇹🇳",tonga:"🇹🇴",tr:"🇹🇷",trinidad_tobago:"🇹🇹",tuvalu:"🇹🇻",taiwan:"🇹🇼",tanzania:"🇹🇿",ukraine:"🇺🇦",uganda:"🇺🇬",us_outlying_islands:"🇺🇲",united_nations:"🇺🇳",us:"🇺🇸",uruguay:"🇺🇾",uzbekistan:"🇺🇿",vatican_city:"🇻🇦",st_vincent_grenadines:"🇻🇨",venezuela:"🇻🇪",british_virgin_islands:"🇻🇬",us_virgin_islands:"🇻🇮",vietnam:"🇻🇳",vanuatu:"🇻🇺",wallis_futuna:"🇼🇫",samoa:"🇼🇸",kosovo:"🇽🇰",yemen:"🇾🇪",mayotte:"🇾🇹",south_africa:"🇿🇦",zambia:"🇿🇲",zimbabwe:"🇿🇼",england:"🏴󠁧󠁢󠁥󠁮󠁧󠁿",scotland:"🏴󠁧󠁢󠁳󠁣󠁴󠁿",wales:"🏴󠁧󠁢󠁷󠁬󠁳󠁿"};Object.keys(z).reduce((e,t)=>{const n=z[t];return e[n]=t,e},{});const cn=Object.keys(z).map(e=>e);Object.keys(z).map(e=>z[e]);function ln(e){return cn.filter(t=>t.startsWith(e)).map(t=>({name:t,emoji:z[t]}))}const dn=200,un=new p.PluginKey("emoji"),hn=m.Node.create({name:"emoji",content:"text*",priority:dn,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{},suggestion:{char:":",pluginKey:un,command:({editor:t,range:n,props:i})=>{t.chain().focus().insertContentAt(n,`${i.emoji} `).run()}},button:({editor:t,t:n})=>({component:sn,componentProps:{editor:t,action:()=>{},isActive:()=>!1,disabled:!1,icon:"EmojiIcon",tooltip:n("editor.emoji.tooltip")}})}},addCommands(){return{setEmoji:e=>({commands:t})=>t.insertContent(`${e.emoji} `)}},addProseMirrorPlugins(){return[m.Suggestion({editor:this.editor,...this.options.suggestion})]}}).configure({suggestion:{items:({query:e})=>ln(e),render:()=>{let e,t,n;return{onStart:i=>{n=i.editor.isEditable,n&&(e=new m.ReactRenderer(_e,{props:i,editor:i.editor}),t=J("body",{getReferenceClientRect:i.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start"}))},onUpdate(i){n&&(e.updateProps(i),t[0].setProps({getReferenceClientRect:i.clientRect}))},onKeyDown(i){var o;if(n)return i.event.key==="Escape"?(t[0].hide(),!0):(o=e.ref)==null?void 0:o.onKeyDown(i)},onExit(){n&&(t[0].destroy(),e.destroy())}}}}});function mn(e){const t=document.createElement("iframe");t.setAttribute("style","position: absolute; width: 0; height: 0; top: 0; left: 0;"),document.body.appendChild(t),t.textContent=`
2
2
  <!DOCTYPE html>
3
3
  <html lang="en">
4
4
  <head>