@remarkablejames/editor 0.0.7 → 0.0.8

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 (185) hide show
  1. package/lib/ActionMenuButton-DI9_8wC0.cjs +1 -0
  2. package/lib/{ActionMenuButton-nxV91Fqo.js → ActionMenuButton-DL05l66z.js} +9 -10
  3. package/lib/Attachment.cjs +1 -19
  4. package/lib/Attachment.js +7 -270
  5. package/lib/Blockquote.cjs +2 -2
  6. package/lib/Blockquote.js +13 -12
  7. package/lib/Bold.cjs +1 -1
  8. package/lib/Bold.js +11 -10
  9. package/lib/BulletList.cjs +1 -1
  10. package/lib/BulletList.js +9 -8
  11. package/lib/Callout.cjs +1 -1
  12. package/lib/Callout.js +41 -45
  13. package/lib/Clear.cjs +1 -1
  14. package/lib/Clear.js +13 -14
  15. package/lib/Code.cjs +1 -1
  16. package/lib/Code.js +6 -5
  17. package/lib/CodeBlock.cjs +1 -1
  18. package/lib/CodeBlock.js +30 -31
  19. package/lib/CodeView.cjs +1 -1
  20. package/lib/CodeView.js +9 -8
  21. package/lib/Color.cjs +1 -1
  22. package/lib/Color.js +18 -19
  23. package/lib/Column.cjs +1 -1
  24. package/lib/Column.js +9 -8
  25. package/lib/Drawer-DEzhWKwY.cjs +2 -0
  26. package/lib/{Drawer-CF6Z_IA2.js → Drawer-DhM1qM6R.js} +41 -47
  27. package/lib/Drawer.cjs +1 -1
  28. package/lib/Drawer.js +3 -3
  29. package/lib/Emoji.cjs +1 -1
  30. package/lib/Emoji.js +14 -15
  31. package/lib/Excalidraw.cjs +1 -1
  32. package/lib/Excalidraw.js +28 -33
  33. package/lib/ExportPdf.cjs +3 -3
  34. package/lib/ExportPdf.js +14 -13
  35. package/lib/ExportWord.cjs +1 -1
  36. package/lib/ExportWord.js +6 -6
  37. package/lib/FontFamily.cjs +1 -1
  38. package/lib/FontFamily.js +7 -6
  39. package/lib/FontSize.cjs +1 -1
  40. package/lib/FontSize.js +15 -14
  41. package/lib/Heading.cjs +1 -1
  42. package/lib/Heading.js +26 -26
  43. package/lib/Highlight.cjs +1 -1
  44. package/lib/Highlight.js +22 -23
  45. package/lib/History.cjs +1 -1
  46. package/lib/History.js +11 -11
  47. package/lib/HorizontalRule.cjs +1 -1
  48. package/lib/HorizontalRule.js +10 -9
  49. package/lib/Iframe-DbYJ82AI.cjs +1 -0
  50. package/lib/{Iframe-Dfd3LI7b.js → Iframe-yDX_zHls.js} +11 -14
  51. package/lib/Iframe.cjs +1 -1
  52. package/lib/Iframe.js +3 -3
  53. package/lib/Image.cjs +1 -1
  54. package/lib/Image.js +4 -5
  55. package/lib/ImageGif.cjs +1 -1
  56. package/lib/ImageGif.js +83 -86
  57. package/lib/ImportWord.cjs +1 -1
  58. package/lib/ImportWord.js +26 -28
  59. package/lib/{Indent-CDVF9DWN.js → Indent-CA46zsbb.js} +31 -30
  60. package/lib/Indent-CYaCq_Mv.cjs +1 -0
  61. package/lib/Indent.cjs +1 -1
  62. package/lib/Indent.js +2 -2
  63. package/lib/Italic.cjs +1 -1
  64. package/lib/Italic.js +12 -11
  65. package/lib/Katex-Dh-kTBjf.cjs +4 -0
  66. package/lib/{Katex-DqhWWAA-.js → Katex-g3ZS3zUf.js} +19 -22
  67. package/lib/Katex.cjs +1 -1
  68. package/lib/Katex.js +2 -2
  69. package/lib/LineHeight.cjs +1 -1
  70. package/lib/LineHeight.js +19 -20
  71. package/lib/Link.cjs +1 -1
  72. package/lib/Link.js +2 -2
  73. package/lib/LinkEditBlock-ClqpI1FH.cjs +5 -0
  74. package/lib/{LinkEditBlock-xP0pGVhB.js → LinkEditBlock-qE5KHPQs.js} +19 -24
  75. package/lib/Mention.js +3 -3
  76. package/lib/Mermaid-BmUChJSB.cjs +2 -0
  77. package/lib/{Mermaid-BJ6ryVdY.js → Mermaid-CefRECZY.js} +45 -48
  78. package/lib/Mermaid.cjs +1 -1
  79. package/lib/Mermaid.js +2 -2
  80. package/lib/MoreMark.cjs +1 -1
  81. package/lib/MoreMark.js +26 -28
  82. package/lib/OrderedList.cjs +1 -1
  83. package/lib/OrderedList.js +11 -10
  84. package/lib/PaywallSeparator.cjs +1 -1
  85. package/lib/PaywallSeparator.js +9 -9
  86. package/lib/SearchAndReplace.cjs +1 -1
  87. package/lib/SearchAndReplace.js +37 -42
  88. package/lib/SlashCommand.cjs +1 -1
  89. package/lib/SlashCommand.js +5 -5
  90. package/lib/{SlashCommandNodeView-DS9FqMiY.js → SlashCommandNodeView-BsIrWlhS.js} +19 -21
  91. package/lib/SlashCommandNodeView-DpXsfGmo.cjs +1 -0
  92. package/lib/Strike.cjs +1 -1
  93. package/lib/Strike.js +12 -11
  94. package/lib/Table-B-0TePQ3.cjs +5 -0
  95. package/lib/{Table-CcG-JNtV.js → Table-CG0nisk4.js} +46 -46
  96. package/lib/Table.cjs +1 -1
  97. package/lib/Table.js +1 -1
  98. package/lib/TaskList.cjs +1 -1
  99. package/lib/TaskList.js +12 -11
  100. package/lib/TextAlign.cjs +1 -1
  101. package/lib/TextAlign.js +26 -27
  102. package/lib/TextDirection.cjs +1 -1
  103. package/lib/TextDirection.js +18 -19
  104. package/lib/TextUnderline.cjs +1 -1
  105. package/lib/TextUnderline.js +9 -8
  106. package/lib/{Twitter-BIL3o833.js → Twitter-DlGSWdh7.js} +18 -22
  107. package/lib/Twitter-DvMmVNMF.cjs +1 -0
  108. package/lib/Twitter.cjs +1 -1
  109. package/lib/Twitter.js +2 -2
  110. package/lib/Video.cjs +1 -1
  111. package/lib/Video.js +4 -5
  112. package/lib/bubble.cjs +3 -3
  113. package/lib/bubble.js +77 -86
  114. package/lib/{clsx-m_C5j3RU.js → clsx-BUPZHhq3.js} +24 -24
  115. package/lib/{dropdown-menu-DWt_xj4h.js → dropdown-menu-D-mNjyKn.js} +1 -1
  116. package/lib/{dropdown-menu-tUP872Zv.cjs → dropdown-menu-gOopBX-L.cjs} +1 -1
  117. package/lib/index-CUnpdrCy.cjs +28 -0
  118. package/lib/index-CelRl0mr.js +5447 -0
  119. package/lib/{index-C8FjP66D.js → index-D4M4hrH4.js} +1 -1
  120. package/lib/{index-s3l5RdyW.js → index-DZj2z9_1.js} +1 -1
  121. package/lib/{index-C1KQsOcg.js → index-Dl3OjzmR.js} +1 -1
  122. package/lib/{index-B3Ijnbxs.js → index-RkKGy5oa.js} +1 -1
  123. package/lib/index.cjs +4 -4
  124. package/lib/index.js +151 -464
  125. package/lib/{popover-C3A6zzNV.cjs → popover-DEMkixfo.cjs} +1 -1
  126. package/lib/{popover-BC7FRr8B.js → popover-SMtif0E1.js} +1 -1
  127. package/lib/{renderNodeView-C_hPIdEs.js → renderNodeView-dj6AaFSX.js} +2 -2
  128. package/lib/{select-B8HIWDXf.cjs → select-BqlizSg4.cjs} +1 -1
  129. package/lib/{select-DSKqhVGR.js → select-Dc3RkAhQ.js} +1 -1
  130. package/lib/{separator-BJWSNjvr.js → separator-DWLSmuSh.js} +12 -13
  131. package/lib/separator-DuP4NoiV.cjs +1 -0
  132. package/lib/style.css +1 -1
  133. package/lib/{textarea-CtVdqwSM.cjs → textarea-C89l2GRG.cjs} +1 -1
  134. package/lib/{textarea-Ch5w3PiI.js → textarea-DvciwVxS.js} +1 -1
  135. package/lib/theme.cjs +1 -1
  136. package/lib/theme.js +18 -18
  137. package/lib/{updatePosition-DvfTZHcH.js → updatePosition-C294Pixi.js} +2 -2
  138. package/package.json +1 -1
  139. package/lib/ActionMenuButton-D9o3Kwmv.cjs +0 -1
  140. package/lib/Drawer-Bh-y5bs8.cjs +0 -2
  141. package/lib/Icon-BvGyfX2j.js +0 -15
  142. package/lib/Icon-wjwoRc9F.cjs +0 -1
  143. package/lib/Iframe-BbfZKbPY.cjs +0 -1
  144. package/lib/ImageCropper-CY1ETEjC.cjs +0 -10
  145. package/lib/ImageCropper-DrSdjo9x.js +0 -979
  146. package/lib/Indent-Q1VuhSM2.cjs +0 -1
  147. package/lib/Katex-K1QU2SB2.cjs +0 -4
  148. package/lib/LinkEditBlock-CBYGLs3J.cjs +0 -5
  149. package/lib/Mermaid-D3_nLeOW.cjs +0 -2
  150. package/lib/SlashCommandNodeView-CUJrDQS7.cjs +0 -1
  151. package/lib/Table-CV6pUoVf.cjs +0 -5
  152. package/lib/Twitter-BfSTqPDh.cjs +0 -1
  153. package/lib/Video-DAKr90QL.js +0 -231
  154. package/lib/Video-HAinT0w6.cjs +0 -1
  155. package/lib/button-090-I3tp.js +0 -35
  156. package/lib/button-B4Sz2ZhW.cjs +0 -1
  157. package/lib/checkbox-BCPsu7yR.cjs +0 -1
  158. package/lib/checkbox-DiXWHAI0.js +0 -29
  159. package/lib/dialog-C8J59d2J.cjs +0 -1
  160. package/lib/dialog-bDkDW-C_.js +0 -95
  161. package/lib/dom-dataset-BqoJhJXt.cjs +0 -1
  162. package/lib/dom-dataset-CIEeltF6.js +0 -47
  163. package/lib/events.constant-Bke62qxm.cjs +0 -1
  164. package/lib/events.constant-CSWD3-ho.js +0 -72
  165. package/lib/file-i7e4nQY2.cjs +0 -1
  166. package/lib/file-jDdkhyj7.js +0 -43
  167. package/lib/index-BXh8X1ch.cjs +0 -1
  168. package/lib/index-jMN4V2hr.js +0 -2763
  169. package/lib/input-C_J-pfTx.js +0 -21
  170. package/lib/input-DwLo4r7V.cjs +0 -1
  171. package/lib/isNumber-BTYSVlKo.cjs +0 -1
  172. package/lib/isNumber-WaBzl_0s.js +0 -15
  173. package/lib/label-BgIVynq3.cjs +0 -1
  174. package/lib/label-ClsOg9Hr.js +0 -11
  175. package/lib/separator-D6ruF682.cjs +0 -1
  176. package/lib/tabs-D1J1iB7B.js +0 -46
  177. package/lib/tabs-IEbMQmNX.cjs +0 -1
  178. package/lib/throttle-CRNq0z-O.js +0 -249
  179. package/lib/throttle-gTTvqDTW.cjs +0 -1
  180. package/lib/toggle-C9tcMm1r.cjs +0 -1
  181. package/lib/toggle-CaSwYCk4.js +0 -89
  182. package/lib/use-toast-C6zPo25l.cjs +0 -1
  183. package/lib/use-toast-CEOqhXfx.js +0 -97
  184. package/lib/useButtonProps-D-ruygH7.js +0 -165
  185. package/lib/useButtonProps-D9ndBdmA.cjs +0 -1
package/lib/MoreMark.js CHANGED
@@ -1,11 +1,9 @@
1
- import { M as h, m, E as b } from "./clsx-m_C5j3RU.js";
2
- import { jsx as e, Fragment as f, jsxs as d } from "react/jsx-runtime";
3
- import { useMemo as M } from "react";
4
- import { A as x } from "./toggle-CaSwYCk4.js";
5
- import { u as A, d as S, g as k } from "./useButtonProps-D-ruygH7.js";
6
- import { D as v, a as y, b as T, c as K } from "./dropdown-menu-DWt_xj4h.js";
7
- import { M as w } from "./index-jMN4V2hr.js";
8
- import { I as C } from "./Icon-BvGyfX2j.js";
1
+ import { M as h, m, E as b } from "./clsx-BUPZHhq3.js";
2
+ import { jsx as e, Fragment as M, jsxs as d } from "react/jsx-runtime";
3
+ import { useMemo as f } from "react";
4
+ import { u as x, e as A, A as S, O as k, I as v, g as y } from "./index-CelRl0mr.js";
5
+ import "./theme.js";
6
+ import { D as T, a as K, b as w, c as C } from "./dropdown-menu-D-mNjyKn.js";
9
7
  var H = h.create({
10
8
  name: "subscript",
11
9
  addOptions() {
@@ -77,39 +75,39 @@ var H = h.create({
77
75
  };
78
76
  }
79
77
  });
80
- function R() {
81
- const t = A(D.name), {
78
+ function z() {
79
+ const t = x(D.name), {
82
80
  icon: s = void 0,
83
- tooltip: o = void 0,
81
+ tooltip: n = void 0,
84
82
  items: i = [],
85
83
  isActive: a = void 0
86
- } = (t == null ? void 0 : t.componentProps) ?? {}, { disabled: c, dataState: n } = S(a), p = M(() => (n == null ? void 0 : n.title) || "", [n]);
87
- return t ? /* @__PURE__ */ d(v, { children: [
88
- /* @__PURE__ */ e(y, { asChild: !0, disabled: c, children: /* @__PURE__ */ e(
89
- x,
84
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { disabled: c, dataState: o } = A(a), p = f(() => (o == null ? void 0 : o.title) || "", [o]);
85
+ return t ? /* @__PURE__ */ d(T, { children: [
86
+ /* @__PURE__ */ e(K, { asChild: !0, disabled: c, children: /* @__PURE__ */ e(
87
+ S,
90
88
  {
91
89
  customClass: "!richtext-w-12 richtext-h-12",
92
90
  disabled: c,
93
91
  icon: s,
94
- tooltip: o,
95
- children: /* @__PURE__ */ e(w, { className: "richtext-size-3 richtext-text-gray-500" })
92
+ tooltip: n,
93
+ children: /* @__PURE__ */ e(k, { className: "richtext-size-3 richtext-text-gray-500" })
96
94
  }
97
95
  ) }),
98
- /* @__PURE__ */ e(T, { className: "w-full", children: i == null ? void 0 : i.map((r, u) => /* @__PURE__ */ d(
99
- K,
96
+ /* @__PURE__ */ e(w, { className: "w-full", children: i == null ? void 0 : i.map((r, u) => /* @__PURE__ */ d(
97
+ C,
100
98
  {
101
99
  checked: p === r.title,
102
100
  className: "richtext-flex richtext-items-center richtext-gap-3",
103
101
  onClick: r.action,
104
102
  children: [
105
- /* @__PURE__ */ e(C, { name: r == null ? void 0 : r.icon }),
103
+ /* @__PURE__ */ e(v, { name: r == null ? void 0 : r.icon }),
106
104
  /* @__PURE__ */ e("span", { className: "richtext-ml-1", children: r.title }),
107
- !!(r != null && r.shortcutKeys) && /* @__PURE__ */ e("span", { className: "richtext-ml-auto richtext-text-xs richtext-tracking-widest richtext-opacity-60", children: k(r.shortcutKeys) })
105
+ !!(r != null && r.shortcutKeys) && /* @__PURE__ */ e("span", { className: "richtext-ml-auto richtext-text-xs richtext-tracking-widest richtext-opacity-60", children: y(r.shortcutKeys) })
108
106
  ]
109
107
  },
110
108
  `more-mark-${u}`
111
109
  )) })
112
- ] }) : /* @__PURE__ */ e(f, {});
110
+ ] }) : /* @__PURE__ */ e(M, {});
113
111
  }
114
112
  const D = /* @__PURE__ */ b.create({
115
113
  name: "moreMark",
@@ -118,24 +116,24 @@ const D = /* @__PURE__ */ b.create({
118
116
  var t;
119
117
  return {
120
118
  ...(t = this.parent) == null ? void 0 : t.call(this),
121
- button({ editor: s, extension: o, t: i }) {
119
+ button({ editor: s, extension: n, t: i }) {
122
120
  var u, l;
123
- const a = o.options.subscript, c = o.options.superscript, n = {
121
+ const a = n.options.subscript, c = n.options.superscript, o = {
124
122
  action: () => s.commands.toggleSubscript(),
125
123
  isActive: () => s.isActive("subscript") || !1,
126
124
  disabled: !s.can().toggleSubscript(),
127
125
  icon: "Subscript",
128
126
  title: i("editor.subscript.tooltip"),
129
- shortcutKeys: ((u = o.options.shortcutKeys) == null ? void 0 : u[0]) ?? ["mod", "."]
127
+ shortcutKeys: ((u = n.options.shortcutKeys) == null ? void 0 : u[0]) ?? ["mod", "."]
130
128
  }, p = {
131
129
  action: () => s.commands.toggleSuperscript(),
132
130
  isActive: () => s.isActive("superscript") || !1,
133
131
  disabled: !s.can().toggleSuperscript(),
134
132
  icon: "Superscript",
135
133
  title: i("editor.superscript.tooltip"),
136
- shortcutKeys: ((l = o.options.shortcutKeys) == null ? void 0 : l[1]) ?? ["mod", ","]
134
+ shortcutKeys: ((l = n.options.shortcutKeys) == null ? void 0 : l[1]) ?? ["mod", ","]
137
135
  }, r = [];
138
- return a !== !1 && r.push(n), c !== !1 && r.push(p), {
136
+ return a !== !1 && r.push(o), c !== !1 && r.push(p), {
139
137
  // component: ActionMoreButton,
140
138
  componentProps: {
141
139
  icon: "Type",
@@ -155,5 +153,5 @@ const D = /* @__PURE__ */ b.create({
155
153
  });
156
154
  export {
157
155
  D as MoreMark,
158
- R as RichTextMoreMark
156
+ z as RichTextMoreMark
159
157
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./index-BCzvbrf5.cjs"),s=require("react/jsx-runtime"),g=require("./toggle-C9tcMm1r.cjs"),d=require("./useButtonProps-D9ndBdmA.cjs");function m(){const t=d.useButtonProps(c.name),{icon:e=void 0,tooltip:o=void 0,shortcutKeys:i=void 0,tooltipOptions:u={},action:r=void 0,isActive:a=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:p,disabled:n,update:l}=d.useToggleActive(a),v=()=>{n||r&&(r(),l())};return t?s.jsx(g.ActionButton,{action:v,dataState:p,disabled:n,icon:e,shortcutKeys:i,tooltip:o,tooltipOptions:u}):s.jsx(s.Fragment,{})}const c=O.OrderedList.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:o,extension:i})=>({componentProps:{action:()=>e.commands.toggleOrderedList(),isActive:()=>e.isActive("orderedList"),disabled:!1,icon:"ListOrdered",shortcutKeys:i.options.shortcutKeys??["mod","shift","7"],tooltip:o("editor.orderedlist.tooltip")}})}}});exports.OrderedList=c;exports.RichTextOrderedList=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("./index-BCzvbrf5.cjs"),r=require("react/jsx-runtime"),s=require("./index-CUnpdrCy.cjs");require("react");require("./theme.cjs");function O(){const t=s.useButtonProps(c.name),{icon:e=void 0,tooltip:i=void 0,shortcutKeys:o=void 0,tooltipOptions:u={},action:n=void 0,isActive:a=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:p,disabled:d,update:l}=s.useToggleActive(a),m=()=>{d||n&&(n(),l())};return t?r.jsx(s.ActionButton,{action:m,dataState:p,disabled:d,icon:e,shortcutKeys:o,tooltip:i,tooltipOptions:u}):r.jsx(r.Fragment,{})}const c=v.OrderedList.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:i,extension:o})=>({componentProps:{action:()=>e.commands.toggleOrderedList(),isActive:()=>e.isActive("orderedList"),disabled:!1,icon:"ListOrdered",shortcutKeys:o.options.shortcutKeys??["mod","shift","7"],tooltip:i("editor.orderedlist.tooltip")}})}}});exports.OrderedList=c;exports.RichTextOrderedList=O;
@@ -1,20 +1,21 @@
1
- import { O as u } from "./index-s3l5RdyW.js";
2
- import { jsx as n, Fragment as f } from "react/jsx-runtime";
3
- import { A as l } from "./toggle-CaSwYCk4.js";
4
- import { u as v, c as O } from "./useButtonProps-D-ruygH7.js";
5
- function y() {
6
- const t = v(A.name), {
1
+ import { O as u } from "./index-DZj2z9_1.js";
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-CelRl0mr.js";
4
+ import "react";
5
+ import "./theme.js";
6
+ function K() {
7
+ const t = f(A.name), {
7
8
  icon: o = void 0,
8
9
  tooltip: i = void 0,
9
10
  shortcutKeys: e = void 0,
10
11
  tooltipOptions: d = {},
11
12
  action: s = void 0,
12
13
  isActive: c = void 0
13
- } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: a, disabled: r, update: p } = O(c), m = () => {
14
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: a, disabled: r, update: p } = v(c), m = () => {
14
15
  r || s && (s(), p());
15
16
  };
16
17
  return t ? /* @__PURE__ */ n(
17
- l,
18
+ O,
18
19
  {
19
20
  action: m,
20
21
  dataState: a,
@@ -24,7 +25,7 @@ function y() {
24
25
  tooltip: i,
25
26
  tooltipOptions: d
26
27
  }
27
- ) : /* @__PURE__ */ n(f, {});
28
+ ) : /* @__PURE__ */ n(l, {});
28
29
  }
29
30
  const A = /* @__PURE__ */ u.extend({
30
31
  //@ts-expect-error
@@ -47,5 +48,5 @@ const A = /* @__PURE__ */ u.extend({
47
48
  });
48
49
  export {
49
50
  A as OrderedList,
50
- y as RichTextOrderedList
51
+ K as RichTextOrderedList
51
52
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),c=require("./toggle-C9tcMm1r.cjs"),a=require("./clsx-CXbNJWDD.cjs"),m=require("./use-toast-C6zPo25l.cjs"),d=require("./useButtonProps-D9ndBdmA.cjs");function w(){const e=d.useButtonProps(p.name),{icon:i=void 0,tooltip:s=void 0,shortcutKeys:n=void 0,tooltipOptions:r={},action:o=void 0,isActive:u=void 0}=(e==null?void 0:e.componentProps)??{},{dataState:y,disabled:l,update:x}=d.useToggleActive(u),h=()=>{l||o&&(o(),x())};return e?t.jsx(c.ActionButton,{action:h,dataState:y,disabled:l,icon:i,shortcutKeys:n,tooltip:s,tooltipOptions:r}):t.jsx(t.Fragment,{})}const b=({editor:e})=>e.isEditable?t.jsxs(a.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(a.NodeViewWrapper,{as:"div","data-type":"paywallSeparator",style:{display:"none"}}),p=a.Node3.create({name:"paywallSeparator",addOptions(){return{HTMLAttributes:{},divider:!1,spacer:!1,toolbar:!0,button:({editor:e})=>({component:c.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",a.mergeAttributes(this.options.HTMLAttributes,e,{"data-type":"paywallSeparator"}),["hr"]]},addNodeView(){return a.ReactNodeViewRenderer(b)},addCommands(){return{insertPaywall:()=>({commands:e,state:i,dispatch:s})=>{const{doc:n}=i;let r=!1;return n.descendants(o=>{if(o.type.name==="paywallSeparator")return r=!0,!1}),r?(s!==void 0&&m.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=p;exports.RichTextPaywallSeparator=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),a=require("./index-CUnpdrCy.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;
@@ -1,17 +1,17 @@
1
1
  import { jsx as e, Fragment as y, jsxs as h } from "react/jsx-runtime";
2
- import { A as d } from "./toggle-CaSwYCk4.js";
3
- import { h as l, N as x, k as w, m as f } from "./clsx-m_C5j3RU.js";
4
- import { t as b } from "./use-toast-CEOqhXfx.js";
5
- import { u as v, c as g } from "./useButtonProps-D-ruygH7.js";
2
+ import { u as x, d as w, A as d, w as b } from "./index-CelRl0mr.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
6
  function H() {
7
- const t = v(S.name), {
7
+ const t = x(S.name), {
8
8
  icon: o = void 0,
9
9
  tooltip: i = void 0,
10
10
  shortcutKeys: s = void 0,
11
11
  tooltipOptions: a = {},
12
12
  action: r = void 0,
13
13
  isActive: c = void 0
14
- } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: p, disabled: n, update: u } = g(c), m = () => {
14
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: p, disabled: n, update: u } = w(c), m = () => {
15
15
  n || r && (r(), u());
16
16
  };
17
17
  return t ? /* @__PURE__ */ e(
@@ -66,7 +66,7 @@ const P = ({ editor: t }) => t.isEditable ? /* @__PURE__ */ h(
66
66
  "data-type": "paywallSeparator",
67
67
  style: { display: "none" }
68
68
  }
69
- ), S = /* @__PURE__ */ x.create({
69
+ ), S = /* @__PURE__ */ f.create({
70
70
  name: "paywallSeparator",
71
71
  addOptions() {
72
72
  return {
@@ -100,14 +100,14 @@ const P = ({ editor: t }) => t.isEditable ? /* @__PURE__ */ h(
100
100
  renderHTML({ HTMLAttributes: t }) {
101
101
  return [
102
102
  "div",
103
- f(this.options.HTMLAttributes, t, {
103
+ g(this.options.HTMLAttributes, t, {
104
104
  "data-type": "paywallSeparator"
105
105
  }),
106
106
  ["hr"]
107
107
  ];
108
108
  },
109
109
  addNodeView() {
110
- return w(P);
110
+ return v(P);
111
111
  },
112
112
  addCommands() {
113
113
  return {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("./clsx-CXbNJWDD.cjs"),F=require("@tiptap/pm/state"),b=require("@tiptap/pm/view"),a=require("react/jsx-runtime"),f=require("react"),Z=require("./toggle-C9tcMm1r.cjs"),k=require("./useButtonProps-D9ndBdmA.cjs"),_=require("./index-DgOXAdKt.cjs"),B=require("./popover-C3A6zzNV.cjs"),E=require("./label-BgIVynq3.cjs"),M=require("./input-DwLo4r7V.cjs"),j=require("./button-B4Sz2ZhW.cjs"),V=require("./Icon-wjwoRc9F.cjs"),ee=require("./checkbox-BCPsu7yR.cjs");function te(){const{t}=_.useLocale(),e=k.useEditorInstance(),s=k.useButtonProps(W.name),{icon:n=void 0,tooltip:u=void 0,shortcutKeys:o=void 0,tooltipOptions:c={},action:x=void 0,isActive:h=void 0}=(s==null?void 0:s.componentProps)??{},{disabled:i}=k.useActive(h),[g,d]=f.useState(!1),[p,A]=f.useState(""),[T,N]=f.useState(""),[I,H]=f.useState(!1),[U,L]=f.useState(""),w=()=>{var r,l,R,m;L(`${((l=(r=e==null?void 0:e.storage)==null?void 0:r.searchAndReplace)==null?void 0:l.resultIndex)+1}/${(m=(R=e==null?void 0:e.storage)==null?void 0:R.searchAndReplace)==null?void 0:m.results.length}`)};f.useEffect(()=>{e&&w()},[e]);const z=()=>{i||x&&x()},y=(r=!1)=>{var l,R,m,v,S,D,q,O;e&&(r&&((R=(l=e==null?void 0:e.commands)==null?void 0:l.resetIndex)==null||R.call(l)),(v=(m=e==null?void 0:e.commands)==null?void 0:m.setSearchTerm)==null||v.call(m,p),(D=(S=e==null?void 0:e.commands)==null?void 0:S.setReplaceTerm)==null||D.call(S,T),(O=(q=e==null?void 0:e.commands)==null?void 0:q.setCaseSensitive)==null||O.call(q,I),w())},P=()=>{var v,S;if(!e)return;const{results:r,resultIndex:l}=e.storage.searchAndReplace,R=r[l];if(!R)return;(S=(v=e==null?void 0:e.commands)==null?void 0:v.setTextSelection)==null||S.call(v,R);const{node:m}=e.view.domAtPos(e.state.selection.anchor);m instanceof HTMLElement&&m.scrollIntoView({behavior:"smooth",block:"center"}),w()};f.useEffect(()=>{p.trim()||$(),p.trim()&&y(!0)},[p]),f.useEffect(()=>{T.trim()&&y()},[T]),f.useEffect(()=>{y(!0)},[I]);const G=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.replace)==null||l.call(r),P()},J=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.nextSearchResult)==null||l.call(r),P()},Q=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.previousSearchResult)==null||l.call(r),P()},$=()=>{var r,l;A(""),N(""),(l=(r=e==null?void 0:e.commands)==null?void 0:r.resetIndex)==null||l.call(r),w()},X=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.replaceAll)==null||l.call(r),L("0/0")};return s?a.jsxs(B.Popover,{onOpenChange:d,open:g,children:[a.jsx(B.PopoverTrigger,{asChild:!0,disabled:i,children:a.jsx(Z.ActionButton,{action:z,disabled:i,icon:n,shortcutKeys:o,tooltip:u,tooltipOptions:c})}),a.jsxs(B.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(E.Label,{children:t("editor.search.dialog.text")}),a.jsx("span",{className:"richtext-font-semibold",children:U})]}),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(M.Input,{autoFocus:!0,className:"richtext-w-full",onChange:r=>A(r.target.value),placeholder:"Text",required:!0,type:"text",value:p}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:Q,children:a.jsx(V.IconComponent,{name:"ChevronUp"})}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:J,children:a.jsx(V.IconComponent,{name:"ChevronDown"})}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:$,children:"Clear"})]}),a.jsx(E.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(M.Input,{className:"richtext-w-80",onChange:r=>N(r.target.value),placeholder:"Text",required:!0,type:"text",value:T})})}),a.jsxs("div",{className:"richtext-my-[10px] richtext-flex richtext-items-center richtext-gap-1",children:[a.jsx(ee.Checkbox,{checked:I,onCheckedChange:r=>{H(r),e.commands.setCaseSensitive(r)}}),a.jsx(E.Label,{children:t("editor.replace.caseSensitive")})]}),a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[a.jsx(j.Button,{className:"richtext-flex-1",onClick:G,children:t("editor.replace.dialog.text")}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:X,children:t("editor.replaceAll.dialog.text")})]})]})]}):a.jsx(a.Fragment,{})}const C=(t,e)=>e(t.tr);function se(t,e,s){return RegExp(e?t.replace(/[$()*+.?[\\\]^{|}]/g,String.raw`\$&`):t,s?"gu":"gui")}function re(t,e,s,n){const u=[],o=[];let c=[],x=0;if(!e)return{decorationsToReturn:b.DecorationSet.empty,results:[]};t==null||t.descendants((h,i)=>{h.isText?c[x]?c[x]={text:c[x].text+h.text,pos:c[x].pos}:c[x]={text:`${h.text}`,pos:i}:x+=1}),c=c.filter(Boolean);for(const h of c){const{text:i,pos:g}=h,d=Array.from(i.matchAll(e)).filter(([p])=>p.trim());for(const p of d){if(p[0]==="")break;p.index!==void 0&&o.push({from:g+p.index,to:g+p.index+p[0].length})}}for(const[h,i]of o.entries()){const g=h===n?`${s} ${s}-current`:s,d=b.Decoration.inline(i.from,i.to,{class:g});u.push(d)}return{decorationsToReturn:b.DecorationSet.create(t,u),results:o}}function K(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 ne(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:h,to:i}=n[u];return n[u]={to:i-x,from:h-x},[x,n]}function ce(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:h}=o[c];s.insertText(t,x,h);const i=ne(t,c,u,o);i&&(u=i[0],o=i[1])}n(s)}}const W=Y.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,C(s,n),!1),setReplaceTerm:t=>({editor:e,state:s,dispatch:n})=>(e.storage.searchAndReplace.replaceTerm=t,C(s,n),!1),setCaseSensitive:t=>({editor:e,state:s,dispatch:n})=>(e.storage.searchAndReplace.caseSensitive=t,C(s,n),!1),resetIndex:()=>({editor:t,state:e,dispatch:s})=>(t.storage.searchAndReplace.resultIndex=0,C(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?(K(n,[c],{state:e,dispatch:s}),t.storage.searchAndReplace.results.splice(o,1)):(K(n,u,{state:e,dispatch:s}),t.storage.searchAndReplace.results.shift()),C(e,s),!1},replaceAll:()=>({editor:t,tr:e,state:s,dispatch:n})=>{const{replaceTerm:u,results:o}=t.storage.searchAndReplace;return ce(u,o,{tr:e,dispatch:n}),t.storage.searchAndReplace.resultIndex=0,t.storage.searchAndReplace.results=[],C(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 F.Plugin({key:new F.PluginKey(`richtextCustomPlugin${this.name}`),state:{init:()=>b.DecorationSet.empty,apply({doc:c,docChanged:x},h){const{searchTerm:i,lastSearchTerm:g,caseSensitive:d,lastCaseSensitive:p,resultIndex:A,lastResultIndex:T}=t.storage.searchAndReplace;if(!x&&g===i&&p===d&&T===A)return h;if(n(i),u(d),o(A),!i)return t.storage.searchAndReplace.results=[],b.DecorationSet.empty;const{decorationsToReturn:N,results:I}=re(c,se(i,s,d),e,A);return t.storage.searchAndReplace.results=I,N}},props:{decorations(c){return this.getState(c)}}})]}});exports.RichTextSearchAndReplace=te;exports.SearchAndReplace=W;
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-CUnpdrCy.cjs");require("./theme.cjs");const J=require("./index-DgOXAdKt.cjs"),q=require("./popover-DEMkixfo.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,29 +1,24 @@
1
- import { E as Q } from "./clsx-m_C5j3RU.js";
1
+ import { E as Q } from "./clsx-BUPZHhq3.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 { A as ee } from "./toggle-CaSwYCk4.js";
7
- import { f as te, u as se, d as re } from "./useButtonProps-D-ruygH7.js";
8
- import { u as ne } from "./index-BGd2HiwP.js";
9
- import { P as ce, a as ae, b as le } from "./popover-BC7FRr8B.js";
10
- import { L as B } from "./label-ClsOg9Hr.js";
11
- import { I as V } from "./input-C_J-pfTx.js";
12
- import { B as N } from "./button-090-I3tp.js";
13
- import { I as q } from "./Icon-BvGyfX2j.js";
14
- import { C as oe } from "./checkbox-DiXWHAI0.js";
15
- function ye() {
16
- const { t } = ne(), e = te(), s = se(pe.name), {
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-CelRl0mr.js";
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-SMtif0E1.js";
10
+ function Ce() {
11
+ const { t } = ce(), e = ee(), s = te(xe.name), {
17
12
  icon: n = void 0,
18
13
  tooltip: i = void 0,
19
14
  shortcutKeys: l = void 0,
20
15
  tooltipOptions: c = {},
21
16
  action: h = void 0,
22
17
  isActive: m = void 0
23
- } = (s == null ? void 0 : s.componentProps) ?? {}, { disabled: o } = re(m), [f, d] = b(!1), [p, A] = b(""), [S, w] = b(""), [I, M] = b(!1), [W, D] = b(""), y = () => {
24
- var r, a, g, x;
25
- D(
26
- `${((a = (r = e == null ? void 0 : e.storage) == null ? void 0 : r.searchAndReplace) == null ? void 0 : a.resultIndex) + 1}/${(x = (g = e == null ? void 0 : e.storage) == null ? void 0 : g.searchAndReplace) == null ? void 0 : x.results.length}`
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
+ var r, a, g, p;
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}`
27
22
  );
28
23
  };
29
24
  k(() => {
@@ -32,20 +27,20 @@ function ye() {
32
27
  const H = () => {
33
28
  o || h && h();
34
29
  }, L = (r = !1) => {
35
- var a, g, x, R, v, F, P, O;
36
- e && (r && ((g = (a = e == null ? void 0 : e.commands) == null ? void 0 : a.resetIndex) == null || g.call(a)), (R = (x = e == null ? void 0 : e.commands) == null ? void 0 : x.setSearchTerm) == null || R.call(x, p), (F = (v = e == null ? void 0 : e.commands) == null ? void 0 : v.setReplaceTerm) == null || F.call(v, S), (O = (P = e == null ? void 0 : e.commands) == null ? void 0 : P.setCaseSensitive) == null || O.call(P, I), y());
30
+ var a, g, p, R, v, F, P, O;
31
+ e && (r && ((g = (a = e == null ? void 0 : e.commands) == null ? void 0 : a.resetIndex) == null || g.call(a)), (R = (p = e == null ? void 0 : e.commands) == null ? void 0 : p.setSearchTerm) == null || R.call(p, x), (F = (v = e == null ? void 0 : e.commands) == null ? void 0 : v.setReplaceTerm) == null || F.call(v, S), (O = (P = e == null ? void 0 : e.commands) == null ? void 0 : P.setCaseSensitive) == null || O.call(P, I), y());
37
32
  }, E = () => {
38
33
  var R, v;
39
34
  if (!e) return;
40
35
  const { results: r, resultIndex: a } = e.storage.searchAndReplace, g = r[a];
41
36
  if (!g) return;
42
37
  (v = (R = e == null ? void 0 : e.commands) == null ? void 0 : R.setTextSelection) == null || v.call(R, g);
43
- const { node: x } = e.view.domAtPos(e.state.selection.anchor);
44
- x instanceof HTMLElement && x.scrollIntoView({ behavior: "smooth", block: "center" }), y();
38
+ const { node: p } = e.view.domAtPos(e.state.selection.anchor);
39
+ p instanceof HTMLElement && p.scrollIntoView({ behavior: "smooth", block: "center" }), y();
45
40
  };
46
41
  k(() => {
47
- p.trim() || j(), p.trim() && L(!0);
48
- }, [p]), k(() => {
42
+ x.trim() || D(), x.trim() && L(!0);
43
+ }, [x]), k(() => {
49
44
  S.trim() && L();
50
45
  }, [S]), k(() => {
51
46
  L(!0);
@@ -59,16 +54,16 @@ function ye() {
59
54
  }, G = () => {
60
55
  var r, a;
61
56
  (a = (r = e == null ? void 0 : e.commands) == null ? void 0 : r.previousSearchResult) == null || a.call(r), E();
62
- }, j = () => {
57
+ }, D = () => {
63
58
  var r, a;
64
59
  A(""), w(""), (a = (r = e == null ? void 0 : e.commands) == null ? void 0 : r.resetIndex) == null || a.call(r), y();
65
60
  }, J = () => {
66
61
  var r, a;
67
- (a = (r = e == null ? void 0 : e.commands) == null ? void 0 : r.replaceAll) == null || a.call(r), D("0/0");
62
+ (a = (r = e == null ? void 0 : e.commands) == null ? void 0 : r.replaceAll) == null || a.call(r), j("0/0");
68
63
  };
69
- return s ? /* @__PURE__ */ T(ce, { onOpenChange: d, open: f, children: [
70
- /* @__PURE__ */ u(ae, { asChild: !0, disabled: o, children: /* @__PURE__ */ u(
71
- ee,
64
+ return s ? /* @__PURE__ */ T(ae, { onOpenChange: d, open: f, children: [
65
+ /* @__PURE__ */ u(le, { asChild: !0, disabled: o, children: /* @__PURE__ */ u(
66
+ re,
72
67
  {
73
68
  action: H,
74
69
  disabled: o,
@@ -78,7 +73,7 @@ function ye() {
78
73
  tooltipOptions: c
79
74
  }
80
75
  ) }),
81
- /* @__PURE__ */ T(le, { align: "start", className: "richtext-w-full", hideWhenDetached: !0, side: "bottom", children: [
76
+ /* @__PURE__ */ T(oe, { align: "start", className: "richtext-w-full", hideWhenDetached: !0, side: "bottom", children: [
82
77
  /* @__PURE__ */ T("div", { className: "richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between", children: [
83
78
  /* @__PURE__ */ u(B, { children: t("editor.search.dialog.text") }),
84
79
  /* @__PURE__ */ u("span", { className: "richtext-font-semibold", children: W })
@@ -93,12 +88,12 @@ function ye() {
93
88
  placeholder: "Text",
94
89
  required: !0,
95
90
  type: "text",
96
- value: p
91
+ value: x
97
92
  }
98
93
  ),
99
94
  /* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: G, children: /* @__PURE__ */ u(q, { name: "ChevronUp" }) }),
100
95
  /* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: z, children: /* @__PURE__ */ u(q, { name: "ChevronDown" }) }),
101
- /* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: j, children: "Clear" })
96
+ /* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: D, children: "Clear" })
102
97
  ] }),
103
98
  /* @__PURE__ */ u(B, { className: "richtext-mb-[6px]", children: t("editor.replace.dialog.text") }),
104
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(
@@ -114,7 +109,7 @@ function ye() {
114
109
  ) }) }),
115
110
  /* @__PURE__ */ T("div", { className: "richtext-my-[10px] richtext-flex richtext-items-center richtext-gap-1", children: [
116
111
  /* @__PURE__ */ u(
117
- oe,
112
+ ne,
118
113
  {
119
114
  checked: I,
120
115
  onCheckedChange: (r) => {
@@ -156,12 +151,12 @@ function ue(t, e, s, n) {
156
151
  } : h += 1;
157
152
  }), c = c.filter(Boolean);
158
153
  for (const m of c) {
159
- const { text: o, pos: f } = m, d = Array.from(o.matchAll(e)).filter(([p]) => p.trim());
160
- for (const p of d) {
161
- if (p[0] === "") break;
162
- p.index !== void 0 && l.push({
163
- from: f + p.index,
164
- to: f + p.index + p[0].length
154
+ const { text: o, pos: f } = m, d = Array.from(o.matchAll(e)).filter(([x]) => x.trim());
155
+ for (const x of d) {
156
+ if (x[0] === "") break;
157
+ x.index !== void 0 && l.push({
158
+ from: f + x.index,
159
+ to: f + x.index + x[0].length
165
160
  });
166
161
  }
167
162
  }
@@ -202,7 +197,7 @@ function me(t, e, { tr: s, dispatch: n }) {
202
197
  n(s);
203
198
  }
204
199
  }
205
- const pe = Q.create({
200
+ const xe = Q.create({
206
201
  name: "searchAndReplace",
207
202
  addOptions() {
208
203
  var t;
@@ -278,11 +273,11 @@ const pe = Q.create({
278
273
  searchTerm: o,
279
274
  lastSearchTerm: f,
280
275
  caseSensitive: d,
281
- lastCaseSensitive: p,
276
+ lastCaseSensitive: x,
282
277
  resultIndex: A,
283
278
  lastResultIndex: S
284
279
  } = t.storage.searchAndReplace;
285
- if (!h && f === o && p === d && S === A)
280
+ if (!h && f === o && x === d && S === A)
286
281
  return m;
287
282
  if (n(o), i(d), l(A), !o)
288
283
  return t.storage.searchAndReplace.results = [], $.empty;
@@ -305,6 +300,6 @@ const pe = Q.create({
305
300
  }
306
301
  });
307
302
  export {
308
- ye as RichTextSearchAndReplace,
309
- pe as SearchAndReplace
303
+ Ce as RichTextSearchAndReplace,
304
+ xe as SearchAndReplace
310
305
  };
@@ -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-CUJrDQS7.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-DpXsfGmo.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,9 +1,9 @@
1
- import { E as i, R as a } from "./clsx-m_C5j3RU.js";
1
+ import { E as i, R as a } from "./clsx-BUPZHhq3.js";
2
2
  import { PluginKey as m } from "@tiptap/pm/state";
3
- import { S as s } from "./index-C8FjP66D.js";
4
- import { u, r as l, S as d } from "./SlashCommandNodeView-DS9FqMiY.js";
5
- import { a as b } from "./SlashCommandNodeView-DS9FqMiY.js";
6
- import { u as o } from "./updatePosition-DvfTZHcH.js";
3
+ import { S as s } from "./index-D4M4hrH4.js";
4
+ import { u, r as l, S as d } from "./SlashCommandNodeView-BsIrWlhS.js";
5
+ import { a as b } from "./SlashCommandNodeView-BsIrWlhS.js";
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";
9
9
  import { u as C } from "./index-BGd2HiwP.js";
@@ -1,12 +1,10 @@
1
1
  import { jsx as d, jsxs as g } from "react/jsx-runtime";
2
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, e as P } from "./events.constant-CSWD3-ho.js";
4
- import { H as N, u as T } from "./index-BGd2HiwP.js";
5
- import { c as $ } from "./index-jMN4V2hr.js";
6
- import { y as z, V as q } from "./index-BG0kQamI.js";
7
- import { L as D } from "./label-ClsOg9Hr.js";
8
- import { I as G } from "./Icon-BvGyfX2j.js";
9
- function Z({ t: n }) {
3
+ import { E as B, v as P, L as T, c as $, I as z } from "./index-CelRl0mr.js";
4
+ import "./theme.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
+ function X({ t: n }) {
10
8
  const o = [
11
9
  {
12
10
  name: "format",
@@ -152,22 +150,22 @@ function V(n, o) {
152
150
  commands: t.commands.filter((l) => {
153
151
  const r = l.label.toLowerCase().trim(), m = o.toLowerCase().trim();
154
152
  if (l.aliases) {
155
- const h = l.aliases.map((u) => u.toLowerCase().trim()), p = r.match(m), s = h.some(
153
+ const h = l.aliases.map((u) => u.toLowerCase().trim()), x = r.match(m), s = h.some(
156
154
  (u) => u.match(m)
157
155
  );
158
- return p || s;
156
+ return x || s;
159
157
  }
160
158
  return r.match(m);
161
159
  })
162
160
  })).filter((t) => t.commands.length > 0);
163
161
  }
164
- const M = z([]);
162
+ const M = D([]);
165
163
  function U() {
166
- const [n, o] = q(M);
164
+ const [n, o] = G(M);
167
165
  return [n, o];
168
166
  }
169
167
  function F(n, o) {
170
- const [e] = U(), [t, l] = b(0), [r, m] = b(0), h = w(null), { t: p } = T(), s = V(e, n.query), u = w([]);
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([]);
171
169
  H(o, () => ({
172
170
  onKeyDown: v
173
171
  })), S(() => {
@@ -199,14 +197,14 @@ function F(n, o) {
199
197
  function A() {
200
198
  if (s.length === 0 || r === -1 || t === -1)
201
199
  return !1;
202
- x(r, t);
200
+ p(r, t);
203
201
  }
204
- function x(a, i) {
202
+ function p(a, i) {
205
203
  const c = s[a].commands[i];
206
204
  n == null || n.command(c);
207
205
  }
208
206
  function k(a, i) {
209
- x(a, i);
207
+ p(a, i);
210
208
  }
211
209
  function I(a, i, c) {
212
210
  u.current[a * 1e3 + i] = c;
@@ -218,7 +216,7 @@ function F(n, o) {
218
216
  "data-richtext-portal": !0,
219
217
  ref: h,
220
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: [
221
- /* @__PURE__ */ d(D, { className: "richtext-mx-[4px] richtext-mb-[4px] richtext-mt-[8px] !richtext-text-[0.65rem] richtext-uppercase", children: a.title }),
219
+ /* @__PURE__ */ d(T, { className: "richtext-mx-[4px] richtext-mb-[4px] richtext-mt-[8px] !richtext-text-[0.65rem] richtext-uppercase", children: a.title }),
222
220
  a.commands.map((c, f) => /* @__PURE__ */ g(
223
221
  "button",
224
222
  {
@@ -233,7 +231,7 @@ function F(n, o) {
233
231
  children: [
234
232
  c.iconUrl && /* @__PURE__ */ d("img", { alt: "", className: "richtext-size-6", src: c.iconUrl }),
235
233
  c.iconName && /* @__PURE__ */ d(
236
- G,
234
+ z,
237
235
  {
238
236
  className: "!richtext-mr-1 !richtext-text-lg",
239
237
  name: c.iconName
@@ -244,14 +242,14 @@ function F(n, o) {
244
242
  },
245
243
  `command-${f}`
246
244
  ))
247
- ] }, `slash-${a.title}`)) }) : /* @__PURE__ */ d("div", { className: "richtext-p-3", children: /* @__PURE__ */ d("span", { className: "richtext-text-xs richtext-text-foreground", children: p("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") }) })
248
246
  }
249
247
  );
250
248
  }
251
- const Q = y(F);
249
+ const Y = y(F);
252
250
  export {
253
- Q as S,
251
+ Y as S,
254
252
  V as a,
255
- Z as r,
253
+ X as r,
256
254
  U as u
257
255
  };
@@ -0,0 +1 @@
1
+ "use strict";const d=require("react/jsx-runtime"),u=require("react"),x=require("./index-CUnpdrCy.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;
package/lib/Strike.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./clsx-CXbNJWDD.cjs"),i=require("react/jsx-runtime"),m=require("./toggle-C9tcMm1r.cjs"),u=require("./useButtonProps-D9ndBdmA.cjs");var h=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,S=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,f=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:h,type:this.type})]},addPasteRules(){return[r.markPasteRule({find:S,type:this.type})]}});function v(){const t=u.useButtonProps(d.name),{icon:e=void 0,tooltip:s=void 0,shortcutKeys:n=void 0,tooltipOptions:c={},action:o=void 0,isActive:l=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:p,disabled:a,update:k}=u.useToggleActive(l),g=()=>{a||o&&(o(),k())};return t?i.jsx(m.ActionButton,{action:g,dataState:p,disabled:a,icon:e,shortcutKeys:n,tooltip:s,tooltipOptions:c}):i.jsx(i.Fragment,{})}const d=f.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:s,extension:n})=>({componentProps:{action:()=>e.commands.toggleStrike(),isActive:()=>e.isActive("strike")||!1,disabled:!1,icon:"Strikethrough",shortcutKeys:n.options.shortcutKeys??["shift","mod","S"],tooltip:s("editor.strike.tooltip")}})}}});exports.RichTextStrike=v;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-CUnpdrCy.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;