UNPKG

reactjs-tiptap-editor

Version:

A modern WYSIWYG rich text editor based on tiptap and shadcn ui for React

2 lines (1 loc) 2.56 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("./clsx-CXbNJWDD.cjs"),e=require("react/jsx-runtime"),f=require("react"),o=require("./index-BnVcq33n.cjs");require("./theme.cjs");const T=require("./popover-DIMT3pae.cjs");function v(){const n=o.useButtonProps(m.name),[s,u]=f.useState(!1),{icon:h=void 0,tooltip:d=void 0,items:l=[],isActive:p=void 0}=(n==null?void 0:n.componentProps)??{},{editorDisabled:a,dataState:i}=o.useActive(p),r=f.useMemo(()=>(i==null?void 0:i.dir)||"unset",[i]);return n?e.jsxs(T.Popover,{open:s,onOpenChange:u,modal:!0,children:[e.jsx(T.PopoverTrigger,{asChild:!0,disabled:a,children:e.jsx(o.ActionButton,{customClass:"!richtext-w-12 richtext-h-12",disabled:a,icon:h,tooltip:d,children:e.jsx(o.IconComponent,{className:"richtext-ml-1 richtext-size-3 richtext-text-zinc-500",name:"MenuDown"})})}),e.jsx(T.PopoverContent,{align:"start",className:"richtext-flex richtext-w-full richtext-min-w-4 richtext-flex-row richtext-gap-1 !richtext-p-[4px]",side:"bottom",hideWhenDetached:!0,children:l==null?void 0:l.map((t,c)=>{var x,g;return e.jsxs(o.Tooltip,{children:[e.jsx(o.TooltipTrigger,{"data-state":r===t.value?"on":"off",asChild:!0,children:e.jsx(o.Toggle,{className:"richtext-size-7 richtext-p-1",onClick:()=>{t==null||t.action(),u(!1)},size:"sm",children:(t==null?void 0:t.icon)&&e.jsx(o.IconComponent,{name:t.icon})})}),e.jsxs(o.TooltipContent,{className:"richtext-flex richtext-flex-col richtext-items-center",children:[e.jsx("span",{children:t.title}),!!((x=t.shortcutKeys)!=null&&x.length)&&e.jsx("span",{children:(g=t.shortcutKeys)==null?void 0:g.map(j=>o.getShortcutKey(j)).join(" ")})]})]},`text-direction-${c}`)})})]}):e.jsx(e.Fragment,{})}const m=D.Extension.create({name:"richTextTextDirection",addOptions(){var n;return{...(n=this.parent)==null?void 0:n.call(this),directions:["auto","ltr","rtl","unset"],defaultDirection:"auto",button({editor:s,extension:u,t:h}){var a;const d=((a=u.options)==null?void 0:a.directions)||[],l={auto:"TextDirection",ltr:"LeftToRight",rtl:"RightToLeft",unset:"X"},p=d.map(i=>({title:h(`editor.textDirection.${i}.tooltip`),value:i,icon:l[i],action:()=>{var r,t,c,x;if(i==="unset"){(t=(r=s.commands)==null?void 0:r.unsetTextDirection)==null||t.call(r);return}(x=(c=s.commands)==null?void 0:c.setTextDirection)==null||x.call(c,i)},disabled:!1}));return{componentProps:{icon:"TextDirection",tooltip:h("editor.textDirection.tooltip"),items:p,isActive:()=>s.getAttributes("paragraph")}}}}}});exports.RichTextTextDirection=v;exports.TextDirection=m;