@remarkablejames/editor 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{ActionMenuButton-B0EHT9CC.js → ActionMenuButton-Bmn3RME4.js} +10 -9
- package/lib/ActionMenuButton-C5P0Kzrb.cjs +1 -0
- package/lib/Attachment.cjs +2 -2
- package/lib/Attachment.js +33 -31
- package/lib/Blockquote.cjs +2 -2
- package/lib/Blockquote.js +12 -13
- package/lib/Bold.cjs +1 -1
- package/lib/Bold.js +10 -11
- package/lib/BulletList.cjs +1 -1
- package/lib/BulletList.js +8 -9
- package/lib/Callout.cjs +1 -1
- package/lib/Callout.js +45 -41
- package/lib/Clear.cjs +1 -1
- package/lib/Clear.js +14 -13
- package/lib/Code.cjs +1 -1
- package/lib/Code.js +5 -6
- package/lib/CodeBlock.cjs +1 -44
- package/lib/CodeBlock.js +183 -3858
- package/lib/CodeView.cjs +1 -1
- package/lib/CodeView.js +8 -9
- package/lib/Color.cjs +1 -1
- package/lib/Color.js +19 -18
- package/lib/Column.cjs +1 -1
- package/lib/Column.js +8 -9
- package/lib/{Drawer-BCWVN-4l.js → Drawer-DvGh9aXG.js} +52 -46
- package/lib/Drawer-gz9U5ArC.cjs +2 -0
- package/lib/Drawer.cjs +1 -1
- package/lib/Drawer.js +3 -3
- package/lib/Emoji.cjs +1 -1
- package/lib/Emoji.js +15 -14
- package/lib/Excalidraw.cjs +1 -1
- package/lib/Excalidraw.js +20 -16
- package/lib/ExportPdf.cjs +3 -3
- package/lib/ExportPdf.js +13 -14
- package/lib/ExportWord.cjs +1 -1
- package/lib/ExportWord.js +6 -6
- package/lib/FontFamily.cjs +1 -1
- package/lib/FontFamily.js +6 -7
- package/lib/FontSize.cjs +1 -1
- package/lib/FontSize.js +14 -15
- package/lib/Heading.cjs +1 -1
- package/lib/Heading.js +26 -26
- package/lib/Highlight.cjs +1 -1
- package/lib/Highlight.js +23 -22
- package/lib/History.cjs +1 -1
- package/lib/History.js +11 -11
- package/lib/HorizontalRule.cjs +1 -1
- package/lib/HorizontalRule.js +9 -10
- package/lib/Icon-CKM0tYbW.js +15 -0
- package/lib/Icon-CQyFgXeo.cjs +1 -0
- package/lib/{Iframe-BdgiWGml.js → Iframe-CnnvV6cK.js} +21 -19
- package/lib/Iframe-Ds6gG2YO.cjs +1 -0
- package/lib/Iframe.cjs +1 -1
- package/lib/Iframe.js +2 -2
- package/lib/Image.cjs +1 -1
- package/lib/Image.js +5 -4
- package/lib/ImageCropper-BKhXlnXN.cjs +1 -0
- package/lib/ImageCropper-DUzu_9-6.js +896 -0
- package/lib/ImageGif.cjs +1 -1
- package/lib/ImageGif.js +94 -91
- package/lib/ImportWord.cjs +1 -1
- package/lib/ImportWord.js +26 -25
- package/lib/{Indent-BpMcZKok.js → Indent-Bsj8gKvT.js} +30 -31
- package/lib/Indent-D_7HOYYd.cjs +1 -0
- package/lib/Indent.cjs +1 -1
- package/lib/Indent.js +2 -2
- package/lib/Italic.cjs +1 -1
- package/lib/Italic.js +11 -12
- package/lib/{Katex-B8_uprkO.js → Katex-CilGTz7u.js} +22 -19
- package/lib/Katex-lL3bHXJd.cjs +4 -0
- package/lib/Katex.cjs +1 -1
- package/lib/Katex.js +2 -2
- package/lib/LineHeight.cjs +1 -1
- package/lib/LineHeight.js +20 -19
- package/lib/Link.cjs +1 -1
- package/lib/Link.js +2 -2
- package/lib/{LinkEditBlock-BX0fXXpF.js → LinkEditBlock-BD_WvA3r.js} +24 -19
- package/lib/LinkEditBlock-D3HSHmsU.cjs +5 -0
- package/lib/Mention.js +3 -3
- package/lib/Mermaid-BfeLPzoS.cjs +2 -0
- package/lib/{Mermaid-D8bbIgAl.js → Mermaid-BrjU75Bs.js} +48 -45
- package/lib/Mermaid.cjs +1 -1
- package/lib/Mermaid.js +2 -2
- package/lib/MoreMark.cjs +1 -1
- package/lib/MoreMark.js +28 -26
- package/lib/OrderedList.cjs +1 -1
- package/lib/OrderedList.js +10 -11
- package/lib/SearchAndReplace.cjs +1 -1
- package/lib/SearchAndReplace.js +42 -37
- package/lib/SlashCommand.cjs +1 -1
- package/lib/SlashCommand.js +5 -5
- package/lib/{SlashCommandNodeView-BcmtKbEE.js → SlashCommandNodeView-COx5qZ2y.js} +41 -39
- package/lib/SlashCommandNodeView-DD-nlhM-.cjs +1 -0
- package/lib/Strike.cjs +1 -1
- package/lib/Strike.js +11 -12
- package/lib/{Table-DbxuP5xh.js → Table-BlM8yMhr.js} +46 -46
- package/lib/Table-C21AlUrh.cjs +5 -0
- package/lib/Table.cjs +1 -1
- package/lib/Table.js +1 -1
- package/lib/TaskList.cjs +1 -1
- package/lib/TaskList.js +11 -12
- package/lib/TextAlign.cjs +1 -1
- package/lib/TextAlign.js +27 -26
- package/lib/TextDirection.cjs +1 -1
- package/lib/TextDirection.js +19 -18
- package/lib/TextUnderline.cjs +1 -1
- package/lib/TextUnderline.js +8 -9
- package/lib/{Twitter-9I6BLNmg.js → Twitter-BP8sYXX7.js} +22 -18
- package/lib/Twitter-D46MnvPr.cjs +1 -0
- package/lib/Twitter.cjs +1 -1
- package/lib/Twitter.js +2 -2
- package/lib/Video-Bpd8W8l6.js +231 -0
- package/lib/Video-BwrHx6B1.cjs +1 -0
- package/lib/Video.cjs +1 -1
- package/lib/Video.js +5 -4
- package/lib/bubble.cjs +3 -3
- package/lib/bubble.js +171 -162
- package/lib/button-BmTP96NR.cjs +1 -0
- package/lib/button-CDIxPURh.js +35 -0
- package/lib/checkbox-7sfSdzy9.js +29 -0
- package/lib/checkbox-DyVlLWHv.cjs +1 -0
- package/lib/{clsx-CDyrfCnw.js → clsx-m_C5j3RU.js} +24 -24
- package/lib/dialog-B-jOQ5i3.cjs +1 -0
- package/lib/dialog-QWWUWOGP.js +95 -0
- package/lib/{dropdown-menu-Bs69ZBbO.js → dropdown-menu-C1hdPLCZ.js} +1 -1
- package/lib/{dropdown-menu-DjWlG2-J.cjs → dropdown-menu-CkHN04Mx.cjs} +1 -1
- package/lib/events.constant-Bh2uzJud.js +71 -0
- package/lib/events.constant-ELn21EzG.cjs +1 -0
- package/lib/extensions/CodeBlock/CodeBlock.d.ts +1 -1
- package/lib/file-BLas99n7.js +43 -0
- package/lib/file-i7e4nQY2.cjs +1 -0
- package/lib/{index-C-tDsIKJ.js → index-B3Ijnbxs.js} +1 -1
- package/lib/{index-C1WCZhyA.js → index-C1KQsOcg.js} +1 -1
- package/lib/{index-CsSfYR30.js → index-C8FjP66D.js} +1 -1
- package/lib/index-CAiZY1nx.js +2741 -0
- package/lib/index-DWSAk_9a.cjs +1 -0
- package/lib/{index-DjDf4BK8.js → index-s3l5RdyW.js} +1 -1
- package/lib/index.cjs +4 -4
- package/lib/index.js +392 -147
- package/lib/input-qvpuOf-3.js +21 -0
- package/lib/input-s0JD5kf2.cjs +1 -0
- package/lib/isNumber-BTYSVlKo.cjs +1 -0
- package/lib/isNumber-WaBzl_0s.js +15 -0
- package/lib/label-CFax-gzo.cjs +1 -0
- package/lib/label-DC37f2RQ.js +11 -0
- package/lib/{popover-D-hUKDYu.cjs → popover-B05Fd8lC.cjs} +1 -1
- package/lib/{popover-CPr9bHYn.js → popover-CsSXh7w6.js} +1 -1
- package/lib/{renderNodeView-BJSrgyGj.js → renderNodeView-C_hPIdEs.js} +2 -2
- package/lib/{select-C2KF4RNg.cjs → select-7ubC1NF0.cjs} +1 -1
- package/lib/{select-CuE_HaQJ.js → select-B3-5wTqn.js} +1 -1
- package/lib/{separator-CHzYNMVt.js → separator-CYCA8tSn.js} +13 -12
- package/lib/separator-ncbdw4oq.cjs +1 -0
- package/lib/style.css +1 -1
- package/lib/tabs-BeHxylKH.js +46 -0
- package/lib/tabs-DBqNpGAq.cjs +1 -0
- package/lib/{textarea-gEoNp9CA.js → textarea-1FhpmBkP.js} +1 -1
- package/lib/{textarea-DZj6EY-N.cjs → textarea-Bjhcpp76.cjs} +1 -1
- package/lib/throttle-CRNq0z-O.js +249 -0
- package/lib/throttle-gTTvqDTW.cjs +1 -0
- package/lib/toggle-DoJTBdvy.js +89 -0
- package/lib/toggle-oFwBZC4x.cjs +1 -0
- package/lib/{updatePosition-e90ZrFWW.js → updatePosition-DvfTZHcH.js} +2 -2
- package/lib/useButtonProps-BE10eHkG.js +165 -0
- package/lib/useButtonProps-CFu0GHzW.cjs +1 -0
- package/package.json +1 -1
- package/lib/ActionMenuButton-J1el_e6Z.cjs +0 -1
- package/lib/Drawer-BTouEroZ.cjs +0 -2
- package/lib/Iframe-BfBLILDA.cjs +0 -1
- package/lib/Indent-Dvqz_WEn.cjs +0 -1
- package/lib/Katex-BQyeCeQ0.cjs +0 -4
- package/lib/LinkEditBlock-CIshn_8F.cjs +0 -5
- package/lib/Mermaid-0GiGVxn0.cjs +0 -2
- package/lib/SlashCommandNodeView-rDJ7OjRd.cjs +0 -1
- package/lib/Table-BEhNBeuA.cjs +0 -5
- package/lib/Twitter-BuEBgpi9.cjs +0 -1
- package/lib/index-D9oM__YW.cjs +0 -1
- package/lib/index-lj3VWExo.js +0 -4883
- package/lib/separator-_gvUNba_.cjs +0 -1
package/lib/MoreMark.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { M as h, m, E as b } from "./clsx-
|
|
2
|
-
import { jsx as e, Fragment as
|
|
3
|
-
import { useMemo as
|
|
4
|
-
import {
|
|
5
|
-
import "./
|
|
6
|
-
import { D as
|
|
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-DoJTBdvy.js";
|
|
5
|
+
import { u as A, d as S, g as k } from "./useButtonProps-BE10eHkG.js";
|
|
6
|
+
import { D as v, a as y, b as T, c as K } from "./dropdown-menu-C1hdPLCZ.js";
|
|
7
|
+
import { M as w } from "./index-CAiZY1nx.js";
|
|
8
|
+
import { I as C } from "./Icon-CKM0tYbW.js";
|
|
7
9
|
var H = h.create({
|
|
8
10
|
name: "subscript",
|
|
9
11
|
addOptions() {
|
|
@@ -75,39 +77,39 @@ var H = h.create({
|
|
|
75
77
|
};
|
|
76
78
|
}
|
|
77
79
|
});
|
|
78
|
-
function
|
|
79
|
-
const t =
|
|
80
|
+
function R() {
|
|
81
|
+
const t = A(D.name), {
|
|
80
82
|
icon: s = void 0,
|
|
81
|
-
tooltip:
|
|
83
|
+
tooltip: o = void 0,
|
|
82
84
|
items: i = [],
|
|
83
85
|
isActive: a = void 0
|
|
84
|
-
} = (t == null ? void 0 : t.componentProps) ?? {}, { disabled: c, dataState:
|
|
85
|
-
return t ? /* @__PURE__ */ d(
|
|
86
|
-
/* @__PURE__ */ e(
|
|
87
|
-
|
|
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,
|
|
88
90
|
{
|
|
89
91
|
customClass: "!richtext-w-12 richtext-h-12",
|
|
90
92
|
disabled: c,
|
|
91
93
|
icon: s,
|
|
92
|
-
tooltip:
|
|
93
|
-
children: /* @__PURE__ */ e(
|
|
94
|
+
tooltip: o,
|
|
95
|
+
children: /* @__PURE__ */ e(w, { className: "richtext-size-3 richtext-text-gray-500" })
|
|
94
96
|
}
|
|
95
97
|
) }),
|
|
96
|
-
/* @__PURE__ */ e(
|
|
97
|
-
|
|
98
|
+
/* @__PURE__ */ e(T, { className: "w-full", children: i == null ? void 0 : i.map((r, u) => /* @__PURE__ */ d(
|
|
99
|
+
K,
|
|
98
100
|
{
|
|
99
101
|
checked: p === r.title,
|
|
100
102
|
className: "richtext-flex richtext-items-center richtext-gap-3",
|
|
101
103
|
onClick: r.action,
|
|
102
104
|
children: [
|
|
103
|
-
/* @__PURE__ */ e(
|
|
105
|
+
/* @__PURE__ */ e(C, { name: r == null ? void 0 : r.icon }),
|
|
104
106
|
/* @__PURE__ */ e("span", { className: "richtext-ml-1", children: r.title }),
|
|
105
|
-
!!(r != null && r.shortcutKeys) && /* @__PURE__ */ e("span", { className: "richtext-ml-auto richtext-text-xs richtext-tracking-widest richtext-opacity-60", children:
|
|
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) })
|
|
106
108
|
]
|
|
107
109
|
},
|
|
108
110
|
`more-mark-${u}`
|
|
109
111
|
)) })
|
|
110
|
-
] }) : /* @__PURE__ */ e(
|
|
112
|
+
] }) : /* @__PURE__ */ e(f, {});
|
|
111
113
|
}
|
|
112
114
|
const D = /* @__PURE__ */ b.create({
|
|
113
115
|
name: "moreMark",
|
|
@@ -116,24 +118,24 @@ const D = /* @__PURE__ */ b.create({
|
|
|
116
118
|
var t;
|
|
117
119
|
return {
|
|
118
120
|
...(t = this.parent) == null ? void 0 : t.call(this),
|
|
119
|
-
button({ editor: s, extension:
|
|
121
|
+
button({ editor: s, extension: o, t: i }) {
|
|
120
122
|
var u, l;
|
|
121
|
-
const a =
|
|
123
|
+
const a = o.options.subscript, c = o.options.superscript, n = {
|
|
122
124
|
action: () => s.commands.toggleSubscript(),
|
|
123
125
|
isActive: () => s.isActive("subscript") || !1,
|
|
124
126
|
disabled: !s.can().toggleSubscript(),
|
|
125
127
|
icon: "Subscript",
|
|
126
128
|
title: i("editor.subscript.tooltip"),
|
|
127
|
-
shortcutKeys: ((u =
|
|
129
|
+
shortcutKeys: ((u = o.options.shortcutKeys) == null ? void 0 : u[0]) ?? ["mod", "."]
|
|
128
130
|
}, p = {
|
|
129
131
|
action: () => s.commands.toggleSuperscript(),
|
|
130
132
|
isActive: () => s.isActive("superscript") || !1,
|
|
131
133
|
disabled: !s.can().toggleSuperscript(),
|
|
132
134
|
icon: "Superscript",
|
|
133
135
|
title: i("editor.superscript.tooltip"),
|
|
134
|
-
shortcutKeys: ((l =
|
|
136
|
+
shortcutKeys: ((l = o.options.shortcutKeys) == null ? void 0 : l[1]) ?? ["mod", ","]
|
|
135
137
|
}, r = [];
|
|
136
|
-
return a !== !1 && r.push(
|
|
138
|
+
return a !== !1 && r.push(n), c !== !1 && r.push(p), {
|
|
137
139
|
// component: ActionMoreButton,
|
|
138
140
|
componentProps: {
|
|
139
141
|
icon: "Type",
|
|
@@ -153,5 +155,5 @@ const D = /* @__PURE__ */ b.create({
|
|
|
153
155
|
});
|
|
154
156
|
export {
|
|
155
157
|
D as MoreMark,
|
|
156
|
-
|
|
158
|
+
R as RichTextMoreMark
|
|
157
159
|
};
|
package/lib/OrderedList.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./index-BCzvbrf5.cjs"),s=require("react/jsx-runtime"),g=require("./toggle-oFwBZC4x.cjs"),d=require("./useButtonProps-CFu0GHzW.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;
|
package/lib/OrderedList.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import { O as u } from "./index-
|
|
2
|
-
import { jsx as n, Fragment as
|
|
3
|
-
import {
|
|
4
|
-
import "
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const t = f(A.name), {
|
|
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-DoJTBdvy.js";
|
|
4
|
+
import { u as v, c as O } from "./useButtonProps-BE10eHkG.js";
|
|
5
|
+
function y() {
|
|
6
|
+
const t = v(A.name), {
|
|
8
7
|
icon: o = void 0,
|
|
9
8
|
tooltip: i = void 0,
|
|
10
9
|
shortcutKeys: e = void 0,
|
|
11
10
|
tooltipOptions: d = {},
|
|
12
11
|
action: s = void 0,
|
|
13
12
|
isActive: c = void 0
|
|
14
|
-
} = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: a, disabled: r, update: p } =
|
|
13
|
+
} = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: a, disabled: r, update: p } = O(c), m = () => {
|
|
15
14
|
r || s && (s(), p());
|
|
16
15
|
};
|
|
17
16
|
return t ? /* @__PURE__ */ n(
|
|
18
|
-
|
|
17
|
+
l,
|
|
19
18
|
{
|
|
20
19
|
action: m,
|
|
21
20
|
dataState: a,
|
|
@@ -25,7 +24,7 @@ function K() {
|
|
|
25
24
|
tooltip: i,
|
|
26
25
|
tooltipOptions: d
|
|
27
26
|
}
|
|
28
|
-
) : /* @__PURE__ */ n(
|
|
27
|
+
) : /* @__PURE__ */ n(f, {});
|
|
29
28
|
}
|
|
30
29
|
const A = /* @__PURE__ */ u.extend({
|
|
31
30
|
//@ts-expect-error
|
|
@@ -48,5 +47,5 @@ const A = /* @__PURE__ */ u.extend({
|
|
|
48
47
|
});
|
|
49
48
|
export {
|
|
50
49
|
A as OrderedList,
|
|
51
|
-
|
|
50
|
+
y as RichTextOrderedList
|
|
52
51
|
};
|
package/lib/SearchAndReplace.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const 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-oFwBZC4x.cjs"),k=require("./useButtonProps-CFu0GHzW.cjs"),_=require("./index-bVGIXhRg.cjs"),B=require("./popover-B05Fd8lC.cjs"),E=require("./label-CFax-gzo.cjs"),M=require("./input-s0JD5kf2.cjs"),j=require("./button-BmTP96NR.cjs"),V=require("./Icon-CQyFgXeo.cjs"),ee=require("./checkbox-DyVlLWHv.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;
|
package/lib/SearchAndReplace.js
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
|
-
import { E as Q } from "./clsx-
|
|
1
|
+
import { E as Q } from "./clsx-m_C5j3RU.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 {
|
|
7
|
-
import "./
|
|
8
|
-
import { u as
|
|
9
|
-
import { P as
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
import { A as ee } from "./toggle-DoJTBdvy.js";
|
|
7
|
+
import { f as te, u as se, d as re } from "./useButtonProps-BE10eHkG.js";
|
|
8
|
+
import { u as ne } from "./index-4Q5IhypJ.js";
|
|
9
|
+
import { P as ce, a as ae, b as le } from "./popover-CsSXh7w6.js";
|
|
10
|
+
import { L as B } from "./label-DC37f2RQ.js";
|
|
11
|
+
import { I as V } from "./input-qvpuOf-3.js";
|
|
12
|
+
import { B as N } from "./button-CDIxPURh.js";
|
|
13
|
+
import { I as q } from "./Icon-CKM0tYbW.js";
|
|
14
|
+
import { C as oe } from "./checkbox-7sfSdzy9.js";
|
|
15
|
+
function ye() {
|
|
16
|
+
const { t } = ne(), e = te(), s = se(pe.name), {
|
|
12
17
|
icon: n = void 0,
|
|
13
18
|
tooltip: i = void 0,
|
|
14
19
|
shortcutKeys: l = void 0,
|
|
15
20
|
tooltipOptions: c = {},
|
|
16
21
|
action: h = void 0,
|
|
17
22
|
isActive: m = void 0
|
|
18
|
-
} = (s == null ? void 0 : s.componentProps) ?? {}, { disabled: o } =
|
|
19
|
-
var r, a, g,
|
|
20
|
-
|
|
21
|
-
`${((a = (r = e == null ? void 0 : e.storage) == null ? void 0 : r.searchAndReplace) == null ? void 0 : a.resultIndex) + 1}/${(
|
|
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}`
|
|
22
27
|
);
|
|
23
28
|
};
|
|
24
29
|
k(() => {
|
|
@@ -27,20 +32,20 @@ function Ce() {
|
|
|
27
32
|
const H = () => {
|
|
28
33
|
o || h && h();
|
|
29
34
|
}, L = (r = !1) => {
|
|
30
|
-
var a, g,
|
|
31
|
-
e && (r && ((g = (a = e == null ? void 0 : e.commands) == null ? void 0 : a.resetIndex) == null || g.call(a)), (R = (
|
|
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());
|
|
32
37
|
}, E = () => {
|
|
33
38
|
var R, v;
|
|
34
39
|
if (!e) return;
|
|
35
40
|
const { results: r, resultIndex: a } = e.storage.searchAndReplace, g = r[a];
|
|
36
41
|
if (!g) return;
|
|
37
42
|
(v = (R = e == null ? void 0 : e.commands) == null ? void 0 : R.setTextSelection) == null || v.call(R, g);
|
|
38
|
-
const { node:
|
|
39
|
-
|
|
43
|
+
const { node: x } = e.view.domAtPos(e.state.selection.anchor);
|
|
44
|
+
x instanceof HTMLElement && x.scrollIntoView({ behavior: "smooth", block: "center" }), y();
|
|
40
45
|
};
|
|
41
46
|
k(() => {
|
|
42
|
-
|
|
43
|
-
}, [
|
|
47
|
+
p.trim() || j(), p.trim() && L(!0);
|
|
48
|
+
}, [p]), k(() => {
|
|
44
49
|
S.trim() && L();
|
|
45
50
|
}, [S]), k(() => {
|
|
46
51
|
L(!0);
|
|
@@ -54,16 +59,16 @@ function Ce() {
|
|
|
54
59
|
}, G = () => {
|
|
55
60
|
var r, a;
|
|
56
61
|
(a = (r = e == null ? void 0 : e.commands) == null ? void 0 : r.previousSearchResult) == null || a.call(r), E();
|
|
57
|
-
},
|
|
62
|
+
}, j = () => {
|
|
58
63
|
var r, a;
|
|
59
64
|
A(""), w(""), (a = (r = e == null ? void 0 : e.commands) == null ? void 0 : r.resetIndex) == null || a.call(r), y();
|
|
60
65
|
}, J = () => {
|
|
61
66
|
var r, a;
|
|
62
|
-
(a = (r = e == null ? void 0 : e.commands) == null ? void 0 : r.replaceAll) == null || a.call(r),
|
|
67
|
+
(a = (r = e == null ? void 0 : e.commands) == null ? void 0 : r.replaceAll) == null || a.call(r), D("0/0");
|
|
63
68
|
};
|
|
64
|
-
return s ? /* @__PURE__ */ T(
|
|
65
|
-
/* @__PURE__ */ u(
|
|
66
|
-
|
|
69
|
+
return s ? /* @__PURE__ */ T(ce, { onOpenChange: d, open: f, children: [
|
|
70
|
+
/* @__PURE__ */ u(ae, { asChild: !0, disabled: o, children: /* @__PURE__ */ u(
|
|
71
|
+
ee,
|
|
67
72
|
{
|
|
68
73
|
action: H,
|
|
69
74
|
disabled: o,
|
|
@@ -73,7 +78,7 @@ function Ce() {
|
|
|
73
78
|
tooltipOptions: c
|
|
74
79
|
}
|
|
75
80
|
) }),
|
|
76
|
-
/* @__PURE__ */ T(
|
|
81
|
+
/* @__PURE__ */ T(le, { align: "start", className: "richtext-w-full", hideWhenDetached: !0, side: "bottom", children: [
|
|
77
82
|
/* @__PURE__ */ T("div", { className: "richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between", children: [
|
|
78
83
|
/* @__PURE__ */ u(B, { children: t("editor.search.dialog.text") }),
|
|
79
84
|
/* @__PURE__ */ u("span", { className: "richtext-font-semibold", children: W })
|
|
@@ -88,12 +93,12 @@ function Ce() {
|
|
|
88
93
|
placeholder: "Text",
|
|
89
94
|
required: !0,
|
|
90
95
|
type: "text",
|
|
91
|
-
value:
|
|
96
|
+
value: p
|
|
92
97
|
}
|
|
93
98
|
),
|
|
94
99
|
/* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: G, children: /* @__PURE__ */ u(q, { name: "ChevronUp" }) }),
|
|
95
100
|
/* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: z, children: /* @__PURE__ */ u(q, { name: "ChevronDown" }) }),
|
|
96
|
-
/* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick:
|
|
101
|
+
/* @__PURE__ */ u(N, { className: "richtext-flex-1", onClick: j, children: "Clear" })
|
|
97
102
|
] }),
|
|
98
103
|
/* @__PURE__ */ u(B, { className: "richtext-mb-[6px]", children: t("editor.replace.dialog.text") }),
|
|
99
104
|
/* @__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(
|
|
@@ -109,7 +114,7 @@ function Ce() {
|
|
|
109
114
|
) }) }),
|
|
110
115
|
/* @__PURE__ */ T("div", { className: "richtext-my-[10px] richtext-flex richtext-items-center richtext-gap-1", children: [
|
|
111
116
|
/* @__PURE__ */ u(
|
|
112
|
-
|
|
117
|
+
oe,
|
|
113
118
|
{
|
|
114
119
|
checked: I,
|
|
115
120
|
onCheckedChange: (r) => {
|
|
@@ -151,12 +156,12 @@ function ue(t, e, s, n) {
|
|
|
151
156
|
} : h += 1;
|
|
152
157
|
}), c = c.filter(Boolean);
|
|
153
158
|
for (const m of c) {
|
|
154
|
-
const { text: o, pos: f } = m, d = Array.from(o.matchAll(e)).filter(([
|
|
155
|
-
for (const
|
|
156
|
-
if (
|
|
157
|
-
|
|
158
|
-
from: f +
|
|
159
|
-
to: f +
|
|
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
|
|
160
165
|
});
|
|
161
166
|
}
|
|
162
167
|
}
|
|
@@ -197,7 +202,7 @@ function me(t, e, { tr: s, dispatch: n }) {
|
|
|
197
202
|
n(s);
|
|
198
203
|
}
|
|
199
204
|
}
|
|
200
|
-
const
|
|
205
|
+
const pe = Q.create({
|
|
201
206
|
name: "searchAndReplace",
|
|
202
207
|
addOptions() {
|
|
203
208
|
var t;
|
|
@@ -273,11 +278,11 @@ const xe = Q.create({
|
|
|
273
278
|
searchTerm: o,
|
|
274
279
|
lastSearchTerm: f,
|
|
275
280
|
caseSensitive: d,
|
|
276
|
-
lastCaseSensitive:
|
|
281
|
+
lastCaseSensitive: p,
|
|
277
282
|
resultIndex: A,
|
|
278
283
|
lastResultIndex: S
|
|
279
284
|
} = t.storage.searchAndReplace;
|
|
280
|
-
if (!h && f === o &&
|
|
285
|
+
if (!h && f === o && p === d && S === A)
|
|
281
286
|
return m;
|
|
282
287
|
if (n(o), i(d), l(A), !o)
|
|
283
288
|
return t.storage.searchAndReplace.results = [], $.empty;
|
|
@@ -300,6 +305,6 @@ const xe = Q.create({
|
|
|
300
305
|
}
|
|
301
306
|
});
|
|
302
307
|
export {
|
|
303
|
-
|
|
304
|
-
|
|
308
|
+
ye as RichTextSearchAndReplace,
|
|
309
|
+
pe as SearchAndReplace
|
|
305
310
|
};
|
package/lib/SlashCommand.cjs
CHANGED
|
@@ -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-
|
|
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-DD-nlhM-.cjs"),a=require("./updatePosition-Cjuj2E26.cjs"),s=require("react/jsx-runtime"),l=require("react"),m=require("./index-bVGIXhRg.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;
|
package/lib/SlashCommand.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { E as i, R as a } from "./clsx-
|
|
1
|
+
import { E as i, R as a } from "./clsx-m_C5j3RU.js";
|
|
2
2
|
import { PluginKey as m } from "@tiptap/pm/state";
|
|
3
|
-
import { S as s } from "./index-
|
|
4
|
-
import { u, r as l, S as d } from "./SlashCommandNodeView-
|
|
5
|
-
import { a as b } from "./SlashCommandNodeView-
|
|
6
|
-
import { u as o } from "./updatePosition-
|
|
3
|
+
import { S as s } from "./index-C8FjP66D.js";
|
|
4
|
+
import { u, r as l, S as d } from "./SlashCommandNodeView-COx5qZ2y.js";
|
|
5
|
+
import { a as b } from "./SlashCommandNodeView-COx5qZ2y.js";
|
|
6
|
+
import { u as o } from "./updatePosition-DvfTZHcH.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-4Q5IhypJ.js";
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as d, jsxs as g } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as y, useState as b, useRef as v, useImperativeHandle as S, useEffect as B, Fragment as D } from "react";
|
|
3
|
-
import { E as w,
|
|
4
|
-
import "./
|
|
5
|
-
import {
|
|
6
|
-
import { y as
|
|
7
|
-
|
|
3
|
+
import { E as w, e as N } from "./events.constant-Bh2uzJud.js";
|
|
4
|
+
import { H as L, u as T } from "./index-4Q5IhypJ.js";
|
|
5
|
+
import { c as V } from "./index-CAiZY1nx.js";
|
|
6
|
+
import { y as $, V as z } from "./index-BG0kQamI.js";
|
|
7
|
+
import { L as q } from "./label-DC37f2RQ.js";
|
|
8
|
+
import { I as G } from "./Icon-CKM0tYbW.js";
|
|
9
|
+
function Z({ t: i }) {
|
|
8
10
|
const a = [
|
|
9
11
|
{
|
|
10
12
|
name: "format",
|
|
@@ -25,11 +27,11 @@ function X({ t: i }) {
|
|
|
25
27
|
iconName: `Heading${e}`,
|
|
26
28
|
isActive: (t) => e === "Paragraph" ? !1 : t.isActive("heading", { level: e }) || !1,
|
|
27
29
|
action: ({ editor: t, range: l }) => {
|
|
28
|
-
const
|
|
29
|
-
(
|
|
30
|
+
const r = L.find(
|
|
31
|
+
(m) => t.isActive("heading", { level: m })
|
|
30
32
|
);
|
|
31
33
|
if (e === "Paragraph") {
|
|
32
|
-
|
|
34
|
+
r !== void 0 && r !== "Paragraph" && t.commands.toggleHeading({ level: r }), t.chain().focus().deleteRange(l).run();
|
|
33
35
|
return;
|
|
34
36
|
}
|
|
35
37
|
if (e) {
|
|
@@ -144,57 +146,57 @@ function P(i, a) {
|
|
|
144
146
|
return i.map((t) => ({
|
|
145
147
|
...t,
|
|
146
148
|
commands: t.commands.filter((l) => {
|
|
147
|
-
const
|
|
149
|
+
const r = l.label.toLowerCase().trim(), m = a.toLowerCase().trim();
|
|
148
150
|
if (l.aliases) {
|
|
149
|
-
const u = l.aliases.map((h) => h.toLowerCase().trim()), x =
|
|
150
|
-
return x ||
|
|
151
|
+
const u = l.aliases.map((h) => h.toLowerCase().trim()), x = r.match(m), s = u.some((h) => h.match(m));
|
|
152
|
+
return x || s;
|
|
151
153
|
}
|
|
152
|
-
return
|
|
154
|
+
return r.match(m);
|
|
153
155
|
})
|
|
154
156
|
})).filter((t) => t.commands.length > 0);
|
|
155
157
|
}
|
|
156
|
-
const U =
|
|
158
|
+
const U = $([]);
|
|
157
159
|
function O() {
|
|
158
|
-
const [i, a] =
|
|
160
|
+
const [i, a] = z(U);
|
|
159
161
|
return [i, a];
|
|
160
162
|
}
|
|
161
163
|
function F(i, a) {
|
|
162
|
-
const [e] = O(), [t, l] = b(0), [
|
|
164
|
+
const [e] = O(), [t, l] = b(0), [r, m] = b(0), u = v(null), { t: x } = T(), s = P(e, i.query), h = v([]);
|
|
163
165
|
S(a, () => ({
|
|
164
166
|
onKeyDown: A
|
|
165
167
|
})), B(() => {
|
|
166
168
|
if (!u.current)
|
|
167
169
|
return;
|
|
168
|
-
const o =
|
|
170
|
+
const o = r * 1e3 + t, n = h.current[o];
|
|
169
171
|
n && n.scrollIntoView({
|
|
170
172
|
behavior: "smooth",
|
|
171
173
|
block: "nearest"
|
|
172
174
|
});
|
|
173
|
-
}, [t,
|
|
175
|
+
}, [t, r]);
|
|
174
176
|
function A({ event: o }) {
|
|
175
177
|
return o.key === "ArrowUp" ? (C(), !0) : o.key === "ArrowDown" ? (I(), !0) : o.key === "Enter" ? (k(), !0) : !1;
|
|
176
178
|
}
|
|
177
179
|
function C() {
|
|
178
180
|
var c;
|
|
179
|
-
if (
|
|
181
|
+
if (s.length === 0)
|
|
180
182
|
return !1;
|
|
181
|
-
let o = t - 1, n =
|
|
182
|
-
o < 0 && (n =
|
|
183
|
+
let o = t - 1, n = r;
|
|
184
|
+
o < 0 && (n = r - 1, o = ((c = s[n]) == null ? void 0 : c.commands.length) - 1 || 0), n < 0 && (n = s.length - 1, o = s[n].commands.length - 1), l(o), m(n);
|
|
183
185
|
}
|
|
184
186
|
function I() {
|
|
185
|
-
if (
|
|
187
|
+
if (s.length === 0)
|
|
186
188
|
return !1;
|
|
187
|
-
const o = r
|
|
188
|
-
let n = t + 1, c =
|
|
189
|
-
o.length - 1 < n && (n = 0, c =
|
|
189
|
+
const o = s[r].commands;
|
|
190
|
+
let n = t + 1, c = r;
|
|
191
|
+
o.length - 1 < n && (n = 0, c = r + 1), s.length - 1 < c && (c = 0), l(n), m(c);
|
|
190
192
|
}
|
|
191
193
|
function k() {
|
|
192
|
-
if (
|
|
194
|
+
if (s.length === 0 || r === -1 || t === -1)
|
|
193
195
|
return !1;
|
|
194
|
-
p(
|
|
196
|
+
p(r, t);
|
|
195
197
|
}
|
|
196
198
|
function p(o, n) {
|
|
197
|
-
const c =
|
|
199
|
+
const c = s[o].commands[n];
|
|
198
200
|
i == null || i.command(c);
|
|
199
201
|
}
|
|
200
202
|
function R(o, n) {
|
|
@@ -203,14 +205,14 @@ function F(i, a) {
|
|
|
203
205
|
function H(o, n, c) {
|
|
204
206
|
h.current[o * 1e3 + n] = c;
|
|
205
207
|
}
|
|
206
|
-
return /* @__PURE__ */
|
|
208
|
+
return /* @__PURE__ */ d(
|
|
207
209
|
"div",
|
|
208
210
|
{
|
|
209
211
|
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",
|
|
210
212
|
"data-richtext-portal": !0,
|
|
211
213
|
ref: u,
|
|
212
|
-
children:
|
|
213
|
-
/* @__PURE__ */
|
|
214
|
+
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, n) => /* @__PURE__ */ g(D, { children: [
|
|
215
|
+
/* @__PURE__ */ d(q, { className: "richtext-mx-[4px] richtext-mb-[4px] richtext-mt-[8px] !richtext-text-[0.65rem] richtext-uppercase", children: o.title }),
|
|
214
216
|
o.commands.map((c, f) => /* @__PURE__ */ g(
|
|
215
217
|
"button",
|
|
216
218
|
{
|
|
@@ -219,13 +221,13 @@ function F(i, a) {
|
|
|
219
221
|
className: V(
|
|
220
222
|
"richtext-flex richtext-w-full richtext-items-center richtext-gap-3 richtext-rounded-sm !richtext-border-none !richtext-bg-transparent richtext-px-2 richtext-py-1.5 richtext-text-left richtext-text-sm richtext-text-foreground !richtext-outline-none richtext-transition-colors hover:!richtext-bg-accent",
|
|
221
223
|
{
|
|
222
|
-
"bg-item-active":
|
|
224
|
+
"bg-item-active": r === n && t === f
|
|
223
225
|
}
|
|
224
226
|
),
|
|
225
227
|
children: [
|
|
226
|
-
c.iconUrl && /* @__PURE__ */
|
|
227
|
-
c.iconName && /* @__PURE__ */
|
|
228
|
-
|
|
228
|
+
c.iconUrl && /* @__PURE__ */ d("img", { alt: "", className: "richtext-size-6", src: c.iconUrl }),
|
|
229
|
+
c.iconName && /* @__PURE__ */ d(
|
|
230
|
+
G,
|
|
229
231
|
{
|
|
230
232
|
className: "!richtext-mr-1 !richtext-text-lg",
|
|
231
233
|
name: c.iconName
|
|
@@ -236,14 +238,14 @@ function F(i, a) {
|
|
|
236
238
|
},
|
|
237
239
|
`command-${f}`
|
|
238
240
|
))
|
|
239
|
-
] }, `slash-${o.title}`)) }) : /* @__PURE__ */
|
|
241
|
+
] }, `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") }) })
|
|
240
242
|
}
|
|
241
243
|
);
|
|
242
244
|
}
|
|
243
|
-
const
|
|
245
|
+
const Q = y(F);
|
|
244
246
|
export {
|
|
245
|
-
|
|
247
|
+
Q as S,
|
|
246
248
|
P as a,
|
|
247
|
-
|
|
249
|
+
Z as r,
|
|
248
250
|
O as u
|
|
249
251
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const d=require("react/jsx-runtime"),u=require("react"),g=require("./events.constant-ELn21EzG.cjs"),b=require("./index-bVGIXhRg.cjs"),S=require("./index-DWSAk_9a.cjs"),N=require("./index-NsYff_Ni.cjs"),q=require("./label-CFax-gzo.cjs"),y=require("./Icon-CQyFgXeo.cjs");function D({t:i}){const s=[{name:"format",title:i("editor.slash.format"),commands:[]},{name:"insert",title:i("editor.slash.insert"),commands:[]}];return b.HEADINGS.forEach(e=>{s[0].commands.push({name:`heading${e}`,label:i(e==="Paragraph"?"editor.paragraph.tooltip":`editor.heading.h${e}.tooltip`),aliases:[`h${e}`,"bt",`bt${e}`],iconName:`Heading${e}`,isActive:t=>e==="Paragraph"?!1:t.isActive("heading",{level:e})||!1,action:({editor:t,range:l})=>{const a=b.HEADINGS.find(m=>t.isActive("heading",{level:m}));if(e==="Paragraph"){a!==void 0&&a!=="Paragraph"&&t.commands.toggleHeading({level:a}),t.chain().focus().deleteRange(l).run();return}if(e){t.chain().focus().deleteRange(l).setHeading({level:e}).run();return}t.chain().focus().deleteRange(l).run()}})}),s[0].commands.push({name:"bulletList",label:i("editor.bulletlist.tooltip"),aliases:["ul","yxlb"],iconName:"List",isActive:e=>e.isActive("bulletList"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).toggleBulletList().run()}}),s[0].commands.push({name:"orderedlist",label:i("editor.orderedlist.tooltip"),aliases:["ol","yxlb"],iconName:"ListOrdered",isActive:e=>e.isActive("orderedList"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).toggleOrderedList().run()}}),s[0].commands.push({name:"taskList",label:i("editor.tasklist.tooltip"),iconName:"ListTodo",description:"Task list with todo items",aliases:["todo"],isActive:e=>e.isActive("taskList"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).toggleTaskList().run()}}),s[0].commands.push({name:"blockquote",label:i("editor.blockquote.tooltip"),description:"插入引入格式",aliases:["yr"],iconName:"TextQuote",isActive:e=>e.isActive("blockquote"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).setBlockquote().run()}}),s[0].commands.push({name:"codeBlock",label:i("editor.codeblock.tooltip"),iconName:"Code2",description:"Code block with syntax highlighting",shouldBeHidden:e=>e.isActive("columns"),isActive:e=>e.isActive("codeBlock"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).setCodeBlock().run()}}),s[1].commands.push({name:"image",label:i("editor.image.tooltip"),iconName:"ImageUp",description:"Insert a image",aliases:["image","tp","tupian"],shouldBeHidden:e=>e.isActive("columns"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).run();const l=g.EVENTS.UPLOAD_IMAGE(e.id);g.emit(l,!0)}}),s[1].commands.push({name:"video",label:i("editor.video.tooltip"),iconName:"Video",description:"Insert a video",aliases:["video","sp","shipin"],shouldBeHidden:e=>e.isActive("columns"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).run();const l=g.EVENTS.UPLOAD_VIDEO(e.id);g.emit(l,!0)}}),s[1].commands.push({name:"table",label:i("editor.table.tooltip"),iconName:"Table",description:"Insert a table",aliases:["table","bg","biaoge","biao"],shouldBeHidden:e=>e.isActive("columns"),action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).insertTable({rows:3,cols:3,withHeaderRow:!1}).run()}}),s[1].commands.push({name:"horizontalRule",label:i("editor.horizontalrule.tooltip"),iconName:"Minus",description:"Insert a horizontal divider",aliases:["hr","fgx","fg"],action:({editor:e,range:t})=>{e.chain().focus().deleteRange(t).setHorizontalRule().run()}}),s[1].commands.push({name:"columns",label:i("editor.columns.tooltip"),iconName:"Columns2",description:"Add two column content",action:({editor:e})=>{e.chain().focus().insertColumns({cols:2}).run()}}),s}function w(i,s){return i.map(t=>({...t,commands:t.commands.filter(l=>{const a=l.label.toLowerCase().trim(),m=s.toLowerCase().trim();if(l.aliases){const x=l.aliases.map(h=>h.toLowerCase().trim()),p=a.match(m),r=x.some(h=>h.match(m));return p||r}return a.match(m)})})).filter(t=>t.commands.length>0)}const V=N.y([]);function C(){const[i,s]=N.V(V);return[i,s]}function j(i,s){const[e]=C(),[t,l]=u.useState(0),[a,m]=u.useState(0),x=u.useRef(null),{t:p}=b.useLocale(),r=w(e,i.query),h=u.useRef([]);u.useImperativeHandle(s,()=>({onKeyDown:L})),u.useEffect(()=>{if(!x.current)return;const o=a*1e3+t,n=h.current[o];n&&n.scrollIntoView({behavior:"smooth",block:"nearest"})},[t,a]);function L({event:o}){return o.key==="ArrowUp"?(A(),!0):o.key==="ArrowDown"?(I(),!0):o.key==="Enter"?(R(),!0):!1}function A(){var c;if(r.length===0)return!1;let o=t-1,n=a;o<0&&(n=a-1,o=((c=r[n])==null?void 0:c.commands.length)-1||0),n<0&&(n=r.length-1,o=r[n].commands.length-1),l(o),m(n)}function I(){if(r.length===0)return!1;const o=r[a].commands;let n=t+1,c=a;o.length-1<n&&(n=0,c=a+1),r.length-1<c&&(c=0),l(n),m(c)}function R(){if(r.length===0||a===-1||t===-1)return!1;v(a,t)}function v(o,n){const c=r[o].commands[n];i==null||i.command(c)}function k(o,n){v(o,n)}function H(o,n,c){h.current[o*1e3+n]=c}return d.jsx("div",{className:"richtext-max-h-[min(80vh,24rem)] richtext-flex-wrap richtext-overflow-y-auto richtext-overflow-x-hidden richtext-rounded-md !richtext-border !richtext-border-solid !richtext-border-border richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none","data-richtext-portal":!0,ref:x,children:r!=null&&r.length?d.jsx("div",{className:"richtext-grid richtext-min-w-48 richtext-grid-cols-1 richtext-gap-0.5",children:r==null?void 0:r.map((o,n)=>d.jsxs(u.Fragment,{children:[d.jsx(q.Label,{className:"richtext-mx-[4px] richtext-mb-[4px] richtext-mt-[8px] !richtext-text-[0.65rem] richtext-uppercase",children:o.title}),o.commands.map((c,f)=>d.jsxs("button",{onClick:()=>k(n,f),ref:E=>H(n,f,E),className:S.cn("richtext-flex richtext-w-full richtext-items-center richtext-gap-3 richtext-rounded-sm !richtext-border-none !richtext-bg-transparent richtext-px-2 richtext-py-1.5 richtext-text-left richtext-text-sm richtext-text-foreground !richtext-outline-none richtext-transition-colors hover:!richtext-bg-accent",{"bg-item-active":a===n&&t===f}),children:[c.iconUrl&&d.jsx("img",{alt:"",className:"richtext-size-6",src:c.iconUrl}),c.iconName&&d.jsx(y.IconComponent,{className:"!richtext-mr-1 !richtext-text-lg",name:c.iconName}),c.label]},`command-${f}`))]},`slash-${o.title}`))}):d.jsx("div",{className:"richtext-p-3",children:d.jsx("span",{className:"richtext-text-xs richtext-text-foreground",children:p("editor.slash.empty")})})})}const T=u.forwardRef(j);exports.SlashCommandNodeView=T;exports.renderCommandListDefault=D;exports.useFilterCommandList=w;exports.useSignalCommandList=C;
|
package/lib/Strike.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./clsx-CXbNJWDD.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./clsx-CXbNJWDD.cjs"),i=require("react/jsx-runtime"),m=require("./toggle-oFwBZC4x.cjs"),u=require("./useButtonProps-CFu0GHzW.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;
|