reactjs-tiptap-editor 0.2.4 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/extension-bundle.cjs +20 -2
- package/lib/extension-bundle.d.cts +37 -37
- package/lib/extension-bundle.d.ts +37 -37
- package/lib/extension-bundle.js +312 -267
- package/lib/index.d.cts +37 -37
- package/lib/index.d.ts +37 -37
- package/lib/locale-bundle.d.cts +37 -37
- package/lib/locale-bundle.d.ts +37 -37
- package/package.json +5 -1
package/lib/extension-bundle.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Ze=Object.defineProperty;var Xe=(e,t,n)=>t in e?Ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var F=(e,t,n)=>Xe(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./tiptap-BhYF9Ndj.cjs"),w=require("./vendor-Dp07eU0H.cjs"),o=require("react/jsx-runtime"),m=require("react"),D=require("lucide-react"),s=require("./RichTextEditor-B4ASZID5.cjs"),p=require("./index-DGpT32KX.cjs"),Ye=require("@radix-ui/react-tabs"),ae=require("shiki"),Je=require("@radix-ui/react-select"),Qe=require("@radix-ui/react-slot"),pe=require("tippy.js"),et=require("react-image-crop"),tt=require("@radix-ui/react-checkbox"),we=require("scroll-into-view-if-needed"),nt=require("docx"),$=require("prosemirror-docx");function le(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 z=le(m),W=le(Ye),I=le(Je),_e=le(tt),ye=m.forwardRef(({asChild:e,...t},n)=>{var r;const i=s.icons[t.icon],a=e?Qe.Slot:s.Button;return o.jsxs(s.Tooltip,{children:[o.jsx(s.TooltipTrigger,{asChild:!0,children:o.jsx(a,{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:o.jsxs("div",{className:"richtext-flex richtext-h-full richtext-items-center richtext-font-normal",children:[(t==null?void 0:t.title)&&o.jsx("div",{className:"richtext-grow richtext-truncate richtext-text-left richtext-text-sm",children:t==null?void 0:t.title}),i&&o.jsx(i,{className:"richtext-ml-1 richtext-size-3 richtext-shrink-0 richtext-text-zinc-500"})]})})}),o.jsx(s.TooltipContent,{children:o.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)&&o.jsx("div",{children:t==null?void 0:t.tooltip}),o.jsx("div",{className:"richtext-flex",children:!!((r=t==null?void 0:t.shortcutKeys)!=null&&r.length)&&o.jsx("span",{children:s.getShortcutKeys(t==null?void 0:t.shortcutKeys)})})]})})]})}),it=g.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")}})}}}),ot=g.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")}}}}}}),at=g.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")}}}}}}),rt=g.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")}})}}}),st=g.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 U,ne;const he=new Set,me=new Set;function ct(){return U}function lt(e){if(!U&&!ne){const t=e.themes.filter(i=>!!i&&i in ae.bundledThemes),n=e.languages.filter(i=>!!i&&i in ae.bundledLanguages);return ne=ae.createHighlighter({themes:t,langs:n}).then(i=>{U=i}),ne}if(ne)return ne}async function Ie(e){return U&&!U.getLoadedThemes().includes(e)&&!me.has(e)&&e in ae.bundledThemes?(me.add(e),await U.loadTheme(e),me.delete(e),!0):!1}async function Ee(e){return U&&!U.getLoadedLanguages().includes(e)&&!he.has(e)&&e in ae.bundledLanguages?(he.add(e),await U.loadLanguage(e),he.delete(e),!0):!1}async function dt({doc:e,name:t,defaultTheme:n,defaultLanguage:i}){const a=g.findChildren(e,l=>l.type.name===t),r=[...a.map(l=>l.node.attrs.theme),n],c=[...a.map(l=>l.node.attrs.language),i];U?await Promise.all([...r.flatMap(l=>Ie(l)),...c.flatMap(l=>!!l&&Ee(l))]):await lt({languages:c,themes:r})}function Ce({doc:e,name:t,defaultTheme:n,defaultLanguage:i}){const a=[];return g.findChildren(e,c=>c.type.name===t).forEach(c=>{let l=c.pos+1,d=c.node.attrs.language||i;const h=c.node.attrs.theme||n,u=ct();if(!u)return;u.getLoadedLanguages().includes(d)||(d="plaintext");const x=u.getLoadedThemes().includes(h)?h:u.getLoadedThemes()[0],f=u.codeToTokensBase(c.node.textContent,{lang:d,theme:x});for(const _ of f){for(const y of _){const v=l+y.content.length,N=w.Decoration.inline(l,v,{style:`color: ${y.color}`});a.push(N),l=v}l+=1}}),w.DecorationSet.create(e,a)}function ut({name:e,defaultLanguage:t,defaultTheme:n}){const i=new w.Plugin({key:new w.PluginKey("shiki"),view(a){class r{constructor(){this.initDecorations()}update(){this.checkUndecoratedBlocks()}destroy(){}async initDecorations(){const l=a.state.doc;await dt({doc:l,name:e,defaultLanguage:t,defaultTheme:n});const d=a.state.tr.setMeta("shikiPluginForceDecoration",!0);a.dispatch(d)}async checkUndecoratedBlocks(){const l=g.findChildren(a.state.doc,u=>u.type.name===e);if((await Promise.all(l.flatMap(u=>[Ie(u.node.attrs.theme),Ee(u.node.attrs.language)]))).includes(!0)){const u=a.state.tr.setMeta("shikiPluginForceDecoration",!0);a.dispatch(u)}}}return new r},state:{init:(a,{doc:r})=>Ce({doc:r,name:e,defaultLanguage:t,defaultTheme:n}),apply:(a,r,c,l)=>{const d=c.selection.$head.parent.type.name,h=l.selection.$head.parent.type.name,u=g.findChildren(c.doc,_=>_.type.name===e),x=g.findChildren(l.doc,_=>_.type.name===e),f=a.docChanged&&([d,h].includes(e)||x.length!==u.length||a.steps.some(_=>_.from!==void 0&&_.to!==void 0&&u.some(y=>y.pos>=_.from&&y.pos+y.node.nodeSize<=_.to)));return a.getMeta("shikiPluginForceDecoration")||f?Ce({doc:a.doc,name:e,defaultLanguage:t,defaultTheme:n}):r.map(a.mapping,a.doc)}},props:{decorations(a){return i.getState(a)}}});return i}function ht({action:e,languages:t,...n}){const i=r=>{e(r)},a=m.useMemo(()=>t==null?void 0:t.map(r=>({title:p.MAP_LANGUAGE_CODE_LABELS[r]||r,language:r})),[t]);return o.jsxs(s.DropdownMenu,{children:[o.jsx(s.DropdownMenuTrigger,{disabled:n==null?void 0:n.disabled,asChild:!0,children:o.jsx(s.ActionButton,{tooltip:n==null?void 0:n.tooltip,disabled:n==null?void 0:n.disabled,icon:n==null?void 0:n.icon})}),o.jsx(s.DropdownMenuContent,{className:"richtext-w-full !richtext-max-h-[180px] !richtext-overflow-y-scroll",children:a==null?void 0:a.map(r=>o.jsx(s.DropdownMenuItem,{onClick:()=>i(r.language),children:o.jsx("div",{className:"richtext-h-full richtext-ml-1",children:r.title})},`codeblock-${r.title}`))})]})}const mt=I.Root,ft=I.Value,De=z.forwardRef(({className:e,children:t,...n},i)=>o.jsxs(I.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,o.jsx(I.Icon,{asChild:!0,children:o.jsx(D.ChevronDown,{className:"richtext-h-4 richtext-w-4 richtext-opacity-50"})})]}));De.displayName=I.Trigger.displayName;const Re=z.forwardRef(({className:e,...t},n)=>o.jsx(I.ScrollUpButton,{ref:n,className:s.cn("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...t,children:o.jsx(D.ChevronUp,{className:"richtext-h-4 richtext-w-4"})}));Re.displayName=I.ScrollUpButton.displayName;const He=z.forwardRef(({className:e,...t},n)=>o.jsx(I.ScrollDownButton,{ref:n,className:s.cn("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...t,children:o.jsx(D.ChevronDown,{className:"richtext-h-4 richtext-w-4"})}));He.displayName=I.ScrollDownButton.displayName;const ze=z.forwardRef(({className:e,children:t,position:n="popper",...i},a)=>o.jsx(I.Portal,{children:o.jsxs(I.Content,{ref:a,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:[o.jsx(Re,{}),o.jsx(I.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}),o.jsx(He,{})]})}));ze.displayName=I.Content.displayName;const gt=z.forwardRef(({className:e,...t},n)=>o.jsx(I.Label,{ref:n,className:s.cn("richtext-py-1.5 richtext-pl-8 richtext-pr-2 richtext-text-sm richtext-font-semibold",e),...t}));gt.displayName=I.Label.displayName;const xe=z.forwardRef(({className:e,children:t,...n},i)=>o.jsxs(I.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:[o.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:o.jsx(I.ItemIndicator,{children:o.jsx(D.Check,{className:"richtext-h-4 richtext-w-4"})})}),o.jsx(I.ItemText,{children:t})]}));xe.displayName=I.Item.displayName;const _t=z.forwardRef(({className:e,...t},n)=>o.jsx(I.Separator,{ref:n,className:s.cn("richtext--mx-1 richtext-my-1 richtext-h-px richtext-bg-muted",e),...t}));_t.displayName=I.Separator.displayName;function xt(){const[e,t]=m.useState(!1);return{isCopied:e,copyToClipboard:async i=>{try{await navigator.clipboard.writeText(i),t(!0),setTimeout(()=>t(!1),2e3)}catch(a){console.error("Failed to copy text: ",a),t(!1)}}}}const bt="_wrap_134f4_1",pt="_maxHeight_134f4_10",wt="_btnCopy_134f4_13",yt="_btnDelete_134f4_14",vt="_blockInfo_134f4_18",kt="_blockInfoEditable_134f4_28",Ct="_selectLang_134f4_32",jt="_copied_134f4_58",q={wrap:bt,maxHeight:pt,btnCopy:wt,btnDelete:yt,blockInfo:vt,blockInfoEditable:kt,selectLang:Ct,copied:jt};function At({editor:e,node:{attrs:t},updateAttributes:n,extension:i}){var f,_;const{isCopied:a,copyToClipboard:r}=xt(),c=m.useMemo(()=>{var y;return(y=i.options.languages)!=null&&y.length?i.options.languages:p.DEFAULT_LANGUAGE_CODE_BLOCK},[i.options.languages]),l=s.useEditableEditor(),d=(_=(f=e==null?void 0:e.options)==null?void 0:f.editorProps)==null?void 0:_.print,{language:h}=t,u=m.useRef(null),x=m.useCallback(()=>s.deleteNode(Be.name,e),[e]);return o.jsxs(g.NodeViewWrapper,{className:w.clsx(q.wrap,!d&&q.maxHeight,"render-wrapper"),children:[o.jsxs("div",{className:w.clsx(q.blockInfo,{[q.blockInfoEditable]:!l}),children:[o.jsx("span",{className:w.clsx(q.btnCopy,a&&q.copied),onClick:()=>r(u.current.innerText),children:a?o.jsx(D.CopyCheck,{size:16}):o.jsx(D.Copy,{size:16})}),o.jsx("span",{className:q.btnDelete,onClick:x,children:o.jsx(s.IconComponent,{name:"Trash2"})}),o.jsx("div",{className:q.selectLang,children:o.jsxs(mt,{defaultValue:h||"auto",disabled:!l,onValueChange:y=>n({language:y}),children:[o.jsx(De,{children:o.jsx(ft,{placeholder:"Language"})}),o.jsxs(ze,{className:"richtext-max-h-60 richtext-overflow-y-auto",children:[o.jsx(xe,{value:"auto",children:"Auto"}),c.map((y,v)=>o.jsx(xe,{value:y,children:y.charAt(0).toUpperCase()+y.slice(1)},`code-lang-${v}`))]})]})})]}),o.jsx("pre",{ref:u,children:o.jsx(g.NodeViewContent,{as:"code"})})]})}const Be=g.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 a=(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:p.DEFAULT_LANGUAGE_CODE_BLOCK;return{component:ht,componentProps:{action:(d="js")=>t.commands.setCodeBlock({language:d}),isActive:()=>t.isActive("codeBlock")||!1,disabled:!t.can().toggleCodeBlock(),icon:"Code2",tooltip:n("editor.codeblock.tooltip"),languages:a}}}}},addNodeView(){return g.ReactNodeViewRenderer(At)},addProseMirrorPlugins(){var e;return[...((e=this.parent)==null?void 0:e.call(this))||[],ut({name:this.name,defaultLanguage:null,defaultTheme:this.options.defaultTheme})]}});function Tt(e){var a,r,c;const{t,lang:n}=p.useLocale(),i=m.useMemo(()=>{var h;const l=(h=e==null?void 0:e.items)==null?void 0:h.find(u=>u.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 o.jsxs(s.DropdownMenu,{children:[o.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.jsx(ye,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:((a=i==null?void 0:i.font)==null?void 0:a.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})}),o.jsx(s.DropdownMenuContent,{className:"richtext-w-full",children:(c=e==null?void 0:e.items)==null?void 0:c.map((l,d)=>{const h=l.font===t("editor.fontFamily.default.tooltip")?{}:{fontFamily:l.font};return o.jsxs(m.Fragment,{children:[o.jsx(s.DropdownMenuCheckboxItem,{checked:(i==null?void 0:i.font)===l.font,onClick:l.action,children:o.jsx("div",{className:"richtext-ml-1 richtext-h-full",style:h,children:l.font})}),l.font===t("editor.fontFamily.default.tooltip")&&o.jsx(s.DropdownMenuSeparator,{})]},`font-family-${d}`)})})]})}const St=g.FontFamily.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),fontFamilyList:p.DEFAULT_FONT_FAMILY_LIST,button({editor:t,extension:n,t:i}){var h;const{extensions:a=[]}=t.extensionManager??[],r=s.ensureNameValueOptions(((h=n==null?void 0:n.options)==null?void 0:h.fontFamilyList)||[]),c=a.find(u=>u.name==="base-kit"),l=r.map(u=>({action:()=>{t.chain().focus().setFontFamily(u.value).run()},isActive:()=>t.isActive("textStyle",{fontFamily:u.value})||!1,disabled:!t.can().setFontFamily(u.value),title:u.name,font:u.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 d=l.filter(u=>u.disabled).length===l.length;return{component:Tt,componentProps:{tooltip:i("editor.fontFamily.tooltip"),disabled:d,items:l,editor:t}}}}}});function Nt(e){var n;const t=m.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 o.jsxs(s.DropdownMenu,{children:[o.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.jsx(ye,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:t==null?void 0:t.title,tooltip:e==null?void 0:e.tooltip})}),o.jsx(s.DropdownMenuContent,{className:"richtext-w-full",children:(n=e==null?void 0:e.items)==null?void 0:n.map((i,a)=>{var r,c;return o.jsxs(m.Fragment,{children:[o.jsxs(s.DropdownMenuCheckboxItem,{checked:(t==null?void 0:t.title)===i.title,onClick:i.action,children:[o.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)&&o.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&&o.jsx(s.DropdownMenuSeparator,{})]},`heading-k-${a}`)})})]})}const Lt=g.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 h;const{extensions:a=[]}=t.extensionManager??[],r=((h=n.options)==null?void 0:h.levels)||[],c=a.find(u=>u.name==="base-kit"),l=r.map(u=>({action:()=>t.commands.toggleHeading({level:u}),isActive:()=>t.isActive("heading",{level:u})||!1,disabled:!t.can().toggleHeading({level:u}),title:i(`editor.heading.h${u}.tooltip`),level:u,shortcutKeys:["alt","mod",`${u}`]}));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 d=l.filter(u=>u.disabled).length===l.length;return{component:Nt,componentProps:{tooltip:i("editor.heading.tooltip"),disabled:d,items:l,editor:t}}}}}}),ve=W.Root,de=z.forwardRef(({className:e,...t},n)=>o.jsx(W.List,{ref:n,className:s.cn("richtext-inline-flex richtext-h-10 richtext-items-center richtext-justify-center richtext-rounded-md richtext-bg-muted richtext-p-1 richtext-text-muted-foreground",e),...t}));de.displayName=W.List.displayName;const Q=z.forwardRef(({className:e,...t},n)=>o.jsx(W.Trigger,{ref:n,className:s.cn("richtext-inline-flex richtext-items-center richtext-justify-center richtext-whitespace-nowrap richtext-rounded-sm richtext-px-3 richtext-py-1.5 richtext-text-sm richtext-font-medium richtext-ring-offset-background richtext-transition-all focus-visible:richtext-outline-none focus-visible:richtext-ring-2 focus-visible:richtext-ring-ring focus-visible:richtext-ring-offset-2 disabled:richtext-pointer-events-none disabled:richtext-opacity-50 data-[state=active]:richtext-bg-background data-[state=active]:richtext-text-foreground data-[state=active]:richtext-shadow-sm",e),...t}));Q.displayName=W.Trigger.displayName;const ee=z.forwardRef(({className:e,...t},n)=>o.jsx(W.Content,{ref:n,className:s.cn("richtext-mt-2 richtext-ring-offset-background focus-visible:richtext-outline-none focus-visible:richtext-ring-2 focus-visible:richtext-ring-ring focus-visible:richtext-ring-offset-2",e),...t}));ee.displayName=W.Content.displayName;const Pe=z.forwardRef(({className:e,...t},n)=>o.jsx(_e.Root,{ref:n,className:s.cn("!richtext-peer !richtext-h-4 !richtext-w-4 !richtext-p-0 !richtext-shrink-0 !richtext-rounded-sm !richtext-border !richtext-border-primary !richtext-ring-offset-background focus-visible:!richtext-outline-none focus-visible:!richtext-ring-2 focus-visible:!richtext-ring-ring focus-visible:!richtext-ring-offset-2 disabled:!richtext-cursor-not-allowed disabled:!richtext-opacity-50 data-[state=checked]:!richtext-bg-primary data-[state=checked]:!richtext-text-primary-foreground",e),...t,children:o.jsx(_e.Indicator,{className:s.cn("!richtext-flex !richtext-p-0 !richtext-items-center !richtext-justify-center !richtext-text-current"),children:o.jsx(D.Check,{className:"!richtext-h-4 !richtext-w-4"})})}));Pe.displayName=_e.Root.displayName;function Mt(e){var n;const t=m.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 o.jsxs(s.Popover,{modal:!0,children:[o.jsx(s.PopoverTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.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:o.jsx(s.IconComponent,{className:"richtext-ml-1 richtext-size-3 richtext-text-zinc-500",name:"MenuDown"})})}),o.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,a)=>{var r,c;return o.jsxs(s.Tooltip,{children:[o.jsx(s.TooltipTrigger,{asChild:!0,children:o.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)&&o.jsx(s.IconComponent,{name:i.icon})})}),o.jsxs(s.TooltipContent,{className:"richtext-flex richtext-flex-col richtext-items-center",children:[o.jsx("span",{children:i.title}),!!((r=i.shortcutKeys)!=null&&r.length)&&o.jsx("span",{children:(c=i.shortcutKeys)==null?void 0:c.map(l=>s.getShortcutKey(l)).join(" ")})]})]},`text-align-${a}`)})})]})}const It=g.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 h;const a=((h=n.options)==null?void 0:h.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=a.map(u=>{var x,f,_;return{title:i(`editor.textalign.${u}.tooltip`),icon:c[u],shortcutKeys:r[u],isActive:()=>t.isActive({textAlign:u})||!1,action:()=>{var y,v;return(v=(y=t.commands)==null?void 0:y.setTextAlign)==null?void 0:v.call(y,u)},disabled:!((_=(f=(x=t==null?void 0:t.can)==null?void 0:x.call(t))==null?void 0:f.setTextAlign)!=null&&_.call(f,u))}}),d=l.filter(u=>u.disabled).length===l.length;return{component:Mt,componentProps:{icon:"AlignJustify",tooltip:i("editor.textalign.tooltip"),disabled:d,items:l}}}}}});function Et(e){var i;const{t}=p.useLocale(),n=m.useMemo(()=>{const a=(e.items||[]).find(c=>c.isActive());return a||{title:t("editor.fontSize.default.tooltip"),isActive:()=>!1}},[e]);return o.jsxs(s.DropdownMenu,{children:[o.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.jsx(ye,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:n==null?void 0:n.title,tooltip:`${e==null?void 0:e.tooltip}`})}),o.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((a,r)=>o.jsx(s.DropdownMenuCheckboxItem,{checked:n.title===a.title,onClick:a.action,children:o.jsx("div",{className:"richtext-ml-1 richtext-h-full",children:a.title})},`font-size-${r}`))})]})}const Dt=g.Extension.create({name:"fontSize",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["textStyle"],fontSizes:[...p.DEFAULT_FONT_SIZE_LIST],button({editor:t,extension:n,t:i}){var d;const a=s.ensureNameValueOptions(((d=n.options)==null?void 0:d.fontSizes)||p.DEFAULT_FONT_SIZE_VALUE),r=s.ensureNameValueOptions([p.DEFAULT_FONT_SIZE_VALUE])[0],c=a.map(h=>({title:h.value===r.value?i("editor.fontSize.default.tooltip"):String(h.name),isActive:()=>{const{fontSize:u}=t.getAttributes("textStyle");return h.value===r.value&&u===void 0?!0:t.isActive({fontSize:String(h.value)})||!1},action:()=>{if(h.value===r.value){t.commands.unsetFontSize();return}t.commands.setFontSize(String(h.value))},disabled:!t.can().setFontSize(String(h.value)),divider:h.value===r.value||!1,default:h.value===r.value||!1})),l=c.filter(h=>h.disabled).length===c.length;return{component:Et,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 Rt({fill:e}){return o.jsx("svg",{width:"18px",height:"18px",viewBox:"0 0 240 240",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:o.jsx("g",{stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",children:o.jsx("g",{transform:"translate(0.000000, 0.500000)",children:o.jsxs("g",{transform:"translate(39.000000, 17.353553)",children:[o.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"}),o.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"}),o.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 Ht(e){const[t,n]=m.useState(void 0);function i(c){var l;(l=e.action)==null||l.call(e,c)}function a(){var c;(c=e.action)==null||c.call(e,t)}const r=m.useCallback(w.debounce(c=>{n(c)},350),[]);return o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-h-[32px]",children:[o.jsx(s.ActionButton,{tooltip:e==null?void 0:e.tooltip,disabled:e==null?void 0:e.disabled,action:a,children:o.jsx("span",{className:"richtext-flex richtext-items-center richtext-justify-center richtext-text-sm",children:o.jsx(Rt,{fill:t})})}),o.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:o.jsx(s.Button,{variant:"ghost",size:"icon",className:"r!ichtext-h-[32px] !richtext-w-3",disabled:e==null?void 0:e.disabled,children:o.jsx(s.IconComponent,{className:"!richtext-w-3 !richtext-h-3 richtext-text-zinc-500",name:"MenuDown"})})})]})}const zt=g.Color.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n,extension:i}){return{component:Ht,componentProps:{colors:i.options.colors,defaultColor:i.options.defaultColor,action:a=>{a===void 0&&t.chain().focus().unsetColor().run(),typeof a=="string"&&t.chain().focus().setColor(a).run()},isActive:()=>{const{color:a}=t.getAttributes("textStyle");return a&&t.isActive({color:a})||!1},editor:t,disabled:!t.can().setColor(""),tooltip:n("editor.color.tooltip")}}}}}}),Bt=g.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")}})}}}),Pt=g.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")}})}}}),Ot=g.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")}})}}}),Ft=g.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")}})}}}),Ut=g.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[g.TaskItem.configure(this.options.taskItem)]}}),$t=g.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 qt(e){const[t,n]=m.useState(!1);function i(a,r,c){e.action&&(e.action({link:a,text:r,openInNewTab:c}),n(!1))}return o.jsxs(s.Popover,{modal:!0,open:t,onOpenChange:n,children:[o.jsx(s.PopoverTrigger,{disabled:e==null?void 0:e.disabled,asChild:!0,children:o.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:o.jsx(s.IconComponent,{name:e==null?void 0:e.icon})})}),o.jsx(s.PopoverContent,{hideWhenDetached:!0,className:"richtext-w-full",align:"start",side:"bottom",children:o.jsx(s.LinkEditBlock,{editor:e.editor,onSetLink:i})})]})}const Vt=g.Link.extend({inclusive:!1,parseHTML(){return[{tag:'a[href]:not([data-type="button"]):not([href *= "javascript:" i])'}]},renderHTML({HTMLAttributes:e}){return["a",g.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:qt,componentProps:{editor:t,action:i=>{const{link:a,text:r,openInNewTab:c}=i;t.chain().extendMarkRange("link").insertContent({type:"text",text:r,marks:[{type:"link",attrs:{href:a,target:c?"_blank":""}}]}).setLink({href:a}).focus().run()},id:"linkk",isActive:()=>t.isActive("link")||!1,disabled:!t.can().setLink({href:""}),icon:"Link",tooltip:n("editor.link.tooltip")}})}},addProseMirrorPlugins(){return[new w.Plugin({props:{handleClick:(e,t)=>{const{schema:n,doc:i,tr:a}=e.state,r=g.getMarkRange(i.resolve(t),n.marks.link);if(!r)return!1;const c=i.resolve(r.from),l=i.resolve(r.to),d=a.setSelection(new w.TextSelection(c,l));e.dispatch(d)}}})]}}),Kt=g.HorizontalRule.extend({renderHTML(){return["div",g.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 Gt(e){var h;const{icon:t=void 0,tooltip:n=void 0,customClass:i="",tooltipOptions:a={},action:r=void 0,isActive:c=void 0,children:l}=e,d=s.icons[t];return o.jsxs(s.Tooltip,{children:[o.jsx(s.TooltipTrigger,{asChild:!0,children:o.jsxs(s.Toggle,{size:"sm",className:`richtext-w-[32px] richtext-h-[32px] ${i}`,disabled:c==null?void 0:c(),onClick:r,children:[d&&o.jsx(d,{className:"richtext-w-4 richtext-h-4"}),l&&o.jsx(o.Fragment,{children:l})]})}),n&&o.jsx(s.TooltipContent,{...a,children:o.jsxs("div",{className:"richtext-flex richtext-flex-col richtext-items-center richtext-text-center richtext-max-w-24",children:[o.jsx("div",{children:n}),!!((h=e==null?void 0:e.shortcutKeys)!=null&&h.length)&&o.jsx("span",{children:s.getShortcutKeys(e==null?void 0:e.shortcutKeys)})]})})]})}const Wt=["undo","redo"],Zt=g.History.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),depth:100,newGroupDelay:500,button:({editor:t,t:n})=>Wt.map(i=>({component:Gt,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`)}}))}}}),Xt=g.Document.extend({content:"(block|columns)+"}),Yt=g.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")}})}}}),Jt=g.Extension.create({name:"selection",addProseMirrorPlugins(){const{editor:e}=this;return[new w.Plugin({key:new w.PluginKey("selection"),props:{decorations(t){return t.selection.empty||e.isFocused===!0?null:w.DecorationSet.create(t.doc,[w.Decoration.inline(t.selection.from,t.selection.to,{class:"selection"})])}}})]}});function Qt(e){const{t}=p.useLocale(),n=m.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=m.useMemo(()=>n.findLast(a=>a.isActive())??{label:"Empty"},[n]);return o.jsxs(s.DropdownMenu,{children:[o.jsx(s.DropdownMenuTrigger,{asChild:!0,children:o.jsxs(s.Button,{className:"richtext-flex richtext-h-[32px] richtext-gap-1 richtext-px-1.5",variant:"ghost",children:[o.jsxs("span",{className:"richtext-whitespace-nowrap richtext-text-sm richtext-font-normal",children:[" ",i==null?void 0:i.label]}),o.jsx(D.ChevronDown,{className:"richtext-size-4"})]})}),o.jsx(s.DropdownMenuContent,{align:"start",className:"richtext-w-full richtext-p-1",hideWhenDetached:!0,sideOffset:5,children:n.map((a,r)=>{var l;const c=s.icons[a.iconName];return o.jsx(s.DropdownMenuCheckboxItem,{checked:((l=a.isActive)==null?void 0:l.call(a))||!1,className:"richtext-cursor-pointer",onClick:()=>a.action(),children:o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-2 richtext-px-2",children:[o.jsx(c,{className:"richtext-h3 richtext-w-3"}),o.jsxs("span",{children:[" ",a.label]})]})},`text-bubble-${r}`)})})]})}const en=g.Extension.create({name:"text-bubble",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),toolbar:!1,button:()=>({component:Qt,componentProps:{}})}}});function je({types:e,node:t}){return Array.isArray(e)&&e.includes(t.type)||t.type===e}const tn=g.Extension.create({name:"trailingNode",addOptions(){return{node:"paragraph",notAfter:["paragraph"]}},addProseMirrorPlugins(){const e=new w.PluginKey(this.name),t=Object.entries(this.editor.schema.nodes).map(([,n])=>n).filter(n=>this.options.notAfter.includes(n.name));return[new w.Plugin({key:e,appendTransaction:(n,i,a)=>{const{doc:r,tr:c,schema:l}=a,d=e.getState(a),h=r.content.size,u=l.nodes[this.options.node];if(d)return c.insert(h,u.create())},state:{init:(n,i)=>{const a=i.tr.doc.lastChild;return!je({node:a,types:t})},apply:(n,i)=>{if(!n.docChanged)return i;const a=n.doc.lastChild;return!je({node:a,types:t})}}})]}}),nn=g.Extension.create({name:"base-kit",addExtensions(){const e=[];return this.options.document!==!1&&e.push(Xt.configure()),this.options.placeholder!==!1&&e.push(g.Placeholder.configure({placeholder:({node:t,pos:n,editor:i})=>{var a,r,c,l,d;return((a=t==null?void 0:t.type)==null?void 0:a.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"?`${p.localeActions.t(`editor.heading.h${t.attrs.level}.tooltip`)}`:((l=t==null?void 0:t.type)==null?void 0:l.name)==="codeBlock"||((d=t==null?void 0:t.type)==null?void 0:d.name)==="table"?"":i.extensionManager.extensions.some(h=>h.name==="slashCommand")?p.localeActions.t("editor.slash"):p.localeActions.t("editor.content")},...this.options.placeholder})),this.options.focus!==!1&&e.push(g.FocusClasses.configure({className:"focus",...this.options.focus})),this.options.text!==!1&&e.push(g.Text.configure()),this.options.textBubble!==!1&&e.push(en.configure()),this.options.gapcursor!==!1&&e.push(g.Gapcursor.configure()),this.options.dropcursor!==!1&&e.push(g.Dropcursor.configure({...this.options.dropcursor,width:2,class:"ProseMirror-dropcursor border-black"})),this.options.characterCount!==!1&&e.push(g.CharacterCount.configure(this.options.characterCount)),this.options.paragraph!==!1&&e.push(g.Paragraph.configure(this.options.paragraph)),this.options.hardBreak!==!1&&e.push(g.HardBreak.configure(this.options.hardBreak)),this.options.listItem!==!1&&e.push(g.ListItem.configure(this.options.listItem)),this.options.textStyle!==!1&&e.push(g.TextStyle.configure(this.options.textStyle)),this.options.trailingNode!==!1&&e.push(tn.configure(this.options.trailingNode)),this.options.selection!==!1&&e.push(Jt),this.options.multiColumn!==!1&&e.push(s.Column,s.MultiColumn),e}}),on=g.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 a=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")}},d=[];return a!==!1&&d.push(c),r!==!1&&d.push(l),d}}},addExtensions(){const e=[];return this.options.subscript!==!1&&e.push(g.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&e.push(g.Superscript.configure(this.options.superscript)),e}});function an(e){var n;const t=m.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 o.jsxs(s.DropdownMenu,{children:[o.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.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:o.jsx(s.MenuDown,{className:"richtext-size-3 richtext-text-gray-500"})})}),o.jsx(s.DropdownMenuContent,{className:"w-full",children:(n=e==null?void 0:e.items)==null?void 0:n.map((i,a)=>o.jsxs(s.DropdownMenuCheckboxItem,{checked:t.title===i.title,className:"richtext-flex richtext-items-center richtext-gap-3",onClick:i.action,children:[o.jsx(s.IconComponent,{name:i==null?void 0:i.icon}),o.jsx("span",{className:"richtext-ml-1",children:i.title}),!!(i!=null&&i.shortcutKeys)&&o.jsx("span",{className:"richtext-ml-auto richtext-text-xs richtext-tracking-widest richtext-opacity-60",children:s.getShortcutKeys(i.shortcutKeys)})]},`more-mark-${a}`))})]})}const rn=g.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 a=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",","]},d=[];return a!==!1&&d.push(c),r!==!1&&d.push(l),{component:an,componentProps:{icon:"Type",tooltip:i("editor.moremark"),disabled:!t.isEditable,items:d}}}}},addExtensions(){const e=[];return this.options.subscript!==!1&&e.push(g.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&e.push(g.Superscript.configure(this.options.superscript)),e}}),sn=g.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 cn(e){return Number.parseFloat(e.replace("%",""))/100}function ln(e){const{t}=p.useLocale(),[n,i]=m.useState("default");function a(c){c==="default"?e.editor.commands.unsetLineHeight():e.editor.commands.setLineHeight(c),i(c)}const r=m.useMemo(()=>{const d=e.editor.extensionManager.extensions.find(h=>h.name==="lineHeight").options.lineHeights.map(h=>({label:cn(h),value:h}));return d.unshift({label:t("editor.default"),value:"default"}),d},[e]);return o.jsxs(s.DropdownMenu,{children:[o.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.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:o.jsx(s.IconComponent,{className:"richtext-ml-1 richtext-size-3 richtext-text-zinc-500",name:"MenuDown"})})}),o.jsx(s.DropdownMenuContent,{className:"richtext-min-w-24",children:r==null?void 0:r.map((c,l)=>o.jsx(s.DropdownMenuCheckboxItem,{checked:c.value===n,onClick:()=>a(c.value),children:c.label},`lineHeight-${l}`))})]})}const dn=["paragraph","heading","list_item","todo_item"];function un(e,t){const{selection:n,doc:i}=e;if(!n||!i||!(n instanceof w.TextSelection||n instanceof w.AllSelection))return e;const{from:a,to:r}=n,c=[],l=t&&t!==p.DEFAULT_LINE_HEIGHT?t:null;if(i.nodesBetween(a,r,(d,h)=>{const u=d.type;return dn.includes(u.name)?((d.attrs.lineHeight||null)!==l&&c.push({node:d,pos:h,nodeType:u}),u.name!=="list_item"&&u.name!=="todo_item"):!0}),c.length===0)return e;for(const d of c){const{node:h,pos:u,nodeType:x}=d;let{attrs:f}=h;f={...f,lineHeight:l},e=e.setNodeMarkup(u,x,f,h.marks)}return e}function hn(e){return({state:t,dispatch:n})=>{const{selection:i}=t;let{tr:a}=t;return a=a.setSelection(i),a=un(a,e),a.docChanged?(n&&n(a),!0):!1}}const mn=g.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:p.DEFAULT_LINE_HEIGHT_LIST,defaultHeight:p.DEFAULT_LINE_HEIGHT,button({editor:t,t:n}){return{component:ln,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=>hn(e),unsetLineHeight:()=>({commands:e})=>this.options.types.every(t=>e.resetAttributes(t,"lineHeight"))}}}),Oe=w.d(!1);function fn(){return w.b(Oe)}const Y={setOpen:e=>{Oe(e)}},Fe=w.d(!1);function gn(){return w.b(Fe)}const oe={setOpen:e=>{Fe(e)}};function _n(e){const t=[{name:"format",title:p.localeActions.t("editor.slash.format"),commands:[]},{name:"insert",title:p.localeActions.t("editor.slash.insert"),commands:[]}];return e.forEach(n=>{n.name.toLowerCase()==="heading"&&n.options.levels.forEach(i=>{t[0].commands.push({name:`heading${i}`,label:p.localeActions.t(`editor.heading.h${i}.tooltip`),aliases:[`h${i}`,"bt",`bt${i}`],iconName:`Heading${i}`,action:({editor:a,range:r})=>{a.chain().focus().deleteRange(r).setHeading({level:i}).run()}})}),n.name.toLowerCase()==="bulletlist"&&t[0].commands.push({name:"bulletList",label:p.localeActions.t("editor.bulletlist.tooltip"),aliases:["ul","yxlb"],iconName:"List",action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).toggleBulletList().run()}}),n.name.toLowerCase()==="orderedlist"&&t[0].commands.push({name:"numberedList",label:p.localeActions.t("editor.orderedlist.tooltip"),aliases:["ol","yxlb"],iconName:"ListOrdered",action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).toggleOrderedList().run()}}),n.name.toLowerCase()==="tasklist"&&t[0].commands.push({name:"taskList",label:p.localeActions.t("editor.tasklist.tooltip"),iconName:"ListTodo",description:"Task list with todo items",aliases:["todo"],action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).toggleTaskList().run()}}),n.name.toLowerCase()==="blockquote"&&t[0].commands.push({name:"blockquote",label:p.localeActions.t("editor.blockquote.tooltip"),description:"插入引入格式",aliases:["yr"],iconName:"TextQuote",action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).setBlockquote().run()}}),n.name.toLowerCase()==="codeblock"&&t[0].commands.push({name:"codeBlock",label:p.localeActions.t("editor.codeblock.tooltip"),iconName:"Code2",description:"Code block with syntax highlighting",shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).setCodeBlock().run()}}),n.name.toLowerCase()==="image"&&t[1].commands.push({name:"image",label:p.localeActions.t("editor.image.tooltip"),iconName:"ImageUp",description:"Insert a image",aliases:["image","tp","tupian"],shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).run(),Y.setOpen(!0)}}),n.name.toLowerCase()==="video"&&t[1].commands.push({name:"video",label:p.localeActions.t("editor.video.tooltip"),iconName:"Video",description:"Insert a video",aliases:["video","sp","shipin"],shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).run(),oe.setOpen(!0)}}),n.name.toLowerCase()==="table"&&t[1].commands.push({name:"table",label:p.localeActions.t("editor.table.tooltip"),iconName:"Table",description:"Insert a table",aliases:["table","bg","biaoge","biao"],shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).insertTable({rows:3,cols:3,withHeaderRow:!1}).run()}}),n.name.toLowerCase()==="horizontalrule"&&t[1].commands.push({name:"horizontalRule",label:p.localeActions.t("editor.horizontalrule.tooltip"),iconName:"Minus",description:"Insert a horizontal divider",aliases:["hr","fgx","fg"],action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).setHorizontalRule().run()}}),n.name.toLowerCase()==="columns"&&t[1].commands.push({name:"columns",label:p.localeActions.t("editor.columns.tooltip"),iconName:"Columns2",description:"Add two column content",action:({editor:i})=>{i.chain().focus().insertColumns({cols:2}).run()}})}),t}function xn(e,t){var N,E;const[n,i]=m.useState(0),[a,r]=m.useState(0),c=m.useRef(null),{t:l}=p.useLocale(),d=m.useRef([]);m.useImperativeHandle(t,()=>({onKeyDown:h})),m.useEffect(()=>{if(!c.current)return;const C=a*1e3+n,b=d.current[C];b&&b.scrollIntoView({behavior:"smooth",block:"nearest"})},[n,a]);function h({event:C}){return C.key==="ArrowUp"?(u(),!0):C.key==="ArrowDown"?(x(),!0):C.key==="Enter"?(f(),!0):!1}function u(){var k;if(e.items.length===0)return!1;let C=n-1,b=a;C<0&&(b=a-1,C=((k=e.items[b])==null?void 0:k.commands.length)-1||0),b<0&&(b=e.items.length-1,C=e.items[b].commands.length-1),i(C),r(b)}function x(){if(e.items.length===0)return!1;const C=e.items[a].commands;let b=n+1,k=a;C.length-1<b&&(b=0,k=a+1),e.items.length-1<k&&(k=0),i(b),r(k)}function f(){if(e.items.length===0||a===-1||n===-1)return!1;_(a,n)}function _(C,b){const k=e.items[C].commands[b];e.command(k)}function y(C,b){_(C,b)}function v(C,b,k){d.current[C*1e3+b]=k}return o.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:(N=e==null?void 0:e.items)!=null&&N.length?o.jsx("div",{className:"richtext-grid richtext-min-w-48 richtext-grid-cols-1 richtext-gap-0.5",children:(E=e==null?void 0:e.items)==null?void 0:E.map((C,b)=>o.jsxs(m.Fragment,{children:[o.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:C.title}),C.commands.map((k,A)=>o.jsxs("button",{onClick:()=>y(b,A),ref:T=>v(b,A,T),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":a===b&&n===A}),children:[k.iconUrl&&o.jsx("img",{alt:"",className:"richtext-size-6",src:k.iconUrl}),k.iconName&&o.jsx(s.IconComponent,{className:"!richtext-mr-1 !richtext-text-lg",name:k.iconName}),k.label]},`command-${A}`))]},`slash-${C.title}`))}):o.jsx("div",{className:"richtext-p-3",children:o.jsx("span",{className:"richtext-text-xs richtext-text-gray-800 dark:richtext-text-gray-100",children:l("editor.slash.empty")})})})}const bn=m.forwardRef(xn),G="slashCommand";let S;const pn=g.Extension.create({name:G,priority:200,onCreate(){S=pe("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[g.Suggestion({editor:this.editor,char:"/",allowSpaces:!0,startOfLine:!0,pluginKey:new w.PluginKey(G),allow:({state:e,range:t})=>{var h,u,x;const n=e.doc.resolve(t.from),i=n.depth===1,a=n.parent.type.name==="paragraph",r=((h=n.parent.textContent)==null?void 0:h.charAt(0))==="/",c=this.editor.isActive("column"),l=(x=n.parent.textContent)==null?void 0:x.slice(Math.max(0,(u=n.parent.textContent)==null?void 0:u.indexOf("/"))),d=!(l!=null&&l.endsWith(" "));return(i&&a&&r||c&&a&&r)&&d},command:({editor:e,range:t,props:n})=>{const{view:i}=e;n.action({editor:e,range:t}),i.focus()},items:({query:e,editor:t})=>_n(t.extensionManager.extensions).map(c=>({...c,commands:c.commands.filter(l=>{const d=l.label.toLowerCase().trim(),h=e.toLowerCase().trim();if(l.aliases){const u=l.aliases.map(_=>_.toLowerCase().trim()),x=d.match(h),f=u.some(_=>_.match(h));return x||f}return d.match(h)}).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 g.ReactRenderer(bn,{props:n,editor:n.editor});const{view:i}=n.editor,a=()=>{if(!n.clientRect)return n.editor.storage[G].rect;const c=n.clientRect();if(!c)return n.editor.storage[G].rect;let l=c.y;if(c.top+e.element.offsetHeight+40>window.innerHeight){const d=c.top+e.element.offsetHeight-window.innerHeight+40;l=c.y-d}return new DOMRect(c.x,l,c.width,c.height)};t=()=>{S==null||S[0].setProps({getReferenceClientRect:a})},(r=i.dom.parentElement)==null||r.addEventListener("scroll",t),S==null||S[0].setProps({getReferenceClientRect:a,appendTo:()=>document.body,content:e.element}),S==null||S[0].show()},onUpdate(n){var c;e.updateProps(n);const{view:i}=n.editor,a=()=>{if(!n.clientRect)return n.editor.storage[G].rect;const l=n.clientRect();return l?new DOMRect(l.x,l.y,l.width,l.height):n.editor.storage[G].rect},r=()=>{S==null||S[0].setProps({getReferenceClientRect:a})};(c=i.dom.parentElement)==null||c.addEventListener("scroll",r),n.editor.storage[G].rect=n.clientRect?a():{width:0,height:0,left:0,top:0,right:0,bottom:0},S==null||S[0].setProps({getReferenceClientRect:a})},onKeyDown(n){var i;return n.event.key==="Escape"?(S==null||S[0].hide(),!0):(S!=null&&S[0].state.isShown||S==null||S[0].show(),(i=e.ref)==null?void 0:i.onKeyDown(n))},onExit(n){var i;if(S==null||S[0].hide(),t){const{view:a}=n.editor;(i=a.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 wn({editor:e,imageInline:t,onClose:n}){const{t:i}=p.useLocale(),[a,r]=m.useState(!1),c=m.useRef(null),[l,d]=m.useState(),[h,u]=m.useState(""),x=m.useRef(null),[f,_]=m.useState({src:"",file:null});function y(b){if(c.current&&b.width&&b.height){const k=v(c.current,b);u(k)}}function v(b,k){const A=document.createElement("canvas"),T=b.naturalWidth/b.width,L=b.naturalHeight/b.height;A.width=k.width*T,A.height=k.height*L;const B=A.getContext("2d");return B&&(B.imageSmoothingEnabled=!1,B.drawImage(b,k.x*T,k.y*L,k.width*T,k.height*L,0,0,k.width*T,k.height*L)),A.toDataURL("image/png",1)}async function N(){var b,k;try{const A=s.dataURLtoFile(h,((b=f==null?void 0:f.file)==null?void 0:b.name)||"image.png"),T=(k=e.extensionManager.extensions.find(B=>B.name==="image"))==null?void 0:k.options;let L="";T.upload?L=await T.upload(A):L=URL.createObjectURL(A),e.chain().focus().setImageInline({src:L,inline:t}).run(),r(!1),_({src:"",file:null}),n()}catch(A){console.log("Error cropping image",A)}}function E(b){var k;b.preventDefault(),(k=x.current)==null||k.click()}const C=async b=>{var L;const k=(L=b==null?void 0:b.target)==null?void 0:L.files;if(!e||e.isDestroyed||k.length===0)return;const A=k[0],T=await s.readImageAsBase64(A);r(!0),_({src:T.src,file:A})};return o.jsxs(o.Fragment,{children:[o.jsx(s.Button,{className:"richtext-mt-1 richtext-w-full",onClick:E,size:"sm",children:i("editor.image.dialog.tab.uploadCrop")}),o.jsxs(s.Dialog,{open:a,children:[o.jsx(s.DialogTrigger,{}),o.jsxs(s.DialogContent,{children:[o.jsx(s.DialogTitle,{children:i("editor.image.dialog.tab.uploadCrop")}),o.jsx("div",{children:f.src&&o.jsx(et,{className:"richtext-w-full",crop:l,onChange:b=>d(b),onComplete:b=>y(b),children:o.jsx("img",{alt:"Crop me",ref:c,src:f.src})})}),o.jsxs(s.DialogFooter,{children:[o.jsxs(s.Button,{onClick:()=>{r(!1),_({src:"",file:null})},children:[i("editor.imageUpload.cancel"),o.jsx(s.IconComponent,{className:"richtext-ml-[4px]",name:"Trash2"})]}),o.jsxs(s.Button,{className:"richtext-w-fit",onClick:N,children:[i("editor.imageUpload.crop"),o.jsx(s.IconComponent,{className:"richtext-ml-[4px]",name:"Crop"})]})]})]})]}),o.jsx("input",{accept:"image/*",multiple:!0,onChange:C,ref:x,type:"file",style:{display:"none"}})]})}function yn(e){const{t}=p.useLocale(),n=fn(),[i,a]=m.useState(""),r=m.useRef(null),[c,l]=m.useState(!1),d=m.useMemo(()=>{var _;return(_=e.editor.extensionManager.extensions.find(y=>y.name===Ue.name))==null?void 0:_.options},[e.editor]);async function h(f){var N;const _=(N=f==null?void 0:f.target)==null?void 0:N.files;if(!e.editor||e.editor.isDestroyed||_.length===0)return;const y=_[0];let v="";d.upload?v=await d.upload(y):v=URL.createObjectURL(y),e.editor.chain().focus().setImageInline({src:v,inline:c}).run(),Y.setOpen(!1),l(!1)}function u(f){f.preventDefault(),f.stopPropagation(),e.editor.chain().focus().setImageInline({src:i,inline:c}).run(),Y.setOpen(!1),l(!1),a("")}function x(f){var _;f.preventDefault(),(_=r.current)==null||_.click()}return o.jsxs(s.Dialog,{open:n,onOpenChange:Y.setOpen,children:[o.jsx(s.DialogTrigger,{asChild:!0,children:o.jsx(s.ActionButton,{icon:e.icon,action:()=>Y.setOpen(!0),tooltip:e.tooltip})}),o.jsxs(s.DialogContent,{children:[o.jsx(s.DialogTitle,{children:t("editor.image.dialog.title")}),o.jsxs(ve,{defaultValue:d.resourceImage==="both"||d.resourceImage==="upload"?"upload":"link",activationMode:"manual",children:[o.jsxs(de,{className:"richtext-grid richtext-w-full richtext-grid-cols-2",children:[d.resourceImage==="both"||d.resourceImage==="upload"?o.jsx(Q,{value:"upload",children:t("editor.image.dialog.tab.upload")}):o.jsx(o.Fragment,{}),d.resourceImage==="both"||d.resourceImage==="link"?o.jsx(Q,{value:"link",children:t("editor.image.dialog.tab.url")}):o.jsx(o.Fragment,{})]}),o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[4px] richtext-my-[10px]",children:[o.jsx(Pe,{checked:c,onCheckedChange:f=>{l(f)}}),o.jsx(s.Label,{children:t("editor.link.dialog.inline")})]}),o.jsxs(ee,{value:"upload",children:[o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[o.jsx(s.Button,{className:"richtext-w-full richtext-mt-1",size:"sm",onClick:x,children:t("editor.image.dialog.tab.upload")}),o.jsx(wn,{editor:e.editor,imageInline:c,onClose:()=>Y.setOpen(!1)})]}),o.jsx("input",{type:"file",accept:"image/*",ref:r,multiple:!0,style:{display:"none"},onChange:h})]}),o.jsx(ee,{value:"link",children:o.jsx("form",{onSubmit:u,children:o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-2",children:[o.jsx(s.Input,{type:"url",autoFocus:!0,value:i,onChange:f=>a(f.target.value),required:!0,placeholder:t("editor.image.dialog.placeholder")}),o.jsx(s.Button,{type:"submit",children:t("editor.image.dialog.button.apply")})]})})})]})]})]})}const re={TOP_LEFT:"tl",TOP_RIGHT:"tr",BOTTOM_LEFT:"bl",BOTTOM_RIGHT:"br"};function vn(e){var L,B;const[t,n]=m.useState({width:p.IMAGE_MAX_SIZE,height:p.IMAGE_MAX_SIZE}),[i,a]=m.useState({width:0,height:0}),[r]=m.useState([re.TOP_LEFT,re.TOP_RIGHT,re.BOTTOM_LEFT,re.BOTTOM_RIGHT]),[c,l]=m.useState(!1),[d,h]=m.useState({x:0,y:0,w:0,h:0,dir:""}),{align:u,inline:x}=(L=e==null?void 0:e.node)==null?void 0:L.attrs,f=m.useMemo(()=>{var ke;const{src:j,alt:R,width:H,height:V,flipX:K,flipY:M}=(ke=e==null?void 0:e.node)==null?void 0:ke.attrs,P=w.isNumber(H)?`${H}px`:H,O=w.isNumber(V)?`${V}px`:V,ue=[];K&&ue.push("rotateX(180deg)"),M&&ue.push("rotateY(180deg)");const We=ue.join(" ");return{src:j||void 0,alt:R||void 0,style:{width:P||void 0,height:O||void 0,transform:We||"none"}}},[(B=e==null?void 0:e.node)==null?void 0:B.attrs]),_=m.useMemo(()=>{const{style:{width:j}}=f;return{width:j==="100%"?j:void 0}},[f]);function y(j){a({width:j.target.width,height:j.target.height})}function v(){const{editor:j,getPos:R}=e;j.commands.setNodeSelection(R())}const N=m.useCallback(w.throttle(()=>{const{editor:j}=e,{width:R}=getComputedStyle(j.view.dom);n(H=>({...H,width:Number.parseInt(R,10)}))},p.IMAGE_THROTTLE_WAIT_TIME),[e==null?void 0:e.editor]);function E(j,R){j.preventDefault(),j.stopPropagation();const H=i.width,V=i.height,K=H/V;let M=Number(e.node.attrs.width),P=Number(e.node.attrs.height);const O=t.width;M&&!P?(M=M>O?O:M,P=Math.round(M/K)):P&&!M?(M=Math.round(P*K),M=M>O?O:M):!M&&!P?(M=H>O?O:H,P=Math.round(M/K)):M=M>O?O:M,l(!0),h({x:j.clientX,y:j.clientY,w:M,h:P,dir:R})}const C=m.useCallback(w.throttle(j=>{if(j.preventDefault(),j.stopPropagation(),!c)return;const{x:R,w:H,dir:V}=d,K=(j.clientX-R)*(/l/.test(V)?-1:1),M=w.clamp(H+K,p.IMAGE_MIN_SIZE,t.width);e.updateAttributes({width:M,height:null})},p.IMAGE_THROTTLE_WAIT_TIME),[c,d,t,e.updateAttributes]),b=m.useCallback(j=>{j.preventDefault(),j.stopPropagation(),c&&(h({x:0,y:0,w:0,h:0,dir:""}),l(!1),v())},[c,v]),k=m.useCallback(()=>{document==null||document.addEventListener("mousemove",C,!0),document==null||document.addEventListener("mouseup",b,!0)},[C,b]),A=m.useCallback(()=>{document==null||document.removeEventListener("mousemove",C,!0),document==null||document.removeEventListener("mouseup",b,!0)},[C,b]);m.useEffect(()=>(c?k():A(),()=>{A()}),[c,k,A]);const T=m.useMemo(()=>new ResizeObserver(()=>N()),[N]);return m.useEffect(()=>(T.observe(e.editor.view.dom),()=>{T.disconnect()}),[e.editor.view.dom,T]),o.jsx(g.NodeViewWrapper,{as:x?"span":"div",className:"image-view",style:{..._,textAlign:u,display:x?"inline":"block"},children:o.jsxs("div",{"data-drag-handle":!0,draggable:"true",style:_,className:`image-view__body ${e!=null&&e.selected?"image-view__body--focused":""} ${c?"image-view__body--resizing":""}`,children:[o.jsx("img",{alt:f.alt,className:"image-view__body__image block",height:"auto",onClick:v,onLoad:y,src:f.src,style:f.style}),(e==null?void 0:e.editor.view.editable)&&((e==null?void 0:e.selected)||c)&&o.jsx("div",{className:"image-resizer",children:r==null?void 0:r.map(j=>o.jsx("span",{className:`image-resizer__handler image-resizer__handler--${j}`,onMouseDown:R=>E(R,j)},`image-dir-${j}`))})]})})}const J=new w.PluginKey("upload-image");function kn(){return new w.Plugin({key:J,state:{init(){return w.DecorationSet.empty},apply(e,t){t=t.map(e.mapping,e.doc);const n=e.getMeta(J);if(n!=null&&n.add)for(const{id:i,pos:a,src:r}of n.add){const c=Cn(r),l=w.Decoration.widget(a,c,{id:i});t=t.add(e.doc,[l])}else if(n!=null&&n.remove)for(const i of n.remove)t=t.remove(t.find(void 0,void 0,a=>a.id===i));return t}},props:{decorations(e){return this.getState(e)}}})}function Cn(e){const t=document.createElement("div"),n=document.createElement("img");return n.setAttribute("class","opacity-50"),n.src=e,n.addEventListener("load",()=>{t.setAttribute("class","img-placeholder")}),t.append(n),t}function jn(e,t){var a;const i=J.getState(e).find(void 0,void 0,r=>r.id===t);return i.length>0?(a=i[0])==null?void 0:a.from:null}function An({validateFn:e,onUpload:t,postUpload:n}){return(i,a,r)=>{for(const c of i){if(e&&!e(c))continue;const l=Date.now().toString(),d=a.state.tr;d.selection.empty||d.deleteSelection();const h=URL.createObjectURL(c);d.setMeta(J,{add:[{id:l,pos:r,src:h}]}),a.dispatch(d),t(c).then(async u=>{var E;n&&typeof u=="string"&&(u=await n(u));const{schema:x}=a.state;let f=jn(a.state,l);if(f===null)return;const _=typeof u=="object"?h:u,y=(E=x.nodes.image)==null?void 0:E.create({src:_});if(!y)return;const{doc:v}=a.state;f>v.content.size&&(f=v.content.size-1);const N=a.state.tr.replaceWith(f,f,y).setMeta(J,{remove:[l]});a.dispatch(N)},()=>{const u=a.state.tr.delete(r,r).setMeta(J,{remove:[l]});a.dispatch(u)})}}}function Tn(e,t,n){var a;const i=[...((a=t.clipboardData)==null?void 0:a.files)||[]];if(i.length>0){t.preventDefault();const r=e.state.selection.from;return n(i,e,r+1),!0}return!1}function Sn(e,t,n,i){var r;const a=[...((r=t.dataTransfer)==null?void 0:r.files)||[]];if(!n&&a.length>0){t.preventDefault();const c=e.posAtCoords({left:t.clientX,top:t.clientY});if(c)return i(a,e,c.pos+1),!0}return!1}const Nn={acceptMimes:["image/jpeg","image/gif","image/png","image/jpg"],maxSize:1024*1024*5,resourceImage:"both"},Ue=g.Image.extend({group:"inline",inline:!0,defining:!0,draggable:!0,selectable:!0,addOptions(){var e;return{...Nn,...(e=this.parent)==null?void 0:e.call(this),upload:()=>Promise.reject("Image Upload Function"),button:({editor:t,extension:n,t:i})=>{var a,r;return{component:yn,componentProps:{action:()=>!0,upload:n.options.upload,disabled:!((r=(a=t.can()).setImage)!=null&&r.call(a,{})),icon:"ImageUp",tooltip:i("editor.image.tooltip"),editor:t}}}}},addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),flipX:{default:!1},flipY:{default:!1},width:{default:null,parseHTML:t=>{const n=t.style.width||t.getAttribute("width")||null;return n?Number.parseInt(n,10):null},renderHTML:t=>({width:t.width})},align:{default:"center",parseHTML:t=>t.getAttribute("align"),renderHTML:t=>({align:t.align})},inline:{default:!1,parseHTML:t=>!!t.getAttribute("inline"),renderHTML:t=>({inline:t.inline})}}},addNodeView(){return g.ReactNodeViewRenderer(vn)},addCommands(){var e;return{...(e=this.parent)==null?void 0:e.call(this),setImageInline:t=>({commands:n})=>n.insertContent({type:this.name,attrs:t}),updateImage:t=>({commands:n})=>n.updateAttributes(this.name,t),setAlignImage:t=>({commands:n})=>n.updateAttributes(this.name,{align:t})}},renderHTML({HTMLAttributes:e}){const{flipX:t,flipY:n,align:i,inline:a}=e,r=t||n?`transform: rotateX(${t?"180":"0"}deg) rotateY(${n?"180":"0"}deg);`:"",c=i?`text-align: ${i};`:"";return[a?"span":"div",{style:c,class:"image"},["img",g.mergeAttributes({height:"auto",style:r},this.options.HTMLAttributes,e)]]},parseHTML(){return[{tag:"span.image img",getAttrs:e=>{var r;const t=e==null?void 0:e.parentElement,n=e==null?void 0:e.getAttribute("width"),i=(e==null?void 0:e.getAttribute("flipx"))||!1,a=(e==null?void 0:e.getAttribute("flipy"))||!1;return{src:e==null?void 0:e.getAttribute("src"),alt:e==null?void 0:e.getAttribute("alt"),caption:e==null?void 0:e.getAttribute("caption"),width:n?Number.parseInt(n,10):null,align:(e==null?void 0:e.getAttribute("align"))||((r=t==null?void 0:t.style)==null?void 0:r.textAlign)||null,inline:(e==null?void 0:e.getAttribute("inline"))||!1,flipX:i==="true",flipY:a==="true"}}},{tag:"div[class=image]",getAttrs:e=>{const t=e.querySelector("img"),n=t==null?void 0:t.getAttribute("width"),i=(t==null?void 0:t.getAttribute("flipx"))||!1,a=(t==null?void 0:t.getAttribute("flipy"))||!1;return{src:t==null?void 0:t.getAttribute("src"),alt:t==null?void 0:t.getAttribute("alt"),caption:t==null?void 0:t.getAttribute("caption"),width:n?Number.parseInt(n,10):null,align:(t==null?void 0:t.getAttribute("align"))||e.style.textAlign||null,inline:(t==null?void 0:t.getAttribute("inline"))||!1,flipX:i==="true",flipY:a==="true"}}}]},addProseMirrorPlugins(){const t=An({validateFn:n=>!(!this.options.acceptMimes.includes(n.type)||n.size>this.options.maxSize),onUpload:this.options.upload});return[new w.Plugin({props:{handlePaste:(n,i)=>!i.clipboardData||[...i.clipboardData.files||[]].some(r=>r.type==="text/html")?!1:Tn(n,i,t),handleDrop:(n,i,a,r)=>(!(i instanceof DragEvent)||!i.dataTransfer||Sn(n,i,r,t),!1)}}),kn()]}});function Ln(e){return/\.(?:mp4|webm|ogg|mov)$/i.test(e)}function Mn(e){const{t}=p.useLocale(),[n,i]=m.useState(""),a=m.useRef(null),r=gn(),[c,l]=m.useState(""),d=m.useMemo(()=>{var _;return(_=e.editor.extensionManager.extensions.find(y=>y.name===$e.name))==null?void 0:_.options},[e.editor]);async function h(f){var N;const _=(N=f==null?void 0:f.target)==null?void 0:N.files;if(!e.editor||e.editor.isDestroyed||_.length===0)return;const y=_[0];let v="";d.upload?v=await d.upload(y):v=URL.createObjectURL(y),e.editor.chain().setVideo({src:v,width:"100%"}).focus().run(),oe.setOpen(!1)}function u(f){f.preventDefault(),f.stopPropagation(),n&&(e.editor.chain().setVideo({src:n,width:"100%"}).focus().run(),oe.setOpen(!1))}function x(f){var _;f.preventDefault(),(_=a.current)==null||_.click()}return o.jsxs(s.Dialog,{open:r,onOpenChange:oe.setOpen,children:[o.jsx(s.DialogTrigger,{asChild:!0,children:o.jsx(s.ActionButton,{icon:e.icon,action:()=>oe.setOpen(!0),tooltip:e.tooltip})}),o.jsxs(s.DialogContent,{children:[o.jsx(s.DialogTitle,{children:t("editor.video.dialog.title")}),o.jsxs(ve,{defaultValue:(d==null?void 0:d.resourceVideo)==="both"||(d==null?void 0:d.resourceVideo)==="upload"?"upload":"link",activationMode:"manual",children:[o.jsxs(de,{className:"richtext-grid richtext-w-full richtext-grid-cols-2",children:[((d==null?void 0:d.resourceVideo)==="both"||(d==null?void 0:d.resourceVideo)==="upload")&&o.jsx(Q,{value:"upload",children:t("editor.video.dialog.tab.upload")}),((d==null?void 0:d.resourceVideo)==="both"||(d==null?void 0:d.resourceVideo)==="link")&&o.jsx(Q,{value:"link",children:t("editor.video.dialog.link")})]}),o.jsxs(ee,{value:"upload",children:[o.jsx("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:o.jsx(s.Button,{className:"richtext-w-full richtext-mt-1",size:"sm",onClick:x,children:t("editor.video.dialog.tab.upload")})}),o.jsx("input",{type:"file",accept:"video/*",ref:a,multiple:!0,style:{display:"none"},onChange:h})]}),o.jsxs(ee,{value:"link",children:[o.jsx("form",{onSubmit:u,children:o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-2",children:[o.jsx(s.Input,{type:"url",autoFocus:!0,value:n,onChange:f=>{const _=f.target.value;if(!Ln(_)){l("Invalid video URL"),i("");return}l(""),i(_)},required:!0,placeholder:t("editor.video.dialog.placeholder")}),o.jsx(s.Button,{type:"submit",children:t("editor.video.dialog.button.apply")})]})}),c&&o.jsx("div",{className:"richtext-text-red-500 richtext-my-[5px]",children:c})]})]})]})]})}function In(e){return e=e.replace("https://youtu.be/","https://www.youtube.com/watch?v=").replace("watch?v=","embed/"),e=e.replace("https://vimeo.com/","https://player.vimeo.com/video/"),/^https?:\/\/www.bilibili.com\/video\/.*/i.test(e)&&(e=e.replace(/\?.*$/,"").replace("https://www.bilibili.com/video/","https://player.bilibili.com/player.html?bvid=")),e.includes("drive.google.com")&&(e=e.replace("/view","/preview")),e}const $e=g.Node.create({name:"video",group:"block",atom:!0,draggable:!0,addOptions(){return{divider:!1,spacer:!1,allowFullscreen:!0,upload:void 0,frameborder:!1,resourceVideo:"both",width:p.VIDEO_SIZE["size-medium"],HTMLAttributes:{class:"iframe-wrapper",style:"display: flex;justify-content: center;"},button:({editor:e,t})=>{var n,i;return{component:Mn,componentProps:{action:()=>{},isActive:()=>e.isActive("video")||!1,disabled:!((i=(n=e.can()).setVideo)!=null&&i.call(n,{})),icon:"Video",tooltip:t("editor.video.tooltip"),editor:e}}}}},addAttributes(){return{src:{default:null,renderHTML:({src:e})=>({src:e?In(e):null})},width:{default:this.options.width,renderHTML:({width:e})=>({width:s.getCssUnitWithDefault(e)})},frameborder:{default:this.options.frameborder?1:0,parseHTML:()=>this.options.frameborder?1:0},allowfullscreen:{default:this.options.allowFullscreen,parseHTML:()=>this.options.allowFullscreen}}},parseHTML(){return[{tag:"div[data-video] iframe"}]},renderHTML({HTMLAttributes:e}){const{width:t="100%"}=e??{},n={...e,width:"100%",height:"100%"},i=`position: relative;overflow: hidden;display: flex;flex: 1;max-width: ${t};`,a=`flex: 1;padding-bottom: ${9/16*100}%;`,l=["div",{style:i},["div",{style:a}],["iframe",n]];return["div",{...this.options.HTMLAttributes,"data-video":""},l]},addCommands(){return{setVideo:e=>({commands:t})=>t.insertContent({type:this.name,attrs:e}),updateVideo:e=>({commands:t})=>t.updateAttributes(this.name,e)}}});function En(e,t,n){if(!e.doc)return e;const i=e.doc.nodeAt(t);if(!i||n===i.attrs.backgroundColor)return e;const a={...i.attrs,backgroundColor:n};return e.setNodeMarkup(t,i.type,a,i.marks)}function Dn(e,t,n){const{doc:i,selection:a}=e;return!i||!a||!(a instanceof w.CellSelection)||a.forEachCell((r,c)=>{e=En(e,c,n)}),e}function Ae(e,t){return({tr:n,state:i,dispatch:a})=>{const{selection:r}=i;return n=n.setSelection(r),n=Dn(n,t,e),n.docChanged?(a==null||a(n),!0):!1}}const Rn=g.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=>Ae(e,this.options),unsetTableCellBackground:()=>Ae("",this.options)}}}),Hn=/(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,zn=/CrOS/,Bn=/android|ipad|playbook|silk/i;function Te(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:!!(Hn.test(t)&&!zn.test(t)||e.tablet&&Bn.test(t)||e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.includes("Macintosh")&&t.includes("Safari"))}const Se=e=>Array.from({length:e}).map((t,n)=>n+1);function Pn(e){var u;const[t,n]=m.useState(!0),[i,a]=m.useState({rows:Te()?p.TABLE_MAX_GRID_SIZE:p.TABLE_INIT_GRID_SIZE,cols:Te()?p.TABLE_MAX_GRID_SIZE:p.TABLE_INIT_GRID_SIZE}),[r,c]=m.useState({rows:p.TABLE_DEFAULT_SELECTED_GRID_SIZE,cols:p.TABLE_DEFAULT_SELECTED_GRID_SIZE});function l(x,f){x===i.rows&&a(_=>({..._,rows:Math.min(x+1,p.TABLE_MAX_GRID_SIZE)})),f===i.cols&&a(_=>({..._,cols:Math.min(f+1,p.TABLE_MAX_GRID_SIZE)})),c({rows:x,cols:f})}function d(x,f){e==null||e.createTable({rows:x,cols:f,withHeaderRow:t}),h()}function h(){n(!1),a({rows:p.TABLE_INIT_GRID_SIZE,cols:p.TABLE_INIT_GRID_SIZE}),c({rows:p.TABLE_DEFAULT_SELECTED_GRID_SIZE,cols:p.TABLE_DEFAULT_SELECTED_GRID_SIZE})}return o.jsxs(s.Popover,{modal:!0,children:[o.jsx(s.PopoverTrigger,{asChild:!0,children:e==null?void 0:e.children}),o.jsx(s.PopoverContent,{align:"start",className:"richtext-w-full !richtext-p-2",side:"bottom",children:o.jsxs("div",{className:"table-grid-size-editor richtext-p-0",children:[o.jsx("div",{className:"richtext-flex richtext-flex-col richtext-flex-wrap richtext-justify-between richtext-gap-1",children:(u=Se(i==null?void 0:i.rows))==null?void 0:u.map(x=>{var f;return o.jsx("div",{className:"richtext-flex richtext-gap-1",children:(f=Se(i==null?void 0:i.cols))==null?void 0:f.map(_=>o.jsx("div",{onMouseDown:()=>d(x,_),onMouseOver:()=>l(x,_),className:`richtext-cursor-pointer richtext-border-border ${_<=r.cols&&x<=r.rows&&"tableCellActive !richtext-bg-foreground"}`,children:o.jsx("div",{className:"richtext-box-border richtext-size-4 richtext-rounded-[2px] !richtext-border richtext-border-solid !richtext-border-border richtext-p-1"})},`c-${_}`))},`r-${x}`)})}),o.jsxs("div",{className:"richtext-mt-2 richtext-text-center richtext-text-sm richtext-text-zinc-600",children:[r.rows," ","x",r.cols]})]})})]})}function On(e){function t(n){e.disabled||e.editor.chain().focus().insertTable({...n,withHeaderRow:!1}).run()}return o.jsx(Pn,{createTable:t,children:o.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 Fn=g.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:On,componentProps:{disabled:t.isActive("table")||!1,icon:"Table",tooltip:n("editor.table.tooltip"),editor:t}})}},addExtensions(){return[g.TableRow.configure(this.options.tableRow),g.TableHeader.configure(this.options.tableHeader),g.TableCell.configure(this.options.tableCell),Rn.configure(this.options.tableCellBackground)]}}),Un=g.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 w.Plugin({key:new w.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:a,selection:r},dom:c}=e;c.style.cursor="",a=a.removeMark(r.from,r.to);for(const l of t)l.type.name!=="link"&&(a=a.addMark(r.from,r.to,l));i(a.setMeta("painterAction",{type:"end"}))};return document.addEventListener("mouseup",n),!0}}}})]}});function $n(e,t="{}"){try{return JSON.stringify(e)}catch{return t}}function qn({editor:e,...t}){const{t:n}=p.useLocale(),[i,a]=m.useState(-1),[r,c]=m.useState([]),[l,d]=m.useState(""),[h,u]=m.useState(""),[x,f]=m.useState(!1),[_,y]=m.useState(!1);return m.useEffect(()=>{x||(d(""),u(""),a(-1),c([]),e.commands.setSearchTerm(""),e.commands.setReplaceTerm(""))},[e,x]),m.useEffect(()=>{x&&e&&e.commands&&e.commands.setSearchTerm&&e.commands.setSearchTerm(l)},[x,l,e]),m.useEffect(()=>{x&&e&&e.commands&&e.commands.setReplaceTerm&&e.commands.setReplaceTerm(h)},[x,h,e]),m.useEffect(()=>{if(!e)return;const v=e.extensionManager.extensions.find(E=>E.name===qe.name);if(!v)return;const N=()=>{if(!x)return;const E=v?v.storage.currentIndex:-1,C=v?v.storage.results:[];a(b=>b!==E?E:b),c(b=>w.deepEqual(b,C)?b:C)};return window.addEventListener(be,N),()=>{v&&window.removeEventListener(be,N)}},[x,e]),o.jsxs(s.Popover,{open:x,onOpenChange:f,children:[o.jsx(s.PopoverTrigger,{disabled:t==null?void 0:t.disabled,asChild:!0,children:o.jsx(s.ActionButton,{tooltip:t==null?void 0:t.tooltip,isActive:t==null?void 0:t.isActive,disabled:t==null?void 0:t.disabled,children:o.jsx(s.IconComponent,{name:t==null?void 0:t.icon})})}),o.jsxs(s.PopoverContent,{hideWhenDetached:!0,className:"richtext-w-full",align:"start",side:"bottom",children:[o.jsxs("div",{className:"richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between",children:[o.jsx(s.Label,{children:n("editor.search.dialog.text")}),o.jsx("span",{className:"richtext-font-semibold",children:r.length>0?`${i+1}/${r.length}`:"0/0"})]}),o.jsxs("div",{className:"richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5 richtext-mb-[10px]",children:[o.jsx(s.Input,{type:"text",required:!0,className:"richtext-w-full",placeholder:"Text",autoFocus:!0,value:l,onChange:v=>d(v.target.value)}),o.jsx(s.Button,{disabled:r.length===0,className:"richtext-flex-1",onClick:e.commands.goToPrevSearchResult,children:o.jsx(s.IconComponent,{name:"ChevronUp"})}),o.jsx(s.Button,{disabled:r.length===0,className:"richtext-flex-1",onClick:e.commands.goToNextSearchResult,children:o.jsx(s.IconComponent,{name:"ChevronDown"})})]}),o.jsx(s.Label,{className:"richtext-mb-[6px]",children:n("editor.replace.dialog.text")}),o.jsx("div",{className:"richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5 richtext-mb-[5px]",children:o.jsx("div",{className:"richtext-relative richtext-items-center richtext-w-full richtext-max-w-sm",children:o.jsx(s.Input,{type:"text",required:!0,className:"richtext-w-80",placeholder:"Text",value:h,onChange:v=>u(v.target.value)})})}),o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-space-x-2 richtext-mb-[10px]",children:[o.jsx(s.Switch,{checked:_,onCheckedChange:v=>{y(v),e.commands.setCaseSensitive(v)}}),o.jsx(s.Label,{children:n("editor.replace.caseSensitive")})]}),o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[o.jsx(s.Button,{disabled:r.length===0,className:"richtext-flex-1",onClick:e.commands.replace,children:n("editor.replace.dialog.text")}),o.jsx(s.Button,{disabled:r.length===0,className:"richtext-flex-1",onClick:e.commands.replaceAll,children:n("editor.replaceAll.dialog.text")})]})]})]})}const ie=(e,t)=>t(e.tr);function Vn(e,t,n){return RegExp(t?e.replace(/[$()*+./?[\\\]^{|}-]/g,String.raw`\$&`):e,n?"gu":"gui")}function Kn(e,t,n){const i=[];let a=[];const r=[];let c=0;if(!t)return{decorationsToReturn:[],results:[]};e==null||e.descendants((l,d)=>{l.isText?a[c]?a[c]={text:a[c].text+l.text,pos:a[c].pos}:a[c]={text:`${l.text}`,pos:d}:c+=1}),a=a.filter(Boolean);for(const{text:l,pos:d}of a){const h=[...l.matchAll(t)];for(const u of h){if(u[0]==="")break;u.index!==void 0&&r.push({from:d+u.index,to:d+u.index+u[0].length})}}for(const l of r)i.push(w.Decoration.inline(l.from,l.to,{class:n}));return{decorationsToReturn:i,results:r}}function Ne(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 Gn(e,t,n,i){const a=t+1;if(!i[a])return null;const{from:r,to:c}=i[t],l=c-r-e.length+n,{from:d,to:h}=i[a];return i[a]={to:h-l,from:d-l},[l,i]}function Wn(e,t,{tr:n,dispatch:i}){let a=0,r=t.slice();if(r.length===0)return!1;for(let c=0;c<r.length;c+=1){const{from:l,to:d}=r[c];n.insertText(e,l,d);const h=Gn(e,c,a,r);h&&(a=h[0],r=h[1])}return i(n),!0}function Le({view:e,tr:t,searchResults:n,searchResultCurrentClass:i,gotoIndex:a}){const r=n[a];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&&we(l,{behavior:"smooth",scrollMode:"if-needed"})},0),!0}return!1}const be="ON_SEARCH_RESULTS",Z=new CustomEvent(be),qe=g.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:qn,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,window.dispatchEvent(Z),ie(t,n),!1),setReplaceTerm:e=>({state:t,dispatch:n})=>(this.options.replaceTerm=e,ie(t,n),!1),setCaseSensitive:e=>({state:t,dispatch:n})=>(this.options.caseSensitive=e,ie(t,n),!1),replace:()=>({state:e,dispatch:t})=>{const{replaceTerm:n}=this.options,{currentIndex:i,results:a}=this.storage,r=a[i];return r?(Ne(n,[r],{state:e,dispatch:t}),this.storage.results.splice(i,1)):(Ne(n,a,{state:e,dispatch:t}),this.storage.results.shift()),window.dispatchEvent(Z),ie(e,t),!1},replaceAll:()=>({state:e,tr:t,dispatch:n})=>{const{replaceTerm:i}=this.options,{results:a}=this.storage;return Wn(i,a,{tr:t,dispatch:n}),this.storage.currentIndex=-1,this.storage.results=[],window.dispatchEvent(Z),ie(e,n),!1},goToPrevSearchResult:()=>({view:e,tr:t})=>{const{searchResultCurrentClass:n}=this.options,{currentIndex:i,results:a}=this.storage,r=(i+a.length-1)%a.length;return this.storage.currentIndex=r,window.dispatchEvent(Z),Le({view:e,tr:t,searchResults:a,searchResultCurrentClass:n,gotoIndex:r})},goToNextSearchResult:()=>({view:e,tr:t})=>{const{searchResultCurrentClass:n}=this.options,{currentIndex:i,results:a}=this.storage,r=(i+1)%a.length;return this.storage.currentIndex=r,this.options.onChange&&this.options.onChange(),window.dispatchEvent(Z),Le({view:e,tr:t,searchResults:a,searchResultCurrentClass:n,gotoIndex:r})}}},addProseMirrorPlugins(){const e=this;return[new w.Plugin({key:new w.PluginKey("search"),state:{init(){return w.DecorationSet.empty},apply(t){const{doc:n,docChanged:i}=t,{searchTerm:a,searchResultClass:r,searchResultCurrentClass:c,disableRegex:l,caseSensitive:d}=e.options;if(i||a){const{decorationsToReturn:h,results:u}=Kn(n,Vn(a,l,d),r);if(e.storage.results=u,e.storage.currentIndex>u.length-1&&(e.storage.currentIndex=0),window.dispatchEvent(Z),t.getMeta("directDecoration")){const{fromPos:x,toPos:f,attrs:_}=t.getMeta("directDecoration");h.push(w.Decoration.inline(x,f,_))}else u.length>0&&(h[0]=w.Decoration.inline(u[0].from,u[0].to,{class:c}));return w.DecorationSet.create(n,h)}return w.DecorationSet.empty}},props:{decorations(t){return this.getState(t)}}})]}});function Zn(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:o.jsx("path",{d:"M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.628 0 12-5.373 12-12 0-6.628-5.372-12-12-12m9.949 11H17.05c.224-2.527 1.232-4.773 1.968-6.113A9.966 9.966 0 0 1 21.949 11M13 11V2.051a9.945 9.945 0 0 1 4.432 1.564c-.858 1.491-2.156 4.22-2.392 7.385H13zm-2 0H8.961c-.238-3.165-1.536-5.894-2.393-7.385A9.95 9.95 0 0 1 11 2.051V11zm0 2v8.949a9.937 9.937 0 0 1-4.432-1.564c.857-1.492 2.155-4.221 2.393-7.385H11zm4.04 0c.236 3.164 1.534 5.893 2.392 7.385A9.92 9.92 0 0 1 13 21.949V13h2.04zM4.982 4.887C5.718 6.227 6.726 8.473 6.951 11h-4.9a9.977 9.977 0 0 1 2.931-6.113M2.051 13h4.9c-.226 2.527-1.233 4.771-1.969 6.113A9.972 9.972 0 0 1 2.051 13m16.967 6.113c-.735-1.342-1.744-3.586-1.968-6.113h4.899a9.961 9.961 0 0 1-2.931 6.113",fill:"currentColor"})})}function Xn(){return o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:[o.jsx("path",{d:"M15.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 15.5 8M8.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 8.5 8",fill:"currentColor"}),o.jsx("path",{d:"M18.933 0h-.027c-.97 0-2.138.787-3.018 1.497-1.274-.374-2.612-.51-3.887-.51-1.285 0-2.616.133-3.874.517C7.245.79 6.069 0 5.093 0h-.027C3.352 0 .07 2.67.002 7.026c-.039 2.479.276 4.238 1.04 5.013.254.258.882.677 1.295.882.191 3.177.922 5.238 2.536 6.38.897.637 2.187.949 3.2 1.102C8.04 20.6 8 20.795 8 21c0 1.773 2.35 3 4 3 1.648 0 4-1.227 4-3 0-.201-.038-.393-.072-.586 2.573-.385 5.435-1.877 5.925-7.587.396-.22.887-.568 1.104-.788.763-.774 1.079-2.534 1.04-5.013C23.929 2.67 20.646 0 18.933 0M3.223 9.135c-.237.281-.837 1.155-.884 1.238-.15-.41-.368-1.349-.337-3.291.051-3.281 2.478-4.972 3.091-5.031.256.015.731.27 1.265.646-1.11 1.171-2.275 2.915-2.352 5.125-.133.546-.398.858-.783 1.313M12 22c-.901 0-1.954-.693-2-1 0-.654.475-1.236 1-1.602V20a1 1 0 1 0 2 0v-.602c.524.365 1 .947 1 1.602-.046.307-1.099 1-2 1m3-3.48v.02a4.752 4.752 0 0 0-1.262-1.02c1.092-.516 2.239-1.334 2.239-2.217 0-1.842-1.781-2.195-3.977-2.195-2.196 0-3.978.354-3.978 2.195 0 .883 1.148 1.701 2.238 2.217A4.8 4.8 0 0 0 9 18.539v-.025c-1-.076-2.182-.281-2.973-.842-1.301-.92-1.838-3.045-1.853-6.478l.023-.041c.496-.826 1.49-1.45 1.804-3.102 0-2.047 1.357-3.631 2.362-4.522C9.37 3.178 10.555 3 11.948 3c1.447 0 2.685.192 3.733.57 1 .9 2.316 2.465 2.316 4.48.313 1.651 1.307 2.275 1.803 3.102.035.058.068.117.102.178-.059 5.967-1.949 7.01-4.902 7.19m6.628-8.202c-.037-.065-.074-.13-.113-.195a7.587 7.587 0 0 0-.739-.987c-.385-.455-.648-.768-.782-1.313-.076-2.209-1.241-3.954-2.353-5.124.531-.376 1.004-.63 1.261-.647.636.071 3.044 1.764 3.096 5.031.027 1.81-.347 3.218-.37 3.235",fill:"currentColor"})]})}function Yn(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:o.jsx("path",{d:"M0 0l6.084 24H8L1.916 0zM21 5h-4l-1-4H4l3 12h3l1 4h13L21 5zM6.563 3h7.875l2 8H8.563l-2-8zm8.832 10l-2.856 1.904L12.063 13h3.332zM19 13l-1.5-6h1.938l2 8H16l3-2z",fill:"currentColor"})})}function Jn(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:o.jsx("path",{d:"M17 4.978c-1.838 0-2.876.396-3.68.934.513-1.172 1.768-2.934 4.68-2.934a1 1 0 0 0 0-2c-2.921 0-4.629 1.365-5.547 2.512-.064.078-.119.162-.18.244C11.73 1.838 10.798.023 9.207.023 8.579.022 7.85.306 7 .978 5.027 2.54 5.329 3.902 6.492 4.999 3.609 5.222 0 7.352 0 12.969c0 4.582 4.961 11.009 9 11.009 1.975 0 2.371-.486 3-1 .629.514 1.025 1 3 1 4.039 0 9-6.418 9-11 0-5.953-4.055-8-7-8M8.242 2.546c.641-.508.943-.523.965-.523.426.169.975 1.405 1.357 3.055-1.527-.629-2.741-1.352-2.98-1.846.059-.112.241-.356.658-.686M15 21.978c-1.08 0-1.21-.109-1.559-.402l-.176-.146c-.367-.302-.816-.452-1.266-.452s-.898.15-1.266.452l-.176.146c-.347.292-.477.402-1.557.402-2.813 0-7-5.389-7-9.009 0-5.823 4.488-5.991 5-5.991 1.939 0 2.484.471 3.387 1.251l.323.276a1.995 1.995 0 0 0 2.58 0l.323-.276c.902-.78 1.447-1.251 3.387-1.251.512 0 5 .168 5 6 0 3.617-4.187 9-7 9",fill:"currentColor"})})}function Qn(){return o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:[o.jsx("path",{d:"M12 0a9 9 0 0 0-5 16.482V21s2.035 3 5 3 5-3 5-3v-4.518A9 9 0 0 0 12 0zm0 2c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7zM9 17.477c.94.332 1.946.523 3 .523s2.06-.19 3-.523v.834c-.91.436-1.925.689-3 .689a6.924 6.924 0 0 1-3-.69v-.833zm.236 3.07A8.854 8.854 0 0 0 12 21c.965 0 1.888-.167 2.758-.451C14.155 21.173 13.153 22 12 22c-1.102 0-2.117-.789-2.764-1.453z",fill:"currentColor"}),o.jsx("path",{d:"M14.745 12.449h-.004c-.852-.024-1.188-.858-1.577-1.824-.421-1.061-.703-1.561-1.182-1.566h-.009c-.481 0-.783.497-1.235 1.537-.436.982-.801 1.811-1.636 1.791l-.276-.043c-.565-.171-.853-.691-1.284-1.794-.125-.313-.202-.632-.27-.913-.051-.213-.127-.53-.195-.634C7.067 9.004 7.039 9 6.99 9A1 1 0 0 1 7 7h.01c1.662.017 2.015 1.373 2.198 2.134.486-.981 1.304-2.058 2.797-2.075 1.531.018 2.28 1.153 2.731 2.141l.002-.008C14.944 8.424 15.327 7 16.979 7h.032A1 1 0 1 1 17 9h-.011c-.149.076-.256.474-.319.709a6.484 6.484 0 0 1-.311.951c-.429.973-.79 1.789-1.614 1.789",fill:"currentColor"})]})}function ei(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:o.jsx("path",{d:"M0 0h11v2H0zM4 11h3V6h4V4H0v2h4zM15.5 17c1.381 0 2.5-1.116 2.5-2.493s-1.119-2.493-2.5-2.493S13 13.13 13 14.507 14.119 17 15.5 17m0-2.986c.276 0 .5.222.5.493 0 .272-.224.493-.5.493s-.5-.221-.5-.493.224-.493.5-.493M21.5 19.014c-1.381 0-2.5 1.116-2.5 2.493S20.119 24 21.5 24s2.5-1.116 2.5-2.493-1.119-2.493-2.5-2.493m0 2.986a.497.497 0 0 1-.5-.493c0-.271.224-.493.5-.493s.5.222.5.493a.497.497 0 0 1-.5.493M22 13l-9 9 1.513 1.5 8.99-9.009zM17 11c2.209 0 4-1.119 4-2.5V2s.985-.161 1.498.949C23.01 4.055 23 6 23 6s1-1.119 1-3.135C24-.02 21 0 21 0h-2v6.347A5.853 5.853 0 0 0 17 6c-2.209 0-4 1.119-4 2.5s1.791 2.5 4 2.5M10.297 20.482l-1.475-1.585a47.54 47.54 0 0 1-1.442 1.129c-.307-.288-.989-1.016-2.045-2.183.902-.836 1.479-1.466 1.729-1.892s.376-.871.376-1.336c0-.592-.273-1.178-.818-1.759-.546-.581-1.329-.871-2.349-.871-1.008 0-1.79.293-2.344.879-.556.587-.832 1.181-.832 1.784 0 .813.419 1.748 1.256 2.805-.847.614-1.444 1.208-1.794 1.784a3.465 3.465 0 0 0-.523 1.833c0 .857.308 1.56.924 2.107.616.549 1.423.823 2.42.823 1.173 0 2.444-.379 3.813-1.137L8.235 24h2.819l-2.09-2.383 1.333-1.135zm-6.736-6.389a1.02 1.02 0 0 1 .73-.286c.31 0 .559.085.747.254a.849.849 0 0 1 .283.659c0 .518-.419 1.112-1.257 1.784-.536-.651-.805-1.231-.805-1.742a.901.901 0 0 1 .302-.669M3.74 22c-.427 0-.778-.116-1.057-.349-.279-.232-.418-.487-.418-.766 0-.594.509-1.288 1.527-2.083.968 1.134 1.717 1.946 2.248 2.438-.921.507-1.686.76-2.3.76",fill:"currentColor"})})}function ti(){return o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:[o.jsx("path",{d:"M6.5 12C5.122 12 4 13.121 4 14.5S5.122 17 6.5 17 9 15.879 9 14.5 7.878 12 6.5 12m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5M17.5 12c-1.378 0-2.5 1.121-2.5 2.5s1.122 2.5 2.5 2.5 2.5-1.121 2.5-2.5-1.122-2.5-2.5-2.5m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5",fill:"currentColor"}),o.jsx("path",{d:"M22.482 9.494l-1.039-.346L21.4 9h.6c.552 0 1-.439 1-.992 0-.006-.003-.008-.003-.008H23c0-1-.889-2-1.984-2h-.642l-.731-1.717C19.262 3.012 18.091 2 16.764 2H7.236C5.909 2 4.738 3.012 4.357 4.283L3.626 6h-.642C1.889 6 1 7 1 8h.003S1 8.002 1 8.008C1 8.561 1.448 9 2 9h.6l-.043.148-1.039.346a2.001 2.001 0 0 0-1.359 2.097l.751 7.508a1 1 0 0 0 .994.901H3v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h6v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h1.096a.999.999 0 0 0 .994-.901l.751-7.508a2.001 2.001 0 0 0-1.359-2.097M6.273 4.857C6.402 4.43 6.788 4 7.236 4h9.527c.448 0 .834.43.963.857L19.313 9H4.688l1.585-4.143zM7 21H5v-1h2v1zm12 0h-2v-1h2v1zm2.189-3H2.811l-.662-6.607L3 11h18l.852.393L21.189 18z",fill:"currentColor"})]})}function ni(e,t=null){if(typeof window>"u")throw new Error;const n=localStorage.getItem(e);if(!n)return t;try{return JSON.parse(n)}catch{return n}}function ii(e,t){window.localStorage.setItem(e,`${t}`)}class fe{constructor(t,n){F(this,"key");F(this,"value");F(this,"prev");F(this,"next");this.key=t,this.value=n,this.prev=null,this.next=null}}class oi{constructor(t){F(this,"capacity");F(this,"usedCapacity");F(this,"head");F(this,"tail");F(this,"store");this.capacity=t||20,this.usedCapacity=0,this.store={},this.head=new fe("fakeHeadNode","fakeHeadNode"),this.tail=new fe("fakeTailNode","fakeTailNode"),this.head.next=this.tail,this.tail.prev=this.head}removeNode(t){t.prev.next=t.next,t.next.prev=t.prev}addToHead(t){t.prev=this.head,t.next=this.head.next,this.head.next.prev=t,this.head.next=t}moveToHead(t){this.removeNode(t),this.addToHead(t)}removeTail(){const t=this.tail.prev;return this.removeNode(t),t}get(t){if(t in this.store){const n=this.store[t];return this.moveToHead(n),n.value}return-1}put(t,n){if(t in this.store){const i=this.store[t];i.value=n,this.moveToHead(i)}else{const i=new fe(t,n);if(this.addToHead(i),this.store[t]=i,this.usedCapacity+=1,this.usedCapacity>this.capacity){const a=this.removeTail();delete this.store[a.key],this.usedCapacity-=1}}}keys(){const t=[];let n=this.head;for(;n;)t.push(n.key),n=n.next;return t.slice(1,-1)}values(){const t=[];let n=this.head;for(;n;)t.push(n.value),n=n.next;return t.slice(1,-1)}toJSON(){return this.store}}function ai(e,t){const n=new oi(t);return{syncFromStorage(){(ni(e)||[]).slice().reverse().forEach(r=>{n.put(r,r)})},syncToStorage(){ii(e,$n(n.keys()))},put(a){n.put(a,a),this.syncToStorage()},get(a){return a?n.get(a):n.keys()}}}const ri=["😀","😃","😄","😁","😆","😅","😂","🤣","🥲","😊","😇","🙂","🙃","😉","😌","😍","🥰","😘","😗","😙","😚","😋","😛","😝","😜","🤪","🤨","🧐","🤓","😎","🥸","🤩","🥳","😏","😒","😞","😔","😟","😕","🙁","😣","😖","😫","😩","🥺","😢","😭","😤","😠","😡","🤬","🤯","😳","🥵","🥶","😱","😨","😰","😥","😓","🤗","🤔","🤭","🤫","🤥","😶","😐","😑","😬","🙄","😯","😦","😧","😮","😲","🥱","😴","🤤","😪","😵","🤐","🥴","🤢","🤮","🤧","😷","🤒","🤕","🤑","🤠","😈","👿","👹","👺","🤡","💩","👻","💀","☠️","👽","👾","🤖","🎃","😺","😸","😹","😻","😼","😽","🙀","😿","😾","👋","🤚","🖐","✋","🖖","👌","🤌","🤏","✌️","🤞","🤟","🤘","🤙","👈","👉","👆","🖕","👇","☝️","👍","👎","✊","👊","🤛","🤜","👏","🙌","👐","🤲","🤝","🙏","✍️","💅","🤳","💪","🦾","🦵","🦿","🦶","👣","👂","🦻","👃","🫀","🫁","🧠","🦷","🦴","👀","👁","👅","👄","💋","🩸","💋","💌","💘","💝","💖","💗","💓","💞","💕","💟","❣️","❣","💔","❤️🔥","❤🔥","❤️🩹","❤🩹","❤️","❤","🧡","💛","💚","💙","💜","🤎","🖤","🤍","💯","💢","💥","💫","💦","💨","🕳️","🕳","💣","💬","👁️🗨️","👁🗨️","👁️🗨","👁🗨","🗨️","🗨","🗯️","🗯","💭","💤"],si=["🏧","🚮","🚰","♿","🚹","🚺","🚻","🚼","🚾","🛂","🛃","🛄","🛅","⚠️","⚠","🚸","⛔","🚫","🚳","🚭","🚯","🚱","🚷","📵","🔞","☢️","☢","☣️","☣","⬆️","⬆","↗️","↗","➡️","➡","↘️","↘","⬇️","⬇","↙️","↙","⬅️","⬅","↖️","↖","↕️","↕","↔️","↔","↩️","↩","↪️","↪","⤴️","⤴","⤵️","⤵","🔃","🔄","🔙","🔚","🔛","🔜","🔝","🛐","⚛️","⚛","🕉️","🕉","✡️","✡","☸️","☸","☯️","☯","✝️","✝","☦️","☦","☪️","☪","☮️","☮","🕎","🔯","♈","♉","♊","♋","♌","♍","♎","♏","♐","♑","♒","♓","⛎","🔀","🔁","🔂","▶️","▶","⏩","⏭️","⏭","⏯️","⏯","◀️","◀","⏪","⏮️","⏮","🔼","⏫","🔽","⏬","⏸️","⏸","⏹️","⏹","⏺️","⏺","⏏️","⏏","🎦","🔅","🔆","📶","📳","📴","♀️","♀","♂️","♂","⚧️","⚧","✖️","✖","➕","➖","➗","♾️","♾","‼️","‼","⁉️","⁉","❓","❔","❕","❗","〰️","〰","💱","💲","⚕️","⚕","♻️","♻","⚜️","⚜","🔱","📛","🔰","⭕","✅","☑️","☑","✔️","✔","❌","❎","➰","➿","〽️","〽","✳️","✳","✴️","✴","❇️","❇","©️","©","®️","®","™️","™","#️⃣","#⃣","*️⃣","*⃣","0️⃣","0⃣","1️⃣","1⃣","2️⃣","2⃣","3️⃣","3⃣","4️⃣","4⃣","5️⃣","5⃣","6️⃣","6⃣","7️⃣","7⃣","8️⃣","8⃣","9️⃣","9⃣","🔟","🔠","🔡","🔢","🔣","🔤","🅰️","🅰","🆎","🅱️","🅱","🆑","🆒","🆓","ℹ️","ℹ","🆔","Ⓜ️","Ⓜ","🆕","🆖","🅾️","🅾","🆗","🅿️","🅿","🆘","🆙","🆚","🈁","🈂️","🈂","🈷️","🈷","🈶","🈯","🉐","🈹","🈚","🈲","🉑","🈸","🈴","🈳","㊗️","㊗","㊙️","㊙","🈺","🈵","🔴","🟠","🟡","🟢","🔵","🟣","🟤","⚫","⚪","🟥","🟧","🟨","🟩","🟦","🟪","🟫","⬛","⬜","◼️","◼","◻️","◻","◾","◽","▪️","▪","▫️","▫","🔶","🔷","🔸","🔹","🔺","🔻","💠","🔘","🔳","🔲"],ci=["👓","🕶️","🕶","🥽","🥼","🦺","👔","👕","👖","🧣","🧤","🧥","🧦","👗","👘","🥻","🩱","🩲","🩳","👙","👚","👛","👜","👝","🛍️","🛍","🎒","🩴","👞","👟","🥾","🥿","👠","👡","🩰","👢","👑","👒","🎩","🎓","🧢","🪖","⛑️","⛑","📿","💄","💍","💎","🔇","🔈","🔉","🔊","📢","📣","📯","🔔","🔕","🎼","🎵","🎶","🎙️","🎙","🎚️","🎚","🎛️","🎛","🎤","🎧","📻","🎷","🪗","🎸","🎹","🎺","🎻","🪕","🥁","🪘","📱","📲","☎️","☎","📞","📟","📠","🔋","🔌","💻","🖥️","🖥","🖨️","🖨","⌨️","⌨","🖱️","🖱","🖲️","🖲","💽","💾","💿","📀","🧮","🎥","🎞️","🎞","📽️","📽","🎬","📺","📷","📸","📹","📼","🔍","🔎","🕯️","🕯","💡","🔦","🏮","🪔","📔","📕","📖","📗","📘","📙","📚","📓","📒","📃","📜","📄","📰","🗞️","🗞","📑","🔖","🏷️","🏷","💰","🪙","💴","💵","💶","💷","💸","💳","🧾","💹","✉️","✉","📧","📨","📩","📤","📥","📦","📫","📪","📬","📭","📮","🗳️","🗳","✏️","✏","✒️","✒","🖋️","🖋","🖊️","🖊","🖌️","🖌","🖍️","🖍","📝","💼","📁","📂","🗂️","🗂","📅","📆","🗒️","🗒","🗓️","🗓","📇","📈","📉","📊","📋","📌","📍","📎","🖇️","🖇","📏","📐","✂️","✂","🗃️","🗃","🗄️","🗄","🗑️","🗑","🔒","🔓","🔏","🔐","🔑","🗝️","🗝","🔨","🪓","⛏️","⛏","⚒️","⚒","🛠️","🛠","🗡️","🗡","⚔️","⚔","🔫","🪃","🏹","🛡️","🛡","🪚","🔧","🪛","🔩","⚙️","⚙","🗜️","🗜","⚖️","⚖","🦯","🔗","⛓️","⛓","🪝","🧰","🧲","🪜","⚗️","⚗","🧪","🧫","🧬","🔬","🔭","📡","💉","🩸","💊","🩹","🩺","🚪","🛗","🪞","🪟","🛏️","🛏","🛋️","🛋","🪑","🚽","🪠","🚿","🛁","🪤","🪒","🧴","🧷","🧹","🧺","🧻","🪣","🧼","🪥","🧽","🧯","🛒","🚬","⚰️","⚰","🪦","⚱️","⚱","🗿","🪧"],li=["🎃","🎄","🎆","🎇","🧨","✨","🎈","🎉","🎊","🎋","🎍","🎎","🎏","🎐","🎑","🧧","🎀","🎁","🎗️","🎗","🎟️","🎟","🎫","🎖️","🎖","🏆","🏅","🥇","🥈","🥉","⚽","⚾","🥎","🏀","🏐","🏈","🏉","🎾","🥏","🎳","🏏","🏑","🏒","🥍","🏓","🏸","🥊","🥋","🥅","⛳","⛸️","⛸","🎣","🤿","🎽","🎿","🛷","🥌","🎯","🪀","🪁","🎱","🔮","🪄","🧿","🎮","🕹️","🕹","🎰","🎲","🧩","🧸","🪅","🪆","♠️","♠","♥️","♥","♦️","♦","♣️","♣","♟️","♟","🃏","🀄","🎴","🎭","🖼️","🖼","🎨","🧵","🪡","🧶","🪢"],di=["🌍","🌎","🌏","🌐","🗺️","🗺","🗾","🧭","🏔️","🏔","⛰️","⛰","🌋","🗻","🏕️","🏕","🏖️","🏖","🏜️","🏜","🏝️","🏝","🏞️","🏞","🏟️","🏟","🏛️","🏛","🏗️","🏗","🧱","🪨","🪵","🛖","🏘️","🏘","🏚️","🏚","🏠","🏡","🏢","🏣","🏤","🏥","🏦","🏨","🏩","🏪","🏫","🏬","🏭","🏯","🏰","💒","🗼","🗽","⛪","🕌","🛕","🕍","⛩️","⛩","🕋","⛲","⛺","🌁","🌃","🏙️","🏙","🌄","🌅","🌆","🌇","🌉","♨️","♨","🎠","🎡","🎢","💈","🎪","🚂","🚃","🚄","🚅","🚆","🚇","🚈","🚉","🚊","🚝","🚞","🚋","🚌","🚍","🚎","🚐","🚑","🚒","🚓","🚔","🚕","🚖","🚗","🚘","🚙","🛻","🚚","🚛","🚜","🏎️","🏎","🏍️","🏍","🛵","🦽","🦼","🛺","🚲","🛴","🛹","🛼","🚏","🛣️","🛣","🛤️","🛤","🛢️","🛢","⛽","🚨","🚥","🚦","🛑","🚧","⚓","⛵","🛶","🚤","🛳️","🛳","⛴️","⛴","🛥️","🛥","🚢","✈️","✈","🛩️","🛩","🛫","🛬","🪂","💺","🚁","🚟","🚠","🚡","🛰️","🛰","🚀","🛸","🛎️","🛎","🧳","⌛","⏳","⌚","⏰","⏱️","⏱","⏲️","⏲","🕰️","🕰","🕛","🕧","🕐","🕜","🕑","🕝","🕒","🕞","🕓","🕟","🕔","🕠","🕕","🕡","🕖","🕢","🕗","🕣","🕘","🕤","🕙","🕥","🕚","🕦","🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘","🌙","🌚","🌛","🌜","🌡️","🌡","☀️","☀","🌝","🌞","🪐","⭐","🌟","🌠","🌌","☁️","☁","⛅","⛈️","⛈","🌤️","🌤","🌥️","🌥","🌦️","🌦","🌧️","🌧","🌨️","🌨","🌩️","🌩","🌪️","🌪","🌫️","🌫","🌬️","🌬","🌀","🌈","🌂","☂️","☂","☔","⛱️","⛱","⚡","❄️","❄","☃️","☃","⛄","☄️","☄","🔥","💧","🌊"],ui=["🏁","🚩","🎌","🏴","🏳️","🏳","🏳️🌈","🏳🌈","🏳️⚧️","🏳⚧️","🏳️⚧","🏳⚧","🏴☠️","🏴☠","🇦🇨","🇦🇩","🇦🇪","🇦🇫","🇦🇬","🇦🇮","🇦🇱","🇦🇲","🇦🇴","🇦🇶","🇦🇷","🇦🇸","🇦🇹","🇦🇺","🇦🇼","🇦🇽","🇦🇿","🇧🇦","🇧🇧","🇧🇩","🇧🇪","🇧🇫","🇧🇬","🇧🇭","🇧🇮","🇧🇯","🇧🇱","🇧🇲","🇧🇳","🇧🇴","🇧🇶","🇧🇷","🇧🇸","🇧🇹","🇧🇻","🇧🇼","🇧🇾","🇧🇿","🇨🇦","🇨🇨","🇨🇩","🇨🇫","🇨🇬","🇨🇭","🇨🇮","🇨🇰","🇨🇱","🇨🇲","🇨🇳","🇨🇴","🇨🇵","🇨🇷","🇨🇺","🇨🇻","🇨🇼","🇨🇽","🇨🇾","🇨🇿","🇩🇪","🇩🇬","🇩🇯","🇩🇰","🇩🇲","🇩🇴","🇩🇿","🇪🇦","🇪🇨","🇪🇪","🇪🇬","🇪🇭","🇪🇷","🇪🇸","🇪🇹","🇪🇺","🇫🇮","🇫🇯","🇫🇰","🇫🇲","🇫🇴","🇫🇷","🇬🇦","🇬🇧","🇬🇩","🇬🇪","🇬🇫","🇬🇬","🇬🇭","🇬🇮","🇬🇱","🇬🇲","🇬🇳","🇬🇵","🇬🇶","🇬🇷","🇬🇸","🇬🇹","🇬🇺","🇬🇼","🇬🇾","🇭🇰","🇭🇲","🇭🇳","🇭🇷","🇭🇹","🇭🇺","🇮🇨","🇮🇩","🇮🇪","🇮🇱","🇮🇲","🇮🇳","🇮🇴","🇮🇶","🇮🇷","🇮🇸","🇮🇹","🇯🇪","🇯🇲","🇯🇴","🇯🇵","🇰🇪","🇰🇬","🇰🇭","🇰🇮","🇰🇲","🇰🇳","🇰🇵","🇰🇷","🇰🇼","🇰🇾","🇰🇿","🇱🇦","🇱🇧","🇱🇨","🇱🇮","🇱🇰","🇱🇷","🇱🇸","🇱🇹","🇱🇺","🇱🇻","🇱🇾","🇲🇦","🇲🇨","🇲🇩","🇲🇪","🇲🇫","🇲🇬","🇲🇭","🇲🇰","🇲🇱","🇲🇲","🇲🇳","🇲🇴","🇲🇵","🇲🇶","🇲🇷","🇲🇸","🇲🇹","🇲🇺","🇲🇻","🇲🇼","🇲🇽","🇲🇾","🇲🇿","🇳🇦","🇳🇨","🇳🇪","🇳🇫","🇳🇬","🇳🇮","🇳🇱","🇳🇴","🇳🇵","🇳🇷","🇳🇺","🇳🇿","🇴🇲","🇵🇦","🇵🇪","🇵🇫","🇵🇬","🇵🇭","🇵🇰","🇵🇱","🇵🇲","🇵🇳","🇵🇷","🇵🇸","🇵🇹","🇵🇼","🇵🇾","🇶🇦","🇷🇪","🇷🇴","🇷🇸","🇷🇺","🇷🇼","🇸🇦","🇸🇧","🇸🇨","🇸🇩","🇸🇪","🇸🇬","🇸🇭","🇸🇮","🇸🇯","🇸🇰","🇸🇱","🇸🇲","🇸🇳","🇸🇴","🇸🇷","🇸🇸","🇸🇹","🇸🇻","🇸🇽","🇸🇾","🇸🇿","🇹🇦","🇹🇨","🇹🇩","🇹🇫","🇹🇬","🇹🇭","🇹🇯","🇹🇰","🇹🇱","🇹🇲","🇹🇳","🇹🇴","🇹🇷","🇹🇹","🇹🇻","🇹🇼","🇹🇿","🇺🇦","🇺🇬","🇺🇲","🇺🇳","🇺🇸","🇺🇾","🇺🇿","🇻🇦","🇻🇨","🇻🇪","🇻🇬","🇻🇮","🇻🇳","🇻🇺","🇼🇫","🇼🇸","🇽🇰","🇾🇪","🇾🇹","🇿🇦","🇿🇲","🇿🇼","🏴","🏴","🏴"],hi=["🐵","🐒","🦍","🦧","🐶","🐕","🦮","🐕🦺","🐩","🐺","🦊","🦝","🐱","🐈","🐈⬛","🦁","🐯","🐅","🐆","🐴","🐎","🦄","🦓","🦌","🦬","🐮","🐂","🐃","🐄","🐷","🐖","🐗","🐽","🐏","🐑","🐐","🐪","🐫","🦙","🦒","🐘","🦣","🦏","🦛","🐭","🐁","🐀","🐹","🐰","🐇","🐿️","🐿","🦫","🦔","🦇","🐻","🐻❄️","🐻❄","🐨","🐼","🦥","🦦","🦨","🦘","🦡","🐾","🦃","🐔","🐓","🐣","🐤","🐥","🐦","🐧","🕊️","🕊","🦅","🦆","🦢","🦉","🦤","🪶","🦩","🦚","🦜","🐸","🐊","🐢","🦎","🐍","🐲","🐉","🦕","🦖","🐳","🐋","🐬","🦭","🐟","🐠","🐡","🦈","🐙","🐚","🐌","🦋","🐛","🐜","🐝","🪲","🐞","🦗","🪳","🕷️","🕷","🕸️","🕸","🦂","🦟","🪰","🪱","🦠","💐","🌸","💮","🏵️","🏵","🌹","🥀","🌺","🌻","🌼","🌷","🌱","🪴","🌲","🌳","🌴","🌵","🌾","🌿","☘️","☘","🍀","🍁","🍂","🍃"],mi=["🍇","🍈","🍉","🍊","🍋","🍌","🍍","🥭","🍎","🍏","🍐","🍑","🍒","🍓","🫐","🥝","🍅","🫒","🥥","🥑","🍆","🥔","🥕","🌽","🌶️","🌶","🫑","🥒","🥬","🥦","🧄","🧅","🍄","🥜","🌰","🍞","🥐","🥖","🫓","🥨","🥯","🥞","🧇","🧀","🍖","🍗","🥩","🥓","🍔","🍟","🍕","🌭","🥪","🌮","🌯","🫔","🥙","🧆","🥚","🍳","🥘","🍲","🫕","🥣","🥗","🍿","🧈","🧂","🥫","🍱","🍘","🍙","🍚","🍛","🍜","🍝","🍠","🍢","🍣","🍤","🍥","🥮","🍡","🥟","🥠","🥡","🦀","🦞","🦐","🦑","🦪","🍦","🍧","🍨","🍩","🍪","🎂","🍰","🧁","🥧","🍫","🍬","🍭","🍮","🍯","🍼","🥛","☕","🫖","🍵","🍶","🍾","🍷","🍸","🍹","🍺","🍻","🥂","🥃","🥤","🧋","🧃","🧉","🧊","🥢","🍽️","🍽","🍴","🥄","🔪","🏺"],X=ai("EMOJI_PICKER",20),Me=[{title:"Smileys & People",data:ri,icon:D.Laugh},{title:"Animals & Nature",data:hi,icon:Xn},{title:"Food & Drink",data:mi,icon:Jn},{title:"Activity",data:li,icon:Zn},{title:"Travel & Places",data:di,icon:ti},{title:"Object",data:ci,icon:Qn},{title:"Symbol",data:si,icon:ei},{title:"Flags",data:ui,icon:Yn}],fi=["😀","😃","😄","😁","😆","😅","😂","🤣"];function gi({onSelectEmoji:e,children:t}){const[n,i]=m.useState([]),{t:a}=p.useLocale(),r=m.useMemo(()=>n.length>0?[{title:"Frequently used",icon:D.Clock3,data:n},...Me]:Me,[n]),c=m.useCallback(l=>{X.put(l),i(X.get()),e&&e(l)},[e]);return m.useEffect(()=>{X.syncFromStorage();const l=X.get();l!=null&&l.length||fi.forEach(h=>{X.put(h)});const d=X.get();i(d)},[]),o.jsxs(s.Popover,{modal:!0,children:[o.jsx(s.PopoverTrigger,{asChild:!0,children:t}),o.jsx(s.PopoverContent,{align:"start",className:"richtext-size-full richtext-p-2",hideWhenDetached:!0,side:"bottom",children:o.jsxs(ve,{defaultValue:"Frequently used",children:[o.jsx(de,{className:"richtext-flex richtext-items-center richtext-gap-[4px]",children:r.map(l=>o.jsx(Q,{className:"richtext-bg-accent !richtext-p-[6px] hover:richtext-text-accent-foreground",value:l.title,children:l.icon&&o.jsx(l.icon,{size:16})},`emoji-picker-title-${l.title}`))}),r.map(l=>o.jsxs(ee,{value:l.title,children:[o.jsx("p",{className:"richtext-mb-[6px] richtext-font-semibold",children:a(l.title)}),o.jsx("div",{className:"richtext-max-h-[280px] richtext-overflow-y-auto",children:o.jsx("div",{className:"richtext-grid richtext-grid-cols-8 richtext-gap-1 ",children:(l.data||[]).map(d=>o.jsx("div",{className:"richtext-cursor-pointer richtext-text-center",onClick:()=>c(d),children:d},`emoji-picker-${d}`))})})]},`emoji-picker-content-${l.title}`))]})})]})}function _i({editor:e,icon:t,...n}){const i=m.useCallback(a=>{const{selection:r}=e.state,{$anchor:c}=r;return e.chain().insertContentAt(c.pos,a).run()},[e]);return o.jsx(gi,{onSelectEmoji:i,children:o.jsx(s.ActionButton,{icon:t,tooltip:n==null?void 0:n.tooltip})})}const Ve=m.forwardRef((e,t)=>{const n=m.useRef(null),[i,a]=m.useState(0),{t:r}=p.useLocale(),c=u=>{const x=e.items[u];x&&e.command(x)},l=()=>{a((i+e.items.length-1)%e.items.length)},d=()=>{a((i+1)%e.items.length)},h=()=>{c(i)};return m.useEffect(()=>a(0),[e.items]),m.useEffect(()=>{if(Number.isNaN(i+1))return;const u=n.current.querySelector(`span:nth-of-type(${i+1})`);u&&we(u,{behavior:"smooth",scrollMode:"if-needed"})},[i]),m.useImperativeHandle(t,()=>({onKeyDown:({event:u})=>u.key==="ArrowUp"?(l(),!0):u.key==="ArrowDown"?(d(),!0):u.key==="Enter"?(h(),!0):!1})),o.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:o.jsx("div",{ref:n,children:e.items.length>0?e.items.map((u,x)=>o.jsxs("span",{className:w.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",x===i?"bg-accent":""),onClick:()=>c(x),children:[u.fallbackImage?o.jsx("img",{className:"richtext-size-[1em]",src:u.fallbackImage}):u.emoji,":",u.name,":"]},`emoji-list-code-${x}`)):o.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:o.jsx("span",{children:r("no_result_found")})})})})});Ve.displayName="EmojiList";const te={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(te).reduce((e,t)=>{const n=te[t];return e[n]=t,e},{});const xi=Object.keys(te).map(e=>e);Object.keys(te).map(e=>te[e]);function bi(e){return xi.filter(t=>t.startsWith(e)).map(t=>({name:t,emoji:te[t]}))}const pi=200,wi=new w.PluginKey("emoji"),yi=g.Node.create({name:"emoji",content:"text*",priority:pi,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{},suggestion:{char:":",pluginKey:wi,command:({editor:t,range:n,props:i})=>{t.chain().focus().insertContentAt(n,`${i.emoji} `).run()}},button:({editor:t,t:n})=>({component:_i,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[g.Suggestion({editor:this.editor,...this.options.suggestion})]}}).configure({suggestion:{items:({query:e})=>bi(e),render:()=>{let e,t,n;return{onStart:i=>{n=i.editor.isEditable,n&&(e=new g.ReactRenderer(Ve,{props:i,editor:i.editor}),t=pe("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 a;if(n)return i.event.key==="Escape"?(t[0].hide(),!0):(a=e.ref)==null?void 0:a.onKeyDown(i)},onExit(){n&&(t[0].destroy(),e.destroy())}}}}});function vi(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";var Ze=Object.defineProperty;var Xe=(e,t,n)=>t in e?Ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var F=(e,t,n)=>Xe(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./tiptap-BhYF9Ndj.cjs"),w=require("./vendor-Dp07eU0H.cjs"),o=require("react/jsx-runtime"),m=require("react"),D=require("lucide-react"),c=require("./RichTextEditor-B4ASZID5.cjs"),p=require("./index-DGpT32KX.cjs"),Ye=require("@radix-ui/react-tabs"),ae=require("shiki"),Je=require("@radix-ui/react-select"),Qe=require("@radix-ui/react-slot"),pe=require("tippy.js"),et=require("react-image-crop"),tt=require("@radix-ui/react-checkbox"),we=require("scroll-into-view-if-needed"),nt=require("docx"),V=require("prosemirror-docx");function le(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 z=le(m),W=le(Ye),E=le(Je),_e=le(tt),ye=m.forwardRef(({asChild:e,...t},n)=>{var r;const i=c.icons[t.icon],a=e?Qe.Slot:c.Button;return o.jsxs(c.Tooltip,{children:[o.jsx(c.TooltipTrigger,{asChild:!0,children:o.jsx(a,{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:o.jsxs("div",{className:"richtext-flex richtext-h-full richtext-items-center richtext-font-normal",children:[(t==null?void 0:t.title)&&o.jsx("div",{className:"richtext-grow richtext-truncate richtext-text-left richtext-text-sm",children:t==null?void 0:t.title}),i&&o.jsx(i,{className:"richtext-ml-1 richtext-size-3 richtext-shrink-0 richtext-text-zinc-500"})]})})}),o.jsx(c.TooltipContent,{children:o.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)&&o.jsx("div",{children:t==null?void 0:t.tooltip}),o.jsx("div",{className:"richtext-flex",children:!!((r=t==null?void 0:t.shortcutKeys)!=null&&r.length)&&o.jsx("span",{children:c.getShortcutKeys(t==null?void 0:t.shortcutKeys)})})]})})]})}),it=g.Bold.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:c.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")}})}}}),ot=g.Italic.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n}){return{component:c.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")}}}}}}),at=g.Underline.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n}){return{component:c.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")}}}}}}),rt=g.Strike.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:c.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")}})}}}),st=g.Code.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:c.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 U,ne;const he=new Set,me=new Set;function ct(){return U}function lt(e){if(!U&&!ne){const t=e.themes.filter(i=>!!i&&i in ae.bundledThemes),n=e.languages.filter(i=>!!i&&i in ae.bundledLanguages);return ne=ae.createHighlighter({themes:t,langs:n}).then(i=>{U=i}),ne}if(ne)return ne}async function Ee(e){return U&&!U.getLoadedThemes().includes(e)&&!me.has(e)&&e in ae.bundledThemes?(me.add(e),await U.loadTheme(e),me.delete(e),!0):!1}async function Ie(e){return U&&!U.getLoadedLanguages().includes(e)&&!he.has(e)&&e in ae.bundledLanguages?(he.add(e),await U.loadLanguage(e),he.delete(e),!0):!1}async function dt({doc:e,name:t,defaultTheme:n,defaultLanguage:i}){const a=g.findChildren(e,l=>l.type.name===t),r=[...a.map(l=>l.node.attrs.theme),n],s=[...a.map(l=>l.node.attrs.language),i];U?await Promise.all([...r.flatMap(l=>Ee(l)),...s.flatMap(l=>!!l&&Ie(l))]):await lt({languages:s,themes:r})}function Ce({doc:e,name:t,defaultTheme:n,defaultLanguage:i}){const a=[];return g.findChildren(e,s=>s.type.name===t).forEach(s=>{let l=s.pos+1,d=s.node.attrs.language||i;const h=s.node.attrs.theme||n,u=ct();if(!u)return;u.getLoadedLanguages().includes(d)||(d="plaintext");const x=u.getLoadedThemes().includes(h)?h:u.getLoadedThemes()[0],f=u.codeToTokensBase(s.node.textContent,{lang:d,theme:x});for(const _ of f){for(const y of _){const v=l+y.content.length,L=w.Decoration.inline(l,v,{style:`color: ${y.color}`});a.push(L),l=v}l+=1}}),w.DecorationSet.create(e,a)}function ut({name:e,defaultLanguage:t,defaultTheme:n}){const i=new w.Plugin({key:new w.PluginKey("shiki"),view(a){class r{constructor(){this.initDecorations()}update(){this.checkUndecoratedBlocks()}destroy(){}async initDecorations(){const l=a.state.doc;await dt({doc:l,name:e,defaultLanguage:t,defaultTheme:n});const d=a.state.tr.setMeta("shikiPluginForceDecoration",!0);a.dispatch(d)}async checkUndecoratedBlocks(){const l=g.findChildren(a.state.doc,u=>u.type.name===e);if((await Promise.all(l.flatMap(u=>[Ee(u.node.attrs.theme),Ie(u.node.attrs.language)]))).includes(!0)){const u=a.state.tr.setMeta("shikiPluginForceDecoration",!0);a.dispatch(u)}}}return new r},state:{init:(a,{doc:r})=>Ce({doc:r,name:e,defaultLanguage:t,defaultTheme:n}),apply:(a,r,s,l)=>{const d=s.selection.$head.parent.type.name,h=l.selection.$head.parent.type.name,u=g.findChildren(s.doc,_=>_.type.name===e),x=g.findChildren(l.doc,_=>_.type.name===e),f=a.docChanged&&([d,h].includes(e)||x.length!==u.length||a.steps.some(_=>_.from!==void 0&&_.to!==void 0&&u.some(y=>y.pos>=_.from&&y.pos+y.node.nodeSize<=_.to)));return a.getMeta("shikiPluginForceDecoration")||f?Ce({doc:a.doc,name:e,defaultLanguage:t,defaultTheme:n}):r.map(a.mapping,a.doc)}},props:{decorations(a){return i.getState(a)}}});return i}function ht({action:e,languages:t,...n}){const i=r=>{e(r)},a=m.useMemo(()=>t==null?void 0:t.map(r=>({title:p.MAP_LANGUAGE_CODE_LABELS[r]||r,language:r})),[t]);return o.jsxs(c.DropdownMenu,{children:[o.jsx(c.DropdownMenuTrigger,{disabled:n==null?void 0:n.disabled,asChild:!0,children:o.jsx(c.ActionButton,{tooltip:n==null?void 0:n.tooltip,disabled:n==null?void 0:n.disabled,icon:n==null?void 0:n.icon})}),o.jsx(c.DropdownMenuContent,{className:"richtext-w-full !richtext-max-h-[180px] !richtext-overflow-y-scroll",children:a==null?void 0:a.map(r=>o.jsx(c.DropdownMenuItem,{onClick:()=>i(r.language),children:o.jsx("div",{className:"richtext-h-full richtext-ml-1",children:r.title})},`codeblock-${r.title}`))})]})}const mt=E.Root,ft=E.Value,De=z.forwardRef(({className:e,children:t,...n},i)=>o.jsxs(E.Trigger,{ref:i,className:c.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,o.jsx(E.Icon,{asChild:!0,children:o.jsx(D.ChevronDown,{className:"richtext-h-4 richtext-w-4 richtext-opacity-50"})})]}));De.displayName=E.Trigger.displayName;const He=z.forwardRef(({className:e,...t},n)=>o.jsx(E.ScrollUpButton,{ref:n,className:c.cn("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...t,children:o.jsx(D.ChevronUp,{className:"richtext-h-4 richtext-w-4"})}));He.displayName=E.ScrollUpButton.displayName;const Re=z.forwardRef(({className:e,...t},n)=>o.jsx(E.ScrollDownButton,{ref:n,className:c.cn("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...t,children:o.jsx(D.ChevronDown,{className:"richtext-h-4 richtext-w-4"})}));Re.displayName=E.ScrollDownButton.displayName;const ze=z.forwardRef(({className:e,children:t,position:n="popper",...i},a)=>o.jsx(E.Portal,{children:o.jsxs(E.Content,{ref:a,className:c.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:[o.jsx(He,{}),o.jsx(E.Viewport,{className:c.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}),o.jsx(Re,{})]})}));ze.displayName=E.Content.displayName;const gt=z.forwardRef(({className:e,...t},n)=>o.jsx(E.Label,{ref:n,className:c.cn("richtext-py-1.5 richtext-pl-8 richtext-pr-2 richtext-text-sm richtext-font-semibold",e),...t}));gt.displayName=E.Label.displayName;const xe=z.forwardRef(({className:e,children:t,...n},i)=>o.jsxs(E.Item,{ref:i,className:c.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:[o.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:o.jsx(E.ItemIndicator,{children:o.jsx(D.Check,{className:"richtext-h-4 richtext-w-4"})})}),o.jsx(E.ItemText,{children:t})]}));xe.displayName=E.Item.displayName;const _t=z.forwardRef(({className:e,...t},n)=>o.jsx(E.Separator,{ref:n,className:c.cn("richtext--mx-1 richtext-my-1 richtext-h-px richtext-bg-muted",e),...t}));_t.displayName=E.Separator.displayName;function xt(){const[e,t]=m.useState(!1);return{isCopied:e,copyToClipboard:async i=>{try{await navigator.clipboard.writeText(i),t(!0),setTimeout(()=>t(!1),2e3)}catch(a){console.error("Failed to copy text: ",a),t(!1)}}}}const bt="_wrap_134f4_1",pt="_maxHeight_134f4_10",wt="_btnCopy_134f4_13",yt="_btnDelete_134f4_14",vt="_blockInfo_134f4_18",kt="_blockInfoEditable_134f4_28",Ct="_selectLang_134f4_32",jt="_copied_134f4_58",$={wrap:bt,maxHeight:pt,btnCopy:wt,btnDelete:yt,blockInfo:vt,blockInfoEditable:kt,selectLang:Ct,copied:jt};function At({editor:e,node:{attrs:t},updateAttributes:n,extension:i}){var f,_;const{isCopied:a,copyToClipboard:r}=xt(),s=m.useMemo(()=>{var y;return(y=i.options.languages)!=null&&y.length?i.options.languages:p.DEFAULT_LANGUAGE_CODE_BLOCK},[i.options.languages]),l=c.useEditableEditor(),d=(_=(f=e==null?void 0:e.options)==null?void 0:f.editorProps)==null?void 0:_.print,{language:h}=t,u=m.useRef(null),x=m.useCallback(()=>c.deleteNode(Be.name,e),[e]);return o.jsxs(g.NodeViewWrapper,{className:w.clsx($.wrap,!d&&$.maxHeight,"render-wrapper"),children:[o.jsxs("div",{className:w.clsx($.blockInfo,{[$.blockInfoEditable]:!l}),children:[o.jsx("span",{className:w.clsx($.btnCopy,a&&$.copied),onClick:()=>r(u.current.innerText),children:a?o.jsx(D.CopyCheck,{size:16}):o.jsx(D.Copy,{size:16})}),o.jsx("span",{className:$.btnDelete,onClick:x,children:o.jsx(c.IconComponent,{name:"Trash2"})}),o.jsx("div",{className:$.selectLang,children:o.jsxs(mt,{defaultValue:h||"auto",disabled:!l,onValueChange:y=>n({language:y}),children:[o.jsx(De,{children:o.jsx(ft,{placeholder:"Language"})}),o.jsxs(ze,{className:"richtext-max-h-60 richtext-overflow-y-auto",children:[o.jsx(xe,{value:"auto",children:"Auto"}),s.map((y,v)=>o.jsx(xe,{value:y,children:y.charAt(0).toUpperCase()+y.slice(1)},`code-lang-${v}`))]})]})})]}),o.jsx("pre",{ref:u,children:o.jsx(g.NodeViewContent,{as:"code"})})]})}const Be=g.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,s,l;const a=(s=(r=i==null?void 0:i.options)==null?void 0:r.languages)!=null&&s.length?(l=i==null?void 0:i.options)==null?void 0:l.languages:p.DEFAULT_LANGUAGE_CODE_BLOCK;return{component:ht,componentProps:{action:(d="js")=>t.commands.setCodeBlock({language:d}),isActive:()=>t.isActive("codeBlock")||!1,disabled:!t.can().toggleCodeBlock(),icon:"Code2",tooltip:n("editor.codeblock.tooltip"),languages:a}}}}},addNodeView(){return g.ReactNodeViewRenderer(At)},addProseMirrorPlugins(){var e;return[...((e=this.parent)==null?void 0:e.call(this))||[],ut({name:this.name,defaultLanguage:null,defaultTheme:this.options.defaultTheme})]}});function Tt(e){var a,r,s;const{t,lang:n}=p.useLocale(),i=m.useMemo(()=>{var h;const l=(h=e==null?void 0:e.items)==null?void 0:h.find(u=>u.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 o.jsxs(c.DropdownMenu,{children:[o.jsx(c.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.jsx(ye,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:((a=i==null?void 0:i.font)==null?void 0:a.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})}),o.jsx(c.DropdownMenuContent,{className:"richtext-w-full",children:(s=e==null?void 0:e.items)==null?void 0:s.map((l,d)=>{const h=l.font===t("editor.fontFamily.default.tooltip")?{}:{fontFamily:l.font};return o.jsxs(m.Fragment,{children:[o.jsx(c.DropdownMenuCheckboxItem,{checked:(i==null?void 0:i.font)===l.font,onClick:l.action,children:o.jsx("div",{className:"richtext-ml-1 richtext-h-full",style:h,children:l.font})}),l.font===t("editor.fontFamily.default.tooltip")&&o.jsx(c.DropdownMenuSeparator,{})]},`font-family-${d}`)})})]})}const St=g.FontFamily.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),fontFamilyList:p.DEFAULT_FONT_FAMILY_LIST,button({editor:t,extension:n,t:i}){var h;const{extensions:a=[]}=t.extensionManager??[],r=c.ensureNameValueOptions(((h=n==null?void 0:n.options)==null?void 0:h.fontFamilyList)||[]),s=a.find(u=>u.name==="base-kit"),l=r.map(u=>({action:()=>{t.chain().focus().setFontFamily(u.value).run()},isActive:()=>t.isActive("textStyle",{fontFamily:u.value})||!1,disabled:!t.can().setFontFamily(u.value),title:u.name,font:u.value}));s&&s.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 d=l.filter(u=>u.disabled).length===l.length;return{component:Tt,componentProps:{tooltip:i("editor.fontFamily.tooltip"),disabled:d,items:l,editor:t}}}}}});function Lt(e){var n;const t=m.useMemo(()=>{var r;const i=(r=e==null?void 0:e.items)==null?void 0:r.find(s=>s.isActive());return i&&!i.default?{...i}:{title:e.tooltip,level:0,isActive:()=>!1}},[e]);return o.jsxs(c.DropdownMenu,{children:[o.jsx(c.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.jsx(ye,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:t==null?void 0:t.title,tooltip:e==null?void 0:e.tooltip})}),o.jsx(c.DropdownMenuContent,{className:"richtext-w-full",children:(n=e==null?void 0:e.items)==null?void 0:n.map((i,a)=>{var r,s;return o.jsxs(m.Fragment,{children:[o.jsxs(c.DropdownMenuCheckboxItem,{checked:(t==null?void 0:t.title)===i.title,onClick:i.action,children:[o.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)&&o.jsx(c.DropdownMenuShortcut,{className:"richtext-pl-4",children:(s=i==null?void 0:i.shortcutKeys)==null?void 0:s.map(l=>c.getShortcutKey(l)).join(" ")})]}),i.level===0&&o.jsx(c.DropdownMenuSeparator,{})]},`heading-k-${a}`)})})]})}const Nt=g.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 h;const{extensions:a=[]}=t.extensionManager??[],r=((h=n.options)==null?void 0:h.levels)||[],s=a.find(u=>u.name==="base-kit"),l=r.map(u=>({action:()=>t.commands.toggleHeading({level:u}),isActive:()=>t.isActive("heading",{level:u})||!1,disabled:!t.can().toggleHeading({level:u}),title:i(`editor.heading.h${u}.tooltip`),level:u,shortcutKeys:["alt","mod",`${u}`]}));s&&s.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 d=l.filter(u=>u.disabled).length===l.length;return{component:Lt,componentProps:{tooltip:i("editor.heading.tooltip"),disabled:d,items:l,editor:t}}}}}}),ve=W.Root,de=z.forwardRef(({className:e,...t},n)=>o.jsx(W.List,{ref:n,className:c.cn("richtext-inline-flex richtext-h-10 richtext-items-center richtext-justify-center richtext-rounded-md richtext-bg-muted richtext-p-1 richtext-text-muted-foreground",e),...t}));de.displayName=W.List.displayName;const Q=z.forwardRef(({className:e,...t},n)=>o.jsx(W.Trigger,{ref:n,className:c.cn("richtext-inline-flex richtext-items-center richtext-justify-center richtext-whitespace-nowrap richtext-rounded-sm richtext-px-3 richtext-py-1.5 richtext-text-sm richtext-font-medium richtext-ring-offset-background richtext-transition-all focus-visible:richtext-outline-none focus-visible:richtext-ring-2 focus-visible:richtext-ring-ring focus-visible:richtext-ring-offset-2 disabled:richtext-pointer-events-none disabled:richtext-opacity-50 data-[state=active]:richtext-bg-background data-[state=active]:richtext-text-foreground data-[state=active]:richtext-shadow-sm",e),...t}));Q.displayName=W.Trigger.displayName;const ee=z.forwardRef(({className:e,...t},n)=>o.jsx(W.Content,{ref:n,className:c.cn("richtext-mt-2 richtext-ring-offset-background focus-visible:richtext-outline-none focus-visible:richtext-ring-2 focus-visible:richtext-ring-ring focus-visible:richtext-ring-offset-2",e),...t}));ee.displayName=W.Content.displayName;const Pe=z.forwardRef(({className:e,...t},n)=>o.jsx(_e.Root,{ref:n,className:c.cn("!richtext-peer !richtext-h-4 !richtext-w-4 !richtext-p-0 !richtext-shrink-0 !richtext-rounded-sm !richtext-border !richtext-border-primary !richtext-ring-offset-background focus-visible:!richtext-outline-none focus-visible:!richtext-ring-2 focus-visible:!richtext-ring-ring focus-visible:!richtext-ring-offset-2 disabled:!richtext-cursor-not-allowed disabled:!richtext-opacity-50 data-[state=checked]:!richtext-bg-primary data-[state=checked]:!richtext-text-primary-foreground",e),...t,children:o.jsx(_e.Indicator,{className:c.cn("!richtext-flex !richtext-p-0 !richtext-items-center !richtext-justify-center !richtext-text-current"),children:o.jsx(D.Check,{className:"!richtext-h-4 !richtext-w-4"})})}));Pe.displayName=_e.Root.displayName;function Mt(e){var n;const t=m.useMemo(()=>{var r;const i=(r=e==null?void 0:e.items)==null?void 0:r.find(s=>s.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 o.jsxs(c.Popover,{modal:!0,children:[o.jsx(c.PopoverTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.jsx(c.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:o.jsx(c.IconComponent,{className:"richtext-ml-1 richtext-size-3 richtext-text-zinc-500",name:"MenuDown"})})}),o.jsx(c.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,a)=>{var r,s;return o.jsxs(c.Tooltip,{children:[o.jsx(c.TooltipTrigger,{asChild:!0,children:o.jsx(c.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)&&o.jsx(c.IconComponent,{name:i.icon})})}),o.jsxs(c.TooltipContent,{className:"richtext-flex richtext-flex-col richtext-items-center",children:[o.jsx("span",{children:i.title}),!!((r=i.shortcutKeys)!=null&&r.length)&&o.jsx("span",{children:(s=i.shortcutKeys)==null?void 0:s.map(l=>c.getShortcutKey(l)).join(" ")})]})]},`text-align-${a}`)})})]})}const Et=g.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 h;const a=((h=n.options)==null?void 0:h.alignments)||[],r={left:["mod","Shift","L"],center:["mod","Shift","E"],right:["mod","Shift","R"],justify:["mod","Shift","J"]},s={left:"AlignLeft",center:"AlignCenter",right:"AlignRight",justify:"AlignJustify"},l=a.map(u=>{var x,f,_;return{title:i(`editor.textalign.${u}.tooltip`),icon:s[u],shortcutKeys:r[u],isActive:()=>t.isActive({textAlign:u})||!1,action:()=>{var y,v;return(v=(y=t.commands)==null?void 0:y.setTextAlign)==null?void 0:v.call(y,u)},disabled:!((_=(f=(x=t==null?void 0:t.can)==null?void 0:x.call(t))==null?void 0:f.setTextAlign)!=null&&_.call(f,u))}}),d=l.filter(u=>u.disabled).length===l.length;return{component:Mt,componentProps:{icon:"AlignJustify",tooltip:i("editor.textalign.tooltip"),disabled:d,items:l}}}}}});function It(e){var i;const{t}=p.useLocale(),n=m.useMemo(()=>{const a=(e.items||[]).find(s=>s.isActive());return a||{title:t("editor.fontSize.default.tooltip"),isActive:()=>!1}},[e]);return o.jsxs(c.DropdownMenu,{children:[o.jsx(c.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.jsx(ye,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:n==null?void 0:n.title,tooltip:`${e==null?void 0:e.tooltip}`})}),o.jsx(c.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((a,r)=>o.jsx(c.DropdownMenuCheckboxItem,{checked:n.title===a.title,onClick:a.action,children:o.jsx("div",{className:"richtext-ml-1 richtext-h-full",children:a.title})},`font-size-${r}`))})]})}const Dt=g.Extension.create({name:"fontSize",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["textStyle"],fontSizes:[...p.DEFAULT_FONT_SIZE_LIST],button({editor:t,extension:n,t:i}){var d;const a=c.ensureNameValueOptions(((d=n.options)==null?void 0:d.fontSizes)||p.DEFAULT_FONT_SIZE_VALUE),r=c.ensureNameValueOptions([p.DEFAULT_FONT_SIZE_VALUE])[0],s=a.map(h=>({title:h.value===r.value?i("editor.fontSize.default.tooltip"):String(h.name),isActive:()=>{const{fontSize:u}=t.getAttributes("textStyle");return h.value===r.value&&u===void 0?!0:t.isActive({fontSize:String(h.value)})||!1},action:()=>{if(h.value===r.value){t.commands.unsetFontSize();return}t.commands.setFontSize(String(h.value))},disabled:!t.can().setFontSize(String(h.value)),divider:h.value===r.value||!1,default:h.value===r.value||!1})),l=s.filter(h=>h.disabled).length===s.length;return{component:It,componentProps:{editor:t,tooltip:i("editor.fontSize.tooltip"),disabled:l,items:s,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 Ht({fill:e}){return o.jsx("svg",{width:"18px",height:"18px",viewBox:"0 0 240 240",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:o.jsx("g",{stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",children:o.jsx("g",{transform:"translate(0.000000, 0.500000)",children:o.jsxs("g",{transform:"translate(39.000000, 17.353553)",children:[o.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"}),o.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"}),o.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 Rt(e){const[t,n]=m.useState(void 0);function i(s){var l;(l=e.action)==null||l.call(e,s)}function a(){var s;(s=e.action)==null||s.call(e,t)}const r=m.useCallback(w.debounce(s=>{n(s)},350),[]);return o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-h-[32px]",children:[o.jsx(c.ActionButton,{tooltip:e==null?void 0:e.tooltip,disabled:e==null?void 0:e.disabled,action:a,children:o.jsx("span",{className:"richtext-flex richtext-items-center richtext-justify-center richtext-text-sm",children:o.jsx(Ht,{fill:t})})}),o.jsx(c.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:o.jsx(c.Button,{variant:"ghost",size:"icon",className:"r!ichtext-h-[32px] !richtext-w-3",disabled:e==null?void 0:e.disabled,children:o.jsx(c.IconComponent,{className:"!richtext-w-3 !richtext-h-3 richtext-text-zinc-500",name:"MenuDown"})})})]})}const zt=g.Color.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n,extension:i}){return{component:Rt,componentProps:{colors:i.options.colors,defaultColor:i.options.defaultColor,action:a=>{a===void 0&&t.chain().focus().unsetColor().run(),typeof a=="string"&&t.chain().focus().setColor(a).run()},isActive:()=>{const{color:a}=t.getAttributes("textStyle");return a&&t.isActive({color:a})||!1},editor:t,disabled:!t.can().setColor(""),tooltip:n("editor.color.tooltip")}}}}}}),Bt=g.Highlight.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),multicolor:!0,button:({editor:t,t:n})=>({component:c.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")}})}}}),Pt=g.BulletList.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:c.ActionButton,componentProps:{action:()=>t.commands.toggleBulletList(),isActive:()=>t.isActive("bulletList")||!1,disabled:!1,shortcutKeys:["shift","mod","8"],icon:"List",tooltip:n("editor.bulletlist.tooltip")}})}}}),Ot=g.Node.create({name:"clear",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:c.ActionButton,componentProps:{action:()=>t.chain().focus().clearNodes().unsetAllMarks().run(),disabled:!t.can().chain().focus().clearNodes().unsetAllMarks().run(),icon:"Eraser",tooltip:n("editor.clear.tooltip")}})}}}),Ft=g.OrderedList.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:c.ActionButton,componentProps:{action:()=>t.commands.toggleOrderedList(),isActive:()=>t.isActive("orderedList")||!1,disabled:!1,icon:"ListOrdered",shortcutKeys:["mod","shift","7"],tooltip:n("editor.orderedlist.tooltip")}})}}}),Ut=g.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:c.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[g.TaskItem.configure(this.options.taskItem)]}}),Vt=g.Blockquote.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"blockquote"},button:({editor:t,t:n})=>({component:c.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 $t(e){const[t,n]=m.useState(!1);function i(a,r,s){e.action&&(e.action({link:a,text:r,openInNewTab:s}),n(!1))}return o.jsxs(c.Popover,{modal:!0,open:t,onOpenChange:n,children:[o.jsx(c.PopoverTrigger,{disabled:e==null?void 0:e.disabled,asChild:!0,children:o.jsx(c.ActionButton,{tooltip:e==null?void 0:e.tooltip,isActive:e==null?void 0:e.isActive,disabled:e==null?void 0:e.disabled,children:o.jsx(c.IconComponent,{name:e==null?void 0:e.icon})})}),o.jsx(c.PopoverContent,{hideWhenDetached:!0,className:"richtext-w-full",align:"start",side:"bottom",children:o.jsx(c.LinkEditBlock,{editor:e.editor,onSetLink:i})})]})}const qt=g.Link.extend({inclusive:!1,parseHTML(){return[{tag:'a[href]:not([data-type="button"]):not([href *= "javascript:" i])'}]},renderHTML({HTMLAttributes:e}){return["a",g.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:$t,componentProps:{editor:t,action:i=>{const{link:a,text:r,openInNewTab:s}=i;t.chain().extendMarkRange("link").insertContent({type:"text",text:r,marks:[{type:"link",attrs:{href:a,target:s?"_blank":""}}]}).setLink({href:a}).focus().run()},id:"linkk",isActive:()=>t.isActive("link")||!1,disabled:!t.can().setLink({href:""}),icon:"Link",tooltip:n("editor.link.tooltip")}})}},addProseMirrorPlugins(){return[new w.Plugin({props:{handleClick:(e,t)=>{const{schema:n,doc:i,tr:a}=e.state,r=g.getMarkRange(i.resolve(t),n.marks.link);if(!r)return!1;const s=i.resolve(r.from),l=i.resolve(r.to),d=a.setSelection(new w.TextSelection(s,l));e.dispatch(d)}}})]}}),Kt=g.HorizontalRule.extend({renderHTML(){return["div",g.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:c.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 Gt(e){var h;const{icon:t=void 0,tooltip:n=void 0,customClass:i="",tooltipOptions:a={},action:r=void 0,isActive:s=void 0,children:l}=e,d=c.icons[t];return o.jsxs(c.Tooltip,{children:[o.jsx(c.TooltipTrigger,{asChild:!0,children:o.jsxs(c.Toggle,{size:"sm",className:`richtext-w-[32px] richtext-h-[32px] ${i}`,disabled:s==null?void 0:s(),onClick:r,children:[d&&o.jsx(d,{className:"richtext-w-4 richtext-h-4"}),l&&o.jsx(o.Fragment,{children:l})]})}),n&&o.jsx(c.TooltipContent,{...a,children:o.jsxs("div",{className:"richtext-flex richtext-flex-col richtext-items-center richtext-text-center richtext-max-w-24",children:[o.jsx("div",{children:n}),!!((h=e==null?void 0:e.shortcutKeys)!=null&&h.length)&&o.jsx("span",{children:c.getShortcutKeys(e==null?void 0:e.shortcutKeys)})]})})]})}const Wt=["undo","redo"],Zt=g.History.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),depth:100,newGroupDelay:500,button:({editor:t,t:n})=>Wt.map(i=>({component:Gt,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`)}}))}}}),Xt=g.Document.extend({content:"(block|columns)+"}),Yt=g.Extension.create({name:"columnActionButton",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:c.ActionButton,componentProps:{action:()=>{t.chain().focus().insertColumns({cols:2}).run()},icon:"Columns",tooltip:n("editor.columns.tooltip")}})}}}),Jt=g.Extension.create({name:"selection",addProseMirrorPlugins(){const{editor:e}=this;return[new w.Plugin({key:new w.PluginKey("selection"),props:{decorations(t){return t.selection.empty||e.isFocused===!0?null:w.DecorationSet.create(t.doc,[w.Decoration.inline(t.selection.from,t.selection.to,{class:"selection"})])}}})]}});function Qt(e){const{t}=p.useLocale(),n=m.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=m.useMemo(()=>n.findLast(a=>a.isActive())??{label:"Empty"},[n]);return o.jsxs(c.DropdownMenu,{children:[o.jsx(c.DropdownMenuTrigger,{asChild:!0,children:o.jsxs(c.Button,{className:"richtext-flex richtext-h-[32px] richtext-gap-1 richtext-px-1.5",variant:"ghost",children:[o.jsxs("span",{className:"richtext-whitespace-nowrap richtext-text-sm richtext-font-normal",children:[" ",i==null?void 0:i.label]}),o.jsx(D.ChevronDown,{className:"richtext-size-4"})]})}),o.jsx(c.DropdownMenuContent,{align:"start",className:"richtext-w-full richtext-p-1",hideWhenDetached:!0,sideOffset:5,children:n.map((a,r)=>{var l;const s=c.icons[a.iconName];return o.jsx(c.DropdownMenuCheckboxItem,{checked:((l=a.isActive)==null?void 0:l.call(a))||!1,className:"richtext-cursor-pointer",onClick:()=>a.action(),children:o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-2 richtext-px-2",children:[o.jsx(s,{className:"richtext-h3 richtext-w-3"}),o.jsxs("span",{children:[" ",a.label]})]})},`text-bubble-${r}`)})})]})}const en=g.Extension.create({name:"text-bubble",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),toolbar:!1,button:()=>({component:Qt,componentProps:{}})}}});function je({types:e,node:t}){return Array.isArray(e)&&e.includes(t.type)||t.type===e}const tn=g.Extension.create({name:"trailingNode",addOptions(){return{node:"paragraph",notAfter:["paragraph"]}},addProseMirrorPlugins(){const e=new w.PluginKey(this.name),t=Object.entries(this.editor.schema.nodes).map(([,n])=>n).filter(n=>this.options.notAfter.includes(n.name));return[new w.Plugin({key:e,appendTransaction:(n,i,a)=>{const{doc:r,tr:s,schema:l}=a,d=e.getState(a),h=r.content.size,u=l.nodes[this.options.node];if(d)return s.insert(h,u.create())},state:{init:(n,i)=>{const a=i.tr.doc.lastChild;return!je({node:a,types:t})},apply:(n,i)=>{if(!n.docChanged)return i;const a=n.doc.lastChild;return!je({node:a,types:t})}}})]}}),nn=g.Extension.create({name:"base-kit",addExtensions(){const e=[];return this.options.document!==!1&&e.push(Xt.configure()),this.options.placeholder!==!1&&e.push(g.Placeholder.configure({placeholder:({node:t,pos:n,editor:i})=>{var a,r,s,l,d;return((a=t==null?void 0:t.type)==null?void 0:a.name)==="columns"||((r=t==null?void 0:t.content)==null?void 0:r.size)!==0?"":((s=t==null?void 0:t.type)==null?void 0:s.name)==="heading"?`${p.localeActions.t(`editor.heading.h${t.attrs.level}.tooltip`)}`:((l=t==null?void 0:t.type)==null?void 0:l.name)==="codeBlock"||((d=t==null?void 0:t.type)==null?void 0:d.name)==="table"?"":i.extensionManager.extensions.some(h=>h.name==="slashCommand")?p.localeActions.t("editor.slash"):p.localeActions.t("editor.content")},...this.options.placeholder})),this.options.focus!==!1&&e.push(g.FocusClasses.configure({className:"focus",...this.options.focus})),this.options.text!==!1&&e.push(g.Text.configure()),this.options.textBubble!==!1&&e.push(en.configure()),this.options.gapcursor!==!1&&e.push(g.Gapcursor.configure()),this.options.dropcursor!==!1&&e.push(g.Dropcursor.configure({...this.options.dropcursor,width:2,class:"ProseMirror-dropcursor border-black"})),this.options.characterCount!==!1&&e.push(g.CharacterCount.configure(this.options.characterCount)),this.options.paragraph!==!1&&e.push(g.Paragraph.configure(this.options.paragraph)),this.options.hardBreak!==!1&&e.push(g.HardBreak.configure(this.options.hardBreak)),this.options.listItem!==!1&&e.push(g.ListItem.configure(this.options.listItem)),this.options.textStyle!==!1&&e.push(g.TextStyle.configure(this.options.textStyle)),this.options.trailingNode!==!1&&e.push(tn.configure(this.options.trailingNode)),this.options.selection!==!1&&e.push(Jt),this.options.multiColumn!==!1&&e.push(c.Column,c.MultiColumn),e}}),on=g.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 a=n.options.subscript,r=n.options.superscript,s={component:c.ActionButton,componentProps:{action:()=>t.commands.toggleSubscript(),isActive:()=>t.isActive("subscript")||!1,disabled:!t.can().toggleSubscript(),icon:"Subscript",tooltip:i("editor.subscript.tooltip")}},l={component:c.ActionButton,componentProps:{action:()=>t.commands.toggleSuperscript(),isActive:()=>t.isActive("superscript")||!1,disabled:!t.can().toggleSuperscript(),icon:"Superscript",tooltip:i("editor.superscript.tooltip")}},d=[];return a!==!1&&d.push(s),r!==!1&&d.push(l),d}}},addExtensions(){const e=[];return this.options.subscript!==!1&&e.push(g.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&e.push(g.Superscript.configure(this.options.superscript)),e}});function an(e){var n;const t=m.useMemo(()=>{var r;const i=(r=e==null?void 0:e.items)==null?void 0:r.find(s=>s.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 o.jsxs(c.DropdownMenu,{children:[o.jsx(c.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.jsx(c.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:o.jsx(c.MenuDown,{className:"richtext-size-3 richtext-text-gray-500"})})}),o.jsx(c.DropdownMenuContent,{className:"w-full",children:(n=e==null?void 0:e.items)==null?void 0:n.map((i,a)=>o.jsxs(c.DropdownMenuCheckboxItem,{checked:t.title===i.title,className:"richtext-flex richtext-items-center richtext-gap-3",onClick:i.action,children:[o.jsx(c.IconComponent,{name:i==null?void 0:i.icon}),o.jsx("span",{className:"richtext-ml-1",children:i.title}),!!(i!=null&&i.shortcutKeys)&&o.jsx("span",{className:"richtext-ml-auto richtext-text-xs richtext-tracking-widest richtext-opacity-60",children:c.getShortcutKeys(i.shortcutKeys)})]},`more-mark-${a}`))})]})}const rn=g.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 a=n.options.subscript,r=n.options.superscript,s={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",","]},d=[];return a!==!1&&d.push(s),r!==!1&&d.push(l),{component:an,componentProps:{icon:"Type",tooltip:i("editor.moremark"),disabled:!t.isEditable,items:d}}}}},addExtensions(){const e=[];return this.options.subscript!==!1&&e.push(g.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&e.push(g.Superscript.configure(this.options.superscript)),e}}),sn=g.Extension.create({name:"indent",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["paragraph","heading","blockquote"],minIndent:c.IndentProps.min,maxIndent:c.IndentProps.max,button({editor:t,t:n}){return[{component:c.ActionButton,componentProps:{action:()=>{t.commands.indent()},shortcutKeys:["Tab"],icon:"IndentIncrease",tooltip:n("editor.indent.tooltip")}},{component:c.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:()=>c.createIndentCommand({delta:c.IndentProps.more,types:this.options.types}),outdent:()=>c.createIndentCommand({delta:c.IndentProps.less,types:this.options.types})}},addKeyboardShortcuts(){return{Tab:()=>this.editor.commands.indent(),"Shift-Tab":()=>this.editor.commands.outdent()}}});function cn(e){return Number.parseFloat(e.replace("%",""))/100}function ln(e){const{t}=p.useLocale(),[n,i]=m.useState("default");function a(s){s==="default"?e.editor.commands.unsetLineHeight():e.editor.commands.setLineHeight(s),i(s)}const r=m.useMemo(()=>{const d=e.editor.extensionManager.extensions.find(h=>h.name==="lineHeight").options.lineHeights.map(h=>({label:cn(h),value:h}));return d.unshift({label:t("editor.default"),value:"default"}),d},[e]);return o.jsxs(c.DropdownMenu,{children:[o.jsx(c.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.jsx(c.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:o.jsx(c.IconComponent,{className:"richtext-ml-1 richtext-size-3 richtext-text-zinc-500",name:"MenuDown"})})}),o.jsx(c.DropdownMenuContent,{className:"richtext-min-w-24",children:r==null?void 0:r.map((s,l)=>o.jsx(c.DropdownMenuCheckboxItem,{checked:s.value===n,onClick:()=>a(s.value),children:s.label},`lineHeight-${l}`))})]})}const dn=["paragraph","heading","list_item","todo_item"];function un(e,t){const{selection:n,doc:i}=e;if(!n||!i||!(n instanceof w.TextSelection||n instanceof w.AllSelection))return e;const{from:a,to:r}=n,s=[],l=t&&t!==p.DEFAULT_LINE_HEIGHT?t:null;if(i.nodesBetween(a,r,(d,h)=>{const u=d.type;return dn.includes(u.name)?((d.attrs.lineHeight||null)!==l&&s.push({node:d,pos:h,nodeType:u}),u.name!=="list_item"&&u.name!=="todo_item"):!0}),s.length===0)return e;for(const d of s){const{node:h,pos:u,nodeType:x}=d;let{attrs:f}=h;f={...f,lineHeight:l},e=e.setNodeMarkup(u,x,f,h.marks)}return e}function hn(e){return({state:t,dispatch:n})=>{const{selection:i}=t;let{tr:a}=t;return a=a.setSelection(i),a=un(a,e),a.docChanged?(n&&n(a),!0):!1}}const mn=g.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:p.DEFAULT_LINE_HEIGHT_LIST,defaultHeight:p.DEFAULT_LINE_HEIGHT,button({editor:t,t:n}){return{component:ln,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=>hn(e),unsetLineHeight:()=>({commands:e})=>this.options.types.every(t=>e.resetAttributes(t,"lineHeight"))}}}),Oe=w.d(!1);function fn(){return w.b(Oe)}const Y={setOpen:e=>{Oe(e)}},Fe=w.d(!1);function gn(){return w.b(Fe)}const oe={setOpen:e=>{Fe(e)}};function _n(e){const t=[{name:"format",title:p.localeActions.t("editor.slash.format"),commands:[]},{name:"insert",title:p.localeActions.t("editor.slash.insert"),commands:[]}];return e.forEach(n=>{n.name.toLowerCase()==="heading"&&n.options.levels.forEach(i=>{t[0].commands.push({name:`heading${i}`,label:p.localeActions.t(`editor.heading.h${i}.tooltip`),aliases:[`h${i}`,"bt",`bt${i}`],iconName:`Heading${i}`,action:({editor:a,range:r})=>{a.chain().focus().deleteRange(r).setHeading({level:i}).run()}})}),n.name.toLowerCase()==="bulletlist"&&t[0].commands.push({name:"bulletList",label:p.localeActions.t("editor.bulletlist.tooltip"),aliases:["ul","yxlb"],iconName:"List",action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).toggleBulletList().run()}}),n.name.toLowerCase()==="orderedlist"&&t[0].commands.push({name:"numberedList",label:p.localeActions.t("editor.orderedlist.tooltip"),aliases:["ol","yxlb"],iconName:"ListOrdered",action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).toggleOrderedList().run()}}),n.name.toLowerCase()==="tasklist"&&t[0].commands.push({name:"taskList",label:p.localeActions.t("editor.tasklist.tooltip"),iconName:"ListTodo",description:"Task list with todo items",aliases:["todo"],action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).toggleTaskList().run()}}),n.name.toLowerCase()==="blockquote"&&t[0].commands.push({name:"blockquote",label:p.localeActions.t("editor.blockquote.tooltip"),description:"插入引入格式",aliases:["yr"],iconName:"TextQuote",action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).setBlockquote().run()}}),n.name.toLowerCase()==="codeblock"&&t[0].commands.push({name:"codeBlock",label:p.localeActions.t("editor.codeblock.tooltip"),iconName:"Code2",description:"Code block with syntax highlighting",shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).setCodeBlock().run()}}),n.name.toLowerCase()==="image"&&t[1].commands.push({name:"image",label:p.localeActions.t("editor.image.tooltip"),iconName:"ImageUp",description:"Insert a image",aliases:["image","tp","tupian"],shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).run(),Y.setOpen(!0)}}),n.name.toLowerCase()==="video"&&t[1].commands.push({name:"video",label:p.localeActions.t("editor.video.tooltip"),iconName:"Video",description:"Insert a video",aliases:["video","sp","shipin"],shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).run(),oe.setOpen(!0)}}),n.name.toLowerCase()==="table"&&t[1].commands.push({name:"table",label:p.localeActions.t("editor.table.tooltip"),iconName:"Table",description:"Insert a table",aliases:["table","bg","biaoge","biao"],shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).insertTable({rows:3,cols:3,withHeaderRow:!1}).run()}}),n.name.toLowerCase()==="horizontalrule"&&t[1].commands.push({name:"horizontalRule",label:p.localeActions.t("editor.horizontalrule.tooltip"),iconName:"Minus",description:"Insert a horizontal divider",aliases:["hr","fgx","fg"],action:({editor:i,range:a})=>{i.chain().focus().deleteRange(a).setHorizontalRule().run()}}),n.name.toLowerCase()==="columns"&&t[1].commands.push({name:"columns",label:p.localeActions.t("editor.columns.tooltip"),iconName:"Columns2",description:"Add two column content",action:({editor:i})=>{i.chain().focus().insertColumns({cols:2}).run()}})}),t}function xn(e,t){var L,I;const[n,i]=m.useState(0),[a,r]=m.useState(0),s=m.useRef(null),{t:l}=p.useLocale(),d=m.useRef([]);m.useImperativeHandle(t,()=>({onKeyDown:h})),m.useEffect(()=>{if(!s.current)return;const C=a*1e3+n,b=d.current[C];b&&b.scrollIntoView({behavior:"smooth",block:"nearest"})},[n,a]);function h({event:C}){return C.key==="ArrowUp"?(u(),!0):C.key==="ArrowDown"?(x(),!0):C.key==="Enter"?(f(),!0):!1}function u(){var k;if(e.items.length===0)return!1;let C=n-1,b=a;C<0&&(b=a-1,C=((k=e.items[b])==null?void 0:k.commands.length)-1||0),b<0&&(b=e.items.length-1,C=e.items[b].commands.length-1),i(C),r(b)}function x(){if(e.items.length===0)return!1;const C=e.items[a].commands;let b=n+1,k=a;C.length-1<b&&(b=0,k=a+1),e.items.length-1<k&&(k=0),i(b),r(k)}function f(){if(e.items.length===0||a===-1||n===-1)return!1;_(a,n)}function _(C,b){const k=e.items[C].commands[b];e.command(k)}function y(C,b){_(C,b)}function v(C,b,k){d.current[C*1e3+b]=k}return o.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:s,children:(L=e==null?void 0:e.items)!=null&&L.length?o.jsx("div",{className:"richtext-grid richtext-min-w-48 richtext-grid-cols-1 richtext-gap-0.5",children:(I=e==null?void 0:e.items)==null?void 0:I.map((C,b)=>o.jsxs(m.Fragment,{children:[o.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:C.title}),C.commands.map((k,A)=>o.jsxs("button",{onClick:()=>y(b,A),ref:T=>v(b,A,T),className:c.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":a===b&&n===A}),children:[k.iconUrl&&o.jsx("img",{alt:"",className:"richtext-size-6",src:k.iconUrl}),k.iconName&&o.jsx(c.IconComponent,{className:"!richtext-mr-1 !richtext-text-lg",name:k.iconName}),k.label]},`command-${A}`))]},`slash-${C.title}`))}):o.jsx("div",{className:"richtext-p-3",children:o.jsx("span",{className:"richtext-text-xs richtext-text-gray-800 dark:richtext-text-gray-100",children:l("editor.slash.empty")})})})}const bn=m.forwardRef(xn),G="slashCommand";let S;const pn=g.Extension.create({name:G,priority:200,onCreate(){S=pe("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[g.Suggestion({editor:this.editor,char:"/",allowSpaces:!0,startOfLine:!0,pluginKey:new w.PluginKey(G),allow:({state:e,range:t})=>{var h,u,x;const n=e.doc.resolve(t.from),i=n.depth===1,a=n.parent.type.name==="paragraph",r=((h=n.parent.textContent)==null?void 0:h.charAt(0))==="/",s=this.editor.isActive("column"),l=(x=n.parent.textContent)==null?void 0:x.slice(Math.max(0,(u=n.parent.textContent)==null?void 0:u.indexOf("/"))),d=!(l!=null&&l.endsWith(" "));return(i&&a&&r||s&&a&&r)&&d},command:({editor:e,range:t,props:n})=>{const{view:i}=e;n.action({editor:e,range:t}),i.focus()},items:({query:e,editor:t})=>_n(t.extensionManager.extensions).map(s=>({...s,commands:s.commands.filter(l=>{const d=l.label.toLowerCase().trim(),h=e.toLowerCase().trim();if(l.aliases){const u=l.aliases.map(_=>_.toLowerCase().trim()),x=d.match(h),f=u.some(_=>_.match(h));return x||f}return d.match(h)}).filter(l=>l.shouldBeHidden?!l.shouldBeHidden(this.editor):!0)})).filter(s=>s.commands.length>0).map(s=>({...s,commands:s.commands.map(l=>({...l,isEnabled:!0}))})),render:()=>{let e,t=null;return{onStart:n=>{var r;e=new g.ReactRenderer(bn,{props:n,editor:n.editor});const{view:i}=n.editor,a=()=>{if(!n.clientRect)return n.editor.storage[G].rect;const s=n.clientRect();if(!s)return n.editor.storage[G].rect;let l=s.y;if(s.top+e.element.offsetHeight+40>window.innerHeight){const d=s.top+e.element.offsetHeight-window.innerHeight+40;l=s.y-d}return new DOMRect(s.x,l,s.width,s.height)};t=()=>{S==null||S[0].setProps({getReferenceClientRect:a})},(r=i.dom.parentElement)==null||r.addEventListener("scroll",t),S==null||S[0].setProps({getReferenceClientRect:a,appendTo:()=>document.body,content:e.element}),S==null||S[0].show()},onUpdate(n){var s;e.updateProps(n);const{view:i}=n.editor,a=()=>{if(!n.clientRect)return n.editor.storage[G].rect;const l=n.clientRect();return l?new DOMRect(l.x,l.y,l.width,l.height):n.editor.storage[G].rect},r=()=>{S==null||S[0].setProps({getReferenceClientRect:a})};(s=i.dom.parentElement)==null||s.addEventListener("scroll",r),n.editor.storage[G].rect=n.clientRect?a():{width:0,height:0,left:0,top:0,right:0,bottom:0},S==null||S[0].setProps({getReferenceClientRect:a})},onKeyDown(n){var i;return n.event.key==="Escape"?(S==null||S[0].hide(),!0):(S!=null&&S[0].state.isShown||S==null||S[0].show(),(i=e.ref)==null?void 0:i.onKeyDown(n))},onExit(n){var i;if(S==null||S[0].hide(),t){const{view:a}=n.editor;(i=a.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 wn({editor:e,imageInline:t,onClose:n}){const{t:i}=p.useLocale(),[a,r]=m.useState(!1),s=m.useRef(null),[l,d]=m.useState(),[h,u]=m.useState(""),x=m.useRef(null),[f,_]=m.useState({src:"",file:null});function y(b){if(s.current&&b.width&&b.height){const k=v(s.current,b);u(k)}}function v(b,k){const A=document.createElement("canvas"),T=b.naturalWidth/b.width,N=b.naturalHeight/b.height;A.width=k.width*T,A.height=k.height*N;const B=A.getContext("2d");return B&&(B.imageSmoothingEnabled=!1,B.drawImage(b,k.x*T,k.y*N,k.width*T,k.height*N,0,0,k.width*T,k.height*N)),A.toDataURL("image/png",1)}async function L(){var b,k;try{const A=c.dataURLtoFile(h,((b=f==null?void 0:f.file)==null?void 0:b.name)||"image.png"),T=(k=e.extensionManager.extensions.find(B=>B.name==="image"))==null?void 0:k.options;let N="";T.upload?N=await T.upload(A):N=URL.createObjectURL(A),e.chain().focus().setImageInline({src:N,inline:t}).run(),r(!1),_({src:"",file:null}),n()}catch(A){console.log("Error cropping image",A)}}function I(b){var k;b.preventDefault(),(k=x.current)==null||k.click()}const C=async b=>{var N;const k=(N=b==null?void 0:b.target)==null?void 0:N.files;if(!e||e.isDestroyed||k.length===0)return;const A=k[0],T=await c.readImageAsBase64(A);r(!0),_({src:T.src,file:A})};return o.jsxs(o.Fragment,{children:[o.jsx(c.Button,{className:"richtext-mt-1 richtext-w-full",onClick:I,size:"sm",children:i("editor.image.dialog.tab.uploadCrop")}),o.jsxs(c.Dialog,{open:a,children:[o.jsx(c.DialogTrigger,{}),o.jsxs(c.DialogContent,{children:[o.jsx(c.DialogTitle,{children:i("editor.image.dialog.tab.uploadCrop")}),o.jsx("div",{children:f.src&&o.jsx(et,{className:"richtext-w-full",crop:l,onChange:b=>d(b),onComplete:b=>y(b),children:o.jsx("img",{alt:"Crop me",ref:s,src:f.src})})}),o.jsxs(c.DialogFooter,{children:[o.jsxs(c.Button,{onClick:()=>{r(!1),_({src:"",file:null})},children:[i("editor.imageUpload.cancel"),o.jsx(c.IconComponent,{className:"richtext-ml-[4px]",name:"Trash2"})]}),o.jsxs(c.Button,{className:"richtext-w-fit",onClick:L,children:[i("editor.imageUpload.crop"),o.jsx(c.IconComponent,{className:"richtext-ml-[4px]",name:"Crop"})]})]})]})]}),o.jsx("input",{accept:"image/*",multiple:!0,onChange:C,ref:x,type:"file",style:{display:"none"}})]})}function yn(e){const{t}=p.useLocale(),n=fn(),[i,a]=m.useState(""),r=m.useRef(null),[s,l]=m.useState(!1),d=m.useMemo(()=>{var _;return(_=e.editor.extensionManager.extensions.find(y=>y.name===Ue.name))==null?void 0:_.options},[e.editor]);async function h(f){var L;const _=(L=f==null?void 0:f.target)==null?void 0:L.files;if(!e.editor||e.editor.isDestroyed||_.length===0)return;const y=_[0];let v="";d.upload?v=await d.upload(y):v=URL.createObjectURL(y),e.editor.chain().focus().setImageInline({src:v,inline:s}).run(),Y.setOpen(!1),l(!1)}function u(f){f.preventDefault(),f.stopPropagation(),e.editor.chain().focus().setImageInline({src:i,inline:s}).run(),Y.setOpen(!1),l(!1),a("")}function x(f){var _;f.preventDefault(),(_=r.current)==null||_.click()}return o.jsxs(c.Dialog,{open:n,onOpenChange:Y.setOpen,children:[o.jsx(c.DialogTrigger,{asChild:!0,children:o.jsx(c.ActionButton,{icon:e.icon,action:()=>Y.setOpen(!0),tooltip:e.tooltip})}),o.jsxs(c.DialogContent,{children:[o.jsx(c.DialogTitle,{children:t("editor.image.dialog.title")}),o.jsxs(ve,{defaultValue:d.resourceImage==="both"||d.resourceImage==="upload"?"upload":"link",activationMode:"manual",children:[o.jsxs(de,{className:"richtext-grid richtext-w-full richtext-grid-cols-2",children:[d.resourceImage==="both"||d.resourceImage==="upload"?o.jsx(Q,{value:"upload",children:t("editor.image.dialog.tab.upload")}):o.jsx(o.Fragment,{}),d.resourceImage==="both"||d.resourceImage==="link"?o.jsx(Q,{value:"link",children:t("editor.image.dialog.tab.url")}):o.jsx(o.Fragment,{})]}),o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[4px] richtext-my-[10px]",children:[o.jsx(Pe,{checked:s,onCheckedChange:f=>{l(f)}}),o.jsx(c.Label,{children:t("editor.link.dialog.inline")})]}),o.jsxs(ee,{value:"upload",children:[o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[o.jsx(c.Button,{className:"richtext-w-full richtext-mt-1",size:"sm",onClick:x,children:t("editor.image.dialog.tab.upload")}),o.jsx(wn,{editor:e.editor,imageInline:s,onClose:()=>Y.setOpen(!1)})]}),o.jsx("input",{type:"file",accept:"image/*",ref:r,multiple:!0,style:{display:"none"},onChange:h})]}),o.jsx(ee,{value:"link",children:o.jsx("form",{onSubmit:u,children:o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-2",children:[o.jsx(c.Input,{type:"url",autoFocus:!0,value:i,onChange:f=>a(f.target.value),required:!0,placeholder:t("editor.image.dialog.placeholder")}),o.jsx(c.Button,{type:"submit",children:t("editor.image.dialog.button.apply")})]})})})]})]})]})}const re={TOP_LEFT:"tl",TOP_RIGHT:"tr",BOTTOM_LEFT:"bl",BOTTOM_RIGHT:"br"};function vn(e){var N,B;const[t,n]=m.useState({width:p.IMAGE_MAX_SIZE,height:p.IMAGE_MAX_SIZE}),[i,a]=m.useState({width:0,height:0}),[r]=m.useState([re.TOP_LEFT,re.TOP_RIGHT,re.BOTTOM_LEFT,re.BOTTOM_RIGHT]),[s,l]=m.useState(!1),[d,h]=m.useState({x:0,y:0,w:0,h:0,dir:""}),{align:u,inline:x}=(N=e==null?void 0:e.node)==null?void 0:N.attrs,f=m.useMemo(()=>{var ke;const{src:j,alt:H,width:R,height:q,flipX:K,flipY:M}=(ke=e==null?void 0:e.node)==null?void 0:ke.attrs,P=w.isNumber(R)?`${R}px`:R,O=w.isNumber(q)?`${q}px`:q,ue=[];K&&ue.push("rotateX(180deg)"),M&&ue.push("rotateY(180deg)");const We=ue.join(" ");return{src:j||void 0,alt:H||void 0,style:{width:P||void 0,height:O||void 0,transform:We||"none"}}},[(B=e==null?void 0:e.node)==null?void 0:B.attrs]),_=m.useMemo(()=>{const{style:{width:j}}=f;return{width:j==="100%"?j:void 0}},[f]);function y(j){a({width:j.target.width,height:j.target.height})}function v(){const{editor:j,getPos:H}=e;j.commands.setNodeSelection(H())}const L=m.useCallback(w.throttle(()=>{const{editor:j}=e,{width:H}=getComputedStyle(j.view.dom);n(R=>({...R,width:Number.parseInt(H,10)}))},p.IMAGE_THROTTLE_WAIT_TIME),[e==null?void 0:e.editor]);function I(j,H){j.preventDefault(),j.stopPropagation();const R=i.width,q=i.height,K=R/q;let M=Number(e.node.attrs.width),P=Number(e.node.attrs.height);const O=t.width;M&&!P?(M=M>O?O:M,P=Math.round(M/K)):P&&!M?(M=Math.round(P*K),M=M>O?O:M):!M&&!P?(M=R>O?O:R,P=Math.round(M/K)):M=M>O?O:M,l(!0),h({x:j.clientX,y:j.clientY,w:M,h:P,dir:H})}const C=m.useCallback(w.throttle(j=>{if(j.preventDefault(),j.stopPropagation(),!s)return;const{x:H,w:R,dir:q}=d,K=(j.clientX-H)*(/l/.test(q)?-1:1),M=w.clamp(R+K,p.IMAGE_MIN_SIZE,t.width);e.updateAttributes({width:M,height:null})},p.IMAGE_THROTTLE_WAIT_TIME),[s,d,t,e.updateAttributes]),b=m.useCallback(j=>{j.preventDefault(),j.stopPropagation(),s&&(h({x:0,y:0,w:0,h:0,dir:""}),l(!1),v())},[s,v]),k=m.useCallback(()=>{document==null||document.addEventListener("mousemove",C,!0),document==null||document.addEventListener("mouseup",b,!0)},[C,b]),A=m.useCallback(()=>{document==null||document.removeEventListener("mousemove",C,!0),document==null||document.removeEventListener("mouseup",b,!0)},[C,b]);m.useEffect(()=>(s?k():A(),()=>{A()}),[s,k,A]);const T=m.useMemo(()=>new ResizeObserver(()=>L()),[L]);return m.useEffect(()=>(T.observe(e.editor.view.dom),()=>{T.disconnect()}),[e.editor.view.dom,T]),o.jsx(g.NodeViewWrapper,{as:x?"span":"div",className:"image-view",style:{..._,textAlign:u,display:x?"inline":"block"},children:o.jsxs("div",{"data-drag-handle":!0,draggable:"true",style:_,className:`image-view__body ${e!=null&&e.selected?"image-view__body--focused":""} ${s?"image-view__body--resizing":""}`,children:[o.jsx("img",{alt:f.alt,className:"image-view__body__image block",height:"auto",onClick:v,onLoad:y,src:f.src,style:f.style}),(e==null?void 0:e.editor.view.editable)&&((e==null?void 0:e.selected)||s)&&o.jsx("div",{className:"image-resizer",children:r==null?void 0:r.map(j=>o.jsx("span",{className:`image-resizer__handler image-resizer__handler--${j}`,onMouseDown:H=>I(H,j)},`image-dir-${j}`))})]})})}const J=new w.PluginKey("upload-image");function kn(){return new w.Plugin({key:J,state:{init(){return w.DecorationSet.empty},apply(e,t){t=t.map(e.mapping,e.doc);const n=e.getMeta(J);if(n!=null&&n.add)for(const{id:i,pos:a,src:r}of n.add){const s=Cn(r),l=w.Decoration.widget(a,s,{id:i});t=t.add(e.doc,[l])}else if(n!=null&&n.remove)for(const i of n.remove)t=t.remove(t.find(void 0,void 0,a=>a.id===i));return t}},props:{decorations(e){return this.getState(e)}}})}function Cn(e){const t=document.createElement("div"),n=document.createElement("img");return n.setAttribute("class","opacity-50"),n.src=e,n.addEventListener("load",()=>{t.setAttribute("class","img-placeholder")}),t.append(n),t}function jn(e,t){var a;const i=J.getState(e).find(void 0,void 0,r=>r.id===t);return i.length>0?(a=i[0])==null?void 0:a.from:null}function An({validateFn:e,onUpload:t,postUpload:n}){return(i,a,r)=>{for(const s of i){if(e&&!e(s))continue;const l=Date.now().toString(),d=a.state.tr;d.selection.empty||d.deleteSelection();const h=URL.createObjectURL(s);d.setMeta(J,{add:[{id:l,pos:r,src:h}]}),a.dispatch(d),t(s).then(async u=>{var I;n&&typeof u=="string"&&(u=await n(u));const{schema:x}=a.state;let f=jn(a.state,l);if(f===null)return;const _=typeof u=="object"?h:u,y=(I=x.nodes.image)==null?void 0:I.create({src:_});if(!y)return;const{doc:v}=a.state;f>v.content.size&&(f=v.content.size-1);const L=a.state.tr.replaceWith(f,f,y).setMeta(J,{remove:[l]});a.dispatch(L)},()=>{const u=a.state.tr.delete(r,r).setMeta(J,{remove:[l]});a.dispatch(u)})}}}function Tn(e,t,n){var a;const i=[...((a=t.clipboardData)==null?void 0:a.files)||[]];if(i.length>0){t.preventDefault();const r=e.state.selection.from;return n(i,e,r+1),!0}return!1}function Sn(e,t,n,i){var r;const a=[...((r=t.dataTransfer)==null?void 0:r.files)||[]];if(!n&&a.length>0){t.preventDefault();const s=e.posAtCoords({left:t.clientX,top:t.clientY});if(s)return i(a,e,s.pos+1),!0}return!1}const Ln={acceptMimes:["image/jpeg","image/gif","image/png","image/jpg"],maxSize:1024*1024*5,resourceImage:"both"},Ue=g.Image.extend({group:"inline",inline:!0,defining:!0,draggable:!0,selectable:!0,addOptions(){var e;return{...Ln,...(e=this.parent)==null?void 0:e.call(this),upload:()=>Promise.reject("Image Upload Function"),button:({editor:t,extension:n,t:i})=>{var a,r;return{component:yn,componentProps:{action:()=>!0,upload:n.options.upload,disabled:!((r=(a=t.can()).setImage)!=null&&r.call(a,{})),icon:"ImageUp",tooltip:i("editor.image.tooltip"),editor:t}}}}},addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),flipX:{default:!1},flipY:{default:!1},width:{default:null,parseHTML:t=>{const n=t.style.width||t.getAttribute("width")||null;return n?Number.parseInt(n,10):null},renderHTML:t=>({width:t.width})},align:{default:"center",parseHTML:t=>t.getAttribute("align"),renderHTML:t=>({align:t.align})},inline:{default:!1,parseHTML:t=>!!t.getAttribute("inline"),renderHTML:t=>({inline:t.inline})}}},addNodeView(){return g.ReactNodeViewRenderer(vn)},addCommands(){var e;return{...(e=this.parent)==null?void 0:e.call(this),setImageInline:t=>({commands:n})=>n.insertContent({type:this.name,attrs:t}),updateImage:t=>({commands:n})=>n.updateAttributes(this.name,t),setAlignImage:t=>({commands:n})=>n.updateAttributes(this.name,{align:t})}},renderHTML({HTMLAttributes:e}){const{flipX:t,flipY:n,align:i,inline:a}=e,r=t||n?`transform: rotateX(${t?"180":"0"}deg) rotateY(${n?"180":"0"}deg);`:"",s=i?`text-align: ${i};`:"";return[a?"span":"div",{style:s,class:"image"},["img",g.mergeAttributes({height:"auto",style:r},this.options.HTMLAttributes,e)]]},parseHTML(){return[{tag:"span.image img",getAttrs:e=>{var r;const t=e==null?void 0:e.parentElement,n=e==null?void 0:e.getAttribute("width"),i=(e==null?void 0:e.getAttribute("flipx"))||!1,a=(e==null?void 0:e.getAttribute("flipy"))||!1;return{src:e==null?void 0:e.getAttribute("src"),alt:e==null?void 0:e.getAttribute("alt"),caption:e==null?void 0:e.getAttribute("caption"),width:n?Number.parseInt(n,10):null,align:(e==null?void 0:e.getAttribute("align"))||((r=t==null?void 0:t.style)==null?void 0:r.textAlign)||null,inline:(e==null?void 0:e.getAttribute("inline"))||!1,flipX:i==="true",flipY:a==="true"}}},{tag:"div[class=image]",getAttrs:e=>{const t=e.querySelector("img"),n=t==null?void 0:t.getAttribute("width"),i=(t==null?void 0:t.getAttribute("flipx"))||!1,a=(t==null?void 0:t.getAttribute("flipy"))||!1;return{src:t==null?void 0:t.getAttribute("src"),alt:t==null?void 0:t.getAttribute("alt"),caption:t==null?void 0:t.getAttribute("caption"),width:n?Number.parseInt(n,10):null,align:(t==null?void 0:t.getAttribute("align"))||e.style.textAlign||null,inline:(t==null?void 0:t.getAttribute("inline"))||!1,flipX:i==="true",flipY:a==="true"}}}]},addProseMirrorPlugins(){const t=An({validateFn:n=>!(!this.options.acceptMimes.includes(n.type)||n.size>this.options.maxSize),onUpload:this.options.upload});return[new w.Plugin({props:{handlePaste:(n,i)=>!i.clipboardData||[...i.clipboardData.files||[]].some(r=>r.type==="text/html")?!1:Tn(n,i,t),handleDrop:(n,i,a,r)=>(!(i instanceof DragEvent)||!i.dataTransfer||Sn(n,i,r,t),!1)}}),kn()]}});function Nn(e){return/\.(?:mp4|webm|ogg|mov)$/i.test(e)}function Mn(e){const{t}=p.useLocale(),[n,i]=m.useState(""),a=m.useRef(null),r=gn(),[s,l]=m.useState(""),d=m.useMemo(()=>{var _;return(_=e.editor.extensionManager.extensions.find(y=>y.name===Ve.name))==null?void 0:_.options},[e.editor]);async function h(f){var L;const _=(L=f==null?void 0:f.target)==null?void 0:L.files;if(!e.editor||e.editor.isDestroyed||_.length===0)return;const y=_[0];let v="";d.upload?v=await d.upload(y):v=URL.createObjectURL(y),e.editor.chain().setVideo({src:v,width:"100%"}).focus().run(),oe.setOpen(!1)}function u(f){f.preventDefault(),f.stopPropagation(),n&&(e.editor.chain().setVideo({src:n,width:"100%"}).focus().run(),oe.setOpen(!1))}function x(f){var _;f.preventDefault(),(_=a.current)==null||_.click()}return o.jsxs(c.Dialog,{open:r,onOpenChange:oe.setOpen,children:[o.jsx(c.DialogTrigger,{asChild:!0,children:o.jsx(c.ActionButton,{icon:e.icon,action:()=>oe.setOpen(!0),tooltip:e.tooltip})}),o.jsxs(c.DialogContent,{children:[o.jsx(c.DialogTitle,{children:t("editor.video.dialog.title")}),o.jsxs(ve,{defaultValue:(d==null?void 0:d.resourceVideo)==="both"||(d==null?void 0:d.resourceVideo)==="upload"?"upload":"link",activationMode:"manual",children:[o.jsxs(de,{className:"richtext-grid richtext-w-full richtext-grid-cols-2",children:[((d==null?void 0:d.resourceVideo)==="both"||(d==null?void 0:d.resourceVideo)==="upload")&&o.jsx(Q,{value:"upload",children:t("editor.video.dialog.tab.upload")}),((d==null?void 0:d.resourceVideo)==="both"||(d==null?void 0:d.resourceVideo)==="link")&&o.jsx(Q,{value:"link",children:t("editor.video.dialog.link")})]}),o.jsxs(ee,{value:"upload",children:[o.jsx("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:o.jsx(c.Button,{className:"richtext-w-full richtext-mt-1",size:"sm",onClick:x,children:t("editor.video.dialog.tab.upload")})}),o.jsx("input",{type:"file",accept:"video/*",ref:a,multiple:!0,style:{display:"none"},onChange:h})]}),o.jsxs(ee,{value:"link",children:[o.jsx("form",{onSubmit:u,children:o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-2",children:[o.jsx(c.Input,{type:"url",autoFocus:!0,value:n,onChange:f=>{const _=f.target.value;if(!Nn(_)){l("Invalid video URL"),i("");return}l(""),i(_)},required:!0,placeholder:t("editor.video.dialog.placeholder")}),o.jsx(c.Button,{type:"submit",children:t("editor.video.dialog.button.apply")})]})}),s&&o.jsx("div",{className:"richtext-text-red-500 richtext-my-[5px]",children:s})]})]})]})]})}function En(e){return e=e.replace("https://youtu.be/","https://www.youtube.com/watch?v=").replace("watch?v=","embed/"),e=e.replace("https://vimeo.com/","https://player.vimeo.com/video/"),/^https?:\/\/www.bilibili.com\/video\/.*/i.test(e)&&(e=e.replace(/\?.*$/,"").replace("https://www.bilibili.com/video/","https://player.bilibili.com/player.html?bvid=")),e.includes("drive.google.com")&&(e=e.replace("/view","/preview")),e}const Ve=g.Node.create({name:"video",group:"block",atom:!0,draggable:!0,addOptions(){return{divider:!1,spacer:!1,allowFullscreen:!0,upload:void 0,frameborder:!1,resourceVideo:"both",width:p.VIDEO_SIZE["size-medium"],HTMLAttributes:{class:"iframe-wrapper",style:"display: flex;justify-content: center;"},button:({editor:e,t})=>{var n,i;return{component:Mn,componentProps:{action:()=>{},isActive:()=>e.isActive("video")||!1,disabled:!((i=(n=e.can()).setVideo)!=null&&i.call(n,{})),icon:"Video",tooltip:t("editor.video.tooltip"),editor:e}}}}},addAttributes(){return{src:{default:null,renderHTML:({src:e})=>({src:e?En(e):null})},width:{default:this.options.width,renderHTML:({width:e})=>({width:c.getCssUnitWithDefault(e)})},frameborder:{default:this.options.frameborder?1:0,parseHTML:()=>this.options.frameborder?1:0},allowfullscreen:{default:this.options.allowFullscreen,parseHTML:()=>this.options.allowFullscreen}}},parseHTML(){return[{tag:"div[data-video] iframe"}]},renderHTML({HTMLAttributes:e}){const{width:t="100%"}=e??{},n={...e,width:"100%",height:"100%"},i=`position: relative;overflow: hidden;display: flex;flex: 1;max-width: ${t};`,a=`flex: 1;padding-bottom: ${9/16*100}%;`,l=["div",{style:i},["div",{style:a}],["iframe",n]];return["div",{...this.options.HTMLAttributes,"data-video":""},l]},addCommands(){return{setVideo:e=>({commands:t})=>t.insertContent({type:this.name,attrs:e}),updateVideo:e=>({commands:t})=>t.updateAttributes(this.name,e)}}});function In(e,t,n){if(!e.doc)return e;const i=e.doc.nodeAt(t);if(!i||n===i.attrs.backgroundColor)return e;const a={...i.attrs,backgroundColor:n};return e.setNodeMarkup(t,i.type,a,i.marks)}function Dn(e,t,n){const{doc:i,selection:a}=e;return!i||!a||!(a instanceof w.CellSelection)||a.forEachCell((r,s)=>{e=In(e,s,n)}),e}function Ae(e,t){return({tr:n,state:i,dispatch:a})=>{const{selection:r}=i;return n=n.setSelection(r),n=Dn(n,t,e),n.docChanged?(a==null||a(n),!0):!1}}const Hn=g.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=>Ae(e,this.options),unsetTableCellBackground:()=>Ae("",this.options)}}}),Rn=/(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,zn=/CrOS/,Bn=/android|ipad|playbook|silk/i;function Te(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:!!(Rn.test(t)&&!zn.test(t)||e.tablet&&Bn.test(t)||e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.includes("Macintosh")&&t.includes("Safari"))}const Se=e=>Array.from({length:e}).map((t,n)=>n+1);function Pn(e){var u;const[t,n]=m.useState(!0),[i,a]=m.useState({rows:Te()?p.TABLE_MAX_GRID_SIZE:p.TABLE_INIT_GRID_SIZE,cols:Te()?p.TABLE_MAX_GRID_SIZE:p.TABLE_INIT_GRID_SIZE}),[r,s]=m.useState({rows:p.TABLE_DEFAULT_SELECTED_GRID_SIZE,cols:p.TABLE_DEFAULT_SELECTED_GRID_SIZE});function l(x,f){x===i.rows&&a(_=>({..._,rows:Math.min(x+1,p.TABLE_MAX_GRID_SIZE)})),f===i.cols&&a(_=>({..._,cols:Math.min(f+1,p.TABLE_MAX_GRID_SIZE)})),s({rows:x,cols:f})}function d(x,f){e==null||e.createTable({rows:x,cols:f,withHeaderRow:t}),h()}function h(){n(!1),a({rows:p.TABLE_INIT_GRID_SIZE,cols:p.TABLE_INIT_GRID_SIZE}),s({rows:p.TABLE_DEFAULT_SELECTED_GRID_SIZE,cols:p.TABLE_DEFAULT_SELECTED_GRID_SIZE})}return o.jsxs(c.Popover,{modal:!0,children:[o.jsx(c.PopoverTrigger,{asChild:!0,children:e==null?void 0:e.children}),o.jsx(c.PopoverContent,{align:"start",className:"richtext-w-full !richtext-p-2",side:"bottom",children:o.jsxs("div",{className:"table-grid-size-editor richtext-p-0",children:[o.jsx("div",{className:"richtext-flex richtext-flex-col richtext-flex-wrap richtext-justify-between richtext-gap-1",children:(u=Se(i==null?void 0:i.rows))==null?void 0:u.map(x=>{var f;return o.jsx("div",{className:"richtext-flex richtext-gap-1",children:(f=Se(i==null?void 0:i.cols))==null?void 0:f.map(_=>o.jsx("div",{onMouseDown:()=>d(x,_),onMouseOver:()=>l(x,_),className:`richtext-cursor-pointer richtext-border-border ${_<=r.cols&&x<=r.rows&&"tableCellActive !richtext-bg-foreground"}`,children:o.jsx("div",{className:"richtext-box-border richtext-size-4 richtext-rounded-[2px] !richtext-border richtext-border-solid !richtext-border-border richtext-p-1"})},`c-${_}`))},`r-${x}`)})}),o.jsxs("div",{className:"richtext-mt-2 richtext-text-center richtext-text-sm richtext-text-zinc-600",children:[r.rows," ","x",r.cols]})]})})]})}function On(e){function t(n){e.disabled||e.editor.chain().focus().insertTable({...n,withHeaderRow:!1}).run()}return o.jsx(Pn,{createTable:t,children:o.jsx(c.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 Fn=g.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:On,componentProps:{disabled:t.isActive("table")||!1,icon:"Table",tooltip:n("editor.table.tooltip"),editor:t}})}},addExtensions(){return[g.TableRow.configure(this.options.tableRow),g.TableHeader.configure(this.options.tableHeader),g.TableCell.configure(this.options.tableCell),Hn.configure(this.options.tableCellBackground)]}}),Un=g.Extension.create({name:"painter",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:c.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 s=`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=s,t(n.setMeta("painterAction",{type:"start",marks:e})),!0}}},addProseMirrorPlugins(){return[new w.Plugin({key:new w.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:a,selection:r},dom:s}=e;s.style.cursor="",a=a.removeMark(r.from,r.to);for(const l of t)l.type.name!=="link"&&(a=a.addMark(r.from,r.to,l));i(a.setMeta("painterAction",{type:"end"}))};return document.addEventListener("mouseup",n),!0}}}})]}});function Vn(e,t="{}"){try{return JSON.stringify(e)}catch{return t}}function $n({editor:e,...t}){const{t:n}=p.useLocale(),[i,a]=m.useState(-1),[r,s]=m.useState([]),[l,d]=m.useState(""),[h,u]=m.useState(""),[x,f]=m.useState(!1),[_,y]=m.useState(!1);return m.useEffect(()=>{x||(d(""),u(""),a(-1),s([]),e.commands.setSearchTerm(""),e.commands.setReplaceTerm(""))},[e,x]),m.useEffect(()=>{x&&e&&e.commands&&e.commands.setSearchTerm&&e.commands.setSearchTerm(l)},[x,l,e]),m.useEffect(()=>{x&&e&&e.commands&&e.commands.setReplaceTerm&&e.commands.setReplaceTerm(h)},[x,h,e]),m.useEffect(()=>{if(!e)return;const v=e.extensionManager.extensions.find(I=>I.name===$e.name);if(!v)return;const L=()=>{if(!x)return;const I=v?v.storage.currentIndex:-1,C=v?v.storage.results:[];a(b=>b!==I?I:b),s(b=>w.deepEqual(b,C)?b:C)};return window.addEventListener(be,L),()=>{v&&window.removeEventListener(be,L)}},[x,e]),o.jsxs(c.Popover,{open:x,onOpenChange:f,children:[o.jsx(c.PopoverTrigger,{disabled:t==null?void 0:t.disabled,asChild:!0,children:o.jsx(c.ActionButton,{tooltip:t==null?void 0:t.tooltip,isActive:t==null?void 0:t.isActive,disabled:t==null?void 0:t.disabled,children:o.jsx(c.IconComponent,{name:t==null?void 0:t.icon})})}),o.jsxs(c.PopoverContent,{hideWhenDetached:!0,className:"richtext-w-full",align:"start",side:"bottom",children:[o.jsxs("div",{className:"richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between",children:[o.jsx(c.Label,{children:n("editor.search.dialog.text")}),o.jsx("span",{className:"richtext-font-semibold",children:r.length>0?`${i+1}/${r.length}`:"0/0"})]}),o.jsxs("div",{className:"richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5 richtext-mb-[10px]",children:[o.jsx(c.Input,{type:"text",required:!0,className:"richtext-w-full",placeholder:"Text",autoFocus:!0,value:l,onChange:v=>d(v.target.value)}),o.jsx(c.Button,{disabled:r.length===0,className:"richtext-flex-1",onClick:e.commands.goToPrevSearchResult,children:o.jsx(c.IconComponent,{name:"ChevronUp"})}),o.jsx(c.Button,{disabled:r.length===0,className:"richtext-flex-1",onClick:e.commands.goToNextSearchResult,children:o.jsx(c.IconComponent,{name:"ChevronDown"})})]}),o.jsx(c.Label,{className:"richtext-mb-[6px]",children:n("editor.replace.dialog.text")}),o.jsx("div",{className:"richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5 richtext-mb-[5px]",children:o.jsx("div",{className:"richtext-relative richtext-items-center richtext-w-full richtext-max-w-sm",children:o.jsx(c.Input,{type:"text",required:!0,className:"richtext-w-80",placeholder:"Text",value:h,onChange:v=>u(v.target.value)})})}),o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-space-x-2 richtext-mb-[10px]",children:[o.jsx(c.Switch,{checked:_,onCheckedChange:v=>{y(v),e.commands.setCaseSensitive(v)}}),o.jsx(c.Label,{children:n("editor.replace.caseSensitive")})]}),o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[o.jsx(c.Button,{disabled:r.length===0,className:"richtext-flex-1",onClick:e.commands.replace,children:n("editor.replace.dialog.text")}),o.jsx(c.Button,{disabled:r.length===0,className:"richtext-flex-1",onClick:e.commands.replaceAll,children:n("editor.replaceAll.dialog.text")})]})]})]})}const ie=(e,t)=>t(e.tr);function qn(e,t,n){return RegExp(t?e.replace(/[$()*+./?[\\\]^{|}-]/g,String.raw`\$&`):e,n?"gu":"gui")}function Kn(e,t,n){const i=[];let a=[];const r=[];let s=0;if(!t)return{decorationsToReturn:[],results:[]};e==null||e.descendants((l,d)=>{l.isText?a[s]?a[s]={text:a[s].text+l.text,pos:a[s].pos}:a[s]={text:`${l.text}`,pos:d}:s+=1}),a=a.filter(Boolean);for(const{text:l,pos:d}of a){const h=[...l.matchAll(t)];for(const u of h){if(u[0]==="")break;u.index!==void 0&&r.push({from:d+u.index,to:d+u.index+u[0].length})}}for(const l of r)i.push(w.Decoration.inline(l.from,l.to,{class:n}));return{decorationsToReturn:i,results:r}}function Le(e,t,{state:n,dispatch:i}){if(!t[0])return;const{from:r,to:s}=t[0];i&&i(n.tr.insertText(e,r,s))}function Gn(e,t,n,i){const a=t+1;if(!i[a])return null;const{from:r,to:s}=i[t],l=s-r-e.length+n,{from:d,to:h}=i[a];return i[a]={to:h-l,from:d-l},[l,i]}function Wn(e,t,{tr:n,dispatch:i}){let a=0,r=t.slice();if(r.length===0)return!1;for(let s=0;s<r.length;s+=1){const{from:l,to:d}=r[s];n.insertText(e,l,d);const h=Gn(e,s,a,r);h&&(a=h[0],r=h[1])}return i(n),!0}function Ne({view:e,tr:t,searchResults:n,searchResultCurrentClass:i,gotoIndex:a}){const r=n[a];if(r){const s=t.setMeta("directDecoration",{fromPos:r.from,toPos:r.to,attrs:{class:i}});return e==null||e.dispatch(s),setTimeout(()=>{const l=window.document.querySelector(`.${i}`);l&&we(l,{behavior:"smooth",scrollMode:"if-needed"})},0),!0}return!1}const be="ON_SEARCH_RESULTS",Z=new CustomEvent(be),$e=g.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:$n,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,window.dispatchEvent(Z),ie(t,n),!1),setReplaceTerm:e=>({state:t,dispatch:n})=>(this.options.replaceTerm=e,ie(t,n),!1),setCaseSensitive:e=>({state:t,dispatch:n})=>(this.options.caseSensitive=e,ie(t,n),!1),replace:()=>({state:e,dispatch:t})=>{const{replaceTerm:n}=this.options,{currentIndex:i,results:a}=this.storage,r=a[i];return r?(Le(n,[r],{state:e,dispatch:t}),this.storage.results.splice(i,1)):(Le(n,a,{state:e,dispatch:t}),this.storage.results.shift()),window.dispatchEvent(Z),ie(e,t),!1},replaceAll:()=>({state:e,tr:t,dispatch:n})=>{const{replaceTerm:i}=this.options,{results:a}=this.storage;return Wn(i,a,{tr:t,dispatch:n}),this.storage.currentIndex=-1,this.storage.results=[],window.dispatchEvent(Z),ie(e,n),!1},goToPrevSearchResult:()=>({view:e,tr:t})=>{const{searchResultCurrentClass:n}=this.options,{currentIndex:i,results:a}=this.storage,r=(i+a.length-1)%a.length;return this.storage.currentIndex=r,window.dispatchEvent(Z),Ne({view:e,tr:t,searchResults:a,searchResultCurrentClass:n,gotoIndex:r})},goToNextSearchResult:()=>({view:e,tr:t})=>{const{searchResultCurrentClass:n}=this.options,{currentIndex:i,results:a}=this.storage,r=(i+1)%a.length;return this.storage.currentIndex=r,this.options.onChange&&this.options.onChange(),window.dispatchEvent(Z),Ne({view:e,tr:t,searchResults:a,searchResultCurrentClass:n,gotoIndex:r})}}},addProseMirrorPlugins(){const e=this;return[new w.Plugin({key:new w.PluginKey("search"),state:{init(){return w.DecorationSet.empty},apply(t){const{doc:n,docChanged:i}=t,{searchTerm:a,searchResultClass:r,searchResultCurrentClass:s,disableRegex:l,caseSensitive:d}=e.options;if(i||a){const{decorationsToReturn:h,results:u}=Kn(n,qn(a,l,d),r);if(e.storage.results=u,e.storage.currentIndex>u.length-1&&(e.storage.currentIndex=0),window.dispatchEvent(Z),t.getMeta("directDecoration")){const{fromPos:x,toPos:f,attrs:_}=t.getMeta("directDecoration");h.push(w.Decoration.inline(x,f,_))}else u.length>0&&(h[0]=w.Decoration.inline(u[0].from,u[0].to,{class:s}));return w.DecorationSet.create(n,h)}return w.DecorationSet.empty}},props:{decorations(t){return this.getState(t)}}})]}});function Zn(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:o.jsx("path",{d:"M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.628 0 12-5.373 12-12 0-6.628-5.372-12-12-12m9.949 11H17.05c.224-2.527 1.232-4.773 1.968-6.113A9.966 9.966 0 0 1 21.949 11M13 11V2.051a9.945 9.945 0 0 1 4.432 1.564c-.858 1.491-2.156 4.22-2.392 7.385H13zm-2 0H8.961c-.238-3.165-1.536-5.894-2.393-7.385A9.95 9.95 0 0 1 11 2.051V11zm0 2v8.949a9.937 9.937 0 0 1-4.432-1.564c.857-1.492 2.155-4.221 2.393-7.385H11zm4.04 0c.236 3.164 1.534 5.893 2.392 7.385A9.92 9.92 0 0 1 13 21.949V13h2.04zM4.982 4.887C5.718 6.227 6.726 8.473 6.951 11h-4.9a9.977 9.977 0 0 1 2.931-6.113M2.051 13h4.9c-.226 2.527-1.233 4.771-1.969 6.113A9.972 9.972 0 0 1 2.051 13m16.967 6.113c-.735-1.342-1.744-3.586-1.968-6.113h4.899a9.961 9.961 0 0 1-2.931 6.113",fill:"currentColor"})})}function Xn(){return o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:[o.jsx("path",{d:"M15.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 15.5 8M8.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 8.5 8",fill:"currentColor"}),o.jsx("path",{d:"M18.933 0h-.027c-.97 0-2.138.787-3.018 1.497-1.274-.374-2.612-.51-3.887-.51-1.285 0-2.616.133-3.874.517C7.245.79 6.069 0 5.093 0h-.027C3.352 0 .07 2.67.002 7.026c-.039 2.479.276 4.238 1.04 5.013.254.258.882.677 1.295.882.191 3.177.922 5.238 2.536 6.38.897.637 2.187.949 3.2 1.102C8.04 20.6 8 20.795 8 21c0 1.773 2.35 3 4 3 1.648 0 4-1.227 4-3 0-.201-.038-.393-.072-.586 2.573-.385 5.435-1.877 5.925-7.587.396-.22.887-.568 1.104-.788.763-.774 1.079-2.534 1.04-5.013C23.929 2.67 20.646 0 18.933 0M3.223 9.135c-.237.281-.837 1.155-.884 1.238-.15-.41-.368-1.349-.337-3.291.051-3.281 2.478-4.972 3.091-5.031.256.015.731.27 1.265.646-1.11 1.171-2.275 2.915-2.352 5.125-.133.546-.398.858-.783 1.313M12 22c-.901 0-1.954-.693-2-1 0-.654.475-1.236 1-1.602V20a1 1 0 1 0 2 0v-.602c.524.365 1 .947 1 1.602-.046.307-1.099 1-2 1m3-3.48v.02a4.752 4.752 0 0 0-1.262-1.02c1.092-.516 2.239-1.334 2.239-2.217 0-1.842-1.781-2.195-3.977-2.195-2.196 0-3.978.354-3.978 2.195 0 .883 1.148 1.701 2.238 2.217A4.8 4.8 0 0 0 9 18.539v-.025c-1-.076-2.182-.281-2.973-.842-1.301-.92-1.838-3.045-1.853-6.478l.023-.041c.496-.826 1.49-1.45 1.804-3.102 0-2.047 1.357-3.631 2.362-4.522C9.37 3.178 10.555 3 11.948 3c1.447 0 2.685.192 3.733.57 1 .9 2.316 2.465 2.316 4.48.313 1.651 1.307 2.275 1.803 3.102.035.058.068.117.102.178-.059 5.967-1.949 7.01-4.902 7.19m6.628-8.202c-.037-.065-.074-.13-.113-.195a7.587 7.587 0 0 0-.739-.987c-.385-.455-.648-.768-.782-1.313-.076-2.209-1.241-3.954-2.353-5.124.531-.376 1.004-.63 1.261-.647.636.071 3.044 1.764 3.096 5.031.027 1.81-.347 3.218-.37 3.235",fill:"currentColor"})]})}function Yn(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:o.jsx("path",{d:"M0 0l6.084 24H8L1.916 0zM21 5h-4l-1-4H4l3 12h3l1 4h13L21 5zM6.563 3h7.875l2 8H8.563l-2-8zm8.832 10l-2.856 1.904L12.063 13h3.332zM19 13l-1.5-6h1.938l2 8H16l3-2z",fill:"currentColor"})})}function Jn(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:o.jsx("path",{d:"M17 4.978c-1.838 0-2.876.396-3.68.934.513-1.172 1.768-2.934 4.68-2.934a1 1 0 0 0 0-2c-2.921 0-4.629 1.365-5.547 2.512-.064.078-.119.162-.18.244C11.73 1.838 10.798.023 9.207.023 8.579.022 7.85.306 7 .978 5.027 2.54 5.329 3.902 6.492 4.999 3.609 5.222 0 7.352 0 12.969c0 4.582 4.961 11.009 9 11.009 1.975 0 2.371-.486 3-1 .629.514 1.025 1 3 1 4.039 0 9-6.418 9-11 0-5.953-4.055-8-7-8M8.242 2.546c.641-.508.943-.523.965-.523.426.169.975 1.405 1.357 3.055-1.527-.629-2.741-1.352-2.98-1.846.059-.112.241-.356.658-.686M15 21.978c-1.08 0-1.21-.109-1.559-.402l-.176-.146c-.367-.302-.816-.452-1.266-.452s-.898.15-1.266.452l-.176.146c-.347.292-.477.402-1.557.402-2.813 0-7-5.389-7-9.009 0-5.823 4.488-5.991 5-5.991 1.939 0 2.484.471 3.387 1.251l.323.276a1.995 1.995 0 0 0 2.58 0l.323-.276c.902-.78 1.447-1.251 3.387-1.251.512 0 5 .168 5 6 0 3.617-4.187 9-7 9",fill:"currentColor"})})}function Qn(){return o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:[o.jsx("path",{d:"M12 0a9 9 0 0 0-5 16.482V21s2.035 3 5 3 5-3 5-3v-4.518A9 9 0 0 0 12 0zm0 2c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7zM9 17.477c.94.332 1.946.523 3 .523s2.06-.19 3-.523v.834c-.91.436-1.925.689-3 .689a6.924 6.924 0 0 1-3-.69v-.833zm.236 3.07A8.854 8.854 0 0 0 12 21c.965 0 1.888-.167 2.758-.451C14.155 21.173 13.153 22 12 22c-1.102 0-2.117-.789-2.764-1.453z",fill:"currentColor"}),o.jsx("path",{d:"M14.745 12.449h-.004c-.852-.024-1.188-.858-1.577-1.824-.421-1.061-.703-1.561-1.182-1.566h-.009c-.481 0-.783.497-1.235 1.537-.436.982-.801 1.811-1.636 1.791l-.276-.043c-.565-.171-.853-.691-1.284-1.794-.125-.313-.202-.632-.27-.913-.051-.213-.127-.53-.195-.634C7.067 9.004 7.039 9 6.99 9A1 1 0 0 1 7 7h.01c1.662.017 2.015 1.373 2.198 2.134.486-.981 1.304-2.058 2.797-2.075 1.531.018 2.28 1.153 2.731 2.141l.002-.008C14.944 8.424 15.327 7 16.979 7h.032A1 1 0 1 1 17 9h-.011c-.149.076-.256.474-.319.709a6.484 6.484 0 0 1-.311.951c-.429.973-.79 1.789-1.614 1.789",fill:"currentColor"})]})}function ei(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:o.jsx("path",{d:"M0 0h11v2H0zM4 11h3V6h4V4H0v2h4zM15.5 17c1.381 0 2.5-1.116 2.5-2.493s-1.119-2.493-2.5-2.493S13 13.13 13 14.507 14.119 17 15.5 17m0-2.986c.276 0 .5.222.5.493 0 .272-.224.493-.5.493s-.5-.221-.5-.493.224-.493.5-.493M21.5 19.014c-1.381 0-2.5 1.116-2.5 2.493S20.119 24 21.5 24s2.5-1.116 2.5-2.493-1.119-2.493-2.5-2.493m0 2.986a.497.497 0 0 1-.5-.493c0-.271.224-.493.5-.493s.5.222.5.493a.497.497 0 0 1-.5.493M22 13l-9 9 1.513 1.5 8.99-9.009zM17 11c2.209 0 4-1.119 4-2.5V2s.985-.161 1.498.949C23.01 4.055 23 6 23 6s1-1.119 1-3.135C24-.02 21 0 21 0h-2v6.347A5.853 5.853 0 0 0 17 6c-2.209 0-4 1.119-4 2.5s1.791 2.5 4 2.5M10.297 20.482l-1.475-1.585a47.54 47.54 0 0 1-1.442 1.129c-.307-.288-.989-1.016-2.045-2.183.902-.836 1.479-1.466 1.729-1.892s.376-.871.376-1.336c0-.592-.273-1.178-.818-1.759-.546-.581-1.329-.871-2.349-.871-1.008 0-1.79.293-2.344.879-.556.587-.832 1.181-.832 1.784 0 .813.419 1.748 1.256 2.805-.847.614-1.444 1.208-1.794 1.784a3.465 3.465 0 0 0-.523 1.833c0 .857.308 1.56.924 2.107.616.549 1.423.823 2.42.823 1.173 0 2.444-.379 3.813-1.137L8.235 24h2.819l-2.09-2.383 1.333-1.135zm-6.736-6.389a1.02 1.02 0 0 1 .73-.286c.31 0 .559.085.747.254a.849.849 0 0 1 .283.659c0 .518-.419 1.112-1.257 1.784-.536-.651-.805-1.231-.805-1.742a.901.901 0 0 1 .302-.669M3.74 22c-.427 0-.778-.116-1.057-.349-.279-.232-.418-.487-.418-.766 0-.594.509-1.288 1.527-2.083.968 1.134 1.717 1.946 2.248 2.438-.921.507-1.686.76-2.3.76",fill:"currentColor"})})}function ti(){return o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",children:[o.jsx("path",{d:"M6.5 12C5.122 12 4 13.121 4 14.5S5.122 17 6.5 17 9 15.879 9 14.5 7.878 12 6.5 12m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5M17.5 12c-1.378 0-2.5 1.121-2.5 2.5s1.122 2.5 2.5 2.5 2.5-1.121 2.5-2.5-1.122-2.5-2.5-2.5m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5",fill:"currentColor"}),o.jsx("path",{d:"M22.482 9.494l-1.039-.346L21.4 9h.6c.552 0 1-.439 1-.992 0-.006-.003-.008-.003-.008H23c0-1-.889-2-1.984-2h-.642l-.731-1.717C19.262 3.012 18.091 2 16.764 2H7.236C5.909 2 4.738 3.012 4.357 4.283L3.626 6h-.642C1.889 6 1 7 1 8h.003S1 8.002 1 8.008C1 8.561 1.448 9 2 9h.6l-.043.148-1.039.346a2.001 2.001 0 0 0-1.359 2.097l.751 7.508a1 1 0 0 0 .994.901H3v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h6v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h1.096a.999.999 0 0 0 .994-.901l.751-7.508a2.001 2.001 0 0 0-1.359-2.097M6.273 4.857C6.402 4.43 6.788 4 7.236 4h9.527c.448 0 .834.43.963.857L19.313 9H4.688l1.585-4.143zM7 21H5v-1h2v1zm12 0h-2v-1h2v1zm2.189-3H2.811l-.662-6.607L3 11h18l.852.393L21.189 18z",fill:"currentColor"})]})}function ni(e,t=null){if(typeof window>"u")throw new Error;const n=localStorage.getItem(e);if(!n)return t;try{return JSON.parse(n)}catch{return n}}function ii(e,t){window.localStorage.setItem(e,`${t}`)}class fe{constructor(t,n){F(this,"key");F(this,"value");F(this,"prev");F(this,"next");this.key=t,this.value=n,this.prev=null,this.next=null}}class oi{constructor(t){F(this,"capacity");F(this,"usedCapacity");F(this,"head");F(this,"tail");F(this,"store");this.capacity=t||20,this.usedCapacity=0,this.store={},this.head=new fe("fakeHeadNode","fakeHeadNode"),this.tail=new fe("fakeTailNode","fakeTailNode"),this.head.next=this.tail,this.tail.prev=this.head}removeNode(t){t.prev.next=t.next,t.next.prev=t.prev}addToHead(t){t.prev=this.head,t.next=this.head.next,this.head.next.prev=t,this.head.next=t}moveToHead(t){this.removeNode(t),this.addToHead(t)}removeTail(){const t=this.tail.prev;return this.removeNode(t),t}get(t){if(t in this.store){const n=this.store[t];return this.moveToHead(n),n.value}return-1}put(t,n){if(t in this.store){const i=this.store[t];i.value=n,this.moveToHead(i)}else{const i=new fe(t,n);if(this.addToHead(i),this.store[t]=i,this.usedCapacity+=1,this.usedCapacity>this.capacity){const a=this.removeTail();delete this.store[a.key],this.usedCapacity-=1}}}keys(){const t=[];let n=this.head;for(;n;)t.push(n.key),n=n.next;return t.slice(1,-1)}values(){const t=[];let n=this.head;for(;n;)t.push(n.value),n=n.next;return t.slice(1,-1)}toJSON(){return this.store}}function ai(e,t){const n=new oi(t);return{syncFromStorage(){(ni(e)||[]).slice().reverse().forEach(r=>{n.put(r,r)})},syncToStorage(){ii(e,Vn(n.keys()))},put(a){n.put(a,a),this.syncToStorage()},get(a){return a?n.get(a):n.keys()}}}const ri=["😀","😃","😄","😁","😆","😅","😂","🤣","🥲","😊","😇","🙂","🙃","😉","😌","😍","🥰","😘","😗","😙","😚","😋","😛","😝","😜","🤪","🤨","🧐","🤓","😎","🥸","🤩","🥳","😏","😒","😞","😔","😟","😕","🙁","😣","😖","😫","😩","🥺","😢","😭","😤","😠","😡","🤬","🤯","😳","🥵","🥶","😱","😨","😰","😥","😓","🤗","🤔","🤭","🤫","🤥","😶","😐","😑","😬","🙄","😯","😦","😧","😮","😲","🥱","😴","🤤","😪","😵","🤐","🥴","🤢","🤮","🤧","😷","🤒","🤕","🤑","🤠","😈","👿","👹","👺","🤡","💩","👻","💀","☠️","👽","👾","🤖","🎃","😺","😸","😹","😻","😼","😽","🙀","😿","😾","👋","🤚","🖐","✋","🖖","👌","🤌","🤏","✌️","🤞","🤟","🤘","🤙","👈","👉","👆","🖕","👇","☝️","👍","👎","✊","👊","🤛","🤜","👏","🙌","👐","🤲","🤝","🙏","✍️","💅","🤳","💪","🦾","🦵","🦿","🦶","👣","👂","🦻","👃","🫀","🫁","🧠","🦷","🦴","👀","👁","👅","👄","💋","🩸","💋","💌","💘","💝","💖","💗","💓","💞","💕","💟","❣️","❣","💔","❤️🔥","❤🔥","❤️🩹","❤🩹","❤️","❤","🧡","💛","💚","💙","💜","🤎","🖤","🤍","💯","💢","💥","💫","💦","💨","🕳️","🕳","💣","💬","👁️🗨️","👁🗨️","👁️🗨","👁🗨","🗨️","🗨","🗯️","🗯","💭","💤"],si=["🏧","🚮","🚰","♿","🚹","🚺","🚻","🚼","🚾","🛂","🛃","🛄","🛅","⚠️","⚠","🚸","⛔","🚫","🚳","🚭","🚯","🚱","🚷","📵","🔞","☢️","☢","☣️","☣","⬆️","⬆","↗️","↗","➡️","➡","↘️","↘","⬇️","⬇","↙️","↙","⬅️","⬅","↖️","↖","↕️","↕","↔️","↔","↩️","↩","↪️","↪","⤴️","⤴","⤵️","⤵","🔃","🔄","🔙","🔚","🔛","🔜","🔝","🛐","⚛️","⚛","🕉️","🕉","✡️","✡","☸️","☸","☯️","☯","✝️","✝","☦️","☦","☪️","☪","☮️","☮","🕎","🔯","♈","♉","♊","♋","♌","♍","♎","♏","♐","♑","♒","♓","⛎","🔀","🔁","🔂","▶️","▶","⏩","⏭️","⏭","⏯️","⏯","◀️","◀","⏪","⏮️","⏮","🔼","⏫","🔽","⏬","⏸️","⏸","⏹️","⏹","⏺️","⏺","⏏️","⏏","🎦","🔅","🔆","📶","📳","📴","♀️","♀","♂️","♂","⚧️","⚧","✖️","✖","➕","➖","➗","♾️","♾","‼️","‼","⁉️","⁉","❓","❔","❕","❗","〰️","〰","💱","💲","⚕️","⚕","♻️","♻","⚜️","⚜","🔱","📛","🔰","⭕","✅","☑️","☑","✔️","✔","❌","❎","➰","➿","〽️","〽","✳️","✳","✴️","✴","❇️","❇","©️","©","®️","®","™️","™","#️⃣","#⃣","*️⃣","*⃣","0️⃣","0⃣","1️⃣","1⃣","2️⃣","2⃣","3️⃣","3⃣","4️⃣","4⃣","5️⃣","5⃣","6️⃣","6⃣","7️⃣","7⃣","8️⃣","8⃣","9️⃣","9⃣","🔟","🔠","🔡","🔢","🔣","🔤","🅰️","🅰","🆎","🅱️","🅱","🆑","🆒","🆓","ℹ️","ℹ","🆔","Ⓜ️","Ⓜ","🆕","🆖","🅾️","🅾","🆗","🅿️","🅿","🆘","🆙","🆚","🈁","🈂️","🈂","🈷️","🈷","🈶","🈯","🉐","🈹","🈚","🈲","🉑","🈸","🈴","🈳","㊗️","㊗","㊙️","㊙","🈺","🈵","🔴","🟠","🟡","🟢","🔵","🟣","🟤","⚫","⚪","🟥","🟧","🟨","🟩","🟦","🟪","🟫","⬛","⬜","◼️","◼","◻️","◻","◾","◽","▪️","▪","▫️","▫","🔶","🔷","🔸","🔹","🔺","🔻","💠","🔘","🔳","🔲"],ci=["👓","🕶️","🕶","🥽","🥼","🦺","👔","👕","👖","🧣","🧤","🧥","🧦","👗","👘","🥻","🩱","🩲","🩳","👙","👚","👛","👜","👝","🛍️","🛍","🎒","🩴","👞","👟","🥾","🥿","👠","👡","🩰","👢","👑","👒","🎩","🎓","🧢","🪖","⛑️","⛑","📿","💄","💍","💎","🔇","🔈","🔉","🔊","📢","📣","📯","🔔","🔕","🎼","🎵","🎶","🎙️","🎙","🎚️","🎚","🎛️","🎛","🎤","🎧","📻","🎷","🪗","🎸","🎹","🎺","🎻","🪕","🥁","🪘","📱","📲","☎️","☎","📞","📟","📠","🔋","🔌","💻","🖥️","🖥","🖨️","🖨","⌨️","⌨","🖱️","🖱","🖲️","🖲","💽","💾","💿","📀","🧮","🎥","🎞️","🎞","📽️","📽","🎬","📺","📷","📸","📹","📼","🔍","🔎","🕯️","🕯","💡","🔦","🏮","🪔","📔","📕","📖","📗","📘","📙","📚","📓","📒","📃","📜","📄","📰","🗞️","🗞","📑","🔖","🏷️","🏷","💰","🪙","💴","💵","💶","💷","💸","💳","🧾","💹","✉️","✉","📧","📨","📩","📤","📥","📦","📫","📪","📬","📭","📮","🗳️","🗳","✏️","✏","✒️","✒","🖋️","🖋","🖊️","🖊","🖌️","🖌","🖍️","🖍","📝","💼","📁","📂","🗂️","🗂","📅","📆","🗒️","🗒","🗓️","🗓","📇","📈","📉","📊","📋","📌","📍","📎","🖇️","🖇","📏","📐","✂️","✂","🗃️","🗃","🗄️","🗄","🗑️","🗑","🔒","🔓","🔏","🔐","🔑","🗝️","🗝","🔨","🪓","⛏️","⛏","⚒️","⚒","🛠️","🛠","🗡️","🗡","⚔️","⚔","🔫","🪃","🏹","🛡️","🛡","🪚","🔧","🪛","🔩","⚙️","⚙","🗜️","🗜","⚖️","⚖","🦯","🔗","⛓️","⛓","🪝","🧰","🧲","🪜","⚗️","⚗","🧪","🧫","🧬","🔬","🔭","📡","💉","🩸","💊","🩹","🩺","🚪","🛗","🪞","🪟","🛏️","🛏","🛋️","🛋","🪑","🚽","🪠","🚿","🛁","🪤","🪒","🧴","🧷","🧹","🧺","🧻","🪣","🧼","🪥","🧽","🧯","🛒","🚬","⚰️","⚰","🪦","⚱️","⚱","🗿","🪧"],li=["🎃","🎄","🎆","🎇","🧨","✨","🎈","🎉","🎊","🎋","🎍","🎎","🎏","🎐","🎑","🧧","🎀","🎁","🎗️","🎗","🎟️","🎟","🎫","🎖️","🎖","🏆","🏅","🥇","🥈","🥉","⚽","⚾","🥎","🏀","🏐","🏈","🏉","🎾","🥏","🎳","🏏","🏑","🏒","🥍","🏓","🏸","🥊","🥋","🥅","⛳","⛸️","⛸","🎣","🤿","🎽","🎿","🛷","🥌","🎯","🪀","🪁","🎱","🔮","🪄","🧿","🎮","🕹️","🕹","🎰","🎲","🧩","🧸","🪅","🪆","♠️","♠","♥️","♥","♦️","♦","♣️","♣","♟️","♟","🃏","🀄","🎴","🎭","🖼️","🖼","🎨","🧵","🪡","🧶","🪢"],di=["🌍","🌎","🌏","🌐","🗺️","🗺","🗾","🧭","🏔️","🏔","⛰️","⛰","🌋","🗻","🏕️","🏕","🏖️","🏖","🏜️","🏜","🏝️","🏝","🏞️","🏞","🏟️","🏟","🏛️","🏛","🏗️","🏗","🧱","🪨","🪵","🛖","🏘️","🏘","🏚️","🏚","🏠","🏡","🏢","🏣","🏤","🏥","🏦","🏨","🏩","🏪","🏫","🏬","🏭","🏯","🏰","💒","🗼","🗽","⛪","🕌","🛕","🕍","⛩️","⛩","🕋","⛲","⛺","🌁","🌃","🏙️","🏙","🌄","🌅","🌆","🌇","🌉","♨️","♨","🎠","🎡","🎢","💈","🎪","🚂","🚃","🚄","🚅","🚆","🚇","🚈","🚉","🚊","🚝","🚞","🚋","🚌","🚍","🚎","🚐","🚑","🚒","🚓","🚔","🚕","🚖","🚗","🚘","🚙","🛻","🚚","🚛","🚜","🏎️","🏎","🏍️","🏍","🛵","🦽","🦼","🛺","🚲","🛴","🛹","🛼","🚏","🛣️","🛣","🛤️","🛤","🛢️","🛢","⛽","🚨","🚥","🚦","🛑","🚧","⚓","⛵","🛶","🚤","🛳️","🛳","⛴️","⛴","🛥️","🛥","🚢","✈️","✈","🛩️","🛩","🛫","🛬","🪂","💺","🚁","🚟","🚠","🚡","🛰️","🛰","🚀","🛸","🛎️","🛎","🧳","⌛","⏳","⌚","⏰","⏱️","⏱","⏲️","⏲","🕰️","🕰","🕛","🕧","🕐","🕜","🕑","🕝","🕒","🕞","🕓","🕟","🕔","🕠","🕕","🕡","🕖","🕢","🕗","🕣","🕘","🕤","🕙","🕥","🕚","🕦","🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘","🌙","🌚","🌛","🌜","🌡️","🌡","☀️","☀","🌝","🌞","🪐","⭐","🌟","🌠","🌌","☁️","☁","⛅","⛈️","⛈","🌤️","🌤","🌥️","🌥","🌦️","🌦","🌧️","🌧","🌨️","🌨","🌩️","🌩","🌪️","🌪","🌫️","🌫","🌬️","🌬","🌀","🌈","🌂","☂️","☂","☔","⛱️","⛱","⚡","❄️","❄","☃️","☃","⛄","☄️","☄","🔥","💧","🌊"],ui=["🏁","🚩","🎌","🏴","🏳️","🏳","🏳️🌈","🏳🌈","🏳️⚧️","🏳⚧️","🏳️⚧","🏳⚧","🏴☠️","🏴☠","🇦🇨","🇦🇩","🇦🇪","🇦🇫","🇦🇬","🇦🇮","🇦🇱","🇦🇲","🇦🇴","🇦🇶","🇦🇷","🇦🇸","🇦🇹","🇦🇺","🇦🇼","🇦🇽","🇦🇿","🇧🇦","🇧🇧","🇧🇩","🇧🇪","🇧🇫","🇧🇬","🇧🇭","🇧🇮","🇧🇯","🇧🇱","🇧🇲","🇧🇳","🇧🇴","🇧🇶","🇧🇷","🇧🇸","🇧🇹","🇧🇻","🇧🇼","🇧🇾","🇧🇿","🇨🇦","🇨🇨","🇨🇩","🇨🇫","🇨🇬","🇨🇭","🇨🇮","🇨🇰","🇨🇱","🇨🇲","🇨🇳","🇨🇴","🇨🇵","🇨🇷","🇨🇺","🇨🇻","🇨🇼","🇨🇽","🇨🇾","🇨🇿","🇩🇪","🇩🇬","🇩🇯","🇩🇰","🇩🇲","🇩🇴","🇩🇿","🇪🇦","🇪🇨","🇪🇪","🇪🇬","🇪🇭","🇪🇷","🇪🇸","🇪🇹","🇪🇺","🇫🇮","🇫🇯","🇫🇰","🇫🇲","🇫🇴","🇫🇷","🇬🇦","🇬🇧","🇬🇩","🇬🇪","🇬🇫","🇬🇬","🇬🇭","🇬🇮","🇬🇱","🇬🇲","🇬🇳","🇬🇵","🇬🇶","🇬🇷","🇬🇸","🇬🇹","🇬🇺","🇬🇼","🇬🇾","🇭🇰","🇭🇲","🇭🇳","🇭🇷","🇭🇹","🇭🇺","🇮🇨","🇮🇩","🇮🇪","🇮🇱","🇮🇲","🇮🇳","🇮🇴","🇮🇶","🇮🇷","🇮🇸","🇮🇹","🇯🇪","🇯🇲","🇯🇴","🇯🇵","🇰🇪","🇰🇬","🇰🇭","🇰🇮","🇰🇲","🇰🇳","🇰🇵","🇰🇷","🇰🇼","🇰🇾","🇰🇿","🇱🇦","🇱🇧","🇱🇨","🇱🇮","🇱🇰","🇱🇷","🇱🇸","🇱🇹","🇱🇺","🇱🇻","🇱🇾","🇲🇦","🇲🇨","🇲🇩","🇲🇪","🇲🇫","🇲🇬","🇲🇭","🇲🇰","🇲🇱","🇲🇲","🇲🇳","🇲🇴","🇲🇵","🇲🇶","🇲🇷","🇲🇸","🇲🇹","🇲🇺","🇲🇻","🇲🇼","🇲🇽","🇲🇾","🇲🇿","🇳🇦","🇳🇨","🇳🇪","🇳🇫","🇳🇬","🇳🇮","🇳🇱","🇳🇴","🇳🇵","🇳🇷","🇳🇺","🇳🇿","🇴🇲","🇵🇦","🇵🇪","🇵🇫","🇵🇬","🇵🇭","🇵🇰","🇵🇱","🇵🇲","🇵🇳","🇵🇷","🇵🇸","🇵🇹","🇵🇼","🇵🇾","🇶🇦","🇷🇪","🇷🇴","🇷🇸","🇷🇺","🇷🇼","🇸🇦","🇸🇧","🇸🇨","🇸🇩","🇸🇪","🇸🇬","🇸🇭","🇸🇮","🇸🇯","🇸🇰","🇸🇱","🇸🇲","🇸🇳","🇸🇴","🇸🇷","🇸🇸","🇸🇹","🇸🇻","🇸🇽","🇸🇾","🇸🇿","🇹🇦","🇹🇨","🇹🇩","🇹🇫","🇹🇬","🇹🇭","🇹🇯","🇹🇰","🇹🇱","🇹🇲","🇹🇳","🇹🇴","🇹🇷","🇹🇹","🇹🇻","🇹🇼","🇹🇿","🇺🇦","🇺🇬","🇺🇲","🇺🇳","🇺🇸","🇺🇾","🇺🇿","🇻🇦","🇻🇨","🇻🇪","🇻🇬","🇻🇮","🇻🇳","🇻🇺","🇼🇫","🇼🇸","🇽🇰","🇾🇪","🇾🇹","🇿🇦","🇿🇲","🇿🇼","🏴","🏴","🏴"],hi=["🐵","🐒","🦍","🦧","🐶","🐕","🦮","🐕🦺","🐩","🐺","🦊","🦝","🐱","🐈","🐈⬛","🦁","🐯","🐅","🐆","🐴","🐎","🦄","🦓","🦌","🦬","🐮","🐂","🐃","🐄","🐷","🐖","🐗","🐽","🐏","🐑","🐐","🐪","🐫","🦙","🦒","🐘","🦣","🦏","🦛","🐭","🐁","🐀","🐹","🐰","🐇","🐿️","🐿","🦫","🦔","🦇","🐻","🐻❄️","🐻❄","🐨","🐼","🦥","🦦","🦨","🦘","🦡","🐾","🦃","🐔","🐓","🐣","🐤","🐥","🐦","🐧","🕊️","🕊","🦅","🦆","🦢","🦉","🦤","🪶","🦩","🦚","🦜","🐸","🐊","🐢","🦎","🐍","🐲","🐉","🦕","🦖","🐳","🐋","🐬","🦭","🐟","🐠","🐡","🦈","🐙","🐚","🐌","🦋","🐛","🐜","🐝","🪲","🐞","🦗","🪳","🕷️","🕷","🕸️","🕸","🦂","🦟","🪰","🪱","🦠","💐","🌸","💮","🏵️","🏵","🌹","🥀","🌺","🌻","🌼","🌷","🌱","🪴","🌲","🌳","🌴","🌵","🌾","🌿","☘️","☘","🍀","🍁","🍂","🍃"],mi=["🍇","🍈","🍉","🍊","🍋","🍌","🍍","🥭","🍎","🍏","🍐","🍑","🍒","🍓","🫐","🥝","🍅","🫒","🥥","🥑","🍆","🥔","🥕","🌽","🌶️","🌶","🫑","🥒","🥬","🥦","🧄","🧅","🍄","🥜","🌰","🍞","🥐","🥖","🫓","🥨","🥯","🥞","🧇","🧀","🍖","🍗","🥩","🥓","🍔","🍟","🍕","🌭","🥪","🌮","🌯","🫔","🥙","🧆","🥚","🍳","🥘","🍲","🫕","🥣","🥗","🍿","🧈","🧂","🥫","🍱","🍘","🍙","🍚","🍛","🍜","🍝","🍠","🍢","🍣","🍤","🍥","🥮","🍡","🥟","🥠","🥡","🦀","🦞","🦐","🦑","🦪","🍦","🍧","🍨","🍩","🍪","🎂","🍰","🧁","🥧","🍫","🍬","🍭","🍮","🍯","🍼","🥛","☕","🫖","🍵","🍶","🍾","🍷","🍸","🍹","🍺","🍻","🥂","🥃","🥤","🧋","🧃","🧉","🧊","🥢","🍽️","🍽","🍴","🥄","🔪","🏺"],X=ai("EMOJI_PICKER",20),Me=[{title:"Smileys & People",data:ri,icon:D.Laugh},{title:"Animals & Nature",data:hi,icon:Xn},{title:"Food & Drink",data:mi,icon:Jn},{title:"Activity",data:li,icon:Zn},{title:"Travel & Places",data:di,icon:ti},{title:"Object",data:ci,icon:Qn},{title:"Symbol",data:si,icon:ei},{title:"Flags",data:ui,icon:Yn}],fi=["😀","😃","😄","😁","😆","😅","😂","🤣"];function gi({onSelectEmoji:e,children:t}){const[n,i]=m.useState([]),{t:a}=p.useLocale(),r=m.useMemo(()=>n.length>0?[{title:"Frequently used",icon:D.Clock3,data:n},...Me]:Me,[n]),s=m.useCallback(l=>{X.put(l),i(X.get()),e&&e(l)},[e]);return m.useEffect(()=>{X.syncFromStorage();const l=X.get();l!=null&&l.length||fi.forEach(h=>{X.put(h)});const d=X.get();i(d)},[]),o.jsxs(c.Popover,{modal:!0,children:[o.jsx(c.PopoverTrigger,{asChild:!0,children:t}),o.jsx(c.PopoverContent,{align:"start",className:"richtext-size-full richtext-p-2",hideWhenDetached:!0,side:"bottom",children:o.jsxs(ve,{defaultValue:"Frequently used",children:[o.jsx(de,{className:"richtext-flex richtext-items-center richtext-gap-[4px]",children:r.map(l=>o.jsx(Q,{className:"richtext-bg-accent !richtext-p-[6px] hover:richtext-text-accent-foreground",value:l.title,children:l.icon&&o.jsx(l.icon,{size:16})},`emoji-picker-title-${l.title}`))}),r.map(l=>o.jsxs(ee,{value:l.title,children:[o.jsx("p",{className:"richtext-mb-[6px] richtext-font-semibold",children:a(l.title)}),o.jsx("div",{className:"richtext-max-h-[280px] richtext-overflow-y-auto",children:o.jsx("div",{className:"richtext-grid richtext-grid-cols-8 richtext-gap-1 ",children:(l.data||[]).map(d=>o.jsx("div",{className:"richtext-cursor-pointer richtext-text-center",onClick:()=>s(d),children:d},`emoji-picker-${d}`))})})]},`emoji-picker-content-${l.title}`))]})})]})}function _i({editor:e,icon:t,...n}){const i=m.useCallback(a=>{const{selection:r}=e.state,{$anchor:s}=r;return e.chain().insertContentAt(s.pos,a).run()},[e]);return o.jsx(gi,{onSelectEmoji:i,children:o.jsx(c.ActionButton,{icon:t,tooltip:n==null?void 0:n.tooltip})})}const qe=m.forwardRef((e,t)=>{const n=m.useRef(null),[i,a]=m.useState(0),{t:r}=p.useLocale(),s=u=>{const x=e.items[u];x&&e.command(x)},l=()=>{a((i+e.items.length-1)%e.items.length)},d=()=>{a((i+1)%e.items.length)},h=()=>{s(i)};return m.useEffect(()=>a(0),[e.items]),m.useEffect(()=>{if(Number.isNaN(i+1))return;const u=n.current.querySelector(`span:nth-of-type(${i+1})`);u&&we(u,{behavior:"smooth",scrollMode:"if-needed"})},[i]),m.useImperativeHandle(t,()=>({onKeyDown:({event:u})=>u.key==="ArrowUp"?(l(),!0):u.key==="ArrowDown"?(d(),!0):u.key==="Enter"?(h(),!0):!1})),o.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:o.jsx("div",{ref:n,children:e.items.length>0?e.items.map((u,x)=>o.jsxs("span",{className:w.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",x===i?"bg-accent":""),onClick:()=>s(x),children:[u.fallbackImage?o.jsx("img",{className:"richtext-size-[1em]",src:u.fallbackImage}):u.emoji,":",u.name,":"]},`emoji-list-code-${x}`)):o.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:o.jsx("span",{children:r("no_result_found")})})})})});qe.displayName="EmojiList";const te={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(te).reduce((e,t)=>{const n=te[t];return e[n]=t,e},{});const xi=Object.keys(te).map(e=>e);Object.keys(te).map(e=>te[e]);function bi(e){return xi.filter(t=>t.startsWith(e)).map(t=>({name:t,emoji:te[t]}))}const pi=200,wi=new w.PluginKey("emoji"),yi=g.Node.create({name:"emoji",content:"text*",priority:pi,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{},suggestion:{char:":",pluginKey:wi,command:({editor:t,range:n,props:i})=>{t.chain().focus().insertContentAt(n,`${i.emoji} `).run()}},button:({editor:t,t:n})=>({component:_i,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[g.Suggestion({editor:this.editor,...this.options.suggestion})]}}).configure({suggestion:{items:({query:e})=>bi(e),render:()=>{let e,t,n;return{onStart:i=>{n=i.editor.isEditable,n&&(e=new g.ReactRenderer(qe,{props:i,editor:i.editor}),t=pe("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 a;if(n)return i.event.key==="Escape"?(t[0].hide(),!0):(a=e.ref)==null?void 0:a.onKeyDown(i)},onExit(){n&&(t[0].destroy(),e.destroy())}}}}});function vi(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>
|
|
@@ -12,4 +12,22 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
</body>
|
|
14
14
|
</html>
|
|
15
|
-
`;const n=t.contentWindow,i=t.contentDocument||t.contentWindow&&t.contentWindow.document,a=document.createElement("link");a.rel="stylesheet",a.href="https://cdn.jsdelivr.net/npm/reactjs-tiptap-editor@latest/lib/style.css",i.head.appendChild(a),i&&(i.open(),i.write(e),i.close()),n&&t.addEventListener("load",function(){try{setTimeout(()=>{n.focus();try{n.document.execCommand("print",!1)||n.print()}catch{n.print()}n.close()},10)}catch(r){console.error(r)}setTimeout(()=>{document.body.removeChild(t)},100)})}function ki(e){const t=e.getHTML();return t?(vi(t),!0):!1}const Ci=g.Extension.create({name:"exportPdf",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>{ki(t)},icon:"ExportPdf",tooltip:n("editor.exportPdf.tooltip"),isActive:()=>!1,disabled:!1}})}}});function ji(e,t){const n=atob(e.split(",")[1]),i=Array.from({length:n.length});for(let r=0;r<n.length;r++)i[r]=n.charCodeAt(r);const a=new Uint8Array(i);return new Blob([a],{type:t})}function Ai(e,t){return new File([e],t,{type:e.type})}function Ti(e){const{toast:t}=s.useToast(),{t:n}=p.useLocale(),[i,a]=m.useState(!1),r=m.useRef(null);function c(){var x;(x=r.current)==null||x.click()}function l(x){const f=x.target.files[0];if(f){if(f.size>e.limit){t({variant:"destructive",title:n("editor.importWord.limitSize")});return}h(f)}}async function d(x){var N;const _=new DOMParser().parseFromString(x,"text/html"),y=_.querySelectorAll("img");if(y.length===0)return _.body.innerHTML;if(s.hasExtension(e.editor,"image")){const E=(N=e.editor.extensionManager.extensions.find(C=>C.name==="importWord"))==null?void 0:N.options;if(E&&typeof E.upload=="function"){const C=[];for(const k of y){const A=k.getAttribute("src"),T=ji(A,"image/jpeg"),L=Ai(T,"image.jpeg");C.push(L)}const b=await E.upload(C);for(const[k,A]of y.entries()){A.setAttribute("src",b[k].src);const T=A.parentElement;(T==null?void 0:T.tagName)==="P"&&(T.insertAdjacentElement("beforebegin",A),!T.hasChildNodes()&&T.textContent===""&&T.remove())}return _.body.innerHTML}else return console.warn("Image Upload method found, skip image conversion"),_.body.innerHTML}else return console.error("Image extension not found, unable to convert image"),_.body.innerHTML}async function h(x){a(!0);try{if(e.convert){const f=await e.convert(x);u(f)}else{const f=await x.arrayBuffer(),{value:_}=await w.mammoth.convertToHtml({arrayBuffer:f},e==null?void 0:e.mammothOptions);u(_)}}finally{a(!1)}}async function u(x){const f=await d(x);e.editor.chain().setContent(f,!0).run()}return o.jsxs("div",{children:[o.jsx(s.ActionButton,{action:c,disabled:e==null?void 0:e.disabled,icon:e==null?void 0:e.icon,loading:i,tooltip:e==null?void 0:e.tooltip}),o.jsx("input",{accept:".docx",onChange:l,ref:r,type:"file",style:{display:"none"}})]})}const Si=g.Extension.create({name:"importWord",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),upload:void 0,convert:void 0,limit:1024*1024*10,button:({editor:t,extension:n,t:i})=>{const{convert:a,limit:r,mammothOptions:c}=n.options;return{component:Ti,componentProps:{editor:t,convert:a,limit:r,mammothOptions:c,action:()=>t.commands.setHorizontalRule(),disabled:!t.can().setHorizontalRule(),icon:"Word",shortcutKeys:["alt","mod","S"],tooltip:i("editor.importWord.tooltip")}}}}}}),Ni=typeof window<"u";function Li(e,t){if(Ni){const n=window.URL.createObjectURL(e),i=document.createElement("a");return i.href=n,i.download=t,i.click(),window.URL.revokeObjectURL(n),Promise.resolve()}return console.error("Download is not supported in Node.js"),Promise.resolve()}const Mi={...$.defaultNodes,hardBreak:$.defaultNodes.hard_break,codeBlock:$.defaultNodes.code_block,orderedList:$.defaultNodes.ordered_list,listItem:$.defaultNodes.list_item,bulletList:$.defaultNodes.bullet_list,horizontalRule:$.defaultNodes.horizontal_rule,image(e,t){e.renderInline(t),e.closeBlock(t)}},Ii=new $.DocxSerializer(Mi,$.defaultMarks),Ei=g.Extension.create({name:"exportWord",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{icon:"ExportWord",action:()=>{t==null||t.commands.exportToWord()},tooltip:n("editor.exportWord.tooltip"),isActive:()=>!1,disabled:!1}})}},addCommands(){return{exportToWord:()=>async({editor:e})=>{const t={getImageBuffer:async i=>{const r=await(await fetch(i)).arrayBuffer();return new Uint8Array(r)}},n=Ii.serialize(e.state.doc,t);return nt.Packer.toBlob(n).then(i=>Li(new Blob([i]),"export-document.docx")),!0}}}}),Di="_toc_aag8a_1",Ri="_visible_aag8a_7",Hi="_list_aag8a_11",zi="_item_aag8a_16",se={toc:Di,visible:Ri,list:Hi,item:zi};function Bi(e){const t=[],n=[t];return e.forEach(i=>{let a=-1,r=n[i.level+a];for(;!r;)a-=1,r=n[i.level+a];r.push({...i,children:n[i.level]=[]})}),t}function Pi({editor:e}){const t=s.useEditableEditor(),[n,i]=m.useState([]),{t:a}=p.useLocale(),r=m.useCallback(()=>{const c=[],l=e.state.tr;e.state.doc.descendants((d,h)=>{if(d.type.name==="heading"){const u=`heading-${c.length+1}`;d.attrs.id!==u&&l.setNodeMarkup(h,void 0,{...d.attrs,id:u}),c.push({level:d.attrs.level,text:d.textContent,id:u})}}),l.setMeta("addToHistory",!1),l.setMeta("preventUpdate",!0),e.view.dispatch(l),i(c),e.eventEmitter&&e.eventEmitter.emit("TableOfContents",Bi(c))},[e]);return m.useEffect(()=>{if(e){if(!e.options.editable){r();return}return e.on("update",r),()=>{e.off("update",r)}}},[e,r]),m.useEffect(()=>{r()},[]),o.jsx(g.NodeViewWrapper,{className:w.clsx("tableOfContent",se.toc,t&&se.visible),children:t?o.jsxs("div",{style:{position:"relative"},children:[o.jsx("p",{className:"text-[20px] richtext-mb-[8px] richtext-font-semibold",children:a("editor.table_of_content")}),o.jsx("ul",{className:se.list,children:n.map((c,l)=>o.jsx("li",{className:se.item,style:{paddingLeft:`${c.level-1}rem`},children:o.jsx("a",{href:`#${c.id}`,children:c.text})},`table-of-content-${l}`))})]}):null})}function Oi(e,...t){const[n,i]=m.useState(!1);return m.useEffect(()=>{const a=()=>{i(e.isActive.apply(e,t))};return e.on("selectionUpdate",a),e.on("transaction",a),()=>{e.off("selectionUpdate",a),e.off("transaction",a)}},[e,t,i]),n}function Fi({editor:e,icon:t,tooltip:n}){const i=Oi(e,Ke.name),a=m.useCallback(()=>{if(i){e.chain().focus().removeTableOfContents().run();return}e.chain().focus().setTableOfContents().run()},[e,i]);return o.jsx(s.ActionButton,{action:a,isActive:()=>i||!1,icon:t,tooltip:n})}function Ui(e){return e&&e.type.name==="title"}function $i(e,t){const i=[e.getJSON()],a=[];for(;i.length>0;){const r=i.shift();r.type===t&&a.push(r),r.content&&r.content.length>0&&i.push(...r.content)}return a}const Ke=g.Node.create({name:"tableOfContents",group:"block",atom:!0,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),onHasOneBeforeInsert:()=>{},resizable:!0,lastColumnResizable:!0,allowTableNodeSelection:!1,button:({editor:t,t:n})=>({component:Fi,componentProps:{disabled:!1,icon:"BookMarked",tooltip:n("editor.table.tooltip"),editor:t}})}},parseHTML(){return[{tag:"toc"}]},renderHTML({HTMLAttributes:e}){return["toc",g.mergeAttributes(e)]},addNodeView(){return g.ReactNodeViewRenderer(Pi)},addCommands(){return{setTableOfContents:()=>({commands:e,editor:t,view:n})=>{if($i(t,this.name).length>0){this.options.onHasOneBeforeInsert();return}const a=n.props.state.doc.content.firstChild;if(Ui(a)){const r=(a.firstChild&&a.firstChild.nodeSize||0)+1;return e.insertContentAt(r,{type:this.name})}return e.insertContent({type:this.name})},removeTableOfContents:()=>({state:e,dispatch:t})=>{const{tr:n}=e,i=e.schema.nodes.tableOfContents;return e.doc.descendants((a,r)=>{if(a.type===i){const c=r,l=r+a.nodeSize;n.delete(c,l)}}),n.docChanged?(t(n),!0):!1}}},addGlobalAttributes(){return[{types:["heading"],attributes:{id:{default:null}}}]}});function qi(e){var n;const t=m.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 o.jsxs(s.Popover,{modal:!0,children:[o.jsx(s.PopoverTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.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:o.jsx(s.IconComponent,{className:"richtext-ml-1 richtext-size-3 richtext-text-zinc-500",name:"MenuDown"})})}),o.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,a)=>{var r,c;return o.jsxs(s.Tooltip,{children:[o.jsx(s.TooltipTrigger,{asChild:!0,children:o.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)&&o.jsx(s.IconComponent,{name:i.icon})})}),o.jsxs(s.TooltipContent,{className:"richtext-flex richtext-flex-col richtext-items-center",children:[o.jsx("span",{children:i.title}),!!((r=i.shortcutKeys)!=null&&r.length)&&o.jsx("span",{children:(c=i.shortcutKeys)==null?void 0:c.map(l=>s.getShortcutKey(l)).join(" ")})]})]},`text-align-${a}`)})})]})}const Vi=g.Extension.create({name:"text-direction",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["heading","paragraph"],directions:["auto","ltr","rtl"],defaultDirection:"auto",button({editor:t,extension:n,t:i}){var d;const a=((d=n.options)==null?void 0:d.directions)||[],r={auto:"TextDirection",ltr:"LeftToRight",rtl:"RightToLeft"},c=a.map(h=>({title:i(`editor.textDirection.${h}.tooltip`),icon:r[h],isActive:()=>!1,action:()=>{var u,x,f,_;if(h==="auto"){(x=(u=t.commands)==null?void 0:u.unsetTextDirection)==null||x.call(u);return}(_=(f=t.commands)==null?void 0:f.setTextDirection)==null||_.call(f,h)},disabled:!1})),l=c.filter(h=>h.disabled).length===c.length;return{component:qi,componentProps:{icon:"TextDirection",tooltip:i("editor.textDirection.tooltip"),disabled:l,items:c}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{dir:{default:this.options.defaultDirection,parseHTML:e=>e.attributes.dir&&this.options.directions.includes(e.attributes.dir)?e.attributes.dir.value:this.options.defaultDirection,renderHTML:e=>({dir:e.dir})}}}]},addCommands(){return{setTextDirection:e=>({commands:t})=>this.options.directions.includes(e)?this.options.types.every(n=>t.updateAttributes(n,{dir:e})):!1,unsetTextDirection:()=>({commands:e})=>this.options.types.every(t=>e.resetAttributes(t,"dir"))}}}),Ki="_listUsers_en3pm_1",Gi="_itemUser_en3pm_10",Wi="_selectedUser_en3pm_31",ce={listUsers:Ki,itemUser:Gi,selectedUser:Wi},Zi=m.forwardRef((e,t)=>{const n=m.useRef(null),[i,a]=m.useState(0),r=h=>{const u=e.items[h];u&&e.command({id:u,label:u})},c=()=>{a((i+e.items.length-1)%e.items.length)},l=()=>{a((i+1)%e.items.length)},d=()=>{r(i)};return m.useEffect(()=>a(0),[e.items]),m.useEffect(()=>{if(Number.isNaN(i+1))return;const h=n.current.querySelector(`span:nth-of-type(${i+1})`);h&&we(h,{behavior:"smooth",scrollMode:"if-needed"})},[i]),m.useImperativeHandle(t,()=>({onKeyDown:({event:h})=>h.key==="ArrowUp"?(c(),!0):h.key==="ArrowDown"?(l(),!0):h.key==="Enter"?(d(),!0):!1})),o.jsx("div",{className:w.clsx("listUsers",ce.listUsers),children:o.jsx("div",{ref:n,children:e.items.length>0?e.items.map((h,u)=>o.jsx("span",{className:w.clsx("itemUser",ce.itemUser,u===i?ce.selectedUser:""),onClick:()=>r(u),children:h},u)):o.jsx("div",{className:w.clsx("itemUserEmpty",ce.itemUser),children:"Empty"})})})}),Xi=[{id:"1",name:"John Doe"},{id:"2",name:"Jane Doe"},{id:"3",name:"Alice"},{id:"4",name:"Bob"}],Yi={items:async({query:e})=>Xi.map(n=>n.name).filter(n=>n.toLowerCase().startsWith(e.toLowerCase())),render:()=>{let e,t;return{onStart:n=>{e=new g.ReactRenderer(Zi,{props:n,editor:n.editor}),t=pe("body",{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start"})},onUpdate(n){e.updateProps(n),t[0].setProps({getReferenceClientRect:n.clientRect})},onKeyDown(n){var i;return n.event.key==="Escape"?(t[0].hide(),!0):(i=e.ref)==null?void 0:i.onKeyDown(n)},onExit(){t[0].destroy(),e.destroy()}}}},Ji=g.Mention.extend({addAttributes(){return{id:{default:"",parseHTML:s.getDatasetAttribute("id")},label:{default:"",parseHTML:s.getDatasetAttribute("label")}}}}).configure({HTMLAttributes:{class:"mention"},suggestion:Yi}),Qi={audio:o.jsx(D.LucideAudioLines,{}),video:o.jsx(D.LucideVideo,{}),file:o.jsx(D.LucideFile,{}),image:o.jsx(D.LucideImage,{}),pdf:o.jsx(s.ExportPdf,{}),word:o.jsx(s.ExportWord,{}),excel:o.jsx(D.LucideSheet,{}),ppt:o.jsx(D.LucideTableProperties,{})};function Ge(e,t=!1){const n=s.normalizeFileType(e);return Qi[n]||o.jsx(o.Fragment,{})}const eo="_wrap_1x1ms_2",ge={wrap:eo};function to({editor:e,node:t,updateAttributes:n,deleteNode:i,extension:a}){var A;const r=m.useRef(null),c=s.useEditableEditor(),{hasTrigger:l,fileName:d,fileSize:h,fileExt:u,fileType:x,url:f,error:_}=t.attrs,[y,v]=m.useState(!1),{t:N}=p.useLocale(),E=(A=a==null?void 0:a.options)==null?void 0:A.upload,C=m.useCallback(()=>{!c||f||c&&r.current.click()},[c,f]),b=m.useCallback(async T=>{const L=T.target.files&&T.target.files[0];if(!L)return;const B={fileName:s.extractFilename(L.name),fileSize:L.size,fileType:L.type,fileExt:s.extractFileExtension(L.name)};v(!0);try{const j=await E(L);n({...B,url:j}),v(!1)}catch(j){n({error:`File upload fail: ${j&&j.message}`||"Unknown error"}),v(!1),r.current.value=""}},[v,n]);m.useEffect(()=>{!f&&!l&&(C(),n({hasTrigger:!0}))},[f,l,C,n]);const k=m.useCallback(()=>i(),[e]);return c&&!f?o.jsx(g.NodeViewWrapper,{children:o.jsxs("div",{className:w.clsx(ge.wrap,"render-wrapper"),children:[o.jsx("p",{onClick:C,style:{cursor:"pointer"},children:y?o.jsx("span",{children:N("editor.attachment.uploading")}):o.jsx("span",{children:N("editor.attachment.please_upload")})}),o.jsx("input",{hidden:!0,onChange:b,ref:r,type:"file"})]})}):f?o.jsx(g.NodeViewWrapper,{children:o.jsxs("div",{className:w.clsx(ge.wrap,"render-wrapper"),onClick:C,children:[o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[4px]",children:[o.jsx("span",{children:Ge(x)}),o.jsxs("span",{children:[d,".",u]}),o.jsxs("span",{children:["(",s.normalizeFileSize(h),")"]})]}),o.jsx(s.ActionButton,{action:k,icon:"Trash2",tooltip:N("editor.delete")})]})}):_!=="null"?o.jsx(g.NodeViewWrapper,{children:o.jsx("div",{className:w.clsx(ge.wrap,"render-wrapper"),onClick:C,children:o.jsx("p",{children:_})})}):o.jsx(o.Fragment,{})}const no=g.Node.create({name:"attachment",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"attachment"},button:({editor:t,t:n})=>({component:s.ActionButton,componentProps:{action:()=>t.chain().focus().setAttachment().run(),isActive:()=>!1,disabled:!1,icon:"Attachment",tooltip:n("editor.attachment.tooltip")}})}},parseHTML(){return[{tag:"div[class=attachment]"}]},renderHTML({HTMLAttributes:e}){const{url:t="",fileName:n="",fileSize:i="",fileType:a="",fileExt:r=""}=e||{};return["div",g.mergeAttributes(this.options.HTMLAttributes||{},e||{}),t?["a",{href:t||"#"},["span",{class:"attachment__icon"},Ge(a,!0)],["span",{class:"attachment__text"},`${n}.${r} (${s.normalizeFileSize(i)})`]]:["div",{class:"attachment__placeholder"}]]},addAttributes(){return{fileName:{default:null,parseHTML:s.getDatasetAttribute("filename")},fileSize:{default:null,parseHTML:s.getDatasetAttribute("filesize")},fileType:{default:null,parseHTML:s.getDatasetAttribute("filetype")},fileExt:{default:null,parseHTML:s.getDatasetAttribute("fileext")},url:{default:null,parseHTML:s.getDatasetAttribute("url")},hasTrigger:{default:!1,parseHTML:e=>s.getDatasetAttribute("hastrigger")(e)==="true"},error:{default:null,parseHTML:s.getDatasetAttribute("error")}}},addCommands(){return{setAttachment:(e={})=>({chain:t})=>t().insertContent({type:this.name,attrs:e}).run()}},addNodeView(){return g.ReactNodeViewRenderer(to)}});exports.Column=s.Column;exports.Excalidraw=s.Excalidraw;exports.Iframe=s.Iframe;exports.ImageGif=s.ImageGif;exports.Katex=s.Katex;exports.Mermaid=s.Mermaid;exports.MultiColumn=s.MultiColumn;exports.Twitter=s.Twitter;exports.Attachment=no;exports.BaseKit=nn;exports.Blockquote=$t;exports.Bold=it;exports.BulletList=Pt;exports.Clear=Ot;exports.Code=st;exports.CodeBlock=Be;exports.Color=zt;exports.ColumnActionButton=Yt;exports.Emoji=yi;exports.ExportPdf=Ci;exports.ExportWord=Ei;exports.FontFamily=St;exports.FontSize=Dt;exports.FormatPainter=Un;exports.Heading=Lt;exports.Highlight=Bt;exports.History=Zt;exports.HorizontalRule=Kt;exports.Image=Ue;exports.ImportWord=Si;exports.Indent=sn;exports.Italic=ot;exports.LineHeight=mn;exports.Link=Vt;exports.Mention=Ji;exports.MoreMark=rn;exports.OrderedList=Ft;exports.SearchAndReplace=qe;exports.SlashCommand=pn;exports.Strike=rt;exports.SubAndSuperScript=on;exports.Table=Fn;exports.TableOfContents=Ke;exports.TaskList=Ut;exports.TextAlign=It;exports.TextDirection=Vi;exports.Underline=at;exports.Video=$e;
|
|
15
|
+
`;const n=t.contentWindow,i=t.contentDocument||t.contentWindow&&t.contentWindow.document,a=document.createElement("link");a.rel="stylesheet",a.href="https://cdn.jsdelivr.net/npm/reactjs-tiptap-editor@latest/lib/style.css",i.head.appendChild(a),i&&(i.open(),i.write(e),i.close()),n&&t.addEventListener("load",function(){try{setTimeout(()=>{n.focus();try{n.document.execCommand("print",!1)||n.print()}catch{n.print()}n.close()},10)}catch(r){console.error(r)}setTimeout(()=>{document.body.removeChild(t)},100)})}function ki(e){const t=e.getHTML();return t?(vi(t),!0):!1}const Ci=g.Extension.create({name:"exportPdf",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:c.ActionButton,componentProps:{action:()=>{ki(t)},icon:"ExportPdf",tooltip:n("editor.exportPdf.tooltip"),isActive:()=>!1,disabled:!1}})}}});function ji(e,t){const n=atob(e.split(",")[1]),i=Array.from({length:n.length});for(let r=0;r<n.length;r++)i[r]=n.charCodeAt(r);const a=new Uint8Array(i);return new Blob([a],{type:t})}function Ai(e,t){return new File([e],t,{type:e.type})}function Ti(e){const{toast:t}=c.useToast(),{t:n}=p.useLocale(),[i,a]=m.useState(!1),r=m.useRef(null);function s(){var x;(x=r.current)==null||x.click()}function l(x){const f=x.target.files[0];if(f){if(f.size>e.limit){t({variant:"destructive",title:n("editor.importWord.limitSize")});return}h(f)}}async function d(x){var L;const _=new DOMParser().parseFromString(x,"text/html"),y=_.querySelectorAll("img");if(y.length===0)return _.body.innerHTML;if(c.hasExtension(e.editor,"image")){const I=(L=e.editor.extensionManager.extensions.find(C=>C.name==="importWord"))==null?void 0:L.options;if(I&&typeof I.upload=="function"){const C=[];for(const k of y){const A=k.getAttribute("src"),T=ji(A,"image/jpeg"),N=Ai(T,"image.jpeg");C.push(N)}const b=await I.upload(C);for(const[k,A]of y.entries()){A.setAttribute("src",b[k].src);const T=A.parentElement;(T==null?void 0:T.tagName)==="P"&&(T.insertAdjacentElement("beforebegin",A),!T.hasChildNodes()&&T.textContent===""&&T.remove())}return _.body.innerHTML}else return console.warn("Image Upload method found, skip image conversion"),_.body.innerHTML}else return console.error("Image extension not found, unable to convert image"),_.body.innerHTML}async function h(x){a(!0);try{if(e.convert){const f=await e.convert(x);u(f)}else{const f=await x.arrayBuffer(),{value:_}=await w.mammoth.convertToHtml({arrayBuffer:f},e==null?void 0:e.mammothOptions);u(_)}}finally{a(!1)}}async function u(x){const f=await d(x);e.editor.chain().setContent(f,!0).run()}return o.jsxs("div",{children:[o.jsx(c.ActionButton,{action:s,disabled:e==null?void 0:e.disabled,icon:e==null?void 0:e.icon,loading:i,tooltip:e==null?void 0:e.tooltip}),o.jsx("input",{accept:".docx",onChange:l,ref:r,type:"file",style:{display:"none"}})]})}const Si=g.Extension.create({name:"importWord",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),upload:void 0,convert:void 0,limit:1024*1024*10,button:({editor:t,extension:n,t:i})=>{const{convert:a,limit:r,mammothOptions:s}=n.options;return{component:Ti,componentProps:{editor:t,convert:a,limit:r,mammothOptions:s,action:()=>t.commands.setHorizontalRule(),disabled:!t.can().setHorizontalRule(),icon:"Word",shortcutKeys:["alt","mod","S"],tooltip:i("editor.importWord.tooltip")}}}}}}),Li=typeof window<"u";function Ni(e,t){if(Li){const n=window.URL.createObjectURL(e),i=document.createElement("a");return i.href=n,i.download=t,i.click(),window.URL.revokeObjectURL(n),Promise.resolve()}return console.error("Download is not supported in Node.js"),Promise.resolve()}const Mi={...V.defaultNodes,hardBreak:V.defaultNodes.hard_break,codeBlock:V.defaultNodes.code_block,orderedList:V.defaultNodes.ordered_list,listItem:V.defaultNodes.list_item,bulletList:V.defaultNodes.bullet_list,horizontalRule:V.defaultNodes.horizontal_rule,image(e,t){e.renderInline(t),e.closeBlock(t)}},Ei=new V.DocxSerializer(Mi,V.defaultMarks),Ii=g.Extension.create({name:"exportWord",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:c.ActionButton,componentProps:{icon:"ExportWord",action:()=>{t==null||t.commands.exportToWord()},tooltip:n("editor.exportWord.tooltip"),isActive:()=>!1,disabled:!1}})}},addCommands(){return{exportToWord:()=>async({editor:e})=>{const t={getImageBuffer:async i=>{const r=await(await fetch(i)).arrayBuffer();return new Uint8Array(r)}},n=Ei.serialize(e.state.doc,t);return nt.Packer.toBlob(n).then(i=>Ni(new Blob([i]),"export-document.docx")),!0}}}}),Di="_toc_aag8a_1",Hi="_visible_aag8a_7",Ri="_list_aag8a_11",zi="_item_aag8a_16",se={toc:Di,visible:Hi,list:Ri,item:zi};function Bi(e){const t=[],n=[t];return e.forEach(i=>{let a=-1,r=n[i.level+a];for(;!r;)a-=1,r=n[i.level+a];r.push({...i,children:n[i.level]=[]})}),t}function Pi({editor:e}){const t=c.useEditableEditor(),[n,i]=m.useState([]),{t:a}=p.useLocale(),r=m.useCallback(()=>{const s=[],l=e.state.tr;e.state.doc.descendants((d,h)=>{if(d.type.name==="heading"){const u=`heading-${s.length+1}`;d.attrs.id!==u&&l.setNodeMarkup(h,void 0,{...d.attrs,id:u}),s.push({level:d.attrs.level,text:d.textContent,id:u})}}),l.setMeta("addToHistory",!1),l.setMeta("preventUpdate",!0),e.view.dispatch(l),i(s),e.eventEmitter&&e.eventEmitter.emit("TableOfContents",Bi(s))},[e]);return m.useEffect(()=>{if(e){if(!e.options.editable){r();return}return e.on("update",r),()=>{e.off("update",r)}}},[e,r]),m.useEffect(()=>{r()},[]),o.jsx(g.NodeViewWrapper,{className:w.clsx("tableOfContent",se.toc,t&&se.visible),children:t?o.jsxs("div",{style:{position:"relative"},children:[o.jsx("p",{className:"text-[20px] richtext-mb-[8px] richtext-font-semibold",children:a("editor.table_of_content")}),o.jsx("ul",{className:se.list,children:n.map((s,l)=>o.jsx("li",{className:se.item,style:{paddingLeft:`${s.level-1}rem`},children:o.jsx("a",{href:`#${s.id}`,children:s.text})},`table-of-content-${l}`))})]}):null})}function Oi(e,...t){const[n,i]=m.useState(!1);return m.useEffect(()=>{const a=()=>{i(e.isActive.apply(e,t))};return e.on("selectionUpdate",a),e.on("transaction",a),()=>{e.off("selectionUpdate",a),e.off("transaction",a)}},[e,t,i]),n}function Fi({editor:e,icon:t,tooltip:n}){const i=Oi(e,Ke.name),a=m.useCallback(()=>{if(i){e.chain().focus().removeTableOfContents().run();return}e.chain().focus().setTableOfContents().run()},[e,i]);return o.jsx(c.ActionButton,{action:a,isActive:()=>i||!1,icon:t,tooltip:n})}function Ui(e){return e&&e.type.name==="title"}function Vi(e,t){const i=[e.getJSON()],a=[];for(;i.length>0;){const r=i.shift();r.type===t&&a.push(r),r.content&&r.content.length>0&&i.push(...r.content)}return a}const Ke=g.Node.create({name:"tableOfContents",group:"block",atom:!0,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),onHasOneBeforeInsert:()=>{},resizable:!0,lastColumnResizable:!0,allowTableNodeSelection:!1,button:({editor:t,t:n})=>({component:Fi,componentProps:{disabled:!1,icon:"BookMarked",tooltip:n("editor.table.tooltip"),editor:t}})}},parseHTML(){return[{tag:"toc"}]},renderHTML({HTMLAttributes:e}){return["toc",g.mergeAttributes(e)]},addNodeView(){return g.ReactNodeViewRenderer(Pi)},addCommands(){return{setTableOfContents:()=>({commands:e,editor:t,view:n})=>{if(Vi(t,this.name).length>0){this.options.onHasOneBeforeInsert();return}const a=n.props.state.doc.content.firstChild;if(Ui(a)){const r=(a.firstChild&&a.firstChild.nodeSize||0)+1;return e.insertContentAt(r,{type:this.name})}return e.insertContent({type:this.name})},removeTableOfContents:()=>({state:e,dispatch:t})=>{const{tr:n}=e,i=e.schema.nodes.tableOfContents;return e.doc.descendants((a,r)=>{if(a.type===i){const s=r,l=r+a.nodeSize;n.delete(s,l)}}),n.docChanged?(t(n),!0):!1}}},addGlobalAttributes(){return[{types:["heading"],attributes:{id:{default:null}}}]}});function $i(e){var n;const t=m.useMemo(()=>{var r;const i=(r=e==null?void 0:e.items)==null?void 0:r.find(s=>s.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 o.jsxs(c.Popover,{modal:!0,children:[o.jsx(c.PopoverTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:o.jsx(c.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:o.jsx(c.IconComponent,{className:"richtext-ml-1 richtext-size-3 richtext-text-zinc-500",name:"MenuDown"})})}),o.jsx(c.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,a)=>{var r,s;return o.jsxs(c.Tooltip,{children:[o.jsx(c.TooltipTrigger,{asChild:!0,children:o.jsx(c.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)&&o.jsx(c.IconComponent,{name:i.icon})})}),o.jsxs(c.TooltipContent,{className:"richtext-flex richtext-flex-col richtext-items-center",children:[o.jsx("span",{children:i.title}),!!((r=i.shortcutKeys)!=null&&r.length)&&o.jsx("span",{children:(s=i.shortcutKeys)==null?void 0:s.map(l=>c.getShortcutKey(l)).join(" ")})]})]},`text-align-${a}`)})})]})}const qi=g.Extension.create({name:"text-direction",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["heading","paragraph"],directions:["auto","ltr","rtl"],defaultDirection:"auto",button({editor:t,extension:n,t:i}){var d;const a=((d=n.options)==null?void 0:d.directions)||[],r={auto:"TextDirection",ltr:"LeftToRight",rtl:"RightToLeft"},s=a.map(h=>({title:i(`editor.textDirection.${h}.tooltip`),icon:r[h],isActive:()=>!1,action:()=>{var u,x,f,_;if(h==="auto"){(x=(u=t.commands)==null?void 0:u.unsetTextDirection)==null||x.call(u);return}(_=(f=t.commands)==null?void 0:f.setTextDirection)==null||_.call(f,h)},disabled:!1})),l=s.filter(h=>h.disabled).length===s.length;return{component:$i,componentProps:{icon:"TextDirection",tooltip:i("editor.textDirection.tooltip"),disabled:l,items:s}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{dir:{default:this.options.defaultDirection,parseHTML:e=>e.attributes.dir&&this.options.directions.includes(e.attributes.dir)?e.attributes.dir.value:this.options.defaultDirection,renderHTML:e=>({dir:e.dir})}}}]},addCommands(){return{setTextDirection:e=>({commands:t})=>this.options.directions.includes(e)?this.options.types.every(n=>t.updateAttributes(n,{dir:e})):!1,unsetTextDirection:()=>({commands:e})=>this.options.types.every(t=>e.resetAttributes(t,"dir"))}}}),Ki="_listUsers_en3pm_1",Gi="_itemUser_en3pm_10",Wi="_selectedUser_en3pm_31",ce={listUsers:Ki,itemUser:Gi,selectedUser:Wi},Zi=m.forwardRef((e,t)=>{const n=m.useRef(null),[i,a]=m.useState(0),r=h=>{const u=e.items[h];u&&e.command({id:u,label:u})},s=()=>{a((i+e.items.length-1)%e.items.length)},l=()=>{a((i+1)%e.items.length)},d=()=>{r(i)};return m.useEffect(()=>a(0),[e.items]),m.useEffect(()=>{if(Number.isNaN(i+1))return;const h=n.current.querySelector(`span:nth-of-type(${i+1})`);h&&we(h,{behavior:"smooth",scrollMode:"if-needed"})},[i]),m.useImperativeHandle(t,()=>({onKeyDown:({event:h})=>h.key==="ArrowUp"?(s(),!0):h.key==="ArrowDown"?(l(),!0):h.key==="Enter"?(d(),!0):!1})),o.jsx("div",{className:w.clsx("listUsers",ce.listUsers),children:o.jsx("div",{ref:n,children:e.items.length>0?e.items.map((h,u)=>o.jsx("span",{className:w.clsx("itemUser",ce.itemUser,u===i?ce.selectedUser:""),onClick:()=>r(u),children:h},u)):o.jsx("div",{className:w.clsx("itemUserEmpty",ce.itemUser),children:"Empty"})})})}),Xi=[{id:"1",name:"John Doe"},{id:"2",name:"Jane Doe"},{id:"3",name:"Alice"},{id:"4",name:"Bob"}],Yi={items:async({query:e})=>Xi.map(n=>n.name).filter(n=>n.toLowerCase().startsWith(e.toLowerCase())),render:()=>{let e,t;return{onStart:n=>{e=new g.ReactRenderer(Zi,{props:n,editor:n.editor}),t=pe("body",{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start"})},onUpdate(n){e.updateProps(n),t[0].setProps({getReferenceClientRect:n.clientRect})},onKeyDown(n){var i;return n.event.key==="Escape"?(t[0].hide(),!0):(i=e.ref)==null?void 0:i.onKeyDown(n)},onExit(){t[0].destroy(),e.destroy()}}}},Ji=g.Mention.extend({addAttributes(){return{id:{default:"",parseHTML:c.getDatasetAttribute("id")},label:{default:"",parseHTML:c.getDatasetAttribute("label")}}}}).configure({HTMLAttributes:{class:"mention"},suggestion:Yi}),Qi={audio:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-audio-lines"><path d="M2 10v3"/><path d="M6 6v11"/><path d="M10 3v18"/><path d="M14 8v7"/><path d="M18 5v13"/><path d="M22 10v3"/></svg>',video:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-video"><path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"/><rect x="2" y="6" width="14" height="12" rx="2"/></svg>',file:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/></svg>',image:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',pdf:`<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32">
|
|
16
|
+
<path fill="currentColor" d="M30 18v-2h-6v10h2v-4h3v-2h-3v-2zm-11 8h-4V16h4a3.003 3.003 0 0 1 3 3v4a3.003 3.003 0 0 1-3 3m-2-2h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-2zm-6-8H6v10h2v-3h3a2.003 2.003 0 0 0 2-2v-3a2 2 0 0 0-2-2m-3 5v-3h3l.001 3z"></path>
|
|
17
|
+
<path fill="currentColor" d="M22 14v-4a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 14 2H4a2.006 2.006 0 0 0-2 2v24a2 2 0 0 0 2 2h16v-2H4V4h8v6a2.006 2.006 0 0 0 2 2h6v2Zm-8-4V4.4l5.6 5.6Z"></path>
|
|
18
|
+
</svg>`,word:`<svg
|
|
19
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
20
|
+
width="1em"
|
|
21
|
+
height="1em"
|
|
22
|
+
className="icon"
|
|
23
|
+
viewBox="0 0 1024 1024"
|
|
24
|
+
>
|
|
25
|
+
<path
|
|
26
|
+
fill="currentColor"
|
|
27
|
+
d="M679.253 402.364 618.77 561.015l-60.348-158.651a30.04 30.04 0 0 0-30.447-18.637 29.76 29.76 0 0 0-30.447 18.637l-60.416 158.651-60.416-158.651a30.515 30.515 0 0 0-38.843-17.272 28.945 28.945 0 0 0-17.954 37.547l88.815 233.267c4.369 11.469 15.7 19.115 28.398 19.115a30.31 30.31 0 0 0 28.468-19.115l62.395-163.908 62.396 163.84c4.437 11.605 15.701 19.183 28.4 19.183a30.31 30.31 0 0 0 28.466-19.115l88.747-233.267a28.945 28.945 0 0 0-17.886-37.547 30.447 30.447 0 0 0-38.912 17.272zm219.478 395.605-51.883-29.218c-28.672-16.18-52.224-3.072-52.224 29.082v.273H643.209a29.833 29.833 0 0 0-30.31 29.354c0 16.18 13.584 29.218 30.31 29.218h151.825c1.092 30.516 24.03 43.077 52.224 27.648l51.063-27.989c29.013-15.906 29.15-42.189.41-58.368"
|
|
28
|
+
/>
|
|
29
|
+
<path
|
|
30
|
+
fill="currentColor"
|
|
31
|
+
d="m810.667 913.135-.478.068H201.796c-19.865 0-36.727-11.673-36.727-25.6v-618.36h154.965c51.268 0 92.911-39.39 92.911-87.858v-87.86H810.19c19.797 0 36.522 11.742 36.522 25.669V739.26h61.987V119.262c0-46.421-44.169-84.241-98.51-84.241H328.364l-225.28 194.56v658.09c0 46.285 44.236 84.105 98.713 84.105H810.19c43.759 0 80.554-24.713 93.32-58.573h-92.842zM350.89 94.89v86.562c0 16.11-13.858 29.286-30.925 29.286H216.815L350.959 94.891z"
|
|
32
|
+
/>
|
|
33
|
+
</svg>`,excel:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sheet"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><line x1="3" x2="21" y1="9" y2="9"/><line x1="3" x2="21" y1="15" y2="15"/><line x1="9" x2="9" y1="9" y2="21"/><line x1="15" x2="15" y1="9" y2="21"/></svg>',ppt:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-table-properties"><path d="M15 3v18"/><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M21 9H3"/><path d="M21 15H3"/></svg>'};function eo(e){const t=Qi[e],a=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,r=["svg",{...Array.from(a.attributes).reduce((s,l)=>(s[l.name]=l.value,s),{})}];return Array.from(a.childNodes).forEach(s=>{if(s.nodeType===1){const l=[s.tagName.toLowerCase(),Array.from(s.attributes).reduce((d,h)=>(d[h.name]=h.value,d),{})];s.textContent&&l.push(s.textContent),r.push(l)}}),r}const to={audio:o.jsx(D.LucideAudioLines,{}),video:o.jsx(D.LucideVideo,{}),file:o.jsx(D.LucideFile,{}),image:o.jsx(D.LucideImage,{}),pdf:o.jsx(c.ExportPdf,{}),word:o.jsx(c.ExportWord,{}),excel:o.jsx(D.LucideSheet,{}),ppt:o.jsx(D.LucideTableProperties,{})};function Ge(e,t=!1){const n=c.normalizeFileType(e),i=to[n]||o.jsx(o.Fragment,{});return t?eo(n):i}const no="_wrap_1x1ms_2",ge={wrap:no};function io({editor:e,node:t,updateAttributes:n,deleteNode:i,extension:a}){var A;const r=m.useRef(null),s=c.useEditableEditor(),{hasTrigger:l,fileName:d,fileSize:h,fileExt:u,fileType:x,url:f,error:_}=t.attrs,[y,v]=m.useState(!1),{t:L}=p.useLocale(),I=(A=a==null?void 0:a.options)==null?void 0:A.upload,C=m.useCallback(()=>{!s||f||s&&r.current.click()},[s,f]),b=m.useCallback(async T=>{const N=T.target.files&&T.target.files[0];if(!N)return;const B={fileName:c.extractFilename(N.name),fileSize:N.size,fileType:N.type,fileExt:c.extractFileExtension(N.name)};v(!0);try{const j=await I(N);n({...B,url:j}),v(!1)}catch(j){n({error:`File upload fail: ${j&&j.message}`||"Unknown error"}),v(!1),r.current.value=""}},[v,n]);m.useEffect(()=>{!f&&!l&&(C(),n({hasTrigger:!0}))},[f,l,C,n]);const k=m.useCallback(()=>i(),[e]);return s&&!f?o.jsx(g.NodeViewWrapper,{children:o.jsxs("div",{className:w.clsx(ge.wrap,"render-wrapper"),children:[o.jsx("p",{onClick:C,style:{cursor:"pointer"},children:y?o.jsx("span",{children:L("editor.attachment.uploading")}):o.jsx("span",{children:L("editor.attachment.please_upload")})}),o.jsx("input",{hidden:!0,onChange:b,ref:r,type:"file"})]})}):f?o.jsx(g.NodeViewWrapper,{children:o.jsxs("div",{className:w.clsx(ge.wrap,"render-wrapper"),onClick:C,children:[o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[4px]",children:[o.jsx("span",{children:Ge(x)}),o.jsxs("span",{children:[d,".",u]}),o.jsxs("span",{children:["(",c.normalizeFileSize(h),")"]})]}),o.jsx(c.ActionButton,{action:k,icon:"Trash2",tooltip:L("editor.delete")})]})}):_!=="null"?o.jsx(g.NodeViewWrapper,{children:o.jsx("div",{className:w.clsx(ge.wrap,"render-wrapper"),onClick:C,children:o.jsx("p",{children:_})})}):o.jsx(o.Fragment,{})}const oo=g.Node.create({name:"attachment",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"attachment"},button:({editor:t,t:n})=>({component:c.ActionButton,componentProps:{action:()=>t.chain().focus().setAttachment().run(),isActive:()=>!1,disabled:!1,icon:"Attachment",tooltip:n("editor.attachment.tooltip")}})}},parseHTML(){return[{tag:"div[class=attachment]"}]},renderHTML({HTMLAttributes:e}){const{url:t="",fileName:n="",fileSize:i="",fileType:a="",fileExt:r=""}=e||{};return["div",g.mergeAttributes(this.options.HTMLAttributes||{},e||{}),t?["a",{href:t||"#"},["span",{class:"attachment__icon"},Ge(a,!0)],["span",{class:"attachment__text"},`${n}.${r} (${c.normalizeFileSize(i)})`]]:["div",{class:"attachment__placeholder"}]]},addAttributes(){return{fileName:{default:null,parseHTML:c.getDatasetAttribute("filename")},fileSize:{default:null,parseHTML:c.getDatasetAttribute("filesize")},fileType:{default:null,parseHTML:c.getDatasetAttribute("filetype")},fileExt:{default:null,parseHTML:c.getDatasetAttribute("fileext")},url:{default:null,parseHTML:c.getDatasetAttribute("url")},hasTrigger:{default:!1,parseHTML:e=>c.getDatasetAttribute("hastrigger")(e)==="true"},error:{default:null,parseHTML:c.getDatasetAttribute("error")}}},addCommands(){return{setAttachment:(e={})=>({chain:t})=>t().insertContent({type:this.name,attrs:e}).run()}},addNodeView(){return g.ReactNodeViewRenderer(io)}});exports.Column=c.Column;exports.Excalidraw=c.Excalidraw;exports.Iframe=c.Iframe;exports.ImageGif=c.ImageGif;exports.Katex=c.Katex;exports.Mermaid=c.Mermaid;exports.MultiColumn=c.MultiColumn;exports.Twitter=c.Twitter;exports.Attachment=oo;exports.BaseKit=nn;exports.Blockquote=Vt;exports.Bold=it;exports.BulletList=Pt;exports.Clear=Ot;exports.Code=st;exports.CodeBlock=Be;exports.Color=zt;exports.ColumnActionButton=Yt;exports.Emoji=yi;exports.ExportPdf=Ci;exports.ExportWord=Ii;exports.FontFamily=St;exports.FontSize=Dt;exports.FormatPainter=Un;exports.Heading=Nt;exports.Highlight=Bt;exports.History=Zt;exports.HorizontalRule=Kt;exports.Image=Ue;exports.ImportWord=Si;exports.Indent=sn;exports.Italic=ot;exports.LineHeight=mn;exports.Link=qt;exports.Mention=Ji;exports.MoreMark=rn;exports.OrderedList=Ft;exports.SearchAndReplace=$e;exports.SlashCommand=pn;exports.Strike=rt;exports.SubAndSuperScript=on;exports.Table=Fn;exports.TableOfContents=Ke;exports.TaskList=Ut;exports.TextAlign=Et;exports.TextDirection=qi;exports.Underline=at;exports.Video=Ve;
|