reactjs-tiptap-editor 1.0.17 → 1.0.18
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/{ActionMenuButton-lsIBc9sU.js → ActionMenuButton-BOjCHFTA.js} +6 -6
- package/lib/ActionMenuButton-Df077oOH.cjs +1 -0
- package/lib/Attachment.cjs +2 -2
- package/lib/Attachment.js +40 -78
- package/lib/Blockquote.cjs +1 -1
- package/lib/Blockquote.js +2 -3
- package/lib/Bold.cjs +1 -1
- package/lib/Bold.js +2 -3
- package/lib/BulletList.cjs +1 -1
- package/lib/BulletList.js +2 -3
- package/lib/Callout.cjs +1 -1
- package/lib/Callout.js +105 -99
- package/lib/Clear.cjs +1 -1
- package/lib/Clear.js +2 -3
- package/lib/Code.cjs +1 -1
- package/lib/Code.js +2 -3
- package/lib/CodeBlock.cjs +38 -38
- package/lib/CodeBlock.js +1561 -1605
- package/lib/CodeView.cjs +1 -1
- package/lib/CodeView.js +2 -2
- package/lib/Color.cjs +1 -1
- package/lib/Color.js +46 -63
- package/lib/Column.cjs +1 -1
- package/lib/Column.js +24 -10
- package/lib/Drawer-DwrlY_lY.cjs +1 -0
- package/lib/Drawer-DxOoRiGQ.js +1099 -0
- package/lib/Drawer.cjs +1 -1
- package/lib/Drawer.js +6 -5
- package/lib/Emoji.cjs +1 -1
- package/lib/Emoji.js +69 -93
- package/lib/Excalidraw.cjs +1 -1
- package/lib/Excalidraw.js +99 -110
- package/lib/ExportPdf.cjs +4 -4
- package/lib/ExportPdf.js +4 -13
- package/lib/ExportWord.cjs +1 -1
- package/lib/ExportWord.js +9 -7
- package/lib/FontFamily.cjs +1 -1
- package/lib/FontFamily.js +12 -34
- package/lib/FontSize.cjs +1 -1
- package/lib/FontSize.js +12 -27
- package/lib/Heading.cjs +1 -1
- package/lib/Heading.js +34 -47
- package/lib/Highlight.cjs +1 -1
- package/lib/Highlight.js +39 -52
- package/lib/History.cjs +1 -1
- package/lib/History.js +318 -313
- package/lib/HorizontalRule.cjs +1 -1
- package/lib/HorizontalRule.js +2 -3
- package/lib/{Iframe-CTajPyzs.js → Iframe-AhNV5WH5.js} +25 -34
- package/lib/Iframe-C6pBw-AF.cjs +1 -0
- package/lib/Iframe.cjs +1 -1
- package/lib/Iframe.js +5 -4
- package/lib/Image.cjs +1 -1
- package/lib/Image.js +5 -4
- package/lib/ImageGif.cjs +1 -1
- package/lib/ImageGif.js +63 -91
- package/lib/ImportWord.cjs +1 -1
- package/lib/ImportWord.js +7 -11
- package/lib/{Indent-BGEHlRx_.js → Indent-DZ5PcJA4.js} +3 -7
- package/lib/Indent-Do-X0AsY.cjs +1 -0
- package/lib/Indent.cjs +1 -1
- package/lib/Indent.js +2 -2
- package/lib/Italic.cjs +1 -1
- package/lib/Italic.js +2 -3
- package/lib/Katex-CIC9ygbL.cjs +4 -0
- package/lib/{Katex-tMh4bfBb.js → Katex-bIgoenn_.js} +241 -255
- package/lib/Katex.cjs +1 -1
- package/lib/Katex.js +5 -4
- package/lib/LineHeight.cjs +1 -1
- package/lib/LineHeight.js +13 -21
- package/lib/Link.cjs +1 -1
- package/lib/Link.js +2 -2
- package/lib/LinkEditBlock-B0ZaACZO.cjs +5 -0
- package/lib/{LinkEditBlock-CA5NhP-m.js → LinkEditBlock-D_cF9fnc.js} +320 -370
- package/lib/MarkdownPaste.cjs +58 -0
- package/lib/MarkdownPaste.js +1656 -0
- package/lib/Mention.cjs +1 -1
- package/lib/Mention.js +22 -17
- package/lib/Mermaid.cjs +2 -2
- package/lib/Mermaid.js +118 -142
- package/lib/MoreMark.cjs +1 -1
- package/lib/MoreMark.js +10 -18
- package/lib/OrderedList.cjs +1 -1
- package/lib/OrderedList.js +2 -3
- package/lib/SearchAndReplace.cjs +1 -1
- package/lib/SearchAndReplace.js +68 -133
- package/lib/SlashCommand.cjs +1 -1
- package/lib/SlashCommand.js +15 -14
- package/lib/{SlashCommandNodeView-CZoM3ZlS.cjs → SlashCommandNodeView-Ba03hlVZ.cjs} +1 -1
- package/lib/{SlashCommandNodeView-DLuqbX2o.js → SlashCommandNodeView-cg0x3NRF.js} +15 -17
- package/lib/Strike.cjs +1 -1
- package/lib/Strike.js +2 -3
- package/lib/{Table-BC4Lbqzn.js → Table-KqLiT5wG.js} +95 -133
- package/lib/Table-ddU2LSc6.cjs +9 -0
- package/lib/Table.cjs +1 -1
- package/lib/Table.js +1 -1
- package/lib/TaskList.cjs +1 -1
- package/lib/TaskList.js +2 -3
- package/lib/TextAlign.cjs +1 -1
- package/lib/TextAlign.js +51 -60
- package/lib/TextDirection.cjs +1 -1
- package/lib/TextDirection.js +47 -69
- package/lib/TextUnderline.cjs +1 -1
- package/lib/TextUnderline.js +2 -3
- package/lib/Twitter-BIiR78Jh.cjs +1 -0
- package/lib/{Twitter-D8Cbgl7g.js → Twitter-C1Lzqc7u.js} +567 -593
- package/lib/Twitter.cjs +1 -1
- package/lib/Twitter.js +4 -3
- package/lib/Video.cjs +1 -1
- package/lib/Video.js +3 -3
- package/lib/bubble.cjs +6 -4
- package/lib/bubble.js +3712 -3023
- package/lib/clsx-BWE7vnna.cjs +33 -0
- package/lib/clsx-eGVyq7ot.js +1062 -0
- package/lib/components/ActionButton.d.ts +2 -2
- package/lib/components/ActionMenuButton.d.ts +1 -1
- package/lib/components/Bubble/formatBubble.d.ts +5 -5
- package/lib/components/ui/checkbox.d.ts +1 -1
- package/lib/components/ui/dialog.d.ts +1 -1
- package/lib/components/ui/dropdown-menu.d.ts +1 -1
- package/lib/components/ui/emoji-picker.d.ts +1 -1
- package/lib/components/ui/label.d.ts +1 -1
- package/lib/components/ui/popover.d.ts +1 -1
- package/lib/components/ui/select.d.ts +1 -1
- package/lib/components/ui/separator.d.ts +1 -1
- package/lib/components/ui/switch.d.ts +1 -1
- package/lib/components/ui/tabs.d.ts +1 -1
- package/lib/components/ui/toast.d.ts +1 -1
- package/lib/components/ui/toggle.d.ts +1 -1
- package/lib/components/ui/tooltip.d.ts +1 -1
- package/lib/{delete-node-IyVmiRbI.js → delete-node-eQHsyyhR.js} +3 -1
- package/lib/{dropdown-menu-q6RL_fkA.js → dropdown-menu-CexIkt_V.js} +8 -8
- package/lib/{dropdown-menu-C_F7LEy5.cjs → dropdown-menu-oSKIntXM.cjs} +1 -1
- package/lib/extensions/Blockquote/Blockquote.d.ts +1 -1
- package/lib/extensions/Bold/Bold.d.ts +1 -1
- package/lib/extensions/Code/Code.d.ts +1 -1
- package/lib/extensions/CodeView/CodeView.d.ts +2 -2
- package/lib/extensions/Heading/Heading.d.ts +1 -1
- package/lib/extensions/Highlight/Highlight.d.ts +1 -1
- package/lib/extensions/HorizontalRule/HorizontalRule.d.ts +1 -1
- package/lib/extensions/ImportWord/ImportWord.d.ts +2 -2
- package/lib/extensions/Italic/Italic.d.ts +1 -1
- package/lib/extensions/Link/Link.d.ts +1 -1
- package/lib/extensions/MarkdownPaste/MarkdownPaste.d.ts +5 -0
- package/lib/extensions/MarkdownPaste/index.d.ts +1 -0
- package/lib/extensions/Mermaid/Mermaid.d.ts +1 -1
- package/lib/extensions/MoreMark/MoreMark.d.ts +1 -1
- package/lib/extensions/Strike/Strike.d.ts +1 -1
- package/lib/extensions/Table/Table.d.ts +1 -1
- package/lib/extensions/TextAlign/TextAlign.d.ts +1 -1
- package/lib/extensions/TextUnderline/TextUnderline.d.ts +1 -1
- package/lib/index-BUTn2LY6.cjs +1 -0
- package/lib/{index-C07N8gA1.js → index-BlXGgvT-.js} +21 -18
- package/lib/{index-DqruLhsu.js → index-BnW6t8z6.js} +23 -23
- package/lib/{index-BsFvo9PG.cjs → index-BqL4vAWE.cjs} +1 -1
- package/lib/index-BtxvYLJ1.cjs +12 -0
- package/lib/{index-Do_dsOGB.js → index-C6xmkxrQ.js} +232 -217
- package/lib/index-CJ9pyCM4.cjs +1 -0
- package/lib/{index-neeeY2o7.cjs → index-D0lc95kr.cjs} +3 -3
- package/lib/{index-RcSPeQHn.js → index-DHUN85fV.js} +571 -657
- package/lib/index-DUpSE1Gb.cjs +1 -0
- package/lib/index-D_8P0LE5.js +1362 -0
- package/lib/{index-BDYJ8Ph2.js → index-RIXs7STX.js} +1 -1
- package/lib/index-mfGK4pFo.js +6469 -0
- package/lib/index-zig3Dj7A.cjs +22 -0
- package/lib/index.cjs +1 -1
- package/lib/index.js +26 -34
- package/lib/locale-bundle.cjs +1 -1
- package/lib/locale-bundle.js +1 -1
- package/lib/plugins/image-upload.d.ts +1 -1
- package/lib/popover-BYSZ3zBi.js +24 -0
- package/lib/popover-BcHDZqBt.cjs +1 -0
- package/lib/{renderNodeView-BEkECnnY.js → renderNodeView-BrM5kUj_.js} +2 -2
- package/lib/{renderNodeView-DfLmGrgA.cjs → renderNodeView-D1zydtli.cjs} +1 -1
- package/lib/{select-CmV5uTXr.js → select-C5SHDLFj.js} +8 -5
- package/lib/{select-CYyIeImH.cjs → select-DHjzKkcu.cjs} +1 -1
- package/lib/{separator-BLp6xpSY.cjs → separator-BmixLrnJ.cjs} +1 -1
- package/lib/separator-CFKVxAea.js +293 -0
- package/lib/store/editor.d.ts +1 -1
- package/lib/store/store.d.ts +1 -1
- package/lib/style.css +1 -1
- package/lib/{textarea-Cn75Cm2n.cjs → textarea-CasDcv3u.cjs} +1 -1
- package/lib/{textarea-CkVKMPqK.js → textarea-DNLrJoRl.js} +1 -1
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +3 -3
- package/lib/updatePosition-CBRjbQMH.js +16 -0
- package/lib/updatePosition-CfmY5Trk.cjs +1 -0
- package/lib/utils/columns.d.ts +1 -1
- package/lib/utils/pdf.d.ts +1 -1
- package/lib/utils/utils.d.ts +1 -1
- package/package.json +262 -247
- package/lib/ActionMenuButton-B_E2mbAW.cjs +0 -1
- package/lib/Drawer-DQ4CxBwG.js +0 -1373
- package/lib/Drawer-FUeUKshi.cjs +0 -1
- package/lib/Iframe-EVWXCqe4.cjs +0 -1
- package/lib/Indent-q9cEWAa_.cjs +0 -1
- package/lib/Katex-ClqcEnN_.cjs +0 -4
- package/lib/LinkEditBlock-DZXk4ln_.cjs +0 -5
- package/lib/Table-BmDopO43.cjs +0 -9
- package/lib/Twitter-BbMD3Ybp.cjs +0 -1
- package/lib/clsx-CXbNJWDD.cjs +0 -54
- package/lib/clsx-DaPvp9ji.js +0 -7391
- package/lib/index-BCzvbrf5.cjs +0 -12
- package/lib/index-BnVcq33n.cjs +0 -1
- package/lib/index-CjhjjJsN.cjs +0 -1
- package/lib/index-Cs6cp0Y6.cjs +0 -1
- package/lib/index-Qcl3BG94.js +0 -1351
- package/lib/popover-CtinPbiy.js +0 -24
- package/lib/popover-DIMT3pae.cjs +0 -1
- package/lib/separator-C7luvaG8.js +0 -327
- package/lib/updatePosition-Cjuj2E26.cjs +0 -1
- package/lib/updatePosition-DRmKQBGm.js +0 -16
package/lib/SearchAndReplace.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("./index-zig3Dj7A.cjs"),D=require("@tiptap/pm/state"),b=require("@tiptap/pm/view"),a=require("react/jsx-runtime"),g=require("react"),h=require("./index-BUTn2LY6.cjs");require("./theme.cjs");const J=require("./index-BqL4vAWE.cjs"),q=require("./popover-BcHDZqBt.cjs");function Q(){const{t}=J.useLocale(),e=h.useEditorInstance(),s=h.useButtonProps(F.name),{icon:n=void 0,tooltip:u=void 0,shortcutKeys:o=void 0,tooltipOptions:c={},action:x=void 0,isActive:m=void 0}=(s==null?void 0:s.componentProps)??{},{disabled:i}=h.useActive(m),[R,f]=g.useState(!1),[p,T]=g.useState(""),[C,N]=g.useState(""),[j,M]=g.useState(!1),[V,$]=g.useState(""),w=()=>{var r,l,v,d;$(`${((l=(r=e==null?void 0:e.storage)==null?void 0:r.searchAndReplace)==null?void 0:l.resultIndex)+1}/${(d=(v=e==null?void 0:e.storage)==null?void 0:v.searchAndReplace)==null?void 0:d.results.length}`)};g.useEffect(()=>{e&&w()},[e]);const K=()=>{i||x&&x()},P=(r=!1)=>{var l,v,d,S,A,E,y,L;e&&(r&&((v=(l=e==null?void 0:e.commands)==null?void 0:l.resetIndex)==null||v.call(l)),(S=(d=e==null?void 0:e.commands)==null?void 0:d.setSearchTerm)==null||S.call(d,p),(E=(A=e==null?void 0:e.commands)==null?void 0:A.setReplaceTerm)==null||E.call(A,C),(L=(y=e==null?void 0:e.commands)==null?void 0:y.setCaseSensitive)==null||L.call(y,j),w())},k=()=>{var S,A;if(!e)return;const{results:r,resultIndex:l}=e.storage.searchAndReplace,v=r[l];if(!v)return;(A=(S=e==null?void 0:e.commands)==null?void 0:S.setTextSelection)==null||A.call(S,v);const{node:d}=e.view.domAtPos(e.state.selection.anchor);d instanceof HTMLElement&&d.scrollIntoView({behavior:"smooth",block:"center"}),w()};g.useEffect(()=>{p.trim()||B(),p.trim()&&P(!0)},[p]),g.useEffect(()=>{C.trim()&&P()},[C]),g.useEffect(()=>{P(!0)},[j]);const W=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.replace)==null||l.call(r),k()},H=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.nextSearchResult)==null||l.call(r),k()},U=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.previousSearchResult)==null||l.call(r),k()},B=()=>{var r,l;T(""),N(""),(l=(r=e==null?void 0:e.commands)==null?void 0:r.resetIndex)==null||l.call(r),w()},z=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.replaceAll)==null||l.call(r),$("0/0")};return s?a.jsxs(q.Popover,{onOpenChange:f,open:R,children:[a.jsx(q.PopoverTrigger,{asChild:!0,disabled:i,children:a.jsx(h.ActionButton,{action:K,disabled:i,icon:n,shortcutKeys:o,tooltip:u,tooltipOptions:c})}),a.jsxs(q.PopoverContent,{align:"start",className:"richtext-w-full",hideWhenDetached:!0,side:"bottom",children:[a.jsxs("div",{className:"richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between",children:[a.jsx(h.Label,{children:t("editor.search.dialog.text")}),a.jsx("span",{className:"richtext-font-semibold",children:V})]}),a.jsxs("div",{className:"richtext-mb-[10px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:[a.jsx(h.Input,{autoFocus:!0,className:"richtext-w-full",onChange:r=>T(r.target.value),placeholder:"Text",required:!0,type:"text",value:p}),a.jsx(h.Button,{className:"richtext-flex-1",onClick:U,children:a.jsx(h.IconComponent,{name:"ChevronUp"})}),a.jsx(h.Button,{className:"richtext-flex-1",onClick:H,children:a.jsx(h.IconComponent,{name:"ChevronDown"})}),a.jsx(h.Button,{className:"richtext-flex-1",onClick:B,children:"Clear"})]}),a.jsx(h.Label,{className:"richtext-mb-[6px]",children:t("editor.replace.dialog.text")}),a.jsx("div",{className:"richtext-mb-[5px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:a.jsx("div",{className:"richtext-relative richtext-w-full richtext-max-w-sm richtext-items-center",children:a.jsx(h.Input,{className:"richtext-w-80",onChange:r=>N(r.target.value),placeholder:"Text",required:!0,type:"text",value:C})})}),a.jsxs("div",{className:"richtext-my-[10px] richtext-flex richtext-items-center richtext-gap-1",children:[a.jsx(h.Checkbox,{checked:j,onCheckedChange:r=>{M(r),e.commands.setCaseSensitive(r)}}),a.jsx(h.Label,{children:t("editor.replace.caseSensitive")})]}),a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[a.jsx(h.Button,{className:"richtext-flex-1",onClick:W,children:t("editor.replace.dialog.text")}),a.jsx(h.Button,{className:"richtext-flex-1",onClick:z,children:t("editor.replaceAll.dialog.text")})]})]})]}):a.jsx(a.Fragment,{})}const I=(t,e)=>e(t.tr);function X(t,e,s){return RegExp(e?t.replace(/[$()*+.?[\\\]^{|}]/g,String.raw`\$&`):t,s?"gu":"gui")}function Y(t,e,s,n){const u=[],o=[];let c=[],x=0;if(!e)return{decorationsToReturn:b.DecorationSet.empty,results:[]};t==null||t.descendants((m,i)=>{m.isText?c[x]?c[x]={text:c[x].text+m.text,pos:c[x].pos}:c[x]={text:`${m.text}`,pos:i}:x+=1}),c=c.filter(Boolean);for(const m of c){const{text:i,pos:R}=m,f=Array.from(i.matchAll(e)).filter(([p])=>p.trim());for(const p of f){if(p[0]==="")break;p.index!==void 0&&o.push({from:R+p.index,to:R+p.index+p[0].length})}}for(const[m,i]of o.entries()){const R=m===n?`${s} ${s}-current`:s,f=b.Decoration.inline(i.from,i.to,{class:R});u.push(f)}return{decorationsToReturn:b.DecorationSet.create(t,u),results:o}}function O(t,e,{state:s,dispatch:n}){if(!e[0])return;const{from:o,to:c}=e[0];n&&n(s.tr.insertText(t,o,c))}function Z(t,e,s,n){const u=e+1;if(!n[u])return null;const{from:o,to:c}=n[e],x=c-o-t.length+s,{from:m,to:i}=n[u];return n[u]={to:i-x,from:m-x},[x,n]}function _(t,e,{tr:s,dispatch:n}){let u=0,o=e.slice();if(o.length!==0){for(let c=0;c<o.length;c+=1){const{from:x,to:m}=o[c];s.insertText(t,x,m);const i=Z(t,c,u,o);i&&(u=i[0],o=i[1])}n(s)}}const F=G.Extension.create({name:"searchAndReplace",addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),searchTerm:"",replaceTerm:"",results:[],searchResultClass:"search-result",searchResultCurrentClass:"search-result-current",caseSensitive:!1,disableRegex:!0,onChange:()=>{},button:({editor:e,t:s})=>({componentProps:{action:()=>{},icon:"SearchAndReplace",tooltip:s("editor.searchAndReplace.tooltip"),isActive:()=>!0,editor:e}})}},addStorage(){return{searchTerm:"",replaceTerm:"",results:[],lastSearchTerm:"",caseSensitive:!1,lastCaseSensitive:!1,resultIndex:0,lastResultIndex:0}},addCommands(){return{setSearchTerm:t=>({editor:e,state:s,dispatch:n})=>(e.storage.searchAndReplace.searchTerm=t,I(s,n),!1),setReplaceTerm:t=>({editor:e,state:s,dispatch:n})=>(e.storage.searchAndReplace.replaceTerm=t,I(s,n),!1),setCaseSensitive:t=>({editor:e,state:s,dispatch:n})=>(e.storage.searchAndReplace.caseSensitive=t,I(s,n),!1),resetIndex:()=>({editor:t,state:e,dispatch:s})=>(t.storage.searchAndReplace.resultIndex=0,I(e,s),!1),nextSearchResult:()=>({editor:t})=>{const{results:e,resultIndex:s}=t.storage.searchAndReplace,n=s+1;return e[n]?t.storage.searchAndReplace.resultIndex=n:t.storage.searchAndReplace.resultIndex=0,!1},previousSearchResult:()=>({editor:t})=>{const{results:e,resultIndex:s}=t.storage.searchAndReplace,n=s-1;return e[n]?t.storage.searchAndReplace.resultIndex=n:t.storage.searchAndReplace.resultIndex=e.length-1,!1},replace:()=>({editor:t,state:e,dispatch:s})=>{const{replaceTerm:n,results:u,resultIndex:o}=t.storage.searchAndReplace,c=u[o];return c?(O(n,[c],{state:e,dispatch:s}),t.storage.searchAndReplace.results.splice(o,1)):(O(n,u,{state:e,dispatch:s}),t.storage.searchAndReplace.results.shift()),I(e,s),!1},replaceAll:()=>({editor:t,tr:e,state:s,dispatch:n})=>{const{replaceTerm:u,results:o}=t.storage.searchAndReplace;return _(u,o,{tr:e,dispatch:n}),t.storage.searchAndReplace.resultIndex=0,t.storage.searchAndReplace.results=[],I(s,n),!1}}},addProseMirrorPlugins(){const t=this.editor,{searchResultClass:e,disableRegex:s}=this.options,n=c=>t.storage.searchAndReplace.lastSearchTerm=c,u=c=>t.storage.searchAndReplace.lastCaseSensitive=c,o=c=>t.storage.searchAndReplace.lastResultIndex=c;return[new D.Plugin({key:new D.PluginKey(`richtextCustomPlugin${this.name}`),state:{init:()=>b.DecorationSet.empty,apply({doc:c,docChanged:x},m){const{searchTerm:i,lastSearchTerm:R,caseSensitive:f,lastCaseSensitive:p,resultIndex:T,lastResultIndex:C}=t.storage.searchAndReplace;if(!x&&R===i&&p===f&&C===T)return m;if(n(i),u(f),o(T),!i)return t.storage.searchAndReplace.results=[],b.DecorationSet.empty;const{decorationsToReturn:N,results:j}=Y(c,X(i,s,f),e,T);return t.storage.searchAndReplace.results=j,N}},props:{decorations(c){return this.getState(c)}}})]}});exports.RichTextSearchAndReplace=Q;exports.SearchAndReplace=F;
|
package/lib/SearchAndReplace.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { E as Q } from "./
|
|
1
|
+
import { E as Q } from "./index-mfGK4pFo.js";
|
|
2
2
|
import { Plugin as X, PluginKey as Y } from "@tiptap/pm/state";
|
|
3
3
|
import { DecorationSet as $, Decoration as Z } from "@tiptap/pm/view";
|
|
4
4
|
import { jsx as u, Fragment as _, jsxs as T } from "react/jsx-runtime";
|
|
5
5
|
import { useState as b, useEffect as k } from "react";
|
|
6
|
-
import { h as ee, u as te, e as se, A as re, L as B, j as V, B as N, I as q, C as ne } from "./index-
|
|
6
|
+
import { h as ee, u as te, e as se, A as re, L as B, j as V, B as N, I as q, C as ne } from "./index-DHUN85fV.js";
|
|
7
7
|
import "./theme.js";
|
|
8
|
-
import { u as ce } from "./index-
|
|
9
|
-
import { P as ae, a as le, b as oe } from "./popover-
|
|
8
|
+
import { u as ce } from "./index-BlXGgvT-.js";
|
|
9
|
+
import { P as ae, a as le, b as oe } from "./popover-BYSZ3zBi.js";
|
|
10
10
|
function Ce() {
|
|
11
11
|
const { t } = ce(), e = ee(), s = te(xe.name), {
|
|
12
12
|
icon: n = void 0,
|
|
@@ -17,7 +17,9 @@ function Ce() {
|
|
|
17
17
|
isActive: m = void 0
|
|
18
18
|
} = (s == null ? void 0 : s.componentProps) ?? {}, { disabled: o } = se(m), [f, d] = b(!1), [x, A] = b(""), [S, w] = b(""), [I, M] = b(!1), [W, j] = b(""), y = () => {
|
|
19
19
|
var r, a, g, p;
|
|
20
|
-
j(
|
|
20
|
+
j(
|
|
21
|
+
`${((a = (r = e == null ? void 0 : e.storage) == null ? void 0 : r.searchAndReplace) == null ? void 0 : a.resultIndex) + 1}/${(p = (g = e == null ? void 0 : e.storage) == null ? void 0 : g.searchAndReplace) == null ? void 0 : p.results.length}`
|
|
22
|
+
);
|
|
21
23
|
};
|
|
22
24
|
k(() => {
|
|
23
25
|
e && y();
|
|
@@ -33,9 +35,7 @@ function Ce() {
|
|
|
33
35
|
const { results: r, resultIndex: a } = e.storage.searchAndReplace, g = r[a];
|
|
34
36
|
if (!g) return;
|
|
35
37
|
(v = (R = e == null ? void 0 : e.commands) == null ? void 0 : R.setTextSelection) == null || v.call(R, g);
|
|
36
|
-
const { node: p } = e.view.domAtPos(
|
|
37
|
-
e.state.selection.anchor
|
|
38
|
-
);
|
|
38
|
+
const { node: p } = e.view.domAtPos(e.state.selection.anchor);
|
|
39
39
|
p instanceof HTMLElement && p.scrollIntoView({ behavior: "smooth", block: "center" }), y();
|
|
40
40
|
};
|
|
41
41
|
k(() => {
|
|
@@ -61,128 +61,70 @@ function Ce() {
|
|
|
61
61
|
var r, a;
|
|
62
62
|
(a = (r = e == null ? void 0 : e.commands) == null ? void 0 : r.replaceAll) == null || a.call(r), j("0/0");
|
|
63
63
|
};
|
|
64
|
-
return s ? /* @__PURE__ */ T(
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
return s ? /* @__PURE__ */ T(ae, { onOpenChange: d, open: f, children: [
|
|
65
|
+
/* @__PURE__ */ u(le, { asChild: !0, disabled: o, children: /* @__PURE__ */ u(
|
|
66
|
+
re,
|
|
67
|
+
{
|
|
68
|
+
action: H,
|
|
69
|
+
disabled: o,
|
|
70
|
+
icon: n,
|
|
71
|
+
shortcutKeys: l,
|
|
72
|
+
tooltip: i,
|
|
73
|
+
tooltipOptions: c
|
|
74
|
+
}
|
|
75
|
+
) }),
|
|
76
|
+
/* @__PURE__ */ T(oe, { align: "start", className: "richtext-w-full", hideWhenDetached: !0, side: "bottom", children: [
|
|
77
|
+
/* @__PURE__ */ T("div", { className: "richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between", children: [
|
|
78
|
+
/* @__PURE__ */ u(B, { children: t("editor.search.dialog.text") }),
|
|
79
|
+
/* @__PURE__ */ u("span", { className: "richtext-font-semibold", children: W })
|
|
80
|
+
] }),
|
|
81
|
+
/* @__PURE__ */ T("div", { className: "richtext-mb-[10px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5", children: [
|
|
70
82
|
/* @__PURE__ */ u(
|
|
71
|
-
|
|
83
|
+
V,
|
|
72
84
|
{
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
icon: n,
|
|
81
|
-
shortcutKeys: l,
|
|
82
|
-
tooltip: i,
|
|
83
|
-
tooltipOptions: c
|
|
84
|
-
}
|
|
85
|
-
)
|
|
85
|
+
autoFocus: !0,
|
|
86
|
+
className: "richtext-w-full",
|
|
87
|
+
onChange: (r) => A(r.target.value),
|
|
88
|
+
placeholder: "Text",
|
|
89
|
+
required: !0,
|
|
90
|
+
type: "text",
|
|
91
|
+
value: x
|
|
86
92
|
}
|
|
87
93
|
),
|
|
88
|
-
/* @__PURE__ */
|
|
89
|
-
|
|
94
|
+
/* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: G, children: /* @__PURE__ */ u(q, { name: "ChevronUp" }) }),
|
|
95
|
+
/* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: z, children: /* @__PURE__ */ u(q, { name: "ChevronDown" }) }),
|
|
96
|
+
/* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: D, children: "Clear" })
|
|
97
|
+
] }),
|
|
98
|
+
/* @__PURE__ */ u(B, { className: "richtext-mb-[6px]", children: t("editor.replace.dialog.text") }),
|
|
99
|
+
/* @__PURE__ */ u("div", { className: "richtext-mb-[5px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5", children: /* @__PURE__ */ u("div", { className: "richtext-relative richtext-w-full richtext-max-w-sm richtext-items-center", children: /* @__PURE__ */ u(
|
|
100
|
+
V,
|
|
101
|
+
{
|
|
102
|
+
className: "richtext-w-80",
|
|
103
|
+
onChange: (r) => w(r.target.value),
|
|
104
|
+
placeholder: "Text",
|
|
105
|
+
required: !0,
|
|
106
|
+
type: "text",
|
|
107
|
+
value: S
|
|
108
|
+
}
|
|
109
|
+
) }) }),
|
|
110
|
+
/* @__PURE__ */ T("div", { className: "richtext-my-[10px] richtext-flex richtext-items-center richtext-gap-1", children: [
|
|
111
|
+
/* @__PURE__ */ u(
|
|
112
|
+
ne,
|
|
90
113
|
{
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
children: [
|
|
96
|
-
/* @__PURE__ */ T("div", { className: "richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between", children: [
|
|
97
|
-
/* @__PURE__ */ u(B, { children: t("editor.search.dialog.text") }),
|
|
98
|
-
/* @__PURE__ */ u("span", { className: "richtext-font-semibold", children: W })
|
|
99
|
-
] }),
|
|
100
|
-
/* @__PURE__ */ T("div", { className: "richtext-mb-[10px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5", children: [
|
|
101
|
-
/* @__PURE__ */ u(
|
|
102
|
-
V,
|
|
103
|
-
{
|
|
104
|
-
autoFocus: !0,
|
|
105
|
-
className: "richtext-w-full",
|
|
106
|
-
onChange: (r) => A(r.target.value),
|
|
107
|
-
placeholder: "Text",
|
|
108
|
-
required: !0,
|
|
109
|
-
type: "text",
|
|
110
|
-
value: x
|
|
111
|
-
}
|
|
112
|
-
),
|
|
113
|
-
/* @__PURE__ */ u(
|
|
114
|
-
N,
|
|
115
|
-
{
|
|
116
|
-
className: "richtext-flex-1",
|
|
117
|
-
onClick: G,
|
|
118
|
-
children: /* @__PURE__ */ u(q, { name: "ChevronUp" })
|
|
119
|
-
}
|
|
120
|
-
),
|
|
121
|
-
/* @__PURE__ */ u(
|
|
122
|
-
N,
|
|
123
|
-
{
|
|
124
|
-
className: "richtext-flex-1",
|
|
125
|
-
onClick: z,
|
|
126
|
-
children: /* @__PURE__ */ u(q, { name: "ChevronDown" })
|
|
127
|
-
}
|
|
128
|
-
),
|
|
129
|
-
/* @__PURE__ */ u(
|
|
130
|
-
N,
|
|
131
|
-
{
|
|
132
|
-
className: "richtext-flex-1",
|
|
133
|
-
onClick: D,
|
|
134
|
-
children: "Clear"
|
|
135
|
-
}
|
|
136
|
-
)
|
|
137
|
-
] }),
|
|
138
|
-
/* @__PURE__ */ u(B, { className: "richtext-mb-[6px]", children: t("editor.replace.dialog.text") }),
|
|
139
|
-
/* @__PURE__ */ u("div", { className: "richtext-mb-[5px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5", children: /* @__PURE__ */ u("div", { className: "richtext-relative richtext-w-full richtext-max-w-sm richtext-items-center", children: /* @__PURE__ */ u(
|
|
140
|
-
V,
|
|
141
|
-
{
|
|
142
|
-
className: "richtext-w-80",
|
|
143
|
-
onChange: (r) => w(r.target.value),
|
|
144
|
-
placeholder: "Text",
|
|
145
|
-
required: !0,
|
|
146
|
-
type: "text",
|
|
147
|
-
value: S
|
|
148
|
-
}
|
|
149
|
-
) }) }),
|
|
150
|
-
/* @__PURE__ */ T("div", { className: "richtext-my-[10px] richtext-flex richtext-items-center richtext-gap-1", children: [
|
|
151
|
-
/* @__PURE__ */ u(
|
|
152
|
-
ne,
|
|
153
|
-
{
|
|
154
|
-
checked: I,
|
|
155
|
-
onCheckedChange: (r) => {
|
|
156
|
-
M(r), e.commands.setCaseSensitive(r);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
),
|
|
160
|
-
/* @__PURE__ */ u(B, { children: t("editor.replace.caseSensitive") })
|
|
161
|
-
] }),
|
|
162
|
-
/* @__PURE__ */ T("div", { className: "richtext-flex richtext-items-center richtext-gap-[10px]", children: [
|
|
163
|
-
/* @__PURE__ */ u(
|
|
164
|
-
N,
|
|
165
|
-
{
|
|
166
|
-
className: "richtext-flex-1",
|
|
167
|
-
onClick: U,
|
|
168
|
-
children: t("editor.replace.dialog.text")
|
|
169
|
-
}
|
|
170
|
-
),
|
|
171
|
-
/* @__PURE__ */ u(
|
|
172
|
-
N,
|
|
173
|
-
{
|
|
174
|
-
className: "richtext-flex-1",
|
|
175
|
-
onClick: J,
|
|
176
|
-
children: t("editor.replaceAll.dialog.text")
|
|
177
|
-
}
|
|
178
|
-
)
|
|
179
|
-
] })
|
|
180
|
-
]
|
|
114
|
+
checked: I,
|
|
115
|
+
onCheckedChange: (r) => {
|
|
116
|
+
M(r), e.commands.setCaseSensitive(r);
|
|
117
|
+
}
|
|
181
118
|
}
|
|
182
|
-
)
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
119
|
+
),
|
|
120
|
+
/* @__PURE__ */ u(B, { children: t("editor.replace.caseSensitive") })
|
|
121
|
+
] }),
|
|
122
|
+
/* @__PURE__ */ T("div", { className: "richtext-flex richtext-items-center richtext-gap-[10px]", children: [
|
|
123
|
+
/* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: U, children: t("editor.replace.dialog.text") }),
|
|
124
|
+
/* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: J, children: t("editor.replaceAll.dialog.text") })
|
|
125
|
+
] })
|
|
126
|
+
] })
|
|
127
|
+
] }) : /* @__PURE__ */ u(_, {});
|
|
186
128
|
}
|
|
187
129
|
const C = (t, e) => e(t.tr);
|
|
188
130
|
function ie(t, e, s) {
|
|
@@ -209,9 +151,7 @@ function ue(t, e, s, n) {
|
|
|
209
151
|
} : h += 1;
|
|
210
152
|
}), c = c.filter(Boolean);
|
|
211
153
|
for (const m of c) {
|
|
212
|
-
const { text: o, pos: f } = m, d = Array.from(o.matchAll(e)).filter(
|
|
213
|
-
([x]) => x.trim()
|
|
214
|
-
);
|
|
154
|
+
const { text: o, pos: f } = m, d = Array.from(o.matchAll(e)).filter(([x]) => x.trim());
|
|
215
155
|
for (const x of d) {
|
|
216
156
|
if (x[0] === "") break;
|
|
217
157
|
x.index !== void 0 && l.push({
|
|
@@ -251,12 +191,7 @@ function me(t, e, { tr: s, dispatch: n }) {
|
|
|
251
191
|
for (let c = 0; c < l.length; c += 1) {
|
|
252
192
|
const { from: h, to: m } = l[c];
|
|
253
193
|
s.insertText(t, h, m);
|
|
254
|
-
const o = he(
|
|
255
|
-
t,
|
|
256
|
-
c,
|
|
257
|
-
i,
|
|
258
|
-
l
|
|
259
|
-
);
|
|
194
|
+
const o = he(t, c, i, l);
|
|
260
195
|
o && (i = o[0], l = o[1]);
|
|
261
196
|
}
|
|
262
197
|
n(s);
|
package/lib/SlashCommand.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-zig3Dj7A.cjs"),u=require("@tiptap/pm/state"),d=require("./clsx-BWE7vnna.cjs"),l=require("./index-DUpSE1Gb.cjs"),r=require("./SlashCommandNodeView-Ba03hlVZ.cjs"),o=require("./updatePosition-CfmY5Trk.cjs"),a=require("react/jsx-runtime"),m=require("react"),c=require("./index-BqL4vAWE.cjs");function C({commandList:e}){const[,t]=r.useSignalCommandList(),{t:n}=c.useLocale();return m.useEffect(()=>{if(!(e!=null&&e.length)){const i=r.renderCommandListDefault({t:n});t(i);return}t(e)},[n,e]),a.jsx(a.Fragment,{})}const f=s.Extension.create({name:"richtextSlashCommand",priority:200,addProseMirrorPlugins(){return[l.Suggestion({pluginKey:new u.PluginKey("richtextSlashCommandPlugin"),editor:this.editor,char:"/",command:({editor:e,range:t,props:n})=>{const{view:i}=e;n.action({editor:e,range:t}),i.focus()},render:()=>{let e;return{onStart:t=>{t.clientRect&&(e=new d.ReactRenderer(r.SlashCommandNodeView,{props:t,editor:t.editor}),e.element.style.position="absolute",document.body.appendChild(e.element),o.updatePosition(t.editor,e.element))},onUpdate(t){e.updateProps(t),t.clientRect&&o.updatePosition(t.editor,e.element)},onKeyDown(t){var n;return t.event.key==="Escape"?(e.destroy(),e.element.remove(),!0):(n=e.ref)==null?void 0:n.onKeyDown(t)},onExit(){e&&(e.destroy(),e.element.remove())}}}})]}});exports.renderCommandListDefault=r.renderCommandListDefault;exports.useFilterCommandList=r.useFilterCommandList;exports.SlashCommand=f;exports.SlashCommandList=C;
|
package/lib/SlashCommand.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { E as i
|
|
2
|
-
import { PluginKey as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { E as i } from "./index-mfGK4pFo.js";
|
|
2
|
+
import { PluginKey as a } from "@tiptap/pm/state";
|
|
3
|
+
import { R as m } from "./clsx-eGVyq7ot.js";
|
|
4
|
+
import { S as s } from "./index-D_8P0LE5.js";
|
|
5
|
+
import { u, r as l, S as d } from "./SlashCommandNodeView-cg0x3NRF.js";
|
|
6
|
+
import { a as F } from "./SlashCommandNodeView-cg0x3NRF.js";
|
|
7
|
+
import { u as o } from "./updatePosition-CBRjbQMH.js";
|
|
7
8
|
import { jsx as f, Fragment as c } from "react/jsx-runtime";
|
|
8
9
|
import { useEffect as h } from "react";
|
|
9
|
-
import { u as C } from "./index-
|
|
10
|
-
function
|
|
10
|
+
import { u as C } from "./index-BlXGgvT-.js";
|
|
11
|
+
function v({ commandList: e }) {
|
|
11
12
|
const [, t] = u(), { t: r } = C();
|
|
12
13
|
return h(() => {
|
|
13
14
|
if (!(e != null && e.length)) {
|
|
@@ -18,7 +19,7 @@ function E({ commandList: e }) {
|
|
|
18
19
|
t(e);
|
|
19
20
|
}, [r, e]), /* @__PURE__ */ f(c, {});
|
|
20
21
|
}
|
|
21
|
-
const
|
|
22
|
+
const K = /* @__PURE__ */ i.create({
|
|
22
23
|
name: "richtextSlashCommand",
|
|
23
24
|
priority: 200,
|
|
24
25
|
// addOptions() {
|
|
@@ -31,7 +32,7 @@ const v = /* @__PURE__ */ i.create({
|
|
|
31
32
|
addProseMirrorPlugins() {
|
|
32
33
|
return [
|
|
33
34
|
s({
|
|
34
|
-
pluginKey: new
|
|
35
|
+
pluginKey: new a("richtextSlashCommandPlugin"),
|
|
35
36
|
editor: this.editor,
|
|
36
37
|
char: "/",
|
|
37
38
|
// allowSpaces: true,
|
|
@@ -61,7 +62,7 @@ const v = /* @__PURE__ */ i.create({
|
|
|
61
62
|
let e;
|
|
62
63
|
return {
|
|
63
64
|
onStart: (t) => {
|
|
64
|
-
t.clientRect && (e = new
|
|
65
|
+
t.clientRect && (e = new m(d, {
|
|
65
66
|
props: t,
|
|
66
67
|
editor: t.editor
|
|
67
68
|
}), e.element.style.position = "absolute", document.body.appendChild(e.element), o(t.editor, e.element));
|
|
@@ -83,8 +84,8 @@ const v = /* @__PURE__ */ i.create({
|
|
|
83
84
|
}
|
|
84
85
|
});
|
|
85
86
|
export {
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
K as SlashCommand,
|
|
88
|
+
v as SlashCommandList,
|
|
88
89
|
l as renderCommandListDefault,
|
|
89
|
-
|
|
90
|
+
F as useFilterCommandList
|
|
90
91
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const d=require("react/jsx-runtime"),m=require("react"),h=require("./index-
|
|
1
|
+
"use strict";const d=require("react/jsx-runtime"),m=require("react"),h=require("./index-BUTn2LY6.cjs");require("./theme.cjs");const w=require("./index-BqL4vAWE.cjs"),v=require("./index-NsYff_Ni.cjs");function S({t:i}){const s=[{name:"format",title:i("editor.slash.format"),commands:[]},{name:"insert",title:i("editor.slash.insert"),commands:[]}];return w.HEADINGS.forEach(e=>{s[0].commands.push({name:`heading${e}`,label:i(e==="Paragraph"?"editor.paragraph.tooltip":`editor.heading.h${e}.tooltip`),aliases:[`h${e}`,"bt",`bt${e}`],iconName:`Heading${e}`,isActive:t=>e==="Paragraph"?!1:t.isActive("heading",{level:e})||!1,action:({editor:t,range:l})=>{const a=w.HEADINGS.find(u=>t.isActive("heading",{level:u}));if(e==="Paragraph"){a!==void 0&&a!=="Paragraph"&&t.commands.toggleHeading({level:a}),t.chain().focus().deleteRange(l).run();return}if(e){t.chain().focus().deleteRange(l).setHeading({level:e}).run();return}t.chain().focus().deleteRange(l).run()}})}),s[0].commands.push({name:"bulletList",label:i("editor.bulletlist.tooltip"),aliases:["ul","yxlb"],iconName:"List",isActive:e=>e.isActive("bulletList"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).toggleBulletList().run()}}),s[0].commands.push({name:"orderedlist",label:i("editor.orderedlist.tooltip"),aliases:["ol","yxlb"],iconName:"ListOrdered",isActive:e=>e.isActive("orderedList"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).toggleOrderedList().run()}}),s[0].commands.push({name:"taskList",label:i("editor.tasklist.tooltip"),iconName:"ListTodo",description:"Task list with todo items",aliases:["todo"],isActive:e=>e.isActive("taskList"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).toggleTaskList().run()}}),s[0].commands.push({name:"blockquote",label:i("editor.blockquote.tooltip"),description:"插入引入格式",aliases:["yr"],iconName:"TextQuote",isActive:e=>e.isActive("blockquote"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).setBlockquote().run()}}),s[0].commands.push({name:"codeBlock",label:i("editor.codeblock.tooltip"),iconName:"Code2",description:"Code block with syntax highlighting",shouldBeHidden:e=>e.isActive("columns"),isActive:e=>e.isActive("codeBlock"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).setCodeBlock().run()}}),s[1].commands.push({name:"image",label:i("editor.image.tooltip"),iconName:"ImageUp",description:"Insert a image",aliases:["image","tp","tupian"],shouldBeHidden:e=>e.isActive("columns"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).run();const l=h.EVENTS.UPLOAD_IMAGE(e.id);h.emit(l,!0)}}),s[1].commands.push({name:"video",label:i("editor.video.tooltip"),iconName:"Video",description:"Insert a video",aliases:["video","sp","shipin"],shouldBeHidden:e=>e.isActive("columns"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).run();const l=h.EVENTS.UPLOAD_VIDEO(e.id);h.emit(l,!0)}}),s[1].commands.push({name:"table",label:i("editor.table.tooltip"),iconName:"Table",description:"Insert a table",aliases:["table","bg","biaoge","biao"],shouldBeHidden:e=>e.isActive("columns"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).insertTable({rows:3,cols:3,withHeaderRow:!1}).run()}}),s[1].commands.push({name:"horizontalRule",label:i("editor.horizontalrule.tooltip"),iconName:"Minus",description:"Insert a horizontal divider",aliases:["hr","fgx","fg"],action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).setHorizontalRule().run()}}),s[1].commands.push({name:"columns",label:i("editor.columns.tooltip"),iconName:"Columns2",description:"Add two column content",action:({editor:e})=>{e.chain().focus().insertColumns({cols:2}).run()}}),s}function C(i,s){return i.map(l=>({...l,commands:l.commands.filter(a=>{const u=a.label.toLowerCase().trim(),x=s.toLowerCase().trim();if(a.aliases){const b=a.aliases.map(f=>f.toLowerCase().trim()),r=u.match(x),g=b.some(f=>f.match(x));return r||g}return u.match(x)})})).filter(l=>l.commands.length>0)}const y=v.y([]);function L(){const[i,s]=v.V(y);return[i,s]}function q(i,s){const[e]=L(),[t,l]=m.useState(0),[a,u]=m.useState(0),x=m.useRef(null),{t:b}=w.useLocale(),r=C(e,i.query),g=m.useRef([]);m.useImperativeHandle(s,()=>({onKeyDown:f})),m.useEffect(()=>{if(!x.current)return;const o=a*1e3+t,n=g.current[o];n&&n.scrollIntoView({behavior:"smooth",block:"nearest"})},[t,a]);function f({event:o}){return o.key==="ArrowUp"?(A(),!0):o.key==="ArrowDown"?(I(),!0):o.key==="Enter"?(R(),!0):!1}function A(){var c;if(r.length===0)return!1;let o=t-1,n=a;o<0&&(n=a-1,o=((c=r[n])==null?void 0:c.commands.length)-1||0),n<0&&(n=r.length-1,o=r[n].commands.length-1),l(o),u(n)}function I(){if(r.length===0)return!1;const o=r[a].commands;let n=t+1,c=a;o.length-1<n&&(n=0,c=a+1),r.length-1<c&&(c=0),l(n),u(c)}function R(){if(r.length===0||a===-1||t===-1)return!1;N(a,t)}function N(o,n){const c=r[o].commands[n];i==null||i.command(c)}function k(o,n){N(o,n)}function E(o,n,c){g.current[o*1e3+n]=c}return d.jsx("div",{className:"richtext-max-h-[min(80vh,24rem)] richtext-flex-wrap richtext-overflow-y-auto richtext-overflow-x-hidden richtext-rounded-md !richtext-border !richtext-border-solid !richtext-border-border richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none","data-richtext-portal":!0,ref:x,children:r!=null&&r.length?d.jsx("div",{className:"richtext-grid richtext-min-w-48 richtext-grid-cols-1 richtext-gap-0.5",children:r==null?void 0:r.map((o,n)=>d.jsxs(m.Fragment,{children:[d.jsx(h.Label,{className:"richtext-mx-[4px] richtext-mb-[4px] richtext-mt-[8px] !richtext-text-[0.65rem] richtext-uppercase",children:o.title}),o.commands.map((c,p)=>d.jsxs("button",{onClick:()=>k(n,p),ref:H=>E(n,p,H),className:h.cn("richtext-flex richtext-w-full richtext-items-center richtext-gap-3 richtext-rounded-sm !richtext-border-none !richtext-bg-transparent richtext-px-2 richtext-py-1.5 richtext-text-left richtext-text-sm richtext-text-foreground !richtext-outline-none richtext-transition-colors hover:!richtext-bg-accent",{"bg-item-active":a===n&&t===p}),children:[c.iconUrl&&d.jsx("img",{alt:"",className:"richtext-size-6",src:c.iconUrl}),c.iconName&&d.jsx(h.IconComponent,{className:"!richtext-mr-1 !richtext-text-lg",name:c.iconName}),c.label]},`command-${p}`))]},`slash-${o.title}`))}):d.jsx("div",{className:"richtext-p-3",children:d.jsx("span",{className:"richtext-text-xs richtext-text-foreground",children:b("editor.slash.empty")})})})}const D=m.forwardRef(q);exports.SlashCommandNodeView=D;exports.renderCommandListDefault=S;exports.useFilterCommandList=C;exports.useSignalCommandList=L;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as d, jsxs as b } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as y, useState as w, useRef as v, useImperativeHandle as S, useEffect as B, Fragment as D } from "react";
|
|
3
|
-
import { E as N, z as L, L as T,
|
|
3
|
+
import { E as N, z as L, L as T, I as V, c as z } from "./index-DHUN85fV.js";
|
|
4
4
|
import "./theme.js";
|
|
5
|
-
import { H as A, u as G } from "./index-
|
|
5
|
+
import { H as A, u as G } from "./index-BlXGgvT-.js";
|
|
6
6
|
import { y as $, V as q } from "./index-BG0kQamI.js";
|
|
7
7
|
function X({ t: i }) {
|
|
8
8
|
const a = [
|
|
@@ -25,7 +25,9 @@ function X({ t: i }) {
|
|
|
25
25
|
iconName: `Heading${e}`,
|
|
26
26
|
isActive: (t) => e === "Paragraph" ? !1 : t.isActive("heading", { level: e }) || !1,
|
|
27
27
|
action: ({ editor: t, range: l }) => {
|
|
28
|
-
const s = A.find(
|
|
28
|
+
const s = A.find(
|
|
29
|
+
(m) => t.isActive("heading", { level: m })
|
|
30
|
+
);
|
|
29
31
|
if (e === "Paragraph") {
|
|
30
32
|
s !== void 0 && s !== "Paragraph" && t.commands.toggleHeading({ level: s }), t.chain().focus().deleteRange(l).run();
|
|
31
33
|
return;
|
|
@@ -204,30 +206,26 @@ function F(i, a) {
|
|
|
204
206
|
return /* @__PURE__ */ d(
|
|
205
207
|
"div",
|
|
206
208
|
{
|
|
207
|
-
className: "richtext-max-h-[min(80vh,24rem)] richtext-flex-wrap richtext-overflow-y-auto richtext-overflow-x-hidden
|
|
209
|
+
className: "richtext-max-h-[min(80vh,24rem)] richtext-flex-wrap richtext-overflow-y-auto richtext-overflow-x-hidden richtext-rounded-md !richtext-border !richtext-border-solid !richtext-border-border richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none",
|
|
208
210
|
"data-richtext-portal": !0,
|
|
209
211
|
ref: u,
|
|
210
212
|
children: r != null && r.length ? /* @__PURE__ */ d("div", { className: "richtext-grid richtext-min-w-48 richtext-grid-cols-1 richtext-gap-0.5", children: r == null ? void 0 : r.map((o, n) => /* @__PURE__ */ b(D, { children: [
|
|
211
|
-
/* @__PURE__ */ d(T, { className: "richtext-mx-[4px] richtext-mb-[4px] richtext-mt-[8px] !richtext-text-[0.65rem] richtext-uppercase
|
|
213
|
+
/* @__PURE__ */ d(T, { className: "richtext-mx-[4px] richtext-mb-[4px] richtext-mt-[8px] !richtext-text-[0.65rem] richtext-uppercase", children: o.title }),
|
|
212
214
|
o.commands.map((c, x) => /* @__PURE__ */ b(
|
|
213
215
|
"button",
|
|
214
216
|
{
|
|
215
217
|
onClick: () => R(n, x),
|
|
216
218
|
ref: (E) => H(n, x, E),
|
|
217
|
-
className:
|
|
218
|
-
"bg-
|
|
219
|
-
|
|
219
|
+
className: z(
|
|
220
|
+
"richtext-flex richtext-w-full richtext-items-center richtext-gap-3 richtext-rounded-sm !richtext-border-none !richtext-bg-transparent richtext-px-2 richtext-py-1.5 richtext-text-left richtext-text-sm richtext-text-foreground !richtext-outline-none richtext-transition-colors hover:!richtext-bg-accent",
|
|
221
|
+
{
|
|
222
|
+
"bg-item-active": s === n && t === x
|
|
223
|
+
}
|
|
224
|
+
),
|
|
220
225
|
children: [
|
|
221
|
-
c.iconUrl && /* @__PURE__ */ d(
|
|
222
|
-
"img",
|
|
223
|
-
{
|
|
224
|
-
alt: "",
|
|
225
|
-
className: "richtext-size-6",
|
|
226
|
-
src: c.iconUrl
|
|
227
|
-
}
|
|
228
|
-
),
|
|
226
|
+
c.iconUrl && /* @__PURE__ */ d("img", { alt: "", className: "richtext-size-6", src: c.iconUrl }),
|
|
229
227
|
c.iconName && /* @__PURE__ */ d(
|
|
230
|
-
|
|
228
|
+
V,
|
|
231
229
|
{
|
|
232
230
|
className: "!richtext-mr-1 !richtext-text-lg",
|
|
233
231
|
name: c.iconName
|
package/lib/Strike.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-zig3Dj7A.cjs"),s=require("react/jsx-runtime"),o=require("./index-BUTn2LY6.cjs");require("react");require("./theme.cjs");var m=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,h=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,S=r.Mark.create({name:"strike",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:t=>t.includes("line-through")?{}:!1}]},renderHTML({HTMLAttributes:t}){return["s",r.mergeAttributes(this.options.HTMLAttributes,t),0]},markdownTokenName:"del",parseMarkdown:(t,e)=>e.applyMark("strike",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`~~${e.renderChildren(t)}~~`,addCommands(){return{setStrike:()=>({commands:t})=>t.setMark(this.name),toggleStrike:()=>({commands:t})=>t.toggleMark(this.name),unsetStrike:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[r.markInputRule({find:m,type:this.type})]},addPasteRules(){return[r.markPasteRule({find:h,type:this.type})]}});function f(){const t=o.useButtonProps(d.name),{icon:e=void 0,tooltip:i=void 0,shortcutKeys:n=void 0,tooltipOptions:c={},action:a=void 0,isActive:l=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:k,disabled:u,update:p}=o.useToggleActive(l),g=()=>{u||a&&(a(),p())};return t?s.jsx(o.ActionButton,{action:g,dataState:k,disabled:u,icon:e,shortcutKeys:n,tooltip:i,tooltipOptions:c}):s.jsx(s.Fragment,{})}const d=S.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:i,extension:n})=>({componentProps:{action:()=>e.commands.toggleStrike(),isActive:()=>e.isActive("strike")||!1,disabled:!1,icon:"Strikethrough",shortcutKeys:n.options.shortcutKeys??["shift","mod","S"],tooltip:i("editor.strike.tooltip")}})}}});exports.RichTextStrike=f;exports.Strike=d;
|
package/lib/Strike.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { M as m,
|
|
1
|
+
import { M as m, f as k, h as l, m as g } from "./index-mfGK4pFo.js";
|
|
2
2
|
import { jsx as n, Fragment as h } from "react/jsx-runtime";
|
|
3
|
-
import { u as f, d as M, A as S } from "./index-
|
|
3
|
+
import { u as f, d as M, A as S } from "./index-DHUN85fV.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import "./theme.js";
|
|
6
6
|
var v = /(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/, A = /(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g, y = m.create({
|
|
@@ -88,7 +88,6 @@ function L() {
|
|
|
88
88
|
) : /* @__PURE__ */ n(h, {});
|
|
89
89
|
}
|
|
90
90
|
const x = /* @__PURE__ */ y.extend({
|
|
91
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
92
91
|
//@ts-expect-error
|
|
93
92
|
addOptions() {
|
|
94
93
|
var t;
|