@remarkablejames/editor 0.0.5 → 0.0.6

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.
Files changed (139) hide show
  1. package/lib/{ActionMenuButton-DBZjUu-F.js → ActionMenuButton-CpmEfz31.js} +1 -1
  2. package/lib/{ActionMenuButton-C6jGtl3k.cjs → ActionMenuButton-NfiUDE60.cjs} +1 -1
  3. package/lib/Attachment.cjs +1 -1
  4. package/lib/Attachment.js +2 -2
  5. package/lib/Blockquote.cjs +1 -1
  6. package/lib/Blockquote.js +1 -1
  7. package/lib/Bold.cjs +1 -1
  8. package/lib/Bold.js +1 -1
  9. package/lib/BulletList.cjs +1 -1
  10. package/lib/BulletList.js +1 -1
  11. package/lib/Callout.cjs +1 -1
  12. package/lib/Callout.js +15 -16
  13. package/lib/Clear.cjs +1 -1
  14. package/lib/Clear.js +1 -1
  15. package/lib/Code.cjs +1 -1
  16. package/lib/Code.js +1 -1
  17. package/lib/CodeBlock.cjs +1 -1
  18. package/lib/CodeBlock.js +31 -32
  19. package/lib/CodeView.cjs +1 -1
  20. package/lib/CodeView.js +1 -1
  21. package/lib/Color.cjs +1 -1
  22. package/lib/Color.js +2 -2
  23. package/lib/Column.cjs +1 -1
  24. package/lib/Column.js +1 -1
  25. package/lib/{Drawer-DTCwtJEs.js → Drawer-CayP4Ww4.js} +13 -13
  26. package/lib/{Drawer-B031ezmA.cjs → Drawer-DlgdaO_B.cjs} +1 -1
  27. package/lib/Drawer.cjs +1 -1
  28. package/lib/Drawer.js +2 -2
  29. package/lib/Emoji.cjs +1 -1
  30. package/lib/Emoji.js +8 -8
  31. package/lib/Excalidraw.cjs +1 -1
  32. package/lib/Excalidraw.js +36 -36
  33. package/lib/ExportPdf.cjs +1 -1
  34. package/lib/ExportPdf.js +1 -1
  35. package/lib/ExportWord.cjs +1 -1
  36. package/lib/ExportWord.js +1 -1
  37. package/lib/FontFamily.cjs +1 -1
  38. package/lib/FontFamily.js +3 -3
  39. package/lib/FontSize.cjs +1 -1
  40. package/lib/FontSize.js +3 -3
  41. package/lib/Heading.cjs +1 -1
  42. package/lib/Heading.js +8 -8
  43. package/lib/Highlight.cjs +1 -1
  44. package/lib/Highlight.js +2 -2
  45. package/lib/History.cjs +1 -1
  46. package/lib/History.js +1 -1
  47. package/lib/HorizontalRule.cjs +1 -1
  48. package/lib/HorizontalRule.js +1 -1
  49. package/lib/{Iframe-D-UYBxiv.js → Iframe-C6Sb97KS.js} +5 -5
  50. package/lib/{Iframe-BUK2pkOL.cjs → Iframe-CANdxSpV.cjs} +1 -1
  51. package/lib/Iframe.cjs +1 -1
  52. package/lib/Iframe.js +2 -2
  53. package/lib/Image.cjs +1 -1
  54. package/lib/Image.js +3 -3
  55. package/lib/ImageGif.cjs +1 -1
  56. package/lib/ImageGif.js +19 -19
  57. package/lib/ImportWord.cjs +1 -1
  58. package/lib/ImportWord.js +12 -12
  59. package/lib/{Indent-Bvt-Qwar.js → Indent-CcFe8py3.js} +1 -1
  60. package/lib/{Indent-_y6N8MIQ.cjs → Indent-DuB2U6Cs.cjs} +1 -1
  61. package/lib/Indent.cjs +1 -1
  62. package/lib/Indent.js +1 -1
  63. package/lib/Italic.cjs +1 -1
  64. package/lib/Italic.js +1 -1
  65. package/lib/{Katex-CJDtvu-v.js → Katex-Bp6AnIUF.js} +3 -4
  66. package/lib/Katex-DFU1unCm.cjs +4 -0
  67. package/lib/Katex.cjs +1 -1
  68. package/lib/Katex.js +1 -1
  69. package/lib/LineHeight.cjs +1 -1
  70. package/lib/LineHeight.js +2 -2
  71. package/lib/Link.cjs +1 -1
  72. package/lib/Link.js +1 -1
  73. package/lib/{LinkEditBlock-Cdqwj_NU.js → LinkEditBlock-BiHumIJR.js} +7 -7
  74. package/lib/{LinkEditBlock-ewTApx0K.cjs → LinkEditBlock-C2zX0WVK.cjs} +1 -1
  75. package/lib/Mermaid-B8lQSOGn.cjs +2 -0
  76. package/lib/{Mermaid-CnMYVX1P.js → Mermaid-Dlx0XTJj.js} +23 -24
  77. package/lib/Mermaid.cjs +1 -1
  78. package/lib/Mermaid.js +1 -1
  79. package/lib/MoreMark.cjs +1 -1
  80. package/lib/MoreMark.js +2 -2
  81. package/lib/OrderedList.cjs +1 -1
  82. package/lib/OrderedList.js +1 -1
  83. package/lib/PaywallSeparator.cjs +1 -0
  84. package/lib/PaywallSeparator.js +140 -0
  85. package/lib/SearchAndReplace.cjs +1 -1
  86. package/lib/SearchAndReplace.js +7 -7
  87. package/lib/SlashCommand.cjs +1 -1
  88. package/lib/SlashCommand.js +2 -2
  89. package/lib/SlashCommandNodeView-BfWNWGRr.cjs +1 -0
  90. package/lib/{SlashCommandNodeView-DcoLvt_6.js → SlashCommandNodeView-DzmsYaNc.js} +73 -57
  91. package/lib/Strike.cjs +1 -1
  92. package/lib/Strike.js +1 -1
  93. package/lib/{Table-B8CHl8jK.cjs → Table-BfM6ywrZ.cjs} +1 -1
  94. package/lib/{Table-Cu12PvQ_.js → Table-IH34r4jd.js} +2 -2
  95. package/lib/Table.cjs +1 -1
  96. package/lib/Table.js +1 -1
  97. package/lib/TaskList.cjs +1 -1
  98. package/lib/TaskList.js +1 -1
  99. package/lib/TextAlign.cjs +1 -1
  100. package/lib/TextAlign.js +2 -2
  101. package/lib/TextDirection.cjs +1 -1
  102. package/lib/TextDirection.js +2 -2
  103. package/lib/TextUnderline.cjs +1 -1
  104. package/lib/TextUnderline.js +1 -1
  105. package/lib/{Twitter-CrX4XY1j.js → Twitter-FVQKPaq6.js} +7 -7
  106. package/lib/{Twitter-6HYP_upt.cjs → Twitter-axcoCgD7.cjs} +1 -1
  107. package/lib/Twitter.cjs +1 -1
  108. package/lib/Twitter.js +1 -1
  109. package/lib/Video.cjs +1 -1
  110. package/lib/Video.js +3 -3
  111. package/lib/bubble.cjs +3 -3
  112. package/lib/bubble.js +81 -83
  113. package/lib/{dropdown-menu-CVwXaR3Z.js → dropdown-menu-Ce2TorkG.js} +1 -1
  114. package/lib/{dropdown-menu-XIrQk3jr.cjs → dropdown-menu-DirUyRAI.cjs} +1 -1
  115. package/lib/extensions/PaywallSeparator/PaywallSeparator.d.ts +35 -0
  116. package/lib/extensions/PaywallSeparator/components/PaywallIcon.d.ts +2 -0
  117. package/lib/extensions/PaywallSeparator/components/PaywallSeparatorView.d.ts +17 -0
  118. package/lib/extensions/PaywallSeparator/components/RichTextPaywallSeparator.d.ts +1 -0
  119. package/lib/extensions/PaywallSeparator/components/index.d.ts +2 -0
  120. package/lib/extensions/PaywallSeparator/index.d.ts +1 -0
  121. package/lib/index-BynXHtjJ.cjs +28 -0
  122. package/lib/{index-B0d-u29p.js → index-CnKgiZFQ.js} +1201 -1050
  123. package/lib/index.cjs +1 -1
  124. package/lib/index.js +27 -27
  125. package/lib/{popover-0syCfWYi.cjs → popover-BdLwAlrM.cjs} +1 -1
  126. package/lib/{popover-DDT8YRht.js → popover-BzJyaFvy.js} +1 -1
  127. package/lib/{separator-D8lOAf8f.cjs → separator-CoQaQmFK.cjs} +1 -1
  128. package/lib/{separator-DRGTEiX4.js → separator-D-fyzbfx.js} +14 -14
  129. package/lib/style.css +1 -1
  130. package/lib/types.d.ts +5 -5
  131. package/package.json +14 -1
  132. package/lib/Katex-bJXkt-VP.cjs +0 -4
  133. package/lib/Mermaid-Dwz9o-yM.cjs +0 -2
  134. package/lib/SlashCommandNodeView-BMgQJ4xT.cjs +0 -1
  135. package/lib/index-De9MZVWQ.cjs +0 -28
  136. package/lib/select-D9wQw2qB.js +0 -120
  137. package/lib/select-DTNz0ZeE.cjs +0 -1
  138. package/lib/textarea-DfVzbMr5.js +0 -20
  139. package/lib/textarea-DpkwluT0.cjs +0 -1
@@ -1,6 +1,6 @@
1
1
  import { O as u } from "./index-DZj2z9_1.js";
2
2
  import { jsx as n, Fragment as l } from "react/jsx-runtime";
3
- import { u as f, d as v, A as O } from "./index-B0d-u29p.js";
3
+ import { u as f, d as v, A as O } from "./index-CnKgiZFQ.js";
4
4
  import "react";
5
5
  import "./theme.js";
6
6
  function K() {
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),a=require("./index-BynXHtjJ.cjs");require("react");require("./theme.cjs");const r=require("./clsx-CXbNJWDD.cjs");function h(){const e=a.useButtonProps(c.name),{icon:n=void 0,tooltip:s=void 0,shortcutKeys:l=void 0,tooltipOptions:i={},action:o=void 0,isActive:p=void 0}=(e==null?void 0:e.componentProps)??{},{dataState:u,disabled:d,update:y}=a.useToggleActive(p),x=()=>{d||o&&(o(),y())};return e?t.jsx(a.ActionButton,{action:x,dataState:u,disabled:d,icon:n,shortcutKeys:l,tooltip:s,tooltipOptions:i}):t.jsx(t.Fragment,{})}const m=({editor:e})=>e.isEditable?t.jsxs(r.NodeViewWrapper,{as:"div","data-type":"paywallSeparator",className:"richtext-relative richtext-flex richtext-items-center richtext-select-none richtext-my-4",children:[t.jsx("div",{className:"richtext-absolute richtext-inset-x-0",style:{height:"2px",backgroundImage:"linear-gradient(90deg, #fdba74, #f97316, #fdba74)"}}),t.jsx("div",{className:"richtext-relative richtext-mx-auto",children:t.jsx("div",{className:"richtext-rounded-sm richtext-px-3 richtext-py-1 richtext-text-xs richtext-font-semibold richtext-text-orange-700 richtext-shadow-sm",style:{background:"rgba(255, 255, 255, 0.95)",backdropFilter:"blur(4px)",border:"1px solid #d1d5db",outline:"1px solid #f3f4f6"},children:"🔒 Paywall boundary — readers without access will not see anything below this line"})})]}):t.jsx(r.NodeViewWrapper,{as:"div","data-type":"paywallSeparator",style:{display:"none"}}),c=r.Node3.create({name:"paywallSeparator",addOptions(){return{HTMLAttributes:{},divider:!1,spacer:!1,toolbar:!0,button:({editor:e})=>({component:a.ActionButton,componentProps:{action:()=>e.commands.insertPaywall(),disabled:!e.can().insertPaywall(),icon:"PaywallIcon",shortcutKeys:["mod","alt","P"],tooltip:"Insert paywall separator"}})}},group:"block",selectable:!0,atom:!0,draggable:!0,parseHTML(){return[{tag:'div[data-type="paywallSeparator"]'}]},renderHTML({HTMLAttributes:e}){return["div",r.mergeAttributes(this.options.HTMLAttributes,e,{"data-type":"paywallSeparator"}),["hr"]]},addNodeView(){return r.ReactNodeViewRenderer(m)},addCommands(){return{insertPaywall:()=>({commands:e,state:n,dispatch:s})=>{const{doc:l}=n;let i=!1;return l.descendants(o=>{if(o.type.name==="paywallSeparator")return i=!0,!1}),i?(s!==void 0&&a.toast({title:"Paywall already added",description:"Only one paywall separator is allowed per document. Remove the existing one before adding another.",variant:"destructive",duration:4e3}),!1):e.insertContent({type:this.name})}}},addKeyboardShortcuts(){return{"Mod-Alt-p":()=>this.editor.commands.insertPaywall()}}});exports.PaywallSeparator=c;exports.RichTextPaywallSeparator=h;
@@ -0,0 +1,140 @@
1
+ import { jsx as e, Fragment as y, jsxs as h } from "react/jsx-runtime";
2
+ import { u as x, d as w, A as d, F as b } from "./index-CnKgiZFQ.js";
3
+ import "react";
4
+ import "./theme.js";
5
+ import { h as l, N as f, k as v, m as g } from "./clsx-BUPZHhq3.js";
6
+ function H() {
7
+ const t = x(S.name), {
8
+ icon: o = void 0,
9
+ tooltip: i = void 0,
10
+ shortcutKeys: s = void 0,
11
+ tooltipOptions: a = {},
12
+ action: r = void 0,
13
+ isActive: c = void 0
14
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: p, disabled: n, update: u } = w(c), m = () => {
15
+ n || r && (r(), u());
16
+ };
17
+ return t ? /* @__PURE__ */ e(
18
+ d,
19
+ {
20
+ action: m,
21
+ dataState: p,
22
+ disabled: n,
23
+ icon: o,
24
+ shortcutKeys: s,
25
+ tooltip: i,
26
+ tooltipOptions: a
27
+ }
28
+ ) : /* @__PURE__ */ e(y, {});
29
+ }
30
+ const P = ({ editor: t }) => t.isEditable ? /* @__PURE__ */ h(
31
+ l,
32
+ {
33
+ as: "div",
34
+ "data-type": "paywallSeparator",
35
+ className: "richtext-relative richtext-flex richtext-items-center richtext-select-none richtext-my-4",
36
+ children: [
37
+ /* @__PURE__ */ e(
38
+ "div",
39
+ {
40
+ className: "richtext-absolute richtext-inset-x-0",
41
+ style: {
42
+ height: "2px",
43
+ backgroundImage: "linear-gradient(90deg, #fdba74, #f97316, #fdba74)"
44
+ }
45
+ }
46
+ ),
47
+ /* @__PURE__ */ e("div", { className: "richtext-relative richtext-mx-auto", children: /* @__PURE__ */ e(
48
+ "div",
49
+ {
50
+ className: "richtext-rounded-sm richtext-px-3 richtext-py-1 richtext-text-xs richtext-font-semibold richtext-text-orange-700 richtext-shadow-sm",
51
+ style: {
52
+ background: "rgba(255, 255, 255, 0.95)",
53
+ backdropFilter: "blur(4px)",
54
+ border: "1px solid #d1d5db",
55
+ outline: "1px solid #f3f4f6"
56
+ },
57
+ children: "🔒 Paywall boundary — readers without access will not see anything below this line"
58
+ }
59
+ ) })
60
+ ]
61
+ }
62
+ ) : /* @__PURE__ */ e(
63
+ l,
64
+ {
65
+ as: "div",
66
+ "data-type": "paywallSeparator",
67
+ style: { display: "none" }
68
+ }
69
+ ), S = /* @__PURE__ */ f.create({
70
+ name: "paywallSeparator",
71
+ addOptions() {
72
+ return {
73
+ HTMLAttributes: {},
74
+ divider: !1,
75
+ spacer: !1,
76
+ toolbar: !0,
77
+ button: ({ editor: t }) => ({
78
+ component: d,
79
+ componentProps: {
80
+ action: () => t.commands.insertPaywall(),
81
+ disabled: !t.can().insertPaywall(),
82
+ icon: "PaywallIcon",
83
+ shortcutKeys: ["mod", "alt", "P"],
84
+ tooltip: "Insert paywall separator"
85
+ }
86
+ })
87
+ };
88
+ },
89
+ group: "block",
90
+ selectable: !0,
91
+ atom: !0,
92
+ draggable: !0,
93
+ parseHTML() {
94
+ return [
95
+ {
96
+ tag: 'div[data-type="paywallSeparator"]'
97
+ }
98
+ ];
99
+ },
100
+ renderHTML({ HTMLAttributes: t }) {
101
+ return [
102
+ "div",
103
+ g(this.options.HTMLAttributes, t, {
104
+ "data-type": "paywallSeparator"
105
+ }),
106
+ ["hr"]
107
+ ];
108
+ },
109
+ addNodeView() {
110
+ return v(P);
111
+ },
112
+ addCommands() {
113
+ return {
114
+ insertPaywall: () => ({ commands: t, state: o, dispatch: i }) => {
115
+ const { doc: s } = o;
116
+ let a = !1;
117
+ return s.descendants((r) => {
118
+ if (r.type.name === "paywallSeparator")
119
+ return a = !0, !1;
120
+ }), a ? (i !== void 0 && b({
121
+ title: "Paywall already added",
122
+ description: "Only one paywall separator is allowed per document. Remove the existing one before adding another.",
123
+ variant: "destructive",
124
+ duration: 4e3
125
+ }), !1) : t.insertContent({
126
+ type: this.name
127
+ });
128
+ }
129
+ };
130
+ },
131
+ addKeyboardShortcuts() {
132
+ return {
133
+ "Mod-Alt-p": () => this.editor.commands.insertPaywall()
134
+ };
135
+ }
136
+ });
137
+ export {
138
+ S as PaywallSeparator,
139
+ H as RichTextPaywallSeparator
140
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("./clsx-CXbNJWDD.cjs"),D=require("@tiptap/pm/state"),b=require("@tiptap/pm/view"),a=require("react/jsx-runtime"),g=require("react"),x=require("./index-De9MZVWQ.cjs");require("./theme.cjs");const J=require("./index-DgOXAdKt.cjs"),q=require("./popover-0syCfWYi.cjs");function Q(){const{t}=J.useLocale(),e=x.useEditorInstance(),s=x.useButtonProps(F.name),{icon:n=void 0,tooltip:u=void 0,shortcutKeys:o=void 0,tooltipOptions:c={},action:h=void 0,isActive:m=void 0}=(s==null?void 0:s.componentProps)??{},{disabled:i}=x.useActive(m),[R,f]=g.useState(!1),[p,T]=g.useState(""),[C,N]=g.useState(""),[j,M]=g.useState(!1),[V,B]=g.useState(""),w=()=>{var r,l,v,d;B(`${((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||h&&h()},P=(r=!1)=>{var l,v,d,S,A,L,y,$;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),(L=(A=e==null?void 0:e.commands)==null?void 0:A.setReplaceTerm)==null||L.call(A,C),($=(y=e==null?void 0:e.commands)==null?void 0:y.setCaseSensitive)==null||$.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()||E(),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()},E=()=>{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),B("0/0")};return s?a.jsxs(q.Popover,{onOpenChange:f,open:R,children:[a.jsx(q.PopoverTrigger,{asChild:!0,disabled:i,children:a.jsx(x.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(x.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(x.Input,{autoFocus:!0,className:"richtext-w-full",onChange:r=>T(r.target.value),placeholder:"Text",required:!0,type:"text",value:p}),a.jsx(x.Button,{className:"richtext-flex-1",onClick:U,children:a.jsx(x.IconComponent,{name:"ChevronUp"})}),a.jsx(x.Button,{className:"richtext-flex-1",onClick:H,children:a.jsx(x.IconComponent,{name:"ChevronDown"})}),a.jsx(x.Button,{className:"richtext-flex-1",onClick:E,children:"Clear"})]}),a.jsx(x.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(x.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(x.Checkbox,{checked:j,onCheckedChange:r=>{M(r),e.commands.setCaseSensitive(r)}}),a.jsx(x.Label,{children:t("editor.replace.caseSensitive")})]}),a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[a.jsx(x.Button,{className:"richtext-flex-1",onClick:W,children:t("editor.replace.dialog.text")}),a.jsx(x.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=[],h=0;if(!e)return{decorationsToReturn:b.DecorationSet.empty,results:[]};t==null||t.descendants((m,i)=>{m.isText?c[h]?c[h]={text:c[h].text+m.text,pos:c[h].pos}:c[h]={text:`${m.text}`,pos:i}:h+=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],h=c-o-t.length+s,{from:m,to:i}=n[u];return n[u]={to:i-h,from:m-h},[h,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:h,to:m}=o[c];s.insertText(t,h,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:h},m){const{searchTerm:i,lastSearchTerm:R,caseSensitive:f,lastCaseSensitive:p,resultIndex:T,lastResultIndex:C}=t.storage.searchAndReplace;if(!h&&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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("./clsx-CXbNJWDD.cjs"),D=require("@tiptap/pm/state"),b=require("@tiptap/pm/view"),a=require("react/jsx-runtime"),g=require("react"),x=require("./index-BynXHtjJ.cjs");require("./theme.cjs");const q=require("./popover-BdLwAlrM.cjs"),J=require("./index-DgOXAdKt.cjs");function Q(){const{t}=J.useLocale(),e=x.useEditorInstance(),s=x.useButtonProps(F.name),{icon:n=void 0,tooltip:u=void 0,shortcutKeys:o=void 0,tooltipOptions:c={},action:h=void 0,isActive:m=void 0}=(s==null?void 0:s.componentProps)??{},{disabled:i}=x.useActive(m),[R,f]=g.useState(!1),[p,T]=g.useState(""),[C,N]=g.useState(""),[j,M]=g.useState(!1),[V,B]=g.useState(""),w=()=>{var r,l,v,d;B(`${((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||h&&h()},P=(r=!1)=>{var l,v,d,S,A,L,y,$;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),(L=(A=e==null?void 0:e.commands)==null?void 0:A.setReplaceTerm)==null||L.call(A,C),($=(y=e==null?void 0:e.commands)==null?void 0:y.setCaseSensitive)==null||$.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()||E(),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()},E=()=>{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),B("0/0")};return s?a.jsxs(q.Popover,{onOpenChange:f,open:R,children:[a.jsx(q.PopoverTrigger,{asChild:!0,disabled:i,children:a.jsx(x.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(x.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(x.Input,{autoFocus:!0,className:"richtext-w-full",onChange:r=>T(r.target.value),placeholder:"Text",required:!0,type:"text",value:p}),a.jsx(x.Button,{className:"richtext-flex-1",onClick:U,children:a.jsx(x.IconComponent,{name:"ChevronUp"})}),a.jsx(x.Button,{className:"richtext-flex-1",onClick:H,children:a.jsx(x.IconComponent,{name:"ChevronDown"})}),a.jsx(x.Button,{className:"richtext-flex-1",onClick:E,children:"Clear"})]}),a.jsx(x.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(x.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(x.Checkbox,{checked:j,onCheckedChange:r=>{M(r),e.commands.setCaseSensitive(r)}}),a.jsx(x.Label,{children:t("editor.replace.caseSensitive")})]}),a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[a.jsx(x.Button,{className:"richtext-flex-1",onClick:W,children:t("editor.replace.dialog.text")}),a.jsx(x.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=[],h=0;if(!e)return{decorationsToReturn:b.DecorationSet.empty,results:[]};t==null||t.descendants((m,i)=>{m.isText?c[h]?c[h]={text:c[h].text+m.text,pos:c[h].pos}:c[h]={text:`${m.text}`,pos:i}:h+=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],h=c-o-t.length+s,{from:m,to:i}=n[u];return n[u]={to:i-h,from:m-h},[h,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:h,to:m}=o[c];s.insertText(t,h,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:h},m){const{searchTerm:i,lastSearchTerm:R,caseSensitive:f,lastCaseSensitive:p,resultIndex:T,lastResultIndex:C}=t.storage.searchAndReplace;if(!h&&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;
@@ -3,12 +3,12 @@ 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-B0d-u29p.js";
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-CnKgiZFQ.js";
7
7
  import "./theme.js";
8
- import { u as ce } from "./index-BGd2HiwP.js";
9
- import { P as ae, a as le, b as oe } from "./popover-DDT8YRht.js";
8
+ import { P as ce, a as ae, b as le } from "./popover-BzJyaFvy.js";
9
+ import { u as oe } from "./index-BGd2HiwP.js";
10
10
  function Ce() {
11
- const { t } = ce(), e = ee(), s = te(xe.name), {
11
+ const { t } = oe(), e = ee(), s = te(xe.name), {
12
12
  icon: n = void 0,
13
13
  tooltip: i = void 0,
14
14
  shortcutKeys: l = void 0,
@@ -61,8 +61,8 @@ 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(ae, { onOpenChange: d, open: f, children: [
65
- /* @__PURE__ */ u(le, { asChild: !0, disabled: o, children: /* @__PURE__ */ u(
64
+ return s ? /* @__PURE__ */ T(ce, { onOpenChange: d, open: f, children: [
65
+ /* @__PURE__ */ u(ae, { asChild: !0, disabled: o, children: /* @__PURE__ */ u(
66
66
  re,
67
67
  {
68
68
  action: H,
@@ -73,7 +73,7 @@ function Ce() {
73
73
  tooltipOptions: c
74
74
  }
75
75
  ) }),
76
- /* @__PURE__ */ T(oe, { align: "start", className: "richtext-w-full", hideWhenDetached: !0, side: "bottom", children: [
76
+ /* @__PURE__ */ T(le, { align: "start", className: "richtext-w-full", hideWhenDetached: !0, side: "bottom", children: [
77
77
  /* @__PURE__ */ T("div", { className: "richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between", children: [
78
78
  /* @__PURE__ */ u(B, { children: t("editor.search.dialog.text") }),
79
79
  /* @__PURE__ */ u("span", { className: "richtext-font-semibold", children: W })
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./clsx-CXbNJWDD.cjs"),u=require("@tiptap/pm/state"),d=require("./index-Cs6cp0Y6.cjs"),r=require("./SlashCommandNodeView-BMgQJ4xT.cjs"),a=require("./updatePosition-Cjuj2E26.cjs"),s=require("react/jsx-runtime"),l=require("react"),m=require("./index-DgOXAdKt.cjs");function c({commandList:e}){const[,t]=r.useSignalCommandList(),{t:n}=m.useLocale();return l.useEffect(()=>{if(!(e!=null&&e.length)){const o=r.renderCommandListDefault({t:n});t(o);return}t(e)},[n,e]),s.jsx(s.Fragment,{})}const C=i.Extension.create({name:"richtextSlashCommand",priority:200,addProseMirrorPlugins(){return[d.Suggestion({pluginKey:new u.PluginKey("richtextSlashCommandPlugin"),editor:this.editor,char:"/",command:({editor:e,range:t,props:n})=>{const{view:o}=e;n.action({editor:e,range:t}),o.focus()},render:()=>{let e;return{onStart:t=>{t.clientRect&&(e=new i.ReactRenderer(r.SlashCommandNodeView,{props:t,editor:t.editor}),e.element.style.position="absolute",document.body.appendChild(e.element),a.updatePosition(t.editor,e.element))},onUpdate(t){e.updateProps(t),t.clientRect&&a.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=C;exports.SlashCommandList=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./clsx-CXbNJWDD.cjs"),u=require("@tiptap/pm/state"),d=require("./index-Cs6cp0Y6.cjs"),r=require("./SlashCommandNodeView-BfWNWGRr.cjs"),a=require("./updatePosition-Cjuj2E26.cjs"),s=require("react/jsx-runtime"),l=require("react"),m=require("./index-DgOXAdKt.cjs");function c({commandList:e}){const[,t]=r.useSignalCommandList(),{t:n}=m.useLocale();return l.useEffect(()=>{if(!(e!=null&&e.length)){const o=r.renderCommandListDefault({t:n});t(o);return}t(e)},[n,e]),s.jsx(s.Fragment,{})}const C=i.Extension.create({name:"richtextSlashCommand",priority:200,addProseMirrorPlugins(){return[d.Suggestion({pluginKey:new u.PluginKey("richtextSlashCommandPlugin"),editor:this.editor,char:"/",command:({editor:e,range:t,props:n})=>{const{view:o}=e;n.action({editor:e,range:t}),o.focus()},render:()=>{let e;return{onStart:t=>{t.clientRect&&(e=new i.ReactRenderer(r.SlashCommandNodeView,{props:t,editor:t.editor}),e.element.style.position="absolute",document.body.appendChild(e.element),a.updatePosition(t.editor,e.element))},onUpdate(t){e.updateProps(t),t.clientRect&&a.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=C;exports.SlashCommandList=c;
@@ -1,8 +1,8 @@
1
1
  import { E as i, R as a } from "./clsx-BUPZHhq3.js";
2
2
  import { PluginKey as m } from "@tiptap/pm/state";
3
3
  import { S as s } from "./index-D4M4hrH4.js";
4
- import { u, r as l, S as d } from "./SlashCommandNodeView-DcoLvt_6.js";
5
- import { a as b } from "./SlashCommandNodeView-DcoLvt_6.js";
4
+ import { u, r as l, S as d } from "./SlashCommandNodeView-DzmsYaNc.js";
5
+ import { a as b } from "./SlashCommandNodeView-DzmsYaNc.js";
6
6
  import { u as o } from "./updatePosition-C294Pixi.js";
7
7
  import { jsx as f, Fragment as c } from "react/jsx-runtime";
8
8
  import { useEffect as h } from "react";
@@ -0,0 +1 @@
1
+ "use strict";const d=require("react/jsx-runtime"),u=require("react"),x=require("./index-BynXHtjJ.cjs");require("./theme.cjs");const b=require("./index-DgOXAdKt.cjs"),C=require("./index-NsYff_Ni.cjs");function H({t:n}){const o=[{name:"format",title:n("editor.slash.format"),commands:[]},{name:"insert",title:n("editor.slash.insert"),commands:[]}];return b.HEADINGS.forEach(e=>{o[0].commands.push({name:`heading${e}`,label:n(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 s=b.HEADINGS.find(m=>t.isActive("heading",{level:m}));if(e==="Paragraph"){s!==void 0&&s!=="Paragraph"&&t.commands.toggleHeading({level:s}),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()}})}),o[0].commands.push({name:"bulletList",label:n("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()}}),o[0].commands.push({name:"orderedlist",label:n("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()}}),o[0].commands.push({name:"taskList",label:n("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()}}),o[0].commands.push({name:"blockquote",label:n("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()}}),o[0].commands.push({name:"codeBlock",label:n("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()}}),o[1].commands.push({name:"image",label:n("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=x.EVENTS.UPLOAD_IMAGE(e.id);x.emit(l,!0)}}),o[1].commands.push({name:"table",label:n("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()}}),o[1].commands.push({name:"horizontalRule",label:n("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()}}),o[1].commands.push({name:"paywallSeparator",label:"Paywall Separator",iconName:"PaywallIcon",description:"Mark where free content ends and premium content begins",aliases:["paywall","pw","premium","lock"],shouldBeHidden:e=>{let t=!1;return e.state.doc.descendants(l=>{if(l.type.name==="paywallSeparator")return t=!0,!1}),t},action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).insertPaywall().run()}}),o[1].commands.push({name:"columns",label:n("editor.columns.tooltip"),iconName:"Columns2",description:"Add two column content",action:({editor:e})=>{e.chain().focus().insertColumns({cols:2}).run()}}),o}function N(n,o){return n.map(t=>({...t,commands:t.commands.filter(l=>{const s=l.label.toLowerCase().trim(),m=o.toLowerCase().trim();if(l.aliases){const f=l.aliases.map(h=>h.toLowerCase().trim()),g=s.match(m),r=f.some(h=>h.match(m));return g||r}return s.match(m)})})).filter(t=>t.commands.length>0)}const q=C.y([]);function L(){const[n,o]=C.V(q);return[n,o]}function j(n,o){const[e]=L(),[t,l]=u.useState(0),[s,m]=u.useState(0),f=u.useRef(null),{t:g}=b.useLocale(),r=N(e,n.query),h=u.useRef([]);u.useImperativeHandle(o,()=>({onKeyDown:v})),u.useEffect(()=>{if(!f.current)return;const a=s*1e3+t,i=h.current[a];i&&i.scrollIntoView({behavior:"smooth",block:"nearest"})},[t,s]);function v({event:a}){return a.key==="ArrowUp"?(A(),!0):a.key==="ArrowDown"?(R(),!0):a.key==="Enter"?(k(),!0):!1}function A(){var c;if(r.length===0)return!1;let a=t-1,i=s;a<0&&(i=s-1,a=((c=r[i])==null?void 0:c.commands.length)-1||0),i<0&&(i=r.length-1,a=r[i].commands.length-1),l(a),m(i)}function R(){if(r.length===0)return!1;const a=r[s].commands;let i=t+1,c=s;a.length-1<i&&(i=0,c=s+1),r.length-1<c&&(c=0),l(i),m(c)}function k(){if(r.length===0||s===-1||t===-1)return!1;w(s,t)}function w(a,i){const c=r[a].commands[i];n==null||n.command(c)}function I(a,i){w(a,i)}function y(a,i,c){h.current[a*1e3+i]=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:f,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((a,i)=>d.jsxs(u.Fragment,{children:[d.jsx(x.Label,{className:"richtext-mx-[4px] richtext-mb-[4px] richtext-mt-[8px] !richtext-text-[0.65rem] richtext-uppercase",children:a.title}),a.commands.map((c,p)=>d.jsxs("button",{onClick:()=>I(i,p),ref:S=>y(i,p,S),className:x.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":s===i&&t===p}),children:[c.iconUrl&&d.jsx("img",{alt:"",className:"richtext-size-6",src:c.iconUrl}),c.iconName&&d.jsx(x.IconComponent,{className:"!richtext-mr-1 !richtext-text-lg",name:c.iconName}),c.label]},`command-${p}`))]},`slash-${a.title}`))}):d.jsx("div",{className:"richtext-p-3",children:d.jsx("span",{className:"richtext-text-xs richtext-text-foreground",children:g("editor.slash.empty")})})})}const E=u.forwardRef(j);exports.SlashCommandNodeView=E;exports.renderCommandListDefault=H;exports.useFilterCommandList=N;exports.useSignalCommandList=L;
@@ -1,11 +1,11 @@
1
- import { jsx as d, jsxs as p } from "react/jsx-runtime";
2
- import { forwardRef as H, useState as b, useRef as w, useImperativeHandle as y, useEffect as S, Fragment as E } from "react";
3
- import { E as B, v as T, L as $, c as z, I as q } from "./index-B0d-u29p.js";
1
+ import { jsx as d, jsxs as g } from "react/jsx-runtime";
2
+ import { forwardRef as y, useState as b, useRef as w, useImperativeHandle as H, useEffect as S, Fragment as E } from "react";
3
+ import { E as B, z, L as P, c as T, I as $ } from "./index-CnKgiZFQ.js";
4
4
  import "./theme.js";
5
- import { H as v, u as D } from "./index-BGd2HiwP.js";
6
- import { y as G, V } from "./index-BG0kQamI.js";
5
+ import { H as N, u as q } from "./index-BGd2HiwP.js";
6
+ import { y as D, V as G } from "./index-BG0kQamI.js";
7
7
  function X({ t: n }) {
8
- const a = [
8
+ const o = [
9
9
  {
10
10
  name: "format",
11
11
  title: n("editor.slash.format"),
@@ -17,15 +17,15 @@ function X({ t: n }) {
17
17
  commands: []
18
18
  }
19
19
  ];
20
- return v.forEach((e) => {
21
- a[0].commands.push({
20
+ return N.forEach((e) => {
21
+ o[0].commands.push({
22
22
  name: `heading${e}`,
23
23
  label: n(e === "Paragraph" ? "editor.paragraph.tooltip" : `editor.heading.h${e}.tooltip`),
24
24
  aliases: [`h${e}`, "bt", `bt${e}`],
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 r = v.find(
28
+ const r = N.find(
29
29
  (m) => t.isActive("heading", { level: m })
30
30
  );
31
31
  if (e === "Paragraph") {
@@ -39,7 +39,7 @@ function X({ t: n }) {
39
39
  t.chain().focus().deleteRange(l).run();
40
40
  }
41
41
  });
42
- }), a[0].commands.push({
42
+ }), o[0].commands.push({
43
43
  name: "bulletList",
44
44
  label: n("editor.bulletlist.tooltip"),
45
45
  aliases: ["ul", "yxlb"],
@@ -48,7 +48,7 @@ function X({ t: n }) {
48
48
  action: ({ editor: e, range: t }) => {
49
49
  e.chain().focus().deleteRange(t).toggleBulletList().run();
50
50
  }
51
- }), a[0].commands.push({
51
+ }), o[0].commands.push({
52
52
  name: "orderedlist",
53
53
  label: n("editor.orderedlist.tooltip"),
54
54
  aliases: ["ol", "yxlb"],
@@ -57,7 +57,7 @@ function X({ t: n }) {
57
57
  action: ({ editor: e, range: t }) => {
58
58
  e.chain().focus().deleteRange(t).toggleOrderedList().run();
59
59
  }
60
- }), a[0].commands.push({
60
+ }), o[0].commands.push({
61
61
  name: "taskList",
62
62
  label: n("editor.tasklist.tooltip"),
63
63
  iconName: "ListTodo",
@@ -67,7 +67,7 @@ function X({ t: n }) {
67
67
  action: ({ editor: e, range: t }) => {
68
68
  e.chain().focus().deleteRange(t).toggleTaskList().run();
69
69
  }
70
- }), a[0].commands.push({
70
+ }), o[0].commands.push({
71
71
  name: "blockquote",
72
72
  label: n("editor.blockquote.tooltip"),
73
73
  description: "插入引入格式",
@@ -77,7 +77,7 @@ function X({ t: n }) {
77
77
  action: ({ editor: e, range: t }) => {
78
78
  e.chain().focus().deleteRange(t).setBlockquote().run();
79
79
  }
80
- }), a[0].commands.push({
80
+ }), o[0].commands.push({
81
81
  name: "codeBlock",
82
82
  label: n("editor.codeblock.tooltip"),
83
83
  iconName: "Code2",
@@ -87,7 +87,7 @@ function X({ t: n }) {
87
87
  action: ({ editor: e, range: t }) => {
88
88
  e.chain().focus().deleteRange(t).setCodeBlock().run();
89
89
  }
90
- }), a[1].commands.push({
90
+ }), o[1].commands.push({
91
91
  name: "image",
92
92
  label: n("editor.image.tooltip"),
93
93
  iconName: "ImageUp",
@@ -97,9 +97,9 @@ function X({ t: n }) {
97
97
  action: ({ editor: e, range: t }) => {
98
98
  e.chain().focus().deleteRange(t).run();
99
99
  const l = B.UPLOAD_IMAGE(e.id);
100
- T(l, !0);
100
+ z(l, !0);
101
101
  }
102
- }), a[1].commands.push({
102
+ }), o[1].commands.push({
103
103
  name: "table",
104
104
  label: n("editor.table.tooltip"),
105
105
  iconName: "Table",
@@ -109,7 +109,7 @@ function X({ t: n }) {
109
109
  action: ({ editor: e, range: t }) => {
110
110
  e.chain().focus().deleteRange(t).insertTable({ rows: 3, cols: 3, withHeaderRow: !1 }).run();
111
111
  }
112
- }), a[1].commands.push({
112
+ }), o[1].commands.push({
113
113
  name: "horizontalRule",
114
114
  label: n("editor.horizontalrule.tooltip"),
115
115
  iconName: "Minus",
@@ -118,7 +118,23 @@ function X({ t: n }) {
118
118
  action: ({ editor: e, range: t }) => {
119
119
  e.chain().focus().deleteRange(t).setHorizontalRule().run();
120
120
  }
121
- }), a[1].commands.push({
121
+ }), o[1].commands.push({
122
+ name: "paywallSeparator",
123
+ label: "Paywall Separator",
124
+ iconName: "PaywallIcon",
125
+ description: "Mark where free content ends and premium content begins",
126
+ aliases: ["paywall", "pw", "premium", "lock"],
127
+ shouldBeHidden: (e) => {
128
+ let t = !1;
129
+ return e.state.doc.descendants((l) => {
130
+ if (l.type.name === "paywallSeparator")
131
+ return t = !0, !1;
132
+ }), t;
133
+ },
134
+ action: ({ editor: e, range: t }) => {
135
+ e.chain().focus().deleteRange(t).insertPaywall().run();
136
+ }
137
+ }), o[1].commands.push({
122
138
  name: "columns",
123
139
  label: n("editor.columns.tooltip"),
124
140
  iconName: "Columns2",
@@ -126,16 +142,16 @@ function X({ t: n }) {
126
142
  action: ({ editor: e }) => {
127
143
  e.chain().focus().insertColumns({ cols: 2 }).run();
128
144
  }
129
- }), a;
145
+ }), o;
130
146
  }
131
- function P(n, a) {
147
+ function V(n, o) {
132
148
  return n.map((t) => ({
133
149
  ...t,
134
150
  commands: t.commands.filter((l) => {
135
- const r = l.label.toLowerCase().trim(), m = a.toLowerCase().trim();
151
+ const r = l.label.toLowerCase().trim(), m = o.toLowerCase().trim();
136
152
  if (l.aliases) {
137
- const u = l.aliases.map((h) => h.toLowerCase().trim()), x = r.match(m), s = u.some(
138
- (h) => h.match(m)
153
+ const h = l.aliases.map((u) => u.toLowerCase().trim()), x = r.match(m), s = h.some(
154
+ (u) => u.match(m)
139
155
  );
140
156
  return x || s;
141
157
  }
@@ -143,70 +159,70 @@ function P(n, a) {
143
159
  })
144
160
  })).filter((t) => t.commands.length > 0);
145
161
  }
146
- const U = G([]);
147
- function F() {
148
- const [n, a] = V(U);
149
- return [n, a];
162
+ const M = D([]);
163
+ function U() {
164
+ const [n, o] = G(M);
165
+ return [n, o];
150
166
  }
151
- function M(n, a) {
152
- const [e] = F(), [t, l] = b(0), [r, m] = b(0), u = w(null), { t: x } = D(), s = P(e, n.query), h = w([]);
153
- y(a, () => ({
154
- onKeyDown: N
167
+ function F(n, o) {
168
+ const [e] = U(), [t, l] = b(0), [r, m] = b(0), h = w(null), { t: x } = q(), s = V(e, n.query), u = w([]);
169
+ H(o, () => ({
170
+ onKeyDown: v
155
171
  })), S(() => {
156
- if (!u.current)
172
+ if (!h.current)
157
173
  return;
158
- const o = r * 1e3 + t, i = h.current[o];
174
+ const a = r * 1e3 + t, i = u.current[a];
159
175
  i && i.scrollIntoView({
160
176
  behavior: "smooth",
161
177
  block: "nearest"
162
178
  });
163
179
  }, [t, r]);
164
- function N({ event: o }) {
165
- return o.key === "ArrowUp" ? (C(), !0) : o.key === "ArrowDown" ? (L(), !0) : o.key === "Enter" ? (A(), !0) : !1;
180
+ function v({ event: a }) {
181
+ return a.key === "ArrowUp" ? (C(), !0) : a.key === "ArrowDown" ? (L(), !0) : a.key === "Enter" ? (A(), !0) : !1;
166
182
  }
167
183
  function C() {
168
184
  var c;
169
185
  if (s.length === 0)
170
186
  return !1;
171
- let o = t - 1, i = r;
172
- o < 0 && (i = r - 1, o = ((c = s[i]) == null ? void 0 : c.commands.length) - 1 || 0), i < 0 && (i = s.length - 1, o = s[i].commands.length - 1), l(o), m(i);
187
+ let a = t - 1, i = r;
188
+ a < 0 && (i = r - 1, a = ((c = s[i]) == null ? void 0 : c.commands.length) - 1 || 0), i < 0 && (i = s.length - 1, a = s[i].commands.length - 1), l(a), m(i);
173
189
  }
174
190
  function L() {
175
191
  if (s.length === 0)
176
192
  return !1;
177
- const o = s[r].commands;
193
+ const a = s[r].commands;
178
194
  let i = t + 1, c = r;
179
- o.length - 1 < i && (i = 0, c = r + 1), s.length - 1 < c && (c = 0), l(i), m(c);
195
+ a.length - 1 < i && (i = 0, c = r + 1), s.length - 1 < c && (c = 0), l(i), m(c);
180
196
  }
181
197
  function A() {
182
198
  if (s.length === 0 || r === -1 || t === -1)
183
199
  return !1;
184
- g(r, t);
200
+ p(r, t);
185
201
  }
186
- function g(o, i) {
187
- const c = s[o].commands[i];
202
+ function p(a, i) {
203
+ const c = s[a].commands[i];
188
204
  n == null || n.command(c);
189
205
  }
190
- function k(o, i) {
191
- g(o, i);
206
+ function k(a, i) {
207
+ p(a, i);
192
208
  }
193
- function I(o, i, c) {
194
- h.current[o * 1e3 + i] = c;
209
+ function I(a, i, c) {
210
+ u.current[a * 1e3 + i] = c;
195
211
  }
196
212
  return /* @__PURE__ */ d(
197
213
  "div",
198
214
  {
199
215
  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",
200
216
  "data-richtext-portal": !0,
201
- ref: u,
202
- children: s != null && s.length ? /* @__PURE__ */ d("div", { className: "richtext-grid richtext-min-w-48 richtext-grid-cols-1 richtext-gap-0.5", children: s == null ? void 0 : s.map((o, i) => /* @__PURE__ */ p(E, { children: [
203
- /* @__PURE__ */ d($, { className: "richtext-mx-[4px] richtext-mb-[4px] richtext-mt-[8px] !richtext-text-[0.65rem] richtext-uppercase", children: o.title }),
204
- o.commands.map((c, f) => /* @__PURE__ */ p(
217
+ ref: h,
218
+ children: s != null && s.length ? /* @__PURE__ */ d("div", { className: "richtext-grid richtext-min-w-48 richtext-grid-cols-1 richtext-gap-0.5", children: s == null ? void 0 : s.map((a, i) => /* @__PURE__ */ g(E, { children: [
219
+ /* @__PURE__ */ d(P, { className: "richtext-mx-[4px] richtext-mb-[4px] richtext-mt-[8px] !richtext-text-[0.65rem] richtext-uppercase", children: a.title }),
220
+ a.commands.map((c, f) => /* @__PURE__ */ g(
205
221
  "button",
206
222
  {
207
223
  onClick: () => k(i, f),
208
224
  ref: (R) => I(i, f, R),
209
- className: z(
225
+ className: T(
210
226
  "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",
211
227
  {
212
228
  "bg-item-active": r === i && t === f
@@ -215,7 +231,7 @@ function M(n, a) {
215
231
  children: [
216
232
  c.iconUrl && /* @__PURE__ */ d("img", { alt: "", className: "richtext-size-6", src: c.iconUrl }),
217
233
  c.iconName && /* @__PURE__ */ d(
218
- q,
234
+ $,
219
235
  {
220
236
  className: "!richtext-mr-1 !richtext-text-lg",
221
237
  name: c.iconName
@@ -226,14 +242,14 @@ function M(n, a) {
226
242
  },
227
243
  `command-${f}`
228
244
  ))
229
- ] }, `slash-${o.title}`)) }) : /* @__PURE__ */ d("div", { className: "richtext-p-3", children: /* @__PURE__ */ d("span", { className: "richtext-text-xs richtext-text-foreground", children: x("editor.slash.empty") }) })
245
+ ] }, `slash-${a.title}`)) }) : /* @__PURE__ */ d("div", { className: "richtext-p-3", children: /* @__PURE__ */ d("span", { className: "richtext-text-xs richtext-text-foreground", children: x("editor.slash.empty") }) })
230
246
  }
231
247
  );
232
248
  }
233
- const Y = H(M);
249
+ const Y = y(F);
234
250
  export {
235
251
  Y as S,
236
- P as a,
252
+ V as a,
237
253
  X as r,
238
- F as u
254
+ U as u
239
255
  };
package/lib/Strike.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./clsx-CXbNJWDD.cjs"),n=require("react/jsx-runtime"),o=require("./index-De9MZVWQ.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:s=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?n.jsx(o.ActionButton,{action:g,dataState:k,disabled:u,icon:e,shortcutKeys:s,tooltip:i,tooltipOptions:c}):n.jsx(n.Fragment,{})}const d=S.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:i,extension:s})=>({componentProps:{action:()=>e.commands.toggleStrike(),isActive:()=>e.isActive("strike")||!1,disabled:!1,icon:"Strikethrough",shortcutKeys:s.options.shortcutKeys??["shift","mod","S"],tooltip:i("editor.strike.tooltip")}})}}});exports.RichTextStrike=f;exports.Strike=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./clsx-CXbNJWDD.cjs"),n=require("react/jsx-runtime"),o=require("./index-BynXHtjJ.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:s=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?n.jsx(o.ActionButton,{action:g,dataState:k,disabled:u,icon:e,shortcutKeys:s,tooltip:i,tooltipOptions:c}):n.jsx(n.Fragment,{})}const d=S.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:i,extension:s})=>({componentProps:{action:()=>e.commands.toggleStrike(),isActive:()=>e.isActive("strike")||!1,disabled:!1,icon:"Strikethrough",shortcutKeys:s.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
1
  import { M as m, e as k, f as l, m as g } from "./clsx-BUPZHhq3.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-B0d-u29p.js";
3
+ import { u as f, d as M, A as S } from "./index-CnKgiZFQ.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({