@baishuyun/ui-base 6.21.1 → 6.22.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-BaIHL7cB.js → Calendar-C9LHoXQc.js} +1 -1
- package/dist/Calendar/index.js +3 -3
- 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-CbfmdBaK.js → DatePicker-ByZiiZPq.js} +1 -1
- package/dist/DatePicker/{DatePickerPanel-BDJYZs1q.js → DatePickerPanel-DiOVoMv4.js} +1 -1
- package/dist/DatePicker/index.js +2 -2
- package/dist/DropDown/index.js +1 -1
- package/dist/Editor/index.js +1063 -950
- 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/index.js +1 -1
- 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/context/EditorContainerContext.d.ts +2 -1
- package/dist/components/Editor/index.d.ts +1 -1
- package/dist/components/Editor/interface.d.ts +15 -0
- package/dist/components/Editor/plugins/DefaultTextStylePlugin.d.ts +1 -0
- package/dist/components/Editor/plugins/ImePendingFormatPlugin.d.ts +1 -0
- package/dist/components/Editor/utils/applyDefaultTextStyle.d.ts +2 -0
- package/dist/components/Editor/utils/imePendingFormat.d.ts +8 -0
- package/dist/components/Editor/utils/readTextFormats.d.ts +3 -1
- package/dist/components/Editor/utils/stripInlineStyleProperty.d.ts +1 -0
- package/dist/index.js +3 -3
- package/dist/style.css +1 -1
- package/dist/vendors/{version-CyVENVWD.js → version-DH5GPcND.js} +1 -1
- package/package.json +1 -1
package/dist/Editor/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../vendors/version-
|
|
1
|
+
import "../vendors/version-DH5GPcND.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,32 +21,32 @@ 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 ee, useImperativeHandle as k, useLayoutEffect as
|
|
25
|
-
import { Button as
|
|
26
|
-
import
|
|
27
|
-
import { useEventListener as
|
|
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 H, $handleIndentAndOutdent as
|
|
46
|
-
import
|
|
47
|
-
import { useLexicalEditable as
|
|
48
|
-
import { LinkPlugin as
|
|
49
|
-
import { ListPlugin as
|
|
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 F, useReducedMotion as se } from "motion/react";
|
|
29
|
+
import { FloatingPortal as ce } from "@floating-ui/react";
|
|
30
|
+
import { LexicalComposer as le } from "@lexical/react/LexicalComposer";
|
|
31
|
+
import { RichTextPlugin as ue } from "@lexical/react/LexicalRichTextPlugin";
|
|
32
|
+
import { ContentEditable as de } from "@lexical/react/LexicalContentEditable";
|
|
33
|
+
import { HistoryPlugin as fe } from "@lexical/react/LexicalHistoryPlugin";
|
|
34
|
+
import { OnChangePlugin as pe } from "@lexical/react/LexicalOnChangePlugin";
|
|
35
|
+
import { LexicalErrorBoundary as me } from "@lexical/react/LexicalErrorBoundary";
|
|
36
|
+
import { $generateHtmlFromNodes as he, $generateNodesFromDOM as ge } from "@lexical/html";
|
|
37
|
+
import { $applyNodeReplacement as _e, $createLineBreakNode as ve, $createParagraphNode as ye, $createTabNode as be, $createTextNode as xe, $getNearestNodeFromDOMNode as Se, $getNodeByKey as Ce, $getRoot as we, $getRoot as I, $getSelection as L, $insertNodes as Te, $isElementNode as Ee, $isLineBreakNode as De, $isParagraphNode as Oe, $isRangeSelection as R, $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, COMPOSITION_START_COMMAND as Ue, CONTROLLED_TEXT_INSERTION_COMMAND as We, DROP_COMMAND as Ge, DecoratorNode as Ke, FOCUS_COMMAND as qe, FORMAT_ELEMENT_COMMAND as Je, FORMAT_TEXT_COMMAND as Ye, HISTORY_MERGE_TAG as Xe, INDENT_CONTENT_COMMAND as Ze, KEY_ENTER_COMMAND as Qe, KEY_TAB_COMMAND as $e, OUTDENT_CONTENT_COMMAND as et, PASTE_COMMAND as tt, PASTE_TAG as nt, ParagraphNode as rt, REDO_COMMAND as it, RootNode as at, TextNode as ot, UNDO_COMMAND as st, createCommand as ct, isHTMLElement as lt, mergeRegister as ut } from "lexical";
|
|
38
|
+
import { useLexicalComposerContext as dt, useLexicalComposerContext as z } from "@lexical/react/LexicalComposerContext";
|
|
39
|
+
import { $createLinkNode as ft, $isLinkNode as pt, $toggleLink as mt, AutoLinkNode as ht, LinkNode as gt, TOGGLE_LINK_COMMAND as _t } from "@lexical/link";
|
|
40
|
+
import { $isListItemNode as B, $isListNode as vt, INSERT_ORDERED_LIST_COMMAND as yt, INSERT_UNORDERED_LIST_COMMAND as bt, ListItemNode as xt, ListNode as St, REMOVE_LIST_COMMAND as Ct } from "@lexical/list";
|
|
41
|
+
import { $createCodeHighlightNode as wt, $createCodeNode as Tt, $isCodeHighlightNode as Et, $isCodeNode as V, $plainifyCodeContent as Dt, CodeHighlightNode as Ot, CodeNode as kt, registerCodeIndentation as At } from "@lexical/code-core";
|
|
42
|
+
import { $getSelectionStyleValueForProperty as jt, $patchStyleText as Mt, $setBlocksType as Nt, $trimTextContentFromAnchor as Pt } from "@lexical/selection";
|
|
43
|
+
import { $findCellNode as Ft, $isTableCellNode as It, $isTableNode as Lt, $isTableRowNode as Rt, $isTableSelection as zt, INSERT_TABLE_COMMAND as Bt, TableCellNode as Vt, TableNode as Ht, TableRowNode as Ut, registerTableCellUnmergeTransform as Wt, registerTablePlugin as Gt, registerTableSelectionObserver as Kt, setScrollableTablesActive as qt } from "@lexical/table";
|
|
44
|
+
import { $createHeadingNode as Jt, $isHeadingNode as Yt, HeadingNode as Xt } from "@lexical/rich-text";
|
|
45
|
+
import { $findMatchingParent as H, $handleIndentAndOutdent as Zt, $restoreEditorState as Qt, mergeRegister as $t } from "@lexical/utils";
|
|
46
|
+
import en from "dompurify";
|
|
47
|
+
import { useLexicalEditable as tn } from "@lexical/react/useLexicalEditable";
|
|
48
|
+
import { LinkPlugin as nn } from "@lexical/react/LexicalLinkPlugin";
|
|
49
|
+
import { ListPlugin as rn } from "@lexical/react/LexicalListPlugin";
|
|
50
50
|
var U = {
|
|
51
51
|
imageWrapper: "_imageWrapper_y06h3_1",
|
|
52
52
|
selected: "_selected_y06h3_8",
|
|
@@ -57,8 +57,8 @@ var U = {
|
|
|
57
57
|
topRight: "_topRight_y06h3_49",
|
|
58
58
|
bottomLeft: "_bottomLeft_y06h3_54",
|
|
59
59
|
bottomRight: "_bottomRight_y06h3_59"
|
|
60
|
-
},
|
|
61
|
-
let [s] =
|
|
60
|
+
}, an = ({ src: e, altText: t, width: n, height: r, dataId: i, dataSrc: a, nodeKey: o }) => {
|
|
61
|
+
let [s] = z(), [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
64
|
}), h = T(() => {
|
|
@@ -106,8 +106,8 @@ var U = {
|
|
|
106
106
|
});
|
|
107
107
|
}, [u]), S = T(() => {
|
|
108
108
|
u?.isResizing && (s.update(() => {
|
|
109
|
-
let e =
|
|
110
|
-
|
|
109
|
+
let e = Ce(o);
|
|
110
|
+
cn(e) && e.setWidthAndHeight(p.width, p.height);
|
|
111
111
|
}), d(null));
|
|
112
112
|
}, [
|
|
113
113
|
s,
|
|
@@ -129,8 +129,8 @@ var U = {
|
|
|
129
129
|
}, []);
|
|
130
130
|
return O(() => s.registerUpdateListener(({ editorState: e }) => {
|
|
131
131
|
e.read(() => {
|
|
132
|
-
let e =
|
|
133
|
-
|
|
132
|
+
let e = L();
|
|
133
|
+
R(e) && !e.getNodes().some((e) => e.getKey() === o || e.getParent() && e.getParent()?.getKey() === o) && c && l(!1);
|
|
134
134
|
});
|
|
135
135
|
}), [
|
|
136
136
|
s,
|
|
@@ -144,7 +144,7 @@ var U = {
|
|
|
144
144
|
document.removeEventListener("mousedown", e);
|
|
145
145
|
};
|
|
146
146
|
}, [c]), /* @__PURE__ */ b("div", {
|
|
147
|
-
className:
|
|
147
|
+
className: P(U.imageWrapper, {
|
|
148
148
|
[U.selected]: c,
|
|
149
149
|
[U.resizing]: u?.isResizing
|
|
150
150
|
}),
|
|
@@ -164,24 +164,24 @@ var U = {
|
|
|
164
164
|
draggable: !1
|
|
165
165
|
}), c && /* @__PURE__ */ b(v, { children: [
|
|
166
166
|
/* @__PURE__ */ y("div", {
|
|
167
|
-
className:
|
|
167
|
+
className: P(U.resizeHandle, U.bottomRight),
|
|
168
168
|
onMouseDown: (e) => g(e, "bottom-right")
|
|
169
169
|
}),
|
|
170
170
|
/* @__PURE__ */ y("div", {
|
|
171
|
-
className:
|
|
171
|
+
className: P(U.resizeHandle, U.bottomLeft),
|
|
172
172
|
onMouseDown: (e) => g(e, "bottom-left")
|
|
173
173
|
}),
|
|
174
174
|
/* @__PURE__ */ y("div", {
|
|
175
|
-
className:
|
|
175
|
+
className: P(U.resizeHandle, U.topRight),
|
|
176
176
|
onMouseDown: (e) => g(e, "top-right")
|
|
177
177
|
}),
|
|
178
178
|
/* @__PURE__ */ y("div", {
|
|
179
|
-
className:
|
|
179
|
+
className: P(U.resizeHandle, U.topLeft),
|
|
180
180
|
onMouseDown: (e) => g(e, "top-left")
|
|
181
181
|
})
|
|
182
182
|
] })]
|
|
183
183
|
});
|
|
184
|
-
},
|
|
184
|
+
}, on = class e extends Ke {
|
|
185
185
|
__src;
|
|
186
186
|
__altText;
|
|
187
187
|
__width;
|
|
@@ -236,7 +236,7 @@ var U = {
|
|
|
236
236
|
n.__width = e, n.__height = t;
|
|
237
237
|
}
|
|
238
238
|
decorate() {
|
|
239
|
-
return /* @__PURE__ */ y(
|
|
239
|
+
return /* @__PURE__ */ y(an, {
|
|
240
240
|
src: this.__src,
|
|
241
241
|
altText: this.__altText,
|
|
242
242
|
width: this.__width,
|
|
@@ -248,13 +248,13 @@ var U = {
|
|
|
248
248
|
}
|
|
249
249
|
static importDOM() {
|
|
250
250
|
return { img: () => ({
|
|
251
|
-
conversion:
|
|
251
|
+
conversion: ln,
|
|
252
252
|
priority: 0
|
|
253
253
|
}) };
|
|
254
254
|
}
|
|
255
255
|
static importJSON(e) {
|
|
256
256
|
let { src: t, altText: n, width: r, height: i, dataId: a, dataSrc: o } = e;
|
|
257
|
-
return
|
|
257
|
+
return sn({
|
|
258
258
|
src: t,
|
|
259
259
|
altText: n,
|
|
260
260
|
width: r,
|
|
@@ -279,13 +279,13 @@ var U = {
|
|
|
279
279
|
return !0;
|
|
280
280
|
}
|
|
281
281
|
};
|
|
282
|
-
function
|
|
283
|
-
return new
|
|
282
|
+
function sn({ src: e, altText: t, width: n, height: r, dataId: i, dataSrc: a, key: o }) {
|
|
283
|
+
return new on(e, t, n, r, o, i, a);
|
|
284
284
|
}
|
|
285
|
-
function
|
|
286
|
-
return e instanceof
|
|
285
|
+
function cn(e) {
|
|
286
|
+
return e instanceof on;
|
|
287
287
|
}
|
|
288
|
-
function
|
|
288
|
+
function ln(e) {
|
|
289
289
|
if (e instanceof HTMLImageElement) {
|
|
290
290
|
let { src: t, alt: n, style: r } = e, i, a;
|
|
291
291
|
if (r.width) {
|
|
@@ -298,7 +298,7 @@ function sn(e) {
|
|
|
298
298
|
}
|
|
299
299
|
i === void 0 && e.width && (i = e.width), a === void 0 && e.height && (a = e.height);
|
|
300
300
|
let o = e.getAttribute("data-id") || void 0, s = e.getAttribute("data-src") || void 0;
|
|
301
|
-
return { node:
|
|
301
|
+
return { node: sn({
|
|
302
302
|
src: t,
|
|
303
303
|
altText: n,
|
|
304
304
|
width: i,
|
|
@@ -311,10 +311,10 @@ function sn(e) {
|
|
|
311
311
|
}
|
|
312
312
|
//#endregion
|
|
313
313
|
//#region src/components/Editor/constants/toolbarSize.ts
|
|
314
|
-
var
|
|
314
|
+
var un = "default", W = {
|
|
315
315
|
x: 0,
|
|
316
316
|
y: 5
|
|
317
|
-
},
|
|
317
|
+
}, dn = {
|
|
318
318
|
small: {
|
|
319
319
|
itemHeight: 20,
|
|
320
320
|
iconSize: 14
|
|
@@ -323,24 +323,24 @@ var cn = "default", W = {
|
|
|
323
323
|
itemHeight: 30,
|
|
324
324
|
iconSize: 16
|
|
325
325
|
}
|
|
326
|
-
},
|
|
326
|
+
}, fn = (e) => {
|
|
327
327
|
if (!(e === void 0 || e === "")) return typeof e == "number" ? `${e}px` : e;
|
|
328
|
-
},
|
|
329
|
-
let n =
|
|
328
|
+
}, pn = (e, t = un) => {
|
|
329
|
+
let n = dn[t], r = fn(e?.itemHeight) ?? `${n.itemHeight}px`, i = fn(e?.iconSize) ?? `${n.iconSize}px`, a = {
|
|
330
330
|
"--bsy-editor-toolbar-item-height": r,
|
|
331
331
|
"--bsy-editor-toolbar-icon-size": i,
|
|
332
332
|
"--bsy-editor-toolbar-divider-color": "#e0e0e0",
|
|
333
333
|
"--bsy-editor-toolbar-item-highlight-color": "#0265ff"
|
|
334
334
|
};
|
|
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",
|
|
336
|
-
},
|
|
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", fn(e.gap)), s(a, "--bsy-editor-toolbar-group-gap", fn(e.groupGap)), s(a, "--bsy-editor-toolbar-divider-color", e.dividerColor), s(a, "--bsy-editor-toolbar-divider-margin", fn(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", fn(e.itemPadding)), s(a, "--bsy-editor-toolbar-item-border-radius", fn(e.itemBorderRadius)), a) : a;
|
|
336
|
+
}, mn = (e, t = un) => {
|
|
337
337
|
if (typeof e == "number" && Number.isFinite(e)) return e;
|
|
338
338
|
if (typeof e == "string") {
|
|
339
339
|
let t = Number.parseFloat(e);
|
|
340
340
|
if (Number.isFinite(t)) return t;
|
|
341
341
|
}
|
|
342
|
-
return
|
|
343
|
-
},
|
|
342
|
+
return dn[t].iconSize;
|
|
343
|
+
}, hn = (e) => {
|
|
344
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 = {
|
|
345
345
|
position: "absolute",
|
|
346
346
|
[a ? "bottom" : "top"]: "100%",
|
|
@@ -350,7 +350,7 @@ var cn = "default", W = {
|
|
|
350
350
|
width: "100%"
|
|
351
351
|
};
|
|
352
352
|
return r && (o.transform = `translateX(${r}px)`), o;
|
|
353
|
-
},
|
|
353
|
+
}, gn = (e, t, n, r) => {
|
|
354
354
|
if (e.length === 0 || t <= 0 || e.reduce((e, t, n) => e + t.width + (n > 0 ? r : 0), 0) <= t) return e.length;
|
|
355
355
|
let i = 0, a = 0;
|
|
356
356
|
for (let o = 0; o < e.length; o++) {
|
|
@@ -360,7 +360,7 @@ var cn = "default", W = {
|
|
|
360
360
|
}
|
|
361
361
|
for (; a > 0 && e[a - 1]?.isDivider;) --a;
|
|
362
362
|
return a;
|
|
363
|
-
},
|
|
363
|
+
}, _n = (e, t) => {
|
|
364
364
|
let n = (e) => e.kind === "divider";
|
|
365
365
|
return {
|
|
366
366
|
visible: e.slice(0, t),
|
|
@@ -387,7 +387,11 @@ var cn = "default", W = {
|
|
|
387
387
|
"bsy-lexical__toolbar-overflow-row--instant": "_bsy-lexical__toolbar-overflow-row--instant_1wqto_128",
|
|
388
388
|
"bsy-lexical__toolbar-overflow-inner": "_bsy-lexical__toolbar-overflow-inner_1wqto_132",
|
|
389
389
|
"bsy-lexical__toolbar-with-divider": "_bsy-lexical__toolbar-with-divider_1wqto_140"
|
|
390
|
-
},
|
|
390
|
+
}, vn = S(null), yn = S(null), bn = S({ text: "" }), xn = S(void 0), Sn = () => {
|
|
391
|
+
let e = E(yn);
|
|
392
|
+
if (!e) throw Error("useEditorContainer must be used within EditorContainerProvider");
|
|
393
|
+
return e;
|
|
394
|
+
}, Cn = () => E(bn), wn = () => E(xn), Tn = [
|
|
391
395
|
{
|
|
392
396
|
label: "12",
|
|
393
397
|
value: "12px"
|
|
@@ -436,14 +440,14 @@ var cn = "default", W = {
|
|
|
436
440
|
label: "128",
|
|
437
441
|
value: "128px"
|
|
438
442
|
}
|
|
439
|
-
],
|
|
443
|
+
], En = "16px", Dn = [
|
|
440
444
|
"jpg",
|
|
441
445
|
"jpeg",
|
|
442
446
|
"png",
|
|
443
447
|
"gif",
|
|
444
448
|
"bmp",
|
|
445
449
|
"tif"
|
|
446
|
-
],
|
|
450
|
+
], On = Dn.map((e) => `.${e}`).join(","), kn = "plaintext", An = "github-light", jn = [
|
|
447
451
|
{
|
|
448
452
|
id: "plaintext",
|
|
449
453
|
label: "Plain text"
|
|
@@ -528,31 +532,33 @@ var cn = "default", W = {
|
|
|
528
532
|
id: "markdown",
|
|
529
533
|
label: "Markdown"
|
|
530
534
|
}
|
|
531
|
-
],
|
|
535
|
+
], Mn = h(jn, "id"), Nn = (e) => e && Mn[e] ? e : kn, Pn = (e) => e === "center" || e === "right" || e === "left" ? e : e === "end" ? "right" : "left", Fn = (e) => {
|
|
532
536
|
if (e) {
|
|
533
|
-
|
|
537
|
+
I().selectStart();
|
|
534
538
|
return;
|
|
535
539
|
}
|
|
536
|
-
|
|
537
|
-
},
|
|
540
|
+
Pe(null);
|
|
541
|
+
}, In = (e) => {
|
|
538
542
|
let t = e.getRootElement();
|
|
539
|
-
|
|
540
|
-
},
|
|
541
|
-
|
|
543
|
+
Fn(!!(t && document.activeElement && t.contains(document.activeElement)));
|
|
544
|
+
}, Ln = () => {
|
|
545
|
+
L() === null && I().selectStart();
|
|
542
546
|
}, K = (e) => {
|
|
543
547
|
e.isEditable() || e.setEditable(!0), e.update(() => {
|
|
544
|
-
|
|
548
|
+
Ln();
|
|
545
549
|
}), e.focus(void 0, { defaultSelection: "rootStart" });
|
|
546
|
-
},
|
|
550
|
+
}, Rn = (e) => ({
|
|
551
|
+
fontSize: e?.fontSize === void 0 ? En : String(e.fontSize),
|
|
552
|
+
fontColor: e?.color ?? "#000",
|
|
553
|
+
backgroundColor: e?.backgroundColor ?? "transparent"
|
|
554
|
+
}), zn = (e) => ({
|
|
547
555
|
bold: !1,
|
|
548
556
|
italic: !1,
|
|
549
557
|
underline: !1,
|
|
550
558
|
strikethrough: !1,
|
|
551
559
|
superscript: !1,
|
|
552
560
|
subscript: !1,
|
|
553
|
-
|
|
554
|
-
fontColor: yn,
|
|
555
|
-
backgroundColor: bn,
|
|
561
|
+
...Rn(e),
|
|
556
562
|
align: "left",
|
|
557
563
|
listType: !1,
|
|
558
564
|
canIndent: !0,
|
|
@@ -560,120 +566,142 @@ var cn = "default", W = {
|
|
|
560
566
|
isCodeBlock: !1,
|
|
561
567
|
isInTable: !1,
|
|
562
568
|
headingTag: !1,
|
|
563
|
-
codeLanguage:
|
|
569
|
+
codeLanguage: kn,
|
|
564
570
|
hasEditorText: !1,
|
|
565
571
|
link: void 0
|
|
566
|
-
},
|
|
567
|
-
let
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
...n,
|
|
575
|
-
isInTable: !0
|
|
576
|
-
};
|
|
577
|
-
if (!z(r)) return n;
|
|
578
|
-
let i = kt(r, "font-size", vn), a = kt(r, "color", yn), o = kt(r, "background-color", bn), s = r.anchor.getNode(), c = s.getKey() === "root" ? s : H(s, (e) => {
|
|
572
|
+
}), Bn = zn(), Vn = () => {
|
|
573
|
+
let e = {
|
|
574
|
+
canIndent: !0,
|
|
575
|
+
canOutdent: !1,
|
|
576
|
+
listType: !1
|
|
577
|
+
}, t = L();
|
|
578
|
+
if (!R(t)) return e;
|
|
579
|
+
let n = t.anchor.getNode(), r = n.getKey() === "root" ? n : H(n, (e) => {
|
|
579
580
|
let t = e.getParent();
|
|
580
|
-
return t !== null &&
|
|
581
|
+
return t !== null && ke(t);
|
|
581
582
|
});
|
|
582
|
-
|
|
583
|
-
let
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
let e = d.getParent();
|
|
589
|
-
if (gt(e)) {
|
|
583
|
+
r === null && (r = n.getTopLevelElementOrThrow());
|
|
584
|
+
let i = H(n, B), a = !1, o = Ee(r) ? r.getIndent() : 0;
|
|
585
|
+
if (B(i)) {
|
|
586
|
+
o = i.getIndent();
|
|
587
|
+
let e = i.getParent();
|
|
588
|
+
if (vt(e)) {
|
|
590
589
|
let t = e.getListType();
|
|
591
|
-
|
|
590
|
+
a = t === "number" || t === "bullet" ? t : !1;
|
|
592
591
|
}
|
|
593
592
|
}
|
|
594
|
-
let m = H(s, V), h = H(s, qt), g = qt(h) ? h.getTag() : void 0;
|
|
595
593
|
return {
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
594
|
+
canIndent: o < 8,
|
|
595
|
+
canOutdent: o > 0 || a !== !1,
|
|
596
|
+
listType: a
|
|
597
|
+
};
|
|
598
|
+
}, Hn = (e, t) => {
|
|
599
|
+
let n = !!I().getTextContent().trim(), { canIndent: r, canOutdent: i } = Vn(), a = {
|
|
600
|
+
...zn(t),
|
|
601
|
+
hasEditorText: n,
|
|
602
|
+
canIndent: r,
|
|
603
|
+
canOutdent: i
|
|
604
|
+
};
|
|
605
|
+
if (!e) return a;
|
|
606
|
+
let o = L();
|
|
607
|
+
if (zt(o)) return {
|
|
608
|
+
...a,
|
|
609
|
+
isInTable: !0
|
|
610
|
+
};
|
|
611
|
+
if (!R(o)) return a;
|
|
612
|
+
let s = Rn(t), c = jt(o, "font-size", s.fontSize), l = jt(o, "color", s.fontColor), u = jt(o, "background-color", s.backgroundColor), d = o.anchor.getNode(), f = d.getKey() === "root" ? d : H(d, (e) => {
|
|
613
|
+
let t = e.getParent();
|
|
614
|
+
return t !== null && ke(t);
|
|
615
|
+
});
|
|
616
|
+
f === null && (f = d.getTopLevelElementOrThrow());
|
|
617
|
+
let p = {}, m = H(d, pt);
|
|
618
|
+
m ? (p.link = m.getURL(), p.linkText = m.getTextContent(), p.newBlank = m.getTarget() === "_blank") : p.linkText = o.getTextContent();
|
|
619
|
+
let h = Vn(), g = H(d, V), _ = H(d, Yt), v = Yt(_) ? _.getTag() : void 0;
|
|
620
|
+
return {
|
|
621
|
+
bold: o.hasFormat("bold"),
|
|
622
|
+
italic: o.hasFormat("italic"),
|
|
623
|
+
underline: o.hasFormat("underline"),
|
|
624
|
+
strikethrough: o.hasFormat("strikethrough"),
|
|
625
|
+
superscript: o.hasFormat("superscript"),
|
|
626
|
+
subscript: o.hasFormat("subscript"),
|
|
627
|
+
fontSize: c,
|
|
628
|
+
fontColor: l,
|
|
629
|
+
backgroundColor: u,
|
|
630
|
+
align: Pn(Ee(f) ? f.getFormatType() : ""),
|
|
631
|
+
...h,
|
|
632
|
+
isCodeBlock: !!g,
|
|
633
|
+
isInTable: !!H(d, It),
|
|
634
|
+
headingTag: v === "h1" || v === "h2" || v === "h3" ? v : !1,
|
|
635
|
+
codeLanguage: Nn(g?.getLanguage()),
|
|
636
|
+
hasEditorText: n,
|
|
637
|
+
link: p
|
|
615
638
|
};
|
|
616
|
-
},
|
|
639
|
+
}, Un = (e, t) => {
|
|
617
640
|
e.isEditable() || e.setEditable(!0), e.update(() => {
|
|
618
|
-
|
|
641
|
+
Ln(), t(Hn(!0));
|
|
619
642
|
}), e.focus(void 0, { defaultSelection: "rootStart" });
|
|
620
|
-
},
|
|
621
|
-
let t =
|
|
622
|
-
return
|
|
643
|
+
}, Wn = (e) => {
|
|
644
|
+
let t = Bn;
|
|
645
|
+
return Un(e, (e) => {
|
|
623
646
|
t = e;
|
|
624
647
|
}), t;
|
|
625
|
-
},
|
|
626
|
-
let [e] =
|
|
627
|
-
return O(() =>
|
|
628
|
-
},
|
|
629
|
-
let [e] =
|
|
648
|
+
}, Gn = () => {
|
|
649
|
+
let [e] = z(), [t, n] = M(!1);
|
|
650
|
+
return O(() => $t(e.registerCommand(qe, () => (n(!0), !1), He), e.registerCommand(Fe, () => (n(!1), !1), He)), [e]), t;
|
|
651
|
+
}, Kn = () => {
|
|
652
|
+
let [e] = z(), t = Gn(), { defaultTextStyle: n } = Sn(), [r, i] = M(() => zn(n));
|
|
630
653
|
return O(() => (e.getEditorState().read(() => {
|
|
631
|
-
|
|
632
|
-
}, { editor: e }), e.registerUpdateListener(({ editorState:
|
|
633
|
-
|
|
634
|
-
|
|
654
|
+
i(Hn(t, n));
|
|
655
|
+
}, { editor: e }), e.registerUpdateListener(({ editorState: r }) => {
|
|
656
|
+
r.read(() => {
|
|
657
|
+
i(Hn(t, n));
|
|
635
658
|
}, { editor: e });
|
|
636
|
-
})), [
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
659
|
+
})), [
|
|
660
|
+
n,
|
|
661
|
+
e,
|
|
662
|
+
t
|
|
663
|
+
]), r;
|
|
664
|
+
}, qn = (e) => {
|
|
665
|
+
let t = Kn();
|
|
666
|
+
return /* @__PURE__ */ y(vn.Provider, {
|
|
640
667
|
value: t,
|
|
641
668
|
children: e.children
|
|
642
669
|
});
|
|
643
|
-
},
|
|
644
|
-
let e = E(
|
|
670
|
+
}, Jn = S(null), Yn = () => {
|
|
671
|
+
let e = E(Jn);
|
|
645
672
|
if (!e) throw Error("useHistoryStateContext must be used within HistoryStateProvider");
|
|
646
673
|
return e;
|
|
647
|
-
},
|
|
648
|
-
let [t] =
|
|
674
|
+
}, Xn = ({ children: e }) => {
|
|
675
|
+
let [t] = z(), [n, r] = M({
|
|
649
676
|
canUndo: !1,
|
|
650
677
|
canRedo: !1
|
|
651
678
|
});
|
|
652
|
-
return O(() =>
|
|
679
|
+
return O(() => ut(t.registerCommand(Le, (e) => (r((t) => t.canUndo === e ? t : {
|
|
653
680
|
...t,
|
|
654
681
|
canUndo: e
|
|
655
|
-
}), !1),
|
|
682
|
+
}), !1), ze), t.registerCommand(Ie, (e) => (r((t) => t.canRedo === e ? t : {
|
|
656
683
|
...t,
|
|
657
684
|
canRedo: e
|
|
658
|
-
}), !1),
|
|
685
|
+
}), !1), ze)), [t]), /* @__PURE__ */ y(Jn.Provider, {
|
|
659
686
|
value: n,
|
|
660
687
|
children: e
|
|
661
688
|
});
|
|
662
|
-
},
|
|
663
|
-
"lexical-editor__toolbar-button": "_lexical-editor__toolbar-
|
|
664
|
-
"lexical-editor__toolbar-button-active": "_lexical-editor__toolbar-button-
|
|
665
|
-
"lexical-editor__toolbar-button-highlight": "_lexical-editor__toolbar-button-
|
|
666
|
-
"lexical-editor__toolbar-button-tooltip-trigger": "_lexical-editor__toolbar-button-tooltip-
|
|
689
|
+
}, Zn = S({ iconSize: dn.default.iconSize }), Qn = Zn.Provider, $n = () => E(Zn), er = {
|
|
690
|
+
"lexical-editor__toolbar-button": "_lexical-editor__toolbar-button_21kuw_1",
|
|
691
|
+
"lexical-editor__toolbar-button-active": "_lexical-editor__toolbar-button-active_21kuw_26",
|
|
692
|
+
"lexical-editor__toolbar-button-highlight": "_lexical-editor__toolbar-button-highlight_21kuw_30",
|
|
693
|
+
"lexical-editor__toolbar-button-tooltip-trigger": "_lexical-editor__toolbar-button-tooltip-trigger_21kuw_36"
|
|
667
694
|
}, q = ({ icon: t, tooltip: n, onClick: r, disabled: i, showDisabledTooltip: a, active: o, highlight: s, size: l }) => {
|
|
668
|
-
let { iconSize: u } =
|
|
669
|
-
className:
|
|
670
|
-
[
|
|
671
|
-
[
|
|
695
|
+
let { iconSize: u } = $n(), d = /* @__PURE__ */ y("button", {
|
|
696
|
+
className: P(er["lexical-editor__toolbar-button"], {
|
|
697
|
+
[er["lexical-editor__toolbar-button-active"]]: o,
|
|
698
|
+
[er["lexical-editor__toolbar-button-highlight"]]: s
|
|
672
699
|
}),
|
|
673
700
|
type: "button",
|
|
674
|
-
onClick: r,
|
|
701
|
+
onClick: i ? void 0 : r,
|
|
675
702
|
onMouseDown: (e) => e.preventDefault(),
|
|
676
|
-
disabled: i,
|
|
703
|
+
"aria-disabled": i || void 0,
|
|
704
|
+
tabIndex: i ? -1 : void 0,
|
|
677
705
|
children: x.isValidElement(t) ? t : /* @__PURE__ */ y(e, {
|
|
678
706
|
name: t,
|
|
679
707
|
size: l ?? u
|
|
@@ -683,16 +711,16 @@ var cn = "default", W = {
|
|
|
683
711
|
content: n,
|
|
684
712
|
minWidth: "auto",
|
|
685
713
|
children: i ? /* @__PURE__ */ y("span", {
|
|
686
|
-
className:
|
|
714
|
+
className: er["lexical-editor__toolbar-button-tooltip-trigger"],
|
|
687
715
|
children: d
|
|
688
716
|
}) : d
|
|
689
717
|
});
|
|
690
718
|
}, J = () => {
|
|
691
|
-
let e = E(
|
|
719
|
+
let e = E(vn);
|
|
692
720
|
if (!e) throw Error("useTextFormatsContext must be used within TextFormatsProvider");
|
|
693
721
|
return e;
|
|
694
|
-
},
|
|
695
|
-
let [r] =
|
|
722
|
+
}, tr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
723
|
+
let [r] = z(), i = J(), { t: o } = a(), s = i.bold;
|
|
696
724
|
return /* @__PURE__ */ y(q, {
|
|
697
725
|
icon: "bold",
|
|
698
726
|
tooltip: t ?? o("editor.bold"),
|
|
@@ -700,11 +728,11 @@ var cn = "default", W = {
|
|
|
700
728
|
active: s,
|
|
701
729
|
disabled: e,
|
|
702
730
|
onClick: () => {
|
|
703
|
-
K(r), r.dispatchCommand(
|
|
731
|
+
K(r), r.dispatchCommand(Ye, "bold");
|
|
704
732
|
}
|
|
705
733
|
});
|
|
706
|
-
},
|
|
707
|
-
let [r] =
|
|
734
|
+
}, nr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
735
|
+
let [r] = z(), i = J(), { t: o } = a(), s = i.underline;
|
|
708
736
|
return /* @__PURE__ */ y(q, {
|
|
709
737
|
icon: "underline",
|
|
710
738
|
tooltip: t ?? o("editor.underline"),
|
|
@@ -712,11 +740,11 @@ var cn = "default", W = {
|
|
|
712
740
|
active: s,
|
|
713
741
|
disabled: e,
|
|
714
742
|
onClick: () => {
|
|
715
|
-
K(r), r.dispatchCommand(
|
|
743
|
+
K(r), r.dispatchCommand(Ye, "underline");
|
|
716
744
|
}
|
|
717
745
|
});
|
|
718
|
-
},
|
|
719
|
-
let [r] =
|
|
746
|
+
}, rr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
747
|
+
let [r] = z(), i = J(), { t: o } = a(), s = i.italic;
|
|
720
748
|
return /* @__PURE__ */ y(q, {
|
|
721
749
|
icon: "italic",
|
|
722
750
|
tooltip: t ?? o("editor.italic"),
|
|
@@ -724,18 +752,18 @@ var cn = "default", W = {
|
|
|
724
752
|
active: s,
|
|
725
753
|
disabled: e,
|
|
726
754
|
onClick: () => {
|
|
727
|
-
K(r), r.dispatchCommand(
|
|
755
|
+
K(r), r.dispatchCommand(Ye, "italic");
|
|
728
756
|
}
|
|
729
757
|
});
|
|
730
|
-
},
|
|
731
|
-
let [r] =
|
|
758
|
+
}, ir = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
759
|
+
let [r] = z(), { t: i } = a(), { fontSize: o, headingTag: s } = J(), c = A(() => Tn.map((e) => ({
|
|
732
760
|
key: e.value,
|
|
733
761
|
label: e.label
|
|
734
762
|
})), []), l = T((e) => {
|
|
735
763
|
let t = e.key;
|
|
736
764
|
K(r), r.update(() => {
|
|
737
|
-
let e =
|
|
738
|
-
|
|
765
|
+
let e = L();
|
|
766
|
+
R(e) && Mt(e, { "font-size": t });
|
|
739
767
|
});
|
|
740
768
|
}, [r]);
|
|
741
769
|
return s || e ? /* @__PURE__ */ y(q, {
|
|
@@ -763,28 +791,28 @@ var cn = "default", W = {
|
|
|
763
791
|
})
|
|
764
792
|
})
|
|
765
793
|
});
|
|
766
|
-
},
|
|
794
|
+
}, ar = "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", or = "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", sr = 860.48, cr = 99.52, lr = /rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0(?:\.0+)?\s*\)/, ur = {
|
|
767
795
|
fontColor: {
|
|
768
|
-
path:
|
|
769
|
-
clipHeight:
|
|
796
|
+
path: ar,
|
|
797
|
+
clipHeight: sr,
|
|
770
798
|
x: 128,
|
|
771
799
|
width: 768,
|
|
772
800
|
rx: 0
|
|
773
801
|
},
|
|
774
802
|
fill: {
|
|
775
|
-
path:
|
|
803
|
+
path: or,
|
|
776
804
|
clipHeight: 816,
|
|
777
805
|
x: 112,
|
|
778
806
|
width: 800,
|
|
779
807
|
rx: 8
|
|
780
808
|
}
|
|
781
|
-
},
|
|
809
|
+
}, dr = (e, t) => {
|
|
782
810
|
let n = t.trim().toLowerCase();
|
|
783
|
-
if (e === "fill") return !n || n === "transparent" ||
|
|
811
|
+
if (e === "fill") return !n || n === "transparent" || lr.test(n);
|
|
784
812
|
let r = n.replace(/\s+/g, "");
|
|
785
813
|
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)";
|
|
786
|
-
},
|
|
787
|
-
let r = `${ee().replace(/:/g, "")}clip`, i =
|
|
814
|
+
}, fr = ({ variant: e, barColor: t, size: n }) => {
|
|
815
|
+
let r = `${ee().replace(/:/g, "")}clip`, i = ur[e];
|
|
788
816
|
return /* @__PURE__ */ b("svg", {
|
|
789
817
|
width: n,
|
|
790
818
|
height: n,
|
|
@@ -807,19 +835,19 @@ var cn = "default", W = {
|
|
|
807
835
|
}),
|
|
808
836
|
/* @__PURE__ */ y("rect", {
|
|
809
837
|
x: i.x,
|
|
810
|
-
y:
|
|
838
|
+
y: sr,
|
|
811
839
|
width: i.width,
|
|
812
|
-
height:
|
|
840
|
+
height: cr,
|
|
813
841
|
rx: i.rx,
|
|
814
|
-
fill:
|
|
842
|
+
fill: dr(e, t) ? "currentColor" : t
|
|
815
843
|
})
|
|
816
844
|
]
|
|
817
845
|
});
|
|
818
|
-
},
|
|
819
|
-
let [r] =
|
|
846
|
+
}, pr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
847
|
+
let [r] = z(), o = J(), { iconSize: s } = $n(), { t: c } = a(), l = T((e) => {
|
|
820
848
|
K(r), r.update(() => {
|
|
821
|
-
let t =
|
|
822
|
-
|
|
849
|
+
let t = L();
|
|
850
|
+
R(t) && Mt(t, { color: e });
|
|
823
851
|
});
|
|
824
852
|
}, [r]);
|
|
825
853
|
return /* @__PURE__ */ y(i, {
|
|
@@ -832,7 +860,7 @@ var cn = "default", W = {
|
|
|
832
860
|
children: /* @__PURE__ */ y("div", {
|
|
833
861
|
className: "trigger-picker inline-flex",
|
|
834
862
|
children: /* @__PURE__ */ y(q, {
|
|
835
|
-
icon: /* @__PURE__ */ y(
|
|
863
|
+
icon: /* @__PURE__ */ y(fr, {
|
|
836
864
|
variant: "fontColor",
|
|
837
865
|
barColor: o.fontColor,
|
|
838
866
|
size: s
|
|
@@ -843,11 +871,11 @@ var cn = "default", W = {
|
|
|
843
871
|
})
|
|
844
872
|
})
|
|
845
873
|
});
|
|
846
|
-
},
|
|
847
|
-
let [r] =
|
|
874
|
+
}, mr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
875
|
+
let [r] = z(), o = J(), { iconSize: s } = $n(), { t: c } = a(), l = T((e) => {
|
|
848
876
|
K(r), r.update(() => {
|
|
849
|
-
let t =
|
|
850
|
-
|
|
877
|
+
let t = L();
|
|
878
|
+
R(t) && Mt(t, { "background-color": e });
|
|
851
879
|
});
|
|
852
880
|
}, [r]);
|
|
853
881
|
return /* @__PURE__ */ y(i, {
|
|
@@ -860,7 +888,7 @@ var cn = "default", W = {
|
|
|
860
888
|
children: /* @__PURE__ */ y("div", {
|
|
861
889
|
className: "trigger-picker inline-flex",
|
|
862
890
|
children: /* @__PURE__ */ y(q, {
|
|
863
|
-
icon: /* @__PURE__ */ y(
|
|
891
|
+
icon: /* @__PURE__ */ y(fr, {
|
|
864
892
|
variant: "fill",
|
|
865
893
|
barColor: o.backgroundColor,
|
|
866
894
|
size: s
|
|
@@ -871,17 +899,17 @@ var cn = "default", W = {
|
|
|
871
899
|
})
|
|
872
900
|
})
|
|
873
901
|
});
|
|
874
|
-
},
|
|
902
|
+
}, hr = {
|
|
875
903
|
left: "paragraph",
|
|
876
904
|
center: "paragraphmiddle",
|
|
877
905
|
right: "paragraphright"
|
|
878
|
-
},
|
|
879
|
-
let [i] =
|
|
906
|
+
}, gr = ({ disabled: t, tooltip: n, showDisabledTooltip: r }) => {
|
|
907
|
+
let [i] = z(), { align: o } = J(), { iconSize: s } = $n(), { t: c } = a(), l = A(() => [
|
|
880
908
|
{
|
|
881
909
|
key: "left",
|
|
882
910
|
label: c("leftAlign"),
|
|
883
911
|
icon: /* @__PURE__ */ y(e, {
|
|
884
|
-
name:
|
|
912
|
+
name: hr.left,
|
|
885
913
|
size: s
|
|
886
914
|
})
|
|
887
915
|
},
|
|
@@ -889,7 +917,7 @@ var cn = "default", W = {
|
|
|
889
917
|
key: "center",
|
|
890
918
|
label: c("editor.centerAlign"),
|
|
891
919
|
icon: /* @__PURE__ */ y(e, {
|
|
892
|
-
name:
|
|
920
|
+
name: hr.center,
|
|
893
921
|
size: s
|
|
894
922
|
})
|
|
895
923
|
},
|
|
@@ -897,18 +925,18 @@ var cn = "default", W = {
|
|
|
897
925
|
key: "right",
|
|
898
926
|
label: c("editor.rightAlign"),
|
|
899
927
|
icon: /* @__PURE__ */ y(e, {
|
|
900
|
-
name:
|
|
928
|
+
name: hr.right,
|
|
901
929
|
size: s
|
|
902
930
|
})
|
|
903
931
|
}
|
|
904
932
|
], [s, c]), u = T((e) => {
|
|
905
|
-
K(i), i.dispatchCommand(
|
|
933
|
+
K(i), i.dispatchCommand(Je, e.key);
|
|
906
934
|
}, [i]), d = /* @__PURE__ */ y("div", {
|
|
907
935
|
className: G["bsy-lexical__toolbar-select"],
|
|
908
936
|
style: { width: 50 },
|
|
909
937
|
children: /* @__PURE__ */ y(q, {
|
|
910
938
|
icon: /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(e, {
|
|
911
|
-
name:
|
|
939
|
+
name: hr[Pn(o)],
|
|
912
940
|
size: s
|
|
913
941
|
}), /* @__PURE__ */ y(e, {
|
|
914
942
|
name: "arrow-down",
|
|
@@ -932,37 +960,37 @@ var cn = "default", W = {
|
|
|
932
960
|
},
|
|
933
961
|
children: d
|
|
934
962
|
});
|
|
935
|
-
},
|
|
936
|
-
let [i] =
|
|
963
|
+
}, _r = (e) => e ? e.startsWith("@") || e.match(/^https?:\/\//) ? e : `http://${e}` : "", vr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
964
|
+
let [i] = z(), { 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) => {
|
|
937
965
|
u(e), e || i.setEditable(!0);
|
|
938
966
|
}, [i]), w = () => {
|
|
939
967
|
if (!d) {
|
|
940
968
|
_.warning(s("editor.linkAddressEmpty"));
|
|
941
969
|
return;
|
|
942
970
|
}
|
|
943
|
-
let e =
|
|
971
|
+
let e = _r(d);
|
|
944
972
|
i.setEditable(!0), i.update(() => {
|
|
945
973
|
let t = h ? {
|
|
946
974
|
target: "_blank",
|
|
947
975
|
rel: "noopener noreferrer",
|
|
948
976
|
title: d
|
|
949
977
|
} : { title: d }, n = S.current;
|
|
950
|
-
n !== null &&
|
|
951
|
-
let r =
|
|
952
|
-
if (
|
|
978
|
+
n !== null && Pe(n);
|
|
979
|
+
let r = L();
|
|
980
|
+
if (R(r)) {
|
|
953
981
|
let n = p || d, i = r.getTextContent();
|
|
954
|
-
if (!r.isCollapsed() && n === i)
|
|
982
|
+
if (!r.isCollapsed() && n === i) mt(e, t);
|
|
955
983
|
else {
|
|
956
|
-
let i = r.anchor.getNode(), a =
|
|
984
|
+
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 = ft(e, t), l = xe(n);
|
|
957
985
|
l.setFormat(s), l.setStyle(o), c.append(l), r.insertNodes([c]);
|
|
958
986
|
}
|
|
959
987
|
} else {
|
|
960
|
-
let n =
|
|
961
|
-
n.append(
|
|
962
|
-
let r =
|
|
963
|
-
if (
|
|
988
|
+
let n = ft(e, t);
|
|
989
|
+
n.append(xe(p || d));
|
|
990
|
+
let r = I(), i = r.getLastChild();
|
|
991
|
+
if (Ee(i) && i.isEmpty()) i.append(n);
|
|
964
992
|
else {
|
|
965
|
-
let e =
|
|
993
|
+
let e = ye();
|
|
966
994
|
e.append(n), r.append(e);
|
|
967
995
|
}
|
|
968
996
|
}
|
|
@@ -970,10 +998,10 @@ var cn = "default", W = {
|
|
|
970
998
|
}, E = T(() => {
|
|
971
999
|
let e = "";
|
|
972
1000
|
i.getEditorState().read(() => {
|
|
973
|
-
let t =
|
|
974
|
-
S.current = t ? t.clone() : null,
|
|
1001
|
+
let t = L();
|
|
1002
|
+
S.current = t ? t.clone() : null, R(t) && !t.isCollapsed() && (e = t.getTextContent());
|
|
975
1003
|
}), i.setEditable(!1), i.update(() => {
|
|
976
|
-
|
|
1004
|
+
Pe(null);
|
|
977
1005
|
}), window.getSelection()?.removeAllRanges(), i.getRootElement()?.blur(), o ? (f(o.link ?? ""), m(o.linkText ?? "")) : (f(""), m(e)), u(!0);
|
|
978
1006
|
}, [o, i]);
|
|
979
1007
|
return /* @__PURE__ */ b(v, { children: [
|
|
@@ -999,7 +1027,7 @@ var cn = "default", W = {
|
|
|
999
1027
|
className: "w-[80px] shrink-0",
|
|
1000
1028
|
children: s("linkAddress")
|
|
1001
1029
|
}),
|
|
1002
|
-
/* @__PURE__ */ y(
|
|
1030
|
+
/* @__PURE__ */ y(re, {
|
|
1003
1031
|
value: d,
|
|
1004
1032
|
onChange: (e) => f(e.target.value),
|
|
1005
1033
|
placeholder: s("editor.linkTip")
|
|
@@ -1017,7 +1045,7 @@ var cn = "default", W = {
|
|
|
1017
1045
|
children: [/* @__PURE__ */ y("label", {
|
|
1018
1046
|
className: "w-[80px] shrink-0",
|
|
1019
1047
|
children: s("showContent")
|
|
1020
|
-
}), /* @__PURE__ */ y(
|
|
1048
|
+
}), /* @__PURE__ */ y(re, {
|
|
1021
1049
|
value: p,
|
|
1022
1050
|
onChange: (e) => m(e.target.value)
|
|
1023
1051
|
})]
|
|
@@ -1030,10 +1058,10 @@ var cn = "default", W = {
|
|
|
1030
1058
|
children: s("openInNewTab")
|
|
1031
1059
|
}) }), /* @__PURE__ */ b("div", {
|
|
1032
1060
|
className: "flex gap-[15px]",
|
|
1033
|
-
children: [/* @__PURE__ */ y(
|
|
1061
|
+
children: [/* @__PURE__ */ y(N, {
|
|
1034
1062
|
onClick: () => C(!1),
|
|
1035
1063
|
children: s("cancel")
|
|
1036
|
-
}), /* @__PURE__ */ y(
|
|
1064
|
+
}), /* @__PURE__ */ y(N, {
|
|
1037
1065
|
type: "primary",
|
|
1038
1066
|
onClick: w,
|
|
1039
1067
|
children: s("confirm")
|
|
@@ -1042,15 +1070,15 @@ var cn = "default", W = {
|
|
|
1042
1070
|
})] })
|
|
1043
1071
|
})
|
|
1044
1072
|
] });
|
|
1045
|
-
},
|
|
1046
|
-
let [r] =
|
|
1073
|
+
}, yr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1074
|
+
let [r] = z(), { link: i } = J(), { t: o } = a();
|
|
1047
1075
|
return /* @__PURE__ */ y(q, {
|
|
1048
1076
|
icon: "cancellink",
|
|
1049
1077
|
tooltip: t ?? o("cancelLink"),
|
|
1050
1078
|
showDisabledTooltip: n,
|
|
1051
1079
|
disabled: e,
|
|
1052
1080
|
onClick: () => {
|
|
1053
|
-
i && (K(r), r.dispatchCommand(
|
|
1081
|
+
i && (K(r), r.dispatchCommand(_t, null));
|
|
1054
1082
|
}
|
|
1055
1083
|
});
|
|
1056
1084
|
}, Y = {
|
|
@@ -1079,8 +1107,8 @@ var cn = "default", W = {
|
|
|
1079
1107
|
"picture-modal__preview-delete": "_picture-modal__preview-delete_1067t_143",
|
|
1080
1108
|
"picture-modal__upload-text": "_picture-modal__upload-text_1067t_151",
|
|
1081
1109
|
"picture-modal__footer": "_picture-modal__footer_1067t_155"
|
|
1082
|
-
},
|
|
1083
|
-
let [n] =
|
|
1110
|
+
}, br = C((e, t) => {
|
|
1111
|
+
let [n] = ne.useForm(), [r, i] = M(""), { t: o } = a(), s = (e) => /^https?:\/\/.+/i.test(e);
|
|
1084
1112
|
return k(t, () => ({ getValue: async () => {
|
|
1085
1113
|
try {
|
|
1086
1114
|
return await n.validateFields(), r;
|
|
@@ -1091,15 +1119,15 @@ var cn = "default", W = {
|
|
|
1091
1119
|
className: Y["picture-modal__content-title"],
|
|
1092
1120
|
"data-title": o("editor.imageUrlNote"),
|
|
1093
1121
|
children: o("editor.enterImageUrl")
|
|
1094
|
-
}), /* @__PURE__ */ y(
|
|
1122
|
+
}), /* @__PURE__ */ y(ne, {
|
|
1095
1123
|
form: n,
|
|
1096
|
-
children: /* @__PURE__ */ y(
|
|
1124
|
+
children: /* @__PURE__ */ y(ne.Item, {
|
|
1097
1125
|
name: "url",
|
|
1098
1126
|
rules: [{
|
|
1099
1127
|
required: !0,
|
|
1100
1128
|
message: o("editor.pleaseEnterImageUrl")
|
|
1101
1129
|
}, { validator: (e, t) => !t || s(t) ? Promise.resolve() : Promise.reject(Error(o("editor.pleaseEnterValidImageUrl"))) }],
|
|
1102
|
-
children: /* @__PURE__ */ y(
|
|
1130
|
+
children: /* @__PURE__ */ y(re, {
|
|
1103
1131
|
placeholder: o("editor.pleaseEnterImageUrl"),
|
|
1104
1132
|
value: r,
|
|
1105
1133
|
onChange: (e) => i(e.target.value)
|
|
@@ -1107,17 +1135,17 @@ var cn = "default", W = {
|
|
|
1107
1135
|
})
|
|
1108
1136
|
})] });
|
|
1109
1137
|
});
|
|
1110
|
-
|
|
1138
|
+
br.displayName = "LinkInput";
|
|
1111
1139
|
//#endregion
|
|
1112
1140
|
//#region src/components/Editor/utils/formatTruncatedFilename.ts
|
|
1113
|
-
var
|
|
1141
|
+
var xr = "......", Sr = (e, t, n) => {
|
|
1114
1142
|
if (t <= 0 || n(e) <= t) return {
|
|
1115
1143
|
display: e,
|
|
1116
1144
|
truncated: !1
|
|
1117
1145
|
};
|
|
1118
|
-
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}${
|
|
1146
|
+
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}${xr}${s}${o}`, u = (e) => n(e) <= t;
|
|
1119
1147
|
if (!u(l(""))) {
|
|
1120
|
-
let t = `${
|
|
1148
|
+
let t = `${xr}${o}`;
|
|
1121
1149
|
return {
|
|
1122
1150
|
display: u(t) ? t : e,
|
|
1123
1151
|
truncated: !0
|
|
@@ -1132,28 +1160,24 @@ var fr = "......", pr = (e, t, n) => {
|
|
|
1132
1160
|
display: l(c.slice(0, p)),
|
|
1133
1161
|
truncated: !0
|
|
1134
1162
|
};
|
|
1135
|
-
},
|
|
1136
|
-
|
|
1137
|
-
if (!e) throw Error("useEditorContainer must be used within EditorContainerProvider");
|
|
1138
|
-
return e;
|
|
1139
|
-
}, vr = () => E(hr), yr = () => E(gr), br = "EditorImageUploadingError";
|
|
1140
|
-
function xr(e) {
|
|
1163
|
+
}, Cr = "EditorImageUploadingError";
|
|
1164
|
+
function wr(e) {
|
|
1141
1165
|
if (!e || typeof e != "object" || !("name" in e)) return !1;
|
|
1142
1166
|
let t = String(e.name);
|
|
1143
1167
|
return t === "AbortError" || t === "CanceledError";
|
|
1144
1168
|
}
|
|
1145
|
-
function
|
|
1146
|
-
return
|
|
1169
|
+
function Tr(e) {
|
|
1170
|
+
return Dn.includes(e.name.split(".").pop()?.toLowerCase() ?? "");
|
|
1147
1171
|
}
|
|
1148
|
-
function
|
|
1172
|
+
function Er(e) {
|
|
1149
1173
|
if (Number.isFinite(e)) return Math.min(100, Math.max(0, e));
|
|
1150
1174
|
}
|
|
1151
|
-
function
|
|
1175
|
+
function Dr(e) {
|
|
1152
1176
|
return e === void 0 ? .55 : .55 * (1 - e / 100);
|
|
1153
1177
|
}
|
|
1154
1178
|
//#endregion
|
|
1155
1179
|
//#region src/components/Editor/ToolbarPlugin/Buttons/PictureButton/UploadImage.tsx
|
|
1156
|
-
var
|
|
1180
|
+
var Or = {
|
|
1157
1181
|
duration: .2,
|
|
1158
1182
|
ease: [
|
|
1159
1183
|
.4,
|
|
@@ -1161,14 +1185,14 @@ var Tr = {
|
|
|
1161
1185
|
.2,
|
|
1162
1186
|
1
|
|
1163
1187
|
]
|
|
1164
|
-
},
|
|
1165
|
-
let n =
|
|
1166
|
-
return
|
|
1188
|
+
}, kr = ({ name: e, error: t }) => {
|
|
1189
|
+
let n = j(null), [r, i] = M(e), [a, o] = M(!1);
|
|
1190
|
+
return te(() => {
|
|
1167
1191
|
let t = n.current, r = document.createElement("canvas").getContext("2d");
|
|
1168
1192
|
if (!t || !r) return;
|
|
1169
1193
|
let a = () => {
|
|
1170
1194
|
r.font = getComputedStyle(t).font;
|
|
1171
|
-
let n =
|
|
1195
|
+
let n = Sr(e, t.clientWidth, (e) => r.measureText(e).width);
|
|
1172
1196
|
i(n.display), o(n.truncated);
|
|
1173
1197
|
};
|
|
1174
1198
|
a();
|
|
@@ -1176,17 +1200,17 @@ var Tr = {
|
|
|
1176
1200
|
return s.observe(t), () => s.disconnect();
|
|
1177
1201
|
}, [e]), /* @__PURE__ */ y("div", {
|
|
1178
1202
|
ref: n,
|
|
1179
|
-
className:
|
|
1203
|
+
className: P(Y["picture-modal__preview-filename"], t && Y["picture-modal__preview-filename--error"]),
|
|
1180
1204
|
title: a ? e : void 0,
|
|
1181
1205
|
children: r
|
|
1182
1206
|
});
|
|
1183
|
-
},
|
|
1207
|
+
}, Ar = (e) => new Promise((t, n) => {
|
|
1184
1208
|
let r = new FileReader();
|
|
1185
1209
|
r.onload = () => t(r.result), r.onerror = () => n(r.error), r.readAsDataURL(e);
|
|
1186
|
-
}),
|
|
1187
|
-
let { upload: r } =
|
|
1210
|
+
}), jr = C((t, n) => {
|
|
1211
|
+
let { upload: r } = Sn(), [i, o] = M(!1), [s, c] = M([]), l = j(s);
|
|
1188
1212
|
l.current = s;
|
|
1189
|
-
let u =
|
|
1213
|
+
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) => {
|
|
1190
1214
|
c((n) => n.map((n) => n.id === e ? {
|
|
1191
1215
|
...n,
|
|
1192
1216
|
...t
|
|
@@ -1200,7 +1224,7 @@ var Tr = {
|
|
|
1200
1224
|
d.current.set(e, n), f(t, {
|
|
1201
1225
|
signal: n.signal,
|
|
1202
1226
|
onProgress: (t) => {
|
|
1203
|
-
let n =
|
|
1227
|
+
let n = Er(t);
|
|
1204
1228
|
n !== void 0 && _(e, { percent: n });
|
|
1205
1229
|
}
|
|
1206
1230
|
}).then((t) => {
|
|
@@ -1211,11 +1235,11 @@ var Tr = {
|
|
|
1211
1235
|
attachment: typeof t == "string" ? void 0 : t.attachment
|
|
1212
1236
|
});
|
|
1213
1237
|
}).catch((t) => {
|
|
1214
|
-
n.signal.aborted ||
|
|
1238
|
+
n.signal.aborted || wr(t) || _(e, { status: "error" });
|
|
1215
1239
|
}).finally(() => {
|
|
1216
1240
|
d.current.delete(e);
|
|
1217
1241
|
});
|
|
1218
|
-
}, x = (e) =>
|
|
1242
|
+
}, x = (e) => Tr(e) ? e.size > 5242880 ? (p.warning(h("editor.imageSizeNote")), !1) : !0 : (p.warning(h("editor.onlyImageFormatsSupported")), !1), S = (e) => {
|
|
1219
1243
|
let t = 10 - l.current.length;
|
|
1220
1244
|
if (t <= 0) {
|
|
1221
1245
|
p.warning(h("editor.imageCountNote", { count: 10 }));
|
|
@@ -1247,13 +1271,13 @@ var Tr = {
|
|
|
1247
1271
|
}, []), k(n, () => ({ getValue: async () => {
|
|
1248
1272
|
if (s.some((e) => e.status === "uploading")) {
|
|
1249
1273
|
let e = Error(h("editor.imageUploading"));
|
|
1250
|
-
throw e.name =
|
|
1274
|
+
throw e.name = Cr, e;
|
|
1251
1275
|
}
|
|
1252
1276
|
let e = s.filter((e) => e.status === "success");
|
|
1253
1277
|
if (!e.length) throw p.warning(h("editor.pleaseUploadImageFirst")), Error(h("editor.pleaseUploadImageFirst"));
|
|
1254
1278
|
try {
|
|
1255
1279
|
return await Promise.all(e.map(async (e) => ({
|
|
1256
|
-
src: e.src ?? await
|
|
1280
|
+
src: e.src ?? await Ar(e.file),
|
|
1257
1281
|
fileName: e.file.name,
|
|
1258
1282
|
attachment: e.attachment
|
|
1259
1283
|
})));
|
|
@@ -1292,11 +1316,11 @@ var Tr = {
|
|
|
1292
1316
|
}),
|
|
1293
1317
|
s.length > 0 ? /* @__PURE__ */ y("div", {
|
|
1294
1318
|
className: Y["picture-modal__preview-list"],
|
|
1295
|
-
children: /* @__PURE__ */ y(
|
|
1319
|
+
children: /* @__PURE__ */ y(oe, {
|
|
1296
1320
|
mode: "popLayout",
|
|
1297
|
-
children: s.map((t) => /* @__PURE__ */ b(
|
|
1321
|
+
children: s.map((t) => /* @__PURE__ */ b(F.div, {
|
|
1298
1322
|
layout: "position",
|
|
1299
|
-
className:
|
|
1323
|
+
className: P(Y["picture-modal__preview"], t.status === "error" && Y["picture-modal__preview--error"]),
|
|
1300
1324
|
initial: {
|
|
1301
1325
|
opacity: 0,
|
|
1302
1326
|
y: 12
|
|
@@ -1309,7 +1333,7 @@ var Tr = {
|
|
|
1309
1333
|
opacity: 0,
|
|
1310
1334
|
y: -8
|
|
1311
1335
|
},
|
|
1312
|
-
transition:
|
|
1336
|
+
transition: Or,
|
|
1313
1337
|
children: [
|
|
1314
1338
|
/* @__PURE__ */ b("div", {
|
|
1315
1339
|
className: Y["picture-modal__preview-image"],
|
|
@@ -1318,13 +1342,13 @@ var Tr = {
|
|
|
1318
1342
|
alt: h("editor.previewImage")
|
|
1319
1343
|
}), t.status === "uploading" ? /* @__PURE__ */ y("div", {
|
|
1320
1344
|
className: Y["picture-modal__preview-mask"],
|
|
1321
|
-
style: { opacity:
|
|
1345
|
+
style: { opacity: Dr(t.percent) },
|
|
1322
1346
|
children: t.percent === void 0 ? /* @__PURE__ */ y("span", { className: Y["picture-modal__preview-spinner"] }) : null
|
|
1323
1347
|
}) : null]
|
|
1324
1348
|
}),
|
|
1325
1349
|
/* @__PURE__ */ b("div", {
|
|
1326
1350
|
className: Y["picture-modal__preview-info"],
|
|
1327
|
-
children: [/* @__PURE__ */ y(
|
|
1351
|
+
children: [/* @__PURE__ */ y(kr, {
|
|
1328
1352
|
name: t.file.name,
|
|
1329
1353
|
error: t.status === "error"
|
|
1330
1354
|
}), /* @__PURE__ */ y("div", {
|
|
@@ -1345,7 +1369,7 @@ var Tr = {
|
|
|
1345
1369
|
/* @__PURE__ */ y("input", {
|
|
1346
1370
|
ref: u,
|
|
1347
1371
|
type: "file",
|
|
1348
|
-
accept:
|
|
1372
|
+
accept: On,
|
|
1349
1373
|
multiple: !0,
|
|
1350
1374
|
style: { display: "none" },
|
|
1351
1375
|
onChange: T
|
|
@@ -1354,11 +1378,11 @@ var Tr = {
|
|
|
1354
1378
|
]
|
|
1355
1379
|
});
|
|
1356
1380
|
});
|
|
1357
|
-
|
|
1381
|
+
jr.displayName = "UploadImage";
|
|
1358
1382
|
//#endregion
|
|
1359
1383
|
//#region src/components/Editor/commands/ImageCommands.ts
|
|
1360
|
-
var
|
|
1361
|
-
let { t: o } = a(), [s] =
|
|
1384
|
+
var Mr = ct("INSERT_INLINE_IMAGE_COMMAND"), Nr = ({ disabled: t, tooltip: n, showDisabledTooltip: i }) => {
|
|
1385
|
+
let { t: o } = a(), [s] = z(), { attachmentsBySrcRef: c } = Sn(), [l, d] = M(!1), f = j(null), p = j(null), m = [{
|
|
1362
1386
|
key: "upload",
|
|
1363
1387
|
title: o("editor.uploadImage"),
|
|
1364
1388
|
icon: /* @__PURE__ */ y(e, { name: "picture" })
|
|
@@ -1366,10 +1390,10 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1366
1390
|
key: "url",
|
|
1367
1391
|
title: o("editor.imageUrl"),
|
|
1368
1392
|
icon: /* @__PURE__ */ y(e, { name: "Insertlink" })
|
|
1369
|
-
}], [h, g] =
|
|
1393
|
+
}], [h, g] = M(m[0].key), _ = async () => {
|
|
1370
1394
|
try {
|
|
1371
1395
|
if (h === "upload" && p.current) (await p.current.getValue()).forEach((e) => {
|
|
1372
|
-
e.attachment !== void 0 && c.current.set(e.src, e.attachment), s.dispatchCommand(
|
|
1396
|
+
e.attachment !== void 0 && c.current.set(e.src, e.attachment), s.dispatchCommand(Mr, {
|
|
1373
1397
|
src: e.src,
|
|
1374
1398
|
altText: e.fileName,
|
|
1375
1399
|
dataId: e.attachment?._id
|
|
@@ -1377,7 +1401,7 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1377
1401
|
});
|
|
1378
1402
|
else if (f.current) {
|
|
1379
1403
|
let e = await f.current.getValue();
|
|
1380
|
-
s.dispatchCommand(
|
|
1404
|
+
s.dispatchCommand(Mr, {
|
|
1381
1405
|
src: e,
|
|
1382
1406
|
dataSrc: e
|
|
1383
1407
|
});
|
|
@@ -1386,14 +1410,14 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1386
1410
|
} catch (e) {
|
|
1387
1411
|
let t = e instanceof Error ? e.message : o("editor.operationFailed");
|
|
1388
1412
|
if (e instanceof Error && e.name === "EditorImageUploadingError") {
|
|
1389
|
-
|
|
1413
|
+
ie.warning(t);
|
|
1390
1414
|
return;
|
|
1391
1415
|
}
|
|
1392
|
-
|
|
1416
|
+
ie.error(t);
|
|
1393
1417
|
}
|
|
1394
1418
|
}, x = {
|
|
1395
|
-
upload: /* @__PURE__ */ y(
|
|
1396
|
-
url: /* @__PURE__ */ y(
|
|
1419
|
+
upload: /* @__PURE__ */ y(jr, { ref: p }),
|
|
1420
|
+
url: /* @__PURE__ */ y(br, { ref: f })
|
|
1397
1421
|
};
|
|
1398
1422
|
return /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(q, {
|
|
1399
1423
|
icon: "picture",
|
|
@@ -1428,38 +1452,38 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1428
1452
|
})]
|
|
1429
1453
|
}), /* @__PURE__ */ b("div", {
|
|
1430
1454
|
className: Y["picture-modal__footer"],
|
|
1431
|
-
children: [/* @__PURE__ */ y(
|
|
1455
|
+
children: [/* @__PURE__ */ y(N, {
|
|
1432
1456
|
onClick: () => d(!1),
|
|
1433
1457
|
children: o("cancel")
|
|
1434
|
-
}), /* @__PURE__ */ y(
|
|
1458
|
+
}), /* @__PURE__ */ y(N, {
|
|
1435
1459
|
type: "primary",
|
|
1436
1460
|
onClick: _,
|
|
1437
1461
|
children: o("confirm")
|
|
1438
1462
|
})]
|
|
1439
1463
|
})]
|
|
1440
1464
|
})] });
|
|
1441
|
-
},
|
|
1442
|
-
let [r] =
|
|
1465
|
+
}, Pr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1466
|
+
let [r] = z(), { canUndo: i } = Yn(), { t: o } = a();
|
|
1443
1467
|
return /* @__PURE__ */ y(q, {
|
|
1444
1468
|
icon: "chexiao",
|
|
1445
1469
|
tooltip: t ?? o("editor.undo"),
|
|
1446
1470
|
showDisabledTooltip: n,
|
|
1447
1471
|
disabled: e || !i,
|
|
1448
1472
|
onClick: () => {
|
|
1449
|
-
r.dispatchCommand(
|
|
1473
|
+
r.dispatchCommand(st, void 0);
|
|
1450
1474
|
}
|
|
1451
1475
|
});
|
|
1452
|
-
},
|
|
1453
|
-
let [r] =
|
|
1476
|
+
}, Fr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1477
|
+
let [r] = z(), { canRedo: i } = Yn(), { t: o } = a();
|
|
1454
1478
|
return /* @__PURE__ */ y(q, {
|
|
1455
1479
|
icon: "fanhui",
|
|
1456
1480
|
tooltip: t ?? o("editor.redo"),
|
|
1457
1481
|
showDisabledTooltip: n,
|
|
1458
1482
|
disabled: e || !i,
|
|
1459
|
-
onClick: () => r.dispatchCommand(
|
|
1483
|
+
onClick: () => r.dispatchCommand(it, void 0)
|
|
1460
1484
|
});
|
|
1461
|
-
},
|
|
1462
|
-
let [r] =
|
|
1485
|
+
}, Ir = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1486
|
+
let [r] = z(), { strikethrough: i } = J(), { t: o } = a();
|
|
1463
1487
|
return /* @__PURE__ */ y(q, {
|
|
1464
1488
|
icon: "shanchuxian",
|
|
1465
1489
|
tooltip: t ?? o("editor.strikethrough"),
|
|
@@ -1467,11 +1491,11 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1467
1491
|
active: i,
|
|
1468
1492
|
disabled: e,
|
|
1469
1493
|
onClick: () => {
|
|
1470
|
-
K(r), r.dispatchCommand(
|
|
1494
|
+
K(r), r.dispatchCommand(Ye, "strikethrough");
|
|
1471
1495
|
}
|
|
1472
1496
|
});
|
|
1473
|
-
},
|
|
1474
|
-
let [r] =
|
|
1497
|
+
}, Lr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1498
|
+
let [r] = z(), { superscript: i } = J(), { t: o } = a();
|
|
1475
1499
|
return /* @__PURE__ */ y(q, {
|
|
1476
1500
|
icon: "shangbiao",
|
|
1477
1501
|
tooltip: t ?? o("editor.superscript"),
|
|
@@ -1479,11 +1503,11 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1479
1503
|
active: i,
|
|
1480
1504
|
disabled: e,
|
|
1481
1505
|
onClick: () => {
|
|
1482
|
-
K(r), r.dispatchCommand(
|
|
1506
|
+
K(r), r.dispatchCommand(Ye, "superscript");
|
|
1483
1507
|
}
|
|
1484
1508
|
});
|
|
1485
|
-
},
|
|
1486
|
-
let [r] =
|
|
1509
|
+
}, Rr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1510
|
+
let [r] = z(), { subscript: i } = J(), { t: o } = a();
|
|
1487
1511
|
return /* @__PURE__ */ y(q, {
|
|
1488
1512
|
icon: "xiabiao",
|
|
1489
1513
|
tooltip: t ?? o("editor.subscript"),
|
|
@@ -1491,36 +1515,36 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1491
1515
|
active: i,
|
|
1492
1516
|
disabled: e,
|
|
1493
1517
|
onClick: () => {
|
|
1494
|
-
K(r), r.dispatchCommand(
|
|
1518
|
+
K(r), r.dispatchCommand(Ye, "subscript");
|
|
1495
1519
|
}
|
|
1496
1520
|
});
|
|
1497
|
-
},
|
|
1498
|
-
let [r] =
|
|
1521
|
+
}, zr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1522
|
+
let [r] = z(), { canIndent: i } = J(), { t: o } = a();
|
|
1499
1523
|
return /* @__PURE__ */ y(q, {
|
|
1500
1524
|
icon: "zengjiasuojin",
|
|
1501
|
-
tooltip: t ??
|
|
1525
|
+
tooltip: t ?? o("editor.indent"),
|
|
1502
1526
|
showDisabledTooltip: n,
|
|
1503
|
-
disabled: e ||
|
|
1527
|
+
disabled: e || !i,
|
|
1504
1528
|
onClick: () => {
|
|
1505
|
-
K(r), r.dispatchCommand(
|
|
1529
|
+
K(r), r.dispatchCommand(Ze, void 0);
|
|
1506
1530
|
}
|
|
1507
1531
|
});
|
|
1508
|
-
},
|
|
1509
|
-
let [r] =
|
|
1532
|
+
}, Br = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1533
|
+
let [r] = z(), { canOutdent: i } = J(), { t: o } = a();
|
|
1510
1534
|
return /* @__PURE__ */ b("div", {
|
|
1511
1535
|
className: G["bsy-lexical__toolbar-with-divider"],
|
|
1512
1536
|
children: [/* @__PURE__ */ y("div", { className: G["bsy-lexical__toolbar-divider"] }), /* @__PURE__ */ y(q, {
|
|
1513
1537
|
icon: "jianshaosuojin",
|
|
1514
|
-
tooltip: t ??
|
|
1538
|
+
tooltip: t ?? o("editor.outdent"),
|
|
1515
1539
|
showDisabledTooltip: n,
|
|
1516
|
-
disabled: e ||
|
|
1540
|
+
disabled: e || !i,
|
|
1517
1541
|
onClick: () => {
|
|
1518
|
-
K(r), r.dispatchCommand(
|
|
1542
|
+
K(r), r.dispatchCommand(et, void 0);
|
|
1519
1543
|
}
|
|
1520
1544
|
})]
|
|
1521
1545
|
});
|
|
1522
|
-
},
|
|
1523
|
-
let [r] =
|
|
1546
|
+
}, Vr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1547
|
+
let [r] = z(), { listType: i } = J(), { t: o } = a(), s = i === "bullet";
|
|
1524
1548
|
return /* @__PURE__ */ y(q, {
|
|
1525
1549
|
icon: "xuhaoliebiao",
|
|
1526
1550
|
tooltip: t ?? o("editor.bulletList"),
|
|
@@ -1528,12 +1552,12 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1528
1552
|
active: s,
|
|
1529
1553
|
disabled: e,
|
|
1530
1554
|
onClick: () => {
|
|
1531
|
-
let e =
|
|
1532
|
-
r.dispatchCommand(e.listType === "bullet" ?
|
|
1555
|
+
let e = Wn(r);
|
|
1556
|
+
r.dispatchCommand(e.listType === "bullet" ? Ct : bt, void 0);
|
|
1533
1557
|
}
|
|
1534
1558
|
});
|
|
1535
|
-
},
|
|
1536
|
-
let [r] =
|
|
1559
|
+
}, Hr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1560
|
+
let [r] = z(), { listType: i } = J(), { t: o } = a(), s = i === "number";
|
|
1537
1561
|
return /* @__PURE__ */ y(q, {
|
|
1538
1562
|
icon: "bianhaoliebiao",
|
|
1539
1563
|
tooltip: t ?? o("editor.numberList"),
|
|
@@ -1541,12 +1565,12 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1541
1565
|
active: s,
|
|
1542
1566
|
disabled: e,
|
|
1543
1567
|
onClick: () => {
|
|
1544
|
-
let e =
|
|
1545
|
-
r.dispatchCommand(e.listType === "number" ?
|
|
1568
|
+
let e = Wn(r);
|
|
1569
|
+
r.dispatchCommand(e.listType === "number" ? Ct : yt, void 0);
|
|
1546
1570
|
}
|
|
1547
1571
|
});
|
|
1548
|
-
},
|
|
1549
|
-
let [r] =
|
|
1572
|
+
}, Ur = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1573
|
+
let [r] = z(), { isCodeBlock: i } = J(), { t: o } = a();
|
|
1550
1574
|
return /* @__PURE__ */ y(q, {
|
|
1551
1575
|
icon: "daima",
|
|
1552
1576
|
tooltip: t ?? o("editor.codeBlock"),
|
|
@@ -1554,19 +1578,19 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1554
1578
|
active: i,
|
|
1555
1579
|
disabled: e,
|
|
1556
1580
|
onClick: () => {
|
|
1557
|
-
|
|
1558
|
-
|
|
1581
|
+
Un(r, (e) => {
|
|
1582
|
+
Nt(L(), () => e.isCodeBlock ? ye() : Tt(kn));
|
|
1559
1583
|
});
|
|
1560
1584
|
}
|
|
1561
1585
|
});
|
|
1562
|
-
},
|
|
1586
|
+
}, Wr = {
|
|
1563
1587
|
"bsy-lexical__table-picker": "_bsy-lexical__table-picker_mv0nn_1",
|
|
1564
1588
|
"bsy-lexical__table-picker-grid": "_bsy-lexical__table-picker-grid_mv0nn_9",
|
|
1565
1589
|
"bsy-lexical__table-picker-cell": "_bsy-lexical__table-picker-cell_mv0nn_15",
|
|
1566
1590
|
"bsy-lexical__table-picker-cell--active": "_bsy-lexical__table-picker-cell--active_mv0nn_24",
|
|
1567
1591
|
"bsy-lexical__table-picker-label": "_bsy-lexical__table-picker-label_mv0nn_28"
|
|
1568
|
-
},
|
|
1569
|
-
let [s] =
|
|
1592
|
+
}, Gr = _(1, 11), Kr = ({ disabled: e, tooltip: r, showDisabledTooltip: i }) => {
|
|
1593
|
+
let [s] = z(), { isInTable: c } = J(), { t: l } = a(), u = t(), [f, p] = M(!1), [m, h] = M({
|
|
1570
1594
|
rows: 0,
|
|
1571
1595
|
cols: 0
|
|
1572
1596
|
});
|
|
@@ -1601,9 +1625,9 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1601
1625
|
showDisabledTooltip: i,
|
|
1602
1626
|
disabled: e
|
|
1603
1627
|
})
|
|
1604
|
-
}), /* @__PURE__ */ y(
|
|
1628
|
+
}), /* @__PURE__ */ y(ce, { children: /* @__PURE__ */ y(n, {
|
|
1605
1629
|
zIndex: u,
|
|
1606
|
-
children: /* @__PURE__ */ y(
|
|
1630
|
+
children: /* @__PURE__ */ y(oe, { children: f ? /* @__PURE__ */ y(F.div, {
|
|
1607
1631
|
ref: _.setFloating,
|
|
1608
1632
|
...C(),
|
|
1609
1633
|
style: {
|
|
@@ -1612,23 +1636,23 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1612
1636
|
},
|
|
1613
1637
|
...o,
|
|
1614
1638
|
children: /* @__PURE__ */ b("div", {
|
|
1615
|
-
className:
|
|
1639
|
+
className: Wr["bsy-lexical__table-picker"],
|
|
1616
1640
|
onMouseDown: (e) => e.preventDefault(),
|
|
1617
1641
|
onMouseLeave: () => h({
|
|
1618
1642
|
rows: 0,
|
|
1619
1643
|
cols: 0
|
|
1620
1644
|
}),
|
|
1621
1645
|
children: [/* @__PURE__ */ y("div", {
|
|
1622
|
-
className:
|
|
1623
|
-
children:
|
|
1646
|
+
className: Wr["bsy-lexical__table-picker-grid"],
|
|
1647
|
+
children: Gr.map((e) => Gr.map((t) => /* @__PURE__ */ y("button", {
|
|
1624
1648
|
type: "button",
|
|
1625
|
-
className:
|
|
1649
|
+
className: P(Wr["bsy-lexical__table-picker-cell"], m.rows >= e && m.cols >= t && Wr["bsy-lexical__table-picker-cell--active"]),
|
|
1626
1650
|
onMouseEnter: () => h({
|
|
1627
1651
|
rows: e,
|
|
1628
1652
|
cols: t
|
|
1629
1653
|
}),
|
|
1630
1654
|
onClick: () => {
|
|
1631
|
-
s.dispatchCommand(
|
|
1655
|
+
s.dispatchCommand(Bt, {
|
|
1632
1656
|
rows: String(e),
|
|
1633
1657
|
columns: String(t),
|
|
1634
1658
|
includeHeaders: !1
|
|
@@ -1636,7 +1660,7 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1636
1660
|
}
|
|
1637
1661
|
}, `${e}-${t}`)))
|
|
1638
1662
|
}), /* @__PURE__ */ b("div", {
|
|
1639
|
-
className:
|
|
1663
|
+
className: Wr["bsy-lexical__table-picker-label"],
|
|
1640
1664
|
children: [
|
|
1641
1665
|
m.rows,
|
|
1642
1666
|
" × ",
|
|
@@ -1646,12 +1670,12 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1646
1670
|
})
|
|
1647
1671
|
}, "bsy-lexical-table-picker") : null })
|
|
1648
1672
|
}) })] });
|
|
1649
|
-
},
|
|
1650
|
-
let e = E(
|
|
1673
|
+
}, qr = S(null), Jr = () => {
|
|
1674
|
+
let e = E(qr);
|
|
1651
1675
|
if (!e) throw Error("useSourceMode must be used within SourceModeProvider");
|
|
1652
1676
|
return e;
|
|
1653
|
-
},
|
|
1654
|
-
let { t: r } = a(), { isSourceMode: i, toggleSourceMode: o } =
|
|
1677
|
+
}, Yr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1678
|
+
let { t: r } = a(), { isSourceMode: i, toggleSourceMode: o } = Jr();
|
|
1655
1679
|
return /* @__PURE__ */ y(q, {
|
|
1656
1680
|
icon: "yuanmamoshi",
|
|
1657
1681
|
tooltip: t ?? r("editor.sourceMode"),
|
|
@@ -1660,8 +1684,8 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1660
1684
|
disabled: e,
|
|
1661
1685
|
onClick: o
|
|
1662
1686
|
});
|
|
1663
|
-
},
|
|
1664
|
-
let [i] =
|
|
1687
|
+
}, Xr = ({ disabled: t, tooltip: n, showDisabledTooltip: r }) => {
|
|
1688
|
+
let [i] = z(), { headingTag: o, isInTable: s } = J(), { t: c } = a(), { iconSize: l } = $n(), u = o || "paragraph", d = [
|
|
1665
1689
|
{
|
|
1666
1690
|
key: "paragraph",
|
|
1667
1691
|
label: c("editor.paragraph")
|
|
@@ -1681,7 +1705,7 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1681
1705
|
], p = d.find((e) => e.key === u)?.label, m = T((e) => {
|
|
1682
1706
|
let t = e.key;
|
|
1683
1707
|
K(i), i.update(() => {
|
|
1684
|
-
|
|
1708
|
+
Nt(L(), () => t === "paragraph" ? ye() : Jt(t));
|
|
1685
1709
|
});
|
|
1686
1710
|
}, [i]), h = /* @__PURE__ */ y("div", {
|
|
1687
1711
|
className: G["bsy-lexical__toolbar-select"],
|
|
@@ -1715,22 +1739,22 @@ var kr = at("INSERT_INLINE_IMAGE_COMMAND"), Ar = ({ disabled: t, tooltip: n, sho
|
|
|
1715
1739
|
};
|
|
1716
1740
|
//#endregion
|
|
1717
1741
|
//#region src/components/Editor/utils/clearInlineTextFormat.ts
|
|
1718
|
-
function
|
|
1719
|
-
let e =
|
|
1720
|
-
if (
|
|
1721
|
-
|
|
1742
|
+
function Zr() {
|
|
1743
|
+
let e = L();
|
|
1744
|
+
if (R(e)) {
|
|
1745
|
+
Mt(e, {
|
|
1722
1746
|
"font-size": null,
|
|
1723
1747
|
color: null,
|
|
1724
1748
|
"background-color": null
|
|
1725
1749
|
});
|
|
1726
|
-
for (let t of e.getNodes())
|
|
1750
|
+
for (let t of e.getNodes()) je(t) && t.setFormat(0);
|
|
1727
1751
|
e.setFormat(0), e.setStyle("");
|
|
1728
1752
|
}
|
|
1729
1753
|
}
|
|
1730
1754
|
//#endregion
|
|
1731
1755
|
//#region src/components/Editor/ToolbarPlugin/Buttons/ClearFormatButton.tsx
|
|
1732
|
-
var
|
|
1733
|
-
let [r] =
|
|
1756
|
+
var Qr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
1757
|
+
let [r] = z(), { t: i } = a();
|
|
1734
1758
|
return /* @__PURE__ */ y(q, {
|
|
1735
1759
|
icon: "clearTree",
|
|
1736
1760
|
tooltip: t ?? i("editor.clearFormat"),
|
|
@@ -1738,25 +1762,25 @@ var Yr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
|
1738
1762
|
disabled: e,
|
|
1739
1763
|
onClick: () => {
|
|
1740
1764
|
K(r), r.update(() => {
|
|
1741
|
-
|
|
1765
|
+
Zr();
|
|
1742
1766
|
});
|
|
1743
1767
|
}
|
|
1744
1768
|
});
|
|
1745
|
-
},
|
|
1769
|
+
}, $r = [
|
|
1746
1770
|
"quick",
|
|
1747
1771
|
"formal",
|
|
1748
1772
|
"colloquial",
|
|
1749
1773
|
"lively",
|
|
1750
1774
|
"literary",
|
|
1751
1775
|
"retro"
|
|
1752
|
-
],
|
|
1776
|
+
], ei = {
|
|
1753
1777
|
quick: "editor.aiPresetQuick",
|
|
1754
1778
|
formal: "editor.aiPresetFormal",
|
|
1755
1779
|
colloquial: "editor.aiPresetColloquial",
|
|
1756
1780
|
lively: "editor.aiPresetLively",
|
|
1757
1781
|
literary: "editor.aiPresetLiterary",
|
|
1758
1782
|
retro: "editor.aiPresetRetro"
|
|
1759
|
-
},
|
|
1783
|
+
}, ti = {
|
|
1760
1784
|
typeset: [
|
|
1761
1785
|
"你是一名专业的 HTML 文档排版引擎。输入已是 HTML 片段。",
|
|
1762
1786
|
"任务:在不改内容层(措辞、语序、修辞、情感色彩)的前提下,做形式层 + 视觉层优化,充分利用富文本能力(标题、列表、加粗、字色、背景色、缩进、对齐)。",
|
|
@@ -1820,7 +1844,7 @@ var Yr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
|
1820
1844
|
literary: "语气:更书面、文学感(适配小说、散文、高级文案)。\n规则:若主语言为中文,允许四字格;若为英文,允许复杂从句和排比;不改变原风格基调。",
|
|
1821
1845
|
retro: "语气:带一点复古书面色彩,仍保持现代可读。\n规则:仅当主语言为中文时生效:仿民国白话风(之/其/乃);其他语言自动降级为 literary。"
|
|
1822
1846
|
}
|
|
1823
|
-
},
|
|
1847
|
+
}, ni = ti.typeset.join("\n"), ri = ti.polishSystem.join("\n"), ii = (e) => `${ri}\n\n【本轮风格】\n${ti.polish[e] ?? ti.polish.quick}`, ai = (e) => {
|
|
1824
1848
|
if (!e.trim()) return {
|
|
1825
1849
|
html: e,
|
|
1826
1850
|
blocks: []
|
|
@@ -1835,16 +1859,16 @@ var Yr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
|
1835
1859
|
html: t.body.innerHTML,
|
|
1836
1860
|
blocks: n
|
|
1837
1861
|
};
|
|
1838
|
-
},
|
|
1862
|
+
}, oi = "<!--bsy-block-->", si = /<!--bsy-code-(\d+)-->/g, ci = "bsy-html-root", li = (e) => new DOMParser().parseFromString(`<${ci}>${e}</${ci}>`, "text/html").body.querySelector(ci), ui = (e, t) => {
|
|
1839
1863
|
if (!t.length) return e;
|
|
1840
|
-
let n = /* @__PURE__ */ new Set(), r = e.replace(
|
|
1864
|
+
let n = /* @__PURE__ */ new Set(), r = e.replace(si, (e, r) => {
|
|
1841
1865
|
let i = Number(r), a = t[i];
|
|
1842
1866
|
return a === void 0 ? "" : (n.add(i), a);
|
|
1843
1867
|
}), i = t.filter((e, t) => !n.has(t)).join("");
|
|
1844
1868
|
return i ? `${r}${i}` : r;
|
|
1845
|
-
},
|
|
1869
|
+
}, di = (e) => {
|
|
1846
1870
|
if (!/<pre[\s>/]/i.test(e)) return e;
|
|
1847
|
-
let t =
|
|
1871
|
+
let t = li(e);
|
|
1848
1872
|
if (!t) return e;
|
|
1849
1873
|
let n = t.ownerDocument;
|
|
1850
1874
|
for (let e of Array.from(t.querySelectorAll("pre"))) {
|
|
@@ -1852,35 +1876,35 @@ var Yr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
|
1852
1876
|
e.replaceWith(t);
|
|
1853
1877
|
}
|
|
1854
1878
|
return t.innerHTML.replace(/<!--bsy-code-dropped-->/g, "");
|
|
1855
|
-
},
|
|
1856
|
-
if (!e.trim() || !
|
|
1857
|
-
let t =
|
|
1879
|
+
}, fi = (e, t) => ui(di(e), t), pi = "p, h1, h2, h3, li", mi = /background(-color)?\s*:/i, hi = (e) => {
|
|
1880
|
+
if (!e.trim() || !mi.test(e)) return e;
|
|
1881
|
+
let t = li(e);
|
|
1858
1882
|
if (!t) return e;
|
|
1859
|
-
for (let e of Array.from(t.querySelectorAll(
|
|
1883
|
+
for (let e of Array.from(t.querySelectorAll(pi))) {
|
|
1860
1884
|
let t = e;
|
|
1861
1885
|
t.style.removeProperty("background-color"), t.style.removeProperty("background"), t.getAttribute("style")?.trim() || t.removeAttribute("style");
|
|
1862
1886
|
}
|
|
1863
1887
|
return t.innerHTML;
|
|
1864
|
-
},
|
|
1888
|
+
}, gi = "--listitem-marker-font-size", _i = `max(24px, calc(var(${gi}, 1em) * 1.25))`, vi = new Set([
|
|
1865
1889
|
"U",
|
|
1866
1890
|
"I",
|
|
1867
1891
|
"EM",
|
|
1868
1892
|
"B",
|
|
1869
1893
|
"STRONG"
|
|
1870
|
-
]),
|
|
1871
|
-
["fontSize",
|
|
1894
|
+
]), yi = (e) => e.startsWith("--listitem-marker-"), bi = [
|
|
1895
|
+
["fontSize", gi],
|
|
1872
1896
|
["color", "--listitem-marker-color"],
|
|
1873
1897
|
["backgroundColor", "--listitem-marker-background-color"],
|
|
1874
1898
|
["fontFamily", "--listitem-marker-font-family"]
|
|
1875
|
-
],
|
|
1899
|
+
], xi = (e) => {
|
|
1876
1900
|
let t = e.style.fontSize;
|
|
1877
|
-
if (
|
|
1878
|
-
for (let n = e.parentElement; n; n = n.parentElement) if (t &&
|
|
1901
|
+
if (bi.some(([t]) => e.style[t])) {
|
|
1902
|
+
for (let n = e.parentElement; n; n = n.parentElement) if (t && vi.has(n.tagName) && !n.style.fontSize && (n.style.fontSize = t), !(n.tagName !== "LI" || n.classList.contains("editor-nested-listitem"))) for (let [t, r] of bi) {
|
|
1879
1903
|
let i = e.style[t];
|
|
1880
1904
|
i && !n.style.getPropertyValue(r) && n.style.setProperty(r, i);
|
|
1881
1905
|
}
|
|
1882
1906
|
}
|
|
1883
|
-
},
|
|
1907
|
+
}, Si = (e, t, n, r) => {
|
|
1884
1908
|
if (!e) return;
|
|
1885
1909
|
let i = e.shadowRoot ?? e.attachShadow({ mode: "open" }), a = document.createElement("div");
|
|
1886
1910
|
a.className = "bsy-editor-html-preview__body", a.innerHTML = n(t);
|
|
@@ -1894,26 +1918,26 @@ var Yr = ({ disabled: e, tooltip: t, showDisabledTooltip: n }) => {
|
|
|
1894
1918
|
};
|
|
1895
1919
|
//#endregion
|
|
1896
1920
|
//#region src/components/Editor/utils/htmlText.ts
|
|
1897
|
-
function
|
|
1921
|
+
function Ci(e) {
|
|
1898
1922
|
return /<[^>]*$/.test(e.trim());
|
|
1899
1923
|
}
|
|
1900
|
-
function
|
|
1924
|
+
function wi(e) {
|
|
1901
1925
|
return e ? new DOMParser().parseFromString(e, "text/html").body.textContent ?? "" : "";
|
|
1902
1926
|
}
|
|
1903
1927
|
//#endregion
|
|
1904
1928
|
//#region src/components/Editor/utils/fillRootFromHtml.ts
|
|
1905
|
-
var
|
|
1929
|
+
var Ti = [
|
|
1906
1930
|
"color",
|
|
1907
1931
|
"background-color",
|
|
1908
1932
|
"font-size",
|
|
1909
1933
|
"font-family",
|
|
1910
1934
|
"font-weight",
|
|
1911
1935
|
"text-decoration"
|
|
1912
|
-
],
|
|
1936
|
+
], Ei = (e) => {
|
|
1913
1937
|
let t = e.body.querySelectorAll("p, h1, h2, h3, h4, h5, h6, li, td, th");
|
|
1914
1938
|
for (let n of Array.from(t)) {
|
|
1915
1939
|
let t = n, r = [];
|
|
1916
|
-
for (let e of
|
|
1940
|
+
for (let e of Ti) {
|
|
1917
1941
|
let n = t.style.getPropertyValue(e);
|
|
1918
1942
|
n && (r.push(`${e}: ${n}`), t.style.removeProperty(e));
|
|
1919
1943
|
}
|
|
@@ -1931,28 +1955,28 @@ var Si = [
|
|
|
1931
1955
|
}
|
|
1932
1956
|
}
|
|
1933
1957
|
}
|
|
1934
|
-
},
|
|
1935
|
-
let n =
|
|
1958
|
+
}, Di = (e, t) => {
|
|
1959
|
+
let n = I();
|
|
1936
1960
|
if (n.clear(), t.trim()) {
|
|
1937
1961
|
let r = new DOMParser().parseFromString(t, "text/html");
|
|
1938
|
-
|
|
1939
|
-
let i =
|
|
1962
|
+
Ei(r);
|
|
1963
|
+
let i = ge(e, r);
|
|
1940
1964
|
if (i.length) {
|
|
1941
|
-
n.select(),
|
|
1965
|
+
n.select(), Te(i), Pe(null);
|
|
1942
1966
|
return;
|
|
1943
1967
|
}
|
|
1944
1968
|
}
|
|
1945
|
-
let r =
|
|
1946
|
-
n.append(r),
|
|
1969
|
+
let r = ye();
|
|
1970
|
+
n.append(r), Pe(null);
|
|
1947
1971
|
};
|
|
1948
1972
|
//#endregion
|
|
1949
1973
|
//#region src/components/Editor/utils/isEmptyEditorHtml.ts
|
|
1950
|
-
function
|
|
1974
|
+
function Oi(e, t) {
|
|
1951
1975
|
return !t.trim() && (e === "<p><br></p>" || e === "<p></p>" || e === "" || /^<p>\s*<br>\s*<\/p>$/.test(e));
|
|
1952
1976
|
}
|
|
1953
1977
|
//#endregion
|
|
1954
1978
|
//#region src/components/Editor/utils/sanitizeEditorHtml.ts
|
|
1955
|
-
var
|
|
1979
|
+
var ki = /* @__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("."), Ai = [
|
|
1956
1980
|
"href",
|
|
1957
1981
|
"src",
|
|
1958
1982
|
"alt",
|
|
@@ -1968,12 +1992,12 @@ var Ei = /* @__PURE__ */ "p.br.strong.em.b.i.u.s.span.sub.sup.ul.ol.li.a.img.pre
|
|
|
1968
1992
|
"style",
|
|
1969
1993
|
"width",
|
|
1970
1994
|
"height"
|
|
1971
|
-
],
|
|
1995
|
+
], ji = 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.margin-inline-start.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(".")), Mi = /^(?:(?:(?:f|ht)tps?|mailto|blob):|data:image\/[a-z0-9.+-]+[;,].*|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i, Ni = new Set([
|
|
1972
1996
|
"pre",
|
|
1973
1997
|
"code",
|
|
1974
1998
|
"td",
|
|
1975
1999
|
"th"
|
|
1976
|
-
]),
|
|
2000
|
+
]), Pi = new Set(["pre", "code"]), Fi = new Set(["sup", "sub"]), Ii = (e, t) => yi(e) ? t === "li" : ji.has(e) ? e === "padding-inline-start" ? !0 : e === "padding" || e.startsWith("padding-") ? Ni.has(t) : e === "border-radius" ? Pi.has(t) : e === "position" || e === "top" || e === "bottom" ? Fi.has(t) : !0 : !1, Li = (e, t) => e.split(";").map((e) => e.trim()).filter(Boolean).map((e) => {
|
|
1977
2001
|
let n = e.indexOf(":");
|
|
1978
2002
|
if (n === -1) return null;
|
|
1979
2003
|
let r = e.slice(0, n).trim().toLowerCase(), i = e.slice(n + 1).trim();
|
|
@@ -1981,80 +2005,80 @@ var Ei = /* @__PURE__ */ "p.br.strong.em.b.i.u.s.span.sub.sup.ul.ol.li.a.img.pre
|
|
|
1981
2005
|
if (/url\s*\(/i.test(i)) return null;
|
|
1982
2006
|
r = "background-color";
|
|
1983
2007
|
}
|
|
1984
|
-
return !
|
|
1985
|
-
}).filter((e) => e !== null).join("; "),
|
|
1986
|
-
|
|
2008
|
+
return !Ii(r, t) || /expression|javascript:|url\s*\(\s*['"]?\s*javascript/i.test(i) ? null : `${r}: ${i}`;
|
|
2009
|
+
}).filter((e) => e !== null).join("; "), Ri = !1, zi = () => {
|
|
2010
|
+
Ri ||= (en.addHook("uponSanitizeAttribute", (e, t) => {
|
|
1987
2011
|
if (t.attrName === "href" && /^data:/i.test(t.attrValue)) {
|
|
1988
2012
|
t.keepAttr = !1;
|
|
1989
2013
|
return;
|
|
1990
2014
|
}
|
|
1991
|
-
t.attrName === "style" && (t.attrValue =
|
|
2015
|
+
t.attrName === "style" && (t.attrValue = Li(t.attrValue, e.nodeName.toLowerCase()), t.attrValue || (t.keepAttr = !1));
|
|
1992
2016
|
}), !0);
|
|
1993
2017
|
};
|
|
1994
2018
|
function X(e) {
|
|
1995
|
-
return e ? (
|
|
1996
|
-
ALLOWED_TAGS:
|
|
1997
|
-
ALLOWED_ATTR:
|
|
2019
|
+
return e ? (zi(), en.sanitize(e, {
|
|
2020
|
+
ALLOWED_TAGS: ki,
|
|
2021
|
+
ALLOWED_ATTR: Ai,
|
|
1998
2022
|
ALLOW_DATA_ATTR: !1,
|
|
1999
2023
|
ADD_ATTR: [
|
|
2000
2024
|
"data-language",
|
|
2001
2025
|
"data-id",
|
|
2002
2026
|
"data-src"
|
|
2003
2027
|
],
|
|
2004
|
-
ALLOWED_URI_REGEXP:
|
|
2028
|
+
ALLOWED_URI_REGEXP: Mi
|
|
2005
2029
|
})) : "";
|
|
2006
2030
|
}
|
|
2007
2031
|
//#endregion
|
|
2008
2032
|
//#region src/components/Editor/constants/portableEditorStyles.ts
|
|
2009
|
-
var
|
|
2033
|
+
var Bi = {
|
|
2010
2034
|
margin: "0.6em 0 0.4em",
|
|
2011
2035
|
"font-weight": "600",
|
|
2012
2036
|
"line-height": "1.35"
|
|
2013
|
-
},
|
|
2037
|
+
}, Vi = {
|
|
2014
2038
|
h1: {
|
|
2015
|
-
...
|
|
2039
|
+
...Bi,
|
|
2016
2040
|
"font-size": "2em"
|
|
2017
2041
|
},
|
|
2018
2042
|
h2: {
|
|
2019
|
-
...
|
|
2043
|
+
...Bi,
|
|
2020
2044
|
"font-size": "1.5em"
|
|
2021
2045
|
},
|
|
2022
2046
|
h3: {
|
|
2023
|
-
...
|
|
2047
|
+
...Bi,
|
|
2024
2048
|
"font-size": "1.25em"
|
|
2025
2049
|
},
|
|
2026
2050
|
h4: {
|
|
2027
|
-
...
|
|
2051
|
+
...Bi,
|
|
2028
2052
|
"font-size": "1.125em"
|
|
2029
2053
|
},
|
|
2030
2054
|
h5: {
|
|
2031
|
-
...
|
|
2055
|
+
...Bi,
|
|
2032
2056
|
"font-size": "1em"
|
|
2033
2057
|
},
|
|
2034
2058
|
h6: {
|
|
2035
|
-
...
|
|
2059
|
+
...Bi,
|
|
2036
2060
|
"font-size": "0.875em"
|
|
2037
2061
|
}
|
|
2038
|
-
},
|
|
2062
|
+
}, Hi = {
|
|
2039
2063
|
color: "#0269ff",
|
|
2040
2064
|
cursor: "pointer"
|
|
2041
|
-
},
|
|
2065
|
+
}, Ui = {
|
|
2042
2066
|
margin: "0",
|
|
2043
2067
|
"padding-inline-start": "0",
|
|
2044
2068
|
"list-style-position": "outside"
|
|
2045
|
-
},
|
|
2069
|
+
}, Wi = [
|
|
2046
2070
|
"disc",
|
|
2047
2071
|
"circle",
|
|
2048
2072
|
"square"
|
|
2049
|
-
],
|
|
2073
|
+
], Gi = {
|
|
2050
2074
|
margin: "0",
|
|
2051
|
-
"margin-inline-start":
|
|
2075
|
+
"margin-inline-start": _i,
|
|
2052
2076
|
"list-style": "inherit"
|
|
2053
|
-
},
|
|
2077
|
+
}, Ki = {
|
|
2054
2078
|
margin: "0",
|
|
2055
2079
|
"margin-inline-start": "0",
|
|
2056
2080
|
"list-style-type": "none"
|
|
2057
|
-
},
|
|
2081
|
+
}, qi = {
|
|
2058
2082
|
display: "block",
|
|
2059
2083
|
"box-sizing": "border-box",
|
|
2060
2084
|
"max-width": "100%",
|
|
@@ -2069,23 +2093,23 @@ var Li = {
|
|
|
2069
2093
|
"border-radius": "4px",
|
|
2070
2094
|
"background-color": "rgb(240, 242, 245)",
|
|
2071
2095
|
color: "#1f2328"
|
|
2072
|
-
},
|
|
2096
|
+
}, Ji = {
|
|
2073
2097
|
"border-collapse": "collapse",
|
|
2074
2098
|
"table-layout": "fixed",
|
|
2075
2099
|
width: "100%",
|
|
2076
2100
|
"overflow-x": "auto",
|
|
2077
2101
|
margin: "8px 0"
|
|
2078
|
-
},
|
|
2102
|
+
}, Yi = {
|
|
2079
2103
|
"box-sizing": "border-box",
|
|
2080
2104
|
"min-width": "75px",
|
|
2081
2105
|
"min-height": "32px",
|
|
2082
2106
|
padding: "4px 8px",
|
|
2083
2107
|
border: "1px solid #d9d9d9",
|
|
2084
2108
|
"vertical-align": "top"
|
|
2085
|
-
},
|
|
2109
|
+
}, Xi = {
|
|
2086
2110
|
"font-weight": "600",
|
|
2087
2111
|
"background-color": "#f2f3f5"
|
|
2088
|
-
},
|
|
2112
|
+
}, Zi = {
|
|
2089
2113
|
display: "inline-block",
|
|
2090
2114
|
position: "static",
|
|
2091
2115
|
top: "auto",
|
|
@@ -2094,39 +2118,39 @@ var Li = {
|
|
|
2094
2118
|
"line-height": "1"
|
|
2095
2119
|
}, Z = (e, t) => {
|
|
2096
2120
|
for (let [n, r] of Object.entries(t)) e.style.getPropertyValue(n) || e.style.setProperty(n, r);
|
|
2097
|
-
},
|
|
2121
|
+
}, Qi = (e) => {
|
|
2098
2122
|
let t = 0, n = e;
|
|
2099
2123
|
for (; n;) n.tagName === "UL" && (t += 1), n = n.parentElement;
|
|
2100
2124
|
return t;
|
|
2101
|
-
},
|
|
2125
|
+
}, $i = (e) => {
|
|
2102
2126
|
let t = [...e.querySelectorAll("*")].filter((e) => e instanceof HTMLElement);
|
|
2103
|
-
for (let e of t)
|
|
2127
|
+
for (let e of t) xi(e);
|
|
2104
2128
|
for (let e of t) {
|
|
2105
|
-
let t = e.tagName.toLowerCase(), n =
|
|
2106
|
-
if (n && Z(e, n), t === "a" && Z(e,
|
|
2107
|
-
let t = Math.min(Math.max(
|
|
2129
|
+
let t = e.tagName.toLowerCase(), n = Vi[t];
|
|
2130
|
+
if (n && Z(e, n), t === "a" && Z(e, Hi), t === "ul") {
|
|
2131
|
+
let t = Math.min(Math.max(Qi(e), 1), Wi.length);
|
|
2108
2132
|
Z(e, {
|
|
2109
|
-
...
|
|
2110
|
-
"list-style-type":
|
|
2133
|
+
...Ui,
|
|
2134
|
+
"list-style-type": Wi[t - 1]
|
|
2111
2135
|
});
|
|
2112
2136
|
}
|
|
2113
2137
|
t === "ol" && Z(e, {
|
|
2114
|
-
...
|
|
2138
|
+
...Ui,
|
|
2115
2139
|
"list-style-type": "decimal"
|
|
2116
|
-
}), t === "li" && Z(e, e.classList.contains("editor-nested-listitem") ?
|
|
2117
|
-
...
|
|
2140
|
+
}), t === "li" && Z(e, e.classList.contains("editor-nested-listitem") ? Ki : Gi), t === "pre" && Z(e, qi), (t === "sup" || t === "sub") && Z(e, {
|
|
2141
|
+
...Zi,
|
|
2118
2142
|
"vertical-align": t === "sup" ? "super" : "sub"
|
|
2119
|
-
}), t === "table" && Z(e,
|
|
2143
|
+
}), t === "table" && Z(e, Ji), (t === "td" || t === "th") && (Z(e, Yi), (t === "th" || e.classList.contains("editor-table-cell-header")) && Z(e, Xi)), e.classList.contains("editor-text-underline-strikethrough") ? Z(e, { "text-decoration": "underline line-through" }) : e.classList.contains("editor-text-underline") ? Z(e, { "text-decoration": "underline" }) : e.classList.contains("editor-text-strikethrough") && Z(e, { "text-decoration": "line-through" });
|
|
2120
2144
|
for (let t of Array.from(e.classList)) t.startsWith("editor-") && e.classList.remove(t);
|
|
2121
2145
|
e.classList.length === 0 && e.removeAttribute("class");
|
|
2122
2146
|
}
|
|
2123
|
-
},
|
|
2147
|
+
}, ea = (e) => {
|
|
2124
2148
|
let t = e.parentNode;
|
|
2125
2149
|
if (t) {
|
|
2126
2150
|
for (; e.firstChild;) t.insertBefore(e.firstChild, e);
|
|
2127
2151
|
t.removeChild(e);
|
|
2128
2152
|
}
|
|
2129
|
-
},
|
|
2153
|
+
}, ta = (e) => {
|
|
2130
2154
|
let t = !0;
|
|
2131
2155
|
for (; t;) {
|
|
2132
2156
|
t = !1;
|
|
@@ -2134,34 +2158,34 @@ var Li = {
|
|
|
2134
2158
|
if (n.attributes.length > 0) continue;
|
|
2135
2159
|
let e = n.tagName.toLowerCase();
|
|
2136
2160
|
if (e === "span") {
|
|
2137
|
-
|
|
2161
|
+
ea(n), t = !0;
|
|
2138
2162
|
continue;
|
|
2139
2163
|
}
|
|
2140
2164
|
if (n.childElementCount !== 1 || n.childNodes.length !== 1) continue;
|
|
2141
2165
|
let r = n.firstElementChild;
|
|
2142
|
-
(e === "b" && r?.tagName === "STRONG" || e === "i" && r?.tagName === "EM") && (
|
|
2166
|
+
(e === "b" && r?.tagName === "STRONG" || e === "i" && r?.tagName === "EM") && (ea(n), t = !0);
|
|
2143
2167
|
}
|
|
2144
2168
|
}
|
|
2145
2169
|
};
|
|
2146
|
-
function
|
|
2170
|
+
function na(e) {
|
|
2147
2171
|
if (!e.trim()) return e;
|
|
2148
2172
|
let t = new DOMParser().parseFromString(e, "text/html");
|
|
2149
|
-
|
|
2173
|
+
$i(t.body), ta(t.body);
|
|
2150
2174
|
for (let e of Array.from(t.body.querySelectorAll("pre"))) e.textContent?.trim() || e.remove();
|
|
2151
2175
|
return t.body.innerHTML;
|
|
2152
2176
|
}
|
|
2153
2177
|
//#endregion
|
|
2154
2178
|
//#region src/components/Editor/utils/applyAiPolish.ts
|
|
2155
|
-
function
|
|
2156
|
-
return e.join(`\n\n${
|
|
2179
|
+
function ra(e) {
|
|
2180
|
+
return e.join(`\n\n${oi}\n\n`);
|
|
2157
2181
|
}
|
|
2158
|
-
function
|
|
2159
|
-
return e.includes("<!--bsy-block-->") ? e.split(
|
|
2182
|
+
function ia(e) {
|
|
2183
|
+
return e.includes("<!--bsy-block-->") ? e.split(oi).map((e) => e.trim()) : [e];
|
|
2160
2184
|
}
|
|
2161
|
-
function
|
|
2162
|
-
return e.split(
|
|
2185
|
+
function aa(e) {
|
|
2186
|
+
return e.split(oi).join("").trim().length > 0;
|
|
2163
2187
|
}
|
|
2164
|
-
function
|
|
2188
|
+
function oa(e, t) {
|
|
2165
2189
|
let n = e.map(() => "");
|
|
2166
2190
|
if (e.length === 0) return n;
|
|
2167
2191
|
let r = [], i = [];
|
|
@@ -2175,7 +2199,7 @@ function ra(e, t) {
|
|
|
2175
2199
|
for (; d < c;) n[n.length - 1] += o[d], d += 1;
|
|
2176
2200
|
return n;
|
|
2177
2201
|
}
|
|
2178
|
-
var
|
|
2202
|
+
var sa = new Set(["PRE"]), ca = new Set([
|
|
2179
2203
|
"PRE",
|
|
2180
2204
|
"TABLE",
|
|
2181
2205
|
"THEAD",
|
|
@@ -2186,11 +2210,11 @@ var ia = new Set(["PRE"]), aa = new Set([
|
|
|
2186
2210
|
"IMG",
|
|
2187
2211
|
"BR"
|
|
2188
2212
|
]);
|
|
2189
|
-
function
|
|
2213
|
+
function la(e) {
|
|
2190
2214
|
let t = [], n = (e) => {
|
|
2191
2215
|
if (e.nodeType === Node.ELEMENT_NODE) {
|
|
2192
2216
|
let t = e.tagName;
|
|
2193
|
-
if (
|
|
2217
|
+
if (sa.has(t)) return;
|
|
2194
2218
|
for (let t of Array.from(e.childNodes)) n(t);
|
|
2195
2219
|
return;
|
|
2196
2220
|
}
|
|
@@ -2198,31 +2222,31 @@ function oa(e) {
|
|
|
2198
2222
|
};
|
|
2199
2223
|
return n(e), t;
|
|
2200
2224
|
}
|
|
2201
|
-
function
|
|
2225
|
+
function ua(e, t) {
|
|
2202
2226
|
let n = e;
|
|
2203
|
-
for (; n && n !== t && !
|
|
2227
|
+
for (; n && n !== t && !ca.has(n.tagName) && !(n.textContent ?? "").trim() && !n.querySelector("img, pre, table, br");) {
|
|
2204
2228
|
let e = n.parentElement;
|
|
2205
2229
|
n.remove(), n = e;
|
|
2206
2230
|
}
|
|
2207
2231
|
}
|
|
2208
|
-
function
|
|
2232
|
+
function da(e) {
|
|
2209
2233
|
let t = e.tagName;
|
|
2210
2234
|
return t === "PRE" || t === "IMG" || t === "TABLE";
|
|
2211
2235
|
}
|
|
2212
|
-
function
|
|
2213
|
-
let t =
|
|
2214
|
-
return t ? Array.from(t.children).filter((e) => !
|
|
2236
|
+
function fa(e) {
|
|
2237
|
+
let t = li(e);
|
|
2238
|
+
return t ? Array.from(t.children).filter((e) => !da(e)).map((e) => e.textContent ?? "") : [];
|
|
2215
2239
|
}
|
|
2216
|
-
function
|
|
2217
|
-
return e.includes("<!--bsy-block-->") ? e :
|
|
2240
|
+
function pa(e) {
|
|
2241
|
+
return e.includes("<!--bsy-block-->") ? e : wi(e) || e;
|
|
2218
2242
|
}
|
|
2219
|
-
function
|
|
2220
|
-
let n =
|
|
2243
|
+
function ma(e, t) {
|
|
2244
|
+
let n = la(e);
|
|
2221
2245
|
if (n.length === 0) {
|
|
2222
2246
|
t && (e.querySelector("br")?.remove(), e.append(e.ownerDocument.createTextNode(t)));
|
|
2223
2247
|
return;
|
|
2224
2248
|
}
|
|
2225
|
-
let r =
|
|
2249
|
+
let r = oa(n.map((e) => e.textContent ?? ""), t);
|
|
2226
2250
|
for (let t = 0; t < n.length; t++) {
|
|
2227
2251
|
let i = r[t], a = n[t];
|
|
2228
2252
|
if (i) {
|
|
@@ -2230,38 +2254,38 @@ function da(e, t) {
|
|
|
2230
2254
|
continue;
|
|
2231
2255
|
}
|
|
2232
2256
|
let o = a.parentElement;
|
|
2233
|
-
a.remove(),
|
|
2257
|
+
a.remove(), ua(o, e);
|
|
2234
2258
|
}
|
|
2235
2259
|
}
|
|
2236
|
-
function
|
|
2237
|
-
let n =
|
|
2238
|
-
if (!
|
|
2239
|
-
let r =
|
|
2260
|
+
function ha(e, t) {
|
|
2261
|
+
let n = pa(t);
|
|
2262
|
+
if (!aa(n) || !e.trim()) return "";
|
|
2263
|
+
let r = li(e);
|
|
2240
2264
|
if (!r) return "";
|
|
2241
|
-
let i = Array.from(r.children).filter((e) => !
|
|
2265
|
+
let i = Array.from(r.children).filter((e) => !da(e));
|
|
2242
2266
|
if (i.length === 0) return "";
|
|
2243
|
-
let a =
|
|
2244
|
-
for (let e = 0; e < i.length; e++)
|
|
2267
|
+
let a = ia(n), o = a.length === i.length ? a : oa(i.map((e) => e.textContent ?? ""), a.join(""));
|
|
2268
|
+
for (let e = 0; e < i.length; e++) ma(i[e], o[e] ?? "");
|
|
2245
2269
|
return r.innerHTML;
|
|
2246
2270
|
}
|
|
2247
|
-
function
|
|
2271
|
+
function ga(e, t) {
|
|
2248
2272
|
let n = "";
|
|
2249
2273
|
e.getEditorState().read(() => {
|
|
2250
|
-
n =
|
|
2274
|
+
n = na(X(he(e, null)));
|
|
2251
2275
|
}, { editor: e });
|
|
2252
|
-
let r = X(
|
|
2253
|
-
return !r.trim() ||
|
|
2254
|
-
|
|
2276
|
+
let r = X(ha(n, t));
|
|
2277
|
+
return !r.trim() || Oi(r, wi(r)) ? !1 : (e.update(() => {
|
|
2278
|
+
Di(e, r), Fn(!0);
|
|
2255
2279
|
}, { discrete: !0 }), !0);
|
|
2256
2280
|
}
|
|
2257
2281
|
//#endregion
|
|
2258
2282
|
//#region src/components/Editor/utils/readEditorAiSnapshot.ts
|
|
2259
|
-
function
|
|
2283
|
+
function _a(e) {
|
|
2260
2284
|
let t = "", n = "", r = "";
|
|
2261
2285
|
e.getEditorState().read(() => {
|
|
2262
|
-
n =
|
|
2286
|
+
n = I().getTextContent(), t = na(X(he(e, null))), r = ra(fa(t));
|
|
2263
2287
|
}, { editor: e });
|
|
2264
|
-
let i =
|
|
2288
|
+
let i = ai(t);
|
|
2265
2289
|
return {
|
|
2266
2290
|
html: t,
|
|
2267
2291
|
text: n,
|
|
@@ -2300,17 +2324,17 @@ var Q = {
|
|
|
2300
2324
|
"bsy-lexical-ai__footer": "_bsy-lexical-ai__footer_p7v4i_165",
|
|
2301
2325
|
"bsy-lexical-ai__error": "_bsy-lexical-ai__error_p7v4i_173",
|
|
2302
2326
|
"bsy-lexical-ai__preset": "_bsy-lexical-ai__preset_p7v4i_178"
|
|
2303
|
-
},
|
|
2304
|
-
let [i] =
|
|
2327
|
+
}, va = "data:image/png;base64,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", ya = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAACb9JREFUeAHtW09sHFcZ/739Y9nxJt4WQv8g1WO1ICQOXquiqAeU3Z6QENhWhUThYPsCpAVsl1RqeiBrCQhIiBqlLVWRakccegDJTi8gkLobLkTlYPuAesObXJB6aDZq0rSOd79+b+b9m9lZe707jp3Kv3Y7M2/evHnf733/3jcucIQjHOEIR0gO/XPk4R5CCgkiz8Ify6Jy8gUq4B5BsgR8Dt6JHLzBHNYe+yXN4R5ABgkiz8JDmMvfP36Bxvlyk8+vpdJY3/oE1fV5UcchQrIE5DEqj8T/suCCj6cgf8S0CFTffVas4pAhMQK+u0KFTwizUmqG1gPBTBD/U9vawkzcc4NzVMgCtfriwWhGIgT8+N/kfXQLKwPygiI3pfANPPX206IW9+wXT2JCZDD+2AWaFynU//OcWMddRM8ElNcof72BSvY4PCHC9yQX7GUv/+GJeOElHn0U440GCqwz72zdwQI33WMEjIk6kzC2NQCv2USeSSiww5tNpTCsCLja7tlnr9BsYxsFyVuzgY03TokF3GUI7APOb5KX6cMKq3SB1WDyzMPtnV95k/I8ibm+NApnHxET0fucW+Q/vIUJJnOI+1z6+PX22tQN9oUAjTc+pMVGBqunB0R1t75Lt8mbGbDCScE/2sIsn86BNcu6VZS3XktOU/aVgG4x8DOaTRHKRCx4AD+Q8jWxiQk2sdLNxd1J7QSJ5gES+TLlUeeJ83/r5b2FtvwZKlIDSyyo5zS7cUUvmDSVKhJAogTc/wLN4ibKPGqej/J6nVesxgJVedU2cv1Yr8WQ8vkXfcHPcb8i0n6TFNoXltSZo6oyrxhCQkjMBB58iabZk78pR5STlqrqT1UYQUjJUWfnKEOdH+6awCgnT6XQYEZ8dUmBFqgxJdbf/60YQwJITAPSKQ59QosLq7gCwZpZSLsucntR6G4BYWa1o8/6zcLvgiZf83s8JITENGC4TNdlqJJrLtPfYNk7GF+vqdPXf16PE+gQ6Z56bM4v7q+Ve0+fk9OANGp8KKgFjBfcGoXViHiSRNxRaYBgEyLOCaQmHR4CMhls8CFaCIlYM6xn6BJpNU4z5b+rhh6RpAassZFOmQYW1HeGWnnlygV2bvyEr9H22vUAliCj/GpU3UwYRgJIjgCBDQ51UWdmVVgJ6du2fUyEhFPRg1yhgzFEyDkGGEECiCUg9xMqiiyG04TLvE+vyTZZ7+OQNcHOZ1W3hQbKYD2Viax0K9w2TZNw7lKINDiERu5z+ygSQKwtemXyKChlyRfJeJ2X2Rn/6tcWxH3tBnviVdqEClHRBVPXRhRXMO3hjKARzxGNrPo+h8PSldO9pcSxGsDhpfb116gmheFJjQqlgNTE5Ws7DZb1yfJgZ06c6ZiVlAeKukUJx0+o54JW5zpEgjWRpeISlaoz3e8Q2/qAB76AS/ySWbihiFDBToNleO9vJxc8l47x+jGxPySk9gWw/Rzfos1MkilrEO8wCU91S0JbAh56EKMU9sByUjs6HukHEKkJwjlxEhwYZ6gF0vVDuGkPoiS5PkCblCcX5ptvUenvz+ydhJ004JSaiJkQz3gccn/eBhwKh4Q7UWG9vrA8+EeXDMAhAY647lhBgxmLwg5TmmpXJMQS8PotGt/ewo3GHVzkguYqhzePOxa5yvOdP14n7/R98S/JZv0KkJmpWeGmUmFlvZoMirg7x3GafuSwQqIljNp9BPy8oDKxQqXVyc5JiI0CK0T5SRGfZ/NmPT8Tc49fLO3xf8KJ/+GwHU6DtckbEtwV1dFBhLMjZyRjKNEIwdc1TpUnmYSOiqsCCeHpt0kWMqbUoCaZEW72pg/KqcXlfmrrK/Sz5NqEGzrtthtW2YL+3FbnnKT0l2/tTkIimeD3/uav/pTrrY2au4JE9gEtSQ4C5yiPWvUp2q5vOeSq0OhGiiHu/zKflXabeyIEcBp8jv1ESJuieQyFnRmCOYd8QFgprHTCURRy/IvbX7hEqXtFdICeCZiucNbYwDShRd1tJHBSXrOCStGDDAvGKfjnvN0VTfNZTZhM0QptVd6OJ4Q1I98MOpl/zwTw6i/JUSji4JRamqwuNFl1T0RVQSiLCPb81i/AFkhAlkzYwot9lSWhow+xPRHww3/RBE+6qK9JRQA1EWOfQll4JOaHbAFO9uj4Ba0Vtn84TsZslP2iSXVwG/PoAD0RwHmBdDQkqDXB8Sdp7dJENv2faL/QM2RzBfd9rtKYNjdT5e+QnLss/OkbnW+QuiZg7l0qkFOcpHCaGlbV6KSDg7Fnx5uRm0O4TtF9T6heGNyu8jfGhVee3PvOsGsCOOuTJW04zs+dp4gIE05+nKX0fUfK72sSG4ostXURamwYYnzBF7/W/Za4awLucMbFhcm6H3NhHRWM9ZukJJgsOTmBGzHshdufRMgrWGVQ0eVSqoH534z1/qFUoAe89B5N84yW9EiOl7d22WY3F2oD3DqxGQuRnZ9PImHh118VZSSEngiQKL/HeUDarxsUeJLyU7epDIugMLrrO0L9AgadZDKE5YUvixl5Ir8e397CFHt8Ly0/m7/SnRn0TEAc+Jt/AdvIpzNct2tCltBG2c5HeRlHIl3DPs5qCLmJjSYow/WIsyOqRvk8rfDD48Fj/MU4hfkPficWsUfsCwHt8KtNmuaJnuNTb4c3682SLRkGNC2ffSRYfa5ZFhpNrJlIoU4yaUzXzomL2APuKgES5/9PHlebK8L5BK6EDRwdRdyewnaKV/+hYPW/cp48keaiLUX68TkTPP3fM52TcNcJkHiZSeBaYQWKBC2HIcLdIQaErM4/ICbdMR6/QMv8QXZKxddQbsBb4ekrP+qMhAMhQEKSwJnkGmD+CsSgxXk2UfrpyVYnx8XQZV7xKUB7DqMPN9j/lP75g93rAQdGgMSrN6kgGmwO8P/gIZTwGScoUD19QpTajfHtv1KF+50CQTgjyHB8oy/FRZFdKkOJ/rH0XvFcTqxnuXzF1WTBP/g//ryWzQSZJh+J7y/vNAaHwMncIDaOHwedyAHyd5x/3JbvO4bK9/+x81+uH6gGaCzd5oQqhTfJbpa0L6jN9IuR3Z7nmkS+L4MKfykqOH9ToJ1LrZ81YfHJ+KzxUBAg8edtf2std5fDavtbvZPGDBdga508P7dGeVYeaQ5yxcndavPp1cEhjJVHWou5h4YAjbeIinyoPSP2nue/yFlpf9b/euXJ69DujDD/iy+1JkqHjoBeIfOMPtYElswTzq6av2s+//OHWwk4UCe4H5DJUqofpVwONXaEgo8YzOHqsYH4EtlnTgM0+COFl26gyD5hiLPIizPicP2fKkc4whGOcCjwKViIGaRSStOhAAAAAElFTkSuQmCC", ba = 16, xa = ({ disabled: t, tooltip: n, showDisabledTooltip: r }) => {
|
|
2328
|
+
let [i] = z(), { typeset: o, polish: s, canTypeset: c, canPolish: l, aiOpen: u, setAiOpen: d, aiSessionRef: p } = Sn(), { hasEditorText: m } = J(), { t: h } = a(), { iconSize: g } = $n(), _ = t || !c || !m, x = t || !l || !m, S = t || !!u, C = T(() => {
|
|
2305
2329
|
if (t || !c || !o) return;
|
|
2306
|
-
let e =
|
|
2330
|
+
let e = _a(i);
|
|
2307
2331
|
e.text.trim() && (p.current = {
|
|
2308
2332
|
originalHtml: e.html,
|
|
2309
2333
|
codeBlocks: e.codeBlocks
|
|
2310
2334
|
}, d("typeset"), o({
|
|
2311
2335
|
text: e.text,
|
|
2312
2336
|
html: e.htmlWithoutCode,
|
|
2313
|
-
prompt:
|
|
2337
|
+
prompt: ni
|
|
2314
2338
|
}));
|
|
2315
2339
|
}, [
|
|
2316
2340
|
p,
|
|
@@ -2321,15 +2345,15 @@ var Q = {
|
|
|
2321
2345
|
o
|
|
2322
2346
|
]), w = T((e) => {
|
|
2323
2347
|
if (t || !l || !s) return;
|
|
2324
|
-
let n =
|
|
2325
|
-
|
|
2348
|
+
let n = _a(i);
|
|
2349
|
+
aa(n.polishText) && (p.current = {
|
|
2326
2350
|
originalHtml: n.html,
|
|
2327
2351
|
originalText: n.polishText,
|
|
2328
2352
|
preset: e
|
|
2329
2353
|
}, d("polish"), s({
|
|
2330
2354
|
text: n.polishText,
|
|
2331
2355
|
preset: e,
|
|
2332
|
-
prompt:
|
|
2356
|
+
prompt: ii(e)
|
|
2333
2357
|
}));
|
|
2334
2358
|
}, [
|
|
2335
2359
|
p,
|
|
@@ -2343,16 +2367,16 @@ var Q = {
|
|
|
2343
2367
|
C();
|
|
2344
2368
|
return;
|
|
2345
2369
|
}
|
|
2346
|
-
|
|
2370
|
+
$r.includes(e.key) && w(e.key);
|
|
2347
2371
|
}, [w, C]), D = [{
|
|
2348
2372
|
key: "typeset",
|
|
2349
2373
|
label: h("editor.aiTypeset"),
|
|
2350
2374
|
disabled: _,
|
|
2351
2375
|
icon: /* @__PURE__ */ y("img", {
|
|
2352
|
-
src:
|
|
2376
|
+
src: va,
|
|
2353
2377
|
alt: "",
|
|
2354
|
-
width:
|
|
2355
|
-
height:
|
|
2378
|
+
width: ba,
|
|
2379
|
+
height: ba,
|
|
2356
2380
|
className: Q["bsy-lexical-ai__icon"],
|
|
2357
2381
|
draggable: !1
|
|
2358
2382
|
})
|
|
@@ -2361,29 +2385,29 @@ var Q = {
|
|
|
2361
2385
|
label: h("editor.aiPolish"),
|
|
2362
2386
|
disabled: x,
|
|
2363
2387
|
icon: /* @__PURE__ */ y("img", {
|
|
2364
|
-
src:
|
|
2388
|
+
src: ya,
|
|
2365
2389
|
alt: "",
|
|
2366
|
-
width:
|
|
2367
|
-
height:
|
|
2390
|
+
width: ba,
|
|
2391
|
+
height: ba,
|
|
2368
2392
|
className: Q["bsy-lexical-ai__icon"],
|
|
2369
2393
|
draggable: !1
|
|
2370
2394
|
}),
|
|
2371
|
-
children:
|
|
2395
|
+
children: $r.map((e) => ({
|
|
2372
2396
|
key: e,
|
|
2373
|
-
label: h(
|
|
2397
|
+
label: h(ei[e])
|
|
2374
2398
|
}))
|
|
2375
2399
|
}], O = /* @__PURE__ */ y("div", {
|
|
2376
|
-
className:
|
|
2400
|
+
className: P(G["bsy-lexical__toolbar-select"], G["bsy-lexical__toolbar-select--ai"], Q["bsy-lexical-ai__trigger"]),
|
|
2377
2401
|
children: /* @__PURE__ */ y(q, {
|
|
2378
2402
|
tooltip: n,
|
|
2379
2403
|
showDisabledTooltip: r,
|
|
2380
2404
|
disabled: S,
|
|
2381
2405
|
icon: /* @__PURE__ */ b(v, { children: [
|
|
2382
2406
|
/* @__PURE__ */ y("img", {
|
|
2383
|
-
src:
|
|
2407
|
+
src: va,
|
|
2384
2408
|
alt: "",
|
|
2385
|
-
width:
|
|
2386
|
-
height:
|
|
2409
|
+
width: ba,
|
|
2410
|
+
height: ba,
|
|
2387
2411
|
className: Q["bsy-lexical-ai__icon"],
|
|
2388
2412
|
draggable: !1
|
|
2389
2413
|
}),
|
|
@@ -2410,44 +2434,44 @@ var Q = {
|
|
|
2410
2434
|
},
|
|
2411
2435
|
children: O
|
|
2412
2436
|
});
|
|
2413
|
-
},
|
|
2437
|
+
}, Sa = /* @__PURE__ */ new Map(), Ca = (e, t) => {
|
|
2414
2438
|
if (!e) throw Error("registerToolbarButton: name is required");
|
|
2415
|
-
|
|
2416
|
-
},
|
|
2417
|
-
|
|
2418
|
-
},
|
|
2439
|
+
Sa.set(e, t);
|
|
2440
|
+
}, wa = (e) => {
|
|
2441
|
+
Sa.delete(e);
|
|
2442
|
+
}, Ta = (e) => Sa.get(e), Ea = () => Array.from(Sa.keys());
|
|
2419
2443
|
Object.entries({
|
|
2420
|
-
undo:
|
|
2421
|
-
redo:
|
|
2422
|
-
bold:
|
|
2423
|
-
underline:
|
|
2424
|
-
italic:
|
|
2425
|
-
strikethrough:
|
|
2426
|
-
superscript:
|
|
2427
|
-
subscript:
|
|
2428
|
-
heading:
|
|
2429
|
-
fontSize:
|
|
2430
|
-
fontColor:
|
|
2431
|
-
fill:
|
|
2432
|
-
clearFormat:
|
|
2433
|
-
bullet:
|
|
2434
|
-
number:
|
|
2435
|
-
outdent:
|
|
2436
|
-
indent:
|
|
2437
|
-
align:
|
|
2438
|
-
link:
|
|
2439
|
-
unLink:
|
|
2440
|
-
picture:
|
|
2441
|
-
code:
|
|
2442
|
-
table:
|
|
2443
|
-
source:
|
|
2444
|
-
ai:
|
|
2444
|
+
undo: Pr,
|
|
2445
|
+
redo: Fr,
|
|
2446
|
+
bold: tr,
|
|
2447
|
+
underline: nr,
|
|
2448
|
+
italic: rr,
|
|
2449
|
+
strikethrough: Ir,
|
|
2450
|
+
superscript: Lr,
|
|
2451
|
+
subscript: Rr,
|
|
2452
|
+
heading: Xr,
|
|
2453
|
+
fontSize: ir,
|
|
2454
|
+
fontColor: pr,
|
|
2455
|
+
fill: mr,
|
|
2456
|
+
clearFormat: Qr,
|
|
2457
|
+
bullet: Vr,
|
|
2458
|
+
number: Hr,
|
|
2459
|
+
outdent: Br,
|
|
2460
|
+
indent: zr,
|
|
2461
|
+
align: gr,
|
|
2462
|
+
link: vr,
|
|
2463
|
+
unLink: yr,
|
|
2464
|
+
picture: Nr,
|
|
2465
|
+
code: Ur,
|
|
2466
|
+
table: Kr,
|
|
2467
|
+
source: Yr,
|
|
2468
|
+
ai: xa
|
|
2445
2469
|
}).forEach(([e, t]) => {
|
|
2446
|
-
|
|
2470
|
+
Ca(e, t);
|
|
2447
2471
|
});
|
|
2448
2472
|
//#endregion
|
|
2449
2473
|
//#region src/components/Editor/utils/getToolbarItems.ts
|
|
2450
|
-
var
|
|
2474
|
+
var Da = (e, t, n) => {
|
|
2451
2475
|
if (n) return [
|
|
2452
2476
|
{
|
|
2453
2477
|
kind: "button",
|
|
@@ -2505,19 +2529,19 @@ var wa = (e, t, n) => {
|
|
|
2505
2529
|
key: `divider-${t.key}`
|
|
2506
2530
|
});
|
|
2507
2531
|
}), r;
|
|
2508
|
-
},
|
|
2532
|
+
}, Oa = jn.map((e) => ({
|
|
2509
2533
|
key: e.id,
|
|
2510
2534
|
label: e.label
|
|
2511
|
-
})),
|
|
2512
|
-
let [t] =
|
|
2535
|
+
})), ka = () => {
|
|
2536
|
+
let [t] = z(), { codeLanguage: n } = J(), { t: r } = a(), { iconSize: i } = $n(), o = T((e) => {
|
|
2513
2537
|
let n = e.key;
|
|
2514
2538
|
K(t), t.update(() => {
|
|
2515
|
-
let e =
|
|
2516
|
-
|
|
2539
|
+
let e = L();
|
|
2540
|
+
R(e) && H(e.anchor.getNode(), V)?.setLanguage(n);
|
|
2517
2541
|
});
|
|
2518
|
-
}, [t]), s =
|
|
2542
|
+
}, [t]), s = Mn[n].label;
|
|
2519
2543
|
return /* @__PURE__ */ y(f, {
|
|
2520
|
-
menus:
|
|
2544
|
+
menus: Oa,
|
|
2521
2545
|
onClick: o,
|
|
2522
2546
|
activeKey: [n],
|
|
2523
2547
|
showSearch: !1,
|
|
@@ -2542,7 +2566,7 @@ var wa = (e, t, n) => {
|
|
|
2542
2566
|
})
|
|
2543
2567
|
})
|
|
2544
2568
|
});
|
|
2545
|
-
},
|
|
2569
|
+
}, Aa = {
|
|
2546
2570
|
initial: {
|
|
2547
2571
|
opacity: 0,
|
|
2548
2572
|
x: 6
|
|
@@ -2555,28 +2579,28 @@ var wa = (e, t, n) => {
|
|
|
2555
2579
|
opacity: 0,
|
|
2556
2580
|
x: -6
|
|
2557
2581
|
}
|
|
2558
|
-
},
|
|
2582
|
+
}, ja = (e) => {
|
|
2559
2583
|
if (e.kind === "divider") return /* @__PURE__ */ y("div", { className: G["bsy-lexical__toolbar-divider"] });
|
|
2560
|
-
if (e.kind === "language") return /* @__PURE__ */ y(
|
|
2561
|
-
let t =
|
|
2584
|
+
if (e.kind === "language") return /* @__PURE__ */ y(ka, {});
|
|
2585
|
+
let t = Ta(e.name);
|
|
2562
2586
|
return t ? /* @__PURE__ */ y(t, { ...e.props }) : (console.warn(`[ToolbarPlugin] Button "${e.name}" is not registered.`), null);
|
|
2563
|
-
},
|
|
2564
|
-
let i =
|
|
2565
|
-
return i === null ? null : /* @__PURE__ */ y(
|
|
2587
|
+
}, Ma = C(function({ item: e, motionProps: t, transition: n }, r) {
|
|
2588
|
+
let i = ja(e);
|
|
2589
|
+
return i === null ? null : /* @__PURE__ */ y(F.div, {
|
|
2566
2590
|
ref: r,
|
|
2567
2591
|
"data-toolbar-item-key": e.key,
|
|
2568
|
-
className:
|
|
2592
|
+
className: P(G["bsy-lexical__toolbar-item"], e.kind === "button" && e.props?.disabled && G["bsy-lexical__toolbar-item--disabled"]),
|
|
2569
2593
|
layout: "position",
|
|
2570
2594
|
transition: n,
|
|
2571
2595
|
...t,
|
|
2572
2596
|
children: i
|
|
2573
2597
|
}, e.key);
|
|
2574
|
-
}),
|
|
2575
|
-
let { isCodeBlock: n } = J(), { isSourceMode: r } =
|
|
2598
|
+
}), Na = ({ config: e, sizeToken: t }) => {
|
|
2599
|
+
let { isCodeBlock: n } = J(), { isSourceMode: r } = Jr(), i = se(), o = A(() => Da(e, n, r), [
|
|
2576
2600
|
e,
|
|
2577
2601
|
n,
|
|
2578
2602
|
r
|
|
2579
|
-
]), s = o.map((e) => e.key).join("|"), { t: c } = a(), l =
|
|
2603
|
+
]), s = o.map((e) => e.key).join("|"), { t: c } = a(), l = j(null), u = j({}), d = j(null), f = j(!0), [p, m] = M({
|
|
2580
2604
|
keys: s,
|
|
2581
2605
|
count: o.length
|
|
2582
2606
|
});
|
|
@@ -2584,12 +2608,12 @@ var wa = (e, t, n) => {
|
|
|
2584
2608
|
keys: s,
|
|
2585
2609
|
count: o.length
|
|
2586
2610
|
});
|
|
2587
|
-
let h = p.keys === s ? p.count : o.length, g =
|
|
2611
|
+
let h = p.keys === s ? p.count : o.length, g = j(h);
|
|
2588
2612
|
g.current = h;
|
|
2589
|
-
let [_, v] =
|
|
2613
|
+
let [_, v] = M(!1), x = {
|
|
2590
2614
|
duration: i ? 0 : .16,
|
|
2591
2615
|
ease: "easeOut"
|
|
2592
|
-
}, S = i ? {} :
|
|
2616
|
+
}, S = i ? {} : Aa, C = T(() => {
|
|
2593
2617
|
let e = l.current;
|
|
2594
2618
|
if (!e || f.current && g.current !== o.length) return;
|
|
2595
2619
|
let t = getComputedStyle(e), n = Number.parseFloat(t.columnGap || t.gap) || 0, r = e.clientWidth, i = new Set(o.map((e) => e.key));
|
|
@@ -2605,16 +2629,16 @@ var wa = (e, t, n) => {
|
|
|
2605
2629
|
}));
|
|
2606
2630
|
f.current && o.length > 0 && c.every((e) => e.width <= 0) || (f.current = !1, m({
|
|
2607
2631
|
keys: s,
|
|
2608
|
-
count:
|
|
2632
|
+
count: gn(c, r, a, n)
|
|
2609
2633
|
}));
|
|
2610
2634
|
}, [s, o]);
|
|
2611
|
-
|
|
2635
|
+
te(() => {
|
|
2612
2636
|
f.current = !0, u.current = {};
|
|
2613
2637
|
}, [
|
|
2614
2638
|
s,
|
|
2615
2639
|
o.length,
|
|
2616
2640
|
t
|
|
2617
|
-
]),
|
|
2641
|
+
]), te(() => {
|
|
2618
2642
|
C();
|
|
2619
2643
|
let e = l.current;
|
|
2620
2644
|
if (!e || typeof ResizeObserver > "u") return;
|
|
@@ -2625,26 +2649,26 @@ var wa = (e, t, n) => {
|
|
|
2625
2649
|
s,
|
|
2626
2650
|
t
|
|
2627
2651
|
]);
|
|
2628
|
-
let { visible: w, overflow: E } =
|
|
2652
|
+
let { visible: w, overflow: E } = _n(o, h), D = E.length > 0, O = j(E);
|
|
2629
2653
|
E.length > 0 && (O.current = E);
|
|
2630
|
-
let ee = _ && D, k = D || _ && O.current.length > 0,
|
|
2654
|
+
let ee = _ && D, k = D || _ && O.current.length > 0, N = D ? E : O.current;
|
|
2631
2655
|
return /* @__PURE__ */ b("div", {
|
|
2632
|
-
className:
|
|
2656
|
+
className: P(G["bsy-lexical__toolbar-stack"], i && G["bsy-lexical__toolbar-stack--instant"]),
|
|
2633
2657
|
children: [/* @__PURE__ */ b("div", {
|
|
2634
2658
|
ref: l,
|
|
2635
2659
|
className: G["bsy-lexical__toolbar-items"],
|
|
2636
2660
|
children: [
|
|
2637
|
-
/* @__PURE__ */ y(
|
|
2661
|
+
/* @__PURE__ */ y(oe, {
|
|
2638
2662
|
initial: !1,
|
|
2639
2663
|
mode: "popLayout",
|
|
2640
|
-
children: w.map((e) => /* @__PURE__ */ y(
|
|
2664
|
+
children: w.map((e) => /* @__PURE__ */ y(Ma, {
|
|
2641
2665
|
item: e,
|
|
2642
2666
|
motionProps: S,
|
|
2643
2667
|
transition: x
|
|
2644
2668
|
}, e.key))
|
|
2645
2669
|
}),
|
|
2646
2670
|
D ? /* @__PURE__ */ b("div", {
|
|
2647
|
-
className:
|
|
2671
|
+
className: P(G["bsy-lexical__toolbar-overflow"], G["bsy-lexical__toolbar-with-divider"]),
|
|
2648
2672
|
children: [/* @__PURE__ */ y("div", { className: G["bsy-lexical__toolbar-divider"] }), /* @__PURE__ */ y(q, {
|
|
2649
2673
|
icon: ee ? "packupeverything" : "expandall",
|
|
2650
2674
|
tooltip: c(ee ? "editor.collapse" : "editor.expand"),
|
|
@@ -2654,7 +2678,7 @@ var wa = (e, t, n) => {
|
|
|
2654
2678
|
}) : null,
|
|
2655
2679
|
/* @__PURE__ */ b("div", {
|
|
2656
2680
|
ref: d,
|
|
2657
|
-
className:
|
|
2681
|
+
className: P(G["bsy-lexical__toolbar-more-sizer"], G["bsy-lexical__toolbar-with-divider"]),
|
|
2658
2682
|
"aria-hidden": !0,
|
|
2659
2683
|
children: [/* @__PURE__ */ y("div", { className: G["bsy-lexical__toolbar-divider"] }), /* @__PURE__ */ y(q, {
|
|
2660
2684
|
icon: "expandall",
|
|
@@ -2663,10 +2687,10 @@ var wa = (e, t, n) => {
|
|
|
2663
2687
|
})
|
|
2664
2688
|
]
|
|
2665
2689
|
}), k ? /* @__PURE__ */ y("div", {
|
|
2666
|
-
className:
|
|
2690
|
+
className: P(G["bsy-lexical__toolbar-overflow-row"], ee && G["bsy-lexical__toolbar-overflow-row--open"], i && G["bsy-lexical__toolbar-overflow-row--instant"]),
|
|
2667
2691
|
children: /* @__PURE__ */ y("div", {
|
|
2668
2692
|
className: G["bsy-lexical__toolbar-overflow-inner"],
|
|
2669
|
-
children:
|
|
2693
|
+
children: N.map((e) => /* @__PURE__ */ y(Ma, {
|
|
2670
2694
|
item: e,
|
|
2671
2695
|
motionProps: {},
|
|
2672
2696
|
transition: x
|
|
@@ -2674,11 +2698,11 @@ var wa = (e, t, n) => {
|
|
|
2674
2698
|
})
|
|
2675
2699
|
}) : null]
|
|
2676
2700
|
});
|
|
2677
|
-
},
|
|
2678
|
-
let { config: t = [], style: n, theme: r, mode: i, floating: a, stickyOffset: o, size: s =
|
|
2701
|
+
}, Pa = (e) => {
|
|
2702
|
+
let { config: t = [], style: n, theme: r, mode: i, floating: a, stickyOffset: o, size: s = un } = e, { toolbarRef: c } = Sn(), l = i === "floating", u = o !== void 0, d = se(), f = {
|
|
2679
2703
|
duration: d ? 0 : .16,
|
|
2680
2704
|
ease: "easeOut"
|
|
2681
|
-
}, p =
|
|
2705
|
+
}, p = A(() => pn(r, s), [r, s]), m = A(() => ({ iconSize: mn(r?.iconSize, s) }), [r?.iconSize, s]), h = l ? hn(a) : void 0, _ = l ? g(n, [
|
|
2682
2706
|
"position",
|
|
2683
2707
|
"left",
|
|
2684
2708
|
"top",
|
|
@@ -2689,41 +2713,41 @@ var wa = (e, t, n) => {
|
|
|
2689
2713
|
"marginTop",
|
|
2690
2714
|
"marginBottom"
|
|
2691
2715
|
]) : n;
|
|
2692
|
-
return /* @__PURE__ */ y(
|
|
2716
|
+
return /* @__PURE__ */ y(Qn, {
|
|
2693
2717
|
value: m,
|
|
2694
|
-
children: /* @__PURE__ */ y(
|
|
2718
|
+
children: /* @__PURE__ */ y(Xn, { children: /* @__PURE__ */ y(qn, { children: /* @__PURE__ */ y(F.div, {
|
|
2695
2719
|
ref: c,
|
|
2696
2720
|
layout: d || u ? !1 : "position",
|
|
2697
2721
|
transition: f,
|
|
2698
|
-
className:
|
|
2722
|
+
className: P(G["bsy-lexical__toolbar"], l && G["bsy-lexical__toolbar--floating"], u && G["bsy-lexical__toolbar--sticky"]),
|
|
2699
2723
|
style: {
|
|
2700
2724
|
...p,
|
|
2701
2725
|
...u ? { top: o } : null,
|
|
2702
2726
|
...h,
|
|
2703
2727
|
..._
|
|
2704
2728
|
},
|
|
2705
|
-
children: /* @__PURE__ */ y(
|
|
2729
|
+
children: /* @__PURE__ */ y(Na, {
|
|
2706
2730
|
config: t,
|
|
2707
2731
|
sizeToken: `${s}|${r?.itemHeight ?? ""}|${r?.iconSize ?? ""}`
|
|
2708
2732
|
})
|
|
2709
2733
|
}) }) })
|
|
2710
2734
|
});
|
|
2711
2735
|
}, $ = {
|
|
2712
|
-
"bsy-lexical-editor": "_bsy-lexical-
|
|
2713
|
-
"bsy-lexical-editor--floating": "_bsy-lexical-editor--
|
|
2714
|
-
"bsy-lexical-editor--sticky-toolbar": "_bsy-lexical-editor--sticky-
|
|
2715
|
-
"bsy-lexical-editor__body": "_bsy-lexical-
|
|
2716
|
-
"bsy-lexical-editor__body--fixed": "_bsy-lexical-editor__body--
|
|
2717
|
-
"bsy-lexical-editor__editable-wrap": "_bsy-lexical-editor__editable-
|
|
2718
|
-
"bsy-lexical-editor__content-editable": "_bsy-lexical-editor__content-
|
|
2719
|
-
"bsy-lexical-editor__length-badge": "_bsy-lexical-editor__length-
|
|
2720
|
-
"bsy-lexical-editor__length-badge--exceeded": "_bsy-lexical-editor__length-badge--
|
|
2721
|
-
},
|
|
2736
|
+
"bsy-lexical-editor": "_bsy-lexical-editor_1h7xb_2",
|
|
2737
|
+
"bsy-lexical-editor--floating": "_bsy-lexical-editor--floating_1h7xb_10",
|
|
2738
|
+
"bsy-lexical-editor--sticky-toolbar": "_bsy-lexical-editor--sticky-toolbar_1h7xb_10",
|
|
2739
|
+
"bsy-lexical-editor__body": "_bsy-lexical-editor__body_1h7xb_13",
|
|
2740
|
+
"bsy-lexical-editor__body--fixed": "_bsy-lexical-editor__body--fixed_1h7xb_18",
|
|
2741
|
+
"bsy-lexical-editor__editable-wrap": "_bsy-lexical-editor__editable-wrap_1h7xb_21",
|
|
2742
|
+
"bsy-lexical-editor__content-editable": "_bsy-lexical-editor__content-editable_1h7xb_31",
|
|
2743
|
+
"bsy-lexical-editor__length-badge": "_bsy-lexical-editor__length-badge_1h7xb_51",
|
|
2744
|
+
"bsy-lexical-editor__length-badge--exceeded": "_bsy-lexical-editor__length-badge--exceeded_1h7xb_63"
|
|
2745
|
+
}, Fa = (e) => {
|
|
2722
2746
|
if (!(e === void 0 || e === "")) return typeof e == "number" ? `${e}px` : e;
|
|
2723
|
-
},
|
|
2747
|
+
}, Ia = (e) => {
|
|
2724
2748
|
let t = {};
|
|
2725
|
-
return e ? (s(t, "--bsy-editor-container-border-color", e.borderColor), s(t, "--bsy-editor-container-border-width",
|
|
2726
|
-
},
|
|
2749
|
+
return e ? (s(t, "--bsy-editor-container-border-color", e.borderColor), s(t, "--bsy-editor-container-border-width", Fa(e.borderWidth)), s(t, "--bsy-editor-container-border-radius", Fa(e.borderRadius)), s(t, "--bsy-editor-container-bg", e.bgColor), t) : t;
|
|
2750
|
+
}, La = class e extends ot {
|
|
2727
2751
|
constructor(e, t) {
|
|
2728
2752
|
super(e, t);
|
|
2729
2753
|
}
|
|
@@ -2734,37 +2758,37 @@ var wa = (e, t, n) => {
|
|
|
2734
2758
|
return new e(t.__text, t.__key);
|
|
2735
2759
|
}
|
|
2736
2760
|
static importDOM() {
|
|
2737
|
-
let e =
|
|
2761
|
+
let e = ot.importDOM();
|
|
2738
2762
|
return {
|
|
2739
2763
|
...e,
|
|
2740
2764
|
code: () => ({
|
|
2741
|
-
conversion:
|
|
2765
|
+
conversion: za(e?.code),
|
|
2742
2766
|
priority: 1
|
|
2743
2767
|
}),
|
|
2744
2768
|
em: () => ({
|
|
2745
|
-
conversion:
|
|
2769
|
+
conversion: za(e?.em),
|
|
2746
2770
|
priority: 1
|
|
2747
2771
|
}),
|
|
2748
2772
|
span: () => ({
|
|
2749
|
-
conversion:
|
|
2773
|
+
conversion: za(e?.span),
|
|
2750
2774
|
priority: 1
|
|
2751
2775
|
}),
|
|
2752
2776
|
strong: () => ({
|
|
2753
|
-
conversion:
|
|
2777
|
+
conversion: za(e?.strong),
|
|
2754
2778
|
priority: 1
|
|
2755
2779
|
}),
|
|
2756
2780
|
sub: () => ({
|
|
2757
|
-
conversion:
|
|
2781
|
+
conversion: za(e?.sub),
|
|
2758
2782
|
priority: 1
|
|
2759
2783
|
}),
|
|
2760
2784
|
sup: () => ({
|
|
2761
|
-
conversion:
|
|
2785
|
+
conversion: za(e?.sup),
|
|
2762
2786
|
priority: 1
|
|
2763
2787
|
})
|
|
2764
2788
|
};
|
|
2765
2789
|
}
|
|
2766
2790
|
static importJSON(e) {
|
|
2767
|
-
return
|
|
2791
|
+
return Ra().updateFromJSON(e);
|
|
2768
2792
|
}
|
|
2769
2793
|
isSimpleText() {
|
|
2770
2794
|
return this.__type === "extended-text" && this.__mode === 0;
|
|
@@ -2781,10 +2805,10 @@ var wa = (e, t, n) => {
|
|
|
2781
2805
|
(this.hasFormat("underline") || this.hasFormat("strikethrough")) && e.style.removeProperty("text-decoration");
|
|
2782
2806
|
}
|
|
2783
2807
|
};
|
|
2784
|
-
function
|
|
2785
|
-
return
|
|
2808
|
+
function Ra(e = "") {
|
|
2809
|
+
return _e(new La(e));
|
|
2786
2810
|
}
|
|
2787
|
-
function
|
|
2811
|
+
function za(e) {
|
|
2788
2812
|
return (t) => {
|
|
2789
2813
|
let n = e?.(t);
|
|
2790
2814
|
if (!n) return null;
|
|
@@ -2795,7 +2819,7 @@ function Ia(e) {
|
|
|
2795
2819
|
...r,
|
|
2796
2820
|
forChild: (e, t) => {
|
|
2797
2821
|
let n = (r?.forChild ?? ((e) => e))(e, t);
|
|
2798
|
-
if (
|
|
2822
|
+
if (je(n)) {
|
|
2799
2823
|
let e = [
|
|
2800
2824
|
i ? `background-color: ${i}` : null,
|
|
2801
2825
|
a ? `color: ${a}` : null,
|
|
@@ -2812,86 +2836,92 @@ function Ia(e) {
|
|
|
2812
2836
|
}
|
|
2813
2837
|
//#endregion
|
|
2814
2838
|
//#region src/components/Editor/utils/stripInlineStyleProperty.ts
|
|
2815
|
-
function
|
|
2839
|
+
function Ba(e, t) {
|
|
2816
2840
|
return e.split(";").map((e) => e.trim()).filter((e) => e && e.split(":")[0].trim().toLowerCase() !== t).join("; ");
|
|
2817
2841
|
}
|
|
2842
|
+
function Va(e, t) {
|
|
2843
|
+
return e.split(";").some((e) => {
|
|
2844
|
+
let n = e.trim().split(":")[0]?.trim().toLowerCase();
|
|
2845
|
+
return !!n && n === t;
|
|
2846
|
+
});
|
|
2847
|
+
}
|
|
2818
2848
|
//#endregion
|
|
2819
2849
|
//#region src/components/Editor/plugins/LinkColorPlugin.tsx
|
|
2820
|
-
function
|
|
2821
|
-
if (!H(e,
|
|
2850
|
+
function Ha(e) {
|
|
2851
|
+
if (!H(e, pt)) return;
|
|
2822
2852
|
let t = e.getStyle();
|
|
2823
2853
|
if (!t) return;
|
|
2824
|
-
let n =
|
|
2854
|
+
let n = Ba(t, "color");
|
|
2825
2855
|
n !== t && e.setStyle(n);
|
|
2826
2856
|
}
|
|
2827
|
-
function
|
|
2828
|
-
let [e] =
|
|
2829
|
-
return O(() => e.registerNodeTransform(
|
|
2857
|
+
function Ua() {
|
|
2858
|
+
let [e] = z();
|
|
2859
|
+
return O(() => e.registerNodeTransform(La, Ha), [e]), null;
|
|
2830
2860
|
}
|
|
2831
2861
|
//#endregion
|
|
2832
2862
|
//#region src/components/Editor/plugins/ImagePlugin.tsx
|
|
2833
|
-
function
|
|
2834
|
-
let [e] =
|
|
2835
|
-
return O(() => e.registerCommand(
|
|
2863
|
+
function Wa() {
|
|
2864
|
+
let [e] = z();
|
|
2865
|
+
return O(() => e.registerCommand(Mr, (e) => (Te([sn(e)]), !0), Be), [e]), null;
|
|
2836
2866
|
}
|
|
2837
2867
|
//#endregion
|
|
2838
2868
|
//#region src/components/Editor/utils/stripImagesFromHtml.ts
|
|
2839
|
-
function
|
|
2869
|
+
function Ga(e) {
|
|
2840
2870
|
let t = new DOMParser().parseFromString(e, "text/html");
|
|
2841
2871
|
return t.querySelectorAll("img, picture").forEach((e) => e.remove()), t.body.innerHTML;
|
|
2842
2872
|
}
|
|
2843
2873
|
//#endregion
|
|
2844
2874
|
//#region src/components/Editor/plugins/PasteStripImagePlugin.tsx
|
|
2845
|
-
var
|
|
2846
|
-
function
|
|
2847
|
-
let [e] =
|
|
2875
|
+
var Ka = /<img\b|<picture\b/i;
|
|
2876
|
+
function qa() {
|
|
2877
|
+
let [e] = z(), { isSourceModeRef: t } = Jr();
|
|
2848
2878
|
return O(() => {
|
|
2849
2879
|
let n = (n) => {
|
|
2850
2880
|
if (t.current) return !1;
|
|
2851
2881
|
let r = "clipboardData" in n ? n.clipboardData : "dataTransfer" in n ? n.dataTransfer : null;
|
|
2852
2882
|
if (!r || r.getData("application/x-lexical-editor") || r.getData("application/x-lexical-drag")) return !1;
|
|
2853
2883
|
let i = r.getData("text/html");
|
|
2854
|
-
if (!(Array.from(r.files).some((e) => e.type.startsWith("image/")) || Array.from(r.items).some((e) => e.type.startsWith("image/")) ||
|
|
2884
|
+
if (!(Array.from(r.files).some((e) => e.type.startsWith("image/")) || Array.from(r.items).some((e) => e.type.startsWith("image/")) || Ka.test(i))) return !1;
|
|
2855
2885
|
n.preventDefault();
|
|
2856
2886
|
let a = r.getData("text/plain");
|
|
2857
|
-
return !
|
|
2858
|
-
let t =
|
|
2887
|
+
return !Ka.test(i) && !a || e.update(() => {
|
|
2888
|
+
let t = L();
|
|
2859
2889
|
if (t === null) return;
|
|
2860
|
-
let n = i ?
|
|
2890
|
+
let n = i ? Ga(i) : "", r = document.createElement("div");
|
|
2861
2891
|
if (r.innerHTML = n, n && r.textContent?.trim()) {
|
|
2862
|
-
let t =
|
|
2892
|
+
let t = ge(e, new DOMParser().parseFromString(n, "text/html"));
|
|
2863
2893
|
if (t.length) {
|
|
2864
|
-
|
|
2894
|
+
Te(t);
|
|
2865
2895
|
return;
|
|
2866
2896
|
}
|
|
2867
2897
|
}
|
|
2868
2898
|
a && t.insertRawText(a);
|
|
2869
|
-
}, { tag:
|
|
2899
|
+
}, { tag: nt }), !0;
|
|
2870
2900
|
};
|
|
2871
|
-
return
|
|
2901
|
+
return $t(e.registerCommand(tt, (e) => n(e), Ve), e.registerCommand(Ge, (e) => n(e), Ve));
|
|
2872
2902
|
}, [e, t]), null;
|
|
2873
2903
|
}
|
|
2874
2904
|
//#endregion
|
|
2875
2905
|
//#region src/components/Editor/utils/tryResetEmptyBlockFormat.ts
|
|
2876
|
-
function
|
|
2877
|
-
let e =
|
|
2878
|
-
if (!
|
|
2906
|
+
function Ja() {
|
|
2907
|
+
let e = L();
|
|
2908
|
+
if (!R(e) || !e.isCollapsed()) return !1;
|
|
2879
2909
|
let t = e.anchor.getNode();
|
|
2880
|
-
if (H(t, (e) =>
|
|
2910
|
+
if (H(t, (e) => B(e) || V(e) || Lt(e))) return !1;
|
|
2881
2911
|
let n = t.getTopLevelElement();
|
|
2882
|
-
if (!
|
|
2883
|
-
let r =
|
|
2884
|
-
return n.replace(r), r.select(),
|
|
2912
|
+
if (!Oe(n) || n.getTextContent().trim() !== "" || !(e.format !== 0 || e.style.trim() !== "" || n.getAllTextNodes().some((e) => e.getFormat() !== 0 || e.getStyle() !== ""))) return !1;
|
|
2913
|
+
let r = ye();
|
|
2914
|
+
return n.replace(r), r.select(), Zr(), !0;
|
|
2885
2915
|
}
|
|
2886
2916
|
//#endregion
|
|
2887
2917
|
//#region src/components/Editor/plugins/EnterKeyPlugin.tsx
|
|
2888
|
-
function
|
|
2889
|
-
let [e] =
|
|
2890
|
-
return O(() => e.registerCommand(
|
|
2918
|
+
function Ya() {
|
|
2919
|
+
let [e] = z();
|
|
2920
|
+
return O(() => e.registerCommand(Qe, (e) => e?.shiftKey ? !1 : Ja() ? (e?.preventDefault(), !0) : !1, He), [e]), null;
|
|
2891
2921
|
}
|
|
2892
2922
|
//#endregion
|
|
2893
2923
|
//#region src/components/Editor/utils/codeHighlighter.ts
|
|
2894
|
-
var
|
|
2924
|
+
var Xa = {
|
|
2895
2925
|
css: () => import("@shikijs/langs/css"),
|
|
2896
2926
|
html: () => import("@shikijs/langs/html"),
|
|
2897
2927
|
xml: () => import("@shikijs/langs/xml"),
|
|
@@ -2912,53 +2942,53 @@ var Ka = {
|
|
|
2912
2942
|
bash: () => import("@shikijs/langs/shellscript"),
|
|
2913
2943
|
lua: () => import("@shikijs/langs/lua"),
|
|
2914
2944
|
markdown: () => import("@shikijs/langs/markdown")
|
|
2915
|
-
},
|
|
2945
|
+
}, Za = (e) => e === "bash" ? "shellscript" : e, Qa = (e) => e in Xa, $a = null, eo = null, to = /* @__PURE__ */ new Map(), no = () => ($a ||= Promise.all([import("@shikijs/core"), import("@shikijs/engine-javascript")]).then(([{ createHighlighterCoreSync: e }, { createJavaScriptRegexEngine: t }]) => e({
|
|
2916
2946
|
engine: t(),
|
|
2917
2947
|
langs: [],
|
|
2918
2948
|
themes: []
|
|
2919
2949
|
})).catch((e) => {
|
|
2920
|
-
throw
|
|
2921
|
-
}),
|
|
2922
|
-
let t =
|
|
2923
|
-
return t || (t =
|
|
2924
|
-
let n =
|
|
2950
|
+
throw $a = null, e;
|
|
2951
|
+
}), $a), ro = (e, t) => Qa(t) && e.getLoadedLanguages().includes(Za(t)), io = (e) => {
|
|
2952
|
+
let t = to.get(e);
|
|
2953
|
+
return t || (t = no().then(async (t) => {
|
|
2954
|
+
let n = Za(e);
|
|
2925
2955
|
if (!t.getLoadedLanguages().includes(n)) {
|
|
2926
|
-
let n = await
|
|
2956
|
+
let n = await Xa[e]();
|
|
2927
2957
|
await t.loadLanguage(n.default);
|
|
2928
2958
|
}
|
|
2929
2959
|
return t;
|
|
2930
2960
|
}).catch((t) => {
|
|
2931
|
-
throw
|
|
2932
|
-
}),
|
|
2933
|
-
},
|
|
2961
|
+
throw to.delete(e), t;
|
|
2962
|
+
}), to.set(e, t)), t;
|
|
2963
|
+
}, ao = () => (eo ||= no().then(async (e) => {
|
|
2934
2964
|
if (!e.getLoadedThemes().includes("github-light")) {
|
|
2935
2965
|
let t = await import("@shikijs/themes/github-light");
|
|
2936
2966
|
await e.loadTheme(t.default);
|
|
2937
2967
|
}
|
|
2938
2968
|
return e;
|
|
2939
2969
|
}).catch((e) => {
|
|
2940
|
-
throw
|
|
2941
|
-
}),
|
|
2970
|
+
throw eo = null, e;
|
|
2971
|
+
}), eo), oo = (e, t, n) => {
|
|
2942
2972
|
let r = e.getTextContent();
|
|
2943
|
-
if (e.getStyle() && e.setStyle(""), !n ||
|
|
2944
|
-
let i =
|
|
2973
|
+
if (e.getStyle() && e.setStyle(""), !n || !ro(n, t)) return Dt(r);
|
|
2974
|
+
let i = Za(t), a = n.codeToTokens(r, {
|
|
2945
2975
|
lang: i,
|
|
2946
|
-
theme:
|
|
2976
|
+
theme: An
|
|
2947
2977
|
}), o = [];
|
|
2948
2978
|
return a.tokens.forEach((e, t) => {
|
|
2949
|
-
t && o.push(
|
|
2979
|
+
t && o.push(ve()), e.forEach((e) => {
|
|
2950
2980
|
e.content.split(" ").forEach((t, n) => {
|
|
2951
|
-
if (n && o.push(
|
|
2952
|
-
let r =
|
|
2981
|
+
if (n && o.push(be()), t === "") return;
|
|
2982
|
+
let r = wt(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}` : "";
|
|
2953
2983
|
i && r.setStyle(i), o.push(r);
|
|
2954
2984
|
});
|
|
2955
2985
|
});
|
|
2956
2986
|
}), o;
|
|
2957
|
-
},
|
|
2958
|
-
let n =
|
|
2987
|
+
}, so = (e, t) => {
|
|
2988
|
+
let n = Ce(e);
|
|
2959
2989
|
if (!V(n) || !n.isAttached()) return;
|
|
2960
|
-
let r =
|
|
2961
|
-
if (!
|
|
2990
|
+
let r = L();
|
|
2991
|
+
if (!R(r)) {
|
|
2962
2992
|
t();
|
|
2963
2993
|
return;
|
|
2964
2994
|
}
|
|
@@ -2967,15 +2997,15 @@ var Ka = {
|
|
|
2967
2997
|
t();
|
|
2968
2998
|
return;
|
|
2969
2999
|
}
|
|
2970
|
-
let a = i.offset, o = i.type === "element" &&
|
|
3000
|
+
let a = i.offset, o = i.type === "element" && De(n.getChildAtIndex(i.offset - 1)), s = 0;
|
|
2971
3001
|
if (o || (s = a + i.getNode().getPreviousSiblings().reduce((e, t) => e + t.getTextContentSize(), 0)), t()) {
|
|
2972
3002
|
if (o) {
|
|
2973
3003
|
i.getNode().select(a, a);
|
|
2974
3004
|
return;
|
|
2975
3005
|
}
|
|
2976
3006
|
n.getChildren().some((e) => {
|
|
2977
|
-
let t =
|
|
2978
|
-
if (t ||
|
|
3007
|
+
let t = je(e);
|
|
3008
|
+
if (t || De(e)) {
|
|
2979
3009
|
let n = e.getTextContentSize();
|
|
2980
3010
|
if (t && n >= s) return e.select(s, s), !0;
|
|
2981
3011
|
s -= n;
|
|
@@ -2983,11 +3013,11 @@ var Ka = {
|
|
|
2983
3013
|
return !1;
|
|
2984
3014
|
});
|
|
2985
3015
|
}
|
|
2986
|
-
},
|
|
3016
|
+
}, co = (e, t) => Et(e) && Et(t) && e.__text === t.__text && e.__highlightType === t.__highlightType && e.__style === t.__style || Ae(e) && Ae(t) || De(e) && De(t), lo = (e, t) => {
|
|
2987
3017
|
let n = 0;
|
|
2988
|
-
for (; n < e.length &&
|
|
3018
|
+
for (; n < e.length && co(e[n], t[n]);) n++;
|
|
2989
3019
|
let r = e.length, i = t.length, a = Math.min(r, i) - n, o = 0;
|
|
2990
|
-
for (; o < a;) if (o++, !
|
|
3020
|
+
for (; o < a;) if (o++, !co(e[r - o], t[i - o])) {
|
|
2991
3021
|
o--;
|
|
2992
3022
|
break;
|
|
2993
3023
|
}
|
|
@@ -2996,21 +3026,21 @@ var Ka = {
|
|
|
2996
3026
|
to: r - o,
|
|
2997
3027
|
nodesForReplacement: t.slice(n, i - o)
|
|
2998
3028
|
};
|
|
2999
|
-
},
|
|
3000
|
-
let a = i.getKey(), o =
|
|
3029
|
+
}, uo = (e, t, n, r, i) => {
|
|
3030
|
+
let a = i.getKey(), o = Nn(i.getLanguage());
|
|
3001
3031
|
if (i.getLanguage() !== o && i.setLanguage(o), o === "plaintext") i.getIsSyntaxHighlightSupported() && i.setIsSyntaxHighlightSupported(!1);
|
|
3002
3032
|
else {
|
|
3003
|
-
i.getTheme() !== "github-light" && i.setTheme(
|
|
3004
|
-
let s = t ? t.getLoadedThemes().includes("github-light") ?
|
|
3033
|
+
i.getTheme() !== "github-light" && i.setTheme(An);
|
|
3034
|
+
let s = t ? t.getLoadedThemes().includes("github-light") ? Qa(o) && !ro(t, o) ? io(o) : null : ao() : no();
|
|
3005
3035
|
if (s) {
|
|
3006
3036
|
i.getIsSyntaxHighlightSupported() && i.setIsSyntaxHighlightSupported(!1), n.pendingKeys.add(a), n.loading !== s && (n.loading = s, s.then((t) => {
|
|
3007
3037
|
r(t);
|
|
3008
3038
|
let i = [...n.pendingKeys];
|
|
3009
3039
|
n.pendingKeys.clear(), n.loading = null, e.update(() => {
|
|
3010
3040
|
i.forEach((e) => {
|
|
3011
|
-
|
|
3041
|
+
Ce(e)?.markDirty();
|
|
3012
3042
|
});
|
|
3013
|
-
}, { tag:
|
|
3043
|
+
}, { tag: Xe });
|
|
3014
3044
|
}, () => {
|
|
3015
3045
|
n.pendingKeys.clear(), n.loading = null;
|
|
3016
3046
|
}));
|
|
@@ -3018,22 +3048,22 @@ var Ka = {
|
|
|
3018
3048
|
}
|
|
3019
3049
|
i.getIsSyntaxHighlightSupported() || i.setIsSyntaxHighlightSupported(!0);
|
|
3020
3050
|
}
|
|
3021
|
-
n.nodesCurrentlyHighlighting.has(a) || (n.nodesCurrentlyHighlighting.add(a), n.didTransform || (n.didTransform = !0,
|
|
3051
|
+
n.nodesCurrentlyHighlighting.has(a) || (n.nodesCurrentlyHighlighting.add(a), n.didTransform || (n.didTransform = !0, Ne(() => {
|
|
3022
3052
|
n.didTransform = !1, n.nodesCurrentlyHighlighting.clear();
|
|
3023
|
-
})),
|
|
3024
|
-
let e =
|
|
3053
|
+
})), so(a, () => {
|
|
3054
|
+
let e = Ce(a);
|
|
3025
3055
|
if (!V(e) || !e.isAttached()) return !1;
|
|
3026
|
-
let n =
|
|
3056
|
+
let n = oo(e, Nn(e.getLanguage()), t), { from: r, to: i, nodesForReplacement: o } = lo(e.getChildren(), n);
|
|
3027
3057
|
return r !== i || o.length ? (e.splice(r, i - r, o), !0) : !1;
|
|
3028
3058
|
}));
|
|
3029
|
-
},
|
|
3059
|
+
}, fo = (e, t, n, r, i) => {
|
|
3030
3060
|
let a = i.getParent();
|
|
3031
|
-
V(a) ?
|
|
3061
|
+
V(a) ? uo(e, t, n, r, a) : Et(i) && i.replace(xe(i.__text));
|
|
3032
3062
|
};
|
|
3033
|
-
function
|
|
3034
|
-
let [e] =
|
|
3063
|
+
function po() {
|
|
3064
|
+
let [e] = z();
|
|
3035
3065
|
return O(() => {
|
|
3036
|
-
if (!e.hasNodes([
|
|
3066
|
+
if (!e.hasNodes([kt, Ot])) throw Error("CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor");
|
|
3037
3067
|
let t = null, n = {
|
|
3038
3068
|
didTransform: !1,
|
|
3039
3069
|
nodesCurrentlyHighlighting: /* @__PURE__ */ new Set(),
|
|
@@ -3042,7 +3072,7 @@ function co() {
|
|
|
3042
3072
|
}, r = (e) => {
|
|
3043
3073
|
t = e;
|
|
3044
3074
|
}, i = (e) => {
|
|
3045
|
-
let t =
|
|
3075
|
+
let t = Ce(e);
|
|
3046
3076
|
if (!V(t)) return;
|
|
3047
3077
|
let n = t.getChildrenSize();
|
|
3048
3078
|
n === 0 ? t.selectStart() : t.select(0, n);
|
|
@@ -3050,7 +3080,7 @@ function co() {
|
|
|
3050
3080
|
if (!(t instanceof Node) || !e.getRootElement()?.contains(t)) return null;
|
|
3051
3081
|
let n = null;
|
|
3052
3082
|
return e.getEditorState().read(() => {
|
|
3053
|
-
let e =
|
|
3083
|
+
let e = Se(t), r = e ? H(e, V) : null;
|
|
3054
3084
|
V(r) && (n = r.getKey());
|
|
3055
3085
|
}, { editor: e }), n;
|
|
3056
3086
|
}, o = null, s = (t, n, r) => {
|
|
@@ -3073,12 +3103,12 @@ function co() {
|
|
|
3073
3103
|
}, d = (e, t) => {
|
|
3074
3104
|
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);
|
|
3075
3105
|
};
|
|
3076
|
-
return
|
|
3077
|
-
|
|
3078
|
-
}), e.registerNodeTransform(
|
|
3079
|
-
|
|
3080
|
-
}), e.registerNodeTransform(
|
|
3081
|
-
|
|
3106
|
+
return ut(At(e), e.registerNodeTransform(kt, (i) => {
|
|
3107
|
+
uo(e, t, n, r, i);
|
|
3108
|
+
}), e.registerNodeTransform(ot, (i) => {
|
|
3109
|
+
fo(e, t, n, r, i);
|
|
3110
|
+
}), e.registerNodeTransform(Ot, (i) => {
|
|
3111
|
+
fo(e, t, n, r, i);
|
|
3082
3112
|
}), e.registerRootListener(d), () => {
|
|
3083
3113
|
d(null, e.getRootElement());
|
|
3084
3114
|
});
|
|
@@ -3086,23 +3116,23 @@ function co() {
|
|
|
3086
3116
|
}
|
|
3087
3117
|
//#endregion
|
|
3088
3118
|
//#region src/components/Editor/plugins/TablePlugin.tsx
|
|
3089
|
-
function
|
|
3090
|
-
let [e] =
|
|
3091
|
-
return O(() => (
|
|
3119
|
+
function mo() {
|
|
3120
|
+
let [e] = z();
|
|
3121
|
+
return O(() => (qt(e, !0), $t(Gt(e), Kt(e, !1), Wt(e), e.registerNodeTransform(Vt, (e) => {
|
|
3092
3122
|
e.getBackgroundColor() !== null && e.setBackgroundColor(null);
|
|
3093
|
-
}), e.registerCommand(
|
|
3094
|
-
let t =
|
|
3095
|
-
if (!
|
|
3096
|
-
let n =
|
|
3123
|
+
}), e.registerCommand($e, (e) => {
|
|
3124
|
+
let t = L();
|
|
3125
|
+
if (!R(t) || !t.isCollapsed()) return !1;
|
|
3126
|
+
let n = Ft(t.anchor.getNode());
|
|
3097
3127
|
if (n === null) return !1;
|
|
3098
3128
|
let r = e.shiftKey ? "previous" : "next", i = r === "next" ? "getNextSibling" : "getPreviousSibling", a = r === "next" ? "getFirstChild" : "getLastChild", o = n[i](), s = null;
|
|
3099
|
-
if (
|
|
3129
|
+
if (It(o)) s = o;
|
|
3100
3130
|
else {
|
|
3101
|
-
let e = H(n,
|
|
3131
|
+
let e = H(n, Rt);
|
|
3102
3132
|
if (e !== null) for (let t = e[i](); t !== null; t = t[i]()) {
|
|
3103
|
-
if (!
|
|
3133
|
+
if (!Rt(t)) continue;
|
|
3104
3134
|
let e = t[a]();
|
|
3105
|
-
if (
|
|
3135
|
+
if (It(e)) {
|
|
3106
3136
|
s = e;
|
|
3107
3137
|
break;
|
|
3108
3138
|
}
|
|
@@ -3112,76 +3142,76 @@ function lo() {
|
|
|
3112
3142
|
let e = s.getFirstDescendant();
|
|
3113
3143
|
e ? e.selectStart() : s.selectStart();
|
|
3114
3144
|
} else {
|
|
3115
|
-
let e = H(n,
|
|
3145
|
+
let e = H(n, Lt);
|
|
3116
3146
|
e && (r === "next" ? e.selectNext() : e.selectPrevious());
|
|
3117
3147
|
}
|
|
3118
3148
|
return !0;
|
|
3119
|
-
},
|
|
3149
|
+
}, Ve))), [e]), null;
|
|
3120
3150
|
}
|
|
3121
3151
|
//#endregion
|
|
3122
3152
|
//#region src/components/Editor/utils/clampElementIndent.ts
|
|
3123
|
-
var
|
|
3153
|
+
var ho = (e) => {
|
|
3124
3154
|
let t = e.getIndent();
|
|
3125
3155
|
t < 8 && e.setIndent(t + 1);
|
|
3126
|
-
},
|
|
3156
|
+
}, go = (e) => {
|
|
3127
3157
|
let t = e.getIndent();
|
|
3128
3158
|
if (t > 8) {
|
|
3129
3159
|
e.setIndent(8);
|
|
3130
3160
|
return;
|
|
3131
3161
|
}
|
|
3132
3162
|
t < 0 && e.setIndent(0);
|
|
3133
|
-
},
|
|
3134
|
-
function
|
|
3135
|
-
let [e] =
|
|
3136
|
-
return O(() => e.registerCommand(
|
|
3163
|
+
}, _o = "\xA0".repeat(4);
|
|
3164
|
+
function vo() {
|
|
3165
|
+
let [e] = z();
|
|
3166
|
+
return O(() => e.registerCommand($e, (t) => {
|
|
3137
3167
|
if (t.shiftKey) return !1;
|
|
3138
|
-
let n =
|
|
3139
|
-
if (!
|
|
3168
|
+
let n = L();
|
|
3169
|
+
if (!R(n)) return !1;
|
|
3140
3170
|
let r = n.anchor.getNode();
|
|
3141
|
-
if (
|
|
3171
|
+
if (Ft(r) !== null || H(r, V)) return !1;
|
|
3142
3172
|
t.preventDefault();
|
|
3143
|
-
let i = H(r,
|
|
3144
|
-
if (
|
|
3173
|
+
let i = H(r, B);
|
|
3174
|
+
if (B(i)) {
|
|
3145
3175
|
let e = new Set([i]);
|
|
3146
3176
|
for (let t of n.getNodes()) {
|
|
3147
|
-
let n = H(t,
|
|
3148
|
-
|
|
3177
|
+
let n = H(t, B);
|
|
3178
|
+
B(n) && e.add(n);
|
|
3149
3179
|
}
|
|
3150
|
-
for (let t of e)
|
|
3180
|
+
for (let t of e) ho(t);
|
|
3151
3181
|
return !0;
|
|
3152
3182
|
}
|
|
3153
3183
|
let a = r.getTopLevelElement(), o = n.focus.getNode().getTopLevelElement();
|
|
3154
|
-
return !n.isCollapsed() && a && o && a !== o ? e.dispatchCommand(
|
|
3155
|
-
},
|
|
3184
|
+
return !n.isCollapsed() && a && o && a !== o ? e.dispatchCommand(Ze, void 0) : (n.insertText(_o), !0);
|
|
3185
|
+
}, Be), [e]), null;
|
|
3156
3186
|
}
|
|
3157
3187
|
//#endregion
|
|
3158
3188
|
//#region src/components/Editor/plugins/IndentLimitPlugin.tsx
|
|
3159
|
-
function
|
|
3160
|
-
let [e] =
|
|
3161
|
-
return O(() =>
|
|
3189
|
+
function yo() {
|
|
3190
|
+
let [e] = z();
|
|
3191
|
+
return O(() => $t(e.registerCommand(Ze, () => Zt(ho), Ve), e.registerNodeTransform(rt, go), e.registerNodeTransform(Xt, go), e.registerNodeTransform(xt, go)), [e]), null;
|
|
3162
3192
|
}
|
|
3163
3193
|
//#endregion
|
|
3164
3194
|
//#region src/components/Editor/plugins/MaxLengthPlugin.tsx
|
|
3165
|
-
function
|
|
3166
|
-
let [n] =
|
|
3195
|
+
function bo({ maxLength: e, onMaxLengthExceed: t }) {
|
|
3196
|
+
let [n] = z(), { isSourceModeRef: r } = Jr(), i = j(t);
|
|
3167
3197
|
return i.current = t, O(() => {
|
|
3168
3198
|
let t = null;
|
|
3169
|
-
return n.registerNodeTransform(
|
|
3199
|
+
return n.registerNodeTransform(at, (a) => {
|
|
3170
3200
|
if (r.current) return;
|
|
3171
3201
|
let o = a.getTextContentSize();
|
|
3172
3202
|
if (o <= e) return;
|
|
3173
|
-
let s = n.getEditorState(), c = s.read(() => a.getTextContentSize()), l = o - e, u =
|
|
3203
|
+
let s = n.getEditorState(), c = s.read(() => a.getTextContentSize()), l = o - e, u = L();
|
|
3174
3204
|
if (c === e && t !== s) {
|
|
3175
|
-
t = s,
|
|
3205
|
+
t = s, Qt(n, s), i.current?.();
|
|
3176
3206
|
return;
|
|
3177
3207
|
}
|
|
3178
|
-
if (
|
|
3179
|
-
|
|
3208
|
+
if (R(u) && u.isCollapsed()) {
|
|
3209
|
+
Pt(n, u.anchor, l), i.current?.();
|
|
3180
3210
|
return;
|
|
3181
3211
|
}
|
|
3182
3212
|
a.selectEnd();
|
|
3183
|
-
let d =
|
|
3184
|
-
|
|
3213
|
+
let d = L();
|
|
3214
|
+
R(d) && (Pt(n, d.anchor, l), i.current?.());
|
|
3185
3215
|
});
|
|
3186
3216
|
}, [
|
|
3187
3217
|
n,
|
|
@@ -3191,19 +3221,19 @@ function go({ maxLength: e, onMaxLengthExceed: t }) {
|
|
|
3191
3221
|
}
|
|
3192
3222
|
//#endregion
|
|
3193
3223
|
//#region src/components/Editor/utils/textLength.ts
|
|
3194
|
-
function
|
|
3224
|
+
function xo(e) {
|
|
3195
3225
|
return typeof e == "number" && Number.isFinite(e) && e > 0;
|
|
3196
3226
|
}
|
|
3197
|
-
function
|
|
3198
|
-
let n =
|
|
3227
|
+
function So(e, t) {
|
|
3228
|
+
let n = I(), r = n.getTextContentSize();
|
|
3199
3229
|
if (r <= t) return !1;
|
|
3200
3230
|
let i = r - t;
|
|
3201
3231
|
n.selectEnd();
|
|
3202
|
-
let a =
|
|
3203
|
-
return
|
|
3232
|
+
let a = L();
|
|
3233
|
+
return R(a) ? Pt(e, a.anchor, i) : Co(i), !0;
|
|
3204
3234
|
}
|
|
3205
|
-
function
|
|
3206
|
-
let t = e, n =
|
|
3235
|
+
function Co(e) {
|
|
3236
|
+
let t = e, n = I().getAllTextNodes();
|
|
3207
3237
|
for (let e = n.length - 1; e >= 0 && t > 0; e--) {
|
|
3208
3238
|
let r = n[e], i = r.getTextContent();
|
|
3209
3239
|
i.length !== 0 && (i.length <= t ? (t -= i.length, r.remove()) : (r.setTextContent(i.slice(0, i.length - t)), t = 0));
|
|
@@ -3211,7 +3241,7 @@ function yo(e) {
|
|
|
3211
3241
|
}
|
|
3212
3242
|
//#endregion
|
|
3213
3243
|
//#region src/components/Editor/utils/formatEditorHtml.ts
|
|
3214
|
-
var
|
|
3244
|
+
var wo = new Set([
|
|
3215
3245
|
"area",
|
|
3216
3246
|
"base",
|
|
3217
3247
|
"br",
|
|
@@ -3226,65 +3256,65 @@ var bo = new Set([
|
|
|
3226
3256
|
"source",
|
|
3227
3257
|
"track",
|
|
3228
3258
|
"wbr"
|
|
3229
|
-
]),
|
|
3230
|
-
let r = e.tagName.toLowerCase(), i = `<${r}${
|
|
3231
|
-
if (
|
|
3232
|
-
let a = n || r === "pre", o =
|
|
3233
|
-
return a || !
|
|
3234
|
-
},
|
|
3259
|
+
]), To = 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(".")), Eo = 80, Do = (e) => e.replace(/&/g, "&").replace(/"/g, """), Oo = (e) => e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"), ko = (e) => Array.from(e.attributes).map((e) => ` ${e.name}="${Do(e.value)}"`).join(""), Ao = (e) => " ".repeat(e), jo = (e, t, n) => {
|
|
3260
|
+
let r = e.tagName.toLowerCase(), i = `<${r}${ko(e)}>`;
|
|
3261
|
+
if (wo.has(r)) return i;
|
|
3262
|
+
let a = n || r === "pre", o = Mo(e, t + 1, a), s = `</${r}>`;
|
|
3263
|
+
return a || !To.has(r) ? `${i}${o}${s}` : Array.from(e.children).some((e) => To.has(e.tagName.toLowerCase())) ? `${i}\n${Mo(e, t + 1, !1, !0)}\n${Ao(t)}${s}` : i.length + o.length + s.length > Eo ? `${i}\n${Ao(t + 1)}${o}\n${Ao(t)}${s}` : `${i}${o}${s}`;
|
|
3264
|
+
}, Mo = (e, t, n, r = !1) => {
|
|
3235
3265
|
let i = [];
|
|
3236
3266
|
for (let r of Array.from(e.childNodes)) {
|
|
3237
3267
|
if (r.nodeType === Node.TEXT_NODE) {
|
|
3238
3268
|
let e = r.textContent ?? "";
|
|
3239
3269
|
if (n) {
|
|
3240
|
-
i.push(
|
|
3270
|
+
i.push(Oo(e));
|
|
3241
3271
|
continue;
|
|
3242
3272
|
}
|
|
3243
|
-
e.trim() && i.push(
|
|
3273
|
+
e.trim() && i.push(Oo(e));
|
|
3244
3274
|
continue;
|
|
3245
3275
|
}
|
|
3246
3276
|
if (r.nodeType === Node.COMMENT_NODE) {
|
|
3247
3277
|
i.push(`<!--${r.data}-->`);
|
|
3248
3278
|
continue;
|
|
3249
3279
|
}
|
|
3250
|
-
r.nodeType === Node.ELEMENT_NODE && i.push(
|
|
3280
|
+
r.nodeType === Node.ELEMENT_NODE && i.push(jo(r, t, n));
|
|
3251
3281
|
}
|
|
3252
|
-
return n || !r ? i.join("") : i.map((e) => `${
|
|
3282
|
+
return n || !r ? i.join("") : i.map((e) => `${Ao(t)}${e}`).join("\n");
|
|
3253
3283
|
};
|
|
3254
|
-
function
|
|
3255
|
-
return e.trim() ?
|
|
3284
|
+
function No(e) {
|
|
3285
|
+
return e.trim() ? Mo(new DOMParser().parseFromString(na(e), "text/html").body, 0, !1, !0).trimEnd() : e;
|
|
3256
3286
|
}
|
|
3257
3287
|
//#endregion
|
|
3258
3288
|
//#region src/components/Editor/utils/writeHtmlSource.ts
|
|
3259
|
-
function
|
|
3260
|
-
|
|
3261
|
-
let t =
|
|
3262
|
-
if (
|
|
3289
|
+
function Po(e) {
|
|
3290
|
+
I().clear();
|
|
3291
|
+
let t = Tt("html");
|
|
3292
|
+
if (I().append(t), !e) return;
|
|
3263
3293
|
t.select();
|
|
3264
|
-
let n =
|
|
3265
|
-
|
|
3294
|
+
let n = L();
|
|
3295
|
+
R(n) && n.insertRawText(e);
|
|
3266
3296
|
}
|
|
3267
3297
|
//#endregion
|
|
3268
3298
|
//#region src/components/Editor/plugins/SourceModePlugin.tsx
|
|
3269
|
-
function
|
|
3270
|
-
let [r] =
|
|
3299
|
+
function Fo({ children: e, maxLength: t, onMaxLengthExceed: n }) {
|
|
3300
|
+
let [r] = z(), [i, a] = M(!1), o = j(!1), s = j(n);
|
|
3271
3301
|
s.current = n;
|
|
3272
|
-
let c =
|
|
3302
|
+
let c = xo(t) ? t : void 0, l = T(() => {
|
|
3273
3303
|
if (o.current) return;
|
|
3274
3304
|
let e = "", t = "";
|
|
3275
3305
|
r.getEditorState().read(() => {
|
|
3276
|
-
t =
|
|
3306
|
+
t = I().getTextContent(), e = he(r, null);
|
|
3277
3307
|
}, { editor: r });
|
|
3278
|
-
let n =
|
|
3308
|
+
let n = Oi(e, t) ? "" : X(e);
|
|
3279
3309
|
o.current = !0, a(!0), r.update(() => {
|
|
3280
|
-
|
|
3281
|
-
}), r.dispatchCommand(
|
|
3310
|
+
Po(No(n));
|
|
3311
|
+
}), r.dispatchCommand(Re, void 0);
|
|
3282
3312
|
}, [r]), u = T(() => {
|
|
3283
3313
|
if (!o.current) return;
|
|
3284
3314
|
let e = !1;
|
|
3285
3315
|
o.current = !1, r.update(() => {
|
|
3286
|
-
|
|
3287
|
-
}), a(!1), r.dispatchCommand(
|
|
3316
|
+
Di(r, X(I().getTextContent())), c !== void 0 && (e = So(r, c)), Fn(!0);
|
|
3317
|
+
}), a(!1), r.dispatchCommand(Re, void 0), e && s.current?.();
|
|
3288
3318
|
}, [r, c]), d = T(() => {
|
|
3289
3319
|
if (o.current) {
|
|
3290
3320
|
u();
|
|
@@ -3302,51 +3332,51 @@ function jo({ children: e, maxLength: t, onMaxLengthExceed: n }) {
|
|
|
3302
3332
|
if (!n) return !0;
|
|
3303
3333
|
let i = X(n);
|
|
3304
3334
|
return r.update(() => {
|
|
3305
|
-
let e =
|
|
3306
|
-
|
|
3307
|
-
}, { tag:
|
|
3335
|
+
let e = L();
|
|
3336
|
+
R(e) && i && e.insertRawText(i);
|
|
3337
|
+
}, { tag: nt }), !0;
|
|
3308
3338
|
};
|
|
3309
|
-
return
|
|
3339
|
+
return $t(r.registerNodeTransform(at, () => {
|
|
3310
3340
|
if (!o.current) return;
|
|
3311
|
-
let e =
|
|
3312
|
-
V(t) && t.getLanguage() === "html" ||
|
|
3313
|
-
}), r.registerCommand(
|
|
3341
|
+
let e = I(), t = e.getChildrenSize() === 1 ? e.getFirstChild() : null;
|
|
3342
|
+
V(t) && t.getLanguage() === "html" || Po(e.getTextContent());
|
|
3343
|
+
}), r.registerCommand(tt, e, ze), r.registerCommand(Ge, e, ze));
|
|
3314
3344
|
}, [r]);
|
|
3315
|
-
let f =
|
|
3345
|
+
let f = A(() => ({
|
|
3316
3346
|
isSourceMode: i,
|
|
3317
3347
|
isSourceModeRef: o,
|
|
3318
3348
|
toggleSourceMode: d
|
|
3319
3349
|
}), [i, d]);
|
|
3320
|
-
return /* @__PURE__ */ y(
|
|
3350
|
+
return /* @__PURE__ */ y(qr.Provider, {
|
|
3321
3351
|
value: f,
|
|
3322
3352
|
children: e
|
|
3323
3353
|
});
|
|
3324
3354
|
}
|
|
3325
3355
|
//#endregion
|
|
3326
3356
|
//#region src/components/Editor/plugins/HeadingPlugin.tsx
|
|
3327
|
-
function
|
|
3357
|
+
function Io(e) {
|
|
3328
3358
|
let t = e.getTag();
|
|
3329
3359
|
if (t === "h4" || t === "h5" || t === "h6") {
|
|
3330
|
-
e.replace(
|
|
3360
|
+
e.replace(ye(), !0);
|
|
3331
3361
|
return;
|
|
3332
3362
|
}
|
|
3333
3363
|
for (let t of e.getAllTextNodes()) {
|
|
3334
3364
|
let e = t.getStyle();
|
|
3335
3365
|
if (!e) continue;
|
|
3336
|
-
let n =
|
|
3366
|
+
let n = Ba(e, "font-size");
|
|
3337
3367
|
n !== e && t.setStyle(n);
|
|
3338
3368
|
}
|
|
3339
3369
|
}
|
|
3340
|
-
function
|
|
3341
|
-
let [e] =
|
|
3342
|
-
return O(() => e.registerNodeTransform(
|
|
3370
|
+
function Lo() {
|
|
3371
|
+
let [e] = z();
|
|
3372
|
+
return O(() => e.registerNodeTransform(Xt, Io), [e]), null;
|
|
3343
3373
|
}
|
|
3344
3374
|
//#endregion
|
|
3345
3375
|
//#region src/components/Editor/LengthBadge.tsx
|
|
3346
|
-
var
|
|
3376
|
+
var Ro = ({ current: e, maxLength: t }) => {
|
|
3347
3377
|
let n = e > t;
|
|
3348
3378
|
return /* @__PURE__ */ b("div", {
|
|
3349
|
-
className:
|
|
3379
|
+
className: P($["bsy-lexical-editor__length-badge"], n && $["bsy-lexical-editor__length-badge--exceeded"]),
|
|
3350
3380
|
"aria-live": "polite",
|
|
3351
3381
|
children: [
|
|
3352
3382
|
e,
|
|
@@ -3355,33 +3385,33 @@ var Po = ({ current: e, maxLength: t }) => {
|
|
|
3355
3385
|
]
|
|
3356
3386
|
});
|
|
3357
3387
|
};
|
|
3358
|
-
|
|
3388
|
+
Ro.displayName = "BsyLexicalEditorLengthBadge";
|
|
3359
3389
|
//#endregion
|
|
3360
3390
|
//#region src/components/Editor/utils/unwrapTypesetFence.ts
|
|
3361
|
-
var
|
|
3391
|
+
var zo = /^\uFEFF/, Bo = /^ {0,3}`{1,3}[A-Za-z]*$/, Vo = /^( {0,3})([^`<]*?)```[ \t]*([A-Za-z0-9_-]*)[ \t]*(.*)$/, Ho = /^ {0,3}```[ \t]*$/, Uo = /<\/?[a-zA-Z]/, Wo = /<[a-zA-Z!]/, Go = (e) => Wo.test(e), Ko = (e) => Uo.test(e), qo = (e) => e.replace(zo, "").replace(/\r\n/g, "\n"), Jo = (e) => {
|
|
3362
3392
|
let t = e.replace(/\n+$/, ""), n = t.lastIndexOf("\n"), r = n === -1 ? t : t.slice(n + 1);
|
|
3363
|
-
return
|
|
3393
|
+
return Bo.test(r) ? {
|
|
3364
3394
|
text: n === -1 ? "" : t.slice(0, n),
|
|
3365
3395
|
withheld: !0
|
|
3366
3396
|
} : {
|
|
3367
3397
|
text: e,
|
|
3368
3398
|
withheld: !1
|
|
3369
3399
|
};
|
|
3370
|
-
},
|
|
3371
|
-
let t =
|
|
3400
|
+
}, Yo = (e) => {
|
|
3401
|
+
let t = Vo.exec(e);
|
|
3372
3402
|
return t ? { sameLineBody: t[4] ?? "" } : null;
|
|
3373
|
-
},
|
|
3403
|
+
}, Xo = (e) => {
|
|
3374
3404
|
let t = e.replace(/[ \t]*```[ \t]*$/, "");
|
|
3375
3405
|
return t === e ? e : t;
|
|
3376
|
-
},
|
|
3406
|
+
}, Zo = (e) => Go(e) ? e.replace(/^\n/, "") : "", Qo = (e) => {
|
|
3377
3407
|
let t = e.split("\n"), n = [], r = 0;
|
|
3378
3408
|
for (; r < t.length;) {
|
|
3379
|
-
let e = t[r], i =
|
|
3409
|
+
let e = t[r], i = Yo(e);
|
|
3380
3410
|
if (i) {
|
|
3381
3411
|
let e = i.sameLineBody;
|
|
3382
|
-
if (e !==
|
|
3383
|
-
e =
|
|
3384
|
-
let i =
|
|
3412
|
+
if (e !== Xo(e)) {
|
|
3413
|
+
e = Xo(e);
|
|
3414
|
+
let i = Zo(t.slice(r + 1).join("\n"));
|
|
3385
3415
|
return [
|
|
3386
3416
|
...n,
|
|
3387
3417
|
e,
|
|
@@ -3389,38 +3419,38 @@ var Fo = /^\uFEFF/, Io = /^ {0,3}`{1,3}[A-Za-z]*$/, Lo = /^( {0,3})([^`<]*?)```[
|
|
|
3389
3419
|
].filter(Boolean).join("\n");
|
|
3390
3420
|
}
|
|
3391
3421
|
let a = [];
|
|
3392
|
-
for (e && a.push(e), r += 1; r < t.length && !
|
|
3393
|
-
let o = r < t.length ?
|
|
3422
|
+
for (e && a.push(e), r += 1; r < t.length && !Ho.test(t[r]);) a.push(t[r]), r += 1;
|
|
3423
|
+
let o = r < t.length ? Zo(t.slice(r + 1).join("\n")) : "";
|
|
3394
3424
|
return [
|
|
3395
3425
|
...n,
|
|
3396
3426
|
a.join("\n"),
|
|
3397
3427
|
o
|
|
3398
3428
|
].filter(Boolean).join("\n");
|
|
3399
3429
|
}
|
|
3400
|
-
if (
|
|
3401
|
-
|
|
3430
|
+
if (Ko(e)) return $o([...n, ...t.slice(r)].join("\n"));
|
|
3431
|
+
Go(e) && n.push(e), r += 1;
|
|
3402
3432
|
}
|
|
3403
3433
|
return n.length ? n.join("\n") : null;
|
|
3404
|
-
},
|
|
3434
|
+
}, $o = (e) => {
|
|
3405
3435
|
let t = e.split("\n");
|
|
3406
3436
|
if (!t.length) return e;
|
|
3407
|
-
let n =
|
|
3408
|
-
return n && !
|
|
3437
|
+
let n = Yo(t[0]);
|
|
3438
|
+
return n && !Ko(t[0].slice(0, t[0].indexOf("```"))) && (t.shift(), n.sameLineBody && t.unshift(Xo(n.sameLineBody))), t.length && Ho.test(t[t.length - 1] ?? "") && t.pop(), t.join("\n");
|
|
3409
3439
|
};
|
|
3410
|
-
function
|
|
3440
|
+
function es(e) {
|
|
3411
3441
|
if (!e) return {
|
|
3412
3442
|
html: "",
|
|
3413
3443
|
pending: !1
|
|
3414
3444
|
};
|
|
3415
|
-
let { text: t, withheld: n } =
|
|
3445
|
+
let { text: t, withheld: n } = Jo(qo(e));
|
|
3416
3446
|
if (!t.trim()) return {
|
|
3417
3447
|
html: "",
|
|
3418
|
-
pending: n ||
|
|
3448
|
+
pending: n || Bo.test(qo(e).trim())
|
|
3419
3449
|
};
|
|
3420
|
-
let r =
|
|
3450
|
+
let r = Qo(t) ?? t, i = Qo(r);
|
|
3421
3451
|
i !== null && i !== r && (r = i);
|
|
3422
3452
|
let a = r.trim();
|
|
3423
|
-
return
|
|
3453
|
+
return Go(a) ? {
|
|
3424
3454
|
html: a,
|
|
3425
3455
|
pending: !1
|
|
3426
3456
|
} : {
|
|
@@ -3430,21 +3460,21 @@ function Xo(e) {
|
|
|
3430
3460
|
}
|
|
3431
3461
|
//#endregion
|
|
3432
3462
|
//#region src/components/Editor/utils/prepareTypesetProposed.ts
|
|
3433
|
-
var
|
|
3434
|
-
let { html: n } =
|
|
3435
|
-
return n ? fi(
|
|
3463
|
+
var ts = (e, t) => {
|
|
3464
|
+
let { html: n } = es(e);
|
|
3465
|
+
return n ? hi(fi(n, t)) : "";
|
|
3436
3466
|
};
|
|
3437
3467
|
//#endregion
|
|
3438
3468
|
//#region src/components/Editor/utils/applyAiTypeset.ts
|
|
3439
|
-
function
|
|
3440
|
-
let i = X(
|
|
3441
|
-
if (!i.trim() ||
|
|
3469
|
+
function ns(e, t, n, r) {
|
|
3470
|
+
let i = X(ts(t, n));
|
|
3471
|
+
if (!i.trim() || Oi(i, "")) return {
|
|
3442
3472
|
applied: !1,
|
|
3443
3473
|
truncated: !1
|
|
3444
3474
|
};
|
|
3445
3475
|
let a = !1;
|
|
3446
3476
|
return e.update(() => {
|
|
3447
|
-
|
|
3477
|
+
Di(e, i), xo(r) && (a = So(e, r)), Fn(!0);
|
|
3448
3478
|
}, { discrete: !0 }), {
|
|
3449
3479
|
applied: !0,
|
|
3450
3480
|
truncated: a
|
|
@@ -3452,15 +3482,15 @@ function Qo(e, t, n, r) {
|
|
|
3452
3482
|
}
|
|
3453
3483
|
//#endregion
|
|
3454
3484
|
//#region src/components/Editor/Preview/useAiPreviewHtml.ts
|
|
3455
|
-
var
|
|
3456
|
-
if (!e ||
|
|
3485
|
+
var rs = (e, t) => {
|
|
3486
|
+
if (!e || Ci(e)) return e;
|
|
3457
3487
|
let n = X(e);
|
|
3458
|
-
return t === "ready" || t === "error" ?
|
|
3459
|
-
},
|
|
3460
|
-
let [i, a] =
|
|
3488
|
+
return t === "ready" || t === "error" ? na(n) : n;
|
|
3489
|
+
}, is = ({ enabled: e, status: t, revision: n, compute: r }) => {
|
|
3490
|
+
let [i, a] = M(""), o = j(r);
|
|
3461
3491
|
o.current = r;
|
|
3462
|
-
let s =
|
|
3463
|
-
return
|
|
3492
|
+
let s = j(null);
|
|
3493
|
+
return te(() => {
|
|
3464
3494
|
let n = () => {
|
|
3465
3495
|
s.current !== null && (cancelAnimationFrame(s.current), s.current = null);
|
|
3466
3496
|
};
|
|
@@ -3483,12 +3513,12 @@ var $o = (e, t) => {
|
|
|
3483
3513
|
]), O(() => () => {
|
|
3484
3514
|
s.current !== null && cancelAnimationFrame(s.current);
|
|
3485
3515
|
}, []), i;
|
|
3486
|
-
},
|
|
3516
|
+
}, as = [
|
|
3487
3517
|
.26,
|
|
3488
3518
|
.02,
|
|
3489
3519
|
.23,
|
|
3490
3520
|
.94
|
|
3491
|
-
],
|
|
3521
|
+
], os = () => {
|
|
3492
3522
|
let e = `${ee().replace(/:/g, "")}g`;
|
|
3493
3523
|
return /* @__PURE__ */ y("span", {
|
|
3494
3524
|
className: Q["bsy-lexical-ai__think-icon"],
|
|
@@ -3527,8 +3557,8 @@ var $o = (e, t) => {
|
|
|
3527
3557
|
}) })]
|
|
3528
3558
|
})
|
|
3529
3559
|
});
|
|
3530
|
-
},
|
|
3531
|
-
let { t: n } = a(), r = e.status === "loading" && !t, [i, o] =
|
|
3560
|
+
}, ss = (e, t) => {
|
|
3561
|
+
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);
|
|
3532
3562
|
return O(() => {
|
|
3533
3563
|
if (!r) {
|
|
3534
3564
|
u.current === null && (u.current = Math.max(1, Math.round((Date.now() - l.current) / 1e3)), c(u.current)), o(!1);
|
|
@@ -3547,21 +3577,21 @@ var $o = (e, t) => {
|
|
|
3547
3577
|
reasoning: d,
|
|
3548
3578
|
toggle: () => o((e) => !e)
|
|
3549
3579
|
};
|
|
3550
|
-
},
|
|
3580
|
+
}, cs = ({ model: t }) => t.visible ? /* @__PURE__ */ b("button", {
|
|
3551
3581
|
type: "button",
|
|
3552
3582
|
className: Q["bsy-lexical-ai__think-head"],
|
|
3553
3583
|
disabled: t.thinking,
|
|
3554
3584
|
onClick: t.toggle,
|
|
3555
|
-
children: [t.thinking ? /* @__PURE__ */ y(
|
|
3585
|
+
children: [t.thinking ? /* @__PURE__ */ y(os, {}) : /* @__PURE__ */ y(e, {
|
|
3556
3586
|
name: "arrow-down",
|
|
3557
3587
|
size: 12,
|
|
3558
|
-
className:
|
|
3588
|
+
className: P(Q["bsy-lexical-ai__think-arrow"], t.open && Q["bsy-lexical-ai__think-arrow--open"])
|
|
3559
3589
|
}), /* @__PURE__ */ y("span", {
|
|
3560
3590
|
className: Q["bsy-lexical-ai__think-label"],
|
|
3561
|
-
children: /* @__PURE__ */ y(
|
|
3591
|
+
children: /* @__PURE__ */ y(oe, {
|
|
3562
3592
|
mode: "popLayout",
|
|
3563
3593
|
initial: !1,
|
|
3564
|
-
children: /* @__PURE__ */ y(
|
|
3594
|
+
children: /* @__PURE__ */ y(F.span, {
|
|
3565
3595
|
initial: {
|
|
3566
3596
|
opacity: 0,
|
|
3567
3597
|
y: 6
|
|
@@ -3576,7 +3606,7 @@ var $o = (e, t) => {
|
|
|
3576
3606
|
},
|
|
3577
3607
|
transition: {
|
|
3578
3608
|
duration: .22,
|
|
3579
|
-
ease:
|
|
3609
|
+
ease: as
|
|
3580
3610
|
},
|
|
3581
3611
|
children: /* @__PURE__ */ y("span", {
|
|
3582
3612
|
className: t.thinking ? Q["bsy-lexical-ai__think-label--shimmer"] : void 0,
|
|
@@ -3585,8 +3615,8 @@ var $o = (e, t) => {
|
|
|
3585
3615
|
}, t.label)
|
|
3586
3616
|
})
|
|
3587
3617
|
})]
|
|
3588
|
-
}) : null,
|
|
3589
|
-
let [t, n] =
|
|
3618
|
+
}) : null, ls = ({ model: e }) => {
|
|
3619
|
+
let [t, n] = M(!0), r = D(e.reasoning);
|
|
3590
3620
|
if (O(() => {
|
|
3591
3621
|
e.open || n(!0);
|
|
3592
3622
|
}, [e.open]), !e.visible) return null;
|
|
@@ -3595,11 +3625,11 @@ var $o = (e, t) => {
|
|
|
3595
3625
|
children: r
|
|
3596
3626
|
});
|
|
3597
3627
|
return !t && e.open && e.reasoning ? /* @__PURE__ */ y("div", {
|
|
3598
|
-
className:
|
|
3628
|
+
className: P(Q["bsy-lexical-ai__think-collapse"], Q["bsy-lexical-ai__think-collapse--grown"]),
|
|
3599
3629
|
children: i
|
|
3600
|
-
}) : /* @__PURE__ */ y(
|
|
3630
|
+
}) : /* @__PURE__ */ y(oe, {
|
|
3601
3631
|
initial: !1,
|
|
3602
|
-
children: e.open && e.reasoning ? /* @__PURE__ */ y(
|
|
3632
|
+
children: e.open && e.reasoning ? /* @__PURE__ */ y(F.div, {
|
|
3603
3633
|
initial: {
|
|
3604
3634
|
height: 0,
|
|
3605
3635
|
opacity: 0
|
|
@@ -3627,8 +3657,8 @@ var $o = (e, t) => {
|
|
|
3627
3657
|
children: i
|
|
3628
3658
|
}, "think-body") : null
|
|
3629
3659
|
});
|
|
3630
|
-
},
|
|
3631
|
-
let r =
|
|
3660
|
+
}, us = 32, ds = .25, fs = 2, ps = ({ viewportRef: e, enabled: t, revision: n }) => {
|
|
3661
|
+
let r = j(!0), i = j(!1), a = j(0), o = T(() => e.current ?? void 0, [e]), s = T(() => {
|
|
3632
3662
|
let t = e.current;
|
|
3633
3663
|
return t?.closest("[data-overlayscrollbars]") ?? t ?? void 0;
|
|
3634
3664
|
}, [e]), c = T(() => {
|
|
@@ -3640,7 +3670,7 @@ var $o = (e, t) => {
|
|
|
3640
3670
|
t.scrollTop = n;
|
|
3641
3671
|
return;
|
|
3642
3672
|
}
|
|
3643
|
-
t.scrollTop += Math.max(i *
|
|
3673
|
+
t.scrollTop += Math.max(i * ds, Math.min(i, fs)), a.current = requestAnimationFrame(c);
|
|
3644
3674
|
}, [e]), l = T(() => {
|
|
3645
3675
|
!a.current && r.current && (a.current = requestAnimationFrame(c));
|
|
3646
3676
|
}, [c]);
|
|
@@ -3667,31 +3697,31 @@ var $o = (e, t) => {
|
|
|
3667
3697
|
let u = () => {
|
|
3668
3698
|
let t = e.current;
|
|
3669
3699
|
if (!t) return;
|
|
3670
|
-
let n = t.scrollHeight - t.clientHeight - t.scrollTop <=
|
|
3700
|
+
let n = t.scrollHeight - t.clientHeight - t.scrollTop <= us;
|
|
3671
3701
|
i.current ? (i.current = !1, r.current = n, !n && a.current && (cancelAnimationFrame(a.current), a.current = 0)) : n && (r.current = !0);
|
|
3672
3702
|
}, d = () => {
|
|
3673
3703
|
i.current = !0;
|
|
3674
3704
|
};
|
|
3675
|
-
return
|
|
3705
|
+
return ae("wheel", d, {
|
|
3676
3706
|
target: s,
|
|
3677
3707
|
passive: !0,
|
|
3678
3708
|
enable: t
|
|
3679
|
-
}),
|
|
3709
|
+
}), ae("touchstart", d, {
|
|
3680
3710
|
target: o,
|
|
3681
3711
|
passive: !0,
|
|
3682
3712
|
enable: t
|
|
3683
|
-
}),
|
|
3713
|
+
}), ae("pointerdown", (e) => {
|
|
3684
3714
|
e.target instanceof Element && e.target.closest(".os-scrollbar") && d();
|
|
3685
3715
|
}, {
|
|
3686
3716
|
target: s,
|
|
3687
3717
|
passive: !0,
|
|
3688
3718
|
enable: t
|
|
3689
|
-
}),
|
|
3719
|
+
}), ae("scroll", u, {
|
|
3690
3720
|
target: o,
|
|
3691
3721
|
passive: !0,
|
|
3692
3722
|
enable: t
|
|
3693
3723
|
}), { onScroll: u };
|
|
3694
|
-
},
|
|
3724
|
+
}, ms = `
|
|
3695
3725
|
:host {
|
|
3696
3726
|
all: initial;
|
|
3697
3727
|
display: block;
|
|
@@ -3799,7 +3829,7 @@ var $o = (e, t) => {
|
|
|
3799
3829
|
.bsy-editor-html-preview__body li,
|
|
3800
3830
|
.bsy-editor-html-preview__body .editor-listitem {
|
|
3801
3831
|
margin: 0;
|
|
3802
|
-
margin-inline-start: ${
|
|
3832
|
+
margin-inline-start: ${_i};
|
|
3803
3833
|
list-style: inherit;
|
|
3804
3834
|
}
|
|
3805
3835
|
.bsy-editor-html-preview__body .editor-nested-listitem {
|
|
@@ -3878,36 +3908,36 @@ var $o = (e, t) => {
|
|
|
3878
3908
|
height: auto;
|
|
3879
3909
|
vertical-align: baseline;
|
|
3880
3910
|
}
|
|
3881
|
-
`,
|
|
3882
|
-
let t =
|
|
3883
|
-
return
|
|
3884
|
-
|
|
3911
|
+
`, hs = ({ html: e }) => {
|
|
3912
|
+
let t = j(null);
|
|
3913
|
+
return te(() => {
|
|
3914
|
+
Si(t.current, e, X, ms);
|
|
3885
3915
|
}, [e]), /* @__PURE__ */ y("div", {
|
|
3886
3916
|
ref: t,
|
|
3887
3917
|
className: "bsy-editor-html-preview"
|
|
3888
3918
|
});
|
|
3889
|
-
},
|
|
3890
|
-
let [t, n] =
|
|
3919
|
+
}, gs = ({ html: e }) => {
|
|
3920
|
+
let [t, n] = M(() => e && !Ci(e) ? e : "");
|
|
3891
3921
|
return O(() => {
|
|
3892
|
-
!e ||
|
|
3893
|
-
}, [e]), t ? /* @__PURE__ */ y(
|
|
3894
|
-
},
|
|
3922
|
+
!e || Ci(e) || n(e);
|
|
3923
|
+
}, [e]), t ? /* @__PURE__ */ y(hs, { html: t }) : null;
|
|
3924
|
+
}, _s = {
|
|
3895
3925
|
paddingAbsolute: !0,
|
|
3896
3926
|
overflow: {
|
|
3897
3927
|
x: "hidden",
|
|
3898
3928
|
y: "scroll"
|
|
3899
3929
|
}
|
|
3900
|
-
},
|
|
3901
|
-
let { t: p } = a(), m =
|
|
3930
|
+
}, vs = ({ status: t, errorMessage: n, originalHtml: i, proposedHtml: o, preset: s, onPresetChange: c, onCancel: l, onApply: d }) => {
|
|
3931
|
+
let { t: p } = a(), m = wn(), [h, g] = M(!0), _ = j(null), v = !!o.trim(), x = t === "ready" && v, S = ss({
|
|
3902
3932
|
status: t,
|
|
3903
3933
|
reasoning: m
|
|
3904
|
-
}, v), C =
|
|
3934
|
+
}, v), C = ps({
|
|
3905
3935
|
viewportRef: _,
|
|
3906
3936
|
enabled: t === "loading",
|
|
3907
3937
|
revision: `${m ?? ""}\0${o}`
|
|
3908
|
-
}), w =
|
|
3938
|
+
}), w = $r.map((e) => ({
|
|
3909
3939
|
key: e,
|
|
3910
|
-
label: p(
|
|
3940
|
+
label: p(ei[e])
|
|
3911
3941
|
}));
|
|
3912
3942
|
return /* @__PURE__ */ y(r, {
|
|
3913
3943
|
title: p("editor.aiPolish"),
|
|
@@ -3923,19 +3953,19 @@ var $o = (e, t) => {
|
|
|
3923
3953
|
children: [/* @__PURE__ */ b("div", {
|
|
3924
3954
|
className: Q["bsy-lexical-ai__column"],
|
|
3925
3955
|
children: [/* @__PURE__ */ b("div", {
|
|
3926
|
-
className:
|
|
3956
|
+
className: P(Q["bsy-lexical-ai__column-title"], Q["bsy-lexical-ai__column-title--before"]),
|
|
3927
3957
|
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }), p("editor.aiOriginal")]
|
|
3928
3958
|
}), /* @__PURE__ */ y(u, {
|
|
3929
3959
|
className: Q["bsy-lexical-ai__column-body"],
|
|
3930
|
-
options:
|
|
3931
|
-
children: /* @__PURE__ */ y(
|
|
3960
|
+
options: _s,
|
|
3961
|
+
children: /* @__PURE__ */ y(gs, { html: i })
|
|
3932
3962
|
})]
|
|
3933
3963
|
}), /* @__PURE__ */ b("div", {
|
|
3934
3964
|
className: Q["bsy-lexical-ai__column"],
|
|
3935
3965
|
children: [/* @__PURE__ */ b("div", {
|
|
3936
3966
|
className: Q["bsy-lexical-ai__column-head"],
|
|
3937
3967
|
children: [/* @__PURE__ */ b("div", {
|
|
3938
|
-
className:
|
|
3968
|
+
className: P(Q["bsy-lexical-ai__column-title"], Q["bsy-lexical-ai__column-title--after"]),
|
|
3939
3969
|
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }), p("editor.aiOptimized")]
|
|
3940
3970
|
}), /* @__PURE__ */ y(f, {
|
|
3941
3971
|
menus: w,
|
|
@@ -3954,7 +3984,7 @@ var $o = (e, t) => {
|
|
|
3954
3984
|
type: "button",
|
|
3955
3985
|
className: Q["bsy-lexical-ai__preset"],
|
|
3956
3986
|
title: p("editor.aiPolish"),
|
|
3957
|
-
children: [p(
|
|
3987
|
+
children: [p(ei[s]), /* @__PURE__ */ y(e, {
|
|
3958
3988
|
name: "arrow-down",
|
|
3959
3989
|
size: 16
|
|
3960
3990
|
})]
|
|
@@ -3964,25 +3994,25 @@ var $o = (e, t) => {
|
|
|
3964
3994
|
className: Q["bsy-lexical-ai__column-stack"],
|
|
3965
3995
|
children: [S.visible ? /* @__PURE__ */ y("div", {
|
|
3966
3996
|
className: Q["bsy-lexical-ai__think-pin"],
|
|
3967
|
-
children: /* @__PURE__ */ y(
|
|
3997
|
+
children: /* @__PURE__ */ y(cs, { model: S })
|
|
3968
3998
|
}) : null, /* @__PURE__ */ b(u, {
|
|
3969
3999
|
className: Q["bsy-lexical-ai__column-body"],
|
|
3970
|
-
options:
|
|
4000
|
+
options: _s,
|
|
3971
4001
|
viewportRef: _,
|
|
3972
4002
|
onScroll: C.onScroll,
|
|
3973
4003
|
children: [t === "error" ? /* @__PURE__ */ y("div", {
|
|
3974
4004
|
className: Q["bsy-lexical-ai__error"],
|
|
3975
4005
|
children: n || p("editor.aiError")
|
|
3976
|
-
}) : /* @__PURE__ */ y(
|
|
4006
|
+
}) : /* @__PURE__ */ y(ls, { model: S }), v ? /* @__PURE__ */ y(gs, { html: o }) : null]
|
|
3977
4007
|
})]
|
|
3978
4008
|
})]
|
|
3979
4009
|
})]
|
|
3980
4010
|
}), /* @__PURE__ */ b("div", {
|
|
3981
4011
|
className: Q["bsy-lexical-ai__footer"],
|
|
3982
|
-
children: [/* @__PURE__ */ y(
|
|
4012
|
+
children: [/* @__PURE__ */ y(N, {
|
|
3983
4013
|
onClick: () => g(!1),
|
|
3984
4014
|
children: p("editor.aiAbandon")
|
|
3985
|
-
}), /* @__PURE__ */ y(
|
|
4015
|
+
}), /* @__PURE__ */ y(N, {
|
|
3986
4016
|
type: "primary",
|
|
3987
4017
|
disabled: !x,
|
|
3988
4018
|
onClick: () => d() && g(!1),
|
|
@@ -3991,17 +4021,17 @@ var $o = (e, t) => {
|
|
|
3991
4021
|
})]
|
|
3992
4022
|
})
|
|
3993
4023
|
});
|
|
3994
|
-
},
|
|
4024
|
+
}, ys = {
|
|
3995
4025
|
paddingAbsolute: !0,
|
|
3996
4026
|
overflow: {
|
|
3997
4027
|
x: "hidden",
|
|
3998
4028
|
y: "scroll"
|
|
3999
4029
|
}
|
|
4000
|
-
},
|
|
4001
|
-
let { t: c } = a(), l =
|
|
4030
|
+
}, bs = ({ status: e, errorMessage: t, originalHtml: n, proposedHtml: i, onCancel: o, onApply: s }) => {
|
|
4031
|
+
let { t: c } = a(), l = wn(), [d, f] = M(!0), p = j(null), m = !!i.trim(), h = e === "ready" && m, g = ss({
|
|
4002
4032
|
status: e,
|
|
4003
4033
|
reasoning: l
|
|
4004
|
-
}, m), _ =
|
|
4034
|
+
}, m), _ = ps({
|
|
4005
4035
|
viewportRef: p,
|
|
4006
4036
|
enabled: e === "loading",
|
|
4007
4037
|
revision: `${l ?? ""}\0${i}`
|
|
@@ -4020,41 +4050,41 @@ var $o = (e, t) => {
|
|
|
4020
4050
|
children: [/* @__PURE__ */ b("div", {
|
|
4021
4051
|
className: Q["bsy-lexical-ai__column"],
|
|
4022
4052
|
children: [/* @__PURE__ */ b("div", {
|
|
4023
|
-
className:
|
|
4053
|
+
className: P(Q["bsy-lexical-ai__column-title"], Q["bsy-lexical-ai__column-title--before"]),
|
|
4024
4054
|
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }), c("editor.aiOriginal")]
|
|
4025
4055
|
}), /* @__PURE__ */ y(u, {
|
|
4026
4056
|
className: Q["bsy-lexical-ai__column-body"],
|
|
4027
|
-
options:
|
|
4028
|
-
children: /* @__PURE__ */ y(
|
|
4057
|
+
options: ys,
|
|
4058
|
+
children: /* @__PURE__ */ y(gs, { html: n })
|
|
4029
4059
|
})]
|
|
4030
4060
|
}), /* @__PURE__ */ b("div", {
|
|
4031
4061
|
className: Q["bsy-lexical-ai__column"],
|
|
4032
4062
|
children: [/* @__PURE__ */ b("div", {
|
|
4033
|
-
className:
|
|
4063
|
+
className: P(Q["bsy-lexical-ai__column-title"], Q["bsy-lexical-ai__column-title--after"]),
|
|
4034
4064
|
children: [/* @__PURE__ */ y("span", { className: Q["bsy-lexical-ai__column-dot"] }), c("editor.aiOptimized")]
|
|
4035
4065
|
}), /* @__PURE__ */ b("div", {
|
|
4036
4066
|
className: Q["bsy-lexical-ai__column-stack"],
|
|
4037
4067
|
children: [g.visible ? /* @__PURE__ */ y("div", {
|
|
4038
4068
|
className: Q["bsy-lexical-ai__think-pin"],
|
|
4039
|
-
children: /* @__PURE__ */ y(
|
|
4069
|
+
children: /* @__PURE__ */ y(cs, { model: g })
|
|
4040
4070
|
}) : null, /* @__PURE__ */ b(u, {
|
|
4041
4071
|
className: Q["bsy-lexical-ai__column-body"],
|
|
4042
|
-
options:
|
|
4072
|
+
options: ys,
|
|
4043
4073
|
viewportRef: p,
|
|
4044
4074
|
onScroll: _.onScroll,
|
|
4045
4075
|
children: [e === "error" ? /* @__PURE__ */ y("div", {
|
|
4046
4076
|
className: Q["bsy-lexical-ai__error"],
|
|
4047
4077
|
children: t || c("editor.aiError")
|
|
4048
|
-
}) : /* @__PURE__ */ y(
|
|
4078
|
+
}) : /* @__PURE__ */ y(ls, { model: g }), m ? /* @__PURE__ */ y(gs, { html: i }) : null]
|
|
4049
4079
|
})]
|
|
4050
4080
|
})]
|
|
4051
4081
|
})]
|
|
4052
4082
|
}), /* @__PURE__ */ b("div", {
|
|
4053
4083
|
className: Q["bsy-lexical-ai__footer"],
|
|
4054
|
-
children: [/* @__PURE__ */ y(
|
|
4084
|
+
children: [/* @__PURE__ */ y(N, {
|
|
4055
4085
|
onClick: () => f(!1),
|
|
4056
4086
|
children: c("editor.aiAbandon")
|
|
4057
|
-
}), /* @__PURE__ */ y(
|
|
4087
|
+
}), /* @__PURE__ */ y(N, {
|
|
4058
4088
|
type: "primary",
|
|
4059
4089
|
disabled: !h,
|
|
4060
4090
|
onClick: () => s() && f(!1),
|
|
@@ -4063,21 +4093,21 @@ var $o = (e, t) => {
|
|
|
4063
4093
|
})]
|
|
4064
4094
|
})
|
|
4065
4095
|
});
|
|
4066
|
-
},
|
|
4067
|
-
let [n] =
|
|
4096
|
+
}, xs = ({ maxLength: e, onMaxLengthExceed: t }) => {
|
|
4097
|
+
let [n] = z(), { aiOpen: r, setAiOpen: i, aiSessionRef: o, stop: s, polish: c } = Sn(), { t: l } = a(), [u, d] = ie.useMessage(), f = o.current, { text: p, status: m, errorMessage: h } = Cn(), g = !m || m === "idle" ? "loading" : m, _ = A(() => r ? rs(o.current?.originalHtml || "", "ready") : "", [r, o]), x = is({
|
|
4068
4098
|
enabled: r === "typeset",
|
|
4069
4099
|
status: g,
|
|
4070
4100
|
revision: p,
|
|
4071
|
-
compute: () =>
|
|
4072
|
-
}), S =
|
|
4101
|
+
compute: () => rs(ts(p, f?.codeBlocks ?? []), g)
|
|
4102
|
+
}), S = is({
|
|
4073
4103
|
enabled: r === "polish",
|
|
4074
4104
|
status: g,
|
|
4075
4105
|
revision: p,
|
|
4076
|
-
compute: () =>
|
|
4106
|
+
compute: () => rs(ha(f?.originalHtml || "", p), g)
|
|
4077
4107
|
});
|
|
4078
4108
|
O(() => {
|
|
4079
4109
|
if (r) return n.setEditable(!1), n.update(() => {
|
|
4080
|
-
|
|
4110
|
+
Pe(null);
|
|
4081
4111
|
}), window.getSelection()?.removeAllRanges(), n.getRootElement()?.blur(), () => {
|
|
4082
4112
|
n.setEditable(!0);
|
|
4083
4113
|
};
|
|
@@ -4091,7 +4121,7 @@ var $o = (e, t) => {
|
|
|
4091
4121
|
]), w = T(() => {
|
|
4092
4122
|
if (r !== "typeset" || g !== "ready") return !1;
|
|
4093
4123
|
n.setEditable(!0);
|
|
4094
|
-
let { applied: i, truncated: a } =
|
|
4124
|
+
let { applied: i, truncated: a } = ns(n, p, o.current?.codeBlocks ?? [], e);
|
|
4095
4125
|
return i ? (a && t?.(), !0) : (n.setEditable(!1), u.warning(l("editor.aiApplyEmpty")), !1);
|
|
4096
4126
|
}, [
|
|
4097
4127
|
r,
|
|
@@ -4103,7 +4133,7 @@ var $o = (e, t) => {
|
|
|
4103
4133
|
g,
|
|
4104
4134
|
l,
|
|
4105
4135
|
p
|
|
4106
|
-
]), E = T(() => r !== "polish" || g !== "ready" ? !1 :
|
|
4136
|
+
]), E = T(() => r !== "polish" || g !== "ready" ? !1 : ga(n, p) ? !0 : (u.warning(l("editor.aiApplyEmpty")), !1), [
|
|
4107
4137
|
r,
|
|
4108
4138
|
n,
|
|
4109
4139
|
u,
|
|
@@ -4115,21 +4145,21 @@ var $o = (e, t) => {
|
|
|
4115
4145
|
!t?.originalText || !c || (t.preset = e, s?.(), c({
|
|
4116
4146
|
text: t.originalText,
|
|
4117
4147
|
preset: e,
|
|
4118
|
-
prompt:
|
|
4148
|
+
prompt: ii(e)
|
|
4119
4149
|
}));
|
|
4120
4150
|
}, [
|
|
4121
4151
|
o,
|
|
4122
4152
|
c,
|
|
4123
4153
|
s
|
|
4124
4154
|
]);
|
|
4125
|
-
return r ? /* @__PURE__ */ b(v, { children: [d, r === "typeset" ? /* @__PURE__ */ y(
|
|
4155
|
+
return r ? /* @__PURE__ */ b(v, { children: [d, r === "typeset" ? /* @__PURE__ */ y(bs, {
|
|
4126
4156
|
status: g,
|
|
4127
4157
|
errorMessage: h,
|
|
4128
4158
|
originalHtml: _,
|
|
4129
4159
|
proposedHtml: x,
|
|
4130
4160
|
onCancel: C,
|
|
4131
4161
|
onApply: w
|
|
4132
|
-
}) : /* @__PURE__ */ y(
|
|
4162
|
+
}) : /* @__PURE__ */ y(vs, {
|
|
4133
4163
|
status: g,
|
|
4134
4164
|
errorMessage: h,
|
|
4135
4165
|
originalHtml: _,
|
|
@@ -4139,41 +4169,122 @@ var $o = (e, t) => {
|
|
|
4139
4169
|
onCancel: C,
|
|
4140
4170
|
onApply: E
|
|
4141
4171
|
})] }) : d;
|
|
4142
|
-
},
|
|
4143
|
-
let
|
|
4172
|
+
}, Ss = (e) => {
|
|
4173
|
+
let t = L();
|
|
4174
|
+
if (!R(t) || !t.isCollapsed() || H(t.anchor.getNode(), V)) return;
|
|
4175
|
+
let n = t.style, r = {};
|
|
4176
|
+
e.color && !Va(n, "color") && (r.color = e.color), e.fontSize && !Va(n, "font-size") && (r["font-size"] = String(e.fontSize)), e.backgroundColor && !Va(n, "background-color") && (r["background-color"] = e.backgroundColor), Object.keys(r).length !== 0 && Mt(t, r);
|
|
4177
|
+
};
|
|
4178
|
+
//#endregion
|
|
4179
|
+
//#region src/components/Editor/plugins/DefaultTextStylePlugin.tsx
|
|
4180
|
+
function Cs() {
|
|
4181
|
+
let [e] = z(), { defaultTextStyle: t } = Sn();
|
|
4182
|
+
return O(() => {
|
|
4183
|
+
if (!(!t.color && !t.fontSize && !t.backgroundColor)) return e.registerCommand(We, () => (Ss(t), !1), Ve);
|
|
4184
|
+
}, [t, e]), null;
|
|
4185
|
+
}
|
|
4186
|
+
//#endregion
|
|
4187
|
+
//#region src/components/Editor/utils/imePendingFormat.ts
|
|
4188
|
+
function ws() {
|
|
4189
|
+
let e = L();
|
|
4190
|
+
if (!R(e) || !e.isCollapsed()) return null;
|
|
4191
|
+
let t = e.anchor.getNode();
|
|
4192
|
+
if (!je(t)) return null;
|
|
4193
|
+
let n = t.getFormat(), r = t.getStyle();
|
|
4194
|
+
if (e.format === n && e.style === r) return null;
|
|
4195
|
+
let i = {
|
|
4196
|
+
format: e.format,
|
|
4197
|
+
style: e.style,
|
|
4198
|
+
offset: e.anchor.offset,
|
|
4199
|
+
key: t.getKey()
|
|
4200
|
+
};
|
|
4201
|
+
return e.setFormat(n), e.setStyle(r), i;
|
|
4202
|
+
}
|
|
4203
|
+
function Ts(e) {
|
|
4204
|
+
let t = L();
|
|
4205
|
+
if (!R(t)) return;
|
|
4206
|
+
let n = t.anchor.getNode();
|
|
4207
|
+
if (je(n) && n.getKey() === e.key) {
|
|
4208
|
+
let r = t.anchor.offset;
|
|
4209
|
+
if (r > e.offset) {
|
|
4210
|
+
let t = n.splitText(e.offset, r), i = e.offset === 0 ? t[0] : t[1];
|
|
4211
|
+
i.setFormat(e.format), i.setStyle(e.style), i.selectEnd();
|
|
4212
|
+
}
|
|
4213
|
+
}
|
|
4214
|
+
let r = L();
|
|
4215
|
+
R(r) && (r.setFormat(e.format), r.setStyle(e.style));
|
|
4216
|
+
}
|
|
4217
|
+
//#endregion
|
|
4218
|
+
//#region src/components/Editor/plugins/ImePendingFormatPlugin.tsx
|
|
4219
|
+
function Es() {
|
|
4220
|
+
let [e] = z(), t = j(null);
|
|
4221
|
+
return O(() => {
|
|
4222
|
+
let n = e.registerCommand(Ue, () => (t.current = ws(), !1), ze), r = e.registerUpdateListener(({ tags: n }) => {
|
|
4223
|
+
if (!n.has("composition-end") || t.current === null) return;
|
|
4224
|
+
let r = t.current;
|
|
4225
|
+
t.current = null, e.update(() => {
|
|
4226
|
+
Ts(r);
|
|
4227
|
+
});
|
|
4228
|
+
});
|
|
4229
|
+
return () => {
|
|
4230
|
+
n(), r();
|
|
4231
|
+
};
|
|
4232
|
+
}, [e]), null;
|
|
4233
|
+
}
|
|
4234
|
+
//#endregion
|
|
4235
|
+
//#region src/components/Editor/EditorCore.tsx
|
|
4236
|
+
var Ds = [], Os = (e) => {
|
|
4237
|
+
if (typeof e == "number") return Number.isFinite(e) ? `${e}px` : void 0;
|
|
4238
|
+
let t = e?.trim();
|
|
4239
|
+
if (t) return /^\d+(\.\d+)?$/.test(t) ? `${t}px` : t;
|
|
4240
|
+
}, ks = (e) => {
|
|
4241
|
+
let { height: t = "auto", minHeight: n, onChange: r, toolbar: i, theme: a, maxLength: o, onMaxLengthExceed: s, upload: c, ai: l } = e, [u] = z(), { isSourceMode: d, isSourceModeRef: f } = Jr(), p = j(null), m = j(null), h = j(/* @__PURE__ */ new Map()), g = j(null), _ = j(null), v = j(s);
|
|
4144
4242
|
v.current = s;
|
|
4145
|
-
let x =
|
|
4243
|
+
let x = xo(o) ? o : void 0, [S, C] = M(0), [w, E] = M(null), D = i?.mode === "floating", ee = x !== void 0 && !d, k = j(l);
|
|
4146
4244
|
k.current = l;
|
|
4147
|
-
let
|
|
4148
|
-
|
|
4149
|
-
let
|
|
4245
|
+
let te = j(r);
|
|
4246
|
+
te.current = r;
|
|
4247
|
+
let N = T((e) => {
|
|
4150
4248
|
k.current?.typeset?.(e);
|
|
4151
|
-
}, []),
|
|
4249
|
+
}, []), ne = T((e) => {
|
|
4152
4250
|
k.current?.polish?.(e);
|
|
4153
|
-
}, []),
|
|
4251
|
+
}, []), re = T(() => {
|
|
4154
4252
|
k.current?.stop?.();
|
|
4155
|
-
}, []),
|
|
4253
|
+
}, []), ie = !!l?.typeset, P = !!l?.polish, ae = e.defaultTextStyle?.color, oe = e.defaultTextStyle?.fontSize, F = e.defaultTextStyle?.backgroundColor, se = A(() => {
|
|
4254
|
+
let e = ae?.trim(), t = Os(oe), n = F?.trim();
|
|
4255
|
+
return {
|
|
4256
|
+
...e ? { color: e } : {},
|
|
4257
|
+
...t ? { fontSize: t } : {},
|
|
4258
|
+
...n ? { backgroundColor: n } : {}
|
|
4259
|
+
};
|
|
4260
|
+
}, [
|
|
4261
|
+
F,
|
|
4262
|
+
ae,
|
|
4263
|
+
oe
|
|
4264
|
+
]), ce = A(() => ({
|
|
4156
4265
|
containerRef: p,
|
|
4157
4266
|
toolbarRef: m,
|
|
4267
|
+
defaultTextStyle: se,
|
|
4158
4268
|
upload: c,
|
|
4159
4269
|
aiOpen: w,
|
|
4160
4270
|
setAiOpen: E,
|
|
4161
4271
|
aiSessionRef: g,
|
|
4162
4272
|
attachmentsBySrcRef: h,
|
|
4163
|
-
typeset:
|
|
4164
|
-
polish:
|
|
4165
|
-
stop:
|
|
4166
|
-
canTypeset:
|
|
4167
|
-
canPolish:
|
|
4273
|
+
typeset: N,
|
|
4274
|
+
polish: ne,
|
|
4275
|
+
stop: re,
|
|
4276
|
+
canTypeset: ie,
|
|
4277
|
+
canPolish: P
|
|
4168
4278
|
}), [
|
|
4169
4279
|
w,
|
|
4170
|
-
F,
|
|
4171
|
-
re,
|
|
4172
|
-
te,
|
|
4173
|
-
ne,
|
|
4174
4280
|
P,
|
|
4281
|
+
ie,
|
|
4282
|
+
ne,
|
|
4283
|
+
se,
|
|
4284
|
+
re,
|
|
4285
|
+
N,
|
|
4175
4286
|
c
|
|
4176
|
-
]),
|
|
4287
|
+
]), le = A(() => ({
|
|
4177
4288
|
text: l?.text ?? "",
|
|
4178
4289
|
status: l?.status,
|
|
4179
4290
|
errorMessage: l?.errorMessage
|
|
@@ -4181,12 +4292,12 @@ var $o = (e, t) => {
|
|
|
4181
4292
|
l?.text,
|
|
4182
4293
|
l?.status,
|
|
4183
4294
|
l?.errorMessage
|
|
4184
|
-
]),
|
|
4295
|
+
]), ue = T((e) => {
|
|
4185
4296
|
f.current || e.read(() => {
|
|
4186
|
-
let t =
|
|
4297
|
+
let t = I().getTextContent(), n = na(X(he(u, null))), r = Oi(n, t) ? null : n;
|
|
4187
4298
|
_.current = r, x !== void 0 && C(t.length);
|
|
4188
|
-
let i =
|
|
4189
|
-
|
|
4299
|
+
let i = Me(on).map((e) => h.current.get(e.getSrc())).filter((e) => e !== void 0);
|
|
4300
|
+
te.current({
|
|
4190
4301
|
text: t,
|
|
4191
4302
|
html: r,
|
|
4192
4303
|
attachments: i
|
|
@@ -4199,7 +4310,7 @@ var $o = (e, t) => {
|
|
|
4199
4310
|
]);
|
|
4200
4311
|
O(() => {
|
|
4201
4312
|
x === void 0 || d || u.getEditorState().read(() => {
|
|
4202
|
-
C(
|
|
4313
|
+
C(I().getTextContentSize());
|
|
4203
4314
|
}, { editor: u });
|
|
4204
4315
|
}, [
|
|
4205
4316
|
u,
|
|
@@ -4210,33 +4321,33 @@ var $o = (e, t) => {
|
|
|
4210
4321
|
if (f.current) {
|
|
4211
4322
|
let t = e.value?.trim() ? X(e.value) : "";
|
|
4212
4323
|
_.current = e.value, u.update(() => {
|
|
4213
|
-
|
|
4324
|
+
Po(No(t));
|
|
4214
4325
|
});
|
|
4215
4326
|
return;
|
|
4216
4327
|
}
|
|
4217
4328
|
let t = !1, n = _.current === null;
|
|
4218
4329
|
u.update(() => {
|
|
4219
|
-
|
|
4220
|
-
}), n && u.dispatchCommand(
|
|
4330
|
+
Di(u, e.value?.trim() ? X(e.value) : ""), x !== void 0 && (t = So(u, x)), In(u);
|
|
4331
|
+
}), n && u.dispatchCommand(Re, void 0), t && v.current?.();
|
|
4221
4332
|
}, [
|
|
4222
4333
|
e.value,
|
|
4223
4334
|
u,
|
|
4224
4335
|
x,
|
|
4225
4336
|
f
|
|
4226
4337
|
]);
|
|
4227
|
-
let
|
|
4338
|
+
let de = i?.config?.length ? i.config : Ds, fe = T(() => {
|
|
4228
4339
|
v.current?.();
|
|
4229
4340
|
}, []);
|
|
4230
|
-
return /* @__PURE__ */ y(
|
|
4231
|
-
value:
|
|
4232
|
-
children: /* @__PURE__ */ y(
|
|
4233
|
-
value:
|
|
4234
|
-
children: /* @__PURE__ */ b(
|
|
4341
|
+
return /* @__PURE__ */ y(yn.Provider, {
|
|
4342
|
+
value: ce,
|
|
4343
|
+
children: /* @__PURE__ */ y(bn.Provider, {
|
|
4344
|
+
value: le,
|
|
4345
|
+
children: /* @__PURE__ */ b(xn.Provider, {
|
|
4235
4346
|
value: l?.reasoning,
|
|
4236
|
-
children: [/* @__PURE__ */ y(
|
|
4347
|
+
children: [/* @__PURE__ */ y(As, {
|
|
4237
4348
|
containerRef: p,
|
|
4238
4349
|
isFloating: D,
|
|
4239
|
-
toolbarConfig:
|
|
4350
|
+
toolbarConfig: de,
|
|
4240
4351
|
toolbarTheme: a?.toolbar,
|
|
4241
4352
|
containerTheme: a?.container,
|
|
4242
4353
|
toolbarStyle: i?.style,
|
|
@@ -4249,31 +4360,31 @@ var $o = (e, t) => {
|
|
|
4249
4360
|
showLengthBadge: ee,
|
|
4250
4361
|
textLength: S,
|
|
4251
4362
|
validMaxLength: x,
|
|
4252
|
-
onMaxLengthExceed:
|
|
4253
|
-
onChange:
|
|
4254
|
-
}), /* @__PURE__ */ y(
|
|
4363
|
+
onMaxLengthExceed: fe,
|
|
4364
|
+
onChange: ue
|
|
4365
|
+
}), /* @__PURE__ */ y(xs, {
|
|
4255
4366
|
maxLength: x,
|
|
4256
|
-
onMaxLengthExceed:
|
|
4367
|
+
onMaxLengthExceed: fe
|
|
4257
4368
|
})]
|
|
4258
4369
|
})
|
|
4259
4370
|
})
|
|
4260
4371
|
});
|
|
4261
|
-
},
|
|
4262
|
-
let [_] =
|
|
4372
|
+
}, As = 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 }) {
|
|
4373
|
+
let [_] = z(), v = tn(), x = typeof u == "number" ? u : void 0, S = !t && x === void 0 && l !== void 0, C = j(!1);
|
|
4263
4374
|
O(() => {
|
|
4264
4375
|
v && C.current && (C.current = !1, _.focus());
|
|
4265
4376
|
}, [v, _]);
|
|
4266
|
-
let w =
|
|
4377
|
+
let w = A(() => Ia(i), [i]);
|
|
4267
4378
|
return /* @__PURE__ */ b("div", {
|
|
4268
4379
|
ref: e,
|
|
4269
|
-
className:
|
|
4380
|
+
className: P("bsy-lexical-editor", $["bsy-lexical-editor"], t && $["bsy-lexical-editor--floating"], S && $["bsy-lexical-editor--sticky-toolbar"]),
|
|
4270
4381
|
style: w,
|
|
4271
4382
|
onClick: (e) => {
|
|
4272
4383
|
let t = _.getRootElement(), n = e.target;
|
|
4273
4384
|
!t || !n || !t.contains(n) || _.isEditable() || (C.current = !0, _.setEditable(!0));
|
|
4274
4385
|
},
|
|
4275
4386
|
children: [
|
|
4276
|
-
n && n.length > 0 ? /* @__PURE__ */ y(
|
|
4387
|
+
n && n.length > 0 ? /* @__PURE__ */ y(Pa, {
|
|
4277
4388
|
config: n,
|
|
4278
4389
|
theme: r,
|
|
4279
4390
|
style: a,
|
|
@@ -4283,57 +4394,59 @@ var $o = (e, t) => {
|
|
|
4283
4394
|
stickyOffset: S ? l : void 0
|
|
4284
4395
|
}) : null,
|
|
4285
4396
|
/* @__PURE__ */ b("div", {
|
|
4286
|
-
className:
|
|
4397
|
+
className: P($["bsy-lexical-editor__body"], x !== void 0 && $["bsy-lexical-editor__body--fixed"]),
|
|
4287
4398
|
style: { height: x },
|
|
4288
4399
|
children: [/* @__PURE__ */ y("div", {
|
|
4289
4400
|
className: $["bsy-lexical-editor__editable-wrap"],
|
|
4290
|
-
children: /* @__PURE__ */ y(
|
|
4291
|
-
contentEditable: /* @__PURE__ */ y(
|
|
4401
|
+
children: /* @__PURE__ */ y(ue, {
|
|
4402
|
+
contentEditable: /* @__PURE__ */ y(de, {
|
|
4292
4403
|
className: $["bsy-lexical-editor__content-editable"],
|
|
4293
4404
|
style: {
|
|
4294
4405
|
minHeight: x === void 0 ? d : void 0,
|
|
4295
4406
|
cursor: v ? "auto" : "text"
|
|
4296
4407
|
}
|
|
4297
4408
|
}),
|
|
4298
|
-
ErrorBoundary:
|
|
4409
|
+
ErrorBoundary: me
|
|
4299
4410
|
})
|
|
4300
|
-
}), f && m !== void 0 ? /* @__PURE__ */ y(
|
|
4411
|
+
}), f && m !== void 0 ? /* @__PURE__ */ y(Ro, {
|
|
4301
4412
|
current: p,
|
|
4302
4413
|
maxLength: m
|
|
4303
4414
|
}) : null]
|
|
4304
4415
|
}),
|
|
4305
|
-
/* @__PURE__ */ y(
|
|
4306
|
-
/* @__PURE__ */ y(
|
|
4307
|
-
/* @__PURE__ */ y(za, {}),
|
|
4308
|
-
/* @__PURE__ */ y(No, {}),
|
|
4309
|
-
/* @__PURE__ */ y(Ba, {}),
|
|
4416
|
+
/* @__PURE__ */ y(nn, {}),
|
|
4417
|
+
/* @__PURE__ */ y(rn, {}),
|
|
4310
4418
|
/* @__PURE__ */ y(Ua, {}),
|
|
4311
|
-
/* @__PURE__ */ y(
|
|
4312
|
-
/* @__PURE__ */ y(
|
|
4313
|
-
/* @__PURE__ */ y(
|
|
4419
|
+
/* @__PURE__ */ y(Cs, {}),
|
|
4420
|
+
/* @__PURE__ */ y(Es, {}),
|
|
4421
|
+
/* @__PURE__ */ y(Lo, {}),
|
|
4422
|
+
/* @__PURE__ */ y(Wa, {}),
|
|
4423
|
+
/* @__PURE__ */ y(qa, {}),
|
|
4424
|
+
/* @__PURE__ */ y(Ya, {}),
|
|
4425
|
+
/* @__PURE__ */ y(po, {}),
|
|
4314
4426
|
/* @__PURE__ */ y(mo, {}),
|
|
4315
|
-
/* @__PURE__ */ y(
|
|
4316
|
-
|
|
4427
|
+
/* @__PURE__ */ y(vo, {}),
|
|
4428
|
+
/* @__PURE__ */ y(yo, {}),
|
|
4429
|
+
f && m !== void 0 ? /* @__PURE__ */ y(bo, {
|
|
4317
4430
|
maxLength: m,
|
|
4318
4431
|
onMaxLengthExceed: h
|
|
4319
4432
|
}) : null,
|
|
4320
|
-
/* @__PURE__ */ y(
|
|
4321
|
-
/* @__PURE__ */ y(
|
|
4433
|
+
/* @__PURE__ */ y(fe, {}),
|
|
4434
|
+
/* @__PURE__ */ y(pe, {
|
|
4322
4435
|
onChange: g,
|
|
4323
4436
|
ignoreSelectionChange: !0,
|
|
4324
4437
|
ignoreHistoryMergeTagChange: !1
|
|
4325
4438
|
})
|
|
4326
4439
|
]
|
|
4327
4440
|
});
|
|
4328
|
-
}),
|
|
4441
|
+
}), js = (e) => /* @__PURE__ */ y(Fo, {
|
|
4329
4442
|
maxLength: e.maxLength,
|
|
4330
4443
|
onMaxLengthExceed: e.onMaxLengthExceed,
|
|
4331
|
-
children: /* @__PURE__ */ y(
|
|
4444
|
+
children: /* @__PURE__ */ y(ks, { ...e })
|
|
4332
4445
|
});
|
|
4333
|
-
|
|
4446
|
+
js.displayName = "BsyLexicalEditorCore";
|
|
4334
4447
|
//#endregion
|
|
4335
4448
|
//#region src/components/Editor/nodes/ExtendedLinkNode.ts
|
|
4336
|
-
var
|
|
4449
|
+
var Ms = class e extends gt {
|
|
4337
4450
|
constructor(e = "", t = {}, n) {
|
|
4338
4451
|
super(e, t, n);
|
|
4339
4452
|
}
|
|
@@ -4348,18 +4461,18 @@ var Ss = class e extends pt {
|
|
|
4348
4461
|
}, t.__key);
|
|
4349
4462
|
}
|
|
4350
4463
|
static importJSON(e) {
|
|
4351
|
-
return
|
|
4464
|
+
return Ns().updateFromJSON(e);
|
|
4352
4465
|
}
|
|
4353
4466
|
sanitizeUrl(e) {
|
|
4354
4467
|
return e.startsWith("@") ? e : super.sanitizeUrl(e);
|
|
4355
4468
|
}
|
|
4356
|
-
},
|
|
4469
|
+
}, Ns = (e = "", t = {}) => _e(new Ms(e, t)), Ps = "1px solid #d9d9d9", Fs = { export: new Map([[Vt, (e, t) => {
|
|
4357
4470
|
let n = t.exportDOM(e);
|
|
4358
|
-
return
|
|
4359
|
-
}]]) },
|
|
4471
|
+
return lt(n.element) && (n.element.style.border = Ps), n;
|
|
4472
|
+
}]]) }, Is = (e) => {
|
|
4360
4473
|
let { autoFocus: t = !1 } = e;
|
|
4361
|
-
return /* @__PURE__ */ y(
|
|
4362
|
-
initialConfig:
|
|
4474
|
+
return /* @__PURE__ */ y(le, {
|
|
4475
|
+
initialConfig: A(() => ({
|
|
4363
4476
|
namespace: "bsyLexicalEditor",
|
|
4364
4477
|
onError: (e) => {
|
|
4365
4478
|
console.error("Lexical error", e);
|
|
@@ -4395,39 +4508,39 @@ var Ss = class e extends pt {
|
|
|
4395
4508
|
tableRow: "editor-table-row",
|
|
4396
4509
|
tableScrollableWrapper: "editor-table-scrollable-wrapper"
|
|
4397
4510
|
},
|
|
4398
|
-
html:
|
|
4511
|
+
html: Fs,
|
|
4399
4512
|
nodes: [
|
|
4400
|
-
|
|
4513
|
+
Ms,
|
|
4401
4514
|
{
|
|
4402
|
-
replace:
|
|
4403
|
-
with: (e) => new
|
|
4515
|
+
replace: gt,
|
|
4516
|
+
with: (e) => new Ms(e.__url, {
|
|
4404
4517
|
rel: e.__rel,
|
|
4405
4518
|
target: e.__target,
|
|
4406
4519
|
title: e.__title
|
|
4407
4520
|
}),
|
|
4408
|
-
withKlass:
|
|
4521
|
+
withKlass: Ms
|
|
4409
4522
|
},
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4523
|
+
ht,
|
|
4524
|
+
St,
|
|
4525
|
+
xt,
|
|
4526
|
+
Xt,
|
|
4527
|
+
kt,
|
|
4528
|
+
Ot,
|
|
4529
|
+
Ht,
|
|
4530
|
+
Ut,
|
|
4417
4531
|
Vt,
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
Pa,
|
|
4532
|
+
on,
|
|
4533
|
+
La,
|
|
4421
4534
|
{
|
|
4422
|
-
replace:
|
|
4423
|
-
with: (e) => new
|
|
4424
|
-
withKlass:
|
|
4535
|
+
replace: ot,
|
|
4536
|
+
with: (e) => new La(e.__text),
|
|
4537
|
+
withKlass: La
|
|
4425
4538
|
}
|
|
4426
4539
|
]
|
|
4427
4540
|
}), [t]),
|
|
4428
|
-
children: /* @__PURE__ */ y(
|
|
4541
|
+
children: /* @__PURE__ */ y(js, { ...e })
|
|
4429
4542
|
});
|
|
4430
4543
|
};
|
|
4431
|
-
|
|
4544
|
+
Is.displayName = "BsyLexicalEditor";
|
|
4432
4545
|
//#endregion
|
|
4433
|
-
export {
|
|
4546
|
+
export { we as $getRoot, q as BaseButton, hs as EditorHtmlPreview, Is as default, Ea as listRegisteredToolbarButtons, Ca as registerToolbarButton, wa as unregisterToolbarButton, dt as useLexicalComposerContext };
|