reactjs-tiptap-editor 1.0.23 → 1.0.24
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-Da0H9Beu.cjs → ActionMenuButton-B8NhVw5m.cjs} +1 -1
- package/lib/{ActionMenuButton-C53IYt_R.js → ActionMenuButton-HYlhmRvw.js} +1 -1
- package/lib/Attachment.cjs +1 -1
- package/lib/Attachment.js +3 -3
- package/lib/Blockquote.cjs +1 -1
- package/lib/Blockquote.js +2 -2
- package/lib/Bold.cjs +1 -1
- package/lib/Bold.js +2 -2
- package/lib/BulletList.cjs +1 -1
- package/lib/BulletList.js +2 -2
- package/lib/{Callout-CdXbDkZ6.cjs → Callout-B-S2f0Qo.cjs} +1 -1
- package/lib/{Callout-igc-a1lj.js → Callout-CF7Y9yJ7.js} +3 -3
- package/lib/Callout.cjs +1 -1
- package/lib/Callout.js +4 -4
- package/lib/Clear.cjs +1 -1
- package/lib/Clear.js +2 -2
- package/lib/Code.cjs +1 -1
- package/lib/Code.js +6 -6
- package/lib/CodeBlock.cjs +1 -1
- package/lib/CodeBlock.js +27 -27
- package/lib/CodeView.cjs +1 -1
- package/lib/CodeView.js +2 -2
- package/lib/Color.cjs +1 -1
- package/lib/Color.js +3 -3
- package/lib/Column.cjs +1 -1
- package/lib/Column.js +7 -7
- package/lib/{Drawer-DzroBQds.js → Drawer-CaXVhxo4.js} +20 -20
- package/lib/{Drawer-CrMuQNbZ.cjs → Drawer-Was4hxYH.cjs} +1 -1
- package/lib/Drawer.cjs +1 -1
- package/lib/Drawer.js +4 -4
- package/lib/Emoji.cjs +1 -1
- package/lib/Emoji.js +4311 -1859
- package/lib/Excalidraw.cjs +1 -1
- package/lib/Excalidraw.js +3 -3
- package/lib/ExportPdf.cjs +1 -1
- package/lib/ExportPdf.js +2 -2
- package/lib/ExportWord.cjs +1 -1
- package/lib/ExportWord.js +2 -2
- package/lib/FontFamily.cjs +1 -1
- package/lib/FontFamily.js +4 -4
- package/lib/FontSize.cjs +1 -1
- package/lib/FontSize.js +4 -4
- package/lib/Heading.cjs +1 -1
- package/lib/Heading.js +4 -4
- package/lib/Highlight.cjs +1 -1
- package/lib/Highlight.js +69 -46
- package/lib/History.cjs +1 -1
- package/lib/History.js +556 -418
- package/lib/HorizontalRule.cjs +1 -1
- package/lib/HorizontalRule.js +2 -2
- package/lib/{Iframe-DVLx3H0m.cjs → Iframe-BI0sq6pd.cjs} +1 -1
- package/lib/{Iframe-Dt2Styg8.js → Iframe-Bp986fj0.js} +3 -3
- package/lib/Iframe.cjs +1 -1
- package/lib/Iframe.js +3 -3
- package/lib/Image.cjs +1 -1
- package/lib/Image.js +3 -3
- package/lib/ImageGif.cjs +1 -1
- package/lib/ImageGif.js +4 -4
- package/lib/ImportWord.cjs +1 -1
- package/lib/ImportWord.js +2 -2
- package/lib/{Indent-BCZFJKcN.js → Indent-E6B8DkyN.js} +4 -4
- package/lib/{Indent-CQCn1r9U.cjs → Indent-FvM52kjA.cjs} +1 -1
- package/lib/Indent.cjs +1 -1
- package/lib/Indent.js +2 -2
- package/lib/Italic.cjs +1 -1
- package/lib/Italic.js +2 -2
- package/lib/{Katex-By61XteD.cjs → Katex-DP6EjdKz.cjs} +1 -1
- package/lib/{Katex--VT0zcjU.js → Katex-pzwyyiFJ.js} +4 -4
- package/lib/Katex.cjs +1 -1
- package/lib/Katex.js +3 -3
- package/lib/LineHeight.cjs +1 -1
- package/lib/LineHeight.js +3 -3
- package/lib/Link.cjs +1 -1
- package/lib/Link.js +2 -2
- package/lib/LinkEditBlock-Cmkmp2fW.cjs +5 -0
- package/lib/{LinkEditBlock-C_F9zWEj.js → LinkEditBlock-OjN4F2rM.js} +222 -224
- package/lib/MarkdownPaste.cjs +1 -1
- package/lib/MarkdownPaste.js +1 -1
- package/lib/Mention.cjs +1 -1
- package/lib/Mention.js +8 -8
- package/lib/Mermaid.cjs +1 -1
- package/lib/Mermaid.js +27 -27
- package/lib/MoreMark.cjs +1 -1
- package/lib/MoreMark.js +3 -3
- package/lib/OrderedList.cjs +1 -1
- package/lib/OrderedList.js +2 -2
- package/lib/SearchAndReplace.cjs +1 -1
- package/lib/SearchAndReplace.js +3 -3
- package/lib/SlashCommand.cjs +1 -1
- package/lib/SlashCommand.js +6 -6
- package/lib/{SlashCommandNodeView-Aqc77oRC.cjs → SlashCommandNodeView-DarAytvt.cjs} +1 -1
- package/lib/{SlashCommandNodeView-DxlBPKPV.js → SlashCommandNodeView-o323V8li.js} +1 -1
- package/lib/Strike.cjs +1 -1
- package/lib/Strike.js +2 -2
- package/lib/Table-CC9uNHPL.js +1984 -0
- package/lib/Table-Clnz-i4l.cjs +9 -0
- package/lib/Table.cjs +1 -1
- package/lib/Table.js +1 -1
- package/lib/TaskList.cjs +1 -1
- package/lib/TaskList.js +2 -2
- package/lib/TextAlign.cjs +1 -1
- package/lib/TextAlign.js +3 -3
- package/lib/TextDirection.cjs +1 -1
- package/lib/TextDirection.js +3 -3
- package/lib/TextUnderline.cjs +1 -1
- package/lib/TextUnderline.js +2 -2
- package/lib/{Twitter-f-oMDZuV.cjs → Twitter-0kmrijjL.cjs} +1 -1
- package/lib/{Twitter-DP_9V0zb.js → Twitter-BVnXL8we.js} +4 -4
- package/lib/Twitter.cjs +1 -1
- package/lib/Twitter.js +3 -3
- package/lib/Video.cjs +1 -1
- package/lib/Video.js +2 -2
- package/lib/bubble.cjs +6 -6
- package/lib/bubble.js +1573 -1561
- package/lib/{clsx-Bg-2aTKh.js → clsx-0OU6n9va.js} +379 -353
- package/lib/clsx-D6gYQn3o.cjs +33 -0
- package/lib/{dropdown-menu-DeBV2h9-.cjs → dropdown-menu-BIGvxqiu.cjs} +1 -1
- package/lib/{dropdown-menu-uIj8M0jD.js → dropdown-menu-BW2M6saA.js} +1 -1
- package/lib/index-BAb_UADw.cjs +1 -0
- package/lib/index-BF3EVCB1.cjs +2 -0
- package/lib/{index-D0EmqTpe.js → index-BblvcbTH.js} +1130 -1064
- package/lib/index-Bcj8cyOO.cjs +24 -0
- package/lib/{index-BVtsbzV8.js → index-BrsJsbds.js} +2 -2
- package/lib/index-CGjT-a9h.js +1377 -0
- package/lib/index-CPTpXLfX.cjs +11 -0
- package/lib/{index-C3dgmjIF.cjs → index-CUvjYuRp.cjs} +1 -1
- package/lib/{index-DXtVL0al.js → index-Cal5SPfB.js} +189 -134
- package/lib/{index-CjLxMm5d.js → index-D-Ouz0vF.js} +1 -1
- package/lib/{index-ezTXvA7H.cjs → index-deubsx3z.cjs} +1 -1
- package/lib/{index-CbkpBnTX.js → index-zw-Kd38i.js} +47 -50
- package/lib/index.cjs +1 -1
- package/lib/index.js +2 -2
- package/lib/{popover-mlZeH-7I.js → popover-BIVHT1W9.js} +1 -1
- package/lib/{popover-Cq1iLY7i.cjs → popover-DoSfJsFS.cjs} +1 -1
- package/lib/{renderNodeView-CbxCTni3.js → renderNodeView-CfWJK4rG.js} +2 -2
- package/lib/{renderNodeView-DFVrJy0l.cjs → renderNodeView-D--fDFov.cjs} +1 -1
- package/lib/{separator-DvAvl5_5.cjs → separator-SRbPfmGa.cjs} +1 -1
- package/lib/{separator-Bh_ttGZg.js → separator-b-qOPJmp.js} +2 -2
- package/lib/{textarea-MU5imD7D.js → textarea-CpxXPky_.js} +1 -1
- package/lib/{textarea-CKXzGwId.cjs → textarea-DbGw9oCU.cjs} +1 -1
- package/lib/updatePosition-BwzAsiY0.js +16 -0
- package/lib/{updatePosition-CQE1ct18.cjs → updatePosition-DGPtRfWN.cjs} +1 -1
- package/package.json +60 -60
- package/lib/LinkEditBlock-BLkA2CYZ.cjs +0 -5
- package/lib/Table-DqXkwJAY.cjs +0 -9
- package/lib/Table-r09L4PvT.js +0 -1945
- package/lib/clsx-DSAWW32g.cjs +0 -33
- package/lib/index-C4WLt4NA.cjs +0 -24
- package/lib/index-DlxZt4_j.cjs +0 -1
- package/lib/index-P5_MyY0i.js +0 -1362
- package/lib/index-TcJ2UKnv.cjs +0 -1
- package/lib/index-fbGGohBT.cjs +0 -12
- package/lib/updatePosition-BGD41Hbg.js +0 -16
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { M as y, m as
|
|
2
|
-
var
|
|
1
|
+
import { M as y, m as d, E as s, g as l } from "./index-BblvcbTH.js";
|
|
2
|
+
var p = 20, a = (t, e = 0) => {
|
|
3
3
|
const r = [];
|
|
4
|
-
return !t.children.length || e >
|
|
5
|
-
|
|
4
|
+
return !t.children.length || e > p || Array.from(t.children).forEach((n) => {
|
|
5
|
+
n.tagName === "SPAN" ? r.push(n) : n.children.length && r.push(...a(n, e + 1));
|
|
6
6
|
}), r;
|
|
7
7
|
}, f = (t) => {
|
|
8
8
|
if (!t.children.length)
|
|
9
9
|
return;
|
|
10
|
-
const e =
|
|
10
|
+
const e = a(t);
|
|
11
11
|
e && e.forEach((r) => {
|
|
12
|
-
var
|
|
13
|
-
const
|
|
14
|
-
r.setAttribute("style", `${
|
|
12
|
+
var n, o;
|
|
13
|
+
const i = r.getAttribute("style"), u = (o = (n = r.parentElement) == null ? void 0 : n.closest("span")) == null ? void 0 : o.getAttribute("style");
|
|
14
|
+
r.setAttribute("style", `${u};${i}`);
|
|
15
15
|
});
|
|
16
16
|
}, c = y.create({
|
|
17
17
|
name: "textStyle",
|
|
@@ -32,22 +32,22 @@ var d = 20, u = (t, e = 0) => {
|
|
|
32
32
|
];
|
|
33
33
|
},
|
|
34
34
|
renderHTML({ HTMLAttributes: t }) {
|
|
35
|
-
return ["span",
|
|
35
|
+
return ["span", d(this.options.HTMLAttributes, t), 0];
|
|
36
36
|
},
|
|
37
37
|
addCommands() {
|
|
38
38
|
return {
|
|
39
39
|
toggleTextStyle: (t) => ({ commands: e }) => e.toggleMark(this.name, t),
|
|
40
40
|
removeEmptyTextStyle: () => ({ tr: t }) => {
|
|
41
41
|
const { selection: e } = t;
|
|
42
|
-
return t.doc.nodesBetween(e.from, e.to, (r,
|
|
42
|
+
return t.doc.nodesBetween(e.from, e.to, (r, n) => {
|
|
43
43
|
if (r.isTextblock)
|
|
44
44
|
return !0;
|
|
45
|
-
r.marks.filter((
|
|
45
|
+
r.marks.filter((o) => o.type === this.type).some((o) => Object.values(o.attrs).some((i) => !!i)) || t.removeMark(n, n + r.nodeSize, this.type);
|
|
46
46
|
}), !0;
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
}),
|
|
50
|
+
}), h = s.create({
|
|
51
51
|
name: "backgroundColor",
|
|
52
52
|
addOptions() {
|
|
53
53
|
return {
|
|
@@ -63,19 +63,8 @@ var d = 20, u = (t, e = 0) => {
|
|
|
63
63
|
default: null,
|
|
64
64
|
parseHTML: (t) => {
|
|
65
65
|
var e;
|
|
66
|
-
const r = t
|
|
67
|
-
|
|
68
|
-
const o = r.split(";").map((n) => n.trim()).filter(Boolean);
|
|
69
|
-
for (let n = o.length - 1; n >= 0; n -= 1) {
|
|
70
|
-
const s = o[n].split(":");
|
|
71
|
-
if (s.length >= 2) {
|
|
72
|
-
const i = s[0].trim().toLowerCase(), a = s.slice(1).join(":").trim();
|
|
73
|
-
if (i === "background-color")
|
|
74
|
-
return a.replace(/['"]+/g, "");
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return (e = t.style.backgroundColor) == null ? void 0 : e.replace(/['"]+/g, "");
|
|
66
|
+
const r = (e = l(t, "background-color")) != null ? e : t.style.backgroundColor;
|
|
67
|
+
return r == null ? void 0 : r.replace(/['"]+/g, "");
|
|
79
68
|
},
|
|
80
69
|
renderHTML: (t) => t.backgroundColor ? {
|
|
81
70
|
style: `background-color: ${t.backgroundColor}`
|
|
@@ -91,7 +80,7 @@ var d = 20, u = (t, e = 0) => {
|
|
|
91
80
|
unsetBackgroundColor: () => ({ chain: t }) => t().setMark("textStyle", { backgroundColor: null }).removeEmptyTextStyle().run()
|
|
92
81
|
};
|
|
93
82
|
}
|
|
94
|
-
}),
|
|
83
|
+
}), S = s.create({
|
|
95
84
|
name: "color",
|
|
96
85
|
addOptions() {
|
|
97
86
|
return {
|
|
@@ -107,19 +96,8 @@ var d = 20, u = (t, e = 0) => {
|
|
|
107
96
|
default: null,
|
|
108
97
|
parseHTML: (t) => {
|
|
109
98
|
var e;
|
|
110
|
-
const r = t
|
|
111
|
-
|
|
112
|
-
const o = r.split(";").map((n) => n.trim()).filter(Boolean);
|
|
113
|
-
for (let n = o.length - 1; n >= 0; n -= 1) {
|
|
114
|
-
const s = o[n].split(":");
|
|
115
|
-
if (s.length >= 2) {
|
|
116
|
-
const i = s[0].trim().toLowerCase(), a = s.slice(1).join(":").trim();
|
|
117
|
-
if (i === "color")
|
|
118
|
-
return a.replace(/['"]+/g, "");
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return (e = t.style.color) == null ? void 0 : e.replace(/['"]+/g, "");
|
|
99
|
+
const r = (e = l(t, "color")) != null ? e : t.style.color;
|
|
100
|
+
return r == null ? void 0 : r.replace(/['"]+/g, "");
|
|
123
101
|
},
|
|
124
102
|
renderHTML: (t) => t.color ? {
|
|
125
103
|
style: `color: ${t.color}`
|
|
@@ -135,7 +113,7 @@ var d = 20, u = (t, e = 0) => {
|
|
|
135
113
|
unsetColor: () => ({ chain: t }) => t().setMark("textStyle", { color: null }).removeEmptyTextStyle().run()
|
|
136
114
|
};
|
|
137
115
|
}
|
|
138
|
-
}),
|
|
116
|
+
}), g = s.create({
|
|
139
117
|
name: "fontFamily",
|
|
140
118
|
addOptions() {
|
|
141
119
|
return {
|
|
@@ -149,7 +127,14 @@ var d = 20, u = (t, e = 0) => {
|
|
|
149
127
|
attributes: {
|
|
150
128
|
fontFamily: {
|
|
151
129
|
default: null,
|
|
152
|
-
|
|
130
|
+
// Prefer the raw inline `style` attribute so unquoted or
|
|
131
|
+
// single-quoted multi-word names are preserved instead of being
|
|
132
|
+
// canonicalized by `element.style.fontFamily`, which forces double
|
|
133
|
+
// quotes that then get HTML-encoded to `"` on serialization.
|
|
134
|
+
parseHTML: (t) => {
|
|
135
|
+
var e;
|
|
136
|
+
return (e = l(t, "font-family")) != null ? e : t.style.fontFamily;
|
|
137
|
+
},
|
|
153
138
|
renderHTML: (t) => t.fontFamily ? {
|
|
154
139
|
style: `font-family: ${t.fontFamily}`
|
|
155
140
|
} : {}
|
|
@@ -164,7 +149,7 @@ var d = 20, u = (t, e = 0) => {
|
|
|
164
149
|
unsetFontFamily: () => ({ chain: t }) => t().setMark("textStyle", { fontFamily: null }).removeEmptyTextStyle().run()
|
|
165
150
|
};
|
|
166
151
|
}
|
|
167
|
-
}),
|
|
152
|
+
}), m = s.create({
|
|
168
153
|
name: "fontSize",
|
|
169
154
|
addOptions() {
|
|
170
155
|
return {
|
|
@@ -178,7 +163,13 @@ var d = 20, u = (t, e = 0) => {
|
|
|
178
163
|
attributes: {
|
|
179
164
|
fontSize: {
|
|
180
165
|
default: null,
|
|
181
|
-
|
|
166
|
+
// Prefer the raw inline `style` attribute so the original format
|
|
167
|
+
// is preserved instead of the canonicalized value returned by
|
|
168
|
+
// `element.style.fontSize`.
|
|
169
|
+
parseHTML: (t) => {
|
|
170
|
+
var e;
|
|
171
|
+
return (e = l(t, "font-size")) != null ? e : t.style.fontSize;
|
|
172
|
+
},
|
|
182
173
|
renderHTML: (t) => t.fontSize ? {
|
|
183
174
|
style: `font-size: ${t.fontSize}`
|
|
184
175
|
} : {}
|
|
@@ -193,7 +184,7 @@ var d = 20, u = (t, e = 0) => {
|
|
|
193
184
|
unsetFontSize: () => ({ chain: t }) => t().setMark("textStyle", { fontSize: null }).removeEmptyTextStyle().run()
|
|
194
185
|
};
|
|
195
186
|
}
|
|
196
|
-
}),
|
|
187
|
+
}), x = s.create({
|
|
197
188
|
name: "lineHeight",
|
|
198
189
|
addOptions() {
|
|
199
190
|
return {
|
|
@@ -207,7 +198,13 @@ var d = 20, u = (t, e = 0) => {
|
|
|
207
198
|
attributes: {
|
|
208
199
|
lineHeight: {
|
|
209
200
|
default: null,
|
|
210
|
-
|
|
201
|
+
// Prefer the raw inline `style` attribute so the original format
|
|
202
|
+
// is preserved instead of the canonicalized value returned by
|
|
203
|
+
// `element.style.lineHeight`.
|
|
204
|
+
parseHTML: (t) => {
|
|
205
|
+
var e;
|
|
206
|
+
return (e = l(t, "line-height")) != null ? e : t.style.lineHeight;
|
|
207
|
+
},
|
|
211
208
|
renderHTML: (t) => t.lineHeight ? {
|
|
212
209
|
style: `line-height: ${t.lineHeight}`
|
|
213
210
|
} : {}
|
|
@@ -223,15 +220,15 @@ var d = 20, u = (t, e = 0) => {
|
|
|
223
220
|
};
|
|
224
221
|
}
|
|
225
222
|
});
|
|
226
|
-
|
|
223
|
+
s.create({
|
|
227
224
|
name: "textStyleKit",
|
|
228
225
|
addExtensions() {
|
|
229
226
|
const t = [];
|
|
230
|
-
return this.options.backgroundColor !== !1 && t.push(
|
|
227
|
+
return this.options.backgroundColor !== !1 && t.push(h.configure(this.options.backgroundColor)), this.options.color !== !1 && t.push(S.configure(this.options.color)), this.options.fontFamily !== !1 && t.push(g.configure(this.options.fontFamily)), this.options.fontSize !== !1 && t.push(m.configure(this.options.fontSize)), this.options.lineHeight !== !1 && t.push(x.configure(this.options.lineHeight)), this.options.textStyle !== !1 && t.push(c.configure(this.options.textStyle)), t;
|
|
231
228
|
}
|
|
232
229
|
});
|
|
233
230
|
export {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
231
|
+
S as C,
|
|
232
|
+
g as F,
|
|
233
|
+
x as L
|
|
237
234
|
};
|
package/lib/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),C=require("./clsx-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),C=require("./clsx-D6gYQn3o.cjs"),l=require("react"),d=require("./index-deubsx3z.cjs"),f=require("./theme.cjs"),M=`
|
|
2
2
|
.reactjs-tiptap-editor {
|
|
3
3
|
button,
|
|
4
4
|
input:where([type=button]),
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as s, Fragment as f, jsxs as T } from "react/jsx-runtime";
|
|
2
|
-
import { E as j } from "./clsx-
|
|
2
|
+
import { E as j } from "./clsx-0OU6n9va.js";
|
|
3
3
|
import { useEffect as l, useId as M } from "react";
|
|
4
|
-
import { N as P, R as A, O, S as $ } from "./index-
|
|
4
|
+
import { N as P, R as A, O, S as $ } from "./index-BrsJsbds.js";
|
|
5
5
|
import { useTheme as D, THEME as m } from "./theme.js";
|
|
6
6
|
const H = `
|
|
7
7
|
.reactjs-tiptap-editor {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import * as t from "@radix-ui/react-popover";
|
|
3
3
|
import * as c from "react";
|
|
4
|
-
import { c as s } from "./index-
|
|
4
|
+
import { c as s } from "./index-BrsJsbds.js";
|
|
5
5
|
const x = t.Root, p = t.Trigger, n = c.forwardRef(({ className: o, align: r = "center", sideOffset: i = 4, ...a }, d) => /* @__PURE__ */ e(t.Portal, { children: /* @__PURE__ */ e(
|
|
6
6
|
t.Content,
|
|
7
7
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=require("react/jsx-runtime"),d=require("@radix-ui/react-popover"),p=require("react"),h=require("./index-
|
|
1
|
+
"use strict";const a=require("react/jsx-runtime"),d=require("@radix-ui/react-popover"),p=require("react"),h=require("./index-deubsx3z.cjs");function n(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const i=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(r,e,i.get?i:{enumerable:!0,get:()=>t[e]})}}return r.default=t,Object.freeze(r)}const o=n(d),l=n(p),x=o.Root,m=o.Trigger,c=l.forwardRef(({className:t,align:r="center",sideOffset:e=4,...i},s)=>a.jsx(o.Portal,{children:a.jsx(o.Content,{align:r,"data-richtext-portal":!0,ref:s,sideOffset:e,className:h.cn("richtext-z-50 richtext-w-72 richtext-rounded-md !richtext-border !richtext-border-border richtext-bg-popover richtext-p-4 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none data-[state=open]:richtext-animate-in data-[state=closed]:richtext-animate-out data-[state=closed]:richtext-fade-out-0 data-[state=open]:richtext-fade-in-0 data-[state=closed]:richtext-zoom-out-95 data-[state=open]:richtext-zoom-in-95 data-[side=bottom]:richtext-slide-in-from-top-2 data-[side=left]:richtext-slide-in-from-right-2 data-[side=right]:richtext-slide-in-from-left-2 data-[side=top]:richtext-slide-in-from-bottom-2",t),...i})}));c.displayName=o.Content.displayName;exports.Popover=x;exports.PopoverContent=c;exports.PopoverTrigger=m;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const i=require("./clsx-
|
|
1
|
+
"use strict";const i=require("./clsx-D6gYQn3o.cjs"),r=require("./updatePosition-DGPtRfWN.cjs");function d(o){return()=>{let e;return{onStart:t=>{t.clientRect&&(e=new i.ReactRenderer(o,{props:t,editor:t.editor}),e.element.style.position="absolute",document.body.appendChild(e.element),r.updatePosition(t.editor,e.element))},onUpdate(t){e.updateProps(t),t.clientRect&&r.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.destroy(),e.element.remove()}}}}exports.renderNodeViewClosure=d;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),E=require("lucide-react"),n=require("react"),P=require("react-colorful"),j=require("./index-
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),E=require("lucide-react"),n=require("react"),P=require("react-colorful"),j=require("./index-deubsx3z.cjs");require("./theme.cjs");const C=require("./index-CWw4s87s.cjs"),v=require("./popover-DoSfJsFS.cjs"),O=require("@radix-ui/react-separator");function N(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const c in t)if(c!=="default"){const h=Object.getOwnPropertyDescriptor(t,c);Object.defineProperty(r,c,h.get?h:{enumerable:!0,get:()=>t[c]})}}return r.default=t,Object.freeze(r)}const y=N(n),z=N(O);function R(){return e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",children:e.jsx("path",{fill:"currentColor",d:"M18 14c0-4-6-10.8-6-10.8s-1.33 1.51-2.73 3.52l8.59 8.59c.09-.42.14-.86.14-1.31m-.88 3.12L12.5 12.5L5.27 5.27L4 6.55l3.32 3.32C6.55 11.32 6 12.79 6 14c0 3.31 2.69 6 6 6c1.52 0 2.9-.57 3.96-1.5l2.63 2.63l1.27-1.27z"})})}const w=typeof window>"u";function L(t,r,c=window){const h=n.useRef(void 0);n.useEffect(()=>{h.current=r},[r]),n.useEffect(()=>{if(!(c&&c.addEventListener))return;const f=x=>{h.current&&h.current(x)};return c.addEventListener(t,f),()=>{c.removeEventListener(t,f)}},[t,c])}function _(t,r,c={}){const{initializeWithValue:h=!0}=c,i=n.useCallback(o=>c.serializer?c.serializer(o):JSON.stringify(o),[c]),f=n.useCallback(o=>{if(c.deserializer)return c.deserializer(o);if(o==="undefined")return;const l=r instanceof Function?r():r;let s;try{s=JSON.parse(o)}catch(a){return console.error("Error parsing JSON:",a),l}return s},[c,r]),x=n.useCallback(()=>{const o=r instanceof Function?r():r;if(w)return o;try{const l=window.localStorage.getItem(t);return l?f(l):o}catch(l){return console.warn(`Error reading localStorage key “${t}”:`,l),o}},[r,t,f]),[d,p]=n.useState(()=>h?x():r instanceof Function?r():r),b=n.useCallback(o=>{w&&console.warn(`Tried setting localStorage key “${t}” even though environment is not a client`);try{const l=o instanceof Function?o(x()):o;window.localStorage.setItem(t,i(l)),p(l),window.dispatchEvent(new StorageEvent("local-storage",{key:t}))}catch(l){console.warn(`Error setting localStorage key “${t}”:`,l)}},[t,i,x]),g=n.useCallback(()=>{w&&console.warn(`Tried removing localStorage key “${t}” even though environment is not a client`);const o=r instanceof Function?r():r;window.localStorage.removeItem(t),p(o),window.dispatchEvent(new StorageEvent("local-storage",{key:t}))},[t,r]);n.useEffect(()=>{p(x())},[t]);const m=n.useCallback(o=>{o.key&&o.key!==t||p(x())},[t,x]);return L("storage",m),L("local-storage",m),[d,b,g]}function q(t){const{t:r}=C.useLocale(),{disabled:c=!1,value:h,onChange:i,colors:f=C.COLORS_LIST,highlight:x}=t,[d,p]=n.useState(!1),b=n.useMemo(()=>{const s=f,a=[];for(let u=0;u<s.length;u+=10)a.push(s.slice(u,u+10));return a},[f]),[g,m]=_(x?"richtext-recent-highlight":"richtext-recent-colors",[]),o=s=>{const a=[...g],u=a.indexOf(s);u!==-1&&a.splice(u,1),a.unshift(s),a.length>10&&a.pop(),m(a)};function l(s){if(s===void 0){i==null||i(s),p(!1);return}/^#([\da-f]{3}){1,2}$/i.test(s)&&(i==null||i(s),o(s),p(!1))}return e.jsxs(v.Popover,{modal:!0,onOpenChange:p,open:d,children:[e.jsx(v.PopoverTrigger,{asChild:!0,className:"!richtext-p-0",disabled:c,children:t==null?void 0:t.children}),e.jsx(v.PopoverContent,{align:"start",className:"richtext-size-full !richtext-p-2",hideWhenDetached:!0,side:"bottom",children:e.jsxs("div",{className:"richtext-flex richtext-flex-col",children:[e.jsxs("div",{className:"rd-1 richtext-flex richtext-cursor-pointer richtext-items-center richtext-gap-[4px] richtext-p-1 hover:richtext-bg-accent",onClick:()=>{l(void 0)},children:[e.jsx(R,{}),e.jsx("span",{className:"richtext-ml-1 richtext-text-sm",children:r(x?"editor.nofill":"editor.default")})]}),b.map((s,a)=>e.jsx("span",{className:"richtext-relative richtext-flex richtext-h-auto richtext-w-full richtext-p-0 last:richtext-pb-2",children:s.map((u,k)=>e.jsx("span",{className:"richtext-inline-block richtext-size-6 richtext-flex-[0_0_auto] richtext-cursor-pointer richtext-rounded-sm !richtext-border richtext-border-solid !richtext-border-transparent richtext-p-0.5 hover:!richtext-border-border",onClick:()=>l(u),children:e.jsx("span",{className:"richtext-relative richtext-block richtext-size-[18px] richtext-rounded-[2px]",style:{backgroundColor:u},children:u===h?e.jsx("svg",{className:"richtext-absolute -richtext-top-px richtext-left-px richtext-block richtext-size-3",viewBox:"0 0 18 18",style:{fill:"rgb(255, 255, 255)"},children:e.jsx("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})}):e.jsx("svg",{viewBox:"0 0 18 18",style:{fill:"rgb(255, 255, 255)",display:"none"},children:e.jsx("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})})},`sub-color-${k}`))},`color-row-${a}`)),e.jsxs("div",{children:[e.jsx("div",{className:"richtext-my-1 richtext-text-sm",children:r("editor.recent")}),e.jsx("span",{className:"richtext-relative richtext-flex richtext-h-auto richtext-w-full richtext-flex-wrap richtext-p-0 last:richtext-pb-2",children:g==null?void 0:g.map((s,a)=>e.jsx("span",{className:"richtext-inline-block richtext-size-6 richtext-flex-[0_0_auto] richtext-cursor-pointer richtext-rounded-sm !richtext-border richtext-border-transparent richtext-p-0.5 hover:richtext-border-border hover:richtext-shadow-sm",onClick:()=>l(s),children:e.jsx("span",{className:"richtext-relative richtext-block richtext-size-[18px] richtext-rounded-[2px] richtext-border-transparent",style:{backgroundColor:s},children:e.jsx("svg",{viewBox:"0 0 18 18",style:{fill:"rgb(255, 255, 255)",display:"none"},children:e.jsx("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})})},`sub-color-recent-${a}`))})]}),e.jsx(M,{setColor:l})]})})]})}function M({setColor:t}){const{t:r}=C.useLocale(),[c,h]=n.useState(!1),[i,f]=n.useState("#000000"),x=n.useCallback(d=>{f(d)},[]);return e.jsxs(v.Popover,{onOpenChange:h,open:c,children:[e.jsx(v.PopoverTrigger,{asChild:!0,children:e.jsxs("div",{className:"richtext-p-1.5 richtext-text-sm hover:richtext-cursor-pointer hover:richtext-bg-accent",children:[r("editor.color.more"),"..."]})}),e.jsxs(v.PopoverContent,{children:[e.jsxs("div",{className:"richtext-flex richtext-flex-col richtext-items-center richtext-justify-center",children:[e.jsx(P.HexColorPicker,{color:i,onChange:d=>{x(d)}}),e.jsx(j.Input,{className:"richtext-mt-[8px] richtext-w-full",type:"text",value:i.replace("#",""),onChange:d=>{d.preventDefault(),d.stopPropagation(),x(`#${d.target.value}`)}})]}),e.jsx(S,{className:"richtext-my-[10px]"}),e.jsx(j.Button,{className:"richtext-w-full",onClick:d=>{d.preventDefault(),d.stopPropagation(),t(i),h(!1)},children:e.jsx(E.Plus,{size:16})})]})]})}const S=y.forwardRef(({className:t,orientation:r="horizontal",decorative:c=!0,...h},i)=>e.jsx(z.Root,{ref:i,decorative:c,orientation:r,className:j.cn("richtext-shrink-0 richtext-bg-border",r==="horizontal"?"richtext-h-[1px] richtext-w-full":"richtext-h-full richtext-w-[1px]",t),...h}));S.displayName=z.Root.displayName;exports.ColorPicker=q;exports.Separator=S;
|
|
@@ -3,10 +3,10 @@ import { Plus as k } from "lucide-react";
|
|
|
3
3
|
import * as $ from "react";
|
|
4
4
|
import { useCallback as m, useState as w, useEffect as L, useRef as M, useMemo as B } from "react";
|
|
5
5
|
import { HexColorPicker as F } from "react-colorful";
|
|
6
|
-
import { j as I, B as _, c as T } from "./index-
|
|
6
|
+
import { j as I, B as _, c as T } from "./index-BrsJsbds.js";
|
|
7
7
|
import "./theme.js";
|
|
8
8
|
import { u as N, C as j } from "./index-oj858lQO.js";
|
|
9
|
-
import { P as z, a as E, b as y } from "./popover-
|
|
9
|
+
import { P as z, a as E, b as y } from "./popover-BIVHT1W9.js";
|
|
10
10
|
import * as R from "@radix-ui/react-separator";
|
|
11
11
|
function D() {
|
|
12
12
|
return /* @__PURE__ */ t("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", children: /* @__PURE__ */ t(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const n=require("react/jsx-runtime"),o=require("react"),a=require("./index-
|
|
1
|
+
"use strict";const n=require("react/jsx-runtime"),o=require("react"),a=require("./index-deubsx3z.cjs");function s(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,i.get?i:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const x=s(o),c=x.forwardRef(({className:e,...r},t)=>n.jsx("textarea",{ref:t,className:a.cn("richtext-flex richtext-min-h-[80px] richtext-w-full richtext-rounded-md !richtext-border richtext-border-input richtext-bg-transparent richtext-px-3 richtext-py-2 richtext-text-sm richtext-ring-offset-background placeholder:richtext-text-muted-foreground focus-visible:richtext-outline-none focus-visible:richtext-ring-2 focus-visible:richtext-ring-ring focus-visible:richtext-ring-offset-1 disabled:richtext-cursor-not-allowed disabled:richtext-opacity-50",e),...r}));c.displayName="Textarea";exports.Textarea=c;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { c as a, s as n, f as l } from "./index-CGjT-a9h.js";
|
|
2
|
+
import { f as p } from "./index-BblvcbTH.js";
|
|
3
|
+
function m(o, t) {
|
|
4
|
+
a({
|
|
5
|
+
getBoundingClientRect: () => p(o.view, o.state.selection.from, o.state.selection.to)
|
|
6
|
+
}, t, {
|
|
7
|
+
placement: "bottom-start",
|
|
8
|
+
strategy: "absolute",
|
|
9
|
+
middleware: [n(), l()]
|
|
10
|
+
}).then(({ x: s, y: i, strategy: e }) => {
|
|
11
|
+
t.style.width = "max-content", t.style.position = e, t.style.left = `${s}px`, t.style.top = `${i}px`;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
m as u
|
|
16
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("./index-
|
|
1
|
+
"use strict";const e=require("./index-BF3EVCB1.cjs"),a=require("./index-Bcj8cyOO.cjs");function l(o,t){const i={getBoundingClientRect:()=>a.posToDOMRect(o.view,o.state.selection.from,o.state.selection.to)};e.computePosition(i,t,{placement:"bottom-start",strategy:"absolute",middleware:[e.shift(),e.flip()]}).then(({x:s,y:n,strategy:c})=>{t.style.width="max-content",t.style.position=c,t.style.left=`${s}px`,t.style.top=`${n}px`})}exports.updatePosition=l;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reactjs-tiptap-editor",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.24",
|
|
4
4
|
"description": "A modern WYSIWYG rich text editor based on tiptap and shadcn ui for React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"editor",
|
|
@@ -722,7 +722,7 @@
|
|
|
722
722
|
"gen-contributors": "contributorkit"
|
|
723
723
|
},
|
|
724
724
|
"dependencies": {
|
|
725
|
-
"@excalidraw/excalidraw": "^0.18.
|
|
725
|
+
"@excalidraw/excalidraw": "^0.18.1",
|
|
726
726
|
"@floating-ui/dom": "^1.7.6",
|
|
727
727
|
"@hocuspocus/provider": "^3.4.4",
|
|
728
728
|
"@radix-ui/react-checkbox": "^1.3.3",
|
|
@@ -739,101 +739,101 @@
|
|
|
739
739
|
"@radix-ui/react-toast": "^1.2.15",
|
|
740
740
|
"@radix-ui/react-toggle": "^1.1.10",
|
|
741
741
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
742
|
-
"@tiptap/core": "^3.
|
|
743
|
-
"@tiptap/extension-blockquote": "^3.
|
|
744
|
-
"@tiptap/extension-bold": "^3.
|
|
745
|
-
"@tiptap/extension-bullet-list": "^3.
|
|
746
|
-
"@tiptap/extension-code": "^3.
|
|
747
|
-
"@tiptap/extension-code-block-lowlight": "^3.
|
|
748
|
-
"@tiptap/extension-collaboration": "^3.
|
|
749
|
-
"@tiptap/extension-collaboration-caret": "^3.
|
|
750
|
-
"@tiptap/extension-document": "^3.
|
|
751
|
-
"@tiptap/extension-drag-handle": "^3.
|
|
752
|
-
"@tiptap/extension-drag-handle-react": "^3.
|
|
753
|
-
"@tiptap/extension-emoji": "^3.
|
|
754
|
-
"@tiptap/extension-hard-break": "^3.
|
|
755
|
-
"@tiptap/extension-heading": "^3.
|
|
756
|
-
"@tiptap/extension-highlight": "^
|
|
757
|
-
"@tiptap/extension-horizontal-rule": "^3.
|
|
758
|
-
"@tiptap/extension-image": "^3.
|
|
759
|
-
"@tiptap/extension-italic": "^3.
|
|
760
|
-
"@tiptap/extension-link": "^3.
|
|
761
|
-
"@tiptap/extension-list": "^3.
|
|
762
|
-
"@tiptap/extension-list-item": "^3.
|
|
763
|
-
"@tiptap/extension-mention": "^3.
|
|
764
|
-
"@tiptap/extension-node-range": "^3.
|
|
765
|
-
"@tiptap/extension-ordered-list": "^3.
|
|
766
|
-
"@tiptap/extension-paragraph": "^3.
|
|
767
|
-
"@tiptap/extension-strike": "^3.
|
|
768
|
-
"@tiptap/extension-subscript": "^3.
|
|
769
|
-
"@tiptap/extension-superscript": "^3.
|
|
770
|
-
"@tiptap/extension-table": "^3.
|
|
771
|
-
"@tiptap/extension-task-item": "^3.
|
|
772
|
-
"@tiptap/extension-task-list": "^3.
|
|
773
|
-
"@tiptap/extension-text": "^3.
|
|
774
|
-
"@tiptap/extension-text-align": "^3.
|
|
775
|
-
"@tiptap/extension-text-style": "^3.
|
|
776
|
-
"@tiptap/extension-underline": "^3.
|
|
777
|
-
"@tiptap/extensions": "^3.
|
|
778
|
-
"@tiptap/pm": "^3.
|
|
779
|
-
"@tiptap/react": "^3.
|
|
780
|
-
"@tiptap/suggestion": "^3.
|
|
781
|
-
"@tiptap/y-tiptap": "^3.0.
|
|
742
|
+
"@tiptap/core": "^3.23.6",
|
|
743
|
+
"@tiptap/extension-blockquote": "^3.23.6",
|
|
744
|
+
"@tiptap/extension-bold": "^3.23.6",
|
|
745
|
+
"@tiptap/extension-bullet-list": "^3.23.6",
|
|
746
|
+
"@tiptap/extension-code": "^3.23.6",
|
|
747
|
+
"@tiptap/extension-code-block-lowlight": "^3.23.6",
|
|
748
|
+
"@tiptap/extension-collaboration": "^3.23.6",
|
|
749
|
+
"@tiptap/extension-collaboration-caret": "^3.23.6",
|
|
750
|
+
"@tiptap/extension-document": "^3.23.6",
|
|
751
|
+
"@tiptap/extension-drag-handle": "^3.23.6",
|
|
752
|
+
"@tiptap/extension-drag-handle-react": "^3.23.6",
|
|
753
|
+
"@tiptap/extension-emoji": "^3.23.6",
|
|
754
|
+
"@tiptap/extension-hard-break": "^3.23.6",
|
|
755
|
+
"@tiptap/extension-heading": "^3.23.6",
|
|
756
|
+
"@tiptap/extension-highlight": "^3.23.6",
|
|
757
|
+
"@tiptap/extension-horizontal-rule": "^3.23.6",
|
|
758
|
+
"@tiptap/extension-image": "^3.23.6",
|
|
759
|
+
"@tiptap/extension-italic": "^3.23.6",
|
|
760
|
+
"@tiptap/extension-link": "^3.23.6",
|
|
761
|
+
"@tiptap/extension-list": "^3.23.6",
|
|
762
|
+
"@tiptap/extension-list-item": "^3.23.6",
|
|
763
|
+
"@tiptap/extension-mention": "^3.23.6",
|
|
764
|
+
"@tiptap/extension-node-range": "^3.23.6",
|
|
765
|
+
"@tiptap/extension-ordered-list": "^3.23.6",
|
|
766
|
+
"@tiptap/extension-paragraph": "^3.23.6",
|
|
767
|
+
"@tiptap/extension-strike": "^3.23.6",
|
|
768
|
+
"@tiptap/extension-subscript": "^3.23.6",
|
|
769
|
+
"@tiptap/extension-superscript": "^3.23.6",
|
|
770
|
+
"@tiptap/extension-table": "^3.23.6",
|
|
771
|
+
"@tiptap/extension-task-item": "^3.23.6",
|
|
772
|
+
"@tiptap/extension-task-list": "^3.23.6",
|
|
773
|
+
"@tiptap/extension-text": "^3.23.6",
|
|
774
|
+
"@tiptap/extension-text-align": "^3.23.6",
|
|
775
|
+
"@tiptap/extension-text-style": "^3.23.6",
|
|
776
|
+
"@tiptap/extension-underline": "^3.23.6",
|
|
777
|
+
"@tiptap/extensions": "^3.23.6",
|
|
778
|
+
"@tiptap/pm": "^3.23.6",
|
|
779
|
+
"@tiptap/react": "^3.23.6",
|
|
780
|
+
"@tiptap/suggestion": "^3.23.6",
|
|
781
|
+
"@tiptap/y-tiptap": "^3.0.3",
|
|
782
782
|
"class-variance-authority": "^0.7.1",
|
|
783
783
|
"clsx": "^2.1.1",
|
|
784
784
|
"deep-equal": "^2.2.3",
|
|
785
|
-
"docx": "^9.6.
|
|
785
|
+
"docx": "^9.6.1",
|
|
786
786
|
"easydrawer": "^0.0.15",
|
|
787
787
|
"frimousse": "^0.3.0",
|
|
788
788
|
"highlight.js": "^11.11.1",
|
|
789
|
-
"katex": "^0.16.
|
|
790
|
-
"lodash-es": "^4.
|
|
789
|
+
"katex": "^0.16.47",
|
|
790
|
+
"lodash-es": "^4.18.1",
|
|
791
791
|
"lowlight": "^3.3.0",
|
|
792
792
|
"lucide-react": "^0.427.0",
|
|
793
|
-
"marked": "^15.0.
|
|
794
|
-
"mermaid": "^11.
|
|
793
|
+
"marked": "^15.0.12",
|
|
794
|
+
"mermaid": "^11.15.0",
|
|
795
795
|
"prosemirror-docx": "^0.2.1",
|
|
796
796
|
"re-resizable": "^6.11.2",
|
|
797
|
-
"react-colorful": "^5.
|
|
797
|
+
"react-colorful": "^5.7.0",
|
|
798
798
|
"react-image-crop": "^11.0.10",
|
|
799
799
|
"react-tweet": "^3.3.0",
|
|
800
800
|
"reactjs-signal": "^2.0.4",
|
|
801
801
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
802
802
|
"svg64": "^2.0.0",
|
|
803
803
|
"y-protocols": "^1.0.7",
|
|
804
|
-
"yjs": "^13.6.
|
|
804
|
+
"yjs": "^13.6.30"
|
|
805
805
|
},
|
|
806
806
|
"devDependencies": {
|
|
807
807
|
"@types/deep-equal": "^1.0.4",
|
|
808
808
|
"@types/katex": "^0.16.8",
|
|
809
809
|
"@types/lodash-es": "^4.17.12",
|
|
810
|
-
"@types/node": "^24.
|
|
811
|
-
"@types/react": "^19.2.
|
|
810
|
+
"@types/node": "^24.12.4",
|
|
811
|
+
"@types/react": "^19.2.15",
|
|
812
812
|
"@types/react-dom": "^19.2.3",
|
|
813
|
-
"@vitejs/plugin-react": "^5.
|
|
814
|
-
"autoprefixer": "^10.
|
|
813
|
+
"@vitejs/plugin-react": "^5.2.0",
|
|
814
|
+
"autoprefixer": "^10.5.0",
|
|
815
815
|
"bumpp": "^10.4.1",
|
|
816
816
|
"contributorkit": "^0.0.4",
|
|
817
817
|
"esno": "^4.8.0",
|
|
818
818
|
"execa": "^9.6.1",
|
|
819
819
|
"git-scm-hooks": "^0.2.0",
|
|
820
820
|
"globby": "^14.1.0",
|
|
821
|
-
"mammoth": "^1.
|
|
821
|
+
"mammoth": "^1.12.0",
|
|
822
822
|
"md5": "^2.3.0",
|
|
823
823
|
"oxfmt": "^0.26.0",
|
|
824
|
-
"oxlint": "^1.
|
|
825
|
-
"postcss": "^8.5.
|
|
824
|
+
"oxlint": "^1.66.0",
|
|
825
|
+
"postcss": "^8.5.15",
|
|
826
826
|
"postcss-replace": "^2.0.1",
|
|
827
827
|
"postcss-scss": "^4.0.9",
|
|
828
|
-
"react": "^19.2.
|
|
829
|
-
"react-dom": "^19.2.
|
|
830
|
-
"sass": "^1.
|
|
828
|
+
"react": "^19.2.6",
|
|
829
|
+
"react-dom": "^19.2.6",
|
|
830
|
+
"sass": "^1.100.0",
|
|
831
831
|
"tailwind-merge": "^2.6.1",
|
|
832
832
|
"tailwindcss": "^3.4.19",
|
|
833
833
|
"typescript": "^5.9.3",
|
|
834
834
|
"unplugin-dts": "1.0.0-beta.6",
|
|
835
835
|
"verify-commit-msg": "^0.1.0",
|
|
836
|
-
"vite": "^6.4.
|
|
836
|
+
"vite": "^6.4.2"
|
|
837
837
|
},
|
|
838
838
|
"browserslist": [
|
|
839
839
|
">0.3%",
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
"use strict";const k=require("react/jsx-runtime"),F=require("react"),R=require("./index-ezTXvA7H.cjs");require("./theme.cjs");const I=require("./index-C4WLt4NA.cjs"),_=require("@tiptap/pm/state"),we=require("./index-CWw4s87s.cjs"),Wt=require("./popover-Cq1iLY7i.cjs"),He="aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",je="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",Qt="numeric",Jt="ascii",Yt="alpha",Y="asciinumeric",J="alphanumeric",Vt="domain",xe="emoji",Me="scheme",De="slashscheme",Ft="whitespace";function Ue(t,n){return t in n||(n[t]=[]),n[t]}function z(t,n,e){n[Qt]&&(n[Y]=!0,n[J]=!0),n[Jt]&&(n[Y]=!0,n[Yt]=!0),n[Y]&&(n[J]=!0),n[Yt]&&(n[J]=!0),n[J]&&(n[Vt]=!0),n[xe]&&(n[Vt]=!0);for(const i in n){const s=Ue(i,e);s.indexOf(t)<0&&s.push(t)}}function Be(t,n){const e={};for(const i in n)n[i].indexOf(t)>=0&&(e[i]=!0);return e}function y(t=null){this.j={},this.jr=[],this.jd=null,this.t=t}y.groups={};y.prototype={accepts(){return!!this.t},go(t){const n=this,e=n.j[t];if(e)return e;for(let i=0;i<n.jr.length;i++){const s=n.jr[i][0],o=n.jr[i][1];if(o&&s.test(t))return o}return n.jd},has(t,n=!1){return n?t in this.j:!!this.go(t)},ta(t,n,e,i){for(let s=0;s<t.length;s++)this.tt(t[s],n,e,i)},tr(t,n,e,i){i=i||y.groups;let s;return n&&n.j?s=n:(s=new y(n),e&&i&&z(n,e,i)),this.jr.push([t,s]),s},ts(t,n,e,i){let s=this;const o=t.length;if(!o)return s;for(let r=0;r<o-1;r++)s=s.tt(t[r]);return s.tt(t[o-1],n,e,i)},tt(t,n,e,i){i=i||y.groups;const s=this;if(n&&n.j)return s.j[t]=n,n;const o=n;let r,l=s.go(t);if(l?(r=new y,Object.assign(r.j,l.j),r.jr.push.apply(r.jr,l.jr),r.jd=l.jd,r.t=l.t):r=new y,o){if(i)if(r.t&&typeof r.t=="string"){const u=Object.assign(Be(r.t,i),e);z(o,u,i)}else e&&z(o,e,i);r.t=o}return s.j[t]=r,r}};const f=(t,n,e,i,s)=>t.ta(n,e,i,s),x=(t,n,e,i,s)=>t.tr(n,e,i,s),me=(t,n,e,i,s)=>t.ts(n,e,i,s),a=(t,n,e,i,s)=>t.tt(n,e,i,s),j="WORD",Xt="UWORD",Te="ASCIINUMERICAL",Ce="ALPHANUMERICAL",nt="LOCALHOST",Zt="TLD",te="UTLD",ct="SCHEME",K="SLASH_SCHEME",ne="NUM",ee="WS",ie="NL",V="OPENBRACE",X="CLOSEBRACE",ut="OPENBRACKET",dt="CLOSEBRACKET",ht="OPENPAREN",ft="CLOSEPAREN",mt="OPENANGLEBRACKET",gt="CLOSEANGLEBRACKET",pt="FULLWIDTHLEFTPAREN",Et="FULLWIDTHRIGHTPAREN",kt="LEFTCORNERBRACKET",At="RIGHTCORNERBRACKET",Lt="LEFTWHITECORNERBRACKET",xt="RIGHTWHITECORNERBRACKET",Tt="FULLWIDTHLESSTHAN",Ct="FULLWIDTHGREATERTHAN",bt="AMPERSAND",Rt="APOSTROPHE",yt="ASTERISK",D="AT",Ot="BACKSLASH",St="BACKTICK",vt="CARET",U="COLON",se="COMMA",Nt="DOLLAR",v="DOT",It="EQUALS",oe="EXCLAMATION",S="HYPHEN",Z="PERCENT",Pt="PIPE",wt="PLUS",Ht="POUND",tt="QUERY",re="QUOTE",be="FULLWIDTHMIDDLEDOT",ae="SEMI",N="SLASH",et="TILDE",jt="UNDERSCORE",Re="EMOJI",Mt="SYM";var ye=Object.freeze({__proto__:null,ALPHANUMERICAL:Ce,AMPERSAND:bt,APOSTROPHE:Rt,ASCIINUMERICAL:Te,ASTERISK:yt,AT:D,BACKSLASH:Ot,BACKTICK:St,CARET:vt,CLOSEANGLEBRACKET:gt,CLOSEBRACE:X,CLOSEBRACKET:dt,CLOSEPAREN:ft,COLON:U,COMMA:se,DOLLAR:Nt,DOT:v,EMOJI:Re,EQUALS:It,EXCLAMATION:oe,FULLWIDTHGREATERTHAN:Ct,FULLWIDTHLEFTPAREN:pt,FULLWIDTHLESSTHAN:Tt,FULLWIDTHMIDDLEDOT:be,FULLWIDTHRIGHTPAREN:Et,HYPHEN:S,LEFTCORNERBRACKET:kt,LEFTWHITECORNERBRACKET:Lt,LOCALHOST:nt,NL:ie,NUM:ne,OPENANGLEBRACKET:mt,OPENBRACE:V,OPENBRACKET:ut,OPENPAREN:ht,PERCENT:Z,PIPE:Pt,PLUS:wt,POUND:Ht,QUERY:tt,QUOTE:re,RIGHTCORNERBRACKET:At,RIGHTWHITECORNERBRACKET:xt,SCHEME:ct,SEMI:ae,SLASH:N,SLASH_SCHEME:K,SYM:Mt,TILDE:et,TLD:Zt,UNDERSCORE:jt,UTLD:te,UWORD:Xt,WORD:j,WS:ee});const w=/[a-z]/,Q=new RegExp("\\p{L}","u"),Kt=new RegExp("\\p{Emoji}","u"),H=/\d/,_t=/\s/,ge="\r",$t=`
|
|
2
|
-
`,ze="️",We="",Gt="";let rt=null,at=null;function Fe(t=[]){const n={};y.groups=n;const e=new y;rt==null&&(rt=pe(He)),at==null&&(at=pe(je)),a(e,"'",Rt),a(e,"{",V),a(e,"}",X),a(e,"[",ut),a(e,"]",dt),a(e,"(",ht),a(e,")",ft),a(e,"<",mt),a(e,">",gt),a(e,"(",pt),a(e,")",Et),a(e,"「",kt),a(e,"」",At),a(e,"『",Lt),a(e,"』",xt),a(e,"<",Tt),a(e,">",Ct),a(e,"&",bt),a(e,"*",yt),a(e,"@",D),a(e,"`",St),a(e,"^",vt),a(e,":",U),a(e,",",se),a(e,"$",Nt),a(e,".",v),a(e,"=",It),a(e,"!",oe),a(e,"-",S),a(e,"%",Z),a(e,"|",Pt),a(e,"+",wt),a(e,"#",Ht),a(e,"?",tt),a(e,'"',re),a(e,"/",N),a(e,";",ae),a(e,"~",et),a(e,"_",jt),a(e,"\\",Ot),a(e,"・",be);const i=x(e,H,ne,{[Qt]:!0});x(i,H,i);const s=x(i,w,Te,{[Y]:!0}),o=x(i,Q,Ce,{[J]:!0}),r=x(e,w,j,{[Jt]:!0});x(r,H,s),x(r,w,r),x(s,H,s),x(s,w,s);const l=x(e,Q,Xt,{[Yt]:!0});x(l,w),x(l,H,o),x(l,Q,l),x(o,H,o),x(o,w),x(o,Q,o);const u=a(e,$t,ie,{[Ft]:!0}),d=a(e,ge,ee,{[Ft]:!0}),c=x(e,_t,ee,{[Ft]:!0});a(e,Gt,c),a(d,$t,u),a(d,Gt,c),x(d,_t,c),a(c,ge),a(c,$t),x(c,_t,c),a(c,Gt,c);const h=x(e,Kt,Re,{[xe]:!0});a(h,"#"),x(h,Kt,h),a(h,ze,h);const g=a(h,We);a(g,"#"),x(g,Kt,h);const p=[[w,r],[H,s]],b=[[w,null],[Q,l],[H,o]];for(let E=0;E<rt.length;E++)M(e,rt[E],Zt,j,p);for(let E=0;E<at.length;E++)M(e,at[E],te,Xt,b);z(Zt,{tld:!0,ascii:!0},n),z(te,{utld:!0,alpha:!0},n),M(e,"file",ct,j,p),M(e,"mailto",ct,j,p),M(e,"http",K,j,p),M(e,"https",K,j,p),M(e,"ftp",K,j,p),M(e,"ftps",K,j,p),z(ct,{scheme:!0,ascii:!0},n),z(K,{slashscheme:!0,ascii:!0},n),t=t.sort((E,T)=>E[0]>T[0]?1:-1);for(let E=0;E<t.length;E++){const T=t[E][0],L=t[E][1]?{[Me]:!0}:{[De]:!0};T.indexOf("-")>=0?L[Vt]=!0:w.test(T)?H.test(T)?L[Y]=!0:L[Jt]=!0:L[Qt]=!0,me(e,T,T,L)}return me(e,"localhost",nt,{ascii:!0}),e.jd=new y(Mt),{start:e,tokens:Object.assign({groups:n},ye)}}function Oe(t,n){const e=Ke(n.replace(/[A-Z]/g,l=>l.toLowerCase())),i=e.length,s=[];let o=0,r=0;for(;r<i;){let l=t,u=null,d=0,c=null,h=-1,g=-1;for(;r<i&&(u=l.go(e[r]));)l=u,l.accepts()?(h=0,g=0,c=l):h>=0&&(h+=e[r].length,g++),d+=e[r].length,o+=e[r].length,r++;o-=h,r-=g,d-=h,s.push({t:c.t,v:n.slice(o-d,o),s:o-d,e:o})}return s}function Ke(t){const n=[],e=t.length;let i=0;for(;i<e;){let s=t.charCodeAt(i),o,r=s<55296||s>56319||i+1===e||(o=t.charCodeAt(i+1))<56320||o>57343?t[i]:t.slice(i,i+2);n.push(r),i+=r.length}return n}function M(t,n,e,i,s){let o;const r=n.length;for(let l=0;l<r-1;l++){const u=n[l];t.j[u]?o=t.j[u]:(o=new y(i),o.jr=s.slice(),t.j[u]=o),t=o}return o=new y(e),o.jr=s.slice(),t.j[n[r-1]]=o,o}function pe(t){const n=[],e=[];let i=0,s="0123456789";for(;i<t.length;){let o=0;for(;s.indexOf(t[i+o])>=0;)o++;if(o>0){n.push(e.join(""));for(let r=parseInt(t.substring(i,i+o),10);r>0;r--)e.pop();i+=o}else e.push(t[i]),i++}return n}const it={defaultProtocol:"http",events:null,format:Ee,formatHref:Ee,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function le(t,n=null){let e=Object.assign({},it);t&&(e=Object.assign(e,t instanceof le?t.o:t));const i=e.ignoreTags,s=[];for(let o=0;o<i.length;o++)s.push(i[o].toUpperCase());this.o=e,n&&(this.defaultRender=n),this.ignoreTags=s}le.prototype={o:it,ignoreTags:[],defaultRender(t){return t},check(t){return this.get("validate",t.toString(),t)},get(t,n,e){const i=n!=null;let s=this.o[t];return s&&(typeof s=="object"?(s=e.t in s?s[e.t]:it[t],typeof s=="function"&&i&&(s=s(n,e))):typeof s=="function"&&i&&(s=s(n,e.t,e)),s)},getObj(t,n,e){let i=this.o[t];return typeof i=="function"&&n!=null&&(i=i(n,e.t,e)),i},render(t){const n=t.render(this);return(this.get("render",null,t)||this.defaultRender)(n,t.t,t)}};function Ee(t){return t}function Se(t,n){this.t="token",this.v=t,this.tk=n}Se.prototype={isLink:!1,toString(){return this.v},toHref(t){return this.toString()},toFormattedString(t){const n=this.toString(),e=t.get("truncate",n,this),i=t.get("format",n,this);return e&&i.length>e?i.substring(0,e)+"…":i},toFormattedHref(t){return t.get("formatHref",this.toHref(t.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(t=it.defaultProtocol){return{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(t),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(t){return{type:this.t,value:this.toFormattedString(t),isLink:this.isLink,href:this.toFormattedHref(t),start:this.startIndex(),end:this.endIndex()}},validate(t){return t.get("validate",this.toString(),this)},render(t){const n=this,e=this.toHref(t.get("defaultProtocol")),i=t.get("formatHref",e,this),s=t.get("tagName",e,n),o=this.toFormattedString(t),r={},l=t.get("className",e,n),u=t.get("target",e,n),d=t.get("rel",e,n),c=t.getObj("attributes",e,n),h=t.getObj("events",e,n);return r.href=i,l&&(r.class=l),u&&(r.target=u),d&&(r.rel=d),c&&Object.assign(r,c),{tagName:s,attributes:r,content:o,eventListeners:h}}};function Dt(t,n){class e extends Se{constructor(s,o){super(s,o),this.t=t}}for(const i in n)e.prototype[i]=n[i];return e.t=t,e}const ke=Dt("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),Ae=Dt("text"),_e=Dt("nl"),lt=Dt("url",{isLink:!0,toHref(t=it.defaultProtocol){return this.hasProtocol()?this.v:`${t}://${this.v}`},hasProtocol(){const t=this.tk;return t.length>=2&&t[0].t!==nt&&t[1].t===U}}),O=t=>new y(t);function $e({groups:t}){const n=t.domain.concat([bt,yt,D,Ot,St,vt,Nt,It,S,ne,Z,Pt,wt,Ht,N,Mt,et,jt]),e=[Rt,U,se,v,oe,Z,tt,re,ae,mt,gt,V,X,dt,ut,ht,ft,pt,Et,kt,At,Lt,xt,Tt,Ct],i=[bt,Rt,yt,Ot,St,vt,Nt,It,S,V,X,Z,Pt,wt,Ht,tt,N,Mt,et,jt],s=O(),o=a(s,et);f(o,i,o),f(o,t.domain,o);const r=O(),l=O(),u=O();f(s,t.domain,r),f(s,t.scheme,l),f(s,t.slashscheme,u),f(r,i,o),f(r,t.domain,r);const d=a(r,D);a(o,D,d),a(l,D,d),a(u,D,d);const c=a(o,v);f(c,i,o),f(c,t.domain,o);const h=O();f(d,t.domain,h),f(h,t.domain,h);const g=a(h,v);f(g,t.domain,h);const p=O(ke);f(g,t.tld,p),f(g,t.utld,p),a(d,nt,p);const b=a(h,S);a(b,S,b),f(b,t.domain,h),f(p,t.domain,h),a(p,v,g),a(p,S,b);const E=a(p,U);f(E,t.numeric,ke);const T=a(r,S),m=a(r,v);a(T,S,T),f(T,t.domain,r),f(m,i,o),f(m,t.domain,r);const L=O(lt);f(m,t.tld,L),f(m,t.utld,L),f(L,t.domain,r),f(L,i,o),a(L,v,m),a(L,S,T),a(L,D,d);const st=a(L,U),$=O(lt);f(st,t.numeric,$);const C=O(lt),P=O();f(C,n,C),f(C,e,P),f(P,n,C),f(P,e,P),a(L,N,C),a($,N,C);const G=a(l,U),Ie=a(u,U),Pe=a(Ie,N),Ut=a(Pe,N);f(l,t.domain,r),a(l,v,m),a(l,S,T),f(u,t.domain,r),a(u,v,m),a(u,S,T),f(G,t.domain,C),a(G,N,C),a(G,tt,C),f(Ut,t.domain,C),f(Ut,n,C),a(Ut,N,C);const he=[[V,X],[ut,dt],[ht,ft],[mt,gt],[pt,Et],[kt,At],[Lt,xt],[Tt,Ct]];for(let Bt=0;Bt<he.length;Bt++){const[fe,zt]=he[Bt],ot=a(C,fe);a(P,fe,ot),a(ot,zt,C);const W=O(lt);f(ot,n,W);const q=O();f(ot,e),f(W,n,W),f(W,e,q),f(q,n,W),f(q,e,q),a(W,zt,C),a(q,zt,C)}return a(s,nt,L),a(s,ie,_e),{start:s,tokens:ye}}function Ge(t,n,e){let i=e.length,s=0,o=[],r=[];for(;s<i;){let l=t,u=null,d=null,c=0,h=null,g=-1;for(;s<i&&!(u=l.go(e[s].t));)r.push(e[s++]);for(;s<i&&(d=u||l.go(e[s].t));)u=null,l=d,l.accepts()?(g=0,h=l):g>=0&&g++,s++,c++;if(g<0)s-=c,s<i&&(r.push(e[s]),s++);else{r.length>0&&(o.push(qt(Ae,n,r)),r=[]),s-=g,c-=g;const p=h.t,b=e.slice(s-c,s);o.push(qt(p,n,b))}}return r.length>0&&o.push(qt(Ae,n,r)),o}function qt(t,n,e){const i=e[0].s,s=e[e.length-1].e,o=n.slice(i,s);return new t(o,e)}const qe=typeof console<"u"&&console&&console.warn||(()=>{}),Qe="until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",A={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function Je(){return y.groups={},A.scanner=null,A.parser=null,A.tokenQueue=[],A.pluginQueue=[],A.customSchemes=[],A.initialized=!1,A}function Le(t,n=!1){if(A.initialized&&qe(`linkifyjs: already initialized - will not register custom scheme "${t}" ${Qe}`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(t))throw new Error(`linkifyjs: incorrect scheme format.
|
|
3
|
-
1. Must only contain digits, lowercase ASCII letters or "-"
|
|
4
|
-
2. Cannot start or end with "-"
|
|
5
|
-
3. "-" cannot repeat`);A.customSchemes.push([t,n])}function Ye(){A.scanner=Fe(A.customSchemes);for(let t=0;t<A.tokenQueue.length;t++)A.tokenQueue[t][1]({scanner:A.scanner});A.parser=$e(A.scanner.tokens);for(let t=0;t<A.pluginQueue.length;t++)A.pluginQueue[t][1]({scanner:A.scanner,parser:A.parser});return A.initialized=!0,A}function ce(t){return A.initialized||Ye(),Ge(A.parser.start,t,Oe(A.scanner.start,t))}ce.scan=Oe;function ve(t,n=null,e=null){if(n&&typeof n=="object"){if(e)throw Error(`linkifyjs: Invalid link type ${n}; must be a string`);e=n,n=null}const i=new le(e),s=ce(t),o=[];for(let r=0;r<s.length;r++){const l=s[r];l.isLink&&(!n||l.t===n)&&i.check(l)&&o.push(l.toFormattedObject(i))}return o}var ue="[\0- -\u2029 ]",Ve=new RegExp(ue),Xe=new RegExp(`${ue}$`),Ze=new RegExp(ue,"g");function tn(t){return t.length===1?t[0].isLink:t.length===3&&t[1].isLink?["()","[]"].includes(t[0].value+t[2].value):!1}function en(t){return new _.Plugin({key:new _.PluginKey("autolink"),appendTransaction:(n,e,i)=>{const s=n.some(d=>d.docChanged)&&!e.doc.eq(i.doc),o=n.some(d=>d.getMeta("preventAutolink"));if(!s||o)return;const{tr:r}=i,l=I.combineTransactionSteps(e.doc,[...n]);if(I.getChangedRanges(l).forEach(({newRange:d})=>{const c=I.findChildrenInRange(i.doc,d,p=>p.isTextblock);let h,g;if(c.length>1)h=c[0],g=i.doc.textBetween(h.pos,h.pos+h.node.nodeSize,void 0," ");else if(c.length){const p=i.doc.textBetween(d.from,d.to," "," ");if(!Xe.test(p))return;h=c[0],g=i.doc.textBetween(h.pos,d.to,void 0," ")}if(h&&g){const p=g.split(Ve).filter(Boolean);if(p.length<=0)return!1;const b=p[p.length-1],E=h.pos+g.lastIndexOf(b);if(!b)return!1;const T=ce(b).map(m=>m.toObject(t.defaultProtocol));if(!tn(T))return!1;T.filter(m=>m.isLink).map(m=>({...m,from:E+m.start+1,to:E+m.end+1})).filter(m=>i.schema.marks.code?!i.doc.rangeHasMark(m.from,m.to,i.schema.marks.code):!0).filter(m=>t.validate(m.value)).filter(m=>t.shouldAutoLink(m.value)).forEach(m=>{I.getMarksBetween(m.from,m.to,i.doc).some(L=>L.mark.type===t.type)||r.addMark(m.from,m.to,t.type.create({href:m.href}))})}}),!!r.steps.length)return r}})}function nn(t){return new _.Plugin({key:new _.PluginKey("handleClickLink"),props:{handleClick:(n,e,i)=>{var s,o;if(i.button!==0||!n.editable)return!1;let r=null;if(i.target instanceof HTMLAnchorElement)r=i.target;else{const u=i.target;if(!u)return!1;const d=t.editor.view.dom;r=u.closest("a"),r&&!d.contains(r)&&(r=null)}if(!r)return!1;let l=!1;if(t.enableClickSelection&&(l=t.editor.commands.extendMarkRange(t.type.name)),t.openOnClick){const u=I.getAttributes(n.state,t.type.name),d=(s=r.href)!=null?s:u.href,c=(o=r.target)!=null?o:u.target;d&&(window.open(d,c),l=!0)}return l}}})}function sn(t){return new _.Plugin({key:new _.PluginKey("handlePasteLink"),props:{handlePaste:(n,e,i)=>{const{shouldAutoLink:s}=t,{state:o}=n,{selection:r}=o,{empty:l}=r;if(l)return!1;let u="";i.content.forEach(c=>{u+=c.textContent});const d=ve(u,{defaultProtocol:t.defaultProtocol}).find(c=>c.isLink&&c.value===u);return!u||!d||s!==void 0&&!s(d.value)?!1:t.editor.commands.setMark(t.type,{href:d.href})}}})}function B(t,n){const e=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return n&&n.forEach(i=>{const s=typeof i=="string"?i:i.scheme;s&&e.push(s)}),!t||t.replace(Ze,"").match(new RegExp(`^(?:(?:${e.join("|")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,"i"))}var on=I.Mark.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.validate&&!this.options.shouldAutoLink&&(this.options.shouldAutoLink=this.options.validate,console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")),this.options.protocols.forEach(t=>{if(typeof t=="string"){Le(t);return}Le(t.scheme,t.optionalSlashes)})},onDestroy(){Je()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,enableClickSelection:!1,linkOnPaste:!0,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},isAllowedUri:(t,n)=>!!B(t,n.protocols),validate:t=>!!t,shouldAutoLink:t=>{const n=/^[a-z][a-z0-9+.-]*:\/\//i.test(t),e=/^[a-z][a-z0-9+.-]*:/i.test(t);if(n||e&&!t.includes("@"))return!0;const s=(t.includes("@")?t.split("@").pop():t).split(/[/?#:]/)[0];return!(/^\d{1,3}(\.\d{1,3}){3}$/.test(s)||!/\./.test(s))}}},addAttributes(){return{href:{default:null,parseHTML(t){return t.getAttribute("href")}},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class},title:{default:null}}},parseHTML(){return[{tag:"a[href]",getAttrs:t=>{const n=t.getAttribute("href");return!n||!this.options.isAllowedUri(n,{defaultValidate:e=>!!B(e,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:null}}]},renderHTML({HTMLAttributes:t}){return this.options.isAllowedUri(t.href,{defaultValidate:n=>!!B(n,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?["a",I.mergeAttributes(this.options.HTMLAttributes,t),0]:["a",I.mergeAttributes(this.options.HTMLAttributes,{...t,href:""}),0]},markdownTokenName:"link",parseMarkdown:(t,n)=>n.applyMark("link",n.parseInline(t.tokens||[]),{href:t.href,title:t.title||null}),renderMarkdown:(t,n)=>{var e,i,s,o;const r=(i=(e=t.attrs)==null?void 0:e.href)!=null?i:"",l=(o=(s=t.attrs)==null?void 0:s.title)!=null?o:"",u=n.renderChildren(t);return l?`[${u}](${r} "${l}")`:`[${u}](${r})`},addCommands(){return{setLink:t=>({chain:n})=>{const{href:e}=t;return this.options.isAllowedUri(e,{defaultValidate:i=>!!B(i,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?n().setMark(this.name,t).setMeta("preventAutolink",!0).run():!1},toggleLink:t=>({chain:n})=>{const{href:e}=t||{};return e&&!this.options.isAllowedUri(e,{defaultValidate:i=>!!B(i,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:n().toggleMark(this.name,t,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()},unsetLink:()=>({chain:t})=>t().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[I.markPasteRule({find:t=>{const n=[];if(t){const{protocols:e,defaultProtocol:i}=this.options,s=ve(t).filter(o=>o.isLink&&this.options.isAllowedUri(o.value,{defaultValidate:r=>!!B(r,e),protocols:e,defaultProtocol:i}));s.length&&s.forEach(o=>{this.options.shouldAutoLink(o.value)&&n.push({text:o.value,data:{href:o.href},index:o.start})})}return n},type:this.type,getAttributes:t=>{var n;return{href:(n=t.data)==null?void 0:n.href}}})]},addProseMirrorPlugins(){const t=[],{protocols:n,defaultProtocol:e}=this.options;return this.options.autolink&&t.push(en({type:this.type,defaultProtocol:this.options.defaultProtocol,validate:i=>this.options.isAllowedUri(i,{defaultValidate:s=>!!B(s,n),protocols:n,defaultProtocol:e}),shouldAutoLink:this.options.shouldAutoLink})),t.push(nn({type:this.type,editor:this.editor,openOnClick:this.options.openOnClick==="whenNotEditable"?!0:this.options.openOnClick,enableClickSelection:this.options.enableClickSelection})),this.options.linkOnPaste&&t.push(sn({editor:this.editor,defaultProtocol:this.options.defaultProtocol,type:this.type,shouldAutoLink:this.options.shouldAutoLink})),t}});function rn(){const[t,n]=F.useState(!1),e=R.useEditorInstance(),i=R.useButtonProps(de.name),{isActive:s,icon:o,tooltip:r,target:l,action:u}=(i==null?void 0:i.componentProps)??{},{dataState:d,editorDisabled:c,update:h}=R.useToggleActive(s);function g(p,b,E){c||u&&(u({link:p,text:b,openInNewTab:E}),n(!1),h())}return i?k.jsxs(Wt.Popover,{modal:!0,onOpenChange:n,open:t,children:[k.jsx(Wt.PopoverTrigger,{asChild:!0,"data-state":d?"on":"off",disabled:c,children:k.jsx(R.ActionButton,{dataState:d,disabled:c,tooltip:r,children:k.jsx(R.IconComponent,{name:o})})}),k.jsx(Wt.PopoverContent,{align:"start",className:"richtext-w-full",hideWhenDetached:!0,side:"bottom",children:k.jsx(Ne,{editor:e,onSetLink:g,open:t,target:l})})]}):k.jsx(k.Fragment,{})}const de=on.extend({inclusive:!1,parseHTML(){return[{tag:'a[href]:not([data-type="button"]):not([href *= "javascript:" i])'}]},renderHTML({HTMLAttributes:t}){return["a",I.mergeAttributes(this.options.HTMLAttributes,t,{class:"link"}),0]},addOptions(){var e,i;const t=((e=this.parent)==null?void 0:e.call(this))||{},n=(i=t.HTMLAttributes)==null?void 0:i.target;return{...t,openOnClick:!1,button:({editor:s,t:o})=>({componentProps:{action:r=>{const{link:l,text:u,openInNewTab:d}=r;if(!l){s.chain().extendMarkRange("link").unsetLink().run();return}s.isActive("link")&&s.chain().extendMarkRange("link").run();const{from:c}=s.state.selection,h=u.length;s.chain().insertContent({type:"text",text:u,marks:[{type:"link",attrs:{href:/^https?:\/\//i.test(l)?l:`http://${l}`,target:n??(d?"_blank":"")}}]}).setLink({href:l}).setTextSelection({from:c,to:c+h}).focus().run()},isActive:()=>s.isActive("link"),disabled:!s.can().setLink({href:""}),icon:"Link",tooltip:o("editor.link.tooltip"),target:n}})}}});function Ne(t){const{t:n}=we.useLocale(),[e,i]=F.useState({text:"",link:""}),[s,o]=F.useState(!1),r=F.useRef(null),l=F.useRef(null),u=R.useExtension(de.name);F.useEffect(()=>{const c=()=>{var st,$,C;const{from:h,to:g,empty:p}=t.editor.state.selection,b=u==null?void 0:u.options;let E="",T="",m=(st=b==null?void 0:b.HTMLAttributes)==null?void 0:st.target;const L=t.editor.state.doc.nodeAt(h);if(L){const P=L.marks.find(G=>G.type.name==="link");P?(T=P.attrs.href||"",m=P.attrs.target,p?E=L.text||"":E=t.editor.state.doc.textBetween(h,g," ")):E=t.editor.state.doc.textBetween(h,g," ")}L||(E=t.editor.state.doc.textBetween(h,g," ")),i({link:T,text:E}),o(t.target?t.target==="_blank":m==="_blank"),t.open&&(E===""?($=r.current)==null||$.focus():(C=l.current)==null||C.focus())};return c(),t.editor.on("selectionUpdate",c),()=>{t.editor.off("selectionUpdate",c)}},[t.editor,u,t.open]);function d(c){c.preventDefault(),c.stopPropagation(),t==null||t.onSetLink(e.link,e.text,s),i({text:"",link:""})}return k.jsxs("div",{className:"richtext-flex richtext-flex-col richtext-gap-2",children:[k.jsx(R.Label,{className:"mb-[6px]",children:n("editor.link.dialog.text")}),k.jsx("div",{className:"richtext-mb-[10px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:k.jsx("div",{className:"richtext-relative richtext-w-full richtext-max-w-sm richtext-items-center",children:k.jsx(R.Input,{className:"richtext-w-80",onChange:c=>i({...e,text:c.target.value}),placeholder:"Text",ref:r,required:!0,type:"text",value:e.text})})}),k.jsx(R.Label,{className:"mb-[6px]",children:n("editor.link.dialog.link")}),k.jsx("div",{className:"richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:k.jsxs("div",{className:"richtext-relative richtext-w-full richtext-max-w-sm richtext-items-center",children:[k.jsx(R.Input,{className:"richtext-pl-10",onChange:c=>i({...e,link:c.target.value}),ref:l,required:!0,type:"url",value:e.link}),k.jsx("span",{className:"richtext-absolute richtext-inset-y-0 richtext-start-0 richtext-flex richtext-items-center richtext-justify-center richtext-px-2",children:k.jsx(R.IconComponent,{className:"richtext-size-5 richtext-text-muted-foreground",name:"Link"})})]})}),!t.target&&k.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-1",children:[k.jsx(R.Checkbox,{checked:s,onCheckedChange:c=>{o(c)}}),k.jsx(R.Label,{children:n("editor.link.dialog.openInNewTab")})]}),k.jsxs("div",{className:"richtext-mt-2 richtext-flex richtext-items-center richtext-justify-end richtext-gap-2",children:[(t==null?void 0:t.onClose)&&k.jsx(R.Button,{onClick:t==null?void 0:t.onClose,type:"button",children:n("editor.link.dialog.button.cancel")}),k.jsx(R.Button,{onClick:d,type:"button",children:n("editor.link.dialog.button.apply")})]})]})}exports.Link=de;exports.LinkEditBlock=Ne;exports.RichTextLink=rn;
|