@baishuyun/ui-base 6.17.0 → 6.19.0
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/dist/Amap/index.js +1 -1
- package/dist/Calendar/{Calendar-BlsUX2vX.js → Calendar-DEr4d6DN.js} +2 -2
- package/dist/Calendar/index.js +4 -4
- package/dist/Card/index.js +1 -1
- package/dist/CheckBox/index.js +1 -1
- package/dist/ColorPicker/index.js +1 -1
- package/dist/ConfigProvider/index.js +1 -1
- package/dist/DatePicker/{DatePicker-BRwPZeui.js → DatePicker-Bzvz3bI6.js} +1 -1
- package/dist/DatePicker/{DatePickerPanel-UwjSXS-U.js → DatePickerPanel-CaAOuWM_.js} +1 -1
- package/dist/DatePicker/index.js +2 -2
- package/dist/DropDown/index.js +1 -1
- package/dist/Editor/index.js +1217 -1121
- package/dist/Gantt/index.js +1 -1
- package/dist/Icon/index.js +1 -1
- package/dist/InputTag/index.js +1 -1
- package/dist/Loading/index.js +1 -1
- package/dist/Modal/index.js +1 -1
- package/dist/NotFoundContent/index.js +1 -1
- package/dist/Overlay/index.js +1 -1
- package/dist/Radio/index.js +1 -1
- package/dist/ScrollBar/index.js +1 -1
- package/dist/Segmented/{Segmented-DpmwFerw.js → Segmented-BkTy5v9V.js} +7 -3
- package/dist/Segmented/index.js +2 -2
- package/dist/Select/index.js +1 -1
- package/dist/Table/index.js +1 -1
- package/dist/Tabs/index.js +1 -1
- package/dist/Tooltip/index.js +1 -1
- package/dist/Tree/index.js +1 -1
- package/dist/components/Editor/Preview/EditorPreview.d.ts +0 -3
- package/dist/components/Editor/Preview/PolishModal.d.ts +0 -1
- package/dist/components/Editor/Preview/Thinking.d.ts +2 -5
- package/dist/components/Editor/Preview/TypesetModal.d.ts +0 -1
- package/dist/components/Editor/Preview/useAiPreviewHtml.d.ts +8 -0
- package/dist/components/Editor/Preview/useAutoScroll.d.ts +9 -0
- package/dist/components/Editor/commands/ImageCommands.d.ts +1 -0
- package/dist/components/Editor/constants/ai.d.ts +0 -2
- package/dist/components/Editor/context/EditorContainerContext.d.ts +3 -2
- package/dist/components/Editor/interface.d.ts +4 -4
- package/dist/components/Editor/nodes/ImageComponent.d.ts +1 -0
- package/dist/components/Editor/nodes/ImageNode.d.ts +5 -2
- package/dist/components/Editor/utils/applyAiPolish.d.ts +0 -1
- package/dist/components/Editor/utils/prepareTypesetProposed.d.ts +1 -2
- package/dist/index.js +4 -4
- package/dist/vendors/{version-CfjNx5v2.js → version-Dt7Pnhic.js} +1 -1
- package/package.json +3 -2
- package/dist/components/Editor/utils/extractCodePlaceholders.d.ts +0 -6
- package/dist/components/Editor/utils/stitchCodePlaceholders.d.ts +0 -6
package/dist/Editor/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../vendors/version-
|
|
1
|
+
import "../vendors/version-Dt7Pnhic.js";
|
|
2
2
|
import "../ScrollBar/style-D26azwz6.js";
|
|
3
3
|
import { t as e } from "../Icon/Icon-DrdQOEJE.js";
|
|
4
4
|
import "../vendors/LocaleContext-DXQoOKM2.js";
|
|
@@ -21,33 +21,33 @@ import { t as d } from "../vendors/useFloatingPortal-DJ1iKmW-.js";
|
|
|
21
21
|
import { t as f } from "../DropDown/DropDown-B_szM67V.js";
|
|
22
22
|
import { dropRightWhile as p, dropWhile as m, keyBy as h, omit as g, range as _ } from "lodash-es";
|
|
23
23
|
import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
24
|
-
import x, { createContext as S, forwardRef as C, memo as w, useCallback as T, useContext as E, useDeferredValue as D, useEffect as O, useId as
|
|
25
|
-
import { Button as
|
|
26
|
-
import
|
|
27
|
-
import {
|
|
28
|
-
import { AnimatePresence as
|
|
29
|
-
import { FloatingPortal as
|
|
30
|
-
import { LexicalComposer as
|
|
31
|
-
import { RichTextPlugin as
|
|
32
|
-
import { ContentEditable as
|
|
33
|
-
import { HistoryPlugin as
|
|
34
|
-
import { OnChangePlugin as
|
|
35
|
-
import { LexicalErrorBoundary as
|
|
36
|
-
import { $generateHtmlFromNodes as
|
|
37
|
-
import { $applyNodeReplacement as
|
|
38
|
-
import { useLexicalComposerContext as
|
|
39
|
-
import { $createLinkNode as
|
|
40
|
-
import { $isListItemNode as
|
|
41
|
-
import { $createCodeHighlightNode as
|
|
42
|
-
import { $getSelectionStyleValueForProperty as
|
|
43
|
-
import { $findCellNode as
|
|
44
|
-
import { $createHeadingNode as
|
|
45
|
-
import { $findMatchingParent as
|
|
46
|
-
import
|
|
47
|
-
import { useLexicalEditable as
|
|
48
|
-
import { LinkPlugin as
|
|
49
|
-
import { ListPlugin as
|
|
50
|
-
var
|
|
24
|
+
import x, { createContext as S, forwardRef as C, memo as w, useCallback as T, useContext as E, useDeferredValue as D, useEffect as O, useId as ee, useImperativeHandle as k, useLayoutEffect as te, useMemo as A, useRef as j, useState as M } from "react";
|
|
25
|
+
import { Button as N, Form as ne, Input as re, message as ie } from "antd";
|
|
26
|
+
import P from "clsx";
|
|
27
|
+
import { useEventListener as ae } from "ahooks";
|
|
28
|
+
import { AnimatePresence as oe, motion as se, useReducedMotion as ce } from "motion/react";
|
|
29
|
+
import { FloatingPortal as le } from "@floating-ui/react";
|
|
30
|
+
import { LexicalComposer as ue } from "@lexical/react/LexicalComposer";
|
|
31
|
+
import { RichTextPlugin as de } from "@lexical/react/LexicalRichTextPlugin";
|
|
32
|
+
import { ContentEditable as fe } from "@lexical/react/LexicalContentEditable";
|
|
33
|
+
import { HistoryPlugin as pe } from "@lexical/react/LexicalHistoryPlugin";
|
|
34
|
+
import { OnChangePlugin as me } from "@lexical/react/LexicalOnChangePlugin";
|
|
35
|
+
import { LexicalErrorBoundary as he } from "@lexical/react/LexicalErrorBoundary";
|
|
36
|
+
import { $generateHtmlFromNodes as ge, $generateNodesFromDOM as _e } from "@lexical/html";
|
|
37
|
+
import { $applyNodeReplacement as ve, $createLineBreakNode as ye, $createParagraphNode as be, $createTabNode as xe, $createTextNode as Se, $getNearestNodeFromDOMNode as Ce, $getNodeByKey as we, $getRoot as Te, $getRoot as F, $getSelection as I, $insertNodes as Ee, $isElementNode as De, $isLineBreakNode as Oe, $isRangeSelection as L, $isRootOrShadowRoot as ke, $isTabNode as Ae, $isTextNode as je, $nodesOfType as Me, $onUpdate as Ne, $setSelection as Pe, BLUR_COMMAND as Fe, CAN_REDO_COMMAND as Ie, CAN_UNDO_COMMAND as Le, CLEAR_HISTORY_COMMAND as Re, COMMAND_PRIORITY_CRITICAL as ze, COMMAND_PRIORITY_EDITOR as Be, COMMAND_PRIORITY_HIGH as Ve, COMMAND_PRIORITY_LOW as He, DROP_COMMAND as Ue, DecoratorNode as We, FOCUS_COMMAND as Ge, FORMAT_ELEMENT_COMMAND as Ke, FORMAT_TEXT_COMMAND as qe, HISTORY_MERGE_TAG as Je, INDENT_CONTENT_COMMAND as Ye, KEY_ENTER_COMMAND as Xe, KEY_TAB_COMMAND as Ze, OUTDENT_CONTENT_COMMAND as Qe, PASTE_COMMAND as $e, PASTE_TAG as et, REDO_COMMAND as tt, RootNode as nt, TextNode as rt, UNDO_COMMAND as it, createCommand as at, isHTMLElement as ot, mergeRegister as st } from "lexical";
|
|
38
|
+
import { useLexicalComposerContext as ct, useLexicalComposerContext as R } from "@lexical/react/LexicalComposerContext";
|
|
39
|
+
import { $createLinkNode as lt, $isLinkNode as ut, $toggleLink as dt, AutoLinkNode as ft, LinkNode as pt, TOGGLE_LINK_COMMAND as mt } from "@lexical/link";
|
|
40
|
+
import { $isListItemNode as ht, $isListNode as gt, INSERT_ORDERED_LIST_COMMAND as _t, INSERT_UNORDERED_LIST_COMMAND as vt, ListItemNode as yt, ListNode as bt, REMOVE_LIST_COMMAND as xt } from "@lexical/list";
|
|
41
|
+
import { $createCodeHighlightNode as St, $createCodeNode as Ct, $isCodeHighlightNode as wt, $isCodeNode as z, $plainifyCodeContent as Tt, CodeHighlightNode as Et, CodeNode as Dt, registerCodeIndentation as Ot } from "@lexical/code-core";
|
|
42
|
+
import { $getSelectionStyleValueForProperty as kt, $patchStyleText as At, $setBlocksType as jt, $trimTextContentFromAnchor as Mt } from "@lexical/selection";
|
|
43
|
+
import { $findCellNode as Nt, $isTableCellNode as Pt, $isTableNode as Ft, $isTableRowNode as It, $isTableSelection as Lt, INSERT_TABLE_COMMAND as Rt, TableCellNode as zt, TableNode as Bt, TableRowNode as Vt, registerTableCellUnmergeTransform as Ht, registerTablePlugin as Ut, registerTableSelectionObserver as Wt, setScrollableTablesActive as Gt } from "@lexical/table";
|
|
44
|
+
import { $createHeadingNode as Kt, $isHeadingNode as qt, HeadingNode as Jt } from "@lexical/rich-text";
|
|
45
|
+
import { $findMatchingParent as B, $restoreEditorState as Yt, mergeRegister as Xt } from "@lexical/utils";
|
|
46
|
+
import Zt from "dompurify";
|
|
47
|
+
import { useLexicalEditable as Qt } from "@lexical/react/useLexicalEditable";
|
|
48
|
+
import { LinkPlugin as $t } from "@lexical/react/LexicalLinkPlugin";
|
|
49
|
+
import { ListPlugin as en } from "@lexical/react/LexicalListPlugin";
|
|
50
|
+
var V = {
|
|
51
51
|
imageWrapper: "_imageWrapper_y06h3_1",
|
|
52
52
|
selected: "_selected_y06h3_8",
|
|
53
53
|
resizing: "_resizing_y06h3_12",
|
|
@@ -57,22 +57,22 @@ var U = {
|
|
|
57
57
|
topRight: "_topRight_y06h3_49",
|
|
58
58
|
bottomLeft: "_bottomLeft_y06h3_54",
|
|
59
59
|
bottomRight: "_bottomRight_y06h3_59"
|
|
60
|
-
},
|
|
61
|
-
let [
|
|
60
|
+
}, tn = ({ src: e, altText: t, width: n, height: r, dataId: i, dataSrc: a, nodeKey: o }) => {
|
|
61
|
+
let [s] = R(), [c, l] = M(!1), [u, d] = M(null), f = j(null), [p, m] = M({
|
|
62
62
|
width: n || void 0,
|
|
63
63
|
height: r || void 0
|
|
64
|
-
}),
|
|
65
|
-
n && r &&
|
|
64
|
+
}), h = T(() => {
|
|
65
|
+
n && r && m({
|
|
66
66
|
width: n,
|
|
67
67
|
height: r
|
|
68
68
|
});
|
|
69
|
-
}, [n, r]),
|
|
70
|
-
if (e.preventDefault(), e.stopPropagation(), !
|
|
71
|
-
let n =
|
|
72
|
-
(!
|
|
69
|
+
}, [n, r]), g = T((e, t) => {
|
|
70
|
+
if (e.preventDefault(), e.stopPropagation(), !f.current) return;
|
|
71
|
+
let n = p.width || f.current.offsetWidth, r = p.height || f.current.offsetHeight, i = n / r;
|
|
72
|
+
(!p.width || !p.height) && m({
|
|
73
73
|
width: n,
|
|
74
74
|
height: r
|
|
75
|
-
}),
|
|
75
|
+
}), d({
|
|
76
76
|
isResizing: !0,
|
|
77
77
|
startX: e.clientX,
|
|
78
78
|
startY: e.clientY,
|
|
@@ -81,119 +81,121 @@ var U = {
|
|
|
81
81
|
aspectRatio: i,
|
|
82
82
|
direction: t
|
|
83
83
|
});
|
|
84
|
-
}, [
|
|
85
|
-
if (!
|
|
86
|
-
let t = e.clientX -
|
|
87
|
-
switch (
|
|
84
|
+
}, [p]), _ = T((e) => {
|
|
85
|
+
if (!u?.isResizing) return;
|
|
86
|
+
let t = e.clientX - u.startX, n;
|
|
87
|
+
switch (u.direction) {
|
|
88
88
|
case "bottom-right":
|
|
89
|
-
n = Math.max(50,
|
|
89
|
+
n = Math.max(50, u.startWidth + t);
|
|
90
90
|
break;
|
|
91
91
|
case "bottom-left":
|
|
92
|
-
n = Math.max(50,
|
|
92
|
+
n = Math.max(50, u.startWidth - t);
|
|
93
93
|
break;
|
|
94
94
|
case "top-right":
|
|
95
|
-
n = Math.max(50,
|
|
95
|
+
n = Math.max(50, u.startWidth + t);
|
|
96
96
|
break;
|
|
97
97
|
case "top-left":
|
|
98
|
-
n = Math.max(50,
|
|
98
|
+
n = Math.max(50, u.startWidth - t);
|
|
99
99
|
break;
|
|
100
|
-
default: n = Math.max(50,
|
|
100
|
+
default: n = Math.max(50, u.startWidth + t);
|
|
101
101
|
}
|
|
102
|
-
let r = n /
|
|
103
|
-
|
|
102
|
+
let r = n / u.aspectRatio;
|
|
103
|
+
m({
|
|
104
104
|
width: n,
|
|
105
105
|
height: r
|
|
106
106
|
});
|
|
107
|
-
}, [
|
|
108
|
-
|
|
109
|
-
let e =
|
|
110
|
-
|
|
111
|
-
}),
|
|
107
|
+
}, [u]), S = T(() => {
|
|
108
|
+
u?.isResizing && (s.update(() => {
|
|
109
|
+
let e = we(o);
|
|
110
|
+
an(e) && e.setWidthAndHeight(p.width, p.height);
|
|
111
|
+
}), d(null));
|
|
112
112
|
}, [
|
|
113
|
+
s,
|
|
113
114
|
o,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
l
|
|
115
|
+
p,
|
|
116
|
+
u
|
|
117
117
|
]);
|
|
118
118
|
x.useEffect(() => {
|
|
119
|
-
if (
|
|
120
|
-
document.removeEventListener("mousemove",
|
|
119
|
+
if (u?.isResizing) return document.addEventListener("mousemove", _), document.addEventListener("mouseup", S), () => {
|
|
120
|
+
document.removeEventListener("mousemove", _), document.removeEventListener("mouseup", S);
|
|
121
121
|
};
|
|
122
122
|
}, [
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
123
|
+
u,
|
|
124
|
+
_,
|
|
125
|
+
S
|
|
126
126
|
]);
|
|
127
|
-
let
|
|
128
|
-
|
|
127
|
+
let C = T(() => {
|
|
128
|
+
l(!0);
|
|
129
129
|
}, []);
|
|
130
|
-
return O(() =>
|
|
130
|
+
return O(() => s.registerUpdateListener(({ editorState: e }) => {
|
|
131
131
|
e.read(() => {
|
|
132
|
-
let e =
|
|
133
|
-
|
|
132
|
+
let e = I();
|
|
133
|
+
L(e) && !e.getNodes().some((e) => e.getKey() === o || e.getParent() && e.getParent()?.getKey() === o) && c && l(!1);
|
|
134
134
|
});
|
|
135
135
|
}), [
|
|
136
|
+
s,
|
|
136
137
|
o,
|
|
137
|
-
|
|
138
|
-
s
|
|
138
|
+
c
|
|
139
139
|
]), O(() => {
|
|
140
140
|
let e = (e) => {
|
|
141
|
-
|
|
141
|
+
c && f.current && !f.current.contains(e.target) && l(!1);
|
|
142
142
|
};
|
|
143
|
-
if (
|
|
143
|
+
if (c) return document.addEventListener("mousedown", e), () => {
|
|
144
144
|
document.removeEventListener("mousedown", e);
|
|
145
145
|
};
|
|
146
|
-
}, [
|
|
147
|
-
className:
|
|
148
|
-
[
|
|
149
|
-
[
|
|
146
|
+
}, [c]), /* @__PURE__ */ b("div", {
|
|
147
|
+
className: P(V.imageWrapper, {
|
|
148
|
+
[V.selected]: c,
|
|
149
|
+
[V.resizing]: u?.isResizing
|
|
150
150
|
}),
|
|
151
151
|
children: [/* @__PURE__ */ y("img", {
|
|
152
|
-
ref:
|
|
152
|
+
ref: f,
|
|
153
153
|
src: e,
|
|
154
154
|
alt: t,
|
|
155
155
|
"data-id": i,
|
|
156
|
-
|
|
156
|
+
"data-src": a,
|
|
157
|
+
className: V.image,
|
|
157
158
|
style: {
|
|
158
|
-
width:
|
|
159
|
-
height:
|
|
159
|
+
width: p.width,
|
|
160
|
+
height: p.height
|
|
160
161
|
},
|
|
161
|
-
onLoad:
|
|
162
|
-
onClick:
|
|
162
|
+
onLoad: h,
|
|
163
|
+
onClick: C,
|
|
163
164
|
draggable: !1
|
|
164
|
-
}),
|
|
165
|
+
}), c && /* @__PURE__ */ b(v, { children: [
|
|
165
166
|
/* @__PURE__ */ y("div", {
|
|
166
|
-
className:
|
|
167
|
-
onMouseDown: (e) =>
|
|
167
|
+
className: P(V.resizeHandle, V.bottomRight),
|
|
168
|
+
onMouseDown: (e) => g(e, "bottom-right")
|
|
168
169
|
}),
|
|
169
170
|
/* @__PURE__ */ y("div", {
|
|
170
|
-
className:
|
|
171
|
-
onMouseDown: (e) =>
|
|
171
|
+
className: P(V.resizeHandle, V.bottomLeft),
|
|
172
|
+
onMouseDown: (e) => g(e, "bottom-left")
|
|
172
173
|
}),
|
|
173
174
|
/* @__PURE__ */ y("div", {
|
|
174
|
-
className:
|
|
175
|
-
onMouseDown: (e) =>
|
|
175
|
+
className: P(V.resizeHandle, V.topRight),
|
|
176
|
+
onMouseDown: (e) => g(e, "top-right")
|
|
176
177
|
}),
|
|
177
178
|
/* @__PURE__ */ y("div", {
|
|
178
|
-
className:
|
|
179
|
-
onMouseDown: (e) =>
|
|
179
|
+
className: P(V.resizeHandle, V.topLeft),
|
|
180
|
+
onMouseDown: (e) => g(e, "top-left")
|
|
180
181
|
})
|
|
181
182
|
] })]
|
|
182
183
|
});
|
|
183
|
-
},
|
|
184
|
+
}, nn = class e extends We {
|
|
184
185
|
__src;
|
|
185
186
|
__altText;
|
|
186
187
|
__width;
|
|
187
188
|
__height;
|
|
188
189
|
__dataId;
|
|
190
|
+
__dataSrc;
|
|
189
191
|
static getType() {
|
|
190
192
|
return "image";
|
|
191
193
|
}
|
|
192
194
|
static clone(t) {
|
|
193
|
-
return new e(t.__src, t.__altText, t.__width, t.__height, t.__key, t.__dataId);
|
|
195
|
+
return new e(t.__src, t.__altText, t.__width, t.__height, t.__key, t.__dataId, t.__dataSrc);
|
|
194
196
|
}
|
|
195
|
-
constructor(e, t, n, r, i, a) {
|
|
196
|
-
super(i), this.__src = e, this.__altText = t || "", this.__width = n, this.__height = r, this.__dataId = a;
|
|
197
|
+
constructor(e, t, n, r, i, a, o) {
|
|
198
|
+
super(i), this.__src = e, this.__altText = t || "", this.__width = n, this.__height = r, this.__dataId = a, this.__dataSrc = o;
|
|
197
199
|
}
|
|
198
200
|
createDOM() {
|
|
199
201
|
let e = document.createElement("div");
|
|
@@ -204,7 +206,7 @@ var U = {
|
|
|
204
206
|
}
|
|
205
207
|
exportDOM() {
|
|
206
208
|
let e = document.createElement("img");
|
|
207
|
-
return e.setAttribute("src", this.__src), e.setAttribute("alt", this.__altText), e.style.maxWidth = "100%", e.style.display = "inline", e.style.verticalAlign = "baseline", this.__width && e.setAttribute("width", this.__width.toString()), this.__height && e.setAttribute("height", this.__height.toString()), this.__dataId && e.setAttribute("data-id", this.__dataId), { element: e };
|
|
209
|
+
return e.setAttribute("src", this.__src), e.setAttribute("alt", this.__altText), e.style.maxWidth = "100%", e.style.display = "inline", e.style.verticalAlign = "baseline", this.__width && e.setAttribute("width", this.__width.toString()), this.__height && e.setAttribute("height", this.__height.toString()), this.__dataId && e.setAttribute("data-id", this.__dataId), this.__dataSrc && e.setAttribute("data-src", this.__dataSrc), { element: e };
|
|
208
210
|
}
|
|
209
211
|
getSrc() {
|
|
210
212
|
return this.__src;
|
|
@@ -234,29 +236,31 @@ var U = {
|
|
|
234
236
|
n.__width = e, n.__height = t;
|
|
235
237
|
}
|
|
236
238
|
decorate() {
|
|
237
|
-
return /* @__PURE__ */ y(
|
|
239
|
+
return /* @__PURE__ */ y(tn, {
|
|
238
240
|
src: this.__src,
|
|
239
241
|
altText: this.__altText,
|
|
240
242
|
width: this.__width,
|
|
241
243
|
height: this.__height,
|
|
242
244
|
dataId: this.__dataId,
|
|
245
|
+
dataSrc: this.__dataSrc,
|
|
243
246
|
nodeKey: this.getKey()
|
|
244
247
|
});
|
|
245
248
|
}
|
|
246
249
|
static importDOM() {
|
|
247
250
|
return { img: () => ({
|
|
248
|
-
conversion:
|
|
251
|
+
conversion: on,
|
|
249
252
|
priority: 0
|
|
250
253
|
}) };
|
|
251
254
|
}
|
|
252
255
|
static importJSON(e) {
|
|
253
|
-
let { src: t, altText: n, width: r, height: i, dataId: a } = e;
|
|
254
|
-
return
|
|
256
|
+
let { src: t, altText: n, width: r, height: i, dataId: a, dataSrc: o } = e;
|
|
257
|
+
return rn({
|
|
255
258
|
src: t,
|
|
256
259
|
altText: n,
|
|
257
260
|
width: r,
|
|
258
261
|
height: i,
|
|
259
|
-
dataId: a
|
|
262
|
+
dataId: a,
|
|
263
|
+
dataSrc: o
|
|
260
264
|
});
|
|
261
265
|
}
|
|
262
266
|
exportJSON() {
|
|
@@ -266,6 +270,7 @@ var U = {
|
|
|
266
270
|
width: this.getWidth(),
|
|
267
271
|
height: this.getHeight(),
|
|
268
272
|
dataId: this.getDataId(),
|
|
273
|
+
dataSrc: this.__dataSrc,
|
|
269
274
|
type: "image",
|
|
270
275
|
version: 1
|
|
271
276
|
};
|
|
@@ -274,13 +279,13 @@ var U = {
|
|
|
274
279
|
return !0;
|
|
275
280
|
}
|
|
276
281
|
};
|
|
277
|
-
function
|
|
278
|
-
return new
|
|
279
|
-
}
|
|
280
|
-
function rn(e) {
|
|
281
|
-
return e instanceof tn;
|
|
282
|
+
function rn({ src: e, altText: t, width: n, height: r, dataId: i, dataSrc: a, key: o }) {
|
|
283
|
+
return new nn(e, t, n, r, o, i, a);
|
|
282
284
|
}
|
|
283
285
|
function an(e) {
|
|
286
|
+
return e instanceof nn;
|
|
287
|
+
}
|
|
288
|
+
function on(e) {
|
|
284
289
|
if (e instanceof HTMLImageElement) {
|
|
285
290
|
let { src: t, alt: n, style: r } = e, i, a;
|
|
286
291
|
if (r.width) {
|
|
@@ -292,23 +297,24 @@ function an(e) {
|
|
|
292
297
|
isNaN(e) || (a = e);
|
|
293
298
|
}
|
|
294
299
|
i === void 0 && e.width && (i = e.width), a === void 0 && e.height && (a = e.height);
|
|
295
|
-
let o = e.getAttribute("data-id") || void 0;
|
|
296
|
-
return { node:
|
|
300
|
+
let o = e.getAttribute("data-id") || void 0, s = e.getAttribute("data-src") || void 0;
|
|
301
|
+
return { node: rn({
|
|
297
302
|
src: t,
|
|
298
303
|
altText: n,
|
|
299
304
|
width: i,
|
|
300
305
|
height: a,
|
|
301
|
-
dataId: o
|
|
306
|
+
dataId: o,
|
|
307
|
+
dataSrc: s
|
|
302
308
|
}) };
|
|
303
309
|
}
|
|
304
310
|
return null;
|
|
305
311
|
}
|
|
306
312
|
//#endregion
|
|
307
313
|
//#region src/components/Editor/constants/toolbarSize.ts
|
|
308
|
-
var
|
|
314
|
+
var sn = "default", H = {
|
|
309
315
|
x: 0,
|
|
310
316
|
y: 5
|
|
311
|
-
},
|
|
317
|
+
}, cn = {
|
|
312
318
|
small: {
|
|
313
319
|
itemHeight: 20,
|
|
314
320
|
iconSize: 14
|
|
@@ -317,23 +323,23 @@ var on = "default", W = {
|
|
|
317
323
|
itemHeight: 30,
|
|
318
324
|
iconSize: 16
|
|
319
325
|
}
|
|
320
|
-
},
|
|
326
|
+
}, U = (e) => {
|
|
321
327
|
if (!(e === void 0 || e === "")) return typeof e == "number" ? `${e}px` : e;
|
|
322
|
-
}, ln = (e, t =
|
|
323
|
-
let n =
|
|
328
|
+
}, ln = (e, t = sn) => {
|
|
329
|
+
let n = cn[t], r = U(e?.itemHeight) ?? `${n.itemHeight}px`, i = U(e?.iconSize) ?? `${n.iconSize}px`, a = {
|
|
324
330
|
"--bsy-editor-toolbar-item-height": r,
|
|
325
331
|
"--bsy-editor-toolbar-icon-size": i,
|
|
326
332
|
"--bsy-editor-toolbar-divider-color": "#e0e0e0",
|
|
327
333
|
"--bsy-editor-toolbar-item-highlight-color": "#0265ff"
|
|
328
334
|
};
|
|
329
|
-
return e ? (s(a, "--bsy-editor-toolbar-bg", e.bg), s(a, "--bsy-editor-toolbar-border-color", e.borderColor), s(a, "--bsy-editor-toolbar-padding", e.padding), s(a, "--bsy-editor-toolbar-gap",
|
|
330
|
-
}, un = (e, t =
|
|
335
|
+
return e ? (s(a, "--bsy-editor-toolbar-bg", e.bg), s(a, "--bsy-editor-toolbar-border-color", e.borderColor), s(a, "--bsy-editor-toolbar-padding", e.padding), s(a, "--bsy-editor-toolbar-gap", U(e.gap)), s(a, "--bsy-editor-toolbar-group-gap", U(e.groupGap)), s(a, "--bsy-editor-toolbar-divider-color", e.dividerColor), s(a, "--bsy-editor-toolbar-divider-margin", U(e.dividerMargin)), s(a, "--bsy-editor-toolbar-color-icon", e.colorIcon), s(a, "--bsy-editor-toolbar-item-hover-bg", e.itemHoverBg), s(a, "--bsy-editor-toolbar-item-hover-color", e.itemHoverColor), s(a, "--bsy-editor-toolbar-item-active-bg", e.itemActiveBg), s(a, "--bsy-editor-toolbar-item-active-color", e.itemActiveColor), s(a, "--bsy-editor-toolbar-item-highlight-color", e.itemHighlightColor), s(a, "--bsy-editor-toolbar-item-padding", U(e.itemPadding)), s(a, "--bsy-editor-toolbar-item-border-radius", U(e.itemBorderRadius)), a) : a;
|
|
336
|
+
}, un = (e, t = sn) => {
|
|
331
337
|
if (typeof e == "number" && Number.isFinite(e)) return e;
|
|
332
338
|
if (typeof e == "string") {
|
|
333
339
|
let t = Number.parseFloat(e);
|
|
334
340
|
if (Number.isFinite(t)) return t;
|
|
335
341
|
}
|
|
336
|
-
return
|
|
342
|
+
return cn[t].iconSize;
|
|
337
343
|
}, dn = (e) => {
|
|
338
344
|
let t = e?.placement ?? "top", n = e?.offset, r = typeof n == "number" ? 0 : n?.x ?? 0, i = typeof n == "number" ? n : n?.y ?? 0, a = t === "top", o = {
|
|
339
345
|
position: "absolute",
|
|
@@ -360,7 +366,7 @@ var on = "default", W = {
|
|
|
360
366
|
visible: e.slice(0, t),
|
|
361
367
|
overflow: p(m(e.slice(t), n), n)
|
|
362
368
|
};
|
|
363
|
-
},
|
|
369
|
+
}, W = {
|
|
364
370
|
"bsy-lexical__toolbar": "_bsy-lexical__toolbar_1wqto_1",
|
|
365
371
|
"bsy-lexical__toolbar--floating": "_bsy-lexical__toolbar--floating_1wqto_14",
|
|
366
372
|
"bsy-lexical__toolbar--sticky": "_bsy-lexical__toolbar--sticky_1wqto_19",
|
|
@@ -524,16 +530,16 @@ var on = "default", W = {
|
|
|
524
530
|
}
|
|
525
531
|
], wn = h(Cn, "id"), Tn = (e) => e && wn[e] ? e : xn, En = (e) => e === "center" || e === "right" || e === "left" ? e : e === "end" ? "right" : "left", Dn = (e) => {
|
|
526
532
|
if (e) {
|
|
527
|
-
|
|
533
|
+
F().selectStart();
|
|
528
534
|
return;
|
|
529
535
|
}
|
|
530
|
-
|
|
536
|
+
Pe(null);
|
|
531
537
|
}, On = (e) => {
|
|
532
538
|
let t = e.getRootElement();
|
|
533
539
|
Dn(!!(t && document.activeElement && t.contains(document.activeElement)));
|
|
534
540
|
}, kn = () => {
|
|
535
|
-
|
|
536
|
-
},
|
|
541
|
+
I() === null && F().selectStart();
|
|
542
|
+
}, G = (e) => {
|
|
537
543
|
e.isEditable() || e.setEditable(!0), e.update(() => {
|
|
538
544
|
kn();
|
|
539
545
|
}), e.focus(void 0, { defaultSelection: "rootStart" });
|
|
@@ -557,34 +563,34 @@ var on = "default", W = {
|
|
|
557
563
|
hasEditorText: !1,
|
|
558
564
|
link: void 0
|
|
559
565
|
}, jn = (e) => {
|
|
560
|
-
let t = !!
|
|
566
|
+
let t = !!F().getTextContent().trim(), n = {
|
|
561
567
|
...An,
|
|
562
568
|
hasEditorText: t
|
|
563
569
|
};
|
|
564
570
|
if (!e) return n;
|
|
565
|
-
let r =
|
|
566
|
-
if (
|
|
571
|
+
let r = I();
|
|
572
|
+
if (Lt(r)) return {
|
|
567
573
|
...n,
|
|
568
574
|
isInTable: !0
|
|
569
575
|
};
|
|
570
|
-
if (!
|
|
571
|
-
let i =
|
|
576
|
+
if (!L(r)) return n;
|
|
577
|
+
let i = kt(r, "font-size", gn), a = kt(r, "color", _n), o = kt(r, "background-color", vn), s = r.anchor.getNode(), c = s.getKey() === "root" ? s : B(s, (e) => {
|
|
572
578
|
let t = e.getParent();
|
|
573
|
-
return t !== null &&
|
|
579
|
+
return t !== null && ke(t);
|
|
574
580
|
});
|
|
575
581
|
c === null && (c = s.getTopLevelElementOrThrow());
|
|
576
|
-
let l = {}, u =
|
|
582
|
+
let l = {}, u = B(s, ut);
|
|
577
583
|
u ? (l.link = u.getURL(), l.linkText = u.getTextContent(), l.newBlank = u.getTarget() === "_blank") : l.linkText = r.getTextContent();
|
|
578
|
-
let d =
|
|
579
|
-
if (
|
|
584
|
+
let d = B(s, ht), f = !1, p = De(c) ? c.getIndent() : 0;
|
|
585
|
+
if (ht(d)) {
|
|
580
586
|
p = d.getIndent();
|
|
581
587
|
let e = d.getParent();
|
|
582
|
-
if (
|
|
588
|
+
if (gt(e)) {
|
|
583
589
|
let t = e.getListType();
|
|
584
590
|
f = t === "number" || t === "bullet" ? t : !1;
|
|
585
591
|
}
|
|
586
592
|
}
|
|
587
|
-
let m =
|
|
593
|
+
let m = B(s, z), h = B(s, qt), g = qt(h) ? h.getTag() : void 0;
|
|
588
594
|
return {
|
|
589
595
|
bold: r.hasFormat("bold"),
|
|
590
596
|
italic: r.hasFormat("italic"),
|
|
@@ -595,11 +601,11 @@ var on = "default", W = {
|
|
|
595
601
|
fontSize: i,
|
|
596
602
|
fontColor: a,
|
|
597
603
|
backgroundColor: o,
|
|
598
|
-
align: En(
|
|
604
|
+
align: En(De(c) ? c.getFormatType() : ""),
|
|
599
605
|
listType: f,
|
|
600
606
|
canOutdent: p > 0 || f !== !1,
|
|
601
607
|
isCodeBlock: !!m,
|
|
602
|
-
isInTable: !!
|
|
608
|
+
isInTable: !!B(s, Pt),
|
|
603
609
|
headingTag: g === "h1" || g === "h2" || g === "h3" ? g : !1,
|
|
604
610
|
codeLanguage: Tn(m?.getLanguage()),
|
|
605
611
|
hasEditorText: t,
|
|
@@ -615,10 +621,10 @@ var on = "default", W = {
|
|
|
615
621
|
t = e;
|
|
616
622
|
}), t;
|
|
617
623
|
}, Pn = () => {
|
|
618
|
-
let [e] =
|
|
619
|
-
return O(() =>
|
|
624
|
+
let [e] = R(), [t, n] = M(!1);
|
|
625
|
+
return O(() => Xt(e.registerCommand(Ge, () => (n(!0), !1), He), e.registerCommand(Fe, () => (n(!1), !1), He)), [e]), t;
|
|
620
626
|
}, Fn = () => {
|
|
621
|
-
let [e] =
|
|
627
|
+
let [e] = R(), t = Pn(), [n, r] = M(An);
|
|
622
628
|
return O(() => (e.getEditorState().read(() => {
|
|
623
629
|
r(jn(t));
|
|
624
630
|
}, { editor: e }), e.registerUpdateListener(({ editorState: n }) => {
|
|
@@ -637,30 +643,30 @@ var on = "default", W = {
|
|
|
637
643
|
if (!e) throw Error("useHistoryStateContext must be used within HistoryStateProvider");
|
|
638
644
|
return e;
|
|
639
645
|
}, zn = ({ children: e }) => {
|
|
640
|
-
let [t] =
|
|
646
|
+
let [t] = R(), [n, r] = M({
|
|
641
647
|
canUndo: !1,
|
|
642
648
|
canRedo: !1
|
|
643
649
|
});
|
|
644
|
-
return O(() =>
|
|
650
|
+
return O(() => st(t.registerCommand(Le, (e) => (r((t) => t.canUndo === e ? t : {
|
|
645
651
|
...t,
|
|
646
652
|
canUndo: e
|
|
647
|
-
}), !1),
|
|
653
|
+
}), !1), ze), t.registerCommand(Ie, (e) => (r((t) => t.canRedo === e ? t : {
|
|
648
654
|
...t,
|
|
649
655
|
canRedo: e
|
|
650
|
-
}), !1),
|
|
656
|
+
}), !1), ze)), [t]), /* @__PURE__ */ y(Ln.Provider, {
|
|
651
657
|
value: n,
|
|
652
658
|
children: e
|
|
653
659
|
});
|
|
654
|
-
}, Bn = S({ iconSize:
|
|
660
|
+
}, Bn = S({ iconSize: cn.default.iconSize }), Vn = Bn.Provider, K = () => E(Bn), Hn = {
|
|
655
661
|
"lexical-editor__toolbar-button": "_lexical-editor__toolbar-button_dp4a1_1",
|
|
656
662
|
"lexical-editor__toolbar-button-active": "_lexical-editor__toolbar-button-active_dp4a1_26",
|
|
657
663
|
"lexical-editor__toolbar-button-highlight": "_lexical-editor__toolbar-button-highlight_dp4a1_30",
|
|
658
664
|
"lexical-editor__toolbar-button-tooltip-trigger": "_lexical-editor__toolbar-button-tooltip-trigger_dp4a1_36"
|
|
659
665
|
}, q = ({ icon: t, tooltip: n, onClick: r, disabled: i, showDisabledTooltip: a, active: o, highlight: s, size: l }) => {
|
|
660
|
-
let { iconSize: u } =
|
|
661
|
-
className:
|
|
662
|
-
[
|
|
663
|
-
[
|
|
666
|
+
let { iconSize: u } = K(), d = /* @__PURE__ */ y("button", {
|
|
667
|
+
className: P(Hn["lexical-editor__toolbar-button"], {
|
|
668
|
+
[Hn["lexical-editor__toolbar-button-active"]]: o,
|
|
669
|
+
[Hn["lexical-editor__toolbar-button-highlight"]]: s
|
|
664
670
|
}),
|
|
665
671
|
type: "button",
|
|
666
672
|
onClick: r,
|
|
@@ -675,7 +681,7 @@ var on = "default", W = {
|
|
|
675
681
|
content: n,
|
|
676
682
|
minWidth: "auto",
|
|
677
683
|
children: i ? /* @__PURE__ */ y("span", {
|
|
678
|
-
className:
|
|
684
|
+
className: Hn["lexical-editor__toolbar-button-tooltip-trigger"],
|
|
679
685
|
children: d
|
|
680
686
|
}) : d
|
|
681
687
|
});
|
|
@@ -683,8 +689,8 @@ var on = "default", W = {
|
|
|
683
689
|
let e = E(mn);
|
|
684
690
|
if (!e) throw Error("useTextFormatsContext must be used within TextFormatsProvider");
|
|
685
691
|
return e;
|
|
686
|
-
},
|
|
687
|
-
let [r] =
|
|
692
|
+
}, Un = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
693
|
+
let [r] = R(), i = J(), { t: o } = a(), s = i.bold;
|
|
688
694
|
return /* @__PURE__ */ y(q, {
|
|
689
695
|
icon: "bold",
|
|
690
696
|
tooltip: t ?? o("editor.bold"),
|
|
@@ -692,11 +698,11 @@ var on = "default", W = {
|
|
|
692
698
|
active: s,
|
|
693
699
|
disabled: e,
|
|
694
700
|
onClick: () => {
|
|
695
|
-
|
|
701
|
+
G(r), r.dispatchCommand(qe, "bold");
|
|
696
702
|
}
|
|
697
703
|
});
|
|
698
|
-
},
|
|
699
|
-
let [r] =
|
|
704
|
+
}, Wn = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
705
|
+
let [r] = R(), i = J(), { t: o } = a(), s = i.underline;
|
|
700
706
|
return /* @__PURE__ */ y(q, {
|
|
701
707
|
icon: "underline",
|
|
702
708
|
tooltip: t ?? o("editor.underline"),
|
|
@@ -704,11 +710,11 @@ var on = "default", W = {
|
|
|
704
710
|
active: s,
|
|
705
711
|
disabled: e,
|
|
706
712
|
onClick: () => {
|
|
707
|
-
|
|
713
|
+
G(r), r.dispatchCommand(qe, "underline");
|
|
708
714
|
}
|
|
709
715
|
});
|
|
710
|
-
},
|
|
711
|
-
let [r] =
|
|
716
|
+
}, Gn = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
717
|
+
let [r] = R(), i = J(), { t: o } = a(), s = i.italic;
|
|
712
718
|
return /* @__PURE__ */ y(q, {
|
|
713
719
|
icon: "italic",
|
|
714
720
|
tooltip: t ?? o("editor.italic"),
|
|
@@ -716,18 +722,18 @@ var on = "default", W = {
|
|
|
716
722
|
active: s,
|
|
717
723
|
disabled: e,
|
|
718
724
|
onClick: () => {
|
|
719
|
-
|
|
725
|
+
G(r), r.dispatchCommand(qe, "italic");
|
|
720
726
|
}
|
|
721
727
|
});
|
|
722
|
-
},
|
|
723
|
-
let [r] =
|
|
728
|
+
}, Kn = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
729
|
+
let [r] = R(), { t: i } = a(), { fontSize: o, headingTag: s } = J(), c = A(() => hn.map((e) => ({
|
|
724
730
|
key: e.value,
|
|
725
731
|
label: e.label
|
|
726
732
|
})), []), l = T((e) => {
|
|
727
733
|
let t = e.key;
|
|
728
|
-
|
|
729
|
-
let e =
|
|
730
|
-
|
|
734
|
+
G(r), r.update(() => {
|
|
735
|
+
let e = I();
|
|
736
|
+
L(e) && At(e, { "font-size": t });
|
|
731
737
|
});
|
|
732
738
|
}, [r]);
|
|
733
739
|
return s || e ? /* @__PURE__ */ y(q, {
|
|
@@ -740,7 +746,7 @@ var on = "default", W = {
|
|
|
740
746
|
onClick: l,
|
|
741
747
|
activeKey: [o],
|
|
742
748
|
showSearch: !1,
|
|
743
|
-
offset:
|
|
749
|
+
offset: H,
|
|
744
750
|
style: {
|
|
745
751
|
width: "60px",
|
|
746
752
|
minWidth: "60px"
|
|
@@ -755,28 +761,28 @@ var on = "default", W = {
|
|
|
755
761
|
})
|
|
756
762
|
})
|
|
757
763
|
});
|
|
758
|
-
},
|
|
764
|
+
}, qn = "M896 860.48V960H128v-99.52h768zM578.944 128l251.648 655.936h-115.2l-59.904-164.48H379.904L320 784H204.8L456.384 128h122.56z m-58.944 115.776h-3.712L412.16 531.2h211.072L520 243.84z", Jn = "M766.4 744.32c43.712 0 79.36-36.224 79.36-80.512 0-53.504-79.36-140.8-79.36-140.8s-79.36 87.296-79.36 140.8c0 44.288 35.648 80.512 79.36 80.512z m-377.088-44.16c7.04 7.168 18.56 7.168 25.6 0l256.064-256c7.104-7.04 7.104-18.56 0-25.6l-256-256a16.32 16.32 0 0 0-1.92-1.664L334.72 82.688a9.088 9.088 0 0 0-12.8 0l-48 48a9.088 9.088 0 0 0 0 12.8l67.2 67.2-207.808 207.936c-7.04 7.04-7.04 18.56 0 25.6l255.936 256z m12.864-448.576L581.12 430.528H223.36L402.24 251.52z m501.824 564.416H120a8 8 0 0 0-8 8v80c0 4.416 3.584 8 8 8h784a8 8 0 0 0 8-8v-80a8 8 0 0 0-8-8z", Yn = 860.48, Xn = 99.52, Zn = /rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0(?:\.0+)?\s*\)/, Qn = {
|
|
759
765
|
fontColor: {
|
|
760
|
-
path:
|
|
761
|
-
clipHeight:
|
|
766
|
+
path: qn,
|
|
767
|
+
clipHeight: Yn,
|
|
762
768
|
x: 128,
|
|
763
769
|
width: 768,
|
|
764
770
|
rx: 0
|
|
765
771
|
},
|
|
766
772
|
fill: {
|
|
767
|
-
path:
|
|
773
|
+
path: Jn,
|
|
768
774
|
clipHeight: 816,
|
|
769
775
|
x: 112,
|
|
770
776
|
width: 800,
|
|
771
777
|
rx: 8
|
|
772
778
|
}
|
|
773
|
-
},
|
|
779
|
+
}, $n = (e, t) => {
|
|
774
780
|
let n = t.trim().toLowerCase();
|
|
775
|
-
if (e === "fill") return !n || n === "transparent" ||
|
|
781
|
+
if (e === "fill") return !n || n === "transparent" || Zn.test(n);
|
|
776
782
|
let r = n.replace(/\s+/g, "");
|
|
777
783
|
return r === "#000" || r === "#000000" || r === "black" || r === "rgb(0,0,0)" || r === "rgba(0,0,0,1)" || r === "rgba(0,0,0,1.0)";
|
|
778
|
-
},
|
|
779
|
-
let r = `${
|
|
784
|
+
}, er = ({ variant: e, barColor: t, size: n }) => {
|
|
785
|
+
let r = `${ee().replace(/:/g, "")}clip`, i = Qn[e];
|
|
780
786
|
return /* @__PURE__ */ b("svg", {
|
|
781
787
|
width: n,
|
|
782
788
|
height: n,
|
|
@@ -799,32 +805,32 @@ var on = "default", W = {
|
|
|
799
805
|
}),
|
|
800
806
|
/* @__PURE__ */ y("rect", {
|
|
801
807
|
x: i.x,
|
|
802
|
-
y:
|
|
808
|
+
y: Yn,
|
|
803
809
|
width: i.width,
|
|
804
|
-
height:
|
|
810
|
+
height: Xn,
|
|
805
811
|
rx: i.rx,
|
|
806
|
-
fill:
|
|
812
|
+
fill: $n(e, t) ? "currentColor" : t
|
|
807
813
|
})
|
|
808
814
|
]
|
|
809
815
|
});
|
|
810
|
-
},
|
|
811
|
-
let [r] =
|
|
812
|
-
|
|
813
|
-
let t =
|
|
814
|
-
|
|
816
|
+
}, tr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
817
|
+
let [r] = R(), o = J(), { iconSize: s } = K(), { t: c } = a(), l = T((e) => {
|
|
818
|
+
G(r), r.update(() => {
|
|
819
|
+
let t = I();
|
|
820
|
+
L(t) && At(t, { color: e });
|
|
815
821
|
});
|
|
816
822
|
}, [r]);
|
|
817
823
|
return /* @__PURE__ */ y(i, {
|
|
818
824
|
value: o.fontColor,
|
|
819
825
|
onChange: l,
|
|
820
826
|
placement: "bottom-start",
|
|
821
|
-
offset:
|
|
827
|
+
offset: H.y,
|
|
822
828
|
presetColors: "basic",
|
|
823
829
|
disabled: e,
|
|
824
830
|
children: /* @__PURE__ */ y("div", {
|
|
825
831
|
className: "trigger-picker inline-flex",
|
|
826
832
|
children: /* @__PURE__ */ y(q, {
|
|
827
|
-
icon: /* @__PURE__ */ y(
|
|
833
|
+
icon: /* @__PURE__ */ y(er, {
|
|
828
834
|
variant: "fontColor",
|
|
829
835
|
barColor: o.fontColor,
|
|
830
836
|
size: s
|
|
@@ -835,24 +841,24 @@ var on = "default", W = {
|
|
|
835
841
|
})
|
|
836
842
|
})
|
|
837
843
|
});
|
|
838
|
-
},
|
|
839
|
-
let [r] =
|
|
840
|
-
|
|
841
|
-
let t =
|
|
842
|
-
|
|
844
|
+
}, nr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
845
|
+
let [r] = R(), o = J(), { iconSize: s } = K(), { t: c } = a(), l = T((e) => {
|
|
846
|
+
G(r), r.update(() => {
|
|
847
|
+
let t = I();
|
|
848
|
+
L(t) && At(t, { "background-color": e });
|
|
843
849
|
});
|
|
844
850
|
}, [r]);
|
|
845
851
|
return /* @__PURE__ */ y(i, {
|
|
846
852
|
value: o.backgroundColor,
|
|
847
853
|
onChange: l,
|
|
848
854
|
placement: "bottom-start",
|
|
849
|
-
offset:
|
|
855
|
+
offset: H.y,
|
|
850
856
|
presetColors: "basic",
|
|
851
857
|
disabled: e,
|
|
852
858
|
children: /* @__PURE__ */ y("div", {
|
|
853
859
|
className: "trigger-picker inline-flex",
|
|
854
860
|
children: /* @__PURE__ */ y(q, {
|
|
855
|
-
icon: /* @__PURE__ */ y(
|
|
861
|
+
icon: /* @__PURE__ */ y(er, {
|
|
856
862
|
variant: "fill",
|
|
857
863
|
barColor: o.backgroundColor,
|
|
858
864
|
size: s
|
|
@@ -863,17 +869,17 @@ var on = "default", W = {
|
|
|
863
869
|
})
|
|
864
870
|
})
|
|
865
871
|
});
|
|
866
|
-
},
|
|
872
|
+
}, rr = {
|
|
867
873
|
left: "paragraph",
|
|
868
874
|
center: "paragraphmiddle",
|
|
869
875
|
right: "paragraphright"
|
|
870
|
-
},
|
|
871
|
-
let [i] =
|
|
876
|
+
}, ir = ({ disabled: t, tooltip: n, showDisabledTooltip: r }) => {
|
|
877
|
+
let [i] = R(), { align: o } = J(), { iconSize: s } = K(), { t: c } = a(), l = A(() => [
|
|
872
878
|
{
|
|
873
879
|
key: "left",
|
|
874
880
|
label: c("leftAlign"),
|
|
875
881
|
icon: /* @__PURE__ */ y(e, {
|
|
876
|
-
name:
|
|
882
|
+
name: rr.left,
|
|
877
883
|
size: s
|
|
878
884
|
})
|
|
879
885
|
},
|
|
@@ -881,7 +887,7 @@ var on = "default", W = {
|
|
|
881
887
|
key: "center",
|
|
882
888
|
label: c("editor.centerAlign"),
|
|
883
889
|
icon: /* @__PURE__ */ y(e, {
|
|
884
|
-
name:
|
|
890
|
+
name: rr.center,
|
|
885
891
|
size: s
|
|
886
892
|
})
|
|
887
893
|
},
|
|
@@ -889,23 +895,23 @@ var on = "default", W = {
|
|
|
889
895
|
key: "right",
|
|
890
896
|
label: c("editor.rightAlign"),
|
|
891
897
|
icon: /* @__PURE__ */ y(e, {
|
|
892
|
-
name:
|
|
898
|
+
name: rr.right,
|
|
893
899
|
size: s
|
|
894
900
|
})
|
|
895
901
|
}
|
|
896
902
|
], [s, c]), u = T((e) => {
|
|
897
|
-
|
|
903
|
+
G(i), i.dispatchCommand(Ke, e.key);
|
|
898
904
|
}, [i]), d = /* @__PURE__ */ y("div", {
|
|
899
|
-
className:
|
|
905
|
+
className: W["bsy-lexical__toolbar-select"],
|
|
900
906
|
style: { width: 50 },
|
|
901
907
|
children: /* @__PURE__ */ y(q, {
|
|
902
908
|
icon: /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(e, {
|
|
903
|
-
name:
|
|
909
|
+
name: rr[En(o)],
|
|
904
910
|
size: s
|
|
905
911
|
}), /* @__PURE__ */ y(e, {
|
|
906
912
|
name: "arrow-down",
|
|
907
913
|
size: s,
|
|
908
|
-
className:
|
|
914
|
+
className: W["bsy-lexical__toolbar-select-arrow"]
|
|
909
915
|
})] }),
|
|
910
916
|
tooltip: n ?? c("editor.alignment"),
|
|
911
917
|
showDisabledTooltip: r,
|
|
@@ -917,44 +923,44 @@ var on = "default", W = {
|
|
|
917
923
|
onClick: u,
|
|
918
924
|
showSearch: !1,
|
|
919
925
|
activeKey: [o],
|
|
920
|
-
offset:
|
|
926
|
+
offset: H,
|
|
921
927
|
style: {
|
|
922
928
|
width: "110px",
|
|
923
929
|
minWidth: "110px"
|
|
924
930
|
},
|
|
925
931
|
children: d
|
|
926
932
|
});
|
|
927
|
-
},
|
|
928
|
-
let [i] =
|
|
933
|
+
}, ar = (e) => e ? e.startsWith("@") || e.match(/^https?:\/\//) ? e : `http://${e}` : "", or = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
934
|
+
let [i] = R(), { link: o } = J(), { t: s } = a(), [c, u] = M(!1), [d, f] = M(""), [p, m] = M(""), [h, g] = M(!0), [_, x] = ie.useMessage(), S = j(null), C = T((e) => {
|
|
929
935
|
u(e), e || i.setEditable(!0);
|
|
930
936
|
}, [i]), w = () => {
|
|
931
937
|
if (!d) {
|
|
932
938
|
_.warning(s("editor.linkAddressEmpty"));
|
|
933
939
|
return;
|
|
934
940
|
}
|
|
935
|
-
let e =
|
|
941
|
+
let e = ar(d);
|
|
936
942
|
i.setEditable(!0), i.update(() => {
|
|
937
943
|
let t = h ? {
|
|
938
944
|
target: "_blank",
|
|
939
945
|
rel: "noopener noreferrer",
|
|
940
946
|
title: d
|
|
941
947
|
} : { title: d }, n = S.current;
|
|
942
|
-
n !== null &&
|
|
943
|
-
let r =
|
|
944
|
-
if (
|
|
948
|
+
n !== null && Pe(n);
|
|
949
|
+
let r = I();
|
|
950
|
+
if (L(r)) {
|
|
945
951
|
let n = p || d, i = r.getTextContent();
|
|
946
|
-
if (!r.isCollapsed() && n === i)
|
|
952
|
+
if (!r.isCollapsed() && n === i) dt(e, t);
|
|
947
953
|
else {
|
|
948
|
-
let i = r.anchor.getNode(), a =
|
|
954
|
+
let i = r.anchor.getNode(), a = je(i) ? i : null, o = r.style || r.getNodes().find(je)?.getStyle() || a?.getStyle() || "", s = r.format || a?.getFormat() || 0, c = lt(e, t), l = Se(n);
|
|
949
955
|
l.setFormat(s), l.setStyle(o), c.append(l), r.insertNodes([c]);
|
|
950
956
|
}
|
|
951
957
|
} else {
|
|
952
|
-
let n =
|
|
953
|
-
n.append(
|
|
954
|
-
let r =
|
|
955
|
-
if (
|
|
958
|
+
let n = lt(e, t);
|
|
959
|
+
n.append(Se(p || d));
|
|
960
|
+
let r = F(), i = r.getLastChild();
|
|
961
|
+
if (De(i) && i.isEmpty()) i.append(n);
|
|
956
962
|
else {
|
|
957
|
-
let e =
|
|
963
|
+
let e = be();
|
|
958
964
|
e.append(n), r.append(e);
|
|
959
965
|
}
|
|
960
966
|
}
|
|
@@ -962,10 +968,10 @@ var on = "default", W = {
|
|
|
962
968
|
}, E = T(() => {
|
|
963
969
|
let e = "";
|
|
964
970
|
i.getEditorState().read(() => {
|
|
965
|
-
let t =
|
|
966
|
-
S.current = t ? t.clone() : null,
|
|
971
|
+
let t = I();
|
|
972
|
+
S.current = t ? t.clone() : null, L(t) && !t.isCollapsed() && (e = t.getTextContent());
|
|
967
973
|
}), i.setEditable(!1), i.update(() => {
|
|
968
|
-
|
|
974
|
+
Pe(null);
|
|
969
975
|
}), window.getSelection()?.removeAllRanges(), i.getRootElement()?.blur(), o ? (f(o.link ?? ""), m(o.linkText ?? "")) : (f(""), m(e)), u(!0);
|
|
970
976
|
}, [o, i]);
|
|
971
977
|
return /* @__PURE__ */ b(v, { children: [
|
|
@@ -991,7 +997,7 @@ var on = "default", W = {
|
|
|
991
997
|
className: "w-[80px] shrink-0",
|
|
992
998
|
children: s("linkAddress")
|
|
993
999
|
}),
|
|
994
|
-
/* @__PURE__ */ y(
|
|
1000
|
+
/* @__PURE__ */ y(re, {
|
|
995
1001
|
value: d,
|
|
996
1002
|
onChange: (e) => f(e.target.value),
|
|
997
1003
|
placeholder: s("editor.linkTip")
|
|
@@ -1009,7 +1015,7 @@ var on = "default", W = {
|
|
|
1009
1015
|
children: [/* @__PURE__ */ y("label", {
|
|
1010
1016
|
className: "w-[80px] shrink-0",
|
|
1011
1017
|
children: s("showContent")
|
|
1012
|
-
}), /* @__PURE__ */ y(
|
|
1018
|
+
}), /* @__PURE__ */ y(re, {
|
|
1013
1019
|
value: p,
|
|
1014
1020
|
onChange: (e) => m(e.target.value)
|
|
1015
1021
|
})]
|
|
@@ -1022,10 +1028,10 @@ var on = "default", W = {
|
|
|
1022
1028
|
children: s("openInNewTab")
|
|
1023
1029
|
}) }), /* @__PURE__ */ b("div", {
|
|
1024
1030
|
className: "flex gap-[15px]",
|
|
1025
|
-
children: [/* @__PURE__ */ y(
|
|
1031
|
+
children: [/* @__PURE__ */ y(N, {
|
|
1026
1032
|
onClick: () => C(!1),
|
|
1027
1033
|
children: s("cancel")
|
|
1028
|
-
}), /* @__PURE__ */ y(
|
|
1034
|
+
}), /* @__PURE__ */ y(N, {
|
|
1029
1035
|
type: "primary",
|
|
1030
1036
|
onClick: w,
|
|
1031
1037
|
children: s("confirm")
|
|
@@ -1034,15 +1040,15 @@ var on = "default", W = {
|
|
|
1034
1040
|
})] })
|
|
1035
1041
|
})
|
|
1036
1042
|
] });
|
|
1037
|
-
},
|
|
1038
|
-
let [r] =
|
|
1043
|
+
}, sr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1044
|
+
let [r] = R(), { link: i } = J(), { t: o } = a();
|
|
1039
1045
|
return /* @__PURE__ */ y(q, {
|
|
1040
1046
|
icon: "cancellink",
|
|
1041
1047
|
tooltip: t ?? o("cancelLink"),
|
|
1042
1048
|
showDisabledTooltip: n,
|
|
1043
1049
|
disabled: e,
|
|
1044
1050
|
onClick: () => {
|
|
1045
|
-
i && (
|
|
1051
|
+
i && (G(r), r.dispatchCommand(mt, null));
|
|
1046
1052
|
}
|
|
1047
1053
|
});
|
|
1048
1054
|
}, Y = {
|
|
@@ -1071,9 +1077,9 @@ var on = "default", W = {
|
|
|
1071
1077
|
"picture-modal__preview-delete": "_picture-modal__preview-delete_1067t_143",
|
|
1072
1078
|
"picture-modal__upload-text": "_picture-modal__upload-text_1067t_151",
|
|
1073
1079
|
"picture-modal__footer": "_picture-modal__footer_1067t_155"
|
|
1074
|
-
},
|
|
1075
|
-
let [n] =
|
|
1076
|
-
return
|
|
1080
|
+
}, cr = C((e, t) => {
|
|
1081
|
+
let [n] = ne.useForm(), [r, i] = M(""), { t: o } = a(), s = (e) => /^https?:\/\/.+/i.test(e);
|
|
1082
|
+
return k(t, () => ({ getValue: async () => {
|
|
1077
1083
|
try {
|
|
1078
1084
|
return await n.validateFields(), r;
|
|
1079
1085
|
} catch {
|
|
@@ -1083,15 +1089,15 @@ var on = "default", W = {
|
|
|
1083
1089
|
className: Y["picture-modal__content-title"],
|
|
1084
1090
|
"data-title": o("editor.imageUrlNote"),
|
|
1085
1091
|
children: o("editor.enterImageUrl")
|
|
1086
|
-
}), /* @__PURE__ */ y(
|
|
1092
|
+
}), /* @__PURE__ */ y(ne, {
|
|
1087
1093
|
form: n,
|
|
1088
|
-
children: /* @__PURE__ */ y(
|
|
1094
|
+
children: /* @__PURE__ */ y(ne.Item, {
|
|
1089
1095
|
name: "url",
|
|
1090
1096
|
rules: [{
|
|
1091
1097
|
required: !0,
|
|
1092
1098
|
message: o("editor.pleaseEnterImageUrl")
|
|
1093
1099
|
}, { validator: (e, t) => !t || s(t) ? Promise.resolve() : Promise.reject(Error(o("editor.pleaseEnterValidImageUrl"))) }],
|
|
1094
|
-
children: /* @__PURE__ */ y(
|
|
1100
|
+
children: /* @__PURE__ */ y(re, {
|
|
1095
1101
|
placeholder: o("editor.pleaseEnterImageUrl"),
|
|
1096
1102
|
value: r,
|
|
1097
1103
|
onChange: (e) => i(e.target.value)
|
|
@@ -1099,17 +1105,17 @@ var on = "default", W = {
|
|
|
1099
1105
|
})
|
|
1100
1106
|
})] });
|
|
1101
1107
|
});
|
|
1102
|
-
|
|
1108
|
+
cr.displayName = "LinkInput";
|
|
1103
1109
|
//#endregion
|
|
1104
1110
|
//#region src/components/Editor/utils/formatTruncatedFilename.ts
|
|
1105
|
-
var
|
|
1111
|
+
var lr = "......", ur = (e, t, n) => {
|
|
1106
1112
|
if (t <= 0 || n(e) <= t) return {
|
|
1107
1113
|
display: e,
|
|
1108
1114
|
truncated: !1
|
|
1109
1115
|
};
|
|
1110
|
-
let r = e.lastIndexOf("."), i = r > 0 && r < e.length - 1, a = i ? e.slice(0, r) : e, o = i ? e.slice(r) : "", s = a.slice(-2), c = a.slice(0, -2), l = (e) => `${e}${
|
|
1116
|
+
let r = e.lastIndexOf("."), i = r > 0 && r < e.length - 1, a = i ? e.slice(0, r) : e, o = i ? e.slice(r) : "", s = a.slice(-2), c = a.slice(0, -2), l = (e) => `${e}${lr}${s}${o}`, u = (e) => n(e) <= t;
|
|
1111
1117
|
if (!u(l(""))) {
|
|
1112
|
-
let t = `${
|
|
1118
|
+
let t = `${lr}${o}`;
|
|
1113
1119
|
return {
|
|
1114
1120
|
display: u(t) ? t : e,
|
|
1115
1121
|
truncated: !0
|
|
@@ -1124,28 +1130,28 @@ var ur = "......", dr = (e, t, n) => {
|
|
|
1124
1130
|
display: l(c.slice(0, p)),
|
|
1125
1131
|
truncated: !0
|
|
1126
1132
|
};
|
|
1127
|
-
},
|
|
1128
|
-
let e = E(
|
|
1133
|
+
}, dr = S(null), fr = S({ text: "" }), pr = S(void 0), mr = () => {
|
|
1134
|
+
let e = E(dr);
|
|
1129
1135
|
if (!e) throw Error("useEditorContainer must be used within EditorContainerProvider");
|
|
1130
1136
|
return e;
|
|
1131
|
-
}, hr = () => E(
|
|
1132
|
-
function
|
|
1137
|
+
}, hr = () => E(fr), gr = () => E(pr), _r = "EditorImageUploadingError";
|
|
1138
|
+
function vr(e) {
|
|
1133
1139
|
if (!e || typeof e != "object" || !("name" in e)) return !1;
|
|
1134
1140
|
let t = String(e.name);
|
|
1135
1141
|
return t === "AbortError" || t === "CanceledError";
|
|
1136
1142
|
}
|
|
1137
|
-
function
|
|
1143
|
+
function yr(e) {
|
|
1138
1144
|
return yn.includes(e.name.split(".").pop()?.toLowerCase() ?? "");
|
|
1139
1145
|
}
|
|
1140
|
-
function
|
|
1146
|
+
function br(e) {
|
|
1141
1147
|
if (Number.isFinite(e)) return Math.min(100, Math.max(0, e));
|
|
1142
1148
|
}
|
|
1143
|
-
function
|
|
1149
|
+
function xr(e) {
|
|
1144
1150
|
return e === void 0 ? .55 : .55 * (1 - e / 100);
|
|
1145
1151
|
}
|
|
1146
1152
|
//#endregion
|
|
1147
1153
|
//#region src/components/Editor/ToolbarPlugin/Buttons/PictureButton/UploadImage.tsx
|
|
1148
|
-
var
|
|
1154
|
+
var Sr = {
|
|
1149
1155
|
duration: .2,
|
|
1150
1156
|
ease: [
|
|
1151
1157
|
.4,
|
|
@@ -1153,14 +1159,14 @@ var xr = {
|
|
|
1153
1159
|
.2,
|
|
1154
1160
|
1
|
|
1155
1161
|
]
|
|
1156
|
-
},
|
|
1157
|
-
let n =
|
|
1158
|
-
return
|
|
1162
|
+
}, Cr = ({ name: e, error: t }) => {
|
|
1163
|
+
let n = j(null), [r, i] = M(e), [a, o] = M(!1);
|
|
1164
|
+
return te(() => {
|
|
1159
1165
|
let t = n.current, r = document.createElement("canvas").getContext("2d");
|
|
1160
1166
|
if (!t || !r) return;
|
|
1161
1167
|
let a = () => {
|
|
1162
1168
|
r.font = getComputedStyle(t).font;
|
|
1163
|
-
let n =
|
|
1169
|
+
let n = ur(e, t.clientWidth, (e) => r.measureText(e).width);
|
|
1164
1170
|
i(n.display), o(n.truncated);
|
|
1165
1171
|
};
|
|
1166
1172
|
a();
|
|
@@ -1168,17 +1174,17 @@ var xr = {
|
|
|
1168
1174
|
return s.observe(t), () => s.disconnect();
|
|
1169
1175
|
}, [e]), /* @__PURE__ */ y("div", {
|
|
1170
1176
|
ref: n,
|
|
1171
|
-
className:
|
|
1177
|
+
className: P(Y["picture-modal__preview-filename"], t && Y["picture-modal__preview-filename--error"]),
|
|
1172
1178
|
title: a ? e : void 0,
|
|
1173
1179
|
children: r
|
|
1174
1180
|
});
|
|
1175
|
-
},
|
|
1181
|
+
}, wr = (e) => new Promise((t, n) => {
|
|
1176
1182
|
let r = new FileReader();
|
|
1177
1183
|
r.onload = () => t(r.result), r.onerror = () => n(r.error), r.readAsDataURL(e);
|
|
1178
|
-
}),
|
|
1179
|
-
let { upload: r } = mr(), [i, o] =
|
|
1184
|
+
}), Tr = C((t, n) => {
|
|
1185
|
+
let { upload: r } = mr(), [i, o] = M(!1), [s, c] = M([]), l = j(s);
|
|
1180
1186
|
l.current = s;
|
|
1181
|
-
let u =
|
|
1187
|
+
let u = j(null), d = j(/* @__PURE__ */ new Map()), f = r?.customRequest, [p, m] = ie.useMessage(), { t: h } = a(), g = (e) => (e / 1024).toFixed(1) + "kb", _ = (e, t) => {
|
|
1182
1188
|
c((n) => n.map((n) => n.id === e ? {
|
|
1183
1189
|
...n,
|
|
1184
1190
|
...t
|
|
@@ -1192,7 +1198,7 @@ var xr = {
|
|
|
1192
1198
|
d.current.set(e, n), f(t, {
|
|
1193
1199
|
signal: n.signal,
|
|
1194
1200
|
onProgress: (t) => {
|
|
1195
|
-
let n =
|
|
1201
|
+
let n = br(t);
|
|
1196
1202
|
n !== void 0 && _(e, { percent: n });
|
|
1197
1203
|
}
|
|
1198
1204
|
}).then((t) => {
|
|
@@ -1203,11 +1209,11 @@ var xr = {
|
|
|
1203
1209
|
attachment: typeof t == "string" ? void 0 : t.attachment
|
|
1204
1210
|
});
|
|
1205
1211
|
}).catch((t) => {
|
|
1206
|
-
n.signal.aborted ||
|
|
1212
|
+
n.signal.aborted || vr(t) || _(e, { status: "error" });
|
|
1207
1213
|
}).finally(() => {
|
|
1208
1214
|
d.current.delete(e);
|
|
1209
1215
|
});
|
|
1210
|
-
}, x = (e) =>
|
|
1216
|
+
}, x = (e) => yr(e) ? e.size > 5242880 ? (p.warning(h("editor.imageSizeNote")), !1) : !0 : (p.warning(h("editor.onlyImageFormatsSupported")), !1), S = (e) => {
|
|
1211
1217
|
let t = 10 - l.current.length;
|
|
1212
1218
|
if (t <= 0) {
|
|
1213
1219
|
p.warning(h("editor.imageCountNote", { count: 10 }));
|
|
@@ -1236,16 +1242,16 @@ var xr = {
|
|
|
1236
1242
|
};
|
|
1237
1243
|
return O(() => () => {
|
|
1238
1244
|
d.current.forEach((e) => e.abort()), d.current.clear(), l.current.forEach((e) => URL.revokeObjectURL(e.url));
|
|
1239
|
-
}, []),
|
|
1245
|
+
}, []), k(n, () => ({ getValue: async () => {
|
|
1240
1246
|
if (s.some((e) => e.status === "uploading")) {
|
|
1241
1247
|
let e = Error(h("editor.imageUploading"));
|
|
1242
|
-
throw e.name =
|
|
1248
|
+
throw e.name = _r, e;
|
|
1243
1249
|
}
|
|
1244
1250
|
let e = s.filter((e) => e.status === "success");
|
|
1245
1251
|
if (!e.length) throw p.warning(h("editor.pleaseUploadImageFirst")), Error(h("editor.pleaseUploadImageFirst"));
|
|
1246
1252
|
try {
|
|
1247
1253
|
return await Promise.all(e.map(async (e) => ({
|
|
1248
|
-
src: e.src ?? await
|
|
1254
|
+
src: e.src ?? await wr(e.file),
|
|
1249
1255
|
fileName: e.file.name,
|
|
1250
1256
|
attachment: e.attachment
|
|
1251
1257
|
})));
|
|
@@ -1284,11 +1290,11 @@ var xr = {
|
|
|
1284
1290
|
}),
|
|
1285
1291
|
s.length > 0 ? /* @__PURE__ */ y("div", {
|
|
1286
1292
|
className: Y["picture-modal__preview-list"],
|
|
1287
|
-
children: /* @__PURE__ */ y(
|
|
1293
|
+
children: /* @__PURE__ */ y(oe, {
|
|
1288
1294
|
mode: "popLayout",
|
|
1289
|
-
children: s.map((t) => /* @__PURE__ */ b(
|
|
1295
|
+
children: s.map((t) => /* @__PURE__ */ b(se.div, {
|
|
1290
1296
|
layout: "position",
|
|
1291
|
-
className:
|
|
1297
|
+
className: P(Y["picture-modal__preview"], t.status === "error" && Y["picture-modal__preview--error"]),
|
|
1292
1298
|
initial: {
|
|
1293
1299
|
opacity: 0,
|
|
1294
1300
|
y: 12
|
|
@@ -1301,7 +1307,7 @@ var xr = {
|
|
|
1301
1307
|
opacity: 0,
|
|
1302
1308
|
y: -8
|
|
1303
1309
|
},
|
|
1304
|
-
transition:
|
|
1310
|
+
transition: Sr,
|
|
1305
1311
|
children: [
|
|
1306
1312
|
/* @__PURE__ */ b("div", {
|
|
1307
1313
|
className: Y["picture-modal__preview-image"],
|
|
@@ -1310,13 +1316,13 @@ var xr = {
|
|
|
1310
1316
|
alt: h("editor.previewImage")
|
|
1311
1317
|
}), t.status === "uploading" ? /* @__PURE__ */ y("div", {
|
|
1312
1318
|
className: Y["picture-modal__preview-mask"],
|
|
1313
|
-
style: { opacity:
|
|
1319
|
+
style: { opacity: xr(t.percent) },
|
|
1314
1320
|
children: t.percent === void 0 ? /* @__PURE__ */ y("span", { className: Y["picture-modal__preview-spinner"] }) : null
|
|
1315
1321
|
}) : null]
|
|
1316
1322
|
}),
|
|
1317
1323
|
/* @__PURE__ */ b("div", {
|
|
1318
1324
|
className: Y["picture-modal__preview-info"],
|
|
1319
|
-
children: [/* @__PURE__ */ y(
|
|
1325
|
+
children: [/* @__PURE__ */ y(Cr, {
|
|
1320
1326
|
name: t.file.name,
|
|
1321
1327
|
error: t.status === "error"
|
|
1322
1328
|
}), /* @__PURE__ */ y("div", {
|
|
@@ -1346,11 +1352,11 @@ var xr = {
|
|
|
1346
1352
|
]
|
|
1347
1353
|
});
|
|
1348
1354
|
});
|
|
1349
|
-
|
|
1355
|
+
Tr.displayName = "UploadImage";
|
|
1350
1356
|
//#endregion
|
|
1351
1357
|
//#region src/components/Editor/commands/ImageCommands.ts
|
|
1352
|
-
var
|
|
1353
|
-
let { t: o } = a(), [s] =
|
|
1358
|
+
var Er = at("INSERT_INLINE_IMAGE_COMMAND"), Dr = ({ disabled: t, tooltip: n, showDisabledTooltip: i }) => {
|
|
1359
|
+
let { t: o } = a(), [s] = R(), { attachmentsBySrcRef: c } = mr(), [l, d] = M(!1), f = j(null), p = j(null), m = [{
|
|
1354
1360
|
key: "upload",
|
|
1355
1361
|
title: o("editor.uploadImage"),
|
|
1356
1362
|
icon: /* @__PURE__ */ y(e, { name: "picture" })
|
|
@@ -1358,10 +1364,10 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1358
1364
|
key: "url",
|
|
1359
1365
|
title: o("editor.imageUrl"),
|
|
1360
1366
|
icon: /* @__PURE__ */ y(e, { name: "Insertlink" })
|
|
1361
|
-
}], [h, g] =
|
|
1367
|
+
}], [h, g] = M(m[0].key), _ = async () => {
|
|
1362
1368
|
try {
|
|
1363
1369
|
if (h === "upload" && p.current) (await p.current.getValue()).forEach((e) => {
|
|
1364
|
-
e.attachment !== void 0 && c.current.set(e.src, e.attachment), s.dispatchCommand(
|
|
1370
|
+
e.attachment !== void 0 && c.current.set(e.src, e.attachment), s.dispatchCommand(Er, {
|
|
1365
1371
|
src: e.src,
|
|
1366
1372
|
altText: e.fileName,
|
|
1367
1373
|
dataId: e.attachment?._id
|
|
@@ -1369,23 +1375,23 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1369
1375
|
});
|
|
1370
1376
|
else if (f.current) {
|
|
1371
1377
|
let e = await f.current.getValue();
|
|
1372
|
-
s.dispatchCommand(
|
|
1378
|
+
s.dispatchCommand(Er, {
|
|
1373
1379
|
src: e,
|
|
1374
|
-
|
|
1380
|
+
dataSrc: e
|
|
1375
1381
|
});
|
|
1376
1382
|
}
|
|
1377
1383
|
d(!1);
|
|
1378
1384
|
} catch (e) {
|
|
1379
1385
|
let t = e instanceof Error ? e.message : o("editor.operationFailed");
|
|
1380
1386
|
if (e instanceof Error && e.name === "EditorImageUploadingError") {
|
|
1381
|
-
|
|
1387
|
+
ie.warning(t);
|
|
1382
1388
|
return;
|
|
1383
1389
|
}
|
|
1384
|
-
|
|
1390
|
+
ie.error(t);
|
|
1385
1391
|
}
|
|
1386
1392
|
}, x = {
|
|
1387
|
-
upload: /* @__PURE__ */ y(
|
|
1388
|
-
url: /* @__PURE__ */ y(
|
|
1393
|
+
upload: /* @__PURE__ */ y(Tr, { ref: p }),
|
|
1394
|
+
url: /* @__PURE__ */ y(cr, { ref: f })
|
|
1389
1395
|
};
|
|
1390
1396
|
return /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(q, {
|
|
1391
1397
|
icon: "picture",
|
|
@@ -1420,38 +1426,38 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1420
1426
|
})]
|
|
1421
1427
|
}), /* @__PURE__ */ b("div", {
|
|
1422
1428
|
className: Y["picture-modal__footer"],
|
|
1423
|
-
children: [/* @__PURE__ */ y(
|
|
1429
|
+
children: [/* @__PURE__ */ y(N, {
|
|
1424
1430
|
onClick: () => d(!1),
|
|
1425
1431
|
children: o("cancel")
|
|
1426
|
-
}), /* @__PURE__ */ y(
|
|
1432
|
+
}), /* @__PURE__ */ y(N, {
|
|
1427
1433
|
type: "primary",
|
|
1428
1434
|
onClick: _,
|
|
1429
1435
|
children: o("confirm")
|
|
1430
1436
|
})]
|
|
1431
1437
|
})]
|
|
1432
1438
|
})] });
|
|
1433
|
-
},
|
|
1434
|
-
let [r] =
|
|
1439
|
+
}, Or = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1440
|
+
let [r] = R(), { canUndo: i } = Rn(), { t: o } = a();
|
|
1435
1441
|
return /* @__PURE__ */ y(q, {
|
|
1436
1442
|
icon: "chexiao",
|
|
1437
1443
|
tooltip: t ?? o("editor.undo"),
|
|
1438
1444
|
showDisabledTooltip: n,
|
|
1439
1445
|
disabled: e || !i,
|
|
1440
1446
|
onClick: () => {
|
|
1441
|
-
r.dispatchCommand(
|
|
1447
|
+
r.dispatchCommand(it, void 0);
|
|
1442
1448
|
}
|
|
1443
1449
|
});
|
|
1444
|
-
},
|
|
1445
|
-
let [r] =
|
|
1450
|
+
}, kr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1451
|
+
let [r] = R(), { canRedo: i } = Rn(), { t: o } = a();
|
|
1446
1452
|
return /* @__PURE__ */ y(q, {
|
|
1447
1453
|
icon: "fanhui",
|
|
1448
1454
|
tooltip: t ?? o("editor.redo"),
|
|
1449
1455
|
showDisabledTooltip: n,
|
|
1450
1456
|
disabled: e || !i,
|
|
1451
|
-
onClick: () => r.dispatchCommand(
|
|
1457
|
+
onClick: () => r.dispatchCommand(tt, void 0)
|
|
1452
1458
|
});
|
|
1453
|
-
},
|
|
1454
|
-
let [r] =
|
|
1459
|
+
}, Ar = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1460
|
+
let [r] = R(), { strikethrough: i } = J(), { t: o } = a();
|
|
1455
1461
|
return /* @__PURE__ */ y(q, {
|
|
1456
1462
|
icon: "shanchuxian",
|
|
1457
1463
|
tooltip: t ?? o("editor.strikethrough"),
|
|
@@ -1459,11 +1465,11 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1459
1465
|
active: i,
|
|
1460
1466
|
disabled: e,
|
|
1461
1467
|
onClick: () => {
|
|
1462
|
-
|
|
1468
|
+
G(r), r.dispatchCommand(qe, "strikethrough");
|
|
1463
1469
|
}
|
|
1464
1470
|
});
|
|
1465
|
-
},
|
|
1466
|
-
let [r] =
|
|
1471
|
+
}, jr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1472
|
+
let [r] = R(), { superscript: i } = J(), { t: o } = a();
|
|
1467
1473
|
return /* @__PURE__ */ y(q, {
|
|
1468
1474
|
icon: "shangbiao",
|
|
1469
1475
|
tooltip: t ?? o("editor.superscript"),
|
|
@@ -1471,11 +1477,11 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1471
1477
|
active: i,
|
|
1472
1478
|
disabled: e,
|
|
1473
1479
|
onClick: () => {
|
|
1474
|
-
|
|
1480
|
+
G(r), r.dispatchCommand(qe, "superscript");
|
|
1475
1481
|
}
|
|
1476
1482
|
});
|
|
1477
|
-
},
|
|
1478
|
-
let [r] =
|
|
1483
|
+
}, Mr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1484
|
+
let [r] = R(), { subscript: i } = J(), { t: o } = a();
|
|
1479
1485
|
return /* @__PURE__ */ y(q, {
|
|
1480
1486
|
icon: "xiabiao",
|
|
1481
1487
|
tooltip: t ?? o("editor.subscript"),
|
|
@@ -1483,36 +1489,36 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1483
1489
|
active: i,
|
|
1484
1490
|
disabled: e,
|
|
1485
1491
|
onClick: () => {
|
|
1486
|
-
|
|
1492
|
+
G(r), r.dispatchCommand(qe, "subscript");
|
|
1487
1493
|
}
|
|
1488
1494
|
});
|
|
1489
|
-
},
|
|
1490
|
-
let [r] =
|
|
1495
|
+
}, Nr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1496
|
+
let [r] = R(), { t: i } = a();
|
|
1491
1497
|
return /* @__PURE__ */ y(q, {
|
|
1492
1498
|
icon: "zengjiasuojin",
|
|
1493
1499
|
tooltip: t ?? i("editor.indent"),
|
|
1494
1500
|
showDisabledTooltip: n,
|
|
1495
1501
|
disabled: e,
|
|
1496
1502
|
onClick: () => {
|
|
1497
|
-
|
|
1503
|
+
G(r), r.dispatchCommand(Ye, void 0);
|
|
1498
1504
|
}
|
|
1499
1505
|
});
|
|
1500
|
-
},
|
|
1501
|
-
let [r] =
|
|
1506
|
+
}, Pr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1507
|
+
let [r] = R(), { canOutdent: i } = J(), o = Pn(), { t: s } = a();
|
|
1502
1508
|
return /* @__PURE__ */ b("div", {
|
|
1503
|
-
className:
|
|
1504
|
-
children: [/* @__PURE__ */ y("div", { className:
|
|
1509
|
+
className: W["bsy-lexical__toolbar-with-divider"],
|
|
1510
|
+
children: [/* @__PURE__ */ y("div", { className: W["bsy-lexical__toolbar-divider"] }), /* @__PURE__ */ y(q, {
|
|
1505
1511
|
icon: "jianshaosuojin",
|
|
1506
1512
|
tooltip: t ?? s("editor.outdent"),
|
|
1507
1513
|
showDisabledTooltip: n,
|
|
1508
1514
|
disabled: e || o && !i,
|
|
1509
1515
|
onClick: () => {
|
|
1510
|
-
|
|
1516
|
+
G(r), r.dispatchCommand(Qe, void 0);
|
|
1511
1517
|
}
|
|
1512
1518
|
})]
|
|
1513
1519
|
});
|
|
1514
|
-
},
|
|
1515
|
-
let [r] =
|
|
1520
|
+
}, Fr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1521
|
+
let [r] = R(), { listType: i } = J(), { t: o } = a(), s = i === "bullet";
|
|
1516
1522
|
return /* @__PURE__ */ y(q, {
|
|
1517
1523
|
icon: "xuhaoliebiao",
|
|
1518
1524
|
tooltip: t ?? o("editor.bulletList"),
|
|
@@ -1521,11 +1527,11 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1521
1527
|
disabled: e,
|
|
1522
1528
|
onClick: () => {
|
|
1523
1529
|
let e = Nn(r);
|
|
1524
|
-
r.dispatchCommand(e.listType === "bullet" ?
|
|
1530
|
+
r.dispatchCommand(e.listType === "bullet" ? xt : vt, void 0);
|
|
1525
1531
|
}
|
|
1526
1532
|
});
|
|
1527
|
-
},
|
|
1528
|
-
let [r] =
|
|
1533
|
+
}, Ir = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1534
|
+
let [r] = R(), { listType: i } = J(), { t: o } = a(), s = i === "number";
|
|
1529
1535
|
return /* @__PURE__ */ y(q, {
|
|
1530
1536
|
icon: "bianhaoliebiao",
|
|
1531
1537
|
tooltip: t ?? o("editor.numberList"),
|
|
@@ -1534,11 +1540,11 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1534
1540
|
disabled: e,
|
|
1535
1541
|
onClick: () => {
|
|
1536
1542
|
let e = Nn(r);
|
|
1537
|
-
r.dispatchCommand(e.listType === "number" ?
|
|
1543
|
+
r.dispatchCommand(e.listType === "number" ? xt : _t, void 0);
|
|
1538
1544
|
}
|
|
1539
1545
|
});
|
|
1540
|
-
},
|
|
1541
|
-
let [r] =
|
|
1546
|
+
}, Lr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1547
|
+
let [r] = R(), { isCodeBlock: i } = J(), { t: o } = a();
|
|
1542
1548
|
return /* @__PURE__ */ y(q, {
|
|
1543
1549
|
icon: "daima",
|
|
1544
1550
|
tooltip: t ?? o("editor.codeBlock"),
|
|
@@ -1547,18 +1553,18 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1547
1553
|
disabled: e,
|
|
1548
1554
|
onClick: () => {
|
|
1549
1555
|
Mn(r, (e) => {
|
|
1550
|
-
|
|
1556
|
+
jt(I(), () => e.isCodeBlock ? be() : Ct(xn));
|
|
1551
1557
|
});
|
|
1552
1558
|
}
|
|
1553
1559
|
});
|
|
1554
|
-
},
|
|
1560
|
+
}, Rr = {
|
|
1555
1561
|
"bsy-lexical__table-picker": "_bsy-lexical__table-picker_mv0nn_1",
|
|
1556
1562
|
"bsy-lexical__table-picker-grid": "_bsy-lexical__table-picker-grid_mv0nn_9",
|
|
1557
1563
|
"bsy-lexical__table-picker-cell": "_bsy-lexical__table-picker-cell_mv0nn_15",
|
|
1558
1564
|
"bsy-lexical__table-picker-cell--active": "_bsy-lexical__table-picker-cell--active_mv0nn_24",
|
|
1559
1565
|
"bsy-lexical__table-picker-label": "_bsy-lexical__table-picker-label_mv0nn_28"
|
|
1560
|
-
},
|
|
1561
|
-
let [s] =
|
|
1566
|
+
}, zr = _(1, 11), Br = ({ disabled: e, tooltip: r, showDisabledTooltip: i }) => {
|
|
1567
|
+
let [s] = R(), { isInTable: c } = J(), { t: l } = a(), u = t(), [f, p] = M(!1), [m, h] = M({
|
|
1562
1568
|
rows: 0,
|
|
1563
1569
|
cols: 0
|
|
1564
1570
|
});
|
|
@@ -1576,7 +1582,7 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1576
1582
|
showMask: !1,
|
|
1577
1583
|
zIndex: u,
|
|
1578
1584
|
popupMinWidth: "220px",
|
|
1579
|
-
offset:
|
|
1585
|
+
offset: H
|
|
1580
1586
|
});
|
|
1581
1587
|
return c ? /* @__PURE__ */ y(q, {
|
|
1582
1588
|
icon: "charubiaoge",
|
|
@@ -1593,9 +1599,9 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1593
1599
|
showDisabledTooltip: i,
|
|
1594
1600
|
disabled: e
|
|
1595
1601
|
})
|
|
1596
|
-
}), /* @__PURE__ */ y(
|
|
1602
|
+
}), /* @__PURE__ */ y(le, { children: /* @__PURE__ */ y(n, {
|
|
1597
1603
|
zIndex: u,
|
|
1598
|
-
children: /* @__PURE__ */ y(
|
|
1604
|
+
children: /* @__PURE__ */ y(oe, { children: f ? /* @__PURE__ */ y(se.div, {
|
|
1599
1605
|
ref: _.setFloating,
|
|
1600
1606
|
...C(),
|
|
1601
1607
|
style: {
|
|
@@ -1604,23 +1610,23 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1604
1610
|
},
|
|
1605
1611
|
...o,
|
|
1606
1612
|
children: /* @__PURE__ */ b("div", {
|
|
1607
|
-
className:
|
|
1613
|
+
className: Rr["bsy-lexical__table-picker"],
|
|
1608
1614
|
onMouseDown: (e) => e.preventDefault(),
|
|
1609
1615
|
onMouseLeave: () => h({
|
|
1610
1616
|
rows: 0,
|
|
1611
1617
|
cols: 0
|
|
1612
1618
|
}),
|
|
1613
1619
|
children: [/* @__PURE__ */ y("div", {
|
|
1614
|
-
className:
|
|
1615
|
-
children:
|
|
1620
|
+
className: Rr["bsy-lexical__table-picker-grid"],
|
|
1621
|
+
children: zr.map((e) => zr.map((t) => /* @__PURE__ */ y("button", {
|
|
1616
1622
|
type: "button",
|
|
1617
|
-
className:
|
|
1623
|
+
className: P(Rr["bsy-lexical__table-picker-cell"], m.rows >= e && m.cols >= t && Rr["bsy-lexical__table-picker-cell--active"]),
|
|
1618
1624
|
onMouseEnter: () => h({
|
|
1619
1625
|
rows: e,
|
|
1620
1626
|
cols: t
|
|
1621
1627
|
}),
|
|
1622
1628
|
onClick: () => {
|
|
1623
|
-
s.dispatchCommand(
|
|
1629
|
+
s.dispatchCommand(Rt, {
|
|
1624
1630
|
rows: String(e),
|
|
1625
1631
|
columns: String(t),
|
|
1626
1632
|
includeHeaders: !1
|
|
@@ -1628,7 +1634,7 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1628
1634
|
}
|
|
1629
1635
|
}, `${e}-${t}`)))
|
|
1630
1636
|
}), /* @__PURE__ */ b("div", {
|
|
1631
|
-
className:
|
|
1637
|
+
className: Rr["bsy-lexical__table-picker-label"],
|
|
1632
1638
|
children: [
|
|
1633
1639
|
m.rows,
|
|
1634
1640
|
" × ",
|
|
@@ -1638,12 +1644,12 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1638
1644
|
})
|
|
1639
1645
|
}, "bsy-lexical-table-picker") : null })
|
|
1640
1646
|
}) })] });
|
|
1641
|
-
},
|
|
1642
|
-
let e = E(
|
|
1647
|
+
}, Vr = S(null), Hr = () => {
|
|
1648
|
+
let e = E(Vr);
|
|
1643
1649
|
if (!e) throw Error("useSourceMode must be used within SourceModeProvider");
|
|
1644
1650
|
return e;
|
|
1645
|
-
},
|
|
1646
|
-
let { t: r } = a(), { isSourceMode: i, toggleSourceMode: o } =
|
|
1651
|
+
}, Ur = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1652
|
+
let { t: r } = a(), { isSourceMode: i, toggleSourceMode: o } = Hr();
|
|
1647
1653
|
return /* @__PURE__ */ y(q, {
|
|
1648
1654
|
icon: "yuanmamoshi",
|
|
1649
1655
|
tooltip: t ?? r("editor.sourceMode"),
|
|
@@ -1652,8 +1658,8 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1652
1658
|
disabled: e,
|
|
1653
1659
|
onClick: o
|
|
1654
1660
|
});
|
|
1655
|
-
},
|
|
1656
|
-
let [i] =
|
|
1661
|
+
}, Wr = ({ disabled: t, tooltip: n, showDisabledTooltip: r }) => {
|
|
1662
|
+
let [i] = R(), { headingTag: o, isInTable: s } = J(), { t: c } = a(), { iconSize: l } = K(), u = o || "paragraph", d = [
|
|
1657
1663
|
{
|
|
1658
1664
|
key: "paragraph",
|
|
1659
1665
|
label: c("editor.paragraph")
|
|
@@ -1672,20 +1678,20 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1672
1678
|
}
|
|
1673
1679
|
], p = d.find((e) => e.key === u)?.label, m = T((e) => {
|
|
1674
1680
|
let t = e.key;
|
|
1675
|
-
|
|
1676
|
-
|
|
1681
|
+
G(i), i.update(() => {
|
|
1682
|
+
jt(I(), () => t === "paragraph" ? be() : Kt(t));
|
|
1677
1683
|
});
|
|
1678
1684
|
}, [i]), h = /* @__PURE__ */ y("div", {
|
|
1679
|
-
className:
|
|
1685
|
+
className: W["bsy-lexical__toolbar-select"],
|
|
1680
1686
|
style: { width: 62 },
|
|
1681
1687
|
children: /* @__PURE__ */ y(q, {
|
|
1682
1688
|
icon: /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y("span", {
|
|
1683
|
-
className:
|
|
1689
|
+
className: W["bsy-lexical__toolbar-select-label"],
|
|
1684
1690
|
children: p
|
|
1685
1691
|
}), /* @__PURE__ */ y(e, {
|
|
1686
1692
|
name: "arrow-down",
|
|
1687
1693
|
size: l,
|
|
1688
|
-
className:
|
|
1694
|
+
className: W["bsy-lexical__toolbar-select-arrow"]
|
|
1689
1695
|
})] }),
|
|
1690
1696
|
tooltip: n,
|
|
1691
1697
|
showDisabledTooltip: r,
|
|
@@ -1697,7 +1703,7 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1697
1703
|
onClick: m,
|
|
1698
1704
|
showSearch: !1,
|
|
1699
1705
|
activeKey: [u],
|
|
1700
|
-
offset:
|
|
1706
|
+
offset: H,
|
|
1701
1707
|
style: {
|
|
1702
1708
|
width: "62px",
|
|
1703
1709
|
minWidth: "62px"
|
|
@@ -1707,34 +1713,34 @@ var Tr = it("INSERT_INLINE_IMAGE_COMMAND"), Er = ({ disabled: t, tooltip: n, sho
|
|
|
1707
1713
|
};
|
|
1708
1714
|
//#endregion
|
|
1709
1715
|
//#region src/components/Editor/utils/clearInlineTextFormat.ts
|
|
1710
|
-
function
|
|
1711
|
-
let e =
|
|
1712
|
-
if (
|
|
1713
|
-
|
|
1716
|
+
function Gr() {
|
|
1717
|
+
let e = I();
|
|
1718
|
+
if (L(e)) {
|
|
1719
|
+
At(e, {
|
|
1714
1720
|
"font-size": null,
|
|
1715
1721
|
color: null,
|
|
1716
1722
|
"background-color": null
|
|
1717
1723
|
});
|
|
1718
|
-
for (let t of e.getNodes())
|
|
1724
|
+
for (let t of e.getNodes()) je(t) && t.setFormat(0);
|
|
1719
1725
|
e.setFormat(0);
|
|
1720
1726
|
}
|
|
1721
1727
|
}
|
|
1722
1728
|
//#endregion
|
|
1723
1729
|
//#region src/components/Editor/ToolbarPlugin/Buttons/ClearFormatButton.tsx
|
|
1724
|
-
var
|
|
1725
|
-
let [r] =
|
|
1730
|
+
var Kr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1731
|
+
let [r] = R(), { t: i } = a();
|
|
1726
1732
|
return /* @__PURE__ */ y(q, {
|
|
1727
1733
|
icon: "clearTree",
|
|
1728
1734
|
tooltip: t ?? i("editor.clearFormat"),
|
|
1729
1735
|
showDisabledTooltip: n,
|
|
1730
1736
|
disabled: e,
|
|
1731
1737
|
onClick: () => {
|
|
1732
|
-
|
|
1733
|
-
|
|
1738
|
+
G(r), r.update(() => {
|
|
1739
|
+
Gr();
|
|
1734
1740
|
});
|
|
1735
1741
|
}
|
|
1736
1742
|
});
|
|
1737
|
-
},
|
|
1743
|
+
}, qr = [
|
|
1738
1744
|
"quick",
|
|
1739
1745
|
"formal",
|
|
1740
1746
|
"colloquial",
|
|
@@ -1748,29 +1754,134 @@ var Gr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
|
1748
1754
|
lively: "editor.aiPresetLively",
|
|
1749
1755
|
literary: "editor.aiPresetLiterary",
|
|
1750
1756
|
retro: "editor.aiPresetRetro"
|
|
1757
|
+
}, Yr = {
|
|
1758
|
+
typeset: [
|
|
1759
|
+
"你是一名专业的 HTML 文档排版引擎。输入已是 HTML 片段。",
|
|
1760
|
+
"任务:在不改内容层(措辞、语序、修辞、情感色彩)的前提下,做形式层 + 视觉层优化,充分利用富文本能力(标题、列表、加粗、字色、背景色、缩进、对齐)。",
|
|
1761
|
+
"",
|
|
1762
|
+
"【核心原则】",
|
|
1763
|
+
"1. 清洁:物理勘误(OCR 误触)、空格/标点治理。",
|
|
1764
|
+
"2. 结构:语义化标签(p / h1 / h2 / h3 / ul / ol / 联系方式分行)。",
|
|
1765
|
+
"3. 视觉:为标题、小节名、关键词、联系方式、并列项增加加粗、颜色、浅底、缩进。可以新增强调,不要求原文先有引号或加粗。",
|
|
1766
|
+
"绝对禁止:重写句子、替换同义词、删改口语词/语气词(如「哈哈」「傻死了」)、调整叙事顺序。",
|
|
1767
|
+
"",
|
|
1768
|
+
"【允许的排版操作】",
|
|
1769
|
+
"1. 断句与分段:",
|
|
1770
|
+
" - 无标点连写长句按语义切成短句,切分处可补「。」或「,」。",
|
|
1771
|
+
" - 每个独立语义块用 <p> 包裹。",
|
|
1772
|
+
" - 不得调换语义块先后顺序;允许同一语义流内断句分段。",
|
|
1773
|
+
"2. 标点规范化:",
|
|
1774
|
+
" - 「!!!!」→「!」,「。。。」→「。」,「,,,」→「,」。",
|
|
1775
|
+
" - 中文语境下「,」→「,」、「.」→「。」;英文缩写、小数、网址、邮箱中的「.」「,」不改。",
|
|
1776
|
+
"3. 空格治理:",
|
|
1777
|
+
" - 删除汉字之间无意义空格;保留英文词间空格。",
|
|
1778
|
+
" - 中英混排时,英文单词前后各留一个半角空格。",
|
|
1779
|
+
"4. 物理勘误:",
|
|
1780
|
+
" - 仅当上下文能唯一判定时,修正 0/O、1/l/I 等误触。",
|
|
1781
|
+
" - 不修正拼写(「监介」必须保留)。",
|
|
1782
|
+
"5. 结构标签化:",
|
|
1783
|
+
" - 篇名/主标题用 <h1>,小节用 <h2>,更小的小标题用 <h3>。正文用 <p>。一篇里主标题通常只有一个 h1。",
|
|
1784
|
+
" - 并列项用 <ul>/<ol> + <li>。",
|
|
1785
|
+
" - 联系方式(电话/邮箱/地址)用 <p> 分行,除勘误外不改字符。",
|
|
1786
|
+
" - 已有 a / img / table / strong / em / u / s / span 必须保留语义,可调整包裹层级。",
|
|
1787
|
+
" - 表格单元格可以排版,不得删改实质内容。",
|
|
1788
|
+
"6. 视觉增强(鼓励,且必须用内联 style;禁止 markdown):",
|
|
1789
|
+
" - 小节名、分类标签、原文已强调的词:<strong>。禁止 **加粗**、## 标题、- 列表、[text](url)、围栏。",
|
|
1790
|
+
" - 标题、关键数字、电话/邮箱:可给 span 加 color。",
|
|
1791
|
+
" - 需要扫读的关键词:给 span 加 background-color 浅底。对:<span style=\"background-color:#fff4cd\">关键词</span>。错:<p style=\"background-color:#f0f6ff\">整段</p>。",
|
|
1792
|
+
" - 背景色只能写在 span 上(短语级),禁止写在 p / h1-h3 / ul / ol / li。",
|
|
1793
|
+
" - 段落/标题缩进只用 padding-inline-start,且必须是 40px 的倍数(与编辑器「增加缩进」一致)。",
|
|
1794
|
+
" - 列表缩进只写在 ul/ol 的 padding-inline-start(通常 24px),不要写到 p/li 的 padding。",
|
|
1795
|
+
" - 颜色用任意合法 CSS 色值即可(#RGB、#RRGGBB、rgb())。同一篇里主色不超过 2 种强调色,正文保持深色可读。",
|
|
1796
|
+
" - span 仅可用于 color / font-size / background-color。",
|
|
1797
|
+
" - p / h1-h3 仅可用于 text-align / padding-inline-start。",
|
|
1798
|
+
" - 禁止 padding(四边)、padding-top/right/bottom/left、border-radius、margin、box-shadow、border(td/th 除外)。编辑器不能给段落设内边距、圆角或背景色。",
|
|
1799
|
+
"",
|
|
1800
|
+
"【绝对红线】",
|
|
1801
|
+
"- 不得增删实质性单词、数字、年份、名称。",
|
|
1802
|
+
"- 不得删除括号、注释、语气词。",
|
|
1803
|
+
"- 不得把口语改成书面语。",
|
|
1804
|
+
"- 必须原样保留所有 <!--bsy-code-N-->;禁止新增、删除或改写 pre、code、data-language。",
|
|
1805
|
+
"- 禁止编造或改写 img 的 src。",
|
|
1806
|
+
"",
|
|
1807
|
+
"【输出格式】",
|
|
1808
|
+
"只输出纯净 HTML 片段。禁止 markdown 围栏(``` / ```html)、xml 声明、解释性前后文。",
|
|
1809
|
+
"加粗用 <strong>,主标题用 <h1>,小节用 <h2>/<h3>,列表用 <ul>/<ol>。",
|
|
1810
|
+
"允许标签:p, br, h1, h2, h3, ul, ol, li, strong, em, b, i, u, s, span, a, img, table, thead, tbody, tr, td, th, sub, sup。"
|
|
1811
|
+
],
|
|
1812
|
+
polishSystem: /* @__PURE__ */ "你是多语言语义层编辑引擎,只管「意」,不管「版式」(缩进、字体样式、HTML 标签)。,输入是按块切开的纯文本,可能包含任意语言(中文、英文、日文、代码注释、混合文本)。独立代码块不会出现在输入里。,输出仅润色后的纯文本,不加引号、标签或解释。,,【块结构(必须遵守)】,- 输入用 <!--bsy-block--> 分成若干块。一块对应编辑器里的一个标题或段落,顺序就是阅读顺序。,- 输出必须块数相同、顺序相同,并原样保留 <!--bsy-block-->。,- 禁止把两块合成一块,也禁止把一块拆成两块。,- 整块都是套话:该块输出为空,不要把文字并进前后块。,- 断句、加标点、删字只允许发生在块内。,- 不要跨块交换事实(电话、地址、日期、金额不要挪到别的块)。,- <!--bsy-block--> 不是版式,必须原样保留;分隔符周围的空行也不要删。,,【语言自适应处理】,- 自动识别输入文本的主语言(或混合语言比例)。,- 润色时,仅对该语言的语法、措辞、语气进行优化,绝对不跨语言串改(例如:不要把英文短句改成中文中式英语)。,- 专有名词(人名、地名、品牌名)、年份、固定术语保留原语言原字符,不进行翻译或音译。,,【受保护内容隔离区(绝对红线)】,以下内容不做语序或措辞调整;允许明显的 OCR/键盘字符级勘误(如 0 与 O、1 与 l),不要改空格布局。,1. 数学公式与符号:包括但不限于 = + - * / ^ _ { } ( ) [ ],以及 LaTeX 片段(如 E=mc^2、\\frac{a}{b})。,2. 计量单位与数值:如 10kg、$99.99、2026-08-26、99.9%。,3. 混在正文里的路径、命令、行内代码(如 /usr/bin/python)。独立代码块不在输入中。,4. 邮箱地址、网址(URL)、IP 地址:不要改域名或结构。,5. 化学式(H₂O)、物理量符号(λ、Δ)。,,【标点与断句(特殊允许)】,- 根据检测到的语言使用对应的标准标点(中文用中文标点,英文用英文标点)。,- 允许在块内添加/修改句号、逗号、感叹号、问号,用于断句和表达语气。,- 合并连续重复标点(如「!!!!」→「!」或「!!!!」→「!」)。,,【废话分级删除规则】,- 无意义套话(如「如有雷同纯属巧合」「最终解释权归本公司所有」)→ 直接删除。,- 无具体主体的万能版权模板(如单独一行 All rights reserved)可删;带年份或公司名的版权行保留。,- 冗余语气缓冲词(如「说实话」「我个人觉得」「I think」)→ 仅当语气为 formal / literary 时删除;为 colloquial / lively 时保留。,,【勘误优先级(必读)】,- 第一步:物理勘误(仅限明显的 OCR/键盘误触:如数字 0 写成字母 O、数字 1 写成 l/I,全角英文数字改成半角),直接修正。,- 第二步:措辞润色,但绝不修改第一步修正后的数字、年份、公式符号。,,【风格一致性约束】,- 全篇人称/敬语必须统一(中文:你/您;英文:you 与对应敬语;日文:です/ます调)。,- 禁止改变原文的事实性数据(数字、日期、金额、单位)。".split(","),
|
|
1813
|
+
polish: {
|
|
1814
|
+
quick: "语气:轻微改通顺,保持原意和人称。\n规则:尽量不改词,仅补充标点和必要连词;保护区原样保留。",
|
|
1815
|
+
formal: "语气:更正式、书面(适配任意语言的标准书面体)。\n规则:删除口语词(啊/哦/啦/yeah/well),替换为客观陈述;数字原则上保持阿拉伯数字,不拼写为单词。",
|
|
1816
|
+
colloquial: "语气:更口语、自然(适配日常聊天、社交媒体)。\n规则:保留语气词、感叹词,允许短句和不完整句,保留重复强调词(哈哈/haha/すごい)。",
|
|
1817
|
+
lively: "语气:更生动、有画面感。\n规则:适当添加形容词和程度副词,但禁止虚构事实数据。",
|
|
1818
|
+
literary: "语气:更书面、文学感(适配小说、散文、高级文案)。\n规则:若主语言为中文,允许四字格;若为英文,允许复杂从句和排比;不改变原风格基调。",
|
|
1819
|
+
retro: "语气:带一点复古书面色彩,仍保持现代可读。\n规则:仅当主语言为中文时生效:仿民国白话风(之/其/乃);其他语言自动降级为 literary。"
|
|
1820
|
+
}
|
|
1821
|
+
}, Xr = Yr.typeset.join("\n"), Zr = Yr.polishSystem.join("\n"), Qr = (e) => `${Zr}\n\n【本轮风格】\n${Yr.polish[e] ?? Yr.polish.quick}`, $r = (e) => {
|
|
1822
|
+
if (!e.trim()) return {
|
|
1823
|
+
html: e,
|
|
1824
|
+
blocks: []
|
|
1825
|
+
};
|
|
1826
|
+
let t = new DOMParser().parseFromString(e, "text/html"), n = [], r = Array.from(t.body.querySelectorAll("pre"));
|
|
1827
|
+
for (let e of r) {
|
|
1828
|
+
n.push(e.outerHTML);
|
|
1829
|
+
let r = t.createComment(`bsy-code-${n.length - 1}`);
|
|
1830
|
+
e.replaceWith(r);
|
|
1831
|
+
}
|
|
1832
|
+
return {
|
|
1833
|
+
html: t.body.innerHTML,
|
|
1834
|
+
blocks: n
|
|
1835
|
+
};
|
|
1836
|
+
}, ei = "<!--bsy-block-->", ti = /<!--bsy-code-(\d+)-->/g, ni = "bsy-html-root", ri = (e) => new DOMParser().parseFromString(`<${ni}>${e}</${ni}>`, "text/html").body.querySelector(ni), ii = (e, t) => {
|
|
1837
|
+
if (!t.length) return e;
|
|
1838
|
+
let n = /* @__PURE__ */ new Set(), r = e.replace(ti, (e, r) => {
|
|
1839
|
+
let i = Number(r), a = t[i];
|
|
1840
|
+
return a === void 0 ? "" : (n.add(i), a);
|
|
1841
|
+
}), i = t.filter((e, t) => !n.has(t)).join("");
|
|
1842
|
+
return i ? `${r}${i}` : r;
|
|
1843
|
+
}, ai = (e) => {
|
|
1844
|
+
if (!/<pre[\s>/]/i.test(e)) return e;
|
|
1845
|
+
let t = ri(e);
|
|
1846
|
+
if (!t) return e;
|
|
1847
|
+
let n = t.ownerDocument;
|
|
1848
|
+
for (let e of Array.from(t.querySelectorAll("pre"))) {
|
|
1849
|
+
let t = n.createComment("bsy-code-dropped");
|
|
1850
|
+
e.replaceWith(t);
|
|
1851
|
+
}
|
|
1852
|
+
return t.innerHTML.replace(/<!--bsy-code-dropped-->/g, "");
|
|
1853
|
+
}, oi = (e, t) => ii(ai(e), t), si = "p, h1, h2, h3, li", ci = /background(-color)?\s*:/i, li = (e) => {
|
|
1854
|
+
if (!e.trim() || !ci.test(e)) return e;
|
|
1855
|
+
let t = ri(e);
|
|
1856
|
+
if (!t) return e;
|
|
1857
|
+
for (let e of Array.from(t.querySelectorAll(si))) {
|
|
1858
|
+
let t = e;
|
|
1859
|
+
t.style.removeProperty("background-color"), t.style.removeProperty("background"), t.getAttribute("style")?.trim() || t.removeAttribute("style");
|
|
1860
|
+
}
|
|
1861
|
+
return t.innerHTML;
|
|
1751
1862
|
};
|
|
1752
1863
|
//#endregion
|
|
1753
1864
|
//#region src/components/Editor/utils/htmlText.ts
|
|
1754
|
-
function
|
|
1865
|
+
function ui(e) {
|
|
1755
1866
|
return /<[^>]*$/.test(e.trim());
|
|
1756
1867
|
}
|
|
1757
|
-
function
|
|
1868
|
+
function di(e) {
|
|
1758
1869
|
return e ? new DOMParser().parseFromString(e, "text/html").body.textContent ?? "" : "";
|
|
1759
1870
|
}
|
|
1760
1871
|
//#endregion
|
|
1761
1872
|
//#region src/components/Editor/utils/fillRootFromHtml.ts
|
|
1762
|
-
var
|
|
1873
|
+
var fi = [
|
|
1763
1874
|
"color",
|
|
1764
1875
|
"background-color",
|
|
1765
1876
|
"font-size",
|
|
1766
1877
|
"font-family",
|
|
1767
1878
|
"font-weight",
|
|
1768
1879
|
"text-decoration"
|
|
1769
|
-
],
|
|
1880
|
+
], pi = (e) => {
|
|
1770
1881
|
let t = e.body.querySelectorAll("p, h1, h2, h3, h4, h5, h6, li, td, th");
|
|
1771
1882
|
for (let n of Array.from(t)) {
|
|
1772
1883
|
let t = n, r = [];
|
|
1773
|
-
for (let e of
|
|
1884
|
+
for (let e of fi) {
|
|
1774
1885
|
let n = t.style.getPropertyValue(e);
|
|
1775
1886
|
n && (r.push(`${e}: ${n}`), t.style.removeProperty(e));
|
|
1776
1887
|
}
|
|
@@ -1788,28 +1899,28 @@ var Zr = [
|
|
|
1788
1899
|
}
|
|
1789
1900
|
}
|
|
1790
1901
|
}
|
|
1791
|
-
},
|
|
1792
|
-
let n =
|
|
1902
|
+
}, mi = (e, t) => {
|
|
1903
|
+
let n = F();
|
|
1793
1904
|
if (n.clear(), t.trim()) {
|
|
1794
1905
|
let r = new DOMParser().parseFromString(t, "text/html");
|
|
1795
|
-
|
|
1796
|
-
let i =
|
|
1906
|
+
pi(r);
|
|
1907
|
+
let i = _e(e, r);
|
|
1797
1908
|
if (i.length) {
|
|
1798
|
-
n.select(),
|
|
1909
|
+
n.select(), Ee(i), Pe(null);
|
|
1799
1910
|
return;
|
|
1800
1911
|
}
|
|
1801
1912
|
}
|
|
1802
|
-
let r =
|
|
1803
|
-
n.append(r),
|
|
1913
|
+
let r = be();
|
|
1914
|
+
n.append(r), Pe(null);
|
|
1804
1915
|
};
|
|
1805
1916
|
//#endregion
|
|
1806
1917
|
//#region src/components/Editor/utils/isEmptyEditorHtml.ts
|
|
1807
|
-
function
|
|
1918
|
+
function hi(e, t) {
|
|
1808
1919
|
return !t.trim() && (e === "<p><br></p>" || e === "<p></p>" || e === "" || /^<p>\s*<br>\s*<\/p>$/.test(e));
|
|
1809
1920
|
}
|
|
1810
1921
|
//#endregion
|
|
1811
1922
|
//#region src/components/Editor/utils/sanitizeEditorHtml.ts
|
|
1812
|
-
var
|
|
1923
|
+
var gi = /* @__PURE__ */ "p.br.strong.em.b.i.u.s.span.sub.sup.ul.ol.li.a.img.pre.code.table.thead.tbody.tr.td.th.h1.h2.h3.h4.h5.h6".split("."), _i = [
|
|
1813
1924
|
"href",
|
|
1814
1925
|
"src",
|
|
1815
1926
|
"alt",
|
|
@@ -1820,16 +1931,17 @@ var ti = /* @__PURE__ */ "p.br.strong.em.b.i.u.s.span.sub.sup.ul.ol.li.a.img.pre
|
|
|
1820
1931
|
"rowspan",
|
|
1821
1932
|
"data-language",
|
|
1822
1933
|
"data-id",
|
|
1934
|
+
"data-src",
|
|
1823
1935
|
"class",
|
|
1824
1936
|
"style",
|
|
1825
1937
|
"width",
|
|
1826
1938
|
"height"
|
|
1827
|
-
],
|
|
1939
|
+
], vi = new Set(/* @__PURE__ */ "color.background-color.font-size.font-family.font-weight.font-style.text-decoration.text-align.max-width.display.vertical-align.width.height.border.margin.padding.padding-inline-start.line-height.list-style-type.list-style-position.list-style.border-collapse.table-layout.overflow-x.white-space.position.top.bottom.tab-size.border-radius.box-sizing.min-width.min-height.cursor".split(".")), yi = /^(?:(?:(?:f|ht)tps?|mailto|blob):|data:image\/[a-z0-9.+-]+[;,].*|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i, bi = new Set([
|
|
1828
1940
|
"pre",
|
|
1829
1941
|
"code",
|
|
1830
1942
|
"td",
|
|
1831
1943
|
"th"
|
|
1832
|
-
]),
|
|
1944
|
+
]), xi = new Set(["pre", "code"]), Si = new Set(["sup", "sub"]), Ci = (e, t) => vi.has(e) ? e === "padding-inline-start" ? !0 : e === "padding" || e.startsWith("padding-") ? bi.has(t) : e === "border-radius" ? xi.has(t) : e === "position" || e === "top" || e === "bottom" ? Si.has(t) : !0 : !1, wi = (e, t) => e.split(";").map((e) => e.trim()).filter(Boolean).map((e) => {
|
|
1833
1945
|
let n = e.indexOf(":");
|
|
1834
1946
|
if (n === -1) return null;
|
|
1835
1947
|
let r = e.slice(0, n).trim().toLowerCase(), i = e.slice(n + 1).trim();
|
|
@@ -1837,102 +1949,78 @@ var ti = /* @__PURE__ */ "p.br.strong.em.b.i.u.s.span.sub.sup.ul.ol.li.a.img.pre
|
|
|
1837
1949
|
if (/url\s*\(/i.test(i)) return null;
|
|
1838
1950
|
r = "background-color";
|
|
1839
1951
|
}
|
|
1840
|
-
return !
|
|
1841
|
-
}).filter((e) => e !== null).join("; "),
|
|
1842
|
-
|
|
1952
|
+
return !Ci(r, t) || /expression|javascript:|url\s*\(\s*['"]?\s*javascript/i.test(i) ? null : `${r}: ${i}`;
|
|
1953
|
+
}).filter((e) => e !== null).join("; "), Ti = !1, Ei = () => {
|
|
1954
|
+
Ti ||= (Zt.addHook("uponSanitizeAttribute", (e, t) => {
|
|
1843
1955
|
if (t.attrName === "href" && /^data:/i.test(t.attrValue)) {
|
|
1844
1956
|
t.keepAttr = !1;
|
|
1845
1957
|
return;
|
|
1846
1958
|
}
|
|
1847
|
-
t.attrName === "style" && (t.attrValue =
|
|
1959
|
+
t.attrName === "style" && (t.attrValue = wi(t.attrValue, e.nodeName.toLowerCase()), t.attrValue || (t.keepAttr = !1));
|
|
1848
1960
|
}), !0);
|
|
1849
1961
|
};
|
|
1850
1962
|
function X(e) {
|
|
1851
|
-
return e ? (
|
|
1852
|
-
ALLOWED_TAGS:
|
|
1853
|
-
ALLOWED_ATTR:
|
|
1963
|
+
return e ? (Ei(), Zt.sanitize(e, {
|
|
1964
|
+
ALLOWED_TAGS: gi,
|
|
1965
|
+
ALLOWED_ATTR: _i,
|
|
1854
1966
|
ALLOW_DATA_ATTR: !1,
|
|
1855
|
-
ADD_ATTR: [
|
|
1856
|
-
|
|
1967
|
+
ADD_ATTR: [
|
|
1968
|
+
"data-language",
|
|
1969
|
+
"data-id",
|
|
1970
|
+
"data-src"
|
|
1971
|
+
],
|
|
1972
|
+
ALLOWED_URI_REGEXP: yi
|
|
1857
1973
|
})) : "";
|
|
1858
1974
|
}
|
|
1859
1975
|
//#endregion
|
|
1860
|
-
//#region src/components/Editor/utils/stitchCodePlaceholders.ts
|
|
1861
|
-
var fi = "bsy-html-root";
|
|
1862
|
-
function pi(e) {
|
|
1863
|
-
return new DOMParser().parseFromString(`<${fi}>${e}</${fi}>`, "text/html").body.querySelector(fi);
|
|
1864
|
-
}
|
|
1865
|
-
function mi(e, t) {
|
|
1866
|
-
if (!t.length) return e;
|
|
1867
|
-
let n = /* @__PURE__ */ new Set(), r = e.replace(Kr, (e, r) => {
|
|
1868
|
-
let i = Number(r), a = t[i];
|
|
1869
|
-
return a === void 0 ? "" : (n.add(i), a);
|
|
1870
|
-
}), i = t.filter((e, t) => !n.has(t)).join("");
|
|
1871
|
-
return i ? `${r}${i}` : r;
|
|
1872
|
-
}
|
|
1873
|
-
function hi(e, t) {
|
|
1874
|
-
return mi(gi(e), t);
|
|
1875
|
-
}
|
|
1876
|
-
function gi(e) {
|
|
1877
|
-
if (!/<pre[\s>/]/i.test(e)) return e;
|
|
1878
|
-
let t = pi(e);
|
|
1879
|
-
if (!t) return e;
|
|
1880
|
-
let n = t.ownerDocument;
|
|
1881
|
-
for (let e of Array.from(t.querySelectorAll("pre"))) {
|
|
1882
|
-
let t = n.createComment("bsy-code-dropped");
|
|
1883
|
-
e.replaceWith(t);
|
|
1884
|
-
}
|
|
1885
|
-
return t.innerHTML.replace(/<!--bsy-code-dropped-->/g, "");
|
|
1886
|
-
}
|
|
1887
|
-
//#endregion
|
|
1888
1976
|
//#region src/components/Editor/constants/portableEditorStyles.ts
|
|
1889
|
-
var
|
|
1977
|
+
var Di = {
|
|
1890
1978
|
margin: "0.6em 0 0.4em",
|
|
1891
1979
|
"font-weight": "600",
|
|
1892
1980
|
"line-height": "1.35"
|
|
1893
|
-
},
|
|
1981
|
+
}, Oi = {
|
|
1894
1982
|
h1: {
|
|
1895
|
-
...
|
|
1983
|
+
...Di,
|
|
1896
1984
|
"font-size": "2em"
|
|
1897
1985
|
},
|
|
1898
1986
|
h2: {
|
|
1899
|
-
...
|
|
1987
|
+
...Di,
|
|
1900
1988
|
"font-size": "1.5em"
|
|
1901
1989
|
},
|
|
1902
1990
|
h3: {
|
|
1903
|
-
...
|
|
1991
|
+
...Di,
|
|
1904
1992
|
"font-size": "1.25em"
|
|
1905
1993
|
},
|
|
1906
1994
|
h4: {
|
|
1907
|
-
...
|
|
1995
|
+
...Di,
|
|
1908
1996
|
"font-size": "1.125em"
|
|
1909
1997
|
},
|
|
1910
1998
|
h5: {
|
|
1911
|
-
...
|
|
1999
|
+
...Di,
|
|
1912
2000
|
"font-size": "1em"
|
|
1913
2001
|
},
|
|
1914
2002
|
h6: {
|
|
1915
|
-
...
|
|
2003
|
+
...Di,
|
|
1916
2004
|
"font-size": "0.875em"
|
|
1917
2005
|
}
|
|
1918
|
-
},
|
|
2006
|
+
}, ki = {
|
|
1919
2007
|
color: "#0269ff",
|
|
1920
2008
|
cursor: "pointer"
|
|
1921
|
-
},
|
|
2009
|
+
}, Ai = {
|
|
1922
2010
|
margin: "0",
|
|
1923
2011
|
"padding-inline-start": "24px",
|
|
1924
2012
|
"list-style-position": "outside"
|
|
1925
|
-
},
|
|
2013
|
+
}, ji = [
|
|
1926
2014
|
"disc",
|
|
1927
2015
|
"circle",
|
|
1928
2016
|
"square"
|
|
1929
|
-
],
|
|
2017
|
+
], Mi = {
|
|
1930
2018
|
margin: "0",
|
|
1931
2019
|
"list-style": "inherit"
|
|
1932
|
-
},
|
|
2020
|
+
}, Ni = {
|
|
1933
2021
|
margin: "0",
|
|
1934
2022
|
"list-style-type": "none"
|
|
1935
|
-
},
|
|
2023
|
+
}, Pi = {
|
|
1936
2024
|
display: "block",
|
|
1937
2025
|
"box-sizing": "border-box",
|
|
1938
2026
|
"max-width": "100%",
|
|
@@ -1947,23 +2035,23 @@ var _i = {
|
|
|
1947
2035
|
"border-radius": "4px",
|
|
1948
2036
|
"background-color": "rgb(240, 242, 245)",
|
|
1949
2037
|
color: "#1f2328"
|
|
1950
|
-
},
|
|
2038
|
+
}, Fi = {
|
|
1951
2039
|
"border-collapse": "collapse",
|
|
1952
2040
|
"table-layout": "fixed",
|
|
1953
2041
|
width: "100%",
|
|
1954
2042
|
"overflow-x": "auto",
|
|
1955
2043
|
margin: "8px 0"
|
|
1956
|
-
},
|
|
2044
|
+
}, Ii = {
|
|
1957
2045
|
"box-sizing": "border-box",
|
|
1958
2046
|
"min-width": "75px",
|
|
1959
2047
|
"min-height": "32px",
|
|
1960
2048
|
padding: "4px 8px",
|
|
1961
2049
|
border: "1px solid #d9d9d9",
|
|
1962
2050
|
"vertical-align": "top"
|
|
1963
|
-
},
|
|
2051
|
+
}, Li = {
|
|
1964
2052
|
"font-weight": "600",
|
|
1965
2053
|
"background-color": "#f2f3f5"
|
|
1966
|
-
},
|
|
2054
|
+
}, Ri = {
|
|
1967
2055
|
display: "inline-block",
|
|
1968
2056
|
position: "static",
|
|
1969
2057
|
top: "auto",
|
|
@@ -1972,38 +2060,38 @@ var _i = {
|
|
|
1972
2060
|
"line-height": "1"
|
|
1973
2061
|
}, Z = (e, t) => {
|
|
1974
2062
|
for (let [n, r] of Object.entries(t)) e.style.getPropertyValue(n) || e.style.setProperty(n, r);
|
|
1975
|
-
},
|
|
2063
|
+
}, zi = (e) => {
|
|
1976
2064
|
let t = 0, n = e;
|
|
1977
2065
|
for (; n;) n.tagName === "UL" && (t += 1), n = n.parentElement;
|
|
1978
2066
|
return t;
|
|
1979
|
-
},
|
|
2067
|
+
}, Bi = (e) => {
|
|
1980
2068
|
for (let t of Array.from(e.querySelectorAll("*"))) {
|
|
1981
2069
|
if (!(t instanceof HTMLElement)) continue;
|
|
1982
|
-
let e = t.tagName.toLowerCase(), n =
|
|
1983
|
-
if (n && Z(t, n), e === "a" && Z(t,
|
|
1984
|
-
let e = Math.min(Math.max(
|
|
2070
|
+
let e = t.tagName.toLowerCase(), n = Oi[e];
|
|
2071
|
+
if (n && Z(t, n), e === "a" && Z(t, ki), e === "ul") {
|
|
2072
|
+
let e = Math.min(Math.max(zi(t), 1), ji.length);
|
|
1985
2073
|
Z(t, {
|
|
1986
|
-
...
|
|
1987
|
-
"list-style-type":
|
|
2074
|
+
...Ai,
|
|
2075
|
+
"list-style-type": ji[e - 1]
|
|
1988
2076
|
});
|
|
1989
2077
|
}
|
|
1990
2078
|
e === "ol" && Z(t, {
|
|
1991
|
-
...
|
|
2079
|
+
...Ai,
|
|
1992
2080
|
"list-style-type": "decimal"
|
|
1993
|
-
}), e === "li" && Z(t, t.classList.contains("editor-nested-listitem") ?
|
|
1994
|
-
...
|
|
2081
|
+
}), e === "li" && Z(t, t.classList.contains("editor-nested-listitem") ? Ni : Mi), e === "pre" && Z(t, Pi), (e === "sup" || e === "sub") && Z(t, {
|
|
2082
|
+
...Ri,
|
|
1995
2083
|
"vertical-align": e === "sup" ? "super" : "sub"
|
|
1996
|
-
}), e === "table" && Z(t,
|
|
2084
|
+
}), e === "table" && Z(t, Fi), (e === "td" || e === "th") && (Z(t, Ii), (e === "th" || t.classList.contains("editor-table-cell-header")) && Z(t, Li)), t.classList.contains("editor-text-underline-strikethrough") ? Z(t, { "text-decoration": "underline line-through" }) : t.classList.contains("editor-text-underline") ? Z(t, { "text-decoration": "underline" }) : t.classList.contains("editor-text-strikethrough") && Z(t, { "text-decoration": "line-through" });
|
|
1997
2085
|
for (let e of Array.from(t.classList)) e.startsWith("editor-") && t.classList.remove(e);
|
|
1998
2086
|
t.classList.length === 0 && t.removeAttribute("class");
|
|
1999
2087
|
}
|
|
2000
|
-
},
|
|
2088
|
+
}, Vi = (e) => {
|
|
2001
2089
|
let t = e.parentNode;
|
|
2002
2090
|
if (t) {
|
|
2003
2091
|
for (; e.firstChild;) t.insertBefore(e.firstChild, e);
|
|
2004
2092
|
t.removeChild(e);
|
|
2005
2093
|
}
|
|
2006
|
-
},
|
|
2094
|
+
}, Hi = (e) => {
|
|
2007
2095
|
let t = !0;
|
|
2008
2096
|
for (; t;) {
|
|
2009
2097
|
t = !1;
|
|
@@ -2011,35 +2099,34 @@ var _i = {
|
|
|
2011
2099
|
if (n.attributes.length > 0) continue;
|
|
2012
2100
|
let e = n.tagName.toLowerCase();
|
|
2013
2101
|
if (e === "span") {
|
|
2014
|
-
|
|
2102
|
+
Vi(n), t = !0;
|
|
2015
2103
|
continue;
|
|
2016
2104
|
}
|
|
2017
2105
|
if (n.childElementCount !== 1 || n.childNodes.length !== 1) continue;
|
|
2018
2106
|
let r = n.firstElementChild;
|
|
2019
|
-
(e === "b" && r?.tagName === "STRONG" || e === "i" && r?.tagName === "EM") && (
|
|
2107
|
+
(e === "b" && r?.tagName === "STRONG" || e === "i" && r?.tagName === "EM") && (Vi(n), t = !0);
|
|
2020
2108
|
}
|
|
2021
2109
|
}
|
|
2022
2110
|
};
|
|
2023
|
-
function
|
|
2111
|
+
function Ui(e) {
|
|
2024
2112
|
if (!e.trim()) return e;
|
|
2025
2113
|
let t = new DOMParser().parseFromString(e, "text/html");
|
|
2026
|
-
|
|
2114
|
+
Bi(t.body), Hi(t.body);
|
|
2027
2115
|
for (let e of Array.from(t.body.querySelectorAll("pre"))) e.textContent?.trim() || e.remove();
|
|
2028
2116
|
return t.body.innerHTML;
|
|
2029
2117
|
}
|
|
2030
2118
|
//#endregion
|
|
2031
2119
|
//#region src/components/Editor/utils/applyAiPolish.ts
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
return e.join(`\n\n${Pi}\n\n`);
|
|
2120
|
+
function Wi(e) {
|
|
2121
|
+
return e.join(`\n\n${ei}\n\n`);
|
|
2035
2122
|
}
|
|
2036
|
-
function
|
|
2037
|
-
return e.includes("<!--bsy-block-->") ? e.split(
|
|
2123
|
+
function Gi(e) {
|
|
2124
|
+
return e.includes("<!--bsy-block-->") ? e.split(ei).map((e) => e.trim()) : [e];
|
|
2038
2125
|
}
|
|
2039
|
-
function
|
|
2040
|
-
return e.split(
|
|
2126
|
+
function Ki(e) {
|
|
2127
|
+
return e.split(ei).join("").trim().length > 0;
|
|
2041
2128
|
}
|
|
2042
|
-
function
|
|
2129
|
+
function qi(e, t) {
|
|
2043
2130
|
let n = e.map(() => "");
|
|
2044
2131
|
if (e.length === 0) return n;
|
|
2045
2132
|
let r = [], i = [];
|
|
@@ -2053,7 +2140,7 @@ function Ri(e, t) {
|
|
|
2053
2140
|
for (; d < c;) n[n.length - 1] += o[d], d += 1;
|
|
2054
2141
|
return n;
|
|
2055
2142
|
}
|
|
2056
|
-
var
|
|
2143
|
+
var Ji = new Set(["PRE"]), Yi = new Set([
|
|
2057
2144
|
"PRE",
|
|
2058
2145
|
"TABLE",
|
|
2059
2146
|
"THEAD",
|
|
@@ -2064,11 +2151,11 @@ var zi = new Set(["PRE"]), Bi = new Set([
|
|
|
2064
2151
|
"IMG",
|
|
2065
2152
|
"BR"
|
|
2066
2153
|
]);
|
|
2067
|
-
function
|
|
2154
|
+
function Xi(e) {
|
|
2068
2155
|
let t = [], n = (e) => {
|
|
2069
2156
|
if (e.nodeType === Node.ELEMENT_NODE) {
|
|
2070
2157
|
let t = e.tagName;
|
|
2071
|
-
if (
|
|
2158
|
+
if (Ji.has(t)) return;
|
|
2072
2159
|
for (let t of Array.from(e.childNodes)) n(t);
|
|
2073
2160
|
return;
|
|
2074
2161
|
}
|
|
@@ -2076,31 +2163,31 @@ function Vi(e) {
|
|
|
2076
2163
|
};
|
|
2077
2164
|
return n(e), t;
|
|
2078
2165
|
}
|
|
2079
|
-
function
|
|
2166
|
+
function Zi(e, t) {
|
|
2080
2167
|
let n = e;
|
|
2081
|
-
for (; n && n !== t && !
|
|
2168
|
+
for (; n && n !== t && !Yi.has(n.tagName) && !(n.textContent ?? "").trim() && !n.querySelector("img, pre, table, br");) {
|
|
2082
2169
|
let e = n.parentElement;
|
|
2083
2170
|
n.remove(), n = e;
|
|
2084
2171
|
}
|
|
2085
2172
|
}
|
|
2086
|
-
function
|
|
2173
|
+
function Qi(e) {
|
|
2087
2174
|
let t = e.tagName;
|
|
2088
2175
|
return t === "PRE" || t === "IMG" || t === "TABLE";
|
|
2089
2176
|
}
|
|
2090
|
-
function
|
|
2091
|
-
let t =
|
|
2092
|
-
return t ? Array.from(t.children).filter((e) => !
|
|
2177
|
+
function $i(e) {
|
|
2178
|
+
let t = ri(e);
|
|
2179
|
+
return t ? Array.from(t.children).filter((e) => !Qi(e)).map((e) => e.textContent ?? "") : [];
|
|
2093
2180
|
}
|
|
2094
|
-
function
|
|
2095
|
-
return e.includes("<!--bsy-block-->") ? e :
|
|
2181
|
+
function ea(e) {
|
|
2182
|
+
return e.includes("<!--bsy-block-->") ? e : di(e) || e;
|
|
2096
2183
|
}
|
|
2097
|
-
function
|
|
2098
|
-
let n =
|
|
2184
|
+
function ta(e, t) {
|
|
2185
|
+
let n = Xi(e);
|
|
2099
2186
|
if (n.length === 0) {
|
|
2100
2187
|
t && (e.querySelector("br")?.remove(), e.append(e.ownerDocument.createTextNode(t)));
|
|
2101
2188
|
return;
|
|
2102
2189
|
}
|
|
2103
|
-
let r =
|
|
2190
|
+
let r = qi(n.map((e) => e.textContent ?? ""), t);
|
|
2104
2191
|
for (let t = 0; t < n.length; t++) {
|
|
2105
2192
|
let i = r[t], a = n[t];
|
|
2106
2193
|
if (i) {
|
|
@@ -2108,56 +2195,38 @@ function Ki(e, t) {
|
|
|
2108
2195
|
continue;
|
|
2109
2196
|
}
|
|
2110
2197
|
let o = a.parentElement;
|
|
2111
|
-
a.remove(),
|
|
2198
|
+
a.remove(), Zi(o, e);
|
|
2112
2199
|
}
|
|
2113
2200
|
}
|
|
2114
|
-
function
|
|
2115
|
-
let n =
|
|
2116
|
-
if (!
|
|
2117
|
-
let r =
|
|
2201
|
+
function na(e, t) {
|
|
2202
|
+
let n = ea(t);
|
|
2203
|
+
if (!Ki(n) || !e.trim()) return "";
|
|
2204
|
+
let r = ri(e);
|
|
2118
2205
|
if (!r) return "";
|
|
2119
|
-
let i = Array.from(r.children).filter((e) => !
|
|
2206
|
+
let i = Array.from(r.children).filter((e) => !Qi(e));
|
|
2120
2207
|
if (i.length === 0) return "";
|
|
2121
|
-
let a =
|
|
2122
|
-
for (let e = 0; e < i.length; e++)
|
|
2208
|
+
let a = Gi(n), o = a.length === i.length ? a : qi(i.map((e) => e.textContent ?? ""), a.join(""));
|
|
2209
|
+
for (let e = 0; e < i.length; e++) ta(i[e], o[e] ?? "");
|
|
2123
2210
|
return r.innerHTML;
|
|
2124
2211
|
}
|
|
2125
|
-
function
|
|
2212
|
+
function ra(e, t) {
|
|
2126
2213
|
let n = "";
|
|
2127
2214
|
e.getEditorState().read(() => {
|
|
2128
|
-
n =
|
|
2215
|
+
n = Ui(X(ge(e, null)));
|
|
2129
2216
|
}, { editor: e });
|
|
2130
|
-
let r = X(
|
|
2131
|
-
return !r.trim() ||
|
|
2132
|
-
|
|
2217
|
+
let r = X(na(n, t));
|
|
2218
|
+
return !r.trim() || hi(r, di(r)) ? !1 : (e.update(() => {
|
|
2219
|
+
mi(e, r), Dn(!0);
|
|
2133
2220
|
}, { discrete: !0 }), !0);
|
|
2134
2221
|
}
|
|
2135
2222
|
//#endregion
|
|
2136
|
-
//#region src/components/Editor/utils/extractCodePlaceholders.ts
|
|
2137
|
-
function Yi(e) {
|
|
2138
|
-
if (!e.trim()) return {
|
|
2139
|
-
html: e,
|
|
2140
|
-
blocks: []
|
|
2141
|
-
};
|
|
2142
|
-
let t = new DOMParser().parseFromString(e, "text/html"), n = [], r = Array.from(t.body.querySelectorAll("pre"));
|
|
2143
|
-
for (let e of r) {
|
|
2144
|
-
n.push(e.outerHTML);
|
|
2145
|
-
let r = t.createComment(`bsy-code-${n.length - 1}`);
|
|
2146
|
-
e.replaceWith(r);
|
|
2147
|
-
}
|
|
2148
|
-
return {
|
|
2149
|
-
html: t.body.innerHTML,
|
|
2150
|
-
blocks: n
|
|
2151
|
-
};
|
|
2152
|
-
}
|
|
2153
|
-
//#endregion
|
|
2154
2223
|
//#region src/components/Editor/utils/readEditorAiSnapshot.ts
|
|
2155
|
-
function
|
|
2224
|
+
function ia(e) {
|
|
2156
2225
|
let t = "", n = "", r = "";
|
|
2157
2226
|
e.getEditorState().read(() => {
|
|
2158
|
-
n =
|
|
2227
|
+
n = F().getTextContent(), t = Ui(X(ge(e, null))), r = Wi($i(t));
|
|
2159
2228
|
}, { editor: e });
|
|
2160
|
-
let i =
|
|
2229
|
+
let i = $r(t);
|
|
2161
2230
|
return {
|
|
2162
2231
|
html: t,
|
|
2163
2232
|
text: n,
|
|
@@ -2196,16 +2265,17 @@ var Q = {
|
|
|
2196
2265
|
"bsy-lexical-ai__footer": "_bsy-lexical-ai__footer_p7v4i_165",
|
|
2197
2266
|
"bsy-lexical-ai__error": "_bsy-lexical-ai__error_p7v4i_173",
|
|
2198
2267
|
"bsy-lexical-ai__preset": "_bsy-lexical-ai__preset_p7v4i_178"
|
|
2199
|
-
},
|
|
2200
|
-
let [i] =
|
|
2268
|
+
}, aa = "data:image/png;base64,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", oa = "data:image/png;base64,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", sa = 16, ca = ({ disabled: t, tooltip: n, showDisabledTooltip: r }) => {
|
|
2269
|
+
let [i] = R(), { typeset: o, polish: s, canTypeset: c, canPolish: l, aiOpen: u, setAiOpen: d, aiSessionRef: p } = mr(), { hasEditorText: m } = J(), { t: h } = a(), { iconSize: g } = K(), _ = t || !c || !m, x = t || !l || !m, S = t || !!u, C = T(() => {
|
|
2201
2270
|
if (t || !c || !o) return;
|
|
2202
|
-
let e =
|
|
2271
|
+
let e = ia(i);
|
|
2203
2272
|
e.text.trim() && (p.current = {
|
|
2204
2273
|
originalHtml: e.html,
|
|
2205
2274
|
codeBlocks: e.codeBlocks
|
|
2206
2275
|
}, d("typeset"), o({
|
|
2207
2276
|
text: e.text,
|
|
2208
|
-
html: e.htmlWithoutCode
|
|
2277
|
+
html: e.htmlWithoutCode,
|
|
2278
|
+
prompt: Xr
|
|
2209
2279
|
}));
|
|
2210
2280
|
}, [
|
|
2211
2281
|
p,
|
|
@@ -2216,14 +2286,15 @@ var Q = {
|
|
|
2216
2286
|
o
|
|
2217
2287
|
]), w = T((e) => {
|
|
2218
2288
|
if (t || !l || !s) return;
|
|
2219
|
-
let n =
|
|
2220
|
-
|
|
2289
|
+
let n = ia(i);
|
|
2290
|
+
Ki(n.polishText) && (p.current = {
|
|
2221
2291
|
originalHtml: n.html,
|
|
2222
2292
|
originalText: n.polishText,
|
|
2223
2293
|
preset: e
|
|
2224
2294
|
}, d("polish"), s({
|
|
2225
2295
|
text: n.polishText,
|
|
2226
|
-
preset: e
|
|
2296
|
+
preset: e,
|
|
2297
|
+
prompt: Qr(e)
|
|
2227
2298
|
}));
|
|
2228
2299
|
}, [
|
|
2229
2300
|
p,
|
|
@@ -2243,10 +2314,10 @@ var Q = {
|
|
|
2243
2314
|
label: h("editor.aiTypeset"),
|
|
2244
2315
|
disabled: _,
|
|
2245
2316
|
icon: /* @__PURE__ */ y("img", {
|
|
2246
|
-
src:
|
|
2317
|
+
src: aa,
|
|
2247
2318
|
alt: "",
|
|
2248
|
-
width:
|
|
2249
|
-
height:
|
|
2319
|
+
width: sa,
|
|
2320
|
+
height: sa,
|
|
2250
2321
|
className: Q["bsy-lexical-ai__icon"],
|
|
2251
2322
|
draggable: !1
|
|
2252
2323
|
})
|
|
@@ -2255,10 +2326,10 @@ var Q = {
|
|
|
2255
2326
|
label: h("editor.aiPolish"),
|
|
2256
2327
|
disabled: x,
|
|
2257
2328
|
icon: /* @__PURE__ */ y("img", {
|
|
2258
|
-
src:
|
|
2329
|
+
src: oa,
|
|
2259
2330
|
alt: "",
|
|
2260
|
-
width:
|
|
2261
|
-
height:
|
|
2331
|
+
width: sa,
|
|
2332
|
+
height: sa,
|
|
2262
2333
|
className: Q["bsy-lexical-ai__icon"],
|
|
2263
2334
|
draggable: !1
|
|
2264
2335
|
}),
|
|
@@ -2267,28 +2338,28 @@ var Q = {
|
|
|
2267
2338
|
label: h(Jr[e])
|
|
2268
2339
|
}))
|
|
2269
2340
|
}], O = /* @__PURE__ */ y("div", {
|
|
2270
|
-
className:
|
|
2341
|
+
className: P(W["bsy-lexical__toolbar-select"], W["bsy-lexical__toolbar-select--ai"], Q["bsy-lexical-ai__trigger"]),
|
|
2271
2342
|
children: /* @__PURE__ */ y(q, {
|
|
2272
2343
|
tooltip: n,
|
|
2273
2344
|
showDisabledTooltip: r,
|
|
2274
2345
|
disabled: S,
|
|
2275
2346
|
icon: /* @__PURE__ */ b(v, { children: [
|
|
2276
2347
|
/* @__PURE__ */ y("img", {
|
|
2277
|
-
src:
|
|
2348
|
+
src: aa,
|
|
2278
2349
|
alt: "",
|
|
2279
|
-
width:
|
|
2280
|
-
height:
|
|
2350
|
+
width: sa,
|
|
2351
|
+
height: sa,
|
|
2281
2352
|
className: Q["bsy-lexical-ai__icon"],
|
|
2282
2353
|
draggable: !1
|
|
2283
2354
|
}),
|
|
2284
2355
|
/* @__PURE__ */ y("span", {
|
|
2285
|
-
className:
|
|
2356
|
+
className: W["bsy-lexical__toolbar-select-label"],
|
|
2286
2357
|
children: h("editor.aiTypeset")
|
|
2287
2358
|
}),
|
|
2288
2359
|
/* @__PURE__ */ y(e, {
|
|
2289
2360
|
name: "arrow-down",
|
|
2290
2361
|
size: g,
|
|
2291
|
-
className:
|
|
2362
|
+
className: W["bsy-lexical__toolbar-select-arrow"]
|
|
2292
2363
|
})
|
|
2293
2364
|
] })
|
|
2294
2365
|
})
|
|
@@ -2297,51 +2368,51 @@ var Q = {
|
|
|
2297
2368
|
menus: D,
|
|
2298
2369
|
onClick: E,
|
|
2299
2370
|
showSearch: !1,
|
|
2300
|
-
offset:
|
|
2371
|
+
offset: H,
|
|
2301
2372
|
style: {
|
|
2302
2373
|
width: 147,
|
|
2303
2374
|
minWidth: 147
|
|
2304
2375
|
},
|
|
2305
2376
|
children: O
|
|
2306
2377
|
});
|
|
2307
|
-
},
|
|
2378
|
+
}, la = /* @__PURE__ */ new Map(), ua = (e, t) => {
|
|
2308
2379
|
if (!e) throw Error("registerToolbarButton: name is required");
|
|
2309
|
-
|
|
2310
|
-
},
|
|
2311
|
-
|
|
2312
|
-
},
|
|
2380
|
+
la.set(e, t);
|
|
2381
|
+
}, da = (e) => {
|
|
2382
|
+
la.delete(e);
|
|
2383
|
+
}, fa = (e) => la.get(e), pa = () => Array.from(la.keys());
|
|
2313
2384
|
Object.entries({
|
|
2314
|
-
undo:
|
|
2315
|
-
redo:
|
|
2316
|
-
bold:
|
|
2317
|
-
underline:
|
|
2318
|
-
italic:
|
|
2319
|
-
strikethrough:
|
|
2320
|
-
superscript:
|
|
2321
|
-
subscript:
|
|
2322
|
-
heading:
|
|
2323
|
-
fontSize:
|
|
2324
|
-
fontColor:
|
|
2325
|
-
fill:
|
|
2326
|
-
clearFormat:
|
|
2327
|
-
bullet:
|
|
2328
|
-
number:
|
|
2329
|
-
outdent:
|
|
2330
|
-
indent:
|
|
2331
|
-
align:
|
|
2332
|
-
link:
|
|
2333
|
-
unLink:
|
|
2334
|
-
picture:
|
|
2335
|
-
code:
|
|
2336
|
-
table:
|
|
2337
|
-
source:
|
|
2338
|
-
ai:
|
|
2385
|
+
undo: Or,
|
|
2386
|
+
redo: kr,
|
|
2387
|
+
bold: Un,
|
|
2388
|
+
underline: Wn,
|
|
2389
|
+
italic: Gn,
|
|
2390
|
+
strikethrough: Ar,
|
|
2391
|
+
superscript: jr,
|
|
2392
|
+
subscript: Mr,
|
|
2393
|
+
heading: Wr,
|
|
2394
|
+
fontSize: Kn,
|
|
2395
|
+
fontColor: tr,
|
|
2396
|
+
fill: nr,
|
|
2397
|
+
clearFormat: Kr,
|
|
2398
|
+
bullet: Fr,
|
|
2399
|
+
number: Ir,
|
|
2400
|
+
outdent: Pr,
|
|
2401
|
+
indent: Nr,
|
|
2402
|
+
align: ir,
|
|
2403
|
+
link: or,
|
|
2404
|
+
unLink: sr,
|
|
2405
|
+
picture: Dr,
|
|
2406
|
+
code: Lr,
|
|
2407
|
+
table: Br,
|
|
2408
|
+
source: Ur,
|
|
2409
|
+
ai: ca
|
|
2339
2410
|
}).forEach(([e, t]) => {
|
|
2340
|
-
|
|
2411
|
+
ua(e, t);
|
|
2341
2412
|
});
|
|
2342
2413
|
//#endregion
|
|
2343
2414
|
//#region src/components/Editor/utils/getToolbarItems.ts
|
|
2344
|
-
var
|
|
2415
|
+
var ma = (e, t, n) => {
|
|
2345
2416
|
if (n) return [
|
|
2346
2417
|
{
|
|
2347
2418
|
kind: "button",
|
|
@@ -2399,44 +2470,44 @@ var oa = (e, t, n) => {
|
|
|
2399
2470
|
key: `divider-${t.key}`
|
|
2400
2471
|
});
|
|
2401
2472
|
}), r;
|
|
2402
|
-
},
|
|
2473
|
+
}, ha = Cn.map((e) => ({
|
|
2403
2474
|
key: e.id,
|
|
2404
2475
|
label: e.label
|
|
2405
|
-
})),
|
|
2406
|
-
let [t] =
|
|
2476
|
+
})), ga = () => {
|
|
2477
|
+
let [t] = R(), { codeLanguage: n } = J(), { t: r } = a(), { iconSize: i } = K(), o = T((e) => {
|
|
2407
2478
|
let n = e.key;
|
|
2408
|
-
|
|
2409
|
-
let e =
|
|
2410
|
-
|
|
2479
|
+
G(t), t.update(() => {
|
|
2480
|
+
let e = I();
|
|
2481
|
+
L(e) && B(e.anchor.getNode(), z)?.setLanguage(n);
|
|
2411
2482
|
});
|
|
2412
2483
|
}, [t]), s = wn[n].label;
|
|
2413
2484
|
return /* @__PURE__ */ y(f, {
|
|
2414
|
-
menus:
|
|
2485
|
+
menus: ha,
|
|
2415
2486
|
onClick: o,
|
|
2416
2487
|
activeKey: [n],
|
|
2417
2488
|
showSearch: !1,
|
|
2418
|
-
offset:
|
|
2489
|
+
offset: H,
|
|
2419
2490
|
style: {
|
|
2420
2491
|
width: 120,
|
|
2421
2492
|
minWidth: 120
|
|
2422
2493
|
},
|
|
2423
2494
|
children: /* @__PURE__ */ y("div", {
|
|
2424
|
-
className:
|
|
2495
|
+
className: W["bsy-lexical__toolbar-select"],
|
|
2425
2496
|
style: { width: 120 },
|
|
2426
2497
|
children: /* @__PURE__ */ y(q, {
|
|
2427
2498
|
icon: /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y("span", {
|
|
2428
|
-
className:
|
|
2499
|
+
className: W["bsy-lexical__toolbar-select-label"],
|
|
2429
2500
|
children: s
|
|
2430
2501
|
}), /* @__PURE__ */ y(e, {
|
|
2431
2502
|
name: "arrow-down",
|
|
2432
2503
|
size: i,
|
|
2433
|
-
className:
|
|
2504
|
+
className: W["bsy-lexical__toolbar-select-arrow"]
|
|
2434
2505
|
})] }),
|
|
2435
2506
|
tooltip: r("editor.codeLanguage")
|
|
2436
2507
|
})
|
|
2437
2508
|
})
|
|
2438
2509
|
});
|
|
2439
|
-
},
|
|
2510
|
+
}, _a = {
|
|
2440
2511
|
initial: {
|
|
2441
2512
|
opacity: 0,
|
|
2442
2513
|
x: 6
|
|
@@ -2449,28 +2520,28 @@ var oa = (e, t, n) => {
|
|
|
2449
2520
|
opacity: 0,
|
|
2450
2521
|
x: -6
|
|
2451
2522
|
}
|
|
2452
|
-
},
|
|
2453
|
-
if (e.kind === "divider") return /* @__PURE__ */ y("div", { className:
|
|
2454
|
-
if (e.kind === "language") return /* @__PURE__ */ y(
|
|
2455
|
-
let t =
|
|
2523
|
+
}, va = (e) => {
|
|
2524
|
+
if (e.kind === "divider") return /* @__PURE__ */ y("div", { className: W["bsy-lexical__toolbar-divider"] });
|
|
2525
|
+
if (e.kind === "language") return /* @__PURE__ */ y(ga, {});
|
|
2526
|
+
let t = fa(e.name);
|
|
2456
2527
|
return t ? /* @__PURE__ */ y(t, { ...e.props }) : (console.warn(`[ToolbarPlugin] Button "${e.name}" is not registered.`), null);
|
|
2457
|
-
},
|
|
2458
|
-
let i =
|
|
2459
|
-
return i === null ? null : /* @__PURE__ */ y(
|
|
2528
|
+
}, ya = C(function({ item: e, motionProps: t, transition: n }, r) {
|
|
2529
|
+
let i = va(e);
|
|
2530
|
+
return i === null ? null : /* @__PURE__ */ y(se.div, {
|
|
2460
2531
|
ref: r,
|
|
2461
2532
|
"data-toolbar-item-key": e.key,
|
|
2462
|
-
className:
|
|
2533
|
+
className: P(W["bsy-lexical__toolbar-item"], e.kind === "button" && e.props?.disabled && W["bsy-lexical__toolbar-item--disabled"]),
|
|
2463
2534
|
layout: "position",
|
|
2464
2535
|
transition: n,
|
|
2465
2536
|
...t,
|
|
2466
2537
|
children: i
|
|
2467
2538
|
}, e.key);
|
|
2468
|
-
}),
|
|
2469
|
-
let { isCodeBlock: n } = J(), { isSourceMode: r } =
|
|
2539
|
+
}), ba = ({ config: e, sizeToken: t }) => {
|
|
2540
|
+
let { isCodeBlock: n } = J(), { isSourceMode: r } = Hr(), i = ce(), o = A(() => ma(e, n, r), [
|
|
2470
2541
|
e,
|
|
2471
2542
|
n,
|
|
2472
2543
|
r
|
|
2473
|
-
]), s = o.map((e) => e.key).join("|"), { t: c } = a(), l =
|
|
2544
|
+
]), s = o.map((e) => e.key).join("|"), { t: c } = a(), l = j(null), u = j({}), d = j(null), f = j(!0), [p, m] = M({
|
|
2474
2545
|
keys: s,
|
|
2475
2546
|
count: o.length
|
|
2476
2547
|
});
|
|
@@ -2478,12 +2549,12 @@ var oa = (e, t, n) => {
|
|
|
2478
2549
|
keys: s,
|
|
2479
2550
|
count: o.length
|
|
2480
2551
|
});
|
|
2481
|
-
let h = p.keys === s ? p.count : o.length, g =
|
|
2552
|
+
let h = p.keys === s ? p.count : o.length, g = j(h);
|
|
2482
2553
|
g.current = h;
|
|
2483
|
-
let [_, v] =
|
|
2554
|
+
let [_, v] = M(!1), x = {
|
|
2484
2555
|
duration: i ? 0 : .16,
|
|
2485
2556
|
ease: "easeOut"
|
|
2486
|
-
}, S = i ? {} :
|
|
2557
|
+
}, S = i ? {} : _a, C = T(() => {
|
|
2487
2558
|
let e = l.current;
|
|
2488
2559
|
if (!e || f.current && g.current !== o.length) return;
|
|
2489
2560
|
let t = getComputedStyle(e), n = Number.parseFloat(t.columnGap || t.gap) || 0, r = e.clientWidth, i = new Set(o.map((e) => e.key));
|
|
@@ -2502,13 +2573,13 @@ var oa = (e, t, n) => {
|
|
|
2502
2573
|
count: fn(c, r, a, n)
|
|
2503
2574
|
}));
|
|
2504
2575
|
}, [s, o]);
|
|
2505
|
-
|
|
2576
|
+
te(() => {
|
|
2506
2577
|
f.current = !0, u.current = {};
|
|
2507
2578
|
}, [
|
|
2508
2579
|
s,
|
|
2509
2580
|
o.length,
|
|
2510
2581
|
t
|
|
2511
|
-
]),
|
|
2582
|
+
]), te(() => {
|
|
2512
2583
|
C();
|
|
2513
2584
|
let e = l.current;
|
|
2514
2585
|
if (!e || typeof ResizeObserver > "u") return;
|
|
@@ -2519,48 +2590,48 @@ var oa = (e, t, n) => {
|
|
|
2519
2590
|
s,
|
|
2520
2591
|
t
|
|
2521
2592
|
]);
|
|
2522
|
-
let { visible: w, overflow: E } = pn(o, h), D = E.length > 0, O =
|
|
2593
|
+
let { visible: w, overflow: E } = pn(o, h), D = E.length > 0, O = j(E);
|
|
2523
2594
|
E.length > 0 && (O.current = E);
|
|
2524
|
-
let
|
|
2595
|
+
let ee = _ && D, k = D || _ && O.current.length > 0, N = D ? E : O.current;
|
|
2525
2596
|
return /* @__PURE__ */ b("div", {
|
|
2526
|
-
className:
|
|
2597
|
+
className: P(W["bsy-lexical__toolbar-stack"], i && W["bsy-lexical__toolbar-stack--instant"]),
|
|
2527
2598
|
children: [/* @__PURE__ */ b("div", {
|
|
2528
2599
|
ref: l,
|
|
2529
|
-
className:
|
|
2600
|
+
className: W["bsy-lexical__toolbar-items"],
|
|
2530
2601
|
children: [
|
|
2531
|
-
/* @__PURE__ */ y(
|
|
2602
|
+
/* @__PURE__ */ y(oe, {
|
|
2532
2603
|
initial: !1,
|
|
2533
2604
|
mode: "popLayout",
|
|
2534
|
-
children: w.map((e) => /* @__PURE__ */ y(
|
|
2605
|
+
children: w.map((e) => /* @__PURE__ */ y(ya, {
|
|
2535
2606
|
item: e,
|
|
2536
2607
|
motionProps: S,
|
|
2537
2608
|
transition: x
|
|
2538
2609
|
}, e.key))
|
|
2539
2610
|
}),
|
|
2540
2611
|
D ? /* @__PURE__ */ b("div", {
|
|
2541
|
-
className:
|
|
2542
|
-
children: [/* @__PURE__ */ y("div", { className:
|
|
2543
|
-
icon:
|
|
2544
|
-
tooltip: c(
|
|
2545
|
-
highlight:
|
|
2612
|
+
className: P(W["bsy-lexical__toolbar-overflow"], W["bsy-lexical__toolbar-with-divider"]),
|
|
2613
|
+
children: [/* @__PURE__ */ y("div", { className: W["bsy-lexical__toolbar-divider"] }), /* @__PURE__ */ y(q, {
|
|
2614
|
+
icon: ee ? "packupeverything" : "expandall",
|
|
2615
|
+
tooltip: c(ee ? "editor.collapse" : "editor.expand"),
|
|
2616
|
+
highlight: ee,
|
|
2546
2617
|
onClick: () => v((e) => !e)
|
|
2547
2618
|
})]
|
|
2548
2619
|
}) : null,
|
|
2549
2620
|
/* @__PURE__ */ b("div", {
|
|
2550
2621
|
ref: d,
|
|
2551
|
-
className:
|
|
2622
|
+
className: P(W["bsy-lexical__toolbar-more-sizer"], W["bsy-lexical__toolbar-with-divider"]),
|
|
2552
2623
|
"aria-hidden": !0,
|
|
2553
|
-
children: [/* @__PURE__ */ y("div", { className:
|
|
2624
|
+
children: [/* @__PURE__ */ y("div", { className: W["bsy-lexical__toolbar-divider"] }), /* @__PURE__ */ y(q, {
|
|
2554
2625
|
icon: "expandall",
|
|
2555
2626
|
tooltip: ""
|
|
2556
2627
|
})]
|
|
2557
2628
|
})
|
|
2558
2629
|
]
|
|
2559
|
-
}),
|
|
2560
|
-
className:
|
|
2630
|
+
}), k ? /* @__PURE__ */ y("div", {
|
|
2631
|
+
className: P(W["bsy-lexical__toolbar-overflow-row"], ee && W["bsy-lexical__toolbar-overflow-row--open"], i && W["bsy-lexical__toolbar-overflow-row--instant"]),
|
|
2561
2632
|
children: /* @__PURE__ */ y("div", {
|
|
2562
|
-
className:
|
|
2563
|
-
children:
|
|
2633
|
+
className: W["bsy-lexical__toolbar-overflow-inner"],
|
|
2634
|
+
children: N.map((e) => /* @__PURE__ */ y(ya, {
|
|
2564
2635
|
item: e,
|
|
2565
2636
|
motionProps: {},
|
|
2566
2637
|
transition: x
|
|
@@ -2568,11 +2639,11 @@ var oa = (e, t, n) => {
|
|
|
2568
2639
|
})
|
|
2569
2640
|
}) : null]
|
|
2570
2641
|
});
|
|
2571
|
-
},
|
|
2572
|
-
let { config: t = [], style: n, theme: r, mode: i, floating: a, stickyOffset: o, size: s =
|
|
2642
|
+
}, xa = (e) => {
|
|
2643
|
+
let { config: t = [], style: n, theme: r, mode: i, floating: a, stickyOffset: o, size: s = sn } = e, { toolbarRef: c } = mr(), l = i === "floating", u = o !== void 0, d = ce(), f = {
|
|
2573
2644
|
duration: d ? 0 : .16,
|
|
2574
2645
|
ease: "easeOut"
|
|
2575
|
-
}, p =
|
|
2646
|
+
}, p = A(() => ln(r, s), [r, s]), m = A(() => ({ iconSize: un(r?.iconSize, s) }), [r?.iconSize, s]), h = l ? dn(a) : void 0, _ = l ? g(n, [
|
|
2576
2647
|
"position",
|
|
2577
2648
|
"left",
|
|
2578
2649
|
"top",
|
|
@@ -2585,18 +2656,18 @@ var oa = (e, t, n) => {
|
|
|
2585
2656
|
]) : n;
|
|
2586
2657
|
return /* @__PURE__ */ y(Vn, {
|
|
2587
2658
|
value: m,
|
|
2588
|
-
children: /* @__PURE__ */ y(zn, { children: /* @__PURE__ */ y(In, { children: /* @__PURE__ */ y(
|
|
2659
|
+
children: /* @__PURE__ */ y(zn, { children: /* @__PURE__ */ y(In, { children: /* @__PURE__ */ y(se.div, {
|
|
2589
2660
|
ref: c,
|
|
2590
2661
|
layout: d || u ? !1 : "position",
|
|
2591
2662
|
transition: f,
|
|
2592
|
-
className:
|
|
2663
|
+
className: P(W["bsy-lexical__toolbar"], l && W["bsy-lexical__toolbar--floating"], u && W["bsy-lexical__toolbar--sticky"]),
|
|
2593
2664
|
style: {
|
|
2594
2665
|
...p,
|
|
2595
2666
|
...u ? { top: o } : null,
|
|
2596
2667
|
...h,
|
|
2597
2668
|
..._
|
|
2598
2669
|
},
|
|
2599
|
-
children: /* @__PURE__ */ y(
|
|
2670
|
+
children: /* @__PURE__ */ y(ba, {
|
|
2600
2671
|
config: t,
|
|
2601
2672
|
sizeToken: `${s}|${r?.itemHeight ?? ""}|${r?.iconSize ?? ""}`
|
|
2602
2673
|
})
|
|
@@ -2612,12 +2683,12 @@ var oa = (e, t, n) => {
|
|
|
2612
2683
|
"bsy-lexical-editor__content-editable": "_bsy-lexical-editor__content-editable_1l05x_28",
|
|
2613
2684
|
"bsy-lexical-editor__length-badge": "_bsy-lexical-editor__length-badge_1l05x_41",
|
|
2614
2685
|
"bsy-lexical-editor__length-badge--exceeded": "_bsy-lexical-editor__length-badge--exceeded_1l05x_53"
|
|
2615
|
-
},
|
|
2686
|
+
}, Sa = (e) => {
|
|
2616
2687
|
if (!(e === void 0 || e === "")) return typeof e == "number" ? `${e}px` : e;
|
|
2617
|
-
},
|
|
2688
|
+
}, Ca = (e) => {
|
|
2618
2689
|
let t = {};
|
|
2619
|
-
return e ? (s(t, "--bsy-editor-container-border-color", e.borderColor), s(t, "--bsy-editor-container-border-width",
|
|
2620
|
-
},
|
|
2690
|
+
return e ? (s(t, "--bsy-editor-container-border-color", e.borderColor), s(t, "--bsy-editor-container-border-width", Sa(e.borderWidth)), s(t, "--bsy-editor-container-border-radius", Sa(e.borderRadius)), t) : t;
|
|
2691
|
+
}, wa = class e extends rt {
|
|
2621
2692
|
constructor(e, t) {
|
|
2622
2693
|
super(e, t);
|
|
2623
2694
|
}
|
|
@@ -2628,46 +2699,46 @@ var oa = (e, t, n) => {
|
|
|
2628
2699
|
return new e(t.__text, t.__key);
|
|
2629
2700
|
}
|
|
2630
2701
|
static importDOM() {
|
|
2631
|
-
let e =
|
|
2702
|
+
let e = rt.importDOM();
|
|
2632
2703
|
return {
|
|
2633
2704
|
...e,
|
|
2634
2705
|
code: () => ({
|
|
2635
|
-
conversion:
|
|
2706
|
+
conversion: Ea(e?.code),
|
|
2636
2707
|
priority: 1
|
|
2637
2708
|
}),
|
|
2638
2709
|
em: () => ({
|
|
2639
|
-
conversion:
|
|
2710
|
+
conversion: Ea(e?.em),
|
|
2640
2711
|
priority: 1
|
|
2641
2712
|
}),
|
|
2642
2713
|
span: () => ({
|
|
2643
|
-
conversion:
|
|
2714
|
+
conversion: Ea(e?.span),
|
|
2644
2715
|
priority: 1
|
|
2645
2716
|
}),
|
|
2646
2717
|
strong: () => ({
|
|
2647
|
-
conversion:
|
|
2718
|
+
conversion: Ea(e?.strong),
|
|
2648
2719
|
priority: 1
|
|
2649
2720
|
}),
|
|
2650
2721
|
sub: () => ({
|
|
2651
|
-
conversion:
|
|
2722
|
+
conversion: Ea(e?.sub),
|
|
2652
2723
|
priority: 1
|
|
2653
2724
|
}),
|
|
2654
2725
|
sup: () => ({
|
|
2655
|
-
conversion:
|
|
2726
|
+
conversion: Ea(e?.sup),
|
|
2656
2727
|
priority: 1
|
|
2657
2728
|
})
|
|
2658
2729
|
};
|
|
2659
2730
|
}
|
|
2660
2731
|
static importJSON(e) {
|
|
2661
|
-
return
|
|
2732
|
+
return Ta().updateFromJSON(e);
|
|
2662
2733
|
}
|
|
2663
2734
|
isSimpleText() {
|
|
2664
2735
|
return this.__type === "extended-text" && this.__mode === 0;
|
|
2665
2736
|
}
|
|
2666
2737
|
};
|
|
2667
|
-
function
|
|
2668
|
-
return
|
|
2738
|
+
function Ta(e = "") {
|
|
2739
|
+
return ve(new wa(e));
|
|
2669
2740
|
}
|
|
2670
|
-
function
|
|
2741
|
+
function Ea(e) {
|
|
2671
2742
|
return (t) => {
|
|
2672
2743
|
let n = e?.(t);
|
|
2673
2744
|
if (!n) return null;
|
|
@@ -2678,7 +2749,7 @@ function va(e) {
|
|
|
2678
2749
|
...r,
|
|
2679
2750
|
forChild: (e, t) => {
|
|
2680
2751
|
let n = (r?.forChild ?? ((e) => e))(e, t);
|
|
2681
|
-
if (
|
|
2752
|
+
if (je(n)) {
|
|
2682
2753
|
let e = [
|
|
2683
2754
|
i ? `background-color: ${i}` : null,
|
|
2684
2755
|
a ? `color: ${a}` : null,
|
|
@@ -2696,81 +2767,81 @@ function va(e) {
|
|
|
2696
2767
|
}
|
|
2697
2768
|
//#endregion
|
|
2698
2769
|
//#region src/components/Editor/utils/stripInlineStyleProperty.ts
|
|
2699
|
-
function
|
|
2770
|
+
function Da(e, t) {
|
|
2700
2771
|
return e.split(";").map((e) => e.trim()).filter((e) => e && e.split(":")[0].trim().toLowerCase() !== t).join("; ");
|
|
2701
2772
|
}
|
|
2702
2773
|
//#endregion
|
|
2703
2774
|
//#region src/components/Editor/plugins/LinkColorPlugin.tsx
|
|
2704
|
-
function
|
|
2705
|
-
if (!
|
|
2775
|
+
function Oa(e) {
|
|
2776
|
+
if (!B(e, ut)) return;
|
|
2706
2777
|
let t = e.getStyle();
|
|
2707
2778
|
if (!t) return;
|
|
2708
|
-
let n =
|
|
2779
|
+
let n = Da(t, "color");
|
|
2709
2780
|
n !== t && e.setStyle(n);
|
|
2710
2781
|
}
|
|
2711
|
-
function
|
|
2712
|
-
let [e] =
|
|
2713
|
-
return O(() => e.registerNodeTransform(
|
|
2782
|
+
function ka() {
|
|
2783
|
+
let [e] = R();
|
|
2784
|
+
return O(() => e.registerNodeTransform(wa, Oa), [e]), null;
|
|
2714
2785
|
}
|
|
2715
2786
|
//#endregion
|
|
2716
2787
|
//#region src/components/Editor/plugins/ImagePlugin.tsx
|
|
2717
|
-
function
|
|
2718
|
-
let [e] =
|
|
2719
|
-
return O(() => e.registerCommand(
|
|
2788
|
+
function Aa() {
|
|
2789
|
+
let [e] = R();
|
|
2790
|
+
return O(() => e.registerCommand(Er, (e) => (Ee([rn(e)]), !0), Be), [e]), null;
|
|
2720
2791
|
}
|
|
2721
2792
|
//#endregion
|
|
2722
2793
|
//#region src/components/Editor/utils/stripImagesFromHtml.ts
|
|
2723
|
-
function
|
|
2794
|
+
function ja(e) {
|
|
2724
2795
|
let t = new DOMParser().parseFromString(e, "text/html");
|
|
2725
2796
|
return t.querySelectorAll("img, picture").forEach((e) => e.remove()), t.body.innerHTML;
|
|
2726
2797
|
}
|
|
2727
2798
|
//#endregion
|
|
2728
2799
|
//#region src/components/Editor/plugins/PasteStripImagePlugin.tsx
|
|
2729
|
-
var
|
|
2730
|
-
function
|
|
2731
|
-
let [e] =
|
|
2800
|
+
var Ma = /<img\b|<picture\b/i;
|
|
2801
|
+
function Na() {
|
|
2802
|
+
let [e] = R(), { isSourceModeRef: t } = Hr();
|
|
2732
2803
|
return O(() => {
|
|
2733
2804
|
let n = (n) => {
|
|
2734
2805
|
if (t.current) return !1;
|
|
2735
2806
|
let r = "clipboardData" in n ? n.clipboardData : "dataTransfer" in n ? n.dataTransfer : null;
|
|
2736
2807
|
if (!r || r.getData("application/x-lexical-editor") || r.getData("application/x-lexical-drag")) return !1;
|
|
2737
2808
|
let i = r.getData("text/html");
|
|
2738
|
-
if (!(Array.from(r.files).some((e) => e.type.startsWith("image/")) || Array.from(r.items).some((e) => e.type.startsWith("image/")) ||
|
|
2809
|
+
if (!(Array.from(r.files).some((e) => e.type.startsWith("image/")) || Array.from(r.items).some((e) => e.type.startsWith("image/")) || Ma.test(i))) return !1;
|
|
2739
2810
|
n.preventDefault();
|
|
2740
2811
|
let a = r.getData("text/plain");
|
|
2741
|
-
return !
|
|
2742
|
-
let t =
|
|
2812
|
+
return !Ma.test(i) && !a || e.update(() => {
|
|
2813
|
+
let t = I();
|
|
2743
2814
|
if (t === null) return;
|
|
2744
|
-
let n = i ?
|
|
2815
|
+
let n = i ? ja(i) : "", r = document.createElement("div");
|
|
2745
2816
|
if (r.innerHTML = n, n && r.textContent?.trim()) {
|
|
2746
|
-
let t =
|
|
2817
|
+
let t = _e(e, new DOMParser().parseFromString(n, "text/html"));
|
|
2747
2818
|
if (t.length) {
|
|
2748
|
-
|
|
2819
|
+
Ee(t);
|
|
2749
2820
|
return;
|
|
2750
2821
|
}
|
|
2751
2822
|
}
|
|
2752
2823
|
a && t.insertRawText(a);
|
|
2753
|
-
}, { tag:
|
|
2824
|
+
}, { tag: et }), !0;
|
|
2754
2825
|
};
|
|
2755
|
-
return
|
|
2826
|
+
return Xt(e.registerCommand($e, (e) => n(e), Ve), e.registerCommand(Ue, (e) => n(e), Ve));
|
|
2756
2827
|
}, [e, t]), null;
|
|
2757
2828
|
}
|
|
2758
2829
|
//#endregion
|
|
2759
2830
|
//#region src/components/Editor/plugins/EnterKeyPlugin.tsx
|
|
2760
|
-
function
|
|
2761
|
-
let [e] =
|
|
2762
|
-
return O(() => e.registerCommand(
|
|
2831
|
+
function Pa() {
|
|
2832
|
+
let [e] = R(), t = j(0);
|
|
2833
|
+
return O(() => e.registerCommand(Xe, (n) => {
|
|
2763
2834
|
let r = Date.now(), i = r - t.current;
|
|
2764
2835
|
return t.current = r, i < 250 && i > 0 ? e.getEditorState().read(() => {
|
|
2765
|
-
let e =
|
|
2766
|
-
return
|
|
2836
|
+
let e = I();
|
|
2837
|
+
return L(e) ? !!B(e.anchor.getNode(), (e) => ht(e) || z(e) || Pt(e)) : !1;
|
|
2767
2838
|
}, { editor: e }) ? !1 : (e.update(() => {
|
|
2768
|
-
let e =
|
|
2769
|
-
if (
|
|
2839
|
+
let e = I();
|
|
2840
|
+
if (L(e)) {
|
|
2770
2841
|
let t = e.anchor.getNode().getTopLevelElement();
|
|
2771
2842
|
if (t && t.getTextContent().trim() === "") {
|
|
2772
|
-
let n =
|
|
2773
|
-
|
|
2843
|
+
let n = be();
|
|
2844
|
+
At(e, {
|
|
2774
2845
|
"background-color": "",
|
|
2775
2846
|
color: "",
|
|
2776
2847
|
"font-size": "",
|
|
@@ -2783,11 +2854,11 @@ function Ea() {
|
|
|
2783
2854
|
}
|
|
2784
2855
|
}
|
|
2785
2856
|
}), n?.preventDefault(), !0) : !1;
|
|
2786
|
-
},
|
|
2857
|
+
}, He), [e]), null;
|
|
2787
2858
|
}
|
|
2788
2859
|
//#endregion
|
|
2789
2860
|
//#region src/components/Editor/utils/codeHighlighter.ts
|
|
2790
|
-
var
|
|
2861
|
+
var Fa = {
|
|
2791
2862
|
css: () => import("@shikijs/langs/css"),
|
|
2792
2863
|
html: () => import("@shikijs/langs/html"),
|
|
2793
2864
|
xml: () => import("@shikijs/langs/xml"),
|
|
@@ -2808,70 +2879,70 @@ var Da = {
|
|
|
2808
2879
|
bash: () => import("@shikijs/langs/shellscript"),
|
|
2809
2880
|
lua: () => import("@shikijs/langs/lua"),
|
|
2810
2881
|
markdown: () => import("@shikijs/langs/markdown")
|
|
2811
|
-
},
|
|
2882
|
+
}, Ia = (e) => e === "bash" ? "shellscript" : e, La = (e) => e in Fa, Ra = null, za = null, Ba = /* @__PURE__ */ new Map(), Va = () => (Ra ||= Promise.all([import("@shikijs/core"), import("@shikijs/engine-javascript")]).then(([{ createHighlighterCoreSync: e }, { createJavaScriptRegexEngine: t }]) => e({
|
|
2812
2883
|
engine: t(),
|
|
2813
2884
|
langs: [],
|
|
2814
2885
|
themes: []
|
|
2815
2886
|
})).catch((e) => {
|
|
2816
|
-
throw
|
|
2817
|
-
}),
|
|
2818
|
-
let t =
|
|
2819
|
-
return t || (t =
|
|
2820
|
-
let n =
|
|
2887
|
+
throw Ra = null, e;
|
|
2888
|
+
}), Ra), Ha = (e, t) => La(t) && e.getLoadedLanguages().includes(Ia(t)), Ua = (e) => {
|
|
2889
|
+
let t = Ba.get(e);
|
|
2890
|
+
return t || (t = Va().then(async (t) => {
|
|
2891
|
+
let n = Ia(e);
|
|
2821
2892
|
if (!t.getLoadedLanguages().includes(n)) {
|
|
2822
|
-
let n = await
|
|
2893
|
+
let n = await Fa[e]();
|
|
2823
2894
|
await t.loadLanguage(n.default);
|
|
2824
2895
|
}
|
|
2825
2896
|
return t;
|
|
2826
2897
|
}).catch((t) => {
|
|
2827
|
-
throw
|
|
2828
|
-
}),
|
|
2829
|
-
},
|
|
2898
|
+
throw Ba.delete(e), t;
|
|
2899
|
+
}), Ba.set(e, t)), t;
|
|
2900
|
+
}, Wa = () => (za ||= Va().then(async (e) => {
|
|
2830
2901
|
if (!e.getLoadedThemes().includes("github-light")) {
|
|
2831
2902
|
let t = await import("@shikijs/themes/github-light");
|
|
2832
2903
|
await e.loadTheme(t.default);
|
|
2833
2904
|
}
|
|
2834
2905
|
return e;
|
|
2835
2906
|
}).catch((e) => {
|
|
2836
|
-
throw
|
|
2837
|
-
}),
|
|
2907
|
+
throw za = null, e;
|
|
2908
|
+
}), za), Ga = (e, t, n) => {
|
|
2838
2909
|
let r = e.getTextContent();
|
|
2839
|
-
if (e.getStyle() && e.setStyle(""), !n || !
|
|
2840
|
-
let i =
|
|
2910
|
+
if (e.getStyle() && e.setStyle(""), !n || !Ha(n, t)) return Tt(r);
|
|
2911
|
+
let i = Ia(t), a = n.codeToTokens(r, {
|
|
2841
2912
|
lang: i,
|
|
2842
2913
|
theme: Sn
|
|
2843
2914
|
}), o = [];
|
|
2844
2915
|
return a.tokens.forEach((e, t) => {
|
|
2845
|
-
t && o.push(
|
|
2916
|
+
t && o.push(ye()), e.forEach((e) => {
|
|
2846
2917
|
e.content.split(" ").forEach((t, n) => {
|
|
2847
|
-
if (n && o.push(
|
|
2848
|
-
let r =
|
|
2918
|
+
if (n && o.push(xe()), t === "") return;
|
|
2919
|
+
let r = St(t), i = typeof e.htmlStyle == "string" ? e.htmlStyle : e.htmlStyle ? Object.entries(e.htmlStyle).map(([e, t]) => `${e}:${t}`).join(";") : e.color ? `color: ${e.color}` : "";
|
|
2849
2920
|
i && r.setStyle(i), o.push(r);
|
|
2850
2921
|
});
|
|
2851
2922
|
});
|
|
2852
2923
|
}), o;
|
|
2853
|
-
},
|
|
2854
|
-
let n =
|
|
2855
|
-
if (!
|
|
2856
|
-
let r =
|
|
2857
|
-
if (!
|
|
2924
|
+
}, Ka = (e, t) => {
|
|
2925
|
+
let n = we(e);
|
|
2926
|
+
if (!z(n) || !n.isAttached()) return;
|
|
2927
|
+
let r = I();
|
|
2928
|
+
if (!L(r)) {
|
|
2858
2929
|
t();
|
|
2859
2930
|
return;
|
|
2860
2931
|
}
|
|
2861
2932
|
let { anchor: i } = r;
|
|
2862
|
-
if (
|
|
2933
|
+
if (B(i.getNode(), z) !== n) {
|
|
2863
2934
|
t();
|
|
2864
2935
|
return;
|
|
2865
2936
|
}
|
|
2866
|
-
let a = i.offset, o = i.type === "element" &&
|
|
2937
|
+
let a = i.offset, o = i.type === "element" && Oe(n.getChildAtIndex(i.offset - 1)), s = 0;
|
|
2867
2938
|
if (o || (s = a + i.getNode().getPreviousSiblings().reduce((e, t) => e + t.getTextContentSize(), 0)), t()) {
|
|
2868
2939
|
if (o) {
|
|
2869
2940
|
i.getNode().select(a, a);
|
|
2870
2941
|
return;
|
|
2871
2942
|
}
|
|
2872
2943
|
n.getChildren().some((e) => {
|
|
2873
|
-
let t =
|
|
2874
|
-
if (t ||
|
|
2944
|
+
let t = je(e);
|
|
2945
|
+
if (t || Oe(e)) {
|
|
2875
2946
|
let n = e.getTextContentSize();
|
|
2876
2947
|
if (t && n >= s) return e.select(s, s), !0;
|
|
2877
2948
|
s -= n;
|
|
@@ -2879,11 +2950,11 @@ var Da = {
|
|
|
2879
2950
|
return !1;
|
|
2880
2951
|
});
|
|
2881
2952
|
}
|
|
2882
|
-
},
|
|
2953
|
+
}, qa = (e, t) => wt(e) && wt(t) && e.__text === t.__text && e.__highlightType === t.__highlightType && e.__style === t.__style || Ae(e) && Ae(t) || Oe(e) && Oe(t), Ja = (e, t) => {
|
|
2883
2954
|
let n = 0;
|
|
2884
|
-
for (; n < e.length &&
|
|
2955
|
+
for (; n < e.length && qa(e[n], t[n]);) n++;
|
|
2885
2956
|
let r = e.length, i = t.length, a = Math.min(r, i) - n, o = 0;
|
|
2886
|
-
for (; o < a;) if (o++, !
|
|
2957
|
+
for (; o < a;) if (o++, !qa(e[r - o], t[i - o])) {
|
|
2887
2958
|
o--;
|
|
2888
2959
|
break;
|
|
2889
2960
|
}
|
|
@@ -2892,21 +2963,21 @@ var Da = {
|
|
|
2892
2963
|
to: r - o,
|
|
2893
2964
|
nodesForReplacement: t.slice(n, i - o)
|
|
2894
2965
|
};
|
|
2895
|
-
},
|
|
2966
|
+
}, Ya = (e, t, n, r, i) => {
|
|
2896
2967
|
let a = i.getKey(), o = Tn(i.getLanguage());
|
|
2897
2968
|
if (i.getLanguage() !== o && i.setLanguage(o), o === "plaintext") i.getIsSyntaxHighlightSupported() && i.setIsSyntaxHighlightSupported(!1);
|
|
2898
2969
|
else {
|
|
2899
2970
|
i.getTheme() !== "github-light" && i.setTheme(Sn);
|
|
2900
|
-
let s = t ? t.getLoadedThemes().includes("github-light") ?
|
|
2971
|
+
let s = t ? t.getLoadedThemes().includes("github-light") ? La(o) && !Ha(t, o) ? Ua(o) : null : Wa() : Va();
|
|
2901
2972
|
if (s) {
|
|
2902
2973
|
i.getIsSyntaxHighlightSupported() && i.setIsSyntaxHighlightSupported(!1), n.pendingKeys.add(a), n.loading !== s && (n.loading = s, s.then((t) => {
|
|
2903
2974
|
r(t);
|
|
2904
2975
|
let i = [...n.pendingKeys];
|
|
2905
2976
|
n.pendingKeys.clear(), n.loading = null, e.update(() => {
|
|
2906
2977
|
i.forEach((e) => {
|
|
2907
|
-
|
|
2978
|
+
we(e)?.markDirty();
|
|
2908
2979
|
});
|
|
2909
|
-
}, { tag:
|
|
2980
|
+
}, { tag: Je });
|
|
2910
2981
|
}, () => {
|
|
2911
2982
|
n.pendingKeys.clear(), n.loading = null;
|
|
2912
2983
|
}));
|
|
@@ -2914,22 +2985,22 @@ var Da = {
|
|
|
2914
2985
|
}
|
|
2915
2986
|
i.getIsSyntaxHighlightSupported() || i.setIsSyntaxHighlightSupported(!0);
|
|
2916
2987
|
}
|
|
2917
|
-
n.nodesCurrentlyHighlighting.has(a) || (n.nodesCurrentlyHighlighting.add(a), n.didTransform || (n.didTransform = !0,
|
|
2988
|
+
n.nodesCurrentlyHighlighting.has(a) || (n.nodesCurrentlyHighlighting.add(a), n.didTransform || (n.didTransform = !0, Ne(() => {
|
|
2918
2989
|
n.didTransform = !1, n.nodesCurrentlyHighlighting.clear();
|
|
2919
|
-
})),
|
|
2920
|
-
let e =
|
|
2921
|
-
if (!
|
|
2922
|
-
let n =
|
|
2990
|
+
})), Ka(a, () => {
|
|
2991
|
+
let e = we(a);
|
|
2992
|
+
if (!z(e) || !e.isAttached()) return !1;
|
|
2993
|
+
let n = Ga(e, Tn(e.getLanguage()), t), { from: r, to: i, nodesForReplacement: o } = Ja(e.getChildren(), n);
|
|
2923
2994
|
return r !== i || o.length ? (e.splice(r, i - r, o), !0) : !1;
|
|
2924
2995
|
}));
|
|
2925
|
-
},
|
|
2996
|
+
}, Xa = (e, t, n, r, i) => {
|
|
2926
2997
|
let a = i.getParent();
|
|
2927
|
-
|
|
2998
|
+
z(a) ? Ya(e, t, n, r, a) : wt(i) && i.replace(Se(i.__text));
|
|
2928
2999
|
};
|
|
2929
|
-
function
|
|
2930
|
-
let [e] =
|
|
3000
|
+
function Za() {
|
|
3001
|
+
let [e] = R();
|
|
2931
3002
|
return O(() => {
|
|
2932
|
-
if (!e.hasNodes([
|
|
3003
|
+
if (!e.hasNodes([Dt, Et])) throw Error("CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor");
|
|
2933
3004
|
let t = null, n = {
|
|
2934
3005
|
didTransform: !1,
|
|
2935
3006
|
nodesCurrentlyHighlighting: /* @__PURE__ */ new Set(),
|
|
@@ -2938,16 +3009,16 @@ function Ua() {
|
|
|
2938
3009
|
}, r = (e) => {
|
|
2939
3010
|
t = e;
|
|
2940
3011
|
}, i = (e) => {
|
|
2941
|
-
let t =
|
|
2942
|
-
if (!
|
|
3012
|
+
let t = we(e);
|
|
3013
|
+
if (!z(t)) return;
|
|
2943
3014
|
let n = t.getChildrenSize();
|
|
2944
3015
|
n === 0 ? t.selectStart() : t.select(0, n);
|
|
2945
3016
|
}, a = (t) => {
|
|
2946
3017
|
if (!(t instanceof Node) || !e.getRootElement()?.contains(t)) return null;
|
|
2947
3018
|
let n = null;
|
|
2948
3019
|
return e.getEditorState().read(() => {
|
|
2949
|
-
let e =
|
|
2950
|
-
|
|
3020
|
+
let e = Ce(t), r = e ? B(e, z) : null;
|
|
3021
|
+
z(r) && (n = r.getKey());
|
|
2951
3022
|
}, { editor: e }), n;
|
|
2952
3023
|
}, o = null, s = (t, n, r) => {
|
|
2953
3024
|
t.preventDefault(), r && (o = n), e.update(() => {
|
|
@@ -2969,12 +3040,12 @@ function Ua() {
|
|
|
2969
3040
|
}, d = (e, t) => {
|
|
2970
3041
|
t?.removeEventListener("mousedown", c, !0), t?.removeEventListener("mouseup", u, !0), t?.removeEventListener("dblclick", l, !0), e?.addEventListener("mousedown", c, !0), e?.addEventListener("mouseup", u, !0), e?.addEventListener("dblclick", l, !0);
|
|
2971
3042
|
};
|
|
2972
|
-
return
|
|
2973
|
-
|
|
2974
|
-
}), e.registerNodeTransform(
|
|
2975
|
-
|
|
2976
|
-
}), e.registerNodeTransform(
|
|
2977
|
-
|
|
3043
|
+
return st(Ot(e), e.registerNodeTransform(Dt, (i) => {
|
|
3044
|
+
Ya(e, t, n, r, i);
|
|
3045
|
+
}), e.registerNodeTransform(rt, (i) => {
|
|
3046
|
+
Xa(e, t, n, r, i);
|
|
3047
|
+
}), e.registerNodeTransform(Et, (i) => {
|
|
3048
|
+
Xa(e, t, n, r, i);
|
|
2978
3049
|
}), e.registerRootListener(d), () => {
|
|
2979
3050
|
d(null, e.getRootElement());
|
|
2980
3051
|
});
|
|
@@ -2982,23 +3053,23 @@ function Ua() {
|
|
|
2982
3053
|
}
|
|
2983
3054
|
//#endregion
|
|
2984
3055
|
//#region src/components/Editor/plugins/TablePlugin.tsx
|
|
2985
|
-
function
|
|
2986
|
-
let [e] =
|
|
2987
|
-
return O(() => (
|
|
3056
|
+
function Qa() {
|
|
3057
|
+
let [e] = R();
|
|
3058
|
+
return O(() => (Gt(e, !0), Xt(Ut(e), Wt(e, !1), Ht(e), e.registerNodeTransform(zt, (e) => {
|
|
2988
3059
|
e.getBackgroundColor() !== null && e.setBackgroundColor(null);
|
|
2989
|
-
}), e.registerCommand(
|
|
2990
|
-
let t =
|
|
2991
|
-
if (!
|
|
2992
|
-
let n =
|
|
3060
|
+
}), e.registerCommand(Ze, (e) => {
|
|
3061
|
+
let t = I();
|
|
3062
|
+
if (!L(t) || !t.isCollapsed()) return !1;
|
|
3063
|
+
let n = Nt(t.anchor.getNode());
|
|
2993
3064
|
if (n === null) return !1;
|
|
2994
3065
|
let r = e.shiftKey ? "previous" : "next", i = r === "next" ? "getNextSibling" : "getPreviousSibling", a = r === "next" ? "getFirstChild" : "getLastChild", o = n[i](), s = null;
|
|
2995
|
-
if (
|
|
3066
|
+
if (Pt(o)) s = o;
|
|
2996
3067
|
else {
|
|
2997
|
-
let e =
|
|
3068
|
+
let e = B(n, It);
|
|
2998
3069
|
if (e !== null) for (let t = e[i](); t !== null; t = t[i]()) {
|
|
2999
|
-
if (!
|
|
3070
|
+
if (!It(t)) continue;
|
|
3000
3071
|
let e = t[a]();
|
|
3001
|
-
if (
|
|
3072
|
+
if (Pt(e)) {
|
|
3002
3073
|
s = e;
|
|
3003
3074
|
break;
|
|
3004
3075
|
}
|
|
@@ -3008,60 +3079,60 @@ function Wa() {
|
|
|
3008
3079
|
let e = s.getFirstDescendant();
|
|
3009
3080
|
e ? e.selectStart() : s.selectStart();
|
|
3010
3081
|
} else {
|
|
3011
|
-
let e =
|
|
3082
|
+
let e = B(n, Ft);
|
|
3012
3083
|
e && (r === "next" ? e.selectNext() : e.selectPrevious());
|
|
3013
3084
|
}
|
|
3014
3085
|
return !0;
|
|
3015
|
-
},
|
|
3086
|
+
}, Ve))), [e]), null;
|
|
3016
3087
|
}
|
|
3017
3088
|
//#endregion
|
|
3018
3089
|
//#region src/components/Editor/plugins/TabIndentPlugin.tsx
|
|
3019
|
-
var
|
|
3020
|
-
function
|
|
3021
|
-
let [e] =
|
|
3022
|
-
return O(() => e.registerCommand(
|
|
3090
|
+
var $a = "\xA0".repeat(4);
|
|
3091
|
+
function eo() {
|
|
3092
|
+
let [e] = R();
|
|
3093
|
+
return O(() => e.registerCommand(Ze, (t) => {
|
|
3023
3094
|
if (t.shiftKey) return !1;
|
|
3024
|
-
let n =
|
|
3025
|
-
if (!
|
|
3095
|
+
let n = I();
|
|
3096
|
+
if (!L(n)) return !1;
|
|
3026
3097
|
let r = n.anchor.getNode();
|
|
3027
|
-
if (
|
|
3098
|
+
if (Nt(r) !== null || B(r, z)) return !1;
|
|
3028
3099
|
t.preventDefault();
|
|
3029
|
-
let i =
|
|
3030
|
-
if (
|
|
3100
|
+
let i = B(r, ht);
|
|
3101
|
+
if (ht(i)) {
|
|
3031
3102
|
let e = new Set([i]);
|
|
3032
3103
|
for (let t of n.getNodes()) {
|
|
3033
|
-
let n =
|
|
3034
|
-
|
|
3104
|
+
let n = B(t, ht);
|
|
3105
|
+
ht(n) && e.add(n);
|
|
3035
3106
|
}
|
|
3036
3107
|
for (let t of e) t.setIndent(t.getIndent() + 1);
|
|
3037
3108
|
return !0;
|
|
3038
3109
|
}
|
|
3039
3110
|
let a = r.getTopLevelElement(), o = n.focus.getNode().getTopLevelElement();
|
|
3040
|
-
return !n.isCollapsed() && a && o && a !== o ? e.dispatchCommand(
|
|
3041
|
-
},
|
|
3111
|
+
return !n.isCollapsed() && a && o && a !== o ? e.dispatchCommand(Ye, void 0) : (n.insertText($a), !0);
|
|
3112
|
+
}, Be), [e]), null;
|
|
3042
3113
|
}
|
|
3043
3114
|
//#endregion
|
|
3044
3115
|
//#region src/components/Editor/plugins/MaxLengthPlugin.tsx
|
|
3045
|
-
function
|
|
3046
|
-
let [n] =
|
|
3116
|
+
function to({ maxLength: e, onMaxLengthExceed: t }) {
|
|
3117
|
+
let [n] = R(), { isSourceModeRef: r } = Hr(), i = j(t);
|
|
3047
3118
|
return i.current = t, O(() => {
|
|
3048
3119
|
let t = null;
|
|
3049
|
-
return n.registerNodeTransform(
|
|
3120
|
+
return n.registerNodeTransform(nt, (a) => {
|
|
3050
3121
|
if (r.current) return;
|
|
3051
3122
|
let o = a.getTextContentSize();
|
|
3052
3123
|
if (o <= e) return;
|
|
3053
|
-
let s = n.getEditorState(), c = s.read(() => a.getTextContentSize()), l = o - e, u =
|
|
3124
|
+
let s = n.getEditorState(), c = s.read(() => a.getTextContentSize()), l = o - e, u = I();
|
|
3054
3125
|
if (c === e && t !== s) {
|
|
3055
|
-
t = s,
|
|
3126
|
+
t = s, Yt(n, s), i.current?.();
|
|
3056
3127
|
return;
|
|
3057
3128
|
}
|
|
3058
|
-
if (
|
|
3059
|
-
|
|
3129
|
+
if (L(u) && u.isCollapsed()) {
|
|
3130
|
+
Mt(n, u.anchor, l), i.current?.();
|
|
3060
3131
|
return;
|
|
3061
3132
|
}
|
|
3062
3133
|
a.selectEnd();
|
|
3063
|
-
let d =
|
|
3064
|
-
|
|
3134
|
+
let d = I();
|
|
3135
|
+
L(d) && (Mt(n, d.anchor, l), i.current?.());
|
|
3065
3136
|
});
|
|
3066
3137
|
}, [
|
|
3067
3138
|
n,
|
|
@@ -3071,19 +3142,19 @@ function qa({ maxLength: e, onMaxLengthExceed: t }) {
|
|
|
3071
3142
|
}
|
|
3072
3143
|
//#endregion
|
|
3073
3144
|
//#region src/components/Editor/utils/textLength.ts
|
|
3074
|
-
function
|
|
3145
|
+
function no(e) {
|
|
3075
3146
|
return typeof e == "number" && Number.isFinite(e) && e > 0;
|
|
3076
3147
|
}
|
|
3077
|
-
function
|
|
3078
|
-
let n =
|
|
3148
|
+
function ro(e, t) {
|
|
3149
|
+
let n = F(), r = n.getTextContentSize();
|
|
3079
3150
|
if (r <= t) return !1;
|
|
3080
3151
|
let i = r - t;
|
|
3081
3152
|
n.selectEnd();
|
|
3082
|
-
let a =
|
|
3083
|
-
return
|
|
3153
|
+
let a = I();
|
|
3154
|
+
return L(a) ? Mt(e, a.anchor, i) : io(i), !0;
|
|
3084
3155
|
}
|
|
3085
|
-
function
|
|
3086
|
-
let t = e, n =
|
|
3156
|
+
function io(e) {
|
|
3157
|
+
let t = e, n = F().getAllTextNodes();
|
|
3087
3158
|
for (let e = n.length - 1; e >= 0 && t > 0; e--) {
|
|
3088
3159
|
let r = n[e], i = r.getTextContent();
|
|
3089
3160
|
i.length !== 0 && (i.length <= t ? (t -= i.length, r.remove()) : (r.setTextContent(i.slice(0, i.length - t)), t = 0));
|
|
@@ -3091,7 +3162,7 @@ function Xa(e) {
|
|
|
3091
3162
|
}
|
|
3092
3163
|
//#endregion
|
|
3093
3164
|
//#region src/components/Editor/utils/formatEditorHtml.ts
|
|
3094
|
-
var
|
|
3165
|
+
var ao = new Set([
|
|
3095
3166
|
"area",
|
|
3096
3167
|
"base",
|
|
3097
3168
|
"br",
|
|
@@ -3106,65 +3177,65 @@ var Za = new Set([
|
|
|
3106
3177
|
"source",
|
|
3107
3178
|
"track",
|
|
3108
3179
|
"wbr"
|
|
3109
|
-
]),
|
|
3110
|
-
let r = e.tagName.toLowerCase(), i = `<${r}${
|
|
3111
|
-
if (
|
|
3112
|
-
let a = n || r === "pre", o =
|
|
3113
|
-
return a || !
|
|
3114
|
-
},
|
|
3180
|
+
]), oo = new Set(/* @__PURE__ */ "address.article.aside.blockquote.div.dl.dt.dd.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hr.li.main.nav.ol.p.pre.section.table.tbody.td.tfoot.th.thead.tr.ul".split(".")), so = 80, co = (e) => e.replace(/&/g, "&").replace(/"/g, """), lo = (e) => e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"), uo = (e) => Array.from(e.attributes).map((e) => ` ${e.name}="${co(e.value)}"`).join(""), fo = (e) => " ".repeat(e), po = (e, t, n) => {
|
|
3181
|
+
let r = e.tagName.toLowerCase(), i = `<${r}${uo(e)}>`;
|
|
3182
|
+
if (ao.has(r)) return i;
|
|
3183
|
+
let a = n || r === "pre", o = mo(e, t + 1, a), s = `</${r}>`;
|
|
3184
|
+
return a || !oo.has(r) ? `${i}${o}${s}` : Array.from(e.children).some((e) => oo.has(e.tagName.toLowerCase())) ? `${i}\n${mo(e, t + 1, !1, !0)}\n${fo(t)}${s}` : i.length + o.length + s.length > so ? `${i}\n${fo(t + 1)}${o}\n${fo(t)}${s}` : `${i}${o}${s}`;
|
|
3185
|
+
}, mo = (e, t, n, r = !1) => {
|
|
3115
3186
|
let i = [];
|
|
3116
3187
|
for (let r of Array.from(e.childNodes)) {
|
|
3117
3188
|
if (r.nodeType === Node.TEXT_NODE) {
|
|
3118
3189
|
let e = r.textContent ?? "";
|
|
3119
3190
|
if (n) {
|
|
3120
|
-
i.push(
|
|
3191
|
+
i.push(lo(e));
|
|
3121
3192
|
continue;
|
|
3122
3193
|
}
|
|
3123
|
-
e.trim() && i.push(
|
|
3194
|
+
e.trim() && i.push(lo(e));
|
|
3124
3195
|
continue;
|
|
3125
3196
|
}
|
|
3126
3197
|
if (r.nodeType === Node.COMMENT_NODE) {
|
|
3127
3198
|
i.push(`<!--${r.data}-->`);
|
|
3128
3199
|
continue;
|
|
3129
3200
|
}
|
|
3130
|
-
r.nodeType === Node.ELEMENT_NODE && i.push(
|
|
3201
|
+
r.nodeType === Node.ELEMENT_NODE && i.push(po(r, t, n));
|
|
3131
3202
|
}
|
|
3132
|
-
return n || !r ? i.join("") : i.map((e) => `${
|
|
3203
|
+
return n || !r ? i.join("") : i.map((e) => `${fo(t)}${e}`).join("\n");
|
|
3133
3204
|
};
|
|
3134
|
-
function
|
|
3135
|
-
return e.trim() ?
|
|
3205
|
+
function ho(e) {
|
|
3206
|
+
return e.trim() ? mo(new DOMParser().parseFromString(Ui(e), "text/html").body, 0, !1, !0).trimEnd() : e;
|
|
3136
3207
|
}
|
|
3137
3208
|
//#endregion
|
|
3138
3209
|
//#region src/components/Editor/utils/writeHtmlSource.ts
|
|
3139
|
-
function
|
|
3140
|
-
|
|
3141
|
-
let t =
|
|
3142
|
-
if (
|
|
3210
|
+
function go(e) {
|
|
3211
|
+
F().clear();
|
|
3212
|
+
let t = Ct("html");
|
|
3213
|
+
if (F().append(t), !e) return;
|
|
3143
3214
|
t.select();
|
|
3144
|
-
let n =
|
|
3145
|
-
|
|
3215
|
+
let n = I();
|
|
3216
|
+
L(n) && n.insertRawText(e);
|
|
3146
3217
|
}
|
|
3147
3218
|
//#endregion
|
|
3148
3219
|
//#region src/components/Editor/plugins/SourceModePlugin.tsx
|
|
3149
|
-
function
|
|
3150
|
-
let [r] =
|
|
3220
|
+
function _o({ children: e, maxLength: t, onMaxLengthExceed: n }) {
|
|
3221
|
+
let [r] = R(), [i, a] = M(!1), o = j(!1), s = j(n);
|
|
3151
3222
|
s.current = n;
|
|
3152
|
-
let c =
|
|
3223
|
+
let c = no(t) ? t : void 0, l = T(() => {
|
|
3153
3224
|
if (o.current) return;
|
|
3154
3225
|
let e = "", t = "";
|
|
3155
3226
|
r.getEditorState().read(() => {
|
|
3156
|
-
t =
|
|
3227
|
+
t = F().getTextContent(), e = ge(r, null);
|
|
3157
3228
|
}, { editor: r });
|
|
3158
|
-
let n =
|
|
3229
|
+
let n = hi(e, t) ? "" : X(e);
|
|
3159
3230
|
o.current = !0, a(!0), r.update(() => {
|
|
3160
|
-
|
|
3161
|
-
}), r.dispatchCommand(
|
|
3231
|
+
go(ho(n));
|
|
3232
|
+
}), r.dispatchCommand(Re, void 0);
|
|
3162
3233
|
}, [r]), u = T(() => {
|
|
3163
3234
|
if (!o.current) return;
|
|
3164
3235
|
let e = !1;
|
|
3165
3236
|
o.current = !1, r.update(() => {
|
|
3166
|
-
|
|
3167
|
-
}), a(!1), r.dispatchCommand(
|
|
3237
|
+
mi(r, X(F().getTextContent())), c !== void 0 && (e = ro(r, c)), Dn(!0);
|
|
3238
|
+
}), a(!1), r.dispatchCommand(Re, void 0), e && s.current?.();
|
|
3168
3239
|
}, [r, c]), d = T(() => {
|
|
3169
3240
|
if (o.current) {
|
|
3170
3241
|
u();
|
|
@@ -3182,51 +3253,51 @@ function co({ children: e, maxLength: t, onMaxLengthExceed: n }) {
|
|
|
3182
3253
|
if (!n) return !0;
|
|
3183
3254
|
let i = X(n);
|
|
3184
3255
|
return r.update(() => {
|
|
3185
|
-
let e =
|
|
3186
|
-
|
|
3187
|
-
}, { tag:
|
|
3256
|
+
let e = I();
|
|
3257
|
+
L(e) && i && e.insertRawText(i);
|
|
3258
|
+
}, { tag: et }), !0;
|
|
3188
3259
|
};
|
|
3189
|
-
return
|
|
3260
|
+
return Xt(r.registerNodeTransform(nt, () => {
|
|
3190
3261
|
if (!o.current) return;
|
|
3191
|
-
let e =
|
|
3192
|
-
|
|
3193
|
-
}), r.registerCommand(
|
|
3262
|
+
let e = F(), t = e.getChildrenSize() === 1 ? e.getFirstChild() : null;
|
|
3263
|
+
z(t) && t.getLanguage() === "html" || go(e.getTextContent());
|
|
3264
|
+
}), r.registerCommand($e, e, ze), r.registerCommand(Ue, e, ze));
|
|
3194
3265
|
}, [r]);
|
|
3195
|
-
let f =
|
|
3266
|
+
let f = A(() => ({
|
|
3196
3267
|
isSourceMode: i,
|
|
3197
3268
|
isSourceModeRef: o,
|
|
3198
3269
|
toggleSourceMode: d
|
|
3199
3270
|
}), [i, d]);
|
|
3200
|
-
return /* @__PURE__ */ y(
|
|
3271
|
+
return /* @__PURE__ */ y(Vr.Provider, {
|
|
3201
3272
|
value: f,
|
|
3202
3273
|
children: e
|
|
3203
3274
|
});
|
|
3204
3275
|
}
|
|
3205
3276
|
//#endregion
|
|
3206
3277
|
//#region src/components/Editor/plugins/HeadingPlugin.tsx
|
|
3207
|
-
function
|
|
3278
|
+
function vo(e) {
|
|
3208
3279
|
let t = e.getTag();
|
|
3209
3280
|
if (t === "h4" || t === "h5" || t === "h6") {
|
|
3210
|
-
e.replace(
|
|
3281
|
+
e.replace(be(), !0);
|
|
3211
3282
|
return;
|
|
3212
3283
|
}
|
|
3213
3284
|
for (let t of e.getAllTextNodes()) {
|
|
3214
3285
|
let e = t.getStyle();
|
|
3215
3286
|
if (!e) continue;
|
|
3216
|
-
let n =
|
|
3287
|
+
let n = Da(e, "font-size");
|
|
3217
3288
|
n !== e && t.setStyle(n);
|
|
3218
3289
|
}
|
|
3219
3290
|
}
|
|
3220
|
-
function
|
|
3221
|
-
let [e] =
|
|
3222
|
-
return O(() => e.registerNodeTransform(
|
|
3291
|
+
function yo() {
|
|
3292
|
+
let [e] = R();
|
|
3293
|
+
return O(() => e.registerNodeTransform(Jt, vo), [e]), null;
|
|
3223
3294
|
}
|
|
3224
3295
|
//#endregion
|
|
3225
3296
|
//#region src/components/Editor/LengthBadge.tsx
|
|
3226
|
-
var
|
|
3297
|
+
var bo = ({ current: e, maxLength: t }) => {
|
|
3227
3298
|
let n = e > t;
|
|
3228
3299
|
return /* @__PURE__ */ b("div", {
|
|
3229
|
-
className:
|
|
3300
|
+
className: P($["bsy-lexical-editor__length-badge"], n && $["bsy-lexical-editor__length-badge--exceeded"]),
|
|
3230
3301
|
"aria-live": "polite",
|
|
3231
3302
|
children: [
|
|
3232
3303
|
e,
|
|
@@ -3235,33 +3306,33 @@ var fo = ({ current: e, maxLength: t }) => {
|
|
|
3235
3306
|
]
|
|
3236
3307
|
});
|
|
3237
3308
|
};
|
|
3238
|
-
|
|
3309
|
+
bo.displayName = "BsyLexicalEditorLengthBadge";
|
|
3239
3310
|
//#endregion
|
|
3240
3311
|
//#region src/components/Editor/utils/unwrapTypesetFence.ts
|
|
3241
|
-
var
|
|
3312
|
+
var xo = /^\uFEFF/, So = /^ {0,3}`{1,3}[A-Za-z]*$/, Co = /^( {0,3})([^`<]*?)```[ \t]*([A-Za-z0-9_-]*)[ \t]*(.*)$/, wo = /^ {0,3}```[ \t]*$/, To = /<\/?[a-zA-Z]/, Eo = /<[a-zA-Z!]/, Do = (e) => Eo.test(e), Oo = (e) => To.test(e), ko = (e) => e.replace(xo, "").replace(/\r\n/g, "\n"), Ao = (e) => {
|
|
3242
3313
|
let t = e.replace(/\n+$/, ""), n = t.lastIndexOf("\n"), r = n === -1 ? t : t.slice(n + 1);
|
|
3243
|
-
return
|
|
3314
|
+
return So.test(r) ? {
|
|
3244
3315
|
text: n === -1 ? "" : t.slice(0, n),
|
|
3245
3316
|
withheld: !0
|
|
3246
3317
|
} : {
|
|
3247
3318
|
text: e,
|
|
3248
3319
|
withheld: !1
|
|
3249
3320
|
};
|
|
3250
|
-
},
|
|
3251
|
-
let t =
|
|
3321
|
+
}, jo = (e) => {
|
|
3322
|
+
let t = Co.exec(e);
|
|
3252
3323
|
return t ? { sameLineBody: t[4] ?? "" } : null;
|
|
3253
|
-
},
|
|
3324
|
+
}, Mo = (e) => {
|
|
3254
3325
|
let t = e.replace(/[ \t]*```[ \t]*$/, "");
|
|
3255
3326
|
return t === e ? e : t;
|
|
3256
|
-
},
|
|
3327
|
+
}, No = (e) => Do(e) ? e.replace(/^\n/, "") : "", Po = (e) => {
|
|
3257
3328
|
let t = e.split("\n"), n = [], r = 0;
|
|
3258
3329
|
for (; r < t.length;) {
|
|
3259
|
-
let e = t[r], i =
|
|
3330
|
+
let e = t[r], i = jo(e);
|
|
3260
3331
|
if (i) {
|
|
3261
3332
|
let e = i.sameLineBody;
|
|
3262
|
-
if (e !==
|
|
3263
|
-
e =
|
|
3264
|
-
let i =
|
|
3333
|
+
if (e !== Mo(e)) {
|
|
3334
|
+
e = Mo(e);
|
|
3335
|
+
let i = No(t.slice(r + 1).join("\n"));
|
|
3265
3336
|
return [
|
|
3266
3337
|
...n,
|
|
3267
3338
|
e,
|
|
@@ -3269,38 +3340,38 @@ var po = /^\uFEFF/, mo = /^ {0,3}`{1,3}[A-Za-z]*$/, ho = /^( {0,3})([^`<]*?)```[
|
|
|
3269
3340
|
].filter(Boolean).join("\n");
|
|
3270
3341
|
}
|
|
3271
3342
|
let a = [];
|
|
3272
|
-
for (e && a.push(e), r += 1; r < t.length && !
|
|
3273
|
-
let o = r < t.length ?
|
|
3343
|
+
for (e && a.push(e), r += 1; r < t.length && !wo.test(t[r]);) a.push(t[r]), r += 1;
|
|
3344
|
+
let o = r < t.length ? No(t.slice(r + 1).join("\n")) : "";
|
|
3274
3345
|
return [
|
|
3275
3346
|
...n,
|
|
3276
3347
|
a.join("\n"),
|
|
3277
3348
|
o
|
|
3278
3349
|
].filter(Boolean).join("\n");
|
|
3279
3350
|
}
|
|
3280
|
-
if (
|
|
3281
|
-
|
|
3351
|
+
if (Oo(e)) return Fo([...n, ...t.slice(r)].join("\n"));
|
|
3352
|
+
Do(e) && n.push(e), r += 1;
|
|
3282
3353
|
}
|
|
3283
3354
|
return n.length ? n.join("\n") : null;
|
|
3284
|
-
},
|
|
3355
|
+
}, Fo = (e) => {
|
|
3285
3356
|
let t = e.split("\n");
|
|
3286
3357
|
if (!t.length) return e;
|
|
3287
|
-
let n =
|
|
3288
|
-
return n && !
|
|
3358
|
+
let n = jo(t[0]);
|
|
3359
|
+
return n && !Oo(t[0].slice(0, t[0].indexOf("```"))) && (t.shift(), n.sameLineBody && t.unshift(Mo(n.sameLineBody))), t.length && wo.test(t[t.length - 1] ?? "") && t.pop(), t.join("\n");
|
|
3289
3360
|
};
|
|
3290
|
-
function
|
|
3361
|
+
function Io(e) {
|
|
3291
3362
|
if (!e) return {
|
|
3292
3363
|
html: "",
|
|
3293
3364
|
pending: !1
|
|
3294
3365
|
};
|
|
3295
|
-
let { text: t, withheld: n } =
|
|
3366
|
+
let { text: t, withheld: n } = Ao(ko(e));
|
|
3296
3367
|
if (!t.trim()) return {
|
|
3297
3368
|
html: "",
|
|
3298
|
-
pending: n ||
|
|
3369
|
+
pending: n || So.test(ko(e).trim())
|
|
3299
3370
|
};
|
|
3300
|
-
let r =
|
|
3371
|
+
let r = Po(t) ?? t, i = Po(r);
|
|
3301
3372
|
i !== null && i !== r && (r = i);
|
|
3302
3373
|
let a = r.trim();
|
|
3303
|
-
return
|
|
3374
|
+
return Do(a) ? {
|
|
3304
3375
|
html: a,
|
|
3305
3376
|
pending: !1
|
|
3306
3377
|
} : {
|
|
@@ -3310,46 +3381,66 @@ function Oo(e) {
|
|
|
3310
3381
|
}
|
|
3311
3382
|
//#endregion
|
|
3312
3383
|
//#region src/components/Editor/utils/prepareTypesetProposed.ts
|
|
3313
|
-
var
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
if (!t) return e;
|
|
3318
|
-
for (let e of Array.from(t.querySelectorAll(ko))) {
|
|
3319
|
-
let t = e;
|
|
3320
|
-
t.style.removeProperty("background-color"), t.style.removeProperty("background"), t.getAttribute("style")?.trim() || t.removeAttribute("style");
|
|
3321
|
-
}
|
|
3322
|
-
return t.innerHTML;
|
|
3323
|
-
}
|
|
3324
|
-
function Mo(e, t) {
|
|
3325
|
-
let { html: n } = Oo(e);
|
|
3326
|
-
return n ? jo(hi(n, t)) : "";
|
|
3327
|
-
}
|
|
3384
|
+
var Lo = (e, t) => {
|
|
3385
|
+
let { html: n } = Io(e);
|
|
3386
|
+
return n ? li(oi(n, t)) : "";
|
|
3387
|
+
};
|
|
3328
3388
|
//#endregion
|
|
3329
3389
|
//#region src/components/Editor/utils/applyAiTypeset.ts
|
|
3330
|
-
function
|
|
3331
|
-
let i = X(
|
|
3332
|
-
if (!i.trim() ||
|
|
3390
|
+
function Ro(e, t, n, r) {
|
|
3391
|
+
let i = X(Lo(t, n));
|
|
3392
|
+
if (!i.trim() || hi(i, "")) return {
|
|
3333
3393
|
applied: !1,
|
|
3334
3394
|
truncated: !1
|
|
3335
3395
|
};
|
|
3336
3396
|
let a = !1;
|
|
3337
3397
|
return e.update(() => {
|
|
3338
|
-
|
|
3398
|
+
mi(e, i), no(r) && (a = ro(e, r)), Dn(!0);
|
|
3339
3399
|
}, { discrete: !0 }), {
|
|
3340
3400
|
applied: !0,
|
|
3341
3401
|
truncated: a
|
|
3342
3402
|
};
|
|
3343
3403
|
}
|
|
3344
3404
|
//#endregion
|
|
3345
|
-
//#region src/components/Editor/Preview/
|
|
3346
|
-
var
|
|
3405
|
+
//#region src/components/Editor/Preview/useAiPreviewHtml.ts
|
|
3406
|
+
var zo = (e, t) => {
|
|
3407
|
+
if (!e || ui(e)) return e;
|
|
3408
|
+
let n = X(e);
|
|
3409
|
+
return t === "ready" || t === "error" ? Ui(n) : n;
|
|
3410
|
+
}, Bo = ({ enabled: e, status: t, revision: n, compute: r }) => {
|
|
3411
|
+
let [i, a] = M(""), o = j(r);
|
|
3412
|
+
o.current = r;
|
|
3413
|
+
let s = j(null);
|
|
3414
|
+
return te(() => {
|
|
3415
|
+
let n = () => {
|
|
3416
|
+
s.current !== null && (cancelAnimationFrame(s.current), s.current = null);
|
|
3417
|
+
};
|
|
3418
|
+
if (!e) {
|
|
3419
|
+
n(), a("");
|
|
3420
|
+
return;
|
|
3421
|
+
}
|
|
3422
|
+
let r = () => {
|
|
3423
|
+
s.current = null, a(o.current());
|
|
3424
|
+
};
|
|
3425
|
+
if (t === "ready" || t === "error") {
|
|
3426
|
+
n(), r();
|
|
3427
|
+
return;
|
|
3428
|
+
}
|
|
3429
|
+
s.current === null && (s.current = requestAnimationFrame(r));
|
|
3430
|
+
}, [
|
|
3431
|
+
e,
|
|
3432
|
+
n,
|
|
3433
|
+
t
|
|
3434
|
+
]), O(() => () => {
|
|
3435
|
+
s.current !== null && cancelAnimationFrame(s.current);
|
|
3436
|
+
}, []), i;
|
|
3437
|
+
}, Vo = [
|
|
3347
3438
|
.26,
|
|
3348
3439
|
.02,
|
|
3349
3440
|
.23,
|
|
3350
3441
|
.94
|
|
3351
|
-
],
|
|
3352
|
-
let e = `${
|
|
3442
|
+
], Ho = () => {
|
|
3443
|
+
let e = `${ee().replace(/:/g, "")}g`;
|
|
3353
3444
|
return /* @__PURE__ */ y("span", {
|
|
3354
3445
|
className: Q["bsy-lexical-ai__think-icon"],
|
|
3355
3446
|
"aria-hidden": "true",
|
|
@@ -3387,80 +3478,41 @@ var Po = [
|
|
|
3387
3478
|
}) })]
|
|
3388
3479
|
})
|
|
3389
3480
|
});
|
|
3390
|
-
}
|
|
3391
|
-
|
|
3392
|
-
let { t: r } = a(), i = e.status === "loading" && !t, [o, s] = P(!0), [c, l] = P(0), u = N(Date.now()), d = N(null), f = N(!1), p = N(!1), m = e.reasoning ?? "", h = i || o, g = (i || !!m) && !(e.status === "error" && !m), _ = (e) => {
|
|
3393
|
-
!e || !p.current || (p.current = !1, e.scrollHeight - e.scrollTop - e.clientHeight > 8 && (f.current = !0));
|
|
3394
|
-
}, v = T(() => n?.current ?? void 0, [n]), y = T(() => {
|
|
3395
|
-
let e = v();
|
|
3396
|
-
return e?.closest("[data-overlayscrollbars]") ?? e;
|
|
3397
|
-
}, [v]);
|
|
3481
|
+
}, Uo = (e, t) => {
|
|
3482
|
+
let { t: n } = a(), r = e.status === "loading" && !t, [i, o] = M(!0), [s, c] = M(0), l = j(Date.now()), u = j(null), d = e.reasoning ?? "", f = r || i, p = (r || !!d) && !(e.status === "error" && !d);
|
|
3398
3483
|
return O(() => {
|
|
3399
|
-
if (!
|
|
3400
|
-
|
|
3484
|
+
if (!r) {
|
|
3485
|
+
u.current === null && (u.current = Math.max(1, Math.round((Date.now() - l.current) / 1e3)), c(u.current)), o(!1);
|
|
3401
3486
|
return;
|
|
3402
3487
|
}
|
|
3403
|
-
|
|
3488
|
+
l.current = Date.now(), u.current = null, o(!0);
|
|
3404
3489
|
let e = window.setInterval(() => {
|
|
3405
|
-
|
|
3490
|
+
c(Math.max(1, Math.round((Date.now() - l.current) / 1e3)));
|
|
3406
3491
|
}, 500);
|
|
3407
3492
|
return () => window.clearInterval(e);
|
|
3408
|
-
}, [
|
|
3409
|
-
p
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
enable: i
|
|
3416
|
-
}), ie("pointerdown", (e) => {
|
|
3417
|
-
let t = e.target;
|
|
3418
|
-
t instanceof Element && t.closest(".os-scrollbar") && (p.current = !0);
|
|
3419
|
-
}, {
|
|
3420
|
-
target: y,
|
|
3421
|
-
passive: !0,
|
|
3422
|
-
enable: i
|
|
3423
|
-
}), ie("scroll", () => _(v()), {
|
|
3424
|
-
target: v,
|
|
3425
|
-
passive: !0,
|
|
3426
|
-
enable: i
|
|
3427
|
-
}), O(() => {
|
|
3428
|
-
if (!i || f.current || !n?.current) return;
|
|
3429
|
-
let e = window.requestAnimationFrame(() => {
|
|
3430
|
-
if (f.current) return;
|
|
3431
|
-
let e = n?.current;
|
|
3432
|
-
e && e.scrollHeight - e.scrollTop - e.clientHeight > 1 && (e.scrollTop = e.scrollHeight);
|
|
3433
|
-
});
|
|
3434
|
-
return () => window.cancelAnimationFrame(e);
|
|
3435
|
-
}, [
|
|
3436
|
-
m,
|
|
3437
|
-
n,
|
|
3438
|
-
i
|
|
3439
|
-
]), {
|
|
3440
|
-
visible: g,
|
|
3441
|
-
thinking: i,
|
|
3442
|
-
open: h,
|
|
3443
|
-
label: i ? r("editor.aiThinking") : r("editor.aiThoughtSeconds", { seconds: c }),
|
|
3444
|
-
reasoning: m,
|
|
3445
|
-
toggle: () => s((e) => !e),
|
|
3446
|
-
onViewportScroll: () => _(n?.current)
|
|
3493
|
+
}, [r]), {
|
|
3494
|
+
visible: p,
|
|
3495
|
+
thinking: r,
|
|
3496
|
+
open: f,
|
|
3497
|
+
label: r ? n("editor.aiThinking") : n("editor.aiThoughtSeconds", { seconds: s }),
|
|
3498
|
+
reasoning: d,
|
|
3499
|
+
toggle: () => o((e) => !e)
|
|
3447
3500
|
};
|
|
3448
|
-
}
|
|
3449
|
-
var Lo = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
3501
|
+
}, Wo = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
3450
3502
|
type: "button",
|
|
3451
3503
|
className: Q["bsy-lexical-ai__think-head"],
|
|
3452
3504
|
disabled: t.thinking,
|
|
3453
3505
|
onClick: t.toggle,
|
|
3454
|
-
children: [t.thinking ? /* @__PURE__ */ y(
|
|
3506
|
+
children: [t.thinking ? /* @__PURE__ */ y(Ho, {}) : /* @__PURE__ */ y(e, {
|
|
3455
3507
|
name: "arrow-down",
|
|
3456
3508
|
size: 12,
|
|
3457
|
-
className:
|
|
3509
|
+
className: P(Q["bsy-lexical-ai__think-arrow"], t.open && Q["bsy-lexical-ai__think-arrow--open"])
|
|
3458
3510
|
}), /* @__PURE__ */ y("span", {
|
|
3459
3511
|
className: Q["bsy-lexical-ai__think-label"],
|
|
3460
|
-
children: /* @__PURE__ */ y(
|
|
3512
|
+
children: /* @__PURE__ */ y(oe, {
|
|
3461
3513
|
mode: "popLayout",
|
|
3462
3514
|
initial: !1,
|
|
3463
|
-
children: /* @__PURE__ */ y(
|
|
3515
|
+
children: /* @__PURE__ */ y(se.span, {
|
|
3464
3516
|
initial: {
|
|
3465
3517
|
opacity: 0,
|
|
3466
3518
|
y: 6
|
|
@@ -3475,7 +3527,7 @@ var Lo = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
|
3475
3527
|
},
|
|
3476
3528
|
transition: {
|
|
3477
3529
|
duration: .22,
|
|
3478
|
-
ease:
|
|
3530
|
+
ease: Vo
|
|
3479
3531
|
},
|
|
3480
3532
|
children: /* @__PURE__ */ y("span", {
|
|
3481
3533
|
className: t.thinking ? Q["bsy-lexical-ai__think-label--shimmer"] : void 0,
|
|
@@ -3484,8 +3536,8 @@ var Lo = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
|
3484
3536
|
}, t.label)
|
|
3485
3537
|
})
|
|
3486
3538
|
})]
|
|
3487
|
-
}) : null,
|
|
3488
|
-
let [t, n] =
|
|
3539
|
+
}) : null, Go = ({ model: e }) => {
|
|
3540
|
+
let [t, n] = M(!0), r = D(e.reasoning);
|
|
3489
3541
|
if (O(() => {
|
|
3490
3542
|
e.open || n(!0);
|
|
3491
3543
|
}, [e.open]), !e.visible) return null;
|
|
@@ -3494,11 +3546,11 @@ var Lo = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
|
3494
3546
|
children: r
|
|
3495
3547
|
});
|
|
3496
3548
|
return !t && e.open && e.reasoning ? /* @__PURE__ */ y("div", {
|
|
3497
|
-
className:
|
|
3549
|
+
className: P(Q["bsy-lexical-ai__think-collapse"], Q["bsy-lexical-ai__think-collapse--grown"]),
|
|
3498
3550
|
children: i
|
|
3499
|
-
}) : /* @__PURE__ */ y(
|
|
3551
|
+
}) : /* @__PURE__ */ y(oe, {
|
|
3500
3552
|
initial: !1,
|
|
3501
|
-
children: e.open && e.reasoning ? /* @__PURE__ */ y(
|
|
3553
|
+
children: e.open && e.reasoning ? /* @__PURE__ */ y(se.div, {
|
|
3502
3554
|
initial: {
|
|
3503
3555
|
height: 0,
|
|
3504
3556
|
opacity: 0
|
|
@@ -3526,9 +3578,73 @@ var Lo = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
|
3526
3578
|
children: i
|
|
3527
3579
|
}, "think-body") : null
|
|
3528
3580
|
});
|
|
3529
|
-
},
|
|
3530
|
-
let
|
|
3531
|
-
|
|
3581
|
+
}, Ko = 32, qo = .25, Jo = 2, Yo = ({ viewportRef: e, enabled: t, revision: n }) => {
|
|
3582
|
+
let r = j(!0), i = j(!1), a = j(0), o = T(() => e.current ?? void 0, [e]), s = T(() => {
|
|
3583
|
+
let t = e.current;
|
|
3584
|
+
return t?.closest("[data-overlayscrollbars]") ?? t ?? void 0;
|
|
3585
|
+
}, [e]), c = T(() => {
|
|
3586
|
+
a.current = 0;
|
|
3587
|
+
let t = e.current;
|
|
3588
|
+
if (!t || !r.current) return;
|
|
3589
|
+
let n = Math.max(0, t.scrollHeight - t.clientHeight), i = n - t.scrollTop;
|
|
3590
|
+
if (i <= 1) {
|
|
3591
|
+
t.scrollTop = n;
|
|
3592
|
+
return;
|
|
3593
|
+
}
|
|
3594
|
+
t.scrollTop += Math.max(i * qo, Math.min(i, Jo)), a.current = requestAnimationFrame(c);
|
|
3595
|
+
}, [e]), l = T(() => {
|
|
3596
|
+
!a.current && r.current && (a.current = requestAnimationFrame(c));
|
|
3597
|
+
}, [c]);
|
|
3598
|
+
O(() => {
|
|
3599
|
+
if (!t) {
|
|
3600
|
+
r.current = !0, i.current = !1, cancelAnimationFrame(a.current), a.current = 0;
|
|
3601
|
+
return;
|
|
3602
|
+
}
|
|
3603
|
+
l();
|
|
3604
|
+
}, [
|
|
3605
|
+
t,
|
|
3606
|
+
n,
|
|
3607
|
+
l
|
|
3608
|
+
]), O(() => {
|
|
3609
|
+
let n = e.current;
|
|
3610
|
+
if (!t || !n || typeof ResizeObserver > "u") return;
|
|
3611
|
+
let r = new ResizeObserver(l);
|
|
3612
|
+
return r.observe(n), n.firstElementChild && r.observe(n.firstElementChild), () => r.disconnect();
|
|
3613
|
+
}, [
|
|
3614
|
+
t,
|
|
3615
|
+
l,
|
|
3616
|
+
e
|
|
3617
|
+
]), O(() => () => cancelAnimationFrame(a.current), []);
|
|
3618
|
+
let u = () => {
|
|
3619
|
+
let t = e.current;
|
|
3620
|
+
if (!t) return;
|
|
3621
|
+
let n = t.scrollHeight - t.clientHeight - t.scrollTop <= Ko;
|
|
3622
|
+
i.current ? (i.current = !1, r.current = n, !n && a.current && (cancelAnimationFrame(a.current), a.current = 0)) : n && (r.current = !0);
|
|
3623
|
+
}, d = () => {
|
|
3624
|
+
i.current = !0;
|
|
3625
|
+
};
|
|
3626
|
+
return ae("wheel", d, {
|
|
3627
|
+
target: s,
|
|
3628
|
+
passive: !0,
|
|
3629
|
+
enable: t
|
|
3630
|
+
}), ae("touchstart", d, {
|
|
3631
|
+
target: o,
|
|
3632
|
+
passive: !0,
|
|
3633
|
+
enable: t
|
|
3634
|
+
}), ae("pointerdown", (e) => {
|
|
3635
|
+
e.target instanceof Element && e.target.closest(".os-scrollbar") && d();
|
|
3636
|
+
}, {
|
|
3637
|
+
target: s,
|
|
3638
|
+
passive: !0,
|
|
3639
|
+
enable: t
|
|
3640
|
+
}), ae("scroll", u, {
|
|
3641
|
+
target: o,
|
|
3642
|
+
passive: !0,
|
|
3643
|
+
enable: t
|
|
3644
|
+
}), { onScroll: u };
|
|
3645
|
+
}, Xo = "\n:host {\n all: initial;\n display: block;\n width: 100%;\n max-width: 100%;\n min-width: 0;\n}\n.bsy-editor-html-preview__body {\n color: #030303;\n font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', sans-serif;\n font-size: 15px;\n line-height: 1.6;\n word-break: break-word;\n}\n.bsy-editor-html-preview__body p {\n margin: 0;\n}\n.bsy-editor-html-preview__body .editor-text-bold {\n font-weight: 700;\n}\n.bsy-editor-html-preview__body .editor-text-italic {\n font-style: italic;\n}\n.bsy-editor-html-preview__body .editor-text-underline {\n text-decoration: underline;\n}\n.bsy-editor-html-preview__body .editor-text-strikethrough {\n text-decoration: line-through;\n}\n.bsy-editor-html-preview__body .editor-text-underline-strikethrough {\n text-decoration: underline line-through;\n}\n.bsy-editor-html-preview__body sup,\n.bsy-editor-html-preview__body sub {\n display: inline-block;\n position: static;\n top: auto;\n bottom: auto;\n font-size: 0.75em;\n line-height: 1;\n}\n.bsy-editor-html-preview__body sup {\n vertical-align: super;\n}\n.bsy-editor-html-preview__body sub {\n vertical-align: sub;\n}\n.bsy-editor-html-preview__body .editor-heading-h1,\n.bsy-editor-html-preview__body .editor-heading-h2,\n.bsy-editor-html-preview__body .editor-heading-h3,\n.bsy-editor-html-preview__body .editor-heading-h4,\n.bsy-editor-html-preview__body .editor-heading-h5,\n.bsy-editor-html-preview__body .editor-heading-h6 {\n margin: 0.6em 0 0.4em;\n font-weight: 600;\n line-height: 1.35;\n}\n.bsy-editor-html-preview__body .editor-heading-h1 {\n font-size: 2em;\n}\n.bsy-editor-html-preview__body .editor-heading-h2 {\n font-size: 1.5em;\n}\n.bsy-editor-html-preview__body .editor-heading-h3 {\n font-size: 1.25em;\n}\n.bsy-editor-html-preview__body .editor-heading-h4 {\n font-size: 1.125em;\n}\n.bsy-editor-html-preview__body .editor-heading-h5 {\n font-size: 1em;\n}\n.bsy-editor-html-preview__body .editor-heading-h6 {\n font-size: 0.875em;\n}\n.bsy-editor-html-preview__body .editor-list-ul,\n.bsy-editor-html-preview__body .editor-list-ol {\n margin: 0;\n padding-inline-start: 24px;\n list-style-position: outside;\n}\n.bsy-editor-html-preview__body .editor-list-ul {\n list-style-type: disc;\n}\n.bsy-editor-html-preview__body .editor-list-ol {\n list-style-type: decimal;\n}\n.bsy-editor-html-preview__body .editor-listitem {\n margin: 0;\n list-style: inherit;\n}\n.bsy-editor-html-preview__body .editor-nested-listitem {\n list-style-type: none;\n}\n.bsy-editor-html-preview__body .editor-list-ul .editor-list-ul {\n list-style-type: circle;\n}\n.bsy-editor-html-preview__body .editor-list-ul .editor-list-ul .editor-list-ul {\n list-style-type: square;\n}\n.bsy-editor-html-preview__body .editor-link,\n.bsy-editor-html-preview__body .editor-link:link,\n.bsy-editor-html-preview__body .editor-link:visited,\n.bsy-editor-html-preview__body .editor-link:hover,\n.bsy-editor-html-preview__body .editor-link:active,\n.bsy-editor-html-preview__body .editor-link:focus {\n color: #0269ff;\n cursor: pointer;\n}\n.bsy-editor-html-preview__body .editor-link * {\n color: #0269ff !important;\n}\n.bsy-editor-html-preview__body pre,\n.bsy-editor-html-preview__body .editor-code {\n display: block;\n box-sizing: border-box;\n max-width: 100%;\n margin: 8px 0;\n padding: 8px 12px;\n overflow-x: auto;\n border-radius: 4px;\n background: rgb(240, 242, 245);\n color: #1f2328;\n font-family: Menlo, Consolas, Monaco, monospace;\n font-size: 13px;\n line-height: 1.53;\n tab-size: 2;\n white-space: pre;\n}\n.bsy-editor-html-preview__body .editor-table-scrollable-wrapper {\n max-width: 100%;\n margin: 8px 0;\n overflow-x: auto;\n}\n.bsy-editor-html-preview__body table {\n width: max-content;\n min-width: 100%;\n margin: 0;\n border-collapse: collapse;\n table-layout: fixed;\n}\n.bsy-editor-html-preview__body td,\n.bsy-editor-html-preview__body th {\n box-sizing: border-box;\n min-width: 75px;\n min-height: 32px;\n padding: 4px 8px;\n border: 1px solid #d9d9d9;\n vertical-align: top;\n}\n.bsy-editor-html-preview__body th {\n background: #f2f3f5;\n font-weight: 600;\n}\n.bsy-editor-html-preview__body img {\n max-width: 100%;\n height: auto;\n vertical-align: baseline;\n}\n", Zo = ({ html: e }) => {
|
|
3646
|
+
let t = j(null);
|
|
3647
|
+
return te(() => {
|
|
3532
3648
|
let n = t.current;
|
|
3533
3649
|
if (!n) return;
|
|
3534
3650
|
let r = n.shadowRoot ?? n.attachShadow({ mode: "open" }), i = document.createElement("div");
|
|
@@ -3540,36 +3656,40 @@ var Lo = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
|
3540
3656
|
}
|
|
3541
3657
|
r.replaceChildren();
|
|
3542
3658
|
let a = document.createElement("style");
|
|
3543
|
-
a.textContent =
|
|
3659
|
+
a.textContent = Xo, r.append(a, i);
|
|
3544
3660
|
}, [e]), /* @__PURE__ */ y("div", {
|
|
3545
3661
|
ref: t,
|
|
3546
3662
|
className: "bsy-editor-html-preview"
|
|
3547
3663
|
});
|
|
3548
|
-
},
|
|
3549
|
-
let [t, n] =
|
|
3664
|
+
}, Qo = ({ html: e }) => {
|
|
3665
|
+
let [t, n] = M(() => e && !ui(e) ? e : "");
|
|
3550
3666
|
return O(() => {
|
|
3551
|
-
!e ||
|
|
3552
|
-
}, [e]), t ? /* @__PURE__ */ y(
|
|
3553
|
-
},
|
|
3667
|
+
!e || ui(e) || n(e);
|
|
3668
|
+
}, [e]), t ? /* @__PURE__ */ y(Zo, { html: t }) : null;
|
|
3669
|
+
}, $o = {
|
|
3554
3670
|
paddingAbsolute: !0,
|
|
3555
3671
|
overflow: {
|
|
3556
3672
|
x: "hidden",
|
|
3557
3673
|
y: "scroll"
|
|
3558
3674
|
}
|
|
3559
|
-
},
|
|
3560
|
-
let { t:
|
|
3675
|
+
}, es = ({ status: t, errorMessage: n, originalHtml: i, proposedHtml: o, preset: s, onPresetChange: c, onCancel: l, onApply: d }) => {
|
|
3676
|
+
let { t: p } = a(), m = gr(), [h, g] = M(!0), _ = j(null), v = !!o.trim(), x = t === "ready" && v, S = Uo({
|
|
3561
3677
|
status: t,
|
|
3562
|
-
reasoning:
|
|
3563
|
-
}, v
|
|
3678
|
+
reasoning: m
|
|
3679
|
+
}, v), C = Yo({
|
|
3680
|
+
viewportRef: _,
|
|
3681
|
+
enabled: t === "loading",
|
|
3682
|
+
revision: `${m ?? ""}\0${o}`
|
|
3683
|
+
}), w = qr.map((e) => ({
|
|
3564
3684
|
key: e,
|
|
3565
|
-
label:
|
|
3685
|
+
label: p(Jr[e])
|
|
3566
3686
|
}));
|
|
3567
3687
|
return /* @__PURE__ */ y(r, {
|
|
3568
|
-
title:
|
|
3688
|
+
title: p("editor.aiPolish"),
|
|
3569
3689
|
open: h,
|
|
3570
3690
|
width: "800px",
|
|
3571
3691
|
fullSwitch: !0,
|
|
3572
|
-
afterClose:
|
|
3692
|
+
afterClose: l,
|
|
3573
3693
|
onOpenChange: g,
|
|
3574
3694
|
children: /* @__PURE__ */ b("div", {
|
|
3575
3695
|
className: Q["bsy-lexical-ai__dialog"],
|
|
@@ -3578,24 +3698,24 @@ var Lo = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
|
3578
3698
|
children: [/* @__PURE__ */ b("div", {
|
|
3579
3699
|
className: Q["bsy-lexical-ai__column"],
|
|
3580
3700
|
children: [/* @__PURE__ */ b("div", {
|
|
3581
|
-
className:
|
|
3582
|
-
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }),
|
|
3701
|
+
className: P(Q["bsy-lexical-ai__column-title"], Q["bsy-lexical-ai__column-title--before"]),
|
|
3702
|
+
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }), p("editor.aiOriginal")]
|
|
3583
3703
|
}), /* @__PURE__ */ y(u, {
|
|
3584
3704
|
className: Q["bsy-lexical-ai__column-body"],
|
|
3585
|
-
options:
|
|
3586
|
-
children: /* @__PURE__ */ y(
|
|
3705
|
+
options: $o,
|
|
3706
|
+
children: /* @__PURE__ */ y(Qo, { html: i })
|
|
3587
3707
|
})]
|
|
3588
3708
|
}), /* @__PURE__ */ b("div", {
|
|
3589
3709
|
className: Q["bsy-lexical-ai__column"],
|
|
3590
3710
|
children: [/* @__PURE__ */ b("div", {
|
|
3591
3711
|
className: Q["bsy-lexical-ai__column-head"],
|
|
3592
3712
|
children: [/* @__PURE__ */ b("div", {
|
|
3593
|
-
className:
|
|
3594
|
-
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }),
|
|
3713
|
+
className: P(Q["bsy-lexical-ai__column-title"], Q["bsy-lexical-ai__column-title--after"]),
|
|
3714
|
+
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }), p("editor.aiOptimized")]
|
|
3595
3715
|
}), /* @__PURE__ */ y(f, {
|
|
3596
|
-
menus:
|
|
3716
|
+
menus: w,
|
|
3597
3717
|
showSearch: !1,
|
|
3598
|
-
activeKey: [
|
|
3718
|
+
activeKey: [s],
|
|
3599
3719
|
offset: {
|
|
3600
3720
|
x: 0,
|
|
3601
3721
|
y: 4
|
|
@@ -3604,12 +3724,12 @@ var Lo = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
|
3604
3724
|
width: 90,
|
|
3605
3725
|
minWidth: 90
|
|
3606
3726
|
},
|
|
3607
|
-
onClick: (e) =>
|
|
3727
|
+
onClick: (e) => c(e.key),
|
|
3608
3728
|
children: /* @__PURE__ */ b("button", {
|
|
3609
3729
|
type: "button",
|
|
3610
3730
|
className: Q["bsy-lexical-ai__preset"],
|
|
3611
|
-
title:
|
|
3612
|
-
children: [
|
|
3731
|
+
title: p("editor.aiPolish"),
|
|
3732
|
+
children: [p(Jr[s]), /* @__PURE__ */ y(e, {
|
|
3613
3733
|
name: "arrow-down",
|
|
3614
3734
|
size: 16
|
|
3615
3735
|
})]
|
|
@@ -3619,50 +3739,54 @@ var Lo = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
|
3619
3739
|
className: Q["bsy-lexical-ai__column-stack"],
|
|
3620
3740
|
children: [S.visible ? /* @__PURE__ */ y("div", {
|
|
3621
3741
|
className: Q["bsy-lexical-ai__think-pin"],
|
|
3622
|
-
children: /* @__PURE__ */ y(
|
|
3742
|
+
children: /* @__PURE__ */ y(Wo, { model: S })
|
|
3623
3743
|
}) : null, /* @__PURE__ */ b(u, {
|
|
3624
3744
|
className: Q["bsy-lexical-ai__column-body"],
|
|
3625
|
-
options:
|
|
3745
|
+
options: $o,
|
|
3626
3746
|
viewportRef: _,
|
|
3627
|
-
onScroll:
|
|
3747
|
+
onScroll: C.onScroll,
|
|
3628
3748
|
children: [t === "error" ? /* @__PURE__ */ y("div", {
|
|
3629
3749
|
className: Q["bsy-lexical-ai__error"],
|
|
3630
|
-
children:
|
|
3631
|
-
}) : /* @__PURE__ */ y(
|
|
3750
|
+
children: n || p("editor.aiError")
|
|
3751
|
+
}) : /* @__PURE__ */ y(Go, { model: S }), v ? /* @__PURE__ */ y(Qo, { html: o }) : null]
|
|
3632
3752
|
})]
|
|
3633
3753
|
})]
|
|
3634
3754
|
})]
|
|
3635
3755
|
}), /* @__PURE__ */ b("div", {
|
|
3636
3756
|
className: Q["bsy-lexical-ai__footer"],
|
|
3637
|
-
children: [/* @__PURE__ */ y(
|
|
3757
|
+
children: [/* @__PURE__ */ y(N, {
|
|
3638
3758
|
onClick: () => g(!1),
|
|
3639
|
-
children:
|
|
3640
|
-
}), /* @__PURE__ */ y(
|
|
3759
|
+
children: p("editor.aiAbandon")
|
|
3760
|
+
}), /* @__PURE__ */ y(N, {
|
|
3641
3761
|
type: "primary",
|
|
3642
3762
|
disabled: !x,
|
|
3643
|
-
onClick: () =>
|
|
3644
|
-
children:
|
|
3763
|
+
onClick: () => d() && g(!1),
|
|
3764
|
+
children: p("editor.aiApply")
|
|
3645
3765
|
})]
|
|
3646
3766
|
})]
|
|
3647
3767
|
})
|
|
3648
3768
|
});
|
|
3649
|
-
},
|
|
3769
|
+
}, ts = {
|
|
3650
3770
|
paddingAbsolute: !0,
|
|
3651
3771
|
overflow: {
|
|
3652
3772
|
x: "hidden",
|
|
3653
3773
|
y: "scroll"
|
|
3654
3774
|
}
|
|
3655
|
-
},
|
|
3656
|
-
let { t:
|
|
3775
|
+
}, ns = ({ status: e, errorMessage: t, originalHtml: n, proposedHtml: i, onCancel: o, onApply: s }) => {
|
|
3776
|
+
let { t: c } = a(), l = gr(), [d, f] = M(!0), p = j(null), m = !!i.trim(), h = e === "ready" && m, g = Uo({
|
|
3657
3777
|
status: e,
|
|
3658
|
-
reasoning:
|
|
3659
|
-
}, m,
|
|
3778
|
+
reasoning: l
|
|
3779
|
+
}, m), _ = Yo({
|
|
3780
|
+
viewportRef: p,
|
|
3781
|
+
enabled: e === "loading",
|
|
3782
|
+
revision: `${l ?? ""}\0${i}`
|
|
3783
|
+
});
|
|
3660
3784
|
return /* @__PURE__ */ y(r, {
|
|
3661
|
-
title:
|
|
3785
|
+
title: c("editor.aiPreview"),
|
|
3662
3786
|
open: d,
|
|
3663
3787
|
width: "800px",
|
|
3664
3788
|
fullSwitch: !0,
|
|
3665
|
-
afterClose:
|
|
3789
|
+
afterClose: o,
|
|
3666
3790
|
onOpenChange: f,
|
|
3667
3791
|
children: /* @__PURE__ */ b("div", {
|
|
3668
3792
|
className: Q["bsy-lexical-ai__dialog"],
|
|
@@ -3671,106 +3795,78 @@ var Lo = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
|
3671
3795
|
children: [/* @__PURE__ */ b("div", {
|
|
3672
3796
|
className: Q["bsy-lexical-ai__column"],
|
|
3673
3797
|
children: [/* @__PURE__ */ b("div", {
|
|
3674
|
-
className:
|
|
3675
|
-
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }),
|
|
3798
|
+
className: P(Q["bsy-lexical-ai__column-title"], Q["bsy-lexical-ai__column-title--before"]),
|
|
3799
|
+
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }), c("editor.aiOriginal")]
|
|
3676
3800
|
}), /* @__PURE__ */ y(u, {
|
|
3677
3801
|
className: Q["bsy-lexical-ai__column-body"],
|
|
3678
|
-
options:
|
|
3679
|
-
children: /* @__PURE__ */ y(
|
|
3802
|
+
options: ts,
|
|
3803
|
+
children: /* @__PURE__ */ y(Qo, { html: n })
|
|
3680
3804
|
})]
|
|
3681
3805
|
}), /* @__PURE__ */ b("div", {
|
|
3682
3806
|
className: Q["bsy-lexical-ai__column"],
|
|
3683
3807
|
children: [/* @__PURE__ */ b("div", {
|
|
3684
|
-
className:
|
|
3685
|
-
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }),
|
|
3808
|
+
className: P(Q["bsy-lexical-ai__column-title"], Q["bsy-lexical-ai__column-title--after"]),
|
|
3809
|
+
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }), c("editor.aiOptimized")]
|
|
3686
3810
|
}), /* @__PURE__ */ b("div", {
|
|
3687
3811
|
className: Q["bsy-lexical-ai__column-stack"],
|
|
3688
3812
|
children: [g.visible ? /* @__PURE__ */ y("div", {
|
|
3689
3813
|
className: Q["bsy-lexical-ai__think-pin"],
|
|
3690
|
-
children: /* @__PURE__ */ y(
|
|
3814
|
+
children: /* @__PURE__ */ y(Wo, { model: g })
|
|
3691
3815
|
}) : null, /* @__PURE__ */ b(u, {
|
|
3692
3816
|
className: Q["bsy-lexical-ai__column-body"],
|
|
3693
|
-
options:
|
|
3817
|
+
options: ts,
|
|
3694
3818
|
viewportRef: p,
|
|
3695
|
-
onScroll:
|
|
3819
|
+
onScroll: _.onScroll,
|
|
3696
3820
|
children: [e === "error" ? /* @__PURE__ */ y("div", {
|
|
3697
3821
|
className: Q["bsy-lexical-ai__error"],
|
|
3698
|
-
children:
|
|
3699
|
-
}) : /* @__PURE__ */ y(
|
|
3822
|
+
children: t || c("editor.aiError")
|
|
3823
|
+
}) : /* @__PURE__ */ y(Go, { model: g }), m ? /* @__PURE__ */ y(Qo, { html: i }) : null]
|
|
3700
3824
|
})]
|
|
3701
3825
|
})]
|
|
3702
3826
|
})]
|
|
3703
3827
|
}), /* @__PURE__ */ b("div", {
|
|
3704
3828
|
className: Q["bsy-lexical-ai__footer"],
|
|
3705
|
-
children: [/* @__PURE__ */ y(
|
|
3829
|
+
children: [/* @__PURE__ */ y(N, {
|
|
3706
3830
|
onClick: () => f(!1),
|
|
3707
|
-
children:
|
|
3708
|
-
}), /* @__PURE__ */ y(
|
|
3831
|
+
children: c("editor.aiAbandon")
|
|
3832
|
+
}), /* @__PURE__ */ y(N, {
|
|
3709
3833
|
type: "primary",
|
|
3710
3834
|
disabled: !h,
|
|
3711
|
-
onClick: () =>
|
|
3712
|
-
children:
|
|
3835
|
+
onClick: () => s() && f(!1),
|
|
3836
|
+
children: c("editor.aiApply")
|
|
3713
3837
|
})]
|
|
3714
3838
|
})]
|
|
3715
3839
|
})
|
|
3716
3840
|
});
|
|
3717
|
-
},
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3841
|
+
}, rs = ({ maxLength: e, onMaxLengthExceed: t }) => {
|
|
3842
|
+
let [n] = R(), { aiOpen: r, setAiOpen: i, aiSessionRef: o, stop: s, polish: c } = mr(), { t: l } = a(), [u, d] = ie.useMessage(), f = o.current, { text: p, status: m, errorMessage: h } = hr(), g = !m || m === "idle" ? "loading" : m, _ = A(() => r ? zo(o.current?.originalHtml || "", "ready") : "", [r, o]), x = Bo({
|
|
3843
|
+
enabled: r === "typeset",
|
|
3844
|
+
status: g,
|
|
3845
|
+
revision: p,
|
|
3846
|
+
compute: () => zo(Lo(p, f?.codeBlocks ?? []), g)
|
|
3847
|
+
}), S = Bo({
|
|
3848
|
+
enabled: r === "polish",
|
|
3849
|
+
status: g,
|
|
3850
|
+
revision: p,
|
|
3851
|
+
compute: () => zo(na(f?.originalHtml || "", p), g)
|
|
3722
3852
|
});
|
|
3723
|
-
o.current = {
|
|
3724
|
-
originalHtml: t,
|
|
3725
|
-
text: n
|
|
3726
|
-
};
|
|
3727
|
-
let s = N(null);
|
|
3728
|
-
return j(() => {
|
|
3729
|
-
let t = () => {
|
|
3730
|
-
s.current !== null && (cancelAnimationFrame(s.current), s.current = null);
|
|
3731
|
-
};
|
|
3732
|
-
if (!e) {
|
|
3733
|
-
t(), a("");
|
|
3734
|
-
return;
|
|
3735
|
-
}
|
|
3736
|
-
let n = () => {
|
|
3737
|
-
s.current = null;
|
|
3738
|
-
let e = o.current;
|
|
3739
|
-
a(Ko(qi(e.originalHtml, e.text)));
|
|
3740
|
-
};
|
|
3741
|
-
if (r === "ready" || r === "error") {
|
|
3742
|
-
t(), n();
|
|
3743
|
-
return;
|
|
3744
|
-
}
|
|
3745
|
-
s.current === null && (s.current = requestAnimationFrame(n));
|
|
3746
|
-
}, [
|
|
3747
|
-
e,
|
|
3748
|
-
t,
|
|
3749
|
-
r,
|
|
3750
|
-
n
|
|
3751
|
-
]), O(() => () => {
|
|
3752
|
-
s.current !== null && cancelAnimationFrame(s.current);
|
|
3753
|
-
}, []), i;
|
|
3754
|
-
}
|
|
3755
|
-
var Jo = ({ maxLength: e, onMaxLengthExceed: t }) => {
|
|
3756
|
-
let [n] = B(), { aiOpen: r, setAiOpen: i, aiSessionRef: o, stop: s, polish: c } = mr(), { t: l } = a(), [u, d] = ne.useMessage(), f = o.current, { text: p, reasoning: m, status: h, errorMessage: g } = hr(), _ = !h || h === "idle" ? "loading" : h, x = p, S = Ko(r === "typeset" ? Mo(x, f?.codeBlocks ?? []) : ""), C = Ko(f?.originalHtml || ""), w = r === "polish" ? Ko(f?.originalHtml || "") : "", E = qo(r === "polish", f?.originalHtml || "", x, _);
|
|
3757
3853
|
O(() => {
|
|
3758
3854
|
if (r) return n.setEditable(!1), n.update(() => {
|
|
3759
|
-
|
|
3855
|
+
Pe(null);
|
|
3760
3856
|
}), window.getSelection()?.removeAllRanges(), n.getRootElement()?.blur(), () => {
|
|
3761
3857
|
n.setEditable(!0);
|
|
3762
3858
|
};
|
|
3763
3859
|
}, [r, n]);
|
|
3764
|
-
let
|
|
3860
|
+
let C = T(() => {
|
|
3765
3861
|
s?.(), o.current = null, i(null);
|
|
3766
3862
|
}, [
|
|
3767
3863
|
o,
|
|
3768
3864
|
i,
|
|
3769
3865
|
s
|
|
3770
|
-
]),
|
|
3771
|
-
if (r !== "typeset" ||
|
|
3866
|
+
]), w = T(() => {
|
|
3867
|
+
if (r !== "typeset" || g !== "ready") return !1;
|
|
3772
3868
|
n.setEditable(!0);
|
|
3773
|
-
let { applied: i, truncated: a } =
|
|
3869
|
+
let { applied: i, truncated: a } = Ro(n, p, o.current?.codeBlocks ?? [], e);
|
|
3774
3870
|
return i ? (a && t?.(), !0) : (n.setEditable(!1), u.warning(l("editor.aiApplyEmpty")), !1);
|
|
3775
3871
|
}, [
|
|
3776
3872
|
r,
|
|
@@ -3779,60 +3875,59 @@ var Jo = ({ maxLength: e, onMaxLengthExceed: t }) => {
|
|
|
3779
3875
|
e,
|
|
3780
3876
|
u,
|
|
3781
3877
|
t,
|
|
3782
|
-
|
|
3878
|
+
g,
|
|
3783
3879
|
l,
|
|
3784
|
-
|
|
3785
|
-
]),
|
|
3880
|
+
p
|
|
3881
|
+
]), E = T(() => r !== "polish" || g !== "ready" ? !1 : ra(n, p) ? !0 : (u.warning(l("editor.aiApplyEmpty")), !1), [
|
|
3786
3882
|
r,
|
|
3787
3883
|
n,
|
|
3788
3884
|
u,
|
|
3789
|
-
|
|
3885
|
+
g,
|
|
3790
3886
|
l,
|
|
3791
|
-
|
|
3792
|
-
]),
|
|
3887
|
+
p
|
|
3888
|
+
]), D = T((e) => {
|
|
3793
3889
|
let t = o.current;
|
|
3794
3890
|
!t?.originalText || !c || (t.preset = e, s?.(), c({
|
|
3795
3891
|
text: t.originalText,
|
|
3796
|
-
preset: e
|
|
3892
|
+
preset: e,
|
|
3893
|
+
prompt: Qr(e)
|
|
3797
3894
|
}));
|
|
3798
3895
|
}, [
|
|
3799
3896
|
o,
|
|
3800
3897
|
c,
|
|
3801
3898
|
s
|
|
3802
3899
|
]);
|
|
3803
|
-
return r ? /* @__PURE__ */ b(v, { children: [d, r === "typeset" ? /* @__PURE__ */ y(
|
|
3804
|
-
status:
|
|
3805
|
-
|
|
3806
|
-
|
|
3807
|
-
|
|
3900
|
+
return r ? /* @__PURE__ */ b(v, { children: [d, r === "typeset" ? /* @__PURE__ */ y(ns, {
|
|
3901
|
+
status: g,
|
|
3902
|
+
errorMessage: h,
|
|
3903
|
+
originalHtml: _,
|
|
3904
|
+
proposedHtml: x,
|
|
3905
|
+
onCancel: C,
|
|
3906
|
+
onApply: w
|
|
3907
|
+
}) : /* @__PURE__ */ y(es, {
|
|
3908
|
+
status: g,
|
|
3909
|
+
errorMessage: h,
|
|
3910
|
+
originalHtml: _,
|
|
3808
3911
|
proposedHtml: S,
|
|
3809
|
-
onCancel: D,
|
|
3810
|
-
onApply: k
|
|
3811
|
-
}) : /* @__PURE__ */ y(Uo, {
|
|
3812
|
-
status: _,
|
|
3813
|
-
reasoning: m,
|
|
3814
|
-
errorMessage: g,
|
|
3815
|
-
originalHtml: w,
|
|
3816
|
-
proposedHtml: E,
|
|
3817
3912
|
preset: f?.preset ?? "quick",
|
|
3818
|
-
onPresetChange:
|
|
3819
|
-
onCancel:
|
|
3820
|
-
onApply:
|
|
3913
|
+
onPresetChange: D,
|
|
3914
|
+
onCancel: C,
|
|
3915
|
+
onApply: E
|
|
3821
3916
|
})] }) : d;
|
|
3822
|
-
},
|
|
3823
|
-
let { height: t = "auto", minHeight: n, onChange: r, toolbar: i, theme: a, maxLength: o, onMaxLengthExceed: s, upload: c, ai: l } = e, [u] =
|
|
3917
|
+
}, is = [], as = (e) => {
|
|
3918
|
+
let { height: t = "auto", minHeight: n, onChange: r, toolbar: i, theme: a, maxLength: o, onMaxLengthExceed: s, upload: c, ai: l } = e, [u] = R(), { isSourceMode: d, isSourceModeRef: f } = Hr(), p = j(null), m = j(null), h = j(/* @__PURE__ */ new Map()), g = j(null), _ = j(null), v = j(s);
|
|
3824
3919
|
v.current = s;
|
|
3825
|
-
let x =
|
|
3826
|
-
|
|
3827
|
-
let
|
|
3828
|
-
|
|
3829
|
-
let
|
|
3830
|
-
|
|
3831
|
-
}, []),
|
|
3832
|
-
|
|
3833
|
-
}, []),
|
|
3834
|
-
|
|
3835
|
-
}, []),
|
|
3920
|
+
let x = no(o) ? o : void 0, [S, C] = M(0), [w, E] = M(null), D = i?.mode === "floating", ee = x !== void 0 && !d, k = j(l);
|
|
3921
|
+
k.current = l;
|
|
3922
|
+
let te = j(r);
|
|
3923
|
+
te.current = r;
|
|
3924
|
+
let N = T((e) => {
|
|
3925
|
+
k.current?.typeset?.(e);
|
|
3926
|
+
}, []), ne = T((e) => {
|
|
3927
|
+
k.current?.polish?.(e);
|
|
3928
|
+
}, []), re = T(() => {
|
|
3929
|
+
k.current?.stop?.();
|
|
3930
|
+
}, []), ie = !!l?.typeset, P = !!l?.polish, ae = A(() => ({
|
|
3836
3931
|
containerRef: p,
|
|
3837
3932
|
toolbarRef: m,
|
|
3838
3933
|
upload: c,
|
|
@@ -3840,35 +3935,33 @@ var Jo = ({ maxLength: e, onMaxLengthExceed: t }) => {
|
|
|
3840
3935
|
setAiOpen: E,
|
|
3841
3936
|
aiSessionRef: g,
|
|
3842
3937
|
attachmentsBySrcRef: h,
|
|
3843
|
-
typeset:
|
|
3844
|
-
polish:
|
|
3845
|
-
stop:
|
|
3846
|
-
canTypeset:
|
|
3847
|
-
canPolish:
|
|
3938
|
+
typeset: N,
|
|
3939
|
+
polish: ne,
|
|
3940
|
+
stop: re,
|
|
3941
|
+
canTypeset: ie,
|
|
3942
|
+
canPolish: P
|
|
3848
3943
|
}), [
|
|
3849
3944
|
w,
|
|
3850
|
-
|
|
3945
|
+
P,
|
|
3946
|
+
ie,
|
|
3851
3947
|
ne,
|
|
3852
|
-
|
|
3853
|
-
|
|
3854
|
-
F,
|
|
3948
|
+
re,
|
|
3949
|
+
N,
|
|
3855
3950
|
c
|
|
3856
|
-
]),
|
|
3951
|
+
]), oe = A(() => ({
|
|
3857
3952
|
text: l?.text ?? "",
|
|
3858
|
-
reasoning: l?.reasoning,
|
|
3859
3953
|
status: l?.status,
|
|
3860
3954
|
errorMessage: l?.errorMessage
|
|
3861
3955
|
}), [
|
|
3862
3956
|
l?.text,
|
|
3863
|
-
l?.reasoning,
|
|
3864
3957
|
l?.status,
|
|
3865
3958
|
l?.errorMessage
|
|
3866
|
-
]),
|
|
3959
|
+
]), se = T((e) => {
|
|
3867
3960
|
f.current || e.read(() => {
|
|
3868
|
-
let t =
|
|
3961
|
+
let t = F().getTextContent(), n = Ui(X(ge(u, null))), r = hi(n, t) ? null : n;
|
|
3869
3962
|
_.current = r, x !== void 0 && C(t.length);
|
|
3870
|
-
let i =
|
|
3871
|
-
|
|
3963
|
+
let i = Me(nn).map((e) => h.current.get(e.getSrc())).filter((e) => e !== void 0);
|
|
3964
|
+
te.current({
|
|
3872
3965
|
text: t,
|
|
3873
3966
|
html: r,
|
|
3874
3967
|
attachments: i
|
|
@@ -3881,7 +3974,7 @@ var Jo = ({ maxLength: e, onMaxLengthExceed: t }) => {
|
|
|
3881
3974
|
]);
|
|
3882
3975
|
O(() => {
|
|
3883
3976
|
x === void 0 || d || u.getEditorState().read(() => {
|
|
3884
|
-
C(
|
|
3977
|
+
C(F().getTextContentSize());
|
|
3885
3978
|
}, { editor: u });
|
|
3886
3979
|
}, [
|
|
3887
3980
|
u,
|
|
@@ -3892,67 +3985,70 @@ var Jo = ({ maxLength: e, onMaxLengthExceed: t }) => {
|
|
|
3892
3985
|
if (f.current) {
|
|
3893
3986
|
let t = e.value?.trim() ? X(e.value) : "";
|
|
3894
3987
|
_.current = e.value, u.update(() => {
|
|
3895
|
-
|
|
3988
|
+
go(ho(t));
|
|
3896
3989
|
});
|
|
3897
3990
|
return;
|
|
3898
3991
|
}
|
|
3899
3992
|
let t = !1, n = _.current === null;
|
|
3900
3993
|
u.update(() => {
|
|
3901
|
-
|
|
3902
|
-
}), n && u.dispatchCommand(
|
|
3994
|
+
mi(u, e.value?.trim() ? X(e.value) : ""), x !== void 0 && (t = ro(u, x)), On(u);
|
|
3995
|
+
}), n && u.dispatchCommand(Re, void 0), t && v.current?.();
|
|
3903
3996
|
}, [
|
|
3904
3997
|
e.value,
|
|
3905
3998
|
u,
|
|
3906
3999
|
x,
|
|
3907
4000
|
f
|
|
3908
4001
|
]);
|
|
3909
|
-
let
|
|
4002
|
+
let ce = i?.config?.length ? i.config : is, le = T(() => {
|
|
3910
4003
|
v.current?.();
|
|
3911
4004
|
}, []);
|
|
3912
|
-
return /* @__PURE__ */ y(
|
|
3913
|
-
value:
|
|
3914
|
-
children: /* @__PURE__ */
|
|
3915
|
-
value:
|
|
3916
|
-
children:
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
|
|
3937
|
-
|
|
4005
|
+
return /* @__PURE__ */ y(dr.Provider, {
|
|
4006
|
+
value: ae,
|
|
4007
|
+
children: /* @__PURE__ */ y(fr.Provider, {
|
|
4008
|
+
value: oe,
|
|
4009
|
+
children: /* @__PURE__ */ b(pr.Provider, {
|
|
4010
|
+
value: l?.reasoning,
|
|
4011
|
+
children: [/* @__PURE__ */ y(os, {
|
|
4012
|
+
containerRef: p,
|
|
4013
|
+
isFloating: D,
|
|
4014
|
+
toolbarConfig: ce,
|
|
4015
|
+
toolbarTheme: a?.toolbar,
|
|
4016
|
+
containerTheme: a?.container,
|
|
4017
|
+
toolbarStyle: i?.style,
|
|
4018
|
+
toolbarSize: i?.size,
|
|
4019
|
+
toolbarMode: i?.mode,
|
|
4020
|
+
toolbarFloating: i?.floating,
|
|
4021
|
+
toolbarStickyOffset: i?.stickyOffset,
|
|
4022
|
+
height: t,
|
|
4023
|
+
minHeight: n,
|
|
4024
|
+
showLengthBadge: ee,
|
|
4025
|
+
textLength: S,
|
|
4026
|
+
validMaxLength: x,
|
|
4027
|
+
onMaxLengthExceed: le,
|
|
4028
|
+
onChange: se
|
|
4029
|
+
}), /* @__PURE__ */ y(rs, {
|
|
4030
|
+
maxLength: x,
|
|
4031
|
+
onMaxLengthExceed: le
|
|
4032
|
+
})]
|
|
4033
|
+
})
|
|
3938
4034
|
})
|
|
3939
4035
|
});
|
|
3940
|
-
},
|
|
3941
|
-
let [_] =
|
|
4036
|
+
}, os = w(function({ containerRef: e, isFloating: t, toolbarConfig: n, toolbarTheme: r, containerTheme: i, toolbarStyle: a, toolbarSize: o, toolbarMode: s, toolbarFloating: c, toolbarStickyOffset: l, height: u, minHeight: d, showLengthBadge: f, textLength: p, validMaxLength: m, onMaxLengthExceed: h, onChange: g }) {
|
|
4037
|
+
let [_] = R(), v = Qt(), x = typeof u == "number" ? u : void 0, S = !t && x === void 0 && l !== void 0, C = j(!1);
|
|
3942
4038
|
O(() => {
|
|
3943
4039
|
v && C.current && (C.current = !1, _.focus());
|
|
3944
4040
|
}, [v, _]);
|
|
3945
|
-
let w =
|
|
4041
|
+
let w = A(() => Ca(i), [i]);
|
|
3946
4042
|
return /* @__PURE__ */ b("div", {
|
|
3947
4043
|
ref: e,
|
|
3948
|
-
className:
|
|
4044
|
+
className: P("bsy-lexical-editor", $["bsy-lexical-editor"], t && $["bsy-lexical-editor--floating"], S && $["bsy-lexical-editor--sticky-toolbar"]),
|
|
3949
4045
|
style: w,
|
|
3950
4046
|
onClick: (e) => {
|
|
3951
4047
|
let t = _.getRootElement(), n = e.target;
|
|
3952
4048
|
!t || !n || !t.contains(n) || _.isEditable() || (C.current = !0, _.setEditable(!0));
|
|
3953
4049
|
},
|
|
3954
4050
|
children: [
|
|
3955
|
-
n && n.length > 0 ? /* @__PURE__ */ y(
|
|
4051
|
+
n && n.length > 0 ? /* @__PURE__ */ y(xa, {
|
|
3956
4052
|
config: n,
|
|
3957
4053
|
theme: r,
|
|
3958
4054
|
style: a,
|
|
@@ -3962,56 +4058,56 @@ var Jo = ({ maxLength: e, onMaxLengthExceed: t }) => {
|
|
|
3962
4058
|
stickyOffset: S ? l : void 0
|
|
3963
4059
|
}) : null,
|
|
3964
4060
|
/* @__PURE__ */ b("div", {
|
|
3965
|
-
className:
|
|
4061
|
+
className: P($["bsy-lexical-editor__body"], x !== void 0 && $["bsy-lexical-editor__body--fixed"]),
|
|
3966
4062
|
style: { height: x },
|
|
3967
4063
|
children: [/* @__PURE__ */ y("div", {
|
|
3968
4064
|
className: $["bsy-lexical-editor__editable-wrap"],
|
|
3969
|
-
children: /* @__PURE__ */ y(
|
|
3970
|
-
contentEditable: /* @__PURE__ */ y(
|
|
4065
|
+
children: /* @__PURE__ */ y(de, {
|
|
4066
|
+
contentEditable: /* @__PURE__ */ y(fe, {
|
|
3971
4067
|
className: $["bsy-lexical-editor__content-editable"],
|
|
3972
4068
|
style: {
|
|
3973
4069
|
minHeight: x === void 0 ? d : void 0,
|
|
3974
4070
|
cursor: v ? "auto" : "text"
|
|
3975
4071
|
}
|
|
3976
4072
|
}),
|
|
3977
|
-
ErrorBoundary:
|
|
4073
|
+
ErrorBoundary: he
|
|
3978
4074
|
})
|
|
3979
|
-
}), f && m !== void 0 ? /* @__PURE__ */ y(
|
|
4075
|
+
}), f && m !== void 0 ? /* @__PURE__ */ y(bo, {
|
|
3980
4076
|
current: p,
|
|
3981
4077
|
maxLength: m
|
|
3982
4078
|
}) : null]
|
|
3983
4079
|
}),
|
|
3984
|
-
/* @__PURE__ */ y(Qt, {}),
|
|
3985
4080
|
/* @__PURE__ */ y($t, {}),
|
|
3986
|
-
/* @__PURE__ */ y(
|
|
3987
|
-
/* @__PURE__ */ y(
|
|
3988
|
-
/* @__PURE__ */ y(
|
|
3989
|
-
/* @__PURE__ */ y(
|
|
3990
|
-
/* @__PURE__ */ y(
|
|
3991
|
-
/* @__PURE__ */ y(
|
|
3992
|
-
/* @__PURE__ */ y(
|
|
3993
|
-
/* @__PURE__ */ y(
|
|
3994
|
-
|
|
4081
|
+
/* @__PURE__ */ y(en, {}),
|
|
4082
|
+
/* @__PURE__ */ y(ka, {}),
|
|
4083
|
+
/* @__PURE__ */ y(yo, {}),
|
|
4084
|
+
/* @__PURE__ */ y(Aa, {}),
|
|
4085
|
+
/* @__PURE__ */ y(Na, {}),
|
|
4086
|
+
/* @__PURE__ */ y(Pa, {}),
|
|
4087
|
+
/* @__PURE__ */ y(Za, {}),
|
|
4088
|
+
/* @__PURE__ */ y(Qa, {}),
|
|
4089
|
+
/* @__PURE__ */ y(eo, {}),
|
|
4090
|
+
f && m !== void 0 ? /* @__PURE__ */ y(to, {
|
|
3995
4091
|
maxLength: m,
|
|
3996
4092
|
onMaxLengthExceed: h
|
|
3997
4093
|
}) : null,
|
|
3998
|
-
/* @__PURE__ */ y(
|
|
3999
|
-
/* @__PURE__ */ y(
|
|
4094
|
+
/* @__PURE__ */ y(pe, {}),
|
|
4095
|
+
/* @__PURE__ */ y(me, {
|
|
4000
4096
|
onChange: g,
|
|
4001
4097
|
ignoreSelectionChange: !0,
|
|
4002
4098
|
ignoreHistoryMergeTagChange: !1
|
|
4003
4099
|
})
|
|
4004
4100
|
]
|
|
4005
4101
|
});
|
|
4006
|
-
}),
|
|
4102
|
+
}), ss = (e) => /* @__PURE__ */ y(_o, {
|
|
4007
4103
|
maxLength: e.maxLength,
|
|
4008
4104
|
onMaxLengthExceed: e.onMaxLengthExceed,
|
|
4009
|
-
children: /* @__PURE__ */ y(
|
|
4105
|
+
children: /* @__PURE__ */ y(as, { ...e })
|
|
4010
4106
|
});
|
|
4011
|
-
|
|
4107
|
+
ss.displayName = "BsyLexicalEditorCore";
|
|
4012
4108
|
//#endregion
|
|
4013
4109
|
//#region src/components/Editor/nodes/ExtendedLinkNode.ts
|
|
4014
|
-
var
|
|
4110
|
+
var cs = class e extends pt {
|
|
4015
4111
|
constructor(e = "", t = {}, n) {
|
|
4016
4112
|
super(e, t, n);
|
|
4017
4113
|
}
|
|
@@ -4026,18 +4122,18 @@ var $o = class e extends ft {
|
|
|
4026
4122
|
}, t.__key);
|
|
4027
4123
|
}
|
|
4028
4124
|
static importJSON(e) {
|
|
4029
|
-
return
|
|
4125
|
+
return ls().updateFromJSON(e);
|
|
4030
4126
|
}
|
|
4031
4127
|
sanitizeUrl(e) {
|
|
4032
4128
|
return e.startsWith("@") ? e : super.sanitizeUrl(e);
|
|
4033
4129
|
}
|
|
4034
|
-
},
|
|
4130
|
+
}, ls = (e = "", t = {}) => ve(new cs(e, t)), us = "1px solid #d9d9d9", ds = { export: new Map([[zt, (e, t) => {
|
|
4035
4131
|
let n = t.exportDOM(e);
|
|
4036
|
-
return
|
|
4037
|
-
}]]) },
|
|
4132
|
+
return ot(n.element) && (n.element.style.border = us), n;
|
|
4133
|
+
}]]) }, fs = (e) => {
|
|
4038
4134
|
let { autoFocus: t = !1 } = e;
|
|
4039
|
-
return /* @__PURE__ */ y(
|
|
4040
|
-
initialConfig:
|
|
4135
|
+
return /* @__PURE__ */ y(ue, {
|
|
4136
|
+
initialConfig: A(() => ({
|
|
4041
4137
|
namespace: "bsyLexicalEditor",
|
|
4042
4138
|
onError: (e) => {
|
|
4043
4139
|
console.error("Lexical error", e);
|
|
@@ -4073,39 +4169,39 @@ var $o = class e extends ft {
|
|
|
4073
4169
|
tableRow: "editor-table-row",
|
|
4074
4170
|
tableScrollableWrapper: "editor-table-scrollable-wrapper"
|
|
4075
4171
|
},
|
|
4076
|
-
html:
|
|
4172
|
+
html: ds,
|
|
4077
4173
|
nodes: [
|
|
4078
|
-
|
|
4174
|
+
cs,
|
|
4079
4175
|
{
|
|
4080
|
-
replace:
|
|
4081
|
-
with: (e) => new
|
|
4176
|
+
replace: pt,
|
|
4177
|
+
with: (e) => new cs(e.__url, {
|
|
4082
4178
|
rel: e.__rel,
|
|
4083
4179
|
target: e.__target,
|
|
4084
4180
|
title: e.__title
|
|
4085
4181
|
}),
|
|
4086
|
-
withKlass:
|
|
4182
|
+
withKlass: cs
|
|
4087
4183
|
},
|
|
4088
|
-
|
|
4184
|
+
ft,
|
|
4185
|
+
bt,
|
|
4089
4186
|
yt,
|
|
4090
|
-
|
|
4091
|
-
|
|
4187
|
+
Jt,
|
|
4188
|
+
Dt,
|
|
4092
4189
|
Et,
|
|
4093
|
-
Tt,
|
|
4094
|
-
zt,
|
|
4095
4190
|
Bt,
|
|
4096
|
-
|
|
4097
|
-
|
|
4098
|
-
|
|
4191
|
+
Vt,
|
|
4192
|
+
zt,
|
|
4193
|
+
nn,
|
|
4194
|
+
wa,
|
|
4099
4195
|
{
|
|
4100
|
-
replace:
|
|
4101
|
-
with: (e) => new
|
|
4102
|
-
withKlass:
|
|
4196
|
+
replace: rt,
|
|
4197
|
+
with: (e) => new wa(e.__text),
|
|
4198
|
+
withKlass: wa
|
|
4103
4199
|
}
|
|
4104
4200
|
]
|
|
4105
4201
|
}), [t]),
|
|
4106
|
-
children: /* @__PURE__ */ y(
|
|
4202
|
+
children: /* @__PURE__ */ y(ss, { ...e })
|
|
4107
4203
|
});
|
|
4108
4204
|
};
|
|
4109
|
-
|
|
4205
|
+
fs.displayName = "BsyLexicalEditor";
|
|
4110
4206
|
//#endregion
|
|
4111
|
-
export {
|
|
4207
|
+
export { Te as $getRoot, q as BaseButton, Zo as EditorHtmlPreview, fs as default, pa as listRegisteredToolbarButtons, ua as registerToolbarButton, da as unregisterToolbarButton, ct as useLexicalComposerContext };
|